title: What's the normal/regular protocol/design pattern for multiple users to configure the same settings?
body: <p>We are working on a software. It is a distributed program which includes agent program and server program.</p>
  
  <p>The agent program runs on different machines, and reports to the server program. The server program gets all the data from the agent programs and show the data in UI. Because the agent runs on different machines, it needs to use different parameters (depends on the machine).</p>
  
  <p>In order to make the management easier, on the server program, the user can configure the parameters for each agent and then 'push' parameters to the agent.</p>
  
  <p>In most cases, it will have only ONE user. So, everything is ok. However, now, we will have multiple users who have the same power to change the parameters.</p>
  
  <p>In our discussion, one case pops up. </p>
  
  <ol>
  <li><p>User UA opens the server program, makes changes to the configuration to machine MA, but not save yet. Then, User UB opens another instance of the server program, makes changes to the configuration to machine MA again. The changes are different from the changes UA made, and there are overlap too.</p></li>
  <li><p>UB saves the changes first. No problem. However, now UA saves the changes. The problem is: the settings UA changed is based on the old ones, not the settings UB changed.</p></li>
  </ol>
  
  <p>What I think is: Simply overwrite the settings UB saved, but UB may not notice this, which generates confusion on UB.</p>
  
  <p>My question is: What's the normal/regular protocol/design pattern for multiple users to configure the same settings?</p>
  
  <p>Thanks</p>