IP Library Granted Patent US 11,509,664
Granted Patent B2
US 11,509,664 · App. 16/864,554 · Granted Nov 22, 2022

Secure sent message identifier

Inventors: Jack Dubie (Menlo Park, CA); Michael Roeder (Oakland, CA); Steven Kabbes (Mountain View, CA)
Assignee: Dropbox, Inc.
H04L63/12G06Q10/107H04L51/212H04L63/126H04L9/3239H04L51/216
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,509,664
App. No.
16/864,554
Granted
Nov 22, 2022
Kind
B2
Abstract

A message management service allows a user to access and manage messages from various message services. The user can access the message management service using a message management client application executing on a client device and can draft messages using the message management client application and send the messages through the different message services. The message management service can add information to messages sent using the message management client application that can be used to identify and organize the messages. A secure sent-message identifier can be added to messages sent by the message management service to reliably indicate that the messages were sent by the message management service.

Claims (77)

1. A method, comprising:

identifying, by a message management service, a message to be sent from a user to one or more recipients;

generating, by the message management service, a thread identifier for the message by hashing at least a first portion of the message;

assigning, by the message management service, the thread identifier to the message;

generating, by the message management service, a sent-message identifier for the message by combining and hashing the thread identifier and a private key of the user, wherein the sent-message identifier indicates that the message was sent using the message management service;

adding, by the message management service, the sent-message identifier to the message; and

sending, by the message management service, the message and the sent-message identifier to a message provider to be sent to the one or more recipients.

2. The method of claim 1 , further comprising:

identifying, by the message management service, a second message to be sent to the one or more recipients;

determining, by the message management service, that the second message is related to the message; and

based on the second message being related to the message, assigning, by the message management service, the thread identifier to the second message.

3. The method of claim 2 , further comprising:

identifying, by the message management service, a child message associated with the second message by locating the thread identifier in the child message;

generating a second sent-message identifier for the child message, wherein the second sent-message identifier for the child message includes a hash value generated using at least the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

4. The method of claim 1 , further comprising:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using a third portion of the message; and

determining that the second sent-message identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is valid if the sent-message identifier matches the second sent-message identifier.

5. The method of claim 1 , further comprising:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using a third portion of the message; and

determining that the second sent-message identifier is not valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is not valid if the sent-message identifier does not match the second sent-message identifier.

6. The method of claim 1 , wherein hashing at least the first portion of the message is performed using a secure hash algorithm.

7. The method of claim 1 , wherein the first portion of the message comprises an account identifier.

8. The method of claim 1 , wherein the sent-message identifier is further based on a second portion of the message.

9. The method of claim 1 , further comprising:

determining, by the message management service, that the message is not related to any previous messages.

10. A non-transitory computer readable medium including one or more instructions that, when executed by a message management service, cause the message management service to perform operations comprising:

receiving, by the message management service, a message to be sent from a user to one or more recipients;

generating, by the message management service, a thread identifier for the message by hashing at least a first portion of the message;

assigning, by the message management service, the thread identifier to the message;

generating, by the message management service, a sent-message identifier for the message by combining and hashing the thread identifier and a private key of the user, wherein the sent-message identifier indicates that the message was sent using the message management service;

adding, by the message management service, the sent-message identifier to the message; and

sending, by the message management service, the message and the sent-message identifier to a message provider to be sent to the one or more recipients.

11. The non-transitory computer readable medium of claim 10 , further comprising:

identifying, by the message management service, a second message to be sent to the one or more recipients;

determining, by the message management service, that the second message is related to the message; and

based on the second message being related to the message, assigning, by the message management service, the thread identifier to the second message.

12. The non-transitory computer readable medium of claim 11 , further comprising:

identifying, by the message management service, a child message associated with the second message by locating the thread identifier in the child message;

generating a second sent-message identifier for the child message, wherein the second sent-message identifier for the child message includes a hash value generated using the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

13. The non-transitory computer readable medium of claim 10 , further comprising:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a second hash value generated using a third portion of the message; and

determining that the second sent-message identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is valid if the sent-message identifier matches the second sent-message identifier.

14. The non-transitory computer readable medium of claim 10 , further comprising:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a second hash value generated using a third portion of the message; and

determining that the second sent-message identifier is not valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is not valid if the sent-message identifier does not match the second sent-message identifier.

15. The non-transitory computer readable medium of claim 10 , wherein the first portion of the message comprises an account identifier.

16. A system, comprising:

one or more processors; and

a memory having one or more instructions stored thereon, which, when executed by a message management service, performs one or more operations comprising:

identifying, by the message management service, a message to be sent from a user to one or more recipients;

generating, by the message management service, a thread identifier for the message by hashing at least a first portion of the message;

assigning, by the message management service, the thread identifier to the message;

generating, by the message management service, a sent-message identifier for the message by combining and hashing the thread identifier and a private key of the user, wherein the sent-message identifier indicates that the message was sent using the message management service;

adding, by the message management service, the sent-message identifier to the message; and

sending, by the message management service, the message and the sent-message identifier to a message provider to be sent to the one or more recipients.

17. The system of claim 16 , wherein the one or more operations further comprise:

identifying, by the message management service, a second message to be sent to the one or more recipients;

determining, by the message management service, that the second message is related to the message; and

based on the second message being related to the message, assigning, by the message management service, the thread identifier to the second message.

18. The system of claim 17 , wherein the one or more operations further comprise:

identifying, by the message management service, a child message associated with the second message by locating the thread identifier in the child message;

generating a second sent-message identifier for the child message, wherein the second sent-message identifier for the child message includes a hash value generated using at least the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

19. The system of claim 16 , wherein the one or more operations further comprise:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using a third portion of the message; and

determining that the second sent-message identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is valid if the sent-message identifier matches the second sent-message identifier.

20. The system of claim 16 , wherein the one or more operations further comprise:

retrieving the message, by the message management service, from the message provider;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a second hash value generated using a third portion of the message; and

determining that the second sent-message identifier is not valid by comparing the sent-message identifier to the second sent-message identifier, wherein the third portion of the message is not valid if the sent-message identifier does not match the second sent-message identifier.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: DUBIE, JACK; ROEDER, MICHAEL; KABBES, STEVEN
To: DROPBOX, INC.
Reel/Frame 052548/0796 →
Continuity (3)
Continuation 14139805 · Dec 23, 2013
Provisional Application 61893844 · Oct 21, 2013
Related Publication 20200259772A1 · Aug 13, 2020