# US 10,482,068 B2 · Automated systems and techniques to manage cloud-based metadata configurations

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

- Number: US 10,482,068 B2
- Document ID: US10482068B2
- Status: Granted
- Kind: B2
- Application number: 15/197,605
- Filed: 2016-06-29
- Published: 2018-01-04
- Granted: 2019-11-19
- Earliest claimed: 2016-06-29
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Anand Bashyam Narasimhan; Aleksandr Yefremovich Shekhter; Rajan Chowhan; Ganesh Mathrubootham
- Web page: https://patentgrep.com/patent/US10482068B2

## CPC

- G06F 16/1787: {Details of non-transparently synchronising file systems}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 16/11: File system administration, e.g. details of archiving or snapshots (error detection or correction of the data by redundancy in operations G06F11/14)
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/1873: {Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 63/0227: {Filtering policies (mail message filtering H04L51/212)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Metadata files are acquired from one or more storage devices corresponding to multiple different environments. The metadata files are compared to determine differences between the metadata files. A report is generated indicating actions to be taken to cause at least one of the metadata files to be modified to result in a most recent version. At least a portion of the actions in the report are performed automatically.

## Claims

### Claim 1

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:
acquire, with the one or more processors, metadata files from one or more storage devices corresponding to multiple different environments including at least metadata corresponding to different versions of an application, wherein the multiple different environments are executing the multiple different versions of the application, wherein a first portion of the metadata files are deployed via a metadata application program interface (API) and a second portion of the metadata files are deployed through a mechanism other than the metadata API;
compare, with a diff process agent, the metadata files to determine differences between the metadata files;
generate, with the diff process agent, a gap report indicating the differences between the metadata files and actions to be taken to cause at least one of the metadata files to be modified to eliminate at least one of the differences and result in a most recent version of the metadata;
perform, automatically and without user interaction, at least one of an upsert, a delete and an insert on the at least one of the metadata files;
maintain, with the diff process agent, an indication of one or more entities to be notified if one or more of the multiple different environments are out of sync in response to the comparison;
and
indicate to at least one of the one or more entities which, if any, of the actions in the indication are to be performed manually, wherein at least one of the actions to be performed manually comprises at least one of a profile change, a permission set change and a rule change.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1 wherein the metadata comprises at least one of: object changes, assignment rule changes, sharing rule changes, and permission set changes.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1 wherein the multiple different environments comprise at least a production environment and at least a development environment.

### Claim 4 (depends on 3)

The non-transitory computer-readable medium of claim 3 wherein the multiple different environments further comprise at least one of a software version system and a source code management system.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1 wherein at least two of the multiple different environments are part of a multitenant environment.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1 wherein the acquisition occurs in response to a request received from a mobile computing platform.

### Claim 7

A method comprising:
acquiring, with the one or more processors, metadata files from one or more storage devices corresponding to multiple different environments including at least metadata corresponding to different versions of an application, wherein the multiple different environments are executing the multiple different versions of the application, wherein a first portion of the metadata files are deployed via a metadata application program interface (API) and a second portion of the metadata files are deployed through a mechanism other than the metadata API;
comparing, with a diff process agent, the metadata files to determine differences between the metadata files;
generating, with the diff process agent, a gap report indicating the differences between the metadata files and actions to be taken to cause at least one of the metadata files to be modified to eliminate at least one of the differences and result in a most recent version of the metadata;
performing, automatically and without user interaction, at least one of an upsert, a delete and an insert on the at least one of the metadata files;
maintaining, with the diff process agent, an indication of one or more entities to be notified if one or more of the multiple different environments are out of sync in response to the comparison;
and
indicating to at least one of the one or more entities which, if any, of the actions in the indication are to be performed manually, wherein at least one of the actions to be performed manually comprises at least one of a profile change, a permission set change and a rule change.

### Claim 8 (depends on 7)

The method of claim 7 wherein the metadata comprises at least one of: object changes, assignment rule changes, sharing rule changes, and permission set changes.

### Claim 9 (depends on 7)

The method of claim 7 wherein the multiple different environments comprise at least a production environment and at least a development environment.

### Claim 10 (depends on 9)

The method of claim 9 wherein the multiple different environments further comprise at least one of a software version system and a source code management system.

### Claim 11 (depends on 7)

The method of claim 7 wherein at least two of the multiple different environments are part of a multitenant environment.

### Claim 12 (depends on 7)

The method of claim 7 wherein the acquisition occurs in response to a request received from a mobile computing platform.

### Claim 13

A system comprising:
a memory system to store metadata corresponding to multiple different environments;
one or more processors coupled with the memory system, the one or more processors configurable to acquire metadata files from one or more storage devices corresponding to multiple different environments including at least metadata corresponding to different versions of an application, wherein the multiple different environments are executing the multiple different versions of the application, wherein a first portion of the metadata files are deployed via a metadata application program interface (API) and a second portion of the metadata files are deployed through a mechanism other than the metadata API, to compare the metadata files to determine differences between the metadata files, to generate, with the diff process agent, a gap report indicating the differences between the metadata files and actions to be taken to cause at least one of the metadata files to be modified to eliminate at least one of the differences and result in a most recent version of the metadata, to perform, automatically and without user interaction, at least one of an upsert, a delete and an insert on the at least one of the metadata files, to maintain, with the diff process agent, an indication of one or more entities to be notified if one or more of the multiple different environments are out of sync in response to the comparison, and to indicate to at least one of the one or more entities which, if any, of the actions in the indication are to be performed manually, wherein at least one of the actions to be performed manually comprises at least one of a profile change, a permission set change and a rule change.

### Claim 14 (depends on 13)

The system of claim 13 wherein the metadata comprises at least one of: object changes, assignment rule changes, sharing rule changes, and permission set changes.

### Claim 15 (depends on 13)

The system of claim 13 wherein the multiple different environments comprise at least a production environment and at least a development environment.

### Claim 16 (depends on 15)

The system of claim 15 wherein the multiple different environments further comprise at least one of a software version system and a source code management system.

### Claim 17 (depends on 13)

The system of claim 13 wherein at least two of the multiple different environments are part of a multitenant environment.

### Claim 18 (depends on 13)

The system of claim 13 wherein the acquisition occurs in response to a request received from a mobile computing platform.
