Cooperative download among low-end devices under resource constrained environment
First Claim
Patent Images
1. A method for cooperative downloading of data, the method comprising:
- determining the resources available for each node in an interconnected array of nodes;
dividing a coherent set of data (e.g. content) on a remote device into a plurality of data chunks, wherein the number of data chunks in the plurality of data chunks is equal to or less than the number of nodes in the array of nodes;
for each data chunk in the plurality of data chunks, assigning the data chunk to a node in the array of nodes, the assignment being based on the determined resources available for the assigned node, wherein each node is assigned either zero or one data chunk, such that the set of nodes assigned a data chunk forms a set of downloading nodes;
downloading, by each node in the set of downloading nodes, the respective assigned data chunk to form a set of downloaded data chunks;
selecting from the array of nodes at least one aggregator node, the selection based on the determined resources available for the selected node;
retrieving, by the aggregator node or nodes, the downloaded data chunks from the set of downloading nodes; and
recombining, by the aggregator node or nodes, the downloaded data chunks to form a copy of the coherent set of data.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosure provides systems and methods for efficient arrangement, use, and management of networked electronic devices. The networked electronic devices are configured to form a peer-to-peer network, and to allocate management, download, and aggregation responsibilities among themselves to improve efficiency. Networking errors are minimized by replacing faulting nodes with idle nodes.
16 Citations
20 Claims
-
1. A method for cooperative downloading of data, the method comprising:
-
determining the resources available for each node in an interconnected array of nodes; dividing a coherent set of data (e.g. content) on a remote device into a plurality of data chunks, wherein the number of data chunks in the plurality of data chunks is equal to or less than the number of nodes in the array of nodes; for each data chunk in the plurality of data chunks, assigning the data chunk to a node in the array of nodes, the assignment being based on the determined resources available for the assigned node, wherein each node is assigned either zero or one data chunk, such that the set of nodes assigned a data chunk forms a set of downloading nodes; downloading, by each node in the set of downloading nodes, the respective assigned data chunk to form a set of downloaded data chunks; selecting from the array of nodes at least one aggregator node, the selection based on the determined resources available for the selected node; retrieving, by the aggregator node or nodes, the downloaded data chunks from the set of downloading nodes; and recombining, by the aggregator node or nodes, the downloaded data chunks to form a copy of the coherent set of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for cooperative downloading of data, the method comprising:
-
identifying, by an initiating node, an array of nodes in communication via a network, the array of nodes comprising the initiating node; characterizing the resources available for each node in the array of nodes; identifying a single master node from the array of nodes; identifying a set of downloading nodes from the array of nodes; identifying an aggregator node or nodes from the array of nodes; for each downloading node in the array of nodes, assigning either zero or one data chunk from a coherent set of data chunks residing on a remote device; downloading, by the set of downloading nodes, the assigned data chunks from the remote device; and aggregating, by the aggregator node, the downloaded data chunks to form a copy of the coherent set of data. - View Dependent Claims (17, 18)
-
-
19. A method for cooperative downloading of data, the method comprising:
-
identifying, by an initiating node, an array of nodes in communication via a network, the array of nodes comprising the initiating node; for each node in the array of nodes, characterizing the promise index for the node, wherein the promise index is a function of a resource index based on the instantaneous resources available to the node and a reliability index based on the historical log of the node; identifying, based on the resource, reliability, and promise indices, a set of downloading nodes from the array of nodes; identifying, based on the resource, reliability, and promise indices, an aggregator node or nodes from the array of nodes; for each downloading node in the array of nodes, assigning either zero or one data chunk from a coherent set of data chunks residing on a remote device; downloading, by the set of downloading nodes, the assigned data chunks from the remote device; aggregating, by the aggregator node, the downloaded data chunks to form a copy of the coherent set of data; and displaying the copy of the coherent set of data on a display associated with the initiating node. - View Dependent Claims (20)
-
Specification