Providing a content preview
First Claim
1. A method comprising:
- receiving, via one or more processors, a request to store a content item, the content item being split into at least a first block containing a first portion of the content item and a second block containing a second portion of the content item, the second portion being different from the first portion, wherein the request to store the content item is associated with a first user account;
computing, via the one or more processors, a first hash identifier by hashing at least part of the first block containing the first portion;
computing, via the one or more processors, a second hash identifier by hashing at least part of the second block containing the second portion;
generating, via the one or more processors, a hash key comprising the first hash identifier and the second hash identifier;
determining, based on the hash key, whether a content preview of the content item is available; and
when the content preview is available, identifying the content preview for the content item based on the hash key, wherein the content preview is associated with a second content item in a second user account.
2 Assignments
0 Petitions
Accused Products
Abstract
A content preview of a content item stored in an online storage system can be viewed on a client device without the content item itself being downloaded to the client device and without the use of software associated with the content item being installed on the client device. Furthermore, data storage and processing requirements can be minimized by creating and storing only one content preview for each unique content item. The content item can be identified by using the content item as a hash key in a hashing algorithm. The resulting unique identifier can be used to search a preview index that lists all created content previews and their location. A content preview is only created if one does not exist. The unique identifier can be used to locate the content preview and return it in response to a preview request by a client device.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, via one or more processors, a request to store a content item, the content item being split into at least a first block containing a first portion of the content item and a second block containing a second portion of the content item, the second portion being different from the first portion, wherein the request to store the content item is associated with a first user account; computing, via the one or more processors, a first hash identifier by hashing at least part of the first block containing the first portion; computing, via the one or more processors, a second hash identifier by hashing at least part of the second block containing the second portion; generating, via the one or more processors, a hash key comprising the first hash identifier and the second hash identifier; determining, based on the hash key, whether a content preview of the content item is available; and when the content preview is available, identifying the content preview for the content item based on the hash key, wherein the content preview is associated with a second content item in a second user account. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
one or more processors; and at least one non-transitory computer-readable storage medium containing instructions which, when executed by the one or more processors, cause the system to; receive a request to store a first content item in a first user account, the first content item being split into at least a first fixed size block and a second fixed size block, wherein each of the first fixed size block and the second fixed size block contains a unique portion of the first content item; compute a first hash identifier using at least a part of the unique portion of the first fixed size block as a first hash key in a hashing algorithm and a second hash identifier using at least a part of the unique portion of the second fixed size block as a second hash key in the hashing algorithm; generate a block list containing a general hash key created by concatenating the at least the first hash identifier and the second hash identifier; identify the content preview for the first content item based on the generated block list, wherein the content preview is associated with a second content item in a second user account; and assign the content preview to the first content item in the first user account. - View Dependent Claims (10, 11, 12, 13)
-
-
14. At least one non-transitory computer-readable storage medium comprising:
instructions stored on the at least one non-transitory computer-readable storage medium which, when executed by one or more processors, cause the one or more processors to; receive a request to store a content item, the content item being split into at least a first block containing a first portion of the content item and a second block containing a second portion of the content item, the second portion being different from the first portion, wherein the content item is associated with a first user account; compute a first hash identifier by using at least part of the first block containing the first portion as a first hash key in a hashing algorithm; compute a second hash identifier by using at least part of the second block containing the second portion as a second hash key in the hashing algorithm; generate a block list containing a third hash key created based on the first hash identifier and the second hash identifier; identify, based on the block list, a content preview available for the content item wherein the content preview is associated with a second content item in a second user account; and assign the content preview to the content item. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification