Patent ID: 8402145

Claim:
A method for establishing a communication session between an application executing on a mobile computing device and an accessory in communication with the mobile computing device, the method executing at the mobile computing device, the method comprising: establishing a connection to an accessory according to an accessory communication protocol that provides a global standard to enable communication between any accessory and the mobile computing device; receiving, by an application manager executing on the mobile device, accessory information from the accessory, the accessory information including an identifier of at least one application communication protocol with which the accessory is compatible, the accessory information being communicated according to the accessory communication protocol, wherein the application communication protocol is distinct from the accessory communication protocol; receiving, by the application manager, application information from an application on the mobile device, the application information including an identifier of an application communication protocol supported by the application, wherein different applications support different application communication protocols; receiving, by the application manager, a request from the application for information related to the accessory; providing, by the application manager, accessory information to the application, wherein the accessory information comprises a first identifier of a first application communication protocol with which both the application and the accessory are compatible; receiving, by the application manager from the application, a request for a communication session between the accessory and the application for communication using the first application communication protocol; establishing, by the application manager, the communication session in response to the request; receiving, at the communication session, a message from the application, wherein the message is formatted by the application according to the first application communication protocol; wrapping the message with an accessory communication protocol wrapper; and communicating the message to the accessory, wherein the message is communicated according to the accessory communication protocol.