title E2 Instance Keep Alive Flow - E2TShutdownManager participant E2TShutdownManager as E2M participant E2tAssociationManager as EAM participant E2TInstancesManager as E2TM participant E2T instance 1 as E2T1 participant E2T instance 2 as E2T2 participant rNib DB as RNIB E2M->+E2TM: GetE2TInstance(e2tAddress) E2TM->+RNIB: GetE2TInstance(e2tAddress) RNIB->-E2TM: E2TInstance {e2tAddress, associatedRanList} E2TM->-E2M: E2TInstance {e2tAddress, associatedRanList} note over E2M: If Instance is already in the middle\nof deletion process - return E2M->+E2TM: SetE2tInstanceState(e2tAddress, currentState, TO_BE_DELETED) alt error E2TM-->E2M: error note over E2M: Log it\nSTOP else success E2TM-->-E2M: ok note over E2M: cache associatedRanList loop each ranName in associatedRanList E2M->+RNIB: GetNodeb(ranName) RNIB->-E2M: nodeb note over E2M: nodeb.E2tAddress=""\nnodeb.State=DISCONNECTED E2M->+RNIB: UpdateNodeb (nodeb) RNIB-->-E2M: ok end E2M->+EAM: RemoveE2tInstance(e2tInstance) note over EAM: Detailed in a seperated sequence alt error EAM->E2M: error note over E2M: Log it\nSTOP else success EAM-->-E2M: ok