Version 4 (modified by 17 years ago) (diff) | ,
---|
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.
Alternate identification method at World Community Grid
In absence of a merge feature at this project, WCG introduced an alternate method called host matching to recognise previously existing devices to prevent new / duplicate registrations. For that the server compares standard information exchanged during server-client communications being:
- user name
- domain_name
- ip_addr (the ip of the client on the local network)
- operating system name
- processor vendor
- memory
The most recent record that matches this critiera (if found) will be re-used. It will cancel any results currently assigned to the client, and then issue new work. This is because a user might be trying to clear out some work that was causing some form of trouble. If any of this information is hidden through for instance setting the <suppress_net_info> flag in the cc_config.xml file suppressing the IP address or domain_name, the method fails and will create a new device registration.