HK1236701B - Improved device pairing taking into account at least one condition - Google Patents

Improved device pairing taking into account at least one condition Download PDF

Info

Publication number
HK1236701B
HK1236701B HK17110494.1A HK17110494A HK1236701B HK 1236701 B HK1236701 B HK 1236701B HK 17110494 A HK17110494 A HK 17110494A HK 1236701 B HK1236701 B HK 1236701B
Authority
HK
Hong Kong
Prior art keywords
pairing
predetermined
smart device
wireless
wireless devices
Prior art date
Application number
HK17110494.1A
Other languages
Chinese (zh)
Other versions
HK1236701A1 (en
Inventor
强‧付
亚历山大‧马克维克
Original Assignee
安晟信医疗科技控股公司
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 安晟信医疗科技控股公司 filed Critical 安晟信医疗科技控股公司
Publication of HK1236701A1 publication Critical patent/HK1236701A1/en
Publication of HK1236701B publication Critical patent/HK1236701B/en

Links

Description

Improved device pairing in view of at least one condition
RELATED APPLICATIONS
The present application claims priority from U.S. provisional patent application serial No. 62/021,690 (attorney docket No. BHC144012 (BHDD/055/L), entitled "METHODS AND APPARATUS FOR IMPROVED DATA communication," filed 7/2014, which is hereby incorporated by reference herein in its entirety FOR all purposes.
Technical Field
Embodiments of the present invention relate to pairing between wireless electronic devices, and more particularly, to efficiently and securely establishing communication and exchanging data between such devices.
Background
Existing pairing methods for securely establishing communication between two wireless devices (e.g., such as between a cellular telephone and a car audio system or wireless headset, etc.) typically require a specific sequence of non-intuitive steps and an exchange of up to six numeric keys selected and/or displayed on one device and entered into the other device. In addition to letting the user know the required sequence of steps, means for selecting, displaying and/or entering a key are needed. Accordingly, conventional pairable devices that may not require a display or digital input device (e.g., speaker, heart rate monitor, etc.) for normal operation may need to include such additional elements in order to be able to be paired for safe, wireless operation. Accordingly, there is a need for methods and apparatus for improving device pairing.
Disclosure of Invention
In some implementations, a method of pairing two wireless devices is provided. The method comprises the following steps: setting at least one of the two devices to a pairing mode; performing, by at least one of the wireless devices, at least one pairing motion event to satisfy at least one pairing condition; detecting that at least one pairing condition is met; and in response to detecting that at least one pairing condition is satisfied, pairing the two wireless devices.
In some other implementations, a system for pairing two wireless devices is provided. The system comprises: a first wireless device comprising a Bluetooth Low Energy (BLE) enabled programmable smart device; and a second wireless device supporting BLE. The second wireless device comprises a processor and a memory storing second wireless device instructions executable on the processor, wherein the second wireless device instructions are operable when executed to place the second wireless device in a pairing mode. The smart device comprises a processor and a memory storing smart device instructions executable on the processor, wherein the smart device instructions are operable when executed to: the method includes detecting execution of at least one pairing motion event, determining whether the execution of the at least one pairing motion event satisfies at least one pairing condition, and pairing the two wireless devices in response to determining that the at least one pairing condition is satisfied.
In still other embodiments, a method of pairing two wireless devices is provided. The method comprises the following steps: executing a pairing application on a BLE enabled smart device; placing a second BLE-enabled device in close proximity to the smart device; setting the second device in pairing mode; instructing the user to move the second device away from the smart device; in response to detecting that the first pairing condition has been met by the first motion event, instructing the user to move the second device toward the smart device; and in response to detecting that the second pairing condition has been met by the second motion event, pairing the smart device with the second device.
Several other aspects are provided in accordance with these and other aspects of the invention. Other features and aspects of the present invention will become more fully apparent after review of the following detailed description, appended claims, and accompanying drawings.
Brief Description of Drawings
FIG. 1 depicts an example system diagram, according to an embodiment of the invention.
Fig. 2 depicts a functional block diagram of a first example logic circuit, according to an embodiment of the invention.
Fig. 3 depicts a logical block diagram of a second exemplary circuit according to an embodiment of the present invention.
Fig. 4 depicts a pairing motion sequence according to an embodiment of the invention.
Fig. 5 depicts a flowchart showing an example method according to an embodiment of the invention.
Detailed Description
Embodiments of the present invention provide improved methods and apparatus for securely pairing wireless electronic devices to establish a trusted wireless communication channel between the devices. Instead of exchanging numeric pairing keys, embodiments of the invention satisfy at least one pairing condition using a pairing motion event before allowing pairing.
Such asVarious wireless protocols for low energy (BLE) require pairing procedures in order to establish a communication link. BLE is operated in 2.4GHz industryA Radio Frequency (RF) communication protocol in the scientific, and medical (ISM) radio band. The BLE specification includes a profile definition to support communication between devices such as Blood Glucose Meters (BGMs) and a smartphone or tablet, and also includes a proximity profile that allows a proximity monitor (e.g., on a smartphone) to detect whether a proximity indicator (e.g., on a BGM) is within a specified range. Physical proximity may be estimated using a Received Signal Strength Indicator (RSSI) value of a radio receiver.
Embodiments of the present invention provide a novel pairing procedure that can be used to securely establish a communication link between two devices without the user having to enter a key, nor does the device need to include facilities for selecting, displaying, and/or entering a key. In some embodiments, pairing is performed by placing the device in pairing mode, moving the device away, and then moving it closer together. Using proximity measurements over time (e.g., using a proximity profile of BLE), a communication link may be established based on first detecting a close proximity of two devices, then detecting an increase in distance between the two devices to a first threshold (e.g., decreased signal strength), and finally detecting a decrease in distance between the devices to a second threshold (e.g., increased signal strength). In some other embodiments, pairing is performed by placing the devices in pairing mode and then tapping the two devices onto each other. The tap may be detected using an accelerometer (e.g., on a smartphone). In yet other embodiments, both exploration and pairing are achieved by tapping one device in pairing mode on another device in standby mode. A tap event is used to wake up the device in standby mode to enter pairing mode. With both devices in pairing mode, the pairing based on the tapping event then proceeds as described above.
In each of the above embodiments, a predefined entity motion event (e.g., a changing proximity mode/motion sequence or tap event that satisfies at least one pairing condition) is detected while in pairing mode (or while waking up into pairing mode), instead of a conventional numeric key exchange procedure, as the basis for securely establishing communication between two devices. Note that the establishment of a communication link is considered "secure" because only two devices that are experiencing a predefined physical event at the same time can establish a link while in pairing mode. Connection of eavesdropping devices (e.g., stealing a connection) is precluded because the devices do not participate in predefined physical motion events (e.g., tap events or paired motion sequences/proximity patterns). In other words, an unsecure pairing system would only be by setting the two devices in a pairing mode within a certain range of distance from each other, i.e. allowing a link to be established. Embodiments of the present invention ensure that only desirable devices that satisfy pairing conditions by participating in pairing motion events can be paired, and that no eavesdropping device can be paired. Thus, these embodiments provide the user with the convenience of a simple, educational pairing procedure, as well as a sense of security and certainty.
Turning to fig. 1, an example system 100 is provided in accordance with an embodiment of the present invention. In some embodiments, the system 100 may include a BGM 102 having BLE capabilities, and one or more smartphones 104A, 104B, 104C also having BLE capabilities. Note that the example system 100 shown with the BGM 102 and one or more smartphones 104A, 104B, 104C is merely an illustrative example. It is further noted that system 100 may alternatively use any wireless device enabled by any communication protocol (e.g., BLE, bluetooth, ANT protocol, etc.) that uses pairing to securely establish trusted wireless communication link 106. For example, embodiments of the present invention may be used to pair Bluetooth devices such as Lockitron Deadbolt, motorola's H19TXT Headset, polaroid Pogo Connect Smart Pen, bubble E-Paper Watch, wahoo Fitness KICKR fixed exercise bicycle system, nike Hyperdunk + basketball shoes, jabra Solemate docking speaker system, threads Wireless Screen WS-30, scosRYTHM arm-borne heartbeat sensor, microsoft Screen Mobile Keyboard, polaroid PoGoGo Instant Mobile Printer, kensington Vo200 Bluetooth Internet Phone, bluetooth 3D-hand microphone handle, interlink VP 00 express export Mobile, GPS Remote software license, GPS Remote software license. Furthermore, the methods and apparatus of embodiments of the present invention may be used to pair a "smart device" such as a smartphone, a tablet such as an Apple iPad, any personal or laptop computer with a Bluetooth adaptor (such as a Kinivo BTD-400 Bluetooth 4.0USB adaptor), a programmable device with wireless communication capabilities, and so forth.
FIG. 2 depicts a functional block diagram of an example logic circuit 200 illustrating an embodiment of the present invention, the example logic circuit 200 using a tap event to pair. Note that even though the components of circuit 200 are represented as hardware devices, in some implementations, the circuit may be implemented as software (or a combination of hardware and software components) executing on a programmable device (e.g., a smartphone, tablet, etc.). The illustrated embodiment assumes that at least one of the two devices to be paired includes an accelerometer. In some implementations, the example circuit 200 will only pair devices when the following three pairing conditions are matched. First, the tap strength is sufficient so that the accelerometer response exceeds a specified "tap threshold". Second, RF signal strength increases at a rate that exceeds the specified "mobility threshold" (e.g., devices are getting closer to each other). Third, the RF signal strength is at a value that exceeds a specified "proximity threshold". In some other embodiments, all three pairing conditions need not be satisfied for pairing.
In operation, it is assumed that one of the devices to be paired is a BLE-enabled smartphone 104A (fig. 1) with an accelerometer installed, while the other devices are BLE-enabled BGMs 102. Embodiments of the present invention allow a user to use an installed application as well as a simple tap pairing procedure to pair BLE BGM 102 with smartphone 104A. The user starts an application on the smartphone 104A and starts the BGM 102. The user moves closer to the devices and taps the devices to each other. Exploration and pairing will be automatically initiated in response to an accelerometer reading and a sudden change in device proximity (i.e., a detected change in BGM 102 BLE signal strength detected by an application executing on smartphone 104A).
Thus, embodiments of the present invention allow two BLE enabled devices to pair (in terms of the BLE standard) when one device taps the other device and the pairing conditions are met. As illustrated by the functional block diagram of logic circuit 200 in fig. 2, the match pair condition may be represented as a signal stream gated by a condition. The example logic circuit 200 is divided into a signal processing block 202 and a decision logic block 204. The signal processing block 202 receives an accelerometer data input signal 206 from the accelerometer and a BLE signal strength signal 208 from the BLE radio receiver. Based on these two input signals and three predefined thresholds, the logic circuit 200 generates a binary output signal 210 indicating whether the devices are to be paired.
Signal processing block 202 determines whether a sudden change in acceleration of smartphone 104A has occurred indicating that a tapping event has occurred. In some embodiments, the accelerometer data input signal 206 is initially coupled into the directional filter 211 to remove acceleration components in the Y and Z directions. To detect a particular moment (e.g., momentary motion) when one device taps another device, common "less abrupt" movements (which can be considered as low frequency components of the accelerometer data 206) are filtered out of the accelerometer-generated data. By applying a high pass digital filter 212 to the accelerometer data input signal 206 to filter out low frequency components. In some embodiments, the high-pass digital filter 212 may be implemented as a simple 1-tap Infinite Impulse Response (IIR) digital filter. This also helps to reduce or flatten the effect of gravity on the sensor data, since the accelerometer measures acceleration related to a weight phenomenon that any test mass at rest experiences in the accelerometer device reference frame (e.g., commonly referred to as gravity acceleration).
The physical reaction of the tapping event is such that the devices experience some acceleration in opposite directions (e.g., moving away from each other) subsequent to the tapping event. Thus, by taking the derivative of the high pass digital filter 212 output (e.g., the difference between successive outputs), the generated signal is enhanced to more clearly show the sudden change in acceleration. Thus, the signal processing block 202 includes a signal differentiation block 214, where the signal differentiation block 214 receives the output of the digital filter 212 and outputs the derivative of the signal (i.e., d/dt) to the decision logic block 204. While this additional signal processing may be optional in some embodiments, enhancing the signal does make the process more robust (e.g., more tolerant of "shaking", e.g., from normal jostling) and more reliable and accurate in identifying the tap event.
To determine the relative mobility of the devices towards each other (i.e. how fast the devices approach each other), the rate of change of the signal 208 is determined by taking a derivative of the BLE signal strength signal 208. Thus, the signal processing block 202 includes a second signal differentiation block 216, the second signal differentiation block 216 receiving the BLE signal strength 208 and outputting the derivative of the signal (i.e., d/dt) to the decision logic block 204.
The decision logic block 204 includes a first comparator 218, the input of which 218 is coupled to a tap threshold 220 and the enhancement signal derived from the high pass digital filter 212 output, the tap threshold 220 being selected to be large enough to ensure that the devices are intentionally tapped against each other, but not so large that a tap would harm either device. The output of the first comparator 218 generates a binary signal that, when true, indicates that the acceleration associated with the tap event is sufficient to exceed the tap threshold 220.
The decision logic block 204 also includes a second comparator 222, an input of the second comparator 222 being coupled to the mobility threshold 224 and an output of the second signal differentiation block 216, the mobility threshold 224 being selected to be large enough to ensure that the devices are intentionally brought closer to each other prior to the tap event. The output of the second comparator 222 generates a binary signal that, when true, indicates that the relative rate of device movement that caused the tapping event is sufficient to exceed the mobility threshold 224.
The decision logic block 204 also includes a third comparator 226, inputs of the third comparator 226 being coupled to the BLE signal strength signal 208 and a proximity threshold 228, the proximity threshold 228 being selected to be large enough to ensure that the devices are close enough to each other at the moment of the tapping event to ensure that the devices are in contact with each other. The output of the third comparator 226 generates a binary signal that, when true, indicates that the devices are close enough to each other (e.g., signal strength indicates proximity) to exceed a proximity threshold 228.
A logic AND gate 230 is coupled to the outputs of the three comparators 218, 222, 226 AND receives the binary signal of each comparator. The logical and gate 230 generates a binary output signal 210, the binary output signal 210 indicating a pairing only when all three binary signals from the three comparators 218, 222, 226 are all "true". If any of the comparator binary output signals is not true, the logical AND gate 230 generates a signal indicating that the devices should not be paired.
The embodiments described above use an accelerometer on the smartphone side to detect a tap event. In embodiments that do not involve a tapping event, an accelerometer is not required. Fig. 3 depicts logic circuitry 300 for a pairing method based on detecting a predefined proximity pattern or the occurrence of a pairing motion sequence/event, rather than a tapping event. The predefined proximity pattern may, for example, be moving the devices away from each other to a threshold maximum distance and then moving the devices closer to each other to a threshold minimum distance, both movements occurring at a rate that exceeds a mobility threshold. Other proximity/motion patterns may be used, such as moving the devices closer to each other and then away from each other, or moving the devices away from each other slowly and quickly after some distance is reached.
The logic circuit 300 of fig. 3 is configured to detect a simple predefined proximity pattern or pairing motion sequence/event, where pairing occurs when devices start approaching each other and subsequently move away from each other by a rate that exceeds a mobility threshold. In some implementations using a more complex proximity pattern, the example logic 300 may be used to initially determine that devices are moving away from each other at a rate faster than a certain rate, and a second logic may be used to determine that a second movement occurs faster than a certain rate. Two moves may be used together to individually satisfy two pairing conditions. Similarly, the logic circuit 300 may be adjusted to detect different pairing motion events at different times to detect a movement sequence that satisfies the corresponding pairing condition.
The example logic 300 includes a signal processing block 302 and a decision logic block 304. Signal processing block 302 receives BLE signal strength signal 208 from a BLE radio receiver. Based on this input signal and the two thresholds, the logic circuit 300 generates a binary output signal 308 indicating whether or not to pair.
To determine the relative mobility of the devices towards each other (i.e. how fast the devices approach each other), the rate of change of the signal 306 is determined by taking the derivative of the BLE signal strength signal 306. Thus, signal processing block 302 includes a signal differentiation block 310, signal differentiation block 310 receiving BLE signal strength 306 and outputting the derivative of the signal (i.e., d/dt) to decision logic block 304.
Decision logic block 304 includes a first comparator 312, an input of the first comparator 312 being coupled to a mobility threshold 314 and an output of the signal differentiation block 310, the mobility threshold 314 being selected to be large enough to ensure that devices are moved away from each other by a rate faster than a selected minimum required value to indicate that the movement is intentional. The output of the first comparator 312 generates a binary signal that, when true, indicates whether the relative rate at which the devices move away from each other is sufficient to exceed the mobility threshold 314.
Decision logic block 304 also includes a second comparator 316, with inputs of second comparator 316 coupled to BLE signal strength signal 306 and proximity threshold 318, with proximity threshold 318 selected to be large enough to ensure that the devices are moved far enough away from each other to ensure that the movement is intended. The output of the second comparator 316 generates a binary signal that, when true, indicates that the devices are moved far enough away from each other (e.g., signal strength indicates proximity) to exceed the proximity threshold 318.
A logic AND (AND) gate 320 is coupled to the outputs of the two comparators 312, 316 AND receives the binary signal of each comparator. The logical and gate 320 generates the binary output signal 308, the binary output signal 308 indicating a pairing only when both binary signals from the two comparators 312, 316 are true. If any of the comparator binary output signals is not true, the logical AND gate 320 generates a signal 308 indicating that the devices should not be paired.
Turning now to fig. 4, fig. 4 illustrates an example pairing motion sequence 400 or proximity pattern. The pairing motion sequence 400 includes a first motion event 402 in which devices that are initially proximate to each other (e.g., the smartphone 104A and the BGM 102) move apart from each other to a predefined distance and a second motion event 404 in which the devices move closer to each other. The motion direction arrows 406 (only one indicated) indicate that the BGM 102 moved away from the smartphone 104A during the first motion event 402 and the BGM 102 moved towards the smartphone 104A during the second motion event 404. Note that the first motion event 402 is divided into five steps, and the BGM 102 is gradually moved away from the smartphone 104A at each step. Similarly, the second motion event 404 is divided into four steps, and the BGM 102 is moved closer to the smartphone 104A at each step.
Note also that as a reference to the user, an optional segment proximity indication bar 408 is displayed on the smartphone 104A. Segment proximity indication bar 408 may be part of a user interface adapted to assist a user in performing a pairing motion sequence. The display changes based on the relative distance between the BGM 102 and the smartphone 104A. The closer the two devices are, the more segments the indicator bar displays, and the further the two devices are, the less segments the indicator bar displays. Thus, for example, the segment proximity indication bar 408 disappears when the user has moved the devices far enough away from each other to satisfy the predefined distance condition of the pairing motion sequence 400. Similarly, at the beginning and end of the pairing motion sequence 400, all segments of the segment proximity indication bar 408 are displayed.
In some implementations, alternative displays or graphics may be used to indicate the proximity of the devices to each other. For example, a series of concentric circles may be used in place of (or in addition to) the segmentation bars. In some embodiments, color may be used. For example, a color spectrum from red to purple may be used, where red indicates devices are close to each other and purple indicates devices are far from each other. Also, sound may be used in some embodiments. For example, a fast beep, fast tempo music, and/or high pitch tone may indicate that the devices are proximate to each other, while a slow beep, slow tempo music, and/or low pitch tone may indicate that the devices are distant from each other. In some embodiments where the paired motion sequence requires motion to be performed by a rate faster than the mobility threshold, graphics, color, and/or sound may be used to indicate that motion needs to be performed faster. For example, if the user moves the BGM 102 too slowly, the indicator bar 408 may blink red. If the velocity exceeds the mobility threshold, the indicator bar may be displayed as a solid blue color.
Turning now to fig. 5, a flow diagram depicting an example method 500 of pairing wireless devices according to an embodiment of the invention is illustrated. Method 500 begins with executing an application on a BLE-enabled smart device (e.g., a smartphone, tablet, laptop, etc.) (502). Although embodiments of the present invention may use other wireless communication protocols, BLE will be used to illustrate the example method 500 to better illustrate the embodiments. The application may be a proprietary pairing application or may be part of a larger application that will use the wireless connection established through the pairing device. The application may use/implement the logic embodiments described above with respect to fig. 2 and 3, as well as the user interface embodiments described with respect to fig. 4. In some embodiments, the application will place the smart device in pairing mode.
A second device, also BLE-enabled, is placed in close proximity to the smart device (504). The second device is then set to pairing mode (506). The smart device displays an indication of proximity of the smart device to the second device in response to receiving the pairing broadcast signal of the second device (508). The smart device instructs the user to move the second device away from the smart device (510). This motion represents a first motion pairing event that, once completed, will satisfy a first pairing condition.
In response to a change in distance between the two devices, the smart device displays a changing proximity indicator (512). Once the smart device detects that the second device has been moved a sufficient distance to satisfy the first predefined paired motion sequence/event condition, the smart device instructs the user to move the second device towards the smart device (514). This motion represents a second motion pairing event that, once completed, would satisfy a second pairing condition.
In response to a change in distance between the two devices, the smart device displays a changing proximity indicator (516). Once the smart device detects that the second device has been moved close enough to the smart device to satisfy the second predefined sequence condition, the smart device is paired with the second device (518).
This example includes two pairing conditions that are satisfied at two different times, but are satisfied in a predefined sequence. As noted above, the pairing condition may require multiple motion events that may be requested to be completed in parallel and/or completed sequentially.
The present disclosure illustrates several embodiments, which are presented for purposes of illustration only. The illustrated embodiments are not (and are not intended to be) limited in any way. As will be readily apparent from the disclosure, the inventive concepts disclosed herein may be broadly applied to several embodiments. One of ordinary skill in the art will recognize that the disclosed embodiments may be implemented with various modifications and variations, such as structural, logical, software, and electrical modifications. Although a particular feature of the disclosed invention may be described with reference to one or more particular implementations and/or drawings, it should be understood that such feature is not limited to use in connection with the one or more particular implementations or drawings to which it is referred for describing such feature unless explicitly stated otherwise.
This disclosure is not intended to be exhaustive or to limit the invention to the precise forms disclosed, and does not teach every possible inventive feature that may be present in any embodiment.
The name of the invention (set forth at the beginning of the first page of this specification) should not be construed as limiting the scope of the disclosed invention in any way.
The term "product" means any machine, article of manufacture, and/or composite article contemplated by article 101 of the U.S. patent law, unless expressly stated otherwise.
The terms "an embodiment," "embodiments," "this embodiment," "such embodiment," "one or more embodiments," "some embodiments," "one embodiment," and the like mean "one or more (but not all) of the disclosed embodiments" unless explicitly stated otherwise.
The terms "invention" and "present invention," and the like, mean "one or more embodiments of the present invention.
Reference to "another embodiment" in describing embodiments does not imply that the referenced embodiment is mutually exclusive from another embodiment (e.g., an embodiment described before the referenced embodiment), unless explicitly stated otherwise.
The terms "comprises," "comprising," and variations thereof mean "including, but not limited to," unless expressly stated otherwise.
The terms "a", "an", and "the" mean "one or more", unless expressly specified otherwise.
The term "and/or," when such terms are used to modify a list of things or possibilities, such as an enumerated list of possibilities, is also intended to mean any combination of one or more of those things or possibilities, such that while in some implementations any one of those things or possibilities may be sufficient, in other implementations two or more (even each) of those things or possibilities may be preferred, unless expressly stated otherwise. Thus, for example, a list of "a, b, and/or c" indicates that any of the following interpretations would be appropriate: each of (1) "a", "b", and "c"; (2) "a" and "b"; (3) "a" and "c"; (4) "b" and "c"; (5) only "a"; (6) only "b"; and (7) only "c".
The term "plurality" means "two or more" unless expressly stated otherwise.
The term "herein" means "in the present disclosure (including any that may be incorporated by reference)" unless explicitly stated otherwise.
The word "at least one of," when such a word modifies a plurality of things (such as a list of possibility enumerations), means any combination of one or more of these things, unless expressly stated otherwise. For example, the words for at least one of a widget, a vehicle, and a wheel, mean (1) a widget; (2) a vehicle; (3) a wheel; (4) the widget and the vehicle; (5) small parts and wheels; (6) vehicle and wheel; or (7) small parts, vehicles, and wheels.
The word "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the word "based on" describes both "based only on" and "based at least on".
Each process, whether referred to as a method, algorithm, or otherwise, inherently includes one or more steps and, thus, all references to "steps" or "steps" of a process have an inherent pre-base for merely describing the term "process" or similar terms. Therefore, any reference in the claims to "step" or "steps" of a program has sufficient antecedent basis.
Where an ordinal number (such as "first," "second," "third," etc.) is used as an adjective before the term, such ordinal number (unless expressly stated otherwise) is used merely to indicate a particular feature, such as to distinguish such particular feature from another feature described by the same term or similar terms. For example, the designation of "first widget" is merely for distinguishing from (for example) "second widget". Thus, the mere use of the ordinals "first" and "second" used before the term "widget" does not indicate any other relationship between the two widgets, and similarly, does not indicate any other characteristic of either or both widgets. For example, the simple use of ordinals "first" and "second" used before the term "widget": (1) Rather than indicating the order or position of any widget before or after either; (2) Rather than indicating that any widget occurs (or actuates) before or after the other in time; and (3) not to indicate that any widget ranks above or below the other in terms of importance or quality. Furthermore, the mere use of ordinals does not define a numerical limit on the features identified by ordinals. For example, the mere use of ordinals "first" and "second" before the term "widget" does not indicate that more than two widgets should not be present.
Where a single device, component, or article is described herein, more than one device, component, or article (whether or not they cooperate) may alternatively be used in place of the single device, component, or article described. Thus, the functionality described as being possessed by a device may instead be possessed by more than one device, component, or article of manufacture (whether or not they cooperate).
Similarly, where more than one device, component, or article is described herein (whether or not they cooperate), a single device, component, or article may alternatively be used in place of the more than one device, component, or article described. For example, multiple computer-based devices may be replaced by a single computer-based device. Thus, various functionalities described as being possessed by more than one device, component, or article may instead be possessed by a single device, component, or article.
The functionality and/or the features of a single device illustrated may alternatively be implemented by one or more other devices which have been illustrated but not explicitly illustrated as having such functionality and/or features. Thus, other embodiments need not include the illustrated device itself, but may include one or more other devices that would have such functionality/features in such other embodiments.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. Rather, such devices need only transmit to each other as needed or desired, and may in fact avoid exchanging data most of the time. For example, a machine communicating with another machine via the internet may not transmit data to the other machine for weeks at a time. In addition, devices that communicate with each other may communicate directly or indirectly through one or more media.
The description of an embodiment with several components or features does not imply that the owner (or even any) of such components and/or features are required. Rather, various optional components are described to illustrate the wide variety of possible embodiments of the present invention. No element and/or feature is essential or required unless expressly stated otherwise.
Further, while process steps, algorithms or the like may be described in a sequential order, such processes may be configured to work in a different order. In other words, any sequence or order of steps that may be explicitly described is not necessarily indicative of a requirement that the steps be performed in that order. The process steps described herein may be performed in any order practical. Moreover, some steps may be performed concurrently, although these steps are illustrated (or implied) as occurring non-concurrently (e.g., because a step is illustrated after another step). Moreover, the illustration of a program depicted in the drawings does not imply that the illustrated program excludes other variations and modifications of this program, that the illustrated program or any of its steps is essential to the invention, and that the illustrated program is preferred.
While a process may be described as including multiple steps, this does not indicate that all (or even any) of the steps are necessary or desirable. Various other embodiments within the scope of the described invention include other procedures in which some or all of the described steps are omitted. No step is necessary or required unless explicitly stated otherwise.
Although an article of manufacture may be described as comprising a plurality of components, aspects, properties, characteristics, and/or features, this does not indicate that all of the plurality are required or necessary. Various other embodiments within the scope of the described invention, including other products in which some or all of the plural are omitted from illustration.
The object enumeration list (which may or may not be numbered) does not imply that any or all of the objects are mutually exclusive, unless expressly stated otherwise. Similarly, an object enumeration list (which may or may not be numbered) does not imply that any or all of the objects encompass any category unless explicitly stated otherwise. For example, the enumerated list "computer, laptop, personal Digital Assistant (PDA)" does not imply that any or all of the three objects of the list are mutually exclusive, nor does it imply that any or all of the three objects of the list encompass any category.
The section headers provided in this disclosure are for convenience of illustration only and should not be taken as a limitation on the disclosure in any way.
Determining something can be performed in a variety of ways, and thus the term determining (and similar terms) includes evaluating, computing, deriving, looking up (e.g., looking up a table, a database, or a data structure), confirming, understanding, and so forth.
The term "display," as used herein, is an area that conveys information to a viewer. The information may be dynamic, in which case a Liquid Crystal Display (LCD), light Emitting Diode (LED), cathode Ray Tube (CRT), digital Light Processing (DLP), rear projection, front projection, etc. may be used to form the display. The aspect ratio of the display may be 4. Furthermore, the resolution of the display may be any suitable resolution, such as 480i, 480p, 720p, 1080i, 1080p, and so on. The format of the information sent to the display may be any suitable format, such as Standard Definition Television (SDTV), enhanced Definition TV (EDTV), high Definition TV (HDTV), and so forth. The information may similarly be static, in which case the display may be formed using stained glass. It is noted that static information may be presented on a display capable of displaying dynamic information when desired. Some displays may be interactive and may include touch screen features or associated keyboards, as is well known.
The present disclosure may relate to a "control system", an interface, or a program. The terms used herein: the control system, interface, or program may be a computer processor coupled to an operating system, a device driver, and an appropriate program (collectively, "software") having instructions to provide the functionality described for the control system. The software is stored in an associated memory device (sometimes referred to as a computer-readable medium). While it is contemplated that a suitably programmed general purpose computer or computing device can be used, it is also contemplated that hardwired circuitry or custom hardware, such as an Application Specific Integrated Circuit (ASIC), can be used in place of (or in combination with) software instructions to implement processes of various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software.
"processor" means one or more of a microprocessor, a Central Processing Unit (CPU) device, a computing device, a microcontroller, a digital signal processor, or the like. An exemplary processor is an INTEL PENTIUM processor or an AMD ATHLON processor.
The term "computer-readable medium" represents any statutory media involved in providing data (e.g., instructions) readable by a computer, processor, or similar device. Such a medium may take many forms, including but not limited to, non-volatile media, and the specific legal types of transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media includes Dynamic Random Access Memory (DRAM), which typically constitutes a main memory. Legal types of transmission media include coaxial cables, copper wire and fiber optics, and the like, including the wires that comprise a system bus coupled to the processor. Common forms of computer-readable media can be, for example, a magnetic disk, a floppy disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM, a Digital Video Disk (DVD), any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a Random Access Memory (RAM), a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), a FLASH electrically erasable read only memory (FLASH-EEPROM), a Universal Serial Bus (USB) memory disk, a Video stick (dongle), any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. The terms "computer-readable memory" and/or "tangible medium" specifically exclude signals, waves, and waveforms, or other intangible or non-transitory media, although readable by a computer.
Various forms of computer readable media may be involved in carrying a sequence of instructions to a processor. For example, the sequences of instructions may be (1) transferred from RAM to the processor, (2) carried by a wireless transmission medium, and/or (3) formatted according to several formats, standards, or protocols. For a more exhaustive list of protocols, the term "network" is defined below and includes a number of exemplary protocols that may also be used herein.
It will be readily apparent that the various methods and algorithms described herein may be implemented by a control system and/or that software instructions may be designed to carry out the procedures of the present invention.
Where a database is described, those of ordinary skill in the art will appreciate that (1) alternative database structures to those illustrated may be readily utilized, and (2) memory structures other than databases may be readily utilized. Any illustrations or descriptions of any of the example databases presented herein are illustrative arrangements for the stored representation of information. Any number of other arrangements may be utilized, in addition to those suggested by the tables shown in the figures or elsewhere, for example. Similarly, any illustrated database items, merely represent exemplary information; those of ordinary skill in the art will appreciate that the number and content of items may vary from what is illustrated herein. Moreover, although the databases are depicted as tables, other formats may be used to store and manipulate the data types described herein, including relational databases, object-based models, hierarchical electronic archive structures, and/or decentralized databases. Similarly, various programs may be implemented using the object methods or behaviors of the database, such as those described herein. Further, the databases may be stored locally in a known manner, or remotely from the device accessing the data in such databases. Further, while a unified database is contemplated, the database may be distributed and/or replicated among the various devices.
A "network," as described herein, is an environment in which one or more computing devices may communicate with each other. Such devices may communicate directly or indirectly, via a wired or wireless medium, such as the internet, a Local Area Network (LAN), a Wide Area Network (WAN), or an Ethernet (Ethernet) (or IEEE 802.3), token Ring (Token Ring), or via any suitable communication means or combination of communication means. Exemplary protocols include, but are not limited to: bluetooth (Bluetooth) TM ) Time Division multiplex Access (Time Division multiplex Access; TDMA), code Division Multiple Access (Code Division Multiple Access; CDMA), global System for Mobile communications (GSM), enhanced data rates for GSM evolution (EDGE), general Packet Radio Service (GPRS), widebandCDMA (WCDMA), advanced Mobile Phone System (AMPS), digital AMPS (D-AMPS), IEEE 802.11 (WI-FI), IEEE802.3, SAP, best of breeze (BOB), system-to-System (S2S), and so forth. Note that if a video signal or large archive is being sent over a network, a broadband network may be used to reduce the delay associated with the transmission of such large archive, however, this is not strictly required. Each of the devices is adapted to communicate over such communication means. Any number and type of machines may communicate via a network. Where the network is the Internet, communications over the Internet may be through a website maintained by the computer on a remote server, or over an online data network including a business online service provider, bulletin board system, and the like. In still other embodiments, the devices may communicate with each other over RF, cable tv, satellite links, and the like. Where appropriate encryption or other security measures (such as login account numbers and passwords) may be provided to protect proprietary or confidential information.
It will be readily apparent that the various methods and algorithms described herein may be implemented, for example, by appropriately programmed general purpose computers and computing devices. Typically, a processor (e.g., one or more microprocessors) will receive instructions from a memory or the like and execute the instructions, thereby executing one or more programs defined by the instructions. Also, programs that implement such methods and algorithms may be stored and transmitted in a variety of forms using a variety of media (e.g., computer readable media). In some embodiments, hard-wired circuitry or custom hardware may be used in place of (or in combination with) software instructions to implement processes of various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software. Thus, for the description of programs, at least one device for executing programs is similarly described, as well as at least one computer-readable medium and/or memory for executing programs. An apparatus for performing a program may include components and devices (e.g., processors, input and output devices) adapted to perform the program. The computer readable medium may store program elements adapted to perform the method.
To one of ordinary skill in the art, the present disclosure provides illustrations upon which the several embodiments and/or inventions may be implemented. Some of these embodiments and/or inventions may not be claimed in this application but may still be claimed in one or more continuation applications claiming priority to this application. Applicants intend to propose additional applications to seek patent protection for subject matter disclosed and described in this application but not claimed in this application.
The foregoing description discloses only exemplary embodiments of the invention. Modifications of the above disclosed apparatus, systems and methods that fall within the scope of the invention will be readily apparent to those of ordinary skill in the art.
Accordingly, while the present invention has been disclosed in connection with exemplary embodiments thereof, it should be understood that other embodiments may fall within the spirit and scope of the invention, as defined by the following claims.

