IP Library Patent Application 14064105
Patent Application
App. No. 14/064,105

Saving Third Party Content to a Content Management System

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 None
App. No.
14/064,105
Abstract

A content management system interacts with a content provider to store content items of the content provider within content storage of the content management system, where it is available to the users. Before obtaining and/or storing a content item of a content provider, the content management system determines whether it already has stored that content item, either for the same user or for other users of the content management system. In one embodiment, the content management system may include content subscription functionality that manages subscriptions of users to content of a content provider. In one embodiment, the subscription functionality handles the establishment of requested subscriptions, which includes identifying groups of users who have the same subscriptions, and also handles obtaining new content items provided by the content providers as part of those subscriptions.

Claims (69)

1 . A computer-implemented method comprising:

receiving a request to save a content item from a content provider, the request including an identifier of an account of a user;

determining whether the content item is already present in content storage;

in response to determining that the content item is already present in the content storage:

associating the content item with the account of the user; and

in response to determining that the content item is not already present in the content storage:

sending a request to the content provider for the content item;

receiving the content item from the content provider;

storing the content item in the content storage; and

associating the content item with the account of the user; and

synchronizing the content item to each computing device associated with the user.

2 . The computer-implemented method of claim 1 , wherein storing the content item in the content storage comprises associating attribution information, including an identifier of the content provider, with the content item.

3 . The computer-implemented method of claim 1 , wherein the request to save the content item specifies a uniform resource locator (URL) corresponding to the content, and wherein determining whether the content item is already present in the content storage comprises determining whether an entry for the URL is already present within the content storage.

4 . The computer-implemented method of claim 1 , wherein determining whether the content item is already present in the content storage comprises comparing a digital fingerprint of the content item to digital fingerprints of content items already present in the content storage.

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

receiving, from a remote client device of the user in response to the client device loading a web page of a content provider, a request for scripting code; and

providing, to the remote client device, the requested scripting code;

wherein the request to save the content item is received responsive to the scripting code calling a web-based application programming interface (API).

6 . A non-transitory computer-readable storage medium having executable computer program instructions embodied therein, the instructions comprising:

instructions for receiving a request to save a content item from a content provider, the request including an identifier of an account of a user;

instructions for determining whether the content item is already present in content storage;

instructions for, in response to determining that the content item is already present in the content storage:

associating the content item with the account of the user; and

instructions for, in response to determining that the content item is not already present in the content storage:

sending a request to the content provider for the content item;

receiving the content item from the content provider;

storing the content item in the content storage;

associating the content item with the account of the user; and

instructions for synchronizing the content item to each computing device associated with the user.

7 . The non-transitory computer-readable storage medium of claim 6 , wherein storing the content item in the content storage comprises adding attribution information, including an identifier of the content provider, to content of the content item.

8 . The non-transitory computer-readable storage medium of claim 6 , wherein the request to save the content item specifies a uniform resource locator (URL) corresponding to the content, and wherein determining whether the content item is already present in the content storage comprises determining whether an entry for the URL is already present within the content storage.

9 . The non-transitory computer-readable storage medium of claim 6 , wherein determining whether the content item is already present in the content storage comprises computing comparing a digital fingerprint of the content item to digital fingerprints of content items already present in the content storage.

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

receiving, from a remote client device of the user in response to the client device loading a web page of a content provider, a request for scripting code; and

providing, to the remote client device, the requested scripting code;

wherein the request to save the content item is received responsive to the scripting code calling a web-based application programming interface (API).

11 . A computer server comprising:

a computer processor; and

a computer-readable medium storing a computer program executable by the computer processor, the computer program comprising:

instructions for receiving a request to save a content item from a content provider, the request including an identifier of an account of a user;

instructions for determining whether the content item is already present in content storage;

instructions for, in response to determining that the content item is already present in the content storage:

associating the content item with the account of the user; and

instructions for, in response to determining that the content item is not already present in the content storage:

sending a request to the content provider for the content item;

receiving the content item from the content provider;

storing the content item in the content storage;

associating the content item with the account of the user; and

instructions for synchronizing the content item to each computing device associated with the user.

12 . The computer server of claim 11 , wherein storing the content item in the content storage comprises adding attribution information, including an identifier of the content provider, to content of the content item.

13 . A computer-implemented method comprising:

receiving a request to establish a subscription to content of a remote content provider, the request specifying a uniform resource locator (URL) corresponding to the content and an identifier of an account of a user;

obtaining updated content for the subscription of the user by repeatedly performing the following:

sending a request to the content provider for a new content item associated with the URL;

responsive to receiving a new content item associated with the URL from the content provider:

determining whether a copy of the new content item is already present in content storage;

in response to determining that the copy of the new content item is not already present in the content storage:

storing a copy of the new content item in the content storage; and

associating the copy of the content item with the account of the user.

14 . The computer-implemented method of claim 13 , further comprising:

identifying a group comprising the user and other users having a subscription to the same content, and

refraining from sending the request to the content provider for new content items on behalf of the other users of the group.

15 . The computer-implemented method of claim 13 , wherein the request to establish the subscription of the account comprises an indicator of a frequency of new content items associated with the subscription, and further comprising calculating times at which to carry out the repeated performing using the indicator of the frequency.

16 . The computer-implemented method of claim 15 , wherein calculating times at which to carry out the repeated performing additionally comprises calculating a frequency that new content items have been provided in response to previous requests for new content items associated with the subscription.

17 . The computer-implemented method of claim 13 , further comprising:

synchronizing the copy of the new content item across the client devices of the user.

18 . The computer-implemented method of claim 13 , wherein storing a copy of the new content item in the content storage comprises adding attribution information including an identifier of the content provider to content of the new content item before storing the new content item in the content storage.

19 . The computer-implemented method of claim 13 , wherein determining whether a copy of the new content item is already present in the content storage comprises determining whether an entry for the URL is already present within the content storage.

20 . The computer-implemented method of claim 13 , wherein determining whether a copy of the new content item is already present in the content storage comprises comparing a digital fingerprint of the new content item to digital fingerprints of content items already present in the content storage.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069600/0149 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
SECURITY INTEREST Recorded Mar 24, 2014
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032510/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2014
From: PEARL, RYAN; NADEEM, AYMAN; LYNCH, SEAN
To: DROPBOX, INC.
Reel/Frame 032033/0672 →