Package network
Class Hypergraph
java.lang.Object
network.Hypergraph
public class Hypergraph
extends java.lang.Object
Multi-domain Hypergraph representation class
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.String
avcapacity
statistics(package private) java.lang.Double
band
statistics(package private) java.lang.Double
c2r
cost / reveneu ratio(package private) Codec
cod
Edge Vector coder-decoder(package private) java.lang.Double
cpu
statistics(package private) java.text.DecimalFormat
df
(package private) java.lang.String
domain
domain name(package private) int
domains
number of domainsint[][]
domreg
domain registry(package private) int
duration
VNF lifecycle duration(package private) java.util.ArrayList<SFC>
embeddedSFCs
embedded Serve Function Chains(package private) java.lang.String
errmess
error message string(package private) java.lang.String
filename
log file namejava.lang.Object
HPcontroller
network controller object; create a controller object and cast it here(package private) int
iteration
Simulation iteration, request id(package private) int
k
parameter k(package private) int
lastrequestsize
java.util.ArrayList<Link>
links
links(package private) int
maxhop
maximum hop count between servers(package private) FTnetwork[]
nets
domains(package private) java.lang.String
path
path to store log file(package private) boolean
printnetstats
print on screen network statistics(package private) boolean
printSFCstats
print on screen embedded SFC statistics(package private) boolean
reject
last embedding outcome(package private) java.lang.Double
reqcost
embedding cost parameters(package private) java.lang.Double
reqrevenue
embedding vnf revenue(package private) int
requests
total number of requests(package private) java.lang.String
results
statistics(package private) int
servperdomain
servers per domain(package private) int[]
sortservac
servers sorted by available capacity(package private) boolean
storestats
Store statistics in log a file.(package private) int
successful
successfully embedded requests(package private) java.lang.Double
totalcpu
statistics(package private) java.lang.String
type
type of domain networks -
Constructor Summary
Constructors Constructor Description Hypergraph()
Hypergraph(java.lang.String type, FTnetwork[] nets, int[] evi, double interlinkcap, int links)
constructor for building multi-DC infrastructures with Fat-Tree topology DCs -
Method Summary
Modifier and Type Method Description void
addsuccessful()
Add request in successful counter.boolean
checkembed(VNFgraph vnfgraph, int[] mapping)
check the validity of embedding of input VNF-graph based on generated mappingvoid
delembeddedbyid(int sfcid)
remove embedded SFC for multi-domain infrastructuresint[]
domainpath(int s1, int s2)
void
domainreg()
server registry index in edge vector of the paths that interconnect all serversvoid
domregsort()
server registry sort servers registry based on their hop-count on descending order computationally efficient version using Bucket Sort algorithmvoid
embed(VNFgraph vnfgraph, int[] mapping)
embed input VNF-graph based on generated mappingjava.lang.String
getavcapacity()
get available capacityjava.lang.Double
getband(int a, int b)
return the available bandwidth of the link connecting given nodesjava.lang.Object
getcontroller()
get network controllerFTnetwork
getdomain(int a)
get FT domainint[]
getdomainpath(int a, int b)
get domain pathint
getdomains()
get number of serversint[]
getdomreg(int ii)
get single record from server registryint[][]
getdomregistry()
getr server registryint
getduration()
get VNF lifecycle durationjava.util.ArrayList<SFC>
getembeddedSFCs()
get embedded SFCsjava.lang.String
geterrmess()
get error messageint
gethopcount(int a, int b)
int
getiteration()
Get iteration.Link
getlink(int tt)
get linkint
getlinks()
get number of linksjava.util.ArrayList<Link>
getnetlinks()
int
getnumofembedded()
get number of embedded VNFsint
getservperdomain()
get server per domainint
getsortednode(int i)
get single node in sorted listjava.lang.Double
gettotalcpu()
get total CPUjava.lang.String
gettype()
get network typejava.lang.Double
getusedcpu()
get used CPUSFC
getvnf(int i)
get single embedded SFCboolean
isrejected()
is request rejected?boolean
member(java.util.ArrayList<java.lang.Integer> list, int a)
check membership in a Arraylistvoid
netstats()
network statistics link traffic and CPU loadvoid
nodecapsort()
sorts nodes in ascending order based on their available capacityvoid
printel()
print network parametersvoid
printel2()
print network parameters shortervoid
printlinks()
print linksvoid
setdomain(java.lang.String d)
set domain namevoid
setduration(int d)
set VNF lifecycle durationvoid
setfilename(java.lang.String fnm)
set log file namevoid
setiteration(int s)
Set iteration.void
setpath(java.lang.String pth)
path where the log files are storedvoid
setstorestats(boolean b)
store statistics upon a successful embeddingvoid
shownetstats()
print network statisticsvoid
storerejectstats()
store network statistics after rejecting a requestvoid
storestats()
store network statisticsvoid
totalcpu()
compute total CPUvoid
vnfstats()
network statistics link traffic and CPU loadvoid
vnfstats(java.lang.Double revenue, java.lang.Double noderev, java.lang.Double vnftr, int hops)
cost of embedding, it accumulates computational load and traffic added to the networkMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
nets
FTnetwork[] netsdomains -
type
java.lang.String typetype of domain networks -
domain
java.lang.String domaindomain name -
k
int kparameter k -
servperdomain
int servperdomainservers per domain -
domains
int domainsnumber of domains -
domreg
public int[][] domregdomain registry -
sortservac
int[] sortservacservers sorted by available capacity -
links
links -
embeddedSFCs
java.util.ArrayList<SFC> embeddedSFCsembedded Serve Function Chains -
duration
int durationVNF lifecycle duration -
cod
Codec codEdge Vector coder-decoder -
maxhop
int maxhopmaximum hop count between servers -
printSFCstats
boolean printSFCstatsprint on screen embedded SFC statistics -
printnetstats
boolean printnetstatsprint on screen network statistics -
storestats
boolean storestatsStore statistics in log a file. -
reject
boolean rejectlast embedding outcome -
requests
int requeststotal number of requests -
successful
int successfulsuccessfully embedded requests -
band
java.lang.Double bandstatistics -
cpu
java.lang.Double cpustatistics -
totalcpu
java.lang.Double totalcpustatistics -
results
java.lang.String resultsstatistics -
avcapacity
java.lang.String avcapacitystatistics -
df
java.text.DecimalFormat df -
path
java.lang.String pathpath to store log file -
filename
java.lang.String filenamelog file name -
lastrequestsize
int lastrequestsize -
errmess
java.lang.String errmesserror message string -
reqrevenue
java.lang.Double reqrevenueembedding vnf revenue -
reqcost
java.lang.Double reqcostembedding cost parameters -
c2r
java.lang.Double c2rcost / reveneu ratio -
iteration
int iterationSimulation iteration, request id -
HPcontroller
public java.lang.Object HPcontrollernetwork controller object; create a controller object and cast it here
-
-
Constructor Details
-
Hypergraph
public Hypergraph() -
Hypergraph
public Hypergraph(java.lang.String type, FTnetwork[] nets, int[] evi, double interlinkcap, int links)constructor for building multi-DC infrastructures with Fat-Tree topology DCs
-
-
Method Details
-
setpath
public void setpath(java.lang.String pth)path where the log files are stored -
setfilename
public void setfilename(java.lang.String fnm)set log file name -
setdomain
public void setdomain(java.lang.String d)set domain name -
gethopcount
public int gethopcount(int a, int b) -
domainpath
public int[] domainpath(int s1, int s2) -
member
public boolean member(java.util.ArrayList<java.lang.Integer> list, int a)check membership in a Arraylist -
nodecapsort
public void nodecapsort()sorts nodes in ascending order based on their available capacity -
getsortednode
public int getsortednode(int i)get single node in sorted list -
domainreg
public void domainreg()server registry index in edge vector of the paths that interconnect all servers -
domregsort
public void domregsort()server registry sort servers registry based on their hop-count on descending order computationally efficient version using Bucket Sort algorithm -
printel
public void printel()print network parameters -
printel2
public void printel2()print network parameters shorter -
setstorestats
public void setstorestats(boolean b)store statistics upon a successful embedding -
setduration
public void setduration(int d)set VNF lifecycle duration -
setiteration
public void setiteration(int s)Set iteration. -
getiteration
public int getiteration()Get iteration. -
getduration
public int getduration()get VNF lifecycle duration -
getdomains
public int getdomains()get number of servers -
getlinks
public int getlinks()get number of links -
gettype
public java.lang.String gettype()get network type -
getnetlinks
-
getservperdomain
public int getservperdomain()get server per domain -
getnumofembedded
public int getnumofembedded()get number of embedded VNFs -
getband
public java.lang.Double getband(int a, int b)return the available bandwidth of the link connecting given nodes -
isrejected
public boolean isrejected()is request rejected? -
geterrmess
public java.lang.String geterrmess()get error message -
getcontroller
public java.lang.Object getcontroller()get network controller -
getdomain
get FT domain -
getdomainpath
public int[] getdomainpath(int a, int b)get domain path -
getdomreg
public int[] getdomreg(int ii)get single record from server registry -
getdomregistry
public int[][] getdomregistry()getr server registry -
addsuccessful
public void addsuccessful()Add request in successful counter. Use if automatic store of statistics is inactive. -
checkembed
check the validity of embedding of input VNF-graph based on generated mapping -
embed
embed input VNF-graph based on generated mapping -
getembeddedSFCs
get embedded SFCs -
getvnf
get single embedded SFC -
totalcpu
public void totalcpu()compute total CPU -
gettotalcpu
public java.lang.Double gettotalcpu()get total CPU -
getusedcpu
public java.lang.Double getusedcpu()get used CPU -
getlink
get link -
storerejectstats
public void storerejectstats()store network statistics after rejecting a request -
storestats
public void storestats()store network statistics -
delembeddedbyid
public void delembeddedbyid(int sfcid)remove embedded SFC for multi-domain infrastructures -
vnfstats
public void vnfstats(java.lang.Double revenue, java.lang.Double noderev, java.lang.Double vnftr, int hops)cost of embedding, it accumulates computational load and traffic added to the network -
shownetstats
public void shownetstats()print network statistics -
netstats
public void netstats()network statistics link traffic and CPU load -
getavcapacity
public java.lang.String getavcapacity()get available capacity -
printlinks
public void printlinks()print links -
vnfstats
public void vnfstats()network statistics link traffic and CPU load
-