IP Library Granted Patent US 11,593,073
Granted Patent B2
US 11,593,073 · App. 17/476,708 · Granted Feb 28, 2023

Object-oriented infrastructure-as-code platform (OOIACP)

Inventor: William R. Benassi (Elk River, MN)
Assignee: CenturyLink Intellectual Property LLC
G06F8/315G06F8/427G06F9/52
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 11,593,073
App. No.
17/476,708
Granted
Feb 28, 2023
Kind
B2
Abstract

Novel tools and techniques are provided for implementing object-oriented infrastructure-as-code platform (“OOIACP”) and its functionalities. In various embodiments, an OOIACP may receive a request to perform a function from a requesting device. The OOIACP includes a declarative configuration language (“DCL”)-based infrastructure-as-code (“IAC”) software tool that provides structure and data functionalities and a wrapper tool that provides algorithm and sequence functionalities to the IAC software tool to convert the IAC software tool into an object-oriented programming (“OOP”)-based IAC system. The OOIACP uses a run command to perform the requested function, by identifying classes within a class hierarchy associated with the requested function, and initiating a set of procedures in each identified class. Each class and subclass within the class hierarchy has one or more predefined class behaviors, and each subclass inherits class behaviors of classes to which it belongs and of any intermediate subclasses.

Claims (48)

1. A method, comprising:

receiving, with a computing system and from a requesting device, a request to perform a web service function, wherein the computing system comprises an object-oriented infrastructure-as-code platform (“OOIACP”), wherein the OOIACP comprises a declarative configuration language (“DCL”)-based infrastructure-as-code (“IAC”) software tool that provides structure and data functionalities and a wrapper tool that provides algorithm and sequence functionalities to the IAC software tool to convert the IAC software tool into an object-oriented programming (“OOP”)-based IAC system, wherein the request to perform the web service function comprises one of an operational call or a lifecycle call;

setting, by the OOIACP, one or more semaphores that are used to control access to common resources by multiple processes, based at least in part on the received request;

evaluating, by the OOIACP, one or more system constraints, based at least in part on the received request and based at least in part on the set one or more semaphores;

using, by the OOIACP, a before-hook functionality to parse the received request to convert the received request into a DCL request and to initiate a call to the IAC software tool of the OOIACP using the DCL request;

using, by the OOIACP, a run command to:

establish a class hierarchy of objects based on the received request, each class and subclass within the class hierarchy having one or more predefined class behaviors, wherein each subclass inherits class behaviors of classes to which it belongs and class behaviors of any intermediate subclasses, wherein each class behavior comprises a set of procedures associated with the request and with an object or instance of a corresponding class, the set of procedures configured to operate on said object or instance of the corresponding class; and

perform the requested web service function based on the initiated call to the IAC software tool of the OOIACP using the DCL request and based at least in part on the one or more system constraints, by identifying one or more classes within the class hierarchy associated with the requested web service function, initiating the set of procedures in each of the identified one or more classes, and returning results of the DCL request based on at least one of the initiated set of procedures or the identified one or more classes; and

using, by the OOIACP, an after-hook functionality to convert results of the DCL request into a non-DCL result and to send the non-DCL result to the requesting device.

2. The method of claim 1 , wherein the request to perform the web service function comprises one of an application programming interface (“API”) call or a command line interface (“CLI”) call.

3. The method of claim 1 , further comprising:

receiving, with the OOIACP, a request to update or replace at least one behavior in at least one class among the identified one or more classes within the class hierarchy associated with the requested function; and

updating or replacing, by the OOIACP, the at least one behavior in the at least one class with an updated or replacement behavior, the updated or replacement behavior comprising an updated or replacement set of procedures.

4. The method of claim 3 , further comprising:

using, by the OOIACP, the run command to repeat performance of the requested function, by initiating the updated or replacement set of procedures in each of the at least one class and initiating the set of procedures in each of the other identified one or more classes.

5. A system, comprising:

an object-oriented infrastructure-as-code platform (“OOIACP”), wherein the OOIACP comprises a declarative configuration language (“DCL”)-based IAC software tool that provides structure and data functionalities and a wrapper tool that provides algorithm and sequence functionalities to the IAC software tool to convert the IAC software tool into an object-oriented programming (“OOP”)-based IAC system, the OOIACP comprising:

at least one first processor; and

a first non-transitory computer readable medium communicatively coupled to the at least one first processor, the first non-transitory computer readable medium having stored thereon computer software comprising a first set of instructions that, when executed by the at least one first processor, causes the OOIACP to:

receive, from a requesting device, a request to perform a web service function;

set one or more semaphores that are used to control access to common resources by multiple processes, based at least in part on the received request; and

