# US 2018/0025048 A1 · Value transformations that enable data services to update data objects

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

- Number: US 2018/0025048 A1
- Document ID: US20180025048A1
- Status: Published application
- Kind: A1
- Application number: 15/698,320
- Filed: 2017-09-07
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Latesh SEMLANI
- Web page: https://patentgrep.com/patent/US20180025048A1

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/2455: Query execution
- G06F 16/258: {Data format conversion from or to a database}
- G06Q 10/101: Collaborative creation, e.g. joint development of products or services
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system receives a user selection of a data object, and outputs the data object to a user device. The system receives a user selection of a data service, and outputs a data service object associated with the data service to the user device. The system receives a user selection of a data field associated with the data object and the data service field, and stores metadata that maps between the data field and the data service field. The system receives a user input, and creates a transformation object that transforms a value associated with the data service field into a value associated with the data field. The system updates an instance of the data object by using the metadata to send request data to the data service, using the metadata to receive response data from the data service, and applying the transformation object.

## Claims

### Claim 1

A system comprising:
one or more processors; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
output a data object in response to receiving a user selection of the data object;
output, in response to receiving a user selection of a data service, a data service object associated with the data service;
store, in response to receiving a user selection of a data field associated with the data object and a data service field associated with the data service object, metadata that maps between the data field and the data service field;
create a transformation object that transforms one of: i) a value associated with the data field into a value associated with the data service field, and ii) the value associated with the data service field into the value associated with the data field; and
update an instance of the data object by: i) using the metadata to send request data to the data service, ii) using the metadata to receive response data from the data service, and iii) applying the transformation object.

### Claim 2 (depends on 1)

The system of claim 1, comprising further instructions, which when executed, cause the one or more processors to:
output, in response to receiving a user selection of another data service, another data service object associated with the other data service;
store, in response to receiving a user selection of another data field associated with the data object and another data service field associated with the other data service object, other metadata that maps between the other data field and the other data service field;
create another transformation object that transforms one of: i) another value associated with the data field into another value associated with the other data service field, and ii) the other value associated with the other data service field into the other value associated with the other data field; and
update the instance of the data object by: i) using the other metadata to send other request data to the other data service, ii) using the other metadata to receive other response data from the other data service, and iii) applying the other transformation object.

### Claim 3 (depends on 1)

The system of claim 1, wherein storing the first metadata that maps between the data field and the data service field comprises mapping from the data field to the data service field, calculating a confidence score based on reverse mapping from the data service field to the data field, and mapping from the data service field to the data field in response to a determination that the confidence score meets a specified threshold.

### Claim 4 (depends on 1)

The system of claim 1, wherein the metadata comprises at least one of metadata that maps between the data field and a combination of the data service field and another data service field associated with the data service object, and metadata that maps between a combination of the data field and another data field associated with the data object and the first data service field.

### Claim 5 (depends on 1)

The system of claim 1, wherein the transforming transforms a number of values associated with one of the data field and the data service field into a different number of values associated with one of the data service field and the data field.

### Claim 6 (depends on 1)

The system of claim 1, wherein the transforming conditionally transforms a value associated with one of the data field and the data service field into a value associated with one of another data service field and another data field.

### Claim 7 (depends on 2)

The system of claim 2, wherein the data field comprises the other data field, and updating the instance of the data object comprises determining whether a priority associated with the data service field is higher than another priority associated with the other data service field, updating the instance of the data object based on the data service field in response to a determination that the priority associated with the data service field is higher than the other priority associated with the other data service field, and updating the instance of the data object based on the other data service field in response to a determination that the priority associated with the data service field is not higher than the other priority associated with the other data service field.

### Claim 8

A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:
output a data object in response to receiving a user selection of the data object;
output, in response to receiving a user selection of a data service, a data service object associated with the data service;
store, in response to receiving a user selection of a data field associated with the data object and a data service field associated with the data service object, metadata that maps between the data field and the data service field;
create a transformation object that transforms one of: i) a value associated with the data field into a value associated with the data service field, and ii) the value associated with the data service field into the value associated with the data field; and
update an instance of the data object by: i) using the metadata to send request data to the data service, ii) using the metadata to receive response data from the data service, and iii) applying the transformation object.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the program code comprises further instructions to:
output, in response to receiving a user selection of another data service, another data service object associated with the other data service;
store, in response to receiving a user selection of another data field associated with the data object and another data service field associated with the other data service object, other metadata that maps between the other data field and the other data service field;
create another transformation object that transforms one of: i) another value associated with the data field into another value associated with the other data service field, and ii) the other value associated with the other data service field into the other value associated with the other data field; and
update the instance of the data object by: i) using the other metadata to send other request data to the other data service, ii) using the other metadata to receive other response data from the other data service, and iii) applying the other transformation object.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein storing the first metadata that maps between the data field and the data service field comprises mapping from the data field to the data service field, calculating a confidence score based on reverse mapping from the data service field to the data field, and mapping from the data service field to the data field in response to a determination that the confidence score meets a specified threshold.

