= Computer identification = == How computers are identified == We haven't found a universal hardware-level mechanism (CPU chip ID, MAC address) for uniquely identifying computers. So we do it in software as follows: When a computer first contacts a project's scheduling server, the server creates a database record for the computer , which includes a host ID and an RPC sequence number. The computer ID and the RPC sequence number are also stored in the client's `client_state.xml` file. The client increments the RPC sequence number on each scheduler request. If the scheduling server receives an RPC with a sequence number less than the expected sequence number (usually indicating that the user has copied the `client_state.xml` file between computers) it creates a new database record and returns a new ID. == Merging duplicate computer records == This mechanism can lead to situations where a project's server has multiple database records for a single computer. For example, this will occur if the user deletes the `client_state.xml` file. The user can merge these duplicates into a single record via a web interface. You may only merge two computer records if * They have the same processor type (Intel, AMD etc.) and operating system. * They don't overlap in time; i.e. computer 1's last RPC happened before computer 2's first RPC, or vice-versa. There are two ways of merging computer records: * To merge a single computer, open its Summary page, and click on "Merge this computer". You will see a list of computers eligible to be merged with this one, and you can select any or all of them. * The "Your computers" page has a link '''Merge computers by name'''. This feature lets you automatically merge all eligible computers having the same domain name. This is handy if you run a "computer farm" and periodically reformat all the drives.