IP Library Granted Patent US 9,098,474
Granted Patent B2
US 9,098,474 · App. 13/590,012 · Granted Aug 4, 2015

Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience

Inventors: Kimber Lockhart (Mountain View, CA); Jeffrey H. Seibert, Jr. (Cambridge, MA); Nicholas Silva (Mountain View, CA); John Brandon Savage (San Carlos, CA); David T. Lee (Foster City, CA); Arshdeep Mand (Union City, CA)
Assignee: Box, Inc.
G06F17/212G06F17/30005G06F17/30017G06F17/30569G06F17/30843
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,098,474
App. No.
13/590,012
Granted
Aug 4, 2015
Kind
B2
Abstract

System and methods for determining if a preview of a file uploaded to a web-based collaborative environment is likely to be requested. For a file that is likely to be previewed, the system pre-converts the input format of the file to a target format suitable for providing the preview to minimize the time a user waits to be presented with the preview after making the request. The present disclosure includes a method of determining whether an intermediate format of a file generated during the conversion of an input format to the target format should be stored to be used later or discarded.

Claims (46)

1. A computer-implemented method comprising:

collecting data on user activity for a plurality of files uploaded to and stored in a web-based collaboration environment, wherein each of the stored plurality of files has a specific input format;

collecting frequency data on how frequently a plurality of classes of input formats are previewed and a preview generation duration data, wherein the preview generation duration is an amount of conversion time it takes to generate a preview for each of the plurality of classes of input formats;

analyzing the collected user activity data, frequency data and preview generation duration data to determine at least one criterion that a preview is likely to be requested for a subset of the plurality of files;

upon determining that a given file meets the at least one criterion, pregenerating, from the specific input format of the given file, a target format suitable for providing a preview of the given file; and

upon receiving a preview request for the given file from a requesting user, using the pregenerated target format to provide the preview of the given file to the requesting user.

2. The method of claim 1 , wherein the at least one criterion is that the specific input format matches a particular file format.

3. The method of claim 1 , wherein the at least one criterion is that the given file was uploaded by a particular user.

4. The method of claim 1 , wherein the at least one criterion is that the given file was uploaded individually.

5. The method of claim 1 , wherein the requesting user is an authorized collaborator of the workspace.

6. The method of claim 1 , further comprising notifying collaborators of the workspace that the requesting user requested the preview of the given file.

7. The method of claim 1 , further comprising collecting data on file formats that are previewed and determining the at least one criterion based on the collected data.

8. A computer-implemented method comprising:

generating an intermediate format of a given file during conversion of an input version of the given file to a target version of the given file suitable for providing a preview;

wherein the input version of the given file is being stored in a web-based collaboration environment;

collecting data on file formats that are frequently previewed and a preview generation duration to determine at least one criterion that a preview of the given file is likely to be requested, wherein the preview generation duration is an amount of conversion time it takes to generate a preview of each file format;

determining if the intermediate format of the given file meets the at least one criterion;

if the intermediate format of the given file meets the at least one criterion, storing the intermediate format of the given file, and upon receiving a preview request for the given file from a requesting user, using the intermediate format of the given file to generate the target version of the given file to provide the preview to the requesting user; and

otherwise, discarding the intermediate format of the given file.

9. The method of claim 8 , wherein the at least one criterion is that the given file is awaiting conversion to a particular format, wherein the input version of the given file is first converted to the intermediate format before being converted to the particular format.

10. The method of claim 8 , wherein the at least one criterion is that the intermediate format of the given file is used for displaying the given file on a mobile device to the requesting user.

11. A system comprising:

a memory;

a processor disposed in communication with the memory and configured to execute instructions stored in the memory to:

collect data on file formats that are frequently previewed and a preview generation duration, wherein the preview generation duration is an amount of conversion time it takes to generate a preview of each file format;

generate at least one criterion for providing a preview based on the collected data;

convert an input format of a file that satisfies the at least one criterion for providing a preview, to a target format for providing a preview of the file, wherein the target format is obtained by converting the input format to an intermediate format, and the intermediate format is converted to the target format, and further wherein the file is stored in a web-based collaboration environment; and

deliver the intermediate format to a target device for displaying the file to a user of the mobile device.

12. The method of claim 11 , wherein the at least one criterion is that the input format matches a particular file format.

13. The method of claim 11 , wherein the target device runs an operating system that can directly display the intermediate format.

14. The method of claim 11 , wherein the at least one criterion is that the file was uploaded by a particular user.

15. A system, comprising:

a first computer implemented database configured to store a plurality of files in a web-based collaboration environment;

a data collection module configured to collect data on file formats that are frequently previewed and a preview generation duration to determine at least one criterion that a preview of a given file is likely to be requested, wherein the preview generation duration is an amount of conversion time it takes to generate a preview of each file format;

a pre-generation module configured to determine, based on the at least one criterion, whether to convert an input format of a file to a target format suitable for providing a preview of the file to a user before the preview has been requested by the user;

a conversion module configured to convert the input format of the file to the target format; and

a viewer module configured to present the target format as the preview to the user without downloading the file to the user.

16. The system of claim 15 , further comprising a second database configured to store a plurality of intermediate format files converted from the input format to an intermediate format.

17. A non-transitory machine readable storage medium encoded with instructions for performing a method, the instructions comprising:

instructions to collect data on user activity for a plurality of files uploaded to and stored in a web-based collaboration environment, wherein each of the stored plurality of files has a specific input format;

instructions to collect frequency data on how frequently a plurality of classes of input formats are previewed and a preview generation duration data, wherein the preview generation duration is an amount of conversion time it takes to generate a preview for each of the plurality of classes of input formats;

instructions to analyze the collected user activity data, frequency data and preview generation duration data to determine at least one criterion that a preview is likely to be requested for a subset of the plurality of files;

instructions to, upon determining that a given file meets the at least one criterion, pregenerate from the specific input format of the given file a target format suitable for providing a preview of the given file; and

instructions to, upon receiving a preview request for the given file from a requesting user, use the pregenerated target format to provide the preview of the given file to the requesting user.

18. The non-transitory machine readable storage medium of claim 17 , wherein the at least one criterion is that the specific input format matches a particular file format.

19. The non-transitory machine readable storage medium of claim 17 , wherein the at least one criterion is that the given file was uploaded by a particular user.

Assignments (4)
SECURITY INTEREST Recorded Jul 26, 2023
From: BOX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 064389/0686 →
RELEASE OF SECURITY INTEREST Recorded Dec 8, 2015
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: BOX, INC.
Reel/Frame 037237/0503 →
PATENT SECURITY AGREEMENT Recorded Aug 27, 2013
From: BOX, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031368/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2013
From: LOCKHART, KIMBER; SEIBERT, JEFFREY H., JR.; SILVA, NICHOLAS; SAVAGE, JOHN BRANDON; LEE, DAVID; MAND, ARSHDEEP
To: BOX, INC.
Reel/Frame 029725/0346 →
Continuity (3)
Provisional Application 61551894 · Oct 26, 2011
Provisional Application 61592567 · Jan 30, 2012
Related Publication 20130110854A1 · May 2, 2013