Automatic Service Discovery: EPICS vs OTHER
Automatic Service Discovery
EPICS way:
1. server:
- creates beacon at port N
- subscribes to notifications
- gets request for channels XYZ
- replies with "<subsystem>:<host>:<port>"
2. client :
- creates beacon at port N
- presorts channels to get individual subsystem list [tpc, bemc, xxxx]
- publishes "who has <variable>?" message for each channel
- waits for reply from IOC
note: creates UDP storm when clients with many channels reconnect to servers
NORMAL/RECOMMENDED way:
1. server:
- creates beacon at port N
- broadcasts "I control <subsystem>, here is my contact info <host>:<port>" messages
- processes channel queries on <host>:<port> announced
2. client:
- sorts channel list, extract subsystem(s) ids
- listens to server beacons, receives beacons for desired subsystem(s)
- checks whether channels from its list exist at server(s)
- asks server(s) to "get" channels
note: reliable, does not create UDP storm = constant network load
Groups:
- dmitry's blog
- Login or register to post comments