IP Library Granted Patent US 11,431,826
Granted Patent B2
US 11,431,826 · App. 16/240,221 · Granted Aug 30, 2022

Secure demand-driven file distribution

Inventors: Craig Farley Newell (Atlanta, GA); Michael Robert Jones (Hudson, OH); Ravishankar Chamarajnagar (Atlanta, GA); Hai James Le (Cumming, GA)
Assignee: AirWatch LLC
H04L67/56H04L67/02H04L67/10
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 11,431,826
App. No.
16/240,221
Granted
Aug 30, 2022
Kind
B2
Abstract

Computer networks for secure demand-driven file distribution are described. In one example, a client device receives a notification to check in for updates. In response, the client device checks in with a device services computing device on a computer network. The device services computing device determines a path list to certain cache computing devices on the computer network for receipt of the files, builds a markup file including the path list to the files, and transmits the markup file to the client device. The markup file can also include unique identifiers of the files and an encryption key for secure distribution of the files. Using the markup file, the client device can request the files, and the computer network is physically and logically arranged to distribute the files among the cache computing devices and to the client device in a secure and demand-driven manner.

Claims (58)

1. A system for file distribution, comprising:

a cache computing device communicatively coupled to a network, the cache computing device comprising one among a plurality of cache computing devices in the network, the cache computing device being configured to:

receive a request for a file from a client device, the request comprising a unique file identifier for the file and a path list to obtain the file, the path list identifying two or more of the plurality of cache computing devices in the network;

determine whether a repository in the cache computing device stores the file;

in an instance in which the repository does not store the file, request the file from a second cache computing device over the network based on the path list also identifying the second cache computing device;

decrypt the file based on an encryption key for the file; and

distribute the file to the client device over the network.

2. The system of claim 1 , wherein:

the plurality of cache computing devices are logically arranged in a plurality of peer levels in the network; and

the path list identifies one or more of the plurality of cache computing devices in each of the plurality of peer levels in the network.

3. The system of claim 2 , wherein:

the cache computing device and the second cache computing device are both logically arranged in a first peer level among the plurality of peer levels in the network.

4. The system of claim 2 , wherein:

the cache computing device is logically arranged in a first peer level among the plurality of peer levels in the network; and

the second cache computing device is logically arranged in a second peer level among the plurality of peer levels in the network.

5. The system of claim 2 , wherein:

the path list to obtain the file is generated by a global cache computing device based on a network address of the client device and a network distribution configuration for the plurality of cache computing devices.

6. The system of claim 1 , wherein:

the request for the file from the client device comprises a markup file; and

the markup file includes the path list, a time-sensitive token associated with the path list, a unique file identifier for the file, and a unique key identifier for the encryption key for the file.

7. The system of claim 6 , wherein:

the cache computing device is further configured to determine whether to accept or reject the request based on the time-sensitive token.

8. The system of claim 1 , wherein:

in an instance in which the second cache computing device does not store the file, the cache computing device is further configured to request the file from a device services computing device over the network based on the path list.

9. A method for file distribution, comprising:

receiving, by a cache computing device, a request for a file from a client device over a network, the cache computing device comprising one among a plurality of cache computing devices in the network, the request comprising a unique file identifier for the file and a path list to obtain the file, the path list identifying two or more of the plurality of cache computing devices in the network;

determining, by a cache computing device, whether a repository in the cache computing device stores the file;

in an instance in which the repository does not store the file, requesting, by the cache computing device, the file from a second cache computing device over the network based on the path list also identifying the second cache computing device;

decrypting, by the cache computing device, the file based on an encryption key for the file; and

distributing, by the cache computing device, the file to the client device over the network.

10. The method of claim 9 , wherein:

the plurality of cache computing devices are logically arranged in a plurality of peer levels in the network; and

the path list identifies one or more of the plurality of cache computing devices in each of the plurality of peer levels in the network.

11. The method of claim 10 , wherein:

the cache computing device and the second cache computing device are both logically arranged in a first peer level among the plurality of peer levels in the network.

12. The method of claim 10 , wherein:

the cache computing device is logically arranged in a first peer level among the plurality of peer levels in the network; and

the second cache computing device is logically arranged in a second peer level among the plurality of peer levels in the network.

13. The method of claim 10 , wherein:

the path list to obtain the file is generated by a global cache computing device based on a network address of the client device and a network distribution configuration for the plurality of cache computing devices.

14. The method of claim 9 , wherein:

the request for the file from the client device comprises a markup file; and

the markup file includes the path list, a time-sensitive token associated with the path list, a unique file identifier for the file, and a unique key identifier for the encryption key for the file.

15. The method of claim 14 , further comprising:

determining, by the cache computing device, whether to accept or reject the request based on the time-sensitive token.

16. The method of claim 15 , further comprising:

in an instance in which the second cache computing device does not store the file, requesting, by the cache computing device, the file from a device services computing device over the network based on the path list.

17. A non-transitory computer-readable medium embodying program code executable in one or more computing devices, the program code being configured to cause at least one of the one or more computing devices to at least:

receive a request for a file from a client device over a network, the request comprising a unique file identifier, a unique key identifier for the file, and a path list to obtain the file, the path list identifying two or more of a plurality of cache computing devices in the network;

determine whether a repository in the cache computing device stores the file, the cache computing device comprising one among the plurality of cache computing devices in the network;

in an instance in which the repository does not store the file, request the file from a second cache computing device over the network based on the path list also identifying the second cache computing device;

decrypt the file based on the unique key identifier; and

distribute the file to the client device over the network.

18. The non-transitory computer-readable medium of claim 17 , wherein:

the request for the file further comprises a time-sensitive token; and

the program code is further configured to cause at least one of the one or more computing devices to at least determine whether to accept or reject the request based on the time-sensitive token.

19. The non-transitory computer-readable medium of claim 18 , wherein the program code is further configured to cause at least one of the one or more computing devices to at least:

in an instance in which the second cache computing device does not store the file, request the file from a device services computing device over the network based on the path list.

Assignments (2)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: AIRWATCH LLC
To: OMNISSA, LLC
Reel/Frame 068327/0670 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →