System and method for establishing a wireless connection between wireless devices

Described is a system and method for establishing a wireless connection between wireless devices. The method comprises obtaining data of a corresponding computing device. The device conducts wireless communications using a predetermined wireless protocol. The obtained data is processed to generate a wireless address of the device and a first message is transmitted to the device for establishing a wireless connection. The first message is addressed to the wireless address. When a first response message is received from the device, a second message is transmitted to the device. The first response message is generated in response to the first message and includes the wireless address. The second message includes synchronization data. When a second response message is received from the device, the wireless connection is established with the device. The second response message is generated in response to the second message.

FIELD OF THE INVENTION

The present invention relates generally to systems and methods for establishing a wireless connection between wireless devices.

BACKGROUND

In conventional wireless systems, a first wireless device establishes a wireless connection with a second wireless device by transmitting a request to connect and executing a connection handshake. For example, according to the Bluetooth® protocol, the first device broadcasts an inquiry, and, if the second device hears the inquiry, it transmits a response to the first device with its Bluetooth address. However, the second device may require that the first device be authenticated before establishing the connection. An authentication handshake, in addition to the inquiry, may prolong the connection between the first and second devices. Thus, there is a need to establish the wireless connection between the first and second devices more efficiently.

SUMMARY OF THE INVENTION

The present invention relates to a system and method for establishing a wireless connection between wireless devices. The method comprises obtaining data of a corresponding computing device. The device conducts wireless communications using a predetermined wireless protocol. The obtained data is processed to generate a wireless address of the device and a first message is transmitted to the device for establishing a wireless connection. The first message is addressed to the wireless address. When a first response message is received from the device, a second message is transmitted to the device. The first response message is generated in response to the first message and includes the wireless address. The second message includes synchronization data. When a second response message is received from the device, the wireless connection is established with the device. The second response message is generated in response to the second message.

DETAILED DESCRIPTION

The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The present invention describes a system and method for establishing a wireless connection between wireless devices. While the exemplary embodiments of the present invention will be described with reference to a Bluetooth protocol used for wireless communications by the wireless devices, those of skill in the art will understand that the present invention may be implemented by any wireless communication mechanism/protocol used by the wireless devices, such as, for example, IEEE 802.1x, RFID, infrared and UWB. In addition, the wireless devices may utilize only the Bluetooth protocol for wireless communications or utilize the Bluetooth protocol in conjunction with at least one of the other wireless protocols described herein or known in the art.

FIG. 1shows an exemplary embodiment of a system5for establishing a wireless connection between wireless devices. The system5includes a master device10and at least one slave device (e.g., slave devices15-30) which are each equipped with a radio transceiver configured to conduct wireless communications according to the Bluetooth protocol. As stated above, the devices may be configured for wireless communications according to other wireless protocols, e.g., 802.1x, RFID, infrared, UWB, etc. In the exemplary embodiment, the master device10is a mobile computing device (e.g., includes a bar code scanner, mobile phone, PDA, tablet computer, a laptop, digital camera, digital media player, a network interface card, etc.) which includes an advanced data capture arrangement (e.g., a laser-based scanner, an imager-based scanner, an RFID reader). The slave devices15-30, in the exemplary embodiment of the present invention, are peripheral computing devices (e.g., printers, headsets, keyboards, mice, digital pens, scanners, etc.). Those of skill in the art will understand that any of the exemplary master devices may also operate as a slave device when communicating with a further master device. As understood by those of skill in the art, a communications network formed when the master device10establishes a wireless connection with at least one of the slave devices15-30is referred to as a piconet35, or wireless personal area network (WPAN).

The Bluetooth protocol provides for wireless communications on a 2.4 GHz frequency band at data rates approximately equal to 1 Mbps. To avoid interference with other wireless communications on the 2.4 GHz frequency band (e.g., 802.11b/g signals), the Bluetooth protocol utilizes a low transmission power (˜1 mW) and further employs a frequency hopping spread spectrum (FHSS) sequence at a frequency hop rate of 1600 hops/second. The master device10and the slave devices use the FHSS sequence to synchronize communications with each other in a round-robin fashion. As is known in the art, a Bluetooth master device (e.g., the master device10) may communicate with up to seven active slave devices. For example, the master device10may be a bar code scanner which is wirelessly connected to two slave devices: a head set and a printer.

