Multiple variance platform for the management of mobile devices
First Claim
1. A mobile electronic device having NAND-based non-volatile memory and volatile memory, the mobile electronic device comprising:
- a file system resident in a first portion of the NAND-based non-volatile memory;
application code resident in the file system, the application code comprising a plurality of application files;
kernel code resident in a second portion of the NAND-based non-volatile memory separate from the first portion, which enables initiation of execution of an operating system and interfacing with hardware circuitry of the mobile electronic device through firmware code resident in the second portion of the NAND-based non-volatile memory;
update agent code resident in the firmware code that updates the firmware code;
client code resident in the kernel code, wherein the client code copies at least one of the plurality of application files into volatile memory, the client code updates the at least one of the plurality of application files in volatile memory, and the client code copies the updated at least one of the plurality of application files from volatile memory into the file system, replacing the at least one of the plurality of application files; and
wherein the mobile electronic device employs a bank-by-bank method in which an unintended point of interruption of the update is determined by comparing check values against previously computed check values communicated to the mobile electronic device.
7 Assignments
0 Petitions
Accused Products
Abstract
A multiple variance platform supports device management of mobile devices in a carrier network. Applications stored in a file system residing in non-volatile memory may be updated, along with firmware code. Updates of files may be performed before file system support is provided by an operating system that enables normal operations of the electronic device. Update agent code may reside in a kernel that runs beneath the operating system, or may act as a separate entity. The non-volatile memory may comprise multiple non-volatile memory chips such as NAND-based flash memory. The firmware code may be compressed as in Linux based mobile devices.
129 Citations
17 Claims
-
1. A mobile electronic device having NAND-based non-volatile memory and volatile memory, the mobile electronic device comprising:
-
a file system resident in a first portion of the NAND-based non-volatile memory; application code resident in the file system, the application code comprising a plurality of application files; kernel code resident in a second portion of the NAND-based non-volatile memory separate from the first portion, which enables initiation of execution of an operating system and interfacing with hardware circuitry of the mobile electronic device through firmware code resident in the second portion of the NAND-based non-volatile memory; update agent code resident in the firmware code that updates the firmware code; client code resident in the kernel code, wherein the client code copies at least one of the plurality of application files into volatile memory, the client code updates the at least one of the plurality of application files in volatile memory, and the client code copies the updated at least one of the plurality of application files from volatile memory into the file system, replacing the at least one of the plurality of application files; and wherein the mobile electronic device employs a bank-by-bank method in which an unintended point of interruption of the update is determined by comparing check values against previously computed check values communicated to the mobile electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of updating files in a mobile electronic device having NAND-based non-volatile memory and volatile memory, the NAND-based non-volatile memory comprising a file system in a first portion of the NAND-based non-volatile memory, the method comprising:
-
receiving update information via a wireless network; storing the update information in the NAND-based non-volatile memory; retrieving a file before establishment of operating system support of the file system; updating the retrieved file using one of an update agent code resident in firmware resident in a second portion of the NAND-based non-volatile memory or a client code resident in kernel code in the second portion of the NAND-based non-volatile memory using at least a first portion of the update information, wherein if the retrieved file comprises a portion of the firmware, the update agent code is used to update the retrieved file, and if the retrieved file comprises a portion of an application file, the client code is used to update the retrieved file; saving the updated file to the file system; and wherein the mobile electronic device employs a bank-by-bank method in which an unintended point of interruption of the updating is determined by comparing check values against previously computed check values communicated to the mobile electronic device. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification