IP Library Granted Patent US 10,686,888
Granted Patent B2
US 10,686,888 · App. 15/867,514 · Granted Jun 16, 2020

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/16H04L67/306
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 10,686,888
App. No.
15/867,514
Granted
Jun 16, 2020
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 (42)

1. A computer-implemented method comprising:

receiving, by a client application at a client device, a unique identifier from a browser application at the client device, the unique identifier corresponding to an authenticated browser session for synchronizing content between the client device and a content management system via the browser application;

sending, from the client application to the content management system, a request to establish a communication channel between the browser application and the client application through the content management system, the request comprising the unique identifier, wherein the unique identifier provides an association between the authenticated browser session and an application session between the client application and the content management system; and

receiving, by the browser application via the authenticated browser session, a message relayed by the content management system through the communication channel, the communication channel being established based on the association between the authenticated browser session and the application session, wherein the message is associated with the application session.

2. The computer-implemented method of claim 1 , wherein the request comprises a secure session request from the browser application to the client application.

3. The computer-implemented method of claim 2 , wherein the secure session request is based on secure socket layer (SSL) protocol.

4. The computer-implemented method of claim 2 , wherein the secure session request comprises a domain name, the domain name comprising a top-level domain associated with a localhost domain, and a subdomain comprising the unique identifier.

5. The computer-implemented method of claim 1 , further comprising receiving, by the client application via the application session, a second message relayed by the content management system from a website, wherein the second message is associated with the unique identifier that corresponds to the authenticated browser session.

6. The computer-implemented method of claim 5 , wherein the client application, the website and the content management system are part of a same content management service.

7. The computer-implemented method of claim 1 , wherein the request comprises an instruction to the content management system to relay one or more messages from the client application to a website via a connection between the content management system and the website associated with the unique identifier.

8. The computer-implemented method of claim 1 , further comprising sending, from the browser application to the content management system, a communication comprising the unique identifier and an instruction to the content management system to relay one or more messages from the browser application to the client application via the communication channel.

9. 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, from a browser application, a first message comprising a unique identifier, wherein the unique identifier corresponds to a browser session of the browser application at a website associated with a content management system;

extract, by the client application, the unique identifier from the first message;

establish an application session between the client application and the content management system by sending, from the client application to the content management system, a second message comprising the unique identifier, wherein the application session is for synchronizing content between the client device and the content management system via the client application; and

receive, by the browser application via the browser session, a third message relayed by the content management system based on the unique identifier, wherein the third message is associated with the application session.

10. The system of claim 9 , wherein the browser application is at the client device and wherein the browser session is for synchronizing content between the client device and the content management system via the browser application.

11. The system of claim 9 , wherein the first message comprises a secure session request from the browser application to the client application.

12. The system of claim 9 , wherein the first message comprises an indication that the client application is expecting the third message from the browser application.

13. The system of claim 9 , the computer-readable instructions, when executed, further cause the one or more processors to transmit, from the client application to the content management system, a fourth message comprising the unique identifier and an instruction to the content management system to relay one or more communications from the client application to the browser application via the browser session.

14. The system of claim 9 , the computer-readable instructions, when executed, further cause the one or more processors to transmit, from the browser application to the content management system a fourth message comprising the unique identifier and an instruction to the content management system to relay one or more communications from the browser application to the client application via the application session.

15. A content management system comprising:

one or more processors; and

a computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to:

receive, from a client application of a client device, a request to establish a communication channel between a browser application and the client application through the content management system, the request comprising a first unique identifier, wherein the first unique identifier identifies a browser session at a website associated with the content management system;

establish an application session between the client application and the content management system which establishes the communication channel;

receive, via the application session, a first message comprising the first unique identifier, wherein the first unique identifier provides an association between the browser session and the application session; and

relaying, based on the first unique identifier, one or more communications between the application session and the browser session.

16. The content management system of claim 15 , the computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to:

receive, from the browser application via the browser session, a second message that is associated with content items associated with a content management service; and

transmit, to the client application via the application session, a third message based on the second message.

17. The content management system of claim 16 , wherein the first message comprises a request to establish a communication channel between the browser application and the client application through the content management system.

18. The content management system of claim 15 , the computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to:

receive, from the client application via the application session, a second message that is associated with content items associated with a content management service; and

transmit, to the browser application via the browser session, a third message based on the second message.

19. The content management system of claim 15 , the computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to synchronize content between the client device and the content management system via a web interface associated with the content management system.

20. The content management system of claim 15 , the computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to:

receive, from the browser application, a second message comprising a second unique identifier; and

determine an association between the application session with the client application and the browser session with the browser application based on a match between the first unique identifier and the second unique identifier associated with the application session.

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 Jan 10, 2018
From: BORTZ, ANDREW; TIAN, SANG; KAPLAN, JOSHUA; AKHAWE, DEVDATTA
To: DROPBOX, INC.
Reel/Frame 044589/0834 →
Continuity (4)
Continuation 14984993 · Dec 30, 2015
Continuation In Part 14469138 · Aug 26, 2014
Provisional Application 62008428 · Jun 5, 2014
Related Publication 20180131773A1 · May 10, 2018