Media organization for distributed sending of media data
First Claim
1. One or more processor-accessible storage media comprising processor-executable instructions that, when executed, direct at least one device to perform actions comprising:
- combining a media data segment number and a media data block number to form a media data identification value, the media data block number corresponding to a media data block of a media data segment that corresponds to the media data segment number;
applying the media data identification value to a hashing function to produce a media data hash value;
mapping the media data hash value to a bin of a hash table, the bin of the hash table associated with a device;
dividing a media data segment into constituent media data portions, wherein the constituent media data portions comprise media data blocks, media data sub-blocks, or media data bytes;
tracking the constituent media data portions based on respective numbers of clients requesting the constituent media data portions;
ranking the constituent media data portions in popularity based on the respective numbers of clients requesting the constituent media data portions;
determining which constituent media data portions have a popularity that is above a predetermined popularity percentage responsive to the ranking; and
replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage.
10 Assignments
0 Petitions
Accused Products
Abstract
Media data is distributed across multiple devices and is locatable using a hashing function and a hash table. The media data is partially replicated based on popularity thereof. In a described implementation, a media data block is locatable by hashing a media data indicator to produce a media data hash value that maps to a bin of the hash table. The bin is associated with at least one device that stores and/or with a sender that is capable of sending to clients the media data blocks mapping thereto. Each bin may have primary and secondary roles. Devices holding primary roles store all of the media data blocks mapping to a bin. Devices holding secondary roles replicate the media data blocks mapping to the bin that are also within a top predetermined popularity percentage. Popularity is determined based on numbers of clients currently requesting a particular media data portion.
-
Citations
12 Claims
-
1. One or more processor-accessible storage media comprising processor-executable instructions that, when executed, direct at least one device to perform actions comprising:
-
combining a media data segment number and a media data block number to form a media data identification value, the media data block number corresponding to a media data block of a media data segment that corresponds to the media data segment number; applying the media data identification value to a hashing function to produce a media data hash value; mapping the media data hash value to a bin of a hash table, the bin of the hash table associated with a device; dividing a media data segment into constituent media data portions, wherein the constituent media data portions comprise media data blocks, media data sub-blocks, or media data bytes; tracking the constituent media data portions based on respective numbers of clients requesting the constituent media data portions; ranking the constituent media data portions in popularity based on the respective numbers of clients requesting the constituent media data portions; determining which constituent media data portions have a popularity that is above a predetermined popularity percentage responsive to the ranking; and replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more processor-accessible storage media comprising processor-executable instructions that, when executed, cause a system to determine popularity of media data portions in accordance with a number of clients requesting each media data portion;
- to locate the media data portions using a hashing function and a hashing table; and
to replicate those media data portions that are within a top predetermined popularity percentage,wherein the system determines the popularity of media data portions by ranking the media data portions from a media data portion being requested by the most clients to media data portions being requested by fewer and fewer clients, by computing a number of clients that equals a product of the top predetermined popularity percentage and a total number of requesting clients, and by identifying those media data portions that are requested by the computed number of clients starting with the media data portion being requested by the most clients and progressing in ranked order along those media data portions being requested by fewer and fewer clients, and wherein the system performs actions comprising; dividing a media data segment into constituent media data portions, wherein the constituent media data portions comprise media data blocks, media data sub-blocks, or media data bytes; tracking the constituent media data portions based on respective numbers of clients requesting the constituent media data portions; ranking the constituent media data portions in popularity based on the respective numbers of clients requesting the constituent media data portions; determining which constituent media data portions have a popularity that is above a predetermined popularity percentage responsive to the ranking; and replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage. - View Dependent Claims (10, 11, 12)
- to locate the media data portions using a hashing function and a hashing table; and
Specification