IP Library › Granted Patent US 8,700,789
Granted Patent B2
US 8,700,789 · App. 12/720,349 · Granted Apr 15, 2014

Accessory and mobile computing device communication using an application communication protocol

Inventors: Paul Holden (Sunnyvale, CA); Lawrence Bolton (Fremont, CA); Nitin Ganatra (San Jose, CA); Mitchell Adler (Cupertino, CA); Emily Clark Schubert (San Jose, CA); Jesse Lee Dorogusker (Los Altos, CA)
Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,700,789
App. No.
12/720,349
Granted
Apr 15, 2014
Kind
B2
Abstract

Embodiments of the present invention provide various communication techniques for communication between a mobile computing device and an accessory. An accessory protocol that is generic to the mobile computing device can be used for some communication. An application executing at the mobile computing device can communicate with the accessory using an application communication protocol. In some embodiments, the application communication protocol can be different from the accessory communication protocol. In other embodiments the application protocol may only be recognized by the application and the accessory. In some embodiments, messages conforming to an application protocol can be communicated between the application and the accessory by packaging the messages inside a message conforming to the accessory communication protocol.

Claims (59)

1. A method for communicating between an accessory device and an application executing on a mobile computing device, the method operating at the accessory device, the method comprising:

communicating with an operating system executing at the mobile computing device using an accessory communication protocol, wherein the accessory communication protocol provides a global standard to enable communication between any accessory device and the mobile computing device;

communicating information specifying an application communication protocol to the operating system executing at the mobile device using the accessory communication protocol, wherein the application communication protocol is distinct from the accessory communication protocol and is specific to a particular application on the mobile computing device; and

communicating with the application on the mobile computing device using the application communication protocol,

wherein communicating with the application includes:

generating a message conforming to the application communication protocol;

wrapping the message in an accessory protocol wrapper; and

communicating the wrapped message to the mobile computing device, wherein the wrapped message is communicated according to the accessory communication protocol.

2. The method according to claim 1 , further comprising receiving application communication protocol commands from the application executing on the mobile communication device and changing the state of the accessory in response thereto.

3. The method according to claim 1 , further comprising sending data to the application executing on the mobile computing device in response to a command from the application executing on the mobile computing device, wherein the data is sent using the application communication protocol and the command is received using the accessory communication protocol.

4. The method according to claim 1 , wherein the information specifying at least one application communication protocol is provided in a reverse domain name convention.

5. The method according to claim 1 , further comprising controlling functionality of the mobile computing device with the accessory using the accessory communication protocol.

6. An accessory device comprising:

a housing;

a communication interface disposed at least partially within the housing, and configured to exchange commands and data with a mobile computing device, the communication interface having at least one port; and

control logic disposed within the housing and communicatively coupled with the communication interface, the control logic being configured to:

communicate with an operating system executing at the mobile computing device through the communication interface using an accessory communication protocol wherein the accessory communication protocol provides a global standard to enable communication between any accessory device and the mobile computing device; and

communicate with an application executing on the mobile computing device through the communication interface using an application communication protocol, wherein the application communication protocol is distinct from the accessory communication protocol and is specific to the application executing on the mobile computing device,

wherein communicating with the application includes:

generating a message conforming to the application communication protocol;

wrapping the message in an accessory protocol wrapper; and

communicating the wrapped message to the mobile computing device, wherein the wrapped message is communicated according to the accessory communication protocol.

7. The accessory device according to claim 6 , wherein the control logic is configured to communicate information specifying the application communication protocol using the accessory communication protocol.

8. The accessory device according to claim 6 , wherein the control logic is configured to communicate information specifying the application communication protocol using a standard communication protocol other than the accessory communication protocol.

9. The accessory device according to claim 7 , wherein the application communication protocol information is communicated to the mobile computing device using a reverse domain name convention.

10. The accessory device according to claim 7 , wherein the communication interface comprises a wireless communication interface.

11. A method for communicating between an accessory device and an application executing at a mobile computing device, the method operating at the accessory device, the method comprising:

