IP Library › Granted Patent US 11,461,279
Granted Patent B2
US 11,461,279 · App. 16/146,588 · Granted Oct 4, 2022

Share pools for sharing files via a storage service

Inventors: James F. Lockwood (San Francisco, CA); Van Hong (Sunnyvale, CA); Xiaonan Ma (Sunnyvale, CA); Sugam Jain (San Francisco, CA); Pavel V. Dudrenov (San Francisco, CA); Ori Herrnstadt (Los Altos Hills, CA)
Assignee: Apple Inc.
G06F16/176G09B5/08H04L67/01H04L67/1097
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,461,279
App. No.
16/146,588
Granted
Oct 4, 2022
Kind
B2
Abstract

This application relates to a client-server architecture that enables file sharing between an instructor and a class. The files are stored in a storage service accessible via a network, and a separate copy of each file can be shared with each student in the class. In order to facilitate the sharing of multiple copies of the file, a share pool is created in a partition of the storage service allocated to the instructor. The share pool includes a number of stub files that are placeholders for clones of the shared file. A share handler service receives a request to share a file with a class, requests a number of stub files from the share pool, and utilizes the number of stub files to generate clones of the shared file in the partition of the storage service. Students are then granted access to the clones in the partition.

Claims (62)

1. A method for providing access to a file through a storage service, the method comprising, by a hardware server device that implements the storage service:

generating a share pool in a partition of the storage service, wherein the share pool includes a plurality of stub files;

receiving a request to establish a plurality of clones that correspond to the file;

selecting, based on a number of the plurality of clones, a subset of stub files from the plurality of stub files;

migrating the subset of stub files from the share pool to a folder associated with the file, such that the subset of stub files are removed from share pool and added to the folder;

establishing the plurality of clones by updating the subset of stub files to reference the file;

sharing the plurality of clones with a plurality of users of the storage service to enable client devices to access the file; and

in response to identifying, based on a satisfaction of a threshold, that the share pool requires additional stub files:

generating the additional stub files to replenish the share pool.

2. The method of claim 1 , wherein each stub file of the plurality of stub files is a copy of a seed file that does not include any content related to the file.

3. The method of claim 1 , wherein the partition of the storage service is allocated to an instructor for a class.

4. The method of claim 3 , wherein each clone of the plurality of clones includes an identifier associated with a respective student enrolled in the class.

5. The method of claim 1 , wherein:

the threshold is satisfied when a number of the plurality of stub files in the share pool is less than a predefined amount; and

the threshold value is based on a multiple of an average number of users associated with the partition of the storage service.

6. The method of claim 1 , wherein establishing the plurality of clones by updating the subset of stub files based on the file further comprises, for each stub file of the subset of stub files:

changing a file name for the stub file; and

copying content related to the file into the stub file.

7. The method of claim 6 , wherein:

the share pool is a hidden folder in the partition, and

the folder is a visible folder.

8. The method of claim 1 , wherein the storage service implements:

a document application programming interface (API) for performing file operations on files in the partition of the storage service; and

a share API for granting access to the files in the partition of the storage service to other users of the storage service.

9. A non-transitory computer readable storage medium configured to store instructions that, when executed by at least one hardware processor included in a hardware server device, cause the hardware server device to provide access to a file through a storage service implemented the hardware server device, by carrying out steps that include:

generating a share pool in a partition of the storage service, wherein the share pool includes a plurality of stub files;

receiving a request to establish a plurality of clones that correspond to the file;

selecting, based on a number of the plurality of clones, a subset of stub files from the plurality of stub files;

migrating the subset of stub files from the share pool to a folder associated with the file, such that the subset of stub files are removed from share pool and added to the folder;

establishing the plurality of clones by updating the subset of stub files to reference the file;

sharing the plurality of clones with a plurality of users of the storage service to enable client devices to access the file; and

in response to identifying, based on a satisfaction of a threshold, that the share pool requires additional stub files:

generating the additional stub files to replenish the share pool.

10. The non-transitory computer readable storage medium of claim 9 , wherein each stub file of the plurality of stub files is a copy of a seed file that does not include any content related to the file.

11. The non-transitory computer readable storage medium of claim 9 , wherein the partition of the storage service is allocated to an instructor for a class.

12. The non-transitory computer readable storage medium of claim 11 , wherein each clone of the plurality of clones includes an identifier associated with a respective student enrolled in the class.

13. The non-transitory computer readable storage medium of claim 9 , wherein:

the threshold is satisfied when a number of the plurality of stub files in the share pool is less than a predefined amount; and

the threshold value is based on a multiple of an average number of users associated with the partition of the storage service.

14. The non-transitory computer readable storage medium of claim 9 , wherein establishing the plurality of clones by updating the subset of stub files based on the file further comprises, for each stub file of the subset of stub files:

changing a file name for the stub file; and

copying content related to the file into the stub file.

15. The non-transitory computer readable storage medium of claim 14 , wherein:

the share pool is a hidden folder in the partition, and

the folder is a visible folder.

16. A hardware server device that implements a storage service for providing access to a file, the hardware server device comprising:

at least one hardware processor; and

at least one memory storing instructions that, when executed by the at least one hardware processor, cause the hardware server device to carry out steps that include:

generating a share pool in a partition of the storage service, wherein the share pool includes a plurality of stub files;

receiving a request to establish a plurality of clones that correspond to the file;

selecting, based on a number of the plurality of clones, a subset of stub files from the plurality of stub files;

migrating the subset of stub files from the share pool to a folder associated with the file, such that the subset of stub files are removed from share pool and added to the folder;

establishing the plurality of clones by updating the subset of stub files to reference the file;

sharing the plurality of clones with a plurality of users of the storage service to enable client devices to access the file; and

in response to identifying, based on a satisfaction of a threshold, that the share pool requires additional stub files:

generating the additional stub files to replenish the share pool.

17. The hardware server device of claim 16 , wherein each stub file of the plurality of stub files is a copy of a seed file that does not include any content related to the file.

18. The hardware server device of claim 16 , wherein the partition of the storage service is allocated to an instructor for a class.

19. The hardware server device of claim 18 , wherein each clone of the plurality of clones includes an identifier associated with a respective student enrolled in the class.

20. The hardware server device of claim 16 , wherein:

the threshold is satisfied when a number of the plurality of stub files in the share pool is less than a predefined amount; and

the threshold value is based on a multiple of an average number of users associated with the partition of the storage service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2018
From: LOCKWOOD, JAMES F.; HONG, VAN; MA, XIAONAN; JAIN, SUGAM; DUDRENOV, PAVEL V.; HERRNSTADT, ORI
To: APPLE INC.
Reel/Frame 047170/0064 →
Continuity (2)
Provisional Application 62648364 · Mar 26, 2018
Related Publication 20190294700A1 · Sep 26, 2019