Patent ID: 8402109

Claim:
A method for upgrading a wireless router, comprising the steps of: (a) containing a firmware version, namely, a flash memory in the wireless router containing a first version of router firmware, the router firmware including instructions to be executed by a processor of the wireless router, the router firmware also including data; (b) remotely requesting a firmware update, namely, the wireless router sending a request for a firmware update, the request being sent from the wireless router over a network connection toward a server; (c) receiving a responsive firmware image, namely, the wireless router receiving over the network connection a response to the request for a firmware update, the response including at least a firmware image for a second version of router firmware which differs from the first version of router firmware by reason of containing at least one firmware change, a firmware change being a difference in firmware data and/or a difference in firmware instructions, the firmware image including a plurality of chunks, each chunk having a size which is no greater than a predetermined chunk size and is less than one-eight the flash memory storage capacity; (d) destructively overwriting flash memory chunks, namely, the wireless router destructively overwriting the first version of router firmware in the flash memory with the second version of router firmware, the destructive overwriting proceeding in a chunk-wise manner such that prior to being overwritten by all of the chunks the flash memory contains neither a complete copy of the first version nor a complete copy of the second version of the router firmware, and wherein the wireless router is configured to run whatever version of router firmware is in the router's flash memory after being rebooted; and (e) going live with upgraded firmware, namely, the wireless router rebooting, thereby making the firmware change(s) go live.