bcds.phison
Class NetAvail<V,E>

java.lang.Object
  extended by bcds.phison.NetAvail<V,E>

public class NetAvail<V,E>
extends java.lang.Object


Constructor Summary
NetAvail()
           
NetAvail(SimGraph<V,E> g, java.util.Map<E,java.lang.Double> dist, ZoneMap<V,E> za)
           
 
Method Summary
 java.util.Map<E,java.lang.Double> allLinksAvail()
           
static double cableCutUnitLength(ZoneInfo z)
           
 java.util.Map<E,java.lang.Double> eachLinkAvail(Path<V,E> p)
           
static double expectedCableCutsPerYear(double length, ZoneInfo z)
           
static double fiberAvail(double mtbf, double mttr, double length)
           
static double fiberAvail(double length, ZoneInfo z)
           
 ZoneMap<V,E> getZoneMap()
           
 double linkAvail(E e)
           
 double pathUnavailability(Path<V,E> p)
           
 double protectedPathAvail(Path<V,E> pri, Path<V,E> sec, java.util.Map<E,java.lang.Double> link_avail)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NetAvail

public NetAvail()

NetAvail

public NetAvail(SimGraph<V,E> g,
                java.util.Map<E,java.lang.Double> dist,
                ZoneMap<V,E> za)
Method Detail

getZoneMap

public ZoneMap<V,E> getZoneMap()

fiberAvail

public static double fiberAvail(double mtbf,
                                double mttr,
                                double length)

fiberAvail

public static double fiberAvail(double length,
                                ZoneInfo z)

cableCutUnitLength

public static double cableCutUnitLength(ZoneInfo z)
Returns:
The length in km of the fiber optic table in a given zone that is expected to suffer from one (1) cable cut per year.

expectedCableCutsPerYear

public static double expectedCableCutsPerYear(double length,
                                              ZoneInfo z)
Returns:
The number of cuts that a given link is expected to suffer per year, given its lengths and the unit of cable cuts per year in its zone.

pathUnavailability

public double pathUnavailability(Path<V,E> p)
Returns:
The unavailability of the given path.

eachLinkAvail

public java.util.Map<E,java.lang.Double> eachLinkAvail(Path<V,E> p)
Returns:
A HashMap containing the availability of each link in the given path.

linkAvail

public double linkAvail(E e)

allLinksAvail

public java.util.Map<E,java.lang.Double> allLinksAvail()
Returns:
A HashMap containing the availability of each link in the given graph.

protectedPathAvail

public double protectedPathAvail(Path<V,E> pri,
                                 Path<V,E> sec,
                                 java.util.Map<E,java.lang.Double> link_avail)
Returns:
The path availability of a protected path. Example: a ---- b ----- c ---- d ---- e ---- f ---- g ---- h ---- i \ / \ / n ---- m ------ o ---- p "c" is the split point, whereas "g" is the merge point. The unprotected part N is: a-b-c + g-h-i The protected part M is: Mp: c-d-e-f-g Ms: c-n-m-o-p-g The path availability is: A(N) * [A(Mp) + (1-A(Mp) * A(Ms)]