public class AutomaticReplication extends Object implements PeerMapChangeListener, ReplicationFactor
| Constructor and Description |
|---|
AutomaticReplication(double reliability)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
calculateReplicationFactor(int predictedValue)
The replication factor is calculated based on reliability and predicted value.
|
void |
clearRemovedPeers()
In order to track the number of removed neighbor peers every time, the hash set should be emptied
for the next use.
|
int |
factor() |
Double |
getAverage(ArrayList<Integer> observations,
ArrayList<Double> averages)
Exponential Moving Average with Dynamic Smoothing Factor
|
double |
getBestSmoothingFactor(ArrayList<Integer> x,
ArrayList<Double> y,
int initialInterval) |
int |
getNeighbourPeersSize() |
Double |
getPredictedValue(ArrayList<Integer> observations,
double currentAverage)
Exponential Moving Average with Dynamic Smoothing Factor plus Deviation
|
int |
getRemovedPeersSize() |
double |
getStandardDeviation(ArrayList<Integer> range,
double currentAverage)
Calculation of Standard Deviation for a set of values
|
double |
getSumOfRegressionVariationSquared(ArrayList<Integer> x,
int k,
double b0,
double b1,
double yMean) |
double |
getSumOfXVariationMultipliedYVariation(ArrayList<Integer> x,
ArrayList<Double> y,
int k,
double xMean,
double yMean) |
double |
getSumOfXVariationSquared(ArrayList<Integer> x,
int k,
double xMean) |
double |
getSumOfYVariationSquared(ArrayList<Double> y,
int k,
double yMean) |
double |
getXMean(ArrayList<Integer> x,
int k) |
double |
getYMean(ArrayList<Double> y,
int k) |
void |
init(Peer peer) |
void |
peerInserted(PeerAddress peerAddress,
boolean verified) |
void |
peerRemoved(PeerAddress peerAddress,
PeerStatatistic storedPeerAddress) |
void |
peerUpdated(PeerAddress peerAddress,
PeerStatatistic storedPeerAddress) |
public AutomaticReplication(double reliability)
reliability - The reliabilitypeerMap - The map of my neighborspublic int getNeighbourPeersSize()
public int getRemovedPeersSize()
public void clearRemovedPeers()
public int factor()
factor in interface ReplicationFactorpublic int calculateReplicationFactor(int predictedValue)
predictedValue - Predicted value from prediction modelpublic double getXMean(ArrayList<Integer> x, int k)
x - The array of independent values, i.e. observationsk - The start index of subsetpublic double getYMean(ArrayList<Double> y, int k)
y - The array of dependent values, i.e. averagesk - The start index of subsetpublic double getSumOfXVariationMultipliedYVariation(ArrayList<Integer> x, ArrayList<Double> y, int k, double xMean, double yMean)
x - The array of independent values, i.e. observationsy - The array of dependent values, i.e. averagesk - The start index of subsetxMean - The mean of independent valuesyMean - The mean of dependent valuespublic double getSumOfXVariationSquared(ArrayList<Integer> x, int k, double xMean)
x - The array of independent values, i.e. observationsk - The start index of subsetxMean - The mean of independent valuespublic double getSumOfRegressionVariationSquared(ArrayList<Integer> x, int k, double b0, double b1, double yMean)
x - The array of independent values, i.e. observationsk - The start index of subsetb0 - y-intercept of regression lineb1 - The slope of regression lineyMean - The mean of dependent valuespublic double getSumOfYVariationSquared(ArrayList<Double> y, int k, double yMean)
y - The array of dependent values, i.e. averagesk - The start index of subsetyMean - The mean of dependent valuespublic double getBestSmoothingFactor(ArrayList<Integer> x, ArrayList<Double> y, int initialInterval)
x - The array of independent values, i.e. observationsy - The array of dependent values, i.e. averagesinitialInterval - The initial intervalpublic Double getAverage(ArrayList<Integer> observations, ArrayList<Double> averages)
observations - Array that contains peer departures numbers.averages - Array that contains values of exponential moving averagesinterval - The length of interval that is used to calculate smoothing factorpublic double getStandardDeviation(ArrayList<Integer> range, double currentAverage)
range - A set of valuescurrentAverage - Average value for the setpublic Double getPredictedValue(ArrayList<Integer> observations, double currentAverage)
observations - Array that contains recent peer departures numbers.currentAverage - Current exponential moving averageinterval - The length of interval that is used to calculate deviationpublic void peerInserted(PeerAddress peerAddress, boolean verified)
peerInserted in interface PeerMapChangeListenerpublic void peerRemoved(PeerAddress peerAddress, PeerStatatistic storedPeerAddress)
peerRemoved in interface PeerMapChangeListenerpublic void peerUpdated(PeerAddress peerAddress, PeerStatatistic storedPeerAddress)
peerUpdated in interface PeerMapChangeListenerCopyright © 2014. All rights reserved.