# US 10,313,284 B1 · Upload and share files to a sharing service using a messaging client

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

- Number: US 10,313,284 B1
- Document ID: US10313284B1
- Status: Granted
- Kind: B1
- Application number: 14/571,104
- Filed: 2014-12-15
- Granted: 2019-06-04
- Earliest claimed: 2014-12-15
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Milo Oostergo; Floor Mesters; Ivo van Doorn
- Web page: https://patentgrep.com/patent/US10313284B1

## CPC

- H04L 51/08: Annexed information, e.g. attachments
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- H04L 51/18: Commands or executable codes
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Functionality is disclosed herein for uploading files to a sharing service using a messaging client. Utilizing the technologies described herein, a user may select one or more files to be shared by utilizing a messaging interface configured to compose an electronic message, such as an email. In response to receiving a selection of one or more files to be shared, the selected files are communicated to a sharing service where the selected files are stored on one or more servers. In addition, some configurations generate one or more links operative to provide access the one or more files stored on the servers of the sharing service. The links are then inserted into the electronic message. Using an implementation of the technologies disclosed herein, users may share files using a sharing service while composing a message without the need to interact with different controls or interfaces of multiple services.

## Claims

### Claim 1

A computer-implemented method, comprising:
causing a display of a message interface on a first computer, the message interface configured to compose an electronic message that is to be delivered by a messaging service to a recipient, the message interface comprising a user interface element dedicated to initiate sharing of a file via a sharing service without initiating attachment of the file to the electronic message, the sharing service configured to store shared files and a plurality of user records, wherein individual user records of the plurality of user records are associated with individual files of the shared files;
causing a display of a plurality of files on the first computer responsive to selection of the user interface element, the plurality of files including local files stored on the first computer and the shared files stored at the sharing service;
receiving, by the first computer, a selection of a selected file, the selected file being one of the plurality of files;
determining a user record associated with the selected file, the user record comprising at least user comments corresponding to the selected file;
determining user permissions associated with the user record, the user permissions defining access rights to at least the user comments;
based at least in part on receiving the selection,
generating, by the first computer, a graphical representation of a link that when selected accesses the file stored at the sharing service;
inserting, by the first computer, the graphical representation of the link into the electronic message without initiating attachment of the selected file to the electronic message;
causing, by the first computer, display of the graphical representation of the link within the electronic message within the message interface;
causing, by the first computer and based at least in part on the user permissions, display of at least a portion of the user comments; and
sending, by the first computer, a request to at least one of the sharing service or a second computer to cause the selected file to be communicated from a second computer to the sharing service for storage based at least in part the sharing service not storing a latest version of the selected file.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
based at least in part on receiving the selection, and prior to inserting the graphical representation of the link into the electronic message and receiving a user instruction to send the electronic message:
determining that the sharing service will store the latest version of the file after the second computer communicates the selected file to the sharing service,
causing an identifier associated with the file to be communicated from the first computer to the sharing service, and
generating the link to retrieve the file stored at the sharing service, wherein the link is based on the identifier.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising receiving, at the first computer, the link from the sharing service.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, wherein receiving, by the first computer, a selection of a selected file causes communication of the link from the sharing service to the messaging service.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising receiving, at the first computer, the link generated by the sharing service.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising receiving, at the first computer, an identifier associated with the file from the sharing service, and generating, by the first computer, the link based on the identifier.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein receiving, by the first computer, a selection of a selected file causes receiving, at the messaging service, an identifier associated with the file from the sharing service, and generating, at the messaging service, the link based on the identifier.

### Claim 8

An apparatus, comprising:
at least one processor; and
a non-transitory computer-readable storage medium having computer-executable instructions stored thereon which, when executed on the at least one processor, cause the apparatus to:
cause a display of a message interface on the apparatus, the message interface configured to compose an electronic message that is to be delivered by a messaging service to a recipient, the message interface comprising a user interface element dedicated to initiate sharing of a file via a sharing service without initiating attachment of the file to the electronic message, the sharing service configured to store shared files and a plurality of user records, wherein individual user records of the plurality of user records are associated with individual files of the shared files,
based at least in part on detecting a user selection of the user interface element, cause a display of a plurality of files, the plurality of files including at least the shared files,
prior to adding one or more graphical representations of one or more links to the electronic message and receiving a user instruction to send the electronic message, obtain the one or more links and insert the one or more graphical representations of the one or more links in the electronic message, wherein the one or more links are operative to access the file while stored at the sharing service,
determine a user record associated with the file, the user record comprising at least user comments corresponding to the file,
determine user permissions associated with the user record, the user permissions defining access rights to at least the user comments,
cause display of the one or more graphical representations of the one or more links within the electronic message within the message interface before receiving the user instruction to send the electronic message,
based at least in part on the user permissions, cause display of at least a portion of the user comments, and
cause the file to be communicated from a computing device to the sharing service for storage based at least in part on the sharing service not storing a latest version of the file.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the instructions further cause the apparatus to receive an identifier associated with the file from the sharing service, and wherein obtain the one or more links comprises generating the one or more links based on the identifier.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the instructions further cause the apparatus to:
prior to adding the one or more graphical representations of the one or more links to the electronic message and receiving a user instruction to send the electronic message, determine that the sharing service is storing the file; and
in response to determining that the sharing service is storing the file, communicate an identifier associated with the file to the sharing service, wherein obtain the one or more links comprises receiving the one or more links from the sharing service, and wherein the one or more links are based on the identifier.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein obtain the one or more links comprises the apparatus obtaining the one or more links from the sharing service.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein obtain the one or more links comprises the apparatus obtaining the one or more links from the messaging service.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the plurality of files includes local files stored on the apparatus and shared files stored at the sharing service.

### Claim 14

A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a first computer, cause the first computer to:
cause a display of a message interface on the first computer, the message interface configured to compose an electronic message that is to be delivered by a messaging service to a recipient, the message interface comprising a user interface element dedicated to initiate sharing of a file via a sharing service without initiating attachment of the file to the electronic message, the sharing service configured to store shared files and a plurality of user records, wherein individual user records of the plurality of user records are associated with individual files of the shared files;
based at least in part on detecting a user selection of the user interface element, cause a display of a plurality of files, the plurality of files including at least the shared files;
receive a selection of a file from the displayed plurality of files;
determine a user record associated with the file, the user record comprising at least user comments corresponding to the file;
determine user permissions associated with the user record, the user permissions defining access rights to at least the user comments;
prior to adding one or more graphical representations of one or more links to the file to the electronic message and receiving a user instruction to send the electronic message, cause a second computer to communicate the file from the second computer to the sharing service for storage of the file at the sharing service based at least in part on the sharing service not storing a current version of the file;
obtain the one or more links operative to access the file stored at the sharing service;
insert one or more graphical representations of the one or more links in the electronic message;
cause display of the one or more graphical representations of the one or more links within the electronic message within the message interface before receiving the user instruction to send the electronic message; and
based at least in part on the user permissions, cause display of at least a portion of the user comments.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the instructions further cause the first computer to receive an identifier associated with the file from the sharing service, and wherein obtain the one or more links comprises generating the one or more links based on the identifier.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the instructions further cause the first computer to:
determine that the sharing service is storing the file prior to adding the one or more graphical representations of the one or more links to the file to the electronic message and receiving a user instruction to send the electronic message; and
in response to determining that the sharing service is storing the file, communicate an identifier associated with the file to the sharing service, wherein obtain the one or more links comprises receiving the one or more links from the sharing service, and wherein the one or more links are based on the identifier.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein obtain the one or more links comprises receiving the one or more links from the sharing service.

### Claim 18 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein obtain the one or more links comprises receiving the one or more links from the messaging service.

### Claim 19 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein obtain the one or more links operative to access the file stored at the sharing service occurs prior to adding the one or more links to the file to the electronic message and receiving a user instruction to send the electronic message.

### Claim 20 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the plurality of files includes local files stored on the first computer and shared files stored at the sharing service.
