# US 2018/0176290 A1 · System and method for reducing data streaming and/or visualization network resource usage

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

- Number: US 2018/0176290 A1
- Document ID: US20180176290A1
- Status: Published application
- Kind: A1
- Application number: 15/855,818
- Filed: 2017-12-27
- Published: 2018-06-21
- Earliest claimed: 2016-12-16
- Assignees: Zoomdata, Inc.
- Applicants: Zoomdata, Inc.
- Inventors: Justin LANGSETH; Ruhollah FARCHTCHI; Quan Cat LUU; Matthew Robert BARRETT; Punit RATHORE
- Web page: https://patentgrep.com/patent/US20180176290A1

## CPC

- H04L 67/101: based on network conditions
- G06F 11/32: with visual {or acoustical} indication of the functioning of the machine
- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 47/822: {Collecting or measuring resource availability data}
- H04L 47/83: based on usage prediction
- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 2201/81: Threshold
- 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

In some embodiments, data related to calculating a set of values may be obtained. The set of values may be approximated based on a subset of the related data. The approximated values may be stored at a first data storage and a second data storage that corresponds to a landing zone (via which a client device obtains at least some of the approximated values). The approximated values stored at the first data storage may be continuously updated based on further subsets of the related data such that the approximated values stored at the first data storage is updated at least a first number of times within a first time period. The approximated values stored at the second data storage may be continuously updated such that the approximated values stored at the second data storage is updated less than the first number of times within the first time period.

## Claims

### Claim 1

A method of reducing data streaming and/or visualization network resource usage, the method being implemented by a computer system that comprises one or more processors executing computer program instructions that, when executed, perform the method, the method comprising:
obtaining, based on one or more queries, data related to calculating a set of values;
approximating the set of values based on a subset of the related data;
causing the approximated set of values to be stored at a first server data storage and a second server data storage, the second server data storage corresponding to a landing zone via which a client device obtains at least some approximated values of the approximated set of values;
continuously updating, based on further subsets of the related data, the approximated set of values stored at the first server data storage such that the approximated set of values stored at the first server data storage is updated at least a first number of times within a first time period; and
continuously updating the approximated set of values stored at the second server data storage corresponding to the landing zone such that the approximated set of values stored at the second server data storage is updated less than the first number of times within the first time period,
wherein continuously updating the approximated set of values stored at the second server data storage comprises transmitting the approximated set of values stored at the first server data storage to the second server data storage to replace the approximated set of values stored at the second server data storage.

### Claim 2 (depends on 1)

The method of claim 1, wherein the approximated set of values comprise approximations of what the values of the set of values would be had a complete set of data corresponding to the set of values been used to calculate the values of the set of values.

### Claim 3 (depends on 1)

The method of claim 1, wherein continuously updating the approximated set of values stored at the second server data storage comprises periodically transmitting, during the first time period, a version of the approximated set of values stored at the first server data storage to the second server data storage to replace a version of the approximated set of values stored at the second server data storage, each of the periodically-transmitted versions being more recently updated than the respective replaced version of the approximated set of values stored at the second server data storage.

### Claim 4 (depends on 1)

The method of claim 1, wherein obtaining the related data comprises continuously obtaining subsets of the related data based on the one or more queries during the first time period, the subset of the related data being obtained at a first time before the further subsets of the related data are obtained.

### Claim 5 (depends on 1)

The method of claim 1, wherein continuously updating the approximated set of values stored at the first server data storage comprises (i) periodically updating the approximated set of values stored at the first server data storage during the first time period or (ii) updating the approximated set of values stored at the first server data storage in real-time during the first time period as the further subsets of the related data are being obtained.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
obtaining, from the client device, a request for at least some values of the set of values; and
generating, based on the request, a plurality of queries for the related data, wherein obtaining the related data comprises obtaining the related data based on the plurality of queries.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
obtaining, from the client device, a request for at least some values of the set of values;
obtaining compatibility information associated with the client device; and
selecting, based on the compatibility information, the second server data storage for storage of versions of the approximated set of values, the second server data storage being selected from among a plurality of server data storages.

### Claim 8 (depends on 1)

The method of claim 1, wherein the approximated set of values stored at the first server data storage is updated at a first update rate, and the approximated set of values stored the second server data storage is updated at a second update rate different from the first update rate.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
determining, based on a cost associated with writing to the second server data storage, the second update rate as an update rate for updating the approximated set of values stored at the second server data storage.

### Claim 10 (depends on 9)

The method of claim 9, wherein the associated cost comprises a monetary cost for writing to the second server data storage.

### Claim 11

A system comprising:
a computer system that comprises one or more processors programmed with computer program instructions that, when executed, cause the computer system to:
obtain, based on one or more queries, data related to calculating a set of values;
approximate the set of values based on a subset of the related data;
cause the approximated set of values to be stored at a first server data storage and a second server data storage, the second server data storage corresponding to a landing zone via which a client device obtains at least some approximated values of the approximated set of values;
continuously update, based on further subsets of the related data, the approximated set of values stored at the first server data storage such that the approximated set of values stored at the first server data storage is updated at least a first number of times within a first time period; and
continuously update the approximated set of values stored at the second server data storage corresponding to the landing zone such that the approximated set of values stored at the second server data storage is updated less than the first number of times within the first time period,
wherein continuously updating the approximated set of values stored at the second server data storage comprises transmitting the approximated set of values stored at the first server data storage to the second server data storage to replace the approximated set of values stored at the second server data storage.

### Claim 12 (depends on 11)

The system of claim 11, wherein the approximated set of values comprise approximations of what the values of the set of values would be had a complete set of data corresponding to the set of values been used to calculate the values of the set of values.

### Claim 13 (depends on 11)

The system of claim 11, wherein continuously updating the approximated set of values stored at the second server data storage comprises periodically transmitting, during the first time period, a version of the approximated set of values stored at the first server data storage to the second server data storage to replace a version of the approximated set of values stored at the second server data storage, each of the periodically-transmitted versions being more recently updated than the respective replaced version of the approximated set of values stored at the second server data storage.

### Claim 14 (depends on 11)

The system of claim 11, wherein the computer system is caused to obtain the related data by continuously obtaining subsets of the related data based on the one or more queries during the first time period, the subset of the related data being obtained at a first time before the further subsets of the related data are obtained.

### Claim 15 (depends on 11)

The system of claim 11, wherein continuously updating the approximated set of values stored at the first server data storage comprises (i) periodically updating the approximated set of values stored at the first server data storage during the first time period or (ii) updating the approximated set of values stored at the first server data storage in real-time during the first time period as the further subsets of the related data are being obtained.

### Claim 16 (depends on 11)

The system of claim 11, wherein the computer system is caused to:
obtain, from the client device, a request for at least some values of the set of values;
generate, based on the request, a plurality of queries for the related data; and
obtain the related data by obtaining the related data based on the plurality of queries.

### Claim 17 (depends on 11)

The system of claim 11, wherein the computer system is caused to:
obtain, from the client device, a request for at least some values of the set of values;
obtain compatibility information associated with the client device; and
select, based on the compatibility information, the second server data storage for storage of versions of the approximated set of values, the second server data storage being selected from among a plurality of server data storages.

### Claim 18 (depends on 11)

The system of claim 11, wherein the approximated set of values stored at the first server data storage is updated at a first update rate, and the approximated set of values stored the second server data storage is updated at a second update rate different from the first update rate.

### Claim 19 (depends on 18)

The system of claim 18, wherein the computer system is caused to:
determine, based on a cost associated with writing to the second server data storage, the second update rate as an update rate for updating the approximated set of values stored at the second server data storage.

### Claim 20

A method implemented by a computer system that comprises one or more processors executing computer program instructions that, when executed, perform the method, the method comprising:
obtaining, from a client device, a request for a set of values;
obtaining, based on the request, data related to calculating the set of values;
approximating the set of values based on a subset of the related data;
causing the approximated set of values to be stored at a first server data storage and a second server data storage, the second server data storage corresponding to a landing zone via which the client device obtains at least some approximated values of the approximated set of values;
continuously updating, based on further subsets of the related data, the approximated set of values stored at the first server data storage such that the approximated set of values stored at the first server data storage is updated at least a first number of times within a first time period; and
continuously updating the approximated set of values stored at the second server data storage corresponding to the landing zone such that the approximated set of values stored at the second server data storage is updated less than the first number of times within the first time period,
wherein continuously updating the approximated set of values stored at the second server data storage comprises periodically transmitting, during the first time period, a version of the approximated set of values stored at the first server data storage to the second server data storage to replace a version of the approximated set of values stored at the second server data storage, each of the periodically-transmitted versions being more recently updated than the respective replaced version of the approximated set of values stored at the second server data storage.
