IP Library Granted Patent US 7,222,340
Granted Patent B2
US 7,222,340 · App. 10/765,512 · Granted May 22, 2007

Software-delivered dynamic persistent data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,222,340
App. No.
10/765,512
Granted
May 22, 2007
Kind
B2
Abstract

A method and apparatus for dynamically managing non-volatile memory items in a wireless device, the method comprising the steps of: checking the non-volatile memory items for a unique identifier item; if the unique identifier item exists, comparing an identifier stored within the unique identifier item with a software identifier located in software on the wireless device; and if the unique identifier item does not exist or if the identifier is different from the software identifier, performing the steps of: updating the non-volatile memory items; and writing the software identifier to the unique identifier item. The method may further include a rollback scheme for previous software versions.

Claims (42)

1. A method of dynamically managing non-volatile memory items in a wireless device from non-volatile memory item values stored in a software load on said wireless device, said method comprising the steps of:

checking the non-volatile memory items for a unique identifier item;

if said unique identifier item exists, comparing an identifier stored within said unique identifier item with a software identifier located in software on said wireless device; and

if said unique identifier item does not exist or if said identifier is different from said software identifier, performing the steps of:

updating said non-volatile memory items from said non-volatile memory item values stored in the software load on said wireless device; and

writing said software identifier to said unique identifier item;

else performing no update on said non-volatile memory items.

2. The method of claim 1 , wherein said unique identifier and said software identifier are operating system version numbers of software on said wireless device.

3. The method of claim 1 , wherein said writing step is performed after said updating step is complete.

4. The method of claim 1 , wherein said updating step allows rollback to a previous software version.

5. The method of claim 4 , wherein said updating step preferably creates a new non-volatile memory item rather than replacing an existing non-volatile memory item to facilitate rollback to said existing non-volatile memory item.

6. The method of claim 5 , wherein said updating step does not delete non-volatile memory items that have previously been created.

7. The method of claim 6 , wherein non-volatile memory items managed under other non-volatile memory items management schemes are not updated in said updating step.

8. The method of claim 5 , wherein software on said wireless device includes a mapping from old non-volatile memory items to new non-volatile memory items.

9. A method for dynamically managing non-volatile memory items on a wireless device from non-volatile memory item values stored in a software load on said wireless device, said method allowing rollback to previous versions of software using said non-volatile memory items, said method comprising the steps of:

checking the non-volatile memory items for a unique identifier item;

if said unique identifier item exists, comparing an identifier stored within said unique identifier item with a software identifier located in software on said wireless device; and

if said unique identifier item does not exist or if said identifier is different from said software identifier, performing the steps of:

updating said non-volatile memory items from said non-volatile memory item values stored in the software load on said wireless device, said updating step:

creating a new non-volatile memory item rather than replacing an existing non-volatile memory item to facilitate rollback;

retaining non-volatile memory items that have previously been created; and

avoiding non-volatile memory items created by default or refurbished non-volatile memory files; and

writing said software identifier to said unique identifier item;

else performing no update on said non-volatile memory items,

whereby said creating, retaining, and avoiding steps in said updating step allow rollback to previous versions of software on said wireless device.

10. A wireless communications device comprising:

a receiver for receiving signals;

a transmitter for transmitting signals;

a digital signal processor for processing signals to be sent on said transmitter and received on said receiver;

a microprocessor communicating with said digital signal processor;

non-volatile memory having program storage and non-volatile memory items, said non-volatile memory communicating with said microprocessor; and

input and output subsystems interacting with said microprocessor,

wherein said microprocessor includes means for checking said non-volatile memory items for a unique identifier item, comparing an identifier stored within said unique identifier item with a software identifier located in software in said program storage if said unique identifier item exists; and

if said unique identifier item does not exist or if said identifier is different from said software identifier, means for performing the steps of:

updating said non-volatile memory items from said non-volatile memory item values stored in the software on said wireless device; and

writing said software identifier to said unique identifier item;

else performing no update on said non-volatile memory items.

11. The wireless device of claim 10 , wherein said unique identifier and said software identifier are operating system version numbers of software in said program storage.

12. The wireless device of claim 10 , wherein said updating means allows rollback to a previous software version.

13. The wireless device of claim 12 , wherein said updating means preferably creates a new non-volatile memory item rather than replacing an existing non-volatile memory item to facilitate rollback to said existing non-volatile memory item.

14. The wireless device of claim 13 , wherein said updating means does not delete non-volatile memory items that have previously been created.

15. The wireless device of claim 14 , wherein non-volatile memory items managed under other non-volatile memory items management schemes are not updated by said updating means.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Feb 17, 2016
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 037845/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2006
From: WILLIS, II, EDWARD SNOW
To: RESEARCH IN MOTION LIMITED
Reel/Frame 017805/0631 →