# US 11,909,842 B2 · System and method for providing database content on a client device

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

- Number: US 11,909,842 B2
- Document ID: US11909842B2
- Status: Granted
- Kind: B2
- Application number: 17/064,202
- Filed: 2020-10-06
- Published: 2021-01-21
- Granted: 2024-02-20
- Earliest claimed: 2014-06-09
- Assignees: ServiceNow, Inc.
- Applicants: ServiceNow, Inc.
- Inventors: Itay Braun; Boaz Hecht
- Web page: https://patentgrep.com/patent/US11909842B2

## CPC

- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- G06F 16/245: Query processing
- G06F 16/951: Indexing; Web crawling techniques
- H04L 67/1004: Server selection for load balancing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for providing content for display form data sources on a client device are provided. The method includes receiving, by a distribution server, a report identifier associated with a report and a request for information, wherein the information is requested based on the report; determining by the distribution server at least a data source, the at least a data source storing at least a portion of the information; requesting access from the integration server to the at least a data source to retrieve the at least a portion of the information; and sending from the distribution server to the client device, the at least a portion of the information, wherein the at least a portion of information is utilized in the report. In an embodiment, the data sources are accessible by an integration server.

## Claims

### Claim 1

A computerized method for providing content to display on a client device, comprising:
receiving, by a distribution server, a report identifier associated with a report and a request for information, wherein the requested information is based on the report, and wherein the report includes report information;
determining, by the distribution server, one or more data sources that store a portion of the requested information, wherein the one or more data sources are accessible by an integration server;
requesting the integration server to access the one or more data sources to retrieve the portion of the requested information, wherein the integration server is communicably coupled to the distribution server and the integration server is communicably coupled to the one or more data sources;
retrieving, by the distribution server, the portion of the requested information from the integration server;
determining, by the distribution server, that the portion of the requested information does not match the report information and updating the report information to include the requested information that does not match the report information;
sending, from the distribution server to the client device, the updated report information, wherein the client device is configured to display an updated report;
determining a number of times that the distribution server retrieves the portion of the requested information from the integration server; and
storing, by the distribution server, the portion of the requested information upon a determination that the number of times the distribution server retrieves the portion of the requested information from the integration server exceeds a threshold.

### Claim 2 (depends on 1)

The computerized method of claim 1, wherein the portion of the requested information is retrieved from the integration server at a predetermined time interval based on a bandwidth available to the client device.

### Claim 3 (depends on 2)

The computerized method of claim 2, wherein the predetermined time interval comprises once per hour, once per day, or once per week.

### Claim 4 (depends on 2)

The computerized method of claim 2, comprising:
determining that the bandwidth available to the client device is above a threshold value; and
sending, in response to determining that the bandwidth is above the threshold value, the updated report information from the distribution server to the client device.

### Claim 5 (depends on 4)

The computerized method of claim 4, wherein the updated report information comprises a multi-media file.

### Claim 6 (depends on 1)

The computerized method of claim 1, comprising:
receiving, by the distribution server, an additional report identifier associated with the report and an additional request for information, wherein the additional requested information is based on the report;
determining that a portion of the additional requested information does not comprise the portion of the requested information stored by the distribution server;
determining, by the distribution server, one or more additional data sources that store the portion of the additional requested information, wherein the one or more additional data sources are accessible by the integration server;
retrieving, by the distribution server, the portion of the additional requested information from the integration server;
determining that the portion of the additional requested information does not match the report information and updating the report information to include the additional requested information that does not match the report information; and
sending, from the distribution server to the client device, additional updated report information based on the additional requested information, wherein the client device is configured to display an additional updated report based on the additional updated report information.

### Claim 7 (depends on 1)

The computerized method of claim 1, comprising sending, by the distribution server to the client device, instructions to delete the report information that does not match the portion of the requested information.

### Claim 8 (depends on 1)

The computerized method of claim 1, wherein the distribution server and the integration server are implemented on a single machine.

### Claim 9 (depends on 1)

The computerized method of claim 1, wherein the one or more data sources comprise a relational database, a non-relational database, a web service, a comma-separated value (CSV) file, or an image cache.

### Claim 10

A system, comprising:
a processor; and
a memory, accessible by the processor, the memory storing instructions, that when executed by the processor, cause the processor to perform operations comprising:
receiving a report identifier associated with a report and a request for information, wherein the requested information is based on the report and wherein the report includes report information;
determining one or more data sources that store an updated portion of the requested information, wherein the one or more data sources are accessible by an integration server;
transmitting, to the integration server, a request for the updated portion of the requested information from the one or more data sources;
receiving the updated portion of the requested information from the integration server;
determining that the updated portion of the requested information does not match the report information;
transmitting, to a client device, the updated portion of the requested information, wherein the client device is configured to display an updated report based on the updated portion of the requested information; and
determining a number of times that the updated portion of the requested information is requested from the integration server; and
storing the updated portion of the requested information upon a determination that the number of times the updated portion of the requested information is requested exceeds a threshold.

### Claim 11 (depends on 10)

The system of claim 10, wherein determining that the one or more data sources store the updated portion of the requested information is based on the report identifier.

### Claim 12 (depends on 10)

The system of claim 10, wherein the updated portion of the requested information is retrieved from the integration server at a predetermined time interval based on a bandwidth available to the client device.

### Claim 13

A non-transitory, computer-readable medium, comprising instructions that when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, from a client device, a request for report information associated with a report;
determining that a portion of the report information corresponding to one or more fields of the report has been updated;
transmitting, to an integration server, a request for an updated portion of the report information from one or more data sources accessible by the integration server;
receiving the updated portion of the report information from the integration server;
transmitting, to the client device, the updated portion of the report information, wherein the client device is configured to display an updated report based on the updated portion of the report information; and
determining a number of times that the portion of the report information is requested from the integration server; and
storing the portion of the report information upon a determination that the number of times the portion of the report information is requested exceeds a threshold.

### Claim 14 (depends on 13)

The non-transitory, computer-readable medium of claim 13, wherein the request for report information comprises a report identifier associated with the report, and determining that the portion of the report information has been updated is based on the report identifier.

### Claim 15 (depends on 13)

The non-transitory, computer-readable medium of claim 13, wherein the operations comprise:
storing the updated portion of the report information;
receiving, from an additional client device, an additional request for report information associated with the report;
determining that the additional request for report information corresponds to the stored updated portion of the report information; and
transmitting, to the additional client device, the stored updated portion of the report information.
