Efficient firmware update in a narrow bandwidth system
First Claim
1. A method of updating in a plurality of endpoints configured within a network, comprising:
- sending an announcement of an update to the plurality of endpoints configured as the network;
multicasting the update to the plurality of endpoints a plurality of times, as indicated by the announcement, wherein multicasting the update comprises multicasting according to an interference matrix that segregates multicast times of nearby data collectors to reduce collisions of packets;
receiving indications of missing blocks from at least one endpoint of the plurality of endpoints that did not successfully receive all blocks of the update; and
sending missing blocks to the at least one endpoint of the plurality of endpoints that did not successfully receive all blocks of the multicast update according to the received indications of the missing blocks.
3 Assignments
0 Petitions
Accused Products
Abstract
An advanced metering infrastructure may be configured for automated meter reading, such as of utility (electric, natural gas, etc.) meters. Within a network, a data collector communicates with, and receives meter data from, a plurality of endpoints. Firmware on the endpoints may be updated by transmission, from the data collector, of a new firmware image. In one example, the data collector sends an announcement of a firmware update to the plurality of endpoints. At a time indicated by the announcement, the data collector multicasts the firmware update a plurality of times. The data collector then receives indications from a plurality of endpoints that did not successfully receive all blocks of the multicast firmware update. In response, the data collector sends missing blocks to the plurality of endpoints according to the indications.
26 Citations
20 Claims
-
1. A method of updating in a plurality of endpoints configured within a network, comprising:
-
sending an announcement of an update to the plurality of endpoints configured as the network; multicasting the update to the plurality of endpoints a plurality of times, as indicated by the announcement, wherein multicasting the update comprises multicasting according to an interference matrix that segregates multicast times of nearby data collectors to reduce collisions of packets; receiving indications of missing blocks from at least one endpoint of the plurality of endpoints that did not successfully receive all blocks of the update; and sending missing blocks to the at least one endpoint of the plurality of endpoints that did not successfully receive all blocks of the multicast update according to the received indications of the missing blocks. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data collector, comprising:
-
a radio; and a processing unit, comprising; a processor; and a memory having instructions readable by the processor defining functionality in a plurality of modules, the modules comprising; an update module, configured to multicast, via the radio, blocks of an image to endpoints within a network configured for communication, wherein the blocks of the image are multicast at least in part by segregating times at which data is multicast by the data collector and by data collectors near the data collector; a missing blocks checking module, configured to determine which blocks of the image were not received and which endpoints did not receive them; and a missing blocks replacement module, configured to; divide the missing blocks into smaller blocks; and send, via the radio, the blocks not received to the endpoints which did not receive them. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An endpoint, comprising:
-
a processing unit configured to execute one or more modules; a radio; a communications stack, defined in memory and executed by the processing unit to provide communications functionality to operate the radio; a block assembly module, configured to receive blocks sent as part of a multicast performed according to an interference matrix that segregates multicast times of data collectors to reduce collisions of packets, and configured to assemble the received blocks into an image; an inventory module, configured to detect missing blocks of the image; and a missing blocks request module, configured to disclose identities of the detected missing blocks, wherein the disclosure of the identities is made in response to a command received during an interval when the radio is configured to receive data following a transmission of data by the radio. - View Dependent Claims (17, 18, 19, 20)
-
Specification