One or more methods and systems of updating software in wireless communication devices are presented. In one embodiment, software updates are generated by a generation environment and distributed by a distribution environment. One or more wireless communication devices receive one or more software updates from the distribution environment. In one embodiment, software updates are generated from processing performed at a pre-processing device such as a cable television set-top-box or a server of the distribution environment. A software processing package, provided by the generation environment, is used to generate such software updates for the one or more wireless communication device. One or more methods of provisioning and billing wireless communication devices are also presented.
|
24. A method of backing up software of a wireless communication device, the method comprising:
transmitting, over a wireless air interface, a portion of said software from memory in a wireless communication device of a user to a storage device in a distribution environment or a pre-processing device;
determining that said portion of said software should be restored to said wireless communication device; and
wirelessly receiving said portion of said software from said storage device and re-writing said portion of said software into said memory of said wireless communication device.
27. An apparatus, comprising:
a wireless air interface;
a memory device; and
hardware coupled to the wireless air interface and to the memory device to execute software;
wherein upon executing the software, the hardware receives into the memory device at least a portion of software from a wireless communication devices, receives an executable software processing package from a generation environment, executes the software processing package to reconfigure the at least a portion of software to generate reconfigured software, and transmits the reconfigured software to the wireless communication device via a wireless air interface.
1. A method of updating software in a wireless communication device, the method comprising:
transmitting a software version identifier from said wireless communication device to a distribution environment, said software version identifier processed by said distribution environment to generate a software update for said wireless communication device;
receiving a software update or a software processing package into a pre-processing device from said distribution environment;
transmitting a software update from the pre-processing device to the wireless communication device by way of a local area network; and
updating said wireless communication device with said software update.
21. A method of distributing one or more software updates to a plurality of wireless communication devices, the method comprising:
receiving, in a pre-processing device, at least a portion of software from at least one of the plurality of wireless communication devices;
receiving, in the pre-processing device from a generation environment, the one or more software updates;
pre-processing the at least a portion of software in the pre-processing device using the one or more software updates, the pre-processing producing updated software; and
transmitting said one or more software updates from the pre-processing device to the at least one of the plurality of wireless communication devices using a wireless air interface.
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
12. The method of
13. The method of
employing a download agent to download said software update; and
employing an upload agent to remove a portion of existing software in said wireless communication device.
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
22. The method of
23. The method of
25. The method according to
updating said software in said wireless communication device; and
determining that said updated software is incompatible with said wireless communication device.
26. The method of
receiving an existing software module from the wireless communication device into the set-top box via the local area network;
reconfiguring the existing software module using the software preprocessing package to produce the software update.
|
This is a continuation of U.S. patent application Ser. No. 10/631,567 entitled “Network for Updating Firmware and/or Software in Wireless Communication Devices,” filed Jul. 31, 2003.
This application is a continuation-in-part of U.S. patent application Ser. No. 10/311,462, “System and Method for Updating and Distributing Information”, filed Dec. 13, 2002, which is the National Stage filing of PCT Application Ser. No. PCT/US01/44034, “System and Method for Updating and Distributing Information”, filed Nov. 19, 2001, which claims priority to U.S. Provisional Patent Application Ser. No. 60/249,606, filed Nov. 17, 2000, the complete subject matter of each of which is incorporated herein by reference in its entirety.
This application makes reference to and claims priority based on the following provisional applications, the complete subject matter of each of which is incorporated herein by reference in its entirety.
Ser. No.
Docket No.
Title
Filed
Inventors
60/412,850
14117US01
A Set-Top-Box Based Network For
Sep. 23, 2002
Rao, Lilley
Updating Firmware/Software
60/401,054
14120US01
A Network For Updating Firmware
Aug. 5, 2002
O'Neill, Lilley, Rao
Not Applicable
Not Applicable
Wireless communication devices, such as mobile phones, wireless personal digital assistants (PDA's), and wireless PCs have become indispensable tools as the number of features and functions they provide increases. In order to implement these features and functions, the wireless communication devices contain firmware and software provided by device manufacturers, telecommunication carriers, or other third party manufacturers.
As technology continues to evolve, a manufacturer of such devices will find it imperative to update these devices with revised firmware and application software that enables a number of new features and functions. Often, the firmware and application software contain software bugs. New versions of the firmware and software are periodically released to fix the bugs or to introduce new features, or both.
However, there are a number of issues that arise when new releases of firmware and software are incorporated. Wireless communication devices are often constrained in terms of resources, such as available memory. Attempts to upgrade firmware or software by end-users often result in making the wireless communication device inoperable. In addition, attempts to upgrade firmware and/or software are often constrained by slow download speeds. Further, download times may be lengthy, inhibiting operational use of these wireless communication devices. In addition, determination of the version of firmware or application software that is currently being executed on the wireless communication device is not an easy task, especially if performed by an end-user.
Typically, a carrier supports the use of a variety of wireless communication devices from a plurality of manufacturers on the carrier's network. Without incorporating additional signaling information in the transmission protocol, a carrier may not be able to determine the make and model of the wireless communication device currently being used by an end-user on the carrier's network. As a consequence, an appropriate update package cannot be prescribed.
Given a particular make and model of wireless communication device, it also becomes necessary to determine the software version required. In many instances, it is not convenient to determine how a firmware or application software has changed between versions. One possible approach to providing a firmware and/or software update is to just ship the entire new version of firmware or software to a wireless communication device. However, the wireless communication device may not have sufficient free memory space to receive such packages of firmware or software. In addition, additional memory space may be needed in the processing and incorporation of such firmware and software. Furthermore, the time required for transferring a complete version of firmware or software to an electronic device from a carrier may pose a significant inconvenience to an end-user.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
One or more systems and methods are disclosed to provide software updates to one or more wireless communication devices. The systems and methods described facilitate efficient and effective updating of firmware and/or software resident in the one or more wireless communication devices.
In one embodiment, the system comprises a generation environment, a distribution environment, and a wireless communication device. The wireless communication device comprises a primary update environment that facilitates the acquisition of relevant software updates.
In one embodiment, the system comprises a generation environment, a distribution environment, a pre-processing device, and a wireless communication device. The wireless communication device and pre-processing device comprises respectively, a primary update environment and a secondary update environment that facilitate the acquisition of relevant software updates.
In one embodiment, the method comprises distributing a software update to a wireless communication device. The wireless communication device incorporates the software update by way of its primary update environment. A distribution environment provides a suitable distribution node, by which software updates may be efficiently distributed to the wireless communication device.
In one embodiment, the method comprises distributing a software processing package to a distribution environment and/or pre-processing device. Software updates are generated by executing the software processing package, optionally incorporating portions of existing software resident in the wireless communication device to be updated. Subsequently, the software update is transmitted to and incorporated by the wireless communication device.
In one embodiment, a method of distributing software updates comprises a pre-processing device such as a set-top-box that efficiently distributes software updates to a plurality of like wireless communication devices. The transmission occurs over a local area air interface to all wireless communication devices requiring a similar software update. In a related embodiment, a method comprises a wireless communication device that transmits software updates to all wireless communication devices in its communication range that require the software update.
In one embodiment, a method of provisioning and/or billing a wireless communication device is provided. Subscriber identification information is transmitted to a carrier when a subscriber elects to subscribe to one or more services associated with one or more applications downloaded by way of a software update. The subscriber identification information is utilized in the provision and/or billing process.
These and other advantages, aspects, and novel features of the present invention, as well as details of illustrated embodiments, thereof, will be more fully understood from the following description and drawings.
Aspects of the present invention may be found in a system and method to effectively and efficiently distribute software updates to one or more wireless communication devices. A distribution environment provides a processing, storage, and distribution network for distributing software to one or more wireless communication devices. The distribution environment may comprise one or more network nodes from which software may be downloaded. The network nodes may comprise one or more servers capable of storing and transmitting software to one or more wireless communication devices. In addition, aspects of the present invention provide a system and method to distribute software updates to one or more wireless communication devices by way of software processing packages transmitted to a pre-processing device such as a cable TV set-top-box. The exemplary set-top-box processes the software processing packages to generate software updates that may be downloaded onto one or more wireless communication devices.
The term “software” used herein is intended to include not only software, but also or alternatively firmware. The terms “software update” or “update package” used herein is defined as software that may be executed by a wireless communication device for updating its software. The term “software processing package” used herein is defined as software used in a distribution environment, pre-processing device such as a set-top-box used in cable networks, or device other than a wireless communication device that processes and generates software updates for use by the wireless communication device.
In one embodiment, the primary update environment is capable of successfully completing the software update process in the wireless communication device despite interruptions to an earlier attempt to update the software of the wireless communication device. For example, the wireless communication device downloads a software module from the distribution environment, and when interrupted, stores any downloaded portion of software into volatile or non-volatile memories. A continuation of the download commences at a point in the software where the interruption occurred. As a result, the downloading process becomes more efficient. Such interruptions may be caused by a loss of connectivity or a loss of power in the wireless communication device during a download. In one embodiment, the download agent monitors the portion of software update (or update package) downloaded into non-volatile or volatile memory. If communication with the distribution environment is lost, the partially downloaded software update is saved. A subsequent attempt to download the same software update would automatically determine the portion of the software update not yet downloaded and initiate downloading of the remaining portion only. In one embodiment, the wireless communication device enters a deferred mode or state. It is contemplated that the deferred mode occurs when the wireless communication device is involved with other operations requiring the use of the non-volatile or volatile memory. The deferred mode may occur, for example, when a particular feature or function of the wireless communication device is used.
Software updates downloaded by the primary update environment of a wireless communication device may occur by way of one of many transport media. These data transport media may include wide area and local area wireless or wireline networks. It is contemplated that exemplary wireless local area network protocols such as 802.11 or Bluetooth are used.
It is contemplated that a distribution environment receives software updates electronically (via ftp, http, or other like communication protocols) from a generation environment such as a manufacturer's software update generation system. In other instances, the software updates provided by the generation environment are transported to the distribution environment using portable media such as a CDROM or a DVD. In general, software updates are stored at the distribution environment or at a pre-processing device (to be discussed later) until required by one or more wireless communication devices.
In one embodiment, a wireless communication device verifies and validates the integrity of a software update prior to its incorporation. It is contemplated that such verification comprises a verification of downloaded software updates by way of authentication algorithms such as CRC checks, hash value computations and comparisons, and/or digital signature verifications. In one embodiment, the wireless communication device may determine that the software update is unsuitable for one or more reasons. In such an instance, the software resident in the wireless communication device is not modified in any way. In one embodiment, an update agent of a primary update environment of the wireless communication device verifies that a particular software update is retrieved from the proper pre-processing device and/or distribution environment. In one embodiment, a download agent of a primary update environment of a wireless communication device verifies that the software update originated from a manufacturer of the wireless communication device.
It is contemplated that a download agent of a wireless communication device may periodically communicate to a distribution environment in order to determine availability of software updates. It is further contemplated that a device such as a server in the distribution environment may notify the wireless communication device when a new software update becomes available. The wireless communication device may communicate the type make and model) of software it uses. In one embodiment, a user of the wireless communication device may specify the frequency of an update check between the distribution environment and the wireless communication device. In one embodiment, the content of the communication comprises a software version identifier such, as a software manufacturer's identification number, a model identification number, and operating system identification number, and a software version number. Other parameters such as wireless communication device information may also be included in the communication. Information such as device make, model, total memory size, and available memory space of the wireless communication device may be transmitted. It is contemplated that an exemplary server and a storage device within the distribution environment processes the transmitted information to determine the availability of relevant software updates preferable for downloading to the wireless communication device. The exemplary server may transmit a response indicating the availability of software updates. When the wireless communication device receives the response, it may initiate a download of the appropriate software updates from the distribution environment. The appropriate software updates may be generated by way of software processing packages that are processed at the distribution environment or at another pre-processing device such as an exemplary set-top-box (as will be described later). The software processing package may incorporate portions of existing software provided by one or more wireless communication devices during processing. The software updates may be downloaded and easily executed using one or more update, download, and upload agents of the primary update environment in conjunction with one or more software applications, components, and/or firmware resident in memory of the wireless communication device. It is contemplated that any software processing packages are generated by software and/or hardware at a generation environment and subsequently processed at a distribution environment or a pre-processing environment such as an exemplary cable TV set-top-box. In one embodiment, the software and/or hardware is termed a “generator”.
In one embodiment, a difference value is calculated between a version number of a software version used in a wireless communication device and a version number corresponding to a latest software version. In one embodiment, the version number of a software resident in a wireless communication device may be determined by downloading and analyzing the associated software image. Given the version number of the latest software version available, a numeric difference value may be calculated. This difference value is used to determine an appropriate software update for the wireless communication device. It is contemplated that a computing device within the distribution environment, for example, calculates the difference. The difference is mapped to a particular software update using a database resident in the distribution environment. The various update, upload, download agents and transport protocol module of a primary update environment facilitate the retrieval of an appropriate software update and its subsequent download and incorporation into the wireless communication device. At the end of the download, the wireless communication device may validate the software update by employing one or more authentication algorithms, validation routines, and diagnostics such as CRC checks.
In one embodiment, a device such as a server within a distribution environment transmits the latest available software update to a wireless communication in the event no software version number is received from a wireless communication device. For example, if several versions of updates are available, the latest version of all available software updates is transmitted to the wireless communication device when an update request is made. As a result, the wireless communication device is updated using the latest available software update.
In one embodiment, a distribution environment sends a periodic software update notification to one or more wireless communication devices regarding the availability of software updates. The notifications may be specific to one or more types of wireless communication devices. The wireless communication devices may respond to the notification by initiating a download of a software update from the distribution environment. In order to process the software update, the wireless communication device may update one or more necessary applications, drivers and other software required for proper downloading and operation of the wireless communication device.
A download agent of the wireless communication device may transmit a software version identifier by way of an appropriate transport protocol. A transport protocol module may generate the appropriate transport protocol. It is contemplated that the appropriate transport protocol may be automatically selected by the transport protocol module based on factors such as software update size, available power in the wireless communication device, and airtime or service costs. It is contemplated that a particular transport protocol may be characterized by a particular power consumption. Further, the appropriate transport protocol may be determined by way of a customer preference profile input by a user into the wireless communication device. For example, the customer may program the transport protocol module of the wireless communication device to use a particular protocol based on the size of a software update.
In one embodiment, a download agent employs an upload agent to remove portions of existing software from non-volatile or volatile memory of a wireless communication device, in order to free up memory space for proper processing of downloaded software updates. Such removed portions of software may be selectively reinstated later, as necessary, in order to restore any functionality associated with the wireless communication device prior to an update process. The removed portions of software may be temporarily stored in volatile memory of the wireless communication device or remotely stored within other types of storage devices located within a distribution environment. In addition, a primary update environment may temporarily reshuffle portions of existing software between the non-volatile memory and the volatile memory in order to effectively process the software update during the software update process. In one embodiment, the primary update environment defragments the non-volatile memory of the wireless communication device prior to incorporating a software update.
In one embodiment, it is possible to revert back to an older version of software after an update to a newer version has been performed. It is contemplated that a distribution environment or a pre-processing device with memory may store one or more copies of a software image previously used in a wireless communication device. The software image may be used to revert the wireless communication device back to its previous software state. The software image may be re-written into memory to restore the software image to its previous state. This method may be employed when a wireless communication device is incompatible with a particular software update. In one embodiment, an upload agent of a primary update environment of a wireless communication device may upload a software or subset of software that is about to be updated. The upload agent may upload the software to be replaced into a storage device within the distribution environment or pre-processing device as a backup prior to downloading a software update. This may be beneficial when a particular configuration of a software version and/or its related application is considered valuable to a user.
The generation environment 411 may comprise one or more computing devices and application software capable of generating one or more software updates and/or software processing packages for one or more types of wireless communication devices 409. It is contemplated that the generation environment 411 is owned and operated by an entity such as a carrier, wireless device manufacturer, software manufacturer, or value added reseller to provide support and service for all existing users of its wireless communication devices.
Although a set-top-box 419 is used as an embodiment to facilitate storage and processing of software updates and software processing packages, other types of devices may be adapted for this purpose. These devices may include cable-modem boxes, DSL modem boxes, or devices that wirelessly interact within a customer premise. For example, a television (TV) set communicating by way of a wireless adapter, over a local area air interface, may act as an end-point to interact with one or more wireless communication devices.
In one embodiment, a wireless communication device 409 requests a software update from a preprocessing device such as a set-top-box 419. The set-top-box 419 responds by transmitting a software update obtained from a distribution environment 407 based on parameters provided by the wireless communication device 409 to the set-top-box 419. It is contemplated the set-top-box 419 notifies the availability of the software update to the wireless communication device when the software update is received by the set-top-box 419 from the distribution environment 407. If previously requested by another wireless communication device, the set-top-box 419 may transmit a suitable software update from its own storage repository. Data transmission between the set-top-box 419 and the wireless communication device 409 occurs by way of several communication protocols such as 802.11a, 802.11b, IR, Bluetooth, and USB. In one embodiment, requests for software updates from the wireless communication device 409 are forwarded to the set-top-box 419. As a result, the set-top-box 419 downloads the appropriate software updates from one or more distribution environments 407, so that the wireless communication device 409 may subsequently download the software update for itself. The set-top-box 419 may provide a local repository in which associated wireless communication devices 409 may quickly and efficiently access any software updates. It is contemplated that the set-top-box 419 provides a local distribution and storage point for the dissemination of software updates to certain wireless communication devices 409. Consequently, the set-top-box 419 may retrieve certain software updates from the distribution environment 407 based on parameters, such as a software version identifier, supplied to it by one or more wireless communication devices 409. In this embodiment, the set-top-box 419 simply acts as a storage repository and convenient distribution point for certain wireless communication devices 409.
In one embodiment, the secondary update environment 430 is capable of generating a software update for a wireless communication device 409 by modifying an existing software module obtained from the wireless communication device 409. For example, the set-top-box 419 provides one or more software updates by reconfiguring an existing software module of the wireless communication device 409. It is contemplated that this is accomplished when the existing software module is operated on by software processing package. The software processing package may be provided by a generation environment 411 for storage and eventual processing that may occur in either a distribution environment 407 or a pre-processing device such as an exemplary set-top-box 419.
As illustrated in
The software update process commences when the wireless communication device transmits a request to the set-top-box 509. Thereafter, the wireless communication device may transmit to a download agent 519 of the set-top-box 509 a portion of existing software that requires updating. For example, it may transmit an outdated software module. The download agent 519 retrieves a software processing package from a distribution environment. The update agent 521 then processes the portion of existing software or software module by executing the software processing package. After processing is complete, the upload agent 523 of the set-top-box 509 uploads the software update into the wireless communication device by employing one of several available communication protocols provided by the transport protocol module 527. The transport protocol may be 802.11 or Bluetooth. It is contemplated that processing performed at the set-top-box 509 as opposed to that performed at a primary update environment of a wireless communication device expedites the software update process.
In one embodiment, the set-top-box based network communicates with a carrier's billing and/or provisioning system when a software update occurs in a wireless communication device. The software update may be related to a service provided by the carrier. For example, a software update may feature one or more new applications that require the services of a carrier. When a software update occurs, a user may subscribe to one or more services by inputting one or more selections into the wireless communication device. Should the user select the one or more services, subscriber identification information associated with the wireless communication device may be transmitted directly from the wireless communication device or collected and stored in a set-top-box and/or distribution environment for eventual transmission to a carrier's billing/provisioning system. As a result, any new services may be provisioned and billed automatically by transmission of such subscriber information to a billing/provisioning system.
In one embodiment, a designated wireless communication device collects billing related information of other wireless communication devices in a localized area to which it has transmitted software updrafts. The wireless communication device periodically transfers the billing related information to the set-top-box for eventual transmission to the billing/provisioning system.
While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
Rao, Bindu Rama, O'Neill, Patrick, Lilley, Patrick C.
Patent | Priority | Assignee | Title |
9058236, | Sep 06 2012 | Canon Kabushiki Kaisha | Monitoring apparatus, management system, firmware updating method, and program thereof |
9813514, | Jun 12 2002 | Malikie Innovations Limited | Information repository system including a wireless device and related method |
9965268, | Jul 07 2015 | Canon Kabushiki Kaisha | Method and apparatus for preventing software version rollback |
RE46355, | Feb 27 2006 | Malikie Innovations Limited | Method and system for distributing and updating software in wireless devices |
Patent | Priority | Assignee | Title |
4337376, | Dec 31 1979 | BROADCOM INCORPORATED,, | Communications system and network |
5261055, | Feb 19 1992 | Milsys, Ltd. | Externally updatable ROM (EUROM) |
5392353, | Aug 07 1989 | TV Answer, Inc. | Interactive satellite broadcast network |
5442771, | Jul 15 1988 | International Business Machines Corporation | Method for storing data in an interactive computer network |
5479637, | Aug 31 1990 | Gemplus Card International | Method and device for updating information elements in a memory |
5579522, | Oct 12 1993 | Intel Corporation | Dynamic non-volatile memory update in a computer system |
5596738, | Jan 31 1992 | TEAC Corporation | Peripheral device control system using changeable firmware in a single flash memory |
5598534, | Sep 21 1994 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Simultaneous verify local database and using wireless communication to verify remote database |
5608910, | Mar 23 1990 | Canon Kabushiki Kaisha | Method for updating a control program for an information processing apparatus, and an information processing apparatus for updating a control program of an associated rewritable memory or a memory disk |
5623604, | Nov 18 1992 | Canon Kabushiki Kaisha | Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral |
5666293, | Jan 31 1995 | Verizon Patent and Licensing Inc | Downloading operating system software through a broadcast channel |
5677708, | May 05 1995 | Microsoft Technology Licensing, LLC | System for displaying a list on a display screen |
5727202, | Oct 18 1995 | ACCESS CO , LTD | Method and apparatus for synchronizing information on two different computer systems |
5729735, | Feb 08 1995 | Remote database file synchronizer | |
5752039, | Mar 22 1993 | NTT Data Communications Systems Corp. | Executable file difference extraction/update system and executable file difference extraction method |
5778440, | Oct 26 1994 | Macronix International Co., Ltd. | Floating gate memory device and method for terminating a program load cycle upon detecting a predetermined address/data pattern |
5790974, | Apr 29 1996 | Oracle America, Inc | Portable calendaring device having perceptual agent managing calendar entries |
5878256, | Oct 16 1991 | Lenovo PC International | Method and apparatus for providing updated firmware in a data processing system |
5960445, | Apr 24 1996 | Sony Corporation | Information processor, method of updating a program and information processing system |
6009497, | Feb 19 1993 | Intel Corporation | Method and apparatus for updating flash memory resident firmware through a standard disk drive interface |
6038636, | Apr 27 1998 | CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT | Method and apparatus for reclaiming and defragmenting a flash memory device |
6064814, | Nov 13 1997 | Allen-Bradley Company, LLC | Automatically updated cross reference system having increased flexibility |
6073206, | Apr 30 1998 | SAMSUNG ELECTRONICS CO , LTD | Method for flashing ESCD and variables into a ROM |
6073214, | Nov 27 1995 | Microsoft Technology Licensing, LLC | Method and system for identifying and obtaining computer software from a remote computer |
6088759, | Apr 06 1997 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
6097942, | Sep 18 1997 | Telefonaktiebolaget LM Ericsson | Method and apparatus for defining and updating mobile services based on subscriber groups |
6105063, | May 05 1998 | International Business Machines Corp.; IBM Corporation | Client-server system for maintaining application preferences in a hierarchical data structure according to user and user group or terminal and terminal group contexts |
6112024, | Oct 02 1996 | SYBASE, INC | Development system providing methods for managing different versions of objects with a meta model |
6112197, | May 29 1998 | ORACLE INTERNATIONAL CORPORATION OIC | Method and apparatus for transmission of row differences |
6126327, | Oct 16 1995 | Warren & Lewis Investment Corporation | Radio flash update |
6128695, | Jul 31 1995 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Identification and verification of a sector within a block of mass storage flash memory |
6157559, | Sep 23 1997 | Samsung Electronics Co., Ltd. | Apparatus and method for updating ROM without removing it from circuit board |
6163274, | Sep 04 1997 | IP EDGE LLC | Remotely updatable PDA |
6198946, | Nov 20 1997 | Samsung Electronics Co., Ltd.; SAMSUNG ELECTRONICS CO , LTD , A CORP KOREA | Firmware upgrade method for wireless communications device, and method for supporting firmware upgrade by base station |
6262973, | Apr 20 1998 | Fujitsu Limited | SDH wireless transmission apparatus |
6279153, | Oct 16 1995 | Warren & Lewis Investment Corporation | Multi-user flash ROM update |
6311322, | Mar 09 1998 | Nikon Corporation | Program rewriting apparatus |
6360366, | Sep 05 1996 | FLEXERA SOFTWARE, INC | Systems and methods for automatic application version upgrading and maintenance |
6366584, | Feb 06 1999 | CARRIERCOMM, INC | Commercial network based on point to point radios |
6393585, | Dec 23 1998 | SYNAMEDIA LIMITED | Method and apparatus for restoring operating systems in a set-top box environment |
6438585, | May 29 1998 | Malikie Innovations Limited | System and method for redirecting message attachments between a host system and a mobile data communication device |
6496978, | Nov 29 1996 | MAXELL, LTD | Microcomputer control system in which programs can be modified from outside of the system and newer versions of the modified programs are determined and executed |
6687901, | Sep 06 1999 | Fujitsu Limited | Method and apparatus for updating software in radio terminal device |
6731932, | Aug 24 1999 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL | Methods and systems for handling subscriber data |
6757263, | Apr 13 2000 | ARRIS ENTERPRISES LLC | Wireless repeating subscriber units |
6775267, | Dec 30 1999 | AT&T Corp | Method for billing IP broadband subscribers |
6820214, | Jul 26 1999 | Microsoft Technology Licensing, LLC | Automated system recovery via backup and restoration of system state |
6948099, | Jul 30 1999 | Intel Corporation | Re-loading operating systems |
7061891, | Feb 02 2001 | Leidos, Inc | Method and system for a remote downlink transmitter for increasing the capacity and downlink capability of a multiple access interference limited spread-spectrum wireless network |
7069578, | Feb 04 2000 | TECH 5 SAS | Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software |
7099896, | Apr 06 2001 | PATIENTKEEPER, INC | Synchronizing data between disparate schemas using composite version |
7181731, | Sep 01 2000 | OP40, Inc | Method, system, and structure for distributing and executing software and data on different network and computer devices, platforms, and environments |
7313791, | Aug 22 2002 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Firmware update network and process employing preprocessing techniques |
20010029178, | |||
20010047363, | |||
20010048728, | |||
20020078209, | |||
20020116261, | |||
20020131404, | |||
20020152005, | |||
20020156863, | |||
20020157090, | |||
20030033599, | |||
20030037075, | |||
20030061384, | |||
20030196110, | |||
20030214919, | |||
CA2339923, | |||
JP8202626, | |||
KR20010100328, | |||
KR20020034228, | |||
KR2002034228, | |||
TW90107418, | |||
TW556094(B), |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 11 2009 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 29 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 20 2022 | REM: Maintenance Fee Reminder Mailed. |
Dec 05 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Oct 28 2017 | 4 years fee payment window open |
Apr 28 2018 | 6 months grace period start (w surcharge) |
Oct 28 2018 | patent expiry (for year 4) |
Oct 28 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 28 2021 | 8 years fee payment window open |
Apr 28 2022 | 6 months grace period start (w surcharge) |
Oct 28 2022 | patent expiry (for year 8) |
Oct 28 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 28 2025 | 12 years fee payment window open |
Apr 28 2026 | 6 months grace period start (w surcharge) |
Oct 28 2026 | patent expiry (for year 12) |
Oct 28 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |