Measuring and distinguishing hosts

The core client measures the following aspects of each host:

These quantities are reported in every scheduling RPC, and their latest values are stored in the BOINC database.

Distinguishing hosts

Not all systems have an application-readable globally unique ID, so we don't take this approach. When a host first contacts the scheduling server it is assigned a host ID, which it stores in its "state.xml" file.

The BOINC database maintains the RPC sequence number for each host, and the host maintains the sequence number in its state.xml file.

To install the BOINC client on a large number of computers, users are instructed to copy only the executable and the "account.xml" file. If the user copies the state.xml file as well, the first RPCs from the other hosts will have a repeat sequence number; in this case the scheduling server creates a new host record and returns its ID.