# US 2021/0344971 A1 · A method and system for downloading a data resource

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

- Number: US 2021/0344971 A1
- Document ID: US20210344971A1
- Status: Published application
- Kind: A1
- Application number: 16/473,180
- Filed: 2018-06-14
- Published: 2021-11-04
- Earliest claimed: 2018-03-28
- Assignees: Wangsu Science & Technology Co., Ltd.
- Applicants: Wangsu Science & Technology Co., Ltd.
- Inventors: Yonghuang CHEN; Zonglei SU; Yufang ZOU
- Web page: https://patentgrep.com/patent/US20210344971A1

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04N 21/2181: {comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers (distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- H04L 67/108: {characterised by resources being split in blocks or fragments}
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04N 21/2407: {Monitoring of transmitted content, e.g. distribution time, number of downloads (arrangements for monitoring programmes for broadcast or for distribution combined with broadcast H04H20/14)}
- H04N 21/25841: {involving the geographical location of the client (retrieval from the Internet by querying based on geographical locations G06F16/9537; arrangements for identifying locations of receiving stations in broadcast systems H04H60/51; location of the user terminal in data switching networks H04L67/52; services making use of the location of users or terminals in wireless networks H04W4/02; locating users or terminals in wireless networks H04W64/00)}
- H04N 21/262: Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists {(scheduling strategies for dispatcher in multiprogramming arrangements G06F9/4881; arrangements for scheduling broadcast services or broadcast-related services H04H60/06; flow control in packet networks H04L47/10; establishing a time schedule or organising the servicing of application requests H04L67/62)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for downloading a data resource includes: at the beginning of downloading a target data resource, determining, by a first device, a plurality of candidate devices storing data slices of the target data resource and slice serial numbers of data slices of the target data resource stored by each of the plurality of candidate devices; acquiring, by the first device, a total number of slices for data slices of a same type of data resources as the target data resource that have been downloaded from each of the plurality of candidate devices; and downloading, by the first device, the data slices of the target data resource according to the slice serial numbers, the total number of slices downloaded from each of the plurality of candidate devices, and a preset time-length for overtime switch.

## Claims

### Claim 1

A method for downloading a data resource, comprising:
at the beginning of downloading a target data resource, determining, by a first device, a plurality of candidate devices storing data slices of the target data resource and slice serial numbers of data slices of the target data resource stored by each of the plurality of candidate devices;
acquiring, by the first device, a total number of slices for data slices of a same type of data resources as the target data resource that have been downloaded from each of the plurality of candidate devices; and
downloading, by the first device, the data slices of the target data resource according to the slice serial numbers, the total number of slices downloaded from each of the plurality of candidate devices, and a preset time-length for overtime switch.

### Claim 2 (depends on 1)

The method according to claim 1, wherein downloading, by the first device, the data slices of the target data resource according to the slice serial numbers, the total number of slices, and the preset time-length for overtime switch further includes:
collecting, by the first device, target slice serial numbers for data slices that are not stored locally;
for a first serial number in the target slice serial numbers, determining, by the first device, at least one device, from the plurality of candidate devices, that stores a data slice corresponding to the first serial number; and
based on the preset time-length for overtime switch, downloading, by the first device, the data slice corresponding to the first serial number from the at least one device in a descending order of the total number of slices.

### Claim 3 (depends on 2)

The method according to claim 2, wherein, based on the preset time-length for overtime switch, downloading, by the first device, the data slice corresponding to the first serial number from the at least one device in a descending order of the total number of slices further includes:
downloading, by the first device, the data slice corresponding to the first serial number from a device corresponding to a largest total number of slices among the at least one device; and
if the data slice corresponding to the first serial number is not received by the first device after the preset time-length for overtime switch, downloading, by the first device, the data slice corresponding to the serial number from a device corresponding to a second largest total number of slices among the at least one device.

### Claim 4 (depends on 2)

The method according to claim 2, after collecting, by the first device, the target slice serial numbers of the data slices that are not stored locally, the method further includes:
if the data slice corresponding to the first serial number is not stored in the plurality of candidate devices, after a preset time-length, reacquiring, by the first device, slice serial numbers of data slices of the target data source currently stored by each of the plurality of candidate devices;
re-determining, by the first device, the at least one device, from the plurality of candidate devices, that stores the data slice corresponding to the first serial number; and
downloading, by the first device, the data slice corresponding to the first serial number from the at least one device in a descending order of the total number of slices according to the preset time-length for overtime switch.

### Claim 5 (depends on 1)

The method according to claim 1, after downloading the data slices of the target data resource, the method further includes:
calculating, by the first device, an average download time-length and a variance of download time-lengths of the plurality of data slices; and
updating, by the first device, the time-length for overtime switch according to the average download time-length and the variance.

### Claim 6 (depends on 1)

The method according to claim 1, before determining, by a first device, a plurality of candidate devices storing data slices of the target data resource and slice serial numbers of data slices of the candidate devices, the method further includes:
randomly selecting, by a source device of the target data resource, a plurality of relay devices among target devices corresponding to the target data resource;
randomly acquiring, by each of the plurality of relay devices, a data slice of the target data resource from the source device, and reporting, by each of the plurality of relay devices, a data slice acquisition status to a scheduling device; and
recommending, by the scheduling device, to each of the target devices, a candidate device, among the plurality of relay devices, that belongs to a same carrier/region as that target device.

### Claim 7

A system for downloading a data resource, comprising a plurality of network devices that include a first device, wherein the first device is configured to:
at the beginning of downloading a target data resource, determine a plurality of candidate devices storing data slices of the target data resource and slice serial numbers of data slices of the target data resource stored by each of the plurality of candidate devices;
acquire a total number of slices for data slices of a same type of data resources as the target data resource that have been downloaded from each of the plurality of candidate devices; and
download the data slices of the target data resource according to the slice serial numbers, the total number of slices downloaded from each of the plurality of candidate devices, and a preset time-length for overtime switch.

### Claim 8 (depends on 7)

The system according to claim 7, wherein the first device is further configured to:
collect target slice serial numbers for data slices that are not stored locally;
for a first serial number in the target slice serial numbers, determine at least one device, from the plurality of candidate devices, that stores a data slice corresponding to the first serial number; and
based on the preset time-length for overtime switch, download the data slice corresponding to the first serial number from the at least one device in a descending order of the total number of slices.

### Claim 9 (depends on 8)

The system according to claim 8, wherein the first device is further configured to:
download the data slice corresponding to the first serial number from a device corresponding to a largest total number of slices among the at least one device; and
if the data slice corresponding to the first serial number is not received by the first device after the preset time-length for overtime switch, download the data slice corresponding to the serial number from a device corresponding to a second largest total number of slices among the at least one device.

### Claim 10 (depends on 8)

The system according to claim 8, wherein the first device is further configured to:
if the data slice corresponding to the first serial number is not stored in the plurality of candidate devices, after a preset time-length, reacquire slice serial numbers of data slices of the target data source currently stored by each of the plurality of candidate devices;
re-determine the at least one device, from the plurality of candidate devices, that stores the data slice corresponding to the first serial number; and
download the data slice corresponding to the first serial number from the at least one device in a descending order of the total number of slices according to the preset time-length for overtime switch.

### Claim 11 (depends on 7)

The system according to claim 7, wherein the first device is further configured to:
calculate an average download time-length and a variance of download time-lengths of the plurality of data slices; and
update the time-length for overtime switch according to the average download time-length and the variance.

### Claim 12 (depends on 7)

The system according to claim 7, wherein the plurality of network devices further include a scheduling device and a source device of the target data resource, wherein:
the source device is configured to randomly select a plurality of relay devices among target devices corresponding to the target data resource;
each of the plurality of relay devices is configured to randomly acquire a data slice of the target data resource from the source device, and report a data slice acquisition status to the scheduling device; and
the scheduling device is configured to recommend to each of the target devices, a candidate device, among the plurality of relay devices, that belongs to a same carrier/region as that target device.
