Job management and resource allocation

US2016283274A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016283274-A1
Application numberUS-201514671977-A
CountryUS
Kind codeA1
Filing dateMar 27, 2015
Priority dateMar 27, 2015
Publication dateSep 29, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system according to certain aspects improves the process of managing jobs and allocating resources to those jobs. The system can include a job manager that processes and generates resource allocation requests for a plurality of jobs and a resource allocator that allocates computing resources for the plurality of jobs based on the resource allocation requests. The process of allocating resources may involve locking one or more resource objects before allocating the computing resources for the plurality of jobs and unlocking the locked resource objects after the computing resources have been allocated for the plurality of jobs.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for managing resource allocation in a data storage system, the method comprising: with a job manager of a storage management component executing on one or more computing devices in a networked data storage system, the one or more computing devices comprising computer hardware, initiating a plurality of data protection jobs, where performance of the data protection jobs results in application data generated by one or more client computing devices in the data storage system being copied to one or more secondary storage devices to create secondary copies of the application data; and generating resource allocation requests associated with the data protection jobs requesting allocation of computing resources within the data storage system for use in performing the respective data protection jobs; with a resource allocator of the storage management component, in response to the resource allocation requests, locking one or more resource objects associated with computing resources within the data storage system; allocating, while the one or more resource objects are locked, a respective portion of the computing resources for each job of the plurality of data protection jobs; and unlocking the one or more resource objects associated with the computing resources. 2 . The method of claim 1 , wherein the job manager is not blocked by the resource allocation requests from further processing the respective data protection jobs. 3 . The method of claim 1 , further comprising, with the job manager, for at least a first of the data protection jobs, while the resource allocation request associated with the first data protection job has been issued to the resource allocator but has not yet been fulfilled, performing one or more job management tasks associated with the first data protection job. 4 . The method of claim 1 wherein the one or more resource objects comprise tables including metadata associated with the computing resources. 5 . The method of claim 1 wherein the job manager and the resource manager are implemented as asynchronous software threads. 6 . The method of claim 1 , further comprising: processing a first job of the plurality of data protection jobs; generating a first resource allocation request based on the first job, the first resource allocation request specifying a first amount of computing resources needed to perform the first job; and processing a second job of the plurality of data protection jobs before the first amount of computing resources is allocated for the first job based on the first resource allocation request. 7 . The method of claim 1 , further comprising generating, before the first amount of computing resources is allocated for the first job based on the first resource allocation request, a second resource allocation request based on the second job, the second resource allocation request specifying a second amount of computing resources needed to perform the second job. 8 . The method of claim 1 , wherein allocating the respective portion of the computing resources for said each job of the plurality of data protection jobs comprises: determining an amount of computing resources requested for said each job of the plurality of data protection jobs; acquiring the determined amount of computing resources from an available portion of the computing resources; and allocating the acquired computing resource to said each job of the plurality of data protection jobs. 9 . The method of claim 1 , further comprising creating an association between said each job and the respective portion of the computing resources allocated to said each job in one of the locked one or more resource objects. 10 . The method of claim 9 , wherein said one of the locked one or more resource objects comprises a resource allocation table indicating the allocation of computing resources to the plurality of data protection jobs. 11 . The method of claim 1 , wherein the one or more resource objects comprise one or more storage devices configured to store data generated during execution of the plurality of data protection jobs. 12 . The method of claim 1 , further comprising: receiving, by the resource allocator, a single resource allocation request specifying respective amounts of the computing resources needed for the plurality of data protection jobs; and processing the single resource allocation request such that the respective amounts are allocated for the plurality of data protection jobs without locking and unlocking the one or more resource objects more than once. 13 . The method of claim 1 , further comprising: receiving a plurality of resource allocation requests corresponding to the respective jobs of the plurality of data protection jobs; and processing the plurality of resource allocation requests in bulk such that respective amounts of the computing resources needed for the plurality of data protection jobs are allocated without locking and unlocking the one or more resource objects more than once. 14 . The method of claim 1 , wherein the one or more resource objects comprise one or more storage media accessible by the plurality of data protection jobs, wherein the plurality of data protection jobs are configured to store data in the one or more storage media. 15 . A system comprising: a storage manager within a networked data storage system and implemented in one or more hardware processors, the storage manager comprising: a job manager configured to: initiate a plurality of data protection jobs, where performance of the data protection jobs results in application data generated by one or more client computing devices in the data storage system being copied to one or more secondary storage devices in the data storage system to create secondary copies of the application data; and generate resource allocation requests associated with the data protection jobs, where the resource allocation requests request allocation of computing resources within the data storage system for use in performing the respective data protection jobs; and a resource allocator configured, in response to the resource allocation requests, to: lock one or more resource objects associated with computing resources within the data storage system; allocate, while the one or more resource objects are locked, a respective portion of the computing resources for each job of the plurality of data protection jobs; and unlock the one or more resource objects associated with the computing resources. 16 . The system of claim 15 , wherein the job manager is further configured, for at least a first of the data protection jobs, while the resource allocation request associated with the first data protection job has been issued to the resource allocator but has not yet been fulfilled, to perform one or more job management tasks associated with the first data protection job. 17 . The system of claim 15 , wherein the job manager is further configured to: process a first job of the plurality of data protection jobs; generate a first resource allocation request based on the first job, where the first resource allocation request specifies a first amount of computing resources needed to perform the first job; and process a second job of the plurality of data protection jobs before the first amount of computing resources is allocated for the first job based on the first resource allocation request. 18 . The system of claim 15 , wherein the job manager is further configured to generate, before the first amoun

Assignees

Inventors

Classifications

  • in relation to access · CPC title

  • G06F9/5011Primary

    the resources being hardware resources other than CPUs, Servers and Terminals · CPC title

  • to service a request · CPC title

  • G06F3/067Primary

    Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016283274A1 cover?
A system according to certain aspects improves the process of managing jobs and allocating resources to those jobs. The system can include a job manager that processes and generates resource allocation requests for a plurality of jobs and a resource allocator that allocates computing resources for the plurality of jobs based on the resource allocation requests. The process of allocating resourc…
Who is the assignee on this patent?
Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5011. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).