IP Library › Granted Patent US 12,495,100
Granted Patent B2
US 12,495,100 · App. 19/072,124 · Granted Dec 9, 2025

Data preheating in content delivery network

Inventors: Yousheng Zheng (Beijing, CN); Yuling Zhang (Beijing, CN); Jian Wang (Beijing, CN)
Assignee: Beijing Volcano Engine Technology Co., Ltd.
H04L67/5681
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,495,100
App. No.
19/072,124
Granted
Dec 9, 2025
Kind
B2
Abstract

Embodiments of the disclosure provide a data preheating method and apparatus used in a content delivery network (CDN), a device, and a medium. The method includes: receiving a resource request from a service, where the resource request includes a network link corresponding to target data to be preheated of the service; determining, based on a domain name in the network link, an Internet protocol (IP) address set for the network link from a mapping table of respective regions and IP segments in a global network range of the CDN; determining, based on the IP address set, a set of service nodes for preheating in the CDN; and executing, in respective service nodes in the set of service nodes, a preheating task for the target data.

Claims (80)

1 . A data preheating method used in a content delivery network, CDN, characterized by comprising:

receiving a resource request from a service, wherein the resource request comprises a network link corresponding to target data to be preheated of the service;

determining, based on a domain name in the network link, an Internet protocol, IP, address set for the network link from a mapping table of respective regions and IP segments in a global network range of the CDN;

determining, based on the IP address set, a set of edge nodes for preheating in the CDN; and

executing, in respective edge nodes in the set of edge nodes, a preheating task for the target data, wherein executing the preheating task for the target data comprises:

segmenting the target data into a plurality of data segments; and

performing a plurality of batches of data caching for the target data, wherein in each batch of data caching, a plurality of cache requests are sent in parallel to an IP address corresponding to a given preheating sub-task of a plurality of preheating sub-tasks of the preheating task and an IP address corresponding to at least one other preheating sub-task of the plurality of preheating sub-tasks, and each cache request instructs to cache one data segment of the plurality of data segments to an edge node corresponding to the IP address, wherein in the plurality of batches of data caching, each IP address is cached with different data segments of the plurality of data segments; and

wherein a mode of merged source returning is used for preheating of a data link layer node and a network layer node.

2 . The method according to claim 1 , wherein determining the IP address set for the network link comprises:

determining an access validity of the network link; and

in response to determining that the network link is valid, determining the IP address set for the network link.

3 . The method according to claim 1 , further comprising:

in response to determining that the network link is invalid, obtaining access control information corresponding to the network link;

determining, based on the access control information, whether there is an access control configuration for the network link; and

based on a determination of whether there is the access control configuration for the network link, providing prompt information to the service.

4 . The method according to claim 1 , wherein determining the IP address set for the network link comprises:

executing, by using the network link, a network request for respective IP addresses in the IP address set;

in response to a first IP address in the IP address set failing to be successfully requested, deleting the first IP address from the IP address set; and

in response to a first IP address in the IP address set being successfully requested, keeping the first IP address in the IP address set.

5 . The method according to claim 1 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

determining a preheating traffic size based on a size of the target data and a number of IPs in the IP address set; and

in response to determining that the preheating traffic size does not exceed a traffic threshold, executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data.

6 . The method according to claim 5 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

in response to determining that the preheating traffic size exceeds the traffic threshold, sending traffic prompt information to the service; and

in response to receiving a preheating confirmation from the service, executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data.

7 . The method according to claim 1 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

creating the plurality of preheating sub-tasks corresponding to the preheating task, wherein each preheating sub-task corresponds to an IP address in the IP address set, and is configured to execute, at an edge node corresponding to the IP address, preheating for the target data; and

executing the plurality of preheating sub-tasks.

8 . The method according to claim 7 , further comprising:

maintaining, during execution of the plurality of preheating sub-tasks, a respective execution state corresponding to each of the plurality of preheating sub-tasks, wherein the execution state is selected from a state set comprising: an process state, a waiting state, a failure state, and a success state; and

determining a state of the preheating task based on the respective execution state corresponding to each of the plurality of preheating sub-tasks.

9 . The method according to claim 7 , wherein executing the plurality of preheating sub-tasks comprises:

for a given preheating sub-task in the preheating sub-tasks, sending a cache request to an IP address corresponding to the given preheating sub-task, to cache the target data at a service node corresponding to the IP address; and

in response to completing the caching, setting a state corresponding to the IP address to a cache hit state.

10 . The method according to claim 9 , wherein sending the cache request to the IP address corresponding to the given preheating sub-task comprises:

in response to a size of the target data exceeding a preset threshold, segmenting the target data into a plurality of data segments; and

sending a plurality of cache requests in parallel to the IP address corresponding to the given preheating sub-task, wherein each cache request instructs to cache one data segment of the plurality of data segments to the service node corresponding to the IP address.

11 . The method according to claim 9 , wherein segmenting the target data into the plurality of data segments comprises:

in response to a size of the target data exceeding a preset threshold, segmenting the target data into the plurality of data segments.

12 . An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions executable by the at least one processing unit, wherein the instructions, when executed by the at least one processing unit, cause the electronic device to perform acts comprising:

receiving a resource request from a service, wherein the resource request comprises a network link corresponding to target data to be preheated of the service;

determining, based on a domain name in the network link, an Internet protocol, IP, address set for the network link from a mapping table of respective regions and IP segments in a global network range of a content delivery network, CDN;

determining, based on the IP address set, a set of edge nodes for preheating in the CDN; and

executing, in respective edge nodes in the set of edge nodes, a preheating task for the target data, wherein executing the preheating task for the target data comprises:

segmenting the target data into a plurality of data segments; and

performing a plurality of batches of data caching for the target data, wherein in each batch of data caching, a plurality of cache requests are sent in parallel to an IP address corresponding to a given preheating sub-task of a plurality of preheating sub-tasks of the preheating task and an IP address corresponding to at least one other preheating sub-task of the plurality of preheating sub-tasks, and each cache request instructs to cache one data segment of the plurality of data segments to an edge node corresponding to the IP address, wherein in the plurality of batches of data caching, each IP address is cached with different data segments of the plurality of data segments; and

wherein a mode of merged source returning is used for preheating of a data link layer node and a network layer node.

13 . The device according to claim 12 , wherein determining the IP address set for the network link comprises:

determining an access validity of the network link; and

in response to determining that the network link is valid, determining the IP address set for the network link.

14 . The device according to claim 12 , the acts further comprising:

in response to determining that the network link is invalid, obtaining access control information corresponding to the network link;

determining, based on the access control information, whether there is an access control configuration for the network link; and

based on a determination of whether there is the access control configuration for the network link, providing prompt information to the service.

15 . The device according to claim 12 , wherein determining the IP address set for the network link comprises:

executing, by using the network link, a network request for respective IP addresses in the IP address set;

in response to determining a first IP address in the IP address set fails to be successfully requested, deleting the first IP address from the IP address set; and

in response to determining a first IP address in the IP address set is successfully requested, keeping the first IP address in the IP address set.

16 . The device according to claim 12 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

determining a preheating traffic size based on a size of the target data and a number of IPs in the IP address set; and

in response to determining that the preheating traffic size does not exceed a traffic threshold, executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data.

17 . The device according to claim 16 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

in response to determining that the preheating traffic size exceeds the traffic threshold, sending traffic prompt information to the service; and

in response to receiving a preheating confirmation from the service, executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data.

18 . The device according to claim 12 , wherein executing, in the respective edge nodes in the set of edge nodes, the preheating task for the target data comprises:

creating a plurality of preheating sub-tasks corresponding to the preheating task, wherein each preheating sub-task corresponds to an IP address in the IP address set, and is configured to execute, at an edge node corresponding to the IP address, preheating for the target data; and

executing the plurality of preheating sub-tasks.

19 . The device according to claim 18 , the acts further comprising:

maintaining, during execution of the plurality of preheating sub-tasks, a respective execution state corresponding to each of the plurality of preheating sub-tasks, wherein the execution state is selected from a state set comprising: an process state, a waiting state, a failure state, and a success state; and

determining a state of the preheating task based on the respective execution state corresponding to each of the plurality of preheating sub-tasks.

20 . A non-transitory computer-readable storage medium storing a computer program thereon, wherein the computer program is executable by a processor to implement a method used in a content delivery network, CDN, the method comprising:

receiving a resource request from a service, wherein the resource request comprises a network link corresponding to target data to be preheated of the service;

determining, based on a domain name in the network link, an Internet protocol, IP, address set for the network link from a mapping table of respective regions and IP segments in a global network range of the CDN;

determining, based on the IP address set, a set of edge nodes for preheating in the CDN; and

executing, in respective edge nodes in the set of edge nodes, a preheating task for the target data, wherein executing the preheating task for the target data comprises:

segmenting the target data into a plurality of data segments; and

performing a plurality of batches of data caching for the target data, wherein in each batch of data caching, a plurality of cache requests are sent in parallel to an IP address corresponding to a given preheating sub-task of a plurality of preheating sub-tasks of the preheating task and an IP address corresponding to at least one other preheating sub-task of the plurality of preheating sub-tasks, and each cache request instructs to cache one data segment of the plurality of data segments to an edge node corresponding to the IP address, wherein in the plurality of batches of data caching, each IP address is cached with different data segments of the plurality of data segments; and

