Используя множественные названия контроллеров просто конвенция.
Множественные имена обычно звучат более естественными (специально для контроллеров, которые связываются непосредственно с определенной моделью: Пользователь-> Пользователи, и т.д.), но можно использовать то, что Вы хотите.
Что касается помощников, все помощники доступны для всех контроллеров по умолчанию, так технически, как Вы называете своих помощников, не имеет значения вообще. Это - просто другая конвенция сохранить функции помощника контроллера в помощнике с тем же именем как контроллер.
Попробуйте следующее:
http://carso-owen.blogspot.com/2007/02/how-to-get-my-motherboard-serial-number.html
Лично я бы пошел с серийным номером жесткого диска. Если материнская плата умирает и заменяется, этот компьютер больше не действует. Если жесткий диск заменен, это не имеет большого значения, потому что на нем было программное обеспечение.
Конечно, с другой стороны, если жесткий диск просто перемещается в другое место, информация идет вместе с ним, поэтому вы можете захотеть чтобы посмотреть на комбинацию серийных номеров, в зависимости от того, для чего вы хотите.
Напишите функцию, которая принимает на вход несколько уникальных аппаратных параметров и генерирует их хэш.
Например, активация Windows учитывает следующие характеристики оборудования:
Вы можете забрать несколько из них для генерации вашего уникального идентификатора компьютера.