PATENT DOCUMENT

Publication Number: US-7913297-B2
Application Number: US-51369206-A
Country: US
Kind Code: B2

Title: Pairing of wireless devices using a wired medium

Abstract:
Techniques that facilitate pairing of wireless devices with other wireless devices are disclosed. According to one aspect, a pair of wireless devices can be paired for wireless data exchange using an available wired link. Advantageously, the wired link can be used to transport a pin code from one of the wireless devices to the other. Consequently, pairing of the wireless devices can be completed without necessitating user entry of a pin code so long as the wired link is available.

Claims:
1. A method for pairing a host device with a wireless device, said method comprising:
 at the host device; 
 detecting a wired data link between the host device and the wireless device; 
 establishing a wireless data link between the host device and the wireless device; 
 retrieving a pin code internal to the host device; 
 sending the pin code to the wireless device over the wired data link; 
 receiving authentication data from the wireless device; 
 presenting the pin code, after said receiving, on an output device of the host device; 
 authenticating the wireless device based on the received authentication data; and 
 completing pairing of the host device with the wireless device when the wireless device has been authenticated. 
 
     
     
       2. A method as recited in  claim 1 , wherein completing pairing comprises:
 generating one or more keys when the wireless device has been authenticated; and 
 sending at least one of the one or more keys from the host device to the wireless device when the pairing is successful. 
 
     
     
       3. A method as recited in  claim 2 , wherein said receiving of the authentication data is over the wireless data link. 
     
     
       4. A method as recited in  claim 2 , wherein said sending of the at least one of the one or more keys is over the wireless data link. 
     
     
       5. A method as recited in  claim 2 , wherein said sending of the at least one of the one or more keys is over the wired data link. 
     
     
       6. A method as recited in  claim 2 , wherein the one or more keys include a link key or a key derived from the link key. 
     
     
       7. A method as recited in  claim 1 , wherein said receiving of the authentication data is over the wired data link. 
     
     
       8. A method as recited in  claim 1 , wherein said method further comprises:
 receiving at least one key from the wireless device when the pairing is successful. 
 
     
     
       9. A method as recited in  claim 1 , wherein said authenticating operates to authenticate the received authentication data based on the pin code. 
     
     
       10. A method as recited in  claim 1 , wherein the host device operates at least one application program that makes use of a user interface, and
 wherein said method further comprises:
 intercepting, prior to said sending, the pin code via the application program or the user interface. 
 
 
     
     
       11. A method as recited in  claim 1 ,
 wherein the host device operates at least one application program, 
 wherein the host device also includes a wireless module that participates in at least pairing and data transfer, and 
 wherein the at least one application interacts with the wireless module during pairing or data transfer. 
 
     
     
       12. A method as recited in  claim 1 , wherein the pin code is presented using a pin code notification screen. 
     
     
       13. A method as recited in  claim 1 , wherein the wired data link is provided over a cable. 
     
     
       14. A method as recited in  claim 1 , wherein the wired data link is provided over a wired medium that physically provides one or more electrical connections. 
     
     
       15. A method as recited in  claim 1 , wherein the wired data link is provided via a peripheral bus. 
     
     
       16. A method as recited in  claim 15 , wherein the peripheral bus is a USB or Firewire bus. 
     
     
       17. A method as recited in  claim 1 , wherein the wireless data link is over a local wireless network in accordance with the BLUETOOTH short range local wireless network protocol. 
     
     
       18. A host computing device with support for a wired data link and a wireless data link, said device comprising:
 a connection manager configured to detect a wired data link between the host computing device and a wireless device; 
 a wireless transceiver for transferring data between the host computing device and the wireless device over a wireless data link; 
 an output device configured to present a pin code; 
 a pairing manager operatively connected to said connection manager and said wireless transceiver, said pairing manager manages pairing of the host computing device and the wireless device, and said pairing manager operable to: (i) retrieve a pin code internal to the host computing device, (ii) send the pin code to the wireless device over the wired data link, iii receive authentication data from the wireless device, (iv) present, after receiving the authentication data, the pin code on the output device, (v) authenticate the wireless device based on the received authentication data; and (vi) complete pairing of the host device with the wireless device when the wireless device has been authenticated. 
 
     
     
       19. A host computing device as recited in  claim 18 , wherein the received authentication data is dependent on the pin code that was sent to the wireless device over the wired data link. 
     
     
       20. A host computing device as recited in  claim 18 , wherein said pairing manager is further operable to (vii) generate one or more keys when the wireless device has been authenticated, and (viii) send at least one of the one or more keys from the host device to the wireless device when the pairing is successful. 
     
     
       21. A host computing device as recited in  claim 18 , wherein said connection manager comprises a peripheral bus driver for detecting the wired data link between the host computing device and the wireless device. 
     
     
       22. A host computing device as recited in  claim 18 , wherein said host computing device is a personal computer.

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 (ii) U.S. patent application Ser. No. 11/513,616, filed concurrently, and entitled “AUTOMATED PAIRING OF WIRELESS ACCESSORIES WITH HOST DEVICE”, which is hereby incorporated by reference herein. 
     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 short range local wireless network 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 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, similar difficulties exist for other types of wireless devices besides headsets and earphones. For example, other wireless devices that also need to undergo pairing include remote controllers, computing devices, peripheral devices, etc. 
     Thus, there is a need for improved techniques to facilitate pairing of wireless devices. 
     SUMMARY OF THE INVENTION 
     The invention pertains to improved techniques that facilitate pairing of wireless devices with other wireless devices. According to one aspect of the invention, a pair of wireless devices can be paired for wireless data exchange using an available wired link. Advantageously, the wired link can be used to transport a pin code from one of the wireless devices to the other. Consequently, pairing of the wireless devices can be completed without necessitating user entry of a pin code so long as the wired link is available. 
     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 host device with a wireless device, one embodiment of the invention includes at least the acts of: detecting a wired data link between the host device and the wireless device; establishing a wireless data link between the host device and the wireless device; retrieving a pin code internal to the host device; sending the pin code to the wireless device over the wired data link; receiving authentication data from the wireless device; authenticating the wireless device based on the received authentication data; and completing pairing of the host device with the wireless device when the wireless device has been authenticated. 
     As a host computing device with support for a wired data link and a wireless data link, one embodiment of the invention includes at least: a connection manager configured to detect a wired data link between the host computing device and a wireless device; a wireless transceiver for transferring data between the host computing device and the wireless device over a wireless data link, and a pairing manager operatively connected to the peripheral bus driver and the wireless transceiver. The pairing manager manages pairing of the host computing device and the wireless device. The pairing manager can operate to: (i) retrieve a pin code internal to the host computing device, (ii) send the pin code to the wireless device over the wired data link, (iii) receive authentication data from the wireless device, and (iv) authenticate the wireless device based on the received authentication data. 
     As a method for pairing a wireless device with a host device, one embodiment of the invention includes at least the acts of: detecting a wired data link between the host device and the wireless device; detecting a wireless data link between the host device and the wireless device; receiving a pin code over the wired data link from the host device; generating authentication data at the wireless device based on the pin code; sending the authentication data from the wireless device to the host device; and subsequently completing pairing of the wireless device with the host device when authentication is successful. 
     As a computer readable medium including at least computer program code for pairing a first wireless device with a second wireless device, one embodiment of the invention includes at least: computer program code for detecting a wired data link between the first wireless device and the second wireless device; computer program code for detecting a wireless data link between the first wireless device and the second wireless device; computer program code for receiving, at the second wireless device, a code over the wired data link from the first wireless device; and performing pairing operations to pair the first wireless device and the second wireless device based on the code received over the wired data link. 
     As an electronic device having wireless capabilities, another embodiment of the invention includes at least operating the electronic device such that pairing of the electronic device to another electronic device having wireless capabilities includes electrically sending a code over a physical connection between the electronic device and the another electronic device. 
     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 block diagram of a wireless pairing system according to one embodiment of the invention. 
         FIG. 2  is a diagram of a wireless system according to one embodiment of the invention. 
         FIGS. 3A and 3B  are flow diagrams of a host device pairing process according to one embodiment of the invention. 
         FIG. 4  is a flow diagram of a wireless device pairing process according to one embodiment of the invention. 
         FIG. 5  is a flow diagram of a host pairing process according to one embodiment of the invention. 
         FIG. 6  is a flow diagram of an accessory pairing process according to one embodiment of the invention. 
         FIG. 7  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 devices with other wireless devices. According to one aspect of the invention, a pair of wireless devices can be paired for wireless data exchange using an available wired link. Advantageously, the wired link can be used to transport a pin code from one of the wireless devices to the other. Consequently, pairing of the wireless devices can be completed without necessitating user entry of a pin code so long as the wired link is available. 
     The wired link can be implemented by a wired medium that physically provides one or more electrical connections. Typically, the wired medium is used to removably connect a pair of wireless devices. As one example, the wired medium can be a peripheral bus (e.g., USB or Firewire) cable (or cord) that removably connects the pair of wireless devices together and permits a peripheral bus to be established therebetween. 
     Of a pair of wireless devices being paired, one of the wireless devices can be a wireless host device. As an example, the wireless host device can be a computing device (e.g., personal computer, media device, etc.). The other of the wireless devices can be a peripheral device, an accessory or another computing device. As examples, a peripheral device can be a data storage device, a printer, or an input device (e.g., mouse, keyboard). An accessory device can, for example, be a headset, earphones or remote controller. In one embodiment, a media device can be a mobile phone, a media player (e.g., portable media player), a docking station for a portable media player, or a dedicated media appliance. 
     Embodiments of this aspect of the invention are discussed below with reference to  FIGS. 1-7 . 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 block diagram of a wireless pairing system  100  according to one embodiment of the invention. The wireless pairing system  100  includes a host device  102  and a wireless device  104 . The host device  102  is an electronic device, such as a personal computer, a mobile communication device, a portable media device, etc. The wireless device  104  is an electronic device that can be used in conjunction with the host device  102 . For example, the wireless device  104  can be a peripheral device or an accessory device that augments the capabilities of the host device  102 . As a specific example, the wireless device  104 , for example, could pertain to a wireless headset that is used in conjunction with the host device  102  that provides media playback (e.g., audio and/or video playback). Typically, the wireless device  104  is coupled to the host device  102  in a wireless manner. That is, the wireless device  104  need not be physically connected with the host device  102 . Instead, a wireless link can be facilitated by a local wireless network  106 . The wireless link connects the host device  102  to the wireless device  104  via the local wireless network  106 . The local wireless network  106  is often referred to as a piconet, which is a short range local wireless network. One example of the local wireless network  106  is a BLUETOOTH network. 
     In addition, according to the invention, to facilitate pairing of the host device  102  with the wireless device  104 , a cable  108  is coupled between the host device  102  and the wireless device  104 . Typically, the cable  108  is coupled to the host device  102  and the wireless device  104  during a pairing operation. However, the cable  108  could also couple the host device  102  and the wireless device  104  at other times if so desired. Once paired, however, the host device  102  would typically communicate with the wireless device  104  by way of the local wireless network  106 . 
     According to the invention, the wireless device  104  is able to be paired with the host device  102  without requiring user input of a pin code. In other words, instead of the user of the wireless device  104  being required to enter a pin code, the required pin code can be delivered to the wireless device  104  over the cable  108 . As such, the user does not have to remember and enter the appropriate pin code, thus the pairing can be performed in a substantially automated manner that reduces cumbersome and tedious pairing actions that a user would otherwise have to perform. Failed pairing attempts can also be reduced given that user pin code entry errors no longer contribute to failed pairing attempts. 
       FIG. 2  is a diagram of a wireless system  200  according to one embodiment of the invention. The wireless system  200  includes an accessory device  202  and a host device  204 . As an example, the accessory device  202  can represent the wireless device  104  illustrated in  FIG. 1 , and the host device  204  can represent the host device  102  illustrated in  FIG. 1 . 
     The accessory device  202  is typically a portable device that is powered by a battery  206 . The accessory device  202  also includes at least a controller  208 , a user input device  210 , a user output device  211 , and a memory  212 . The controller  208  controls the overall operation of the accessory device  202 . The user input device  210  enables a user to interact with the accessory device  202 . As an example, the user input device  210  can include a button that enables a user to place the accessory device  202  into a pairing mode. The user output device  211  displays information for the user to view. As an example, the user output device  211  can be a display device (e.g., LCD display). The memory  212  provides persistent data storage for various elements, including program code and data. Still further, the accessory device  202  includes a transceiver  214 . In one embodiment, the transceiver  214  is a radio-frequency (RF) transceiver. The transceiver  214  can output a wireless transmission  216 . Typically, the wireless transmission  216  is directed toward the host device  204 . 
     The host device  204  includes a transceiver  218  for the wireless transmission medium  216  (e.g., wireless link). The host device  204  also includes at least a controller  220 , a memory  222 , an operating system  224 , application program(s)  226 , an output device  228 , and a user input device  230 . The controller  220  controls the overall operation of the host device  204 . The memory  222  can be used to store persistent data, including program code (e.g., for the operating system  224  and the application program(s)  226 ) and data. The operating system  224  together with the controller  220  enables the host device  204  to not only wirelessly receive transmissions from the accessory device  202 , but to also support and operate one or more application programs  226  as well as to utilize the output device  228  and the user input device  230 . 
     The host device  204  can also include a wireless module  232 . The wireless module  232  can pertain to one or a set of integrated circuits that provide wireless communication functionality. The wireless module  232  is used when communicating over the wireless link  216  to the wireless module  215 . In this regard, the wireless module  232  couples to or includes the transceiver  218 . In one embodiment, the wireless module  232  can store a pin code (or key)  234  that is used to pair wireless devices. 
     Besides the wireless link  216 , the accessory device  202  and the host device  204  can also communicate over a wired link  236 . The wired link  236  can be provided by a cable (which contains one or more wires) connected between the accessory device  202  and the host device  204 . The accessory device  202  also includes a peripheral bus driver  238 , and the host device  204  also includes a peripheral bus driver  240 . The wired link  236  can be established over the cable that connects the peripheral bus driver  238  of the accessory device  202  to the peripheral bus driver  240  of the host device  204 . 
     According to one aspect of the invention, the accessory device  202  can be paired with the host device  204 . When paired, the host device  204  is responsive only to the accessory device  202 . Hence, if there are other accessory devices in the vicinity of the host device  204 , the host device  204  understands to ignore wireless communications from such other accessory devices. In contrast, when unpaired, the host device  204  is responsive to any compatible accessory devices in the vicinity. 
     Additional details are discussed below for the operations associated with pairing wireless devices (e.g., accessory devices) to host devices. When paired, a user of the accessory device  202  can interact with the one or more application programs  226  operating on the host device  204 . For example, one type of application program  226  is a media player program capable of playing digital media assets stored in the memory  222  or some other memory accessible by the host device  204 . Hence, the user of the accessory device  202  can interact with the user input device  210  of the accessory device  202  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  226  available at the host device  204 , the particular controls or commands being provided by the accessory device  202  to the host device  204  can vary widely depending upon the application. 
       FIGS. 3A and 3B  are flow diagrams of a host device pairing process  300  according to one embodiment of the invention. The host device pairing process  300  is, for example, performed by a host device. For example, the host device can, for example, pertain to the host device  102  illustrated in  FIG. 1  or the host device  204  illustrated in  FIG. 2 . 
     The host device pairing process  300  begins with a decision  302  that determines whether a wired data link exists between a host device and a wireless accessory device. When the decision  302  determines that a wired data link is not present, the host device pairing process  300  awaits the availability of a wired data link. On the other hand, when the decision  302  determines that a wired data link is available, a decision  304  determines whether a wireless data link is available. When the decision  304  determines that a wireless data link is not available, the host device pairing process  300  awaits the availability of a wireless data link. Once the decision  304  determines that a wireless data link is available, then a pairing operation can be performed to pair together the host device and the wireless accessory device. Hence, the following processing assumes that the host device is not already paired with the wireless accessory device. In other words, the host device pairing process  300 , or at least the following processing thereof, can be skipped if the host device and the wireless accessory device have already been paired. 
     In any event, when the host device pairing process  300  continues, a pin code is retrieved  306 . Typically, the pin code is retrieved  306  from the host device itself. That is, the pin code is typically a pin code stored in a data storage device internal to the host device. For example, as illustrated in  FIG. 2 , the pin code  235  can be stored in the wireless module  232 . Once the pin code is retrieved  306 , the pin code can be sent  308  over the wired data link. Here, the pin code is sent  308  from the host device to the wireless accessory device. Given that the pin code is sent  308  over the wired data link established through physical connection, its transport is relatively secured from unauthorized interception. Optionally, the pin code could be encrypted for further security. 
     Next, a decision  310  determines whether authentication data has been received. When the decision  310  determines that authentication data has not been received, the host device pairing process  300  awaits such data. Alternatively, when the decision  310  determines that authentication data has been received, the authentication data is evaluated  312 . In one embodiment, the authentication data can be received at the host device as part of an authentication response being provided to the host device by the wireless accessory device. Following the evaluation  312  of the authentication data, a decision  314  then determines whether the devices have been authenticated. When the decision  314  determines that the wireless accessory device has been authenticated to the host device, the host device pairing process generates  316  one or more keys. Then, at least one of the one or more keys is sent  318  to the wireless accessory device. Additionally, the at least one of the one or more keys can be stored at the host device. In one embodiment, the one or more keys can be stored in the wireless module  232  of the host device  204 . Following the block  318 , the host device pairing process  300  ends. Also, following the decision  314  when authentication has not been successfully verified, the host device pairing process  300  ends while bypassing the operations  316  and  318 . 
       FIG. 4  is a flow diagram of a wireless device pairing process  400  according to one embodiment of the invention. The wireless device pairing process  400  is, for example, performed by a wireless accessory device. For example, the wireless accessory device can, for example, pertain to the wireless device  104  illustrated in  FIG. 1  or the accessory device  202  illustrated in  FIG. 2 . The wireless device pairing process  400  is complementary process to the host device pairing process  300  illustrated in  FIGS. 3A and 3B . 
     The wireless device pairing process  400  begins with a decision  402  that determines whether a wired data link exists between a host device and a wireless accessory device. When the decision  402  determines that a wired data link is not present, the wireless device pairing process  400  awaits the availability of a wired data link. When the decision  402  determines that a wired data link is present, a decision  404  determines whether a wireless data link is present. When the decision  404  determines that the wireless data link is not present, the wireless device pairing process  400  can await its availability. 
     Once the decision  404  determines that a wireless data link is available, then a pairing operation can be performed to pair together the host device and the wireless accessory device. Hence, the following processing assumes that the host device is not already paired with the wireless accessory device. In other words, the wireless device pairing process  400 , or at least the following processing thereof, can be skipped if the host device and the wireless accessory device have already been paired. 
     Accordingly, when the decision  404  determines that the wireless data link is available, a decision  406  determines whether a pin code has been received. The pin code is provided to the wireless accessory device over the wired data link according to one embodiment of the invention. As illustrated in  FIG. 3A , the block  308  operates to send the pin code to the wireless accessory device over the wired data link. When the decision  406  determines that a pin code has not been received over the wired data link, the wireless device pairing process  400  can await the pin code. After a period of time, the waiting could cease and a user could enter the required pin code or the wireless pairing process  400  could end. 
     In any case, once the decision  406  determines that a pin code has been received over the wired data link, authentication data is generated  408  at the wireless accessory device based on the pin code. The authentication data is then sent  410  to the host device. In one embodiment, the authentication data is sent to the host device over the wireless data link. However, in an alternative embodiment, the authentication data could be sent over the wired data link. In any case, after the authentication data has been sent  410 , a decision  412  determines whether a key has been received from the host device. Here, assuming that the host device determines that the wireless accessory device is indeed authenticated, pairing can be completed by storing keys at the wireless device as well as at the host device. In one embodiment, these keys can be referred to as link keys, in accordance with BLUETOOTH short range local wireless network protocol. Hence, the decision  412  determines whether a key has been received. When the decision  412  determines that a key has not yet been received, the wireless device pairing process  400  awaits receipt of a key. Once the decision  412  determines that a key has been received, the received key is stored  414  at the wireless device. The received key is then subsequently used to authenticate the wireless device to the host device prior to the transfer of data between the wireless device and the host device. The wireless device and the host device have thus been successfully paired and are able to exchange data over the wireless data link. Following the block  414 , the wireless device pairing process  400  ends. 
       FIG. 5  is a flow diagram of a host pairing process  500  according to one embodiment of the invention. The host pairing process  500  is, for example, performed by a host device, such as the host device  102  illustrated in  FIG. 1  or the host device  204  illustrated in  FIG. 2 . 
     The host pairing process  500  begins with a decision  502  that determines whether a peripheral bus connection has been established between the host device and the wireless accessory device. The peripheral bus connection is a wired connection and examples of which are Universal Serial Bus (USB) and Firewire. When the decision  502  determines that a peripheral bus connection has not been established, the host pairing process  500  can await the presence of a peripheral bus connection. In one implementation, the host pairing process  500  could be initiated automatically when a peripheral bus connection is established between the host device and a wireless accessory device. 
     In any event, once the decision  502  determines that a peripheral bus connection has been established, a decision  504  determines whether the host device has already been paired to the wireless accessory device. When the decision  504  determines that the host device is already paired to the wireless accessory device, the host pairing process  500  ends since pairing processing is not required. On the other hand, when the decision  504  determines that the host device is not already paired with the wireless accessory device, a pairing request is sent  506  over the wireless network from the host device to the wireless accessory device. A pin code is also retrieved  508 . The pin code is retrieved  508  from the host device itself. For example, the host device can include a wireless module (e.g., wireless module  232 ) that stores within the wireless module at least one pin code. The pin code can be presented  510  via an output device associated with the host device. Here, the pin code can be presented  510  (e.g., displayed) on the output device of the host device. The pin code is also sent  512  to the wireless accessory device over the peripheral bus. Thereafter, assuming that the host device is able to authenticate the accessory device through use of the pin code, key exchange is performed  514  over the wireless network. The key exchange means that the host device will store at least one key (e.g., link key) that will be used to exchange data with the wireless accessory device via the wireless network. However, prior to or part of the key exchange, the host device first authenticates the accessory device. The authentication is dependent on the proper pin code being available at the wireless accessory device. Following the block  514 , the host pairing process  500  ends with the host device being successfully paired with the wireless device. 
       FIG. 6  is a flow diagram of an accessory pairing process  600  according to one embodiment of the invention. The accessory pairing process  600  is, for example, performed by a wireless accessory device, such as the wireless device  104  illustrated in  FIG. 1  or the accessory device  202  illustrated in  FIG. 2 . The accessory pairing process  600  is complementary process to the host device pairing process  500  illustrated in  FIG. 5 . 
     The accessory pairing process  600  begins with a decision  602  that determines whether a pairing request has been received over the wireless network. When the decision  602  determines that a pairing request has not been received, the accessory pairing process  600  awaits such a request. Alternatively, when the decision  602  determines that a pairing request has been received over the wireless network, the accessory pairing process  600  continues. In other words, in this embodiment, the accessory pairing process  600  is effectively invoked upon receipt of a pairing request. 
     When the accessory pairing process  600  continues, a pin code prompt screen is presented  604 . Typically, in a conventional fashion, a user would enter a pin code into the prompt screen. However, the pin code is able to be provided automatically (i.e., without user input) according to the invention. In this regard, a decision  606  determines whether a peripheral bus (PB) connection has been established between the wireless accessory device and the host device. When the decision  606  determines that a peripheral bus connection has been established, a decision  608  determines whether a pin code has been received from the host device over the peripheral bus. When the decision  608  determines that the pin code has been received over the peripheral bus, then the pin code can be submitted  610 . For example, the pin code can be automatically entered into the pin code prompt screen and then submitted. In this manner, instead of the user being burdened to enter the unknown pin code, the pin code can be automatically delivered to the wireless accessory device and submitted without the user having to enter it. However, when the decision  606  determines that the peripheral bus connection is not established, or when the decision  608  determines that the pin code has not been received over the peripheral bus, a decision  612  can determine whether a user has entered the pin code. For example, the user can be permitted to enter the pin code using the pin code prompt screen. When the decision  612  determines that the user has not entered a pin code, the accessory pairing process  600  returns to repeat the decision  608  so that the pin code can potentially still be delivered to the wireless accessory device by way of the peripheral bus. 
     Alternatively, when the decision  612  determines that the user has entered a pin code, the pin code can be submitted  610 . Accordingly, although the improvement offered by the invention is the delivery of the pin code to the wireless accessory device over a data link, namely, a wired data link, one embodiment can still permit a user to enter the pin code in the event that the pin code is not delivered over a data link. In any event, after the pin code has been submitted  610 , key exchange can be performed  614  between the host device and the wireless accessory device over the wireless network. In this regard, the pairing operation has been successfully performed and the key exchange permits the paired devices to thereafter be authenticated so that data transfer can be performed between the paired devices. Following the block  614 , the accessory pairing process  600  ends. 
     According to one embodiment, when a wireless device connects with a host device by way of a wireless network and a wired medium, pairing can be performed. When the connection via the wired medium is made, not only can a pin code be transferred but other data or energy (e.g., for power and/or charging a battery) can also be transferred via the wired medium. In other words, the wired medium can serve various purposes, only one of which is assisting with pairing operations. 
     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 a key (e.g., link key) that was established during the pairing operation. 
       FIG. 7  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  700  begins with a decision  702  that determines whether a connection to the wireless accessory device is desired. When the decision  702  determines that a connection from the wireless host device to the wireless accessory device is not desired, then the wireless data transfer process  700  is effectively not invoked. Alternatively, when the decision  702  determines that a connection between the wireless host device and the wireless accessory device is desired, the wireless data transfer process  700  is effectively invoked. In such case, a decision  702  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  706 . 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  704  determines that the wireless host device does have an appropriate link key for use with the wireless accessory device, the wireless host device connects  708  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  712  determines whether the connection is to be closed. When the decision  712  determines that the connection is not to be closed, data transfer over the wireless link can continue to be transferred  710 . As an example, the wireless accessory device can be a headset and the wireless host device can be a media player or mobile phone. In either case, the user can use the headset to exchange data with the media player or mobile phone in a wireless manner. Alternatively, when the decision  712  determines that the connection should be closed, the connection is then closed  714 . Following the block  714 , as well as following the block  706 , the wireless data transfer process  700  ends. 
     Although various embodiments discussed above use a wireless accessory device as one of the wireless devices being paired, the invention is not limited to wireless accessory devices. A wireless accessory device is a wireless device that can be used in conjunction with a host device through wireless means. The invention is, however, applicable to pairing wireless devices in general. Hence, neither of a pair of wireless devices being paired is necessarily an accessory device. 
     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, and carrier waves. 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 devices 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 required pin code for pairing a pair of wireless devices can be transferred between the wireless devices over a wired medium that offers physical security for the pin code being transferred. 
     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: 20110322
Grant Date: 20110322
Priority Date: 20060830
Inventors: WYLD JEREMY
Assignee: APPLE INC
CPC Classifications: [{"code": "H04M1/72409", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L63/18", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W12/50", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L63/061", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/6058", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/72412", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M2250/02", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04L63/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04M1/6066", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W12/06", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W4/21", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72409", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L63/061", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W12/06", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/6058", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W12/50", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72412", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M2250/02", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/6066", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04L63/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W4/21", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 38896941