# US 9,521,040 B2 · System and method for generic configuration management system application programming interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,040 B2
- Document ID: US9521040B2
- Status: Granted
- Kind: B2
- Application number: 14/244,555
- Filed: 2014-04-03
- Published: 2014-10-09
- Granted: 2016-12-13
- Earliest claimed: 2013-04-03
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Jeaneth Vergara; Vivek Dodeja
- Web page: https://patentgrep.com/patent/US9521040B2

## CPC

- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/0866: Checking the configuration
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The technology disclosed can query configuration management system data and includes cross table selection criteria and joined data return.

## Claims

### Claim 1

A method for providing dynamic configuration hierarchies, the method comprising:
automatically providing, with an application server, annotations indicating version information for a resource provided by a server computing device;
scanning class metadata for the resource including at least the version information by checking to determine that new fields for each resource are only accessible via an application program interface (API) version that corresponds to introduction of the new fields, and that fields that are deprecated are not accessible via API versions after a designated API version;
storing the class metadata in a repository;
validating version configuration, with the application server, using the class metadata from the repository in response to receiving a request to access the resource.

### Claim 2 (depends on 1)

The method of claim 1 wherein the class metadata is scanned through a representational state transfer (REST) style application programming interface (API) that is generic for multiple resource types.

### Claim 3 (depends on 1)

The method of claim 1 wherein the application server and the server computing device are both part of an on-demand services environment.

### Claim 4 (depends on 3)

The method of claim 3 wherein the on-demand services environment comprises a multitenant database environment.

### Claim 5 (depends on 1)

The method of claim 1 wherein the scanning, storing and validating is utilized for all domain objects defined in a scan directory.

### Claim 6 (depends on 2)

The method of claim 2 wherein different configurations can have different version requirements and the different configurations are all scanned, stored and validated using the REST API.

### Claim 7

A system having one or more hardware processing components configured to have access to at least one memory device, the system comprising:
a controller, provided by the one or more hardware processing components, to handle method for a supported resource, the supported resource provided by a server computing device, the controller to validate requests to access the supported resource;
a service component, provided by the one or more hardware processing components, communicatively coupled with the controller, the service component to perform operations on class metadata for the supported resource including at least the version information;
a version validator component, provided by the one or more hardware processing components, communicatively coupled with the controller and the service component to ensure that new fields for each resource are only accessible for selected versions of the resource by checking to determine that the new fields for each resource are only accessible via an application program interface (API) version that corresponds to introduction of the new fields, and that fields that are deprecated are not accessible via API versions after a designated API version;
a resource repository within the at least one memory device communicatively coupled with the service component and the controller to store the class metadata;
the controller, provided by the one or more hardware processing components, to scan class metadata for the selected resource including at least the version information, to cause the class metadata to be stored in the resource repository, and to validate version configuration using the class metadata from the repository in response to receiving a request to access the supported resource.

### Claim 8 (depends on 7)

The system of claim 7 wherein the class metadata is scanned through a representational state transfer (REST) style application programming interface (API) that is generic for multiple resource types.

### Claim 9 (depends on 7)

The system of claim 7 wherein the controller, service component, version validator and resource repository are all part of an on-demand services environment.

### Claim 10 (depends on 9)

The system of claim 9 wherein the on-demand services environment comprises a multitenant database environment.

### Claim 11 (depends on 7)

The system of claim 7 wherein the scanning, storing and validating is utilized for all domain objects defined in a scan directory.

### Claim 12 (depends on 8)

The system of claim 8 wherein different configurations can have different version requirements and the different configurations are all scanned, stored and validated using the REST API.

### Claim 13

A non-transitory computer-readable medium having instruction there on that, when executed, are configurable to for provide dynamic configuration hierarchies by:
automatically providing, with an application server, annotations indicating version information for a resource provided by a server computing device;
scanning class metadata for the resource including at least the version information by checking to determine that new fields for each resource are only accessible via an application program interface (API) version that corresponds to introduction of the new fields, and that fields that are deprecated are not accessible via API versions after a designated API version;
storing the class metadata in a repository;
validating version configuration, with the application server, using the class metadata from the repository in response to receiving a request to access the resource.

### Claim 14 (depends on 13)

The computer-readable medium of claim 13 wherein the class metadata is scanned through a representational state transfer (REST) style application programming interface (API) that is generic for multiple resource types.

### Claim 15 (depends on 13)

The computer-readable medium of claim 13 wherein the application server and the server computing device are both part of an on-demand services environment.

### Claim 16 (depends on 15)

The computer-readable medium of claim 15 wherein the on-demand services environment comprises a multitenant database environment.

### Claim 17 (depends on 13)

The computer-readable medium of claim 13 wherein the scanning, storing and validating is utilized for all domain objects defined in a scan directory.

### Claim 18 (depends on 14)

The computer-readable medium of claim 14 wherein different configurations can have different version requirements and the different configurations are all scanned, stored and validated using the REST API.
