Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Supercritical refrigerant cycle system
Patent Number: 7,143,595 Issued on 12/05/2006 to Doi,   et al.

Title: Lint remover and spray dispenser apparatus
Patent Number: 6,763,977 Issued on 07/20/2004 to McKay

Title: Communication system architecture and operating methodology providing a virtual neighborhood network
Patent Number: 7,142,503 Issued on 11/28/2006 to Grant,   et al.

Title: Investment casting
Patent Number: 7,144,220 Issued on 12/05/2006 to Marcin, Jr.

Title: FPGA configuration memory with built-in error correction mechanism
Patent Number: 7,143,329 Issued on 11/28/2006 to Trimberger,   et al.

Title: Method and apparatus for spatial-shift wavelength multiplexing in communication systems
Patent Number: 6,763,163 Issued on 07/13/2004 to Ford,   et al.

Title: Semiconductor device and method of manufacture thereof, circuit board and electronic instrument
Patent Number: 6,763,994 Issued on 07/20/2004 to Hashimoto

Title: Sealing arrangement for a transit vehicle
Patent Number: 7,143,546 Issued on 12/05/2006 to Griffis,   et al.

Title: Pre-paid telephone calling card having an associated pre-recorded personal greeting
Patent Number: 7,145,989 Issued on 12/05/2006 to Bond,   et al.

Title: Substrate processing apparatus for processing substrates using dense phase gas and sonic waves
Patent Number: 7,033,068 Issued on 04/25/2006 to Ching,   et al.

Title: Method and apparatus for precision optimization in compiled programs
Patent Number: 7,143,402 Issued on 11/28/2006 to Ogasawara,   et al.

Title: Optical assembly
Patent Number: 6,763,171 Issued on 07/13/2004 to D'Inca

Title: Internet based system for creating presentations
Patent Number: 7,152,066 Issued on 12/19/2006 to Nelson,   et al.

Title: Vehicle allocation processing apparatus, system, method, and program, and recording medium recording the program
Patent Number: 7,146,270 Issued on 12/05/2006 to Nozaki,   et al.

Title: 90.degree. hybrid
Patent Number: 7,151,422 Issued on 12/19/2006 to Pivit,   et al.

Title: Sliding guide apparatus
Patent Number: 7,140,775 Issued on 11/28/2006 to Saito

Title: Startup and operational techniques for a digital flowmeter
Patent Number: 7,146,280 Issued on 12/05/2006 to Henry,   et al.

Title: Resistor element, stress sensor and method for manufacturing them
Patent Number: 7,151,431 Issued on 12/19/2006 to Ooba,   et al.

Title: Sealed-off switchgear
Patent Number: 7,151,427 Issued on 12/19/2006 to Muller,   et al.

Title: Optical fiber and evaluation method thereof
Patent Number: 7,142,755 Issued on 11/28/2006 to Kurusu,   et al.

Title: Coupling for a steer-by-wire steering system
Patent Number: 7,140,465 Issued on 11/28/2006 to Dominke,   et al.

Title: Control of initial current transients
Patent Number: 6,765,373 Issued on 07/20/2004 to Harvey,   et al.

Title: System and method for executing wireless communications device dynamic instruction sets
Patent Number: 7,143,407 Issued on 11/28/2006 to Rajaram,   et al.

Title: Clear oral compositions containing potassium salt
Patent Number: 7,153,493 Issued on 12/26/2006 to Nelson,   et al.

Title: Engine with variable cam timing and control advantageously using humidity sensor
Patent Number: 6,918,362 Issued on 07/19/2005 to Cullen

Title: Electric shaver
Patent Number: 7,143,515 Issued on 12/05/2006 to Izumi,   et al.

Title: Method and apparatus for optimizing performance in a multi-processing system
Patent Number: 7,143,412 Issued on 11/28/2006 to Koenen

Title: Latching micro magnetic relay packages and methods of packaging
Patent Number: 7,151,426 Issued on 12/19/2006 to Stafford,   et al.

Title: High-pressure pad cleaning system
Patent Number: 6,764,388 Issued on 07/20/2004 to Liu,   et al.

Title: Controller for a wound-rotor induction motor
Patent Number: 7,042,194 Issued on 05/09/2006 to Kuroiwa,   et al.

Title: Storage control system and method for storing block level data in internal or external storage control system based on control information via networks
Patent Number: 7,143,228 Issued on 11/28/2006 to Iida,   et al.

Title: Apparatus and methods of energy efficient, atrial-based Bi-ventricular fusion-pacing
Patent Number: 7,181,284 Issued on 02/20/2007 to Burnes,   et al.

Title: Backpack with incorporated gun scabbard
Patent Number: 6,763,987 Issued on 07/20/2004 to Eberle

Title: Process for the production of a gaseous fuel
Patent Number: 6,883,442 Issued on 04/26/2005 to Groszek,   et al.

Title: Measuring tape holding tool
Patent Number: 7,024,792 Issued on 04/11/2006 to Graham

Title: Conversion of a video signal for driving a liquid crystal display
Patent Number: 6,909,472 Issued on 06/21/2005 to Gadeyne,   et al.

Title: System and method for bi-directional power conversion in a portable device
Patent Number: 6,765,370 Issued on 07/20/2004 to Bradley

Title: Transmitting acknowledgements using direct memory access
Patent Number: 7,133,902 Issued on 11/07/2006 to Saha,   et al.

Title: Sensor arrangement and method for digital scanning imaging
Patent Number: 7,145,985 Issued on 12/05/2006 to Strommer

Title: Circuit and method for a switch matrix and switch sensing
Patent Number: 7,151,432 Issued on 12/19/2006 to Tierling

Title: Camera apparatus with an auto focusing function
Patent Number: 6,763,187 Issued on 07/13/2004 to Shiraishi

Title: Non-isolated DC-DC converter for performing direct current power conversion
Patent Number: 6,765,371 Issued on 07/20/2004 to Kataoka

Title: Integral organic light emitting diode fiber optic printhead
Patent Number: 6,763,167 Issued on 07/13/2004 to Gaudiana,   et al.

Title: Hand dryer
Patent Number: 6,769,197 Issued on 08/03/2004 to Tai

Title: Image forming apparatus
Patent Number: 7,146,123 Issued on 12/05/2006 to Kidaka

Title: Hub assembly having a clutch ring travel limiter
Patent Number: 7,143,883 Issued on 12/05/2006 to McCalla,   et al.

Title: Mobile communication terminal equipment, control method therefor, and recording medium on which control program therefor is recorded
Patent Number: 7,142,526 Issued on 11/28/2006 to Hokao

Title: Prioritization of searching by a remote unit in a wireless communication system
Patent Number: 6,944,143 Issued on 09/13/2005 to Bayley,   et al.

Title: Devices and method of measuring a mass
Patent Number: 7,140,255 Issued on 11/28/2006 to Ohsugi,   et al.

Title: Cutting head for wire-processing machine
Patent Number: 7,140,215 Issued on 11/28/2006 to Viviroli,   et al.

Title: Liquid crystal display driving scaler capable of reducing electromagnetic interference
Patent Number: 7,142,187 Issued on 11/28/2006 to Kim,   et al.

Title: Test handler apparatus for SMD (surface mount devices), BGA (ball grid arrays) and CSP (chip scale packages)
Patent Number: 6,765,378 Issued on 07/20/2004 to Seng,   et al.

Title: Systems and methods for remote access to a display-based bulletin board in a shared user environment
Patent Number: 6,968,362 Issued on 11/22/2005 to Koch,   et al.

Title: Mini body press
Patent Number: 6,764,433 Issued on 07/20/2004 to Sims

Title: Application of the .psi.-s curve to road geometry extraction and modeling
Patent Number: 7,152,022 Issued on 12/19/2006 to Joshi

Title: Method and apparatus for damping an LC filter
Patent Number: 6,765,452 Issued on 07/20/2004 to Yuan,   et al.

Title: Manual feeding tray and image forming apparatus
Patent Number: 7,142,805 Issued on 11/28/2006 to Mizuno,   et al.

Title: System and method for accessing local services with a mobile terminal
Patent Number: 7,146,178 Issued on 12/05/2006 to Lehikoinen,   et al.

Title: Methods and apparatus for design, adjustment or operation of wireless networks using pre-frequency-assignment optimization
Patent Number: 7,142,523 Issued on 11/28/2006 to Chekuri,   et al.

Title: Apparatus and method to enhance a contrast using histogram matching
Patent Number: 7,142,724 Issued on 11/28/2006 to Oh,   et al.

Title: Safety mechanism for bolt-action firearm
Patent Number: 6,957,508 Issued on 10/25/2005 to Sato

Title: Memory device capable of stable data writing
Patent Number: 6,947,320 Issued on 09/20/2005 to Hidaka

Title: Power transmission belt and method for fabricating the same
Patent Number: 6,764,382 Issued on 07/20/2004 to Watanabe,   et al.

Title: 2D imaging data collection sensor with matching illuminator
Patent Number: 7,142,734 Issued on 11/28/2006 to Feng

Title: System for the storage and organization of clothing under travel conditions
Patent Number: 7,143,902 Issued on 12/05/2006 to Iversen,   et al.

Title: Quick closing shut-off valve
Patent Number: 7,025,083 Issued on 04/11/2006 to Chrz,   et al.

Title: Data storage subsystem
Patent Number: 6,950,915 Issued on 09/27/2005 to Ohno,   et al.

Title: Low density radionuclide-containing particulate material
Patent Number: 6,998,105 Issued on 02/14/2006 to Ruys,   et al.

Title: Network visualization tool utilizing iterative rearrangement of nodes on a grid lattice using gradient method
Patent Number: 7,024,419 Issued on 04/04/2006 to Klenk,   et al.

Title: Recording and reproducing apparatus and method generating recording location table for plurality of programs received in multiplexed data train
Patent Number: 7,142,777 Issued on 11/28/2006 to Ohno

Title: Spring assisted swing door operator
Patent Number: 7,143,547 Issued on 12/05/2006 to Liles, Jr.

Title: Modification of surfaces in order to increase the surface tension
Patent Number: 7,025,836 Issued on 04/11/2006 to Zimmer,   et al.

Title: Device authentication management system
Patent Number: 7,143,436 Issued on 11/28/2006 to Yamaguchi,   et al.

Title: Disk for a force transmitting aggregate
Patent Number: 7,143,882 Issued on 12/05/2006 to Matthes,   et al.

Title: Apparatus for wireless device to alter performance of wireless communication link
Patent Number: 7,146,189 Issued on 12/05/2006 to Kotzin

System and method for the management of wireless communications device system software downloads in the field Number:7,386,846 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: System and method for the management of wireless communications device system software downloads in the field

Abstract: A system and method are provided for managing system software download operations in a wireless communications device. The method comprises: executing system software; launching a run-time engine; processing dynamic instruction sets; and, in response to processing the dynamic instruction sets, managing the downloading of system software updates received via an airlink interface using management functions selected from the group including recovery status monitoring, back up, compacting, and update ordering.

Patent Number: 7,386,846 Issued on 06/10/2008 to Rajaram


Inventors: Rajaram; Gowri (San Diego, CA)
Assignee: Kyocera Wireless Corp. (San Diego, CA)
Appl. No.: 09/969,305
Filed: October 2, 2001


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
09927131Aug., 2001
09916900Jul., 2001
09916460Jul., 2001

Current U.S. Class: 717/173 ; 717/126
Field of Search: 717/173,106,172 455/419 714/31 711/15 709/248,224,204 465/419 705/50


References Cited [Referenced By]

U.S. Patent Documents
5046082 September 1991 Zicker et al.
5337255 August 1994 Seidel et al.
5400389 March 1995 Niiyama et al.
5481706 January 1996 Peek
5507009 April 1996 Grube et al.
5600823 February 1997 Sherer et al.
5673317 September 1997 Cooper
5699275 December 1997 Beasley et al.
5715462 February 1998 Iwamoto et al.
5734904 March 1998 Kanamori et al.
5771386 June 1998 Baumbauer
5784537 July 1998 Suzuki et al.
5790704 August 1998 Rao et al.
5790856 August 1998 Lillich
5832086 November 1998 Rosauer
5835778 November 1998 Yoshihara
5875242 February 1999 Glaser et al.
5920826 July 1999 Metso et al.
5930704 July 1999 Kay
5938766 August 1999 Anderson et al.
5960356 September 1999 Alperovich et al.
5974312 October 1999 Hayes et al.
6018543 January 2000 Blois et al.
6023620 February 2000 Hansson
6026400 February 2000 Suzuki
6047071 April 2000 Shah
6138009 October 2000 Birgerson
6138153 October 2000 Collins et al.
6145098 November 2000 Nouri et al.
6195546 February 2001 Leung et al.
6247065 June 2001 Greenspan et al.
6272333 August 2001 Smith
6275694 August 2001 Yoshida et al.
6308061 October 2001 Criss et al.
6351636 February 2002 Shaffer et al.
6415266 July 2002 Do
6442660 August 2002 Henerlau et al.
6449476 September 2002 Hutchison et al.
6457174 September 2002 Kuroda et al.
6460070 October 2002 Turek et al.
6470447 October 2002 Lambert et al.
6493549 December 2002 Axelson et al.
6493871 December 2002 McGuire et al.
6498789 December 2002 Honda
6546492 April 2003 Walker et al.
6549770 April 2003 Marran
6578056 June 2003 Lamburt
6578142 June 2003 Anderson et al.
6622017 September 2003 Hoffman
6633759 October 2003 Kobayashi
6643506 November 2003 Criss et al.
6675382 January 2004 Foster
6714992 March 2004 Kanojia et al.
6731946 May 2004 Stanwood et al.
6754894 June 2004 Costello et al.
6754895 June 2004 Bartel et al.
6763252 July 2004 Itazawa
6785541 August 2004 Martin
6918108 July 2005 Rajaram
6950847 September 2005 Harrisville-Wolff et al.
6959192 October 2005 Cannon et al.
6990660 January 2006 Moshir et al.
7065347 June 2006 Vikse et al.
2001/0000538 April 2001 Kowaguchi
2001/0005861 June 2001 Mousseau et al.
2001/0019953 September 2001 Furukawa et al.
2001/0027500 October 2001 Matsunaga
2001/0051519 December 2001 Shirai
2001/0054161 December 2001 Wooddruff
2002/0019973 February 2002 Hayashida
2002/0026634 February 2002 Shaw
2002/0065041 May 2002 Lunsford et al.
2002/0072359 June 2002 Moles et al.
2002/0077077 June 2002 Rezvani et al.
2002/0083142 June 2002 Lagosanto et al.
2002/0083143 June 2002 Cheng
2002/0131397 September 2002 Patel et al.
2002/0142762 October 2002 Chmaytelli et al.
2002/0152268 October 2002 Kureshy et al.
2002/0160763 October 2002 Mittal et al.
2002/0161796 October 2002 Sylthe
2002/0170039 November 2002 Kovacevic
2002/0188941 December 2002 Cicciarelli et al.
2003/0014561 January 2003 Cooper
2003/0060189 March 2003 Minear et al.
2003/0195013 October 2003 Zicker et al.
2004/0158829 August 2004 Beresin et al.
2004/0177072 September 2004 Salminen et al.
2004/0203768 October 2004 Ylitalo et al.
2004/0214551 October 2004 Kim
2004/0229644 November 2004 Hele et al.
2004/0240657 December 2004 Camarillo
2004/0249657 December 2004 Kol et al.
2004/0249768 December 2004 Kontio et al.
2004/0266422 December 2004 Hotze et al.
2005/0064847 March 2005 Kirbas et al.
2005/0079863 April 2005 Macaluso
2005/0209930 September 2005 Coppinger et al.
Foreign Patent Documents
19502728 Aug., 1996 DE
19543843 May., 1997 DE
19850133 May., 1999 DE
0459344 Dec., 1991 EP
0889405 Jan., 1999 EP
0918420 May., 1999 EP
1014263 Jun., 2000 EP
2800963 May., 2001 FR
2227584 Aug., 1990 GB
2349485 Nov., 2000 GB
WO 9300633 Jan., 1993 WO
WO 98/09208 Mar., 1998 WO
WO 9922325 May., 1999 WO
WO 0067112 Nov., 2000 WO
WO 0073912 Dec., 2000 WO
WO 0074412 Dec., 2000 WO
WO 0135686 May., 2001 WO
WO 02058364 Jul., 2002 WO

Other References

International Search Report (ISR): PCT/ISA/210 for International Application No. PCT/IB02/02875, ISR dated Oct. 28, 2003, 4 pages. cited by other .
Guiagoussou et al., "Implementation of a Diagnostic and Troubleshooting Multi-Agent System for Cellular Networks", Int'l J Network Mgmnt., pp. 221-237, Aug. 1999. cited by other.

Primary Examiner: Zhen; Wei
Assistant Examiner: Chow; Chih-Ching

Parent Case Text



RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 09/916,900, filed on Jul. 26, 2001; of U.S. patent application Ser. No. 09/916,460, filed on Jul. 26, 2001; and of U.S. patent aApplication Ser. No. 09/927,131, filed on Aug. 10, 2001, all of which are incorporated herein by reference. Additionally, this application is related to U.S. application Ser. No. 09/917,026, filed on Jul. 26, 2001; U.S. application Ser. No. 09/970 188, filed on Oct. 3, 2001; U.S. application Ser. No. 09/972,519, filed on Oct. 5, 2001; U.S. application Ser. No. 10/206,780, filed on Jul. 25, 2002; U.S. application Ser. No. 10/206,516, filed on Jul. 25, 2002; U.S. application Ser. No. 10/206,781, filed on Jul. 25, 2002; U.S. application Ser. No. 10/665,962, filed on Sep. 18, 2003; U.S. application Ser. No. 10/848,939, filed on May 18, 2004; U.S. application Ser. No. 10/848,940, filed on May 18, 2004; and U.S. application Ser. No. 10/848,941, filed on May 18, 2004.
Claims



I claim:

1. In a communication system having a plurality of active wireless communications devices, a method for managing system software installation operations at each wireless communications device of the plurality of wireless communications devices, the method comprising: identifying system software updates for a plurality of active wireless communications devices; generating a dynamic instruction set configured to install the system software updates; combining the system software updates with the dynamic instruction set to form a common software update file, wherein the common software update file is generated without inquiry to each wireless communications device; receiving, at a particular wireless communications device of the plurality of wireless communications devices, the dynamic instructions sets and the system software updates in a broadcast message via an airlink interface; executing the system software updates on the particular wireless communications device; launching a run-time engine on the particular wireless communications device; evaluating, using the run-time engine to execute the dynamic instruction set, current operational characteristics of the particular wireless communications device, wherein current operational characteristics comprise characteristics related to the system software updates; conditionally using the system software updates on the particular wireless communications device according to the evaluation; processing the dynamic instruction set using the run-time engine of the particular wireless communications device; and in response to processing the dynamic instruction set, functionally managing the installation of the system software updates received via the airlink interface to provide updated system software on the particular wireless communications device; wherein managing the installation of the system software updates received via the airlink interface includes processing dynamic instruction set management functions selected from the group including recovery status monitoring, back up management, compacting management, and update ordering management; and forming the system software into symbol libraries, each symbol library comprising symbols having related functionality; and arranging the symbol libraries into code sections stored in a code storage section of nonvolatile memory; and receiving patch manager run time instructions (PMRTIs) in a file system section (FSS) nonvolatile memory, the patch manager run time instructions including dynamic instruction sets and new code sections.

2. The method of claim 1 further comprising: executing the updated system software on the particular wireless communications device.

3. The method of claim 1 wherein processing recovery status monitoring dynamic instruction sets includes: maintaining a recovery status table cross-referencing new code section identifiers with their update status; in response to rebooting the wireless communications device, reading the recovery status table to determine if new code sections have been stored in permanent storage; if the new code sections have not been stored, storing the new code section in permanent storage; and, when the new code sections have been stored, updating the recovery status table.

4. The method of claim 3 wherein processing recovery status monitoring dynamic instruction sets further includes: determining the risk associated with storing each new code section; and, if the risk of storing new code sections is high, taking safety precautions.

5. The method of claim 4 wherein taking safety precautions includes taking safety precautions selected from the group of checking the battery for sufficient power to complete the new code storing process, warning the user of high-risk code storing operations, using prompts to verify user-initiated power downs, and preventing user-initiated power downs.

6. The method of claim 5 wherein determining the risk associated with storing each new code section includes determining the risk associated with new code sections selected from the group including a boot code section, a patch manager code section, a code section address table, a symbol offset address table, read-write data, and symbol accessor code addresses.

7. The method of claim 6 wherein forming the system software into symbol libraries includes forming a patch manager code section with a patch library for moving code sections in the file system section into permanent storage; wherein receiving the patch manager run time instructions in a file system section nonvolatile memory includes receiving a new patch manager code section; wherein processing recovery status monitoring dynamic instruction sets further includes: maintaining a spare patch library in the file system section; in response to rebooting the wireless communications device, reading the recovery status table to determine if the new patch manager code section has been successfully stored in the code storage section; and, using the spare patch library to move the new patch manager code section from the file system section to code storage section, if the new patch manager code section has not been successfully stored in the code storage section.

8. The method of claim 1 wherein receiving new code sections includes receiving an updated first code section to replace a first code section in the code storage section: wherein processing back up management dynamic instruction sets includes: moving the first code section from the code storage section to the file system section; moving the updated first code section from the file system section to the code storage section; determining if the updated first code section in the code storage section operates with the system software within predetermined constraints; and, replacing the updated first code section in the code storage section with the first code section from the file system sections if the updated first code section is determined to not operate with the system software within the predetermined constraints.

9. The method of claim 8 wherein receiving new code sections includes receiving a test code section with predetermined constraints; wherein determining if the updated first code section in the code storage section operates with the system software within predetermined constraints includes: executing the test code section with the updated code section; recording the results of executing the test code section; and, comparing the recorded results with the predetermined constraints.

10. The method of claim 9 wherein receiving new code sections includes receiving an updated code section with a test code library; and, wherein determining if the updated first code section in the code storage section operates with the system software within predetermined constraints includes executing the test code library from the updated code section.

11. The method of claim 9 wherein receiving new code sections includes receiving a test code section with predetermined constraints from a source selected from the group including an airlink interface, a user operated keyboard interface, and a test port interface.

12. The method of claim 1, wherein receiving new code sections includes receiving an updated first code section, having an updated code section size, to replace a first code section having a first size smaller than the updated first code section size; wherein processing compaction management dynamic instruction sets includes: accessing a compaction library in a patch manager code section; and, resizing code sections in the code storage section to accommodate the updated first code section.

13. The method of claim 12 wherein processing compaction management dynamic instruction sets further includes: determining the risk associated with compacting code sections in the code storage section; and, if the risk of compacting code sections is high, taking safety precautions.

14. The method of claim 13 wherein taking safety precautions includes taking safety precautions selected from the group of checking the battery for sufficient power to complete the new code storing process, warning the user of high-risk code storing operations, using prompts to verify user-initiated power downs, and preventing user-initiated power downs.

15. The method of claim 1 wherein receiving dynamic instruction sets includes receiving an update ordering instruction, and wherein receiving new code sections includes receiving a plurality of new code sections; and, wherein processing update ordering management dynamic instruction sets includes moving the new code sections from the file system storage to the code storage section in an order dictated by the ordering instruction.

16. The method of claim 15 wherein processing update ordering dynamic instruction sets further includes: determining the risk associated with storing each new code section; and, ordering the high risk code sections to be moved after lower risk storage sections.

17. In a wireless communication device active in a wireless communication system having a server and a plurality of active wireless communication devices, a method for managing system software installation operations, the method comprising: identifying system software updates for a plurality of active wireless communications devices; generating a dynamic instruction set configured to install the system software updates; combining the system software updates with the dynamic instruction set to form a common software update file, wherein the common software update file is generated without inquiry to each wireless communications device; receiving the dynamic instruction set and the system software updates via an airlink interface; executing system software; wherein the system software is formed into symbol libraries, each symbol library comprising symbols having related functionality, arranged into code sections stored in a code storage section; and, the system further comprising: a file system section of nonvolatile memory receiving patch manager run time instructions (PMRTIs) including the dynamic instruction sets and new code sections; launching a run-time engine on the wireless communications device; evaluating, using the run-time engine to execute the dynamic instruction set, current operational characteristics of the wireless communications device; conditionally using the system software updates according to the evaluation; processing dynamic instruction set; and, in response to processing the dynamic instruction set, functionally managing the installation of the system software updates received via the airlink interface using management functions selected from the group including recovery status monitoring, back up, compacting, and update ordering.

18. In a wireless communications device, a system for managing system software download operations, the system comprising: an airlink interface; executable system software and system data differentiated into code sections stored in nonvolatile memory permanent storage; wherein the executable system software is formed into symbol libraries, each symbol library comprising symbols having related functionality, arranged into the code sections stored in a code storage section; and, a file system section of nonvolatile memory receiving patch manager run time instructions (PMRTIs) including dynamic instruction sets and new code sections; and the dynamic instruction sets include functional managers selected from the group including recovery status monitoring manager, back up manager, compacting manager, and update ordering manager; the dynamic instruction sets for locally managing the installation of system software updated received via the airlink interface, the system software updates being generated without inquiry to the wireless communication device, and a run-time engine for processing the dynamic instruction sets.

19. The system of claim 18 wherein the executable system software and system data are updated in response to processing the dynamic instruction sets.

20. The system of claim 18 further comprising: a recovery status table cross-referencing new code section identifiers with their update status; and, wherein the dynamic instruction set recovery status monitoring manager reads the recovery status table in response to rebooting the wireless communications device, to determine if new code sections have been stored in permanent storage, wherein the dynamic instruction set recovery status monitoring manager stores the new code section in permanent storage if the new code sections have not been stored and updates the recovery status table when the new code sections have been stored.

21. The system of claim 20 wherein the dynamic instruction set recovery status monitoring manager further determines the risk associated with storing each new code section and, if the risk of storing new code sections is high, takes safety precautions.

22. The system of claim 21 wherein the dynamic instruction set recovery status monitoring manager takes safety precautions selected from the group of checking the battery for sufficient power to complete the new code storing process, warning the user of high-risk code storing operations, using prompts to verify user-initiated power downs, and preventing user-initiated power downs.

23. The system of claim 22 wherein the file system section receives new code sections selected from the group including a boot code section, a patch manager code section, a code section address table, a symbol offset address table, read-write data, and symbol accessor code addresses; and, wherein the dynamic instruction set recovery status monitoring manager determines the risk associated with storing each of the new code sections in the file system section.

24. The system of claim 23 wherein the executable system software includes a patch manager code section with a patch library for moving code sections in the file system section into permanent storage; wherein the file system section receives patch manager run time instructions including a new patch manager code section; and, wherein the dynamic instruction set recovery status monitoring manager maintains a spare patch library in the file system section, reads the recovery status table to determine if the new patch manager code section has been successfully stored in the code storage section in response to rebooting the wireless communications device, and uses the spare patch library to move the new patch manager code section from the file system section to code storage section, if the new patch manager code section has not been successfully stored in the code storage section.

25. The system of claim 18 wherein the file system section receives an updated first code section to replace a first code section in the code storage section; and, wherein the dynamic instruction set back up manager moves the first code section from the code storage section to the file system section, moves the updated first code section from the file system section to the code storage section, determines if the updated first code section in the code storage section operates with the system software within predetermined constraints, and replaces the updated first code section in the code storage section with the first code section from the file system section, if the updated first code section is determined to not operate with the system software within the predetermined constraints.

26. The system of claim 25 wherein the file system section receives a test code section with predetermined constraints; and, wherein the dynamic instruction set back up manager determines if the updated first code section in the code storage section operates with the system software within predetermined constraints by executing the test code section with the updated code section, recording the results of executing the test code section, and comparing the recorded results with the predetermined constraints.

27. The system of claim 26 wherein the file system section receives an updated code section with a test code library; and, wherein the dynamic instruction set back up manager executes the test code library from the updated code section.

