# US 11,451,442 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 11,451,442 B2
- Document ID: US11451442B2
- Status: Granted
- Kind: B2
- Application number: 16/222,890
- Filed: 2018-12-17
- Published: 2019-07-25
- Granted: 2022-09-20
- Earliest claimed: 2013-04-03
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Jeaneth Vergara; Vivek Dodeja
- Web page: https://patentgrep.com/patent/US11451442B2

## 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:
storing a first version and a second version of a resource provided by a server computing device, the first version of the resource permitted for access by a first user group and the second version of the resource permitted for access by a second user group;
automatically providing, with an application server, first annotations indicating version information for the first version of the resource and second annotations indicating version information for the second version of the resource;
scanning class metadata for the resource via an application program interface (API), wherein the API is invoked using a transport protocol verb, wherein the resource is either a top-level object comprising one or more non-top-level objects or a non-top-level object and versions are specific to either top-level objects or to non-top-level objects, and wherein the class metadata includes at least the version information;
storing the class metadata in a repository in a hardware storage device;
receiving a first request to access the resource;
determining that the first request is from a member of the first user group and is permitted to access the first version of the resource and denied access to the second version of the resource;
validating version configurations of the resource, with the application server, using the class metadata from the repository in response to receiving the first request to access the resource;
matching the first request to the first version of the resource;
performing, in response to the matching of the first request to the first version of the resource, an update on at least a portion of the class metadata in the repository corresponding to an operation on the first version of the resource; and
providing the updated first version of 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, and wherein the different configurations include different version requirements.

### 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 storing, and validating is utilized for all domain objects defined in a scan directory.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
receiving a second request to access the resource;
determining that the second request is permitted to access the second version of the resource; and
providing the second version of the resource.

### Claim 7

A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:
store a first version and a second version of a resource provided by a server computing device, the first version of the resource permitted for access by a first user group and the second version of the resource permitted for access by a second user group;
automatically provide, with an application server, first annotations indicating version information for the first version of the resource and second annotations indicating version information for the second version of the resource;
scan class metadata for the resource via an application program interface (API), wherein the API is invoked using a transport protocol verb, wherein the resource is either a top-level object comprising one or more non-top-level objects or a non-top-level object and versions are specific to either top-level objects or to non-top-level objects, and wherein the class metadata includes at least the version information;
store the class metadata in a repository in a hardware storage device;
receive a first request to access the resource;
determine that the first request is from a member of the first user group is permitted to access the first version of the resource and denied access to the second version of the resource;
validate version configurations of the resource, with the application server, using the class metadata from the repository in response to receiving the first request to access the resource;
match the first request to the first version of the resource;
perform, in response to the matching of the first request to the first version of the resource, an update on at least a portion of the class metadata in the repository corresponding to an operation on the first version of the resource; and
provide the updated first version of the resource.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium 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, and wherein the different configurations include different version requirements.

### Claim 9 (depends on 7)

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

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the on-demand services environment comprises a multitenant database environment.

### Claim 11 (depends on 7)

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

### Claim 12 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the instructions are further configurable to cause the one or more processors to:
receive a second request to access the resource;
determine that the second request is permitted to access the second version of the resource; and
provide the second version of the resource.

### Claim 13

A system comprising:
a memory system;
one or more hardware processing devices coupled with the memory system, the one or more hardware processing devices configurable to:
store a first version and a second version of a resource provided by a server computing device, the first version of the resource permitted for access by a first user group and the second version of the resource permitted for access by a second user group;
automatically provide, with an application server, first annotations indicating version information for the first version of the resource and second annotations indicating version information for the second version of the resource;
scan class metadata for the resource via an application program interface (API), wherein the API is invoked using a transport protocol verb, wherein the resource is either a top-level object comprising one or more non-top-level objects or a non-top-level object and versions are specific to either top-level objects or to non-top-level objects, and wherein the class metadata includes at least the version information;
store the class metadata in a repository in a hardware storage device;
receive a first request to access the resource;
determine that the first request is from a member of the first user group is permitted to access the first version of the resource and denied access to the second version of the resource;
validate version configurations of the resource, with the application server, using the class metadata from the repository in response to receiving the first request to access the resource;
match the first request to the first version of the resource;
perform, in response to the matching of the first request to the first version of the resource, an update on at least a portion of the class metadata in the repository corresponding to an operation on the first version of the resource; and
provide the updated first version of the resource.

### Claim 14 (depends on 13)

The system 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, and wherein the different configurations include different version requirements.

### Claim 15 (depends on 13)

The system 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 system of claim 15, wherein the on-demand services environment comprises a multitenant database environment.

### Claim 17 (depends on 13)

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

### Claim 18 (depends on 13)

The system of claim 13, the one or more hardware processing devices are further configurable to:
receive a second request to access the resource;
determine that the second request is permitted to access the second version of the resource; and
provide the second version of the resource.
