SSF.App.Worm
Class AS

java.lang.Object
  |
  +--SSF.App.Worm.AS

public class AS
extends java.lang.Object

An (abstract representation of an) Autonomous System.


Field Summary
 java.util.LinkedList adjacencyList
          Adjacencies with other ASs.
 int asNumber
          AS number.
 java.util.LinkedList borderRouterList
          List of all border routers in this AS that occur in the network level model.
 int index
          Index in ASGraph array.
 java.util.LinkedList susceptibleHostList
          List of all susceptible hosts in this AS that occur in the network level model.
 int triggeredInfections
          Number of infections that have been triggered in the network level model so far.
 WormEpidemicState wormModel
          Worm epidemic state in this AS.
 WormTrafficState wormTraffic
          Worm-induced traffic state in this AS.
 
Constructor Summary
AS(ASGraph asGraph)
           
 
Method Summary
 float getNumScanning()
          Get number of hosts in this AS that are scanning and whose scans reach the outside.
 float getScanPermeability()
          Get fraction of scans from outside that will permeate the gateways and reach the inside of the AS.
 void init(int _index)
          Set index.
 void output()
          For now: do nothing.
 java.lang.String toString()
           
 void triggerInfections(int numNewInfections)
          Signal the network model about new infections in hosts that are modeled at the network level.
 void updateBorderRouters(float scanRatePerRouter)
          Update the scan rate seen by registered border routers at the network level.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

index

public int index
Index in ASGraph array.


asNumber

public int asNumber
AS number.


adjacencyList

public java.util.LinkedList adjacencyList
Adjacencies with other ASs.


susceptibleHostList

public java.util.LinkedList susceptibleHostList
List of all susceptible hosts in this AS that occur in the network level model.


borderRouterList

public java.util.LinkedList borderRouterList
List of all border routers in this AS that occur in the network level model.


triggeredInfections

public int triggeredInfections
Number of infections that have been triggered in the network level model so far.


wormModel

public WormEpidemicState wormModel
Worm epidemic state in this AS.


wormTraffic

public WormTrafficState wormTraffic
Worm-induced traffic state in this AS.

Constructor Detail

AS

public AS(ASGraph asGraph)
Method Detail

init

public void init(int _index)
Set index. (My index in ASGraph array.)


output

public void output()
For now: do nothing.


triggerInfections

public void triggerInfections(int numNewInfections)
Signal the network model about new infections in hosts that are modeled at the network level. Pick hosts at random from the susceptibleHostList in this AS.


updateBorderRouters

public void updateBorderRouters(float scanRatePerRouter)
Update the scan rate seen by registered border routers at the network level.


getNumScanning

public float getNumScanning()
Get number of hosts in this AS that are scanning and whose scans reach the outside. Generally this means the number of infected hosts, unless gateways are blocking scans, in which case it may be less. We make the simplifying assumption that scans will reach the outside if any gateway forwards scans.


getScanPermeability

public float getScanPermeability()
Get fraction of scans from outside that will permeate the gateways and reach the inside of the AS. Generally is 1.0 (all scans), unless some gateways are blocking scans, in which case it may be less. We make the simplifying assumption that traffic is perfectly load-balanced over the gateways, so each gateway carries or blocks an equal fraction of scans.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object