IaC Script Subnet Labeling via Cartesian Product

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Infrastructure as Code (IaC) tools lack the ability to reuse scripts across different provisioning tasks due to their declarative nature, which does not support imperative languages and nested loop control structures, making it difficult to dynamically adjust resources like clusters, availability domains, and load balancers without manual recalculation and hardcoding.

Innovation Solution

The development of an algorithm that uses Cartesian products and modular arithmetic to simulate nested loops, allowing IaC scripts to dynamically determine resource requirements at runtime, such as subnet levels for CIDR slicing, without the need for hardcoded values, enabling reuse across different provisioning tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If IaC tools use declarative languages to specify resources, then resource provisioning is simplified, but script reusability across different provisioning tasks is reduced

Engineering Contradiction:
Improveresource provisioningVSAvoidscript reusability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic parameter substitution mechanisms that allow IaC scripts to adapt to different provisioning scenarios. By using variables and parameters that can be modified at runtime, the same script template can be reused across multiple tasks with different resource configurations, resolving the contradiction between simplified declarative provisioning and script reusability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables parameter changes by allowing scripts to accept input parameters and generate resource configurations dynamically. This approach maintains the simplicity of declarative language while enabling script reuse through parameter modification, directly addressing the technical contradiction.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If IaC scripts hardcode resource configurations, then provisioning accuracy is improved, but adaptability to different services is reduced

Engineering Contradiction:
Improveprovisioning accuracyVSAvoidservice adaptability
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent implements preliminary action by pre-defining resource configuration templates with parameter placeholders. These templates maintain structural accuracy while allowing specific values to be substituted later, enabling both provisioning precision and service adaptability through a template-based approach.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates universal IaC scripts that can serve multiple services through parameter substitution. By designing scripts with configurable parameters rather than hardcoded values, the same script can be applied across different services while maintaining provisioning accuracy through controlled parameter input.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Manufacturing precision

If manual recalculation is performed for each provisioning task, then configuration accuracy is maintained, but productivity is reduced

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidprovisioning speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent uses copying by creating reusable script templates that can be instantiated multiple times with different parameters. Instead of manually recalculating configurations for each task, the same validated template is copied and adapted through parameter substitution, maintaining configuration accuracy while significantly improving provisioning productivity.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If nested loop control structures are added to IaC languages, then script flexibility is improved, but language complexity increases

Engineering Contradiction:
Improvescript flexibilityVSAvoidlanguage complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary approach by using parameter substitution and template instantiation mechanisms instead of implementing full nested loop control structures. This intermediary layer provides script flexibility through parameterized templates without adding the complexity of control flow statements, resolving the contradiction between flexibility and language simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240267290A1Autonomous terraforming on cloud infrastructures
Publication Date: 2024.08.08 ORACLE INT CORP
  • US20240267290A1 patent drawing
  • US20240267290A1 patent drawing
  • US20240267290A1 patent drawing

AI summary

A process for defining a cloud service in an Infrastructure as Code (IaC) tool is designed to dynamically determine numbers of clusters, availability domains, compute nodes, and/or load balancers at run time. These values are then used to determine a number of subnet levels required for a classless inter-domain routing (CIDR) slicing operation to generate subnets for each of the compute nodes and load balancer nodes in the service. Because IaC languages do not provide nested loop control constructs, labels for each of the subnets can be generated and assigned using a Cartesian product of label elements. These labels can be modified by a count variable that is incremented each time a resource is duplicated in the script to simulate the effect of a nested loop structure.