Message-based identification of an electronic device
First Claim
1. A method for establishing communication between a first device and a second device according to a protocol that defines a universe of messages that are sendable by one of the first device and the second device to the other of the first device and the second device, the method comprising:
- sending, by the first device, an identification message to the second device, wherein the identification message includes a proposal that partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing including a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the first device proposes to send to the second device and a second list identifying a second subset of messages in the universe of messages defined by the protocol that the first device proposes to receive from the second device;
in response to sending the identification message, receiving, by the first device, a response message from the second device, the response message indicating whether the proposal was accepted or rejected by the second device; and
in the event that the proposal was accepted, using, by the first device, at least some of the messages from the first subset and the second subset to interoperate with the second device.
1 Assignment
0 Petitions
Accused Products
Abstract
A message-based identification process can facilitate reliable interoperation between accessories and host devices. During an identification process, the devices can negotiate an operating agreement that specifies particular communications (e.g., messages) that each device is permitted to send to or receive from the other, for example by having one device send a list of specific messages that it intends to send to and/or receive from the other. The other device can review the proposal and either accept or reject it. If a proposal is accepted, the devices can begin interoperating using messages that were included in the agreed-upon proposal while ignoring any received messages that were not included in the agreed-upon proposal.
146 Citations
25 Claims
-
1. A method for establishing communication between a first device and a second device according to a protocol that defines a universe of messages that are sendable by one of the first device and the second device to the other of the first device and the second device, the method comprising:
-
sending, by the first device, an identification message to the second device, wherein the identification message includes a proposal that partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing including a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the first device proposes to send to the second device and a second list identifying a second subset of messages in the universe of messages defined by the protocol that the first device proposes to receive from the second device; in response to sending the identification message, receiving, by the first device, a response message from the second device, the response message indicating whether the proposal was accepted or rejected by the second device; and in the event that the proposal was accepted, using, by the first device, at least some of the messages from the first subset and the second subset to interoperate with the second device. - View Dependent Claims (2, 3, 4)
-
-
5. A method for establishing communication between a first device and a second device according to a protocol that defines a universe of messages that are sendable by one of the first device and the second device to the other of the first device and the second device, the method comprising:
-
receiving, by the second device, an identification message from the first device, wherein the identification message includes a proposal that partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the first device proposes to send to the second device and a second list identifying a second subset of messages in the universe of messages defined by the protocol that the first device proposes to receive from the second device; determining, by the second device, whether to accept or reject the proposal; sending, by the second device, a response message to the first device, wherein the response message indicates whether the proposal is accepted or rejected; and in the event that the second device accepts the proposal, using, by the second device, messages from the first subset and the second subset to interoperate with the first device. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. An accessory for use with a host device, the accessory comprising:
-
an interface circuit to communicate with the host device; and a control logic circuit coupled to the interface circuit, the control logic circuit to; establish a connection to the host device via the interface circuit;
generate a proposal for interoperation of the accessory with the host device according to a protocol that defines a universe of messages, wherein the proposal partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing including a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the accessory proposes to send to the host device; and
a second list identifying a second subset of messages in the universe of messages defined by the protocol that the accessory proposes to receive from the host device;send the proposal to the host device via the interface circuit; receive a response from the host device via the interface circuit, wherein the response indicates whether the host device accepted or rejected the proposal; and initiate interoperation with the host device in the event that the response indicates that the host device accepted the proposal, wherein the interoperation with the host device includes exchanging messages in the set of operative messages and ignoring messages in the set of inoperative messages. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A host device for use with an accessory, the host device comprising:
-
an interface circuit to communicate with the accessory; and a control logic circuit coupled to the interface circuit, the control logic circuit to; detect a connection to the accessory via the interface circuit; receive, from the accessory via the interface circuit, a proposal for interoperation of the accessory with the host device according to a protocol that defines a universe of messages, wherein the proposal partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing including a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the accessory proposes to send to the host device; and
a second list identifying a second subset of messages in the universe of messages defined by the protocol that the accessory proposes to receive from the host device;determine whether to accept or reject the proposal; send a response, to the accessory via the interface circuit, wherein the response indicates whether the host device accepted or rejected the proposal; and initiate interoperation with the accessory in the event that the host device accepts the proposal, wherein the interoperation with the accessory includes exchanging messages in the set of operative messages and ignoring messages in the set of inoperative messages. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A non-transitory computer readable storage medium having program code stored thereon, the program code including instructions that, when executed by a processor in a host device, cause the processor to execute a method comprising:
-
detecting a connection to an accessory via an interface; sending, to the accessory via the interface, a request for identification; receiving, from the accessory via the interface, a proposal for interoperation of the accessory with the host device according to a protocol that defines a universe of messages exchangeable between the host device and the accessory device, wherein the proposal partitions the universe of messages into a set of operative messages and a set of inoperative messages and wherein the proposal includes a listing of at least some of the messages in the universe of messages to be included in the set of operative messages, the listing including a first list identifying a first subset of the messages in the universe of messages defined by the protocol that the accessory proposes to send to the host device; and
a second list identifying a second subset of messages in the universe of messages defined by the protocol that the accessory proposes to receive from the host device;determining whether to accept or reject the proposal; sending a response, to the accessory via the interface, wherein the response indicates whether the host device accepts or rejects the proposal; and in the event that the host device accepts the proposal, interoperating with the accessory, wherein interoperating includes exchanging only messages that are in the set of operative messages defined by the accepted proposal. - View Dependent Claims (23, 24, 25)
-
Specification