28. The system of claim 26 wherein the file system section receives the test code section from a source selected from the group including the airlink interface, a user operated keyboard interface, and a test port interface.

29. The system of claim 18 wherein the file system section receives an updated first code section, having an updated code section size, to replace a first code section having a first size smaller than the updated first code section size; and, wherein the dynamic instruction set compaction manager accesses a compaction library in a patch manager code section and resizes code sections in the code storage section to accommodate the updated first code section.

30. The system of claim 29 wherein the dynamic instruction set compaction manager determines the risk associated with compacting code sections in the code storage section and, if the risk of compacting code sections is high, takes safety precautions.

31. The system of claim 30 wherein the dynamic instruction set compaction manager takes safety precautions selected from the group of checking the battery for sufficient power to complete the new code storing process, warning the user of high-risk code storing operations, using prompts to verify user-initiated power downs, and preventing user-initiated power downs.

32. The system of claim 18 wherein the file system section receives a plurality of new code sections with the update ordering dynamic instruction sets; and, wherein the dynamic instruction set update ordering manager moves the new code sections from the file system storage to the code storage section in an order dictated by the ordering instruction.

33. The system of claim 32 wherein the dynamic instruction set update ordering manager determines the risk associated with storing each new code section and orders the high risk code sections to be moved after lower risk storage sections.

34. A system for updating system software for a plurality of operating wireless communications devices, comprising: identifying a system software update for a plurality of operating wireless communications devices; generating a dynamic instruction set configured to install the system software update; combining the system software update with the dynamic instruction set to form a common software update file, wherein the common software update file is generated without inquiry to any one of the operating wireless communications devices of the plurality of operating wireless communications devices; wherein the common software update is formed into symbol libraries, each symbol library comprising symbols having related functionality, arranged into code sections stored in a code storage section; and, a file system section of nonvolatile memory receiving patch manager run time instructions (PMRTIs) including dynamic instruction sets and new code sections; and the dynamic instruction sets include functional management selected from the group including recovery status monitoring, back up management, compacting management, and update ordering management; broadcasting the common software update file to each of the operating wireless communications devices of the plurality of operating wireless communications devices, each wireless communication device operating the steps of: receiving the common software update file via an airlink interface; launching a run-time engine; evaluating, using the run-time engine to execute the dynamic instruction set, current operational characteristics of the wireless communications device; conditionally using the common software update file according to the evaluation; processing the dynamic instruction sets using the run-time engine; and in response to processing the dynamic instruction set, functionally managing the installation of the common software update file.

35. The system according to claim 34, wherein managing the installation includes processing the dynamic instruction sets to conditionally select sections of the software update file to install.

36. The system according to claim 34, wherein managing the installation includes processing the dynamic instruction sets to install the complete the software update file.

37. The system according to claim 34, wherein managing the installation includes processing the dynamic instruction sets to conditionally select additional sections stored on the wireless communication device to install, the additional sections not being in the received software update file.
Description



FIELD OF THE INVENTION

This invention generally relates to wireless communications devices and, more particularly, to a system and method for using dynamic instructions sets to manage a variety of system software field download management functions, such as recovery status monitoring, back up, compaction, and update ordering.

BACKGROUND OF THE INVENTION

It is not uncommon to release software updates for phones that are already in the field. These updates may relate to problems found in the software once the phones have been manufactured and distributed to the public. Some updates may involve the use of new features on the phone, or services provided by the service provider. Yet other updates may involve regional problems, or problems associated with certain carriers. For example, in certain regions the network layout of carriers may impose airlink interface conditions on the handset that cause the handset to demonstrate unexpected behavior such as improper channel searching, improper call termination, improper audio, or the like.

The traditional approach to such updates has been to recall the wireless communications device, also referred to herein as a wireless device, phone, telephone, or handset, to the nearest carrier retail/service outlet, or to the manufacturer to process the changes. The costs involved in such updates are extensive and eat into the bottom line. Further, the customer is inconvenienced and likely to be irritated. Often times, the practical solution is to issue the customer new phones.

The wireless devices are used in a number of environments, with different subscriber services, for a number of different customer applications. Therefore, even if the software of a wireless device can be upgraded to improve service, it is unlikely that the upgrade will provide a uniform improvement for all users.

It would be advantageous if wireless communications device software could be upgraded cheaply, and without inconvenience to the customer.

It would be advantageous if wireless communications device software could be upgraded without the customer losing the use of their phones for a significant period of time.

It would be advantageous if wireless communications device software could be updated with a minimum of technician service time, or without the need to send the device into a service facility.

It would be advantageous if the wireless device system software could be differentiated into code sections, so that only specific code sections of system software would need to be replaced, to update the system software. It would be advantageous if these code sections could be communicated to the wireless device via the airlink.

It would be advantageous if the wireless device could be operated with dynamically loaded instruction sets that would aid in the field updating of system software.

