# US 2014/0195601 A1 · Data store interface that facilitates distribution of application functionality across a multi-tier client-server architecture

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

- Number: US 2014/0195601 A1
- Document ID: US20140195601A1
- Status: Published application
- Kind: A1
- Application number: 14/202,717
- Filed: 2014-03-10
- Published: 2014-07-10
- Earliest claimed: 2009-07-09
- Assignees: Dillon Software Services, LLC
- Applicants: Dillon Software Services, LLC
- Inventors: David M. Dillon
- Web page: https://patentgrep.com/patent/US20140195601A1

## CPC

- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/84: Mapping; Conversion
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 16/9532: Query formulation
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- 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

Methods and systems for facilitating distribution of application functionality across a multi-tier client-server architecture are provided. According to one embodiment, multiple data points from a database associated with a server computer system are cached into a hierarchical data map representing a random access memory-resident data structure. Each of the data points includes a field name and a calculated value. A request, containing input values that are to be stored within the hierarchical data map, is received by the server computer system from a client computer system. Responsive to the request: (i) the input values are transferred to target data points of the multiple data points; (ii) the calculated value of at least one of the data points is updated based on the target data points and a formula corresponding to the calculated value; and (iii) changed contents within the hierarchical data map are persisted to the database.

## Claims

### Claim 1

A method comprising:
caching into a hierarchical data map comprising a random access memory-resident data structure, by an application running on a server computer system, a plurality of data points from a database associated with the server computer system, wherein each of the plurality of data points includes a field name and a calculated value;
receiving, by the server computer system, a request from a client computer system, wherein the request contains one or more input values that are to be stored within the hierarchical data map; and
responsive to the request:
transferring, by the application, the one or more input values to one or more target data points of the plurality of data points;
updating, by the application, the calculated value of at least one of the plurality of data points based on the one or more target data points and a formula corresponding to the calculated value; and
persisting, by the application, changed contents within the hierarchical data map to the database.

### Claim 2 (depends on 1)

The method of claim 1, further comprising returning, by the application, at least a subset of calculated values to the client computer system.

### Claim 3 (depends on 2)

The method of claim 2, wherein said returning comprises causing to be displayed on a display of the client computer system the subset of calculated values by copying the subset of calculated values from data points of the plurality of data points into a HyperText Markup Language (HTML) file and transmitting the HTML file to the client computer system.

### Claim 4 (depends on 3)

The method of claim 3, wherein the request comprises a HyperText Transport Protocol (HTTP) request.

### Claim 5 (depends on 4)

The method of claim 4, wherein the HTML file returned by the application is formed using an HTML template containing an embedded tag that includes or references an index path that can be used to index into the hierarchical data map.

### Claim 6 (depends on 5)

The method of claim 5, wherein the index path comprises an expression, which when evaluated selects a subset of data points of the plurality of data points.

### Claim 7 (depends on 5)

The method of claim 5, wherein the HTML template further contains information regarding a desired layout in accordance with which the subset of calculated values is displayed.

### Claim 8 (depends on 6)

The method of claim 6, wherein the HTML file comprises the HTML template.

### Claim 9 (depends on 5)

The method of claim 5, wherein the index path includes a key/value pair that identifies a particular data point of the plurality of data points.

### Claim 10 (depends on 5)

The method of claim 5, wherein the index path includes:
a first level key name identifying a first level of the hierarchical data map; and
a target field name identifying a target data point of the plurality of data points.

### Claim 11 (depends on 1)

The method of claim 1, wherein a result of the formula is based at least in part on a current value of the calculated value.

### Claim 15

A server computer system comprising:
a non-transitory storage device having embodied therein instructions operable to process requests from a client computer system; and
one or more processors coupled to the non-transitory storage device and operable to execute the instructions to perform a method comprising:
caching into a hierarchical data map comprising a random access memory-resident data structure a plurality of data points from a database associated with the server computer system, wherein each of the plurality of data points includes a field name and a calculated value;
receiving a request from the client computer system, wherein the request contains one or more input values that are to be stored within the hierarchical data map; and
responsive to the request:
transferring the one or more input values to one or more target data points of the plurality of data points;
updating the calculated value of at least one of the plurality of data points based on the one or more target data points and a formula corresponding to the calculated value; and
persisting changed contents within the hierarchical data map to the database.

### Claim 16 (depends on 15)

The server computer system of claim 15, wherein the method further comprises returning at least a subset of calculated values to the client computer system.

### Claim 17 (depends on 16)

The server computer system of claim 16, wherein said returning comprises causing to be displayed on a display of the client computer system the subset of calculated values by copying the subset of calculated values from data points of the plurality of data points into a HyperText Markup Language (HTML) file and transmitting the HTML file to the client computer system.

### Claim 18 (depends on 17)

The server computer system of claim 17, wherein the HTML file is formed using an HTML template containing an embedded tag that includes or references an index path that can be used to index into the hierarchical data map.

### Claim 19 (depends on 18)

The server computer system of claim 18, wherein the index path comprises an expression, which when evaluated selects a subset of data points of the plurality of data points.

### Claim 20 (depends on 18)

The server computer system of claim 18, wherein the HTML template further contains information regarding a desired layout in accordance with the subset of calculated values is displayed.

### Claim 21 (depends on 19)

The server computer system of claim 19, wherein the HTML file comprises the HTML template.

### Claim 22 (depends on 18)

The server computer system of claim 18, wherein the index path includes a key/value pair that identifies a particular data point of the plurality of data points.

### Claim 23 (depends on 18)

The server computer system of claim 18, wherein the index path includes:
a first level key name identifying a first level of the hierarchical data map; and
a target field name identifying a target data point of the plurality of data points.

### Claim 24 (depends on 15)

The server computer system of claim 15, wherein a result of the formula is based at least in part on a current value of the calculated value.

### Claim 25

A non-transitory computer-readable storage medium tangibly embodying a set of instructions, which when executed by one or more processors of a server computer system, cause the one or more processors to perform a method comprising:
caching into a hierarchical data map comprising a random access memory-resident data structure a plurality of data points from a database associated with the server computer system, wherein each of the plurality of data points includes a field name and a calculated value;
receiving a request from a client computer system, wherein the request contains one or more input values that are to be stored within the hierarchical data map; and
responsive to the request:
transferring the one or more input values to one or more target data points of the plurality of data points;
updating the calculated value of at least one of the plurality of data points based on the one or more target data points and a formula corresponding to the calculated value; and
persisting changed contents within the hierarchical data map to the database.

### Claim 26 (depends on 25)

The non-transitory computer-readable storage medium of claim 25, wherein the method further comprises returning at least a subset of calculated values to the client computer system.

### Claim 27 (depends on 26)

The non-transitory computer-readable storage medium of claim 26, wherein said returning comprises causing to be displayed on a display of the client computer system the subset of calculated values by copying the subset of calculated values from data points of the plurality of data points into a HyperText Markup Language (HTML) file and transmitting the HTML file to the client computer system.

### Claim 28 (depends on 27)

The non-transitory computer-readable storage medium of claim 27, wherein the request comprises a HyperText Transport Protocol (HTTP) request.

### Claim 29 (depends on 28)

The non-transitory computer-readable storage medium of claim 28, wherein the HTML file returned by the application is formed using an HTML template containing an embedded tag that includes or references an index path that can be used to index into the hierarchical data map.

### Claim 30 (depends on 29)

The non-transitory computer-readable storage medium of claim 29, wherein the index path comprises an expression, which when evaluated selects a subset of data points of the plurality of data points.

### Claim 31 (depends on 29)

The non-transitory computer-readable storage medium of claim 29, wherein the HTML template further contains information regarding a desired layout in accordance with which the subset of calculated values is displayed.

### Claim 32 (depends on 30)

The non-transitory computer-readable storage medium of claim 30, wherein the HTML file comprises the HTML template.

### Claim 33 (depends on 29)

The non-transitory computer-readable storage medium of claim 29, wherein the index path includes a key/value pair that identifies a particular data point of the plurality of data points.

### Claim 34 (depends on 5)

The non-transitory computer-readable storage medium of claim 5, wherein the index path includes:
a first level key name identifying a first level of the hierarchical data map; and
a target field name identifying a target data point of the plurality of data points.

### Claim 35 (depends on 25)

The non-transitory computer-readable storage medium of claim 25, wherein a result of the formula is based at least in part on a current value of the calculated value.
