Techniques for facilitating communication between an accessory and a mobile computing device using application specific protocols
First Claim
1. A non-transitory computer readable medium having stored thereon program instructions for an application, wherein when the application is executed by a processor of a mobile computing device, the program instructions cause the processor to execute a method comprising:
- requesting, by the application, accessory information from an application manager, wherein the application manager is a background process executing at the mobile computing device and provides communication connectivity between applications executing at the mobile computing device and an accessory communicatively coupled with the mobile computing device;
sending, from the application, application protocol information to the application manager, wherein the application protocol information includes an indication of one or more application protocols supported by the application;
in the event an accessory is communicatively coupled with the mobile computing device, receiving from the application manager an accessory identifier and one or more protocol identifiers specifying at least one application communication protocol compatible with the accessory;
determining whether the application is compatible with an application communication protocol from the at least one application protocol;
in the event the application is compatible, opening a session for communication with the accessory through the application manager using the application communication protocol; and
communicating with the accessory using the application communication protocol.
1 Assignment
0 Petitions
Accused Products
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.
59 Citations
13 Claims
-
1. A non-transitory computer readable medium having stored thereon program instructions for an application, wherein when the application is executed by a processor of a mobile computing device, the program instructions cause the processor to execute a method comprising:
-
requesting, by the application, accessory information from an application manager, wherein the application manager is a background process executing at the mobile computing device and provides communication connectivity between applications executing at the mobile computing device and an accessory communicatively coupled with the mobile computing device; sending, from the application, application protocol information to the application manager, wherein the application protocol information includes an indication of one or more application protocols supported by the application; in the event an accessory is communicatively coupled with the mobile computing device, receiving from the application manager an accessory identifier and one or more protocol identifiers specifying at least one application communication protocol compatible with the accessory; determining whether the application is compatible with an application communication protocol from the at least one application protocol; in the event the application is compatible, opening a session for communication with the accessory through the application manager using the application communication protocol; and communicating with the accessory using the application communication protocol. - View Dependent Claims (2, 3, 4)
-
-
5. A method for an application to establish communication with an accessory using an application manager, the method comprising:
-
receiving an indication from the application manager specifying an application protocol compatible with the accessory; sending application protocol information to the application manager, wherein the application protocol information includes an indication of the application protocols supported by the application; receiving an input stream and an output stream from the application manager for communication with the accessory using the application protocol; and thereafter, writing an application protocol message for the accessory to the output stream. - View Dependent Claims (6, 7)
-
-
8. A method performed by an application executing on a mobile computing device, the method comprising:
-
sending, from the application, application protocol information to an application manager executing on the mobile computing device, wherein the application protocol information includes an indication of one or more application protocols supported by the application; requesting accessory information from the application manager, wherein the accessory information includes information indicating one or more application protocols supported by an accessory communicatively coupled with the mobile computing device; determining whether one of the application protocols supported by the accessory matches one of the application protocols supported by the application; in the event that one of the application protocols supported by the accessory matches one of the application protocols supported by the application, requesting from the application manager an input stream and an output stream for communication with the accessory using the matching application protocol; receiving from the application manager an input stream and an output stream; and thereafter, writing an application protocol message for the accessory to the output stream. - View Dependent Claims (9, 10, 11)
-
-
12. A method comprising:
-
receiving, by a mobile computing device, information pertaining to an accessory connected to the mobile computing device, the information including an accessory identifier; receiving, by an application manager executing on the mobile computing device, application protocol information from an application resident on the mobile computing device, wherein the application protocol information includes an indication of one or more application protocols supported by the application; determining, by the application, whether the application is compatible with the accessory based on the received information pertaining to the accessory; and if the application is compatible; opening, by the application, a session for communication with the accessory; and communicating, by the application, with the accessory using a communication protocol specific to the application.
-
-
13. An electronic device comprising:
a processor configured to execute an application manager and an application resident on the electronic device, the processor being configured to; receive information pertaining to an accessory connected to the electronic device, the information including an accessory identifier; receive, at the application manager, application protocol information from the application resident on the mobile computing device, wherein the application protocol information includes an indication of one or more application protocols supported by the application; determine, by the application, whether the application is compatible with the accessory based on the received information pertaining to the accessory; and if the application is compatible; open, by the application, a session for communication with the accessory; and communicate, by the application, with the accessory using a communication protocol specific to the application.
Specification