# US 2014/0351541 A1 · Bundling File Permissions For Sharing Files

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

- Number: US 2014/0351541 A1
- Document ID: US20140351541A1
- Status: Published application
- Kind: A1
- Application number: 13/901,559
- Filed: 2013-05-23
- Published: 2014-11-27
- Earliest claimed: 2013-05-23
- Assignees: Microsoft Corporation
- Applicants: Microsoft Corporation
- Inventors: Mary Angelo; Brad Dodson; Emmanuel Miranda-Steiner; David Nichols; Daron Spektor
- Web page: https://patentgrep.com/patent/US20140351541A1

## CPC

- G06F 12/1416: {by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights (G06F12/1458 takes precedence)}
- G06F 3/0622: {in relation to access}
- G06F 3/0643: {Management of files}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/468: {Specific access rights for resources, e.g. using capability register}
- G06F 16/176: Support for shared access to files; File sharing support
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

When files or other objects are to be shared, a storage system creates a bundle object that identifies the objects to be shared, and the permissions associated with objects in that bundle object. Each object is marked as being associated with a bundle object. When the object is accessed, the storage system determines if the object is associated with a bundle object. The bundle object in turn is accessed to determine the permissions to be associated with that object for the entity accessing the object. Files and other objects can be shared without copying or moving them. Any collection of files or other objects, however selected or identified, can be shared through this mechanism. Using this mechanism, a user can select several files, and then share those files in one operation without copying or moving those files or creating a new folder for those files.

## Claims

### Claim 1

A computer—implemented process performed by a processor in a computer, comprising:
receiving an indication of objects to be shared into memory;
generating a bundle object;
storing data indicating that the shared objects are associated with the bundle object;
storing permissions for accessing the shared objects with the bundle object.

### Claim 2 (depends on 1)

The computer-implemented process of claim 1, wherein the permissions indicate entities permitted to access the shared objects.

### Claim 3 (depends on 1)

The computer-implemented process of claim 1, wherein the bundle object is created outside of a file system name space for a user.

### Claim 4 (depends on 1)

The computer-implemented process of claim 1, further comprising:
in response to an entity accessing an object associated with a bundle object, accessing the permissions for the bundled object; and
determining whether the entity has permission to access the object using the permissions for the bundle object.

### Claim 5 (depends on 1)

The computer-implemented process of claim 1, further comprising:
presenting a user interface allowing a user to share selected file objects without copying or moving the selected file objects.

### Claim 6 (depends on 1)

The computer-implemented process of claim 1, further comprising:
presenting a user interface indicating, for a user, file objects shared by that user, the user interface indicating bundle objects associated with the user and file objects within the bundle objects.

### Claim 7 (depends on 1)

The computer-implemented process of claim 1, further comprising:
identifying objects shared with an entity by other entities.

### Claim 8

An article of manufacture comprising:
computer storage with computer program instructions stored in the computer storage, such that the computer program instructions, when processed by a processing device, instruct the processing device to perform a process comprising:
receiving an indication of objects to be shared into memory;
generating a bundle object;
storing data indicating that the shared objects are associated with the bundle object;
storing permissions for accessing the shared objects with the bundle object.

### Claim 9 (depends on 8)

The article of manufacture of claim 8, wherein the permissions indicate entities permitted to access the shared objects.

### Claim 10 (depends on 8)

The article of manufacture of claim 8, wherein the bundle object is created outside of a file system name space for a user.

### Claim 11 (depends on 8)

The article of manufacture of claim 8, wherein the process performed by the processing device further comprises:
in response to an entity accessing an object associated with a bundle object, accessing the permissions for the bundled object; and
determining whether the entity has permission to access the object using the permissions for the bundle object.

### Claim 12 (depends on 8)

The article of manufacture of claim 8, wherein the process performed by the processing device further comprises:
presenting a user interface allowing a user to share selected file objects without copying or moving the selected file objects.

### Claim 13 (depends on 8)

The article of manufacture of claim 8, wherein the process performed by the processing device further comprises:
presenting a user interface indicating, for a user, file objects shared by that user, the user interface indicating bundle objects associated with the user and file objects within the bundle objects.

### Claim 14 (depends on 8)

The article of manufacture of claim 8, wherein the process performed by the processing device further comprises:
identifying objects shared with an entity by other entities.

### Claim 15

A computer system comprising:
one or more server computers connected to one or more storage devices and accessible over a computer network by a plurality of client computers, through which users access the one or more server computers to store file objects in a file system maintained by the server computer for file objects stored on the one or more storage devices, the server computers being configured to:
receive an indication of objects to be shared into memory;
generate a bundle object;
store data indicating that the objects are associated with the bundle object;
store permissions for accessing the objects with the bundle object.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the permissions indicate entities permitted to access the shared objects.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein the bundle object is created outside of a file system name space for a user.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein the server computers are further configured to, in response to an entity accessing an object associated with a bundle object, access the permissions for the bundled object, and determine whether the entity has permission to access the object using the permissions for the bundle object.

### Claim 19 (depends on 15)

The computer system of claim 15, wherein the server computers are further configured to present a user interface indicating, for a user, file objects shared by that user, the user interface indicating bundle objects associated with the user and file objects within the bundle objects.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the server computers are further configured to present a user interface allowing a user to share selected file objects without copying or moving the selected file objects.
