WO2003010661A1 - Automated upgrading of memory data structures - Google Patents

Automated upgrading of memory data structures Download PDF

Info

Publication number
WO2003010661A1
WO2003010661A1 PCT/US2002/003935 US0203935W WO03010661A1 WO 2003010661 A1 WO2003010661 A1 WO 2003010661A1 US 0203935 W US0203935 W US 0203935W WO 03010661 A1 WO03010661 A1 WO 03010661A1
Authority
WO
WIPO (PCT)
Prior art keywords
data structure
release
existing data
memory
configuration information
Prior art date
Application number
PCT/US2002/003935
Other languages
French (fr)
Inventor
Stephen Peter Iribarne
Original Assignee
Tut Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tut Systems, Inc. filed Critical Tut Systems, Inc.
Priority to CA002454788A priority Critical patent/CA2454788A1/en
Priority to EP02706226A priority patent/EP1417568A1/en
Publication of WO2003010661A1 publication Critical patent/WO2003010661A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • Figure 4 is a flow diagram of a method for loading configuration information into a memory data structure associated with a new release of a software product, according to one embodiment of the present invention.
  • the present invention also relates to apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.

Abstract

A method and system for automatically upgrading memory data structures are described. In one embodiment, a determination is made as to whether an existing data structure residing in memory of a computing device corresponds to an old release of a software product (300). The determination is made using a release identifier located in memory of the computing device. If the determination is positive, user-defined configuration information that is stored in the existing data structure is collected (308). Further, the existing data structure is changed to a new data structure associated with a new release of the software product, and the collected configuration information is loaded into the new data structure (312).

Description

AUTOMATED UPGRADING OF MEMORY DATA STRUCTURES
FIELD OF THE INVENTION
This invention relates generally to upgrading software products in a computing device and more particularly to automatically upgrading data structures residing in memory of a computing device.
BACKGROUND OF THE INVENTION
Network devices such as routers, bridges, switches, hubs and gateways are typically controlled by embedded systems. An embedded system may have an operating system but often it is simple enough to be written as a single program. In a network device, this program is a special purpose application program which starts running as soon as the device is turned on. User-defined configuration information used by the special purpose application program is typically stored in non-volatile random access memory (NVRAM) or other nonvolatile memory such as read-only memory, flash memory, etc. The NVRAM may contain one or more data structures in which the configuration information resides. The problem arises when the special purpose application program is upgraded to a new release which uses a different data structure for storing the configuration information. Specifically, when the upgraded application program begins to run, it tries to find user-defined configuration parameters in the NVRAM using a new NVRAM layout. Since the NVRAM layout corresponds to an old release of the application program, the upgraded program fails to find the configuration information and configures the device using default configuration parameters provided by the vendor.
Current solutions to this problem require significant user participation in the upgrade process. Typically, the user needs to save the configuration information into a configuration file, bring the upgraded system up, and then load this configuration file onto the upgraded system. Accordingly, the user cannot perform the upgrade of the application program from a remote location. For example, when a router is located in a basement of an apartment building, the operator must be in the basement to perform the upgrade.
Therefore, it would be advantageous to provide a mechanism for automatically upgrading memory data structures that will not require user presence on the premises of the network device during the upgrade process.
SUMMARY OF THE INVENTION
A method and system for automatically upgrading memory data structures are described. In one embodiment, a determination is made as to whether an existing data structure residing in the memory of a computing device corresponds to an old release of a software product. The determination is made using a release identifier located in the memory of the computing device. If the determination is positive, configuration information that is stored in the existing data structure is collected. Further, the existing data structure is changed to a new data structure associated with a new release of the software product, and the collected configuration information is loaded into the new data structure.
The present invention describes systems, devices, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
Figure 1 is a block diagram of one embodiment of a processing system; Figure 2 is a block diagram of a system for automatically upgrading memory data structures, according to one embodiment of the present invention;
Figure 3 is a flow diagram of a method for automatically upgrading memory data structures, according to one embodiment of the present invention;
Figure 4 is a flow diagram of a method for loading configuration information into a memory data structure associated with a new release of a software product, according to one embodiment of the present invention; and
Figures 5A and 5B are flow diagrams of a method for automatically upgrading NVRAM data structures using a cookie, according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Methods and apparatus for automatically upgrading memory data structures are described. In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic 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. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps 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. 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.
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 discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
Figure 1 is a block diagram of one embodiment of a processing system 100. Processing system 100 can be any type of a computing device including personal computers, network devices, hand-held devices, etc. Processing system 100 includes a bus or other communications means 108 for communicating information, and a processing means such as processor 102 coupled with bus 108 for processing information. Processing system 100 further comprises main memory 104, static memory 106 and network interface device 122. Processor 102 can be any type of processor capable of executing software, such as a microprocessor, digital signal processor, microcontroller, or the like.
Main memory 104 can be a hard disk, a floppy disk, random access memory (RAM), flash memory, or any other type of machine medium readable by processor 102. Main memory 104 can store instructions (i.e., software) 126 for performing the execution of the various method embodiments of the present invention described below. Software 126 may also reside, completely or partially, within the processor 102.
Processing system 100 also comprises static memory 106 (e.g., , NVRAM, flash memory, etc.) coupled to bus 108 for storing static information. The static information may include configuration information used by software 126.
Network interface device 122 is coupled to bus 108 for connecting processing system 100 to private and /or public networks. Network interface device 122 may include a network interface card or other well known interface devices, such as those used for interfacing with Ethernet, Token-ring, or other types of networks. Software 126 may be transmitted or received via the network interface device 122 and stored on a computer-readable medium of any device described above. For the purposes of this specification, the term " computer- readable medium" shall be taken to include any medium that is capable of storing or encoding a sequence of instructions for execution by the machine and that causes the machine to perform any one of the methodologies of the present invention. The term "computer-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals.
The present invention relates to automatic upgrades of memory data structures. As described above, in a computing device, a memory data structure can store configuration information that is used by software to configure the computing device. Each release of the software may use a different data structure for storing the configuration information. In this situation, the first time the upgraded software runs, it tries to read the configuration parameters from memory using a new layout. However, because the memory layout for storing the configuration information corresponds to an old release of the software, the upgraded software fails to find the configuration information and configures the device using default configuration parameters provided by the vendor. To avoid this undesirable result, the user needs to save the configuration information into a configuration file, bring the upgraded system up, and then load this configuration file onto the upgraded system. That is, the user needs to be present on the premises of the computing device (e.g., in a basement of an apartment building where a router is located) during the upgrade process. The present invention provides a mechanism for automatically upgrading memory data structures, without user intervention.
Figure 2 is a block diagram of a system 200 for automatically upgrading memory data structures, according to one embodiment of the present invention. System 200 includes memory 210 and an upgrade module 220. Memory 210 may be, NVRAM, flash memory or any other static memory device. Memory 210 includes one or more data structures for storing configuration information (e.g., general configuration setup parameters, network interface configuration parameters, etc.). Memory 210 also stores a release identifier 202 that indicates which release of a software program corresponds to data structure(s) 204. In one embodiment, release identifier 202 is stored as a cookie. In other embodiments, release identifier 202 is stored in a text file or any other form known in the art. A software program may be any program capable of configuring the computing device based on the configuration information stored in memory 210. For example, the software program may be a boot program or a special purpose application program which may start running as soon as the device is turned on. Upgrade module 220 may be a part of this software program or an independent program.
Upgrade module 220 includes a release calculator 212, a configuration collector 214 and a data structure updator 216. Release calculator 212 is responsible for determining whether data structure 204 corresponds to an old release of the software program: This determination is made based on release identifier 202. In one embodiment, release calculator 212 reads release identifier 202 from a known location in memory 210 and searches an upgrade table 206 for matching data as will be described in greater detail below. In one embodiment, upgrade table 206 is stored in memory 210. Alternatively, upgrade table 206 is hardcoded in upgrade module 220.
If release calculator 212 determines that data structure 204 corresponds to an old release (i.e., data structure 204 needs to be upgraded), then configuration collector 214 collects the configuration information stored in data structure(s) 204. In one embodiment, the configuration information is collected using an appropriate read configuration function as will be described in greater detail below.
Next, data structure updator 216 changes the existing data structure 204 to a new data structure associated with a new release of the software program. The new data structure stores default configuration parameters provided by the vendor. In one embodiment, prior to changing the old data structure 204, the system is automatically rebooted to enable the reset of data structure 204 to default configuration.
Further, data structure updator 216 loads the collected configuration information into the new data structure. As a result, the new release of the software program can now configure the computing device according to the user-defined configuration parameters. In one embodiment, the configuration information includes parameters (e.g., IP address) that will not take effect until the system is rebooted. In this embodiment, the system is automatically rebooted after loading the configuration information into the new data structure.
Figure 3 is a flow diagram of a method 300 for automatically upgrading memory data structures, according to one embodiment of the present invention. Method 304 begins with determining that an existing data structure residing in the memory of a computing device corresponds to an old release of a software program (processing block 306). The determination is made using a release identifier stored in the memory. The memory may be NVRAM, ROM, flash memory, or any other static memory device. One or more data structures may reside in the memory to store configuration information. In one embodiment, a common release identifier is used to determine whether the data structures need to be upgraded. Alternatively, each data structure is associated with a corresponding release identifier, and each release identifier is checked to determine whether this particular data structure corresponds to a new release. In one embodiment, a release identifier also indicates whether the configuration information stored in the data structure has been updated defined by the user or contains default configuration parameters supplied by the vendor. If the data structure does not store any user-defined configuration information, no special upgrade procedure is needed. At processing block 308, the configuration information stored in the existing data structure(s) is collected. In one embodiment, the configuration information is collected from all data structures. Alternatively, the configuration information is collected from a selected number of data structures based on release identifiers associated with each data structure. In one embodiment, the collected configuration information is saved into a textual configuration file. Alternatively, the collected configuration information is saved in binary form. In one embodiment, a read configuration function is provided for each release of the software program. Based on the release identifier, an appropriate read configuration function is selected and performed to collect the configuration information.
At processing block 310, the existing data structure is changed to a new data structure with default configuration parameters. In one embodiment, the existing data structure is reset to the default configuration in response to the system reboot that is performed automatically after the configuration information is collected.
Further, at processing block 312, the collected configuration information is loaded into the new data structure. In one embodiment, all the configuration information is loaded. In another embodiment, configuration parameters are loaded only if a determination is made that the use of these configuration parameters is more beneficial then the use of corresponding default parameters. This embodiment will be described in greater detail below in conjunction with Figure 4.
Afterwards, the system may be automatically rebooted if necessary for the configuration information to take effect. Thus, with the present invention, memory data structures are upgraded automatically, allowing the user to upgrade a software program from a remote location.
Figure 4 is a flow diagram of a method 400 for loading configuration information into a memory data structure associated with a new release of a software program, according to one embodiment of the present invention. At processing block 404, user-defined configuration parameters contained in the configuration information collected at processing block 308 of Figure 3 are analyzed. At processing block 406, one or more user-defined parameters that are less beneficial for use with a new release of a software program than corresponding default configuration parameters are identified. At processing block 408, all user-defined configuration parameters, except the parameters identified at processing block 406, are loaded into a new memory data structure associated with the new release of the software program.
Next, at processing block 410, the user is notified that certain user-defined configuration parameters will not be used with the new release unless the user specifically requests to keep these configuration parameters. In one embodiment, the user is informed that the use of these configuration parameters is less beneficial than the use of corresponding default configuration parameters.
Further, at decision box 412, a determination is made as to whether the user still desires to keep these user-defined parameters. If the determination is positive, these parameters are loaded into the new data structure at processing block 414. Otherwise, processing block 414 is not performed, and the above default configuration parameters are used.
Figures 5A and 5B are flow diagrams of a method 500 for automatically upgrading memory data structures in a network device using a cookie, according to one embodiment of the present invention. In a network device (e.g., a router, a bridge, a switch, a hub, a gateway, etc.), configuration information is stored in NVRAM data structures. This configuration information is read by a special purpose application program which may start running as soon as the network device is turned on. In one embodiment, a cookie is stored in the NVRAM to indicate which release of the application program is associated with the data structures residing in the NVRAM. In this embodiment, method 500 is performed once to upgrade the entire set of NVRAM data structures.
In another embodiment, each NVRAM data structure is associated with a separate cookie which includes a release identifier associated with this data structure and indicates whether this data structure contains user-defined configuration parameters or default configuration parameters supplied by the vendor. A new release of the application program may use entirely different data structures. Alternatively, the new release may use some data structures from an old release. In this embodiment, method 500 is performed (concurrently or consecutively) for each data structure that differs from a prior release and contains user-defined configuration parameters.
Method 500 begins with booting the network device (processing block 504) and initializing the hardware (processing block 506). Then, a cookie value that represents a release identifier is read from a known offset location in the NVRAM (processing block 508) and a determination is made as to whether the cookie value corresponds to a new release of the application program (decision box 510). If the determination is positive, then no upgrade of NVRAM data structures is needed and the booting process continues in a usual manner (processing block 532). Alternatively, if the determination made at decision box 510 is negative, a further determination is made as to whether the cookie value corresponds to one of prior releases (decision box 512). In one embodiment, the determination is made using an upgrade table which contains cookie values of all prior releases.
If the cookie value corresponds to a prior release, then configuration information stored in the data structure is collected (processing block 514). In one embodiment, the upgrade table contains pointers to a read configuration function and a save configuration function that are associated with this particular release of the application program. The read configuration function is performed to collect the configuration information stored in the NVRAM data structure(s). At processing block 515, the save configuration function is performed to save the configuration information into a configuration file. In one embodiment, the configuration file is a text file that is stored in the file system and can subsequently be used by the user to update configuration parameters of the network device. In one embodiment, the name of the configuration file is "cookie Value". cnf where "cookie Value" is an ASCII to text translation of the NVRAM cookie value.
Next, at processing block 516, an operation indicating that the existing data structure is ready to be updated is performed. In one embodiment, this operation is a boolean logic NOT operation performed on the cookie value that results in flipping the bits of the cookie value. The resulting value is stored in the known offset location in the NVRAM, replacing the initial cookie value. Alternatively, any other operation can be performed to provide an indication that the configuration information has been already collected.
At processing block 518, the network device is automatically rebooted, and then blocks 506 through 512 are repeated. This time a determination made at decision box 512 should be negative because the bits of the cookie value have been flipped. Further, at processing block 520, the bits of the cookie value are flipped again to return to their initial values. If the resulting cookie value corresponds to any prior release (decision box 522), then the existing NVRAM data structure is changed to the default configuration of the new release of the application program (processing block 524) and the file system is searched for the configuration file (processing block 525).
At decision box 526, a determination is made as to whether the configuration file exists. If the determination is negative, then the default configuration is used, and the booting process continues in a usual manner (processing block 532). Alternatively, the configuration file is loaded into the new data structure (processing block 528) and the network device is automatically rebooted to effectuate the change of configuration information (processing block 530).
Methods and apparatus for automatically upgrading memory data structures have been described. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.

