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 domains
    int[][] 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 name
    java.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 mapping
    void delembeddedbyid​(int sfcid)
    remove embedded SFC for multi-domain infrastructures
    int[] domainpath​(int s1, int s2)  
    void domainreg()
    server registry index in edge vector of the paths that interconnect all servers
    void domregsort()
    server registry sort servers registry based on their hop-count on descending order computationally efficient version using Bucket Sort algorithm
    void embed​(VNFgraph vnfgraph, int[] mapping)
    embed input VNF-graph based on generated mapping
    java.lang.String getavcapacity()
    get available capacity
    java.lang.Double getband​(int a, int b)
    return the available bandwidth of the link connecting given nodes
    java.lang.Object getcontroller()
    get network controller
    FTnetwork getdomain​(int a)
    get FT domain
    int[] getdomainpath​(int a, int b)
    get domain path
    int getdomains()
    get number of servers
    int[] getdomreg​(int ii)
    get single record from server registry
    int[][] getdomregistry()
    getr server registry
    int getduration()
    get VNF lifecycle duration
    java.util.ArrayList<SFC> getembeddedSFCs()
    get embedded SFCs
    java.lang.String geterrmess()
    get error message
    int gethopcount​(int a, int b)  
    int getiteration()
    Get iteration.
    Link getlink​(int tt)
    get link
    int getlinks()
    get number of links
    java.util.ArrayList<Link> getnetlinks()  
    int getnumofembedded()
    get number of embedded VNFs
    int getservperdomain()
    get server per domain
    int getsortednode​(int i)
    get single node in sorted list
    java.lang.Double gettotalcpu()
    get total CPU
    java.lang.String gettype()
    get network type
    java.lang.Double getusedcpu()
    get used CPU
    SFC getvnf​(int i)
    get single embedded SFC
    boolean isrejected()
    is request rejected?
    boolean member​(java.util.ArrayList<java.lang.Integer> list, int a)
    check membership in a Arraylist
    void netstats()
    network statistics link traffic and CPU load
    void nodecapsort()
    sorts nodes in ascending order based on their available capacity
    void printel()
    print network parameters
    void printel2()
    print network parameters shorter
    void printlinks()
    print links
    void setdomain​(java.lang.String d)
    set domain name
    void setduration​(int d)
    set VNF lifecycle duration
    void setfilename​(java.lang.String fnm)
    set log file name
    void setiteration​(int s)
    Set iteration.
    void setpath​(java.lang.String pth)
    path where the log files are stored
    void setstorestats​(boolean b)
    store statistics upon a successful embedding
    void shownetstats()
    print network statistics
    void storerejectstats()
    store network statistics after rejecting a request
    void storestats()
    store network statistics
    void totalcpu()
    compute total CPU
    void vnfstats()
    network statistics link traffic and CPU load
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • nets

      FTnetwork[] nets
      domains
    • type

      java.lang.String type
      type of domain networks
    • domain

      java.lang.String domain
      domain name
    • k

      int k
      parameter k
    • servperdomain

      int servperdomain
      servers per domain
    • domains

      int domains
      number of domains
    • domreg

      public int[][] domreg
      domain registry
    • sortservac

      int[] sortservac
      servers sorted by available capacity
    • embeddedSFCs

      java.util.ArrayList<SFC> embeddedSFCs
      embedded Serve Function Chains
    • duration

      int duration
      VNF lifecycle duration
    • cod

      Codec cod
      Edge Vector coder-decoder
    • maxhop

      int maxhop
      maximum hop count between servers
    • printSFCstats

      boolean printSFCstats
      print on screen embedded SFC statistics
    • printnetstats

      boolean printnetstats
      print on screen network statistics
    • storestats

      boolean storestats
      Store statistics in log a file.
    • reject

      boolean reject
      last embedding outcome
    • requests

      int requests
      total number of requests
    • successful

      int successful
      successfully embedded requests
    • band

      java.lang.Double band
      statistics
    • cpu

      java.lang.Double cpu
      statistics
    • totalcpu

      java.lang.Double totalcpu
      statistics
    • results

      java.lang.String results
      statistics
    • avcapacity

      java.lang.String avcapacity
      statistics
    • df

      java.text.DecimalFormat df
    • path

      java.lang.String path
      path to store log file
    • filename

      java.lang.String filename
      log file name
    • lastrequestsize

      int lastrequestsize
    • errmess

      java.lang.String errmess
      error message string
    • reqrevenue

      java.lang.Double reqrevenue
      embedding vnf revenue
    • reqcost

      java.lang.Double reqcost
      embedding cost parameters
    • c2r

      java.lang.Double c2r
      cost / reveneu ratio
    • iteration

      int iteration
      Simulation iteration, request id
    • HPcontroller

      public java.lang.Object HPcontroller
      network 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

      public java.util.ArrayList<Link> 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

      public FTnetwork getdomain​(int a)
      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

      public boolean checkembed​(VNFgraph vnfgraph, int[] mapping)
      check the validity of embedding of input VNF-graph based on generated mapping
    • embed

      public void embed​(VNFgraph vnfgraph, int[] mapping)
      embed input VNF-graph based on generated mapping
    • getembeddedSFCs

      public java.util.ArrayList<SFC> getembeddedSFCs()
      get embedded SFCs
    • getvnf

      public SFC getvnf​(int i)
      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

      public Link getlink​(int tt)
      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