Instrumentation system and methods for estimation of decentralized network characteristics
First Claim
1. An instrumentation system for estimating decentralized network characteristics, comprising a computer configured to estimate the number of instances of a file in a decentralized network by identifying a representative sample of nodes in the decentralized network, determining the density of the file in the representative sample, and estimating the number of instances of the file in the decentralized network by multiplying the size of the network by the density of the file in the representative sample.
3 Assignments
0 Petitions
Accused Products
Abstract
An instrumentation system estimates characteristics of a decentralized network, such as: the size, growth rate, and growth acceleration of the network; the number of instances, the rate of propagation, and the acceleration of propagation of a file in the network; and the search and download activities, in the aggregate and for particular files, in the network. A data center in the instrumentation system performs a set of interrelated methods for inferring these and other characteristics of the network. For estimating some characteristics, it identifies and uses a subset of the network, and uses information from the subset to infer or obtain information of the entire network. For estimating other characteristics, it deploys software agents to masquerade as nodes in the network.
-
Citations
96 Claims
- 1. An instrumentation system for estimating decentralized network characteristics, comprising a computer configured to estimate the number of instances of a file in a decentralized network by identifying a representative sample of nodes in the decentralized network, determining the density of the file in the representative sample, and estimating the number of instances of the file in the decentralized network by multiplying the size of the network by the density of the file in the representative sample.
- 11. An instrumentation system for estimating decentralized network characteristics, comprising a computer configured to estimate a total number of search queries for a file in a decentralized network over a specified period of time by multiplying the total number of search queries for the file recorded over the specified period of time by software agents uniformly distributed in the decentralized network by the number of nodes in the decentralized network, and dividing the product by the number of software agents.
- 20. An instrumentation system for estimating decentralized network characteristics, comprising a computer configured to estimate a total number of downloads of a file in a decentralized network over a specified period of time by multiplying the total number of downloads of the file recorded over the specified period of time by software agents uniformly distributed in the decentralized network by the number of nodes in the decentralized network, and dividing the product by the number of software agents.
-
29. A method for identifying a representative sample of nodes in a decentralized network, comprising:
-
indexing a sample of nodes in a decentralized network;
building a set of observed values for one searchable attribute found in all nodes in the sample;
drawing a sample of observed values for the one searchable attribute from the set;
performing a search in the decentralized network for nodes having at least one of the observed values for the one searchable attribute as in the drawn sample; and
generating a representative sample of nodes in the decentralized network by including at least a subset of nodes in the search results. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A method for identifying a representative sample of nodes in a decentralized network, comprising:
-
(a) identify a node in a decentralized network;
(b) determining if the node has an attribute value matching an attribute value of a cell of an attribute matrix;
(c) if the answer in (b) is NO, then jumping back to (a) to identify another node in the decentralized network, and if the answer to (b) is YES, then determining if the cell has reached its maximum number of associated nodes;
(d) if the answer in (c) is NO, then associating the node to the cell and jumping back to (b) to determine if the node has another attribute value matching that of another cell of the attribute matrix, and if the answer in (c) is YES, then determining if all cells in the attribute matrix have reached their maximum numbers of associated nodes; and
(e) if the answer in (d) is NO, then jumping back to (b) to determine whether the node has another attribute value matching that of another cell of the attribute matrix, and if the answer in (d) is YES, then generating a representative sample of nodes in the decentralized network from the nodes associated to the cells of the attribute matrix. - View Dependent Claims (36, 37, 38, 39, 40)
-
-
41. A method for estimating the number of nodes in a decentralized network, comprising:
-
drawing a random sample of all potential addresses in an underlying address space common to a decentralized network and a reference network;
counting the number of nodes associated with the decentralized network that reside at addresses in the random sample;
calculating a density of the decentralized network nodes by dividing the count of nodes associated with the decentralized network by the number of addresses in the random sample;
counting the number of nodes associated with a reference network that reside at addresses in the random sample;
calculating a density of the reference network nodes by dividing the count of nodes associated with the reference network by the number of addresses in the random sample; and
estimating the number of nodes in the decentralized network by multiplying the density of the decentralized network nodes with a known number of nodes in the reference network, and dividing the product by the density of the reference network nodes. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A method for estimating the number of nodes in a decentralized network, comprising:
-
drawing a random sample of all potential addresses in an underlying address space;
counting the number of nodes associated with the decentralized network that reside at addresses in the random sample;
calculating a density of the decentralized network nodes by dividing the count of nodes associated with the decentralized network by the number of nodes in the random sample; and
estimating the number of nodes in the decentralized network by multiplying the density of the decentralized network nodes by the size of the address space. - View Dependent Claims (47, 48, 49)
-
-
50. A method for estimating the growth rate of a decentralized network, comprising:
-
estimating the number of nodes in the decentralized network at a point in time;
estimating the number of nodes in the decentralized network at a fixed period of time after the point in time; and
estimating the growth rate of the decentralized network by subtracting the estimated number of nodes in the decentralized network at the point in time by the estimated number of nodes in the decentralized network at the fixed period of time after the point in time, and dividing the difference by the fixed period of time. - View Dependent Claims (51, 52)
-
-
53. A method for estimating acceleration in a growth of the number of nodes in a decentralized network, comprising:
-
generating a first estimate of the number of nodes in the decentralized network at a time t0;
generating a second estimate of the number of nodes in the decentralized network at a time (t0+Δ
t), where Δ
t is a time period;
generating a third estimate of the number of nodes in the decentralized network at a time (t0+2·
Δ
t), where 2·
Δ
t is twice the time period; and
estimating acceleration in the growth of the number of nodes in the decentralized network by generating a product by doubling the second estimate, generating a difference by subtracting the first and the third estimates from the product, and dividing the difference by the time period Δ
t. - View Dependent Claims (54, 55, 56, 57, 58, 59)
-
-
60. A method for estimating the number of instances of a file in a decentralized network, comprising:
-
identifying a representative sample of nodes in a decentralized network;
determining a density of instances of a file in the representative sample of nodes; and
estimating the number of instances of the file in the decentralized network by multiplying the density of instances of the file by the number of nodes in the decentralized network. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. A method for estimating the rate of propagation of a file in a decentralized file network, comprising:
-
estimating the number of instances of a file in a decentralized network at a point in time;
estimating the number of instances of the file in the decentralized network at a fixed period of time after the point in time; and
estimating the rate of propagation of the file in the decentralized network by generating a difference by subtracting the estimated number of instances of the file in the decentralized network at the point in time from the estimated number of instances of the file in the decentralized network at the fixed period of time after the point in time, and dividing the difference by the fixed period of time. - View Dependent Claims (70, 71)
-
-
72. A method for estimating acceleration of the propagation of a file in a decentralized network, comprising:
-
generating a first estimate of the rate of propagation of a file in a decentralized file network at a time t0;
generating a second estimate of the rate of propagation of the file in the decentralized file network at a time (t0+Δ
t), where Δ
t is a time period;
generating a third estimate of the rate of propagation of the file in the decentralized file network at a time (t0+2·
Δ
t), where 2·
Δ
t is twice the time period; and
estimating acceleration of the propagation of the file in the decentralized network by generating a product by doubling the second estimate, generating a difference by subtracting the first and the third estimates from the second estimate, and dividing the difference by the time period Δ
t. - View Dependent Claims (73, 74, 75)
-
-
76. A method for uniformly infiltrating a decentralized network with software agents masquerading as nodes of the decentralized network, comprising:
-
identifying a representative sample of nodes in a decentralized network; and
attaching a corresponding software agent masquerading as a node to each of the nodes in the representative sample of nodes. - View Dependent Claims (77, 78)
-
-
79. A method for uniformly distributing files in a decentralized network, comprising:
-
uniformly infiltrating a decentralized network with software agents masquerading as nodes of the decentralized network; and
uploading a file to each of the software agents. - View Dependent Claims (80)
-
-
81. A method for estimating a total number of search queries in a decentralized network over a specified period of time, comprising:
-
uniformly infiltrating a decentralized network with software agents masquerading as nodes in the decentralized network;
causing the software agents to record all received search queries for a specified period of time; and
estimating a total number of search queries in the decentralized network for the specified period of time by generating a sum by adding the received search queries recorded by the software agents during the specified period of time, generating a product by multiplying the sum by the number of nodes in the decentralized network, and dividing the product by the number of the software agents. - View Dependent Claims (82, 83, 84, 85)
-
-
86. A method for estimating a total number of search queries for a file in a decentralized network over a specified period of time, comprising:
-
uniformly infiltrating a decentralized network with software agents masquerading as nodes in the decentralized network;
causing the software agents to record all received search queries for a file during a specified period of time; and
estimating a total number of search queries for the file in the decentralized network for the specified period of time by generating a sum by adding the received search queries for the file recorded by the software agents during the specified period of time, generating a product by multiplying the sum by the number of nodes in the decentralized network, and dividing the product by the number of the software agents. - View Dependent Claims (87, 88, 89, 90)
-
-
91. A method for estimating a total number of downloads of a file in a decentralized network over a specified period of time, comprising:
-
uniformly infiltrating a decentralized network with software agents masquerading as nodes in the decentralized network;
uploading copies of a file to each of the software agents;
causing the software agents to respond to each request to download a copy of the file over a specified period of time, and keep a record of each download;
determining the aggregate number of downloads of copies of the file over the specified period of time by all the software agents; and
estimating a total number of downloads of the file in the decentralized network over the specified period of time by generating a product by multiplying the aggregate number of downloads of copies of the file over the specified period of time by all the software agents by the number of nodes in the decentralized network, and dividing the product by the number of software agents. - View Dependent Claims (92, 93, 94, 95, 96)
-
Specification