Automatic identification of compatible applications and accessories
First Claim
1. A method comprising:
- receiving, by a mobile computing device from an accessory external to and communicatively coupled with the mobile computing device, a request for executing an application, the request including an indicator identifying a first set of one or more application protocols supported by the accessory for communicating with the application, wherein the request is received using an accessory protocol that is distinct from each of the one or more application protocols,wherein the accessory protocol enables communication between the accessory and an operating system component of the mobile computing device and wherein each of the one or more application protocols is specific to one or more particular applications executable on the mobile computing device;
determining, by the mobile computing device, whether an application satisfying the request is available for execution at the mobile computing device, the determining comprising comparing the first set of one or more application protocols with a second set of one or more application protocols supported by applications resident on the mobile computing device;
if an application satisfying the request is not available for execution at the mobile computing device;
sending, by the mobile computing device, information to an application store through a network, the information comprising at least a portion of the indicator;
downloading, by the mobile computing device, an application associated with the indicator from the application store, wherein the downloaded application is an application satisfying the request; and
executing the application satisfying the request, wherein executing the application includes communicating, by the application, with the accessory using the application protocol,wherein communicating with the accessory using the application protocol includes;
writing, by the application, a message conforming to the application protocol to an output stream;
generating, by the operating system component of the mobile device, a bundle from the output stream; and
transmitting the bundle to the accessory device via a port, wherein the bundle is transmitted in conformity with the accessory 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.
98 Citations
38 Claims
-
1. A method comprising:
-
receiving, by a mobile computing device from an accessory external to and communicatively coupled with the mobile computing device, a request for executing an application, the request including an indicator identifying a first set of one or more application protocols supported by the accessory for communicating with the application, wherein the request is received using an accessory protocol that is distinct from each of the one or more application protocols, wherein the accessory protocol enables communication between the accessory and an operating system component of the mobile computing device and wherein each of the one or more application protocols is specific to one or more particular applications executable on the mobile computing device; determining, by the mobile computing device, whether an application satisfying the request is available for execution at the mobile computing device, the determining comprising comparing the first set of one or more application protocols with a second set of one or more application protocols supported by applications resident on the mobile computing device; if an application satisfying the request is not available for execution at the mobile computing device; sending, by the mobile computing device, information to an application store through a network, the information comprising at least a portion of the indicator; downloading, by the mobile computing device, an application associated with the indicator from the application store, wherein the downloaded application is an application satisfying the request; and executing the application satisfying the request, wherein executing the application includes communicating, by the application, with the accessory using the application protocol, wherein communicating with the accessory using the application protocol includes; writing, by the application, a message conforming to the application protocol to an output stream; generating, by the operating system component of the mobile device, a bundle from the output stream; and transmitting the bundle to the accessory device via a port, wherein the bundle is transmitted in conformity with the accessory protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium having stored thereon program code executable by a processor of a mobile computing device, the program code comprising instructions that, when executed by the processor, cause the processor to perform a method comprising:
-
receiving information from an accessory external to and communicatively coupled with the mobile computing device identifying an application, the information including an application protocol identifier representing an application protocol supported by the accessory for communicating with the application, wherein the information is received using an accessory protocol that is distinct from the application protocol, wherein the accessory protocol enables communication between the accessory and an operating system component of the mobile computing device and wherein the application protocol is specific to a particular application executable on the mobile computing device; determining whether the application identified by the received information is available at the mobile computing device; if the application identified by the received information is not available at the mobile computing device; sending to an application store a request that includes the information identifying the application; and downloading the application identified by the information from the application store; and executing the application identified by the received information, wherein executing the application includes communicating, by the application, with the accessory using the application protocol, wherein communicating with the accessory using the application protocol includes; writing, by the application, a message conforming to the application protocol to an output stream; generating, by the operating system component of the mobile device, a bundle from the output stream; and transmitting the bundle to the accessory device via a port, wherein the bundle is transmitted in conformity with the accessory protocol. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
receiving, by a mobile computing device, information identifying an application communication protocol from an accessory device external to and communicably coupled with the mobile computing device, wherein the information is received using an accessory protocol that enables communication between the accessory device and an operating system component of the mobile computing device, wherein the application communication protocol is a protocol supported by the accessory device for communication with a particular application executable on the mobile computing device, and wherein the accessory protocol is distinct from the application communication protocol, determining, by the mobile computing device, whether the application communication protocol is found within a protocol table resident on the mobile computing device, the protocol table storing data identifying application communication protocols supported by applications resident on the mobile computing device; if the application communication protocol is found within the protocol table, executing an application that supports the application communication protocol, wherein executing the application includes communicating, by the application, with the accessory using the application communication protocol; and if the application communication protocol is not found within the protocol table; sending to an application store, a request that includes the information identifying the application communication protocol; downloading, by the mobile computing device, an application that supports the application communication protocol from the application store; and executing the downloaded application, wherein executing the application includes communicating, by the application, with the accessory using the application communication protocol wherein communicating with the accessory using the application communication protocol includes; writing, by the application, a message conforming to the application communication protocol to an output stream; generating, by the operating system component of the mobile device, a bundle from the output stream; and transmitting the bundle to the accessory device via a port, wherein the bundle is transmitted in conformity with the accessory protocol. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A mobile computing device comprising:
-
a communications interface configured to exchange commands and data with an accessory; and a processor configured to; receive, from an accessory device external to and communicatively coupled with the mobile computing device, a request for executing an application, the request including an indicator identifying a first set of one or more application protocols supported by the accessory for communicating with the application, wherein the request is received using an accessory protocol that is distinct from each of the one or more application protocols, wherein the accessory protocol enables communication between the accessory device and an operating system component of the mobile computing device and wherein each of the one or more application protocols is specific to one or more particular applications executable on the mobile computing device; determine whether an application satisfying the request is available for execution at the mobile computing device, the determining comprising comparing the first set of one or more application protocols with a second set of one or more application protocols supported by applications installed on the mobile computing device; if an application satisfying the request is not available for execution at the mobile computing device; send information to an application store through a network, the information comprising at least a portion of the indicator; download an application associated with the indicator from the application store, wherein the downloaded application is an application satisfying the request; and execute the application satisfying the request, wherein executing the application includes communicating, by the application, with the accessory using the application protocol, wherein communicating with the accessory using the application protocol includes; writing, by the application, a message conforming to the application protocol to an output stream; generating, by the operating system component of the mobile device, a bundle from the output stream; and transmitting the bundle to the accessory device via a port, wherein the bundle is transmitted in conformity with the accessory protocol. - View Dependent Claims (38)
-
Specification