IP Library Granted Patent US 10,733,206
Granted Patent B2
US 10,733,206 · App. 15/872,452 · Granted Aug 4, 2020

Propagating computable dependencies within synchronized content items between first and third-party applications

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,733,206
App. No.
15/872,452
Granted
Aug 4, 2020
Kind
B2
Abstract

A content management system synchronizes content items across client computing systems connected by a network. The content management system provides a first party web application to the user. The first party application receives input from the user to create a dependency on another piece of information on a content item in the content management system. The input from the user contains a formula defining the relations between the information source and the created dependency. The value of the dependency is then dependent on the information in the referenced content item and changes based on updates to that content item. The user may also create dependencies with synchronized third party content items.

Claims (63)

1. A method comprising:

providing, by a content management system, a first party web application to a user;

receiving a first input from the user, the first input associated with a source document to be modified, identifying a reference document different than the source document, and including a dependency primitive associated with the source document and the reference document;

in response to receiving the first input, accessing a dependency formula associated with the dependency primitive via the first party web application;

determining, based on a set of syntax rules, that the dependency primitive is a reference dependency in response to the dependency primitive including a mathematical operation; and

responsive to determining that the dependency primitive is a reference dependency:

creating in a dependency graph a dependency object associated with the source document and the reference document, the dependency object having an object ID, an object name and a formula for the dependency object;

recursively calculating a resultant value of the dependency object using the formula for the dependency object, the resultant value stored by the content management system; and

displaying by the first party web application the source document and the resultant value of the dependency object within the source document.

2. The method of claim 1 wherein creating a dependency object further comprises:

displaying a UI to the user for selecting a file path of a third party content item including reference data in a namespace associated with the user;

receiving input from a user indicating the file path of the third party content item;

displaying a preview of the third party content item to the user for selecting a location within the preview corresponding to a location in the third party content item of the reference data;

receiving input from a user indicating the location in the third party content item for the reference data; and

creating an entry in a third party graph, wherein the entry comprises the file path to a third party content item synchronized with the content management system, the location in the third party content item of the reference data, and the object ID of the dependency object.

3. The method of claim 2 further comprising updating the formula of the dependency object based on the reference data in the third party content item.

4. The method of claim 3 further comprising:

detecting a modification to the third party content item;

synchronizing the third party content item with the content management system;

updating the dependency object based on the modification to the third party content item; and

updating the displayed resultant value of the dependency object based on the modification to the dependency object.

5. The method of claim 3 wherein the third party content item comprises a spreadsheet document.

6. The method of claim 1 wherein the first party web application is a word processing application.

7. The method of claim 1 wherein the formula of the dependency object comprises text data.

8. The method of claim 1 wherein the dependency object is created in response to receiving an input from the user to paste data from a third party application to the first party web application.

9. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to:

provide a first party web application to a user;

receive a first input from the user, the first input associated with a source document to be modified, identifying a reference document different than the source document, and including a dependency primitive associated with the source document and the reference document;

in response to receiving the first input, access a dependency formula associated with the dependency primitive via the first party web application;

determine, based on a set of syntax rules, that the dependency primitive is a reference dependency in response to the dependency primitive including a mathematical operation; and

responsive to determining that the dependency primitive is a reference dependency and the dependency formula is syntactically valid:

create in a dependency graph a dependency object associated with the source document and the reference document, the dependency object having an object ID, an object name, a formula for the dependency object, dependencies of the object, and dependents of the object;

recursively calculate a resultant value of the dependency object using the formula for the dependency object and the value of all dependencies of the dependency object, the resultant value stored by the content management system; and

display by the first party web application the source document and the resultant value of the dependency object within the source document.

10. The system of claim 9 , the instructions further causing the system to:

display a UI to the user for selecting a file path of a third party content item including reference data in a namespace associated with the user;

receive input from a user indicating the file path of the third party content item;

display a preview of the third party content item to the user for selecting a location within the preview corresponding to a location in the third party content item of the reference data;

receive input from a user indicating the location in the third party content item for the reference data; and

create an entry in a third party graph, wherein the entry comprises the file path to a third party content item synchronized with the content management system, the location in the third party content item of the reference data, and the object ID of the dependency object.

11. The system of claim 10 , the instructions further causing the system to update the formula of the dependency object based on the reference data in the third party content item.

12. The system of claim 11 , the instructions further causing the system to:

detect a modification to the third party content item;

synchronize the third party content item with the content management system;

update the dependency object based on the modification to the third party content item; and

update the displayed resultant value of the dependency object based on the modification to the dependency object.

13. The system of claim 11 wherein the third party content item comprises a spreadsheet document.

14. The system of claim 9 wherein the first party web application is a word processing application.

15. The system of claim 9 wherein the formula of the dependency object comprises text data.

16. The system of claim 9 wherein the dependency object is created in response to receiving an input from the user to paste data from the third party application to the first party web application.

17. A method comprising:

providing, by a content management system, a first party web application to a user;

receiving a first input from the user, the first input associated with a source document to be modified, identifying a reference document different than the source document, and including a dependency primitive associated with the source document and the reference document;

in response to receiving the first input, accessing a dependency formula associated with the dependency primitive via the first party web application;

determining, based on a set of syntax rules, whether the dependency primitive is an alias dependency in response to the dependency primitive not including a mathematical operation; and

responsive to determining that the dependency primitive is an alias dependency and the dependency formula includes an existing dependency object name:

recursively calculating a resultant value of an existing dependency object corresponding to the existing dependency object name using the formula for the existing dependency object and the value of all dependencies of the existing dependency object, the resultant value stored by the content management system;

displaying by the first party web application the source document and the resultant value of the existing dependency object within the source document; and

synchronizing the displayed resultant value with the existing dependency object.

18. The method of claim 17 wherein the first party web application is a word processing application.

19. The method of claim 17 wherein the existing dependency object is created in response to receiving an input from the user to paste data from a third party application to the first party web 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 Jan 22, 2018
From: NEWHOUSE, BENJAMIN ZEIS
To: DROPBOX, INC.
Reel/Frame 044693/0140 →