communicating accessory information to an operating system executing at the mobile computing device using an accessory communication protocol, wherein the accessory communication protocol provides a global standard to enable communication between any accessory device and the mobile computing device and wherein the accessory information includes at least one of an application protocol string, an application protocol index corresponding with the application protocol string, preferred application information, or accessory communication protocol information;

receiving at least one of a session identifier, an application protocol identifier, or an open connection command from the mobile computing device; and

thereafter communicating with the application executing at the mobile computing device using an application communication protocol, wherein the application communication protocol is a protocol associated with the application protocol string communicated to the mobile computing device and wherein the application communication protocol is distinct from the accessory communication protocol and is specific to the application executing at the mobile computing device,

wherein communicating with the application includes:

generating a message conforming to the application communication protocol;

wrapping the message in an accessory protocol wrapper; and

communicating the wrapped message to the mobile computing device, wherein the wrapped message is communicated according to the accessory communication protocol.

12. The method according to claim 11 , wherein the preferred application information specifies an application which supports communication using an application communication protocol associated with the application protocol string communicated to the mobile computing device.

13. The method according to claim 11 , wherein the communicating includes controlling the functionality of the mobile computing device with the accessory.

14. The method according to claim 11 , wherein the application communication protocol string is in a reverse domain name convention.

15. An accessory device comprising:

a housing;

a communication interface disposed at least partially within the housing, and configured to communicatively couple with a mobile computing device;

accessory hardware; and

control logic disposed within the housing and communicatively coupled with the communication interface and the accessory specific hardware, the control logic being configured to:

communicate application communication protocol information to an operating system executing at a mobile computing device through the communication interface using an accessory communication protocol, wherein the accessory communication protocol provides a global standard to enable communication between any accessory device and the mobile computing device;

establish a communication session with an application executing at the mobile computing device through the communication interface, wherein the communication session uses the application communication protocol to communicate between the accessory and the application executing at the mobile computing device and wherein the application communication protocol is distinct from the accessory communication protocol and is specific to the application executing at the mobile computing device; and

communicate with the application executing at the mobile computing device via the communication session, wherein communicating with the application includes:

generating a message conforming to the application communication protocol;

wrapping the message in an accessory protocol wrapper; and

communicating the wrapped message to the mobile computing device, wherein the wrapped message is communicated according to the accessory communication protocol.

16. The accessory device according to claim 15 , wherein the communication interface comprises a wireless communication interface.

17. The accessory device according to claim 15 , wherein the control logic is further configured to receive hardware data from the accessory hardware, and send the hardware data to the application executing at the mobile computing device using the application communication protocol.

18. The accessory device according to claim 17 , wherein the accessory hardware comprises a sensor and the hardware data comprises data collected using the sensor.

19. The accessory device according to claim 17 , wherein the accessory hardware comprises a hardware interface with an electrical device and the hardware data comprises data received from the electrical device through the hardware interface.

20. The accessory device according to claim 15 , wherein the accessory hardware comprises a hardware interface with an electrical device and the data from the application executing at the mobile computing device comprise data to control the electrical device using the a hardware interface.

21. The accessory device according to claim 15 , wherein the accessory hardware comprises a display and the data from the application executing at the mobile computing device comprises displayable information.

22. The method of claim 1 , wherein the application provides a user interface at the mobile computing device for interacting with the accessory device.

23. The method of claim 1 , wherein communicating with the operating system using the accessory communication protocol and communicating with the application using the application communication protocol occur concurrently.

24. The accessory device according to claim 15 , wherein the control logic is further configured to:

receive data from the application executing at the mobile computing device using the application communication protocol; and

control the operation of the accessory hardware in response to the data received from the application executing at the mobile computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2010
From: HOLDEN, PAUL; BOLTON, LAWRENCE; GANATRA, NITIN; ADLER, MITCHELL; SCHUBERT, EMILY CLARK; DOROGUSKER, JESSE LEE
To: APPLE INC.
Reel/Frame 024056/0689 →
Continuity (3)
Provisional Application 61160601 · Mar 16, 2009
Provisional Application 61160644 · Mar 16, 2009
Related Publication 20100235425A1 · Sep 16, 2010