| 1 | = Host identification = |
| 2 | |
| 3 | |
| 4 | === Host identification === |
| 5 | Not all systems have an application-readable globally unique IDs, so we use a different approach to host identification. When a host first contacts the scheduling server it is assigned a host ID. The server also maintains an RPC sequence number for each host. Both the host Id and the RPC sequence number are stored in the client's `client_state.xml` file. |
| 6 | |
| 7 | If the scheduling server receives an RPC with a sequence number less than the expected sequence number, it creates a new host record in the database. (This might happen, for example, if a user copies the `client_state.xml` file between hosts.) |
| 8 | |
| 9 | |
| 10 | === Merging duplicate host records === |
| 11 | This mechanism can lead to situations where the server has multiple host records for a single host. For example, this will occur if the user deletes the `client_state.xml` file. |
| 12 | |
| 13 | The user can merge these duplicates to a single record using the '''Merge hosts''' command on the web interface. |
| 14 | |