Im developing a system where scheduled applications will send notifications to our server application. If these notifications are received on the server it means the client app is running fine.

all the client apps will incorporate a library to make a remoting call to the remoting server.

there will be another client app [Manager] to connect to the remoting server where it will return the details on wether the other client applications have made communication with the server.

My design question is to do with the server:
-what is the best way to store this data. should i use a static object in memory(some form of collection object) or maybe use an xml file?
-since several clients will be calling the remote server to update the data store
will there be locking issues?