System and method for management of jobs in a cluster environment
AssigneeNetApp, Inc.
InventorMichael Comer
Life of this patent
Estimating the term…
Abstract
A system and method for management of jobs in the clustered environment is provided. Each node in the cluster executes a job manager that interfaces with a replicated database to enable cluster wide management of jobs within the cluster. Jobs are queued in the replicated database and retrieved by a job manager for execution. Each job manager ensures that jobs are processed through completion or, failing that, are re-queued on another storage system for execution.
Claims27
A method for managing a storage system cluster, comprising:
- executing a job manager at each storage system of a plurality of storage systems within the storage system cluster by a processor operatively connected to each storage system;
- loading a job object onto a distributed data store operatively connected to the storage system cluster;
- determining whether the job object has an affinity for a particular storage system of the plurality of the storage systems within the storage system cluster to process the job object based on an affinity field located within a job record data structure associated with the job object;
- in response to the job object having the affinity for the particular storage system to process the job object based on the affinity field located within the job record data structure associated with the job object, retrieving, by the particular storage system, the job object from the distributed data store, and processing the job object at a particular job manager executing at the particular storage system, wherein the job object is marked as unclaimed after a master job manager detects a failure of the particular storage system before the particular job manager completes processing the job object, and the job object is marked as unclaimed after waiting for a timeout period to elapse;
- and
- in response to the job object not having an affinity for the particular storage system to process the job object based on the affinity field located within the job record data structure associated with the job object, retrieving, by any storage system of the plurality of storage systems, the job object from the distributed data store, and processing the job object by the job manager executing on the any storage system.
A system configured to manage a storage system cluster of a plurality of storage systems, comprising:
- a processor operatively connected to each storage system of the plurality of storage systems within the storage system cluster configured to execute a job manager at each storage system;
- a distributed data store operatively connected to the storage system cluster and configured to store a job object;
- the job manager, at each storage system, configured to examiner the job object to determine whether the job object has an affinity for a particular storage system within the storage system cluster to process the job object;
- in response to the job object having the affinity for the particular storage system to process the job object, a particular job manager executing at the particular storage system configured to retrieve the job object from the distributed data store and further configured to process the job object, wherein the job object is marked as unclaimed after a master job manager detects a failure of the particular storage system before the particular job manager completes processing the job object, and the job object is marked as unclaimed after waiting for a timeout period to elapse;
- and
- in response to the job object not having an affinity for the particular storage system to process the job object, the job manager of any storage system configured to retrieve the job object from the distributed data store and further configured to process the job object.
A computer-readable storage medium containing executable program instructions for execution by a processor, the computer-readable storage medium comprising:
- program instructions that execute a job manager at each storage system of a plurality of storage systems within a cluster;
- program instructions that load a job object onto a distributed data store operatively connected to the cluster;
- program instructions that determine whether the job object has an affinity for a particular storage system within the storage system cluster to process the job object;
- in response to the job object having the affinity for the particular storage system to process the job object, program instructions that retrieve the job object for the particular storage system from the distributed data store and process the job object by a particular job manager executing at the particular storage system, wherein the job object is marked as unclaimed after a master job manager detects a failure of the particular storage system before the particular job manager completes processing the job object, and the job object is marked as unclaimed after waiting for a timeout period to elapse;
- and
- in response to the job object not having the affinity for the particular storage system to process the job object, program instructions that retrieve the job object for any particular storage system, of the plurality of storage systems, from the distributed data store and process the job object by the particular job manager executing at the any particular storage system.
Dependencies are inferred from the claim text.