Automated upgrade system for a service-based distributed computer system
First Claim
1. A distributed computer system, comprising:
- a processor; and
an automated upgrade subsystem within a distributed service-based application, multiple instances of which execute on multiple physical computer systems within the distributed computer system, the automated upgrade subsystem comprising;
an upgrade controller that displays an upgrade interface on a display device and that launches an automated upgrade in response to user input to an input feature of the upgrade interface by transmitting an initiate-upgrade request, for upgrading at least a portion of the distributed service-based application, to a selected upgrade service; and
upgrade services, within components of the distributed service-based application, that upgrade themselves to newer versions of upgrade services and request component upgrades from any subordinate upgrade services within lower-level components of the distributed service-based application, each upgrade service;
determining whether or not an upgrade of a component is possible, in response to receiving the initiate-upgrade request,when the component upgrade is possible, preparing and storing a snapshot having information sufficient to restore the component to a pre-upgrade version,when a snapshot has been successfully prepared, persistently storing the component upgrade, upgrading the component, and restarting the upgraded component, andwhen the component is successfully restarted, verifying functionality of the upgraded component.
2 Assignments
0 Petitions
Accused Products
Abstract
The current document is directed to an automated upgrade subsystem within a distributed computer system that executes a distributed, service-based application comprising multiple local instances of the a distributed, service-based application, each instance including one or more control programs executing on a physical computer-system component of the distributed computer system. In one implementation, the automated upgrade subsystem provides a user interface that allows a system administrator or other user to launch a distributed-system-wide upgrade of a distributed application with a single input to a single input feature on a displayed user interface. The automated upgrade subsystem carries out a hierarchical, rolling upgrade, automatically generates snapshots for each physical computer system prior to launching local upgrade logic on the physical computer systems, detects upgrade problems and, in certain cases, automatically conducts a distributed-computer-system-wide rollback for problems that cannot be automatically or manually resolved.
-
Citations
18 Claims
-
1. A distributed computer system, comprising:
-
a processor; and an automated upgrade subsystem within a distributed service-based application, multiple instances of which execute on multiple physical computer systems within the distributed computer system, the automated upgrade subsystem comprising; an upgrade controller that displays an upgrade interface on a display device and that launches an automated upgrade in response to user input to an input feature of the upgrade interface by transmitting an initiate-upgrade request, for upgrading at least a portion of the distributed service-based application, to a selected upgrade service; and upgrade services, within components of the distributed service-based application, that upgrade themselves to newer versions of upgrade services and request component upgrades from any subordinate upgrade services within lower-level components of the distributed service-based application, each upgrade service; determining whether or not an upgrade of a component is possible, in response to receiving the initiate-upgrade request, when the component upgrade is possible, preparing and storing a snapshot having information sufficient to restore the component to a pre-upgrade version, when a snapshot has been successfully prepared, persistently storing the component upgrade, upgrading the component, and restarting the upgraded component, and when the component is successfully restarted, verifying functionality of the upgraded component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification