Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
First Claim
Patent Images
1. A method of programming a communication device containing a software defined radio based chipset module, comprising:
- selecting a carrier to support communications for the communication device from a preloaded menu;
loading a software build image for the selected carrier into a volatile memory of the communication device;
loading a notation file for the selected carrier into the volatile memory, the notation file comprising an index value assigned to the selected carrier and a notation file header, wherein the index value correlates to a memory slot of a memory location of the volatile memory;
extracting the index value and the notation file header from the notation file;
parsing the extracted notation file header to determine a category of a non-volatile memory item value;
determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value;
retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value;
loading the retrieved non-volatile memory item value into a non-volatile memory; and
executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems enable communication devices equipped with software defined radio based chipset modules to seamlessly re-program the communication device to operate on any of a variety of service provider networks. By re-programming a communication device equipped with software defined radio based chipset module, the communication device can support communications over both UMTS and CDMA communication networks. An environment is provided which allows a user to quickly and efficiently switch between service provider accounts supporting communications.
49 Citations
28 Claims
-
1. A method of programming a communication device containing a software defined radio based chipset module, comprising:
-
selecting a carrier to support communications for the communication device from a preloaded menu; loading a software build image for the selected carrier into a volatile memory of the communication device; loading a notation file for the selected carrier into the volatile memory, the notation file comprising an index value assigned to the selected carrier and a notation file header, wherein the index value correlates to a memory slot of a memory location of the volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; loading the retrieved non-volatile memory item value into a non-volatile memory; and executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (2, 3, 4)
-
-
5. A method for restricting which carrier communication network a communication device containing a software defined radio based chipset module may access, the method comprising:
-
selecting a carrier in the communication device; loading a software build image for the selected carrier into a volatile memory of the communication device; loading a notation file for the selected carrier into the volatile memory, the notation file including an index value assigned to the selected carrier, a notation file header, and a compatible technology lock ID, wherein the index value is correlates to a memory slot of a memory location of the volatile memory; retrieving a technology lock ID from a non-volatile memory; retrieving the compatible technology lock ID from the notation file for the selected carrier; determining whether the compatible technology lock ID matches the technology lock ID retrieved from the non-volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value and determining the technology lock ID retrieved from the non-volatile memory matches the compatible technology lock ID; loading the retrieved non-volatile memory item value into the non-volatile memory; and executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (6, 7)
-
-
8. A communication device, comprising:
-
a software defined radio based chipset module; means for selecting a carrier to support communications for the communication device from a preloaded menu; means for loading a software build image for the selected carrier into a volatile memory; means for loading a notation file for the selected carrier into the volatile memory, the notation file comprising an index value assigned to the selected carrier and a notation file header, wherein the index value correlates to a memory slot of a memory location of the volatile memory; means for extracting the index value and the notation file header from the notation file; means for parsing the extracted notation file header; means for determining a category of a non-volatile memory item value based on the parsed extracted notation file header; means for determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; means for retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to the means for determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value determines that the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; means for loading the retrieved non-volatile memory item value into a non-volatile memory; and means for executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (9, 10, 11)
-
-
12. A communication device comprising:
-
a software defined radio based chipset module; means for selecting a carrier in the communication device; means for loading a software build image for the selected carrier into a volatile memory of the communication device; means for loading a notation file for the selected carrier into the volatile memory, the notation file including an index value assigned to the selected carrier, a notation file header, and a compatible technology lock ID, wherein the index value correlates to a memory slot of a memory location of the volatile memory; means for retrieving a technology lock ID from a non-volatile memory; means for retrieving the compatible technology lock ID from the notation file for the selected carrier; means for determining whether the compatible technology lock ID matches the technology lock ID retrieved from the non-volatile memory; means for extracting the index value and the notation file header from the notation file; means for parsing the extracted notation file header; means for determining a category of a non-volatile memory item value from the parsed extracted notation file; means for determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; means for retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to the means for determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value determines that the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; means for determining whether the technology lock ID retrieved from the non-volatile memory matches the compatible technology lock ID; means for loading the retrieved non-volatile memory item value into the non-volatile memory; and means for executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (13, 14)
-
-
15. A communication device comprising:
-
a software defined radio based chipset module; a non-volatile memory; a volatile memory; and a processor coupled to the non-volatile memory, the volatile memory and the software defined radio based chipset module, wherein the processor is configured with software instructions to perform steps comprising; selecting a carrier to support communications from the communication device from a preloaded menu; loading a software build image for the selected carrier into the volatile memory; loading a notation file for the selected carrier into the volatile memory, the notation file comprising an index value assigned to the selected carrier and a notation file header, wherein the index value correlates to a memory slot of a memory location of the volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; loading the retrieved non-volatile memory item values into the non-volatile memory; and executing the software build image using the retrieved non-volatile memory item values loaded in the non-volatile memory. - View Dependent Claims (16, 17, 18)
-
-
19. A communication device, comprising:
-
a software defined radio based chipset module; a non-volatile memory; a volatile memory; and a processor coupled to the non-volatile memory, the volatile memory and the software defined radio based chipset module, wherein the processor is configured with software instructions to perform steps comprising; selecting a carrier; loading a software build image for the selected carrier into the volatile memory; loading a notation file for the selected carrier into the volatile memory, the notation file including an index value assigned to the selected carrier, a notation file header, and a compatible technology lock ID, wherein the index value is correlates to a memory slot of a memory location of the volatile memory; retrieving a technology lock ID from the non-volatile memory; retrieving the compatible technology lock ID from the notation file for the selected carrier; determining whether the compatible technology lock ID matches the technology lock ID retrieved from the non-volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value and determining the technology lock ID retrieved from the non-volatile memory matches the compatible technology lock ID; loading the retrieved non-volatile memory item value into the non-volatile memory; and executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (20, 21)
-
-
22. A non-transitory processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a communication device processor to perform operations comprising:
-
selecting a carrier to support communications for the communication device from a preloaded menu; loading a software build image for the selected carrier into a volatile memory; loading a notation file for the selected carrier into the volatile memory, the notation file comprising an index value assigned to the selected carrier and a notation file header, wherein the index value correlates to a memory slot of a memory location of the volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; loading the retrieved non-volatile memory item value into a non-volatile memory; and executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (23, 24, 25)
-
-
26. A non-transitory processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a communication device processor to perform operations comprising:
-
selecting a carrier; loading a software build image for the selected carrier into a volatile memory; loading a notation file for the selected carrier into the volatile memory, the notation file including an index value assigned to the selected carrier, a notation file header, and a compatible technology lock ID, wherein the index value is correlates to a memory slot of a memory location of the volatile memory; retrieving a technology lock ID from a non-volatile memory; retrieving the compatible technology lock ID from the notation file for the selected carrier; determining whether the compatible technology lock ID matches the technology lock ID retrieved from the non-volatile memory; extracting the index value and the notation file header from the notation file; parsing the extracted notation file header to determine a category of a non-volatile memory item value; determining whether the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value; retrieving the non-volatile memory item value from the memory slot of the memory location of the volatile memory correlated to the index value included in the notation file in response to determining the non-volatile memory item value is a multiplexed non-volatile memory item value based on the determined category of the non-volatile memory item value and determining the technology lock ID retrieved from the non-volatile memory matches the compatible technology lock ID; loading the retrieved non-volatile memory item value into the non-volatile memory; and executing the software build image using the retrieved non-volatile memory item value loaded in the non-volatile memory. - View Dependent Claims (27, 28)
-
Specification