Proactive data storage in a distributed network
First Claim
1. A method comprising:
- monitoring, in a peer-to-peer computer network, a plurality of agents and a plurality of files by tracking an availability of each agent and tracking a status of each file respectively;
evaluating each agent, based at least partially on respective past performance and qualitative factors;
encoding each file into portions, wherein the encoding further comprises encoding redundancy and forward error correction (FEC) into raw data;
matching the portions into agents to yield a specified distribution of loads among the agents based at least partially on their respective evaluation, each agent storing portions of each file;
calculating for each one of the plurality of files an availability function for each one of the plurality of agents, wherein the availability function comprises a summation, over time, of a plurality of time-dependent availability weighing functions;
calculating for each one of the plurality of files, a function of cost for distributing each one of the plurality of files, wherein the cost function comprises a summation over each of the availability functions for each one of the plurality of agents, andwherein at least one of the monitoring, the evaluating, the encoding, and the matching is executed by at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of proactive seeding of data in a peer-to-peer computer network is provided. The method may include the following steps: monitoring, in a peer-to-peer computer network, a plurality of agents and a plurality of files by tracking an availability of each agent and tracking a status of each file respectively; evaluating each agent, based at least partially on respective past performance and specified rules; encoding each file into portions; matching the portions into agents to yield a specified distribution of loads among the agents based at least partially on their respective evaluation, wherein at least one of the monitoring, the evaluating, the encoding, the and the matching is executed by at least one processor.
-
Citations
20 Claims
-
1. A method comprising:
-
monitoring, in a peer-to-peer computer network, a plurality of agents and a plurality of files by tracking an availability of each agent and tracking a status of each file respectively; evaluating each agent, based at least partially on respective past performance and qualitative factors; encoding each file into portions, wherein the encoding further comprises encoding redundancy and forward error correction (FEC) into raw data; matching the portions into agents to yield a specified distribution of loads among the agents based at least partially on their respective evaluation, each agent storing portions of each file; calculating for each one of the plurality of files an availability function for each one of the plurality of agents, wherein the availability function comprises a summation, over time, of a plurality of time-dependent availability weighing functions; calculating for each one of the plurality of files, a function of cost for distributing each one of the plurality of files, wherein the cost function comprises a summation over each of the availability functions for each one of the plurality of agents, and wherein at least one of the monitoring, the evaluating, the encoding, and the matching is executed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a seeding manager; and a plurality of agents in communication over computers network with the seeding manager, wherein the seeding manager is configured to; monitor, the plurality of agents and a plurality of files by tracking an availability of each agent and tracking a status of each file respectively; evaluate each agent based at least partially on respective past performance and qualitative factors; encode each file into portions, wherein the encoding further comprises encoding redundancy and forward error correction (FEC) into raw data; match the portions into agents to yield a specified distribution of loads among the agents being an amount of portions sent to agents based at least partially on their respective evaluation, each agent storing portions of each file; calculate, for each one of the plurality of files, an availability function for each one of the plurality of agents, wherein the availability function comprises a summation, over time, of a plurality of time-dependent availability weighing functions; and calculate, for each one of the plurality of files, a function of a cost for distributing each one of the plurality of files, wherein the cost function comprises a summation over each of the availability functions for each one of the plurality of agents. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer program product, the non-transitory computer program product comprising:
-
a non-transitory computer readable storage medium having computer readable program embodied therewith, the non-transitory computer readable program comprising; computer readable program configured to monitor, the plurality of agents and a plurality of files by tracking an availability of each agent and tracking a status of each file respectively; computer readable program configured to evaluate each agent based at least partially on respective past performance and specified rules qualitative factors; computer readable program configured to encode each file into portions, wherein the encoding further comprises encoding redundancy and forward error correction (FEC) into raw data; and
computer readable program configured to match the portions into agents to yield a specified distribution of loads among the agents being an amount of portions sent to agents based at least partially on their respective evaluation, each agent storing portions of each file;computer readable program configured to calculate, for each one of the plurality of files, an availability function for each one of the plurality of agents, wherein the availability function comprises a summation, over time, of a plurality of time-dependent availability weighing functions; and computer readable program configured to calculate, for each one of the plurality of files, a function of a cost for distributing each one of the plurality of files, wherein the cost function comprises a summation over each of the availability functions for each one of the plurality of agents. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification