# US 9,882,970 B2 · 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 9,882,970 B2
- Document ID: US9882970B2
- Status: Granted
- Kind: B2
- Application number: 14/799,037
- Filed: 2015-07-14
- Published: 2015-11-05
- Granted: 2018-01-30
- 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/US9882970B2

## 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, data from a database associated with a server computer system is cached into a hierarchical data map by an application running on the server computer system by instantiating multiple data points and assigning each an ephemeral ID that uniquely identifies it. Each of the data points includes a name field and a value field. A request is received by the server from a client. The request contains a value to be stored within a particular data point that is specified by its ephemeral ID. Responsive to the request, the particular data point is identified based on the ephemeral ID and the value contained in the request is transferred to the value field of the particular data point. Changed contents within the hierarchical data map are then 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, data from a database associated with the server computer system, by instantiating a plurality of data points within the hierarchical data map and assigning each data point of the plurality of data points an ephemeral ID that uniquely identifies the data point within the plurality of data points, wherein each of the plurality of data points also includes a name field and a value field;
receiving, by the server computer system, a request from a client computer system, wherein the request contains a value to be stored within a particular data point of the plurality of data points and specifies the particular data point by its ephemeral ID;
responsive to the request:
identifying, by the application, the particular data point to be updated by the request based on the ephemeral ID specified in the request;
transferring, by the application, the value contained in the request to the value field of the particular data point; 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, wherein the particular data point further includes a formula and a calculated value field having a value based on the formula and wherein the method further comprises updating, by the application, the value of the calculated value field based at least on the formula and the value of the value field of the particular data point.

### Claim 3 (depends on 2)

The method of claim 2, further comprising returning, by the application, the updated value of the calculated value field to the client computer system by copying the updated value of the calculated values field from the particular data point into a HyperText Markup Language (HTML) file, including the ephemeral ID of the particular data point within the 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 is formed by the application 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 6)

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

### Claim 8 (depends on 5)

The method of claim 5, wherein the HTML template further contains information regarding a desired layout in accordance with which data returned by the application is to be displayed on the client computer system.

### Claim 9 (depends on 5)

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

### Claim 10

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, by an application running on the server computer system, data from a database associated with the server computer system, by instantiating a plurality of data points within the hierarchical data map and assigning each data point of the plurality of data points an ephemeral ID that uniquely identifies the data point within the plurality of data points, wherein each of the plurality of data points also includes a name field and a value field;
receiving, by the server computer system, a request from the client computer system, wherein the request contains a value to be stored within a particular data point of the plurality of data points and specifies the particular data point by its ephemeral ID;
responsive to the request:
identifying, by the application, the particular data point to be updated by the request based on the ephemeral ID specified in the request;
transferring, by the application, the value contained in the request to the value field of the particular data point; and
persisting, by the application, changed contents within the hierarchical data map to the database.

### Claim 11 (depends on 10)

The server computer system of claim 10, wherein the particular data point further includes a formula and a calculated value field having a value based on the formula and wherein the method further comprises updating, by the application, the value of the calculated value field based at least on the formula and the value of the value field of the particular data point.

### Claim 12 (depends on 11)

The server computer system of claim 11, further comprising returning, by the application, the updated value of the calculated value field to the client computer system by copying the updated value of the calculated values field from the particular data point into a HyperText Markup Language (HTML) file, including the ephemeral ID of the particular data point within the HTML file and transmitting the HTML file to the client computer system.

### Claim 13 (depends on 12)

The server computer system of claim 12, wherein the request comprises a HyperText Transport Protocol (HTTP) request.

### Claim 14 (depends on 13)

The server computer system of claim 13, wherein the HTML file is formed by the application 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 15 (depends on 14)

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

### Claim 16 (depends on 14)

The server computer system of claim 14, wherein the HTML template further contains information regarding a desired layout in accordance with which data returned by the application is to be displayed on the client computer system.

### Claim 17 (depends on 14)

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

### Claim 18 (depends on 11)

The server computer system of claim 11, wherein the request comprises a HyperText Transport Protocol (HTTP) request and wherein the method further comprises returning, by the application, the updated value of the calculated value field to the client computer system by copying the updated value of the calculated values field from the particular data point into a HyperText Markup Language (HTML) file, including the ephemeral ID of the particular data point within the HTML file and transmitting the HTML file to the client computer system.

### Claim 19

A non-transitory computer-readable storage medium 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, by an application running on the server computer system, data from a database associated with the server computer system, by instantiating a plurality of data points within the hierarchical data map and assigning each data point of the plurality of data points an ephemeral ID that uniquely identifies the data point within the plurality of data points, wherein each of the plurality of data points also includes a name field and a value field;
receiving, by the server computer system, a request from a client computer system, wherein the request contains a value to be stored within a particular data point of the plurality of data points and specifies the particular data point by its ephemeral ID;
responsive to the request:
identifying, by the application, the particular data point to be updated by the request based on the ephemeral ID specified in the request;
transferring, by the application, the value contained in the request to the value field of the particular data point; and
persisting, by the application, changed contents within the hierarchical data map to the database.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the particular data point further includes a formula and a calculated value field having a value based on the formula and wherein the method further comprises updating, by the application, the value of the calculated value field based at least on the formula and the value of the value field of the particular data point.
