Customers frequently need to upgrade the firmware of devices, such as, for example, multifunction printing (MFP) devices, in order to fix bugs, add features and to generally improve the product. However, firmware upgrade can sometimes create bigger problems than it solves. There is a possibility that firmware upgrade would fail in the middle of the upgrade. It is also possible that firmware may have defects or it may have features undesirable to the customer. In some cases, firmware upgrade failure may result in wiping out or corrupting the device configuration settings.
Most of the current restoration techniques provide storage on the device itself to backup the old version of firmware and restore the firmware from device local storage. None of these techniques provide the facility to restore configuration as part of firmware rollback.
Techniques are described for managing one or more electronic devices connected on a network. A central management system may be configured to control firmware rollback activity for the devices. The central management system may in some embodiments also rollback configuration settings. In another embodiment, a central management system may perform device cloning activities.
Features and advantages of the disclosure will readily be appreciated by persons skilled in the art from the following detailed description when read in conjunction with the drawing wherein:
In the following detailed description and in the several figures of the drawing, like elements are identified with like reference numerals. The figures are not to scale, and relative feature sizes may be exaggerated for illustrative purposes.
An exemplary embodiment of a technique is described for rolling back firmware for one or more networked devices, e.g. MFPs, and restoring their configurations if required. Firmware rollback along with firmware upgrade is controlled and driven by a central management system. The central management system maintains a local repository of firmware. It may also maintain a database of current firmware on each MFP and its current configuration data. When a firmware upgrade is initiated from the central management system, the central management system monitors the firmware upgrade status. If the firmware upgrade fails, then the central management system may attempt to rollback the firmware to its old version. Some devices can do the rollback by themselves; in that case the central management system may allow the device to carry on the rollback. The central management system may also restore the configuration if needed. The user may request the central management system to rollback the firmware for the device, e.g., a MFP, anytime after the firmware is properly upgraded.
An exemplary embodiment may include one or more of the following features:
In an exemplary embodiment, a printer administration utility (PAU) or a management gateway may serve as a central management system for managing firmware for MFP devices connected on a network. For example, a PAU may be configured to access and initiate the firmware upgrade for MFP devices in the network. The PAU maintains a local firmware repository to store the firmware for upgrade. The PAU also maintains the storage for the current firmware (or information about how to get the current firmware) for each MFP. Along with firmware information it also stores the configuration information about each MFP.
Customers/users and dealers with required access privileges may access this web repository 20 through a web browser to obtain firmware for a machine. In some applications, access privileges may not be required, so that the firmware update access is freely available to customers/users.
A central management system (CMS) 42 for a network of devices 60, 62 . . . 64 may be implemented as a software application such as a management gateway or PAU, e.g., running on a console, terminal or server 40 located on a customer's intranet, for example. The terminal or server 40 typically includes a processor, a volatile memory or RAM, and a nonvolatile memory (e.g., ROM, hard drive, CD-ROM). The nonvolatile memory generally provides storage of computer/processor-readable instructions, data structures, program modules and other data for the terminal or server 40, which may be executable on the terminal or server 40. The CMS 42 may be implemented as a processor-readable medium, e.g. an electronically accessible memory, including processor-executable instructions configured for centrally managing the networked group of electronic devices 60, 62, 64, as described more fully below.
In an exemplary embodiment, the terminal 40 is connected on the intranet behind a firewall 48 through which a connection to the Internet 12 is made. A management gateway application and techniques for remote firmware management are described in pending application Ser. No. 11/670,875, entitled “Remote Firmware Management for Electronic Devices,” filed Feb. 2, 2007, the entire contents of which are incorporated herein by this reference. A PAU from Sharp Electronics, for example, is a networked printer management tool using standard Simple Network Management Protocol (SNMP) to monitor status and enable remote configuration of networked digital printer and copier devices. This exemplary PAU may be utilized by network administrators for monitoring all Sharp network connected printers and copiers. The utility keeps a constant status check on the devices, warning when some action is necessary by the administrator, for example if paper supply is low, or toner supply is low, or if a periodical service is due, and alerting when a problem has occurred, for example paper jam or toner exhausted. By utilizing the PAU, network administrators can manage all digital printers and copiers remotely via the network from a single console.
A local firmware repository 50 may be connected on the intranet. The repository 50 may include a local CD drive 52 and a network drive 54. The repository 50 may be accessed and maintained by the CMS 42.
The CMS may also maintain a database 43 for storing data such as configuration data for each of the devices 60, 62, 64, and a CMS firmware repository 45. The CMS repository 45 may be implemented as a network drive on server 40, for example, or as a separate server or network drive.
Some applications may not employ a remote firmware repository such as repository 20. Further some applications may not employ a repository 20 or a repository 50, and instead use just a CMS repository 45 in which firmware updates and images are stored. In other embodiments, local repository 50 and CMS firmware repository 45 may be omitted, and firmware updates and images stored only remotely, e.g. on a remote firmware repository 20.
Users of the CMS 42 can access the local repository 50 to add new firmware and update existing firmware. In the example illustrated in
The firmware repositories 50 and 45 local to the CMS 42 and the web firmware repository 20 are independent of each other, though they use the same technology to store, locate and retrieve the firmware.
A manufacturer may release new firmware on CDs, accessed through a CD drive such as CD drive 52. In an exemplary embodiment, the system 42 will be able to understand the structure of the CD repository. There may also be situations in which a CD may contain the firmware without any also being on a local firmware repository.
In an exemplary embodiment, the CMS 42 is adapted to manage firmware for devices 60, 62, 64 such as MFPs. The CMS 42 may be configured to access and initiate firmware upgrades for MFP devices 60, 62, 64 in the network. The CMS maintains the local firmware repository 50 to store the firmware for upgrade. The CMS may also maintain the storage for the current firmware (or information about how to get the current firmware) for each MFP. Along with firmware information it may also store the configuration information about each MFP in local database 43. Thus, existing firmware and configuration information may be stored in database 43, for the devices 60, 62 and 64 in this exemplary embodiment. Configuration information may include, for example, the contents of the MFP address book, facsimile numbers, and the like.
At 208, the CMS 42 acquires the details of the current firmware on the selected MFP from the MFP. This may be done by the CMS sending a request to the selected MFP to provide the details of the current firmware on the MFP, such as the firmware version number, etc. At 210 the CMS determines whether it already has the current version of firmware in its repository. If yes, then at 212 the CMS saves just the version and location information about the current firmware of the selected MFP, and operation then branches to 234 to initiate the firmware update for the selected device. If at 210, the current firmware is not stored in the repository, then at 214 the CMS determines whether the selected MFP is capable of saving an image, i.e. a copy, of the current firmware. This may be accomplished by asking the device if it is capable of saving the copy of the firmware in the MFP's local storage. If the MFP can save the firmware image, at 216, the CMS sends a message to the MFP instructing the MFP to save the image of the firmware in the MFP's local storage. At 218, the address of the selected MFP, the version information of its current firmware and the location of the firmware at the MFP local storage is saved. Operation then branches to 234 to initiate the firmware update.
If at 214, the MFP can not save the firmware, then at 220, the CMS checks whether the MFP can transfer an image of the current firmware to the CMS. If MFP cannot do so then at 228, a message or warning to the user that the selected MFP does not have a rollback capability, and at 230, the user can make a decision to proceed with firmware update or not. If the MFP can send the firmware image to the management system, the CMS will save the image in its database 43. Thus, an image of the current version of the firmware is acquired from the selected MFP at 222, and is saved in the database at 224. At 226, the address of the selected MFP, the version information of the current firmware and the location of the firmware in the database 43 are saved at 226. Operation then proceeds to step 234 to initiate a firmware update for the selected devices. and proceed with the firmware upgrade.
If the firmware upgrade fails for some reason, then the management system 42 will do retries, and if retries also fail, then it will send a notification to the user.
At 306, the CMS 42 checks its database 43 to determine the location of the image of the old firmware. In an exemplary embodiment, the image of the old firmware will be in one of the three places, a firmware repository such as repository 50 or repository 20 (step 308), on the local storage of the MFP device (step 314) or in the local database 43 (step 316). The CMS locates and fetches the firmware image in the case of respective step 310 or step 318, and initiates a firmware upgrade for the MFP (step 320). In the case in which the firmware image is stored in local storage on the selected MFP, the management system 42 instructs the MFP to restore to the firmware image stored on the MFP's local storage. After the old firmware image is restored to the MFP, the CMS then checks the settings of the device. If settings were corrupted or changed from the last state, then it restores the configuration settings with the local copy of the configuration settings for the MFP (step 322).
If the old firmware image can not be located, then at 324, a message is displayed that the CMS 42 cannot roll back the firmware for the selected device. At 326, operation returns to the home page of the management system.
The CMS 42 may also be employed to clone a networked device such as an MFP. This may be useful, for example, for a case in which a new MFP is installed on the user intranet, and the use desires to set it up with the same settings and firmware as is used on an already installed MFP. Cloning can be used also when a user wants to pull out a non functional MFP from a network and plug in another MFP in its place. In this case, the functional MFP can be a clone of the non-functional MFP. Once the new functional MFP is cloned then the non-functional MFP can be unplugged from the network.
Returning to step 410, if the CMS does not have the firmware image in its repository, the CMS determines at 414 whether the firmware image is in the CMS database 43. If so, operation proceeds to 416, an image of the current firmware is acquired from the database, and operation proceeds to step 418. If the CMS does not have the firmware image in its database at 414, then a message is displayed to the user at 428 that the CMS cannot complete the cloning process, and operation returns to the CMS home page at 430.
Cloning can also be used to setup a new device on the network, e.g. a MFP. Whenever a new MFP is plugged in the network, it may announce its presence which can be detected by the CMS. The user can create a profile in the CMS for each family of devices. The profile may include default settings and a firmware file. The CMS can automatically choose the profile based on which family of devices the new device belongs to and then apply that profile (firmware and settings) to the new device. Thus, new devices can be cloned from a profile set by the user.
Although the foregoing has been a description and illustration of specific embodiments of the subject matter, various modifications and changes thereto can be made by persons skilled in the art without departing from the scope and spirit of the invention as defined by the following claims.