US 12,231,318 B2
Uniform communication protocols for communication between controllers and accessories
Joe Abuan, Cupertino, CA (US); Bob Bradley, San Jose, CA (US); Craig Dooley, Los Gatos, CA (US); Gregg Golembeski, Jr., San Francisco, CA (US); Andrew Burks, Mountain View, CA (US); Srinivas Rama, Cupertino, CA (US); Arun Mathias, Los Gatos, CA (US); Anush Nadathur, Campbell, CA (US); and Kevin P. McLaughlin, Waikoloa, HI (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Feb. 10, 2022, as Appl. No. 17/650,589.
Application 17/650,589 is a continuation of application No. 16/405,221, filed on May 7, 2019, granted, now 11,283,703.
Application 16/405,221 is a continuation of application No. 15/898,092, filed on Feb. 15, 2018, granted, now 10,305,770, issued on May 28, 2019.
Application 15/898,092 is a continuation of application No. 14/614,914, filed on Feb. 5, 2015, granted, now 9,979,625, issued on May 22, 2018.
Claims priority of provisional application 61/935,967, filed on Feb. 5, 2014.
Prior Publication US 2022/0166700 A1, May 26, 2022
Int. Cl. H04L 29/06 (2006.01); G06F 11/30 (2006.01); G06F 21/44 (2013.01); H04L 9/00 (2022.01); H04L 9/08 (2006.01); H04L 9/32 (2006.01); H04L 9/40 (2022.01); H04L 43/10 (2022.01); H04L 67/02 (2022.01); H04L 67/04 (2022.01); H04L 67/12 (2022.01); H04L 67/303 (2022.01); H04W 4/70 (2018.01); H04W 12/04 (2021.01); H04W 12/50 (2021.01); H04W 4/80 (2018.01); H04W 12/06 (2021.01)
CPC H04L 43/10 (2013.01) [G06F 11/3051 (2013.01); G06F 21/445 (2013.01); H04L 9/006 (2013.01); H04L 9/0841 (2013.01); H04L 9/0861 (2013.01); H04L 9/3247 (2013.01); H04L 9/3263 (2013.01); H04L 63/0435 (2013.01); H04L 63/061 (2013.01); H04L 63/126 (2013.01); H04L 67/02 (2013.01); H04L 67/04 (2013.01); H04L 67/12 (2013.01); H04L 67/303 (2013.01); H04W 4/70 (2018.02); H04W 12/04 (2013.01); H04W 12/50 (2021.01); H04L 63/0442 (2013.01); H04L 63/0823 (2013.01); H04L 63/18 (2013.01); H04W 4/80 (2018.02); H04W 12/06 (2013.01)] 15 Claims
OG exemplary drawing
 
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.