`
`(12) Unlted States Patent
`(10) Patent No.:
`US 8,078,787 B2
`
`Lydon et al.
`(45) Date of Patent:
`Dec. 13, 2011
`
`(54) COMMUNICATION BETWEENA HOST
`DEVICE ANDANACCESSORYVIAAN
`INTERMEDIATE DEVICE
`
`(75)
`
`InVemorSI Gregory T- Lydona Santa Cruz, CA
`(US); Jay S. Laefer, Sunnyvale, CA
`(US); John Ananny, San Anselmo, CA
`(US) Terry Tikalsky Sunnyvale CA
`(US)
`
`6,304,764 B1
`2554515133 31
`a
`a
`6,658,268 B1
`6,674,995 B1
`6,678,535 B1
`6,714,802 B1
`6,724,339 B2
`6,725,061 B1
`
`10/2001 Pan
`$388;
`811631
`ra y
`12/2003 Bodnar et 31.
`1/2004 Meyers et al.
`1/2004 Narayanaswami
`3/2004 Barvesten
`4/2004 Conway et al.
`4/2004 Hutchlson, IV et al.
`(Continued)
`
`(73) Assignee: Apple Inc., Cupertino, CA (US)
`
`EP
`
`FOREIGN PATENT DOCUMENTS
`1478132 A1
`11/2004
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 39 days.
`
`(Continued)
`OTHER PUBLICATIONS
`
`(21) Appl. No.: 11/941,559
`.
`Flled:
`
`NOV' 16’ 2007
`
`(22)
`
`(65)
`
`Prior Publication Data
`Us 2008/0320190 A1
`Dec. 25, 2008
`
`Related US. Application Data
`
`“B1uet00th© Connecting Your Devices,” May 2007 [online],
`[retrieved on Feb. 24, 2009]. Retrieved from the Internet <URL
`http://web.archive.0rg/web/20070408235213/www.b1uet00th.com/
`Bluetooth/Connect/Devices/Generic Pairin
`Instructions.htm>.
`T
`(Commued)
`Primary Examiner 7 Mark Rinehart
`Assistant Examiner 7 Trisha Vu
`
`g,
`
`(60)
`
`Prov1s1onal application No. 60/945,860, filed on Jun.
`22, 2007.
`
`(74) Attorney, Agent, or Firm i Kilpatrick Townsend &
`Stockton LLP
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 13/38
`(2006 01)
`G06F 13/14
`'
`(52) U S Cl
`(58) Field 0% Class1ficatlonSearch”””
`
`710/315. 710/105
`710/104 106
`710/30(L304, 315
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`US. PATENT DOCUMENTS
`5,903,849 A
`5/1999 Selin et al.
`5,923,757 A
`7/1999 Hocker et al.
`5’965’847 A
`10/1999 Tanaka et al~
`6,012,105 A
`1/2000 Rubbmark et al.
`6,058,319 A
`5/2000 Sadler
`
`(57)
`
`ABSTRACT
`
`.
`.
`.
`A host dev1ce and an accessory exchange mformatlon (e.g.,
`commands and data) via an intermediate device. The host
`device and accessory can each connect to the intermediate
`device through a direct wired path and can exchange com-
`mands and data with the intermediate device. The ho st device
`
`and the accessory can also “tunnel” information to each other
`through the intermediate device, by packaging the tunneled
`information as a payload of a command recognizable by the
`intermediate device; the intermediate device can repackage
`and forward the payload. In some embodiments, the tunneled
`information relates to configuring a wireless link (e. g., a
`Bluetooth pairing) between the host device and the accessory.
`
`13 Claims, 9 Drawing Sheets
`
`200
`/
`
`224
`
`""222
`
`CONTROLLER
`
`
`ACCESSORY 170 M 225
`
`
`ACCESSORV
`'
`DOCKING l/O
`M
`
`
`HOST DEVICE
`
`mg
`
`
`BTTX/RX
`CELLTX/RX ((212
`210/
`
`
`
`
`
`
`
`
`
`
`
`misc
`135%?
`2W
`ACEESSORY I/O ‘r214
`
`
`INTERMEDIATE
`
`DEVICE
`v
`
`HOST 1/0
`220
`
`
`
`
`
`
`
`
`
`
`5T TX/RX
`
`
`
`
`
`CONTROLLER
`
`XNTUEiEF'kE
`
`
`
`1
`
`APPLE 1007
`
`APPLE 1007
`
`1
`
`
`
`US 8,078,787 B2
` Page 2
`
`US. PATENT DOCUMENTS
`.
`3131311623;
`34388?
`9/2006 Chou et a1.
`12/2006 Kumar
`'
`“2007 Mowe
`et 31
`2/2007 Kuriskrget al.
`3/2007 Alden
`'
`4/2007 Bruegger et 31~
`5/2007 Yu et al.
`........................ 370/313
`5/2007 Ransom et al.
`8/2007 Moretti et a1.
`11/2007 Schubert et a1.
`7/2009 Langberg
`11/2009 Sander et a1.
`10/2010 McKillop et a1.
`3/2011 Wyld
`1/2002 Sim et a1.
`6/2002 Anvekar et al.
`8/2002 Rahn et al.
`3/2003 Kurisko et al.
`11/2003 Hymel
`3/2004 Kawamura
`10/2004 Alden
`$3882 3211:1163: :3 al.
`3/2005 Main et 3'1. """""""""""
`7/2005 Yu et 31.
`7/2005 Park
`3/2006 Hamilton et a1.
`............ 455/412.1
`3/2006 Hameed et 3.1.
`6/2006 Gitzinger ...................... 713/170
`7/2006 Rubinstein et al.
`............. 726/27
`
`2,028,233 3:
`7,104,848 B1
`7’149’543 B2
`7,164,886 B2
`7’174’130 B2
`7,187,948 B2
`7,200,660 132
`7,215,649 B2 *
`7,216,043 B2
`7,260,112 B2
`7,293,122 B1
`7,564,678 B2
`7,623,667 B2
`7,813,715 B2
`7,913,297 B2
`2002/0002035 A1
`2002/0068610 A1
`2002/0103008 A1
`2003/0050009 A1
`2003/0220988 A1
`2004/0048569 A1
`2004/0198436 A1
`ggggéggiz‘gég :1 *
`2005/0060470 A1
`2005/0152294 A1
`2005/0157748 A1
`2006/0046793 A1
`2006/0068760 A1*
`2006/0143455 A1*
`2006/0156415 A1 *
`
`713/176
`
`.............. 455/412
`
`2/2007 Kurisko et a1.
`2007/0032195 A1 *
`3/2007 Callaghan
`2007/0074280 A1
`4/2007 Fu et a1.
`2007/0080823 A1
`6/2007 P1er0nek et a1.
`2007/0135092 A1
`2007/0238475 A1* 10/2007 Goedken ....................... 455/512
`2008/0227393 A1*
`9/2008 Tang et al.
`................... 455/41.3
`2010/0075604 A1
`3/2010 Lydon et al.
`2010/0180063 A1
`7/2010 Ananny
`FOREIGN PATENT DOCUMENTS
`
`1536615 A1
`1698518 A2
`EP
`2003-032351 A
`JP
`2003474386 A
`JP
`W0 00/60450 A1
`W0
`W0 02-096069 A2
`W0
`WO 2006/071364 A1
`W0
`W0 W0 2007-068164 A1
`
`6/2005
`9/2006
`“2003
`90003
`10/2000
`“/2002
`7/2006
`6/2007
`
`OTHER PUBLICATIONS
`
`“iPodDocldiPod Cradle,” [online], [retrieved on Feb. 27, 2003].
`Retrieved from the Internet <URL http://wwwbookendzdockscom/
`bookendz/dockicradle.html>.
`Simpson, “The Point-to-Point Protocol (PPP),” Jul. 1994 [online],
`[retrieved on Feb. 24, 2009]. Retrieved from the Internet <URL:
`http://www.1ef.0rg/rfc/rfc1661.txt>.
`Simpson, “The Point-To-Point Protocol (PPP),” Jul. 1994 [online],
`[retrieved on Feb. 24, 2009]. Retrieved from the Internet <URL
`http://www,ietf,org/rfc/rfc1661,txt>, 50 pages,
`
`* Cited by examiner
`
`2
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 1 019
`
`US 8,078,787 B2
`
`
`
`Fifi-3.11%
`
`140
`
`3
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 2 of9
`
`US 8,078,787 B2
`
`HOST DEVICE
`
`STORAGE
`DEVICE
`
`USER
`INTERFACE
`
`
`
`INTERMEDIATE
`
`DEVICE
`
`
`
`
`
`fl
`
`HOST I/O
`
`CONTROLLER
`
`
`
`
`
`
`
`
`ACCESSORY I/O
`
`ACCESSORY
`
`m
`
`DOCKING I/O
`
`BT TX/RX
`
`CONTROLLER
`
`USER
`INTERFACE
`
`FIG. 2
`
`4
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 3 of9
`
`US 8,078,787 B2
`
`V 312
`
`308
`
`306
`
`310
`
`314
`
`
`
`302
`
`Y ______
`
`304
`
`COMMAND
`
`DIRECTION
`
`PAYLOAD
`
`TxHTunneIToAccessow
`
`H a I
`
`anf‘e'efi command
`orlgmatmg from host
`
`AckHTunneIToAccessory
`
`Transaction ID, status
`
`
`
`TXHTunneIToHost
`
`I a H
`
`annelgd command
`orlgmatmg from accessory
`
`FIG. 4A
`
`5
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 4 of9
`
`US 8,078,787 B2
`
`COMMAND
`
`DIRECTION
`
`PAYLOAD
`
`TxATunnelToHost
`
`A —> I
`
`Tunneled command
`.
`.
`.
`originating from accessory
`
`AckadToAccessory
`
`I —> A
`
`Transaction ID, status
`
`Status information
`
`TxATunnelToAccesson/
`
`I _) A
`
`Tunneled command
`originating from host
`
`AckadFromAccessow
`
`Transaction ID, status
`
`AStatusBeacon
`
`I
`
`6
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 5 of9
`
`US 8,078,787 B2
`
`Host determines command to be tunneled
`
`502
`
`to accessory
`
`500
`\
`
`Host sends tunneling command to
`
`intermediate device with tunneled
`
`command as payload
`
`Intermediate device repackages payload as
`accessory-side tunneling command
`
`
`
`Intermediate device sends tunneling
`command to accessory with tunneled
`command as payload
`
`Accessory extracts tunneled command
`
`Accessory determines response to be
`tunneled to host
`
`Accessory sends tunneling command to
`intermediate device with tunneled
`
`
`
`response as payload
`
`Intermediate device repackages payload as
`host-side tunneling command
`
`
`
`Intermediate device sends tunneling
`command to host with tunneled response
`as payload
`
`Host extracts tunneled response
`
`FIG. 5
`
`504
`
`506
`
`508
`
`510
`
`512
`
`514
`
`516
`
`518
`
`520
`
`7
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 6 of9
`
`US 8,078,787 B2
`
`600
`
`\
`
`Intermediate device checks for
`
`604
`
`presence of host and accessory
`
`
`
`
`606
`
`Host and accessory present?
`
`YES
`
`Intermediate device notifies host that
`
`accessory is present
`
`Intermediate device notifies accessory
`that host is present
`
`608
`
`610
`
`612
`
`Accessory tunnels a self-identification
`command to host
`
`Accessory waits for response to be
`tunneled from host
`
`
`
`
`616
`
`YES
`
`618
`
`Accessory stops tunneling self-
`IdentIfIcatIon command
`
`End
`
`620
`
`FIG. 6
`
`8
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 7 of9
`
`US 8,078,787 B2
`
`
`
`FIG. 7A
`
`mamm-
`
`om
`
`Achdentify
`
`Unique identifier of the accessory
`
`Current BT name of the accessory
`
`Status information related to received command
`
`Version of tunnel protocol supported by accessory
`
`RetAchnfo
`
`Information responsive to GetAchnfo command
`
`RetAccBTAddr
`
`BT Address for pairing slot specified in
`GetAccBTAddr command
`
`RetAccBTState
`
`BT state information for the accessory
`
`RetAccBTName
`
`FIG. 7B
`
`9
`
`
`
`US. Patent
`
`Dec. 13, 2011
`
`Sheet 8 of9
`
`US 8,078,787 B2
`
`f 804
`
`/
`
`“
`
`Accessory sends self-identifying
`command
`
`
`Response from host?l
`
`YES
`Host requests version
`information
`
`/fi810
`
`fi 812
`
`Accessory returns version
`information
`
`/fis1e
`
`818
`
`,fik814
`
`Compatible?
`
`YES
`
`Host requests information re
`wireless capabilities of device
`
`NO
`
`820
`
`822
`
`/,fi 824
`
`
`
`Host requests current pairing
`information
`
`fi 826
`
`Accessory returns current pairing
`information
`
`messagei
`II
`Accessory returns information
`
`
`
`
`Host returns error
`
`/*832
`
`_
`_
`_
`Establish pairing
`
`/
`
`834
`
`NO
`
`Accessory
`has other
`
`pairings?
`
`YES
`
`
`Notify user of other pairings
`
`k 838
`
`Take action specified by user
`
`
`
`
`
`
`
`Host, accessory
`already paired?
`
`Maintain existing pairing
`
`10
`
`10
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 13, 2011
`Dec. 13, 2011
`
`Sheet 9 of 9
`Sheet 9 of9
`
`US8,078,787 B2
`US 8,078,787 B2
`
`
`
`
`11
`
`11
`
`
`
`US 8,078,787 B2
`
`1
`COMMUNICATION BETWEEN A HOST
`DEVICE AND AN ACCESSORY VIA AN
`INTERMEDIATE DEVICE
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`This application claims the benefit of US. Provisional
`Application No. 60/945,860, filed Jun. 22, 2007, entitled
`“Communication BetweenA Host DeviceAndAnAccessory
`Via An Intermediary,” the disclosure ofwhich is incorporated
`herein by reference for all purposes.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to communication
`of information between electronic devices and in particular to
`communication of information between a host device and an
`
`accessory Via an intermediate device.
`
`BACKGROUND OF THE INVENTION
`
`Recently, there has been considerable interest in providing
`short-range wireless devices that are easily interoperable with
`other devices not necessarily produced by the same manufac-
`turer. For instance, it is desirable to provide wireless headsets
`for mobile phones that will work with phones made by dif-
`ferent manufacturers, or to provide keyboards, mice or other
`peripheral devices that will work with computers made by
`different manufacturers. Interoperability increases consumer
`choice and flexibility.
`Various standards bodies and industry groups have defined
`standards for short-range wireless communication. One com-
`mon example is the standard developed by the Bluetooth
`Special
`Interest Group (a non-profit organization) and
`licensed under the trademark Bluetooth®. The Bluetooth
`
`standard (referred to herein simply as “Bluetooth”) allows a
`host device such as a mobile phone and an accessory such as
`a headset to establish a wireless “pairing.”A pairing is usually
`established through a partly-automated, partly-manual pro-
`cess. For example, a wireless headset might send a signal
`identifying itself as a Bluetooth-enabled device. A mobile
`phone detects this signal and thus determine that the acces-
`sory is available for pairing. The mobile phone then prompts
`the user to enter a “passcode” or “PIN code” for the accessory.
`In some cases, the accessory’s passcode is hard-coded in the
`accessory, and the user must look up the passcode (e.g., in
`documentation associated with the accessory) and enter it
`into the mobile phone. In other cases, the accessory’s pass-
`code is not hard-coded, and the accessory can make up an
`arbitrary passcode, which the user then enters into the mobile
`phone.
`In either case, after receiving the passcode from the user,
`the mobile phone sends the passcode to the accessory. If the
`passcode matches the accessory’s passcode, the accessory
`confirms the match, and a pairing is established. If the pass-
`code does not match, the pairing is not established, and the
`user may be advised of the failure and allowed to retry. The
`number of retries is normally limited to prevent unauthorized
`users from determining passcodes through trial and error.
`The Bluetooth standard also provides for encryption of
`data transmitted between paired devices. Symmetric-key
`cryptography, in which the same “link key” is used for both
`encryption and decryption, is used. The initial link key is
`generated independently by both devices using the passcode
`and a random number that is generated by one of the paired
`devices and transmitted to the other as cleartext. Thereafter,
`
`2
`
`the two devices can generate a new link key. However,
`because the random number and the pas scode are transmitted
`wirelessly as cleartext, an interloper could gain access to that
`information and determine the initial link key, then monitor
`subsequent transmissions.
`Thus, existing procedures for configuring Bluetooth or
`other wireless links can be cumbersome, and the links them-
`selves might not be as secure as desired.
`It would therefore be desirable to provide improved meth-
`ods for communicating information, such as information
`related to configuring a Bluetooth or other wireless commu-
`nication link, between two devices.
`
`BRIEF SUMMARY OF THE INVENTION
`
`Embodiments of the present invention relate to communi-
`cation of information between electronic devices and in par-
`ticular to communication of information between a host
`
`device and an accessory via an intermediate device. The host
`device and the accessory can “tunnel” commands and data to
`each other through the intermediate device. For example, the
`host can send a “tunneling” command to the intermediate
`device, with a command and/or data intended for the acces-
`sory packaged as a payload inside the tunneling command.
`The intermediate device can repackage the payload as a tun-
`neling command in a format suitable for sending to the acces-
`sory and can send this latter tunneling command to the acces-
`sory. The accessory can unpackage the payload and interprets
`it as a command from the host. Communication from the
`
`accessory to the host device can be accomplished in a similar
`manner.
`
`Any type of information can be exchanged using tunneling
`commands. In some embodiments, the information commu-
`nicated may relate to configuring a wireless communication
`link (e.g., a Bluetooth pairing) between the host device and
`the accessory. For example, the host can provide to the acces-
`sory parameters establishing a Bluetooth pairing or other
`wireless link. Thus, an indirect (and possibly wired) channel
`connecting the host and the accessory can be used to config-
`ure an alternative (wireless) connection. In still other embodi-
`ments, a host device and an accessory can communicate
`directly via a first link (such as a direct wired connection) to
`establish a second link (such as a Bluetooth pairing or other
`wireless link) without using tunneling commands or an inter-
`mediate device.
`
`In one aspect, the present invention relates to a system for
`communicating information between a host device and an
`accessory. The system includes an intermediate device, which
`can be an electronic device configured to couple to a host
`device and further configured to communicate with the host
`device according to a first protocol. The intermediate device
`can also be configured to couple to an accessory interoperable
`with the host device and further configured to communicate
`with the accessory according to a second protocol. The first
`protocol can include a first tunneling command usable by the
`host device to instruct the intermediate device to forward
`
`tunneled information associated with the first tunneling com-
`mand to the accessory, and the second protocol can include a
`second tunneling command usable by the intermediate device
`to deliver the tunneled information associated with the first
`
`tunneling command to the accessory. For communication in
`the other direction, the second protocol can also include a
`third tunneling command usable by the accessory to instruct
`the intermediate device to forward tunneled information
`
`associated with the third tunneling command to the host
`device, and the first protocol can include a fourth tunneling
`command usable by the intermediate device to deliver the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`12
`
`12
`
`
`
`US 8,078,787 B2
`
`3
`tunneled information associated with the third tunneling
`command to the host device. Any type of information can be
`tunneled, and in particular a command originated from either
`the host device or the accessory to be executed by either the
`accessory or the host device, and/or data associated with such
`a command, can be tunneled. In some embodiments, the
`tunneled commands and/or data relate to establishing a wire-
`less link (e.g., a Bluetooth pairing) between the host device
`and the accessory.
`In another aspect, the present invention relates to another
`system for communicating information. The system can
`include a host device (e.g., a mobile phone, media player, or
`multipurpose device) having a communication interface, an
`accessory (e. g., a wireless headset, stereo headphone, or
`remote control) having a communication interface, and an
`intermediate device having a first communication interface
`adapted to connect to the communication interface ofthe host
`device and a second communication interface adapted to con-
`nect to the communication interface of the accessory. The
`intermediate device can be configured to communicate with
`the host device using a first protocol and to communicate with
`the accessory using a second protocol. Each of the first pro-
`tocol and the second protocol can include a tunneling com-
`mand receivable by the intermediate device, and the tunneling
`command in each ofthe first protocol and the second protocol
`can instruct the intermediate device to use the other ofthe first
`
`protocol and the second protocol to forward a payload asso-
`ciated with the received tunneling command.
`In another aspect, the present invention relates to a method
`for communicating information between a host device and an
`accessory. A ho st device can determine an information item to
`be delivered to an accessory, the information item conforming
`to a tunnel protocol. The host device can generate a first
`tunneling command to be delivered to an intermediate device;
`the first tunneling command can conform to a first protocol
`and incorporating the information item as tunneled informa-
`tion. The host device can transmit the first tunneling com-
`mand to the intermediate device, which can convert the first
`tunneling command to a second tunneling command con-
`forming to a second protocol and incorporating the informa-
`tion item as tunneled information and can transmit the second
`
`tunneling command to the accessory, thereby delivering the
`tunneled information item to the accessory. The command
`can include, e.g., information usable to establish a wireless
`link (e.g., a Bluetooth pairing) between the host device and
`the accessory.
`In another aspect, the invention relates to a method for
`communicating information between a first electronic device
`(such as a host device or accessory) and a second electronic
`device (such as an accessory or host device). The first elec-
`tronic device can determine an information item to be deliv-
`ered to a second electronic device, with the information item
`conforming to a tunnel protocol. The first electronic device
`can generate a first tunneling command to be delivered to an
`intermediate device. The first tunneling command can con-
`form to a first protocol and can incorporate the information
`item as tunneled information. The first electronic device can
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`transmit the first tunneling command to the intermediate
`device. The intermediate device can convert the first tunnel-
`
`60
`
`ing command to a second tunneling command conforming to
`a second protocol and incorporating the information item as
`tunneled information and can transmit the second tunneling
`command to the second electronic device. The second elec-
`
`tronic device can receive the second tunneling command and
`can extract the information item from the second tunneling
`command.
`
`65
`
`13
`
`4
`
`In another aspect, the invention relates to a method for
`communicating information between a first electronic device
`and a second electronic device. An intermediate device can
`
`receive a first tunneling command from a first electronic
`device. The first tunneling command can conform to a first
`protocol and can incorporate a tunneled information item
`therein. The intermediate device can convert the first tunnel-
`
`ing command to a second tunneling command. The second
`tunneling command can conform to a second protocol and
`can incorporate the tunneled information item therein. The
`intermediate device can transmit the second tunneling com-
`mand to a second electronic device, and the second electronic
`device can be configured to extract the tunneled information
`item from the second tunneling command.
`In another aspect, the invention relates to a method for
`establishing a wireless link (e.g., a Bluetooth pairing)
`between a host device and an accessory. A point-to-point
`wired connection can be established between the host device
`
`and the accessory. The point-to-point wired connection can
`provides for an exchange of commands and data between the
`host device and the accessory. The accessory can provide to
`the host device, via the point-to-point wired connection, data
`indicative of a wireless communication capability of the
`accessory; the data can include, e.g., a wireless address ofthe
`accessory. The host device can provide to the accessory, via
`the point-to-point wired connection, a command instructing
`the accessory to establish a wireless link with the host device;
`the command can include, e.g., a wireless address of the host
`device. The accessory can establish the wireless link with the
`host device in response to the command.
`In another aspect, the invention relates to a method for
`establishing a wireless link between a host device and an
`accessory that can be performed by a host device. The host
`device can detect a wired connection to the accessory, where
`the wired connection provides for an exchange of commands
`and data between the host device and the accessory. The host
`device can obtain from the accessory, using the wired con-
`nection, information pertaining to a wireless communication
`capability ofthe accessory; this information can include, e. g.,
`a wireless address of the accessory. The host device can
`provide to the accessory, using the wired connection, infor-
`mation defining or configuring a new wireless link between
`the accessory and the host device; the information provided to
`the accessory can include, e.g., a wireless address of the host
`device. The wireless link can be established in response to the
`accessory receiving the information defining the new wireless
`link.
`
`In another aspect, the invention relates to a method for
`establishing a Bluetooth pairing between a host device and an
`accessory. The host device can determine when the host
`device and the accessory are each coupled to a common
`intermediate device that is configured to receive tunneling
`commands from the host device and the accessory and to
`forward a payload ofeach received tunneling command to the
`other ofthe host device and the accessory. The host device can
`obtain from the accessory, via the intermediate device, infor-
`mation regarding a Bluetooth capability of the accessory; the
`information can include, e. g., a number of Bluetooth pairing
`slots supported by the accessory. The host device can also
`obtain from the accessory, via the intermediate device, cur-
`rent Bluetooth pairing information for the accessory (which
`information can include, e.g., a Bluetooth address of the
`accessory). In the event that the current Bluetooth pairing
`information does not include information corresponding to a
`pairing with the host device, the host device can send to the
`accessory, via the intermediate device, information establish-
`
`13
`
`
`
`US 8,078,787 B2
`
`5
`ing a Bluetooth pairing between the accessory and the host
`device (which information can include, e.g., a Bluetooth
`address of the host device).
`In another aspect, the invention relates to a method for
`establishing a wireless link between a host device and an
`accessory that can be performed by an accessory. The acces-
`sory can detect a wired connection to the host device, where
`the wired connection provides for an exchange of commands
`and data between the host device and the accessory. The
`accessory can provide to the host device, using the wired
`connection, information pertaining to a wireless communica-
`tion capability of the accessory; the information can include,
`e.g., a wireless address of the accessory. The accessory can
`receive from the host device, using the wired connection,
`information defining a new wireless link between the acces-
`sory and the ho st device; the received information can include
`a wireless address of the host device. The accessory can
`establish the wireless link to the host device in response to
`receiving the information defining the new wireless link.
`In another aspect, the invention relates to a method for
`establishing a Bluetooth pairing between a host device and an
`accessory. The accessory can detect that the host device and
`the accessory are each coupled to a common intermediate
`device, wherein the intermediate device is configured to
`receive tunneling commands from the host device and the
`accessory and to forward a payload of each received tunnel-
`ing command to the other ofthe host device and the accessory.
`The accessory can provide to the host device, via the inter-
`mediate device, information regarding a Bluetooth capability
`of the accessory; the information can include, e. g., a number
`of Bluetooth pairing slots supported by the accessory. The
`accessory can also provide to the host device, via the inter-
`mediate device, current Bluetooth pairing information for the
`accessory (which information can include, e.g., a Bluetooth
`address ofthe accessory). The accessory can receive from the
`host device, via the intermediate device, information estab-
`lishing a new Bluetooth pairing between the accessory and
`the host device (which information can include, e. g., a Blue-
`tooth address of the host device).
`In another aspect, the invention relates to a portable elec-
`tronic device. The portable electronic device can include a
`wireless transceiver configured to send and receive wireless
`signals, an interface configured to communicate with an inter-
`mediate device via a wired signal path, and a processor com-
`municably coupled to the wireless transceiver and the inter-
`face. The interface can be configured to support a tunneling
`protocol usable to send to the intermediate device tunneled
`commands to be forwarded to an accessory and to receive
`from the intermediate device tunneled commands originating
`from the accessory. The processor can be configured to gen-
`erate tunneled commands to be sent to the accessory and to
`interpret and respond to tunneled commands received from
`the accessory. The processor can also be configured to obtain
`from the accessory via the intermediate device, using the
`tunneled commands, information pertaining to a wireless
`communication capability of the accessory, the information
`including a wireless address ofthe accessory and to provide to
`the accessory via the intermediate device, using the tunneled
`commands, a command instructing the accessory to establish
`a wireless link with the portable electronic device, the com-
`mand including a wireless address of the wireless transceiver
`of the portable electronic device.
`In another aspect, the present invention relates to accessory
`for use with a portable electronic device. The accessory can
`include a wireless transceiver configured to send and receive
`wireless signals, an interface configured to communicate
`with an intermediate device via a wired signal path, and a
`
`6
`controller communicably coupled to the wireless transceiver
`and the interface. The interface can be configured to support
`a tunneling protocol usable to send to the intermediate device
`tunneled commands to be forwarded to a host device and to
`receive from the intermediate device tunneled commands
`
`originating from the host device. The controller can be con-
`figured to generate tunneled commands to be sent to the host
`device and to interpret and respond to tunneled commands
`received from the ho st device and can be further configured to
`provide to the host device via the intermediate device, using
`the tunneled commands, information pertaining to a wireless
`communication capability of the accessory, the information
`including a wireless address of the wireless transceiver of
`accessory and to receive from the host device via the inter-
`mediate device, using the tunneled commands, a command
`instructing the accessory to establish a wireless link with the
`portable electronic device, the command including a wireless
`address of the host device.
`
`The following detailed description together with the
`accompanying drawings will provide a better understanding
`of the nature and advantages of the present invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIGS. 1A and 1B illustrate systems with a host device
`connected to an accessory through an intermediate device
`according to embodiments of the present invention.
`FIG. 2 is a block diagram of a system including a host
`device, accessory and intermediate device according to an
`embodiment of the present invention.
`FIG. 3 is a block diagram showing communication paths
`among a host device, accessory and intermediate device
`according to an embodiment of the present invention.
`FIG. 4A is a table listing tunneling commands for a host-
`side protocol according to an embodiment of the present
`invention.
`
`FIG. 4B is a table listing tunneling commands for an acces-
`sory-side protocol according to an embodiment ofthe present
`invention.
`
`FIG. 5 is a flow diagram of a tunneling communication
`process between a host device and an accessory via an inter-
`mediate device according to an embodiment of the present
`invention.
`
`FIG. 6 is a flow diagram of a process for establishing the a
`tunneling connection between a host device and an accessory
`via an intermediate device according to an embodiment ofthe
`present invention.
`FIG. 7A is a table listing tunnel protocol commands that
`can be sent by a host device to an accessory according to an
`embodiment of the present invention.
`FIG. 7B is a table listing tunnel protocol commands that
`can be sent by an accessory to a host device according to an
`embodiment of the present invention.
`FIG. 8 is a flow diagram of a process for establishing a
`wireless link (e.g., a Bluetooth pairing) between a host device
`and an accessory according to an embodiment of the present
`invention.
`
`FIGS. 9A and 9B illustrate systems with a host device
`directly connected to an accessory to allow establishment of
`a wireless link (e.g., a Bluetooth pairing) according to an
`embodiment of the present invention.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`Embodiments of the present invention relate to communi-
`cation of information between electronic devices and in par-
`ticular to communication of information between a host
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`14
`
`14
`
`
`
`US 8,078,787 B2
`
`7
`device and an accessory Via an intermediate device. The host
`device and the accessory can “tunnel” commands and data to
`each other through the intermediate device. For example, the
`host can send a “tunneling” command to the intermediate
`device, with a command and/or data intended for the acces-
`sory packaged as a payload inside the tunneling command.
`The intermediate device can repackage the payload as a tun-
`neling command in a format suitable for sending to the acces-
`sory and can send this latter tunneling command to the acces-
`sory. The accessory can unpackage the payload and interprets
`it as a command from the host. Communication from the
`
`accessory to the host device can be accomplished in a similar
`manner.
`
`Any type of information can be exchanged using tunneling
`commands. In some embodiments, the information commu-
`nicated may relate to configuring a wireless communication
`link (e.g., a Bluetooth pairing) between the host device and
`the accessory. For example, the host can provide to the acces-
`sory parameters establishing a Bluetooth pairing or other
`wireless link. Thus, an indirect (and possibly wired) channel
`connecting the host and the accessory can be used to config-
`ure an alternative (wireless) connection. In still other embodi-
`ments, a host device and an accessory can communicate
`directly via a first link (such as a direct wired connection) to
`establish a second link (such as a Bluetooth pairing or other
`wireless link) without using tunneling commands or an inter-
`