IP Library Granted Patent US 7,047,448
Granted Patent B2
US 7,047,448 · App. 10/695,524 · Granted May 16, 2006

Software self-repair toolkit for electronic devices

Assignee: Bitfone Corporation
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,047,448
App. No.
10/695,524
Granted
May 16, 2006
Kind
B2
Abstract

A device and method supporting the identification and correction of firmware and/or software errors is described. Upon the occurrence of a firmware/software error or exception, an embodiment in accordance with the present invention may gather parameters for identifying the error or exception, and the execution environment in which the error occurred, and may communicate the parameters or an identifier to a server, to retrieve update information for correcting the firmware/software error or exception. The execution environment may be single or multi-threaded, and may be a java virtual machine. The device may restart/reboot during the update process, and may log an error if update information is not available to correct the error or exception. The device may communicate the error log information to the server via the communication network. The communication network may be a wireless network.

Claims (57)

1. An updatable electronic device comprising:

a memory having at least one of the following: firmware and software;

a first firmware component for determining the occurrence of at least one of the following: an error and an exception during the execution of the at least one of the following: firmware and software;

a second firmware component for gathering at least one parameter related to the occurrence of the at least one of the following: an error and an exception;

interface circuitry for receiving update information via a communication network, the update information based upon the at least one parameter; and

a third firmware component for applying the update information to at least a portion of the at least one of the following: firmware and software.

2. The device of claim 1 wherein the at least one parameter comprises at least one of the following: a type of error, an error code, an error message, a type of exception, an identifier of a component, an identifier of a module, stack trace information, a computed hash value, and a device characteristic.

3. The device of claim 2 wherein the device characteristic comprises at least one of the following: a manufacture identifier, a model identifier, a firmware version number, a hardware version number, a battery level, a communication statistic, and a serial number.

4. The device of claim 1 wherein the device is a mobile handset.

5. The device of claim 1 wherein the communication network comprises a wireless network.

6. The device of claim 1 further comprising a fourth firmware component for generating an identifier for identifying the update information used to correct the at least one of the following: an error and an exception.

7. The device of claim 1 wherein the device transmits the at least one parameter to at least one server via the communication network, the at least one server identifying the update information used to correct the at least one of the following: an error and an exception.

8. The device of claim 1 wherein the update information comprises information for retrieving at least one update package via the communication network.

9. The device of claim 1 wherein the update information comprises a set of instructions for converting the at least a portion of the at least one of the following: firmware and software from a first version to a second version.

10. The device of claim 1 wherein at least one of the following: the first firmware component, the second firmware component, and the third firmware component initiate at least one of the following: a restart and a reboot of the device.

11. The device of claim 10 wherein the device stores information related to the at least one of the following: an error and an exception for use after at least one of the following: a power-up, a restart and a reboot of the device.

12. The device of claim 10 wherein the device updates the at least a portion of the at least one of the following: firmware and software following at least one of the following: a power-up, a restart and a reboot of the device.

13. The device of claim 1 wherein the at least one of the following: firmware and software comprises a java virtual machine.

14. A method of operating an updatable electronic device comprising a memory containing at least one of the following: firmware and software, the method comprising:

determining whether at least one of the following: an error and an exception has occurred;

continuing regular processing if the at least one of the following: an error and an exception has not occurred;

generating an identifier based upon at least one parameter, if the at least one of the following: an error and an exception has occurred;

receiving, via a communication network, update information based upon the identifier; and

updating at least a portion of the at least one of the following: firmware and software using the update information.

15. The device of claim 14 wherein the at least one parameter comprises at least one of the following: a type of error, an error code, an error message, a type of exception, an identifier of a component, an identifier of a module, stack trace information, a computed hash value, and a device characteristic.

16. The device of claim 15 wherein the device characteristic comprises at least one of the following: a manufacture identifier, a model identifier, a firmware version number, a hardware version number, a battery level, a communication statistic, and a serial number.

17. The method of claim 14 wherein the device is a mobile handset.

18. The method of claim 14 wherein the communication network comprises a wireless network.

19. The method of claim 14 wherein the device transmits the at least one parameter to at least one server via the communication network, the at least one server identifying the update information used to correct the at least one of the following: an error and an exception.

20. The method of claim 14 wherein the update information comprises information for retrieving at least one update package via the communication network.

21. The method of claim 14 wherein the update information comprises a set of instructions for converting the at least a portion of the at least one of the following: firmware and software from a first version to a second version.

22. The method of claim 14 further comprising:

initiating at least one of a the following: restart and a reboot of the device.

23. The method of claim 14 further comprising:

storing information related to the at least one of the following: an error and an exception for use after at least one of the following: a power-up, a restart and a reboot of the device.

24. The method of claim 23 wherein the device updates the at least a portion of the at least one of the following: firmware and software following the at least one of the following: a power-up, a restart and a reboot of the device.

25. The method of claim 14 further comprising:

logging the occurrence of the at least one of the following: an error and an exception.

26. The method of claim 25 further comprising:

communicating, via the communication network, the logged occurrence of the at least one of the following: an error and an exception.

27. A method of operating an updatable electronic device, the method comprising:

determining that at least one of the following: a firmware and a software error has occurred;

gathering at least one parameter related to the at least one of the following: a firmware and a software error;

identifying update information for correcting the at least one of the following: a firmware and a software error;

receiving the update information via a communication network; and

updating at least one of the following: firmware and software using the update information.

28. The method of claim 27 wherein the communication network comprises a wireless network.

29. The method of claim 27 wherein the update information comprises a set of instructions for converting the at least one of the following: firmware and software from a first version to a second version.

30. A network for updating at least one of the following: firmware and software in at least one updatable electronic device, the network comprising:

at least one server receiving at least one of the following: device characteristics and an error report from the at least one updatable electronic device, the at least one server retrieving appropriate update information based on the at least one of the following: device characteristics and an error report;

the server communicating the update information to the at least one updatable electronic device using a wireless interface; and

the at least one updatable electronic device using the update information to update the at least one of the following: firmware and software.

31. The network of claim 30 wherein the update information comprises an update package having a set of instructions for converting the at least one of the following: firmware and software from a first version to a second version.

32. The network of claim 30 wherein the updatable electronic device comprises a mobile handset.

33. The network of claim 30 wherein the device characteristics comprise at least one of the following: a manufacture identifier, a model identifier, a firmware version number, a hardware version number, a battery level, a communication statistic, and a serial number.

34. The network of claim 30 wherein the updatable electronic device further comprises a display for displaying information regarding at least one of the following: an error, an exception, and an event to a user.

35. The network of claim 34 wherein the displayed information comprises a user prompt to solicit user approval for at least one of the following: the communication of the update information and the update of the at least one of the following: firmware and software.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: HEWLETT-PACKARD COMPANY; HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; PALM, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 032126/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 031837/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 030341/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2008
From: BITFONE CORPORATION
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 021316/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2004
From: RAO, BINDU RAMA; CHIA, TECK; OKONNEN, HARRI
To: BITFONE CORPORATION
Reel/Frame 014331/0202 →
Continuity (2)
Provisional Application 6042807100 · Nov 21, 2002
Related Publication 20040103412A1 · May 27, 2004