PATENT DOCUMENT

Publication Number: US-7813715-B2
Application Number: US-51361606-A
Country: US
Kind Code: B2

Title: Automated pairing of wireless accessories with host devices

Abstract:
Techniques that facilitate pairing of wireless accessory devices with wireless host devices are disclosed. Advantageously, the improved techniques permit pairing of wireless devices without requiring user entry of pin codes. In one embodiment, a wireless accessory device, such as a headset or earphone, can be paired with a wireless host device, such as a mobile phone or media player.

Claims:
1. A method for securely pairing a wireless electronic accessory device with a wireless portable electronic device, said method comprising:
 (a) receiving at the wireless portable electronic device a pairing request from the wireless electronic accessory device, the manufacturer of the wireless portable electronic device being different than the manufacturer of the wireless electronic accessory device; 
 (b) selecting a set of potential pin codes for the wireless electronic accessory device by the wireless portable electronic device from an electronic data storage device within the wireless portable electronic device; 
 (c) sending from the wireless portable electronic device a first pairing request to the wireless electronic accessory device using a first potential pin code in the selected set of potential pin codes; 
 (d) sending from the wireless portable electronic device a second pairing request to the wireless electronic accessory device using a second potential pin code in the selected set of potential pin codes when the first potential pin code does not match an actual pin code required by the wireless electronic accessory device; and 
 (e) receiving a response at the wireless portable electronic device from the wireless electronic accessory device confirming successful pairing when the first or second potential pin code matches the actual pin code required by the wireless electronic accessory device. 
 
     
     
       2. The method as recited in  claim 1 , further comprising:
 (f) prompting a user of the wireless portable electronic device to enter an alternative pin code when the first and second potential pin codes do not match the actual pin code required by the wireless electronic accessory device. 
 
     
     
       3. The method as recited in  claim 1 , further comprising:
 selecting the set of potential pin codes based on a device type or a manufacturer of the wireless electronic accessory device. 
 
     
     
       4. The method as recited in  claim 3  wherein the set of potential pin codes are selected from a plurality of pin codes that have been pre-stored in the electronic data storage device within the wireless portable electronic device. 
     
     
       5. The method as recited in  claim 1 , further comprising: storing a plurality of potential pin codes organized based on a manufacturer or a device type in a database in the electronic data storage device within the wireless portable electronic device. 
     
     
       6. The method as recited in  claim 5 , further comprising: selecting the set of potential pin codes by accessing the database within the wireless portable electronic device based on a device type or a manufacturer of the wireless electronic accessory device. 
     
     
       7. The method as recited in  claim 1 , further comprising:
 storing a reference to the actual pin code in the electronic data storage device within the wireless portable electronic device when the first of second potential pin code matches the actual pin code required by the wireless electronic accessory device. 
 
     
     
       8. The method of pairing recited in  claim 1 , wherein the wireless portable electronic device does not have a physical alphanumeric keyboard input. 
     
     
       9. A method for securely pairing a wireless electronic accessory device with a wireless portable electronic device, said method comprising:
 (a) receiving at the wireless portable electronic device a pairing request from the wireless electronic accessory device; 
 (b) selecting a set of potential pin codes for the wireless electronic accessory device from an electronic data storage device external to the wireless electronic accessory device; 
 (c) sending from the wireless portable electronic device a pairing request to the wireless electronic accessory device using one of the potential pin codes in the set of potential pin codes; 
 (d) repeating said sending (c) using another one of the potential pin codes in the set of potential pin codes when the one of the potential pin codes being used does not match the actual pin code required by the wireless electronic accessory device; and 
 (e) receiving a response at the wireless portable electronic device from the wireless electronic accessory device confirming successful pairing when one of the potential pin codes matches the actual pin code required by the wireless electronic accessory device. 
 
     
     
       10. The method as recited in  claim 9 ,
 wherein the set of potential pin codes are selected based on a device type or a manufacturer of the wireless electronic accessory device. 
 
     
     
       11. The method as recited in  claim 9 ,
 wherein the electronic data storage device stores a plurality of potential pin codes organized based on a manufacturer or a device type. 
 
     
     
       12. The method as recited in  claim 11 ,
 wherein the electronic data storage device storing the plurality of pin codes is a database. 
 
     
     
       13. The method as recited in  claim 12 ,
 wherein selecting the set of pin codes includes accessing the database based on a device type or a manufacturer of the wireless electronic accessory device. 
 
     
     
       14. The method as recited in  claim 9 , further comprising:
 (f) prompting a user of the wireless portable electronic device to enter an alternative pin code when none of the potential pin codes match the actual pin code required by the wireless electronic accessory device. 
 
     
     
       15. The method as recited in  claim 14 , further comprising:
 (g) storing the entered alternative pin code at the wireless portable electronic device or the wireless electronic accessory device. 
 
     
     
       16. The method as recited in  claim 9 ,
 wherein the manufacturer of the wireless portable electronic device differs from the manufacturer of the wireless electronic accessory device. 
 
     
     
       17. The method as recited in  claim 9 , further comprising:
 (f) storing a reference to the actual pin code in the electronic data storage device when the one of the potential pin codes matches the actual pin code required by the wireless electronic accessory device. 
 
     
     
       18. The method as recited in  claim 9 ,
 wherein the wireless portable electronic device is at least one of a mobile communication device and a portable media player. 
 
     
     
       19. The method of pairing recited in  claim 9 , wherein the wireless portable electronic device does not have a physical alphanumeric keyboard input. 
     
     
       20. The method as recited in  claim 9 ,
 wherein repeating said sending (c) using another one of the potential pin codes in the set of potential pin codes is limited to a maximum number of attempts. 
 
     
     
       21. The method as recited in  claim 20 ,
 wherein the maximum number of attempts is based on a manufacturer or a device type. 
 
     
     
       22. A portable electronic device, comprising:
 a memory for storing data and a pin code database for storing a plurality of potential pin codes for wireless companion devices of a plurality of different manufacturers; and 
 a controller for operating said portable electronic device, the operating including pairing securely a wireless companion device with the portable electronic device by, 
 receiving a pairing request from the wireless electronic companion device having a different manufacturer than the portable electronic device, 
 selecting a potential pin code for the wireless companion device by the portable electronic device from the pin code database; 
 sending from the portable electronic device, a pairing request to the wireless companion device using the selected potential pin code; and 
 receiving a response at the portable electronic device from the wireless companion device confirming successful pairing when the selected potential pin code matches the actual pin code required by the wireless companion device. 
 
     
     
       23. The portable electronic device as recited in  claim 22 ,
 wherein the operating further includes the controller repeating the sending using another potential pin code when the potential pin code being used does not match the actual pin code required by the wireless companion device. 
 
     
     
       24. The portable electronic device as recited in  claim 22  further comprising:
 a graphical user interface, the graphical user interface including a menu item that on selection initiates a pairing operation. 
 
     
     
       25. The portable electronic device as recited in  claim 22 ,
 wherein the pin code database stores a plurality of pin codes organized based on a manufacturer or a device type. 
 
     
     
       26. The portable electronic device as recited in  claim 22 , the portable electronic device being at least one of a mobile communication device and a portable media player. 
     
     
       27. The portable electronic device of  claim 22 , wherein the portable electronic device does not have a physical alphanumeric keyboard input. 
     
     
       28. The portable electronic device of  claim 22 ,
 wherein the operating further includes the controller updating the pin code database in the portable electronic device by retrieving additional potential pin codes from a remote server.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is related to: (i) U.S. patent application Ser. No. 11/245,937, filed Oct. 7, 2005, and entitled “TECHNIQUES FOR PAIRING REMOTE CONTROLLERS WITH HOST DEVICES”, which is hereby incorporated by reference herein; and (i) U.S. patent application Ser. No. 11/513,692, filed concurrently, and entitled “PAIRING OF WIRELESS DEVICES USING A WIRED MEDIUM”. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to wireless devices and, more particularly, to pairing wireless devices for authorized data exchange. 
     2. Description of the Related Art 
     Traditionally, headphones or earphones are connected to an audio output device, such as a mobile phone, through a wired connection. The wired connection can, however, in many cases be cumbersome or annoying to the user. Hence, in recent times, wireless headsets or earphones have been developed. Typically, these wireless devices utilize Bluetooth technology in order to wirelessly transmit data between the headset or earphone and the mobile phone. As a result, there is no need for a wired connection between the headset or earphones and the media player. 
     Unfortunately, however, before the wireless headset or earphone can operate in a wireless manner with a mobile phone, the wireless headset or earphone must be paired to operate with the mobile phone. Pairing is a process that is used to associate a headset or earphone with a particular mobile phone, and vice versa. The pairing provides for secure data transfer between the devices, typically through use of encryption. Thus, the pairing helps ensure that the data being transferred is not only secured but also transferred to the appropriate recipient device. Pairing, however, requires that a pin code be entered in order to pair a mobile phone with a headset or earphone. Entering of a pin code is sometimes problematic for a user. For example, often mobile audio devices are small handheld devices and the entering of a pin code can be cumbersome given the small scale of mobile audio devices (e.g., mobile phones, portable music players, etc.). The mobile audio devices may also not offer a user interface that supports ease of entry of a pin code. Still further, users often do not know the appropriate pin code to be utilized. 
     Moreover, given that a mobile audio device can wirelessly pair with headsets or earphones associated with a large range of different manufacturers, a mobile audio device manufacturer has no control over the type of headset or earphones that a user might desire to pair with their mobile audio device. In limited cases, such as when the manufacturer of the mobile audio device is the same as the manufacturer of the headset or earphones, it is possible that a user need not enter a pin code because a proprietary exchange of information can facilitate pairing. 
     Thus, there is a need for improved techniques to facilitate pairing of wireless headsets or earphones with mobile audio devices. 
     SUMMARY OF THE INVENTION 
     The invention pertains to improved techniques that facilitate pairing of wireless accessory devices with wireless host devices. Advantageously, the improved techniques permit pairing of wireless devices without requiring user entry of pin codes. 
     In one embodiment, a wireless accessory device is a headset or earphone and a wireless host device is an audio output device, such as a mobile phone or media player. The media player can be a portable media player, a docking station for a portable media player, a dedicated media appliance, or a computer having media playback capabilities. 
     The invention can be implemented in numerous ways, including as a method, system, device, apparatus, or computer readable medium. Several embodiments of the invention are discussed below. 
     As a method for pairing a wireless electronic accessory device with a wireless host device, one embodiment of the invention includes at least the acts of: receiving a request to initiate pairing of the wireless host device with the wireless electronic accessory device, where the manufacturer of the wireless host device is different than the manufacturer of the wireless electronic accessory device; obtaining a potential pin code for the wireless accessory device from an electronic data storage device within the wireless host device; attempting to pair the wireless host device with the wireless electronic accessory device using the potential pin code; and completing the pairing of the wireless host device with the wireless electronic accessory device when the potential pin code matches the pin code required by the wireless electronic accessory device. 
     As a method for pairing a wireless electronic accessory device with a wireless host device, another embodiment of the invention includes at least the acts of: receiving a request to initiate pairing of the wireless host device with the wireless electronic accessory device; obtaining a set of potential pin codes for the wireless accessory device from an electronic data storage device; attempting to pair the wireless host device with the wireless electronic accessory device using one of the potential pin codes; repeating the attempting using another one of the potential pin codes when the one of the potential pin codes being used does not match the pin code required by the wireless electronic accessory device; and completing the pairing of the wireless host device with the wireless electronic accessory device when the one of the potential pin codes being used matches the pin code required by the wireless electronic accessory device. 
     As a computer readable medium including computer program code for pairing a wireless electronic accessory device with a wireless host device, one embodiment of the invention includes at least: computer program code for receiving a request to initiate pairing of the wireless host device with the wireless electronic accessory device; computer program code for obtaining a set of potential pin codes for the wireless accessory device from an electronic data storage device; computer program code for attempting to pair the wireless host device with the wireless electronic accessory device using one of the potential pin codes and repeating the attempting using another one of the potential pin codes when the one of the potential pin codes being used does not match the pin code expected by the wireless electronic accessory device; and computer program code for completing the pairing of the wireless host device with the wireless electronic accessory device when the one of the potential pin codes being used matches the pin code expected by the wireless electronic accessory device. 
     As a portable electronic device, one embodiment of the invention includes at least: a memory for storing data and executable computing code; a controller for operating the portable electronic device including executing the executable computing code; and a pin code database storing a plurality of potential pin codes for wireless companion devices of a plurality of different manufacturers. The executable computing code can perform pairing operations as well as other operations. 
     Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which: 
         FIG. 1  is a diagram of a wireless inter-device communication system according to one embodiment of the invention. 
         FIG. 2  is a diagram of an inter-device communication system according to another embodiment of the invention. 
         FIG. 3  is a diagram of a wireless control system according to one embodiment of the invention. 
         FIG. 4  is a flow diagram of a pairing initiation process according to one embodiment of the invention. 
         FIGS. 5A and 5B  are flow diagrams of a device pairing process according to one embodiment of the invention. 
         FIG. 6  is a flow diagram of wireless data transfer between a wireless host device and a wireless accessory device that have been successfully paired. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention pertains to improved techniques that facilitate pairing of wireless accessory devices with wireless host devices. Advantageously, the improved techniques permit pairing of wireless devices without requiring user entry of pin codes. 
     In one embodiment, a wireless accessory device is a headset or earphone and a wireless host device is an audio output device, such as a mobile phone or media player. The media player can be a portable media player, a docking station for a portable media player, a dedicated media appliance, or a computer having media playback capabilities. 
     Embodiments of this aspect of the invention are discussed below with reference to  FIGS. 1-6 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments. 
       FIG. 1  is a diagram of a wireless inter-device communication system  100  according to one embodiment of the invention. The wireless inter-device communication system  100  includes a wireless host device  102  and a wireless accessory device  104 . As an example, the wireless host device  102  can pertain to a portable media device having wireless capability, and the wireless accessory device  104  can pertain to a wireless headset with wireless capability. The wireless inter-device communication system  100  also includes a local wireless network  106 . The local wireless network  106  can be established by or between the wireless host device  102  and the wireless accessory device  104 . The wireless host device  102  and the wireless accessory device  104  include circuitry to support transmission and reception of data via the local wireless network  106 . In one embodiment, the local wireless network  106  is a Bluetooth network (i.e., short-range wireless network). 
     In order for the wireless host device  102  to be able to transmit or receive data to or from the wireless accessory device  104 , the wireless accessory device  104  needs to be paired with the wireless host device  102 . Pairing is a process that is used to associate the wireless accessory device  104  with the wireless host device  102 . The pairing ensures that the data being transferred is not only secured but also transferred to the appropriate recipient device. 
     In general, the pairing of these devices can be performed in a substantially automated manner. As discussed in greater detail below, the wireless host device  102  will receive information about the wireless accessory device  104 . Then, in order to pair the devices together, the wireless host device  102  can determine one or more potential (i.e., likely) pin codes associated with the wireless accessory device  104 . Then, the wireless host device  102  can attempt to pair itself with the wireless accessory device  104  using the one or more potential pin codes. Assuming that one of the potential pin codes is the actual pin code required by the wireless accessory device  104 , the pairing process is able to be completed without requiring the user of the wireless host device  102  to enter a pin code. In the event that none of the potential pin codes attempted is the required pin code for the wireless accessory device  104 , the user of the wireless host device  102  can still thereafter be prompted to enter the required pin code. Once the pairing has been established, the wireless host device  102  and the wireless accessory device  104  are able to exchange data in a substantially secure manner. 
     In one embodiment, the pin code is used to establish a link key that is utilized by both the wireless host device  102  and the wireless accessory device  104  when encrypting data to be exchanged between these devices. Each of the devices is also able to decrypt any received encrypted data. 
       FIG. 2  is a diagram of an inter-device communication system  200  according to another embodiment of the invention. The inter-device communication system  200  includes a wireless host device  202  and a wireless accessory device  204 . The wireless host device  202  and the wireless accessory device  204  can exchange data through a local wireless network  206 . In one embodiment, the local wireless network  206  is a Bluetooth network (i.e., short-range wireless network). Similar to that noted above with respect to  FIG. 1 , the wireless host device  202  and the wireless accessory device  204  must first be paired before data is permitted to be exchanged in a secure manner through the local wireless network  206 . As noted above, the wireless host device  202  is able to acquire one or more potential pin codes and then attempt to pair with the wireless accessory device  204  using those potential pin codes. In most cases, one of the potential pin codes will be the actual required pin code by the wireless accessory device  204  so that the pairing will successfully complete. 
     The inter-device communication system  200  also includes a client computing device  208 . The client computing device is, for example, a personal computer. The client computing device can connect to the wireless host device  202  over a cable  210 . The cable  210  is, for example, a USB cable or a Firewire cable. Alternatively, the client computing device  208  can wirelessly connect to the wireless host device  202  through the local wireless network  206 . The client computing device  208  can also couple to a data network  212 . The data network  212  can be a local area network, a wide area network, or a global network, such as the Internet. A remote server  214  can also couple to the data network  212 . 
     The wireless host device  202  can receive data pertaining to potential pin codes from the client computing device  208 , either via the cable  210  or via the local wireless network  206 . The client computing device  208  can, in turn, receive data regarding potential pin codes from the remote server  214  via the data network  212 . As such, the remote server  214  can provide potential pin codes to a wide range of client computing devices  208  via the data network  212 . These various client computing devices  208  can then provide the potential pin codes to wireless host devices  202  that are associated with the client computing devices  208 . In this manner, wireless host devices  202  are able to receive updated pin codes from the remote server  214 , which can be useful to support future wireless accessory devices. 
       FIG. 3  is a diagram of a wireless control system  300  according to one embodiment of the invention. The wireless control system  300  includes an accessory device  302  and a host device  304 . As an example, the accessory device  302  can represent the wireless accessory device  104  illustrated in  FIG. 1  or the wireless accessory device  204  illustrated in  FIG. 2 , and the host device  304  can represent the wireless host device  102  illustrated in  FIG. 1  or the wireless host device  202  illustrated in  FIG. 2 . 
     The accessory device  302  is a low power device and thus can be powered by a battery  306 . The accessory device  302  also includes at least a controller  308 , a user input device  310  and a memory  312 . The controller  308  controls the overall operation of the accessory device  302 . The user input device  310  enables a user to interact with the accessory device  302 . As an example, the user input device  310  can include a button that enables a user to place the accessory device  302  into a pairing mode. The memory  312  provides persistent data storage for various elements, including program code, identifier(s), data structures, etc. Still further, the accessory device  302  includes a transceiver  314 . In one embodiment, the transceiver  314  is a radio-frequency (RF) transceiver. The transceiver  314  can output a wireless transmission  316 . Typically, the wireless transmission  316  is directed toward the host device  304 . 
     The host device  304  includes a receiver  318  for the wireless transmission  316 . The host device  304  includes at least a controller  320 , a memory  322 , an operating system  324 , application program(s)  326 , an output device  328  and a user input device  330 . The controller  320  controls the overall operation of the host device  304 . The memory  322  can be used to store persistent data, including program code (e.g., for the operating system  324  and the application program(s)  326 ), identifier(s), data structures, etc. The operating system  324  together with the controller  320  enables the host device  304  to not only wirelessly receive transmissions from the accessory device  302 , but to also support and operate one or more application programs  326  as well as to utilize the output device  328  and the user input device  330 . The host device  304  can also include a pin code database  332 . The pin code database  332  can store a plurality of pin codes associated with different manufacturers, device types, and etc. During pairing, the host device can attempt to pair using one or more of the pin codes stored in the pin code database  332 . Although the pin code database  332  is shown as a separate component, it should be noted that the pin code database  332  can be stored in the memory  332 . 
     The accessory device  302  can communicate with the host device  304  over a wireless link  316 . As a result of such communication, the operation of the host device  304  can be manipulated by a user of the accessory device  302 . In this embodiment, the communication is uni-directional—from accessory device  302  to the host device  304 . However, in other embodiments, the communication could be bi-directional. 
     According to one aspect of the invention, the accessory device  302  can be paired with the host device  304 . When paired, the accessory device  302  is responsive to only the host device  304 . Hence, if there are other host devices in the vicinity of the accessory device  302 , the accessory device  302  understands to ignore wireless communications from such other host devices. In contrast, when unpaired, the accessory device  302  can be responsive to any compatible host devices in the vicinity. The host device  304  can also be paired with more than one accessory device. 
     Additional details are discussed below for the operations associated with pairing accessory devices to host devices. When paired, a user of the accessory device  302  can interact with the one or more application programs  326  operating on the host device  304 . For example, one type of application program  326  is a media player program capable of playing digital media assets stored in the memory  322  or some other memory accessible by the host device  304 . Hence, the user of the accessory device  302  can interact with the user input device  310  of the remote controller  302  to manipulate media playback controls, such as volume changes, next track, previous track, and play and pause operations associated with the media player program. For other types of application programs  326  available at the host device  304 , the particular controls or commands being provided by the accessory device  302  to the host device  304  can vary widely depending upon the application. 
     The pin code database  332  can also be updated through user entry of pin codes or data transmission(s) to the host device  304 . Through such updates to the pin code database  332 , the ability to successfully pair devices can become more robust and efficient. Moreover, the automatic pairing aspects of the invention can also support newly released accessory devices that may utilize different pin codes. 
       FIG. 4  is a flow diagram of a pairing initiation process  400  according to one embodiment of the invention. The pairing initiation process  400  is described with respect to a wireless host device that is to be paired with another wireless device (e.g., a wireless accessory device). The pairing initiation process  400  is, for example, performed by the wireless host device  102  illustrated in  FIG. 1  or the wireless host device  202  illustrated in  FIG. 2 . 
     The pairing initiation process  400  initially places  402  a wireless device to be paired in a pairing mode. For example, a wireless accessory device can be placed in a pairing mode by physical action with respect to the wireless accessory device. In one example, a button can be pressed on the wireless accessory device to cause the wireless accessory device to enter a pairing mode. Next, a user interface (UI) of the wireless host device is navigated  404  so as to request pairing with another wireless device (e.g., the wireless accessory device). In one embodiment, the navigation  404  involves one or more selections from a graphical user interface so that the user of the wireless host device can request that pairing be performed. Once pairing has been requested, available wireless devices in the vicinity of the wireless host device are discovered  406 . The discovered available wireless devices are then displayed  408  on the user interface. In one embodiment, as each of the available wireless devices is discovered, the user interface is updated as each of the available devices is discovered. Typically, the discovered available wireless devices are displayed  408  such that the user of the wireless host device can select one of the available wireless devices to be paired with. Hence, a decision  410  determines whether a user selection of one of the discovered available wireless devices has been made. When the decision  410  determines that a user selection of one of the discovered available wireless devices has not yet been made, the pairing initiation process  400  awaits such a selection. 
     On the other hand, when the decision  410  determines that a user has selected one of the discovered available wireless devices, the wireless host device is paired  412  with the selected wireless device. Here, in order to pair the wireless host device with the selected wireless device, a pairing processing is performed. The pairing processing is, for example, described in  FIGS. 5A and 5B  which are discussed in detail below. After the wireless host device has been paired  412  with the selected wireless device, the pairing initiation process  400  ends. Typically, the user interface of the wireless host device would signal the user that the pairing has successfully completed. The selected wireless device that has been paired with the wireless host device would also exit its pairing mode. 
       FIGS. 5A and 5B  are flow diagrams of a device pairing process  500  according to one embodiment of the invention. The device pairing process  500  is, for example, performed by the wireless host device  102  illustrated in  FIG. 1  or the wireless host device  202  illustrated in  FIG. 2 . As an example, device pairing process  500  can be associated with the blocks  410  and  412  illustrated in  FIG. 4 . 
     The device pairing process  500  begins with a pairing request  502 . When the decision  502  determines that a pairing request has not been made, the device pairing process  500  awaits such a request. On the other hand, when the decision  502  determines that a pairing request has been received, the device pairing process  500  continues. In other words, the device pairing process  500  can be deemed invoked once pairing is to be performed between a wireless host device and a wireless accessory device. As an example, the block  410  illustrated in  FIG. 4  can be associated with issuance of a pairing request. 
     Once the decision  502  determines that a pairing request has been received, a set of potential pin codes for the wireless accessory device is obtained  504 . A potential pin code is then selected  506  from the set of potential pin codes. Then, a pairing request is sent  508  from the wireless host device to the wireless accessory device. A decision  510  then determines whether pairing between the wireless host device and the wireless accessory device has been successful. When the pairing has not been successful, a decision  512  determines whether there are more potential pin codes to be attempted. When the decision  512  determines that there are more potential pin codes to be attempted, the device pairing process  500  returns to repeat blocks  506 - 510  so that a next potential pin code can be selected and attempted. On the other hand, when the decision  510  determines that pairing has been successful, a link key for use with the wireless accessory device is stored  514 . The link key is a cryptographic key that is utilized in data communication or data transfer with the wireless accessory device. The link key results from the pairing operation and facilitates the secure data transfer between the wireless host device and the wireless accessory device that are now paired. Following the block  514 , the device pairing process  500  is complete and ends with the pairing being successful. 
     Alternatively, when the decision  512  determines that there are no more potential pin codes, then the pairing process has not been able to successfully complete using any of the potential pin codes from the set of potential pin codes. Hence, additional processing is performed to facilitate pairing. Namely, a user of the wireless host device is prompted  516  to enter a pin code. For example, the user could be prompted by a graphical user interface to enter a pin code using a alphanumeric keypad. A decision  518  then determines whether a pin code has been entered. When the decision  518  determines that a pin code has not yet been entered, the device pairing process  500  awaits entry of a pin code. 
     When the decision  518  determines that a pin code has been entered, a pairing request is sent  520  from the wireless host device to the accessory device. Next, a decision  522  determines whether pairing has been successful. When the decision  522  determines that pairing has not been successful, a decision  524  determines whether reentry is permitted. Here, the device pairing process  500  can limit the number of pin code entry attempts that are permitted. The decision  524  can thus determine whether additional pin code entry is permitted. When the decision  524  determines that a retry is permitted, then the device pairing process  500  returns to repeat the block  516  and subsequent blocks so that the user can attempt to pair the devices using yet another pin code that is entered. Alternatively, when the decision  524  determines that a retry is not permitted, then the device pairing process  500  ends with the devices not having been paired. 
     On the other hand, when the decision  522  determines that pairing has been successful following user entry of a pin code, the device pairing process  500  performs the block  514  where a link key is stored  514  for use with data exchanges between the wireless host device and the wireless accessory device that are now paired. Following the block  514 , the device pairing process  500  ends with pairing being successful, albeit in this case due to a user-entered pin code. 
     In another embodiment of the device pairing process, in addition to storing  514  the link key at block  514 , the device pairing process can store the pin code that led to the successful pairing (from either a potential pin code or a manually entered pin code). Hence, the host device can store the link key and/or the pin code for use with the wireless accessory device. The storage of these keys or codes can be done in association with network addresses, identifiers, and/or manufacturers to facilitate subsequent retrieval of the appropriate codes and/or keys. Indeed, since a host device can support more than one wireless accessory device, the host device can store link keys and/or pin codes for various accessory devices. In the event that the pairing of the host device and the wireless accessory device is lost, the pairing process can proceed (i.e., re-pair) on an automatic basis using a stored pin code (e.g., blocks  504 - 508 ). 
     In still another embodiment of the device pairing process, the set of potential pin codes being obtained  504  in the device pairing process  500  can be limited. In particular, when a wireless accessory device limits the number of successive attempts to enter a correct pin code, the set of potential pin codes to be attempted can be limited to not exceed the limit. More particularly, the number of potential pin codes to be attempted can be one less than the maximum number of attempts being permitted. Since many different wireless accessory device manufacturers have different limits, in one implementation, a database can store the maximum number of permitted attempts for various devices and/or manufacturers, and then the appropriate maximum number can be retrieved and utilized to limit the number of pairing requests using the pin code from the set of potential pin codes to be automatically attempted. The database can be part of or separate from the pin code database  332 . 
     Assuming that pairing has been successful between a wireless host device and a wireless accessory device, thereafter, data transfer can be performed between the wireless host device and the wireless accessory device in a secured and controlled manner through use of the link key that was established during the pairing operation. 
       FIG. 6  is a flow diagram of wireless data transfer between a wireless host device and a wireless accessory device that have been successfully paired. 
     The wireless data transfer process  600  begins with a decision  602  that determines whether a connection to the wireless accessory device is desired. When the decision  602  determines that a connection from the wireless host device to the wireless accessory device is not desired, then the wireless data transfer process  600  is effectively not invoked. Alternatively, when the decision  602  determines that a connection between the wireless host device and the wireless accessory device is desired, the wireless data transfer process  600  is effectively invoked. In such case, a decision  602  determines whether the wireless host device has a link key for use with the wireless accessory device. When the wireless host device does not have such a link key, the desired connection is not available  606 . Typically, in this case, the wireless host device has not been successfully paired with the wireless accessory device and thus does not have a link key that facilitates data transfer with the wireless accessory device. On the other hand, when the decision  604  determines that the wireless host device does have an appropriate link key for use with the wireless accessory device, the wireless host device connects  608  to the wireless accessory device using the known link key. With the connection being established, data can then be transmitted over a wireless link provided by the connection between the wireless host device and the wireless accessory device. Next, a decision  612  determines whether the connection is to be closed. When the decision  612  determines that the connection is not to be closed, data transfer over a wireless link can continue to be transferred  610 . As an example, the wireless accessory device can be a headset and the wireless host device can be a media player or cellular phone. In either case, the user can use the headset to interact with the media player or cellular phone in a wireless manner. Alternatively, when the decision  612  determines that the connection should be closed, the connection is then closed  614 . Following the block  614 , as well as following the block  606 , the wireless data transfer process  600  ends. 
     The various aspects, embodiments, implementations or features of the invention can be used separately or in any combination. 
     The invention can be implemented by software, hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. 
     The advantages of the invention are numerous. Different aspects, embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that wireless device can be paired without any need for a user enter a pin code that is often not readily available to the user. In other words, pairing of wireless devices can be achieved in a substantially automated manner. Another advantage of the invention is that a wireless host device can provide a data storage with potential pin codes that can be intelligently selected and attempted for pairing other wireless devices, such as wireless accessory devices. Still another advantage of the invention is that potential pin codes&#39; storage in the data storage of the wireless host device can be updated by a remote server which can provide additional potential codes. 
     The many features and advantages of the present invention are apparent from the written description. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.

Metadata:
Filing Date: 20060830
Publication Date: 20101012
Grant Date: 20101012
Priority Date: 20060830
Inventors: MCKILLOP CHRIS
WIEBE CHRIS
Assignee: APPLE INC
CPC Classifications: [{"code": "H04M1/72412", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W84/18", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04L63/10", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F21/445", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W12/50", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L63/10", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W12/50", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W84/18", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2221/2129", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W12/08", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2221/2129", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W12/08", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72412", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F21/445", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 38913989