Mesh over-the-air (OTA) driver update using site profile based multiple platform image
First Claim
1. A system, comprising:
- lighting devices, each lighting device comprising;
a light source;
a memory;
a wireless communication transceiver; and
logic/processing circuitry coupled to control the light source and coupled to communicate via the transceiver;
a programming image server comprising;
a processor;
a network communication interface coupled to the processor; and
a memory coupled to the processor and storing a plurality of lighting device programming images, each lighting device programming image corresponding to a different lighting device version; and
an update manager configured to;
send, via a wireless flooding network formed by the wireless communication transceivers, a query intended for all of the lighting devices, the query requesting lighting device version information;
for each respective lighting device;
receive, via the wireless flooding network, a query response from the respective lighting device, the query response indicating a respective lighting device version of the respective lighting device;
determine whether a site profile includes an indication of the respective lighting device version; and
upon a determination that the site profile does not include the indication of the respective lighting device version, add the indication of the respective lighting device version to the site profile so as to compile the site profile for all of the lighting devices at a site based upon receipt of the query response from each of the lighting devices such that the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site;
upon compilation of the site profile send, to the programming image server, a request for an update of lighting device programming, the request including the compiled site profile indicating the different lighting device versions among the lighting devices at the site;
receive, from the programming image server, the requested update of lighting device programming;
determine one or more of the lighting devices located proximate the update manager; and
deliver the update of lighting device programming to one or more of the determined lighting devices located proximate the update manager;
wherein;
the programming image server is configured to;
receive the request for the update of lighting device programming;
create the update of lighting device programming to include a number of the plurality of lighting device programming images corresponding to the versions of lighting devices indicated in the site profile; and
send the update of lighting device programming including the number of plurality of lighting device programming images corresponding to the versions of the lighting devices to the update manager; and
the logic/processing circuitry of each respective one of the determined lighting devices configures the respective determined lighting device to;
upon receipt of the update of lighting device programming, identify a lighting device programming image included among the plurality of lighting device programming images corresponding to the version of the respective determined lighting device;
extract the identified lighting device programming image corresponding to the version of the respective determined lighting device from the update of lighting device programming;
apply only the extracted lighting device programming image corresponding to the version of the respective lighting device to operations of the respective determined lighting device;
identify a number of lighting devices, located proximate the respective lighting device as having not received the update of lighting device programming; and
for each respective one of the identified number of proximate lighting devices;
(a) establish a communications connection of the respective lighting device with the respective identified lighting device; and
(b) deliver, via the established connection, the update of lighting device programming including the number of plurality of lighting device programming images corresponding to the versions of the lighting devices to the respective identified lighting device.
1 Assignment
0 Petitions
Accused Products
Abstract
A lighting system includes lighting devices and an update manager. The lighting devices include various hardware versions and/or functionalities. The lighting devices are queried to determine existing hardware versions and/or functionalities. The query is sent via a wireless mesh network of the lighting system. An Over-The-Air (OTA) update includes multiple different lighting device programming images, where each image corresponds to one of the existing hardware versions and/or functionalities. The OTA update is delivered via point-to-point connections between the update manager and some number of lighting devices and/or between the lighting devices. Upon receipt, individual lighting devices determine whether a lighting device programming image is needed and/or which of the lighting device programming images is appropriate.
44 Citations
19 Claims
-
1. A system, comprising:
-
lighting devices, each lighting device comprising; a light source; a memory; a wireless communication transceiver; and logic/processing circuitry coupled to control the light source and coupled to communicate via the transceiver; a programming image server comprising; a processor; a network communication interface coupled to the processor; and a memory coupled to the processor and storing a plurality of lighting device programming images, each lighting device programming image corresponding to a different lighting device version; and an update manager configured to; send, via a wireless flooding network formed by the wireless communication transceivers, a query intended for all of the lighting devices, the query requesting lighting device version information; for each respective lighting device; receive, via the wireless flooding network, a query response from the respective lighting device, the query response indicating a respective lighting device version of the respective lighting device; determine whether a site profile includes an indication of the respective lighting device version; and upon a determination that the site profile does not include the indication of the respective lighting device version, add the indication of the respective lighting device version to the site profile so as to compile the site profile for all of the lighting devices at a site based upon receipt of the query response from each of the lighting devices such that the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site; upon compilation of the site profile send, to the programming image server, a request for an update of lighting device programming, the request including the compiled site profile indicating the different lighting device versions among the lighting devices at the site; receive, from the programming image server, the requested update of lighting device programming; determine one or more of the lighting devices located proximate the update manager; and deliver the update of lighting device programming to one or more of the determined lighting devices located proximate the update manager; wherein; the programming image server is configured to; receive the request for the update of lighting device programming; create the update of lighting device programming to include a number of the plurality of lighting device programming images corresponding to the versions of lighting devices indicated in the site profile; and send the update of lighting device programming including the number of plurality of lighting device programming images corresponding to the versions of the lighting devices to the update manager; and the logic/processing circuitry of each respective one of the determined lighting devices configures the respective determined lighting device to; upon receipt of the update of lighting device programming, identify a lighting device programming image included among the plurality of lighting device programming images corresponding to the version of the respective determined lighting device; extract the identified lighting device programming image corresponding to the version of the respective determined lighting device from the update of lighting device programming; apply only the extracted lighting device programming image corresponding to the version of the respective lighting device to operations of the respective determined lighting device; identify a number of lighting devices, located proximate the respective lighting device as having not received the update of lighting device programming; and for each respective one of the identified number of proximate lighting devices; (a) establish a communications connection of the respective lighting device with the respective identified lighting device; and (b) deliver, via the established connection, the update of lighting device programming including the number of plurality of lighting device programming images corresponding to the versions of the lighting devices to the respective identified lighting device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
-
sending, from a computing device, to each of a plurality of lighting devices and via a wireless flooding network formed by the plurality of lighting devices, a query requesting lighting device version information; for each lighting device; receiving, by the computing device, via the wireless flooding network, a query response from the respective lighting device, the query response indicating a respective lighting device version of the respective lighting device; determining, by the computing device, whether a site profile includes an indication of the respective lighting device version; and upon determining that the site profile does not include the indication of the respective lighting device version, adding, by the computing device, the indication of the respective lighting device version to the site profile so as to compile the site profile for all of the lighting devices at a site based upon receipt of the query response from each of the lighting devices such that the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site; upon compilation of the site profile, sending, by the computing device, to a programming image server, a request for an update of lighting device programming, the request including the site profile indicating the different lighting device versions among the lighting devices at the site; receiving, by a logic/processing circuitry in the lighting device, from the programming image server via the computing device, the requested update of lighting device programming, the requested update including, each of the indicated lighting device versions of the lighting devices and a corresponding lighting device programming image; determining one or more of the lighting devices located proximate an update manager; and delivering, by the logic/processing circuitry, the update of lighting device programming including the lighting device programming images corresponding to the indicated lighting device versions of the lighting devices, to each respective determined lighting device located proximate the update manager. - View Dependent Claims (8)
-
-
9. A lighting device, comprising:
-
a light source; a memory; a wireless communication transceiver; and logic/processing circuitry coupled to control the light source and coupled to communicate via the transceiver, the logic/processing circuitry configuring the lighting device to; upon receipt of a query via the wireless communication transceiver and from an update manager, wirelessly transmit a response indicating a respective lighting device version of the lighting device for use in compilation of a site profile identifying different versions of lighting devices at a site, wherein the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site; upon receipt, via the wireless communication transceiver and from the update manager via another of the lighting devices at the site, of an update of lighting device programming based on the compiled site profile, identify a lighting device programming image included among a plurality of lighting device programming images corresponding to the respective lighting device version of the lighting device from the plurality of lighting device programming images included in the update; extract the identified lighting device programming image corresponding to the respective lighting device version from the update of lighting device programming; apply only the extracted lighting device programming image corresponding to the respective lighting device version to operations of the respective lighting device; identify a number of the other lighting devices located proximate the respective lighting device, as having not received the update of lighting device programming; and for each respective one of the identified number of proximate lighting devices; (a) establish a communications connection of the lighting device with the respective identified lighting device; and (b) deliver, via the established connection, the update of lighting device programming including the plurality of lighting device programming images corresponding to the versions of the lighting devices, to the respective identified lighting device. - View Dependent Claims (10, 11, 12)
-
-
13. A method, comprising steps of:
-
upon receipt of a query via a wireless communication transceiver of a lighting device and from an update manager, wirelessly transmitting a response indicating a respective lighting device version of the lighting device for use in compilation of a site profile identifying different versions of lighting devices at a site, wherein the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site; upon receipt, by the wireless communication transceiver of the lighting device and from the update manager via another of the lighting devices at the site of an update of lighting device programming based on the compiled site profile, identifying, by a logic/processing circuitry in the lighting device, a lighting device programming image corresponding to the respective lighting device version of the lighting device from a plurality of lighting device programming images corresponding to versions of the lighting devices included in the update; extracting, by the logic/processing circuitry, the identified lighting device programming image corresponding to the respective lighting device version from the update of lighting device programming; applying, by the logic/processing circuitry, only the extracted lighting device programming image corresponding to the respective lighting device version to operations of the lighting device; identifying, by the logic/processing circuitry, a number of the other lighting devices located proximate the lighting device, as having not received the update of lighting device programming; and for each respective one of the identified number of proximate lighting devices; (a) establishing, by the logic/processing circuitry, a communications connection of the lighting device with the respective identified lighting device; and (b) delivering, by the logic/processing circuitry, via the established connection, the update of lighting device programming including the plurality of lighting device programming images corresponding to the versions of the lighting devices, to the respective identified lighting device. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer readable medium comprising program instructions, wherein execution of the program instructions configures a logic/processing circuitry in a lighting device to perform steps comprising:
-
upon receipt of a query via a wireless communication transceiver of a lighting device and from an update manager, wirelessly transmitting a response indicating a respective lighting device version of the lighting device for use in compilation of a site profile identifying different versions of lighting devices at a site, wherein the compiled site profile includes indications of versions only for different lighting device versions among the lighting devices at the site; upon receipt, by the wireless communication transceiver of the lighting device and from the update manager via another of the lighting devices at the site of an update of lighting device programming based on the compiled site profile, identifying, by the logic/processing circuitry, a lighting device programming image corresponding to the respective lighting device version of the lighting device from a plurality of lighting device programming images corresponding to versions of the lighting devices included in the update; extracting, by the logic/processing circuitry, the identified lighting device programming image corresponding to the respective lighting device version from the update of lighting device programming; applying, by the logic/processing circuitry, only the extracted lighting device programming image corresponding to the respective lighting device version to operations of the lighting device; identifying, by the logic/processing circuitry, a number of the other lighting devices located proximate the lighting device, as having not received the update of lighting device programming; and for each respective one of the identified number of proximate lighting devices; (a) establishing, by the logic/processing circuitry, a communications connection of the lighting device with the respective identified lighting device; and (b) delivering, by the logic/processing circuitry, via the established connection, the update of lighting device programming including the plurality of lighting device programming images corresponding to the versions of the lighting devices, to the respective identified lighting device.
-
-
18. A method, comprising:
-
receiving, by a programming image server and from an update manager, a request for an update of lighting device programming, the request including a site profile comprising indications of a plurality of lighting device versions corresponding to versions only for different versions of lighting devices among a plurality of lighting devices installed at the site; creating, by the programming image server, the update of lighting device programming, the update including a lighting device programming image corresponding to each indicated lighting device version; sending, by the programming image server, the update of lighting device programming, including the lighting device programming images corresponding to the indicated versions of the lighting devices at the site, to the update manager; determining, by the update manager, one or more of the lighting devices located proximate the update manager at the site; and delivering, from the update manger, the update of lighting device programming including the lighting device programming images corresponding to the indicated versions of the lighting devices at the site, to the determined lighting device located proximate the update manager at the site. - View Dependent Claims (19)
-
Specification