Embodiments of the present invention relate to identifying a local device by name. In particular, certain embodiments relate to modification of the Bluetooth device discovery and device naming procedures.
A Bluetooth piconet is one form of low power radio frequency communication network. The network has a star topology with a Master device at the centre and one or more Slave devices that separately communicate with the Master. The Master can transmit radio packets to any of the Slaves but a Slave can only transmit radio packets to the Master.
Each radio packets transmitted in the piconet begins its transmission in a different slot and the slot number determines the frequency at which the packet is transmitted. The Master begins transmission in an even number slot and the addressed Slave replies in the next odd numbered slot.
The Master device controls the piconet. The Bluetooth Device Address (BD_ADDR) of the Master determines the frequency hopping sequence used by the piconet and the Bluetooth clock (CLK) of the Master determines the timing used by the piconet. The packets sent within the piconet use a common access code based upon the BD_ADDR of the Master.
A device performs ‘device discovery’ in order to discover other devices with which the device can communicate. The device enters an inquiry sub-state in which it repeatedly transmits an inquiry message (ID packet) at different hop frequencies. A device that allows itself to be discovered regularly enters an inquiry scan sub-state, in which it can respond to inquiry messages with an FHS packet that includes its Bluetooth Device Address (BD_ADDR) and its Bluetooth Clock value (CLK).
In a first phase of establishing a piconet, the Master discovers which devices are within communication range and able to communicate. The Master then uses the Bluetooth Clock value of a local device to emulate its Bluetooth clock and uses the local device's Bluetooth Device Address to emulate the frequency hopping sequence of that device. This allows the Master to page that device and join it to the network as a Slave. The page provides the BD_ADDR of the Master and the CLK of the Master to the Slave, so that the Slave can recreate the frequency hopping sequence of the piconet and emulate the timing of the piconet. A communication link can be established between the Master and Slave after LMP pairing. LMP pairing authenticates the two devices and creates a common link key that is secret and can be used as a basis for a trusted relationship or a single secure connection. After pairing connection can be fully established and the Master and Slave can communicate.
Although the information received in the FHS packet identifies a discovered device using its BD_ADDR it does not identify it in a user-friendly way as the Bluetooth address is a unique 48 bit address. The Name Discovery procedure has therefore been introduced.
This procedure enables a device to discover a user friendly name of a target device, which has replied to an inquiry, without performing the full link establishment procedure. In the name discovery process, the Master initially pages the target device, then it sends a LMP_name_req message and the target device responds with an LMP_name_res message. This message contains the target device's Bluetooth Device Name, which is a user-friendly character string associated with the target device.
The inquiry procedure typically takes 10.24 seconds to complete, at the end of which a device has a list of discovered Bluetooth Device Addresses and Bluetooth Clock values.
The device can then start the Name Discovery procedure to identify the user friendly names of the discovered devices. The Name Discovery procedure can take many seconds, but the end result is a list of Bluetooth Device Names. The user can then select a device from this list with which to establish a link. However, it can take a long time to create this list and then display it to a user, which is frustrating for the user.
It is possible for the inquiry procedure to be shorter than 10.24 seconds. One way of providing more prompt feedback to the user is to interleave the inquiry and paging procedures. When the device discovers a Bluetooth device during the Device Discovery procedure, it stops the Device Discovery procedure and starts the Name Discovery procedure for the discovered device. When the name of that device is discovered, the Name Discovery procedure is stopped, the name of the discovered device is displayed and the Device Discovery procedure is restarted. Although this method provides more prompt feedback to a user, the total time required to discover the names of all the local devices increases.
It would be desirable to provide a fast way of identifying to a user a local device by its name.
According to one embodiment of the invention there is provided a method for identifying a local device by name, comprising: storing a database that associates a plurality of device identifiers with a plurality of respective device names; wirelessly obtaining a device identifier of at least one local device from the at least one device; and
According to another embodiment of the invention there is provided a method of identifying a local device by name for user selection, comprising: initiating a device discovery procedure to discover local devices; displaying, after one of the local devices responds wirelessly during the device discovery procedure, the name of the one local device for user selection; and terminating the device discovery procedure if the user selects the named device.
According to another embodiment of the invention there is provided a wireless telecommunications device for identifying by name another, local wireless telecommunications device, comprising: a memory for storing a database for associating a plurality of device identifiers with a plurality of respective device names;
According to another embodiment of the invention there is provided a wireless telecommunications device for identifying by name another, local wireless telecommunications device, comprising: a memory for storing a database for associating a plurality of device identifiers with a plurality of respective device names;
Embodiments of the invention provide a faster way of identifying to a user the local devices by their names. A local device is one that is within communication range.
For a better understanding of the present invention reference will now be made by way of example only to the accompanying drawings in which:
A local device may be identified by name by: storing a database (Konwn Device (Name) Database) that associates a plurality of device identifiers (BD_ADDR) with a plurality of respective device names (Bluetooth Device Names); wirelessly obtaining a device identifier (BD_ADDR) of at least one local device from the at least one device; and using the stored database to determine the name (Bluetooth Device Address) of the at least one device. Typically, but not necessarily, the name is then displayed.
Local devices may be identified by name for user selection by: initiating a device discovery procedure to discover local devices; displaying, after one of the local devices responds wirelessly during the device discovery procedure, the name (Bluetooth Device Name) of the one local device for user selection; and terminating the device discovery procedure if the user selects the named device. Typically, but not necessarily, the user selection also initiates link establishment with the selected device.
In this way a list of the names of contactable local devices can be displayed and contemporaneously updated during a modified device discovery procedure using the database. As each new device identifier is received during device discovery, the database is accessed and if an associated device name can be retrieved it is displayed. If the device discovery procedure finishes without user termination, a modified name discovery procedure is performed for each device that responded with its device identifier during device discovery but did not have its name displayed.
The details of the modified device discovery procedure is illustrated in
The details of the modified name discovery procedure is illustrated in
In more detail
The process additionally uses a database 52 that stores the information from the FHS packets received from local devices during the device discovery procedure. Such a database is not new as it is used to store the information for paging a device—its Bluetooth Device Address (BD_ADDR) and its Bluetooth Address (BD_ADDR). It also stores the Class of Device (CoD). The database 52 is schematically illustrated in
The process starts at step 100 and moves to step 102, where the Found Device Database 52 is emptied. The inquiry procedure then starts at step 104. At the next step 106, the inquiry procedure continues until either an FHS packet is received from a discovered device or the ‘Inquiry period’, which is typically 10.24 seconds, is timed out.
If an FHS packet is received the process moves to step 108. If the Inquiry Period is timed out the process of
At step 108, the Bluetooth Device Address (BD_ADDR), Bluetooth Clock value (CLK) and the Class of Device (CoD) received in the FHS packet are stored in the Found Device Database 52.
In the prior art device discovery procedure, the process would then return to step 106. However, in this modified device discovery procedure the process moves to step 110.
At step 110, the Known Device (Name) Database 50 is accessed using the received Bluetooth Device Address (BD_ADDR). If there is an entry corresponding to this BD_ADDR then the Device Name from that entry is retrieved. If there is no entry corresponding to this BD_ADDR then no device name is retrieved. If the device is known i.e. it has an entry in the Known Device (Name) Database 50 then the process moves to step 114. If the device is not known i.e. it has no entry in the Known Device (Name) Database 50 then the process moves back to step 106.
At step 114, a flag is set in the Found device database against the entry corresponding to the known device. This flag indicates that this found device has been named. The process then moves to step 116, where a contemporaneous list of the names of found and named devices is updated and displayed. The updating adds the name retrieved at step 110 when the Known Device (Name) Database was accessed. The process then moves to step 106.
The steps 106, 108, 110, 112, 114, 116 thus form a loop that contemporaneously updates a displayed list of names each time a local device responds to the Bluetooth inquiry and that device has an entry in the Known Device (Name) Database. As described above, this loop is exited with the ‘Inquiry period’ timeout. It can also be exited if the user selects one of the displayed device names. This exit is identified as ‘C’ and is the entrance to the process of
The display content during the modified device discovery procedure is illustrated in
The process of
At step 204, a page response is received from the target local device. At step 206, a LMP_name_req message is sent to the target local device which responds with an LMP_name_res message. This message contains the target device's Bluetooth Device Name, which is a user-friendly character string associated with the target device. At step 208 the LMP_name_res message is received and the Known Device (Name) Database is updated. A new entry is made for this target device that associates its Bluetooth Device address with its Bluetooth Device Name. Then at step 210, the displayed contemporaneous list of the names of found and named devices is updated. The updating adds the Bluetooth Device Name stored to the Known Device (Name) Database 50. The process then moves to step 212.
At step 212, it is determined if there is a subsequent un-flagged entry in the Found Device Database 52. If there is, the process returns to step 204, where name discovery starts for the next unflagged device in the list. If there are no remaining subsequent unflagged entries in the Found Device Database 52, the process exits via ‘B’ to the process of
The steps 204, 206, 208, 210 thus form a loop that names, as yet unnamed, found devices and contemporaneously updates the displayed list of found and named devices. The loop can be exited if the user selects one of the displayed device names. This exit is identified as ‘C’ and is the entrance to the process of
The display content during the modified name discovery procedure is illustrated in
The process of
At step 306, a LMP_name_req message is sent to the target local device, which responds with an LMP_name_res message. This message contains the target device's Bluetooth Device Name, which is a user-friendly character string associated with the target device. At step 308 the LMP_name_res message is received.
If the Bluetooth Device Name received in this message is the same as the device name stored in the Known Device (Name) database for this target device, then the process moves to step 314, where the next flagged device is paged.
If the Bluetooth Device Name received in this message is different to the device name stored in the Known Device (Name) database for this target device, then the Known Device (Name) Database is updated. A replacement entry is made for this target device that associates its Bluetooth Device address with its new Bluetooth Device Name. Then at step 310, the displayed contemporaneous list of the names of found and named devices is updated. The updating either replaces the old Bluetooth Device Name with the new Bluetooth Device Name or adds the new Bluetooth Device Name to the list. The process then moves to step 312.
At step 312, it is determined if there is a subsequent flagged entry in the Found Device Database 52. If there is, the process returns to step 314, where name discovery starts for the next flagged device. If there are no remaining flagged entries in the Found Device Database 52, the process ends.
The steps 304, 306, 308, 310, 312, 314 thus form a loop that updates the names of previously found and named devices and contemporaneously updates the displayed list of found and named devices. The loop can be exited if the user selects one of the displayed device names. This exit is identified as ‘C’ and is the entrance to the process of
The display content during this modified name discovery procedure is illustrated in
The processor 62 controls the operation of the device 60. It receives an input from the user input mechanism 64 and an input from the LPRF transceiver 68 and it provides an output to the LPRF transceiver 68 and controls the display 69. The processor 66 can also write to and read from the memory 66.
The device 60 may be a hand portable electronic device such as a mobile cellular telephone. The user input mechanism may be any suitable mechanism such as a key, a joy-stick, a dial or a microphone for voice commands. The memory 66 stores the Known Device (Name) database 50 and the Found Device Database 52. The LPRF transceiver 68 is able to communicate with other local wireless telecommunication devices 70, 72. These devices are local to the device 60 in the sense that they are within communication range of the device 60, which may, for example, be of the order of 10 to 100 m.
At step 108 in
At step 110 in
At step 114 in
At step 116 in
The processor 62 also detects user actuation of the user input mechanism 64 and controls the exit ‘C’ from the modified device discovery procedure at step 106, and from the modified name discovery procedure at steps 212 and 312.
Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed. For example, although the Known Device (Name) Database is described as associating Bluetooth Device Addresses with Bluetooth device names, in other embodiments only a portion of the Bluetooth Device Address may be associated with the respective Bluetooth Device name. The Known Device (Name) database may be a database that is independent of a database of previously paired devices or it may be integrated with the database of previously paired devices. It should be appreciated that the modified device discover procedure may be performed without the modified device naming procedure following it. In this case, the Known Device (Name) database may be replaced with a database of previously paired devices.
Whilst endeavoring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon.
Number | Date | Country | Kind |
---|---|---|---|
0407247.6 | Mar 2004 | GB | national |