It would be advantageous if these dynamic instruction sets could protect the wireless device from update errors by monitoring the update status, backing up key code sections, performing memory compaction, and ordering the update storage process.

SUMMARY OF THE INVENTION

Wireless communications device software updates give customers the best possible product and user experience. An expensive component of the business involves the recall of handsets to update the software. These updates may be necessary to offer the user additional services or to address problems discovered in the use of the phone after it has been manufactured. The present invention makes it possible to practically upgrade handset software in the field, via the airlink interface. More specifically, the present invention permits the wireless communication device to execute dynamic instruction sets. These dynamic instruction sets permit the wireless device to "intelligently", or conditionally upgrade the system software and system data. Further, the dynamic instruction sets permit the wireless device to determine if the updating process has been successfully completed. The dynamic instruction sets permit key code sections to be stored in case the upgrade section are found to be non-operational. The dynamic instruction sets also perform memory compaction and storage ordering.

Accordingly, a method is provided for managing system software download operations in a wireless communications device. The method comprises: executing system software; launching a run-time engine; processing dynamic instruction sets; and, in response to processing the dynamic instruction sets, managing the downloading of system software updates received via an airlink interface using management functions selected from the group including recovery status monitoring, back up, compacting, and update ordering.

Details of the above-described recovery status monitoring, back up, compacting, and update ordering management functions, and a system for managing system software download operations in a wireless communications device are provided below.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a schematic block diagram of the overall wireless device software maintenance system.

FIG. 2 is a schematic block diagram of the software maintenance system, highlighting the installation of instruction sets via the airlink interface.

FIG. 3 is a schematic block diagram illustrating the present invention system for executing dynamic instruction sets in a wireless communications device.

FIG. 4 is a schematic block diagram of the wireless device memory.

FIG. 5 is a table representing the code section address table of FIG. 3.

FIG. 6 is a detailed depiction of symbol library one of FIG. 3, with symbols.

FIG. 7 is a table representing the symbol offset address table of FIG. 3.

FIGS. 8a and 8b are depictions of the operation code (op-code) being accessed by the run-time engine.

FIG. 9 is a schematic block diagram including features of FIGS. 1-8b presented for the purpose of illustrating the present invention system for managing system software download operations in a wireless communications device.

FIG. 10 is the schematic block diagram of the system of FIG. 9 featuring the dynamic instruction set recovery status monitoring manager aspect of the dynamic instruction sets.

FIG. 11 is a representation depicting an exemplary recovery status table of FIG. 9.

FIG. 12 is the schematic block diagram of the system of FIG. 9 featuring the dynamic instruction set back up manager aspect of the dynamic instruction sets.

FIG. 13 is the schematic block diagram of the system of FIG. 9 featuring the dynamic instruction compaction manager aspect of the dynamic instruction sets.

FIG. 14 is the schematic block diagram of the system of FIG. 9 featuring the dynamic instruction set update ordering manager aspect of the dynamic instruction sets.

FIGS. 15a and 15b are flowcharts illustrating the present invention method for executing dynamic instruction sets in a wireless communications device.

FIG. 16 is a flowchart illustrating an exemplary dynamic instruction set operation.

FIG. 17 is a flowchart illustrating another exemplary dynamic instruction set operation.

FIG. 18 is a flowchart illustrating a third exemplary dynamic instruction set operation.

FIG. 19 is a flowchart illustrating a fourth exemplary dynamic instruction set operation.

FIG. 20 is a flowchart illustrating a fifth exemplary dynamic instruction set operation.

FIG. 21 is a flowchart illustrating the present invention method for managing system software download operations in a wireless communications device.

FIG. 22 is a flowchart illustrating additional details of FIG. 21 that highlight the recovery status monitoring aspect of the invention.

FIG. 23 is a flowchart illustrating additional details of FIG. 21 that highlight the back up aspect of the invention.

FIG. 24 is a flowchart illustrating additional details of FIG. 21 that highlight the compaction aspect of the invention.

FIG. 25 is a flowchart illustrating additional details of FIG. 21 that highlight the update ordering aspect of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some portions of the detailed descriptions that follow are presented in terms of procedures, steps, logic blocks, codes, processing, and other symbolic representations of operations on data bits within a wireless device microprocessor or memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, microprocessor executed step, application, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a microprocessor based wireless device. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Where physical devices, such as a memory are mentioned, they are connected to other physical devices through a bus or other electrical connection. These physical devices can be considered to interact with logical processes or applications and, therefore, are "connected" to logical operations. For example, a memory can store or access code to further a logical operation, or an application can call a code section from memory for execution.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing


Free Web Sudoku Puzzles.
Solve with your browser.
    2     6 1    
    3     5   4  
9     2 1        
              9 4
  2 4       5 8  
3 5              
        6 3     5
  9   4     3    
    7 1     6    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!