# US 11,907,210 B2 · Advanced searching of relational data via a mobile device

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

- Number: US 11,907,210 B2
- Document ID: US11907210B2
- Status: Granted
- Kind: B2
- Application number: 16/529,951
- Filed: 2019-08-02
- Published: 2020-03-12
- Granted: 2024-02-20
- Earliest claimed: 2014-07-30
- Assignees: Salesforce, Inc.
- Applicants: Salesforce, Inc.
- Inventors: Jean-Baptiste Pringuey; Nathanael Black
- Web page: https://patentgrep.com/patent/US11907210B2

## CPC

- G06F 16/2425: {Iterative querying; Query formulation based on the results of a preceding query}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system, method and apparatus for providing for searching of relational data via a mobile communications device are provided. Information identifying searchable tables containing fields is received using a metadata application program interface (API). The metadata API provides information about a schema of the fields and a relationship of at least one of the fields to its corresponding object. Information for generating a view of relational data is provided to the mobile communications device. The view is based on at least one of the fields of at least one of the searchable tables, and the relationship between the at least one of the fields and its corresponding object. A set of user inputs is received based on the relationship presented in the view. A query definition corresponding to the set of user inputs for searching the relational data in accordance with the set of user inputs is created and stored.

## Claims

### Claim 1

A method for providing for searching of relational data stored in an on-demand database system by a user of a mobile communications device, the method comprising:
receiving, by the database system, information about searchable tables containing a plurality of fields information, the searchable tables being identified using a metadata API, wherein at least one of the plurality of fields has a relationship to a corresponding object, the metadata API providing information about the schema information of the plurality of fields and the relationship of the at least one of the plurality of fields to the corresponding object;
providing, by the database system, information to the mobile communications device to cause to generate a first view of relational data based on i) at least one of the plurality of fields of at least one of the searchable tables, and ii) the relationship between the at least one of the plurality of fields and its corresponding object;
receiving, by the database system, a set of inputs from the user for searching the relational data based on the relationship between the at least one of the plurality of fields to its corresponding object presented in the first view;
creating, by the database system, a query definition that is defined by the received set of relational data search inputs from the user when all of the set of relational data search inputs is received and associating the query definition with an icon;
storing, by the database system, the created query definition; and
causing, in response to receiving a selection of the icon by the user, the database system to apply the stored query definition and the metadata API to retrieve the relational data, and search the relational data at a later time by reusing the stored query definition without additional input from the user or database system.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
providing, by the database system, information to the mobile communications device, in response to receiving a selection of the query definition data from the mobile communications device, to cause to generate a second view of the relational data by the mobile communications device based on the query definition.

### Claim 3 (depends on 2)

The method of claim 2, wherein providing the information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device based on the query definition comprises providing information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device by filtering the relational data based on the received set of relational data search inputs from the user.

### Claim 4 (depends on 1)

The method of claim 1, wherein the received set of relational data search inputs from the user comprises at least one of a selection an attribute, a selection of an operator, and an entry of a value.

### Claim 5 (depends on 4)

The method of claim 4, wherein the selection of the attribute and the selection of the operator are received as a selection from a pick list.

### Claim 6 (depends on 5)

The method of claim 5, wherein the entry of the value is received as an entry into a textbox.

### Claim 7 (depends on 6)

The method of claim 6, wherein filtering the relational data based on the received selections comprises applying the selected operator to the selected attribute based on the entered value.

### Claim 8

A computer program product comprising computer readable program code for searching of relational data stored in an on-demand database system by a user of a mobile communications device, the program code to be executed by one or more processors when retrieved from a non-transitory machine-readable medium, the program code including instructions to:
receive, by the database system, information about searchable tables containing a plurality of fields information, the searchable tables being identified using a metadata API, wherein at least one of the plurality of fields has a relationship to a corresponding object, the metadata API providing information about the schema information of the plurality of fields and the relationship of the at least one of the plurality of fields to the corresponding object;
provide, by the database system, information to the mobile communications device to cause to generate a first view of relational data based on i) at least one of the plurality of fields of at least one of the searchable tables, and ii) the relationship between the at least one of the plurality of fields and its corresponding object;
receive, by the database system, a set of inputs from the user for searching the relational data based on the relationship between the at least one of the plurality of fields to its corresponding object presented in the first view;
create, by the database system, a query definition that is defined by the received set of relational data search inputs from the user when all of the set of relational data search inputs is received and associating the query definition with an icon;
store, by the database system, the created query definition; and
cause, in response to receiving a selection of the icon by the user, the database system to apply the stored query definition and the metadata API to retrieve the relational data, and search the relational data at a later time by reusing the stored query definition without additional input from the user or database system.

### Claim 9 (depends on 8)

The computer program product of claim 8, further comprising program code including instructions to:
provide, by the database system, information to the mobile communications device, in response to receiving a selection of the query definition data from the mobile communications device, to cause to generate a second view of the relational data by the mobile communications device based on the query definition.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the program code including instructions to provide information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device based on the query definition comprises program code including instructions to provide information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device by filtering the relational data based on the received set of relational data search inputs from the user.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the received set of relational data search inputs from the user comprises at least one of a selection an attribute, a selection of an operator, and an entry of a value.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the selection of the attribute and the selection of the operator are received as a selection from a pick list.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the entry of the value is received as an entry into a textbox.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the program code including instructions to filter the relational data based on the received selections comprises program code including instructions to apply the selected operator to the selected attribute based on the entered value.

### Claim 15

A system for advanced searching of relational data in an on-demand database system by a user of a mobile communications device, the system comprising:
one or more hardware processors; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
receive, by the database system, information about searchable tables containing a plurality of fields information, the searchable tables being identified using a metadata API, wherein at least one of the plurality of fields has a relationship to a corresponding object, the metadata API providing information about the schema information of the plurality of fields and the relationship of the at least one of the plurality of fields to the corresponding object;
provide, by the database system, information to the mobile communications device to cause to generate a first view of relational data based on i) at least one of the plurality of fields of at least one of the searchable tables, and ii) the relationship between the at least one of the plurality of fields and its corresponding object;
receive, by the database system, a set of inputs from the user for searching the relational data based on the relationship between the at least one of the plurality of fields to its corresponding object presented in the first view;
create, by the database system, a query definition that is defined by received set of relational data search inputs from the user when all of the set of relational data search inputs is received and associating the query definition with an icon;
store, by the database system, the created query definition; and
cause, in response to receiving a selection of the icon by the user, the database system to apply the stored query definition and the metadata API to retrieve the relational data, and search the relational data at a later time by reusing the stored query definition without additional input from the user or database system.

### Claim 16 (depends on 15)

The system of claim 15, further comprising instructions to:
provide, by the database system, information to the mobile communications device, in response to receiving a selection of the query definition data from the mobile communications device, to cause to generate a second view of the relational data by the mobile communications device based on the query definition.

### Claim 17 (depends on 16)

The system of claim 16, wherein the instructions to provide information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device based on the query definition comprises instructions to provide information to the mobile communications device to cause to generate a second view of the relational data by the mobile communications device by filtering the relational data based on the received set of relational data search inputs from the user.

### Claim 18 (depends on 17)

The system of claim 17, wherein the received set of relational data search inputs from the user comprises at least one of a selection an attribute, a selection of an operator, and an entry of a value.

### Claim 19 (depends on 18)

The system of claim 18, wherein the selection of the attribute and the selection of the operator are received as a selection from a pick list.

### Claim 20 (depends on 19)

The system of claim 19, wherein the entry of the value is received as an entry into a textbox.
