Network reliability
# Network reliability

Con network reliability, in italiano affidabilità di rete, si definisce la stabilità di una rete, sia essa logica o fisica.

## Descrizione

Una rete è rappresentabile da un grafo G(N,E) di N nodi ed E archi.

Lo studio di questi sistemi inevitabilmente porta ad una valutazione sia della loro efficienza in termini prestazionali, sia dell'efficacia in termini di affidabilità che questi offrono. Essendo questi, com'è facile immaginare, di fondamentale importanza nell'applicabilità di soluzioni estese come reti aziendali, o, ad esempio, la topologia stradale di una città, lo studio ed il design degli stessi assume un'importanza radicale nello sviluppo e nell'analisi che ne consegue.

Come accennato, diverse possono essere le metriche secondo le quali valutare la bontà di una rete: a seconda di ciò che più interessa all'applicazione dello stesso, di diversa importanza possono essere:

* Banda
* Costo
* Affidabilità
* Complessità

In casi pratici, ciò che viene fatto a livello già di design del network, come verrà poi più in dettaglio descritto, è effettuare un trade-off rispetto alle priorità che si hanno nella progettazione.

Nella fattispecie, ciò di cui ci si vuole interessare è l'affidabilità di una rete. Questa è definita come la probabilità che il sistema continui a funzionare per un certo periodo di tempo, date determinate condizioni ambientali, intendendo con queste non unicamente le condizioni fisiche dell'ambiente in cui il sistema è inserito, ma anche il carico a cui è sottoposto lo stesso e più in generale la sua condizione in quanto sistema. Questo suggerirebbe un modello in cui le variabili siano riassumibili come:

* Nodi
* Archi
* Capacità dei nodi e degli archi
* Traffico istantaneo/medio che passa per un arco/deve essere elaborato da un nodo.

In realtà un'analisi simile può divenire estremamente complessa e certamente non effettuabile se non tramite l'ausilio di calcolatori e programmi atti al calcolo di ogni variabile.

Quel che invece è possibile e sensato fare, è assumere che la soglia entro la quale la nostra analisi vuole stare è quella della funzionalità, il che definisce l'arco potersi trovare in due soli stati: up e down, rendendo di fatto l'analisi molto più semplice e, da un punto di vista affidabilistico, equivalente.

Inoltre, per semplificazione, nel modello utilizzato solo gli archi potranno cambiare di stato, passando da funzionanti a non funzionanti, mentre i nodi verranno considerati perfetti. Ciò non toglie ovviamente che il discorso sia ampliabile rendendo l'analisi completa della fallibilità dei nodi e, volendo, inserendo anche probabilità condizionate sulla stessa.

Tre, infine, i tipi di affidabilità che si vogliono studiare:

* Two terminal reliability: probabilità che l'arco (s,t) sia up per un dato periodo di tempo
* All terminal reliability: probabilità che un nodo s sia in grado di comunicare con tutti gli altri nodi per un dato periodo di tempo (e, chiaramente, viceversa).
* K terminal reliability: conseguentemente, l'affidabilità posta nella comunicazione tra k nodi