evaluate one or more system constraints, based at least in part on the received request and based at least in part on the set one or more semaphores;

use a before-hook functionality to parse the received request to convert the received request into a DCL request and to initiate a call to the IAC software tool of the OOIACP using the DCL request;

use a run command to:

establish a class hierarchy of objects based on the received request, each class and subclass within the class hierarchy having one or more predefined class behaviors, wherein each subclass inherits class behaviors of classes to which it belongs and class behaviors of any intermediate subclasses, wherein each class behavior comprises a set of procedures associated with the request and with an object or instance of a corresponding class, the set of procedures configured to operate on said object or instance of the corresponding class; and

perform the requested web service function based on the initiated call to the IAC software tool of the OOIACP using the DCL request and based at least in part on the one or more system constraints, by identifying one or more classes within the class hierarchy associated with the requested web service function, initiating the set of procedures in each of the identified one or more classes, and returning results of the DCL request based on at least one of the initiated set of procedures or the identified one or more classes; and

use an after-hook functionality to convert results of the DCL request into a non-DCL result and to send the non-DCL result to the requesting device.

6. The system of claim 5 , wherein the request to perform the web service function comprises one of an application programming interface (“API”) call or a command line interface (“CLI”) call.

7. The system of claim 5 , wherein the first set of instructions, when executed by the at least one first processor, further causes the OOIACP to:

receive a request to update or replace at least one behavior in at least one class among the identified one or more classes within the class hierarchy associated with the requested function; and

update or replace the at least one behavior in the at least one class with an updated or replacement behavior, the updated or replacement behavior comprising an updated or replacement set of procedures.

8. The system of claim 7 , wherein the first set of instructions, when executed by the at least one first processor, further causes the OOIACP to:

use the run command to repeat performance of the requested function, by initiating the updated or replacement set of procedures in each of the at least one class and initiating the set of procedures in each of the other identified one or more classes.

9. A non-transitory computer readable medium having stored thereon computer software comprising a set of instructions that, when executed by at least one processor, causes an object-oriented infrastructure-as-code platform (“OOIACP”) to:

receive, from a requesting device, a request to perform a web service function;

set one or more semaphores that are used to control access to common resources by multiple processes, based at least in part on the received request; and

evaluate one or more system constraints, based at least in part on the received request and based at least in part on the set one or more semaphores;

use a before-hook functionality to parse the received request to convert the received request into a declarative configuration language (“DCL”) request and to initiate a call to the IAC software tool of the OOIACP using the DCL request;

use a run command to:

establish a class hierarchy of objects based on the received request, each class and subclass within the class hierarchy having one or more predefined class behaviors, wherein each subclass inherits class behaviors of classes to which it belongs and class behaviors of any intermediate subclasses, wherein each class behavior comprises a set of procedures associated with the request and with an object or instance of a corresponding class, the set of procedures configured to operate on said object or instance of the corresponding class; and

perform the requested web service function based on the initiated call to the IAC software tool of the OOIACP using the DCL request and based at least in part on the one or more system constraints, by identifying one or more classes within the class hierarchy associated with the requested web service function, initiating the set of procedures in each of the identified one or more classes, and returning results of the DCL request based on at least one of the initiated set of procedures or the identified one or more classes; and

use an after-hook functionality to convert results of the DCL request into a non-DCL result and to send the non-DCL result to the requesting device;

wherein the OOIACP comprises a DCL-based IAC software tool that provides structure and data functionalities and a wrapper tool that provides algorithm and sequence functionalities to the IAC software tool to convert the IAC software tool into an object-oriented programming (“OOP”)-based IAC system.

10. The non-transitory computer readable medium of claim 9 , wherein the request to perform the web service function comprises one of an application programming interface (“API”) call or a command line interface (“CLI”) call.

11. The non-transitory computer readable medium of claim 9 , wherein the set of instructions, when executed by the at least one processor, further causes the OOIACP to: receive a request to update or replace at least one behavior in at least one class among the identified one or more classes within the class hierarchy associated with the requested function; and

update or replace the at least one behavior in the at least one class with an updated or replacement behavior, the updated or replacement behavior comprising an updated or replacement set of procedures.

12. The non-transitory computer readable medium of claim 11 , wherein the set of instructions, when executed by the at least one processor, further causes the OOIACP to:

use the run command to repeat performance of the requested function, by initiating the updated or replacement set of procedures in each of the at least one class and initiating the set of procedures in each of the other identified one or more classes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2021
From: BENASSI, WILLIAM R.
To: CENTURYLINK INTELLECTUAL PROPERTY LLC
Reel/Frame 057505/0242 →
Continuity (2)
Provisional Application 63138919 · Jan 19, 2021
Related Publication 20220229637A1 · Jul 21, 2022