This application is a U.S. National Stage Application of and claims priority to International Patent Application No. PCT/US2014/049139, filed on Jul. 31, 2014, and entitled “DEVICE ACTIVITY CONTROL,” which is hereby incorporated by reference in its entirety.
As technology continues to advance, the use of mobile computing devices and related accessories has become ubiquitous. Technological advances have enabled billions of users throughout the world to benefit from the use of all manner of such devices ranging, for example, from smart phones, media players, tablet computers, and onboard automobile computers, to wearable devices such as smart watches, smart eyewear, headsets, pedometers, heart monitors, and so on. As the number of these devices and device users continues to increase, efforts toward improving the efficiency of human interaction with such devices are ongoing.
Examples will now be described with reference to the accompanying drawings, in which:
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
Mobile and other computing devices have become an essential part of life for billions of users around the world. There is a significant variety of such devices ranging, for example, from smart phones, media players, tablet computers, and onboard automobile computers, to wearable devices such as smart watches, smart eyewear, headsets, pedometers, heart monitors, and so on. Traditional computing platforms such as laptop and desktop computers also continue to be a mainstay of productivity for many computer users. As the number of these devices and people using them continues to increase, the efficiency of human-computer/device interaction becomes increasingly significant. For example, the ability to quickly access functionality of a computing device without enduring a tedious identification and logon process and/or activity/application initiation process provides a considerable benefit for users who own and use numerous devices. However, there is generally a tradeoff between the convenience of having such quick access to device functionality and the risk that unauthorized users might also be able to access such devices for the same or different functionality.
Example methods and devices disclosed herein take advantage of the wireless communications technologies integrated into many computing devices to enable convenient and secure access to computer device functionality. User-configurable combinations of unique device identifiers (UDIDs) can be used as tokens to authenticate and control (e.g., start and stop) activities in computer devices when such devices come in and out of a detectable range of one another. Activities generally refer to any executable applications or other functions on a computer device available to a user through typical user interfaces and input/output mechanisms. Thus, a user can configure a primary device to automatically perform an activity when the primary device detects the presence of a particular combination or set of secondary devices within its vicinity, and to automatically stop performing the activity when the primary device detects that the particular combination or set of secondary devices is no longer within its vicinity. The primary device detects the presence of secondary devices by scanning for secondary device UDIDs at user-configured scan intervals. Secondary devices broadcast or advertise their respective UDIDs over various wireless radio communications protocols executing on the secondary devices. The primary device can compare detected UDIDs to a user-configured authorized list of “friendly” UDIDs to confirm their authenticity. The primary device further compares detected UDIDs to a user-configured activity association list to determine if an activity has been associated with the concurrent detection of multiple UDIDs. When an activity is associated in the activity association list with multiple UDIDs, the primary device performs the activity when all of the associated UDIDs are detected concurrently (i.e., by the same scan) within the vicinity of the primary device, and stops performing the activity when less than all of the associated UDIDs are detected within the vicinity of the primary device.
It is significant to note that reference to a computer device as being a “primary” device or a “secondary” device is arbitrary. Such references are intended merely to provide a perspective for describing particular device detection scenarios. For example, in any given detection scenario with multiple computer devices coming within a detectable range of one another, any one of the computer devices can be the “primary” device for the purpose of describing which of the devices has been configured to control an activity based on detecting the other devices. Thus, in a single scenario in which three computer devices are brought within a detectable range of one another, any one of the three devices can be the primary device configured to control/perform an activity upon detecting the other two devices. Furthermore, in such a scenario, one, two, or all three, of the computer devices may be configured to perform an activity upon detecting the other two devices. Thus, depending on the descriptive perspective, the devices can be interchangeably referred to as primary or secondary devices, because any one of the devices can be referred to as the primary device, while the other two devices would be referred to as the secondary devices, and so on. Therefore, designating or referring to a device as a primary or secondary device merely provides a descriptive perspective.
Advantages of this method of controlling activities on computing devices include that the user interaction with the devices is minimized to pre-configuring devices with an authorized UDID list and an activity association list. Thereafter, an activity on a device is controlled automatically based on its detecting the presence of any pre-configured combinations of UDIDs from other devices. The detection of devices is based on the passive reception of the broadcast UDIDs from the devices, and does not involve pairing any of the devices, or any hand-shaking or other two-way communication between any of the devices.
This method enables the automation of activities on computer devices, and there are virtually endless examples of the types of activities that are controllable using this method. For instance, a user can pre-configure a “primary” PC device to automatically wake up and open a web browser to display a web page that provides current weather conditions within a particular geographic location whenever the user comes within the vicinity of the PC while carrying (or wearing) a pre-configured combination of “secondary” devices, such as a smart phone and a smart pedometer. In this scenario the user gains automatic access through the PC to pending weather conditions as he prepares for his daily morning jog, without having to physically interact with the PC or the other computing devices. In another example, a user can pre-configure an automobile computing system to unlock and start the automobile whenever the user comes within the vicinity of the automobile carrying his smart phone and key fob.
Thus, pre-configuration of a computing device enables automatic authentication and control of activities on the device. Once a primary device is pre-configured, the user has no further interaction with the primary device or the secondary devices being detected in order to start, stop, or otherwise control, pre-configured activities. This enables users to avoid the typical steps involved in initiating and stopping particular device activities, as well as avoiding having to remember or interact with device UDIDs and/or device identifications (IDs) and passwords. This removes the risk of users forgetting or misplacing device IDs and passwords, and significantly limits a rogue user's ability to gain unauthorized access to device functionality.
In one example, a method of controlling activity of a primary device includes concurrently detecting multiple UDIDs in proximity of the primary device. A determination can be made that the multiple UDIDs are associated with a primary device activity. The determination can be made, for example, by accessing an activity association list and comparing the detected UDIDs with pre-configured combinations of UDIDs that have been associated with the primary device activity by a user. The method includes performing the activity while the concurrent detection of the multiple UDIDs persists, and stopping the activity when the concurrent detection of the multiple UDIDs stops. Thus, primary device activities, configured (i.e., pre-selected) by a user, can be initiated and controlled based on the detected presence (i.e., proximity) of different, user-configurable combinations of secondary devices that come within proximity of the primary device.
In another example, a primary computing device includes a plurality of different wireless radio communications engines. Each wireless radio engine is enabled to detect a UDID that is broadcast from a secondary device over a particular wireless radio communication protocol. The primary device also comprises an activity association list that includes a primary device activity that has been associated with a pre-configured UDID grouping. An activity control module included on the primary device is to compare the detected UDIDs with UDIDs in the pre-configured UDID grouping, and to control the primary device activity when the UDIDs in the pre-configured UDID grouping are concurrently detected.
In another example, a non-transitory machine-readable storage medium stores instructions that when executed by a processor of a primary device, cause the primary device to scan for unique device identifiers (UDIDs) associated with secondary devices. During the scan the primary device can detect a plurality of UDIDs within a scanning range. The instructions further cause the primary device to determine from a user-configured activity list, that at least two UDIDs are associated with a primary device activity, and to control the primary device to perform the activity while the at least two UDIDs are detected by the scan.
Common examples of primary devices 102 and secondary devices 104 include, but are not limited to, personal computers, PDAs (personal digital assistants), automobile computers, smart phones, and tablet computers, as well as wearable devices such as wireless headsets, smart watches, smart eyewear, pedometers, heart monitors, and so on. Examples of suitable types of wireless radio communication protocols include, but are not limited to, Bluetooth, Wi-Fi, Zigbee, iBeacon, and NFC. A UDID 106 is typically a unique identifier associated with the wireless radio communication chip set and can include, for example, a MAC address (media access control address), an IMEI (International Mobile Equipment Identity) ID, an IMS (International Mobile Subscriber) ID, or other unique identifier that includes, for example, some combination of information identifying the device vendor, the product number, the serial number, and so on.
Both primary devices 102 and secondary devices 104 can advertise their presence by broadcasting their UDIDs 106 (e.g., UDID 106(a), UDID 106(b)) over any one of a variety of different wireless radio communication protocols. Thus, as shown in
However, as noted below, the automatic control over pre-configured activities of a primary device 102 can be achieved on the basis of merely a one-way communication from the secondary devices 104 broadcasting UDIDs 106(b), and a passive detection by the primary device 102 of those broadcast UDIDs. This is intended to be illustrated in
The range or distance over which a device 102, 104, can detect a UDID 106 broadcast from another device 102, 104, is generally a short range that depends on the particular wireless radio communication protocol being implemented on the devices. For example, the distance or range at which a primary device 102 might detect a secondary device 104 broadcasting a UDID 106(b) when using the Bluetooth radio protocol may be on the order of up to 10 meters, while the range of UDID detection when the secondary device is broadcasting using a Wi-Fi radio protocol may be on the order of 100 meters or more. Other variables can also impact the detection range, such as indoor or outdoor use, the use of different frequency bands, and the type of antenna being used. Accordingly, different secondary devices 104(1-n) may be detectable by a primary device 102 at different distances.
To help illustrate this point,
Referring again to
The program instructions, applications, data structures, and modules stored in memory 114 may be part of an installation package that can be executed by processors 112 to implement various examples, such as examples discussed herein. Thus, memory 114 may be a portable medium such as a Compact Disc (CD), a Digital Versatile Disc (DVD), a flash drive, or a memory maintained by a server from which the installation package can be downloaded and installed. In another example, the program instructions, applications, data structures, and modules stored in memory 114 may be part of an application or applications already installed, in which case memory 114 may include integrated memory such as a hard drive.
Devices 102 and 104 also typically include various input/output (I/O) devices, illustrated respectively as I/O devices 130(a) and 130(b). In different examples, depending on the type of device, such I/O devices 130 can include, for example, a key pad and/or a touch-sensitive display that implements a key pad, a speaker, a microphone, a camera, a keyboard, a mouse, a display monitor, and so on.
As noted above, the primary and secondary devices 102 and 104 may implement various application programs 116 (i.e., by execution on a processor 112). Such applications 116 can vary widely in the activities or functionality they provide for a user, and can include activities/functions such as web browsing, image editing, word processing, spreadsheets, media playback, and so on. In different scenarios, both primary and secondary devices, 102 and 104, can enable the automatic control of such activities through the detection of authorized devices that move in and out of a detectable range.
More specifically, the activity control module 126 comprises instructions executable on processor 112 to enable a user to pre-configure the authorized UDID list 122 and activity association list 120.
In some examples, activities in the activity association list 120 are also associated with an order or sequence in which two or more device UDIDs are detected by another device. For example, the activity association list 120 can include an “ordered” 404 and “non-ordered” 406 option that can be configured by a user to control an associated activity depending not only the concurrent detection of secondary devices 104, but also on a correct order of detection of those secondary devices. As shown in
The activity control module 126 further executes in cooperation with wireless RF engines 110 to detect devices within a detectable range, and to determine a device UDID 106 that is being broadcast by the device. The activity control module 126 first determines if a detected UDID 106 is an authorized UDID by comparing it with the user-configured authorized UDID list 122. The activity control module 126 further determines which activities (e.g., applications 116) have been associated through the activity association list 120 with particular combinations of devices. That is, the activity control module 126 accesses the activity association list 120 and compares detected UDIDs 106 with UDIDs on the list 120 to determine if a listed combination of UDIDs has been detected. If a listed combination of UDIDs is detected concurrently, it indicates that the devices associated with the detected UDIDs are within the vicinity of the detecting device (e.g., primary device 102) at the same time (i.e., during the same scan), and the activity control module 126 controls the associated activity from the activity association list 120. Controlling the activity includes performing the activity as long as the UDIDs in the listed combination of UDIDs are being concurrently detected, and stopping the activity when one of the UDIDs in the listed combination of UDIDs is no longer being detected.
The scan interval 124 is a user-configurable time interval that can be set to control when a device 102, 104, scans for UDIDs being broadcast by other devices 102, 104. Thus, concurrent detection of multiple UDIDs is defined herein as the detection of the multiple UDIDs on the same scan. For example, in a first scan, UDID(1) and UDID(4) might be detected by a primary device 102. Based on such concurrent detection by the primary device 102, an activity such as the first activity 400 can be controlled. Controlling would include performing the first activity 400 (
In some examples, security module 128(b) on a secondary device 104 can execute to incorporate encryption into a UDID 106. For example, security module 128(b) can encode a UDID 106 and generate a key using an encryption algorithm so that only an authorized primary device 102 can read it. When the primary device 102 receives the encrypted UDID 106, with the attached key, a corresponding security module 128(a) on the primary device 102 can use the key to decrypt the UDID.
Methods 500 and 600 may include more than one implementation, and different implementations of methods 500 and 600 may not employ every operation presented in the respective flow diagrams. Therefore, while the operations of methods 500 and 600 are presented in a particular order within the flow diagrams, the order of their presentation is not intended to be a limitation as to the order in which the operations may actually be implemented, or as to whether all of the operations may be implemented. For example, one implementation of method 500 might be achieved through the performance of a number of initial operations, without performing one or more subsequent operations, while another implementation of method 500 might be achieved through the performance of all of the operations.
Referring now to the flow diagram of
The method 500 continues at block 512, with determining that the multiple UDIDs are associated with a primary device activity. At block 514, after determining that the multiple UDIDs are associated with a primary device activity, the method includes performing the activity while the concurrent detection of the multiple UDIDs persists. At block 516, the method then concludes with stopping the activity when the concurrent detection of the multiple UDIDs stops.
Referring now to the flow diagram of
The method 600 continues at block 612 with detecting a plurality of UDIDs within a scanning range. At block 614, the method 600 includes determining from a user-configured activity list that at least two UDIDs are associated with a primary device activity. Determining that at least two UDIDs are associated with a primary device activity can include determining that the association depends upon an order in which the at least two UDIDs are detected, as shown at block 616. The method then continues at blocks 618 and 620, respectively, with controlling the primary device to perform the activity while the at least two UDIDs are detected by the scan, and controlling the primary device to cease to perform the activity when one of the at least two UDIDs is not detected by the scan.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/049139 | 7/31/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/018365 | 2/4/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6189105 | Lopes | Feb 2001 | B1 |
6594762 | Doub | Jul 2003 | B1 |
7375615 | Kitagawa | May 2008 | B2 |
7378939 | Sengupta | May 2008 | B2 |
8050698 | Seligmann | Nov 2011 | B2 |
8555411 | Hurwitz | Oct 2013 | B2 |
8571541 | Seligmann | Oct 2013 | B2 |
8576071 | Lo | Nov 2013 | B2 |
8918844 | Friedman | Dec 2014 | B1 |
9336357 | Smith | May 2016 | B2 |
9430624 | Mortensen | Aug 2016 | B1 |
9549323 | Lee | Jan 2017 | B2 |
9626493 | Cohen | Apr 2017 | B2 |
9769160 | Park | Sep 2017 | B2 |
20020186676 | Milley et al. | Dec 2002 | A1 |
20030034877 | Miller | Feb 2003 | A1 |
20060224048 | Devaul | Oct 2006 | A1 |
20090124258 | Jeon | May 2009 | A1 |
20090249457 | Graff et al. | Oct 2009 | A1 |
20100067421 | Gorokhov et al. | Mar 2010 | A1 |
20100105423 | Gupta | Apr 2010 | A1 |
20110055606 | Wu et al. | Mar 2011 | A1 |
20110195665 | Friedlaender | Aug 2011 | A1 |
20110317586 | Palanki et al. | Dec 2011 | A1 |
20120020265 | Wu et al. | Jan 2012 | A1 |
20130145420 | Ting et al. | Jun 2013 | A1 |
20130159537 | Kwon et al. | Jun 2013 | A1 |
20130227418 | Sa | Aug 2013 | A1 |
20130268687 | Schrecker | Oct 2013 | A1 |
20130291056 | Gaudet | Oct 2013 | A1 |
20140160965 | Moon et al. | Jun 2014 | A1 |
20150057802 | Kroyan | Feb 2015 | A1 |
20150127733 | Ding | May 2015 | A1 |
20150296020 | Granqvist | Oct 2015 | A1 |
20150350974 | Patil | Dec 2015 | A1 |
20160006744 | Du | Jan 2016 | A1 |
20180139579 | Camps | May 2018 | A1 |
Number | Date | Country |
---|---|---|
103378876 | Oct 2013 | CN |
2725834 | Apr 2014 | EP |
WO-2013095001 | Jun 2013 | WO |
Entry |
---|
Hocking et al. “Co-operative user identity verification using an Authentication Aura” [Online], 2013 [Retrieved on: Sep. 10, 2108], Retrieved from: <http://dx.doi.org/10.1016/j.cose.2013.09.011> (Year: 2013). |
Kalamandeen, A. et al.; “Ensemble: Cooperative Proximity-based Authentication”; Jun. 15-18, 2010; 13 pages. |
Number | Date | Country | |
---|---|---|---|
20170265080 A1 | Sep 2017 | US |