IP Library Granted Patent US 11,848,994
Granted Patent B2
US 11,848,994 · App. 16/896,819 · Granted Dec 19, 2023

Communication protocols for an online content management system

Inventors: Andrew Bortz (San Francisco, CA); Sang Tian (San Francisco, CA); Joshua Kaplan (San Francisco, CA); Devdatta Akhawe (Berkeley, CA)
Assignee: Dropbox, Inc.
H04L67/141H04L63/08H04L67/02H04L67/1095H04L67/306H04L67/51
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,848,994
App. No.
16/896,819
Granted
Dec 19, 2023
Kind
B2
Abstract

In some embodiments, a client application at a client device can receive, from a browser application at the client device, a first message including a unique identifier associated with a session of the browser application at a website associated with a content management system. The client application can extract the unique identifier from the first message, and establish a connection between the client application and the content management system by sending, from the client application to the content management system, a second message including the unique identifier. The client application can then receive, from the content management system through the connection, a third message relayed by the content management system from the website, where the third message is associated with the unique identifier.

Claims (36)

1. A computer-implemented method comprising:

receiving, by a client application at a client device, a unique identifier uniquely identifying a browser application;

sending, from the client application to a content management system, a message including the unique identifier of the browser application; and

in response to sending the message to the content management system, receiving, by the client application, a response message relayed by the content management system from the browser application to the client application, wherein the content management system includes a mapping of the client application to the browser application, the mapping established based on the unique identifier included in the message and used by the content management system to relay communications between the client application and the browser application.

2. The computer-implemented method of claim 1 , wherein the client application is installed at the client device and used to synchronize local content items at the client device or access content items hosted on the content management system through an interface of the client application.

3. The computer-implemented method of claim 1 , wherein the unique identifier is a nonce based on data or details specific to the browser application.

4. The computer-implemented method of claim 1 , wherein the message further includes metadata identifying a type of information that the client application is expecting or a source or session associated with the message that the client application is expecting.

5. The computer-implemented method of claim 1 , wherein the message includes a request, the message was based on the request for the content management system to relay the message to the client application.

6. The computer-implemented method of claim 5 , wherein the message further includes a second request for the content management system to relay to the client application any messages which includes a reference to the unique identifier.

7. The computer-implemented method of claim 1 , further comprising:

indicating a type of message that the client application is expecting from the browser application in the message.

8. The computer-implemented method of claim 1 , wherein the client application and the browser application are running at the client device under a same OS username and a match is verified by the content management system.

9. The computer-implemented method of claim 1 , further comprising:

receiving a second response message that is relayed to a different session than a first session that was relayed the response message, wherein the second response message and the response message both includes a same unique identifier.

10. A system comprising:

one or more processors;

a computer-readable medium; and

computer-readable instructions, stored on the computer-readable medium, that when executed cause the one or more processors to:

receive, by a client application at a client device, a unique identifier uniquely identifying a browser application;

send, from the browser application to a content management system, a message including the unique identifier of the browser application; and

in response to sending the message to the content management system, receive, by the client application, a response message relayed by the content management system from the browser application to the client application, wherein the content management system includes a mapping of the client application to the browser application, the mapping established based on the unique identifier included in the message and used by the content management system to relay communications between the client application and the browser application.

11. The system of claim 10 , wherein the client application is installed at the client device and used to synchronize local content items at the client device or access content items hosted on the content management system through an interface of the client application.

12. The system of claim 10 , wherein the unique identifier is a nonce based on data or details specific to the browser application.

13. The system of claim 10 , wherein the message further includes metadata identifying a type of information that the client application is expecting or a source or session associated with the message that the client application is expecting.

14. The system of claim 10 , wherein the message includes a request, the message was based on the request for the content management system to relay the message to the client application.

15. The system of claim 14 , wherein the message further includes a second request for the content management system to relay to the client application any messages which includes a reference to the unique identifier.

16. The system of claim 10 , the computer-readable instructions, when executed, further cause the one or more processors to indicate a type of message that the client application is expecting from the browser application in the message.

17. The system of claim 10 , the computer-readable instructions, when executed, further cause the one or more processors to determine, by the client application, if the message is a secure session request from the browser application.

18. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors, cause the one or more processors to:

receive, by a client application at a client device, a unique identifier uniquely identifying a browser application;

send, from the client application to a content management system, a message including the unique identifier of the browser application; and

in response to sending the message to the content management system, receiving, by the client application, a response message relayed by the content management system from the browser application to the client application, wherein the content management system includes a mapping of the client application to the browser application, the mapping established based on the unique identifier included in the message and used by the content management system to relay communications between the client application and the browser application.

19. The non-transitory computer-readable storage medium of claim 18 , wherein further instructions which, when executed by the one or more processors, cause the one or more processors to:

maintain a connection or communication channel between the client application and the content management system open based on the unique identifier.

20. The non-transitory computer-readable storage medium of claim 18 , wherein further instructions which, when executed by the one or more processors, cause the one or more processors to:

determine, by the client application, if the message is a secure session request from the browser application.

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 Jun 9, 2020
From: BORTZ, ANDREW; TIAN, SANG; KAPLAN, JOSHUA; AKHAWE, DEVDATTA
To: DROPBOX, INC.
Reel/Frame 052883/0200 →