Efficient firmware update in a narrow bandwidth system
First Claim
1. A method of updating a plurality of endpoints configured within a network, comprising:
- sending an announcement of an update to each of the plurality of endpoints configured as the network, wherein sending the announcement of the update, comprises;
unicasting the announcement to each endpoint from among the plurality of endpoints;
wherein the announcement tells the endpoint when to receive the update;
multicasting the update to the plurality of endpoints a plurality of times, as indicated by the announcement;
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, wherein sending missing blocks to the at least one endpoint of the plurality of endpoints comprises selecting between unicasting a missed block and multicasting the missed block based on how many endpoints are missing the missed block.
2 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.
27 Citations
19 Claims
-
1. A method of updating a plurality of endpoints configured within a network, comprising:
-
sending an announcement of an update to each of the plurality of endpoints configured as the network, wherein sending the announcement of the update, comprises; unicasting the announcement to each endpoint from among the plurality of endpoints; wherein the announcement tells the endpoint when to receive the update; multicasting the update to the plurality of endpoints a plurality of times, as indicated by the announcement; 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, wherein sending missing blocks to the at least one endpoint of the plurality of endpoints comprises selecting between unicasting a missed block and multicasting the missed block based on how many endpoints are missing the missed block. - 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; 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 smaller blocks to the endpoints that did not receive blocks; wherein the missing blocks replacement module selects between unicasting a missed block and multicasting the missed block based on how many endpoints are missing the missed block. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system, comprising:
-
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 and assemble the received blocks into an image, wherein the block assembly module is configured for a process comprising; receiving blocks of the image sent in a multicast; and receiving a second transmission of blocks of the image not received by the multicast; an inventory module, configured to detect missing blocks of the image; a missing blocks request module, configured to disclose identities of the detected missing blocks; and a data collector configured to multicast blocks of the image to the endpoint, wherein the data collector selects between unicasting a missed block and multicasting the missed block based on how many endpoints are missing the missed block. - View Dependent Claims (18, 19)
-
Specification