# US 2021/0240672 A1 · Data map connectivity interface

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

- Number: US 2021/0240672 A1
- Document ID: US20210240672A1
- Status: Published application
- Kind: A1
- Application number: 17/161,540
- Filed: 2021-01-28
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: Dillon Software Services, LLC
- Applicants: Dillon Software Services, LLC
- Inventors: David M. Dillon
- Web page: https://patentgrep.com/patent/US20210240672A1

## CPC

- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F 16/972: {Access to data in other repository systems, e.g. legacy data or dynamic Web page generation}
- G06F 16/148: {File search processing}
- G06F 16/156: {Query results presentation}
- G06F 16/1824: {implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097)}
- G06F 16/25: Integrating or interfacing systems involving database management systems
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for redirection of requests received by a service or an API are provided. According to one embodiment, a request, relating to a domain or a focal point of related data (e.g., an OData entity), is received from a client by a service (e.g., an OData service) operable to serve data from a data source or an in-memory cache. When the request involves manipulation of a portion of the data, automatic updating of values of the data that are dependent thereon is facilitated by directing fulfilment of the request to the cache; otherwise: it is determined whether to fulfill the request based on the in-memory cache. When the determination is affirmative, then the portion of the data is retrieved from the in-memory cache. When the determination is negative, then the portion of the data is retrieved from the data source.

## Claims

### Claim 1

A method performed by a processing resource of a computer system, the method comprising:
receiving, by a service that is operable to serve data from a data source to which it has been persisted or from an in-memory cache, a request relating to a domain or a focal point of related data from a client;
when the request involves manipulation of a portion of the data associated with the domain or the focal point of related data, facilitating automatic updating of one or more values of the data that are dependent thereon by directing fulfilment of the request to the in-memory cache; and
when the request does not involve manipulation of the portion of the data associated with the domain or the focal point of related data:
determining whether to fulfill the request based on the in-memory cache;
when said determining is affirmative, then retrieving the portion of the data associated with the domain or the focal point of related data from the in-memory cache; and
when said determining is negative, then retrieving the portion of the data associated with the domain or a focal point of related data from the data source.

### Claim 2 (depends on 1)

The method of claim 1, wherein the service and the client are compatible with the Open Data Protocol (OData) protocol and wherein the domain or the focal point of related data comprises an entity.

### Claim 3 (depends on 2)

The method of claim 2, further comprising, responsive to said directing fulfilment of the request to the in-memory cache, processing the request by:
conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore, wherein each of the plurality of data points includes a field name and a calculated value;
fulfilling the manipulation via the in-memory cache, including updating the calculated value of at least one of the plurality of data points by transferring one or more input values specified by the request to one or more target data points of the plurality of data points and invoking a formula corresponding to the calculated value; and
persisting changed contents within the hierarchical data map to the datastore.

### Claim 4 (depends on 2)

The method of claim 2, further comprising, prior to said retrieving the portion of the data associated with the entity from the in-memory cache, conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore.

### Claim 5 (depends on 4)

The method of claim 4, wherein said determining comprises evaluating one or more performance tradeoffs of fulfilling the request from the in-memory cache versus fulfilling the request from the data source.

### Claim 6 (depends on 5)

The method of claim 5, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a number of tables within the data source that is less than or equal to a threshold.

### Claim 7 (depends on 5)

The method of claim 5, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a level of the hierarchical data map that is greater than or equal to a threshold.

### Claim 8

A system comprising:
a processing resource; and
a non-transitory computer-readable medium, coupled to the processing resource, having stored therein instructions that when executed by the processing resource cause the processing resource to perform a method comprising:
receiving, by a web service that supports the Open Data Protocol (OData) protocol and is operable to serve data from a data source to which it has been persisted or from an in-memory cache, a request relating to an entity from an OData client;
when the request involves manipulation of a portion of the data associated with the entity, facilitating automatic updating of one or more values of the data that are dependent thereon by directing fulfilment of the request to the in-memory cache; and
when the request does not involve manipulation of the portion of the data associated with the entity:
determining whether to fulfill the request based on the in-memory cache;
when said determining is affirmative, then retrieving the portion of the data associated with entity from the in-memory cache; and
when said determining is negative, then retrieving the portion of the data associated with the entity from the data source.

### Claim 9 (depends on 8)

The system of claim 8, wherein the method further comprises, responsive to said directing fulfilment of the request to the in-memory cache, processing the request by:
conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore, wherein each of the plurality of data points includes a field name and a calculated value;
fulfilling the manipulation via the in-memory cache, including updating the calculated value of at least one of the plurality of data points by transferring one or more input values specified by the request to one or more target data points of the plurality of data points and invoking a formula corresponding to the calculated value; and
persisting changed contents within the hierarchical data map to the datastore.

### Claim 10 (depends on 8)

The system of claim 8, wherein the method further comprises, prior to said retrieving the portion of the data associated with the entity from the in-memory cache, conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore.

### Claim 11 (depends on 10)

The system of claim 10, wherein said determining comprises evaluating one or more performance tradeoffs of fulfilling the request from the in-memory cache versus fulfilling the request from the data source.

### Claim 12 (depends on 11)

The system of claim 11, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a number of tables within the data source that is less than or equal to a threshold.

### Claim 13 (depends on 11)

The system of claim 11, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a level of the hierarchical data map that is greater than or equal to a threshold.

### Claim 14

A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by a processing resource cause the processing resource to perform a method comprising:
receiving, by a web service that supports the Open Data Protocol (OData) protocol and is operable to serve data from a data source to which it has been persisted or from an in-memory cache, a request relating to an entity from an OData client;
when the request involves manipulation of a portion of the data associated with the entity, facilitating automatic updating of one or more values of the data that are dependent thereon by directing fulfilment of the request to the in-memory cache; and
when the request does not involve manipulation of the portion of the data associated with the entity:
determining whether to fulfill the request based on the in-memory cache;
when said determining is affirmative, then retrieving the portion of the data associated with entity from the in-memory cache; and
when said determining is negative, then retrieving the portion of the data associated with the entity from the data source.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the method further comprises, responsive to said directing fulfilment of the request to the in-memory cache, processing the request by:
conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore, wherein each of the plurality of data points includes a field name and a calculated value;
fulfilling the manipulation via the in-memory cache, including updating the calculated value of at least one of the plurality of data points by transferring one or more input values specified by the request to one or more target data points of the plurality of data points and invoking a formula corresponding to the calculated value; and
persisting changed contents within the hierarchical data map to the datastore.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the method further comprises, prior to said retrieving the portion of the data associated with the entity from the in-memory cache, conditionally loading into the in-memory cache a plurality of data points associated with the entity into a hierarchical data map from the datastore.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein said determining comprises evaluating one or more performance tradeoffs of fulfilling the request from the in-memory cache versus fulfilling the request from the data source.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a number of tables within the data source that is less than or equal to a threshold.

### Claim 19 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein said evaluating comprises determining whether the portion of the data associated with the entity exists within a level of the hierarchical data map that is greater than or equal to a threshold.
