IP Library Granted Patent US 11,381,657
Granted Patent B2
US 11,381,657 · App. 16/376,026 · Granted Jul 5, 2022

Enhanced file sharing systems and methods

Inventors: Praveen Raja Dhanabalan (Bangalore, IN); Anudeep Narasimhaprasad Athlur (Bangalore, IN); Nandikotkur Achyuth (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L67/2847H04L67/04H04L67/06
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,381,657
App. No.
16/376,026
Filed
Apr 5, 2019
Granted
Jul 5, 2022
Kind
B2
Art Unit
2451
USPC
709/219
Abstract

A computer system is provided. The computer system can include a memory, a network interface, and at least one processor coupled to the memory and the network interface. The at least one processor can be configured to identify a file to provide to a computing device; predict a geolocation at which the computing device is to request access to the file; predict a network bandwidth to be available to the computing device at the geolocation; determine, based on the file and the network bandwidth, a first portion of the file to store in a cache of the computing device; and download, via the network interface, the first portion of the file to the cache.

Claims (50)

1. A computer system comprising:

a memory;

a network interface; and

at least one processor coupled to the memory and the network interface and configured to communicate with an enterprise directory service to authenticate a user of a computing device,

identify a file to provide to the computing device,

predict, via a neural network machine learning process having weight parameters trained using historical data representative of file access, and based on a geolocation at which peers of the user belonging to a group specified within the enterprise directory service have accessed the file, a geolocation at which the computing device is to request access to the file,

predict, based on an average bandwidth at the geolocation in historical data representative of network bandwidth, the historical data filtered to include data specific to the peers of the user belonging to the group specified within the enterprise directory service, the average bandwidth comprising an average bandwidth among the peers belonging to the group, a network bandwidth to be available to the computing device at the geolocation,

determine, based on the file and the network bandwidth, a first portion of the file to store in a cache of the computing device, and

download, via the network interface, the first portion of the file to the cache.

2. The computer system of claim 1 , wherein the at least one processor is further configured to:

receive the file;

receive a request to share the file with the user; and

identify an association between the user and the computing device, wherein the at least one processor is configured to identify the file to provide to the computing device in response to receiving the file and/or receiving the request to share the file.

3. The computer system of claim 2 , wherein the at least one processor is configured to predict the network bandwidth by identifying the network bandwidth within output from a bandwidth prediction process.

4. The computer system of claim 3 , wherein the bandwidth prediction process comprises a machine learning process trained using the historical data representative of network bandwidth, a probability distribution function derived from the historical data representative of network bandwidth, and/or an identification process that accesses a cross-reference associating geolocations with the historical data representative of network bandwidth.

5. The computer system of claim 1 , wherein the at least one processor is configured to predict the geolocation by identifying the geolocation within output from a geolocation prediction process comprising the neural network machine learning process.

6. The computer system of claim 5 , wherein the geolocation prediction process further comprises, a probability distribution function derived from the historical data representative of file access, and/or an interoperation that identifies the geolocation within a schedule of the user associated with the computing device.

7. The computer system of claim 6 , wherein the historical data representative of file access is filtered to include data specific to the user, peers of the user, and/or files related to the file.

8. The computer system of claim 6 , wherein the interoperation that identifies the geolocation comprises an interoperation with a calendar service.

9. The computer system of claim 1 , wherein the at least one processor is configured to determine the first portion of the file to store in the cache by being configured to:

identify a processing rate of an application used to access to the file;

determine a second portion of the file that can be downloaded to the geolocation having the network bandwidth within a period of time required to process the first portion of the file at the processing rate; and

identify the first portion of the file as being a portion of the file other than the second portion of the file.

10. The computer system of claim 9 , wherein the file is a video file.

11. The computer system of claim 1 , further comprising the computing device associated with the user, the computing device including one or more processors configured to:

receive a message to download the first portion of the file;

determine an amount of unallocated storage available in the cache;

determine whether the amount of unallocated storage is sufficient to store the first portion of the file;

identify, in response to determining that the amount of unallocated storage is insufficient to store the first portion of the file, data stored in the cache having a size sufficient to store, in combination with the amount of unallocated storage, the first portion of the file; and

delete the data from the cache.

12. The computer system of claim 11 , wherein the one or more processors are configured to identify the data stored in the cache at least in part by identifying data of a previously accessed file.

13. The computer system of claim 1 , wherein the at least one processor is configured to communicate with the enterprise directory service via a wired or wireless connection to a Local Area Network, a Wide Area Network, a Personal Area Network, or the Internet.

14. A method of managing cached data, the method comprising:

receiving a file at a first computing device;

receiving a request to share the file with a user;

identifying an association between the user and a second computing device;

predicting, based on a geolocation at which peers of the user belonging to a group specified within an enterprise directory service have accessed the file, a geolocation at which the second computing device is to request access to the file;

predicting, via a neural network machine learning process having weight parameters trained using historical data representative of file access, and based on an average bandwidth at the geolocation in historical data representative of network bandwidth, the historical data filtered to include data specific to the peers of the user belonging to the group specified within the enterprise directory service, the average bandwidth comprising an average bandwidth among the peers belonging to the group, a network bandwidth to be available to the second computing device at the geolocation;

determining, based on the file and the network bandwidth, a first portion of the file to store in a cache of the second computing device;

authenticating, via communication with the enterprise directory service, the user of the second computing device; and

downloading the first portion of the file to the cache.

15. The method of claim 14 , wherein predicting the network bandwidth comprises identifying the network bandwidth within output from a bandwidth prediction process.

16. The method of claim 15 , wherein identifying the network bandwidth comprises executing a machine learning process trained using the historical data representative of network bandwidth, evaluating a probability distribution function derived from the historical data representative of network bandwidth, and/or identifying the network bandwidth within a cross-reference associating geolocations with the historical data representative of network bandwidth.

17. The method of claim 14 , wherein predicting the geolocation comprises identifying the geolocation within output from a geolocation prediction process.

18. The method of claim 17 , wherein identifying the geolocation within the output comprises executing a machine learning process trained using historical data representative of file access, evaluating a probability distribution function derived from the historical data representative of file access, and/or identifying the geolocation within a schedule of the user.

19. The method of claim 14 , wherein determining the first portion of the file to store in the cache comprises:

identifying a processing rate of an application used to access to the file;

determining a second portion of the file that can be downloaded to the geolocation having the network bandwidth within a period of time required to process the first portion of the file at the processing rate; and

identifying the first portion of the file as being a portion of the file other than the second portion of the file.

20. The method of claim 14 , wherein predicting the network bandwidth to be available to the second computing device at the geolocation comprises predicting the network bandwidth to be available via a wired or wireless connection to a Local Area Network, a Wide Area Network, a Personal Area Network, or the Internet.

Assignments (16)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Dec 26, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 069784/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2024
From: CITRIX SYSTEMS, INC.
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 069618/0836 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 067662/0568 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0525 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062079/0001 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.
Reel/Frame 069291/0536 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062112/0262 Recorded Nov 2, 2024
From: BANK OF AMERICA, N.A.
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0492 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 063340/0164 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0503 →
RELEASE OF CERTAIN PATENT SECURITY INTERESTS AT REEL/FRAME 062113/0470 Recorded Nov 2, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 069291/0514 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: DHANABALAN, PRAVEEN RAJA; ACHYUTH, NANDIKOTKUR; ATHLUR, ANUDEEP NARASIMHAPRASAD
To: CITRIX SYSTEMS, INC.
Reel/Frame 048881/0170 →
Continuity (1)
Related Publication 20200322445A1 · Oct 8, 2020