IP Library Granted Patent US 10,810,022
Granted Patent B2
US 10,810,022 · App. 16/279,811 · Granted Oct 20, 2020

Executable configuration template language

Inventors: Dmitriy Kalinin (San Francisco, CA); Nima Kaviani (San Francisco, CA)
Assignee: Pivotal Software, Inc.
G06F9/4494
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 10,810,022
App. No.
16/279,811
Granted
Oct 20, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating configuration files using executable template language statements. One of the methods includes receiving a configuration template file for a structured configuration language that defines nodes, relationships between nodes, and, for each of one or more nodes, associates metadata with the node. A reserved character pattern is identified in the configuration template file attached to text that defines a node in the structured configuration language, wherein the reserved character pattern has one or more associated statements in an executable template language. A graph representation is generated that includes the node corresponding to the text. Statements in the executable template language associated with the reserved character pattern are executed to generate associated metadata for the node.

Claims (41)

1. A computer-implemented method comprising:

receiving a configuration template file for a structured configuration language that defines nodes, relationships between nodes, and, for each of one or more nodes, associates metadata with the node;

identifying a reserved character pattern in the configuration template file attached to text that defines a node in the structured configuration language, wherein the reserved character pattern has one or more associated statements in an executable template language;

generating a graph representation including generating the node corresponding to the text;

executing one or more statements in the executable template language associated with the reserved character pattern including executing a function call in the executable template language attached to the text, the function call referencing a function definition within the configuration template file expressed in the executable template language to generate metadata for the node; and

associating the generated metadata with the node.

2. The method of claim 1 , wherein the reserved character pattern causes the executable statements to be ignored by parsers of the structured configuration language.

3. The method of claim 2 , wherein the reserved character pattern begins with a comment character in the structured configuration language.

4. The method of claim 1 , wherein the configuration template file is a valid file in the structured configuration language.

5. The method of claim 4 , wherein values in the configuration template file that are defined by executable statements result in empty values when the configuration template file is read by a parser for the structured configuration language.

6. The method of claim 1 , further comprising:

invoking a serializer for the structured configuration language on the graph representation having the generated metadata to generate a configuration file output.

7. The method of claim 1 , further comprising executing the function call to generate one or more additional nodes in the graph representation.

8. The method of claim 1 , wherein the one or more statements in the executable template language comprise a conditional node generation command that generates a node in the graph representation if and only if a condition is true.

9. The method of claim 1 , wherein the one or more statements in the executable template language comprise a node loop command that iterates over one or more nodes in the graph representation.

10. The method of claim 1 , wherein the one or more statements in the executable template language comprise an annotation check that imposes a condition on a value of a next configuration file node.

11. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a configuration template file for a structured configuration language that defines nodes, relationships between nodes, and, for each of one or more nodes, associates metadata with the node;

identifying a reserved character pattern in the configuration template file attached to text that defines a node in the structured configuration language, wherein the reserved character pattern has one or more associated statements in an executable template language;

generating a graph representation including generating the node corresponding to the text;

executing one or more statements in the executable template language associated with the reserved character pattern including executing a function call in the executable template language attached to the text, the function call referencing a function definition within the configuration template file expressed in the executable template language to generate metadata for the node; and

associating the generated metadata with the node.

12. The system of claim 11 , wherein the reserved character pattern causes the executable statements to be ignored by parsers of the structured configuration language.

13. The system of claim 12 , wherein the reserved character pattern begins with a comment character in the structured configuration language.

14. The system of claim 11 , wherein the configuration template file is a valid file in the structured configuration language.

15. The system of claim 14 , wherein values in the configuration template file that are defined by executable statements result in empty values when the configuration template file is read by a parser for the structured configuration language.

16. The system of claim 11 , wherein the operations further comprise:

invoking a serializer for the structured configuration language on the graph representation having the generated metadata to generate a configuration file output.

17. The system of claim 11 , wherein the operations further comprise executing the function call to generate one or more additional nodes in the graph representation.

18. The system of claim 11 , wherein the one or more statements in the executable template language comprise a conditional node generation command that generates a node in the graph representation if and only if a condition is true.

19. The system of claim 11 , wherein the one or more statements in the executable template language comprise a node loop command that iterates over one or more nodes in the graph representation.

20. The system of claim 11 , wherein the one or more statements in the executable template language comprise an annotation check that imposes a condition on a value of a next configuration file node.

21. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving a configuration template file for a structured configuration language that defines nodes, relationships between nodes, and, for each of one or more nodes, associates metadata with the node;

identifying a reserved character pattern in the configuration template file attached to text that defines a node in the structured configuration language, wherein the reserved character pattern has one or more associated statements in an executable template language;

generating a graph representation including generating the node corresponding to the text;

executing one or more statements in the executable template language associated with the reserved character pattern including executing a function call in the executable template language attached to the text, the function call referencing a function definition within the configuration template file expressed in the executable template language to generate metadata for the node; and

associating the generated metadata with the node.

22. The computer storage media of claim 21 , wherein the configuration template file is a valid file in the structured configuration language.

23. The computer storage media of claim 22 , wherein values in the configuration template file that are defined by executable statements result in empty values when the configuration template file is read by a parser for the structured configuration language.

Assignments (2)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2019
From: KALININ, DMITRIY; KAVIANI, NIMA
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 048729/0694 →
Continuity (1)
Related Publication 20200264899A1 · Aug 20, 2020