IP Library Granted Patent US 8,787,210
Granted Patent B2
US 8,787,210 · App. 13/833,252 · Granted Jul 22, 2014

Firmware download with adaptive lost packet recovery

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,787,210
App. No.
13/833,252
Granted
Jul 22, 2014
Kind
B2
Abstract

Disclosed are methodologies for implementing a firmware download to endpoints in a mesh network. A firmware package is divided into a number of blocks, each block containing a number of packets and sent as a broadcast to endpoints in a wireless mesh network. A number of redundancy packets are sent to permit calculation of lost packets. A maximum number of redundancy packets to be sent is determined and a forward error correction code is developed depending on the maximum number of redundancy packets and the total number of firmware packets to be sent. A first block of redundancy packets, less than the maximum number, is sent followed by additional blocks of redundancy packets depending on reports from the receiving endpoints.

Claims (48)

1. A method for downloading firmware, comprising:

dividing an image of firmware to be downloaded into a plurality of blocks, each block containing a plurality of packets;

broadcasting, by at least one transmitting apparatus, the plurality of blocks;

appending at least one redundancy packet to the broadcast of each of the plurality of blocks; and

computing missing packets within the blocks based on the at least one redundancy packet;

wherein the last block of the plurality of blocks is adjusted in length to fit an exact number of packets to be downloaded.

2. A method as in claim 1 , wherein the number of redundancy packets is a percentage of the total number of packets broadcast.

3. A method as in claim 2 , wherein the percentage is about 5%.

4. A method as in claim 1 , wherein the combined length of the plurality of packets and the at least one redundancy packet corresponds to the length of a forward error correcting code word.

5. A method as in claim 4 , wherein the forward error correcting code word is a Reed-Solomon code word.

6. A method as in claim 5 , wherein computing missing packets comprises Reed-Solomon decoding using an erasure procedure.

7. A method as in claim 1 , further comprising:

reporting computation of missing packet results; and

broadcasting at least one additional redundancy packet based on the reported results.

8. A method as in claim 7 , wherein each broadcast and computation step uses the same Reed-Solomon code.

9. A method as in claim 8 , wherein the Reed-Solomon code is based on a predetermined maximum number of packets to be broadcast.

10. A method as in claim 1 , further comprising sending an acknowledgment request.

11. A method for transferring software, comprising:

dividing the software into a plurality of blocks, each block containing a plurality of packets;

establishing a predetermined maximum number of redundancy packets to be downloaded with the plurality of packets;

setting a forward error correction code word to a length equal to that of the total of the plurality of software packets and the predetermined maximum number of redundancy packets;

transferring, by at least one transmitting apparatus a first block of a subset of the plurality of software packets;

transferring a first block of a subset of the predetermined maximum number of redundancy packets; and

computing missing software packets based on the first block of the subset of redundancy packets using the forward error correction code word.

12. A method as in claim 11 , wherein the forward error correction code word is a Reed-Solomon code word.

13. A method 11 as in claim 12 , further comprising:

transferring at least one second block of a subset of the predetermined maximum number of redundancy packets; and

computing missing software packets based on the first and at least one second blocks of the subsets of redundancy packets.

14. A method as in claim 11 , wherein the predetermined maximum number of redundancy packets is a percentage of the total number of software packets to be transferred.

15. A method as in claim 14 , wherein the percentage is about 5%.

16. In a wireless mesh network including a head end and at least one cell relay configured to provide communications between the head end and one or more endpoints, a method for updating endpoint firmware, comprising:

dividing an image of firmware to be downloaded into a plurality of blocks, each block containing a plurality of packets;

broadcasting, by at least one transmitting apparatus the plurality of blocks;

appending at least one redundancy packet to the broadcast of each of the plurality of blocks;

computing missing packets within the block based on the at least one redundancy packet;

reporting computation of missing packet results to the cell relay; and

broadcasting, by at least one transmitting apparatus, from the cell relay at least, one additional redundancy packet based on the reported results.

17. A method as in claim 16 , wherein the number of redundancy packets is a percentage of the total number of packets broadcast.

18. A method as in claim 17 , wherein redundancy is about 5%.

19. A method as in claim 16 , wherein the plurality of packets is broadcast from the cell relay to the one or more endpoints.

20. A method as in claim 16 , wherein the last block of the plurality of blocks is adjusted in length to fit an exact number of packets to be downloaded.

21. A method as in claim 16 , wherein the combined length of the plurality of packets and the at least one redundancy packet corresponds to the length of a forward error correcting code word.

22. A method as in claim 21 , wherein the forward error correcting code word is a Reed-Solomon code word.

23. A method as in claim 22 , wherein computing missing packets comprises Reed-Solomon decoding using an erasure procedure.

24. A method as in claim 16 , wherein each broadcast and computation step uses the same Reed-Solomon code.

25. A method as in claim 24 , wherein the Reed-Solomon code is based on a predetermined maximum number of packets to be broadcast.

26. A method as in claim 16 , further comprising sending an acknowledgment request from the cell relay.

27. A method as in claim 16 , wherein at least one of the endpoints comprises a meter.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: ITRON, INC.
To: ITRON FRANCE S.A.S.
Reel/Frame 039629/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: ITRON FRANCE S.A.S.
To: ITRON GLOBAL SARL
Reel/Frame 039630/0787 →
SECURITY INTEREST Recorded Jul 6, 2015
From: ITRON, INC.
To: WELLS FARGO, NATIONAL ASSOCIATION
Reel/Frame 036068/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2013
From: PICARD, GILLES
To: ITRON, INC.
Reel/Frame 030232/0505 →