# US 12,120,199 B2 · Cachability of single page applications

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

- Number: US 12,120,199 B2
- Document ID: US12120199B2
- Status: Granted
- Kind: B2
- Application number: 16/943,762
- Filed: 2020-07-30
- Published: 2021-03-25
- Granted: 2024-10-15
- Earliest claimed: 2019-09-24
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Dieter Buehler; Carsten Leue; Uwe Karl Hansmann
- Web page: https://patentgrep.com/patent/US12120199B2

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/55: Push-based network services
- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- 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 computer-implemented method for improving cachability of an API request result of a content delivery system may be provided. The method comprises maintaining a unique seed value per group of content items of a content type, and, upon determining that one of the content items of the group is updated, updating the seed value for the group of content items. The method also comprises caching one of the content items of the group together with the related seed value in a caching system and receiving, by the caching system, an API request requesting as API request result a content item of the group, wherein a parameter of the API request is a selected seed value.

## Claims

### Claim 1

A computer-implemented method for improving cachability of an application programming interface (API) request result of a content delivery system adapted for supplying content to a client system of a single page application (SPA), the method comprising:
maintaining, at a data center adapted for providing latest versions of content items to the SPA for dynamically rewriting a subset of a webpage, a unique seed value per group of content items of a specific type, wherein the unique seed value identifies the group of content items managed at the data center as latest versions and includes a data center identification for the data center;
updating, at the data center, the seed value for the group of content items upon determining that one of the content items of the group of content items is updated, wherein the seed value is updated with a new unique value that identifies the group of content items managed at the data center as latest versions, and the new unique value is combined with the data center identification for the data center to form an updated seed value for the group of content items;
caching at least one of the content items of the group of content items together with the updated seed value in a caching system; and
receiving, by the caching system, an API request from the SPA requesting as an API request result a content item of the group of content items, wherein a parameter of the API request is a selected seed value.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
requesting an updated respective content item as an API request result upon determining, at the caching system, a difference between the seed value and the selected seed value.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
receiving regularly, at the caching system, an API request for the content item of the group of content items, wherein regularly means at regular time intervals or when triggered by events received by the client system.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
using, at the caching system, as cache expiration time for a content item of an API request result, a time value larger than or equal to a predefined cache expiration threshold value.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising:
sending, as cache expiration time for a content item, a time value larger than or equal to a predefined cache expiration threshold value.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
pushing a notification to the client system, the notification being indicative of an update of a seed value relating to one of the content items of a group of content items.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the API request result is a result of a search query.

### Claim 8 (depends on 1)

The method according to claim 1, further comprising, prior to the caching of the at least one of the content items of the group together with the seed value in a caching system:
receiving the API request at the caching system; and
requesting the API request result.

### Claim 9 (depends on 1)

The method according to claim 1, wherein any of the seed values of specific types are requestable.

### Claim 10 (depends on 1)

The method according to claim 1, wherein:
specific types of content items are based on subject matter and/or content type; and
the content type is selected from a group comprising: text, image, sound, video, text format, graphic format, stream, search result, database result, asset, layout, and size.

### Claim 11 (depends on 1)

The method according to claim 1, wherein the parameter of the API request is a result of an exclusive or (XOR) function having seed values of different types as input.

### Claim 12 (depends on 11)

The method according to claim 11, wherein the XOR function is only performed on a portion of the seed values that classify the different groups of content item types.

### Claim 13 (depends on 1)

The method according to claim 1, wherein the content item of the API request is an element of the SPA.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising dynamically rewriting a subset of the SPA when one of the content items of the group of content items is updated.

### Claim 15

A caching system for improving cachability of an application programming interface (API) request result of a content delivery system adapted for supplying content to a client system of a single page application (SPA), the caching system comprising:
one or more computer readable storage media storing program instructions and one or more processors which, in response to executing the program instructions, are configured to:
maintain, at a data center adapted for providing latest versions of content items to the SPA for dynamically rewriting a subset of a webpage, a unique seed value per group of content items of a specific type, wherein the unique seed value identifies the group of content items managed at the data center as latest versions and includes a data center identification for the data center;
update, at the data center, the seed value for the group of content items, upon determining that one of the content items of the group is updated, wherein the seed value is updated with a new unique value that identifies the group of content items managed at the data center as latest versions, and the new unique value is combined with the data center identification for the data center to form an updated seed value for the group of content items;
cache at least one of the content items of the group of content items together with the updated seed value in the caching system;
receive, by the caching system, an API request from the SPA requesting as an API request result a content item of the group, wherein a parameter of the API request is a selected seed value.

### Claim 16 (depends on 15)

The caching system according to claim 15, wherein the client system is configured to request an updated respective content item as the API request result, upon determining, at the caching system, a difference between the related seed value and the selected seed value.

### Claim 17 (depends on 15)

The caching system according to claim 15, wherein a cache expiration time for a content item of an API request result is a time value larger than or equal to a predefined cache expiration threshold value.

### Claim 18 (depends on 15)

The caching system according to claim 15, wherein the caching system is configured to send, as cache expiration time for a content item, a time value larger than or equal to a predefined cache expiration threshold value to a client.

### Claim 19 (depends on 15)

The caching system according to claim 15, wherein the caching system represents a middle layer of a 3-tier-content delivery system comprising a content management system, a cache server and a client.

### Claim 20

A computer program product for improving cachability of an API request result of a content delivery system adapted for supplying content to a client system of a single page application (SPA), said computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, said program instructions being executable by one or more computing systems or controllers to cause said one or more computing systems to:
maintain, at a data center for providing latest version of content items to the SPA for dynamically rewriting a subset of a webpage, a unique seed value per group of content items of a specific type, wherein the unique seed value identifies the group of content items managed at the data center as latest versions and includes a data center identification for the data center;
update, at the data center, the seed value for the group of content items upon determining that one of the content items of the group of content items is updated, wherein the seed value is updated with a new unique value that identifies the group of content items managed at the data center as latest versions, and the new unique value is combined with the data center identification for the data center to form an updated seed value for the group of content items;
cache at least one of the content items of the group of content items together with the updated seed value in a caching system; and
receive, by the caching system, an API request from the SPA requesting as an API request result a content item of the group of content items, wherein a parameter of the API request is a selected seed value.
