Patent US6070012A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6070012A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for upgrading software subsystems without interrupting service

Assignee: Nortel Networks Ltd
•
Filing: 1998-05-22
•
Granted: 2000-05-30
•
Expires: 2018-05-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for updating a software subsystem while services are being provided by the software subsystem is provided. Initially, instructions are processed from a primary software subsystem loaded at a first base address associated with a primary storage unit. A secondary software subsystem is downloaded at a second base address associated with a secondary storage unit while the primary software subsystem is being executed. The secondary software subsystem typically contains an updated version of the primary software subsystem. To install the updated software subsystem, the first base address associated with the primary storage unit is swapped with the second base address associated with the secondary storage unit. Execution continues using the updated software subsystem without a significant interruption in service.

Inventors

  • 👤 William H. Eitner
  • 👤 Suresh D. Mahanty

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 16:09
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G06F8/65; G06F8/656

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 100 words
A method for updating a software subsystem used by a network system while services are being provided by the software subsystem, comprising the steps of: processing instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; downloading a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and activating the secondary software subsystem by selectively swapping the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit.
Claim 2
Independent Claim 100 words
A method for updating a software subsystem used by a network system while services are being provided by the software subsystem, comprising the steps of: processing instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; downloading a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and activating the secondary software subsystem by selectively swapping the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit.
Claim 3
Dependent Claim 36 words
The method of claim 1 which further comprises the step of: incrementing a version counter associated with the secondary storage unit which indicates that the secondary storage unit contains an updated version of the software subsystem.
Claim 4
Dependent Claim 19 words
The method of claim 1 wherein the second software subsystem is an updated version of the primary software subsystem.
Claim 5
Dependent Claim 57 words
The method of claim 1 wherein the swapping step further comprises the substeps of: storing the first base address associated with the primary storage unit in a temporary storage area; associating the second base address with the primary storage unit; and associating the first base address stored in the temporary storage area with the secondary storage unit.
Claim 6
Dependent Claim 33 words
The method of claim 1 further comprising after the swapping step, the step of processing instructions from the secondary software subsystem loaded at a first base address associated with the secondary storage unit.
Claim 7
Independent Claim 120 words
A method for loading a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising the steps of: providing a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; providing a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; before executing the software subsystem, selecting a software subsystem from the primary software subsystem and the secondary software subsystem; and swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 8
Independent Claim 120 words
A method for loading a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising the steps of: providing a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; providing a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; before executing the software subsystem, selecting a software subsystem from the primary software subsystem and the secondary software subsystem; and swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 9
Dependent Claim 49 words
The method of claim 6 wherein the selecting step further comprises the substeps of: determining whether the primary software subsystem and the secondary software subsystem have been altered since they were generated; and selecting the primary software subsystem if the secondary software subsystem is determined to have been altered.
Claim 10
Dependent Claim 42 words
The method of claim 7 wherein the selecting step further comprises the step of selecting the secondary software subsystem if the primary software subsystem is determined to have been altered and the secondary software subsystem is determined not to have been altered.
Claim 11
Dependent Claim 46 words
The method of claim 7 wherein the selecting step further comprises the step of selecting the secondary software subsystem if the primary software subsystem and the secondary software subsystem have not been altered and the secondary software subsystem is a later version of the software subsystem.
Claim 12
Dependent Claim 33 words
The method of claim 7 which further comprises the step of selecting the primary software subsystem if the secondary software subsystem and the primary software subsystems were both determined to have been altered.
Claim 13
Dependent Claim 36 words
The method of claim 6 which further comprises the step of loading instructions from a storage unit associated with the first base address and selected from among the primary storage unit and the secondary storage unit.
Claim 14
Dependent Claim 129 words
A computer program product capable of configuring a data processor to update a software subsystem used by a network system coupled to a server computer over a network while services are being provided by the software subsystem, the computer program product comprising program code to cause the data processor to perform the steps of: processing instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; downloading a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and activating the secondary software subsystem by selectively swapping the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit.
Claim 15
Dependent Claim 129 words
A computer program product capable of configuring a data processor to update a software subsystem used by a network system coupled to a server computer over a network while services are being provided by the software subsystem, the computer program product comprising program code to cause the data processor to perform the steps of: processing instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; downloading a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and activating the secondary software subsystem by selectively swapping the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit.
Claim 16
Dependent Claim 39 words
The computer program product of claim 12 wherein the code includes the substep of: incrementing a version counter associated with the secondary storage unit which indicates that the secondary storage unit contains an updated version of the software subsystem.
Claim 17
Dependent Claim 21 words
The computer program product of claim 12 wherein the second software subsystem is an updated version of the primary software subsystem.
Claim 18
Dependent Claim 59 words
The computer program product of claim 12 wherein the swapping step further comprises the substeps of: storing the first base address associated with the primary storage unit in a temporary storage area; associating the second base address with the primary storage unit; and associating the first base address stored in the temporary storage area with the secondary storage unit.
Claim 19
Dependent Claim 35 words
The computer program product of claim 12 further comprising after the swapping step, the step of processing instructions from the secondary software subsystem loaded at a first base address associated with the secondary storage unit.
Claim 20
Dependent Claim 128 words
A computer program product capable of configuring a data processor to load a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising the steps of: providing a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; providing a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; before executing the software subsystem, selecting a software subsystem from the primary software subsystem and the secondary software subsystem; and swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 21
Dependent Claim 128 words
A computer program product capable of configuring a data processor to load a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising the steps of: providing a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; providing a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; before executing the software subsystem, selecting a software subsystem from the primary software subsystem and the secondary software subsystem; and swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 22
Dependent Claim 50 words
The computer program product of claim 17 wherein the selecting step further comprises the substeps of: determining whether the primary software subsystem and the secondary software subsystem have been altered since they were generated; and selecting the primary software subsystem if secondary software subsystem is determined to have been altered.
Claim 23
Dependent Claim 44 words
The computer program product of claim 17 wherein the selecting step further comprises the step of selecting the secondary software subsystem if the primary software subsystem is determined to have been altered and the secondary software subsystem is determined not to have been altered.
Claim 24
Independent Claim 121 words
An apparatus designed to update a software subsystem used by a network system coupled to a server computer over a network while services are being provided by the software subsystem comprising: a processing module configured to process instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; a download module configured to download a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and a swapping module configured to selectively swap the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit by activating the secondary software subsystem.
Claim 25
Independent Claim 121 words
An apparatus designed to update a software subsystem used by a network system coupled to a server computer over a network while services are being provided by the software subsystem comprising: a processing module configured to process instructions from a primary software subsystem loaded at a first base address associated with a primary storage unit coupled to the network system; a download module configured to download a secondary software subsystem at a second base address associated with a secondary storage unit coupled to the network system; and a swapping module configured to selectively swap the first base address associated with the primary storage unit with the second base address associated with the secondary storage unit by activating the secondary software subsystem.
Claim 26
Dependent Claim 37 words
The apparatus of claim 20 further comprising: a counter module configured to increment a version counter associated with the secondary storage unit which indicates that the secondary storage unit contains an updated version of the software subsystem.
Claim 27
Independent Claim 124 words
An apparatus configured to load a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising: a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; a selection module for selecting a software subsystem from the primary software subsystem and the secondary software subsystem before executing the software subsystem; and a swap module for swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 28
Independent Claim 124 words
An apparatus configured to load a software subsystem on a network system which loads instructions from a first base address in a storage unit, comprising: a primary software subsystem loaded at the first base address associated with a primary storage unit coupled to the network system; a secondary software subsystem loaded at a second base address associated with a secondary storage unit coupled to the network system; a selection module for selecting a software subsystem from the primary software subsystem and the secondary software subsystem before executing the software subsystem; and a swap module for swapping the first base address associated with the primary storage unit and the second base address associated with the secondary storage unit if the secondary software subsystem is selected.
Claim 29
Dependent Claim 57 words
The apparatus in claim 22 wherein the selection module step further comprises: a determination module capable of detecting whether the primary software subsystem and the secondary software subsystem have been altered since they were generated; and a selection module configured to select the primary software subsystem if the secondary software subsystem is determined to have been altered.

References Cited (Backward Citations)

US5155847A Cited
US4954941A Cited
US5274808A Cited
US5339430A Cited
US5410703A Cited
US5555418A Cited
US5682533A Cited
US5732275A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-30 2003-11-29 2004-05-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-30 2007-11-29 2008-05-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-30 2011-11-29 2012-05-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag