# US 12,604,245 B2 · Data caching method and related apparatus

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

- Number: US 12,604,245 B2
- Document ID: US12604245B2
- Status: Granted
- Kind: B2
- Application number: 18/245,616
- Filed: 2021-09-02
- Published: 2023-10-26
- Granted: 2026-04-14
- Earliest claimed: 2020-09-16
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Yongbo Zeng; Cheng Qin
- Web page: https://patentgrep.com/patent/US12604245B2

## CPC

- H04W 36/02: Buffering or recovering information during reselection {; Modification of the traffic flow during hand-off}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04W 36/0055: {Transmission or use of information for re-establishing the radio link}
- H04W 36/08: Reselecting an access point
- H04W 36/302: {due to low signal strength}
- H04W 36/322: {by location data}
- H04W 36/0061: {of neighbour cell information}
- H04W 36/00833: {Handover statistics}
- H04W 36/008375: {based on historical data}
- H04W 84/005: {Moving wireless networks}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data caching method is applied to a first terminal comprising an application processor and a modem processor. The method includes the application processor sending preset path information of a first route to the modem processor, where the preset path information includes a node handover list of the first route, the node handover list includes information about a plurality of nodes, each node corresponds to at least one cell, and information about each node includes a node identifier, a network performance identifier of the node, and a cell identifier corresponding to the node. The modem processor sends first indication information to the application processor, where the first indication information is used to indicate the application processor to cache data, and the first indication information is determined based on the preset path information.

## Claims

### Claim 1

A data caching method, comprising:
running, by a terminal, a first application in a first area, wherein the first application is an online application, wherein the first area is in a first route, wherein the first route includes a second area, and wherein a first network performance of the first area is better than a second network performance of the second area;
displaying, by the terminal, a user interface of the first application;
obtaining, by the terminal, a moment of entering the second area and a duration of the terminal in the second area;
sending, to the first application based on the moment of entering the second area and the duration of the terminal in the second area, second indication information instructing the first application to cache data;
in response to the duration of the terminal in the second area is greater than or equal to a preset duration threshold, buffering, by the first application before the terminal enters the second area, first data as buffered first data; and
playing, by the first application, the buffered first data when the terminal enters the second area.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first application is a video application, and wherein the method further comprises buffering, by the first application, second data of a currently played video before the terminal enters the second area.

### Claim 3 (depends on 2)

The method of claim 2, further comprising buffering, by the first application, fourth data before receiving the second indication information, wherein the fourth data corresponds to a first duration, the second data corresponds to a second duration, and the second duration is greater than the first duration.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first application is a video application, and wherein the method further comprises buffering, by the first application, third data of a next video of a currently played video before the terminal enters the second area.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
caching, by the first application before receiving the second indication information, the data at a first download rate; and
caching, by the first application after receiving the second indication information, the data at a second download rate,
wherein the second download rate is greater than the first download rate.

### Claim 6 (depends on 1)

The method of claim 1, further comprising obtaining, by the terminal, cell information of one or more cells that the terminal passes through.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
sending, by a modem processor of the terminal, first indication information to an application processor; and
sending, by the application processor of the terminal, the second indication information to the first application after the application processor receives the first indication information.

### Claim 8 (depends on 7)

The method of claim 7, wherein the first indication information further comprises the duration of the terminal in the second area.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
buffering, by the terminal when a current service of the terminal is a first service type, the first data at a first time before entering the second area; and
buffering, by the terminal when the current service of the terminal is a second service type, the first data at a second time before entering the second area,
wherein the first time is earlier than the second time, and wherein a quality of service requirement of the first service type is higher than that of the second service type.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first route is a fixed route of a train, a high-speed rail, a subway, or a bus.

### Claim 11

A terminal, comprising:
a memory configured to store a computer program; and
a processor coupled to the memory and configured to execute the computer program to cause the terminal to:
run a first application in a first area, wherein the first application is an online application, wherein the first area is in a first route, wherein the first route includes a second area, and wherein a first network performance of the first area is better than a second network performance of the second area;
display a user interface of the first application;
determine a moment of entering the second area and a duration of the terminal in the second area;
send, to the first application based on the moment of entering the second area and the duration of the terminal in the second area, second indication information instructing the first application to cache data;
in response to the duration of the terminal in the second area being greater than or equal to a preset duration threshold, buffer, by the first application before the terminal enters the second area, first data as buffered first data; and
play, by the first application, the buffered first data when the terminal enters the second area.

### Claim 12

A non-transitory computer storage medium storing computer-executable instructions which, when executed by a processor, cause a terminal to:
run, by the terminal, a first application in a first area, wherein the first application is an online application, wherein the first area is in a first route, wherein the first route includes a second area, and wherein a first network performance of the first area is better than a second network performance of the second area;
display, by the terminal, a user interface of the first application;
determine, by the terminal, a moment of entering the second area and a duration of the terminal in the second area;
send, by the terminal based on the moment of entering the second area and the duration of the terminal in the second area, second indication information to the first application, wherein the second indication information is used to instruct the first application to cache data;
in response to the duration of the terminal in the second area being greater than or equal to a preset duration threshold, buffer, by the first application before the terminal enters the second area, first data as buffered first data; and
play, by the first application, the buffered first data when the terminal enters the second area.

### Claim 13 (depends on 12)

The non-transitory computer storage medium of claim 12, wherein the first application is a video application, and wherein the computer-executable instructions further cause the terminal to:
buffer, by the first application, second data of a currently played video before the terminal enters the second area; and
buffer, by the first application, fourth data before receiving the second indication information, wherein the fourth data corresponds to a first duration, the second data corresponds to a second duration, and the second duration is greater than the first duration.

### Claim 14 (depends on 12)

The non-transitory computer storage medium of claim 12, wherein the computer-executable instructions further cause the terminal to:
cache, by the first application before receiving the second indication information, at a first download rate; and
cache, by the first application after receiving the second indication information, at a second download rate,
wherein the second download rate is greater than the first download rate.

### Claim 15 (depends on 12)

The non-transitory computer storage medium of claim 12, wherein the computer-executable instructions further cause the terminal to:
buffer, by the terminal when a current service of the terminal is a first service type, the first data at a first time before entering the second area; and
buffer, by the terminal when the current service of the terminal is a second service type, the first data at a second time before entering the second area,
wherein the first time is earlier than the second time, and wherein a quality of service requirement of the first service type is higher than that of the second service type.

### Claim 16 (depends on 11)

The terminal of claim 11, wherein the first application is a video application, and wherein the processor is further configured to execute the computer program to cause the terminal to:
buffer, by the first application, second data of a currently played video before the terminal enters the second area; and
buffer, by the first application, fourth data before receiving the second indication information, wherein the fourth data corresponds to a first duration, the second data corresponds to a second duration, and the second duration is greater than the first duration.

### Claim 17 (depends on 11)

The terminal of claim 11, wherein the processor is further configured to execute the computer program to cause the terminal to:
cache, by the first application before receiving the second indication information, at a first download rate; and
cache, by the first application after receiving the second indication information, at a second download rate,
wherein the second download rate is greater than the first download rate.

### Claim 18 (depends on 11)

The terminal of claim 11, wherein the processor is further configured to execute the computer program to cause the terminal to:
buffer, by the terminal when a current service of the terminal is a first service type, the first data at a first time before entering the second area; and
buffer, by the terminal when the current service of the terminal is a second service type, the first data at a second time before entering the second area,
wherein the first time is earlier than the second time, and wherein a quality of service requirement of the first service type is higher than that of the second service type.

### Claim 19 (depends on 1)

The method of claim 1, further comprising:
determining a terminal speed of the terminal; and
determining a distance identifier of the terminal based on a quantity of nodes between a current node of the terminal to a target node of the terminal,
wherein buffering the first data as buffered first data further comprises buffering, before the terminal enters the second area and according to a caching policy, first data as buffered first data, wherein the caching policy is based on the terminal speed and the distance identifier.

### Claim 20 (depends on 19)

The method of claim 19, wherein the caching policy comprises buffering the first data as the buffered first data when the terminal speed is greater than a speed threshold and the distance identifier is less than or equal a preset distance value.
