IP Library Granted Patent US 9,819,547
Granted Patent B2
US 9,819,547 · App. 14/145,216 · Granted Nov 14, 2017

Server provisioning based on job history analysis

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,819,547
App. No.
14/145,216
Granted
Nov 14, 2017
Kind
B2
Abstract

A system includes a runbook manager configured to generate a runbook governing future server provisioning jobs, based on analyzed job history. The runbook manager includes a history analyzer configured to analyze a job history for a plurality of provisioning jobs performed to provision a plurality of servers, to thereby obtain the analyzed job history.

Claims (27)

1. A system including instructions stored on a non-transitory computer readable storage medium and executable by at least one semiconductor processor, the system comprising:

a history analyzer configured to cause the at least one semiconductor processor to analyze a job history for a plurality of provisioning jobs performed to provision a plurality of servers of a plurality of server types, each of the plurality of servers being provisioned using a corresponding sequence of provisioning jobs of the plurality of provisioning jobs, to thereby obtain an analyzed job history including timelines of the sequences of provisioning jobs executed against the plurality of servers;

a runbook manager configured to cause the at least one semiconductor processor to create a runbook in which the timelines of provisioning jobs are organized by server type of the plurality of server types;

a recommendation manager configured to cause the at least one semiconductor processor to receive a provisioning request for provisioning a new server of a requested server type, and identify a corresponding timeline of the timelines, based on the requested server type; and

a provisioning tool configured to provision the server including executing provisioning jobs of the corresponding timeline,

wherein the runbook manager comprises a runbook graph generator configured to generate the runbook, including generating a runbook graph in which pairs of server states are linked by corresponding provisioning jobs that advance a corresponding server from the first state of the pair of server states to the second state of the pair of server states.

2. The system of claim 1 , wherein the history analyzer is configured to receive the job history from a server automation tool managing operations of the plurality of servers.

3. The system of claim 1 , wherein the runbook graph includes a frequency count for each link, representing a number of times a corresponding provisioning job has been executed for servers of the same type within the job history.

4. The system of claim 1 , wherein the runbook graph includes a forest graph of nodes, each representing a server state, and links, each representing a provisioning job, and wherein the forest graph includes a plurality of tree graphs defined by corresponding root nodes, where each root node corresponds to a server type.

5. The system of claim 4 , wherein the recommendation manager is further configured to select a root node corresponding to a type of the new server, and selecting provisioning jobs from among subsequent links and nodes of the selected root node.

6. The system of claim 4 , wherein the recommendation manager is further configured to update a currently-provisioned server including selecting a current state node corresponding to the currently-provisioned server, and selecting provisioning jobs from among subsequent links and nodes of the current state node.

7. The system of claim 4 , wherein the recommendation manager is further configured to display the runbook graph by way of a graphical user interface, and to receive a selection of a desired state of a server to be provisioned or updated including receiving a selection of a corresponding node of the displayed runbook graph.

8. The system of claim 1 , wherein the runbook manager is further configured to update the runbook, based on updates to the job history.

9. A method comprising:

analyzing a job history for a plurality of provisioning jobs performed to provision a plurality of servers of a plurality of server types, each of the plurality of servers being provisioned using a corresponding sequence of provisioning jobs of the plurality of provisioning jobs, to thereby obtain an analyzed job history including timelines of the sequences of provisioning jobs executed against the plurality of servers;

creating a runbook in which the timelines of provisioning jobs are organized by server type of the plurality of server types, including generating a runbook graph in which pairs of server states are linked by corresponding provisioning jobs that advance a corresponding server from the first state of the pair of server states to the second state of the pair of server states;

receiving a provisioning request for provisioning a new server of a requested server type, and identify a corresponding timeline of the timelines, based on the requested server type; and

provisioning the server including executing provisioning jobs of the corresponding timeline.

10. The method of claim 9 , wherein the runbook graph includes a forest graph of nodes, each representing a server state, and links, each representing a provisioning job, and wherein the forest graph includes a plurality of tree graphs defined by corresponding root nodes, where each root node corresponds to a server type.

11. A computer program product including instructions recorded on a non-transitory computer readable storage medium and configured to cause at least one processor to:

analyze a job history for a plurality of provisioning jobs performed to provision a plurality of servers of a plurality of server types, each of the plurality of servers being provisioned using a corresponding sequence of provisioning jobs of the plurality of provisioning jobs, to thereby obtain an analyzed job history including timelines of the sequences of provisioning jobs executed against the plurality of servers;

create a runbook in which the timelines of provisioning jobs are organized by server type of the plurality of server types, including generating a runbook graph in which pairs of server states are linked by corresponding provisioning jobs that advance a corresponding server from the first state of the pair of server states to the second state of the pair of server states;

receive a provisioning request for provisioning a new server of a requested server type, and identify a corresponding timeline of the timelines, based on the requested server type; and

provision the server including executing provisioning jobs of the corresponding timeline.

12. The computer program product of claim 11 , wherein the runbook graph includes a forest graph of nodes, each representing a server state, and links, each representing a provisioning job, and wherein the forest graph includes a plurality of tree graphs defined by corresponding root nodes, where each root node corresponds to a server type.

13. The computer program product of claim 12 , wherein the instructions, when executed, are further configured to cause the at least one processor to select a root node corresponding to a type of the new server, and select provisioning jobs from among subsequent links and nodes of the selected root node.

14. The computer program product of claim 11 , wherein the instructions, when executed, are further configured to cause the at least one processor to display the runbook graph by way of a graphical user interface, and to receive a selection of a desired state of a server to be provisioned or updated including receiving a selection of a corresponding node of the displayed runbook graph.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: MAINI, NITIN; KARNIK, NEERAN
To: BMC SOFTWARE, INC.
Reel/Frame 032575/0690 →