Host Identification and Merging
From Unofficial BOINC Wiki
Contents |
[edit] Host Identification
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 Scheduling 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.
If the Scheduling Server receives an RPC with a RPC Sequence Number less than the expected sequence number, it creates a new Host Record in the BOINC Database. (This might happen, for example, if a Participant copies the client_state.xml file between Hosts.)
[edit] Merging Duplicate Host Records
This mechanism can lead to situations where the BOINC Database has multiple Host Records for a single Host. For example, this will occur if the Participant deletes the client_state.xml file.
The Participant can merge these duplicates to a single record using the "Merge Hosts" command on the Project's Web Site.
Other actions can also give rise to multiple Host IDs, including:
- Detaching and re-attaching to a Project.
- Running a new Version of the BOINC Client Software that changes the way that CPU names are identified. (cannot be merged)
- Adding a service pack update to Microsoft Windows®. (cannot be merged)
- Adding an additional Operating System to the computer and using multi-boot (e.g.: Microsoft Windows® and Linux).
- An update to the BIOS that changes the CPU identification. (cannot be merged)
- Extreme Over-Clocking that the CPU is mis-identified. (cannot be merged)
- Attempting to run the BOINC Client Software in Windows 2000® mode under Microsoft Windows XP®
- Significant changes to the computer's hardware configuration (CPU chip, adding Physical Memory, etc.) (cannot be merged)
[edit] UCB Source
[edit] Copyright ©
- 2005 University of California
- 2005 Paul D. Buck
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

