# US 12,225,071 B2 · Selecting a mode of delivery to provide access to a file systems and methods

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

- Number: US 12,225,071 B2
- Document ID: US12225071B2
- Status: Granted
- Kind: B2
- Application number: 17/747,558
- Filed: 2022-05-18
- Published: 2022-09-01
- Granted: 2025-02-11
- Earliest claimed: 2019-04-03
- Applicants: Citrix Systems, Inc.
- Inventors: Anuj Magazine; Praveen Raja Dhanabalan; Anudeep Athlur
- Web page: https://patentgrep.com/patent/US12225071B2

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 65/612: for unicast
- H04L 65/752: adapting media to network capabilities
- H04L 67/63: Routing a service request depending on the request content or context
- H04L 69/14: Multichannel or multilink protocols
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described embodiments provide systems and methods for selecting between modes for delivering or providing access to a file. A server can be configured to deliver the file via a plurality of modes of delivery including. A first mode of delivery can include downloading the file and a second mode of delivery can include delivering the file via a virtualized stream. The server can receive a request and initiate downloading of the file for a length of time. The server can identify an amount of available bandwidth and size of the file and determine a first time for the first mode of delivery. The first time can be compared to a second time to deliver the file via the second mode of delivery. The server can select between the first mode of delivery and the second mode of delivery and provide the file via the selected mode of delivery.

## Claims

### Claim 1

A method comprising:
receiving, by a server, a request for a file from a client device, the server configured to provide the file to the client device via a plurality of modes of delivery, wherein a first mode of delivery of the plurality of modes of delivery is to download the file to the client device and a second mode of delivery of the plurality of modes of delivery is to provide a virtual version of the file via streaming to the client device;
initiating, by the server responsive to receiving the request, the first mode of delivery of the file to the client device for a time period to determine a size of the file, an amount of available bandwidth, and a total time to provide for a full delivery of the file to the client device using the first mode of delivery;
determining, by the server based at least on the size of the file, the total time to provide the full delivery of the file, and the amount of available bandwidth determined via the first mode of delivery of the file initiated for the time period, to use the second mode of delivery instead of the first mode of delivery; and
providing, by the server responsive to the determination, the file to the client device via the second mode of delivery.

### Claim 2 (depends on 1)

The method of claim 1, further comprising using, by the server, a channel between the client device and the server to provide the file to the client device in accordance with one of the plurality of modes of delivery.

### Claim 3 (depends on 1)

The method of claim 1, further comprising providing, by the server, a portion of the file using the first mode of delivery during the time period.

### Claim 4 (depends on 3)

The method of claim 3, further comprising determining, by the server, that the second mode of delivery provides access to the file for the client device in a second time period less than a total time period for which the first mode of delivery provides access to the file.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, using, by the server, a virtual stream to provide the file to the client device via the second mode of delivery.

### Claim 6

A method comprising:
receiving, by a server, a request for a file from a client device, the server configured to provide the file to the client device via a plurality of modes of delivery, wherein a first mode of delivery of the plurality of modes of delivery is to download of the file to the client device and a second mode of delivery of the plurality of modes of delivery is to provide a virtual version of the file via streaming to the client device;
initiating, by the server responsive to receiving the request, the first mode of delivery of the file to the client device for a time period to determine a size of the file, an amount of available bandwidth, and a total time to provide for a full delivery of the file to the client device using the first mode of delivery;
determining, by the server based at least on the size of the file, the total time to provide the full delivery of the file, and the amount of available bandwidth determined via the first mode of delivery of the file initiated for the time period, to use the first mode of delivery instead of the second mode of delivery; and
continuing, by the server responsive to the determination, to provide the file to the client device via the first mode of delivery.

### Claim 7 (depends on 6)

The method of claim 6, further comprising using, by the server, a channel between the client device and the server to provide the file to the client device in accordance with one of the plurality of modes of delivery.

### Claim 8 (depends on 6)

The method of claim 6, further comprising providing, by the server, a portion of the file using the first mode of delivery during the time period.

### Claim 9 (depends on 6)

The method of claim 6, further comprising determining, by the server, that the second mode of delivery provides access to the file for the client device in a second time period greater than a total time period for which the first mode of delivery provides access to the file.

### Claim 10 (depends on 6)

The method of claim 6, wherein the first mode of delivery includes at least one of a full download of the file or a partial download of the file.

### Claim 11

A computing system comprising:
one or more processors configured to provide a file to a client device via a plurality of modes of delivery, wherein a first mode of delivery of the plurality of modes of delivery is to download of the file to the client device and a second mode of delivery of the plurality of modes of delivery is to provide a virtual version of the file via streaming to the client device;
wherein the one or more processors are configured to:
receive a request for the file from the client device;
initiate, responsive to receipt of the request, the first mode of delivery of the file to the client device for a time period to determine a size of the file, an amount of available bandwidth, and a total time to provide for a full delivery of the file to the client device using the first mode of delivery;
determine, based at least on the size of the file, the total time to provide the full delivery of the file, and the amount of available bandwidth determined via the first mode of delivery of the file initiated for the time period, to use the second mode of delivery instead of the first mode of delivery; and
providing, responsive to the determination, the file to the client device via the second mode of delivery.

### Claim 12 (depends on 11)

The computing system of claim 11, wherein the one or more processors are further configured to provide a portion of the file using the first mode of delivery during the time period.

### Claim 13 (depends on 11)

The computing system of claim 11, wherein the one or more processors are further configured to determine that the second mode of delivery provides access to the file for the client device in a second time period less than a total time period for which the first mode of delivery provides access to the file.

### Claim 14

A computing system comprising:
one or more processors configured to provide a file to a client device via a plurality of modes of delivery, wherein a first mode of delivery of the plurality of modes of delivery is to download of the file to the client device and a second mode of delivery of the plurality of modes of delivery is to provide a virtual version of the file via streaming to the client device;
wherein the one or more processors are configured to:
receive a request for the file from the client device;
initiate, responsive to receipt of the request, the first mode of delivery of the file to the client device for a time period to determine a size of the file, an amount of available bandwidth, and a total time to provide for a full delivery of the file to the client device using the first mode of delivery;
determine, based at least on the size of the file, the total time to provide the full delivery of the file, and the amount of available bandwidth determined via the first mode of delivery of the file initiated for the time period, to use the first mode of delivery instead of the second mode of delivery; and
continue, responsive to the determination, to provide the file to the client device via the first mode of delivery.

### Claim 15 (depends on 14)

The computing system of claim 14, wherein the one or more processors are further configured to provide a portion of the file using the first mode of delivery during the time period.

### Claim 16 (depends on 14)

The computing system of claim 14, wherein the one or more processors are further configured to determine that the second mode of delivery provides access to the file for the client device in a second time period greater than a total time period for which the first mode of delivery provides access to the file.
