IP Library › Patent Application 17338567
Patent Application
App. No. 17/338,567

TECHNIQUES FOR FIRMWARE UPDATES WITH ACCESSORIES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/338,567
Abstract

Techniques are provided for updating firmware of an accessory device. An accessory development kit of the accessory device can communicate with an accessory update daemon using a home management daemon of a controller device. Based at least in part on a firmware update policy of the accessory device, the accessory update daemon will check for firmware updates. When firmware updates are available, the accessory update daemon can instruct the home management daemon to stage the update. The home management daemon will notify the accessory development kit to be in a stage mode. The accessory update daemon will download the firmware update and send the firmware update to the accessory development kit of the accessory device using an interface for the secure channel provided by the home management daemon. The accessory device can be a third party accessory device that does not have its own firmware updating application.

Claims (64)

1 . A method performed by a controller device comprising a processor and a memory for updating an accessory device, the method comprising:

determining that a first update is available for the accessory device in an automated environment;

confirming that the accessory device is available for applying the first update;

in response to determining that the accessory device is available for applying the first update, determining an update category of the accessory device for which the first update is to be applied;

determining one or more rules associated with the update category of the accessory device; and

applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device.

2 . The method according to claim 1 , wherein the determining the one or more rules associated with the update category of the accessory device comprises:

determining whether the automated environment comprises a resident controller device; and

identifying the one or more rules associated with the update category of the accessory device based at least in part on whether the automated environment comprises the resident controller device.

3 . The method according to claim 1 , wherein the determining that the accessory device is available for applying the first update comprises determining that there is not a scheduled update with the accessory device that will interfere with performing the first update.

4 . The method according to claim 1 , wherein the determining the update category of the accessory device comprises determining whether the update category of the accessory device is an occupancy based update category, a dynamic update category, a multi-function category, a bridge update category, or a time based update category.

5 . The method according to claim 4 , wherein the accessory device of the multi-function category is configured to provide a plurality of services,

wherein in response to determining that the update category of the accessory device is the multi-function category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

determining a first set of rules associated with a first component of the accessory device;

determining a second set of rules associated with a second component of the accessory device;

aggregating the first set of rules and the second set of rules to generate an aggregated set of rules;

determining whether the aggregated set of rules are satisfied; and

applying the first update to the accessory device.

6 . The method according to claim 4 , wherein the accessory device of the multi-function category is configured to provide a plurality of services,

wherein in response to determining that the update category of the accessory device is the multi-function category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

determining which component of the accessory device is a primary component;

determining a first set of rules associated with the primary component of the accessory device;

determining whether the first set of rules are satisfied; and

applying the first update to the accessory device.

7 . The method according to claim 4 , wherein in response to determining that the update category of the accessory device is the occupancy based update category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

detecting signals from one or more accessory devices in the automated environment;

determining whether a physical location associated with the one or more accessory devices is occupied based at least in part on the detected signals; and

applying the first update to the accessory device in response to determining that the physical location associated with the one or more accessory devices is not occupied.

8 . The method according to claim 4 , wherein in in response to determining that the update category of the accessory device is the dynamic update category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

receiving a signal from the accessory device indicating a state of the accessory device;

determining, based at least in part on the received signal, whether the accessory device is in a state for applying the first update; and

applying the first update to the accessory device in response to the signal indicating that the accessory device is in a state for applying the first update.

9 . The method according to claim 4 , wherein in in response to determining that the update category of the accessory device is the bridge update category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

detecting a signal from a bridge device associated with the accessory device;

determining, based at least in part on the detected signal, whether the accessory device is in a state for applying the first update; and

in response to determining that the accessory device is in a state for applying the first update, applying the first update to the accessory device.

10 . The method according to claim 4 , wherein in response to determining that the update category of the accessory device is the time based update category, the applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device comprises:

determining a time associated with the accessory device for applying the first update, wherein the time is a predetermined time period for applying the first update; and

applying the first update to the accessory device based at least in part on the time associated with the accessory device.

11 . The method according to claim 1 , wherein the accessory device is available for applying the first update if the accessory device has sufficient processing capacity to install the first update.

12 . The method according to claim 11 , wherein the processing capacity comprises battery capacity and memory capacity for applying the first update.

13 . The method according to claim 1 , wherein the first update comprises an accessory device firmware update.

14 . The method according to claim 1 , wherein the updating the accessory device is performed automatically by the controller device without user intervention.

15 . The method according to claim 1 , wherein the one or more rules comprises a policy associated with the accessory device.

16 . A controller device comprising:

one or more processors and a memory, wherein the one or more processors are configured to perform a method comprising:

determining that a first update is available for an accessory device in an automated environment;

confirming that the accessory device is available for applying the first update;

in response to determining that the accessory device is available for applying the first update, determining an update category of the accessory device for which the first update is to be applied;

determining one or more rules associated with the update category of the accessory device; and

applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device.

17 . The controller device according to claim 16 , wherein the determining the one or more rules associated with the update category of the accessory device comprises:

determining whether the automated environment comprises a resident controller device; and

identifying the one or more rules associated with the update category of the accessory device based at least in part on whether the automated environment comprises the resident controller device.

18 . The controller device according to claim 16 , wherein the determining the update category of the accessory device comprises determining whether the update category of the accessory device is an occupancy based update category, a dynamic update category, a multi-function category, a bridge update category, or a time based update category.

19 . A non-transitory computer readable medium including instructions configured to cause one or more processors to perform operations comprising:

determining that a first update is available for an accessory device in an automated environment;

confirming that the accessory device is available for applying the first update;

in response to determining that the accessory device is available for applying the first update, determining an update category of the accessory device for which the first update is to be applied;

determining one or more rules associated with the update category of the accessory device; and

applying the first update to the accessory device based at least in part on one or more rules associated with the update category of the accessory device.

20 . The computer readable medium according to claim 19 , wherein the determining the one or more rules associated with the update category of the accessory device comprises:

determining whether the automated environment comprises a resident controller device; and

identifying the one or more rules associated with the update category of the accessory device based at least in part on whether the automated environment comprises the resident controller device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2023
From: HEERBOTH, PETER N.; SETH, PRANIKA
To: APPLE INC.
Reel/Frame 064577/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: LE, HUNG Q.; ASHRAF, ZAKA UR REHMAN; RAUENBUEHLER, KEITH W.; ZIMMERMANN, CHRISTOPHER B.; BISSET, KEITH R.; GANESAN, SIVARAMACHANDRAN; LEE, WAYNE A.; CHEGONDI, PRAVEEN; COFFMAN, PATRICK L.
To: APPLE INC.
Reel/Frame 056458/0879 →