Maintenance of over the air upgradeable wireless communication device software
First Claim
Patent Images
1. A method for maintaining software, the method comprising:
- receiving software over-the-air (OTA), by a wireless communications device having system software stored in a memory operably disposed in the wireless communications device, the system software comprising a plurality of first code sections;
storing received OTA software in at least one second code sections;
performing a compaction operation comprising;
correlating the first code sections with the second code sections for replacement of the first code sections;
selecting at least one first code section for compaction andproducing a compacted first code section;
replacing correlated first code sections with correlated second code sections; and
,executing the changed system software after the replacement has been completed.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and method for maintaining software instructions stored in a wireless communications device memory. The software is organized using code sections, where each code section is in a contiguous portion of memory and relocatable independently of other code sections. Maintenance includes the ability to run a unique software component called a compactor while the normal system is not in executable form. The compactor expands, compresses, and relocates code sections to allow downloaded code to be incorporated into the system code base.
97 Citations
19 Claims
-
1. A method for maintaining software, the method comprising:
-
receiving software over-the-air (OTA), by a wireless communications device having system software stored in a memory operably disposed in the wireless communications device, the system software comprising a plurality of first code sections; storing received OTA software in at least one second code sections; performing a compaction operation comprising; correlating the first code sections with the second code sections for replacement of the first code sections; selecting at least one first code section for compaction and producing a compacted first code section; replacing correlated first code sections with correlated second code sections; and
,executing the changed system software after the replacement has been completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for maintaining software comprising:
-
receiving Over-the-Air (OTA) software using an OTA interface; storing the OTA software in a file system comprised of OTA code sections; determining at least one system code section, in a wireless communication device memory storing a plurality of system code sections, to be resized to use less memory space; scheduling a maintenance event; starting the maintenance event; using a compactor after starting the maintenance event to resize the at least one system code section, comprising; correlating the at least one system code section with at least one OTA code section for replacement of the at least one system code section; selecting the at least one system code section for compaction and producing a compacted system code section; replacing correlated system code sections with correlated OTA code sections; and xecuting system software, comprising said plurality of system code sections, after resizing the at least one system code section. - View Dependent Claims (10, 11, 12)
-
-
13. A wireless communications device comprising:
-
an over-the-air (OTA) interface operable to send and receive OTA communications; a memory; system software instructions stored in the memory, the system software instructions organized into a plurality of system code sections, the system software being executable and configured to enable the wireless communications device to be operable, including interacting with the OTA interface, each system code section comprised of contiguously addressable memory blocks; a file system section for receiving OTA code sections via the OTA interface, including a compaction instruction set identifying corresponding code sections, the corresponding code sections being an OTA code section and a system code section it will replace; and a compactor configured to compare sizes between corresponding code sections, to upsize system code sections to accommodate corresponding OTA code sections if the OTA code section is larger than its corresponding system code section, to copy OTA code sections into resized system code sections, to copy OTA code sections into unchanged system code sections where no upsizing is needed, and, wherein the arrangement of new code sections forms executable updated system software. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification