ПРОГРАММНОЕ МАСКИРОВАНИЕ ЗАПОМИНАЮЩИХ УСТРОЙСТВ Российский патент 2005 года по МПК G06F13/38 G06F12/14 

Описание патента на изобретение RU2265882C2

ОБЛАСТЬ ТЕХНИКИ

Настоящее изобретение относится, в целом, к управлению доступом к устройствам и, в частности, к системе и к способу программного управления доступом, осуществляемому посредством главной системы, к одному или к большему количеству устройств, оперативно соединенных с главной системой.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Для сохранения конкурентоспособности и обеспечения соответствия происходящим технологическим изменениям компьютерные системы становятся все более и более высокопроизводительными и сложными. Основным стимулирующим фактором для этого послужили применения больших баз данных и прикладные задачи, требующие обработки все большего и большего объема данных. Повышенная сложность систем обуславливает необходимость создания усовершенствованных запоминающих устройств для данных и увеличения пропускной способности средств связи. Типы архитектуры компьютерных систем исторически основывались на том принципе, что запоминающие устройства являются "собственностью" главного компьютера или узла, с которым они соединены. В последнее время в моделях архитектуры вычислительных систем существует тенденция к созданию более интеллектуальных запоминающих устройств хранения данных и каналов связи, посредством которых облегчают передачу и запоминание данных.

Двумя основными типами топологии передачи данных, обычно используемыми для передачи данных между процессорами и между процессором и периферийными устройствами, являются каналы связи и сети. "Канал связи" обеспечивает прямое или коммутируемое двухточечное соединение между устройствами, поддерживающими связь. Основной задачей канала связи является транспортировка данных с максимально возможной скоростью передачи данных и с минимальной задержкой. В каналах связи обычно осуществляют простое исправление ошибок, выполняемое аппаратными средствами. В отличие от этого, "сеть" представляет собой совокупность распределенных узлов (например, рабочих станций, запоминающих устройств большой емкости и т.д.), имеющую свой собственный протокол, который обеспечивает поддержку взаимодействия между этими узлами. Как правило, каждый узел соперничает за использование среды передачи, причем каждый узел должен быть способен распознавать состояния наличия ошибки в сети и должен обеспечивать управление обработкой ошибок, необходимое для выхода из состояний наличия ошибки.

Гибридным типом межкомпонентной связи является волоконно-оптический канал (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'' более высокого уровня, соответствующим этому устройству. Со ссылкой вновь на Фиг.2А, например, если для устройства существуют объект-устройство 32в и соответствующий объект 34в драйвера класса, то устройство может быть выведено из области действия узла 12 путем динамического разъединения (или удаления) связи 36в между драйвером класса и объектом-устройством. Это показано на Фиг.2В номером позиции 36X, посредством которого обозначают отсутствие связи 36в (Фиг.2В). Устройство, которое не находится в пределах области действия узла, но уже является частью всеобщего перечня 42'', может быть введено в область действия узла 12'', например, путем добавления связи 36в между объектом-устройством 32в и драйвером 34в класса для этого устройства, что показано на Фиг.2А.

Маскирование может быть осуществлено способом, аналогичным способу, описание которого приведено применительно к Фиг.2Б. В краткой формулировке для изменения перечня включений (перечня 50'' временного хранения или перечня 48'' постоянного хранения) администратор или прикладная программа более высокого уровня используют надлежащий интерфейс, например, интерфейс 60'' ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST). Перечень 46'' управления областью действия содержит в себе изменения, внесенные в соответствующий перечень включений. Интерфейс 60'' также выдает в собственный интерфейс или в средство управления АУК (PNP) команду добавить или разорвать связь 36'' в соответствии с тем, является ли устройство функционально скрытым или открытым по отношению к узлу. Если для устройства, которое должно быть открыто по отношению к узлу 12'', не были созданы ни объект-устройство, ни драйвер класса (например, к системе подключают новое устройство), то создают соответствующий объект-устройство 32в и драйвер 34в класса и обеспечивают их связь, как было ранее продемонстрировано и описано применительно к Фиг.2А. Также для каждого объекта-устройства 32 может быть установлено логическое значение (ИСТИНА или ЛОЖЬ) связанного с ним флага для указания того, соответствует ли объект-устройство видимому устройству, находящемуся в пределах области действия узла.

На Фиг.3 показан пример системного окружения 100, в котором осуществляют оперативное соединение узла 110 с множеством целевых устройств 120 через множество шин 130 и 140. Узел 110 содержит в себе контроллеры 150, 160, обеспечивающие оперативную связь с каждой соответствующей шиной 130, 140 для создания и управления трактами (каналами) связи между узлом и каждым целевым устройством. Каждое целевое устройство 120 имеет соответствующий ему целевой адрес и содержит в себе одно или большее количество логических устройств 170. Логические устройства 170, например, обеспечивают средства взаимодействия с функциональными запоминающими устройствами соответствующих целевых устройств 120. Каждое логическое устройство 170 имеет соответствующий номер логического устройства (или другие идентификационные параметры). Узел 110 и контроллеры 150 и 160 выполнены таким образом, чтобы они функционировали, по существу, точно так же, как узел и контроллеры, продемонстрированные в описании, относящемся к Фиг.2А - Фиг.2В. В частности, узел 110 может содержать в себе перечень включений постоянного хранения, который сохраняют в системном реестре и в котором указано одно или большее количество логических устройств, находящихся в пределах области действия узла.

Перечень включений постоянного хранения используют при начальной загрузке системы или во время инициализации для создания трактов или каналов связи между узлом 100 и каждым устройством 120 или логическим устройством 170, указанным в перечне. Например, при инициализации узел 110 или контроллеры 150 и 160 задают перечень управления областью действия исходя из перечня включений постоянного хранения, сохраненного в системном реестре. В случае отсутствия перечня постоянного хранения может быть установлена конфигурация узла, заданная по умолчанию, в которой каждое устройство, оперативно соединенное с узлом, является функционально открытым, либо в которой ни одно из устройств не является открытым. В приведенном ниже примере предполагают, что исходный перечень включений постоянного хранения существует.

Каждый контроллер 150, 160 осуществляет опрос шины и передачу запроса в каждое целевое устройство 120 по каждой соответствующей шине 130, 140 для определения номера логического устройства, соответствующего каждому целевому устройству. Контроллеры 150 и 160 могут выдавать дополнительный запрос для определения типа устройства, соответствующего каждому логическому устройству, и получения конкретных данных об идентификаторе каждого логического устройства, например, о серийном номере. Исходя из данных об идентификаторе, каждый контроллер 150, 160 дополнительно осуществляет проверку своего перечня управления областью действия для определения того, перечислено ли устройство или логическое устройство в этом перечне. Если логическое устройство находится в пределах области действия контроллера, то для этого логического устройства создают объект-устройство, а логическое устройство может быть помечено как видимое, например, путем установления надлежащего флага, соответствующего объекту-устройству. В перечень приписанных объектов также добавляют параметры логического устройства, соответствующего каждому объекту-устройству. Однако, если логическое устройство не находится в пределах области действия узла 110, то соответствующий объект-устройство не создают. Тем не менее, в любом из этих случаев параметры, посредством которых идентифицируют каждое логическое устройство, добавляют во всеобщий перечень узла 110. Этот процесс повторяют до тех пор, пока не будет выполнена соответственная обработка каждого логического устройства 170 для каждого целевого устройства 120 каждой шины 130, 140.

В некоторых случаях, например, при начальной загрузке системы, может оказаться требуемым задать программным способом пустой перечень управления областью действия, в котором удалены все элементы перечня управления областью действия. Например, наличие пустого перечня включений приводит к удалению всех устройств 120 или логических устройств 170 из области действия узла 110. И, наоборот, наличие пустого перечня исключений приводит к тому, что все устройства, подключенные к шине, оказываются введенными в область действия. В этой ситуации в узле 110 перечень включений (постоянного или временного хранения) не содержит в себе никаких указанных в нем устройств, и, следовательно, в перечне управления областью действия какие-либо устройства не указаны. В том случае, если контроллер не имеет перечня включений, то проверку устройств, оперативно подключаемых к шине, при опросе шины не производят. Это существенно уменьшает время начальной загрузки, поскольку отсутствует необходимость в выполнении процедур контроля надлежащего функционирования устройства или проверки файловых систем, связанных с устройством. Время начальной загрузки также может быть уменьшено путем программирования перечня включений узла на начальном этапе таким образом, чтобы в нем было указано лишь относительно небольшое количество устройств, что обуславливает наличие лишь небольшого количества устройств в пределах области действия узла (например, при подключении системы к запоминающему устройству для хранения данных большой емкости, такому как среда СУП (SAN)). Посредством этого также обеспечивают снижение перегрузки в тракте и уменьшение количества конфликтных ситуаций между устройствами.

На Фиг.4 показана функциональная схема примера варианта компоновки системы 200 согласно настоящему изобретению, в которой к системе 210 совместно используемых запоминающих устройств через соответствующие средства соединения 206 и 208 подключено множество узлов 202 и 204. Система 210 совместно используемых запоминающих устройств содержит в себе, например, сеть 212 устройств памяти СУП (SAN), оперативно соединенную с множеством запоминающих устройств 220а, 220б, 220в, 220г и 220д (которые в совокупности именуют "запоминающими устройствами 220"). Каждое запоминающее устройство 220 может представлять собой, например, диск, магнитную ленту или носитель данных какого-либо другого типа (оптический или электронный).

СУП (SAN) 212 содержит в себе, например, совокупность адаптеров, устройств сопряжения (мостов), концентраторов, коммутаторов и устройств управления, посредством которых управляют маршрутизацией и соединениями между запоминающими устройствами 220 и узлами 202 и 204. В краткой формулировке посредством адаптеров осуществляют подключение узлов или серверов и периферийного оборудования к кабельным соединениям (например, к оптическим волокнам или к иным кабельным соединениям) в сети СУП (SAN) 212. Посредством устройств сопряжения осуществляют преобразование из одного протокола в другой, например, из протокола Fibre Channel (волоконно-оптического канала) в протокол межсетевого взаимодействия (ПМС) (IP) или из протокола ИМКС (SCSI) в протокол Fibre Channel (волоконно-оптического канала). Посредством концентраторов, коммутаторов и устройств управления создают центральную точку соединения и обеспечивают возможности маршрутизации в шине данных сети СУП (SAN). Для увеличения пропускной способности системы и, в свою очередь, скоростей передачи данных, в СУП (SAN) 212 может быть использована структура Fibre Channel для соединения устройств в виде коммутируемой конфигурации с точкой пересечения, содержащей в себе запоминающие устройства 220 и узлы 202 и 204.

Между узлами 202 и 204 может быть создана дополнительная линия 230 связи, являющаяся необязательной, посредством которой обеспечивают возможность связи между узлами. Линия 230 связи может быть выполнена в виде сети (локальной сети, глобальной сети), линии дальней связи или какого-либо иного механизма связи, посредством которого может быть обеспечена связь между узлами 202 и 204 и/или их пользователями. К тому же, может быть обеспечен выход линий связи за пределы сети СУП (SAN) посредством использования любого количества протоколов межпроцессного взаимодействия (например, протокола ВСПИ (HIPPI), протокола межсетевого взаимодействия (ПМС) (IP), протокола универсального интерфейса (VI) и т.д.).

Например, в узлах 202 и 204 для линий 206 и 208 связи с сетью СУП (SAN) 212, в который для связи с запоминающими устройствами 220 используют Fibre Channel, может быть использован протокол ИМКС (SCSI). Каждый узел 202, 204 запрограммирован таким образом, что содержит в себе структуру данных, например, перечень включений и/или исключений, посредством которой определяют то, какие запоминающие устройства 220 находятся в пределах области действия соответствующего узла. Структура данных может содержать в себе перечни постоянного и/или временного хранения. Управление тем, какие запоминающие устройства находятся в пределах области действия каждого узла, а какие не находятся в пределах области его действия, осуществляют посредством прикладной программы или исполнительного средства (агента) более высокого уровня. Как упомянуто выше, динамическое маскирование доступа между каждым из узлов и выбранными запоминающими устройствами может быть осуществлено путем программного изменения перечня включений для каждого узла.

Например, узел 202 может иметь перечень включений, который содержит в себе запоминающее устройство 220а, а узел 204 может иметь перечень включений, который содержит в себе запоминающие устройства 220б и 220в. Перед тем, как из узла 202 будет осуществлен доступ к запоминающему устройству 220б, узлу 204 может быть выдана команда отказаться от монопольного использования устройства. Это может быть осуществлено прикладной программой более высокого уровня или администратором с использованием интерфейса (ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST)), посредством которого запоминающее устройство 220б удаляют из перечня включений узла 204. Изменение перечня включений подобным способом приводит к соответствующему изменению перечня управления областью действия. Для блокирования доступа к запоминающему устройству 220б из узла 204 на уровне объекта-устройства может быть использован интерфейс или средство управления АУК (PNP), например, согласно одному из вариантов осуществления изобретения, которые продемонстрированы и описаны применительно к Фиг.2А - Фиг.2В. В том случае, когда запоминающее устройство 220б не находится в пределах области действия узла 204, узел 204 (или его пользователь) может поддерживать связь с узлом 202 через линию 230 связи, что указывает на прекращение монопольного использования запоминающего устройства. Затем администратор или прикладная программа более высокого уровня (либо в узле 202, либо в узле 204 через линию 230 связи) могут использовать интерфейс (например, интерфейс ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST)) для добавления запоминающего устройства 220б в перечень включений узла 202. В свою очередь, вносят соответствующие изменения и в перечень управления областью действия. Интерфейс также выдает команду другому интерфейсу или средству управления АУК (PNP) ввести устройство 220б в область действия узла 202, например, путем выдачи надлежащих команд добавления объекта-устройства, соответствующего запоминающему устройству 220б, и/или связывания объекта-устройства с соответствующим драйвером класса для запоминающего устройства 220б. Поскольку объект-устройство узла 202 связан с надлежащим драйвером класса, то доступ к соответствующему запоминающему устройству 220б разрешен (например, устройство находится в пределах области действия узла 202). Аналогичным способом может быть осуществлено программное маскирование доступа по отношению к другим запоминающим устройствам 220 из узлов 202 и 204.

Например, администратор может предоставить каждому узлу 202, 204 надлежащий уровень доступа к запоминающим устройствам, соразмерный потребностям каждого узла. Кроме того, каждый узел 202, 204 может быть запрограммирован таким образом, чтобы из него осуществлять доступ к одному и тому же запоминающему устройству (устройствам) 220, что позволяет сократить потребности в объеме памяти для системы 200 в целом. В результате, отсутствует необходимость в дублировании данных для множества узлов. К тому же, такое маскирование обеспечивает снижение перегрузки в тракте и уменьшение количества конфликтных ситуаций между устройствами, которые могут возникать в том случае, когда попытку осуществить одновременный доступ к запоминающему устройству предпринимают более чем из одного узла.

На Фиг.5 показан пример другого варианта компоновки системы 300 согласно настоящему изобретению, в котором множество клиентских узлов 302 и 304 связано с множеством серверных узлов 306 и 308 через обычную сетевую инфраструктуру 310, например, через локальную сеть или глобальную сеть. Серверные узлы 306 и 308 оперативно соединены с системой 318 совместно используемых запоминающих устройств. В частности, серверные узлы 306 и 308 соединены с множеством запоминающих устройств 320а, 320б, 320в, 320г и 320д (которые в совокупности именуют "запоминающими устройствами 320") через сеть СУП (SAN) 330, которая может содержать в себе топологию со структурой Fibre Channel.

Согласно одному из аспектов настоящего изобретения, каждый из клиентских узлов 302 и 304 содержит в себе одну или большее количество программируемых структур данных, выполненных, например, в виде перечня включений и/или исключений, посредством которого определяют, какие запоминающие устройства 320 находятся в пределах области действия каждого соответствующего клиентского узла. Как упомянуто выше, структура данных может быть выполнена в виде перечней включений временного и/или постоянного хранения. Структура данных также может соответствовать пустому перечню включений, посредством которого указывают, что в пределах области действия соответствующего клиентского узла нет никаких запоминающих устройств. Следует понимать, что каждый из серверных узлов 306, 308 также может быть запрограммирован таким образом, чтобы он содержал в себе перечни включений (или исключений) для дополнительного управления доступом к выбранным запоминающим устройствам. В соответствии с настоящим изобретением, может быть осуществлено динамическое маскирование одного или большего количества запоминающих устройств по отношению к каждому узлу 302, 304, 306, 308 путем использования надлежащего интерфейса, посредством которого одно или большее количество запоминающих устройств может быть программным способом добавлено в перечень включений соответствующего узла или удалено из него.

Например, клиентский узел 302 имеет перечень включений, в котором указаны запоминающие устройства 320а и 320в, а узел 304 имеет пустой перечень включений (например, все устройства, подключенные к шине, исключены из области его действия). Для того, чтобы осуществить доступ к запоминающему устройству 320в из узла 304, запоминающее устройство добавляют в его перечень включений (или удаляют из его перечня исключений). Это может быть осуществлено, например, посредством прикладной программы более высокого уровня или администратором с использованием интерфейса (ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST)) для добавления запоминающего устройства 320в в перечень включений узла 304. Добавление может быть постоянным или временным, в зависимости от того, в какой перечень включений (временного или постоянного хранения) добавляют запоминающее устройство. Подобное видоизменение перечня включений приводит к соответствующему изменению в перечне управления областью действия узла 304. В средство управления АУК (PNP) также подают команду, например, создать объект-устройство для запоминающего устройства (при этом предполагают, что он еще не существует). Объект-устройство связывают через тракт связи с драйвером класса для обеспечения передачи команд управления в запоминающее устройство 320в (например, подают команды считывания или записи в ответ на запросы на ввод-вывод).

Также может потребоваться вывести запоминающее устройство 320в из области действия узла 302 до того, как устройство будет открыто по отношению к другому узлу 304. Таким образом, один из серверных узлов 306 или 308, либо клиентского узла 304, может поддерживать связь с клиентским узлом 302 через сетевую инфраструктуру 310 и выдавать запрос об отказе от монопольного использования запоминающего устройства 320в узлом 302, например, путем программного маскирования доступа к запоминающему устройству из узла 302. Для инициирования маскирования в клиентском узле 302, например, согласно любому из продемонстрированных и описанных здесь вариантов осуществления изобретения, может быть использован интерфейс (ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST)). Поскольку запоминающее устройство 320в является функционально скрытым по отношению к клиентскому узлу 302, то это приводит к уменьшению перегрузок в тракте и к снижению вероятности возможных конфликтов, которые могут произойти при одновременном доступе к устройству из двух или более узлов.

На Фиг.6 показан пример системы 400 на основе сети Интернет, в которой маскирование согласно настоящему изобретению может быть использовано для динамического управления доступом к множеству запоминающих устройств 410а, 410б, 410в, 410г и 410д (в совокупности именуемых "запоминающими устройствами 410") системы 420 совместно используемых запоминающих устройств. Множество Интернет-серверов 430 и 440 оперативно соединены с сетью 450 Интернет. Каждый сервер 430, 440 также содержит в себе соответствующее запоминающее устройство 460, 462, физически связанное с каждым сервером. Например, серверы 430 и 440 соответствуют Интернет-серверам для электронной торговли, посредством которых осуществляют прием заказов и выполняют обработку заранее выбранных аспектов сделок для конкретной области коммерческой деятельности. Другой сервер 470 представляет собой главный сервер, посредством которого осуществляют дополнительную обработку сделок или управление данными (например, извлечение данных), например, на основе данных о сделке, полученных из каждого Интернет-сервера 430, 440. Главный сервер 470 также содержит в себе запоминающее устройство 472, монопольно используемое только сервером. Все серверы 430, 440 и 470 оперативно соединяют с запоминающими устройствами 410 через сеть СУП (SAN) 474 системы 420 совместно используемых запоминающих устройств.

В соответствии с настоящим изобретением каждый сервер 430, 440, 470 может быть запрограммирован таким образом, что содержит в себе структуру данных, например, в виде перечня включений и/или исключений, посредством которого указывают критерии маскирования для каждого соответствующего сервера. Как упомянуто выше, перечень может содержать в себе перечни постоянного и/или временного хранения, посредством которых указывают, должно ли конкретное запоминающее устройство находиться в пределах области действия соответствующего сервера. Согласно одному из аспектов настоящего изобретения, для осуществления динамического маскирования запоминающего устройства по отношению к соответствующему серверу запоминающее устройство 410 может быть программным способом добавлено в структуру данных одного из серверов 430, 440, 470 или удалено из нее.

Например, Интернет-сервер 430 соответствует серверу, предназначенному для приема и обработки заказов, поступающих из сети 450 Интернет, относящихся к первой области коммерческой деятельности через сеть Интернет. Посредством сервера 430 может быть осуществлено сохранение данных о сделках в связанном с ним запоминающем устройстве 460, но для него необходим дополнительный объем памяти накопителя для дальнейшей обработки данных. Система 420 совместно используемых запоминающих устройств обеспечивает достаточный объем памяти запоминающих устройств, например запоминающего устройства 410б, для выполнения прикладных программ, требующих обработки большого объема данных. Для обеспечения доступа к запоминающему устройству 410б сервер программным способом вводит запоминающее устройство в область действия сервера 430.

Согласно настоящему изобретению, для добавления запоминающего устройства 410б в выбранный перечень включений (например, временного или постоянного хранения) сервера 430, например, администратором или прикладной программой высокого уровня может быть использован интерфейс ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST). Вносят изменения в перечень управления областью действия сервера 430 в соответствии с изменениями перечня включений временного хранения. Кроме того, приводят в действие собственный интерфейс или средство управления АУК (PNP) для введения запоминающего устройства 410б в область действия сервера 430, например, согласно одному из приведенных в качестве примера вариантов осуществления изобретения, проиллюстрированных и описанных применительно к Фиг.2А - Фиг.2В. В то время, когда запоминающее устройство 410б находится в области действия Интернет-сервера 430, сервер может использовать запоминающее устройство для обработки и сохранения информации о сделках, как и любое другое устройство, принадлежащее серверу. После того, как обработка закончена, сервер 430 может отказаться от монопольного использования запоминающего устройства 410б, например, посредством использования интерфейса (ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST)) для удаления запоминающего устройства из своего перечня включений временного хранения.

Поскольку в предыдущем примере доступ к запоминающему устройству 410б осуществляют с конкретной целью, а именно для обработки и передачи данных в другую вычислительную машину, то запоминающее устройство может быть добавлено в перечень включений временного хранения. Следовательно, если во время обработки произойдет аварийный отказ сервера 430 или связанного с ним контроллера, то запоминающие устройства, содержащиеся в его перечне включений временного хранения, не останутся в пределах области действия сервера 430. Вместо этого, для продолжения обработки информации о сделках сервер должен повторно согласовать возможность монопольного использования им этих запоминающих устройств.

Сервер 430 (или его пользователь) также может обмениваться информацией с главным сервером 470 (или с его пользователем) через линию 480 связи, для передачи уведомления о том, что им прекращен доступ к запоминающему устройству 410б и о том, что главный сервер 470 может осуществлять монопольное использование запоминающего устройства 410б, например, путем добавления запоминающего устройства в свой перечень включений. Инициирование интерфейса ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST) в главном сервере 470, посредством которого запоминающее устройство 410б добавляют в перечень включений главного сервера, может быть осуществлено посредством программируемых команд, сопровождающих обмен информацией. Следует осознавать, что для передачи информации об Интернет-сервере 430 и данных, подаваемых в запоминающее устройство 410б, может быть использован любой режим связи, в том числе, ручной или автоматизированный способ, с передачей по проводам или беспроводной передачи и т.д. После того как посредством главного сервера 470 осуществлено программное введение запоминающего устройства 410б в область его действия, он может осуществлять обработку и сохранение данных в дополнительном запоминающем устройстве 472, монопольно используемым только им самим, сохранение данных в запоминающем устройстве 410б, или же им может быть осуществлена передача данных в иное запоминающее устройство 410 после согласования возможности его монопольного использования. Сервер 440 может осуществлять обмен информацией с главным сервером 470 через линию связи 482 для передачи информации о состоянии сервера 440 и передачи информации о состоянии и/или команд, относящихся к связанным с ним запоминающим устройствам 410.

Предпочтительно, большие объемы данных могут быть созданы посредством отдельных вычислительных машин 430 и 440 Интернет-сервера и переданы в запоминающие устройства 410 системы 420 совместно используемых запоминающих устройств для их обработки посредством главного сервера 470. Например, главный сервер 470 может быть использован в качестве файлового сервера для всей системы 400. Кроме того, эта методология может быть использована для эффективного создания резервных копий выбранных данных, причем эти данные могут быть сохранены в удаленных запоминающих устройствах 410 с учетом технических ограничений, присущих сети СУП (SAN). Например, Fibre Channel позволяет располагать запоминающие устройства и главные компьютеры, которые могут осуществлять доступ к этим устройствам, на расстоянии, по меньшей мере, до 10 километров друг от друга.

Фиг.7 и последующее описание предназначены для пояснения различных аспектов изобретения, и в них приведено краткое общее описание целесообразной вычислительной среды, в которой могут быть реализованы различные особенности настоящего изобретения. Несмотря на то, что приведенное выше общее описание изобретения было изложено применительно к выполняемым посредством компьютера командам компьютерной программы, которую выполняют на главном компьютере или в узле при различных конфигурациях системы, специалистам в данной области техники понятно, что изобретение также может быть осуществлено в совокупности с другими программными модулями. В общем случае, программные модули содержат в себе подпрограммы, программы, компоненты, структуры данных и т.д. посредством которых выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалистам в данной области техники понятно, что предложенные в изобретении способы могут быть реализованы на практике посредством компьютерных систем, имеющих иные конфигурации, в том числе, посредством однопроцессорных или многопроцессорных компьютерных систем, мини-ЭВМ, больших универсальных компьютеров, а также персональных компьютеров, карманных вычислительных устройств, микропроцессорных или программируемых бытовых электронных устройств и т.п., каждое из которых может быть оперативно соединено с одним или с большим количеством соответствующих устройств. Продемонстрированные аспекты изобретения могут быть также реализованы в распределенных вычислительных средах, в которых некоторые задачи выполняют посредством удаленных устройств обработки, связь между которыми осуществляют через сеть связи. Однако некоторые или даже все аспекты изобретения могут быть реализованы на автономных компьютерах, например, при осуществлении оперативной связи множества процессоров с множеством совместно используемых запоминающих устройств (например, для сегментированного запоминающего устройства на дисках). В распределенной вычислительной среде программные модули могут находиться как в локальных, так и в удаленных запоминающих устройствах. Однако следует осознавать, что маскирование согласно настоящему изобретению осуществляют на нижнем уровне (например, в стеках драйверов) в пределах каждого компьютера или узла, посредством чего обеспечивают описанные здесь возможности маскирования.

Со ссылкой на Фиг.7, приведенный в качестве примера вариант системы 500, в котором реализуют различные аспекты изобретения, включает в себя обычный серверный компьютер 502, содержащий в себе процессор 504, системную память 506 и системную шину 508, посредством которой соединяют различные компоненты системы, в том числе системную память, с процессором 504. Процессор 504 может представлять собой любой из различных серийно выпускаемых процессоров, в том числе "Интел х86" (Intel x86), "Пентиум" (Pentium) и совместимые с ними микропроцессоры, выпускаемые фирмой "Интел" и другими фирмами, в том числе фирмами "Сайрикс" (Cyrix), "АМД" (AMD) и "Нексген" (Nexgen); процессоры "Альфа" (Alpha), выпускаемые фирмой "Диджитэл" (Digital); процессоры MIPS, выпускаемые фирмой "ЭмАйПиЭс Текнолоджи" (MIPS Technology), процессоры фирм "NEC", "IDT", "Сименс" (Siemens) и других; а также процессоры "Пауэр ПиСи" (PowerPC), выпускаемые фирмой "АйБиЭм" (IBM) и фирмой "Моторола" (Motorola), но эти примеры не являются ограничивающими. В качестве процессора 504 также могут быть использованы конфигурации с двумя микропроцессорами и иные многопроцессорные конфигурации.

Системная шина 508 может представлять собой любую из нескольких типов шин, имеющих различную структуру, в том числе шину запоминающего устройства или контроллер запоминающего устройства, шину периферийных устройств, либо локальную шину с использованием любой из множества обычных конфигураций шин, например, локальной шины соединения периферийных устройств (PCI), локальной видеошины стандарта VESA (Ассоциации по стандартам в области видеоэлектроники), микроканальной шины (MicroChannel), шины стандартов ISA (стандартная архитектура для промышленного применения) и EISA (расширенная стандартная архитектура для промышленного применения), а также многих других. Память системы 500 содержит в себе постоянное запоминающее устройство (ПЗУ) 510 и оперативное запоминающее устройство (ОЗУ) 512. Базовую систему ввода-вывода (BIOS), содержащую в себе основные подпрограммы, которые способствуют осуществлению передачи информации между компонентами серверного компьютера 502, например, при первоначальном запуске, сохраняют в ПЗУ 510.

Серверный компьютер 502 дополнительно содержит в себе накопитель 514 на жестких дисках, накопитель 516 на магнитных дисках, посредством которого осуществляют, например, считывание со съемного диска 518 или запись на него, и накопитель 520 на оптических дисках, посредством которого осуществляют, например, считывание с диска 522 постоянного запоминающего устройства на компакт-диске (ПЗУ-КД) (CD-ROM) или же считывание/запись на другие оптические носители. Накопитель 514 на жестких дисках, накопитель 516 на магнитных дисках и накопитель 520 на оптических дисках соединены с системной шиной 508 через соответственно интерфейс 524 накопителя на жестких дисках, интерфейс 526 накопителя на магнитных дисках и интерфейс 528 накопителя на оптических дисках. Накопители и соответствующие им носители, считываемые посредством компьютера, обеспечивают энергонезависимое хранение данных, структур данных, исполняемых компьютерных команд и т.д. для серверного компьютера 502. Несмотря на то, что приведенное выше описание считываемых посредством компьютера носителей относится к накопителю на жестких дисках, сменному магнитному диску и компакт-диску (КД) (CD), специалисты в данной области техники должны понимать, что в приведенной в качестве примера операционной среде также могут быть использованы и другие типы носителей, считаемых посредством компьютера, например, кассеты с магнитной пленкой, платы флэш-памяти, цифровые видеодиски, картриджи Бернулли и т.п., а также, что любые подобные носители могут содержать в себе исполняемые посредством компьютера команды, посредством которых осуществляют способы из настоящего изобретения. Кроме того, полагают, что серверный компьютер осуществляет "монопольное владение" каждым из устройств 514-522, которые образуют собой часть серверного компьютера 502. Однако, следует осознавать, что в альтернативном варианте эти устройства могут быть расположены удаленно по отношению к серверному компьютеру 502 и может быть осуществлено их совместное использование с одним или большим количеством других компьютеров, причем как серверный компьютер, так и другие компьютеры программируют таким образом, чтобы было использовано маскирование согласно настоящему изобретению.

Запоминание некоторого количества программных модулей, в том числе операционной системы 530, одной или большего количества прикладных программ 532, других программных модулей 534 и данных 536 программы, может быть осуществлено в накопителях и в ОЗУ 512. В продемонстрированном компьютере в качестве операционной системы 530 используют, например, операционную систему для сервера "Microsoft Windows 2000" фирмы "Майкрософт", хотя следует понимать, что настоящее изобретение может быть реализовано с использованием других операционных систем или совокупностей операционных систем.

Пользователь может осуществлять ввод команд и информации в серверный компьютер 502 посредством клавиатуры 538 и координатно-указательного устройства, например, манипулятора 540 типа "мышь". Также могут быть использованы и другие устройства ввода данных (на чертеже не показаны), в том числе микрофон, ручка управления курсором (джойстик), игровая клавишная панель, спутниковая антенна, сканирующее устройство, и т.п. Эти и другие устройства ввода данных часто соединяют с процессором 504 через интерфейс 542 последовательного порта, соединенный с системной шиной 508, но они могут быть подключены и к другим интерфейсам, например к параллельному порту, игровому порту или к универсальной последовательной шине (УПШ) (USB). К системной шине 508 через интерфейс, например через видеоадаптер 546, также подключают монитор 544 или другой тип устройства визуального отображения. Помимо монитора компьютер обычно содержит в себе и другие периферийные устройства вывода (не показаны), например громкоговорители, принтеры и т.д.

Серверный компьютер 502 также может быть оперативно соединен с системой 550 совместно используемых запоминающих устройств, например, через сеть СУП (SAN) 552. Серверный компьютер 502 соединяют с сетью СУП (SAN) 552, например, через интерфейс запоминающего устройства или адаптер 554. Сеть СУП (SAN) обозначена пунктирной линией, чтобы показать то, что она является необязательной, поскольку серверный компьютер 502 может быть напрямую соединен с системой 550 совместно используемых запоминающих устройств через соответствующий адаптер запоминающего устройства.

Серверный компьютер 502 может функционировать в сетевом окружении с использованием логических соединений с одним или с большим количеством удаленных компьютеров, например с удаленным клиентским компьютером или узлом 560. Удаленный компьютер 560 может представлять собой рабочую станцию, серверный компьютер, маршрутизатор, равноправное устройство или другой общий узел сети и обычно содержит в себе большое количество или все из компонент, описание которых было приведено применительно к серверному компьютеру 502, хотя из соображений краткости на Фиг.7 изображено только запоминающее устройство (ЗУ) 562 для хранения данных. Кроме того, удаленный компьютер 560 может быть запрограммирован таким образом, чтобы в нем было использовано маскирование согласно настоящему изобретению в отношении одного или большего количество оперативно связываемых с ним устройств, в том числе части серверного компьютера 502 или системы 550 совместно используемых запоминающих устройств, подключенных к серверному компьютеру через сеть СУП (SAN) 552. Логические соединения, изображенные на Фиг.7, включают в себя локальную сеть (ЛС) 564 и глобальную сеть (ГС) 566. Такие типы сетевого окружения являются обычными в офисных сетях, в компьютерных сетях масштаба предприятия, во внутрикорпоративных сетях на основе технологии сети Интернет (интрасетях) и в сети Интернет.

При использовании в сетевом окружении локальной сети (ЛС) серверный компьютер 502 соединяют с локальной сетью 564 через сетевой интерфейс или адаптер 568. При использовании в сетевом окружении глобальной сети серверный компьютер 502 обычно содержит в себе модем 570 или же его соединяют с сервером связи локальной сети, либо он имеет иное средство установления связи через глобальную сеть (ГС) 566, например, через сеть Интернет. Модем 570, который может являться внутренним или внешним, соединен с системной шиной 508 через интерфейс 542 последовательного порта. При наличии сетевого окружения сохранение программных модулей, изображенных относящимися к серверному компьютеру 502, или их частей может быть осуществлено в удаленном запоминающем устройстве (ЗУ) 562 для хранения данных и/или в совместно используемом запоминающем устройстве 550. Понятно, что показанные сетевые соединения приведены лишь в качестве примера, и может быть использовано другое средство создания канала связи между компьютерами.

Описание настоящего изобретение было приведено со ссылкой на действия и символические представления операций, выполняемых компьютером, например серверным компьютером 502 или удаленным компьютером 560, если не указано иное толкование, что соответствует правилам, которые являются общепринятыми для специалистов в области техники программирования. Такие действия и операции иногда именуют как исполняемые посредством компьютера. Понятно, что действия и символически представленные операции содержат в себе выполняемые процессором 504 операции преобразования электрических сигналов, посредством которых отображают информационные биты, в результате чего осуществляют преобразование или обработку их отображения в виде электрического сигнала, и операции сохранения информационных битов в ячейках памяти системы памяти (в том числе в системной памяти 506, в накопителе 514 на жестких дисках, на гибких дисках 518, в постоянном запоминающем устройстве 522 на компакт-дисках (ПЗУ-КД) (CD-ROM) и в системе 550 совместно используемых запоминающих устройств), путем выполнения которых осуществляют изменение конфигурации или иное изменение режима работы компьютерной системы, а также другие операции обработки сигналов. Ячейки памяти, в которых сохраняют эти информационные биты, представляют собой физические ячейки памяти, которые имеют конкретные электрические, магнитные, или оптические характеристики, соответствующие информационным битам.

C учетом приведенных выше примеров операционной среды и примеров компоновки системы, методология маскирования согласно настоящему изобретению станет более понятной при ее пояснении со ссылкой на схемы последовательности операций, изображенные на Фиг.8 - Фиг.9В. Описание методологии, приведенной в качестве примера и показанной на каждом из этих чертежей, изложено применительно к системе, компоновка которой аналогична изображенной на Фиг.3. В краткой формулировке каждое целевое устройство имеет соответствующий ему шинный адрес (что эквивалентно узлу Fibre Channel), причем каждое целевое устройство дополнительно содержит в себе одно или большее количество логических устройств (ЛУ) (LU). Каждое ЛУ создает интерфейс для соответствующего аспекта связанного с ним устройства, например, для части (например, для сегмента или диска) целевого устройства. Каждое ЛУ имеет соответствующий номер логического устройства (НЛУ) или другие идентификационные параметры для идентификации логического устройства из соответствующего целевого устройства. В этом примере предполагают, что узел запрограммирован таким образом, что содержит в себе перечень включений постоянного хранения, который может быть запомнен в системном реестре. В перечне включений постоянного хранения указано то, какие устройства должны находиться в пределах области действия узла в исходном состоянии. Для краткости в приведенном ниже описании описана методология маскирования, в которой используют только перечни включений, хотя в альтернативном варианте или в качестве дополнительного варианта согласно настоящему изобретению могут быть реализованы перечни исключений. Следует осознавать, что согласно настоящему изобретению каждый узел может быть запрограммирован таким образом, чтобы в нем была реализована методология, показанная на Фиг.8 - Фиг.9В.

Со ссылкой на Фиг.8, на нем показана методология установления исходных критериев маскирования для узла по отношению к каждому из множества целевых устройств, оперативно соединенных с узлом. Способ начинают с операции 700, при которой осуществляют инициализацию системы или узла, например, на начальной загрузке системы. Непосредственно перед начальной загрузкой в пределах области действия узла не находится никаких устройств. В способе переходят к выполнению операции 710, при которой осуществляют загрузку перечня включений постоянного хранения из запоминающего устройства. Затем при выполнении операции 720 определяют перечень управления областью действия исходя из перечня включений постоянного хранения. В способе осуществляют переход от операции 720 к операции 724, при которой из узла осуществляют доступ к следующей шине, связанной с узлом, которая в этом случае является первой шиной. Затем при выполнении этого способа создают запрос в отношении каждого целевого устройства, оперативно соединенного с шиной.

При выполнении операции 730 узел получает или осуществляет загрузку адреса следующего целевого устройства, связанного с опрашиваемой шиной. Затем создают запрос в отношении целевого устройства (операция 740), оперативно соединенного с узлом. В частности, команду запроса, для которой может быть использован протокол команд ИМКС (SCSI), направляют в нулевое логическое устройство текущего целевого устройства опрашиваемой шины. Каждое целевое устройство содержит в себе, по меньшей мере, нулевое логическое устройство, которое может реагировать на основные команды, например, на запрос об остальных ЛУ, связанных с целевым устройством. Затем при выполнении операции 750 осуществляют передачу команд "сообщить НЛУ" в нулевое логическое устройство текущего целевого устройства текущей опрашиваемой шины. В ответ на это нулевое логическое устройство предоставляет перечень всех ЛУ, связанных с этим целевым устройством. В том случае, если в ответ на запрос, переданный при операции 750, сообщение, в котором указаны ЛУ, по какой-либо причине не предоставлено, то узел может осуществить поиск всех потенциально возможных НЛУ, которые могут быть связаны с целевым устройством. Затем в способе переходят к операции 760, при которой в узле номер первого логического устройства помещают в кэш-память для выполнения дополнительных запросов в отношении логических устройств (ЛУ) соответствующего целевого устройства.

При операции 770 осуществляют передачу общего запроса в отношении ЛУ, помещенного в кэш-память, которое связано с текущим целевым устройством. Этот запрос, например, может включать в себя запрос на получение информации о типе или конфигурации устройства, отображенного посредством ЛУ (например, каким устройством оно является). Затем при выполнении операции 780 посылают другой запрос на получение идентификационных параметров или данных, соответствующих устройству, отображенному посредством ЛУ, например, его серийного номера. После сбора информации, достаточной для идентификации устройства, способ может быть продолжен путем выполнения операции 790.

При операции 790 определяют, находится ли опознанное ЛУ в пределах области действия (структуры данных) узла. В этом примере, согласно операции 720, область действия определяют по устройствам, указанным в перечне включений постоянного хранения. В том случае, если ЛУ не находится в пределах области действия узла, то в способе переходят к выполнению операции 800, при которой ЛУ целевого устройства добавляют в окружение, например, путем сохранения его идентификационных параметров во всеобщем перечне. Логическое значение флага, соответствующего устройству, не находящемуся в пределах области действия, может быть установлено как ЛОЖНОЕ (например, видимое=ЛОЖНОЕ (visible=FALSE)), но это не является обязательным. Поскольку в этом примере состоянием, заданным по умолчанию, является состояние ЛОЖНЫЙ, то операция установки значения флага в явном виде не требуется.

Однако в том случае, если при выполнении операции 790 опознанное ЛУ находится в пределах области действия узла, в способе переходят к выполнению операции 810, при которой устанавливают логическое значение флага как ИСТИННОЕ (например, видимое=ИСТИННОЕ (visible=TRUE)). После операции 810 в способе переходят к выполнению операции 820, при которой создают соответствующий объект-устройство. Создание объекта-устройства может быть осуществлено с использованием, например, собственного интерфейса или средства управления АУК (PNP). Объект-устройство оперативно связано с текущим ЛУ текущего целевого устройства. Поскольку для устройства создан объект-устройство, то при операции 840 идентификационные данные, соответствующие устройству, добавляют также и в перечень приписанных объектов (см. Фиг.2А - Фиг.2В). Затем в способе переходят к выполнению операции 800, при которой идентификационные параметры устройства добавляют также и во всеобщий перечень. Затем в способе переходят к выполнению операции 850.

На этапе 850 определяют, содержит ли в себе текущее целевое устройство какие-либо дополнительные ЛУ, в отношении которых могут быть выполнены запросы. В том случае, если дополнительное ЛУ существует, то в способе переходят к выполнению операции 860, при которой в кэш-память помещают следующий НЛУ. Затем в способе возвращаются к выполнению операции 770 и повторяют вышеуказанные операции для следующего НЛУ. Если же при операции 850 определяют, что никакого дополнительного ЛУ не существует (например, была осуществлена обработка всех НЛУ текущего целевого устройства), то в способе переходят к выполнению операции 870. При операции 870 определяют, существуют ли какие-либо дополнительные целевые устройства, связанные с опрашиваемой шиной. Если результат этой операции определения является положительным, что свидетельствует о наличии дополнительных целевых устройств, подключенных к шине, то в способе возвращаются к выполнению операции 730, при которой узел получает адрес следующего целевого устройства, подключенного к текущей шине. Затем способ повторяют для каждого ЛУ целевого устройства.

В том случае, если результат, полученный при операции 870 определения, является отрицательным, что свидетельствует об отсутствии каких-либо дополнительных целевых устройств, связанных с шиной, в способе переходят к выполнению операции 880. При операции 880 определяют, существуют ли какие-либо дополнительные шины, оперативно связанные с узлом. В том случае, если какая-либо шина еще не была опрошена и обработана, в способе возвращаются к выполнению операции 724, при которой осуществляют опрос следующей шины, к которой получен доступ, согласно описанному выше способу. В том случае, если результат, полученный при операции 880 определения, является отрицательным, а это свидетельствует о том, что была осуществлена обработка всех шин, соединенных с узлом, в способе переходят к выполнению операции 884. При операции 884 осуществляют загрузку объекта-устройства более высокого уровня, соответствующего драйверу класса для каждого объекта-устройства, и его оперативную связь с каждым соответствующим объектом-устройством, созданным при выполнении операции 820. Это может быть реализовано, например, путем передачи в средство управления АУК (PNP) сообщения о результатах опроса шины (например, в том числе, о том, маскирование каких устройств следует выполнить). Средство управление АУК (PNP), в свою очередь, выдает команды в драйверы устройств верхнего уровня на выполнение их привязки к соответствующим новым объектам-устройствам, которые должны быть выбраны таким образом, чтобы они находились в пределах области действия узла. После выполнения операции 884 способ заканчивают операцией 890. Путем реализации такой методологии получают, что перечень включений постоянного хранения определяет, действительно ли каждое устройство находится в пределах исходной области действия узла. Остальные устройства находятся вне пределов области действия узла и, следовательно, являются функционально скрытыми по отношению к узлу. Однако все оперативно присоединяемые устройства содержатся во всеобщем перечне. Следует понимать, что также может быть использован и перечень исключений, в этом случае устройства, указанные в перечне, находятся вне области действия узла, а все остальные устройства находятся в пределах действия узла.

На Фиг.9А - 9В изображены схемы последовательности операций, на которых показаны примеры методологии программного изменения критериев маскирования, соответствующих узлу. Эти операции могут быть выполнены в ответ на использование интерфейса ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST), например, раскрытого при описании Фиг.2А - Фиг.2В. Со ссылкой на Фиг.9А, способ начинают с выполнения операции 950, при которой активируют интерфейс, например, описанный здесь интерфейс ЗАДАТЬ_ПЕРЕЧЕНЬ_ВКЛЮЧЕНИЙ (SET_INCLUSION_LIST). Этот интерфейс может представлять собой, например, команду ИМКС (SCSI), такую как команда управления вводом-выводом. Надлежащие данные о конфигурации создают при использовании интерфейса для опознавания устройства, которое маскируют по отношению к узлу, а также при выполнении изменений в перечне постоянного и/или временного хранения. Как упомянуто выше, этот интерфейс может быть активирован вручную, например системным администратором, или инициирован некоторой операцией, выполняемой, например, прикладной программой высокого уровня или интеллектуальным исполнительным средством (агентом).

После операции 950 в способе переходят к выполнению операции 960, при которой осуществляют модификацию соответствующего перечня включений (временного и/или постоянного хранения) исходя из полученных параметров интерфейса. Затем при операции 970 осуществляют сохранение нового перечня включений в соответствующем запоминающем устройстве, в том числе изменений, выполненных при операции 960. Например, если изменения внесены в перечень включений постоянного хранения, то сохранение исправленного перечня осуществляют в надлежащем энергонезависимом запоминающем устройстве, например в системном реестре. Изменения, внесенные в перечень включений временного хранения, сохраняют, например, в энергозависимом запоминающем устройстве, в котором данные сохраняются до тех пор, пока система находится в рабочем состоянии или функционирует контроллер. Затем в способе переходят к выполнению этапа 980, на котором обновляют перечень управления областью действия для того, чтобы он соответствовал изменениям, внесенным в перечень включений. Следует понимать, что перечень управления областью действия может содержать в себе объекты, соответствующие перечням временного или постоянного хранения, либо может содержать в себе рабочие копии обоих перечней, сохраненных в энергозависимом запоминающем устройстве. После выполнения операции 980 в способе переходят к операции 990, при которой осуществляют маскирование одного или большего количества устройств в ответ на исправления, внесенные в перечень управления областью действия. На Фиг.9Б и Фиг.9В представлены два возможных варианта осуществления методологии маскирования (операции 990).

На Фиг.9Б приведено описание методологии маскирования, которая в общих чертах соответствует чертежу Фиг.2б и его сопровождающему описанию. Поскольку маскирование может соответствовать либо открытию, либо скрытию выбранного устройства по отношению к узлу, первой операцией 1000, выполняемой после операции 990 инициализации способа маскирования, является операция определения того, должно ли устройство находиться в пределах области действия узла. Ее выполняют, например, исходя из того, является ли модифицированный перечень перечнем включений (в котором указаны устройства, которые должны находиться в пределах области действия узла) или перечнем исключений (в котором указаны устройства, которые должны быть исключены из области действия узла). Результат определения также зависит от того, были ли внесены исправления в перечень путем введения в него дополнительного устройства или удаления существующего устройства. При условии, что данные маскирования свидетельствуют о том, что устройство должно быть введено в область действия узла, в способе переходят к выполнению операции 1010.

При операции 1010 в узле для устройства создают объект-устройство изложенным выше способом. Затем при выполнении операции 1020 устанавливают логическое значение флага, соответствующего объекту-устройству, как ИСТИННОЕ (например, видимое=ИСТИННОЕ (visible=TRUE)). Затем в способе переходят к выполнению операции 1030, при которой в перечень приписанных объектов вносят исправления таким образом, чтобы он содержал в себе идентификационные данные устройства, соответствующего только что созданному объекту-устройству (при операции 1010). После выполнения операции 1030 в способе переходят к операции 1050, при которой определяют, следует ли осуществлять маскирование еще каких-либо дополнительных устройств. Если результат этой операции определения является положительным, что свидетельствует о наличии дополнительных устройств, маскирование которых необходимо осуществить, то в способе переходят к выполнению операции 1060, при которой получают данные о ЛУ и/или другие идентификационные данные для следующего устройства, маскирование которого необходимо осуществить. После выполнения операции 1060 в способе возвращаются к операции 1000.

В том случае, если при выполнении операции 1000 данные маскирования указывают на то, что устройство должно быть исключено из области действия узла, в способе переходят к выполнению операции 1070. При операции 1070 удаляют объект-устройство, соответствующий устройству, для которого выполняют маскирование. Это может быть осуществлено, например, посредством собственного интерфейса или средства управления АУК (PNP), воздействующего на удаление объекта-устройства. Затем при выполнении операции 1080 может быть установлено логическое значение флага, соответствующего объекту-устройству, как ЛОЖНОЕ (например, видимое=ЛОЖЬ (visible=FALSE)). Затем в способе переходят к выполнению операции 1090, при которой объект-устройство удаляют из перечня приписанных объектов. В результате, устройство оказывается функционально скрытым по отношению к узлу. Затем в способе переходят к выполнению операции 1050, при которой определяют, необходимо ли еще какое-либо дополнительное маскирование. Если же результат операции 1050 определение является отрицательным, то в способе переходят к выполнению операции 1100, при которой осуществляют загрузку драйвера класса и его оперативную связь с каждым соответствующим объектом-устройством, который должен находиться в пределах области действия узла. Как указано выше, это может быть осуществлено, например, в ответ на поступающие из средства управления АУК (PNP) в драйверы верхнего уровня команды на выполнение их привязки к надлежащим объектам-устройствам, например, по состоянию флага ВИДИМОЕ (VISIBLE). После загрузки драйвера класса и установления его связи с объектом-устройством устройство попадает в пределы области действия узла. После выполнения операции 1100 способ маскирования заканчивают операцией 1110.

На Фиг.9В показана другая методология маскирования, которая может быть реализована согласно настоящему изобретению. Эта особенность маскирования в общих чертах соответствует тому способу, который был проиллюстрирован и описан применительно к Фиг.2В. Способ начинают с операции 990, выполняемой в ответ на инициирование заранее заданного способа маскирования. Затем в способе переходят к выполнению операции 1200, при которой определяют, свидетельствуют ли данные маскирования о том, что устройство, для которого выполняют процедуру маскирования, должно находиться в пределах области действия узла. Если в результате анализа обнаруживают, что устройство должно находиться в пределах области действия узла, то в способе переходят к выполнению операции 1210.

При операции 1210 определяют, является ли устройство, которое вводят в область действия узла, новым устройством (не входящим в состав всеобщего перечня). Эта операция определения может быть выполнена путем проверки содержащегося в узле всеобщего перечня, посредством которого указывают данные, соответствующие устройству, или путем проверки перечня приписанных объектов. Следует помнить, что согласно этому аспекту настоящего изобретения связь между объектом-устройством и соответствующим ему драйвером класса является разорванной или заблокированной, а объект-устройство оставляют даже в том случае, когда устройство не находится в пределах области действия узла. Следовательно, объект-устройство создают для каждого устройства, указанного во всеобщем перечне. Если результат, полученный при операции 1210 определения, является положительным, а это свидетельствует о том, что устройство является вновь добавленным устройством, то в способе переходят к выполнению операции 1220.

Операции 1220-1250 являются, по существу, идентичными операциям 1010-1040 из Фиг.8Б. В краткой формулировке, при операции 1220 в узле для устройства создают объект-устройство, например, с использованием АУК (PNP) или собственного интерфейса. Затем в способе переходят к выполнению операции 1230, при которой устанавливают логическое значение флага, соответствующего объекту-устройству, как ИСТИННОЕ (например, видимое=ИСТИННОЕ (visible=TRUE)). Затем, при выполнении операции 1240 вносят исправления в перечень приписанных объектов таким образом, чтобы он содержал в себе идентификационные данные добавляемого устройства. После операции 1240 в способе переходят к выполнению операции 1260, при которой определяют, следует ли осуществлять маскирование еще каких-либо дополнительных устройств. В том случае, если необходимо осуществлять маскирование дополнительных устройств, в способе переходят к выполнению операции 1270, при которой осуществляют загрузку данных о следующем ЛУ или других идентификационных данных, соответствующих устройству.

В том случае, если результат, полученный при предшествующей операции 1210, является отрицательным, а это свидетельствует о том, что устройство, вводимое в область действия узла, не является новым устройством, которое добавляют в систему, в способе переходят к выполнению операции 1280. При операции 1280 обнаруживают существующий объект-устройство, связанный с устройством, и устанавливают логическое значение состояния соответствующего флага как ИСТИННОЕ (например, видимое=ИСТИННОЕ (visible=TRUE)). Затем в способе переходят к выполнению операции 1290, при которой объект-устройство связывают с соответствующим драйвером класса. Этот функциональный аспект связывания объекта-устройства с соответствующим драйвером класса может быть реализован с использованием средства управления АУК (PNP) или собственного интерфейса путем выдачи в драйвер класса верхнего уровня надлежащих команд на его привязку к соответствующему объекту-устройству. После операции 1290 в способе переходят к выполнению операции 1260, при которой определяют, следует ли осуществлять маскирование еще каких-либо дополнительных устройств.

В том случае, если в результате предшествующей операции 1200 определено, что данные маскирования свидетельствуют о необходимости удаления устройства из области действия узла, в способе переходят к выполнению операции 1300. При операции 1300 устанавливают логическое значение флага, соответствующего объекту-устройству, как ЛОЖНОЕ (например, видимое=ЛОЖНОЕ (visible=FALSE)). Затем в способе переходят к выполнению операции 1310, при которой разъединяют связь между объектом-устройством и соответствующим ему драйвером класса. Удаление может быть, например, выполнено посредством запроса на удаление, выданного соответствующим интерфейсом или средством управления АУК (PNP). В результате разъединения связи устройство фактически удаляют из области действия узла, при этом доступ к устройству посредством контроллера узла оказывается заблокированным. Могут быть выполнены дополнительные операции перекрытия любых трактов связи, идущих непосредственно в драйвер класса, посредством чего обеспечивают блокирование тракта связи между узлом и устройством. После операции 1310 в способе переходят к выполнению операции 1260, при которой, как указано выше, определяют, следует ли осуществлять маскирование еще каких-либо дополнительных устройств в соответствии с методологией из Фиг.9В. В том случае, если дополнительное маскирование не требуется, в способе переходят к выполнению операции 1320, при которой осуществляют загрузку драйвера класса и его оперативное связывание с каждым соответствующим объектом-устройством, находящимся в пределах области действия узла (например, в соответствии с флагом видимое=ИСТИННОЕ (visible=TRUE)). После операции 1320 в способе переходят к выполнению операции 1330, при которой способ заканчивают.

Несмотря на то, что методологии из Фиг.9Б и Фиг.9В были описаны как отдельные способы маскирования, следует понимать, что заданный узел может быть запрограммирован и/или сконфигурирован таким образом, чтобы в нем были реализованы оба типа маскирования, поскольку один тип маскирования может оказаться более предпочтительным, чем другой. Кроме того, совместно с программным маскированием также может быть использовано и описанное здесь аппаратное маскирование НЛУ, например, в среде сети СУП (SAN), оперативно соединенной с одним или с большим количеством узлов. Программный способ маскирования НЛУ согласно настоящему изобретению позволяет осуществлять в заданном узле эффективное и динамическое маскирование доступа к одному или к большему количеству связанных с ним устройств даже там, где невозможно использовать аппаратные средства. Кроме того, программный способ маскирования позволяет осуществлять изменения конфигурации в узле в динамическом режиме без перезагрузки. В результате, многочисленные взаимосвязанные главные компьютеры могут программным способом обмениваться запоминающими устройствами или другими совместно используемыми устройствами.

Выше было приведено описание настоящего изобретения посредством примеров. Конечно же, невозможно описать каждую мыслимую совокупность компонент или методологий для пояснения настоящего изобретения, но обычному специалисту в данной области техники понятно, что возможны многие дополнительные комбинации и перестановки элементов настоящего изобретения. Соответственно, в настоящем изобретении подразумевают, что оно охватывает собой все подобные изменения, модификации и варианты, которые находятся в пределах сущности и объема патентных притязаний, определяемых формулой изобретения.

ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ

Это изобретение может быть использовано в промышленных целях в области вычислительной техники.

Похожие патенты RU2265882C2

название год авторы номер документа
НАСТРОЙКА СРЕДСТВ ОГРАНИЧЕНИЯ ДОСТУПА И УВЕДОМЛЕНИЕ О НИХ 2003
  • Мэтью Эшвин Дж.
  • Бейлинсон Крэйг А.
  • Эванс Кристофер А.
  • Фрэверт Гарри Дж. В.
  • Сафа Ахмад Х.
  • Хонг Линда И.
  • Тэн Виктор
  • Эбботт Лорел С.
RU2326439C2
ДЕКЛАРАТИВНАЯ ПОСЛЕДОВАТЕЛЬНАЯ ПАРАМЕТРИЗАЦИЯ ОТЧЕТОВ 2004
  • Велкер Брайан Ли
  • Хэйс Кристофер Алан
RU2340937C2
СХЕМА ОБНОВЛЕНИЯ СОЕДИНЕНИЙ С СЕТЕВЫМ ПЕЧАТАЮЩИМ УСТРОЙСТВОМ ДЛЯ КЛИЕНТОВ ПЕЧАТАЮЩЕГО УСТРОЙСТВА 2004
  • Кайрели Стивен
  • Фенелон Майкл П.
  • Рот Тейли
RU2357283C2
УПРАВЛЕНИЕ РЕГИСТРАЦИЕЙ И ДОСТУПОМ ПРИ РАЗВЕРТЫВАНИЯХ ФЕМТОСОТ 2009
  • Дешпанде Манодж М.
  • Пика Франческо
  • Хорн Гэйвин Б.
  • Чэнь Джен Мэй
  • Сонг Осок
  • Агаше Параг Арун
RU2486704C2
УПРАВЛЕНИЕ РЕГИСТРАЦИЕЙ И ДОСТУПОМ ПРИ РАЗВЕРТЫВАНИЯХ ФЕМТОСОТ 2009
  • Дешпанде Манодж М.
  • Пика Франческо
  • Хорн Гэйвин Б.
  • Чэнь Джен Мэй
  • Сонг Осок
  • Агаше Параг Арун
RU2547242C2
АВТОМАТИЧЕСКОЕ ОБНАРУЖЕНИЕ И КОНФИГУРИРОВАНИЕ ВНЕШНИХ СЕТЕВЫХ УСТРОЙСТВ 2004
  • Брубэчер Дуглас Кейт
  • Гок Хусейн Гокмен
RU2340939C2
КОНФИГУРИРОВАНИЕ ТОЧКИ ДОСТУПА ФЕМТОСОТЫ 2008
  • Гупта Раджарши
  • Улупинар Фатих
  • Хорн Гэйвин Б.
  • Агаше Параг А.
  • Агравал Авниш
  • Кхандекар Аамод Д.
  • Тиннакорнсрисупхап Пирапол
  • Паланки Рави
  • Пракаш Раджат
RU2467479C2
УСТРОЙСТВА, СПОСОБЫ И СИСТЕМЫ ОБЕСПЕЧЕНИЯ ДИНАМИЧЕСКОЙ КНОПКИ ОФОРМЛЕНИЯ ЗАКАЗА 2015
  • Гириш Апарна Кришнан
RU2666301C2
СПОСОБ И СИСТЕМА ОФОРМЛЕНИЯ ГРУППОВОЙ ПОЕЗДКИ ПОЛЬЗОВАТЕЛЕЙ БЕЗ ДОСТУПА К ПЕРСОНАЛЬНЫМ ДАННЫМ 2021
  • Хрупов Дмитрий Михайлович
  • Храпов Дмитрий Павлович
RU2766062C1
МОБИЛЬНЫЙ ВИДЕОПОИСК 2013
  • Мэй Тао
  • Ли Шипэн
  • Лю У
RU2647696C2

Иллюстрации к изобретению RU 2 265 882 C2

Реферат патента 2005 года ПРОГРАММНОЕ МАСКИРОВАНИЕ ЗАПОМИНАЮЩИХ УСТРОЙСТВ

Изобретение относится к системам и способу программного управления доступом между одним или более узлов и множеством связанных с ними устройств. Техническим результатом является возможность одновременной передачи кадров в обоих направлениях со скоростью, превышающей 1 Гбит в секунду, на расстоянии свыше 10 км. Система управления доступом к запоминающим устройствам содержит систему совместно используемых запоминающих устройств и узел, запрограммированный для идентифицирования каждого запоминающего устройства и маскирования доступа из узла, по меньшей мере, к одному из запоминающих устройств. Система управления доступом к множеству запоминающих устройств в системе запоминающих устройств содержит узел, запрограммированный для определения, должно ли для каждого из множества запоминающих устройств быть выполнено его маскирование по отношению к узлу, и интерфейс для выборочной модификации программируемой структуры данных. Способ описывает работу системы управления доступом к множеству совместно используемых запоминающих устройств множеством компьютеров. 6 н. и 38 з.п. ф-лы, 13 ил.

Формула изобретения RU 2 265 882 C2