wherein a mode of merged source returning is used for preheating of a data link layer node and a network layer node.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2025
From: DOUYIN VISION CO., LTD.
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 072856/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: ZHENG, YOUSHENG; ZHANG, YULING
To: SHANGHAI SUIXUNTONG ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 072774/0796 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: WANG, JIAN
To: DOUYIN VISION CO., LTD.
Reel/Frame 072775/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: SHANGHAI SUIXUNTONG ELECTRONIC TECHNOLOGY CO., LTD.
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 072775/0089 →
Priority Claims (1)
CN 202410330208.3 · Mar 21, 2024 · national
Continuity (1)
Related Publication 20250301053A1 · Sep 25, 2025
References Cited (46)
US 6182122B1 · Berstis · 2001 [cited by examiner]
US 7088545B1 · Singh · 2006 [cited by examiner]
US 8521959B2 · Zhang · 2013 [cited by examiner]
US 8797334B2 · Costa · 2014 [cited by examiner]
US 8819187B1 · Hofmann · 2014 [cited by examiner]
US 8886742B2 · Crowe · 2014 [cited by examiner]
US 9063861B1 · Derbeko · 2015 [cited by examiner]
US 9224423B1 · Seo · 2015 [cited by examiner]
US 9225794B2 · Roskind · 2015 [cited by examiner]
US 9578077B2 · Roverso · 2017 [cited by examiner]
US 9798827B2 · Liang · 2017 [cited by examiner]
US 10117058B2 · Begeja · 2018 [cited by examiner]
US 10360159B1 · Black · 2019 [cited by examiner]
US 10375047B2 · Leblond · 2019 [cited by examiner]
US 10440140B2 · Barraclough · 2019 [cited by examiner]
US 10630530B2 · Yang · 2020 [cited by examiner]
US 10642822B2 · Xiao · 2020 [cited by examiner]
US 10721322B2 · Patil · 2020 [cited by examiner]
US 11057489B2 · Xie · 2021 [cited by examiner]
US 11451603B2 · Grubb · 2022 [cited by examiner]
US 11487670B2 · Dubey · 2022 [cited by examiner]
US 11496809B2 · Li · 2022 [cited by examiner]
US 12130831B2 · Zhan · 2024 [cited by examiner]
US 12223983B1 · Popov · 2025 [cited by examiner]
US 12316717B2 · Zheng · 2025 [cited by examiner]
US 20080126751A1 · Mizrachi · 2008 [cited by examiner]
US 20110161461A1 · Niven-Jenkins · 2011 [cited by examiner]
US 20200045128A1 · Xie · 2020 [cited by examiner]
US 20210289040A1 · Arsenault · 2021 [cited by examiner]
US 20220329672A1 · Lv · 2022 [cited by examiner]
US 20230030265A1 · Fang · 2023 [cited by examiner]
US 20230394307A1 · Zhu · 2023 [cited by examiner]
US 20250039276A1 · Zheng · 2025 [cited by examiner]
CN 110661862A · 2020 [cited by applicant]
CN 109218632B · 2020 [cited by applicant]
CN 113784170A · 2021 [cited by applicant]
CN 114153594A · 2022 [cited by applicant]
CN 116016546A · 2023 [cited by applicant]
CN 116846868A · 2023 [cited by applicant]
CN 117938955A · 2024 [cited by applicant]
Chinese Patent Application No. 202410330208.3; Office Action dated May 8, 2024, 26 pages with machine translation. [cited by applicant]
Chinese Patent Application No. 202410330208.3; Notice of Allowance dated May 27, 2024, 11 pages with machine translation. [cited by applicant]
International Patent Application No. PCT/CN2025/077698; International Search Report dated May 19, 2025, 5 pages with machine translation. [cited by applicant]
European Patent Application No. 25161841.9; Extended European Search Report dated Oct. 29, 2025, 10 pages. [cited by applicant]
Krishnamurthy, et al., “On the Use and Performance of Content Distribution Networks,” Proceedings of the 1st Acm Sigcomm Workshop on Internet Measurement, Nov. 1, 2001, pp. 169-182. [cited by applicant]
Zhao, et al., “Mobility Prediction-Assisted Over-the-Top Edge Prefetching for Hierarchical VANETs,” IEEE Journal on Selected Areas in Communications, Aug. 2018, vol. 36, No. 8, pp. 1786-1801. [cited by applicant]