IP Library › Granted Patent US 11,275,576
Granted Patent B2
US 11,275,576 · App. 17/111,411 · Granted Mar 15, 2022

Techniques for firmware updates with accessories

Inventors: Hung Q. Le (Mountain View, CA); Zaka Ur Rehman Ashraf (Pleasanton, CA); Keith W. Rauenbuehler (San Francisco, CA); Christopher B. Zimmermann (San Jose, CA); Keith R. Bisset (Mountain View, CA); Sivaramachandran Ganesan (Sunnyvale, CA); Wayne A. Lee (San Francisco, CA); Praveen Chegondi (Milpitas, CA); Patrick L. Coffman (San Francisco, CA)
Assignee: Apple Inc.
G06F8/65G06F8/61
View Patent ↗
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 11,275,576
App. No.
17/111,411
Granted
Mar 15, 2022
Kind
B2
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 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 (52)

1. A method, comprising:

executing, by a controller device, an accessory update service configured to enable firmware updates for an accessory device;

executing, by the controller device, a device management service for managing the accessory device, the device management service configured to maintain a secure channel with the accessory device;

receiving, by the accessory update service, a request to register an interest of the device management service in the accessory device;

registering, by the accessory update service, the interest of the device management service;

identifying, by the accessory update service, that a firmware update for the accessory device is available on a server computer, wherein the identifying is based at least in part on the registered interest of the device management service;

transmitting, by the device management service, a first notification that the firmware update is identified;

receiving, by the accessory update service, a second notification that the accessory device has entered a stage mode for staging the firmware update;

downloading, by the accessory update service, the firmware update from the server computer for the accessory device;

transmitting, by the accessory update service, the firmware update to the accessory device via the secure channel maintained by the device management service; and

instructing, by the device management service, the accessory device to install the firmware update during a second stage.

2. The method of claim 1 , wherein the accessory device comprises a third-party accessory device.

3. The method of claim 2 , wherein the third-party accessory device comprises a first third-party accessory device and the server computer comprises a first server computer, and wherein the method further comprises:

downloading, by the accessory update service, a second firmware update from a second server computer for a second third-party accessory device, wherein the first server computer and the second server computer are different servers.

4. The method of claim 2 , wherein the accessory update service is configured to enable the firmware updates for the third-party accessory device without a third-party application executing on the controller device.

5. The method of claim 1 , wherein the firmware update is identified based at least in part on requesting, by the accessory update service, firmware update information from the server computer based at least in part on information that instructs the accessory update service to request the firmware update.

6. The method of claim 5 , wherein the information corresponds to a firmware update policy corresponding to the accessory device.

7. The method of claim 1 , wherein the method is performed in response to a manual selection to perform a firmware update.

8. The method of claim 1 , further comprising determining whether a trickle feed is enabled for the downloading of the firmware update, and if the trickle feed being enabled, performing the downloading of the firmware update for the accessory device gradually over a period of time.

9. A controller device comprising:

a processor;

a memory;

a computer readable medium coupled to the processor, the computer readable medium storing instructions executable by the processor for implementing a method comprising:

executing, by the controller device, an accessory update service configured to enable firmware updates for an accessory device;

executing, by the controller device, a device management service for managing the accessory device, the device management service configured to maintain a secure channel with the accessory device;

receiving, by the accessory update service, a request to register an interest of the device management service in the accessory device;

registering, by the accessory update service, the interest of the device management service;

identifying, by the accessory update service, that a firmware update for the accessory device is available on a server computer, wherein the identifying is based at least in part on the registered interest of the device management service;

transmitting, by the device management service, a first notification that the firmware update is identified;

receiving, by the accessory update service, a second notification that the accessory device has entered a stage mode for staging the firmware update;

downloading, by the accessory update service, the firmware update from the server computer for the accessory device;

transmitting, by the accessory update service, the firmware update to the accessory device via the secure channel maintained by the device management service; and

instructing, by the device management service, the accessory device to install the firmware update during a second stage.

10. The controller device of claim 9 , wherein the accessory device comprises a third-party accessory device.

11. The controller device of claim 10 , wherein the third-party accessory device comprises a first third-party accessory device and the server computer comprises a first server computer, and wherein the method further comprises:

downloading, by the accessory update service, a second firmware update from a second server computer for a second third-party accessory device, wherein the first server computer and the second server computer are different servers.

12. The controller device of claim 10 , wherein the accessory update service is configured to enable the firmware updates for the third-party accessory device without a third-party application executing on the controller device.

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

executing, by a controller device, an accessory update service configured to enable firmware updates for an accessory device;

executing, by the controller device, a device management service for managing the accessory device, the device management service configured to maintain a secure channel with the accessory device;

receiving, by the accessory update service, a request to register an interest of the device management service in the accessory device;

registering, by the accessory update service, the interest of the device management service;

identifying, by the accessory update service, that a firmware update for the accessory device is available on a server computer, wherein the identifying is based at least in part on the registered interest of the device management service;

transmitting, by the device management service, a first notification that the firmware update is identified;

receiving, by the accessory update service, a second notification that the accessory device has entered a stage mode for staging the firmware update;

downloading, by the accessory update service, the firmware update from the server computer for the accessory device;

transmitting, by the accessory update service, the firmware update to the accessory device via the secure channel maintained by the device management service; and

instructing, by the device management service, the accessory device to install the firmware update during a second stage.

14. The computer readable medium of claim 13 , wherein the accessory device comprises a third-party accessory device.

15. The computer readable medium of claim 14 , wherein the third-party accessory device comprises a first third-party accessory device and the server computer comprises a first server computer, and wherein the computer readable medium comprises instructions configured to cause the one or more processors to perform operations further comprising:

downloading, by the accessory update service, a second firmware update from a second server computer for a second third-party accessory device, wherein the first server computer and the second server computer are different servers.

16. The computer readable medium of claim 14 , wherein the accessory update service is configured to enable the firmware updates for the third-party accessory device without a third-party application executing on the controller device.

Assignments (3)
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 Jan 29, 2021
From: COFFMAN, PATRICK L.
To: APPLE INC.
Reel/Frame 055074/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: LE, HUNG Q.; ASHRAF, ZAKA UR REHMAN; RAUENBUEHLER, KEITH W.; ZIMMERMANN, CHRISTOPHER B.; BISSET, KEITH R.; GANESAN, SIVARAMACHANDRAN; LEE, WAYNE A.; CHEGONDI, PRAVEEN
To: APPLE INC.
Reel/Frame 054699/0818 →
Continuity (2)
Provisional Application 63041655 · Jun 19, 2020
Related Publication 20210397432A1 · Dec 23, 2021