1. Система, которая управляет доступом к запоминающим устройствам, содержащая систему совместно используемых запоминающих устройств, которая включает в себя множество запоминающих устройств, узел, оперативно соединенный с системой совместно используемых запоминающих устройств, причем узел запрограммирован таким образом, чтобы он мог идентифицировать каждое запоминающее устройство, оперативно соединенное с узлом, и маскировать доступ из узла, по меньшей мере, к одному из запоминающих устройств.2. Система по п.1, в которой узел дополнительно включает в себя программируемую структуру данных, которая указывает, должны ли запоминающие устройства из системы совместно используемых запоминающих устройств находиться в области действия узла, причем маскирование доступа к запоминающим устройствам из узла осуществляют на основании программируемой структуры данных.3. Система по п.2, в которой программируемая структура данных включает в себя, по меньшей мере, часть, которая соответствует программируемым данным постоянного хранения.4. Система по п.3, в которой программируемая структура данных дополнительно включает в себя другую часть, соответствующую программируемым данным временного хранения.5. Система по п.2, в которой узел дополнительно запрограммирован таким образом, что выполняет, по меньшей мере, одну из операций создания и удаления в узле программируемого средства связи, которое обеспечивает канал связи между узлом и запоминающим устройством, на основании программируемой структуры данных.6. Система по п.5, в которой программируемое средство связи включает в себя объект-устройство, связанный с узлом и с соответствующим запоминающим устройством, причем приписывание объекта-устройства осуществляют на основании программируемой структуры данных.7. Система по п.5, в которой программируемое средство связи включает в себя программируемое соединение, которое обеспечивает тракт связи между объектом-устройством, которое идентифицирует одно из запоминающих устройств и которое оперативно связано с узлом, и объектом-устройством более высокого уровня, которое оперативно связано с одним из запоминающих устройств и управляет его поведением, причем осуществляют маскирование тракта связи в соответствии с программируемой структурой данных.8. Система по п.1, в которой узел дополнительно включает в себя, по меньшей мере, одну из следующих структур: программируемую структуру данных временного хранения и программируемую структуру данных постоянного хранения, которые идентифицируют критерии маскирования для узла.9. Система по п.1, в которой система совместно используемых запоминающих устройств дополнительно включает в себя сеть устройств памяти, оперативно соединяющую узел с множеством запоминающих устройств.10. Система, которая облегчает управление доступом к устройствам аппаратного обеспечения компьютера, содержащая множество устройств аппаратного обеспечения компьютера и, по меньшей мере, одну шину, соединяющую каждое из множества устройств аппаратного обеспечения компьютера c каждым из множества узлов, в которой каждый из множества узлов запрограммирован таким образом, чтобы идентифицировать каждое из множества устройств аппаратного обеспечения компьютера, причем каждый из множества узлов имеет программируемую структуру данных и запрограммирован для маскирования доступа из узла к, по меньшей мере, одному из множества устройств аппаратного обеспечения компьютера в соответствии с программируемой структурой данных.11. Система по п.10, в которой программируемая структура данных соответствующего узла идентифицирует, должно ли каждое из множества устройств аппаратного обеспечения компьютера находиться в области действия соответствующего узла, причем соответствующий узел маскирует доступ к устройствам на основании связанной с ним программируемой структуры данных.12. Система по п.11, в которой программируемая структура данных соответствующего узла включает в себя программируемые данные постоянного хранения, идентифицирующие, по меньшей мере, одно устройство аппаратного обеспечения компьютера, для которого должно быть выполнено маскирование по отношению к соответствующему узлу.13. Система по п.11, в которой программируемая структура данных соответствующего узла включает в себя программируемые данные временного хранения, идентифицирующие, по меньшей мере, одно устройство аппаратного обеспечения компьютера, подлежащее маскированию по отношению к соответствующему узлу.14. Система по п.11, в которой программируемая структура данных соответствующего узла включает в себя программируемые данные постоянного хранения и программируемые данные временного хранения, идентифицирующие устройства аппаратного обеспечения компьютера, подлежащие маскированию по отношению к соответствующему узлу.15. Система по п.11, в которой каждый из множества из узлов дополнительно запрограммирован таким образом, что выполняет, по меньшей мере, одну из операций добавления и удаления в соответствующем узле программируемого средства связи на основании программируемой структуры данных, причем программируемое средство связи обеспечивает канал связи между соответствующим узлом и одним из множества устройств аппаратного обеспечения компьютера.16. Система по п.15, в которой программируемое средство связи включает в себя объект-устройство аппаратного обеспечения компьютера, связанный с соответствующим узлом и с соответствующим одним из множества устройств аппаратного обеспечения компьютера, причем приписывание объекта-устройства осуществляют на основании программируемой структуры данных.17. Система по п.15, в которой программируемое средство связи включает в себя программируемый тракт связи между объектом-устройством аппаратного обеспечения компьютера, оперативно связанным с соответствующим узлом, и объектом-устройством аппаратного обеспечения компьютера более высокого уровня, оперативно связанным с одним из множества устройств аппаратного обеспечения компьютера, причем маскирование тракта связи осуществляют в соответствии с программируемой структурой данных соответствующего узла. 18. Система по п.10, в которой узел дополнительно включает в себя, по меньшей мере, одну из следующих структур данных: программируемую структуру данных временного хранения и программируемую структуру данных постоянного хранения, которые задают критерии маскирования для узла.19. Система по п.10, в которой, по меньшей мере, некоторые из множества устройств представляют собой запоминающие устройства системы совместно используемых запоминающих устройств, оперативно соединенные с узлом через сеть устройств памяти.20. Система управления доступом к множеству запоминающих устройств в системе совместно используемых запоминающих устройств, содержащая узел, оперативно соединяемый с множеством запоминающих устройств, причем узел имеет программируемую структуру данных, указывающую, должно ли для каждого из множества запоминающих устройств быть выполнено его маскирование по отношению к узлу, и интерфейс для выборочной модификации программируемой структуры данных в ответ на программную команду осуществить маскирование доступа из узла, по меньшей мере, к одному из множества запоминающих устройств.21. Система по п.20, в которой программируемая структура данных узла включает в себя программируемые данные постоянного хранения, идентифицирующие, по меньшей мере, одно из множества запоминающих устройств, подлежащих маскированию по отношению к узлу.22. Система по п.20, в которой программируемая структура данных узла включает в себя программируемые данные временного хранения, идентифицирующие, по меньшей мере, одно из множества запоминающих устройств, для которого должно быть выполнено маскирование по отношению к узлу.23. Система по п.20, в которой программируемая структура данных узла включает в себя программируемые данные постоянного хранения и программируемые данные временного хранения, идентифицирующие запоминающие устройства, для которых должно быть выполнено маскирование по отношению к узлу.24. Система по п.20, в которой узел дополнительно запрограммирован таким образом, что выполняет, по меньшей мере, одну из операций добавления и удаления программируемого средства связи, которое обеспечивает канал связи между узлом и соответствующим запоминающим устройством в ответ на изменения в программируемой структуре данных.25. Система по п.24, в которой программируемое средство связи включает в себя объект-устройство, который идентифицирует соответствующее запоминающее устройство и который связан с узлом и с соответствующим запоминающим устройством, причем приписывание объекта-устройства осуществляют на основании программируемой структуры данных.26. Система по п.24, в которой программируемое средство связи включает в себя программируемый тракт связи между объектом-устройством, который идентифицирует соответствующее запоминающее устройство и который оперативно связан с узлом, и объектом более высокого уровня, который оперативно связан с соответствующим запоминающим устройством и управляет его поведением, причем тракт связи изменяется в зависимости от программируемой структуры данных.27. Считываемый компьютером носитель информации, содержащий исполняемые компьютерные команды для управления доступом к запоминающим устройствам посредством выполнения следующих операций: идентифицируют запоминающие устройства, оперативно подключенные к узлу, осуществляют маскирование доступа из узла, по меньшей мере, к одному программно выбранному запоминающему устройству.28. Считываемый компьютером носитель информации, содержащий исполняемые компьютерные команды для управления доступом к запоминающим устройствам посредством выполнения следующих операций: идентифицируют запоминающие устройства, оперативно подключенные к узлу, в узле создают программируемую структуру данных, указывающую выбранные запоминающие устройства, и осуществляют маскирование доступа из узла, по меньшей мере, к одному программно выбранному запоминающему устройству на основании программируемой структуры данных.29. Считываемый компьютером носитель информации по п.28, содержащий дополнительные исполняемые компьютерные команды для выполнения этапа сохранения в постоянном запоминающем устройстве узла данных, которые указывают, по меньшей мере, одно из множества запоминающих устройств, для которого должно быть выполнено маскирование по отношению к узлу.30. Считываемый компьютером носитель информации по п.29, содержащий дополнительные исполняемые компьютерные команды для выполнения этапа сохранения во временном запоминающем устройстве узла данных, которые указывают, по меньшей мере, одно из множества запоминающих устройств, для которого должно быть выполнено маскирование по отношению к узлу.31. Считываемый компьютером носитель информации по п.30, содержащий дополнительные исполняемые компьютерные команды для выполнения этапа определения программируемой структуры данных на основании данных, сохраненных, по меньшей мере, в одном из запоминающих устройств: в постоянном запоминающем устройстве или во временном запоминающем устройстве.32. Считываемый компьютером носитель информации по п.28, содержащий дополнительные исполняемые компьютерные команды для выполнения этапов сохранения в постоянном запоминающем устройстве узла данных, идентифицирующих, по меньшей мере, одно из множества запоминающих устройств, маскирование которого должно быть выполнено по отношению к узлу, и определения программируемой структуры данных на основании данных, сохраненных в постоянном запоминающем устройстве.33. Считываемый компьютером носитель информации по п.28, содержащий дополнительные исполняемые компьютерные команды, посредством которых в ответ на изменения в программируемой структуре данных выполняют этап добавления или удаления программируемого средства связи между узлом и соответствующим одним из запоминающих устройств.34. Считываемый компьютером носитель информации по п.33, в котором программируемое средство связи включает в себя объект-устройство, который идентифицирует соответствующее одно из множества запоминающих устройств и который связан с узлом и соответствующим одним из множества запоминающих устройств, причем считываемый посредством компьютера носитель информации содержит дополнительные исполняемые компьютерные команды, для выполнения этапа приписки объекта-устройства на основании программируемой структуры данных.35. Считываемый компьютером носитель информации по п.28, в котором программируемое средство связи включает в себя программируемый тракт связи между объектом-устройством, который идентифицирует одно из множества запоминающих устройств и который оперативно связан с узлом, и объектом-устройством более высокого уровня, который оперативно связан с одним из запоминающих устройств и управляет им, причем считываемый посредством компьютера носитель информации содержит дополнительные исполняемые компьютерные команды, посредством которых в ответ на изменения, внесенные в программируемую структуру данных, выполняют этап добавления или удаления тракта связи.36. Способ управления доступом к множеству совместно используемых запоминающих устройств множеством компьютеров, содержащий следующие этапы:

осуществляют программную идентифицикацию множества запоминающих устройств,

осуществляют программное маскирование доступа посредством, по меньшей мере, одного из множества компьютеров, по меньшей мере, к одному из множества запоминающих устройств.

37. Способ по п.36, дополнительно включающий в себя этап сохранения по меньшей мере, в одном компьютере программируемой структуры данных, указывающей критерии маскирования, определяющие, следует ли выполнять маскирование запоминающего устройства по отношению к, по меньшей мере, одному компьютеру, причем этап программируемого маскирования выполняют на основании программируемой структуры данных.38. Способ по п. 37, дополнительно включающий в себя этап сохранения в постоянном запоминающем устройстве, по меньшей мере, одного компьютера данных, указывающих, по меньшей мере, одно из множества запоминающих устройств, маскирование которого следует осуществить по отношению, по меньшей мере, к одному компьютеру.39. Способ по п. 38, дополнительно включающий в себя этап сохранения во временном запоминающем устройстве, по меньшей мере, одного компьютера, данных, идентифицирующих, по меньшей мере, одно из множества запоминающих устройств, маскирование которого следует осуществить по отношению, по меньшей мере, к одному компьютеру.40. Способ по п. 39, дополнительно включающий в себя этап определения программируемой структуры данных на основании данных, сохраненных, по меньшей мере, в одном из запоминающих устройств: в постоянном запоминающем устройстве или во временном запоминающем устройстве.41. Способ по п. 37, дополнительно включающий в себя этапы: сохранения по меньшей мере, в одном компьютере, по меньшей мере, одного из типов данных: данных постоянного хранения и данных временного хранения, идентифицирующих, по меньшей мере, одно из множества запоминающих устройств, маскирование которых следует выполнить по отношению, по меньшей мере, к одному компьютеру, и определения программируемой структуры данных на основании, по меньшей мере, одного из типов данных: данных постоянного хранения и данных временного хранения.42. Способ по п. 37, дополнительно включающий в себя этап добавления или удаления программируемого средства связи, по меньшей мере, в одном компьютере, посредством которого обеспечивают канал связи между, по меньшей мере, одним компьютером и соответствующим запоминающим устройством в ответ на изменения, внесенные в программируемую структуру данных.43. Способ по п. 42, в котором программируемое средство связи включает в себя объект-устройство, связанный, по меньшей мере, с одним компьютером и соответствующим одним из множества запоминающих устройств, при этом объект-устройство описывает по меньшей мере одно из местоположения и операционных характеристик одного из запоминающих устройств, причем способ дополнительно включает в себя этап приписки объекта-устройства, по меньшей мере, в одном компьютере на основании программируемой структуры данных.44. Способ по п. 42, в котором программируемое средство связи содержит в себе программируемый тракт связи между объектом-устройством, который идентифицирует одно из запоминающих устройств и который оперативно связан, по меньшей мере, с одним компьютером и объектом-устройством более высокого уровня, который управляет поведением одного из запоминающих устройств и оперативно связан с упомянутым одним из запоминающих устройств, причем способ дополнительно включает в себя этап добавления или удаления тракта связи, в ответ на изменения, внесенные в программируемую структуру данных.

Документы, цитированные в отчете о поиске Патент 2005 года RU2265882C2

Устройство для учета количества пассажиров 1980
  • Галанский Ренат Валеевич
SU858036A1

RU 2 265 882 C2

Авторы

Вейлэнд Питер

Даты

2005-12-10Публикация

2001-02-02Подача