The described embodiments relate to methods, systems and mobile devices for prioritizing a discovered device list. In particular, the methods, systems and mobile devices are prioritized in the discovered device list based on the received signal strength of signals received from devices within a Wireless Personal Area Network (WPAN).
For computing devices employing a WPAN technology, it is possible to communicate with other devices in a local area, provided such devices are similarly enabled for WPAN communication. In order for devices to communicate with each other within a WPAN, it is necessary to form a connection between the devices, so that they recognize each other.
There are many different varieties of devices that are enabled for communication in a WPAN environment. Some such devices are sophisticated enough to be able to initiate formation of a connection with another device in the WPAN, while other devices are not. Devices that can initiate formation of a connection will generally maintain a list of devices with which a connection has been formed. In order to add a new device to the list of connected devices, it is necessary to search the WPAN area to find all “discoverable” devices, i.e. those devices with which the searching device can be connected for communication within the WPAN. In a densely populated WPAN, a large number of devices may be discovered in the search. In existing WPAN technologies, when searching for discoverable devices, the searching device will present a list of all discovered devices to the user so that the user can select one device for connecting with the searching device. The list presented to the user is ordered according to the time at which a response was received, with the device that first responded to the search being listed first in the list of discovered devices.
Once all discoverable devices in the WPAN area have responded to the search and are listed in the discovered device list, the searching device then communicates with each device in sequence to determine the “friendly name” of the device. The friendly name of the device may be a name given to that device by its user, such as “Fred's laptop”, “Sarah's headset” or “Jack's cell phone”. The friendly name of the device is often the only way that a user can recognize which device among the many listed is the one that the user wants to connect his or her device with. Obtaining the friendly name of each device can take a few seconds, so it can take some time to retrieve all of the friendly names so that a user can select the correct device with which to initiate formation of a connection.
The described embodiments attempt to address or ameliorate one or more shortcomings or disadvantages associated with existing WPAN technologies, or to at least provide a useful alternative thereto.
Features and functions of the embodiments are described in further detail below, with reference to the accompanying drawings, and by way of example, wherein:
The embodiments described herein relate generally to methods, systems and computing devices, including at least a mobile device, for prioritizing a discovered device list according to a Received Signal Strength Indication (RSSI) of each device in the discovered device list. Thus, the discovered device list has at the top of the list the device that has the highest RSSI, with the remaining devices in the discovered device list presented in descending order of RSSI.
The embodiments described herein assume that the device displaying the discovered device list is configured to initiate a search for discovered devices within a WPAN area and to initiate formation of a connection with one such discovered device. For simplicity of description and illustration, we will refer to the device configured to search and pair with other devices as the searching device. Further, as one example of a searching device, we will describe the embodiments as applied in the context of the searching device being a mobile device, although the searching device may be any other suitable computing device, such as a laptop computer or desktop computer, capable of searching for discovered devices and initiating formation of a connection with one such device.
Certain embodiments relate to a method of ordering a list of discovered devices in a wireless personal area network (WPAN), comprising: receiving at a first device a plurality of wireless device signals from respective devices in the WPAN; determining a received signal strength of each of the wireless device signals; and displaying on a display of the first device a list of devices corresponding to the devices from which the wireless device signals were received, wherein the devices in the list are ordered according to the received signal strength of the wireless device signal of the respective device.
The wireless device signals may be received in response to a page signal transmitted from the first device. The first device may transmit the page signal in response to a selection on the first device to add one of the plurality of devices to a connected device list.
The method may further comprise requesting by the first device a name of each device in the list in sequence from the top of the list to the bottom of the list until all device names have been received for the plurality of the devices or until a selection is made that cancels requesting the device names, wherein once the name of a respective device is received by the first device, the name of the device is displayed in the list on the display. The selection may comprise selecting a named device in the list of devices. The method may further comprise initiating a device connection between the first device and the named device in response to the selection.
The method may further comprise determining a device identifier and a device class of each of the plurality of devices based on the respective wireless device signals. For devices in the list having a same received signal strength, such devices may be ordered in the list according to the device class of each such device. An icon may be displayed for each device in the list, the icon corresponding to the device class of the respective device.
The first device may be a mobile device or a personal computer. A communication technology of the WPAN may be selected from the group consisting of: Bluetooth®, ZigBee®, wireless universal serial bus (WUSB), ultra-wideband (UWB) and IEEE 802.15.4 compliant technologies.
Other embodiments may include a device for ordering a list of discovered devices in a wireless personal area network (WPAN). The device comprises: a processor; a display responsive to the processor; a short-range communication subsystem coupled to the processor for enabling communication between the device and a plurality of other devices in the WPAN; and a memory storing program code executable by the processor. The program code comprises a WPAN management module which, when executed by the processor, causes the processor: to determine a received signal strength of each of a plurality of wireless device signals received by the short-range communication subsystem from respective ones of the plurality of other devices and to cause the display to display a list of the other devices. The other devices are ordered in the list according to the received signal strength of the wireless device signal of the respective other device.
The processor may be configured to control the short-range communication subsystem to transmit a page signal to the other devices and the plurality of wireless device signals may be received in response to the page signal. The page signal may be transmitted in response to selection of an “add device” option displayed on the display.
WPAN management module may be further configured, when executed by the processor, to cause the processor to request a name of each other device in the list in sequence from the top of the list to the bottom of the list until the names of all of the other devices have been received or until a selection is made that cancels the request, wherein once the name of a respective other device is received, the name of the other device is displayed in the list on the display. The device selection may comprise selecting a named device in the list of devices. The WPAN management module may be further configured to initiate device connection between the first device and the named device in response to the selection.
The WPAN management module may further cause the processor to determine a device identifier and a device class of each of the other devices based on the respective wireless device signals received from the other devices. For devices in the list having a same received signal strength, such devices are ordered in the list according to the device class of each such device. The WPAN management module may cause an icon to be displayed on the display for each other device in the list, wherein the icon corresponds to the device class of the respective other device.
The device may be a mobile device or a personal computer. A communication technology of the WPAN may be selected from the group consisting of: Bluetooth®, ZigBee®, wireless universal serial bus (WUSB), ultra-wideband (UWB) and IEEE 802.15.4 compliant technologies.
Other embodiments relate to a computer readable storage storing program instructions which, when executed by a processor, cause the processor to perform a method of ordering a list of discovered devices in a wireless personal area network (WPAN). The method comprises: receiving at a first device a plurality of wireless device signals from respective devices in the WPAN; determining a received signal strength of each of the wireless device signals; and displaying on a display of the first device a list of devices corresponding to the devices from which the wireless device signals were received, wherein the devices in the list are ordered according to the received signal strength of the wireless device signal of the respective device.
To aid the reader in understanding the general structure of the mobile device and how it communicates with other devices and host systems, reference is now made to
The PC 165 may comprise a desktop computer or a laptop, for example. Computer peripherals 175 may include suitable wirelessly enabled peripherals, such as a mouse, keyboard, display and printer, for example. The headset 180 may be a suitable audio device with an audio pick-up and speaker. Media device 185 may be a suitable device for capturing and/or storing and/or displaying/outputting media such as audio, video, image or text data. Examples of media device 185 may include a digital camera and a digital music system. Other devices 190 may include a variety of suitable wirelessly enabled devices having different functions or features for interacting with mobile device 100. For example, other devices 190 may include a universal serial bus (USB) adapter. More than one of any of devices 100 and 165 to 190 may be present within the WPAN environment.
In the block diagram depicted in
The typical communication range of a WPAN is about 10 metres from the searching device, although some devices may be able to transmit at higher power and have a longer range, for example up to about 100 metres.
Referring to
The main processor 102 also interacts with additional subsystems such as a Random Access Memory (RAM) 106, a flash memory 108, a display 110, an auxiliary input/output (I/O) subsystem 112, a data port 114, a keyboard 116, a speaker 118, a microphone 120, a short-range communication subsystem 122 and other device subsystems 114. The mobile device 100 can be battery powered and include corresponding components such as one or more batteries 130 and a battery interface 132, as is commonly known by those skilled in the art.
Some of the subsystems of the mobile device 100 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. By way of example, the display 110 and the keyboard 116 may be used for both communication-related functions, such as entering a text message for transmission over the extended wireless network 200, and device-resident functions such as a calculator or task list.
The auxiliary I/O subsystem 112 may include one or more components such as: a touch screen, mouse, track ball, an infrared, capacitive or optical fingerprint detector, or a multi-direction actuator (navigation component), such as a track ball, joystick, directional pad or roller wheel, with dynamic button pressing capability. The keyboard 116 is preferably an alphanumeric keyboard and/or telephone-type keypad. However, other types of keyboards may also be used. The button pressing capability of the multi-direction actuator may be used to effect a selection of an item highlighted or emphasized on display 110.
The mobile device 100 can send and receive communication signals over the extended wireless network 200 after required network registration or activation procedures have been completed. Network access is associated with a unique identifier for the mobile device 100, or a subscriber or user of the mobile device 100 as is commonly known by those skilled in the art such as using Subscriber Identity Module or Removable User Interface Module. For strict IEEE 802.11 communication, this unique identifier appears as the Medium Access Controller (MAC) address of the WLAN radio, and additional network handshaking involving security credentials may be required to ensure full communication with the wireless network 200, as is known by those skilled in the art.
The mobile device 100 is a battery-powered device. In at least some embodiments, the battery 130 can be a smart battery with an embedded microprocessor. The battery interface 132 is coupled to a regulator (not shown), which assists the battery 130 in providing power V+ to the mobile device 100. Although current technology makes use of a battery, future technologies such as micro fuel cells may provide the power to the mobile device 100.
The mobile device 100 also includes an operating system along with software programs for various applications that are executed by the main processor 102. The operating system and software programs are stored in a persistent store such as the flash memory 108, which may be an alternative form of read-only memory (ROM) or similar storage element (not shown). Portions of the operating system and other software components, such as specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as RAM 106. Other software components can also be stored in flash memory 108 to suit the functional requirements of mobile device 100. Such software components may include, for example, a message application for sending and receiving electronic messages, an address book, a personal information manager, a device state module and other suitable programs.
Additional software components can be loaded onto the mobile device 100 through at least one of the extended wireless network 200, the auxiliary I/O subsystem 112, the data port 114, the short-range communication subsystem 122, or any other suitable device subsystem 124. This flexibility in software application installation increases the functionality of the mobile device 100 and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile device 100.
The data port 114 enables a subscriber to set preferences through an external device or software application and extends the capabilities of the mobile device 100 by providing for information or software downloads to the mobile device 100 other than through a wireless communication network. The alternate download path may, for example, be used to load an encryption key onto the mobile device 100 through a direct and thus reliable and trusted connection to provide secure device communication.
The data port 114 can be any suitable port that enables data communication between the mobile device 100 and another computing device, The data port 114 can be a serial or a parallel port. In some instances, the data port 114 can be a USB port that includes data lines for data transfer and a supply line that can provide a charging current to charge the battery (not shown) of the mobile device 100.
The short-range communication subsystem 122 provides for communication between the mobile device 100 and different systems or devices within a designated group such as a Personal Wireless Network 250, without the use of the extended wireless network 200. For example, the Personal Wireless Network 250 may be embodied as a WPAN, In some cases, the short-range subsystem 122 can include a Bluetooth® radio, a ZigBee® device, a Wireless USB device, or an Ultra-Wideband (UWB) radio, for example. Examples of short-range communication standards include the Infrared Data Association (IrDA), Bluetooth®, ZigBee®, WUSB, UWB and the IEEE 802.15 standards.
Referring now to
Signals received by the antenna 154 through the wireless network 250 are input to the receiver 150, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection, and analog-to-digital (A/D) conversion. A/D conversion of a received signal allows more complex communication functions such as demodulation and decoding to be performed in the DSP 160. In a similar manner, signals to be transmitted are processed, including modulation and encoding, by the DSP 160. These DSP-processed signals are input to the transmitter 152 for digital-to-analog (D/A) conversion, frequency up conversion, filtering, amplification and transmission over the wireless personal network 250 via the antenna 156. The DSP 160 can process communication signals, and can provide for receiver and transmitter control. For example, the gains applied to communication signals in the receiver 150 and the transmitter 152 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 160.
The wireless communication between the mobile device 100 and devices 165 to 190 in the wireless personal network 250 may be performed over one or more different channels, typically different RF channels. Known communication protocols for WPANs are used for communication between the mobile device 100 and devices 165 to 190 in the wireless personal network 250. An RF channel is a limited resource that must be conserved, typically due to limits in overall bandwidth and limited battery power of the mobile device 100.
When the mobile device 100 is fully operational, the transmitter 152 is typically keyed or turned on only when it is transmitting to the wireless personal network 250 and is otherwise turned off to conserve resources. Similarly, the receiver 150 is periodically turned off to conserve power until it is needed to receive signals or information (if at all) during designated time periods.
Referring now to
For purposes of illustration only, WPAN management module 410 is described herein in the context of the Bluetooth® WPAN network technology as one example of a wireless personal network technology. WPAN management module 410 is an application that can be enabled or disabled by a user according to options provided by user interface module 420 on display 110. Once enabled, WPAN management module 410 mostly runs in the background, automatically communicating with other devices in the WPAN area when within range, if mobile device 100 has already connected to (paired with) such devices. However, if the user wishes to enable mobile device 100 to communicate with a device with which it has not yet been paired, the user can select an “add device” option from within a WPAN management home screen 610 (
If the user selects the “add device” option, mobile device 100 will cause short-range communication subsystem 122 to send out a page signal receivable by other devices within the WPAN area. Once all devices in the area respond to the page signal, they will be sorted according to descending RSSI value and displayed in a list 640 of discovered devices, such as is illustrated in
Responses received from devices in the WPAN area in response to the page signal comprise the MAC address (which is a unique identifier of the device) and device class of the responding device. The WPAN management module 410 also causes short-range communication subsystem 122 to determine a received signal strength indication (RSSI) of each such response and to provide all such information from the received response signals to the WPAN management module 410. By comparing the RSSI of each wireless signal received from the respective devices in the WPAN area, WPAN management module 410 sorts and orders the list of discovered devices according to the relative strength of the received signal (i.e. the RSSI value). Thus, devices within the WPAN area will be listed in discovered device list 640 in descending order from highest RSSI to lowest RSSI.
On the assumption that a device having close proximity to the searching device is more likely to be the one with which the user wishes to pair mobile device 100, ordering the discovered device list 640 by RSSI places those devices that are likely to be closest to mobile device 100 at the top of discovered device list 640. Although RSSI is not a precise indication of proximity, there is at least a good correlation between RSSI and proximity. Where devices within the WPAN area all have a similar communication range, the RSSI of the received signal from such devices will generally be a reliable indication of proximity.
WPAN management module 410 also handles interfacing between the user interface module 420 and the wireless communications framework of device 100, including short-range communications subsystem 122. Additionally, WPAN management module 410 cooperates with user interface module 420 to display status information to the user and to interpret input received from the user in relation to graphical elements provided on display 110.
The main processor 102, display 110, auxiliary I/O 112 and short range communication subsystem 122 as shown in
Referring now to
At step 515, mobile device 100 receives at the short-range communication subsystem 122 return signals from one or more of devices 165 to 190. The return signals received in this respect will usually include information about the device that is responding to the page signal. Such information will usually include the MAC address and class of the device providing the return signal. At step 520, WPAN management module 410 cooperates with short-range communication subsystem 122 to determine the MAC address and device class from each received return signal. Additionally, the short-range communication subsystem 122 measures the received signal strength to determine the RSSI of each received return signal and provides the RSSI value to WPAN management module 410.
As each return signal is received from the devices in the WPAN area, step 520 is performed to determine the MAC address, device class and RSSI of the return signal.
Steps 515 to 525 are performed in relation to each return signal received from one of devices 165 to 190 in response to the page signal. Thus, while mobile device 100 continues to receive return signals from further devices at step 530, steps 515 to 525 are repeated for the newly received return signals. Once WPAN management module 410 determines at step 525 that no further return signals have been received, for example by waiting a predetermined time and then concluding that if a return signal is not received within that time, such a signal will not be sent.
At step 530, the devices from which a return signal was received are displayed as “discovered devices” in discovered device list 640 on display 110. Prior to displaying the discovered device list 640, WPAN management module 410 sorts the devices in the list according to the received signal strength (i.e. RSI value) so that the device having the highest received signal strength is listed at the top of the discovered device list 640 and the remaining devices are displayed in descending order of received signal strength.
Once the discovered device list 640 is displayed at step 530, then at step 535, WPAN management module 410 instructs short-range communication system 122 to transmit a request to each of the devices in the discovered device list to provide the “friendly name” of the device, at step 535.
In alternative embodiments, the discovered device list 640 may be displayed and updated as each return signal is received from a discovered device, with the order of the list being re-sorted by WPAN management module 410, as necessary, to place each newly discovered device in the appropriate position in discovered device list 640.
In order for mobile device 100 to obtain the friendly name of another device, it is necessary to establish a connection with that device, which may take a few seconds for each device. Starting with the first device in the discovered device list 640, WPAN management module 410 causes short-range communication subsystem 122 to request the friendly name of each device in the discovered device list. For a discovered device list having many devices, this can take some time. Thus, the user may select one of the named devices for pairing prior to completion of the retrieval of all friendly names for all devices in the discovered device list, thereby interrupting friendly name retrieval without having to wait for all names to be retrieved. Accordingly, if, at step 540, a user has selected one of the devices in discovered device list 640 for pairing, then at step 545, WPAN management module 410 initiates pairing with the selected device. Simultaneously, WPAN management module 410 stops instructing short-range communication subsystem 122 to retrieve any further friendly names of the remaining devices in the discovered device list 640.
If no user input is received to select a device for pairing at step 540, then at step 550, WPAN management module 410 checks whether any devices in discovered device list 640 have not had their friendly names retrieved. If all friendly names have been retrieved, then at step 555 WPAN management module 410 stops requesting the friendly names. If, at step 550, one or more unnamed devices (i.e. devices for which friendly names have not been retrieved) remain in the discovered device list 640, then step 535 is repeated to obtain friendly names for such devices. Where a friendly name could not be retrieved from a device in discovered device list 640, a descriptor corresponding to the device class (e.g. “audio device” or “computer”) may be used as a substitute friendly name for the relevant device.
In some embodiments, the friendly name of a device may be received with the return signal at step 515. In such embodiments, the friendly name is displayed for each device in the discovered device list 640 at step 530. Further, in such embodiments, steps 535, 550 and 555 are not performed as they are unnecessary.
Referring now to
Discovered device window 630 is displayed in response to the selection of the “add device” option, which can be selected as a menu item that can be generated while viewing the WPAN management home screen 610. Discovered device window 630 comprises instructional text 632 located toward the top of the window 630 and above discovered device list 640. In the examples shown, the instructional text 632 is “select device:”. Discovered device window 630 also includes a “cancel” option 650 to enable the user to cancel addition of a device to the paired devices list 620, for example where the desired device is not shown in the discovered device list 640.
In some embodiments (not shown), once the “add device” option is selected, but prior to display of the discovered device list 640, discovered device window 630 is displayed while the search for discoverable devices is performed. In such embodiments, discovered device window 630 shows a running count of the number of devices discovered in the search and a progress bar that illustrates progress through a searching period of, say, 10 seconds. While the WPAN management module 410 compiles the discovered device list 640 (prior to displaying it), instructional text 632 may be “searching for devices”. “Cancel” option 650 may also be selected prior to display of discovered device list 640 to cancel searching for discoverable devices. If so selected, the discovered device list 640 will be displayed with only those devices (if any) that were discovered prior to selection of “cancel” option 650. If no devices were discovered, the user may be notified of this and returned to the WPAN management home screen 610.
As shown in
For the example shown in
Referring also now to
In the example shown in
As shown in
If discovered device list 640 were not ordered according to the received signal strength of the discovered devices, devices that respond to the page signal before the device that the user wishes to pair with mobile device 100 will appear higher on the discovered device list as it is ordered according to the time of receipt of the response signal. This may mean that the user has to wait for a number of other devices to have their friendly names retrieved before the device with which the user wishes to pair mobile device 100 has its friendly name retrieved. Such a wait may be irritating to the user.
Although some embodiments are described herein as involving “pairing” of mobile device 100 with a discovered device, such as one of devices 165 to 190, according to Bluetooth specification, it should be understood that for other wireless personal network technologies, other forms of device connection may be formed to allow such devices to communicate with each other.
In this description, like reference numerals are used to indicate like features or elements as between the drawings appended hereto.
While the above description provides examples of the embodiments covered, it will be appreciated that some features and/or functions of the described embodiments are susceptible to modification without departing from the spirit and principals of operation of the described embodiments. Accordingly, what has been described above is intended to be illustrative of the invention and non-limiting.
This application is continuation of U.S. patent application Ser. No. 14/167,164 filed on Jan. 29, 2014, which is a continuation of U.S. patent application Ser. No. 13/749,875 filed on Jan. 25, 2013 (issued as U.S. Pat. No. 8,676,130), which is a continuation of U.S. patent application Ser. No. 12/815,701 filed on Jun. 15, 2010 (issued as U.S. Pat. No. 8,364,088), which is a continuation of U.S. patent application Ser. No. 11/693,385 filed on Mar. 29, 2007 (issued as U.S. Pat. No. 7,747,223). The entirety of each of the above-referenced applications are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14167164 | Jan 2014 | US |
Child | 16409109 | US | |
Parent | 13749875 | Jan 2013 | US |
Child | 14167164 | US | |
Parent | 12815701 | Jun 2010 | US |
Child | 13749875 | US | |
Parent | 11693385 | Mar 2007 | US |
Child | 12815701 | US |