bcds.phison
Class NetAvail<V,E>
java.lang.Object
bcds.phison.NetAvail<V,E>
public class NetAvail<V,E>
- extends java.lang.Object
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 |
NetAvail
public NetAvail()
NetAvail
public NetAvail(SimGraph<V,E> g,
java.util.Map<E,java.lang.Double> dist,
ZoneMap<V,E> za)
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)]