ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Это изобретение относится к способу и системе для автоматической установки драйвера функционального блока на главное вычислительное устройство (хост) и касается, в частности, но не исключительно, такого способа и системы для установки драйверов функциональных блоков на хост-компьютер.
Предшествующий уровень техники
Технология "Plug and Play" является комбинацией аппаратного и программного обеспечения, которая дает возможность компьютерной системе распознавать и адаптироваться к изменениям конфигурации аппаратного обеспечения с небольшим вмешательством пользователя или без него. С помощью "Plug and Play" периферийные или другие устройства могут быть добавлены или удалены динамически, без неудобной и беспорядочной ручной конфигурации и без запутанного знания аппаратного обеспечения компьютера.
Для того, чтобы установить или использовать периферийное или другое устройство без внешнего драйвера, это периферийное или другое устройство должно соответствовать по меньшей мере одному из множества специфических классов. Операционные системы, такие как, например, "Windows" 2000, должны предварительно загрузить драйвер соответствующего класса. С предварительно загруженным драйвером класса операционная система может затем выполнять следующие задачи:
(а) автоматическое и динамическое распознавание установленного аппаратного обеспечения, включая начальную установку системы, распознавание любых "Plug and Play" - изменений аппаратного обеспечения, которые произошли с последней загрузки системы, и реакция на события аппаратного обеспечения времени исполнения, такие как, например, подстыковка и отстыковка и вставка или удаление устройства; и
(b) загрузка соответствующих драйверов средством управления "Plug and Play", определяющим, какие драйверы необходимы для поддержки конкретного функционального блока, и загрузка этих драйверов.
Однако драйвер включает в себя только определенные общие и существующие классы, такие как, например, класс обобщенной массовой памяти, класс устройств взаимодействия с человеком и класс видеоустройств. Драйвер конкретного класса может быть больше не применимым, если изготовитель добавил некоторые новые функциональные возможности. В этом случае изготовитель функционального блока может нуждаться в поставке своего собственного драйвера, предварительно загруженного в энергонезависимую память, такую как CDROM, или через Интернет. Без этого драйвера функциональный блок не может использоваться на хосте или любом другом хост-компьютере.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с предпочтительным аспектом обеспечен способ автоматической загрузки на хост драйвера функционального блока, хранимого как часть исполняемой программы в памяти первого функционального блока, причем этот способ предусматривает физическое подключение первого функционального блока к хосту, причем первый функциональный блок сам сообщает хосту о том, что он является обобщенным запоминающим устройством, для использования драйвера класса обобщенной массовой памяти в хосте. Операционная система хоста считывает файл автозапуска, образующий часть упомянутой исполняемой программы, для загрузки и исполнения на хосте программы конфигурирования драйвера, образующей часть упомянутой исполняемой программы. Хост использует программу конфигурирования драйвера, при ее исполнении на хосте, для установки и исполнения драйвера функционального блока на хосте.
Согласно второму аспекту обеспечена система для автоматической загрузки в хост драйвера функционального блока, причем драйвер функционального блока хранится как часть исполняемой программы в памяти первого функционального блока, подключаемого к хосту. Эта исполняемая программа дополнительно содержит файл автозапуска для загрузки и исполнения в хосте программы конфигурирования драйвера, также образующей часть упомянутой исполняемой программы. Программа конфигурирования драйвера предназначена для исполнения в хосте для установки и исполнения драйвера функционального блока в хосте.
Для обоих аспектов драйвер функционального блока может быть для первого функционального блока или для второго функционального блока, подключаемого к хосту, причем первый и второй функциональные блоки являются отдельными блоками. Первый и второй функциональные блоки могут быть подключенными к хосту с использованием одной и той же системы, причем эта система выбирается из группы, состоящей из: USB, IEEE 1394, Bluetooth, IEEE 802.11 (b), Wi-Max и беспроводного USB.
После загрузки и исполнения программы конфигурирования драйвера на хосте программа конфигурирования драйвера может выдать команду первому функциональному блоку подключить второй функциональный блок к хосту. По приему этой команды первый функциональный блок может функционально подключить второй функциональный блок к хосту, и операционная система хоста может обнаружить, что был подключен второй функциональный блок, после чего драйвер функционального блока для второго функционального блока устанавливается на хост от первого функционального блока.
Первый и второй функциональные блоки могут быть физически подключены к хосту таким образом, что хост разбивает выделение одного блока памяти на две области логических блоков. Только первый функциональный блок может быть видимым для операционной системы хоста перед исполнением программы конфигурирования драйвера.
После завершения установки драйвера функционального блока может быть послана команда к первому функциональному блоку и осуществляться перечисление. Первый и второй функциональные блоки могут быть заданы как два отдельных логических блока. Первому функциональному блоку может быть назначена первая буква дисковода в хосте, а второму функциональному блоку может быть назначена вторая буква в хосте.
Драйвер файловой системы для второго функционального блока может быть автоматически установлен после установки драйвера функционального блока. Драйвер файловой системы может также образовывать часть исполняемой программы. Первый функциональный блок может быть назначен хостом как первый дисковод, а второй функциональный блок может быть назначен хостом как сменный дисковод.
Драйвер файловой системы может быть одним из: драйвера шифрования, драйвера сжатия, драйвера файловой системы NT, драйвера файловой системы Linux и драйвера файловой системы с расширением МАС. Первый функциональный блок может быть энергонезависимым запоминающим устройством, содержащим память. Вторым функциональным блоком может быть периферийное устройство, выбранное из: монитора, клавиатуры, по меньшей мере одного громкоговорителя, мыши, принтера, сменного энергонезависимого запоминающего устройства, цифровой фотокамеры, установочной станции цифровой фотокамеры, проектора, концентратора беспроводной связи, USB-концентратора, устройства для считывания карт, MP3-проигрывателя, медиаплеера, дисковода внешнего диска, видеопроигрывателя, игрового пульта, сканера, биометрического устройства ввода, музыкального инструмента и внешней звуковой карты. Хост может быть выбран из: персонального компьютера, сервера, дорожного компьютера, ноутбука, планшетного компьютера, персонального электронного секретаря и компьютеризованного проектора.
Согласно финальному аспекту обеспечено сменное энергонезависимое запоминающее устройство для присоединения к хосту, причем это сменное энергонезависимое запоминающее устройство содержит машиночитаемый носитель, содержащий код компьютерной программы, который выполнен с возможностью предписания по меньшей мере одному процессору хоста исполнять одну или более функций для осуществления вышеупомянутого способа.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Для того, чтобы изобретение могло быть полностью понятным и легко применимым на практике, теперь будут описаны посредством неограничительного примера только предпочтительные варианты осуществления данного изобретения, причем это описание осуществлено со ссылкой на сопутствующие иллюстративные чертежи, в которых:
фиг.1 - схематичная иллюстрация компьютерной системы согласно первому варианту осуществления;
фиг.2 - блок-схема, иллюстрирующая функциональный блок по фиг.1;
фиг.3 - полная блок-схема последовательности операций при работе первого варианта осуществления;
фиг.4 - блок-схема второго варианта осуществления;
фиг.5 - блок-схема последовательности операций при работе второго варианта осуществления;
фиг.6 - блок-схема третьего варианта осуществления;
фиг.7 - блок-схема последовательности операций при работе третьего варианта осуществления;
фиг.8 - блок-схема последовательности операций при работе четвертого варианта осуществления;
фиг.9 - блок-схема последовательности операций при работе третьего варианта осуществления.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
По всем чертежам идентичные ссылочные позиции используются для подобных компонентов, иногда с префиксным номером для указания рассматриваемого варианта осуществления.
На фиг.1 показана относительно нормальная компьютерная система, содержащая монитор 10, хост-компьютер 12, клавиатуру 14, пару громкоговорителей 16, мышь 18, принтер 20 и сменное энергонезависимое запоминающее устройство 22. Хотя показан персональный компьютер, данное изобретение также применимо к серверам, дорожным компьютерам, ноутбукам, планшетным компьютерам, персональным электронным секретарям, компьютеризованным проекторам и любому другому управляемому компьютером устройству, способному быть хостом для периферийного устройства. Хост 12 использует операционную систему для своей работы и для того, чтобы управлять функциональными блоками, подключенными к нему. Подключение функциональных блоков может осуществляться посредством USB, IEEE1394 или беспроводным образом. Беспроводным подключением может быть Bluetooth, IEEE 802.11(b) (WiFi), Wi-Max или беспроводная USB.
Каждое из монитора 14, пары громкоговорителей 16, мыши 18, принтера 20 и сменного энергонезависимого запоминающего устройства 22 является функциональным блоком для использования с хостом 12. Другие функциональные блоки включают в себя, но не в ограничительном смысле, цифровые фотокамеры, установочные станции цифровых фотокамер, проекторы, концентратор беспроводной связи, USB-концентратор, устройство для считывания карт, MP3-проигрыватель, медиаплеер, дисковод внешнего диска, видеопроигрыватель, игровой пульт, сканер, устройство биометрического ввода, музыкальный инструмент, внешняя звуковая карта и т.д. Все такие устройства называются функциональным блоком, и им придана групповая ссылочная позиция 24.
Блок-схема такого функционального блока показана на фиг.2. Функциональный блок 24 имеет блок 26 микропроцессора (MCU), имеющий внутреннее ПЗУ 30. Операционная система загружается в ПЗУ 30 для исполнения микропроцессором 26. Соединителем 32 может быть USB, IEEE1394, соединитель беспроводной связи или иной соединитель. Соединителем беспроводной связи может быть Bluetooth, IEEE 802.11(b) (WiFi), Wi-Max или беспроводная USB. Блок 24 также имеет энергонезависимую память 28 любого известного типа, включая, но не в ограничительном смысле, флэш-память, жесткий диск, CDROM, DVD и т.п. Память 28 хранит драйвер для соединителя 32. Память может быть из одного или нескольких модулей и может быть:
(а) встроена в блок 24;
(b) отдельной от блока 24, но присоединяемой к блоку 24 или вставляемой в него; или
(с) отдельной от блока 24, но выполненной с возможностью осуществлять связь с блоком 24 через хост 12 или другое устройство.
Установка устройства 24 на хост 12 показана на фиг.3 и основана на функциональной возможности «автозапуска», предусмотренной большинством операционных систем. Память 28 хранит драйвер функционального блока 24 в качестве исполняемой программы, подлежащей установке в операционную систему хоста 12. В исполняемую программу также включены другие функции, как будет ясно из следующего описания. Эти функции будут варьироваться согласно конкретным обстоятельствам.
Когда функциональный блок 24 подключается к хосту 12 (102), функциональный блок 24 сам сообщает хосту 12 о том, что он является, например, обобщенным запоминающим устройством, таким как устройство CDROM, подключенным к хосту 12 через известную соединяющую систему, такую как USB, и это обеспечивает использование драйвера класса обобщенной массовой памяти в хосте 12 (104).
Операционная система хоста 12 будет считывать autorun.inf (106). С использованием autorun.inf операционная система хоста 12 будет загружать (108) и исполнять (110) исполняемую программу, которая предварительно загружена в память 28. Исполняемая программа предпочтительно включает в себя, среди прочего, программу конфигурирования драйвера и драйвер для функционального блока 24.
Как показано на фиг.4 и 5, при исполнении исполняемой программы она может установить драйвер для второго функционального блока 34. Это уместно, когда память 28 является отдельной от функционального блока 24. Например, первым функциональным блоком 24 может быть память 28, а вторым функциональным блоком 34 может быть принтер, сканер, другое устройство массовой памяти либо другие устройства, перечисленные выше. Предпочтительно, подключение обоих функциональных блоков к хосту 12 использует одну и ту же систему, такую как, например, USB, IEEE1394 или через беспроводную связь. Системой беспроводной связи может быть Bluetooth, IEEE 802.11(b) (WiFi), Wi-Max или беспроводная USB.
После установки программы конфигурирования драйвера на хост 12 программа конфигурирования драйвера для второго функционального блока 34 исполняется на хосте 12 и выдает команду через соединитель 32 и драйвер 30, чтобы сообщить операционной системе устройства 24, что установка завершена. По приему этой команды операционная система устройства 24 может затем подключить второй функциональный блок 34 к операционной системе хоста 12. Первым функциональным блоком может быть, например, CDROM, а вторым функциональным блоком 34 может быть, например, устройство для считывания/записи смарт-карт. Предпочтительно, оба блока 24, 34 подключены к хосту 12 через концентратор 36.
Когда первый функциональный блок 24 подключен к концентратору 36 (202), только первый функциональный блок 24 является доступным для операционной системы хоста 12. После того, как "autorun" (автозапуск) загружен от первого функционального устройства 24 хостом 12 и выполняется на хосте 12 (204), операционная система хоста 12 осуществляет проверку на предмет существующего драйвера (206). Если драйвер установлен на хост 12 (208), то он открывается и исполняется (210). Затем она переходит к этапу (216). Если нет драйвера, установленного на хост 12 (212), то исполняемая программа переходит к установке программы конфигурирования драйвера (214). По завершении программа конфигурирования драйвера выдает команду первому функциональному блоку 24 (216), и затем блок 24 подключает второй функциональный блок к порту на хосте 12. Операционная система хоста 12 затем обнаруживает, что блок 34 был подключен (218). Драйвер для второго блока 34 загружается в хост 12 (220), и второй функциональный блок может управляться хостом 12 (222). Не требуется никакого вмешательства пользователя для установки, за исключением физического подключения блоков 24, 34.
Фиг.6 и 7 показывают ситуацию, когда вторым функциональным блоком 34 является также устройство массовой памяти. С данным изобретением операционная система (ОС) хоста 12 будет поддерживать множественные устройства массовой памяти, как детализировано в спецификации класса массовой памяти. Для операционной системы на хосте 12, которая не поддерживает множественные устройства массовой памяти, такие как устройства, подключаемые с использованием такого устройства, как USB-концентратор, ход процесса таков:
1. физически подключить два блока 24, 34 как два логических блока (302) посредством разбиения выделения одного блока памяти на две области логических блоков;
2. так как операционная система хоста 12 не поддерживает множественные блоки, только первый блок 24 (например, дисковод CDROM) является видимым для операционной системы. Затем происходит "Autorun" (автозапуск) (304);
3. операционная система хоста 12 затем выполняет проверку на предмет существующего драйвера (306). Если драйвер установлен на хосте 12 (308), то он открывается и исполняется (310). Затем она переходит к этапу (318). Если нет драйвера, установленного на хосте 12 (312), то исполняемая программа переходит к установке программы (314) конфигурирования драйвера;
4. драйвер затем загружается и устанавливается (316);
5. когда установка завершена, посылается команда к первому блоку 24 (318);
6. опять выполняется перечисление (320) и два блока 24, 34 определяются как два отдельных логических блока или дисковода. Первому блоку 24 будет назначена буква первого дисковода в операционной системе хоста 12, а второму блоку 34 будет назначена вторая буква операционной системой хоста 12;
7. затем следует установка драйвера файловой системы посредством подключения двух блоков 24, 34 как двух логических блоков. Опять же это осуществляется посредством разбиения одного блока памяти на две области логических блоков (322); и
8. первому блоку 24 назначается, например, дисковод CDROM, а второму блоку 34 назначается сменный дисковод (324). Таким образом, второй функциональный блок 34 может быть подключен в любое время после первого функционального блока 24. Затем происходит автоматическая установка (332). Таким образом, второй функциональный блок 34 может быть подключен в любое время после первого функционального блока 24.
Фиг.9 показывает вариацию. Она уместна, когда два функциональных блока 24, 34 комбинируются без концентратора и являются, таким образом, составным устройством. Два функциональных блока 24, 34 могут связываться с USB как составное устройство, если оба блока 24, 34 имеют один и тот же интерфейс. Спецификация класса массовой памяти дает возможность блокам 24, 34 информировать о себе как о двух логических блоках. После назначения (324) выдается запрос (326) для определения того, поддерживает ли операционная система хоста 12 множественные логические блоки. Если да (328), то блоки 24, 34 будут распознаны и будут управляться как два отдельных дисковода (330). Если такой поддержки нет и если, например, второй блок 34 отформатирован файловой системой, отличной от файловой системы хоста 12 (такой как, например, "Linux", а не "Windows"), то файловая система блока 34 не сможет быть интерпретирована файловой системой хоста 12, так что подключение второго блока 34 запустит автоматическую установку драйвера файловой системы (332), который образует часть исполняемой программы на первом устройстве 24. После установки драйвера файловой системы второй блок 34 является доступным с хоста 12.
В этом случае оба блока 24, 34 должны быть подключены в одно время. Возможно, понадобится повторное перечисление.
Фиг.8 показывает установку драйвера сжатия и/или шифрования на второй блок 34, который является устройством массовой памяти. Ход процесса подобен ходу, описанному выше в отношении фиг.6 и 7, вплоть до и включая этап 8 процесса. После этого этапа:
1. первый блок 24 рассматривается как, например, дисковод CDROM (426);
2. второй блок 34 рассматривается как сменный дисковод (428);
3. когда операционная система хоста 12 поддерживает множественные логические блоки (430, 432), блоки 24, 34 будут распознаны как два отдельных дисковода (434). Если нет, выполняется ход процесса, описанный выше. Если второй блок 34 имеет другой драйвер, такой, например, как драйвер файловой системы NT, файловой системы Linux и файловой системы с расширением MAC, драйвер шифрования, драйвер сжатия, то файловая система второго блока 34 не сможет быть интерпретирована операционной системой хоста 12. Таким образом, подключение второго блока 34 запустит автоматическую установку (436) драйвера файловой системы, который образует часть исполняемой программы на первом устройстве 24; и
4. после установки драйвера файловой системы второй блок 34 является доступным от хоста 12.
Хотя в вышеприведенном описании были описаны предпочтительные варианты осуществления данного изобретения, специалистам в данной области техники будет ясно, что могут быть сделаны много вариаций и модификаций в деталях проекта или конструкции не выходя за рамки данного изобретения.
название | год | авторы | номер документа |
---|---|---|---|
АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ USB В ИГРОВОЙ МАШИНЕ | 2004 |
|
RU2331927C9 |
ЗАЩИЩЕННАЯ ЗАГРУЗКА И КОНФИГУРИРОВАНИЕ ПОДСИСТЕМЫ С НЕЛОКАЛЬНОГО ЗАПОМИНАЮЩЕГО УСТРОЙСТВА | 2011 |
|
RU2542930C2 |
ПРОЦЕДУРЫ ЗАГРУЗКИ ДЛЯ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ | 2004 |
|
RU2331928C9 |
ПРОТОКОЛЫ И СТАНДАРТЫ ДЛЯ КОММУНИКАЦИЙ С USB-ПЕРИФЕРИЕЙ | 2004 |
|
RU2331926C9 |
ОБЕСПЕЧЕНИЕ ЗАЩИЩЕННОГО ВВОДА И ВЫВОДА ДЛЯ ДОВЕРЕННОГО АГЕНТА В СИСТЕМЕ С ВЫСОКОНАДЕЖНОЙ СРЕДОЙ ИСПОЛНЕНИЯ ПРОГРАММ | 2004 |
|
RU2365045C2 |
ОБЕСПЕЧЕНИЕ ЗАЩИЩЕННОГО ВВОДА В СИСТЕМУ С ВЫСОКОНАДЕЖНОЙ СРЕДОЙ ИСПОЛНЕНИЯ ПРОГРАММ | 2004 |
|
RU2365988C2 |
ВЫБОРОЧНАЯ ПРИОСТАНОВКА ШИННЫХ УСТРОЙСТВ | 2002 |
|
RU2304300C2 |
БЫСТРЫЙ ЗАПУСК КОМПЬЮТЕРА | 2010 |
|
RU2568280C2 |
ШИНА РАЗБИЕНИЙ | 2005 |
|
RU2390827C2 |
СПОСОБ УСТАНОВКИ ДРАЙВЕРА ДЛЯ ЭМУЛЯЦИИ СЕТЕВОЙ КАРТЫ | 2012 |
|
RU2666518C1 |
Изобретение относится к способу и системе для автоматической установки драйвера функционального блока на главное вычислительное устройство (хост). Техническим результатом является обеспечение возможности компьютерной системе распознавать и адаптироваться к ' изменениям конфигурации аппаратного обеспечения. Описан способ автоматической загрузки в главное вычислительное устройство (хост) драйвера функционального блока, хранимого как часть исполняемой программы в памяти первого функционального блока. При этом данный способ предусматривает физическое подключение первого функционального блока к хосту, причем первый функциональный блок сам сообщает хосту, что он является обобщенным запоминающим устройством для использования драйвера класса обобщенной массовой памяти в хосте. Операционная система хоста считывает файл автозапуска, образующий часть упомянутой исполняемой программы, для загрузки и исполнения на хосте программы конфигурирования драйвера, образующей часть упомянутой исполняемой программы. Хост использует программу конфигурирования драйвера, при ее исполнении на хосте, для установки и исполнения драйвера функционального блока на хосте. 3 н. и 20 з.п. ф-лы, 9 ил.
физическое подключение первого функционального блока к главному вычислительному устройству; сообщение первым функциональным блоком о самом себе главному вычислительному устройству, что он является обобщенным запоминающим устройством, для использования драйвера класса обобщенной массовой памяти в главном вычислительном устройстве; считывание операционной системой главного вычислительного устройства файла автозапуска, образующего часть упомянутой исполняемой программы, для загрузки и исполнения в главном вычислительном устройстве программы конфигурирования драйвера, образующей часть упомянутой исполняемой программы, и использование программы конфигурирования драйвера, при ее исполнении в главном вычислительном устройстве, для установки и исполнения драйвера функционального блока в главном вычислительном устройстве,
при этом драйвер функционального блока предназначен для первого функционального блока и второго функционального блока, причем каждый функциональный блок является подключаемым к главному вычислительному устройству и оба функциональных блока являются отдельными блоками, и при этом после загрузки и исполнения программы конфигурирования драйвера в главном вычислительном устройстве, программа конфигурирования драйвера выдает команду первому функциональному блоку подключить второй функциональный блок к главному вычислительному устройству.
при этом драйвер функционального блока предназначен для первого функционального блока и второго функционального блока, причем каждый функциональный блок является подключаемым к главному вычислительному устройству и оба функциональных блока являются отдельными блоками, и при этом после загрузки и исполнения программы конфигурирования драйвера в главном вычислительном устройстве программа конфигурирования драйвера выдает команду первому функциональному блоку подключить второй функциональный блок к главному вычислительному устройству.
US 2003204950 A1, 06.11.2003 | |||
RU 2002135793 A, 10.07.2004 | |||
US 2004128420 A1, 01.07.2004 | |||
WO 03012577 A2, 13.02.2003. |
Авторы
Даты
2009-02-20—Публикация
2004-08-12—Подача