Controller networks for an accessory management system
First Claim
Patent Images
1. A method executable by a controller device, the method comprising:
- receiving, at the controller device, a user input requesting an interaction with an accessory device, wherein the interaction identifies an operation corresponding to the accessory device to be performed;
identifying a proxy device that is configured to communicate with the accessory device, wherein the controller device has previously established a pairing with the proxy device;
establishing communication with the proxy device, wherein establishing communication with the proxy device includes establishing a pair-verified session with the proxy device based on the previously established pairing, the pair-verified session having a first session key;
generating a request message to the accessory to perform the operation, wherein the request message includes a data item encrypted with a second session key that is not shared by the proxy device, and wherein an instruction message for the accessory device includes the data item; and
communicating, via the pair-verified session, the request message to the proxy device to instruct the accessory device to perform the operation, wherein the request message is configured to be relayed to the accessory device by the proxy device.
1 Assignment
0 Petitions
Accused Products
Abstract
Controllers can be used to control the operation of various accessories. Controllers with access to a particular accessory (or group of accessories) can be organized into a controller network to facilitate control. The controller network can include various proxy devices including bridge and tunnel proxies that can relay messages to and from accessories, perform protocol translations, and/or provide communication security. Some proxy devices can include decision logic to enable coordinated control over one or more accessories by the controllers in the controller network.
-
Citations
22 Claims
-
1. A method executable by a controller device, the method comprising:
receiving, at the controller device, a user input requesting an interaction with an accessory device, wherein the interaction identifies an operation corresponding to the accessory device to be performed; identifying a proxy device that is configured to communicate with the accessory device, wherein the controller device has previously established a pairing with the proxy device; establishing communication with the proxy device, wherein establishing communication with the proxy device includes establishing a pair-verified session with the proxy device based on the previously established pairing, the pair-verified session having a first session key; generating a request message to the accessory to perform the operation, wherein the request message includes a data item encrypted with a second session key that is not shared by the proxy device, and wherein an instruction message for the accessory device includes the data item; and communicating, via the pair-verified session, the request message to the proxy device to instruct the accessory device to perform the operation, wherein the request message is configured to be relayed to the accessory device by the proxy device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method executable by a proxy device configured to communicate with an accessory device, the method comprising:
-
establishing a pairing with a controller device; thereafter establishing a pair-verified session with the controller device based on the previously established pairing with the controller device, the pair-verified session having a first session key; receiving, via the pair-verified session with the controller device, a request message indicating an operation of the accessory device to be performed by the accessory device, wherein the request message received from the controller device includes a data item encrypted with a second session key that is not shared by the proxy device, and wherein an instruction message for the accessory device includes the data item; sending the instruction message to the accessory device to perform the operation based on the received request message; and sending to the controller device, via the pair-verified session with the controller device, a response message responsive to the received request message. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method executable by a controller device, the method comprising:
-
establishing a first pairing with an accessory device; establishing a second pairing with a proxy device; receiving, at the controller device, a user input requesting an operation corresponding to the accessory device to be performed; and in response to the user input; establishing, based on the second pairing, a first pair-verified session with the proxy device, the first pair-verified session having a first session key that is shared by the controller device and the proxy device but not by the accessory device; communicating, via the first pair-verified session, with the accessory device to establish a second pair-verified session with the accessory device, the second pair-verified session having a second session key that is shared by the controller device and the accessory device but not by the proxy device; generating a request message to the proxy device to be relayed to the accessory based on the requested operation, wherein generating the request message includes encrypting at least a portion of the request message using the second session key; encrypting the request message using the first session key; sending the request message to the proxy device; receiving a response message from the proxy device; decrypting the response message using the first session key; extracting, from the decrypted response message, an included item from the accessory device; and decrypting the included item using the second session key. - View Dependent Claims (19, 20)
-
-
21. A controller device comprising:
-
a communication interface to communicate with one or more other devices including one or both of an accessory device or a proxy device; a user interface to receive input from a user; and a processing subsystem coupled to the communication interface and the user interface and configured to; receive, via the user interface, a user input requesting an interaction with an accessory device, wherein the interaction identifies an operation corresponding to the accessory device to be performed; identify a proxy device that is configured to communicate with the accessory device, wherein the controller device has previously established a pairing with the proxy device; establish communication with the proxy device, wherein establishing communication with the proxy device includes establishing a pair-verified session with the proxy device based on the previously established pairing, the pair-verified session having a session key; generate a request message to the accessory to perform the operation, wherein the request message includes a data item encrypted with a second session key that is not shared by the proxy device, and wherein an instruction message for the accessory device includes the data item; and communicate, within the pair-verified session, an instruction to the proxy device to instruct the accessory device to perform the operation.
-
-
22. A proxy device comprising:
-
a communication interface to communicate with one or more other devices including one or both of a controller device or an accessory device; and a processing subsystem coupled to the communication interface and configured to; establish a pairing with a controller device; establish a pair-verified session with the controller device based on the previously established pairing with the controller device, the pair-verified session having a first session key; receive, via the pair-verified session with the controller device, a request message indicating an operation of the accessory device to be performed by the accessory device, wherein the request message received from the controller device includes a data item encrypted with a second session key that is not shared by the proxy device, and wherein an instruction message for the accessory device includes the data item; send the instruction message to the accessory device based on the received request message; and send to the controller device, via the pair-verified session with the controller device, a response message responsive to the received request message.
-
Specification