Configuration system
First Claim
Patent Images
1. A method comprising:
- ascertaining a selector for an application during execution of the application, the selector specifying a property of an execution context for the application;
providing the ascertained selector from the application to a configuration system via an application programming interface (API);
providing a directory that includes a plurality groups, each of the groups including (1) a block that stores configuration data and (2) one or more criteria that determine whether the application qualifies as a member in the corresponding group, wherein the plurality of criteria for application membership comprise;
an IP address of a computing device that executes the application;
an application build type;
an application version indicator; and
a user domain;
anddetermining whether the application qualifies as a member in one or more groups by finding a match between the selector and the one or more criteria of the one or more groups;
loading the configuration data in the block of each group that the application qualifies as a member when one or more matches are found;
creating a module containing at least one configuration property of the loaded configuration data from the block of each group that the application qualifies as the member;
generating custom runtime source code from the module through execution of a configuration compiler and integrating the custom runtime source code into the application during a build of the application such that the application may access the at least one configuration property following the build; and
executing the application using the loaded configuration data.
2 Assignments
0 Petitions
Accused Products
Abstract
A configuration system is described. In an implementation, a method includes determining through execution of a configuration system whether an application qualifies as a member of one or more of a plurality of groups. Each of the groups defines one or more criteria for membership and has at least one corresponding block having configuration data. The determining is performed based on whether the application satisfies the one or more criteria. For each of the groups, of which, the application qualifies as a member, the configuration data of the at least one corresponding block is loaded.
54 Citations
34 Claims
-
1. A method comprising:
-
ascertaining a selector for an application during execution of the application, the selector specifying a property of an execution context for the application; providing the ascertained selector from the application to a configuration system via an application programming interface (API); providing a directory that includes a plurality groups, each of the groups including (1) a block that stores configuration data and (2) one or more criteria that determine whether the application qualifies as a member in the corresponding group, wherein the plurality of criteria for application membership comprise; an IP address of a computing device that executes the application; an application build type; an application version indicator; and a user domain; and determining whether the application qualifies as a member in one or more groups by finding a match between the selector and the one or more criteria of the one or more groups; loading the configuration data in the block of each group that the application qualifies as a member when one or more matches are found; creating a module containing at least one configuration property of the loaded configuration data from the block of each group that the application qualifies as the member; generating custom runtime source code from the module through execution of a configuration compiler and integrating the custom runtime source code into the application during a build of the application such that the application may access the at least one configuration property following the build; and executing the application using the loaded configuration data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for executing an application on a computing device, comprising:
-
storing a plurality of criteria of a configuration file for executing the application in various execution contexts into groups, wherein each group includes at least one of the criteria, the configuration file further including a plurality of blocks, each block being associated with a corresponding group of one or more criteria and containing a subset of configuration data for executing the application in a different execution context; creating a configuration module that includes the subset of configuration data for executing the application in one of the various execution contexts from one of the plurality of blocks; executing a configuration compiler to generate a runtime code for the configuration module and integrating the generated runtime code into the application; receiving a selector at an application programming interface (API) that specifies the at least one property of an execution context of the application when the application executes the integrated runtime code; comparing the selector with the plurality of criteria to find a matching group of one or more criteria; loading a block that is associated with the matching group to obtain the corresponding subset of configuration data; forming a communication to the application that includes the obtained subset of the configuration data; and executing the application using the obtained subset of the configuration data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
arranging configuration data into a plurality of groups and a plurality of blocks, each group having a plurality of criteria for membership by an application, wherein the plurality of criteria for membership comprises; an IP address of a computing device that executes the application; a build type of the application; a version indicator of the application; and a user domain; and each group has a corresponding block that includes a subset of the configuration data; creating a configuration module that includes the configuration data in one of the plurality of blocks; generating custom runtime source code based on the configuration module and integrating the runtime source code into the application during a build of the application such that the application is configured to access the configuration data following the build by supplying a selector via an application program interface (API) for comparison with the plurality of criteria of each group to locate one or more blocks that match the selector and having one or more corresponding subsets of the configuration data for the application and load the one or more blocks that match the selector; and executing the application using the one or more loaded blocks. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computing device comprising:
-
a processor; and memory configured to maintain; an application that is executable on the processor to provide a plurality of threads, wherein each thread, when executed, includes data associated with a single execution of the application; one or more configuration files that contain configuration data for use during an execution of each thread, the configuration data in each configuration file being organized into blocks in which each block is associated with a criterion and contains a subset of the configuration data; a configuration system that is executable on the processor to perform acts that include locating one or more blocks each having a subset of the configuration data for use by a particular thread by comparing a property of an execution context of the particular thread with each criterion, and loading a subset of the configuration data from each block with the criterion that matches the property to obtain a combined subset of configuration data, wherein the loading includes override a first non-default value of a configuration property that is in a prior block with a second non-default value of the configuration property from a latter block based on an ordering of the plurality of blocks in the corresponding configuration file; wherein the application is executable to call the configuration system to provide the property of the execution context of the particular thread; and executing the application using the loaded configuration data. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification