Программное маскирование запоминающих устройств
Иллюстрации
Показать всеИзобретение относится к системам и способу программного управления доступом между одним или более узлов и множеством связанных с ними устройств. Техническим результатом является возможность одновременной передачи кадров в обоих направлениях со скоростью, превышающей 1 Гбит в секунду, на расстоянии свыше 10 км. Система управления доступом к запоминающим устройствам содержит систему совместно используемых запоминающих устройств и узел, запрограммированный для идентифицирования каждого запоминающего устройства и маскирования доступа из узла, по меньшей мере, к одному из запоминающих устройств. Система управления доступом к множеству запоминающих устройств в системе запоминающих устройств содержит узел, запрограммированный для определения, должно ли для каждого из множества запоминающих устройств быть выполнено его маскирование по отношению к узлу, и интерфейс для выборочной модификации программируемой структуры данных. Способ описывает работу системы управления доступом к множеству совместно используемых запоминающих устройств множеством компьютеров. 6 н. и 38 з.п. ф-лы, 13 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится, в целом, к управлению доступом к устройствам и, в частности, к системе и к способу программного управления доступом, осуществляемому посредством главной системы, к одному или к большему количеству устройств, оперативно соединенных с главной системой.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Для сохранения конкурентоспособности и обеспечения соответствия происходящим технологическим изменениям компьютерные системы становятся все более и более высокопроизводительными и сложными. Основным стимулирующим фактором для этого послужили применения больших баз данных и прикладные задачи, требующие обработки все большего и большего объема данных. Повышенная сложность систем обуславливает необходимость создания усовершенствованных запоминающих устройств для данных и увеличения пропускной способности средств связи. Типы архитектуры компьютерных систем исторически основывались на том принципе, что запоминающие устройства являются "собственностью" главного компьютера или узла, с которым они соединены. В последнее время в моделях архитектуры вычислительных систем существует тенденция к созданию более интеллектуальных запоминающих устройств хранения данных и каналов связи, посредством которых облегчают передачу и запоминание данных.
Двумя основными типами топологии передачи данных, обычно используемыми для передачи данных между процессорами и между процессором и периферийными устройствами, являются каналы связи и сети. "Канал связи" обеспечивает прямое или коммутируемое двухточечное соединение между устройствами, поддерживающими связь. Основной задачей канала связи является транспортировка данных с максимально возможной скоростью передачи данных и с минимальной задержкой. В каналах связи обычно осуществляют простое исправление ошибок, выполняемое аппаратными средствами. В отличие от этого, "сеть" представляет собой совокупность распределенных узлов (например, рабочих станций, запоминающих устройств большой емкости и т.д.), имеющую свой собственный протокол, который обеспечивает поддержку взаимодействия между этими узлами. Как правило, каждый узел соперничает за использование среды передачи, причем каждый узел должен быть способен распознавать состояния наличия ошибки в сети и должен обеспечивать управление обработкой ошибок, необходимое для выхода из состояний наличия ошибки.
Гибридным типом межкомпонентной связи является волоконно-оптический канал (Fibre Channel), посредством которого предпринята попытка объединения преимуществ технологии с использованием канала связи и сетевой технологии. Находящийся в настоящее время в стадии разработки протокол волоконно-оптического канала принят в качестве национального стандарта США для информационных систем (Национальным Институтом Стандартизации США (ANSI)). В краткой формулировке, протокол волоконно-оптического канала представляет собой коммутируемый протокол, который позволяет обеспечивать параллельную связь между рабочими станциями, суперкомпьютерами и различными периферийными устройствами. Полная пропускная способность сети, обеспечиваемая посредством волоконно-оптического канала, может составлять порядка терабита (триллиона битов) в секунду. Посредством волоконно-оптического канала может быть осуществлена одновременная передача кадров в обоих направлениях со скоростью, превышающей 1 гигабит в секунду. К тому же, посредством него может быть осуществлена транспортировка команд и данных согласно существующим протоколам, например, согласно протоколу межсетевого взаимодействия (ПМС) (IP), интерфейса малых компьютерных систем (ИМКС) (SCSI), высокоскоростного параллельного интерфейса (ВСПИ) (HIPPI) и интеллектуального интерфейса периферийных устройств (ИИПУ) (IPI), как по оптическому волокну, так и по медному кабелю.
Развитие и стандартизация волоконно-оптического канала оказали сильное воздействие на запоминающие устройства для хранения данных. Волоконно-оптический канал позволяет осуществлять как более быстрый доступ, так и доступ на большем расстоянии (например, на расстоянии свыше 10 км) по сравнению с другими традиционными топологиями запоминающих устройств для хранения данных. Поскольку волоконно-оптический канал позволяет располагать устройства на большем расстоянии друг относительно друга, то он также обладает преимуществами при восстановлении данных в аварийных ситуациях, так как запоминающие устройства могут быть размещены на расстоянии. Одной из конкретных областей применения запоминающих устройств хранения данных, для которой волоконно-оптический канал представляет существенный интерес, являются системы совместно используемых запоминающих устройств, например сети с архитектурой "сеть устройств памяти" (СУП) (SANs), посредством которых множество главных компьютеров может осуществлять коллективный доступ к сети соответствующих запоминающих устройств.
Типовая структура СУП (SAN) состоит из множества систем запоминающих устройства и логически изолированной сети. Системы запоминающих устройств могут содержать в себе запоминающее устройство, по существу, любого типа, например на дисках, на магнитной ленте и т.д. Сетевая часть содержит в себе адаптеры, кабельные соединения, устройства сопряжения, концентраторы, коммутаторы и устройства управления. В краткой формулировке посредством адаптеров осуществляют подключение серверов и периферийных устройств к кабельным соединениям (например, к оптоволоконным или к другим кабельным соединениям) в сети. Посредством устройств сопряжения осуществляют преобразование из одного протокола в другой, например, из протокола ИМКС (SCSI) в протокол Fibre Channel. Посредством концентраторов, коммутаторов и устройств управления создают центральную точку соединения и обеспечивают возможности маршрутизации в типовой шине данных сети СУП (SAN). Среда СУП (SAN) позволяет рассматривать множество запоминающих устройств как совместно используемую динамическую область памяти, доступ к которой может быть осуществлен посредством множества главных вычислительных машин (хост-машин). Поскольку может потребоваться одновременное обеспечение доступа к заданному запоминающему устройству для более чем одного устройства, то при управлении доступом к запоминающим устройствам СУП (SAN) могут возникать затруднения.
Для выборочного управления доступом к запоминающим устройствам, соединенным с СУП (SAN), была предложена архитектура аппаратной коммутации. Например, для создания зон, ограничивающих возможности отдельных узлов Fibre Channel в СУП (SAN) поддерживать связь между собой и с соответствующими запоминающими устройствами, используют коммутаторы Fibre Channel. В варианте конфигурации запоминающих устройств, в котором множество запоминающих устройств упорядочено в виде массива логических устройств (например, находящихся в одном корпусе), другой подход состоит в осуществлении аппаратного маскирования номера логического устройства (НЛУ) (LUN). При маскировании НЛУ для управления доступом между главной вычислительной машиной и выбранными логическими устройствами, соответствующими сопоставленным им запоминающим устройствам, используют коммутаторы, обычно имеющиеся в СУП (SAN). Например, коммутатор Fibre Channel определяет для какого узла Fibre Channel и для какого номера логического устройства предназначена конкретная команда и выполняет маскирование на уровне номера логического устройства.
Однако, поскольку разработанные стандарты интерфейса, используемого для управления аппаратными коммутаторами, являются недостаточными, то в большинстве систем при осуществлении эффективного маскирования НЛУ могут возникать затруднения. В частности, интерфейс управления для каждого запоминающего устройства и главной вычислительной машины обычно является различным для каждой фирмы-производителя. Следовательно, в том случае, когда система содержит в себе запоминающие устройства и/или главные вычислительные машины различных фирм-производителей, обычно необходимы различные интерфейсы. Кроме того, сами аппаратные средства (например, коммутаторы и корпус с аппаратурой) часто могут быть непомерно дорогостоящими для небольших организаций, которые могут пожелать использовать их для совместно используемых запоминающих устройств. К тому же, в том случае, когда в различных главных вычислительных машинах, соединенных с системой СУП (SAN), используют различные операционные системы, могут возникнуть затруднения при попытке одновременного доступа различных вычислительных машин к одному и тому же запоминающему устройству (или логическому устройству). Кроме того, в том случае, если с одними и теми же запоминающими устройствами соединено множество главных компьютеров, то существует повышенная вероятность разрушения файловых систем, обусловленная, например, тем, что каждый главный компьютер осуществляет периодический контроль устройств.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к системе и к способу программного управления доступом между узлом и одним или большим количеством соответствующих устройств, например, запоминающих устройств. В узле может быть осуществлено программирование одной или большего количества структур данных таким образом, чтобы они указывали на то, должно ли соответствующее устройство находиться в пределах области действия узла. Область действия узла определяют исходя из структуры данных узла, которая может быть динамически изменена путем программного изменения структуры данных.
Согласно одному из аспектов настоящего изобретения, для идентификации устройств, подключенных к узлу, используют интерфейс. Например, узел имеет первую структуру данных, посредством которой указывают устройства, подключенные к узлу. Узел также имеет вторую структуру данных, посредством которой указывают, должно ли соответствующее устройство быть скрытым или открытым по отношению к узлу. Например, вторая структура данных может быть выполнена в виде перечня (списка) включений, посредством которого указывают то, какое устройство находится (какие устройства находятся) в пределах области действия узла, и/или в виде перечня (списка) исключений, посредством которого указывают то, какое указанное устройство (какие указанные устройства) не подпадают под область действия узла. Для изменения второй структуры данных выбранным способом может быть использован программируемый интерфейс. В результате, выбранные подключенные устройства могут быть динамически введены в область действия узла и/или выведены из нее. В системе совместно используемых запоминающих устройств наличие интерфейса упрощает управление совместно используемыми запоминающими устройствами и уменьшает количество конфликтных ситуаций между устройствами. Для узла, конфигурация которого выполнена в соответствии с настоящим изобретением, также может быть уменьшено время начальной загрузки, поскольку для операционной системы необходимо обеспечивать доступ к соответствующим устройствам и их компоновку на основе второй структуры данных узла.
Согласно другому аспекту настоящего изобретения, с системой совместно используемых запоминающих устройств, имеющей множество адресуемых запоминающих устройств, может быть оперативно соединен один или большее количество контроллеров, имеющихся в узле. В каждом контроллере используют программируемую структуру данных, посредством которой задают те соответствующие устройства, оперативно подключаемые к узлу, которые должны быть функционально "открытыми" для контроллера или скрытыми от него. Структура данных может содержать в себе компоненты постоянного и/или временного хранения. Компоненты постоянного и/или временного хранения могут быть изменены посредством интерфейса, который используют заранее заданным способом. Для каждого соответствующего устройства, заданного посредством структуры данных контроллера, в контроллере создают объект-устройство. Каждый объект-устройство связан с объектом более высокого уровня, например с драйвером класса, посредством которого осуществляют управления функционированием соответствующего устройства в ответ на команды, поступающие из контроллера.
Согласно еще одному аспекту настоящего изобретения, осуществляют динамическое удаление (или добавление) объекта-устройства для соответствующего устройства, исходя из изменений структуры данных узла. В том случае, когда объект-устройство удален, то, например, для соответствующего объекта-устройства загрузку объекта-устройства более высокого уровня (например, драйвера класса) не производят, а соответствующее устройство больше не находится в пределах области действия узла. В результате этого традиционные способы связи с устройством (например, команды считывания и/или записи) оказываются запрещенными. Однако для соответствующего устройства может быть создан объект-устройство для второго узла (например, путем программного изменения структуры данных второго узла), посредством чего устанавливают канал связи между вторым узлом и соответствующим устройством. Таким образом, этот аспект настоящего изобретения может быть использован для облегчения программно реализуемого обмена устройствами между совокупностью соединенных между собой узлов.
Согласно еще одному аспекту настоящего изобретения, может быть осуществлено динамическое прерывание или добавление связи между объектом-устройством и его объектом-устройством более высокого уровня для соответствующего устройства согласно тому, указано ли соответствующее устройство посредством структуры данных узла. В случае прерывания связи между объектом-устройством и его объектом-устройством более высокого уровня, соответствующее устройство больше не находится в пределах области действия узла, поэтому доступ к нему из узла является заблокированным. Может быть создан новый объект-устройство более высокого уровня и, в свою очередь, связан с этим объектом-устройством, посредством чего соответствующее устройство становится открытым по отношению к узлу, например, в ответ на программное изменение структуры данных узла.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг.1 изображена блок-схема системы согласно настоящему изобретению;
на Фиг.2А изображена функциональная блок-схема системы, запрограммированной согласно настоящему изобретению, на которой показано первое состояние системы;
на Фиг.2Б изображена функциональная блок-схема системы из Фиг.2А, на которой показано второе состояние системы согласно одному из аспектов настоящего изобретения;
на Фиг.2В изображена функциональная блок-схема системы из Фиг.2А, на которой показано третье системное состояние устройства согласно другому аспекту настоящего изобретения;
на Фиг.3 изображена функциональная блок-схема системы, на которой показан узел, соединенный с множеством целевых объектов посредством множества шин, конфигурация которых может быть выполнена в соответствии с настоящим изобретением;
на Фиг.4 изображена блок-схема системы, имеющей множество узлов, соединенных с системой совместно используемых запоминающих устройств согласно настоящему изобретению;
на Фиг.5 изображена блок-схема системы, имеющей множество узлов, соединенных с системой совместно используемых запоминающих устройств согласно настоящему изобретению через сеть;
на Фиг.6 изображена блок-схема системы на основе сети Интернет, имеющей множество узлов, соединенных с системой совместно используемых запоминающих устройств согласно настоящему изобретению;
на Фиг.7 показан пример операционной среды для системы, скомпонованной в соответствии с настоящим изобретением;
на Фиг.8 изображена схема последовательности операций, на которой показана методология инициализации критериев маскирования для узла согласно настоящему изобретению;
на Фиг.9А изображена схема последовательности операций, на которой показана методология маскирования доступа к устройству из узла согласно настоящему изобретению;
на Фиг.9Б изображена более подробная схема последовательности операций для части этапов способа по Фиг.9А согласно одному из аспектов настоящего изобретения; и
на Фиг.9В изображена более подробная схема последовательности операций для части этапов способа по Фиг.9А согласно другому аспекту настоящего изобретения.
СПОСОБ (СПОСОБЫ) ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к системе и к способу программного управления доступом между узлом и одним или большим количеством связанных устройств, например, функциональных устройств хранения данных. В узле может быть выполнено программирование одной или более структур данных таким образом, чтобы указать, должно ли соответствующее устройство находиться в пределах области действия узла. Область действия узла определяет, является ли каждое соответствующее устройство функционально открытым или скрытым по отношению к узлу. Согласно одному из аспектов настоящего изобретения, может быть осуществлено динамическое изменение области действия узла путем программного изменения структуры данных.
На Фиг.1 показана упрощенная блок-схема системы 10, которая может быть запрограммирована таким образом, чтобы осуществить маскирование согласно настоящему изобретению. Система содержит в себе узел 12, оперативно соединяемый через шину 14 с множеством устройств 16, 18, 20 и 22. Узел представляет собой компьютер, например клиентскую вычислительную машину, рабочую станцию, сервер или иную вычислительную машину. Устройства 16, 18, 20 и 22 могут представлять собой функциональные устройства хранения данных (например, накопитель на жестких дисках, постоянное запоминающее устройство на компакт-диске (ПЗУ-КД) (CD-ROM), универсальный цифровой диск (DVD), запоминающее устройство на магнитной ленте и т.д.) или иные периферийные устройства, которые могут быть использованы совместно с узлом 12. Шина 14 может быть выполнена в виде сети, каналов связи или иного средства связи, позволяющего осуществлять передачу данных между узлом 12 и запоминающими устройствами 16, 18, 20 и 22.
Согласно одному из аспектов настоящего изобретения, узел 12 содержит в себе контроллер 24, имеющий связанную с ним структуру данных, например, в виде одного или большего количества программируемых перечней (списков), посредством которых определяют критерии области действия для определения параметров маскирования, используемых в узле. Следует иметь в виду и осознавать, что за исключением особо оговоренных случаев иного толкования или тех случаев, когда необходимость иного толкования обусловлена контекстом, используемый здесь и в формуле изобретения термин "маскирование" следует истолковывать в самом широком смысле и при этом подразумевают, что все подобные конструкции терминов находятся в пределах объема патентных притязаний формулы изобретения. Например, понятие "маскирование" устройства по отношению к узлу может содержать в себе как операцию введения устройства в область действия узла, так и операцию удаления устройства из области действия узла. В том случае, когда устройство не находится в пределах области действия узла 12, связь между узлом и устройством оказывается заблокированной, поскольку устройство является скрытым по отношению к верхним уровням программного обеспечения в узле. И, наоборот, в том случае, когда устройство находится в пределах области действия узла 12, узел может осуществлять доступ к устройству посредством использования надлежащего протокола связи.
На чертежах Фиг.2А - Фиг.2В показаны функциональные блок-схемы, на которых отображены элементы операционной системы (например, набор драйверов) узла 12, которые могут быть запрограммированы и/или сконфигурированы таким образом, чтобы обеспечить маскирование трактов связи между узлом и устройствами (не показаны), оперативно соединенными с узлом. Со ссылкой на Фиг.2А узел 12 содержит в себе адаптер 28 шины главного компьютера, который, например, может представлять собой адаптер шины ИМКС (SCSI). Адаптер 28 шины главного компьютера содержит в себе контроллер 30, выполненный и/или запрограммированный таким образом, чтобы обеспечивать управление трактами или каналами связи между узлом 12 и устройствами, оперативно соединяемыми с узлом через соответствующую шину. В частности, контроллер 30 создает объекты-устройства 32а, 32б, 32в (в совокупности именуемые "объектами-устройствами 32") для устройств, подключенных к шине. Каждый объект-устройство 32 представляет собой функциональный объект-устройство, посредством которого обозначают устройство, в том числе, например, его местоположение (например, логический номер устройства) и рабочие характеристики устройства. Следует иметь в виду, что используемый здесь термин "устройство" имеет широкое толкование и соответствует, например, аппаратному устройству или функциональному блоку устройства, например, логическому устройству для хранения данных, которое поставлено в соответствие запоминающему устройству.
Для каждого соответствующего объекта-устройства 32а, 32б, 32в осуществляют загрузку другого объекта-устройства 34а, 34б, 34в более высокого уровня (совокупность которых именуют "объектами-устройствами 34 более высокого уровня"). Каждый объект-устройство 34а, 34б, 34в более высокого уровня связан с соответствующим объектом-устройством через оперативную линию связи, обозначенную соответственно как 36а, 36б, 36в. Объекты-устройства 34 более высокого уровня представляют собой физические объекты-устройства, например драйверы классов, посредством которых осуществляют управление работой соответствующего устройства путем подачи надлежащих команд в соответствующее устройство или приема их из него в ответ на запросы, поступающие из контроллера 30 узла 12. После загрузки объекта-устройства 34 более высокого уровня и его связывания с поставленным в соответствие ему объектом-устройством 32 соответствующее устройство попадает в область действия узла (например, узел может осуществлять доступ к соответствующему устройству).
Узел 12 или, в частности, контроллер 30, содержит в себе структуру 40 данных для сохранения информации, посредством которой указывают устройства и их взаимосвязи с узлом при работе. Например, одной характерной особенностью структуры 40 данных является ее соответствие базе данных или перечню 42, в котором указаны все устройства, оперативно подключаемые к шине контроллера (который ниже именуют "всеобщим перечнем 42"). Всеобщий перечень 42 содержит в себе устройства, которые в соответствии с настоящим изобретением являются функционально открытыми и скрытыми по отношению к узлу 12. Другой характерной особенностью структуры данных 40 является наличие базы данных или перечня 44, в котором указаны все устройства, имеющие приписанные к ним объекты-устройства. То есть в перечне 44 приписанных объектов указаны те оперативно подключаемые к контроллеру 30 (или узлу 12) устройства, для которых существует объект-устройство 32.
Третьей характерной особенностью структуры данных 40 является наличие структуры 46 данных управления областью действия в виде соответствующего перечня (ниже именуемого "перечнем 46 управления областью действия"), в котором сохраняют рабочую карту критериев маскирования для узла 12. Перечень 46 управления областью действия программируют таким образом, чтобы можно было осуществить изменение критериев маскирования для обеспечения возможности динамического введения выбранных устройств в область действия узла 12 и/или удаления выбранных устройств из нее без необходимости начальной загрузки системы. Критерии маскирования могут содержать в себе, например, перечень исключений, перечень включений или оба перечня. Перечни (включений или исключений) могут быть выполнены в виде структуры данных любого типа. Посредством перечня включений задают те устройства (например, согласно номерам их логических устройств или другим идентификационным параметрам), которые находятся в пределах области действия узла. И, наоборот, посредством перечня исключений задают те устройства, которые не находятся в пределах области действия узла; причем все устройства, не содержащиеся в перечне исключений, находятся в пределах области действия узла. Следовательно, в случае использования перечня исключений, при оперативном подключении нового устройства к узлу 12, оно будет являться открытым по отношению к узлу, например, путем использования способа управления с автоматической установкой конфигурации (АУК) (Plug-n-Play (PNP)). Вообще говоря, способ задания критерия маскирования в виде перечня включений или в виде перечня исключений обусловлен выбранным вариантом конструктивного исполнения, поскольку каждый из них может иметь преимущества, зависящие от конфигурации системы, при этом реализуют наиболее целесообразный способ маскирования.
Для краткости, в приведенном ниже примере перечень 46 управления областью действия описан как перечень включений, в котором устройства из перечня включений находятся в пределах области действия узла. Однако, следует понимать, что сформулированные здесь принципы являются равным образом применимы как к перечню включений, так и к перечню исключений. Кроме того, несмотря на то, что в описании перечня 46 управления областью действия указано, что он оперативно связан с контроллером 30 узла, следует осознавать, что могут быть использованы и другие варианты компоновки запоминающих устройств для хранения данных. Например, для узла 12 может быть обеспечена поддержка общей структуры данных управления областью действия, посредством которой глобально указывают то, какие именно устройства являются маскированными по отношению к узлу 12. В альтернативном варианте может быть обеспечена поддержка перечня управления областью действия отдельно для каждой шины.
Согласно одному из аспектов настоящего изобретения, перечню 46 управления областью действия могут быть оперативно поставлены в соответствие два типа перечней включений (и/или исключений), а именно перечень 48 включений постоянного хранения и перечень 50 включений временного хранения. Термины "постоянного хранения" и "временного хранения" относятся к характеристикам сохранения соответствующих перечней. Например, перечень включений временного хранения не сохраняется при перезагрузке системы или при отключении соответствующего контроллера. Сохранение перечня 50 временного хранения осуществляют, например, в запоминающем устройстве узла, предназначенном для временного хранения данных (например, в энергозависимом запоминающем устройстве), например, в оперативном запоминающем устройстве (ОЗУ) и сохраняют его в течение всего времени работы системы и функционирования контроллера 30. В предпочтительном варианте перечень 48 включений постоянного хранения сохраняют при перезагрузке системы или при аварийном отказе, а также при других подобных ситуациях, например, при отключении питания или при повреждении контроллера 30 или узла 12. Сохранение перечня постоянного хранения осуществляют, например, в постоянном запоминающем устройстве (например, в энергонезависимом запоминающем устройстве), к примеру, в системном реестре. Как перечень 48 включений постоянного хранения, так и перечень 50 включений временного хранения, могут быть соответственно запрограммированы таким образом, чтобы выбранный перечень мог быть изменен, например, администратором или службой более высокого уровня, в результате чего обеспечивают возможность динамического изменения области действия узла 12. Например, для просмотра содержимого выбранных перечней или для программного изменения содержимого выбранного перечня или перечней могут быть предусмотрены несколько интерфейсов (например, программные интерфейсы приложения (API)).
В качестве примера, для обеспечения возможности программного маскирования устройства относительно узла 12 согласно настоящему изобретению предусмотрен интерфейс 60, например, интерфейс ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST) (или программный интерфейс приложения (API)). Исполнительное средство (агент), которым является, например, прикладная программа (или служба) более высокого уровня либо администратор, использует интерфейс 60 для изменения перечня включений (и/или исключений). Посредством интерфейса 60 осуществляют удаление соответствующих идентификационных данных одного или большего количества устройств из надлежащего перечня включений (постоянного или временного хранения) (или их добавление к нему). Тип и степень изменений в перечне определяют посредством команд, подаваемых в интерфейс 60, например, прикладной программой более высокого уровня либо системным администратором.
Помимо управления размещением конкретного устройства в пределах области действия узла 12 также может оказаться желательным осуществлять полное стирание перечня управления областью действия для того, чтобы параметры маскирования, соответствующие этому перечню, не оказывали бы воздействия на поведение системы (например, чтобы обеспечить отсутствие попыток осуществить маскирование). Для выполнения этой операции, например, по отношению к перечню включений может быть создан соответствующий интерфейс или программный интерфейс приложения (API), например, интерфейс 70 ОЧИСТИТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (CLEAR_INCLUSION_LIST). Администратор (вручную) или прикладная программа более высокого уровня (инициированная какой-либо операцией) могут использовать интерфейс 70 путем указания того, какой именно перечень (или перечни) включений следует удалить. Результат действия этого интерфейса 70 определяют по типу перечня (перечней) управления областью действия. Например, если существует только один перечень, и выполнено его удаление с использованием интерфейса ОЧИСТИТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (CLEAR_INCLUSION_LIST), то происходит возврат системы в режим работы, заданный по умолчанию, который, например, может состоять в том, что каждое устройство, которое является видимым для системы, является открытым. В альтернативном варианте, при наличии совокупности смешанных перечней управления областью действия (например, при наличии как перечней включений, так и перечней исключений), режим работы системы будет изменяться в зависимости от того, какой именно перечень удален. Например, если посредством интерфейса удален перечень включений, то каждое устройство, указанное в перечне исключений, оказывается исключенным из области действия. Если же из совокупности смешанных перечней удален перечень исключений, то все устройства, указанные в перечне включений, оказываются включенными в состав области действия. Операцию видоизменения области действия узла производят, например, в соответствии с одним из описанных ниже способов. То есть, может быть осуществлено удаление или добавление самих объектов-устройств (см., например, Фиг.2Б), или же может быть осуществлено отключение или создание связей между объектами-устройствами и соответствующими драйверами класса (см., например, Фиг.2В).
Для определения текущего состояния перечня включений (или исключений) узлом, администратором или прикладной программой может быть использован другой интерфейс, например, интерфейс 80 ПОЛУЧИТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (GET_INCLUSION_LIST), посредством которого осуществляют выдачу информации, в которой указан текущий перечень включений (временного и/или постоянного хранения). Доступ к интерфейсу 80 ПОЛУЧИТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (GET_INCLUSION_LIST) может быть осуществлен в узле посредством любой прикладной программы или любым пользователем.
Для выдачи перечня устройств, подключенных к контроллеру, а также идентификационных параметров соответствующих устройств может быть также использован другой интерфейс 90 ЗАПРОС_О_ПОДКЛЮЧЕННЫХ_УСТРОЙСТВАХ (QUERY_ATTACHED_DEVICES). Например, он может быть реализован на основе поиска данных запроса в ответ на запрос ИМКС (SCSI), а доступ к нему может быть осуществлен любым пользователем или посредством любой прикладной программы, связанной с этим узлом.
На Фиг.2Б приведена функциональная схема способа, который согласно конкретному аспекту настоящего изобретения может быть использован для управления размещением устройства в пределах области действия узла 12. Одинаковые номера позиций, к которым добавлен символ в виде штриха ('), относятся к соответствующим компонентам, которые ранее были указаны в описании, относящемся к Фиг.2А. В частности, этот способ относится к управлению (например, добавлению или удалению) соответствующим объектом-устройством 32в' для осуществления в узле маскирования соответствующего устройства по отношению к этому узлу. Например, для удаления устройства, являющегося открытым в текущий момент времени, из области действия узла 12', выполняют удаление объекта-устройства (например, 32в'), поставленного в соответствие конкретному устройству. Это обозначено на Фиг.2Б номером позиции 32X, посредством которого обозначают отсутствие объекта-устройства 32в (Фиг.2А). Удаление объекта-устройства может быть инициировано, например, путем использования интерфейса 60' ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST) для удаления выбранного устройства из перечня включений. Перечень 46' управления областью действия содержит в себе изменения, выполненные в перечне включений. Интерфейс 60' выдает в модуль автоматической установки конфигурации (АУК) (PNP)) или в собственный интерфейс (на чертеже не показан) команду удаления соответствующего объекта-устройства. Удаление объекта-устройства 32в, в свою очередь, приводит к удалению или к выгрузке соответствующего драйвера 34в класса (Фиг.2А). Устройство также удаляют и из перечня 44' приписанных объектов. Поскольку устройству не поставлены в соответствие ни объект-устройство, ни драйвер класса, то отсутствует какой-либо пригодный канал связи, через который какие-либо объекты или драйверы более высокого уровня, связанные с узлом 12, могут поддерживать связь с устройством и, следовательно, доступ к устройству из узла является фактически заблокированным.
Для введения устройства, которое в данный момент времени является скрытым, в область действия узла 12 в узле программным способом создают объект-устройство 32 для этого устройства. Со ссылкой на Фиг.2Б это может быть осуществлено, например, прикладной программой более высокого уровня или администратором с использованием интерфейса 60' ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST), посредством которого к перечню включений добавляют соответствующие данные, идентифицирующие устройство. Интерфейс 60' выдает команду средству управления АУК (PNP) или другому интерфейсу добавить объект-устройство для этого устройства, после чего осуществляют загрузку драйвера класса 34в для устройства и, в свою очередь, его оперативно связывают с объектом-устройством 32в (см. Фиг.2А). Устройство может быть добавлено либо к перечню 48' включений постоянного хранения, либо к перечню 50' включений временного хранения, что зависит, например, от причин установления канала связи между узлом и устройством. После создания объекта-устройства 32в устройство также добавляют в перечень 44 приписанных объектов. В том случае, если добавляемое устройство является новым устройством для системы, оно также может быть добавлено во всеобщий перечень 42.
Для удаления перечня управления областью действия администратором либо прикладной программой или модулем более высокого уровня также может быть использован интерфейс 70' ОЧИСТИТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (CLEAR_INCLUSION_LIST). Как упомянуто выше, окажется ли устройство введенным в область действия узла 12' или же выведенным из нее зависит от того, является ли перечень перечнем включений или перечнем исключений.
На Фиг.2В приведена функциональная схема другого способа, который согласно настоящему изобретению может быть использован в узле 12'' для программного управления размещением устройства в пределах области действия узла 12''. Одинаковые номера позиций, к которым добавлен символ в виде двойного штриха (''), относятся к соответствующим компонентам, которые ранее были указаны в описании, относящемся к Фиг.2А. В этом способе маскирование канала связи между узлом и устройством может быть осуществлено путем управления действующей связью 36'' между объектом-устройством 32'' и объектом-устройством 34'' более высокого уровня, соответствующим этому устройству. Со ссылкой вновь н