Claims

CLAIMSWhat is claimed is:
1. A computerized method comprising: determining that an existing data structure residing in memory of a computing device corresponds to an old release of a software program using a release identifier located in the memory of the computing device; collecting configuration information stored in the existing data structure; changing the existing data structure to a new data structure associated with a new release of the software program; and loading the collected configuration information into the new data structure.
2. The method of claim 1 wherein the computing device is a network device.
3. The method of claim 2 wherein the network device is any one of a router, a bridge, a switch, a hub, and a gateway.
4. The method of claim 1 wherein the memory is non-volatile random access memory (NVRAM).
5. The method of claim 1 wherein determining that an existing data structure corresponds to an old release further comprises: reading the release identifier from a known memory location; and searching an upgrade table for the release identifier.
6. The method of claim 1 wherein the release identifier is stored in a cookie.
7. The method of claim 1 wherein the release identifier is stored in a text file.
8. The method of claim 1 further comprising: subsequent to collecting the configuration information, indicating that the existing data structure is ready to be upgraded; and rebooting the computing device before changing the existing data stiucture.
9. The method of claim 8 wherein indicating that the existing data structure is ready to be upgraded includes performing boolean logic NOT operation on the release identifier if the release identifier is stored in binary form.
10. The method of claim 1 further comprising: prior to changing the existing data structure, determining that the existing data structure is ready to be upgraded.
11. The method of claim 1 wherein the new data structure stores default configuration values.
12. The method of claim 1 wherein loading the collected configuration information further comprises: analyzing a plurality of user-defined configuration parameters contained in the configuration information; determining that use of a default configuration parameter is more beneficial than use of a corresponding one of the plurality of user-defined configuration parameters; loading the plurality of user-defined configuration parameters, except said corresponding one of the plurality of user-defined configuration parameters, into the new data structure; and notifying a user that the use of the default configuration parameter is more beneficial.
13. The method of claim 12 further comprising: receiving a request to load said corresponding one of the plurality of user- defined configuration parameters from the user; and loading said corresponding one of the plurality of user-defined configuration parameters into the new data structure.
14. The method of claim 1 wherein collecting user-defined configuration information further comprises: finding a pointer to a read configuration function associated with the old release in an upgrade table; and executing the read configuration function to collect the user-defined configuration information stored in the existing data structure.
15. A system comprising: means for determining that an existing data structure residing in memory of a computing device corresponds to an old release of a software product using a release identifier located in the memory of the computing device; means for collecting configuration information stored in the existing data structure; means for changing the existing data structure to a new data structure associated with a new release of the software product; and means for loading the collected configuration information into the new data structure.
16. An embedded system comprising: a memory to store an existing data structure and a release identifier, the release identifier associating the existing data structure with a certain release of a software product; and at least one processor, coupled to the memory, to determine that the existing data structure corresponds to an old release of the software product using the release identifier, to collect configuration information stored in the existing data structure, to change the existing data structure to a new data structure associated with a new release of the software product, and to load the collected configuration information into the new data structure.
17. An apparatus comprising: a release calculator to determine a software program release associated with an existing data structure residing in memory of a computing device using a release identifier located in the memory of the computing device; a configuration collector to collect configuration information stored in the existing data structure when the software program release associated with the data structure is not current; and a data stiucture updator to change the existing data structure to a new data structure associated with a new release of the software product and to load the collected configuration information into the new data structure.
18. The apparatus of claim 17 wherein the computing device is a network device.
19. The apparatus of claim 18 wherein the network device is any one of a router, a bridge, a switch, a hub, and a gateway.
20. The apparatus of claim 17 wherein the memory is non- volatile random access memory (NVRAM).
21. The apparatus of claim 17 wherein the release calculator is to determine that an existing data structure corresponds to an old release by reading the release identifier from a known memory location and searching an upgrade table for the release identifier.
22. The apparatus of claim 17 wherein the release identifier is stored in a cookie.
23. The apparatus of claim 17 wherein the release identifier is stored in a text file.
24. The apparatus of claim 17 wherein the configuration collector is to indicate, subsequent to collecting the configuration information, that the existing data structure is ready to be upgraded, and to cause the reboot of the computing device.
25. The apparatus of claim 17 wherein the configuration collector is to indicate that the existing data structure is ready to be upgraded by performing boolean logic NOT operation on the release identifier if the release identifier is stored in binary form.
26. The apparatus of claim 17 wherein the new data structure stores default configuration values.
27. The apparatus of claim 17 wherein the data structure updator is further to analyze a plurality of user-defined configuration parameters contained in the configuration information, to determine that use of a default configuration parameter is more beneficial than use of a corresponding one of the plurality of user-defined configuration parameters, to load the plurality of user-defined configuration parameters, except said corresponding one of the plurality of user- defined configuration parameters, into the new data structure, and to notify a user that the use of the default configuration parameter is more beneficial.
28. A computer readable medium that provides instructions, which when executed on a processor, cause said processor to perform operations comprising: determining that an existing data structure residing in memory of a computing device corresponds to an old release of a software program using a release identifier located in the memory of the computing device; collecting configuration information stored in the existing data structure; changing the existing data structure to a new data structure associated with a new release of the software program; and loading the collected configuration information into the new data structure.
PCT/US2002/003935 2001-07-23 2002-02-06 Automated upgrading of memory data structures WO2003010661A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002454788A CA2454788A1 (en) 2001-07-23 2002-02-06 Automated upgrading of memory data structures
EP02706226A EP1417568A1 (en) 2001-07-23 2002-02-06 Automated upgrading of memory data structures

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91159301A 2001-07-23 2001-07-23
US09/911,593 2001-07-23

