IP Library Granted Patent US 12681903
Granted Patent B2
US 12681903 · App. 17/936,804 · Granted Jul 14, 2026

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/06H04L67/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 12681903
App. No.
17/936,804
Granted
Jul 14, 2026
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 (41)

1 . A method for distributing files to users, the method comprising, at a hardware server device that implements a storage service:

managing a share pool that includes a plurality of stub files, wherein each stub file of the plurality of stub files is a copy of a seed file that is an empty placeholder file, such that each stub file of the plurality of stub files correspondingly is an empty placeholder file;

generating, prior to managing the share pool, generating the share pool in a partition of a storage device, wherein the partition is allocated to an instructor for a class;

receiving a request to distribute a file to a plurality of users;

selecting, from the plurality of stub files, a group of stub files based on a number of the plurality of users;

generating a plurality of clones of the file by updating the group of stub files to reference the file;

migrating, prior to generating the plurality of clones of the file, the group of stub files from the share pool to a folder associated with the file; and

sharing the plurality of clones of the file with the plurality of users.

2 . The method of claim 1 , wherein the request is received in conjunction with a selection of the file performed by way of a user interface (UI).

3 . The method of claim 1 , wherein each clone of the file in the plurality of clones of the file includes an identifier associated with a respective user of the plurality of users.

4 . The method of claim 1 , further comprising, in response to identifying that a number of the plurality of stub files does not satisfy a threshold:

generating additional stub files to supplement the plurality of stub files.

5 . The method of claim 1 , wherein generating the plurality of clones of the file by updating the group of stub files to reference the file comprises, for each stub file of the group of stub files:

changing a file name of the stub file; and

updating a reference of the stub file in accordance with a location of the file.

6 . A non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a hardware server device that implements a storage service, cause the hardware server device to distribute files to users, by carrying out steps that include:

managing a share pool that includes a plurality of stub files, wherein each stub file of the plurality of stub files is a copy of a seed file that is an empty placeholder file, such that each stub file of the plurality of stub files correspondingly is an empty placeholder file;

generating, prior to managing the share pool, generating the share pool in a partition of a storage device, wherein the partition is allocated to an instructor for a class;

receiving a request to distribute a file to a plurality of users;

selecting, from the plurality of stub files, a group of stub files based on a number of the plurality of users;

generating a plurality of clones of the file by updating the group of stub files to reference the file;

migrating, prior to generating the plurality of clones of the file, the group of stub files from the share pool to a folder associated with the file; and

sharing the plurality of clones of the file with the plurality of users.

7 . The non-transitory computer readable storage medium of claim 6 , wherein the request is received in conjunction with a selection of the file performed by way of a user interface (UI).

8 . The non-transitory computer readable storage medium of claim 6 , wherein each clone of the file in the plurality of clones of the file includes an identifier associated with a respective user of the plurality of users.

9 . The non-transitory computer readable storage medium of claim 6 , wherein the steps further include, in response to identifying that a number of the plurality of stub files does not satisfy a threshold:

generating additional stub files to supplement the plurality of stub files.

10 . The non-transitory computer readable storage medium of claim 6 , wherein generating the plurality of clones of the file by updating the group of stub files to reference the file comprises, for each stub file of the group of stub files:

changing a file name of the stub file; and

updating a reference of the stub file in accordance with a location of the file.

11 . A hardware server device configured distribute files to users, the hardware server device comprising at least one processor configured to cause the hardware server device to implement a storage service and carry out steps that include:

managing a share pool that includes a plurality of stub files, wherein each stub file of the plurality of stub files is a copy of a seed file that is an empty placeholder file, such that each stub file of the plurality of stub files correspondingly is an empty placeholder file;

generating, prior to managing the share pool, generating the share pool in a partition of a storage device, wherein the partition is allocated to an instructor for a class;

receiving a request to distribute a file to a plurality of users;

selecting, from the plurality of stub files, a group of stub files based on a number of the plurality of users;

generating a plurality of clones of the file by updating the group of stub files to reference the file;

migrating, prior to generating the plurality of clones of the file, the group of stub files from the share pool to a folder associated with the file; and

sharing the plurality of clones of the file with the plurality of users.

12 . The hardware server device of claim 11 , wherein the request is received in conjunction with a selection of the file performed by way of a user interface (UI).

13 . The hardware server device of claim 11 , wherein each clone of the file in the plurality of clones of the file includes an identifier associated with a respective user of the plurality of users.

14 . The hardware server device of claim 11 , wherein the steps further include, in response to identifying that a number of the plurality of stub files does not satisfy a threshold: generating additional stub files to supplement the plurality of stub files.