безопасное универсальное программное обеспечение для конфигурирования групповых аппаратов
Классы МПК: | G06F17/00 Устройства или методы цифровых вычислений или обработки данных, специально предназначенные для специфических функций G06F9/445 загрузка или запуск программы |
Автор(ы): | ХУАНГ Чунг-Хо (US), ФАН Ши-Цзеун (US), ЧАНГ Чин-Чуан (US) |
Патентообладатель(и): | ЛЭМ РИСЕРЧ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2006-02-16 публикация патента:
27.03.2011 |
Изобретение относится к области аппаратов плазменной обработки. Техническим результатом является расширение функциональных возможностей конфигурирования групповых аппаратов плазменной обработки за счет универсальных инструментов конфигурации, которые позволяют производителям и пользователям групповых аппаратов применять одинаковое программное обеспечение к различным групповым аппаратам. Способ конфигурирования группового аппарата плазменной обработки включает в себя генерирование ключевого файла, причем ключевой файл инкапсулирует ограничения, наложенные конкретно на групповой аппарат плазменной обработки. Способ также включает в себя генерирование по меньшей мере одного общесистемного конфигурационного файла и по меньшей мере одного компонентного конфигурационного файла с помощью ключевого файла. Способ дополнительно включает в себя генерирование оперативных исполняемых объектов из базы данных файлов определения опций, по меньшей мере одного общесистемного конфигурационного файла и по меньшей мере одного компонентного конфигурационного файла. Далее, способ включает в себя применение оперативных исполняемых объектов для конфигурирования группового аппарата плазменной обработки. 19 з.п. ф-лы, 8 ил.
Формула изобретения
1. Способ конфигурирования группового аппарата плазменной обработки, содержащий этапы, на которых
генерируют ключевой файл из спецификации опций, упомянутый ключевой файл инкапсулирует ограничения конфигурации, наложенные конкретно на упомянутый групповой аппарат плазменной обработки,
инсталлируют упомянутый ключевой файл на аппаратные средства упомянутого группового аппарата плазменной обработки,
генерируют, по меньшей мере, один общесистемный конфигурационный файл с помощью упомянутого ключевого файла, упомянутый общесистемный конфигурационный файл включает в себя, по меньшей мере, высокоуровневые конфигурационные параметры для упомянутого группового аппарата плазменной обработки,
генерируют, по меньшей мере, один компонентный конфигурационный файл для, по меньшей мере, одного компонента упомянутого группового аппарата плазменной обработки с помощью упомянутого ключевого файла, упомянутый, по меньшей мере, один компонентный конфигурационный файл включает в себя, по меньшей мере, первый файл для первого компонента упомянутого группового аппарата плазменной обработки, упомянутый первый файл содержит первый набор компонентных данных относящихся к упомянутому первому компоненту упомянутого группового аппарата плазменной обработки;
генерируют оперативные исполняемые объекты с помощью базы данных файлов определения опций упомянутого, по меньшей мере, одного общесистемного конфигурационного файла и упомянутого, по меньшей мере, одного компонентного конфигурационного файла, и
применяют упомянутые оперативные исполняемые объекты для конфигурирования, по меньшей мере, аппаратных средств, по меньшей мере, упомянутого первого компонента группового аппарата плазменной обработки.
2. Способ по п.1, в котором упомянутая база данных файлов определения опций включает в себя информацию конфигурации для всех возможных ресурсов, которые можно сконфигурировать для упомянутого группового аппарата плазменной обработки.
3. Способ по п.1, в котором упомянутый ключевой файл инкапсулирует данные, которые ограничивают степень конфигурируемости упомянутого группового аппарата плазменной обработки.
4. Способ по п.1, в котором упомянутый ключевой файл включает в себя первый адрес контролера доступа к среде (КДС), связанный с упомянутым групповым аппаратом, при этом упомянутое генерирование упомянутых оперативных исполняемых объектов запрещено, если упомянутый, по меньшей мере, один общесистемный конфигурационный файл и упомянутый, по меньшей мере, один компонентный конфигурационный файл были инсталлированы на групповом аппарате плазменной обработки, который не имеет адреса КДС, совпадающего с упомянутым первым адресом КДС.
5. Способ по п.1, в котором, по меньшей мере, один поднабор ресурсов, которые можно конфигурировать в упомянутой базе данных файлов определения опций, связаны с защитными флагами.
6. Способ по п.1, в котором упомянутый ключевой файл закодирован.
7. Способ по п.1, содержащий далее этапы, на которых
обеспечивают файл скрытых опций, причем упомянутый файл скрытых опций включает в себя набор скрытых опций конфигурации, которые обычно скрыты от пользователей, не информированных специально об упомянутых опциях конфигурации; и
применяют упомянутый файл скрытых опций при генерировании, по меньшей мере, одного общесистемного конфигурационного файла и упомянутого, по меньшей мере, одного компонентного конфигурационного файла.
8. Способ по п.1, отличающийся тем, что упомянутый, по меньшей мере, один общесистемный конфигурационный файл определяет тип переходного модуля упомянутого группового аппарата плазменной обработки, а также определяет режим технологического модуля упомянутого группового аппарата плазменной обработки.
9. Способ по п.8, отличающийся тем, что упомянутый режим является режимом эмуляции упомянутого технологического модуля упомянутого группового аппарата плазменной обработки.
10. Способ по п.1, отличающийся тем, что упомянутый первый компонент упомянутого группового аппарата плазменной обработки является первым технологическим модулем упомянутого группового аппарата плазменной обработки, упомянутый, по меньшей мере, один компонентный конфигурационный файл дополнительно включает в себя, по меньшей мере, второй файл, упомянутый второй файл содержит второй набор компонентных данных, относящихся ко второму технологическому модулю упомянутого группового аппарата плазменной обработки.
11. Способ по п.10, отличающийся тем, что упомянутый, по меньшей мере, один компонентный конфигурационный файл дополнительно включает в себя третий файл, упомянутый третий файл содержит третий набор компонентных данных, относящихся к переходному модулю упомянутого группового аппарата плазменной обработки.
12. Способ по п.10, отличающийся тем, что упомянутый первый набор компонентных данных указывает компоненты упомянутого первого технологического модуля упомянутого группового аппарата плазменной обработки, при этом упомянутый первый набор компонентных данных также указывает продавцов и типы упомянутых компонентов упомянутого первого технологического модуля упомянутого группового аппарата плазменной обработки.
13. Способ по п.1, отличающийся тем, что упомянутый ключевой файл содержит первую дату истечения срока, связанную с первым конфигурационным файлом, относящимся к первому технологическому модулю упомянутого группового аппарата плазменной обработки, а также вторую дату истечения срока, связанную со вторым конфигурационным файлом, относящимся ко второму технологическому модулю упомянутого группового аппарата плазменной обработки.
14. Способ по п.1, отличающийся тем, что упомянутый ключевой файл содержит дату истечения срока, связанную с конфигурационным файлом, относящимся к переходному модулю упомянутого группового аппарата плазменной обработки.
15. Способ по п.1, отличающийся тем, что упомянутый ключевой файл содержит первую дату истечения срока и вторую дату истечения срока, первая дата истечения срока связана с первой лицензированной опцией, относящейся к компоненту первого технологического модуля упомянутого группового аппарата плазменной обработки, а упомянутая вторая дата истечения срока связана со второй лицензированной опцией, относящейся к компоненту второго технологического модуля упомянутого группового аппарата плазменной обработки.
16. Способ по п.1, отличающийся тем, что упомянутый ключевой файл содержит дату истечения срока, связанную с лицензированной опцией, относящейся к компоненту переходного модуля упомянутого группового аппарата плазменной обработки.
17. Способ по п.1, отличающийся тем, что упомянутый, по меньшей мере, один компонентный конфигурационный файл относится к пользовательскому интерфейсу первого технологического модуля упомянутого группового аппарата плазменной обработки, а также к пользовательскому интерфейсу второго технологического модуля упомянутого группового аппарата плазменной обработки.
18. Способ по п.1, отличающийся тем, что один или более конфигурационных файлов конкретных компонентов относятся к пользовательскому интерфейсу переходного модуля упомянутого группового аппарата плазменной обработки.
19. Способ по п.1, отличающийся тем, что упомянутый ключевой файл содержит идентификационную информацию, относящуюся к главному компьютеру, выполненному с возможностью управления упомянутым групповым аппаратом плазменной обработки, упомянутая идентификационная информация вложена в упомянутый, по меньшей мере, один общесистемный конфигурационный файл, упомянутый, по меньшей мере, один общесистемный конфигурационный файл определяет коммуникационный порт для передачи данных между упомянутым главным компьютером и упомянутым групповым аппаратом плазменной обработки.
20. Способ по п.19, отличающийся тем, что упомянутый, по меньшей мере, один общесистемный конфигурационный файл содержит одно или более названий файлов упомянутого, по меньшей мере, одного компонентного конфигурационного файла.
Описание изобретения к патенту
Уровень техники
Аппараты плазменной обработки давно используются для обработки полупроводниковых пластин и других миниатюрных устройств (например, индикаторных панелей, наномашин и т.п.). Широкое применение получили групповые аппараты, представляющие разновидности аппаратов плазменной обработки. В групповом аппарате множество технологических камер группируется вокруг одного или нескольких переходных модулей. Каждая технологическая камера конфигурируется для одного или нескольких конкретных процессов. Перемещая полупроводниковую подложку из одной технологической камеры в другую технологическую камеру группового аппарата, производитель может в довольно короткий срок подвергать подложку множеству процессов и множеству технологий обработки. Улучшенная производительность является одним из преимуществ использования группового аппарата в условиях производства.
В помощь обсуждению Фиг.1 показывает групповой аппарат 100, представляющий высокоуровневое упрощенное логическое изображение типичного группового аппарата. Групповой аппарат 100 включает в себя входной каскад 102 и каскад 104 обработки. Входной каскад 102 может быть представлен как часть группового аппарата 100, которая находится под атмосферным давлением и через которую подложки вставляются в групповой аппарат и извлекаются из него. Каскад 104 обработки содержит действующие технологические модули, в которых происходит обработка подложек.
Более точно входной каскад 102 на Фиг.1 включает в себя множество портов 110, 112 и 114, представляющих порты для ввода подложек в групповой аппарат 100 и извлечения подложек из него. Подложки затем попадают в один из воздушных шлюзов 120 и 122, которые поддерживают разность давлений между каскадом 104 обработки и входным каскадом 102. Из воздушных шлюзов 120 и 122 подложки передвигаются в общий переходной модуль (ТМ) 130, который служит общим перевалочным пунктом для подложек, перемещающихся между технологическими модулями (РМ) 140, 142, 144 и 146. Каждый технологический модуль конфигурирован так, чтобы выполнять один или несколько конкретных процессов с помощью определенных технологий. Например, технологический модуль может быть конфигурирован для травления поликремния, другой технологический модуль может быть конфигурирован для осаждения нитрида, и еще один технологический модуль из того же группового аппарата может быть конфигурирован для травления металла. Групповой аппарат 100 может содержать другие модули (такие как атмосферный технологический модуль, или АРМ) и другие подсистемы, отсутствующие на Фиг.1. Поскольку эти и другие главные подсистемы группового аппарата общеизвестны специалистам, то эти главные подсистемы не будут здесь перечисляться или подробно рассматриваться.
Один групповой аппарат может отличаться от другого группового аппарата в количестве главных подсистем (например, количество и (или) тип технологических модулей). Более того, даже если два групповых аппарата имеют, например, одинаковое число технологических модулей одного и того же типа, эти два групповых аппарата могут все равно различаться, так как подсистемы и подкомпоненты, составляющие эти два групповых аппарата, могут быть разными. Например, два технологических модуля травления металла могут иметь различные контроллеры массопереноса или вакуумные насосы.
Для разработки производитель группового аппарата 100, такой как Lam Research Corporation of Fremont, Калифорния, обычно использует в производимом групповом аппарате подсистемы и компоненты от некоторого числа сторонних поставщиков. На самом деле такая практика является стандартной в отрасли производства оборудования для полупроводниковых приборов, поскольку она позволяет компаниям концентрироваться на своих сильных сторонах, в то время как задачи вне сферы их интересов или компетенции делегируются другим компаниям.
Соответственно, групповые аппараты производятся с помощью различающихся компонентов и подсистем от разных поставщиков. Решение о том, какие компоненты или какие подсистемы будут включены в данный групповой аппарат, является сложным процессом принятия решения, зависящим от экономики, ценовых стратегий, технических характеристик, меняющихся технологий, потребностей клиентов, конкурентного позиционирования и (или) других факторов. Далее, групповые аппараты нередко совершенствуются ежемесячно или ежеквартально одним или несколькими новыми компонентами. Этот фактор наряду с различными требованиями клиентов приводит к значительной вероятности того, что групповой аппарат, поставленный производителем сегодня, будет некоторым образом отличаться от всех остальных групповых аппаратов, поставленных ранее тем же производителем. Все же есть общее требование ко всем групповым аппаратам: необходимость конфигурировать групповой аппарат для использования с подходящей компьютерной программой конфигурации и (или) конфигурационными файлами. Поскольку большинство подсистем и компонентов обладают электронным управлением, как и все современное аппаратное обеспечение, то существует необходимость в конфигурации индивидуальных компонентов или подсистем, а также в конфигурации компонентов или подсистем в собранном групповом аппарате для обеспечения их совместной работы.
Традиционно каждый групповой аппарат поставляется со своей компьютерной программой конфигурации, запрограммированной по заказу для конкретных подсистем и компонентов, которые составляют групповой аппарат. Заказное программирование, однако, трудоемко и дорого. Задержки и затраты, связанные с заказным программированием, затрагивают пользователей не только в течение первоначальной стадии покупки, но также и при каждом цикле обновления, когда групповой аппарат обновляется новыми подсистемами и (или) компонентами. Со временем необходимость поддерживать различные компьютерные программы конфигурации для разных версий группового аппарата становится одинаково обременительной как для производителей, так и для пользователей групповых аппаратов. Для некоторых производителей необходимость поддерживать буквально сотни различных версий программного обеспечения для конфигурации групповых аппаратов стала проблемой.
Здесь изобретателями было осознано, что если бы мог быть создан универсальный инструмент конфигурации, то производители и (или) пользователи групповых аппаратов смогли бы конфигурировать и поддерживать групповые аппараты с меньшими временными задержками и затратами. Более того, здесь изобретателями было осознано, что должным образом разработанный инструмент конфигурации может быть также применен для предотвращения использования несанкционированных компонентов или подсистем в данном групповом аппарате, может поддерживать различные ценовые структуры на основе предоставленной степени гибкости конфигурации, может быть использован, чтобы поддерживать усилия в разработке групповых аппаратов, и (или) может применяться для целей моделирования. Данная заявка обращается к такому улучшенному инструменту конфигурации группового аппарата.
Сущность изобретения
В соответствии с объектом настоящего изобретения предлагаются универсальные инструменты конфигурации (УИК) (UCT), которые позволяют производителям и пользователям групповых аппаратов применять одинаковое программное обеспечение к различным групповым аппаратам. Универсальный инструмент конфигурации преимущественно освобождает производителей и пользователей от необходимости обращаться к разным, запрограммированным по заказу компьютерным программам конфигурации при установке и (или) модернизации группового аппарата.
В другом варианте осуществления улучшенный УИК поддерживает различные уровни гибкости для приспособления к разным клиентам, позволяя производителю рационально установить даже на покомпонентной основе уровень гибкости конфигурации, предоставляемой клиенту. Эта гибкость преимущественно обеспечивается, не угрожая возможности использовать единое программное обеспечение для универсальной конфигурации различных групповых аппаратов.
В другом варианте осуществления улучшенный УИК дает производителям групповых аппаратов возможность предотвратить использование несанкционированных компонентов в групповом аппарате. Использование несанкционированных компонентов может привести к использованию некондиционных компонентов, которые ухудшают производственные результаты и (или) наносят ущерб групповому аппарату. Более того, улучшенный УИК также содержит механизмы для предотвращения несанкционированного использования самого УИК для групповых аппаратов, кроме тех, для которых использование УИК имеет лицензию. Это препятствует лицензированию пользователем единственной копии УИК и исполнению УИК на различных групповых аппаратах.
В другом варианте осуществления улучшенный УИК содержит способствующие разработке механизмы, созданные для облегчения разработки новых компонентов и (или) средств. В еще одном варианте осуществления УИК предоставляет пользователям неограниченную возможность моделировать различные групповые аппараты с помощью различающихся компонентов, чтобы позволить пользователю исследовать различные конфигурации групповых аппаратов перед приобретением.
Эти и другие признаки настоящего изобретения будут в деталях описаны ниже в подробном описании разнообразных вариантов осуществления изобретения и вместе с нижеследующими чертежами.
Краткое описание чертежей
Настоящее изобретение иллюстрируется с помощью примера, а не с помощью ограничения, на сопровождающих чертежах, на которых одинаковые ссылочные позиции относятся к одним и тем же элементам и в которых:
Фиг.1 показывает групповой аппарат, представляющий высокоуровневое упрощенное логическое изображение типичного группового аппарата.
Фиг.2 показывает в варианте осуществления изобретения общесистемный конфигурационный файл и компонентный конфигурационный файл.
Фиг.3А показывает в варианте осуществления изобретения логическую схему того, как могут быть сгенерированы общесистемный конфигурационный файл и наборы компонентных конфигурационных файлов.
Фиг.3В показывает в варианте осуществления изобретения пример пользовательского интерфейса, с помощью которого пользователь группового аппарата может получить доступ к одной или нескольким опциям или компонентам, имеющим скрытые опции.
Фиг.3С показывает пример пользовательского интерфейса, позволяющего пользователю вводить информацию для технологического модуля, связанную с входными пользовательскими данными, ключевым файлом, файлом определения модульных опций и файлом скрытых опций.
Фиг.4 показывает в варианте осуществления изобретения, как может быть создан ключевой файл.
Фиг.5 показывает в варианте осуществления изобретения блок-схему алгоритма, иллюстрирующую типичный ход конфигурации для группового аппарата.
Фиг.6 показывает в варианте осуществления изобретения упрощенную блок-схему алгоритма для генерирования исполняемых объектов во время работы для конфигурирования группового аппарата.
Фиг.7 показывает в варианте осуществления изобретения блок-схему алгоритма для генерирования исполняемых объектов во время работы для конфигурирования группового аппарата с использованием объектно-ориентированного подхода.
Фиг.8 показывает в соответствии с вариантом осуществления логическую схему иерархической организации базы данных файлов определения опций, следующей за организацией, обсужденной выше.
Приложение А предоставляет в варианте осуществления изобретения листинг иллюстративного файла sysconfig.txt группового аппарата.
Приложение В предоставляет в варианте осуществления изобретения листинг иллюстративного файла configoptions.txt для примерного технологического модуля.
Приложение С предоставляет в варианте осуществления изобретения листинг общесистемного конфигурационного файла (sysconfig.txt), представляющего высокоуровневые подробности конфигурации, относящиеся к целевому групповому аппарату.
Приложение D предоставляет в варианте осуществления изобретения компонентный конфигурационный файл (configoptions.txt) для переходной камеры примерного группового аппарата.
Приложение Е предоставляет в варианте осуществления изобретения файл определения опций TMCImage.cfg, воспроизведенный для примерного группового аппарата.
Приложение F предоставляет в варианте осуществления изобретения листинг упомянутого файла TMCImageTMResD3Port.cfg для примерного группового аппарата.
Приложение G предоставляет в варианте осуществления изобретения файл определения TMCImageTMResD2Port.cfg.
Приложение Н предоставляет в варианте осуществления изобретения файл определения опций (pm.cfg) для технологического модуля.
Описание предпочтительных вариантов осуществления
Настоящее изобретение будет теперь подробно описано со ссылкой на несколько вариантов его осуществления, как проиллюстрировано на сопровождающих чертежах. В нижеследующем описании многочисленные конкретные подробности излагаются, чтобы обеспечить всестороннее понимание настоящего изобретения. Тем не менее, специалистам будет очевидно, что настоящее изобретение может быть применено на практике без некоторых или без всех этих конкретных подробностей. В других случаях общеизвестные технологические этапы и (или) конструкции не описаны подробно, для того чтобы не затемнять без необходимости настоящее изобретение.
Разнообразные варианты осуществления, в том числе способы и методы, изложены ниже. Следует иметь в виду, что изобретение может также распространяться на изделия производства, которые включают в себя машиночитаемый носитель, на котором записаны машиночитаемые инструкции для выполнения вариантов осуществления изобретенного метода. Машиночитаемый носитель может включать в себя, например, полупроводниковую, магнитную, оптомагнитную, оптическую и другие формы машиночитаемого носителя для хранения машиночитаемого кода. Далее, изобретение может также распространяться на устройства для применения на практике вариантов осуществления изобретения. Такое устройство может включать в себя каналы связи, выделенные и (или) программируемые для выполнения задач, относящихся к вариантам осуществления изобретения. Примеры таких устройств включают в себя универсальный компьютер и (или) выделенное компьютерное устройство, запрограммированное соответствующим образом, и могут включать в себя комбинацию компьютера/вычислительного устройства и выделенных/программируемых каналов связи, адаптированных к разнообразным задачам, относящимся к вариантам осуществления изобретения.
Для удобства обсуждения под термином «компонент» понимается элементарный или многоэлементный узел группового аппарата. Таким образом, компонент может быть простым, как газовая линия, или сложным, как весь технологический модуль. Многоэлементный компонент (такой как технологический модуль) может быть образован из других многоэлементных компонентов (таких как вакуумная система, газовая система, система электроснабжения и т.п.), которые, в свою очередь, могут быть образованы из прочих многоэлементных или элементарных компонентов.
Как упоминалось, групповой аппарат может отличаться от другого группового аппарата по числу составляющих компонентов. Таким образом, групповой аппарат с четырьмя технологическими модулями потребует конфигурации, отличной от конфигурации группового аппарата с тремя технологическими модулями. Сами компоненты могут разниться от одного группового аппарата к другому, на основе множества разных аспектов, таких как тип, мощность, поставщик, встроенные программы и т.п. Например, один вакуумный насос может отличаться от другого вакуумного насоса из-за разницы в поставщиках (например, поставщик насоса А в противоположность поставщику насоса В), типах (например, форвакуумный насос в противоположность турбонасосу), мощностях (например, различное число кубических футов в минуту пропускной способности накачки), встроенных программах (например, версия 2.0 текущих встроенных программ поставщика в противоположность версии 1.7). Таким образом, групповой аппарат с данным вакуумным насосом может потребовать конфигурации, отличной от конфигурации группового аппарата с другим вакуумным насосом. Вышеприведенные примеры представлены лишь для иллюстрации и не являются всеобъемлющими. Специалист без труда поймет, что те же соображения применимы аналогичным способом к другим компонентам группового аппарата.
Каждый групповой аппарат, вообще говоря, определяется двумя типами текстовых файлов: общесистемным конфигурационным файлом и набором компонентных конфигурационных файлов. Здесь в примере по Фиг.2 общесистемный конфигурационный файл назван «sysconfig.txt» для удобства ссылки, а компонентный конфигурационный файл назван «configoptions.txt». Общесистемный конфигурационный файл (например, sysconfig.txt), как подразумевает его имя, определяет конфигурационные параметры наивысшего уровня для всего группового аппарата. Приложение А предоставляет здесь листинг иллюстративного файла sysconfig.txt для примерного группового аппарата.
Обычно на групповой аппарат имеется один файл sysconfig.txt, и общесистемный конфигурационный файл определяет количество и тип технологических модулей, тип переходных модулей, управляющую программу группового аппарата и т.п. Предусматривается механизм защиты от несанкционированного вмешательства, который предотвращает несанкционированные изменения в файле sysconfig.txt. В варианте осуществления изобретения контрольная сумма вычисляется для файла sysconfig.txt, чтобы содействовать обнаружению последующих изменений, хотя могут быть также применены другие меры защиты от несанкционированного вмешательства.
Общесистемный конфигурационный файл в варианте осуществления изобретения содержит в главном компьютере адрес контроллера доступа к среде (КДС) (MAC), который управляет групповым аппаратом, подлежащим конфигурации. Наличие адреса КДС в файле sysconfig.txt дает возможность обнаруживать, когда УИК исполняется на отличающемся главном компьютере (который может быть связан с групповым аппаратом, отличающимся от того, для которого УИК предназначен). Это свойство ограждает пользователя от использования неподходящих конфигурационных файлов на негодном групповом аппарате и защищает производителя УИК от пиратства. В качестве альтернативы или дополнения могут использоваться идентификатор жесткого диска или цифровой сертификат. Далее, общесистемный конфигурационный файл содержит ожидаемую дату истечения срока конфигурационного файла, т.е. дату, после которой использование группового аппарата и (или) текущего общесистемного конфигурационного файла более не разрешено. Адрес КДС (и (или) идентификатор жесткого диска и (или) цифровой сертификат) и дата истечения срока образуют часть защитного механизма, разработанного для обеспечения соответствия группового аппарата и (или) УИК условиям лицензии.
Для каждого модуля предусматривается такая высокоуровневая информация, как тип модуля (например, травление поликремния или травление металла), связной порт (например, IP-адрес), прогоняется ли модуль в режиме разработки, прогоняется ли модуль в режиме моделирования, запускается ли модуль автоматически или вручную и т.п. Предусматриваются также файловые имена файлов, которые содержат более подробную конфигурационную информацию для модулей.
Компонентные конфигурационные файлы (например, configoptions.txt) содержат более детальную конфигурационную информацию для такого компонента, как технологический модуль (РМ), переходной модуль (ТМ) или управляющая программа группового аппарата. Приложение В предоставляет здесь листинг примерного файла configoptions.txt для примерного технологического модуля.
Обычно есть один файл configoptions.txt на модуль. Подобно общесистемному конфигурационному файлу, компонентный фал конфигурации может быть также снабжен своим собственным механизмом защиты от несанкционированного вмешательства, таким как контрольная сумма. Более подробные конфигурационные сведения в компонентном конфигурационном файле для технологического модуля могут определять такую информацию, как идентификационные данные основных компонентов в этом модуле (например, вакуумной насосной системы, газовой системы, высокочастотного питания, системы держателей и т.п.). Для вакуумной насосной системы, например, файл configoptions.txt для технологического модуля может идентифицировать поставщика (например, Alcatel) и тип (например, форвакуумный насос). Для газовой системы, например, файл configoptions.txt для технологического модуля может идентифицировать тип (например, усиленные восемь линий), установлены ли щелевые газовые форсунки, установлены ли цифровые контроллеры массопереноса и т.п.
Фиг.3А является логической схемой, показывающей в соответствии с вариантом осуществления настоящего изобретения, как могут быть сгенерированы общесистемный конфигурационный файл 302 (sysconfig.txt) и набор компонентных конфигурационных файлов 304 (configoptions.txt). Эти конфигурационные файлы 302 и 304 генерируются из четырех основных входных источников: входные пользовательские данные 306, ключевой файл 308, файл 310 описания модульных опций и файл 312 скрытых опций.
Файл 306 входных пользовательских данных представляет собой набор предоставленных пользователем (например, инженером клиентской службы, ответственным за установку и (или) модернизацию группового аппарата) входных сведений относительно подходящей конфигурации группового аппарата, включающих в себя любые и все спецификации, опции и т.п. Это опции, выбранные для группового аппарата, опции которого требуют конфигурации перед тем, как групповой аппарат вступает в действие.
Ключевой файл 308 (или файл «.tcf» в настоящем примере) кодирует ограничения на конфигурацию. Другими словами, ключевой файл 308 способствует безопасному воплощению конфигурации. Поскольку УИК обладает конфигурационными сведениями для конфигурирования при всех возможных перестановках в групповом аппарате (конфигурационные сведения о котором хранятся в базе данных компонентов, к которой УИК имеет доступ), то ключевой файл 308 определяет ряд опций с возможностью конфигурации, разрешенных для целевого группового аппарата.
Вообще говоря, компонент или атрибут может быть незащищенным, защищенным или скрытым. Например, незащищенный компонент может конфигурироваться пользователем без ограничений. Например, если база данных компонентов включает в себя шесть различных турбонасосов, и турбонасос определен как незащищенный компонент в ключевом файле, то пользователь аппарата может использовать УИК для конфигурации любого из этих шести турбонасосов. С другой стороны, защищенный компонент содержит в себе некоторые ограничения в отношении конфигурации. В предыдущем примере с турбонасосом, если условия лицензии для группового аппарата и (или) УИК позволяют пользователю аппарата конфигурировать групповой аппарат только в отношении двух специально указанных турбонасосов, ключевой файл 308 будет содержать сведения, разрешающие конфигурацию только для двух указанных турбонасосов. Разумеется, возможно также ограничить конфигурацию до одного конкретного насоса, если это требуется.
Компонент или опция его конфигурации могут иметь «скрытый» атрибут. Скрытый атрибут воплощается для содействия разработке, так как он позволяет авторизованному пользователю конфигурировать групповой аппарат, компонент или конфигурационная опция которого являются иначе «скрытыми» от других пользователей пользовательской базы данных. В примерном сценарии авторизованному пользователю (например, службе поддержки или клиенту, который авторизован) предоставляется идентификационная информация конфигурационной опции, имеющей скрытый атрибут. Не авторизованные в такой мере пользователи не знают даже о существовании этой опции, поскольку в варианте осуществления изобретения опции со скрытыми атрибутами даже не показаны как объект выбора, доступный для конфигурации. Скрытые опции полезны для того, чтобы контролировать доступ к недоработанным элементам программного обеспечения и (или) аппаратного оборудования группового аппарата через предоставление механизма, позволяющего производителю выборочно показывать определенные скрытые опции определенным клиентам (например, для целей разработки).
Авторизованные пользователи могут конкретизировать одну или несколько из этих опций со скрытыми атрибутами для конфигурации в пользовательских вводных данных 306, предоставляя идентификационные данные компонента. Скрытые опции, таким образом, способствуют разработке, поскольку они позволяют выбранным пользователям тестировать групповой аппарат с новыми или непроверенными конфигурационными опциями, которые недоступны остальной части пользовательской базы данных. Скрытые опции 312 представляют собой список опций со скрытым атрибутом, которые определенный пользователь авторизован использовать для конфигурации.
Фиг.3В является примером пользовательского интерфейса, с помощью которого пользователь группового аппарата может получить доступ к одной или нескольким опциям или компонентам, имеющим скрытый атрибут. В примере на Фиг.3В показан список опций, которые имеют скрытый атрибут и с которыми пользователь в настоящее время авторизован производить конфигурацию. Если производитель желает предоставить пользователю доступ к другой опции со скрытым атрибутом, так что дополнительная конфигурационная опция может быть использована для конфигурации группового аппарата, то производитель может передать идентификационные данные этой опции со скрытым атрибутом, и пользователь может ввести (например, через клавиатуру) название этой опции со скрытым атрибутом в диалоговом окне рядом с кнопкой «Add» («Добавить»). Если введенные идентификационный данные совпадают с указанными в опции со скрытым атрибутом, то пользователь может тогда конфигурировать групповой аппарат с этим компонентом.
Возвращаясь к Фиг.3А, ключевой файл 308 может также содержать сведения относительно идентификационных данных (например, адрес КДС и (или) идентификатор жесткого диска и (или) цифровой сертификат) главного компьютера, связанного с групповым аппаратом, подлежащим конфигурации. Идентификационные данные главного компьютера внесены в итоговый общесистемный конфигурационный файл и используются, чтобы удостоверится в том, что конфигурация применена к надлежащему групповому аппарату. Следует заметить, что адрес КДС главного компьютера есть лишь пример того, как можно выяснить идентификационные данные группового аппарата. В добавление к упомянутым идентификатору жесткого диска и (или) цифровому сертификату могут быть применены другие методы для идентификации конкретного группового аппарата (например, использование уникальной идентификационной информации, считываемой или воспринимаемой от датчика группового аппарата).
Помимо этого, ключевой файл 308 может также содержать упомянутую дату истечения срока. Эта дата истечения срока внесена в итоговый общесистемный конфигурационный файл для предоставления сведений относительно ожидаемой даты окончания срока действия, т.е. даты, после которой использование группового аппарата и (или) текущего общесистемного конфигурационного файла более не является разрешенным. Заметим, что дата стечения срока вообще применяется к лицензированным опциям; могут существовать нелицензированные опции, которые не затрагиваются датой истечения срока. Далее, возможно снабдить разные лицензированные опции различными датами истечения срока. Поскольку ключевой файл 308 инкапсулирует важную ограничительную информацию, ключевой файл 308 является обычно двоично закодированным файлом, чтобы не дать пользователю лицензии/аппарата совершить возможное несанкционированное вмешательство.
Файл 310 определения модульных опций инкапсулирует различные конфигурационные опции, доступные для конфигурации модуля (такого как технологический модуль, переходной модуль, атмосферный технологический модуль или пользовательский интерфейс). Другими словами, файл 310 определения модульных опций представляет собой базу данных опций, доступных для конфигурации каждого модуля, включая опции, доступные для конфигурации составляющих компонентов каждого модуля. Подмножество этих определений внесено в файл configoptions.txt, реагирующий на конфигурационные опции, вводимые пользователем в 306, ограничения на конфигурацию в ключевом файле 308 и скрытые опции 312. Как и ключевой файл 308, файл 310 определения модульных опций обычно кодируется для предотвращения несанкционированных изменений, вносимых пользователем лицензии/аппарата.
Конфигурационное приложение создает общесистемный конфигурационный файл 302 и наборы компонентных конфигурационных файлов 304 из четырех входных источников, обсуждавшихся выше (например, входные пользовательские данные 306, ключевой файл 308, файл 310 определения модульных опций и файл 312 скрытых опций). Конфигурационное приложение 320 хранится в варианте осуществления изобретения в групповом аппарате, чтобы сделать возможной конфигурацию группового аппарата с помощью сгенерированных файлов данных. Фиг.3С показывает пример пользовательского интерфейса, позволяющего пользователю вводить информацию для технологического модуля, связанную с входными пользовательскими данными 306, ключевым файлом 308, файлом 310 определения модульных опций и файлом 312 скрытых опций.
Фиг.4 показывает в соответствии с вариантом осуществления настоящего изобретения, как может быть создан ключевой файл 308 по Фиг.3. Как уже говорилось, ключевой файл 308 налагает ограничения на конфигурационные опции, а также обеспечивает защиту от несанкционированного исполнения/пиратства конфигурационного программного обеспечения. Ключевой файл 308 генерируется из трех независимых источников: набора файлов 402 определения модульных опций, спецификации 404 опций для отдельных аппаратов и защитной информации 406 для конкретных аппаратов.
Файлы 402 определения модульных опций представляют собой файлы определения конфигурации для всех модулей (например, технологический модуль, переходной модуль, управляющая программа группового аппарата и т.п.). Соответственно, показаны файл 402а определения модульных опций для технологического модуля, файл 402b определения модульных опций для переходного модуля и файл 402с определения модульных опций для управляющей программы группового аппарата. Особый интерес для создания ключевого файла 308 представляют защищенные опции внутри файлов 402 определения модульных опций, поскольку незащищенные опции являются по определению неограниченными. Для конкретного группового аппарата пределы защиты для защищенных опций задаются ключевым файлом 308. Существует набор файлов 402 определения модульных опций, которые доступны для конфигурирования всех групповых аппаратов. Набор файлов 402 определения модульных опций постоянно модернизируется путем добавления новых конфигурационных опций и удаления старых конфигурационных опций.
Спецификация 404 опций для конкретных аппаратов может поступать из базы 404а данных клиентских заказов или из базы 404b заводских входных данных. Спецификация 404 опций для конкретных аппаратов указывает конфигурационные опции или опции, разрешенные для компонентов конкретного аппарата. Например, клиент может приобрести опцию установки трех различных моделей турбонасосов. Спецификация опций для конкретных аппаратов группового аппарата, купленная клиентом, будет в этом случае включать в себя конфигурационные опции для всех трех турбонасосов.
В варианте осуществления изобретения программное обеспечение для клиентских заказов, полученных компанией SAP, используется, чтобы принять заказ клиента, указывающий те опции, который клиент заинтересован приобрести для компонентов группового аппарата. Информация, относящаяся к опциям, которые желает иметь клиент, может быть получена через программное обеспечение для клиентских заказов и использована в качестве входных данных для указания опций, предусмотренных для компонентов группового аппарата. В качестве альтернативы или дополнения спецификация опций для группового аппарата может поставляться производителем группового аппарата. В этом случае спецификация может быть получена, например, в разговоре с потенциальным покупателем группового аппарата. Другой пример - спецификация может быть введена инженерами, осуществляющими модернизацию группового аппарата клиента для решения определенной проблемы.
Защитная информация 406 для конкретных аппаратов предоставляет сведения для обеспечения защиты от несанкционированного использования/пиратства итогового программного обеспечения. Как можно заметить, защитная информация 406 для конкретных аппаратов содержит адрес КДС (и (или) идентификатор жесткого диска и (или) цифровой сертификат) главного компьютера, который управляет групповым аппаратом, подлежащим конфигурации. Адрес КДС (и (или) идентификатор жесткого диска и (или) цифровой сертификат) может быть, например, заранее получен от клиента. Как только этот адрес КДС (и (или) идентификатор жесткого диска и (или) цифровой сертификат) включен в ключевой файл 308, ключевой файл 308 не может быть применен для целей конфигурации на главных компьютерах с отличными адресами КДС (и (или) идентификатором жесткого диска и (или) цифровым сертификатом). Аналогично, ключевой файл (который необходим для конфигурации), который не обладает подходящим адресом КДС (и (или) идентификатором жесткого диска и (или) цифровым сертификатом), не сможет использоваться для конфигурации данного группового аппарата.
Защитная информация 406 для конкретных аппаратов содержит далее опцию для указания того, находится ли итоговое программное обеспечение в режиме моделирования, в котором все опции доступны, но только для целей моделирования. Также обеспечивается флаг, чтобы снять или включить защиту для всех защищенных опций. Этот «защитный» флажок дает возможность указывать глобально, соблюдается ли защита (например, в случае производственного конфигурационного программного обеспечения) или игнорируется (например, когда получающиеся в результате конфигурационные файлы производятся для внутреннего использования производителем группового аппарата, и нет необходимости в защите). Дата истечения срока итогового программного обеспечения и IP-адрес главного компьютера могут содержаться в защитной информации 406 для конкретных аппаратов. Во время исполнения эти поля сверяются с текущей датой и полученным IP-адресом главного компьютера, чтобы удостовериться в соответствии условиям лицензии. IP-адрес главного компьютера и (или) адрес КДС (и (или) идентификатор жесткого диска и (или) цифровой сертификат) также помогают гарантировать, что конфигурация выполняется на надлежащем групповом аппарате, а не на любом другом групповом аппарате.
В варианте осуществления изобретения приложение 420 безопасности используется для обработки набора файлов 402 определения модульных опций, спецификации 404 опций для конкретных аппаратов и защитной информации 406 для конкретных аппаратов с целью генерирования ключевого файла 308. В варианте осуществления изобретения приложение 420 безопасности доступно через сеть, чтобы обеспечить возможность глобального доступа, несмотря на то что сетевой вариант приложения безопасности не всегда требуется.
Фиг.5 является блок-схемой алгоритма, иллюстрирующей типичный процесс конфигурации группового аппарата. На этапе 502 от клиента принимают заказ на аппарат. Приобретенные опции конфигурации могут затем использоваться для генерирования ключевого файла на этапе 504. Генерирование ключевого файла обсуждалось ранее в связи с Фиг.4 в соответствии с вариантом осуществления изобретения.
Как только ключевой файл сгенерирован, этот ключевой файл может быть инсталлирован на групповом аппарате (этап 506) и применен вместе со скрытыми опциями (507) для конфигурирования группового аппарата (этап 508). Исполнение приложения конфигурации на групповом аппарате с использованием ключевого файла, файла определения модульных опций, скрытых опций и введенных пользователем конфигурационных опций приводит к созданию общесистемного конфигурационного файла и набора компонентных конфигурационных файлов. Вообще говоря, каждый групповой аппарат определяется двумя типами текстовых файлов: общесистемными конфигурационными файлами и набором компонентных конфигурационных файлов. Генерирование этих общесистемных конфигурационных файлов и набора компонентных конфигурационных файлов обсуждалось в связи с фиг.3 в соответствии с вариантом осуществления изобретения.
Если клиент хочет изменить одну или несколько конфигурационных опций в наборе приобретенных опций, клиент может использовать тот же ключевой файл, чтобы заново конфигурировать модифицированный групповой аппарат. Этот путь модернизации показан стрелкой 510. Если, однако, клиент хочет модифицировать групповой аппарат с помощью опций, отличных от уже приобретенных, или использовать скрытые опции, отличные от уже приобретенных, путь 512 позволяет сгенерировать новый ключевой файл, что дает возможность клиенту заново конфигурировать модифицированный групповой аппарат. Обычно генерирование нового ключевого файла для того, чтобы позволить клиенту заново произвести конфигурацию, происходит во время запуска, когда защита не активирована.
Как можно понять из вышесказанного, изобретение позволяет использовать единый набор прикладных программ и набор файлов определения модульных опций, подлежащих применению для конфигурации широкого диапазона групповых аппаратов, каждый из которых имеет свои специфические конфигурационные опции. Таким образом, исключается необходимость программировать на заказ или поддерживать большое количество компьютерных приложений конфигурации. Использование ключевого файла в рассмотренном варианте обеспечивает как гибкость, так и высокий уровень управления и защиты группового аппарата. Гибкость обеспечивается, поскольку покупатель группового аппарата свободен повторно исполнять программу конфигурации, чтобы применять различные конфигурационные опции из уже приобретенных. Далее, гибкость обеспечивается за счет использования режима моделирования, флаг которого отменяет все ограничения на возможности изменения конфигурации (ограничения, которые наложены из-за ценовой структуры или лицензионных оснований), что позволяет клиенту и (или) пользователю моделировать конфигурацию и (или) работу с «виртуальными» групповыми аппаратами. Схожая гибкость может быть получена с помощью режима разработки, который может быть установлен глобальным флагом или флагами.
Высокий уровень управления обеспечивается, поскольку только опции, указанные в закодированном бинарном ключевом файле, доступны для конфигурации пользователю данного группового аппарата. Защита обеспечивается тем, что файлы итоговой конфигурации могут быть исполнены только на групповом аппарате, имеющем ожидаемый адрес КДС и (или) идентификатор жесткого диска и (или) цифровой сертификат и (или) главный IP-адрес.
Использование скрытых опций и защищенных/незащищенных флагов с опциями также поддерживает цели разработки и моделирования. В ключевом файле может быть предоставлена прочая информация, такая как дата истечения срока и (или) другая информация, поддерживающая соответствие лицензии. В варианте осуществления изобретения фирменные алгоритмы, компоненты и другие ресурсы могут сохраняться конфиденциальными через использование скрытых опций, не нарушая при этом философии конфигурирования групповых аппаратов без необходимости применять или поддерживать множество версий исполняемых программ конфигурации. Например, если планируется, что ресурс будет конфиденциальным для определенного клиента, опция, связанная с этими ресурсом, помечается скрытым флагом, и клиент может активировать этот ресурс только, если известно его точное название. В варианте осуществления изобретения активирование/конфигурирование скрытого ресурса или того ресурса, который планируется конфиденциальным, может быть защищена с помощью пароля, который дается производителем группового аппарата только авторизованному клиенту.
Следует принять во внимание, что хотя гибкость встроена в алгоритм для генерирования общесистемного конфигурационного файла (sysconfig.txt) и набора компонентных конфигурационных файлов (configoptions.txt), не все клиенты нуждаются в доступном высоком уровне гибкости. В варианте осуществления изобретения ключевой файл (.tcf) генерируется автоматически из пользовательских данных о спецификации (которые указывают опции, желательные в итоговом групповом аппарате). Пользовательские данные о спецификации могут даже автоматически извлекаться в варианте осуществления изобретения из баз данных о продажах и клиентских заказах, например, предложенных компаниями, такими как SAP (SAP.com). Клиентская спецификация может быть напрямую указана клиентом в виде файла, который должен быть применен при генерировании ключевого файла в варианте осуществления изобретения.
Как только ключевой файл (.tcf) получен, ключевой файл затем устанавливается на аппаратном обеспечении группового аппарата, что ограничивает программу конфигурации в генерировании общесистемного конфигурационного файла (sysconfig.txt) и набора компонентных конфигурационных файлов (configoptions.txt). Как было упомянуто, общесистемный конфигурационный файл (sysconfig.txt) и набор компонентных конфигурационных файлов (configoptions.txt) указывают опции с возможностью конфигурирования на компьютере целевого группового аппарата. Эти авторизованные опции могут включать в себя в варианте осуществления изобретения скрытые опции, как обсуждалось ранее, если скрытые опции также предоставляются программе конфигурирования наряду с ключевым файлом.
Общесистемный конфигурационный файл (sysconfig.txt) и набор компонентных конфигурационных файлов (configoptions.txt) затем проводятся через базу данных файлов определений опций (.cfg files в воплощении), чтобы сгенерировать экземпляры оперативных исполняемых объектов. База данных файлов определений опций представляет собой хранилище всех опций, доступных всем типам групповых аппаратов и компонентов. С помощью проведения общесистемного конфигурационного файла (sysconfig.txt) и набора компонентных конфигурационных файлов (configoptions.txt) через базу данных файлов определения опций только опции, которые были авторизованы, становятся исполняемыми объектами для конфигурирования аппаратного компонента группового аппарата.
Таким способом производитель группового аппарата может использовать тот же набор программ (например, тех, которые используются для генерирования ключевого файла, общесистемного конфигурационного файла и набора компонентных конфигурационных файлов, экземпляров оперативных исполняемых объектов и т.п.), чтобы конфигурировать любой групповой аппарат с любой спецификацией опций компонента. Далее, производителю приходится поддерживать только одну базу данных файлов определения опций (.cfg files), которая может использоваться как универсальная, все (sysconfig.txt) и набор компонентных конфигурационных файлов, которые генерируется единственным образом для каждого группового аппарата.
Фиг.6 показывает в варианте осуществления изобретения упрощенную блок-схему алгоритма генерирования оперативных исполняемых объектов для конфигурирования группового аппарата. На этапе 602 спецификация опций компонента (которая может быть получена, например, из клиентского заказа на приобретение группового аппарата) используется для генерирования ключевого файла (604). Сгенерированный ключевой файл затем инсталлируется на целевом групповом аппарате (606). Приложение конфигурации на целевом групповом аппарате затем генерирует (608) общесистемный конфигурационный файл и набор компонентных конфигурационных файлов, используя ключевой файл и факультативно предоставленные скрытые опции (610).
Общесистемный конфигурационный файл и набор компонентных конфигурационных файлов затем проводятся через базу данных файлов определения опций (612), чтобы сгенерировать экземпляры оперативных исполняемых объектов для конфигурации группового аппарата.
В варианте осуществления изобретения генерирование исполняемых объектов совершается с помощью соответствующего объектно-ориентированного подхода и применения подходящей среды программирования, такой как Smalltalk (www.smalltalk.org). Фиг.7 показывает в соответствии с вариантом осуществления настоящего изобретения блок-схему алгоритма генерирования оперативных исполняемых объектов для конфигурирования группового аппарата с использованием объектно-ориентированного подхода. На этапе 702 одна или несколько внутренних структур данных создаются для внутреннего представления выбранных/авторизованных опций из общесистемного конфигурационного файла и набора компонентных конфигурационных файлов (704). На этапе 706 одна или несколько внутренних структур данных создаются для внутреннего представления информации об опциях для всех возможных ресурсов/компонентов/объектов из базы данных файлов определения опций (708). На этапе 710 множество структур данных, представляющих информацию об опциях для всех возможных ресурсов / компонентов/объектов, будет проведено через множество структур данных, представляющих выбранные/авторизованные опции. Этап 710 представляет собой удаление информации об опциях, относящейся к ресурсам/компонентам/объектам, которые не являются выбранными/авторизованными в итоговом множестве структур данных. На этапе 712 создается экземпляр реализации исполняемых объектов из остальных определений опций.
Приложение С (которое включает в себя страницы C1, C2 и С3) иллюстрирует в соответствии с вариантом осуществления изобретения листинг общесистемного конфигурационного файла (sysconfig.txt), представляющий высокоуровневые подробности конфигурации, относящиеся к целевому групповому аппарату. Секция 1002 представляет секцию метаданных, которая имеет такую информацию, как Ethernet адрес главного компьютера, управляющего групповым аппаратом, дату истечения срока конфигурационного файла, флаг защиты, предупреждение об истечении срока годности и т.п. Эти метаданные обсуждались ранее. Секция 1002 также указывает, что платформа группового аппарата есть «#Domino3Ports». Эта идентификация платформы обсуждается здесь далее.
Также показано множество секций образов. Исполняемые образы, связанные с этими секциями, принадлежат к образам главного компьютера (HostImage), образам четырех технологических модулей (РМ1Image, PM2Image, PM3Image, PM4Image) и к образам переходного модуля (TMCImage).
Каждый из этих образов содержит различные поля данных, такие как IP-адрес, связано ли аппаратное оборудование с существующим образом, имя файла, в котором может быть в случае надобности найдена управляющая программа группового аппарата, связной порт, ярлык образа, файл (.cfg) определений образа, файловое имя образа, флаг автозапуска (который автоматически выполняет конфигурирование после включения питания), сценарий, если такой имеется, для исполнения образа, флаг моделирования, флаг разработки, схему экрана (которая включает в себя расположение, цвет, иконки и т.п.).
Для целей дискуссии для последующего рассмотрения будет выбран образ, связанный с переходным модулем. Приложение D (которое состоит из двух страниц D1 и D2) показывает компонентный конфигурационный файл (configoptions.txt) для шлюзовой камеры примерного группового аппарата. Секция 1102 показывает метаданные для шлюзовой камеры, включая IP-адрес (который совпадает с указанным в метаданных секции 1002 в Приложении С), дату истечения срока (который совпадает с указанным в метаданных секции 1002 в Приложении С), ярлык модуля «TransferChamber» (который совпадает с ярлыком, связанным с образом TMCImage в Приложении С) и платформу «#Domino3ports» (которая совпадает с указанной в метаданных секции 1002 в Приложении С).
В Приложении D левый столбец показывает выбранные/авторизованные опции, а правый столбец показывает все доступные опции (некоторые из которых могут быть авторизованными/выбранными для определенного целевого группового аппарата). Например, доступными альтернативами для порта PDO1 являются #BrooksV4, #BrooksV3, #BrooksV2, #ErgoPDO, #ErgoPDOVl, #Ergo200, как показано в столбце с правой стороны. Столбец с левой стороны показывает, что доступной/выбранной опцией является #BrooksV4. Другие выбранные опции говорят сами за себя.
Заметим, что образ, связанный с переходным модулем, в Приложении С указывает, что имя файла определения опций для переходного модуля есть «TMCImage.cfg». Этот файл определения опций TMCImage.cfg воспроизводится для примерного группового аппарата в Приложении Е (которое состоит из трех страниц E1, E2 и Е3). Файл определения опций содержит конфигурационную информацию для всех возможных опций для переходного модуля. Для удобства технического обслуживания и модернизации детали конфигурационной информации могут быть далее инкапсулированы в другие модульные файлы определения опций. Например, поскольку платформой для примерного группового аппарата является #Domino3 Ports (см. секции метаданных 1002 в Приложении С и 1102 в Приложении D), страница Е3 Приложения Е указывает, что дополнительные подробности конфигурации могут быть найдены в файле определений с именем «TMCImageTMResD3Port.cfg».
Приложение F показывает в соответствии с вариантом осуществления листинг упомянутого файла TMCImageTMResD3Port.cfg для примерного группового аппарата. Для сравнения также включен файл определений TMCImageTMResD2Port.cfg (Приложение G), который будет использован и (или) принят во внимание, если выбранной окажется платформа #Domino (на странице Е3 Приложения Е). Также для целей сравнения файл определения опций (pm.cfg) (Приложение Н) для технологического модуля также включен как пример того, какой файл определения опций будет использован и (или) принят во внимание, чтобы выяснить детали конфигурации для технологического модуля целевого группового аппарата (на основе выбранных/авторизованных опций, указанных в общесистемном конфигурационном файле sysconfig.txt и в компонентном конфигурационном файле configoptions.txt для технологического модуля, например, РМ1, РМ2, РМ3, или PM4).
Как упоминалось, база данных файлов определения опций содержит конфигурационную информацию для всех возможных компонентов. Для удобства справки под термином «ресурсы» будем понимать здесь любое программное обеспечение или аппаратное обеспечение и (или) связанные с обработкой признаки, которые могут быть конфигурированы в групповом аппарате. Например, отдельный компонент аппаратного обеспечения может иметь различные параметры, подлежащие конфигурированию. Каждый из этих параметров с возможностью конфигурации представляет собой ресурс.
Одна из проблем в создании универсальной конфигурационной архитектуры относится к необходимости хранить конфигурационную информацию для всех возможных ресурсов, чтобы отвечать любой выбранной/авторизованной опции, одновременно проводя процесс фильтрации (процесс фильтрации является частью процесса создания оперативных исполняемых объектов для выбранных/авторизованных опций) базы данных с использованием файлов выбранных опций (например, общесистемный конфигурационный файл и набор компонентных конфигурационных файлов). Эта проблема усложняется тем, что ресурсы программного обеспечения/аппаратного обеспечения меняются постоянно, и модернизация компонентов программного обеспечения/аппаратного обеспечения приводит к внесению нового определения в базу данных и удалению оттуда старых определений.
В соответствии с вариантом осуществления изобретения определения ресурсов в базе данных организованы по иерархическому принципу, чтобы отражать в значительной мере организацию основного группового аппарата со всеми возможными авторизованными/выбранными опциями. Например, определения применяющихся ресурсов для всех датчиков данной системы сопряжения считаются принадлежащими (в смысле принадлежности) этой системе сопряжения. На том же уровне иерархии определения применяющихся ресурсов для всех силовых приводов системы сопряжения считаются принадлежащими этой системе сопряжения. На следующем, более высоком уровне все системы сопряжения считаются принадлежащими ВЧ (высокочастотным) системам. На том же уровне иерархии все ВЧ электроды считаются принадлежащими ВЧ системам. На следующем, более высоком уровне все ВЧ системы считаются принадлежащими технологическим модулям. На том же уровне иерархии все зажимные системы считаются принадлежащими технологическим модулям. На следующем, более высоком уровне все технологические модули считаются принадлежащими групповому аппарату. На том же уровне иерархии переходной модуль также считается принадлежащим групповому аппарату.
Заметим, что некоторые из ресурсов могут быть должным образом связаны с ресурсами более высокого уровня или могут принадлежать ресурсам более высокого уровня, а могут быть и не связанными или принадлежащими ресурсам более высокого уровня. Например, ВЧ система может принадлежать индуктивно связанному технологическому модулю, но может не принадлежать или быть связанной должным образом с микроволновым технологическим модулем. Особенности ресурсов должны приниматься во внимание при создании связок в базе данных между ресурсом более высокого уровня и ресурсом менее высокого уровня иерархии.
Фиг.8 показывает в соответствии с вариантом осуществления логическую схему иерархической организации базы данных файлов определения опций, следуя обсужденной выше организации.
Связи принадлежности создаются в варианте осуществления изобретения путем обращения к имени файла, которое содержит определение конфигурации «принадлежащего» в тексте владельца. Пример такой связки мог быть ранее найден в Приложениях, в соответствии с которыми имя файла определения опций для шлюзовой камеры TMCImage.cfg появляется в тексте общесистемного конфигурационного файла sysconfig.txt в Приложении С. Когда есть необходимость модернизировать детали, относящиеся к «принадлежащему», связанный с ресурсом «принадлежащего» файл может быть заменен файлом с идентичным именем, который содержит модернизированную конфигурационную информацию. Когда на выбор предоставляется новая опция группового аппарата, детали конфигурации, относящиеся к этой новой опции, могут быть сохранены в файле в базе данных, и имя этого файла может быть внесено в корпус текста владельца в качестве еще одной опции возможного выбора. Когда опция устаревает и удаляется, связанный с ней файл может быть также удален из базы данных, и любая связь с ним может быть удалена из корпуса текста владельца (владельцев).
Таким способом база данных может эффективно поддерживаться с учетом изменения определений ресурсов. Далее, иерархическая организация рационализирует проведение выбранных/авторизованных опций (как указано в общесистемном конфигурационном файле sysconfig.txt и в компонентном конфигурационном файле configoptions.txt), через базу данных файлов определения опций. В варианте осуществления изобретения проводка следует алгоритму обхода вершин дерева, при этом алгоритм переходит от более высокого уровня до низшего уровня в иерархии, пока не разрешены все конфигурационные определения.
Например, если групповой аппарат имеет только один технологический модуль травления металла и никаких других модулей, конфигурационные определения для этого технологического модуля травления металла проводятся, начиная с общесистемного конфигурационного файла sysconfig.txt и компонентного конфигурационного файла configoptions.txt для этого технологического модуля травления металла до тех пор, пока все конфигурационные определения не разрешены (т.е. когда разрешены все ссылки на файловые имена на пути проводки). Как только они разрешены, алгоритм переходит к разрешению конфигурационных определений для переходного модуля, начиная проводку с общесистемного конфигурационного файла sysconfig.txt и компонентного конфигурационного файла configoptions.txt для переходного модуля.
Отметим, что этот алгоритм обхода вершин дерева будет избегать проводки по элементам несуществующего технологического модуля травления поликремния. Далее, алгоритм обхода вершин дерева остановится, когда все файловые ссылки будут разрешены. Во время проводки по данному пути игнорируются конфигурационные детали, связанные с ветвями дерева, которые относятся к невыбранным или неавторизованным опциям. Таким способом конфигурационные детали могут быть быстро получены с помощью проведения иерархической базы данных файлов определений опций через выбранные/авторизованные опции, которые указаны в общесистемном конфигурационном файле sysconfig.txt и в компонентном конфигурационном файле configoptions.txt. Эти конфигурационные детали затем применяются при создании исполняемых объектов для конфигурирования целевого группового аппарата.
Хотя изобретение описано в терминах нескольких вариантов осуществления, имеются вариации, перестановки и эквиваленты, которые попадают в объем изобретения. Следует отметить, что есть много альтернативных путей воплощения способов и устройств по настоящему изобретению. Поэтому предполагается, что нижеследующая приложенная формула изобретения будет интерпретироваться как включающая в себя все такие вариации, перестановки и аналоги, которые попадают в сущность и объем настоящего изобретения.
Класс G06F17/00 Устройства или методы цифровых вычислений или обработки данных, специально предназначенные для специфических функций
Класс G06F9/445 загрузка или запуск программы