Model
Class RouterBarabasiAlbert

java.lang.Object
  |
  +--Model.Model
        |
        +--Model.RouterModel
              |
              +--Model.RouterBarabasiAlbert

public final class RouterBarabasiAlbert
extends RouterModel

This Model implements a model proposed by Barabasi and Albert(1) for Router level topologies. Their model attempts to capture the emergence of power law in the frequency of outdegrees (2) in topologies by building a graph with Incremental Growth and Preferential Connectivity as driving principles. Incremental Growth refers to growing networks that are formed by the continual addition of new nodes. Preferential Connectivity refers to the tendency of a new node to connect to existing nodes that are highly connected.
ASBarabasiAlbert provides the analogous Barabasi-Albert model for Autonomous System (AS) level topologies. The probabiliy that a source node, s, is connected to a destination node, d, is
: p = (outdegree of d) / (sum of all nodes' outdegrees)
References to the Papers:
(1) Albert-Laszlo Barabasi and Rega Albert. Emergence of Scaling in Random Networks. Science, pages 509-512, October 1999.
(2) Michalis Faloutsos, Pedro Faloutsos, and Christos Faloutsos. On Power-Law Relationships of the Internet Topology. In ACM Computer Communication Review, Cambridge, MA, September 1999.


Fields inherited from class Model.Model
connLocality, growthType, HS, LS, m, N, nodePlacement, nodePositions, prefConn, rm
 
Constructor Summary
RouterBarabasiAlbert(int N, int HS, int LS, int nodePlacement, int m, int bwDist, float bwMin, float bwMax)
           
 
Method Summary
 void ConnectNodes(Graph g)
           
 Graph Generate()
          All Models that are derived from this base Model class, must override the Generate() method.
 java.lang.String toString()
          All models have a string description which is returned by their toString() method.
 
Methods inherited from class Model.RouterModel
AssignBW, PlaceNodes
 
Methods inherited from class Model.Model
getConnLocal, getGrowthType, getM, getN, getNodePlacement, getPrefModel, setRandomGenManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RouterBarabasiAlbert

public RouterBarabasiAlbert(int N,
                            int HS,
                            int LS,
                            int nodePlacement,
                            int m,
                            int bwDist,
                            float bwMin,
                            float bwMax)
Parameters:
N - The Number of Nodes that the topology will have
HS - Length of outer plane
LS - Length of inner square
nodePlacement - The type of node placement use as defined in ModelConstants
m - The number of new nodes that a new node must connect with
bwDist - the bandwidth distribution on the edge used
bwMin - the minimum bw
bwMax - the max bw an edge can have
Method Detail

toString

public java.lang.String toString()
Description copied from class: Model
All models have a string description which is returned by their toString() method. Usually this is included when exporting the topology generated by that model to a file.
Overrides:
toString in class Model
Following copied from class: Model.Model
Returns:
String

ConnectNodes

public void ConnectNodes(Graph g)

Generate

public Graph Generate()
Description copied from class: Model
All Models that are derived from this base Model class, must override the Generate() method. The Generate() method handles all the model-specific intricacies of: 1) Placing the Nodes 2) Interconnecting the Nodes 3) Assigning Edge weights (bandwidth, delay etc) And other model-specific functionality.
Overrides:
Generate in class Model
Following copied from class: Model.Model
Returns:
Graph