# US 2017/0289301 A1 · Caching shared content in distributed systems

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

- Number: US 2017/0289301 A1
- Document ID: US20170289301A1
- Status: Published application
- Kind: A1
- Application number: 15/084,583
- Filed: 2016-03-30
- Published: 2017-10-05
- Earliest claimed: 2016-03-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Vladimir Gamaley; Avi Ribchinsky
- Web page: https://patentgrep.com/patent/US20170289301A1

## CPC

- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An indication from a first user is received. The indication includes uploading a first file to transfer the firs file from the first user to a second user. A social graph is determined. Whether the first file is stored in a repository associated with any user found in the social graph is determined. Responsive to determining the first file is stored in the repository of any of the users found in the social graph, a link to the first file found in the repository is transmitted to the second user. Responsive to determining the first file is not stored in the repository of any of the users found in the social graph, the first file is uploaded. Responsive to uploading the first file, the uploaded first file is transmitted to the second user.

## Claims

### Claim 1

A method for storing and referencing shared files, the method comprising:
receiving, by one or more computer processors, an indication from a first user, wherein the indication includes uploading a first file to transfer the first file from the first user to a second user;
determining, by one or more computer processors, a social graph;
determining, by one or more computer processors, whether the first file is stored in a repository associated with any user found in the social graph;
responsive to determining the first file is stored in the repository of any of the users found in the social graph, transmitting, by one or more computer processors, a link to the first file found in the repository to the second user;
responsive to determining the first file is not stored in the repository of any of the users found in the social graph, uploading, by one or more computer processors, the first file; and
responsive to uploading the first file, transmitting, by one or more computer processors, the uploaded first file to the second user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the social graph is a social graph associated with the first user.

### Claim 3 (depends on 1)

The method of claim 1, wherein the social graph is a social graph associated with the second user.

### Claim 4 (depends on 1)

The method of claim 1, wherein the social graph is a first social graph associated with the first user and a second social graph associated with the second user.

### Claim 5 (depends on 1)

The method of claim 1, further comprises:
wherein the step of determining whether the first file is stored in a repository associated with any user found in the social graph comprises:
determining, by one or more computer processors, at least one repository associated with any user found in the social graph; and
determining, by one or more computer processors, whether any files in the determined at least one repository has at least one identical metadata of the first file, wherein the metadata are one or more of the following: a name of the first file, a size of the first file, an author of the first file, a date the first file was created, and a unique identification of the first file;
wherein the step of responsive to determining the first file is stored in the repository of any of the users found in the social graph, transmitting, by one or more computer processors, a link to the first file found in the repository to the second user comprises:
responsive to determining a second file in the determined at least one repository has at least one identical metadata of the first file, transmitting, by one or more computer processors, a link to the second file found in the repository to the second user; and
wherein the steps of responsive to determining the first file is not stored in the repository of any of the users found in the social graph, uploading, by one or more computer processors, the first file; and responsive to uploading the first file, transmitting, by one or more computer processors, the uploaded first file to the second user comprise:
responsive to determining any file in the determined at least one repository does not have at least one identical metadata of the first file, uploading, by one or more computer processors, the first file; and
responsive to uploading the first file, transmitting, by one or more computer processors, the uploaded first file to the second user.

### Claim 6 (depends on 1)

The method of claim 1, wherein the social graph is one or more users that are connected to one another on a social network.

### Claim 7

A computer program product for storing and referencing shared files, the computer program product comprising:
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to receive an indication from a first user, wherein the indication includes uploading a first file to transfer the first file from the first user to a second user;
program instructions to determine a social graph;
program instructions to determine whether the first file is stored in a repository associated with any user found in the social graph;
responsive to determining the first file is stored in the repository of any of the users found in the social graph, program instructions to transmit a link to the first file found in the repository to the second user;
responsive to determining the first file is not stored in the repository of any of the users found in the social graph, program instructions to upload the first file; and
responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the social graph is a social graph associated with the first user.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the social graph is a social graph associated with the second user.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein the social graph is a first social graph associated with the first user and a second social graph associated with the second user.

### Claim 11 (depends on 7)

The computer program product of claim 7, further comprising:
wherein the program instructions to determine whether the first file is stored in a repository associated with any user found in the social graph comprises:
program instructions to determine at least one repository associated with any user found in the social graph; and
program instructions to determine whether any files in the determined at least one repository has at least one identical metadata of the first file, wherein the metadata are one or more of the following: a name of the first file, a size of the first file, an author of the first file, a date the first file was created, and a unique identification of the first file;
wherein responsive to determining the first file is stored in the repository of any of the users found in the social graph, program instructions to transmit a link to the first file found in the repository to the second user comprises:
responsive to determining a second file in the determined at least one repository has at least one identical metadata of the first file, program instructions to transmit a link to the second file found in the repository to the second user; and
wherein responsive to determining the first file is not stored in the repository of any of the users found in the social graph, program instructions to upload the first file; and responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user comprise:
responsive to determining any file in the determined at least one repository does not have at least one identical metadata of the first file, program instructions to upload the first file; and
responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user.

### Claim 12 (depends on 7)

The computer program product of claim 7, wherein the social graph is one or more users that are connected to one another on a social network.

### Claim 13

A computer system for storing and referencing shared files, the computer system comprising:
one or more computer processors;
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to receive an indication from a first user, wherein the indication includes uploading a first file to transfer the first file from the first user to a second user;
program instructions to determine a social graph;
program instructions to determine whether the first file is stored in a repository associated with any user found in the social graph;
responsive to determining the first file is stored in the repository of any of the users found in the social graph, program instructions to transmit a link to the first file found in the repository to the second user;
responsive to determining the first file is not stored in the repository of any of the users found in the social graph, program instructions to upload the first file; and
responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the social graph is a social graph associated with the first user.

### Claim 15 (depends on 13)

The computer system of claim 13, wherein the social graph is a social graph associated with the second user.

### Claim 16 (depends on 13)

The computer system of claim 13, wherein the social graph is a first social graph associated with the first user and a second social graph associated with the second user.

### Claim 17 (depends on 13)

The computer system of claim 13, further comprising:
wherein the program instructions to determine whether the first file is stored in a repository associated with any user found in the social graph comprises:
program instructions to determine at least one repository associated with any user found in the social graph; and
program instructions to determine whether any files in the determined at least one repository has at least one identical metadata of the first file, wherein the metadata are one or more of the following: a name of the first file, a size of the first file, an author of the first file, a date the first file was created, and a unique identification of the first file;
wherein responsive to determining the first file is stored in the repository of any of the users found in the social graph, program instructions to transmit a link to the first file found in the repository to the second user comprises:
responsive to determining a second file in the determined at least one repository has at least one identical metadata of the first file, program instructions to transmit a link to the second file found in the repository to the second user; and
wherein responsive to determining the first file is not stored in the repository of any of the users found in the social graph, program instructions to upload the first file; and responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user comprise:
responsive to determining any file in the determined at least one repository does not have at least one identical metadata of the first file, program instructions to upload the first file; and
responsive to uploading the first file, program instructions to transmit the uploaded first file to the second user.

### Claim 18 (depends on 13)

The computer system of claim 13, wherein the social graph is one or more users that are connected to one another on a social network.