The Bluetooth protocol stack comprises several layers: a Service Discovery Protocol (SDP) layer, a Serial Cable Emulation Protocol (RFCOMM) layer, a Logical Link Control and Adaptation Protocol (L2CAP) layer and a Host Controller Interface (HCI) layer. The SDP layer is a Bluetooth service discovery protocol that handles publishing and discovery of services running on top of the Bluetooth protocol stack. The RFCOMM layer is an adaptation protocol that serves as a base for COM port emulation facilities and derived point-to-point protocols. Multiplexing and flow control between devices and applications are implemented on the RFCOMM layer. The L2CAP layer is a lower connection-based Bluetooth communication protocol that implements multiplexing, but not flow control. The L2CAP layer relies on a reliable device-to-device baseband link by Bluetooth hardware. The HCI layer is a basic interface to the Bluetooth hardware which is responsible for controller management, link establishment and maintenance.

In a conventional Bluetooth system, a master device enters an inquiry mode and broadcasts an inquiry to identify Bluetooth devices within its communicative range. Each Bluetooth device receiving the inquiry transmits a response message including its Bluetooth address, i.e., a 48-bit unique identifier, to the master device. As known by those of skill in the art, the Bluetooth address may be displayed on the master device, in addition to, for example, a friendly name (alias), a manufacturer, a model number, etc. Thus, a user of the master device can readily identify the Bluetooth device (which would otherwise be difficult when viewing the 48-bit identifier). The response message further includes a clock offset for the Bluetooth device. In addition, when more than one Bluetooth device responds to the inquiry, each of the response messages is transmitted in a different slot to avoid interference.

When the master device has the Bluetooth address of the Bluetooth device and desires to establish a connection with the Bluetooth device (as selected manually by a user or automatically upon reception of the Bluetooth address), the master device enters a page mode and transmits a page message (including the Bluetooth address) to the Bluetooth device. The Bluetooth device responds by transmitting a page response including its Bluetooth address. The master device then transmits its Bluetooth address and clock offset so the Bluetooth device can synchronize its clock and FHSS sequence with the master device's clock and FHSS sequence. The master device is then connected to the Bluetooth device, which switches into an active mode.

In the conventional Bluetooth system, a large number of Bluetooth devices may be within the communicative range of the master device and respond to the inquiry message. To identify the Bluetooth addresses of each of these devices may take a significant time period. In the exemplary embodiments of the present invention, the master device obtains the Bluetooth address of the Bluetooth device with which it desires a connection before initiating the inquiry, decreasing a connection time with the Bluetooth device and allowing the master device to connect to the Bluetooth device regardless of whether it is connected to any further device.

As described above, the master device10includes the advanced data captured arrangement for capturing data. In the exemplary embodiment, each of the slave devices15-30includes a unique bar code coupled thereto which includes data identifying the slave device15-30and, optionally, other information related thereto. For example, as shown inFIG. 1, the slave device15has a bar code40coupled thereto. When scanned by the master device10, bar code data is generated which includes the Bluetooth address of the slave device15. Because the master device10has knowledge of the Bluetooth address of the slave device15, the master device10may bypass the inquiry mode and switch directly to the paging mode to establish a wireless connection with the slave device15. In an alternative exemplary embodiment, the Bluetooth address of the slave device15may be stored on an RFID tag coupled to the slave device15. In this embodiment, the master device10utilizes an RFID reader to read the Bluetooth address on the RFID tag.

FIG. 3shows a further exemplary embodiment of the present invention in which the bar code40is one of a plurality of bar codes imprinted on a carrier300. The plurality of bar codes corresponds to the Bluetooth addresses of respective slave devices. In this embodiment, the user of the master device10may simply scan the bar codes of the slave devices whose services may be required during use of the master device10. For example, the bar codes corresponding to a Bluetooth printer and Bluetooth headset may be scanned by the master device10to establish connections therewith. This exemplary embodiment may allow the user to initiate connections with one or more slave devices without being in a scanning range thereof. That is, as is known in the art, the scanning range may be significantly less than a communicative range between the master device10and the slave device(s).

When the master device10acquires the Bluetooth address, it enters the paging mode and transmits a page message with the Bluetooth address to the slave device15. At this point, the slave device15is using its own FHSS sequence which may differ from the FHSS sequence used by the master device10. However, due to the frequency hop rate defined in the Bluetooth protocol, the slave device15is likely to hear the page message on at least one of the frequencies. Upon hearing the page message, the slave device15transmits a page response including its Bluetooth address. The master device10may compare the Bluetooth address in the page response to the Bluetooth address in the page message to ensure that the correct slave device15has responded. Upon receipt of the page response, the master device10transmits a synchronization message including synchronization data (e.g., its clock offset and FHSS sequence) to the slave device15. The slave device15uses the synchronization data to support the connection with the master device10and transmits a confirmation message (including its Bluetooth address) to the master device10.

In another exemplary embodiment, the slave device15may request authentication of the master device10before establishing the connection therewith. In this embodiment, the bar code40may further include an authentication code (e.g., a PIN code) required by the slave device15for connecting thereto. The slave device15, in the page response for example, transmits a PIN code request to the master device10. Conventionally, the user of the master device10would be required to enter the PIN code manually to complete the authentication. However, according to the exemplary embodiments of the present invention, the PIN code is obtained from the scan of the bar code40, and, as a result, is automatically provided in the synchronization message to the slave device15. That is, upon receiving the page response, the master device10may look-up the PIN code (in a memory) as a function of the Bluetooth address of the slave device15. The automatic authentication may reduce the time it takes to establish the connection between the master device10and the slave device15.

In addition, the authentication code may be utilized to encrypt wireless communications between the master device10and the slave device15. The authentication code, because it is known by both devices, may be used to generate an encryption key for encrypting (and decrypting on a receiving side) the wireless communications.

FIG. 2shows an exemplary embodiment of a method200for establishing a wireless connection between wireless devices according to the present invention. In step205, the master device10scans the bar code40on the slave device15. As noted above, RFID technology or any other decodable indicia (e.g, text, images, etc.) may be utilized, and the bar code40may be imprinted on the carrier300or another suitable item. In step210, the Bluetooth address and, optionally, the code, are extracted from the bar code data generated from the scan of the bar code40.

In step215, the master device10transmits the page message to the device (e.g., the slave device15) indicated by the Bluetooth address. In step220, the master device10receives a page response from the slave device15, because, as noted above, a Bluetooth device that receives a page response with its Bluetooth address must respond.

In step225, the master device10analyzes the page response to determine whether the slave device15has requested authentication. In step230, because authentication was requested, the master device10obtains an authentication code corresponding to the slave device15. As noted above, the authentication code may be included in the bar code data or may be obtained manually from the user of the master device10.

In step235, the master device10transmits the synchronization message to the slave device15. The synchronization message includes the synchronization data (e.g., the clock offset of the master device10and the FHSS sequence used by the master device10). If the slave device15has requested authentication of the master device10, the synchronization message may further include the authentication code. As noted above, the slave device15, upon receipt (and, optionally authentication) of the synchronization message, transmits the confirmation message to the master device10.

In step240, the master device10receives the confirmation message from the slave device15, and establishes a connection with the slave device15, as shown in step245. As known by those of skill in the art, the master device10may support connections with up to seven Bluetooth slave devices at a single time.

According to the exemplary embodiments of the present invention, the master device10knows the Bluetooth address of the slave device15and, as such, may configure the slave device15as “non-discoverable.” This may enhance security of the slave device15since only the master device10has knowledge of the Bluetooth address of the slave device15.