Media organization for distributed sending of media data
First Claim
1. A method 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;
responsive to the ranking, determining which constituent media data portions have a popularity that is above a predetermined popularity percentage;
replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage;
establishing a hash table having a plurality of bins; and
mapping the constituent media data portions to a bin of the hash table, wherein the bin of the hash table includes a primary role and a secondary role;
the primary role associated with a primary sender that is associated with the constituent media data portions mapping to the bin, and the secondary role associated with a secondary sender that is associated with those 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
20 Claims
-
1. A method 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; responsive to the ranking, determining which constituent media data portions have a popularity that is above a predetermined popularity percentage; replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage; establishing a hash table having a plurality of bins; and mapping the constituent media data portions to a bin of the hash table, wherein the bin of the hash table includes a primary role and a secondary role; the primary role associated with a primary sender that is associated with the constituent media data portions mapping to the bin, and the secondary role associated with a secondary sender that is associated with those 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. A system comprising:
-
a memory; a processor; a ranking section configured to; divide 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; track the constituent media data portions based on respective numbers of clients requesting the constituent media data portions; and rank the constituent media data portions in popularity based on the respective numbers of clients requesting the constituent media data portions; a replicating section configured to responsive to the ranking, determine which constituent media data portions have a popularity that is above a predetermined popularity percentage; and replicate the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage; and a hash table including a plurality of bins, each given bin of the plurality of bins configured to associate a given sender with media data blocks that map to the given bin, wherein a particular media data block corresponds to a particular media data block number and a media data segment number, the particular media data block number and the media data segment number combined into a particular media data identification value that is hashed to a particular media data hash value, the particular media data hash value mapping the particular media data block to a particular bin of the plurality of bins. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer implemented method comprising:
-
determining a popularity of media data portions stored on a server in accordance with a number of clients requesting each media data portion, wherein determining comprises determining the popularity of the 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 a 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, wherein determining further comprises 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; and
determining which constituent media data portions have a popularity that is above a predetermined popularity percentage responsive to the ranking;locating the media data portions using a hashing function and a hashing table; and replicating those media data portions that are within the top predetermined popularity percentage, including replicating the constituent media data portions that are determined to have a popularity that is above the predetermined popularity percentage. - View Dependent Claims (18, 19, 20)
-
Specification