Today, more and more electronic devices are mobile devices, such as laptops, gaming consoles, smart phones, tablets, and other mobile devices. As users of mobile devices interact, they may desire to transfer data between their respective mobile devices. Currently, for users of mobile devices to share data, and in particular, where multiple users are sharing data, each mobile device will need to be identified and each user know the identification of the other mobile device. For example, if devices are sharing data over a wireless USB on-the-go connection, each user would need to know the identifying name of each device to send data to just one desired device.
Alternately, users of mobile devices may share data through a data sharing service. Data sharing services, however, typically require the data to pass through an external network. For example, if users of multiple devices desire to share a photo, they may share the data using a photo-sharing network or by texting the photo. In these instances, the users may be required know a user identification or other identification associated with the other users to distribute the photo.
By determining the relative position of the first device 110 with respect to the second device 120, in some embodiments, a user of the first device 110 may transfer data between the first and second devices 110, 120 using intuitive gestures. For example, if the first device 110 is a tablet with a touch screen, the user of the first device 110 may share a music file with the second device 120 by pushing the music file toward the second device 120 on the screen of the first device 110. The first device 110 may recognize that the user is pushing the music file toward the second device 120 because the relative position of the second device 120 with respect to the first device 110 is known to the first device 110. The first device 110 may send the music file to the second device 120 through a previously established communication channel or through a communication channel that is then established between the first and second devices 110, 120. The above, is just one example of how the first device 110 may use the information of the relative position of the second device 120 with respect to the first device 110.
Referring again to
The distance determination module 116 may be configured to calculate the first distance 130 between the first and second devices 110, 120 using multiple methods. For example, in some embodiments, the distance determination module 116 may use ultrasonic sound waves to calculate the distance 130 between the first and second modules 110, 120. In some embodiments, the distance determination module 116 may emit an ultrasonic sound wave and based on the time of a reflection from the second device 120, the first distance 130 may be calculated. Alternately or additionally, the distance determination module 116 may emit an ultrasonic sound wave and based on the time for the sound wave to be received by the second device 120, the first distance 130 may be calculated.
In some embodiments, the distance determination module 116 may use radio frequency signal strengths to calculate the first distance 130 between the first and second devices 110, 120. For example, in some embodiments, the first and second devices 110, 120 may be communicating using a Bluetooth or other direct wireless communication link, such as wireless USB or wireless USB on-the-go. In these and other embodiments, based on the signal strength of the communication link, the first distance 130 between the first and second devices 110, 120 may be calculated. In some embodiments, the first and second devices 110, 120 may be connected to a channel of a wireless network. In these and other embodiments, the first distance 130 between the first and second device 110, 120 may be calculated based on the radio frequency strengths of a signal transmitted between the first and second devices 110, 120, such as a beacon. In some embodiments, other methods or techniques may be used to calculate the first distance 130 between the first and second devices 110, 120. After calculating the first distance 130, the sensor 114 may be configured to sense a movement of the first device 110 and generate movement data. Using the movement data, the sensor 114, the processor 112, or some other module within the first device 110 may be configured to determine a direction of the movement of the first device 110. For example, in some embodiments, the sensor 114 may be an accelerometer. The accelerometer may sense the acceleration of the first device 110 and generate acceleration data. Using the acceleration data, a module with the first device 110, such as the processor 112, the sensor 114, or some other module, may determine the direction of the movement of the first device 110. In some embodiments, the sensor 114 may be more than one sensor. For example, the sensor 114 may include an accelerometer and a gyroscope. Data may be collected from both the accelerometer and the gyroscope to determine the direction of the movement of the first device 110. In some embodiments, the sensor 114 may be another type of sensor capable of generating data that may be used to determine the direction of movement of the first device 110.
After the movement of the first device 110, a second distance 132 between the first device 110 and the second device 120 is calculated using the distance determination module 116. The distance determination module 116 may calculate the second distance 132 in the same manner as the first distance 130 was calculated or in a different manner.
In some embodiments, after calculating the first distance 130, the second distance 132, and the direction of the movement of the first device 110, the processor 112 may be configured to use the first distance 130, the second distance 132, and the direction of the movement of the first device 110 to determine the relative location of the first device 110 with respect to the second device 120. In particular, the processor 112 may determine the relative location of the first device 110 by analyzing the change in distance between the first and second devices 110, 120 as determined by the difference between the first distance 130 and the second distance 132 and the direction of the movement of the first device 110.
It is noted that in some embodiments, the methods or techniques used to calculate the first and second distances 130, 132 may not produce accurate distance measurements between the first and second devices 110, 120. In these and other embodiments, the first and second distances 130, 132 may be approximate distances between the first and second devices 110, 120. The method and techniques used to calculate the first and second distances 130, 132 need only be accurate enough to allow for the determination of the relative position of the first device 110 with respect to the second device 120.
For example, in some embodiments, as illustrated in
As another example, in some embodiments, the first and second devices 110, 120 may be positioned as illustrated in
Further information may assist in determining the relative position of the first device 110 with respect to the second device 120. For example, the sensor 114 may determine the direction of the movement of the first device 110 and a distance moved by the first device 110. The distance and direction of the movement of the first device 110 along with the first and second distances 130, 132 may allow the processor 112 to determine more accurately the relative positions of the first and second devices 110, 120.
In some embodiments, the first device 110 may contain an orientation sensor 118 and the second device 120 may contain an orientation sensor 122. The orientation sensors 118, 122 may be configured to determine the orientations of the first device 110 and the second device 120 respectively. In some embodiments, the orientation sensors 118, 122 may share a similar coordinate frame of reference. For example, in some embodiments, the orientation sensors 118, 122 may be compass sensors that determine the orientation of the first and second device 110, 120 based on a coordinate system using the directions of north, south, east, and west. Using the coordinate frame of reference of the orientation sensor 118, a common coordinate frame of reference for the sensor 114 may be also determined. Using this common coordinate frame of reference, the relative direction of movement of the first device 110 may be communicated to the second device 120 and/or other device even if the second device 120 and/or other device do not share a similar orientation. Furthermore, using a common coordinate frame of reference, the relative position of the first device 110 with respect to the second device 120 may be shared with the second device 120 and/or other devices to enable the second device 120 and/or other devices to determine their relative position with respect to the first device 110 even if first and second device 110, 120 and/or other devices do not share a similar orientation.
Additionally, the granularity and accuracy of the information used by the processor 112, such as the first and second distances 130, 132 and the direction and distance of the movement of the first device 110, may determine the accuracy of the determined relative positions of the first and second devices 110, 120. For example, in some embodiments, the relative positions of the first and second devices 110, 120 may be determined to be one of four general directions, such as +x, −x, +y, −y. In other embodiments, the relative positions of the first and second devices 110, 120 may be determined to be one of eight general directions, such as +x, −x, +y, −y, +x+y, −x+y, +x-y, +x-y. In other embodiments, the relative positions of the first and second devices 110, 120 may be determined to be one of six general directions, such as +x, −x, +y, −y, −z, +z. It is noted that numerous of combinations and number of general directions for the relative positions of the first and second devices 110, 120 may be possible based on the granularity and accuracy of the information used by the processor 112.
In some embodiments, the processor 112, sensor 114, and/or the distance determination module 116 may be combined in a single module or may be individual modules within the first device 110. In some embodiments, the processor 112, sensor 114, and the distance determination module 116 may be used by the first device 110 to perform operations other than determining the relative positions of the first and second devices 110, 120. In some embodiments, the distance determination module 116 and the processor 112 may be implemented in hardware, firmware, and/or software.
In some embodiments, the second device 120 may be a mobile device or a stationary device, such as a desktop computer, smart television, or other stationary electronic device. In some embodiments, a communication link between the first and second devices 110, 120 may be established before, during, or after the relative positions of the first and second devices 110, 120 are determined. The communication link may be a wireless communication link or a wired communication link. In some embodiments, the first device 110 may send the determined relative position of the second device 120 with respect to the first device 120 to the second device 120.
In some embodiments, the first device 120 may include more than one sensor 114. For example, in some embodiments, the first device 120 may include two or more sensors that may be used in combination or individually to determine a direction of movement of the first device 120.
In some embodiments, the first and second devices 210, 220 may be communicating over a channel within a wireless network. As part of communicating over the wireless network, the first and second devices 210, 220 may be transmitting wireless network signals. For example, if the wireless network was an 802.11 wireless network, the wireless network signal may be a beacon signal. The wireless network signal may contain data therein. For example, in some embodiments, the wireless network signal may include the signal strength of the wireless network signal when transmitted. In some embodiments, the wireless network signal may also include the media access control (MAC) address of the device transmitting the wireless signal.
Being part of the same channel within a wireless network, the first device 210 may receive a wireless network signal 242 from the second device 220 that may not be directly intended for the first device 210 or a direct communication with the first device 210. Likewise, in some embodiments, the second device 220 may receive a wireless network signal (not shown) from the first device 210 that may not be directly intended for the second device 220 or a direct communication with the second device 220.
Using the information within the wireless network signal 242, first device 210 may determine the transmission signal strength of the wireless network signal 242. The transmission signal strength may be the strength of the wireless network signal 242 when the wireless network signal 242 is first broadcast by the antenna 222 of the second device 220. The first device 210 may also determine the received signal strength of the wireless network signal 242 when the wireless network signal is received by antenna 212 of the first device 210. The received signal strength may be the strength of the wireless network signal 242 at the antenna 212 when received by the first device 210.
Using the strength of the wireless network signal 242 at transmission and reception, the processor 214 in the first device 210 may calculate a first distance 230 between the first and second devices 210, 220. In these and other embodiments, the first and second devices 210, 220 may be close enough to each other so that the antenna 212 is in a location where a line of sight signal of the wireless network signal 242 is the dominant signal. In some embodiments, where the antenna 212 is in a location where the reflective signal of the wireless network signal 242 is the dominant signal, other means may be used to calculate a distance between the first and second devices 210, 220.
After determining the first distance 230 between the first and second devices 210, 220, the first device 210 may determine a direction of a movement of the first device 210 using the sensor 216. In some embodiments, the sensor 216 may be an accelerometer that produces acceleration data representing the acceleration of the first device 210. The processor 214 or some other module within the first device 210 may determine the direction of the movement of the first device 210 based on the acceleration data. As illustrated in
The processor 214 may then use the transmission and reception strength of a wireless network signal 242 transmitted and received after the first device is in the position indicated by the dotted line 211 to calculate a second distance 232 between the first and second devices 210, 220. With the calculated first and second distances 230, 232 and the direction of the movement of the first device 210, the processor 214 may determine the relative position of the first device 210 with respect to the second device 220 in a similar fashion as described above with respect to
In some embodiments, the first and/or second distances 230, 232 used to determine the relative position between the first and second device 210, 220 may be based on one or more calculated distances between the first and second devices 210, 220. For example, before the movement of the first device 210, the first device 210 may calculate a first distance 230 between the first and second devices 210, 220 multiple times using multiple wireless network signals. For example, the first device may receive five wireless network signals 242 from the second device 220 and may calculate the first distance 230 five times before the movement of the first device 210. In some embodiments, the first distance 230 used by the processor 214 to determine the relative position of the first device 210 with respect to the second device 220 may be the mean, medium, weighted mean, or some other combination or subset combination of the five calculated first distances 230. For example, the first distances 230 used by the processor 214 to determine the relative position of the first and second devices 210, 220 may be the mean of the first distances 210 that are within one standard deviation of the mean of the five calculated first distances 210. In other embodiments, the first distance 230 used by the processor 214 may be the shortest or longest of the five calculated first distances 210.
In some embodiments, after determining the relative position of the second device 220, the first device 210 may established a communication link between the first and second device 210, 220. In some embodiments, the first device 210 may establish the communication link using the MAC addressed obtained from the beacon transmitted by the second device 220. Establishing the communication link may allow the first and second devices 210, 220 to share data. The communication link may also allow the first device 210 to share the relative position of the first device 210 with respect to the second device 220 with the second device 220. For example, in some embodiments, the first and second devices 210, 220 may share data as directed by intuitive gestures by users of the first and second devices 210, 220.
In some embodiments, the first device 210 may send the first and second distances 230, 232 and the direction of movement of the first device 210 to another device for processing and determining the relative position of the first and second device 210, 220. Alternately or additionally, another device besides the first device 210 may calculate the first or second distances 230, 232 or the direction of movement of the first device 210. The other device may receive information from the first device 210 necessary to determine the first and second distances 230, 232 and the direction of movement of the first device 210. In some embodiments, the processor 216 may be implemented in hardware, firmware, and/or software.
In some embodiments, the mobile device 310 and the devices 320, 330, 340 may be operating on the same channel within a wireless network. The mobile device 310 may determine the relative positions of the devices 320, 330, 340 using a wireless network signal received from the devices 320, 330, 340 similar to how the mobile device 210 determined the relative position of the second device 220 with respect to
In some embodiments, one or more of the devices 320, 330, 340 may be mobile devices. In these and other embodiments, the mobile device 310 may not establish a communication link with the devices 320, 330, 340 until prompted by a user of the mobile device 310. The mobile device 310 may be prompted to establish a communication link to transfer data with the device A 320, for example, by the user moving the mobile device 310 in the +y direction toward the device A 320. A connection may be established if a user of device A 320 also moves the device A 320 in a −y direction toward the mobile device 310. In some embodiments, a communication link to transfer data may be established if the movements of the mobile device 310 and the device A 320 occur with a predetermined period, such as 1 second, 1.5 seconds, 3 seconds, or some other period.
At 410, a first distance between first and second devices is calculated. The first distance may be calculated by either the first device, the second device, or some other device. The first distance may be calculated using one or more methods. For example, in some embodiments, ultrasonic sound waves emitted by either the first or the second device may be used to calculate the distance. Alternately or additionally, a signal emitted from one of the first and second devices and received by the other of the first and second devices may be used to determine the distance between the first and second devices. For example, in some embodiments, the second device may emit a wireless network signal used within a wireless communication network. For example, in some embodiments, the wireless network signal may be a beacon signal that contains the transmission strength of the beacon signal. Based on the strength of the signal when received by the first device and the strength of the signal with transmitted by the second device, the distance between the first and second devices may be calculated.
At 420, a direction of a movement of the first device is determined. In some embodiments, determining the direction of the movement may include sensing the direction of the movement using at least one sensor within the first device. In some embodiments, the sensor may be an accelerometer. In these and other embodiments, sensing the direction of movement of the first device may include sensing acceleration or other movement and generating movement data representing the movement of the first device. The direction of movement may then be derived from the movement data generated by the sensor. In some embodiments, the sensor may derive the direction from the movement data. Alternately or additionally, a processor or other module within the first device or some other device, such as the second device that receives the movement data, may derive the direction from the movement data.
At 430, a second distance between the first and second devices may be calculated after the movement of the first device. The second distance may be calculated by either the first device, the second device, or some other device. The second distance may be calculated using one or more methods as described above in 410. In some embodiments, the same method used to calculate the first distance may be used to calculate the second distance. In some embodiments, a different method may be used to calculate the first and second distances.
At 440, the relative position of the first device with respect to the second device is determined based on the direction of the movement and the calculated first and second distances. The relative position may be determined by the first device, second device, or some other device. In some embodiments, the relative position may be determined by analyzing a difference in the distance between the first and second devices after the movement of the first device and the direction of the movement of the first device.
In some embodiments, the accuracy of the determined relative position may depend on the granularity and accuracy of the information used to determine the relative position, namely the direction of the movement and the calculated first and second distances. For example, if the direction of the movement may only be determined in four general directions within a plane, then the relative position may be determined based on the four general directions within the plane.
In some embodiments, the method 400 may be performed by the first device, the second device, some other device, or some combination thereof. In some embodiments, the first and/or second device may be mobile devices, such as, tablets, smart phones, laptops, gaming consoles, portable media players, personal navigation devices, personal digital assistants, or other mobile devices. In some embodiments, each of the first and second devices may include a single wireless antenna.
In some embodiments, the method 400 may further include additional actions. For example, in some embodiments, if the first device determined the relative position of the first and second devices, the method 400 may include sending the relative position of the first and second devices to the second device. Alternately or additionally, the method 400 may include passing information between the first and second devices based on user input related to the relative position of the first and second devices.
At 520, a direction of a movement of the second device may be determined using at least one sensor within the second device. For example, in some embodiments, the sensor within the second device may be an accelerometer. The second device may receive acceleration data from the accelerometer and determine therefrom the direction of the movement of the second device.
At 530, the second device may receive a second wireless network signal from the first device after the movement of the second device. The second device may obtain the data within the second wireless network signal. The second device may also calculate the signal strength of the second wireless network signal when received at the second device.
At 540, the relative position of the first device with respect to the second device may be determined based on the direction of the movement of the second device, the first wireless network signal, and the second wireless network signal In some embodiments, a first distance between the first and second devices may be calculated using data within the first wireless network signal and a second distance between the first and second device may be calculated using data within the second wireless network signal. For example, in some embodiments, the first distance may be calculated using the difference between the transmission signal strength of the first wireless signal at the first device and the reception signal strength of the first wireless signal at the second device. Similarly, in some embodiments, the second distance may be calculated using the difference between the transmission signal strength of the second wireless signal at the first device and the reception signal strength of the second wireless signal at the second device.
Based on the calculated first and second distances and the direction of the movement of the second device, the relative position of the first device with respect to the second device may be determined. In some embodiments, the relative position may be determined by analyzing a difference in the distance between the first and second devices after the movement of the first device and the direction of the movement of the first device.
In some embodiments, the calculations performed in the method 500 may be performed by the first device, the second device, some other device, or some combination thereof. In some embodiments, the first and/or second device may be mobile devices, such as, tablets, smart phones, laptops, gaming consoles, portable media players, personal navigation devices, personal digital assistants, or other mobile devices. In some embodiments, each of the first and second devices may include a single wireless antenna.
Although particular system, hardware, and interface configurations have been described herein, embodiments may be performed with any other types of system, hardware, and/or interface configurations. Similarly, although specific methods have been described, any number of other types of methods might be performed in connection with embodiments described here.
The several embodiments described herein are solely for the purpose of illustration. Persons skilled in the art will recognize from this description that other embodiments may be practiced with modifications and alterations limited only by the claims.
Number | Name | Date | Kind |
---|---|---|---|
20040048571 | Kiyose | Mar 2004 | A1 |
20060276205 | Bengtsson | Dec 2006 | A1 |
20070287386 | Agrawal | Dec 2007 | A1 |
20090221298 | Hanner | Sep 2009 | A1 |
20100069004 | Bloebaum | Mar 2010 | A1 |
20100069047 | Mehmet | Mar 2010 | A1 |
20110083111 | Forutanpour et al. | Apr 2011 | A1 |
20110239163 | Mochizuki | Sep 2011 | A1 |
20110282901 | Marks et al. | Nov 2011 | A1 |
20120216153 | Sip | Aug 2012 | A1 |
20120289159 | Palin | Nov 2012 | A1 |
Entry |
---|
“Taiwan Office Action”, dated Oct. 12, 2015, for Taiwan Application No. 101147481, 8pgs. |
“English Translation of Taiwan Office Action”, dated Oct. 12, 2015, for Taiwan Application No. 101147481, 8pgs. |
“Taiwan IPO Search Report and English-language translation”, dated Oct. 6, 2015, for Taiwan Application No. 101147481, 2pgs. |
Number | Date | Country | |
---|---|---|---|
20160007160 A1 | Jan 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13995363 | US | |
Child | 14851380 | US |