Claims (20)

1. A method of pairing two wireless devices, the two wireless devices comprising a first device and a second device, the method comprising:
executing a pairing application on the first device to set the first device in a pairing mode;
physically moving at least one of the first device and the second device to perform at least one predetermined pairing motion event so as to satisfy at least one pairing condition, wherein the at least one predetermined pairing motion event involves at least changing a relative distance between the first device and the second device;
detecting, with a radio receiver of the first device, or an accelerometer and the radio receiver, whether the at least one predetermined pairing motion event satisfies the at least one pairing condition, wherein the detecting is based at least on a signal strength of a wireless signal received by the radio receiver of the first device from the second device and a rate of change of the signal strength; and
in response to detecting that the at least one pairing condition is satisfied, establishing a communication link between the two wireless devices,
wherein the at least one pairing condition comprises a first pairing condition that the signal strength is strong or weak enough to exceed a predetermined proximity threshold, and a second pairing condition that the rate of change of the signal strength is large enough to exceed a predetermined mobility threshold, and
wherein the step of establishing the communication link between the two wireless devices does not require detecting whether the at least one pairing condition is satisfied as a prerequisite with the second device.
2. The method of claim 1, wherein the first device is a programmable smart device.
3. The method of claim 2, wherein the at least one predetermined pairing motion event comprises moving the second device away from the smart device by at least a predetermined distance and then moving the second device toward the smart device.
4. The method of claim 3, wherein satisfying the at least one pairing condition comprises separating the two wireless devices by at least the predetermined distance.
5. The method of claim 4, wherein satisfying the at least one pairing condition comprises placing the two wireless devices together in close proximity to each other after separating the two wireless devices by at least the predetermined distance.
6. The method of claim 1, wherein the at least one predetermined paired motion event comprises tapping the two wireless devices together.
7. The method of claim 6, wherein satisfying the at least one pairing condition comprises tapping the two wireless devices together with a force sufficient to exceed a predetermined tapping threshold.
8. The method of claim 7, wherein satisfying the second pairing condition comprises moving the two wireless devices together at a sufficiently fast rate.
9. The method of claim 8, wherein satisfying the first pairing condition comprises moving the two wireless devices together and sufficiently close.
10. A system for pairing two wireless devices, the system comprising:
a first wireless device comprising a Bluetooth Low Energy (BLE) enabled programmable smart device; and
a second wireless device that is BLE enabled;
wherein the second wireless device comprises a processor and a memory storing second wireless device instructions executable on the processor, wherein the second wireless device instructions are operable when executed to place the second wireless device in a pairing mode,
wherein the smart device comprises a radio receiver, a processor, and a memory, or an accelerometer, the radio receiver, the processor, and the memory, the memory storing smart device instructions executable on the processor, wherein the smart device instructions are operable when executed to:
detecting, with the radio receiver, or the accelerometer and the radio receiver, whether at least one predetermined paired motion event is performed, wherein the at least one predetermined paired motion event involves at least changing a relative distance between the first wireless device and the second wireless device,
determining whether performance of at least one predetermined pairing motion event satisfies at least one pairing condition, wherein the determination is based at least on a signal strength of a wireless signal received by the radio receiver of the first wireless device from the second wireless device and a rate of change of the signal strength, an
Establishing a communication link between the two wireless devices in response to having determined that the at least one pairing condition is satisfied,
wherein the at least one pairing condition comprises a first pairing condition that the signal strength is strong or weak enough to exceed a predetermined proximity threshold, and a second pairing condition that the rate of change of the signal strength is large enough to exceed a predetermined mobility threshold, and
wherein establishing the communication link between the two wireless devices does not require determining, with the second wireless device, whether the at least one pairing condition is satisfied as a prerequisite.
11. The system of claim 10, wherein the smart device instructions further comprise instructions that when executed are operable to:
the pairing application is executed.
12. The system of claim 11, wherein the smart device instructions further comprise instructions that when executed are operable to:
monitoring whether at least one predetermined paired motion event occurs, the at least one predetermined paired motion event comprising moving the second wireless device at least a predetermined distance away from the smart device and then moving the second wireless device toward the smart device.
13. The system of claim 12, wherein the smart device instructions further comprise instructions that when executed are operable to:
determining that the at least one pairing condition is satisfied when the two wireless devices are separated by at least the predetermined distance.
14. The system of claim 13, wherein the smart device instructions further comprise instructions that when executed are operable to:
determining that the at least one pairing condition is satisfied when the two wireless devices are placed together in close proximity to each other after being separated by at least the predetermined distance.
15. The system of claim 10, wherein the smart device instructions further comprise instructions that when executed are operable to:
monitoring whether at least one predetermined paired motion event occurs, the at least one predetermined paired motion event comprising tapping the two wireless devices together.
16. The system of claim 15, wherein the smart device instructions further comprise instructions that when executed are operable to:
determining that the at least one pairing condition is satisfied when the two wireless devices are tapped together with a force sufficient to exceed a predetermined tap threshold.
17. The system of claim 16, wherein the smart device instructions further comprise instructions that when executed are operable to:
determining that the second pairing condition is satisfied when the two wireless devices are moved together at a sufficiently fast rate.
18. The system of claim 17, wherein the smart device instructions further comprise instructions that when executed are operable to:
determining that the first pairing condition is satisfied when the two wireless devices are moved together and are sufficiently close.
19. A pairing method of a smart device, the method comprising:
executing a pairing application on a BLE enabled smart device in response to user input;
detecting, with a radio receiver of the smart device, whether a second device is placed in close proximity to the smart device, the second device being BLE-enabled, the detecting based on a signal strength of a wireless signal received by the radio receiver of the smart device from the second device;
detecting whether the second device is in a pairing mode by receiving a pairing broadcast signal from the second device;
in response to detecting that the second device is proximate to the smart device and in the pairing mode, displaying instructions to a user to move the second device away from the smart device;
in response to detecting that a first predetermined motion event has satisfied a first pairing condition, displaying an instruction to the user to move the second device toward the smart device, wherein the first predetermined motion event satisfying the first pairing condition comprises moving the second device away from the smart device by at least a predetermined distance at a rate fast enough to exceed a predetermined mobility threshold; and
establishing a communication link between the smart device and the second device in response to detecting that a second predetermined motion event has satisfied a second pairing condition, wherein the second predetermined motion event satisfying the second pairing condition comprises moving the second device toward the smart device at a rate fast enough to exceed the predetermined mobility threshold,
wherein the detection that the first pairing condition and the second pairing condition are satisfied is based on at least the signal strength and a rate of change of the signal strength,
wherein the step of establishing the communication link between the smart device and the second device does not require detecting whether the first pairing condition and the second pairing condition are satisfied as a prerequisite with the second device.
20. The method of claim 19, further comprising:
in response to receiving the pairing broadcast signal from the second device, displaying an indication of proximity of the smart device to the second device; and
displaying a varying proximity indicator in response to a varying distance between the smart device and the second device.
HK17110494.1A 2014-07-07 2014-10-27 Improved device pairing taking into account at least one condition HK1236701B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/021,690 2014-07-07

Publications (2)

Publication Number Publication Date
HK1236701A1 HK1236701A1 (en) 2018-03-29
HK1236701B true HK1236701B (en) 2023-05-05

Family

ID=

Similar Documents

Publication Publication Date Title
US11930435B2 (en) Device pairing taking into account at least one condition
EP3243338A1 (en) Mobile device to provide continuous and discrete user authentication
JP2019523478A5 (en)
HK1236701B (en) Improved device pairing taking into account at least one condition
HK1236701A1 (en) Improved device pairing taking into account at least one condition
HK1236719A1 (en) Methods and apparatus for improved low energy data communications