Uniform communication protocols for communication between controllers and accessories

US12231318B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12231318-B2
Application numberUS-202217650589-A
CountryUS
Kind codeB2
Filing dateFeb 10, 2022
Priority dateFeb 5, 2014
Publication dateFeb 18, 2025
Grant dateFeb 18, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A uniform protocol can facilitate secure, authenticated communication between a controller device and an accessory device that is controlled by the controller. An accessory and a controller can establish a pairing, the existence of which can be verified at a later time and used to create a secure communication session. The accessory can provide an accessory definition record that defines the accessory as a collection of services, each service having one or more characteristics. Within a secure communication session, the controller can interrogate the characteristics to determine accessory state and/or modify the characteristics to instruct the accessory to change its state.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: connecting, by a controller, to an accessory device; subscribing, by the controller, to broadcast notifications associated with a state of the accessory device; receiving, by the controller, a value of an internal state counter of the accessory device, the value of the internal state counter of the accessory device being incremented each time the state of the accessory device changes; storing, by the controller, the value of the internal state counter of the accessory device; detecting, by the controller and while disconnected from the accessory device, a broadcast notification of the broadcast notifications from the accessory device, the broadcast notification including an updated value of the internal state counter of the accessory device; comparing, by the controller, the stored value of the internal state counter and the detected updated value of the internal state counter from the broadcast notification of the accessory device; reconnecting, by the controller, to the accessory device when a discrepancy is identified by the comparison of the stored value of the internal state counter and the detected updated value of the internal state counter included in the broadcast notification of the accessory device; and receiving, by the controller and via the reconnection with the accessory device, updated state information of the accessory device that includes the updated value of the internal state counter according to the state of the accessory device having changed. 2. The method of claim 1 , wherein connecting to the accessory device comprises performing a pair setup process with the accessory device. 3. The method of claim 1 , wherein the updated state information identifies at least one characteristic of the accessory device that has changed. 4. The method of claim 3 , wherein subscribing to the broadcast notifications associated with the accessory device comprises transmitting an instruction to the accessory device that instructs the accessory device to update a property associated with the at least one characteristic of the accessory device. 5. The method of claim 4 , wherein the property comprises a notification mode property. 6. The method of claim 4 , wherein the at least one characteristic of the accessory device corresponds to a physical state of the accessory device. 7. The method of claim 1 , wherein the updated state information is received from the accessory device in response to a Hypertext Transfer Protocol (HTTP) GET request. 8. A controller, comprising: a communication interface to communicate with an accessory device; a processing subsystem coupled to the communication interface, the processing subsystem configured to: connect to the accessory device; subscribe to broadcast notifications associated with the accessory device; receive a value of an internal state counter of the accessory device, the value of the internal state counter of the accessory device being incremented each time the state of the accessory device changes; store the value of the internal state counter of the accessory device; detect, while disconnected from the accessory device, a broadcast notification of the broadcast notifications from the accessory device, the broadcast notification including an updated value of the internal state counter of the accessory device; compare, by the controller, the stored value of the internal state counter and the detected updated value of the internal state counter of the accessory device; reconnect to the accessory device when a discrepancy is identified by the comparison of the internal state counter and the detected updated value of the internal state counter included in the broadcast notification of the accessory device; and receive, via the reconnection with the accessory device, updated state information of the accessory device that includes the updated value of the internal state counter according to the state of the accessory device having changed. 9. The controller of claim 8 , wherein connecting to the accessory device comprises performing a pair setup process with the accessory device. 10. The controller of claim 8 , wherein the internal state counter is received from the accessory device. 11. A computer-readable storage medium, storing computer-executable instructions that, when executed by a processor of a controller, configure the processor to perform operations comprising: connecting to an accessory device; subscribing to broadcast notifications associated with a state of the accessory device; receiving a value of an internal state counter of the accessory device, the value of the internal state counter of the accessory device being incremented each time the state of the accessory device changes; storing the value of the internal state counter of the accessory device; detecting, while disconnected from the accessory device, a broadcast notification of the broadcast notifications from the accessory device, the broadcast notification including an updated value of the internal state counter of the accessory device; comparing, by the controller, the stored value of the internal state counter and the detected updated value of the internal state counter from the broadcast notification of the accessory device; reconnecting, by the controller, to the accessory device when a discrepancy is identified by the comparison of the stored value of the internal state counter and the detected updated value of the internal state counter included in the broadcast notification of the accessory device; and receiving, via the reconnection with the accessory device, updated state information of the accessory device that includes the updated value of the internal state counter according to the state of the accessory device having changed. 12. The computer-readable storage medium of claim 11 , wherein the updated state information identifies at least one characteristic of the accessory device that has changed. 13. The computer-readable storage medium of claim 12 , wherein subscribing to the broadcast notifications associated with the accessory device comprises transmitting an instruction to the accessory device that instructs the accessory device to update a property associated with the at least one characteristic of the accessory device. 14. The computer-readable storage medium of claim 13 , wherein the at least one characteristic of the accessory device corresponds to a physical state of the accessory device. 15. The computer-readable storage medium of claim 11 , wherein the updated state information is received from the accessory device at least one of as a text record or in response to a Hypertext Transfer Protocol (HTTP) GET request.

Assignees

Inventors

Classifications

  • Key management, e.g. using generic bootstrapping architecture [GBA] · CPC title

  • Secure pairing of devices · CPC title

  • the source of the received data · CPC title

  • wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06) · CPC title

  • G06F21/445Primary

    by mutual authentication, e.g. between devices or programs · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12231318B2 cover?
A uniform protocol can facilitate secure, authenticated communication between a controller device and an accessory device that is controlled by the controller. An accessory and a controller can establish a pairing, the existence of which can be verified at a later time and used to create a secure communication session. The accessory can provide an accessory definition record that defines the ac…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/445. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).