Publications (1)

Publication Number Publication Date
WO2003010661A1 true WO2003010661A1 (en) 2003-02-06

Family

ID=25430521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/003935 WO2003010661A1 (en) 2001-07-23 2002-02-06 Automated upgrading of memory data structures

Country Status (3)

Country Link
EP (1) EP1417568A1 (en)
CA (1) CA2454788A1 (en)
WO (1) WO2003010661A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388678C (en) * 2004-11-29 2008-05-14 中兴通讯股份有限公司 Automatic obtaining method for telecommunication trausmission systen unit soft and hard ware version
CN102203732A (en) * 2011-05-27 2011-09-28 华为技术有限公司 Software upgrading method, apparatus and optical module
CN102622246A (en) * 2012-02-27 2012-08-01 神州数码国信信息技术(苏州)有限公司 Automatic software upgrading method
WO2018017157A1 (en) * 2016-07-22 2018-01-25 Pure Storage, Inc. Hardware support for non-disruptive upgrades
CN114531354A (en) * 2022-04-22 2022-05-24 北京金山云网络技术有限公司 Cluster upgrading method and device, cluster controller and server

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5822581A (en) * 1995-09-29 1998-10-13 Intel Corporation Method for CMOS configuration information storage and retrieval in flash
US5867714A (en) * 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
US5923886A (en) * 1997-01-04 1999-07-13 Inventec Corporation Automatic memory space switching method
US6131088A (en) * 1992-04-10 2000-10-10 Charles E. Hill & Associates, Inc. Electronic catalog system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131088A (en) * 1992-04-10 2000-10-10 Charles E. Hill & Associates, Inc. Electronic catalog system and method
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5822581A (en) * 1995-09-29 1998-10-13 Intel Corporation Method for CMOS configuration information storage and retrieval in flash
US5867714A (en) * 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
US5923886A (en) * 1997-01-04 1999-07-13 Inventec Corporation Automatic memory space switching method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388678C (en) * 2004-11-29 2008-05-14 中兴通讯股份有限公司 Automatic obtaining method for telecommunication trausmission systen unit soft and hard ware version
CN102203732A (en) * 2011-05-27 2011-09-28 华为技术有限公司 Software upgrading method, apparatus and optical module
CN102622246A (en) * 2012-02-27 2012-08-01 神州数码国信信息技术(苏州)有限公司 Automatic software upgrading method
WO2018017157A1 (en) * 2016-07-22 2018-01-25 Pure Storage, Inc. Hardware support for non-disruptive upgrades
CN114531354A (en) * 2022-04-22 2022-05-24 北京金山云网络技术有限公司 Cluster upgrading method and device, cluster controller and server
CN114531354B (en) * 2022-04-22 2022-08-23 北京金山云网络技术有限公司 Cluster upgrading method and device, cluster controller and server

