# US 12,192,304 B2 · Systems and methods for edge caching

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

- Number: US 12,192,304 B2
- Document ID: US12192304B2
- Status: Granted
- Kind: B2
- Application number: 18/114,731
- Filed: 2023-02-27
- Published: 2024-08-29
- Granted: 2025-01-07
- Earliest claimed: 2023-02-27
- Assignees: Insight Direct USA, Inc.
- Applicants: Insight Direct USA, Inc.
- Inventors: Benjamin Kotvis; Marc Brumfield
- Web page: https://patentgrep.com/patent/US12192304B2

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/288: Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of selectively providing data from a caching edge device includes receiving a request from a local device for data stored on a server, the caching edge device configured to receive requests from the local device and to selectively forward the requests to the server and determining whether to deliver to the local device a copy of the data by analyzing the request using a forwarding rules engine, the copy of the data stored to a memory of the caching edge device. The method further includes, after determining to deliver the copy of the data to the local device, electronically transmitting the copy of the data from the memory of the edge caching device to the local device and blocking, by the edge caching device, the request from the local device to the server.

## Claims

### Claim 1

A method of selectively providing data from a caching edge device, the method comprising:
receiving, by the caching edge device, a request from a local device for data stored on a server, wherein:
the caching edge device is configured to receive requests from the local device and to selectively forward the requests to the server,
the request includes a domain of the server,
the server is intermittently connected to the caching edge device, and
the caching edge device is configured to selectively forward requests to the server when the server is connected to the caching edge device;
determining, by the caching edge device, whether to deliver to the local device a copy of the data by analyzing the request using a forwarding rules engine including a computer-implemented machine learning model, wherein:
analyzing the request using the forwarding rules engine comprises:
analyzing the domain of the server,
inspecting the memory to determine whether the memory stores the copy of the data, and
determining whether the server is connected to the caching edge device, and the computer-implemented machine learning model is trained to:
accept, as inputs, requests for data, and
output determinations of whether to block the requests for data and transmit local copies of data, and
the copy of the data is stored to a memory of the caching edge device;
after determining that the memory does not store the copy of the data:
requesting the data from the server;
receiving the data from the server; and
storing the data to the memory to create the copy of the data; and
after determining to deliver the copy of the data to the local device:
electronically transmitting, by the caching edge device, the copy of the data from the memory of the caching edge device to the local device; and
blocking, by the caching edge device, the request from the local device to the server.

### Claim 2 (depends on 1)

The method of claim 1, wherein electronically transmitting the copy of the data from the memory of the caching edge device to the local device comprises electronically transmitting, by the caching edge device, a network source address to the local device, wherein:
the network source address is configured to identify a source of the copy of the data; and
the network source address corresponds to a network address of the server.

### Claim 3 (depends on 2)

The method of claim 2, wherein the data requested by the local device is an application library.

### Claim 4 (depends on 3)

The method of claim 3, and further comprising:
monitoring requests from the user device to the server over a first time period;
determining that a number of requests from the user device to the server for the data during the first time period exceeds a threshold number of requests; and
downloading the data to the memory after determining that the number of requests exceeds the threshold number of requests.

### Claim 5 (depends on 4)

The method of claim 4, wherein monitoring requests from the user device to the server over the first time period comprises monitoring requests from the user device to the server over the first time period after receiving the request from the local device for the data.

### Claim 6

A system comprising:
a local device connected to a local network;
a server not connected to the local network and accessible by a wide area network; and
a caching edge device connected to the local device by the local network and connected to the wide area network, the caching device configured to receive requests from the local device and to selectively forward the requests to the server, the caching edge device comprising:
a processor; and
at least one memory encoded with instructions that, when executed, cause the processor to:
receive a request from the local device for data stored on the server;
determine, before forwarding the request for the data to the server, whether to deliver to the local device a copy of the data by analyzing the request using a forwarding rules engine, including a computer-implemented machine learning model, wherein:
analyzing the request using the forwarding rules engine comprises:
analyzing the domain of the server,
inspecting the memory to determine whether the memory stores the copy of the data, and
determining whether the caching edge device is connected to the wide area network, and
the computer-implemented machine learning model is trained to:
accept, as inputs, requests for data, and output determinations of whether to block the requests for data and transmit local copies of data, and
the copy of the data is stored to a memory of the caching edge device;
after determining that the memory does not store the copy of the data:
request the data from the server;
receive the data from the server, and
store the data to the memory to create the copy of the data; and
after determining to deliver the copy of the data to the local device:
electronically transmit the copy of the data from the at least one memory of the caching edge device to the local device; and
block the request from the local device to the server.

### Claim 7 (depends on 6)

The system of claim 6, wherein electronically transmitting the copy of the data from the at least one memory of the caching edge device to the local device comprises electronically transmitting, by the caching edge device, a network source address to the local device, wherein:
the network source address is configured to identify a source of the copy of the data; and
the network source address corresponds to a network address of the server.

### Claim 8 (depends on 6)

The system of claim 6, wherein the data requested by the local device is an application library.

### Claim 9 (depends on 6)

The system of claim 6, wherein the instructions, when executed, further cause the processor to:
monitor requests from the user device to the server over a first time period;
determine that a number of requests from the user device to the server for the data during the first time period exceeds a threshold number of requests; and
download the data to the memory after the processor has determined that the number of requests has exceeded the threshold number of requests during the first time period.

### Claim 10 (depends on 6)

The system of claim 6, wherein:
the caching edge device comprises an edge device and a caching device;
the edge device comprises a first memory of the at least one memory;
the first memory is encoded with the instructions;
the caching device comprises a second memory of the at least one memory; and
the second memory stores the copy of the data.

### Claim 11

A method of selectively providing data from a caching edge device, the method comprising:
receiving, by the caching edge device, a request from a local device for data stored on a server, the caching edge device configured to receive requests from the local device and to selectively forward the requests to the server;
determining, by the caching edge device, whether to deliver to the local device a copy of the data by analyzing the request with a computer-implemented machine learning model trained to:
accept, as inputs, requests for data, and
output determinations of whether to block the requests for data and transmit local copies of data, and
after determining to deliver the copy of the data to the local device:
electronically transmitting, by the caching edge device, the copy of the data from the memory of the caching edge device to the local device; and
blocking, by the caching edge device, the request from the local device to the server.