### Claim 11 (depends on 8)

The computer program product of claim 8, wherein the metadata comprises at least one of metadata that maps between the data field and a combination of the data service field and another data service field associated with the data service object, and metadata that maps between a combination of the data field and another data field associated with the data object and the first data service field.

### Claim 12 (depends on 8)

The computer program product of claim 8, wherein the transforming transforms a number of values associated with one of the data field and the data service field into a different number of values associated with one of the data service field and the data field.

### Claim 13 (depends on 8)

The computer program product of claim 8, wherein the transforming conditionally transforms a value associated with one of the data field and the data service field into a value associated with one of another data service field and another data field.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the data field comprises the other data field, and updating the instance of the data object comprises determining whether a priority associated with the data service field is higher than another priority associated with the other data service field, updating the instance of the data object based on the data service field in response to a determination that the priority associated with the data service field is higher than the other priority associated with the other data service field, and updating the instance of the data object based on the other data service field in response to a determination that the priority associated with the data service field is not higher than the other priority associated with the other data service field.

### Claim 15

A method comprising:
outputting, by a database system, a data object in response to receiving a user selection of the data object;
outputting, by the database system, a data service object associated with a data service in response to receiving a user selection of the data service;
storing, by the database system, in response to receiving a user selection of a data field associated with the data object and a data service field associated with the data service object, metadata that maps between the data field and the data service field;
creating, by the database system, a transformation object that transforms one of: i) a value associated with the data field into a value associated with the data service field, and ii) the value associated with the data service field into the value associated with the data field; and
updating, by the database system, an instance of the data object by: i) using the metadata to send request data to the data service, ii) using the metadata to receive response data from the data service, and iii) applying the transformation object.

### Claim 16 (depends on 15)

The method of claim 15, wherein the method further comprises:
outputting, by the database in response to receiving a user selection of another data service, another data service object associated with the other data service;
storing, by the database system, in response to receiving a user selection of another data field associated with the data object and another data service field associated with the other data service object, other metadata that maps between the other data field and the other data service field;
creating, by the database system, another transformation object that transforms one of: i) another value associated with the data field into another value associated with the other data service field, and ii) the other value associated with the other data service field into the other value associated with the other data field; and
updating, by the database system, the instance of the data object by: i) using the other metadata to send other request data to the other data service, ii) using the other metadata to receive other response data from the other data service, and iii) applying the other transformation object.

### Claim 17 (depends on 15)

The method of claim 15, wherein storing the first metadata that maps between the data field and the data service field comprises mapping from the data field to the data service field, calculating a confidence score based on reverse mapping from the data service field to the data field, and mapping from the data service field to the data field in response to a determination that the confidence score meets a specified threshold.

### Claim 18 (depends on 15)

The method of claim 15, wherein the metadata comprises at least one of metadata that maps between the data field and a combination of the data service field and another data service field associated with the data service object, and metadata that maps between a combination of the data field and another data field associated with the data object and the first data service field.

### Claim 19 (depends on 15)

The method of claim 15, wherein the transforming at least one of transforms a number of values associated with one of the data field and the data service field into a different number of values associated with one of the data service field and the data field, and conditionally transforms a value associated with one of the data field and the data service field into a value associated with one of another data service field and another data field.

### Claim 20 (depends on 16)

The method of claim 16, wherein the data field comprises the other data field, and updating the instance of the data object comprises determining whether a priority associated with the data service field is higher than another priority associated with the other data service field, updating the instance of the data object based on the data service field in response to a determination that the priority associated with the data service field is higher than the other priority associated with the other data service field, and updating the instance of the data object based on the other data service field in response to a determination that the priority associated with the data service field is not higher than the other priority associated with the other data service field.
