Object-Oriented Infrastructure-as-Code Platform for Scalable Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional infrastructure-as-code (IAC) systems are single-threaded and not scalable, making them inadequate for implementing Internet of Components (IoC) functionalities.

Innovation Solution

An object-oriented infrastructure-as-code platform (OOIACP) is introduced, which uses a declarative configuration language (DCL)-based IAC software tool and a wrapper tool to establish a class hierarchy, set semaphores for resource control, and employ before- and after-hooks to convert requests into DCL requests, enabling object-oriented programming features like Abstraction, Data Hiding, and Polymorphism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional single-threaded IAC systems are used, then implementation simplicity is maintained, but scalability and parallelism are limited

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the monolithic IAC process into multiple independent worker processes that can execute in parallel. Each worker handles specific infrastructure provisioning tasks independently, enabling the system to scale horizontally by adding more worker processes without increasing the complexity of individual components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A queue-based intermediary mechanism is introduced between the main process and worker processes. Requests are enqueued and workers dequeue tasks for parallel execution, acting as a mediator that coordinates multiple processes while maintaining system organization and preventing chaos despite increased parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional IAC systems are used, then resource control is simplified, but concurrent access management is inadequate

Engineering Contradiction:
Improveresource controlVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Semaphores are introduced as intermediary synchronization primitives that manage concurrent access to shared resources. These semaphore objects act as mediators between multiple worker processes and protected resources, ensuring reliable resource control through structured waiting and signaling mechanisms without requiring complex inter-process communication protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If DCL-based IAC tools are used directly, then provisioning functionality is provided, but object-oriented programming features are absent

Engineering Contradiction:
Improveprogramming paradigm flexibilityVSAvoidwrapper layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A wrapper class layer is introduced as an intermediary between the object-oriented programming interface and the underlying DCL-based IAC tool. The wrapper translates OOP method calls into DCL operations, providing polymorphic behavior and abstraction while maintaining compatibility with existing DCL tools. This mediator layer enables OOP features without requiring fundamental changes to the proven DCL provisioning functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12061881B2Object-oriented infrastructure-as-code platform (OOIACP)
Publication Date: 2024.08.13 CENTURYLINK INTELLECTUAL PROPERTY LLC
  • US12061881B2 patent drawing
  • US12061881B2 patent drawing
  • US12061881B2 patent drawing

AI summary

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.