Also Published As

Publication number Publication date
CA2454788A1 (en) 2003-02-06
EP1417568A1 (en) 2004-05-12

Similar Documents

Publication Publication Date Title
US7743242B2 (en) Method and system for automatic generation of operating system boot images
US6732267B1 (en) System and method for performing remote BIOS updates
US6453469B1 (en) Method and apparatus to automatically deinstall an application module when not functioning
US7694165B2 (en) Automation of bare metal recoveries
US7073053B1 (en) Method and apparatus for a boot progression scheme for reliably initializing a system
US8171276B2 (en) Minimal startup mode for performing multiple-reboot configuration
US7934213B2 (en) Device driver rollback
EP1631905B1 (en) Dynamic bios execution and concurrent update for a blade server
CN112631625B (en) System upgrading method and device for embedded equipment and embedded equipment
US6715043B1 (en) Method and system for providing memory-based device emulation
US8683458B2 (en) Automatic full install upgrade of a network appliance
US20070028228A1 (en) Software upgrades with user advisement
CN113190279B (en) Pre-boot function control method, system and medium
US7269722B1 (en) Preview of UNIX boot process from multi-user level
WO2003010661A1 (en) Automated upgrading of memory data structures
CN112162794A (en) Single board starting method, device, single board and network equipment
EP3843361A1 (en) Resource configuration method and apparatus, and storage medium
US11720386B2 (en) Validation and pre-check of combined software/firmware updates
KR100429903B1 (en) Method for updating images in home gateway system
CN111324384A (en) Device and method for selecting starting image file according to device message in pre-execution environment
CN105282614B (en) A kind of upgrade method of module TV, module TV and upgrade-system
CN114661367B (en) Method, device, equipment and medium for installing operating system in IPv6 environment
CN111949278B (en) Method, system, terminal and storage medium for automatically installing MCS system
US20230350755A1 (en) Coordinated operating system rollback
CN116795494B (en) Memory protection unit information processing method, system and readable medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE CH CY DE DK FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2454788

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002706226

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002706226

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2002706226

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP