IP Library Granted Patent US 12,135,974
Granted Patent B1
US 12,135,974 · App. 17/955,507 · Granted Nov 5, 2024

Using custom templates to define new system types for instantiation

Inventors: Stan Lagun (San Jose, CA); Timothy L. Hinrichs (Los Altos, CA); Teemu Koponen (San Francisco, CA)
Assignee: STYRA, INC.
G06F9/44505
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 12,135,974
App. No.
17/955,507
Granted
Nov 5, 2024
Kind
B1
Abstract

Some embodiments of the invention provide a method for generating custom system templates to define new system types. For a particular system type, the method defines at least a manifest file that specifies a set of properties of the particular system type. The method compresses the defined manifest file to create a custom system template package for the particular system type. The method uploads the custom system template package to an authorization service in order to instantiate a new system of the particular system type.

Claims (45)

1. A method for generating custom system templates to define new system types, the method comprising:

for a particular system type, defining at least a manifest file that specifies a set of properties of the particular system type;

compressing the defined manifest file to create a custom system template package for the particular system type; and

uploading the custom system template package to an authorization service in order to instantiate a new system of the particular system type; and

before compressing the defined manifest file, defining (i) a system-type logo associated with the particular system type, (ii) a first policies folder comprising a plurality of default policies associated with the particular system type, (iii) a second policies folder comprising a plurality of policies specified for the particular system type and not included in the plurality of default policies, and (iv) an assets folder comprising a set of files required for install and uninstall instructions.

2. The method of claim 1 , wherein the second policies folder comprises logic that is used to combine policies for the particular system type with one or more stack policies.

3. The method of claim 1 , wherein:

the manifest file is mandatory to create the custom system template package; and

the system type logo, the first policies folder, the second policies folder, and the assets folder are not mandatory to create the custom system template package.

4. The method of claim 1 , wherein compressing the defined manifest file further comprises:

archiving the manifest file, system-type logo, first policies folder, second policies folder, and assets folder; and

compressing the archived manifest file, system-type logo, first policies folder, second policies folder, and assets folder to create the custom system template package.

5. The method of claim 4 further comprising rendering and validating each file and folder in the compressed, archived custom system template package.

6. The method of claim 5 , wherein rendering and validating the first and second policies folders comprises:

scanning the first and second policies folders to identify a particular set of files;

rendering contents and paths of the identified particular set of files;

dropping one or more files in the particular set of files identified as empty files; and

validating remaining files in the particular set of files.

7. The method of claim 6 , wherein the second policies folder comprises Rego policies defined for the particular system type.

8. The method of claim 1 , wherein the manifest file is a YAML (yet another markup language) file.

9. A method for generating custom system templates to define new system types, the method comprising:

for a particular system type, defining at least a manifest file that specifies a set of properties of the particular system type, wherein the manifest file comprises (i) a policies portion that points to a subdirectory of a policies folder that specifies one or more policies for the particular system type, (ii) a datasources portion that defines an initial datasource configuration for the particular system type, (iii) a tokens portion that defines one or more application programming interface (API) tokens for the particular system type, (iv) a discovery portion that specifies how the authorization service responds to discovery requests from the particular system type, (v) a decision portion that includes decision mappings and significant fields for the particular system type, (vi) a library portion that provides hints regarding policy libraries used by the particular system type, and (vii) a parameters portion that specifies one or more sets of parameters for the particular system type;

compressing the defined manifest file to create a custom system template package for the particular system type; and

uploading the custom system template package to an authorization service in order to instantiate a new system of the particular system type.

10. The method of claim 9 , wherein one or more values associated with parameters specified by the parameters portion are referenced by one or more policy files associated with the particular system type.

11. A non-transitory machine readable medium storing a program which when executed by a set of processing units generates custom system templates to define new system types, the program comprising sets of instructions for:

defining, for a particular system type, at least a manifest file that specifies a set of properties of the particular system type;

compressing the defined manifest file to create a custom system template package for the particular system type; and

uploading the custom system template package to an authorization service in order to instantiate a new system of the particular system type; and

before compressing the defined manifest file, defining (i) a system-type logo associated with the particular system type, (ii) a first policies folder comprising a plurality of default policies associated with the particular system type, (iii) a second policies folder comprising a plurality of policies specified for the particular system type and not included in the plurality of default policies, and (iv) an assets folder comprising a set of files required for install and uninstall instructions.

12. The non-transitory machine readable medium of claim 11 , wherein the second policies folder comprises logic that is used to combine policies for the particular system type with one or more stack policies.

13. The non-transitory machine readable medium of claim 11 , wherein:

the manifest file is mandatory to create the custom system template package; and

the system type logo, the first policies folder, the second policies folder, and the assets folder are not mandatory to create the custom system template package.

14. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for compressing the defined manifest file further comprises sets of instructions for:

archiving the manifest file, system-type logo, first policies folder, second policies folder, and assets folder; and

compressing the archived manifest file, system-type logo, first policies folder, second policies folder, and assets folder to create the custom system template package.

15. The non-transitory machine readable medium of claim 14 , wherein the set of instructions for compressing the defined manifest file further comprises a set of instructions for rendering and validating each file and folder in the compressed, archived custom system template package.

16. The non-transitory machine readable medium of claim 15 , wherein the second policies folder comprises Rego policies defined for the particular system type, wherein the set of instructions for rendering and validating the first and second policies folders comprises sets of instructions for:

scanning the first and second policies folders to identify a particular set of files;

rendering contents and paths of the identified particular set of files;

dropping one or more files in the particular set of files identified as empty files; and

validating remaining files in the particular set of files.

17. The non-transitory machine readable medium of claim 11 , wherein the manifest file comprises (i) a policies portion that points to a subdirectory of a policies folder that specifies one or more policies for the particular system type, (ii) a datasources portion that defines an initial datasource configuration for the particular system type, (iii) a tokens portion that defines one or more application programming interface (API) tokens for the particular system type, (iv) a discovery portion that specifies how the authorization service responds to discovery requests from the particular system type, (v) a decision portion that includes decision mappings and significant fields for the particular system type, (vi) a library portion that provides hints regarding policy libraries used by the particular system type, and (vii) a parameters portion that specifies one or more sets of parameters for the particular system type.

18. The non-transitory machine readable medium of claim 17 , wherein one or more values associated with parameters specified by the parameters portion are referenced by one or more policy files associated with the particular system type.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2025
From: STYRA, INC.
To: APPLE INC.
Reel/Frame 072818/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: STYRA, INC.
To: APPLE INC.
Reel/Frame 072522/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2024
From: LAGUN, STAN; HINRICHS, TIMOTHY L.; KOPONEN, TEEMU
To: STYRA, INC.
Reel/Frame 067603/0246 →
Continuity (1)
Provisional Application 63250178 · Sep 29, 2021
Cited By (1)
US 12,288,090