IP Library Granted Patent US 9,882,770
Granted Patent B2
US 9,882,770 · App. 15/355,305 · Granted Jan 30, 2018

Apparent cloud access for hosted content items

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 9,882,770
App. No.
15/355,305
Granted
Jan 30, 2018
Kind
B2
Abstract

Techniques for apparent cloud access of a hosted content item. In one embodiment, for example, a method performed at a personal computing device comprising a user agent comprises: receiving a block agent request for a content item from the user agent; determining content item block identifiers of content item blocks that make up the content item; determining which, if any, of the content item blocks that make up the content item are not stored in a local storage of the personal computing device; downloading, from a block server of an online content management system, any of the content item blocks that are not stored in a local storage of the personal computing device; and sending to the user agent, in a response to the block agent request, data of each of the content item blocks that make up the content item.

Claims (53)

1. A method for apparent cloud access of a content item hosted with an online content management system, the method comprising:

obtaining, from a server of the online content management system over a network, identifiers of content item blocks that make up the content item;

receiving, at a computing device, a request for the content item from a user agent at the computing device;

based, at least in part, on the obtaining, from a server of the online content management system over a network, the identifiers of the content item blocks that make up the content item, identifying one or more content item blocks, of the content item blocks that make up the content item, that are stored in a local storage of the computing device;

based, at least in part, on the identifying the one or more content item blocks, of the content item blocks that make up the content item, that are stored in a local storage of the computing device, downloading, from a server of the online content management system over a network, one or more of the content item blocks that are not stored in the local storage of the computing device; and

sending, to the user agent, the content items blocks that make up the content item.

2. The method of claim 1 , wherein the request comprises the identifiers of the content item blocks that make up the content item.

3. The method of claim 1 , further comprising:

reading the identifiers of the content item blocks that make up the content item from metadata stored in the local storage of the computing device.

4. The method of claim 1 , further comprising:

sending a web page to the user agent, the web page comprising a link corresponding to the content item; and

wherein the receiving the request for the content item is based, at least in part, on activation of the link of the web page at the computing device.

5. The method of claim 1 , further comprising:

initiating streaming of a first content item block, of the content item blocks that make up the content item, to the user agent before completely receiving, from a server of the online content management system over a network, a second content item block of the one or more of the content item blocks that are not stored in the local storage of the computing device;

wherein the downloading is based, at least in part, on the completely receiving; and

wherein the sending is based, at least in part, on the initiating streaming.

6. The method of claim 5 , wherein the first content item block is not the second content item block.

7. One or more non-transitory computer-readable media storing instructions which, when executed by a computing device, causes the computing device to perform:

obtaining, from a server of an online content management system over a network, identifiers of content item blocks that make up a content item;

receiving, at the computing device, a request for the content item from a web browser at the computing device;

based, at least in part, on the obtaining, from a server of the online content management system over a network, the identifiers of the content item blocks that make up the content item, identifying one or more content item blocks, of the content item blocks that make up the content item, that are stored in a local storage of the computing device;

based, at least in part, on the identifying the one or more content item blocks, of the content item blocks that make up the content item, that are stored in a local storage of the computing device, downloading, from a server over a network, one or more of the content item blocks that are not stored in the local storage of the computing device; and

providing, to the web browser, the content items blocks that make up the content item.

8. The one or more non-transitory computer-readable media of claim 7 , wherein the request comprises the identifiers of the content item blocks that make up the content item.

9. The one or more non-transitory computer-readable media of claim 7 , wherein the instructions, when executed by the computing device, causes the computing device to further perform:

reading the identifiers of the content item blocks that make up the content item from metadata stored in the local storage of the computing device.

10. The one or more non-transitory computer-readable media of claim 7 , wherein the instructions, when executed by the computing device, causes the computing device to further perform:

sending a web page to the web browser, the web page comprising a link corresponding to the content item; and

wherein the receiving the request for the content item is based, at least in part, on a user activating the link in the web page at the computing device.

11. The one or more non-transitory computer-readable media of claim 7 , wherein the instructions, when executed by the computing device, causes the computing device to further perform:

initiating sending of a first content item block, of the content item blocks that make up the content item, to the web browser before completely downloading, from a server over a network, a second content item block of the one or more of the content item blocks that are not stored in the local storage of the computing device;

wherein the receiving is based, at least in part, on the completely downloading; and

wherein the providing is based, at least in part, on the initiating sending.

12. A computing device, comprising:

one or more processors;

local storage; and

one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, causes the one or more processors to perform:

obtaining, from a server of an online content management system over a network, identifiers of content item blocks that make up a content item;

receiving a request for the content item from a user agent at the computing device;

based, at least in part, on the obtaining, from a server of the online content management system over a network, the identifiers of the content item blocks that make up the content item, identifying one or more content item blocks, of the content item blocks that make up the content item, that are stored in the local storage of the computing device;

based, at least in part, on the identifying the one or more content item blocks, of the content item blocks that make up the content item, that are stored in a local storage of the computing device, downloading, from a server of the online content management system, one or more content items blocks, of the content item blocks that make up the content item, that are not stored in the local storage of the computing device; and

streaming, to the user agent, the content items blocks that make up the content item.

13. The computing device of claim 12 , wherein the request comprises the identifiers of the content item blocks that make up the content item.

14. The computing device of claim 12 , wherein the instructions, when executed by the one or more processors, causes the one or more processors to further perform:

reading the identifiers of the content item blocks that make up the content item from metadata stored in the local storage of the computing device.

15. The computing device of claim 12 , wherein the instructions, when executed by the one or more processors, causes the one or more processors to further perform:

sending a web page to the user agent, the web page comprising a link corresponding to the content item; and

wherein the receiving the request for the content item is based, at least in part, on activation of the link at the computing device.

16. The computing device of claim 12 , wherein the instructions, when executed by the one or more processors, causes the one or more processors to further perform:

initiating sending of a first content item block, of the content item blocks that make up the content item, to the user agent before completely downloading, from the online content management system, a second content item block of the one or more of the content item blocks that are not stored in the local storage of the computing device;

wherein the receiving is based, at least in part, on the completely downloading; and

wherein the streaming is based, at least in part, on the initiating sending.

17. The computing device of claim 12 , wherein the request comprises an identifier of a content item namespace to which the content item belongs.

Assignments (6)
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 →
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 Jul 7, 2018
From: KOORAPATI, NIPUNN; RUDE, CHRISTOPHER; VON MUHLEN, MARCIO; BUNGER, NILS
To: DROPBOX, INC.
Reel/Frame 046287/0722 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →