Update system capable of updating software
First Claim
Patent Images
1. An electronic device configured to be updated, the electronic device comprising:
- firmware, an operating system, and application software;
a non-volatile memory wherein the firmware, the operating system, and the application software are resident;
a random-access memory (RAM) wherein the firmware, the operating system, and the application software are optionally executed;
a plurality of update agents resident in the non-volatile memory of the electronic device, each update agent employing a library that enables the update agent to interact with a portion of the non-volatile memory to be updated; and
a handoff agent resident in the non-volatile memory unit and configured to coordinate use of the plurality of update agents to perform updates of the non-volatile memory in the electronic device;
wherein the handoff agent is configured using information contained in a received update package to specify to each update agent the location of a subset of the update package to be used by the update agent to update the firmware, the operating system, or the application software;
wherein the handoff agent is configured using information contained in a received update package to specify to each update agent the information needed to access and verify the update package; and
wherein the handoff agent is configured using information contained in a received update package to select one of the plurality of update agents to update the firmware, another one of the plurality of update agents to update the application software and yet another one of the plurality of update agents to update the operating system.
6 Assignments
0 Petitions
Accused Products
Abstract
An electronic device with a handoff agent is capable of coordinating the update by one or more update agents in the electronic device. The handoff agent is capable of selectively updating an application software or firmware that is stored in non-volatile memory that may employ multiple FLASH chips, the handoff agent employing appropriate update agents, that each employs appropriate subsets of an update package that has been retrieved from an external system.
-
Citations
6 Claims
-
1. An electronic device configured to be updated, the electronic device comprising:
-
firmware, an operating system, and application software; a non-volatile memory wherein the firmware, the operating system, and the application software are resident; a random-access memory (RAM) wherein the firmware, the operating system, and the application software are optionally executed; a plurality of update agents resident in the non-volatile memory of the electronic device, each update agent employing a library that enables the update agent to interact with a portion of the non-volatile memory to be updated; and a handoff agent resident in the non-volatile memory unit and configured to coordinate use of the plurality of update agents to perform updates of the non-volatile memory in the electronic device; wherein the handoff agent is configured using information contained in a received update package to specify to each update agent the location of a subset of the update package to be used by the update agent to update the firmware, the operating system, or the application software; wherein the handoff agent is configured using information contained in a received update package to specify to each update agent the information needed to access and verify the update package; and wherein the handoff agent is configured using information contained in a received update package to select one of the plurality of update agents to update the firmware, another one of the plurality of update agents to update the application software and yet another one of the plurality of update agents to update the operating system. - View Dependent Claims (2, 3)
-
-
4. An electronic device configured to be updated, the electronic device comprising:
-
firmware, an operating system, and application software; a non-volatile memory wherein the firmware, the operating system, and the application software are resident; a random-access memory (RAM) wherein the firmware, the operating system, and the application software are optionally executed; a plurality of update agents resident in the non-volatile memory of the electronic device, each update agent employing a library that enables the update agent to interact with a portion of the non-volatile memory to be updated; a handoff agent resident in the non-volatile memory unit and configured to coordinate use of the plurality of update agents to perform updates of the non-volatile memory in the electronic device; a plurality of flash units resident in the non-volatile memory, wherein the firmware, the operating system, and the application software are contained such that code representing the firmware is resident a first flash unit, code representing the operating system is resident a second flash unit, and code representing the application software is resident a third flash unit; wherein each of the plurality of update agents is associated with a flash unit and configured to update code resident in the associated flash unit; an update package comprising a plurality of subsets wherein each subset is associated with a flash unit; and the handoff agent configured using information contained in the update package to specify to each update agent the location of a subset of the update package to be used by the update agent to update the firmware, the operating system, or the application software and configuring the handoff agent using information contained in the update package to employ a first update agent and a first subset to update the code resident in the first flash unit, a second update agent and a second subset to update the code resident in the second flash unit, and a third update agent and a third subset to update the code resident in the third flash unit.
-
-
5. A method of updating a mobile phone that comprises a plurality of FLASH chips, a plurality of update agents, and a handoff agent, the method comprising:
-
associating each of the plurality of update agents with at least one of the plurality of FLASH chips, wherein the plurality of update agents comprises a first update agent associated with a first FLASH chip and configured to update a first code resident in the first FLASH chip, a second update agent associated with a second FLASH chip and configured to update a second code resident in the second FLASH chip, and a third update agent associated with a third FLASH chip and configured to update a third code resident in the third FLASH chip, and wherein the plurality of FLASH chips comprise a non-volatile memory within which the firmware, the operating system, and the application software are contained such that code representing the firmware is resident on the first FLASH chip, code representing the operating system is resident on the second FLASH chip, and code representing the application software is resident on the third FLASH chip; processing an update package to determine a target chip list comprising those of the plurality of FLASH chips that need to be updated using the update package, wherein the update package comprises a first subset associated with the first FLASH chip, a second subset associated with the second FLASH chip, and a third subset associated with the third FLASH chip; configuring the handoff agent using information contained in the update package to specify to each update agent the location of a subset of the update package to be used by the update agent to update the firmware, the operating system, or the application software, and configuring the handoff agent using information contained in the update package to invoke those of the plurality of update agents associated with the target chip list, wherein the first update agent and the first subset are used to update the first code resident in the first FLASH chip, the second update agent and the second subset are used to update the second code resident in the second FLASH chip, and the third update agent ant the third subset are used to update the third code resident in the third FLASH chip; and gathering results, result codes, and status information from those of the plurality of update agents associated with the target chip list. - View Dependent Claims (6)
-
Specification