motion detection notification is described. In an embodiment, a motion detector in a portable device detects a motion of the device and issues an activation signal when the detected motion has a magnitude greater than a preset threshold. A detection notification component in the portable device then receives the activation signal and initiates communication with an additional device that detects a corresponding motion to the motion of the portable device and is configured for communication with the portable device.
|
6. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computing-based device to:
detect a motion of the computing-based device;
generate a credential that corresponds to the motion being detected when the motion exceeds a threshold value;
initiate communication with an additional device having an associated credential; and
communicate the credential to the additional device such that the additional device can compare the credential to the associated credential to form a basis for communication between the additional device and the computing-based device.
1. A computing-based device, comprising:
a motion detector configured to:
detect a first motion of the computing-based device and issue a first activation signal when the first motion has a magnitude greater than a preset threshold; and
detect a second motion of the computing-based device and issue a second activation signal when the second motion has a magnitude greater than the preset threshold; and
a detection notification component configured to:
receive the first activation signal and the second activation signal;
initiate communication with an additional computing-based device that detects motions corresponding to the first motion and the second motion of the computing-based device, the additional computing based device being configured for communication with the computing-based device;
determine a time duration between the first activation signal and the second activation signal; and
use the time duration to create an encryption key to enable secure communication with the additional computing-based device.
2. A computing-based device of
3. A computing-based device of
4. A computing-based device of
5. A computing-based device of
7. One or more computer-readable media of
8. One or more computer-readable media of
9. One or more computer-readable media of
10. One or more computer-readable media of
11. One or more computer-readable media of
detect the motion of the computing-based device as a bump contact between the computing-based device and the additional device;
generate the credential based on one or more characteristics associated with the bump contact being detected when the bump contact exceeds the threshold value; and
generate an encryption key from the credential to enable secure communications between the computing-based device and an additional device.
|
The input/output (I/O) capabilities of mobile devices are often compromised due to the nature of the devices and the lack of space to include hardware, such as for data exchange between devices in either a secured or unsecured communications environment. Establishing a simple unsecured communication link for an exchange of data from one mobile device to another can be difficult when having to navigate through a number of menus to input control and access selections on the mobile device through less than optimal hardware, such as a small keypad.
For trusted and secure communications with another device, in addition to having to establish a communication channel (IRDA, Bluetooth, WiFi, cellular, etc.), private data may need to be exchanged over a public, unsecured network. In such a case, the other device may need to be trusted and/or authenticated. In conventional mobile devices, this requires the input of a shared private PIN or equivalent through a public and/or private key communications protocol which can be utilized to facilitate the exchange of encrypted data over an unsecured communication channel.
This summary is provided to introduce simplified concepts of motion detection notification which is further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
In an embodiment of motion detection notification, a motion detector in a portable device detects a motion of the device and issues an activation signal when the detected motion has a magnitude greater than a preset threshold. A detection notification component in the portable device then receives the activation signal and initiates communication with an additional device that detects a corresponding motion to the motion of the portable device and is configured for communication with the portable device.
In another embodiment of motion detection notification, the motion detector in the portable device registers the motion as a bump contact between the portable device and the additional device. The detection notification component then determines that a magnitude of the bump contact is at least equivalent to the preset threshold in the portable device, and initiates the communication with the additional device based on detecting the bump contact and determining the magnitude of the bump contact.
The same numbers are used throughout the drawings to reference like features and components:
Motion detection notification is described in which embodiments provide for the initiation of wireless communication between a portable computing-based device and another portable or fixed computing-based device when both devices are subjected to a common motion. A motion detector in each device detects the common motion and the devices initiate communication after establishing that the motion is common to both devices. In one implementation the common motion may include bump contacting the devices together.
Motion detection notification also provides that two computing-based devices can establish secure wireless communication by subjecting the devices to several common motions, such as bump contacting the devices together several times or moving the devices together in a synchronous manner. Information corresponding to the several common motions is detected by a motion detector in both devices and can be used to create a private key to enable wireless encrypted communications between the devices.
While aspects of described systems and methods for motion detection notification can be implemented in any number of different computing systems, environments, and/or configurations, embodiments of motion detection notification are described in the context of the following exemplary system architecture(s).
Each of the devices 102, 104 can include one or more processor(s) 108, a timer 110, a motion detector 112, a wireless interface 114, and computer-readable media 116. The processor(s) 108 can access and/or execute computer-program instructions stored on computer-readable media 116, which in this example, includes a detection notification component 118, motion data 120, an isolation area 122, and encryption keys 124. Moreover, each of the devices 102, 104 can include contact sensors 126, 128. Additionally, either of the portable computing-based devices 102, 104 can be implemented with any number and/or combination of differing components as further described below with reference to the exemplary computing-based device 500 shown in
The detection notification component 118 can enable the device 102 to locate another device 104 that has shared or detected a common motion or contact, and begin communicating with the other device 104. For example, if device 102 is bumped against device 104, motion data 120 from the bump can be detected by motion detectors 112 in each of the devices 102, 104. Motion detector 112 can include any device capable of measuring the motion data 120 which can include scalar and/or vector characteristics of an object's motion, including direction, velocity, and/or acceleration of the object. In one implementation, motion detector 112 may be an accelerometer such as a MEMS accelerometer. Alternatively, motion detector 112 may be a piezoelectric device, an acceleration detector, and/or any other type of motion detecting device or combination of components.
In another embodiment, contact between devices 102, 104, or contact between the devices 102, 104 and a user can be detected by contact sensors 126, 128. Contact sensors 126, 128 can be implemented with metal or metalized contacts, and with any other device or technology known in the art which may be used to measure physical contact between, for example: (1) the sensor 126, 128 and a respective device 102, 104; (2) the sensor 126, 128 and another sensor 126, 128; and/or (3) the sensor 126, 128 and a user who may be holding the device 102, 104. Sensors 126, 128 can also be implemented to collect information regarding individual users contacting the devices 102, 104, including such qualities as pulse, temperature, etc.
Bump contact 106 between devices 102, 104 can trigger the timers 110 in each of the devices 102, 104 to issue a time stamp that indicates when the bump contact 106 was approximately detected. Detection notification component 118 can then determine if the motion resulting from the bump contact 106 equals or exceeds a preset threshold for motion or contact. If the motion or contact is determined to equal or exceed the preset threshold, the detection notification component 118 in either device 102 or device 104 can initiate communication with the other bumped device 102, 104. The threshold for motion or contact can be set to such a level as to exclude minor jostling and background movement that is common with such portable devices and that may activate the detection notification component 118 and/or the timer 110 in either device 102, 104.
In another implementation, rather than, or in addition to, the preset threshold, the contact sensors 126, 128 may cause an activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118 when the contact sensors 126, 128 register contact with one another or with another device 102, 104. Alternatively, when bump contact 106 is registered at the motion detector 112, and at least one of the sensors 126, 128 registers contact with a user (indicating, for example, that the user is holding the device 102, 104 with the sensor 126, 128 in his hand when the bump contact 106 occurs), the contact sensors 126, 128 and/or detection notification component 118 may cause an activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118.
In another possible implementation, a bump contact 106 resulting in motion above the motion or contact threshold, can initiate the motion detector 112 to transmit an activation signal directly to the processor(s) 108, the timer 110, and/or the detection notification component 118. In an event that the motion detector 112 transmits the activation signal to less than all of the elements 108, 110, 118, the activated element(s) 108, 110, 118 may subsequently transmit activation signal(s) to initiate or “wake up” the other remaining elements 108, 110, 118.
Similarly, if bump contact 106 is registered at the motion detector 112 in device 104, for example, and the contact sensor 126 registers contact with another contact sensor 128, or with device 104, the contact sensor 126 may act along with the motion detector 112 to cause an activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118. An example of such an operation might include registering bump contact 106 at the motion detector 112, then querying sensor 126 using the motion detector 112 or the detection notification component 118 to determine if the sensor 126 contacted another sensor 128 or device 104. If the sensor 126 answers in the affirmative, then sensor 126 and/or motion detector 112 may cause the activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118.
Similarly, if bump contact 106 is registered at motion detector 112 in device 104, and contact sensor 126 registers contact with a user, the contact sensor 126 may act alone or with motion detector 112 to cause an activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118. In yet another possible implementation, if the contact sensor 126 registers contact with another contact sensor 128, or device 104, the contact sensor 126 may act on its own or with motion detector 112 to cause an activation signal to be sent to the processor(s) 108, the timer 110, and/or the detection notification component 118.
When the processor(s) 108, the timer 110, and/or the detection notification component 118 have been activated, the detection notification component 118 can initiate communication with the other bumped device 102, 104 by issuing a discovery communication via wireless interface 114. Wireless interface 114 can be implemented to send and receive data and instructions using any wireless communication technology known in the art, including technologies promulgated by groups such as the Bluetooth Special Interest Group, the Tnfrared Data Association (IRDA), and the Near Field Communication Forum (NFC).
In one implementation, the discovery communication can query if other devices are within range of the communication capability of wireless interface 114. If such device(s) exist and have a capacity to communicate with the wireless interface 114 of the device 102, 104 issuing the discovery communication, the other device(s) can affirmatively answer the discovery communication. For example, portable device 102 can be a mobile phone carried by a conference attendee in a crowded conference hall. The conference attendee can use the device 102 to initiate bump contact 106 with the mobile phone 104 of another conference attendee with whom he wishes to exchange information. If the bump contact 106 is detected by the motion detector 112 of device 102 to be above the motion or contact threshold, the device 102 can issue a discovery communication via the wireless interface 114 which may be received by a multitude of mobile phones and/or devices being carried by other conference attendees in the vicinity of device 102 and which are capable of communicating with device 102.
The device 102 can restrict its search for the other bumped device by querying all of the devices to determine which devices have recently experienced a bump. In this way device, 102 can determine which device has a mutual or similar bump time within a certain coincidence of the bump experienced by device 102. In one implementation, device 102 can make public the timestamp generated by timer 110 at or near the time of the bump, and can query whether the other devices have detected a bump at or around the same time. Alternatively, the device 102 can query the other devices for timestamps associated with times in which they received and detected bumps and compare these to the timestamp associated with the bump created by timer 110 of device 102. In another possible implementation, device 102 can query other devices for information regarding users with which the other devices may have registered contact at, for example, sensor 128. If this contact information matches the contact information registered at sensor 126 on device 102, device 102 may infer that both devices were being held by the same user and thus were bumped together by the user.
In yet another possible implementation, the device 102 may make no queries and offer no information regarding the bump contact 106, but instead wait to receive a report from another device 104 involved in the bump contact 106. This report may include details of the bump contact 106 such as, for example, the magnitude, speed, direction, time duration, etc., of the bump contact 106 detected at device 104. If no report is received by device 102, or if the report is received outside of a predetermined time window following the bump contact 106, or if more than one device reports, the device 102 may refuse to communicate with the reporting device(s). Alternatively, if the report is received from a device 104 within the predetermined time window, device 102 may review the report and use information included in the report—including, for example, information such as the magnitude, speed, direction, time duration, etc., of the bump contact 106 detected at device 104—to confirm the identity of the other device 104 as being the device which bump contacted device 102.
In yet another possible implementation, the device 102 can query other devices 102, 104 for motions indicating a force approximately equal in magnitude, but opposite in direction, to the force causing the motion detected by the motion detector 112 or device 102. This comparison of forces may be used on its own, or in addition to, the comparison of timestamps, as discussed above, to determine which other device 102, 104 shared the bump contact 106.
Depending on the devices 102, 104 communication capabilities, and on the types, accuracies, and precisions of the timers 110 implemented in the devices 102, 104, timestamps of the same event may be noticeably different. Detection notification component 118 can be implemented to take this into account and determine that, for example, a timestamp from another device within a minute of the timestamp issued by the device 102 represents the same detected bump. In another implementation, an acceptable discrepancy could be set at 30 seconds, 2 minutes, 5 minutes, etc.
In an alternate embodiment, the time synchronization between the timers 110 in the two devices 102, 104 can be implemented to be less than a millisecond. Examples of such time synchronization may be found in U.S. Patent Application 20050093868 to Kenneth P. Hinckley; Elson, J., Girod, L., Estrin, D., Fine-Grained Network Time Synchronization using Reference Broadcasts. ACM SIGOPS Operating Systems Review, 2002. 36(SI): p. 147-163; and Elson, J., Römer, K. Wireless Sensor Networks: A New Regime for Time Synchronization. Proc. First Workshop on Hot Topics In Networks (HotNets-I). In such an instance the acceptable discrepancy between timers 110 in the devices 102, 104 can be set to millseconds.
In another embodiment, the difference in local clock times between devices 102 and 104 can be calculated given their respective clock times. This may reduce the uncertainty in bump time between devices. This is accomplished by devices 102 and 104 simply sharing their respective local clock times over a communication channel and within a known latency tolerance of the communication channel.
The detection notification component 118 can also tailor or adjust the acceptable timestamp discrepancy based on the type of device 104 with which it is communicating. For example, if device 104 is another mobile phone, detection notification component 118 may assume that the timer 110 in the other device 104 should be accurate relative to the timer 110 in device 102, and set the maximum allowable discrepancy between timestamps at, for example, 1 second or less. In another implementation, if the device 102 is communicating with a programmable light switch, the detection notification component 118 in device 102 can recognize that the timer 110 in the programmable light switch is not as accurate, and correspondingly adjust the allowable discrepancy between timestamps to be, for example, 90 seconds.
Once an acceptable discrepancy is set, and if the detection notification component 118 determines the timestamps to be close enough to each other as to indicate that the devices 102, 104 experienced the same bump, detection notification component 118 can initiate an exchange of information between device 102 and the other device 104. In an example implementation, the devices 102, 104 can exchange similar information such as electronic business cards. In such an implementation, device 102 can be configured to accept only business card information with certain fields, such as personal information fields including a name field, an address field, a phone number field, etc. If the communicating device 104 tries to exchange some other type of data with device 102, such as an electronic resume for example, or access some other type of data on device 102, the transaction can be rejected by the detection notification component 118. Additionally, an error message can be presented to the users of one or both devices 102, 104 by the detection notification component 118 informing the user(s) of the rejection, and reiterating the rules of the transfer (i.e. only business card type fields).
In another implementation, the device 102 can be set to a data gathering mode in which the device can receive data and instructions from another device but cannot transmit any data to any other devices. In one example, the device 102 can be a PDA which a user at a trade show bumps into a portable or fixed computing-based device at a trade show display to download information of interest associated with the trade show display. If the bump has a magnitude above the required motion or contact threshold, the device 102 can initiate communication with the bumped computing-based device at the trade show display, and download information, such as product or service specifications and other marketing materials from the display.
In such a configuration, the downloaded data and/or instructions can be confined to the isolation area 122 of computer-readable media 116 to isolate viruses and the like that may be received in the instructions and/or data, and to preclude the viruses from attacking the rest of the device 102. Moreover, if the device associated with the trade show display attempts to access data on the device 102, or load data or instructions to an area outside of the isolation area 122, an error message can be presented to users of one or both devices 102, 104 by the detection notification component 118 informing the user(s) of the rejection, and reiterating the rules of the transfer (i.e. materials from the display device are accepted in the isolation area 122 only).
In yet another implementation, the portable device 102 can be used to pair or associate devices 102, 104. For example, a user may bump a first device 104 and then subsequently bump a second device 104 thus pairing or bump associating the devices 102, 104 together. In one exemplary implementation, a user can use a mobile phone to bump a programmable light switch and a light fixture to which the user wishes the light switch to be associated. In this way, the user can associate the light fixture and the light switch such that the switch can activate or deactivate the light fixture. In such a scenario, the phone or other portable device 102 can bump contact the first device 104 (for example the light switch) and if the bump is above a set threshold value as detected by the motion detector 112, communication can be initiated by the detection notification component 118 between the device 102 and the first device 104. This communication can include downloading the identity of the first device 104 by the portable device 102, and any passwords, data, and/or instructions that may be needed to locate, access, and/or interact with the first device 104.
The portable device 102 can then transfer this information to the second device 104 via a bump contact. Once the portable device 102 is bumped against the second device 104 with force sufficient to create motion equaling or exceeding the threshold detected by motion detectors 112, the detection notification component 118 in each of the portable devices 102, 104 can initiate communication between the devices 102, 104 and allow for the transfer to the second device 104 of pairing information, such as an identity of the first device 104, and any passwords, data, and/or instructions needed to locate, access, and/or interact with the first device 104, which were previously downloaded into the portable device 102.
Such pairing could also be extended to several devices. For example, a user can use a portable phone to bump one programmable light switch, and then bump several light fixtures and/or electrical outlets which the user wants to be associated with the switch. In another possible implementation, the user can use a PDA to bump associate a thermostat and several different devices in rooms throughout a building to regulate the room temperatures with the thermostat. In yet another implementation, a user can use an Mp3 player to associate a wireless speaker to an output channel or jack of a stereo by bump contacting both the speaker and a computing-based device associated with the channel.
Alternately, the user may use the portable device 102 to bump contact various devices as described above and download pairing information associated with the devices, including various identities, passwords, locations, etc. The user can then transfer information associated with the devices to a computer by bump contacting the computer, or by other known means such as transfer of information via a wired connection, and allow the computer to complete the association of the various devices.
Additionally, the pairing of devices may be established without the use of an intermediate device, such as portable device 102 noted above. For example, peripherals that a user wishes to associate with a given computer, such as a wireless keyboard, a wireless mouse, a printer, and/or a monitor, may be associated with the computer by individually bump contacting the peripherals with the computer. Similarly, gaming controllers may be associated with a game console or gaming device by bumping the controllers directly to the game console. Additionally, a gaming controller can be associated with an individual channel of the game console by bump contacting the desired channel. Moreover, several game consoles can be associated or networked by bumping them together to allow multiple players to play in the same game space.
Downloaded information from any of the devices to be paired or associated with another device can be restricted to the isolation area 122 by the detection notification component 118. In addition, the detection notification component 118 can also enforce restrictions on the type or volume of pairing information which may be accepted into device 102. Moreover, password activation may be required on the portable device 102 and/or the other devices 104 before pairings can be made. Such passwords can include codes entered into the devices 102, 104 or a preset series of bumps, similar to the multiple bumps which may be used for the creation of an encryption key 124.
The portable devices 102, 104 can also be initiated for communication with common or synchronous motions. For example, devices 102, 104 can be shaken in the same direction, at the same speed, and/or with the same acceleration. In one implementation, a user can hold the two mobile phones and move them together, such as up and down, or side to side. In this manner, motion detectors 112 in each device 102, 104 can detect the similar motion in the form of direction, acceleration, and/or velocity. If the motion equals or exceeds the preset threshold, and the times of motion of the two phones are within a coincidence, then the detection notification components 118 in each phone can initiate communication between the phones via wireless interface 114. Alternatively, if the sequence of motions is the same, the timestamps may not be needed by the detection notification components 118 to initiate the communication between the devices 102, 104.
Moreover, the relative orientation between the devices 102, 104 may also be used to establish and/or confirm the identities of the bumped devices 102, 104. For example, if during the bump contact 106, device 102 experiences a downward acceleration, it may be inferred that the device 104 bump contacting device 102 would have had to experience an upward acceleration and have been above device 102. Information communicated from a device to the contrary of such assumptions may be used to disqualify the device from communicating further with device 102. Examples of such device orientation comparison techniques may be found in U.S. Patent Application 20050093868 to Kenneth P. Hinckley.
Additionally, various markings can be placed on the outside of the devices 102, 104 to provide users a guide as to where to bump and/or in what direction to move and/or contact the devices 102, 104 in order for the motion to be detected by motion detector 112. For example, if the motion detector 112 includes an accelerometer that detects the motion in only one direction, an arrow marking can be placed on the outside of the devices 102, 104 in the direction of the movement that can be detected by the accelerometer.
In all of the above embodiments, anonymous communication between bumped devices 102, 104 can be accomplished through use of a central server (not shown in
For example, if device 102 is bump contacted with device 104, the motion detectors 112 in both devices 102, 104 can register magnitudes of motion such as indicated by peaks 208 and 210. When the measured magnitude of motion of device 102 equals or exceeds the preset threshold TH, a timestamp TA can be issued by the timer 110 in the portable device 102. Similarly, if the measured magnitude of motion of device 104 equals or exceeds the preset threshold TH′, a timestamp TA′ can be issued by the timer 110 in the portable device 104.
As mentioned above in conjunction with
It is also possible to bump the devices 102, 104 together several times resulting in multiple shared magnitude peaks in graphs 200, 204. For example, if after the initial bump resulting in peaks 208, 210 the devices 102, 104 are bumped again, successive magnitude peaks 212, 214 result. If the magnitudes of these peaks 212, 214 equal or exceed the respective thresholds TH and TH′, then corresponding timestamps TB and TB′ can also be created. Successive bumps of devices 102, 104 can result in similar magnitude peaks, such as peaks 216, 218 resulting in the creation of corresponding timestamps TC and TC′, and peaks 220, 222 resulting in the creation of corresponding timestamps TD and TD′.
The time duration between timestamps of the respective devices can then be measured by the detection notification components 118 in devices 102, 104. For example, in graph 200, the time duration between the first and second bumps represented by peaks 208 and 212 can be found by examining the difference between timestamps TA and TB, namely D1. Similarly the time duration between the second and third bumps represented by peaks 212, 216 can be found by examining the difference between timestamps TB and TC, namely D2. In like fashion, the time duration between the third and fourth bumps represented by peaks 216, 220 can be found to be D3.
The time durations between bumps detected by device 104 as shown by the magnitude peaks 210, 214, 218, and 212 in graph 204 can be found in a similar manner. For example, the time duration between the first and second bumps represented by peaks 210 and 214 can be found by determining the time duration between timestamps TA′ and TB′, namely D1′. Similarly that time duration between the second bump represented by peak 214 and the third bump represented by peak 218 may be found to be D2′. Additionally, the time duration between the third bump represented by peak 218 and the fourth bump represented by peak 222 may be found to be D3′.
The time required by device 102 and device 104 to react to a detected bump and issue a timestamp may not be the same. However, this lag time is essentially constant for each device 102. For example, an approximately equivalent time duration between detecting bumps and creating a timestamp will exist for each of the bumps detected by device 102. This accuracy can be affected by the respective accuracies of the timers 110 and time stamping by the motion detectors 112 in the devices 102, 104. Similarly, a potentially different time duration may exist for device 104, but this time duration will be approximately the same for each bump detected by device 104. When the times associated with timestamps are subtracted from one another, the time duration cancels out, leaving the real time duration between detected bumps. For example, time stamp TA can represent the time that a first bump occurred plus a lag time (Tb+lag time). Similarly, timestamp TB can represent the time that a second bump occurred plus the same lag time (Tb2+lag time). Accordingly, when the time associated with TA is subtracted from the time associated with TB, the result is:
(Tb2+lag time)−(Tb+lag time)=Tb2−Tb=D1
Therefore, D1 represents the real time duration between the occurrence of the first and second bumps as experienced by device 102. The same logic holds for device 104. Thus D1′ gives the real time duration between the first and second bumps as experienced by device 104. Correspondingly, D1=D1′, D2=D2′, D3=D3′, etc.
Once the times D1, D1′, D2, D2′, D3, D3′ between bumps have been determined, communication between the devices 102, 104 can be initiated. Either of the bumped devices 102, 104 can also transmit a discovery communication to detect if other devices capable of wireless communication are within communication distance. Devices which respond in the affirmative can then be queried to determine if they have detected a bump recently, and if so when. Alternately, one of the devices 102, 104 can make public a timestamp associated with one of the bumps, such as TA, TA′, TB, TB′, etc. Regardless of which device 102, 104 makes public the timestamp, the other device 102, 104 can evaluate it against its existing timestamps to see if there is an acceptable correspondence indicating that the devices 102, 104 have shared a bump. If so, the devices 102, 104 can begin communicating as described above in conjunction with
The devices 102, 104 can also be implemented for secure communication by utilizing the time durations between bumps, such as D1, D2, D3, D1, D2 and D1′, D2′, D3′ for the creation of private and/or public cryptographic keys common to both device 102 and device 104. Since, as elucidated above, D1=D1′, D2=D2′, D3=D3′, etc., the devices 102, 104 each posses sufficient data to create shared numbers. These shared numbers can be used with any cryptographic methods known in the art to create a private key for each device 102, 104 which enables secure communication between devices 102, 104.
In addition to using pairs such as D1, D1′; D2, D2′; and D3, D3′, the devices 102, 104 can also use combinations of these times to create shared numbers. For example one shared number could include D1′+D2′ for device 104, which would have a corresponding number of D1+D2 for device 102. In this manner many different combinations of shared numbers between device 102 and device 104 can be created and subsequently used to generate encryption keys 124 for secure communication.
Clock generators in common mobile devices, such as mobile phones, can be implemented as the timer 110 in devices 102, 104, and are may be driven by a quartz crystal with a time accuracy of 100 ppm (parts-per-million). If approximately one second elapses between detected bumps, a value can be derived from the time duration between the detected bumps with a 1000 ppm accuracy, or a three digit number. Combining values derived from the time durations between multiple bumps can extend a local private-but-shared number for use in a public-private key scenario for cryptographic communication.
In addition to bump contacting devices 102, 104, as discussed in the examples above, the devices 102, 104 may also be subjected to common motions. For example, a user can initiate secure communication between two mobile phones by placing the mobile phones together and moving them through several different motions as one unit. In one implementation, the motions could be up and down shaking motions akin to a bartender mixing a martini. Other possible implementations include side-to-side motions and mixtures of up and down and side-to-side motions, etc.
As a result of the shared motions of the devices 102, 104, the motion detectors 112 in devices 102, 104 can detect similar movement information, including accelerations, directions, and velocities at similar times and/or time intervals. For instance, if both devices are shaken like a martini mixer, and the resulting motion creates movement information that is detected to equal or exceed the threshold needed for the motion detectors 112 in devices 102, 104 to detect the motions, then a great variety of shared information may be detected. For example, the motion detectors 112 in devices 102, 104 may detect an Easterly motion followed by a Westerly motion followed by a Northerly motion. This sequence of shared detected motions can be utilized to create a private key for cryptographic communication. Similarly, a sequence of shared velocities of the devices having magnitudes above the threshold detected by the motion detectors 112 in the devices 102, 104 may also be used to create a shared sequence of numbers. The same can be said for shared accelerations.
Moreover, all of the above movement information, including bump contacts, may be combined to create even more sophisticated shared numbers between devices 102 and 104. For example, devices 102, 104 may be bumped, shaken like a martini, and bumped again to create a complex list of shared data which can be converted into shared numbers between devices 102, 104. Further, more than two devices can be used or included in any of the above mentioned examples. For example, a user may hold three or four phones together and initiate secure communications between the phones by shaking them and/or bumping them together.
Methods for motion detection notification, such as exemplary methods 300 and 400 described with reference to respective
At block 302, an acceleration from a bump is detected. For example, when devices 102 and 104 are bumped together, an acceleration of each device caused by the bump can be detected by the motion detectors 112 in each device 102, 104.
At block 304, a determination is made as to whether the acceleration from the bump exceeds a preset threshold. If the detected acceleration does not exceed the preset threshold (i.e., “no” path from block 304), then method 300 returns to block 302 and waits to detect the acceleration from another bump. If the detected acceleration does exceed the preset threshold (i.e., “yes” path from block 304), then a method 300 continues to block 306.
At block 306, a determination is made as to whether contact has been made with another device, another sensor, and/or a user. If it is determined that no contact has been made (i.e., “no” path from block 306), then method 300 returns to block 302 and waits to detect the acceleration from another bump. If, however, it is determined that contact was made (i.e., “yes” path from block 306), then a time when the bump occurred which created the contact and/or the acceleration exceeding the threshold at block 304 is logged at block 308. For example, a timestamp can be created by timer 110 at the time the acceleration is detected to exceed the threshold, or at the time the contact has been made.
At block 310, an interrogation is made to determine if any other device capable of wireless communication is within communication distance. For example, the interrogation may include a discovery communication transmitted using technologies promulgated by groups such as the Bluetooth Special Interest Group, the Infrared Data Association (IRDA), and the Near Field Communication Forum (NFC).
At block 312, a determination is made as to whether any devices answer the interrogation in the affirmative, and they are further queried to determine if they have detected a bump recently. “Recently” may be predefined to be anywhere from fractions of a second to more than a few minutes, and may depend on the communication capabilities of the devices. For example, if the devices are such that they do not have accurate timers 110, “recently” may be preset to mean within several minutes of one another. Alternatively, if the devices are mobile phones with timers 110 synched to a very accurate clock, “recently” could be preset to be only a fraction of a second. In one exemplary embodiment, the definition of “recently” can be reduced if the devices 102, 104 share their local times.
If the communicating device did not experience a bump, or the bump was not experienced “recently” (i.e., “no” path from block 312), the method returns to block 310 and queries other devices. If the communicating device did experience a bump “recently” (i.e., “yes” path from block 312), then it is inferred that the device shared the same bump that created the acceleration in block 302 and data transfer is initiated at block 314. For example, if it is determined that device 104 received a bump recently with respect to a bump received by device 102, then communication is initiated by the detection notification component 118 in device 102 and/or the detection notification component 108 in device 104 enabling devices 102, 104 to exchange data and instructions wirelessly via wireless interface 114.
At block 402, a bump contact is registered between at least two devices, wherein one of the devices is a portable computing-based device, such as a game controller, keyboard, remote control, laptop, mobile phone, printer, mp3 player, monitor, PDA, mouse, assorted computer peripherals, etc, while the other device is an additional device. The additional device may be another portable computing-based device, or it may be a stationary computing-based device, such as a thermostat, or a fixed display device in a store or at a convention. The bump contact can be registered by detecting a direction of motion of the portable device, a velocity of the motion of the portable device, and/or acceleration of the portable device, or an approximate time at which the bump contact occurred. In one implementation, registering a bump contact can also include registering numerous successive bump contacts between the two devices.
At block 404, a magnitude of the bump contact is determined to be at least equivalent to a preset threshold in the portable device. For example, portable device 102 includes a detection notification component 118 that determines if motions detected by motion detector 112 equal or exceed a preset threshold. Alternately, the motion detector 112 itself can establish whether the motion exceeds the preset threshold.
At block 406, a discovery communication is issued to determine if any other communication-enabled devices are within communication range. For example, portable device 102 wirelessly transmits an interrogation via wireless interface 114 to determine whether any wireless communication equipped devices are within communication range. In this way, the portable device 102 seeks to establish contact with the additional device bumped at block 402.
At block 408, a public timestamp indicating when the bump contact occurred is generated to allow the portable device and/or the additional device to determine if a shared bump contact exists between the devices. A lag time may exist between the occurrence of the motion and the action of issuing the timestamp. Also the timestamp will be relative to the timer 110 in the device issuing the timestamp.
At block 410, an encryption key is created to enable secure communications between the portable device and the additional device. For example, the encryption key can be created using information from successive bump contacts between the portable device 102 and the additional device 104, such as time durations between given bumps. Additionally, the encryption key can be created using other motion information detected by motion detector 112, such as velocities, accelerations, and directions of the portable device 102 and the additional device 104. Moreover, the encryption key can be created from any combination of the bump or motion information 120 discussed above.
At block 412, communication with the additional device is initiated in response to detecting the bump contact and determining the magnitude of the bump contact. This communication may be secure or unsecured. For an unsecured communication, only the shared bump need be detected. Once the portable device 102 and the additional device 104 compare, for example, timestamps, and determine that a common bump has occurred, the portable device 102 and the additional device 104 can initiate communication with each other. For secure communication to be initiated, various shared information 120 between the portable device 102 and the additional device 104, such as multiple successive bumps, or shared motion with various speeds, accelerations, and/or directions can be used to create private keys common to the portable device and the additional device for encrypted communication.
At block 414, communication proceeds between the devices. For example, data and/or instructions are communicated between the portable device 102 and the additional device 104.
Computing-based device 500 includes one or more media content inputs 502 which can include Internet Protocol (IP) inputs over which streams of media content are received via an IP-based network. Device 500 further includes communication interface(s) 504 which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. In one implementation, the communication interface(s) 504 can include the wireless interface 114 shown in
A network interface provides a connection between the computing-based device 500 and a communication network by which other electronic and computing-based devices can communicate data with device 500. Similarly, a serial and/or parallel interface provides for data communication directly between computing-based device 500 and the other electronic or computing devices. A modem facilitates communication between computing-based device 500 and other electronic and computing devices via a conventional telephone line, a DSL connection, cable, and/or other type of connection.
Computing-based device 500 also includes one or more processors 506 (e.g., any of microprocessors, controllers, and the like) which process various computer executable instructions to control the operation of computing-based device 500, to communicate with other electronic and computing devices, and to process instructions and data in conjunction with the detection notification component 108 shown in
Computing-based device 500 can also be implemented with computer-readable media 508, such as one or more memory components, examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device can include any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), a DVD, a DVD+RW, and the like.
Computer-readable media 508 provides data storage mechanisms to store various information and/or data such as software applications and any other types of information and data related to operational aspects of computing-based device 500. For example, an operating system 510 and/or other application programs 512 can be maintained as software applications with the computer-readable media 508 and executed on processor(s) 506. The application programs 512 can include a detection notification component 514 programmed to implement embodiments of motion detection notification. In one embodiment, detection notification component 514 is an example of the detection notification component 118 shown in
The computer-readable media 508 can also include an isolation area 516 in which data and instructions input to the computing-based device 500 are isolated from the rest of the computing-based device 500. In this manner viruses that may be received in the input data and instructions can be effectively contained, and their ill effects on computing-based device 500 limited or entirely ameliorated.
The computing-based device 500 may also include an audio and/or video output 518 that provides audio and video to an audio rendering and/or display system, or to other devices that process, display, and/or otherwise render audio, video, and image data. As a portable device, video signals and audio signals can be communicated to an integrated display device and to integrated audio rendering components.
Moreover, the computing-based device 500 can include a contact sensor 520 configured to detect a contact between device 500 and other similar computing-based devices. Alternately, sensor 520 may be configured to detect contact between the computing-based device 500 and other sensors similar to sensor 520. In yet another possible implementation, sensor 520 may be configured to detect contact between the computing-based device 500 and a user, such as a user who might be holding computing-based device 500 in his hand. Contact sensor 520 can be implemented with metal or metalized contacts, and/or with any other device or technology known in the art which may be used to measure physical contact between the sensor 520 and a device, the sensor 520 and another sensor; and/or the sensor 520 and a user. Sensor 520 may also be implemented to collect information regarding individual users, including such qualities as pulse, temperature, etc.
Although embodiments of motion detection notification have been described in language specific to structural features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations of motion detection notification.
Kirovski, Darko, Sinclair, Michael, Hinckley, Kenneth, Blank, Tom, Yuval, Gideon
Patent | Priority | Assignee | Title |
10048852, | Oct 21 2011 | GOOGLE LLC | Thermostat user interface |
10078319, | Nov 19 2010 | GOOGLE LLC | HVAC schedule establishment in an intelligent, network-connected thermostat |
10085657, | Jun 17 2009 | SOTERA WIRELESS, INC | Body-worn pulse oximeter |
10095276, | Nov 25 2009 | Visa International Service Association | Information access device and data transfer |
10123722, | Sep 14 2009 | SOTERA WIRELESS, INC | Body-worn monitor for measuring respiration rate |
10142421, | Oct 17 2011 | GOOGLE LLC | Methods, systems, and related architectures for managing network connected devices |
10145577, | Mar 29 2012 | GOOGLE LLC | User interfaces for HVAC schedule display and modification on smartphone or other space-limited touchscreen device |
10151503, | Apr 05 2012 | GOOGLE LLC | Continuous intelligent-control-system update using information requests directed to user devices |
10175668, | Nov 19 2010 | GOOGLE LLC | Systems and methods for energy-efficient control of an energy-consuming system |
10206247, | Oct 11 2010 | STMicroelectronics, Inc.; STMicroelectronics Asia Pacific Pte Ltd | Closed loop temperature controlled circuit to improve device stability |
10213159, | Mar 10 2010 | SOTERA WIRELESS, INC. | Body-worn vital sign monitor |
10241482, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
10278645, | Mar 10 2010 | SOTERA WIRELESS, INC. | Body-worn vital sign monitor |
10295974, | Oct 07 2011 | GOOGLE LLC | Methods and graphical user interfaces for reporting performance information for an HVAC system controlled by a self-programming network-connected thermostat |
10346275, | Nov 19 2010 | GOOGLE LLC | Attributing causation for energy usage and setpoint changes with a network-connected thermostat |
10357187, | Feb 18 2011 | SOTERA WIRELESS, INC | Optical sensor for measuring physiological properties |
10420476, | Sep 15 2009 | SOTERA WIRELESS, INC | Body-worn vital sign monitor |
10443877, | Mar 29 2012 | GOOGLE LLC | Processing and reporting usage information for an HVAC system controlled by a network-connected thermostat |
10443879, | Dec 31 2010 | GOOGLE LLC | HVAC control system encouraging energy efficient user behaviors in plural interactive contexts |
10491382, | Aug 16 2016 | HUBBELL INCORPORATED DELAWARE | Secure authentication of devices without server assistance or pre-shared credentials |
10502444, | Apr 05 2012 | GOOGLE LLC | Continuous intelligent-control-system update using information requests directed to user devices |
10555676, | May 20 2009 | SOTERA WIRELESS, INC | Method for generating alarms/alerts based on a patient's posture and vital signs |
10595746, | Sep 14 2009 | SOTERA WIRELESS, INC | Body-worn monitor for measuring respiration rate |
10606724, | Nov 19 2010 | GOOGLE LLC | Attributing causation for energy usage and setpoint changes with a network-connected thermostat |
10627791, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
10678416, | Oct 21 2011 | GOOGLE LLC | Occupancy-based operating state determinations for sensing or control systems |
10678904, | Feb 02 2009 | Apple Inc. | Sensor derived authentication for establishing peer-to-peer networks |
10722130, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
10722131, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
10722132, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
10747242, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
10765326, | Jun 12 2007 | SOTERA WIRLESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
10788401, | Mar 15 2013 | Fluke Corporation | Remote sharing of measurement data |
10806351, | Sep 15 2009 | SOTERA WIRELESS, INC | Body-worn vital sign monitor |
10824207, | Nov 25 2009 | Visa International Service Association | Information access device and data transfer |
10856752, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
10873632, | Oct 17 2011 | GOOGLE LLC | Methods, systems, and related architectures for managing network connected devices |
10973414, | May 20 2009 | SOTERA WIRELESS, INC | Vital sign monitoring system featuring 3 accelerometers |
10987004, | May 20 2009 | SOTERA WIRELESS, INC. | Alarm system that processes both motion and vital signs using specific heuristic rules and thresholds |
11004056, | Dec 30 2010 | Visa International Service Association | Mixed mode transaction protocol |
11103148, | Jun 17 2009 | SOTERA WIRELESS, INC. | Body-worn pulse oximeter |
11118803, | Apr 05 2012 | GOOGLE LLC | Continuous intelligent-control-system update using information requests directed to user devices |
11134857, | Jun 17 2009 | SOTERA WIRELESS, INC. | Body-worn pulse oximeter |
11140750, | Oct 11 2010 | STMicroelectronics, Inc.; STMicroelectronics Asia Pacific Pte Ltd | Closed loop temperature controlled circuit to improve device stability |
11179105, | Feb 18 2011 | SOTERA WIRELESS, INC. | Modular wrist-worn processor for patient monitoring |
11330988, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
11334034, | Nov 19 2010 | GOOGLE LLC | Energy efficiency promoting schedule learning algorithms for intelligent thermostat |
11372433, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
11372962, | Feb 02 2009 | Apple Inc. | Sensor derived authentication for establishing peer-to-peer networks |
11589754, | May 20 2009 | SOTERA WIRELESS, INC | Blood pressure-monitoring system with alarm/alert system that accounts for patient motion |
11607152, | Jun 12 2007 | SOTERA WIRELESS, INC | Optical sensors for use in vital sign monitoring |
11638533, | Jun 17 2009 | SOTERA WIRELESS, INC. | Body-worn pulse oximeter |
11734407, | Feb 02 2009 | Apple Inc. | Sensor derived authentication for establishing peer-to-peer networks |
11765148, | Oct 30 2015 | Telefonaktiebolaget LM Ericsson (publ); TELEFONAKTIEBOLAGET LM ERICSSON PUBL | Establishing a secret shared between a first communications device and at least one second communications device |
11781770, | Mar 29 2012 | GOOGLE LLC | User interfaces for schedule display and modification on smartphone or other space-limited touchscreen device |
11856657, | Oct 11 2010 | STMicroelectronics Asia Pacific Pte Ltd; STMicroelectronics, Inc. | Closed loop temperature controlled circuit to improve device stability |
11896350, | May 20 2009 | SOTERA WIRELESS, INC. | Cable system for generating signals for detecting motion and measuring vital signs |
7769927, | Jul 19 2007 | Lenovo PC International | Apparatus, system, and method for acceleration initiated association |
8068011, | Aug 27 2010 | Q Street, LLC | System and method for interactive user-directed interfacing between handheld devices and RFID media |
8219028, | Mar 31 2008 | GOOGLE LLC | Passing information between mobile devices |
8242876, | Sep 17 2008 | STMicroelectronics, Inc; STMICROELECTRONICS GRENOBLE 2 SAS | Dual thin film precision resistance trimming |
8312392, | Oct 02 2009 | Qualcomm Incorporated | User interface gestures and methods for providing file sharing functionality |
8321004, | Sep 15 2009 | SOTERA WIRELESS, INC | Body-worn vital sign monitor |
8364250, | Sep 15 2009 | SOTERA WIRELESS, INC | Body-worn vital sign monitor |
8391786, | Jan 25 2007 | Microsoft Technology Licensing, LLC | Motion triggered data transfer |
8400257, | Aug 24 2010 | STMicroelectronics, Inc; STMicroelectronics Pte Ltd | Via-less thin film resistor with a dielectric cap |
8436426, | Aug 24 2010 | STMicroelectronics Pte Ltd | Multi-layer via-less thin film resistor |
8437824, | Jun 17 2009 | SOTERA WIRELESS, INC | Body-worn pulse oximeter |
8457651, | Oct 02 2009 | Qualcomm Incorporated | Device movement user interface gestures for file sharing functionality |
8475370, | May 20 2009 | SOTERA WIRELESS, INC | Method for measuring patient motion, activity level, and posture along with PTT-based blood pressure |
8489569, | Dec 08 2008 | Microsoft Technology Licensing, LLC | Digital media retrieval and display |
8493171, | Sep 17 2009 | STMicroelectronics, Inc.; STMicroelectronics (Grenoble) SAS | Dual thin film precision resistance trimming |
8521848, | Jun 28 2011 | Microsoft Technology Licensing, LLC | Device sensor and actuation for web pages |
8526214, | Nov 15 2011 | STMicroelectronics Pte Ltd.; STMicroelectronics Pte Ltd | Resistor thin film MTP memory |
8527038, | Sep 15 2009 | SOTERA WIRELESS, INC | Body-worn vital sign monitor |
8545417, | Sep 14 2009 | SOTERA WIRELESS, INC | Body-worn monitor for measuring respiration rate |
8554297, | Jun 17 2009 | SOTERA WIRELESS, INC | Body-worn pulse oximeter |
8558179, | Oct 21 2011 | GOOGLE LLC | Integrating sensing systems into thermostat housing in manners facilitating compact and visually pleasing physical characteristics thereof |
8558654, | Sep 17 2008 | STMICROELECTRONICS GRENOBLE 2 SAS | Vialess integration for dual thin films—thin film resistor and heater |
8577292, | Feb 03 2010 | GOOGLE LLC | Bump validation |
8591411, | Mar 10 2010 | SOTERA WIRELESS, INC. | Body-worn vital sign monitor |
8594776, | May 20 2009 | SOTERA WIRELESS, INC. | Alarm system that processes both motion and vital signs using specific heuristic rules and thresholds |
8602997, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
8622922, | Sep 14 2009 | SOTERA WIRELESS, INC | Body-worn monitor for measuring respiration rate |
8644053, | Nov 15 2011 | STMicroelectronics Pte Ltd. | Resistor thin film MTP memory |
8659085, | Aug 24 2010 | STMicroelectronics Pte Ltd | Lateral connection for a via-less thin film resistor |
8670709, | Feb 26 2010 | Malikie Innovations Limited | Near-field communication (NFC) system providing mobile wireless communications device operations based upon timing and sequence of NFC sensor communication and related methods |
8672854, | May 20 2009 | SOTERA WIRELESS, INC | System for calibrating a PTT-based blood pressure measurement using arm height |
8699948, | Jan 25 2011 | Sony Corporation | Connection method for near field communication |
8727977, | Mar 10 2010 | SOTERA WIRELESS, INC. | Body-worn vital sign monitor |
8738118, | May 20 2009 | SOTERA WIRELESS, INC | Cable system for generating signals for detecting motion and measuring vital signs |
8740802, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
8740807, | Sep 14 2009 | SOTERA WIRELESS, INC | Body-worn monitor for measuring respiration rate |
8747330, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
8761809, | Nov 25 2009 | Visa International Service Association | Transaction using a mobile device with an accelerometer |
8766194, | Oct 21 2011 | GOOGLE LLC | Integrating sensing systems into thermostat housing in manners facilitating compact and visually pleasing physical characteristics thereof |
8781393, | Sep 30 2009 | PayPal, Inc | Network updates of time and location |
8786396, | Sep 17 2008 | STMicroelectronics Pte Ltd | Heater design for heat-trimmed thin film resistors |
8808188, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
8809861, | Dec 29 2010 | STMicroelectronics Pte Ltd | Thin film metal-dielectric-metal transistor |
8843239, | Oct 17 2011 | GOOGLE LLC | Methods, systems, and related architectures for managing network connected thermostats |
8850348, | Dec 31 2010 | GOOGLE LLC | Dynamic device-associated feedback indicative of responsible device usage |
8885390, | Nov 15 2011 | STMicroelectronics Pte Ltd | Resistor thin film MTP memory |
8888700, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
8892138, | Nov 27 2009 | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | Transferring messages in a communications network |
8893032, | Mar 29 2012 | GOOGLE LLC | User interfaces for HVAC schedule display and modification on smartphone or other space-limited touchscreen device |
8897446, | Aug 17 2007 | Infineon Technologies AG | Methods for the generation of identical symmetrical cryptographic keys |
8897704, | Sep 13 2007 | HUAWEI TECHNOLOGIES CO , LTD | Method and apparatus to enable use of motion to associate devices |
8907768, | Nov 25 2009 | Visa International Service Association | Access using a mobile device with an accelerometer |
8909330, | May 20 2009 | SOTERA WIRELESS, INC | Body-worn device and associated system for alarms/alerts based on vital signs and motion |
8927909, | Oct 11 2010 | STMicroelectronics, Inc; STMICROELECTRONICS ASIA PACIFIC PTE LTD | Closed loop temperature controlled circuit to improve device stability |
8956293, | May 20 2009 | SOTERA WIRELESS, INC | Graphical ‘mapping system’ for continuously monitoring a patient's vital signs, motion, and location |
8956294, | May 20 2009 | SOTERA WIRELESS, INC | Body-worn system for continuously monitoring a patients BP, HR, SpO2, RR, temperature, and motion; also describes specific monitors for apnea, ASY, VTAC, VFIB, and ‘bed sore’ index |
8979765, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
8981527, | Aug 23 2011 | Marlin Semiconductor Limited | Resistor and manufacturing method thereof |
8998102, | Oct 21 2011 | GOOGLE LLC | Round thermostat with flanged rotatable user input member and wall-facing optical sensor that senses rotation |
9026232, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
9098096, | Apr 05 2012 | GOOGLE LLC | Continuous intelligent-control-system update using information requests directed to user devices |
9127853, | Nov 19 2010 | GOOGLE LLC | Thermostat with ring-shaped control member |
9159413, | Dec 29 2010 | STMicroelectronics Pte Ltd | Thermo programmable resistor based ROM |
9161700, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
9165853, | Oct 11 2010 | STMicroelectronics Asia Pacific Pte. Ltd.; STMicroelectronics, Inc. | Closed loop temperature controlled circuit to improve device stability |
9173593, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
9173594, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
9175871, | Apr 26 2013 | GOOGLE LLC | Thermostat user interface |
9176543, | Nov 25 2009 | Visa International Service Association | Access using a mobile device with an accelerometer |
9194598, | Oct 21 2011 | GOOGLE LLC | Thermostat user interface |
9215986, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
9222692, | Oct 06 2004 | GOOGLE LLC | Wireless zone control via mechanically adjustable airflow elements |
9222693, | Apr 26 2013 | GOOGLE LLC | Touchscreen device user interface for remote control of a thermostat |
9223323, | Nov 19 2010 | GOOGLE LLC | User friendly interface for control unit |
9234669, | Oct 21 2011 | GOOGLE LLC | Integrating sensing systems into thermostat housing in manners facilitating compact and visually pleasing physical characteristics thereof |
9270364, | Feb 03 2010 | GOOGLE LLC | Bump button |
9279595, | Oct 17 2011 | GOOGLE LLC | Methods, systems, and related architectures for managing network connected thermostats |
9291359, | Oct 21 2011 | GOOGLE LLC | Thermostat user interface |
9298196, | Nov 19 2010 | GOOGLE LLC | Energy efficiency promoting schedule learning algorithms for intelligent thermostat |
9339209, | Apr 19 2010 | SOTERA WIRELESS, INC. | Body-worn monitor for measuring respiratory rate |
9364158, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
9380952, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
9411981, | Sep 03 2009 | GIESECKE+DEVRIENT MOBILE SECURITY GMBH | Method and system for activating a portable data carrier |
9413872, | Mar 19 2014 | GOOGLE LLC | Motion to connect to kiosk |
9439574, | Feb 18 2011 | SOTERA WIRELESS, INC | Modular wrist-worn processor for patient monitoring |
9442643, | Mar 30 2006 | Sony Corporation | Data communication in an electronic device |
9453655, | Oct 07 2011 | GOOGLE LLC | Methods and graphical user interfaces for reporting performance information for an HVAC system controlled by a self-programming network-connected thermostat |
9459018, | Nov 19 2010 | GOOGLE LLC | Systems and methods for energy-efficient control of an energy-consuming system |
9476606, | Dec 31 2010 | GOOGLE LLC | Dynamic device-associated feedback indicative of responsible device usage |
9489109, | Mar 30 2006 | Sony Corporation | Data communication in an electronic device |
9492092, | May 20 2009 | SOTERA WIRELESS, INC | Method for continuously monitoring a patient using a body-worn device and associated system for alarms/alerts |
9535589, | Sep 21 2012 | GOOGLE LLC | Round thermostat with rotatable user input member and temperature sensing element disposed in physical communication with a front thermostat cover |
9585577, | Dec 28 2010 | SOTERA WIRELESS, INC | Body-worn system for continuous, noninvasive measurement of cardiac output, stroke volume, cardiac power, and blood pressure |
9596999, | Jun 17 2009 | SOTERA WIRELESS, INC | Body-worn pulse oximeter |
9603012, | Aug 19 2013 | Empire Technology Development LLC | Secure wireless device connection using power line messages |
9612032, | Nov 19 2010 | GOOGLE LLC | User friendly interface for control unit |
9621703, | Mar 19 2014 | GOOGLE LLC | Motion to connect to kiosk |
9668656, | Jun 12 2007 | SOTERA WIRELESS, INC. | Body-worn system for measuring continuous non-invasive blood pressure (cNIBP) |
9703539, | Oct 29 2010 | Microsoft Technology Licensing, LLC | Viral application distribution |
9720585, | Oct 21 2011 | GOOGLE LLC | User friendly interface |
9732979, | Dec 31 2010 | GOOGLE LLC | HVAC control system encouraging energy efficient user behaviors in plural interactive contexts |
9733714, | Jan 07 2014 | Samsung Electronics Co., Ltd. | Computing system with command-sense mechanism and method of operation thereof |
9740385, | Oct 21 2011 | GOOGLE LLC | User-friendly, network-connected, smart-home controller and related systems and methods |
9766606, | Nov 19 2010 | GOOGLE LLC | Thermostat user interface |
9769593, | Sep 30 2009 | PayPal, Inc | Network updates of time and location |
9775042, | Dec 18 2015 | Empire Technology Development LLC | Secure communication connection formation |
9775529, | Jun 17 2009 | SOTERA WIRELESS, INC | Body-worn pulse oximeter |
9810590, | Feb 23 2011 | GOOGLE LLC | System and method for integrating sensors in thermostats |
9857961, | Oct 21 2011 | GOOGLE LLC | Thermostat user interface |
9858455, | Aug 27 2010 | Q Street, LLC | System and method for interactive user-directed interfacing between handheld devices and RFID media |
9890970, | Mar 29 2012 | Nest Labs, Inc | Processing and reporting usage information for an HVAC system controlled by a network-connected thermostat |
9920946, | Apr 26 2013 | GOOGLE LLC | Remote control of a smart home device |
9942380, | Mar 30 2006 | Sony Corporation | Data communication in an electronic device |
9952573, | Nov 19 2010 | GOOGLE LLC | Systems and methods for a graphical user interface of a controller for an energy-consuming system having spatially related discrete display elements |
Patent | Priority | Assignee | Title |
6836726, | Oct 04 2002 | INTEGRASYS, SA | Satellite and terrestrial remote monitoring system for wireless handheld mobile terminals |
7009497, | Mar 21 2003 | HOME DATA SOURCE, INC | Method of distinguishing the presence of a single versus multiple persons |
20040192383, | |||
20040203381, | |||
20070018800, | |||
20070026797, | |||
20080036591, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 26 2006 | Microsoft Corporation | (assignment on the face of the patent) | / | |||
May 04 2006 | SINCLAIR, MICHAEL J | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018285 | /0624 | |
May 04 2006 | HINCKLEY, KENNETH | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018285 | /0624 | |
May 04 2006 | KIROVSKI, DARKO | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018285 | /0624 | |
May 04 2006 | YUVAL, GIDEON | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018285 | /0624 | |
May 08 2006 | BLANK, TOM | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018285 | /0624 | |
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034543 | /0001 |
Date | Maintenance Fee Events |
Oct 21 2008 | ASPN: Payor Number Assigned. |
Feb 22 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 09 2016 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 17 2020 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 23 2011 | 4 years fee payment window open |
Mar 23 2012 | 6 months grace period start (w surcharge) |
Sep 23 2012 | patent expiry (for year 4) |
Sep 23 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 23 2015 | 8 years fee payment window open |
Mar 23 2016 | 6 months grace period start (w surcharge) |
Sep 23 2016 | patent expiry (for year 8) |
Sep 23 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 23 2019 | 12 years fee payment window open |
Mar 23 2020 | 6 months grace period start (w surcharge) |
Sep 23 2020 | patent expiry (for year 12) |
Sep 23 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |