IP Library Granted Patent US 11,172,004
Granted Patent B2
US 11,172,004 · App. 17/114,424 · Granted Nov 9, 2021

Real time collaboration and document editing by multiple participants in a content management system

Inventors: Min Ming Lo (San Francisco, CA); Michael Wu (San Francisco, CA); Shravan Reddy (Fremont, CA)
Assignee: Dropbox, Inc.
H04L65/4015G06F3/038G06F3/04812G06F3/1454G06F40/166G06Q10/101G09G5/08H04L65/403H04L67/104H04L67/34H04L67/38G09G2350/00G09G2354/00
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,172,004
App. No.
17/114,424
Granted
Nov 9, 2021
Kind
B2
Abstract

A content management system allows users to collaboratively edit, draft, or otherwise work with the same content item simultaneously by displaying a real-time data stream of a native application displaying a content item on a host device in a screen sharing window of a webpage. The screen sharing window is capable of receiving edit inputs and sending the edit inputs to a client application on the host device. The edit inputs are provided as interpretable code for the native application for the content item and the client application provides the interpretable code to the native application to have the changes corresponding to the edit inputs incorporated into the content item. Further, the cursors of other users participating in the collaborative editing session are displayed in the screen sharing window to allow each participant to view and follow the changes made by the other participants of the session.

Claims (31)

1. A method comprising:

establishing, by a client application on a host client device, a connection with a second client device to initiate a collaborative editing session to edit a content item with the second client device, the content item being displayed via a native application on the host client device, the client application being different from the native application;

receiving, by the client application, document editing information from the second client device, wherein the document editing information indicates a type of the document editing information of a plurality of types of the document editing information and also includes position information;

translating the document editing information into a document editing command to place a cursor into an overlay based on the position information;

providing, to the native application, the document editing information and the document editing command; and

generating for display, by the native application based on the document editing command and the document editing information, at least a portion of the document editing information processed by the native application based on the document editing command.

2. The method of claim 1 , wherein receiving the document editing information from the second client device comprises receiving a code that indicates the type of the document editing information.

3. The method of claim 2 , wherein translating the document editing information into the document editing command that can be executed by the native application comprises translating the code into the document editing command.

4. The method of claim 1 , wherein the document editing information comprises information for modifying one or more characters within the content item.

5. The method of claim 4 , wherein translating the document editing information into the document editing command that can be executed by the native application comprises translating the document editing information into a command to modify the one or more characters within the content item.

6. A system comprising:

one or more processors; and

a non-transitory computer-readable storage medium storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform steps comprising:

establishing, by a client application on a host client device, a connection with a second client device to initiate a collaborative editing session to edit a content item with the second client device, the content item being displayed via a native application on the host client device, the client application being different from the native application;

receiving, by the client application, document editing information from the second client device, wherein the document editing information indicates a type of the document editing information of a plurality of types of the document editing information and also includes position information;

translating the document editing information into a document editing command to place a cursor into an overlay based on the position information;

providing, to the native application, the document editing information and the document editing command; and

generating for display, by the native application based on the document editing command and the document editing information, at least a portion of the document editing information processed by the native application based on the document editing command.

7. The system of claim 6 , wherein receiving the document editing information from the second client device comprises receiving a code that indicates the type of the document editing information.

8. The system of claim 7 , wherein translating the document editing information into the document editing command that can be executed by the native application comprises translating the code into the document editing command.

9. The system of claim 6 , wherein the document editing information comprises information for modifying one or more characters within the content item.

10. The system of claim 9 , wherein translating the document editing information into the document editing command that can be executed by the native application comprises translating the document editing information into a command to modify the one or more characters within the content item.

11. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause a host client device to:

establish a connection with a second client device to initiate a collaborative editing session to edit a content item with the second client device, the content item being displayed via a native application on the host client device, the client application being different from the native application;

receive, using the client application, document editing information from the second client device, wherein the document editing information indicates a type of the document editing information of a plurality of types of the document editing information and also includes position information;

translate the document editing information into a document editing command to place a cursor into an overlay based on the position information;

provide, to the native application, the document editing information and the document editing command; and

generate for display, using the native application based on the document editing command and the document editing information, at least a portion of the document editing information processed by the native application based on the document editing command.

12. The non-transitory computer-readable storage medium of claim 11 , wherein receiving the document editing information from the second client device comprises receiving a code that indicates the type of the document editing information.

13. The non-transitory computer-readable storage medium of claim 12 , wherein translating the document editing information into the document editing command that can be executed by the native application comprises translating the code into the document editing command.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the document editing information comprises information for modifying one or more characters within the content item.

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 Dec 8, 2020
From: LO, MIN MING; WU, MICHAEL; REDDY, SHRAVAN
To: DROPBOX, INC.
Reel/Frame 054644/0795 →
Continuity (4)
Continuation 16377009 · Apr 5, 2019
Continuation 15602948 · May 23, 2017
Continuation 15011020 · Jan 29, 2016
Related Publication 20210092172A1 · Mar 25, 2021