Unidata
1. Assegnazione degli fk ai cavi
private Boolean checkIfCableCanRoutedWithGcLocation(List<PcabNodes> cableNodesList) {
boolean useGC = true;
if (serviceApplicationType.isAB()) {
if (searchIndexPcabNodesInListByClassif(cableNodesList, PcabNodes.S_ID_ENTITY_CLASSIFICATION_PT_OR_ROE) >= 0) {
useGC = false;
} else {
Integer pdIndex = searchIndexPcabNodesInListByClassif(cableNodesList, PcabNodes.S_ID_ENTITY_CLASSIFICATION_PD);
if (pdIndex >= 0 && checkIfPdIsConnectedToCNO(cableNodesList.get(pdIndex))) {
useGC = false;
}
}
}
return useGC;
}
Solo per Unidata è possibile ridurre il range di ricerca degli fk ai soli PD o PFS, questo per evitare che si intreccino le aree PFS in doppia progettazione. Quindi avremo che in caso di PD presenti tra i nodi del cavo andrò a puntare direttamente al primo PFS, oppure se nel cavo è presente un CNO. La ricerca recursiva viene fatta escludendo i cavi di Unidata.
2. Controllo Doppia progettazione
la doppia progettazione è così definita:
Si prevede la creazione di un’infrastruttura ottica in grado di gestire due reti differenti:
-
Rete OpenFiber, con splitter 1:4 al PFP e 1:16 al PFS.
-
Rete Unidata, con splitter 1:8 in uscita al PFS e 1:8 al ROE.
Per la gestione di queste reti, verranno dedicati tubetti distinti: alcuni riservati a Unidata e altri a OpenFiber.
Questa intera funzionalità è gestita dal component:
CheckerMultiOwnershipPcabNodes
Cablaggio da POP a PFP
Nei collegamenti tra POP e PFP verranno utilizzati cavi da 288 fibre ottiche, con tubetti da 24 fibre ciascuno. La suddivisione sarà la seguente:
-
Fibre 1-192 dedicate a OpenFiber.
-
Fibre 193-288 dedicate a Unidata, suddivise così:
-
Fibre 193-216 (tubetto 9) → PFP 1
-
Fibre 217-224 (tubetto 10) → PFP 2
-
Fibre 225-264 (tubetto 11) → PFP 3
-
Fibre 265-288 (tubetto 12) → PFP 4
-
Cablaggio da PFP a PFS
Per i collegamenti tra PFP e PFS verranno utilizzati cavi da 192 fibre ottiche, sempre con tubetti da 24 fibre. In caso di cascate di PFS, si utilizzeranno cavi da 288 fibre ottiche, mantenendo la stessa struttura dei tubetti.
-
Fibre 1-96 → OpenFiber
-
(In caso di cascata: 1-96 al PFS1, 97-192 al PFS2)
-
-
Fibre 97-120 → Unidata
-
(In caso di cascata: 193-216 al PFS1, 217-240 al PFS2, ad intervalli di 24...)
-
Cablaggio a valle del PFS
Per i collegamenti a valle del PFS, si seguirà la procedura automatizzata di calcolo delle giunzioni del tool sviluppato per Unidata.
Cavo PFS → PD
-
Cavo con meno di 96 F.O. → lasciate 12 fibre libere.
-
Cavo con 96 F.O. o più → lasciate 24 fibre libere per Unidata.
-
Se presenti PD in cascata → lasciate 24 fibre libere per Unidata per ogni tratto di cavo.
Assegnazione delle fibre occupate:
-
Dalla fibra 13 (o 25), assegnazione alle UI del primo PD.
-
A seguire, fibre per altri PD in cascata (pari al numero di UI servite).
-
Successivamente, spare per il primo PD.
-
Infine, spare per gli altri PD.
Cavo PD → ROE
-
Cavo con meno di 96 F.O. → lasciate 12 fibre libere.
-
Cavo con 96 F.O. o più → lasciate 24 fibre libere per Unidata.
-
Se presenti ROE in cascata → lasciate 24 fibre libere per Unidata per ogni tratto di cavo.
Assegnazione delle fibre occupate:
-
Dalla fibra 13 (o 25), assegnazione alle UI del primo ROE.
-
Spare del primo ROE.
-
Dal tubetto successivo, assegnazione alle UI di altri ROE in cascata.
-
Spare degli altri ROE.
Principi di progettazione
Si manterrà l'impostazione seguente:
-
Riservare tubetti liberi per Unidata.
-
Rispettare l'ordine di assegnazione delle fibre ai nodi ottici.
-
Non garantire un numero esatto di fibre per ogni nodo ottico, poiché verrà dedicato un tubetto per ogni ROE.
Cablaggio da PFS a PD e da PD a ROE
Nei collegamenti da PFS a PD e da PD a ROE verranno utilizzati cavi con potenzialità adeguata, con tubetti da 12 o 24 fibre, rispettando le seguenti regole:
-
Lasciare i primi tubetti liberi come previsto dalla procedura PNI.
-
Mantenere l'integrità di un tubetto per ogni ROE.
-
In caso di cascate di PD o ROE:
-
Assegnare le prime fibre al nodo a monte (più vicino).
-
Spillamento:
-
Priorità al nodo più vicino.
-
Priorità alla sezione di cavo più lunga.
-
Utilizzare un tubetto per ogni ROE anche negli spillamenti; se non sufficiente, dare priorità ai tubetti già aperti nel ROE di spillamento.
Gestione delle spare:
-
Le spare nei PD verranno gestite come previsto dalla procedura PNI.
-
Le giunzioni nei PD seguiranno lo schema PNI.
private void setCableFks(PcabCables cables, CableFkAssociatonStatus status) throws GisfoException {
HashSet<Long> hashSetIdEntClassNodes = status.getHashSetIdEntClassNodes();
List<PcabNodes> nodesOfShortesPath = status.getNodesOfShortesPath();
resetFks(cables, status.getCalcFibersLogicalConfig());
if (hashSetIdEntClassNodes.contains(PcabNodes.S_ID_ENTITY_CLASSIFICATION_PFS_OR_CNO)
&& !checkCableIsBelongToCascadeCno(nodesOfShortesPath, status)
&& !Objects.equals(cables.getFk_kv_net_use(), KvNetUse.VALUE_GRE_AGGREGATION)) {
setFkCno(cables, hashSetIdEntClassNodes, nodesOfShortesPath);
} else if (hashSetIdEntClassNodes.contains(PcabNodes.S_ID_ENTITY_CLASSIFICATION_PFP_OR_GC)) {
setFkGC(cables, nodesOfShortesPath);
}
}
3. Calcolo occupazione fibre logiche di secondaria di Unidata
I metodi seguenti sono stati overridati per le esigenze specifiche di Unidata:
-
getCurrentSection: Aggiunge logica per verificare se
getOfSingleNode()è attivo. Se lo è, controlla se ci sono sibiling section da occupare, ovvero sezioni doppie che percorrono lo stesso percorso. -
checkIfSectionIsFree: Implementa un metodo per verificare se una sezione specifica ha fibre disponibili.
-
getTheFreeNumFibersByApp: Aggiunge logica per gestire fibre prioritarie in base a criteri specifici (es.
VALUE_P2P_OF_BUSINESS,FibersLogical.S_FIBER_TYPE_SPARE_ROE). Può anche rimuovere fibre per uso primario se necessario. -
setFreeFibersInTubes: Usa
serviceRCablesFiberTubes.getFirstFreeFiberIndex()per determinare il primo indice disponibile di una fibra. -
setJointError: Gestisce errori di giunzione e genera un messaggio di avviso.
-
Gestione della priorità delle fibre: Verifica se esistono fibre prioritarie, ridistribuendole in base a esigenze di rete.
-
Verifica sibiling sections: Determina se una sezione può essere utilizzata in alternativa per ottimizzare l'allocazione delle fibre.


No Comments