We shall add a new property to the NodebInfo struct,
AssociatedE2TInstanceAddress string
Address string
AssociatedRanList []string
KeepAliveTimetamp int64
State E2TInstanceState
E2TInstanceState (new, enum)
type E2TInstanceState string
Active E2TInstanceState = "ACTIVE"
ToBeDeleted E2TInstanceState = "TO_BE_DELETED"
e2tAddress string
ranNames []string
New keys:
key | value | Description |
---|---|---|
E2TInstance:<Address> | E2TInstance JSON | E2T instance is saved here by address key, and contains it’s associated RANs Calculation of the chosen E2T instance will be the E2TInstance with the minimum RAN count |
E2TAddresses | []string JSON | List of E2T Addresses |
New methods:
GetE2TInstance(address string) (*E2TInstance, error)
GetE2TInstances(addresses []string) ([]*E2TInstances, error)
GetE2TAddresses() ([]string, error)
New methods:
SaveE2TInstance(e2tInstance *E2TInstance) error
RemoveE2TInstance(address string) error
SaveE2TAddresses([]string) error
method SelectE2TInstance() (e2tAddress string, error)
method GetE2TInstance(e2tAddress string) (*E2TInstance, error)
method GetE2TInstances() ([]*E2TInstance, error)
method GetE2TAddresses() ([]string, error)
method AddE2TInstance(e2tAddress string) error
1. Create *E2TInstance{e2tAddress, AssociatedRanList} and set E2TInstance:<Address>
lock -
2. Get E2TAddresses
3. Add e2tAddress to E2TAddresses key (add to list)
4. Save E2TAddresses
unlock
method RemoveE2TInstance(e2tAddress string) error
lock -
1. Delete E2TInstance key from DB
2. Get E2TAddresses
3. Delete e2tAddress from E2TAddresses key
4. Save E2TAddresses
unlock
method AddRanToInstance(ranName, e2tAddress ) error
lock -
1. Get E2TInstance key
2. Add ranName to its AssociatedRanList
3. Save E2TInstance key
unlock
method SetE2tInstanceState(e2tAddress, currState, newState) error
lock -
1. Get E2TInstance key
2. If E2TInstance.state = currState
2.1. Set state
2.2. Save E2TInstance key
unlock
method RemoveRanFromInstance(ranName, e2tAddress ) error
lock -
1. Get E2Instance key
2. Remove ranName from its AssociatedRanList
3. Save E2Instance key
unlock
method ClearRanFromInstances() error
lock -
1. Get E2T Addresses
2. Get E2T Instances (addresses)
2.1. Foreach E2T Instance
2.1.1. Clear E2TInstance AssociatedRanList
2.1.2. Save E2TInstance key
unlock
method ResetKeepAliveTimestamp(address, count) error
lock -
1. Get E2TInstance key
2. If E2TInstance.state = ACTIVE
2.1. Set KeepAliveTimestamp = now
2.2. Save E2TInstance key
unlock
method AssociateRan(ranName, e2tAddress) error
method DissociateRan(ranName, e2tAddress) error
method RemoveE2Instance(e2tAddress, ranNameListToBeDissociated []string, ranAssocList []*E2tInstance) error
method Execute()
method Handle()
method Shutdown(fqdn)
method getAllE2tInstances()
Add keep-alive timestamp interval to helm-chart
Set all ACTIVE E2tInstances' timestamp to now()
RMR INIT message
E2T sends an INIT message to E2M.
In the current implementation, message is EMPTY.
Now, it should contain the instance’s Address.
Sequence Diagram
Sequence Diagram
Sequence Diagram
Sequence Diagram
Sequence Diagram
Sequence Diagram
Sequence Diagram