US 11,888,641 B1
Dynamic provisioning of IoT devices from an online application marketplace
Anthony Wood, San Jose, CA (US); David Stern, San Jose, CA (US); and Sunil Ramesh, Cupertino, CA (US)
Assigned to Roku, Inc., San Jose, CA (US)
Filed by Roku, Inc., San Jose, CA (US)
Filed on Sep. 15, 2022, as Appl. No. 17/932,456.
Int. Cl. H04L 12/28 (2006.01)
CPC H04L 12/281 (2013.01) [H04L 12/2816 (2013.01); H04L 2012/284 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for provisioning a group of devices with control-group data defining one or more functional interrelationships between the devices of the group, the method comprising:
providing by a computing system a graphical user interface (GUI) defining an online application marketplace, wherein the GUI specifies a plurality of applications available for download, each of the applications including a different respective set of control-group data that defines a different respective set of one or more functional device interrelationships;
receiving into the computing system user input selecting a given one of the specified applications, the selected application defining a given set of control-group data that defines a given set of one or more functional device interrelationships; and
responsive to the user input, (i) downloading by the computing system the selected application and (ii) provisioning by the computing system the devices of the group with the given set of control-group data of the downloaded application, wherein the provisioning establishes the given set of one or more functional device interrelationships between the devices of the group,
wherein the given set of control-group data defines a placeholder for a controlling device to have a control relationship with at least one controlled device according to which the controlling device is to control operation of the at least one controlled device, and wherein the provisioning by the computing system the devices of the group with the given set of control-group data comprises selecting by the computing system a given controlling device whose identity is to be substituted for the placeholder in the given control-group data, wherein the selecting of the given controlling device is based on the given controlling device being located closer than another controlling device to the at least one controlled device.