IP Library Granted Patent US 11,210,610
Granted Patent B2
US 11,210,610 · App. 13/297,230 · Granted Dec 28, 2021

Enhanced multimedia content preview rendering in a cloud content management system

Inventors: Kimber Lockhart (Mountain View, CA); Jeffrey H. Seibert, Jr. (Cambridge, MA); Arnold Goldberg (Los Altos, CA); Nicholas Silva (Cambridge, MA); Brandon Savage (San Carlos, CA); Aaron Levie (Palo Alto, CA); Sam Ghods (San Francisco, CA); Florian Jourda (San Francisco, CA); David T. Lee (Foster City, CA); Arshdeep Mand (Union City, CA)
Assignee: Box, Inc.
G06Q10/00G06F16/1794G06F16/7837G06F40/106G06F40/151
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,210,610
App. No.
13/297,230
Granted
Dec 28, 2021
Kind
B2
Abstract

Systems and methods for providing improved content previews of files stored in an online content management system with collaboration environment are disclosed. An optimized PDF rendering engine is used to reproduce the appearance of previewed PDF documents. The present disclosure includes a method of evaluating the available system tools for converting files from an existing format to a target format to determine the optimum tool(s) to use for the conversion process of a file.

Claims (36)

1. A method of rendering a stored file having a video file format for display as a preview, the method comprising:

receiving, by a server from a client device, a request to preview the stored file and a preview quality, wherein the stored file is stored in a workspace in a web-based collaboration platform;

processing, by the server, instructions provided by a software code to dynamically generate from the stored file in real time a preview file, the preview file comprising a down-sampled version of the stored file and wherein the processing further comprises:

selecting a video conversion tool from plurality of video conversion tools for generating a less accurate version of the stored file or a more accurate version of the stored file, wherein the selected video conversion tool is selected from the plurality of video conversion tools based on the preview quality and one or more factors related to each of the plurality of video conversion tools, wherein each video conversion tool of the plurality of video conversion tools converts one or more input formats to one or more output formats, wherein the selected video conversion tool is selected from the plurality of video conversion tools by generating a network graph comprising a plurality of nodes, each node representing one of the one or more input formats or one of the one or more output formats of the plurality of video conversion tools and each node maintains a priority cost if using a video conversion tool represented by the node, wherein the selected video conversion tool comprises a plurality of video compression tools along a path of the network graph selected based on the priority cost of the path of the network graph and the preview quality,

generating, by the selected video conversion tool, the preview file from the stored file, wherein generating the preview file comprises moving metadata encoded in the stored file from an end of the stored file to a beginning of the preview file, the metadata defining playback of the stored file to a video player, and

transmitting, from the server to the client device by the selected video conversion tool, the generated preview file containing the moved metadata and a portion of the stored file that has been encoded into the preview file by the selected video conversion tool while a remaining portion of the stored file continues to be processed into the preview file.

2. The method of claim 1 , wherein the more accurate version of the preview file provides at least Portable Bit Map (PBM) picture support or corrected transparency values.

3. The method of claim 1 , further comprising responding to the request only if a user making the request is an authorized collaborator of the workspace.

4. The method of claim 3 , further comprising providing a notification of a previewing of the stored file by the user to a collaborator of the workspace of the web-based collaboration platform.

5. The method of claim 1 , wherein a format of the preview file is a Portable Document Format (PDF) format.

6. The method of claim 1 , wherein a format of the preview file is an HTML HyperText Markup Language (HTML) format.

7. The method of claim 1 , wherein a format of the preview file is a Small Web Format (SWF) format.

8. A system for rendering a stored file having a video file format for display as a preview, the system comprising:

a processor; and

a memory coupled with and readable by the processor and storing therein a set of instructions which, when executed by the processor, causes the processor to:

receive, from a client device, a request to preview the stored file and a preview quality of the stored file, wherein the stored file is stored in a workspace in a web-based collaboration platform;

dynamically generate from the stored file in real time a preview file comprising a down-sampled version of the stored filed, wherein the instructions provided by the software code further includes instructions to:

select a video conversion tool from plurality of video conversion tools for generating a less accurate version of the stored file or a more accurate version of the stored file, wherein the selected video conversion tool is selected from the plurality of video conversion tools based on the preview quality and one or more factors related to each of the plurality of video conversion tools, wherein each video conversion tool of the plurality of video conversion tools converts one or more input formats to one or more output formats, wherein the selected video conversion tool is selected from the plurality of video conversion tools by generating a network graph comprising a plurality of nodes, each node representing one of the one or more input formats or one of the one or more output formats of the plurality of video conversion tools and each node maintains a priority cost if using a video conversion tool represented by the node, wherein the selected video conversion tool comprises a plurality of video compression tools along a path of the network graph selected based on the priority cost of the path of the network graph and the preview quality,

generate, by the selected video conversion tool, the preview file from the stored file, wherein generating the preview file comprises moving metadata encoded in the stored file from an end of the stored file to a beginning of the preview file, the metadata defining playback of the stored file to a video player, and

transmit, to the client device, the generated preview file containing the moved metadata and a portion of the stored file that has been encoded into the preview file by the selected video conversion tool while a remaining portion of the stored file continues to be processed into the preview file.

9. The system of claim 8 , further comprising a second memory configured to store a second library.

10. The system of claim 8 , wherein the stored file is stored in a folder in an online content management system that provides a collaboration environment, for a user that is an authorized collaborator of the folder.

11. The system of claim 8 , wherein a format of the preview file is an HTML HyperText Markup Language (HTML) format.

12. The system of claim 8 , wherein a format of the preview file is a Small Web Format (SWF) format.

13. A non-transitory machine-readable medium comprising a set of instructions which, when executed by a processor, causes the processor to perform a method of rendering a stored file having a video file format for display as a preview, the method comprising:

receiving, by a server from a client device, a request to preview the stored file and a preview quality of the stored file, wherein the stored file is stored in a workspace in a web-based collaboration platform;

processing, by the server, instructions provided by a software code to dynamically generate from the stored file in real time a preview file comprising a down-sampled version of the stored file, wherein the processing further comprises:

selecting a video conversion tool of a plurality of video conversion tools for generating a less accurate version of the stored file or a more accurate version of the stored file, wherein the selected video conversion tool is selected from the plurality of video conversion tools based on the preview quality and one or more factors related to each of the plurality of video conversion tools, wherein each video conversion tool of the plurality of video conversion tools converts one or more input formats to one or more output formats, wherein the selected video conversion tool is selected from the plurality of video conversion tools by generating a network graph comprising a plurality of nodes, each node representing one of the one or more input formats or one of the one or more output formats of the plurality of video conversion tools and each node maintains a priority cost if using a video conversion tool represented by the node, wherein the selected video conversion tool comprises a plurality of video compression tools along a path of the network graph selected based on the priority cost of the path of the network graph and the preview quality,

generating, by the selected video conversion tool, the preview file from the stored filed, wherein generating the preview file comprises moving metadata encoded in the stored file from an end of the stored file to a beginning of the preview file, the metadata defining playback of the stored file to a video player, and

transmitting, from the server to the client device by the selected video conversion tool, the generated preview file containing the moved metadata and a portion of the stored file that has been encoded into the preview file by the selected video conversion tool while a remaining portion of the stored file continues to be processed into the preview file.

14. The non-transitory machine readable storage medium of claim 13 , wherein the more accurate version of the preview file provides at least Portable Bit Map (PBM) picture support or corrected transparency values.

15. The non-transitory machine readable storage medium of claim 13 , further comprising responding to the request only if a user making the request is an authorized collaborator of the workspace.

16. The non-transitory machine readable storage medium of claim 15 , further comprising providing a notification of the previewing of the file by the user to a collaborator of the workspace of the web-based collaboration platform.

17. The non-transitory machine readable storage medium of claim 13 , wherein a format of the preview file is a Portable Document Format (PDF) format.

18. The non-transitory machine readable storage medium of claim 13 , wherein a format of the preview file is an HyperText Markup Language (HTML) format.

19. The non-transitory machine readable storage medium of claim 13 , wherein a format of the preview file is a Small Web Format (SWF) format.

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 →
CHANGE OF NAME Recorded Dec 21, 2011
From: BOX.NET, INC.
To: BOX, INC.
Reel/Frame 027430/0587 →
Continuity (2)
Provisional Application 61551894 · Oct 26, 2011
Related Publication 20130111326A1 · May 2, 2013