СХЕМА ОБНОВЛЕНИЯ СОЕДИНЕНИЙ С СЕТЕВЫМ ПЕЧАТАЮЩИМ УСТРОЙСТВОМ ДЛЯ КЛИЕНТОВ ПЕЧАТАЮЩЕГО УСТРОЙСТВА
SCHEME FOR REFRESHING CONNECTION WITH NETWORK PRINTING DEVICE FOR CLIENTS OF PRINTER DEVICE

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение в целом относится к объединенным в сеть, или сетевым, вычислительным системам. Более конкретно настоящее изобретение относится к способам и средствам вычислительной системы для администрирования/настройки клиентов сервера печати в сетевой среде.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
Одним распространенным и экономичным способом использования печатающих устройств, или принтеров, в рамках предприятия, включающего в себя множество отдельных пользователей/компьютеров, связанных вместе по сети, является совместное использование, или разделение, сетевых принтеров между множеством отдельных пользователей/компьютеров. В таких случаях пользователи подают свои запросы на печать, осуществляемую конкретным принтером, в особую очередь заданий на печать, поддерживаемую сервером печати, который также соединен с сетью. Особую очередь заданий на печать идентифицируют для клиентов печати в виде соединения с принтером. Соединение с принтером задает операционный маршрут между клиентом и предназначенным сетевым принтером, на котором в конечном счете осуществляют вывод данных для запроса на печать. Запрос на печать форматируют и посылают в очередь заданий на печать в соответствии с драйвером сетевого принтера.
Одной задачей, с которой сталкиваются администраторы сети, является предоставление возможности сетевым клиентам осуществлять печать на новых принтерах, как только принтеры стали доступными в сети. Другой задачей, с которой сталкиваются администраторы сети, является поддержание для каждого из клиентов сетевого принтера новейших по времени соединений с принтерами. Это влечет за собой добавление новых соединений тогда, когда новый принтер становится доступным, и удаление соединений тогда, когда принтер более не является доступным. Администраторы столкнулись с высокими затратами на непроизводительные издержки при добавлении новых принтеров в сеть или новых серверов, которые принимают и выполняют запросы на печать для сетевых принтеров.
Администраторы выполняют задачу поддержания таких соединений с принтерами посредством изменения вручную сетевых соединений на каждом компьютере в сети тогда, когда для конкретного компьютера происходит изменение в наборе соединений с принтером. Обычно такие изменения осуществляет администратор или помощники администратора физическим подходом к каждому из компьютеров клиента печати и вводом изменений в каталог, предназначенный для принтеров. Для случаев больших сетей обновление соединений с принтерами может расходовать значительное время. Кроме того, до тех пор, пока обновляют соединения с сетевым принтером, принтер, соответствующий данному соединению с принтером, не может быть использован «еще не обновленными» пользователями. Это может вести к длительным промежуткам времени прежде, чем новое соединение с принтером смогут использовать зарегистрированные пользователи через сетевые компьютеры.
Администраторы потенциально избегают вышеупомянутых задержек обновления, посылая по электронной почте инструкции пользователям. Если пользователи способны находить и изменять надлежащие элементы на своих компьютерах, то администраторы могут экономить некоторое время и усилие. Однако существует возможность, если не вероятность, что некоторые пользователи будут не понимать инструкции, игнорировать электронную почту или не будут выполнять инструкции правильно. В таком случае администратор обращается к средству персонального инструктирования конкретных пользователей или обращается к средству вышеупомянутого персонального обновления вручную соответствующих соединений сетевого принтера для нарушающих нормальную работу клиентов.
Альтернативой вышеупомянутым ручным способам является задание соединений с принтерами в сценариях регистрации, или «входа в сеть». При «входе в сеть» клиентов (пользователей/машин) принтера сложные сценарии регистрации, задающие набор соединений с принтером для индивидуального пользователя или группы пользователей, назначают соединения с принтером для клиентов. В таком случае сложные сценарии регистрации, исполняемые, когда пользователь регистрируется в сети, задают для каждого из задействованных клиентов. В качестве реакции на изменения соединений с принтером (или серверами печати) сценарии регистрации клиента должны быть полностью изменены. Такой способ, хотя и достигает некоторой степени автоматизации, не гарантирует, что пользователи, зарегистрированные в настоящее время, получат соединения с новым принтером. Кроме того, программирование сценариев регистрации не является простой задачей. В том случае когда сценарии регистрации используют для обозначения соединений с принтером, администратор жестко программирует СУИ/совместно используемое (UNC/Share) имя принтера в сценарии регистрации, и синтаксический анализ, необходимый при осуществлении добавления/удаления соединений, является основанным на имени. При изменении имени сервера или принтера сценарии регистрации редактируют, чтобы соответствовать новому имени(ам). Затем измененные соединения выполняют в некоторый неопределенный момент времени в будущем, когда означенный пользователь регистрируется в сети.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Архитектура обновления/поддержания соединения с принтером, раскрытая в настоящем документе, обращена на решение задачи, определяемой отсутствием в полном смысле дружественного администратору, надежного средства обновления/поддержания соединения с принтером для гарантирования того, что пользователи и/или машины имеют обновленные соединения с принтером в сетевой среде, содержащей сетевые принтеры и серверы печати.
В вариантах осуществления настоящего изобретения в состав клиентской вычислительной системы включают среду управления соединением с принтером, выполненную в виде компьютерных команд и структур данных. На клиентской вычислительной системе среда управления соединением с принтером обновляет соединения с принтером согласно описаниям конфигурации, применяемым к вошедшим в сеть пользователям или к элементу-компьютеру, на котором функционирует среда.
Более конкретно настоящее изобретение направлено на способ для обновления соединений с принтером, осуществляемого клиентской машиной, в вычислительной сети, содержащей принтеры, каталог, включающий в себя перечень сетевых элементов и описания конфигурации, включающие в себя конфигурируемые параметры, назначаемые сетевым элементам. В подобной среде, в которой один из конфигурируемых параметров описаний конфигурации содержит соединения с некоторыми заданными принтерами в вычислительной сети, способ содержит этап, на котором клиентская машина запрашивает обновление информации, поддерживаемой в описании конфигурации, назначенном для первого сетевого элемента, в каталоге, с которым ассоциирована клиентская машина. Клиентская машина принимает уведомление об изменении в наборе соединений с принтером описания конфигурации, назначенного для первого сетевого элемента. После этого изменение в наборе соединений с принтером включают в состав подсистемы принтера клиентской машины.
Подобным образом, в соответствии с другой особенностью настоящего изобретения, среда администрирования соединений с принтером включена в состав сетевой клиентской машины. Среда поддерживает соединения с принтером в вычислительной сети, содержащей принтеры, каталог, содержащий перечень сетевых элементов и описаний конфигурации, назначаемых для сетевых элементов, при этом описания конфигурации потенциально включают в себя соединения с принтером. Среда администрирования соединений с принтером содержит расширение соединения с принтером. Расширение соединения с принтером является программным модулем, включающим в себя команды для обработки вызова обновления соединения с принтером, которое соответствует по меньшей мере первому описанию конфигурации на сервере службы каталогов и назначено для первого сетевого элемента, с которым ассоциирована клиентская машина. Соединение с принтером также включает в себя выполняемые компьютером команды для подачи запроса обновления к подсистеме принтера на клиентской машине, уведомляя подсистему принтера на клиентской машине об изменениях в соединениях с принтером в соответствии с обновлением соединения с принтером.
В соответствии с другими особенностями настоящего изобретения, вышеупомянутая среда включена в состав вычислительной сети, которая включает в себя машину сервера каталогов. Машина сервера каталогов поддерживает текущий набор описаний конфигурации и связей с сетевыми элементами, к которым применяются конкретные описания конфигурации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В нижеследующей формуле изобретения детально сформулированы признаки настоящего изобретения. Вместе с тем, изобретение и его преимущества дополнительно пояснены в последующем подробном описании, иллюстрируемом чертежами, на которых:
Фиг.1 - схема иллюстративной вычислительной системы для выполнения варианта осуществления настоящего изобретения;
Фиг.2 - высокоуровневая принципиальная схема приведенной для примера сетевой среды, в которой может использоваться настоящее изобретение;
Фиг.3 - схема, иллюстративно изображающая серверные и клиентские компоненты варианта осуществления настоящего изобретения;
Фиг.4 - набор компонентов приведенного для примера описания соединения с принтером;
Фиг.5 - набор компонентов иллюстративной схемы для задания соединения с принтером в описании конфигурации;
Фиг.6 - блок-схема последовательности этапов, выполняемых для изменения соединения с принтером на клиентах, согласующихся с централизованным источником конфигурации;
Фиг.7 - иллюстративный интерфейс консоли управления принтером, обеспечивающий выбор принтера, для которого указано соединение с принтером;
Фиг.8 - иллюстративный интерфейс в виде диалогового окна, обеспечивающий указание соединений с принтером для конкретных описаний конфигурации;
Фиг.9 - иллюстративный интерфейс просмотра ресурсов, запускаемый из диалога, изображенного на Фиг.8;
Фиг.10 - иллюстративный интерфейс консоли управления, показывающий перечень помещаемых в очередь заданий на печать (соединений с принтером) и ассоциированные с ними объекты групповой стратегии (ОГС);
Фиг.11 - иллюстративный интерфейс для редактирования групповой стратегии, усовершенствованный для отображения помещаемых в очередь соединений с принтером для конкретного ОГС; и
Фиг.12 - иллюстративный диалог, который запускается при выборе администратором пункта «Добавить/Удалить Принтер» интерфейса более высокого уровня.
ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение осуществлено, в качестве примера, в рамках такой сетевой среды вычислительной системы, которая включает в себя клиенты принтеров, серверы принтеров, принтеры и каталог/хранилище сетевых ресурсов и информации о структуре групп клиентов. Каталог сетевых ресурсов/конфигураций поддерживает сетевой каталог, обеспечивающий структурированный перечень сетевых элементов (пользователей, машин и групп перечисленного). Каталог сетевых ресурсов/конфигураций также включает в себя информацию, относящуюся к ресурсам/конфигурациям, ассоциированным с сетевыми элементами, представленными в перечне. В конкретном варианте осуществления сетевые элементы представлены/структурированы в виде набора контейнеров каталога (например, сайтов, доменов и организационных единиц). Поддерживаемые отдельно описания конфигураций ассоциированы с одним или с большим количеством контейнеров каталога. Такие ассоциации задают посредством обслуживающей программы (утилиты) сетевого администрирования.
В вышеупомянутой сетевой среде, включающей в себя каталог сетевых ресурсов, администратор задает изменения в соединениях с принтером, применимые к пользователям и/или машинам в сети, через изменения в описаниях конфигурации, поддерживаемых посредством каталога сетевых ресурсов. Такие изменения в соединении с принтером включают в себя добавление и удаление соединений с принтером. Соединения с принтером применимы к пользователям, машинам и/или группам либо пользователей, либо машин.
После того как изменения в соединениях с принтером введены в описания конфигурации в каталоге сетевых ресурсов, изменения распространяют в течение управляемой событиями операции обновления информации конфигурации к клиентам (пользователям и/или машинам), попадающим в объем контейнеров каталога, ассоциированных с измененными описаниями конфигурации. В варианте осуществления настоящего изобретения дополнительные способы обработки на клиентских машинах, специально приспособленные для поиска и обновления соединений с принтером, периодически запрашивают/получают обновленные соединения с принтером на основании изменений, введенных в соответствующие описания конфигурации в каталоге сетевых ресурсов. Кроме того, чтобы избежать ожидания выполнения цикла обновления для получения перечня соединений с принтером, применимых для конкретного пользователя, соединения с принтером также запрашивают из каталога сетевых ресурсов/конфигураций при регистрации пользователя на клиентской машине. Клиенты включают обновления соединений с принтером в состав своих подсистем принтера. Подсистемы принтера применяют изменения соединений с принтером к машине и соответствующим зарегистрированным пользователям.
В конкретном осуществлении настоящего изобретения функциональная возможность обновления соединения с принтером клиента действует совместно с автоматизированным механизмом обновления драйвера принтера. Автоматизированный механизм обновления драйвера принтера определяет, существует ли на клиентской машине драйвер, соответствующий конкретному принтеру, ассоциированному с соединением с новым принтером. Новый драйвер локализуется и загружается на клиентскую машину в том случае, когда клиентская машина не имеет надлежащего драйвера для идентифицированного принтера.
Записи соединения с принтером, сохраняемые в описаниях конфигурации, поддерживаемых структурой службы каталогов сетевых ресурсов/конфигураций, в иллюстративном варианте осуществления включают в себя ряд полей. Иллюстративные записи соединений с принтером включают в себя имя, назначенное соединению, имя принтера, имя сервера печати и свойства, описывающие тип соединения (например, «машинное» соединение, «пользовательское» соединение, соединение для «совместный печати» (совместно используемые серверы печати) и т.д.). Если соединения с принтером сохраняются на клиенте принтера, то исходное описание конфигурации также идентифицируется, чтобы облегчить последующие обновления соединений с принтером на основании изменений в соответствующих описаниях конфигурации, поддерживаемых каталогом сетевых ресурсов/конфигураций (например, удаления предварительно заданных соединений с принтером из описания конфигурации). Имена и функции для полей «соединения с принтером» различаются в различных вариантах осуществления настоящего изобретения.
На Фиг.1 иллюстративно изображен пример соответствующей операционной среды 100 для осуществления функциональности схемы обновления соединения с сетевым принтером, относящейся к клиенту принтера, в соответствии с настоящим изобретением. Операционная среда 100 является только одним из примеров соответствующей операционной среды и не предусматривает наложения какого-либо ограничения на объем использования или функциональность настоящего изобретения. Другие хорошо известные вычислительные системы, среды и/или структуры, которые могут быть применимы для использования с настоящим изобретением, включают в себя, но не ограничены перечисляемым, персональные компьютеры, серверные компьютеры, портативные/переносные вычислительные устройства, карманные вычислительные устройства, мультипроцессорные системы, системы на основе микропроцессоров, сетевые ПК, миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или устройств, и подобное.
Настоящее изобретение описано в общем контексте множества этапов и способов обработки, осуществляемых посредством выполняемых компьютером команд, таких как программные модули, исполняемые компьютером. Обычно программные модули включают в себя подпрограммы, или процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Хотя иллюстративный вариант осуществления описан со ссылкой на локально исполняемые способы обработки на одиночной вычислительной системе, изобретение потенциально включено в состав узлов сети, функционирующих в распределенных вычислительных средах, в которых задачи выполняют посредством устройств удаленной обработки, которые связаны через сеть передачи данных. В распределенной вычислительной среде программные модули обычно размещены на носителях информации как локального, так и удаленного компьютера, включающих в себя запоминающие устройства для хранения информации.
Возвращаясь к ссылке на Фиг.1, иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в состав, не являясь ограниченными перечисляемым, блок 120 обработки, системное запоминающее устройство 130 и системную шину 121, которая соединяет с блоком 120 обработки различные системные компоненты, включающие в состав системное запоминающее устройство. Системная шина 121 может быть любым типом из нескольких типов шинных структур, включающих в себя шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину и локальную шину, использующую любую из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину Промышленной стандартной архитектуры (ПСА, ISA), шину Микроканальной архитектуры (МКА, МСА), шину Расширенной ПСА (РПСА, EISA), локальную шину Ассоциации по стандартам видеооборудования (АСВО, VESA) и шину Межсоединения периферийных компонентов (МПК, PCI), также известную как мезонинная шина.
Компьютер 110 обычно включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми имеющимися носителями, к которым может осуществлять доступ компьютер 110 и которые включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. В качестве примера, а не ограничения, считываемые компьютером носители могут содержать носители для запоминающего устройства компьютера и носители для передачи данных. Носители для запоминающего устройства включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители, реализованные любым способом или технологией хранения информации, такими как считываемые компьютером команды, структуры данных, программные модули или другие данные. Носители для запоминающего устройства включают в себя, не являясь ограниченными перечисляемым, ОЗУ (RAM), ПЗУ (ROM), ЭСППЗУ (EEPROM), память с групповой перезаписью (флэш-память) или другую технологию для запоминающих устройств, ПЗУ на компакт-диске (CD-ROM), цифровые универсальные диски (ЦУД, DVD) или другое хранилище на оптическом диске, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие запоминающие устройства на магнитных носителях, или любой другой носитель, который может быть использован для хранения требуемой информации и к которому может осуществлять доступ компьютер 110. Носители для передачи данных обычно заключают в себе считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другое транспортное средство, и включают в себя любой носитель для доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого есть одна или более характеристик, устанавливаемых или изменяемых таким образом, чтобы в сигнале закодировать информацию. В качестве примера, а не ограничения, носитель для передачи данных включает в себя проводной носитель, такой как проводная сеть или соединение непосредственно проводами, и беспроводной носитель, такой как акустический, РЧ (RF), инфракрасное излучение и другие беспроводные носители. Комбинации любых из вышеуказанных следует также включать в рамки считываемых компьютером носителей.
Системное запоминающее устройство 130 включает в себя носители для запоминающего устройства компьютера в виде энергозависимого и/или энергонезависимого запоминающего устройства, такого как постоянное запоминающее устройство (ПЗУ, ROM) 131, запоминающее устройство с произвольной выборкой (ОЗУ, RAM) 132. Базовую систему 133 ввода-вывода (БСВВ, BIOS), содержащую базовые процедуры, которые помогают передавать информацию между элементами внутри компьютера 110, как, например, при запуске, обычно хранят в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными для блока обработки 120 и/или обрабатываемыми им в настоящий момент. В качестве примера, а не ограничения, на Фиг.1 проиллюстрирована операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые носители для запоминающего устройства компьютера. Только в качестве примера на Фиг.1 проиллюстрирован накопитель 140 на жестком диске, который осуществляет считывание с несъемных, энергонезависимых магнитных носителей или запись на них, накопитель 151 на магнитном диске, который осуществляет считывание со съемного, энергонезависимого магнитного диска 152 или запись на него, и накопитель 155 на оптическом диске, который осуществляет считывание со съемного, энергонезависимого оптического диска 156 или запись на такой диск, как, например, компакт-диск ПЗУ или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые носители для запоминающего устройства компьютера, которые могут быть использованы в иллюстративной операционной среде, включают в себя, не являясь ограниченными перечисляемым, кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и подобное. Накопитель 141 на жестком диске обычно соединен с системной шиной 121 через интерфейс несъемного запоминающего устройства, такой как интерфейс 140, и накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно соединены с системной шиной 121 посредством интерфейса съемного запоминающего устройства, такого как интерфейс 150.
Накопители и ассоциированные с ними носители запоминающего устройства компьютера, обсуждаемые выше и проиллюстрированные на Фиг.1, обеспечивают хранилище для считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера 110. На Фиг.1, например, накопитель 141 на жестком диске проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Эти компоненты могут быть либо теми же, либо отличными от операционной системы 134, прикладных программ 5, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены другими ссылочными позициями, чтобы проиллюстрировать, что, как минимум, они являются различными копиями. Пользователь может вводить команды и информацию в компьютер 20 через входные устройства, такие как клавиатура 162 и координатно-указательное устройство 161, обычно обозначаемые, как мышь, трекбол или сенсорная клавиатура. Другие входные устройства (не показаны) могут включать в состав микрофон, джойстик, игровую панель, спутниковую антенну, сканер или подобное. Эти и другие входные устройства часто соединены с блоком 120 обработки через пользовательский входной интерфейс 160, который соединен с системной шиной, но может быть соединен посредством другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ, USB). Монитор 191 или другой тип устройства отображения может быть также соединен с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору компьютеры могут также включать в состав другие периферийные выходные устройства, такие как громкоговорители 197 и принтер 196, которые могут быть подсоединены через интерфейс 195 периферийных выходных устройств.
Компьютер 110 потенциально действует в сетевой среде, используя логические соединения с одним или более удаленным компьютером, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим узлом общей сети и обычно включает в состав многие или все элементы, описанные выше относительно компьютера 110, хотя только запоминающее устройство 181 было показано на Фиг.1. Логические соединения, изображенные на Фиг.1, включают в себя локальную вычислительную сеть (ЛВС, LAN) 171 и глобальную вычислительную сеть (ГВС, WAN) 173, но могут также включать в себя другие сети. Такие среды объединения сетей являются обычными в офисах, вычислительных сетях масштаба предприятия, внутрикорпоративных локальных сетях (интранет) и Интернете.
При использовании в сетевой среде ЛВС компьютер 110 подсоединен к ЛВС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГВС компьютер 110 обычно включает в состав модем 172 или другие средства для установления связи по сети ГВС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подсоединен к системной шине 121 через пользовательский входной интерфейс 160 или другое соответствующее средство. В сетевой среде программные модули, изображенные относительно компьютера 110 или его блоков, могут храниться на удаленном запоминающем устройстве хранения информации. В качестве примера, а не ограничения, на Фиг.1 проиллюстрированы удаленные прикладные программы 185 в качестве постоянно хранимых на запоминающем устройстве 181. Ясно, что показанные сетевые соединения являются иллюстративными и могут быть использованы другие средства установления линии связи между компьютерами.
На Фиг.2 изображена иллюстративная сеть, включающая в себя множество сетевых системных элементов, которые участвуют в клиентской конфигурации сетевого принтера и операциях печати в соответствии с иллюстративным вариантом осуществления настоящего изобретения. Иллюстративная среда 200 вычислительной сети включает в себя множество клиентских машин 202 (1-n), которые исполняют прикладные программы от имени зарегистрированных пользователей. Количество клиентских компьютеров (n) обычно составляет от нескольких компьютеров до сотен или даже тысяч. Такая сеть, предположительно, включает в себя связи глобальной вычислительной сети, что открывает сеть для фактически произвольного количества дополнительных клиентских машин. Клиентские машины 202 подают запросы на печать на сервер 204 печати для того, чтобы вывести печатные документы на принтер, соединенный с сетью, такой как принтер 206 или принтер 208, через сетевое соединение 210. Сервер печати 204 в свою очередь передает задания на печать принтеру 206 или принтеру 208 от имени клиентских машин 202. Принтеры 206 и 208 после этого принимают от сервера печати 204 переданные задания на печать, и принтеры 206 и 208 производят вывод печатного документа.
Клиентский компьютер клиентских машин 202 в варианте осуществления настоящего изобретения выдает запросы на печать после первого установления соединения с принтером на сервере печати 204. Обычно соединение с принтером устанавливает идентификацию для направления последующих запросов на печать на сетевой принтер (например, принтер 206) через сервер печати (например, сервер печати 204). В конкретном варианте осуществления изобретения соединение с принтером задает имя для комбинации принтера и сервера печати (или группы серверов печати), который передает запросы на печать принтеру от имени запрашивающих клиентов. Кроме того, в иллюстративном варианте осуществления соединение с принтером соответствует очереди заданий на печать, поддерживаемой на сервере 204 печати для обработки запросов от клиентских машин 202 к конкретному одному из принтеров 206 и 208.
Клиентским машинам 202 также необходим драйвер печати, соответствующий конкретному типу принтера, которому клиентские машины 202 подают запросы на печать. Такие драйверы печати преобразуют высокоуровневые, независимые от принтера запросы на печать посредством приложений на клиентских машинах 202 в конкретные для принтера запросы на печать, которые затем пересылают через соединение 210 на сервер печати 204. Сервер печати 204 затем помещает запрос на печать в очередь заданий на печать, соответствующую соединению с принтером, идентифицированному в запросе на печать. Драйверы печати либо устанавливаются вручную на машинах клиента 202, либо загружаются известным образом из источника драйверов принтеров по сети 200 согласно автоматизированному способу инсталляции драйвера принтера.
Варианты осуществления настоящего изобретения включают в себя каталог сетевых ресурсов и средства описания конфигурации, которые дают возможность администратору обозначать/обновлять соединения с принтером для групп пользователей и машин в сети. В качестве примера, компьютер 212 сервера службы каталогов поддерживает структурированный перечень сетевых элементов (пользователей, машин и групп перечисленного). Компьютер 212 сервера службы каталогов также включает в себя описания конфигурации. Описания конфигурации хранят многообразную информацию, которая используется применяемыми клиентскими машинами 202 для установления их операционного состояния. Операционное состояние клиентских машин 202 включает в себя перечень доступных соединений с принтером. В конкретном варианте осуществления сетевые элементы представлены /структурированы в виде набора контейнеров каталога (например, сайтов, доменов и организационных единиц), поддерживаемых компьютером 212 сервера службы каталогов. Взаимосвязь между поддерживаемыми отдельно описаниями конфигурации и одним или большим количеством контейнеров каталога дает возможность сетевому администратору назначать соединения с принтером (определенные внутри описаний конфигурации) для машин и пользователей, представленных в наборе контейнеров каталога. Такие описания конфигурации (включающие в себя соединения с принтером) и взаимосвязи между контейнерами каталога и описаниями конфигурации задают посредством обслуживающих программ сетевого администрирования. Назначения соединения с принтером пересылают на отдельные машины и пользователей с помощью средств обновления конфигурации, описанных в качестве примера ниже.
Поддержание соединений с принтером в компьютере 212 сервера службы каталогов обеспечивает сетевого администратора эффективным и надежным средством для обновления принтеров, доступных для клиентских машин 202 и зарегистрированных пользователей в среде 200 вычислительной сети. Вместо конкретных изменений в сценариях регистрации для конкретных пользователей, посылки электронной почты пользователям или направления помощников на каждую клиентскую машину 202 для обновления перечня соединений с принтером (для введения изменения в сетевые компьютеры) администратор задает изменения соединений с принтером через описания конфигурации (например, объекты групповой стратегии в среде операционной системы WINDOWS 2000), поддерживаемые на компьютере 212 службы каталогов. После этого изменения в соединениях с принтером пересылают на клиентские компьютеры и/или пользователям в сети посредством управляемых событиями операций обновления конфигурации (например, каждые 90 минут), которые пересылают изменения конфигурации на компоненты среды 200 вычислительной сети. В качестве альтернативы и в дополнение к механизму периодической передачи изменений объекта групповой стратегии соединения с принтером обновляют в ответ на событие регистрации индивидуального пользователя. Таким образом, соединения с принтером, заданные в связанных с ними описаниях конфигурации, применяются к конкретному пользователю тогда, когда пользователь осуществляет регистрацию в сети 200 после того, как изменения соединения с принтером были заданы в компьютере 212 сервера службы каталогов.
Настоящее изобретение рассматривает использование многообразия структур хранилищ конфигурации сетевых ресурсов для выполнения функции хранилища изменения соединения с принтером, поддерживаемой вышеописанным компьютером 212 сервера службы каталогов. Иллюстративный вариант осуществления использует описания конфигурации, взаимосвязанные с контейнерами каталога, для обозначения/поддержания соединений с принтером и изменений в соединениях с принтером, осуществляемого с консоли управления сетевого администратора. Однако в других вариантах осуществления настоящего изобретения рассмотрены другие структуры каталога и хранилища конфигураций, обеспечивающие прием и поддержание изменений в соединениях с принтером, заданных сетевым администратором через интерфейс консоли управления сетевыми ресурсами. Кроме того, вместо единственного хранилища в других вариантах осуществления изобретения предусматривается множество экземпляров/типов хранилищ, в которых поддерживаются изменения соединений с принтером для последующего распределения на соответствующие сетевые элементы (например, зарегистрированные пользователи, машины и т.д.).
Вышеописанная среда 200 вычислительной сети является иллюстративной. Специалистам в данной области техники должно быть понятно, что настоящее изобретение, допуская возможность администратору задавать/хранить изменения соединений с принтером в службе каталогов или подобном хранилище описаний конфигураций сетевых ресурсов, может быть включено в состав различных сетей. Таким образом, настоящее изобретение не ограничивается какой-либо конкретной сетевой топологией или средой.
В соответствии с вариантом осуществления настоящего изобретения компоненты сервера 212 службы каталогов и клиентские машины 202 взаимодействуют для распределения/применения действий по соединению с принтером (например, удалять, добавлять и т.д.) для зарегистрированных пользователей и объединенных в сеть машин. На Фиг.3 показан иллюстративный вариант осуществления настоящего изобретения, описанный со ссылкой на компоненты компьютера 212 сервера службы каталогов и одной из иллюстративных клиентских машин 202.
Каталог (дерево) Сетевых Ресурсов
Как упомянуто выше, каталог сетевых ресурсов/конфигураций 300 на компьютере 212 сервера службы каталогов хранит/поддерживает каталог 302, содержащий структурированный перечень сетевых элементов, представленных в виде контейнеров каталога (например, сайтов, доменов и организационных единиц). В варианте осуществления изобретения каталог 302 включает в себя множество единиц структур групповых ресурсов, помещенных, в качестве примера, в одну или более структур иерархического дерева, представляющего группы и подгруппы внутри структуры (административного подразделения). В иллюстративном варианте осуществления каталог 302 включает в себя первое поддерево 304, представляющее группы пользователей, и второе поддерево 306, представляющее машины.
Объекты ОГС (Объект групповой стратегии) (сохранение соединений с принтером)
Каталог сетевых ресурсов/конфигураций 300 также содержит вышеупомянутые описания конфигураций, поддерживаемые в «контейнере» 308 групповых стратегий. Описания конфигурации определяют установочные состояния (стратегии), применяемые к группам клиентских машин 202 и зарегистрированным пользователям в сети 200. В варианте осуществления настоящего изобретения описания конфигурации в контейнере 308 групповой стратегии включают в себя соединения с принтером (а также другие заданные параметры конфигурации). Такие соединения с принтером задают сетевые администраторы. Затем заданные соединения с принтером сохраняют в качестве индивидуальных экземпляров описаний конфигурации в контейнере 308 групповой стратегии. Затем индивидуальные описания конфигурации ассоциируют с одной или более конкретными группами пользователей и/или машин, представленных в каталоге 302. После этого описания конфигурации пересылают соответствующим пользователям и/или клиентским машинам 202.
Объекты групповой стратегии, поддерживаемые в WINDOWS 2000 и более поздних поколениях операционной системы WINDOWS, сетевые администраторы используют для того, чтобы обозначать/задавать варианты выбора для управляемых конфигураций клиентского компьютера, предназначенных для конкретных групп пользователей и/или физических вычислительных машин. В конкретном варианте осуществления настоящего изобретения объекты групповой стратегии (ОГС) сохраняют в контейнере 308 групповых стратегий, и ОГС способны задавать вышеупомянутые соединения с принтером. Таким образом, администратор создает ОГС (например, GP01), используя интегрируемый интерфейс групповой стратегии MICROSOFT MANAGEMENT CONSOLE, и сохраняет GP01 в контейнере групповых стратегий 308. GP01 включает в себя соединения PC1, PC2 и РСЗ с принтером. Иллюстративный формат для соединений с принтером изображен на Фиг.4 и описан ниже. После этого администратор ассоциирует GP01 с конкретными объектами (определяя группы пользователей или машин) из каталога 302. Подобным образом MICROSOFT MANAGEMENT CONSOLE дает возможность администратору редактировать и повторно сохранять ОГС, который был предварительно сохранен в контейнере групповых стратегий 308. Следует отметить, что соединения с принтером (например, PC1, PC2 и РС3) взаимосвязаны с идентификатором типа данных, предназначенного для конфигурации («соединение с принтером»), который способствует идентификации информации при ее распространении пользователям/машинам и обработке ими. Такая идентификация достижима посредством маркировки каждого соединения с принтером или, в качестве альтернативы, посредством группирования множества соединений принтера и маркировки группы. Другие способы идентификации хорошо известны специалистам в данной области техники. Кроме того, компоненты хранилища компьютера 212 сервера службы каталогов потенциально присутствуют во многих сетевых элементах, которые включают в себя обозначенные хранилища заданных соединений с принтером и/или действия над соединениями с принтером (например, удалить, добавить и т.д.).
Каталог сетевых ресурсов/конфигураций 300 в иллюстративном варианте осуществления включает в себя функциональную возможность оптимизации уведомления об изменении объекта групповой стратегии, ограничивающую активизацию клиентских расширений групповой стратегии. В частности, серверная программа 310 групповой стратегии, исполняемая на сервере 212, записывает идентификацию, соответствующую конкретному типу данных описания конфигурации (например, соединения с принтером), при изменении конкретного объекта групповой стратегии (например, GP01). Эта идентификация ассоциируется с конкретным клиентским расширением групповой стратегии (например, расширение для принтера), которое активизируется на клиентской машине 202а. В варианте осуществления настоящего изобретения идентификации типов измененных данных организованы согласно объекту групповой стратегии. Таким образом, для каждого объекта групповой стратегии в контейнере 308 групповой стратегии, который содержит необработанные изменения, поддерживается соответствующий перечень типов измененных данных в наборе перечней 312. В конкретном варианте осуществления настоящего изобретения набор перечней 312 содержит глобально уникальные идентификаторы, соответствующие конкретным клиентским расширениям. Таким образом, клиентское расширение не требует активизации, если только клиентская программа управления групповой стратегией сначала не определит, что клиентское расширение идентифицировано записью в наборе перечней 312.
Клиентские Компоненты
Управляемые событиями процессы обработки на клиентских машинах 202 запрашивают обновления соединения с принтером, относящиеся к конкретным клиентским машинам 202 и зарегистрированным на них пользователям, из каталога сетевых ресурсов/конфигураций 300. Клиентские машины 202 также включают в себя процессы обработки для изменений в соединениях с принтером на основании ответной информации об обновленном соединении с принтером, извлекаемой из конкретных описаний конфигурации (взаимосвязанных с конкретными клиентскими машинами) в контейнерах 308 групповых стратегий.
Уведомление и распространение обновлений соединения принтера посредством каталога сетевых ресурсов/конфигураций 300 на клиентские машины 202 в сети 200 происходят любым из множества способов. В варианте осуществлении настоящего изобретения клиентские машины 202, побуждаемые периодическим датчиком 316 времени (имеющим, например, изменяемый администратором интервал времени), периодически опрашивают каталог сетевых ресурсов/конфигураций 300 об изменениях и извлекают данные о соединении с принтером, заданные в объектах ОГС, взаимосвязанных с записями в каталоге 302. В качестве альтернативы, или в дополнение к средству опроса, изменения соединений принтера ставятся в очередь заданий на печать посредством каталога сетевых ресурсов/конфигураций 300 для клиентских машин 202. Еще одно средство/способ запуска обновления соединения с принтером, включенное в процесс 318 обработки при регистрации пользователя, гарантирует, что пользователи имеют обновленные соединения с принтером при первоначальной регистрации в сети.
Согласно Фиг.3, клиентская машина 202а исполняет процесс обработки для извлечения измененных данных из объектов групповой стратегии, поддерживаемых каталогом сетевых ресурсов/конфигураций 300. Клиентская машина 202а включает в себя клиентскую программу 320 управления групповой стратегией. Управляемая событиями клиентская программа 320 управления групповой стратегией в варианте осуществления настоящего изобретения выполняется периодически (например, на основании установленного администратором интервала времени, например, каждые 90 минут) и при регистрации пользователя. Программа 320 управления групповой стратегией после ее активизации запрашивает каталог сетевых ресурсов/конфигураций 300 об изменениях во всех объектах групповой стратегии, взаимосвязанных с клиентской машиной 202а или зарегистрированным пользователем. Такой запрос в варианте осуществления изобретения направлен на конкретные объекты из набора перечней 312, соответствующих объектам групповой стратегии, ассоциированным с клиентской машиной 202а или пользователем, зарегистрированным на машине 202а. В варианте осуществления изобретения набор перечней 312 включает в себя перечень, имеющий ГУИД (GUID), соответствующий данным о соединении принтера, для объекта групповой стратегии, ассоциированного с пользователем, зарегистрированным на клиентской машине 202а, или клиентской машины 202а непосредственно.
Клиентская машина 202а также включает в себя клиентские расширения 322 для групповой стратегии. Программа 320 управления групповой стратегией активизирует такие расширения на клиентской машине 202а по мере необходимости, чтобы обработать соответствующие типы данных описания конфигурации (например, соединение с принтером), заданные объектами групповой стратегии (например, GP01) в контейнере 308 групповой стратегии. В соответствии с вариантом осуществления настоящего изобретения расширения 322 для групповой стратегии включают в себя расширение 324 для групповой стратегии принтера, которое настроено для извлечения и обработки изменений в соединениях с принтером, поддерживаемых контейнером 308 групповой стратегии. В варианте осуществления настоящего изобретения расширение 324 для групповой стратегии принтера на клиентской машине 202а обрабатывает обновления в соединениях с принтером, заданных для объектов групповой стратегии в контейнере 308 групповой стратегии.
Соединения с принтером поддерживаются клиентской машиной 202а таким образом, что когда предварительно сохраненное соединение с принтером удаляется/изменяется в контейнере 308 групповой стратегии, то прежний набор соединений, поддерживаемых в структуре 326 системного реестра, предназначенной для расширения групповой стратегии, легко обновляется посредством удаления/изменения соответствующего соединения с принтером в разделе/ветви 328 соединения с принтером. В качестве примера после извлечения текущего набора соединений с принтером из одного или более ОГС (например, GP01) в контейнере 308 групповой стратегии в расширении 324 для групповой стратегии принтера к каждому найденному соединению принтера добавляют идентификацию ОГС, уникально идентифицирующую исходный ОГС соединения принтера. Идентификация ОГС облегчает последующее удаление соединений принтера в качестве реакции на обновленный ОГС, содержащий отличающийся набор соединений принтера. Новый(е) набор(ы) соединений принтера размещается(ются) в разделе/ветвлении 328 соединений принтера в структуре 326 системного реестра, предназначенной для расширения групповой стратегии. В качестве альтернативы создается подраздел/ветвь внутри раздела/ветви 328 соединений принтера для каждого ОГС. В таком варианте индивидуально сохраняемые соединения не требуют маркировки отдельно уникальной идентификацией, соответствующей ОГС, из которого они были извлечены. Раздел/ветвь 328 соединений принтера в структуре 326 системного реестра для расширения, при поддержании взаимосвязи между соединением принтера и его исходным ОГС, поддерживает сохранение копий соединений принтера, ассоциируемых отличающимися ОГС.
Специалистам в данной области техники должно быть понятно, что существует множество различных способов для поддержания текущего набора соединений принтера, применимых к конкретной машине и/или зарегистрированному пользователю. Настоящее изобретение не является ограниченным каким-либо конкретным средством обновления или средством хранения соединения принтера. Предпочтительнее настоящее изобретение потенциально реализуется множеством различных способов и структур, которые поддерживают имеющийся набор соединений принтера, применимых для клиентской машины/пользователя.
Другой особенностью для обновлений соединений принтера является изменение конфигурации компонентов подсистемы принтера на основании обновленных соединений принтера. В варианте осуществления настоящего изобретения расширение 324 групповой стратегии для принтера запрашивает способ обновления, используемый планировщиком 330 печати, из клиентской машины 202а, для уведомления планировщика 330 печати об обновлениях соединения для печати. В варианте осуществления изобретения запрос к планировщику печати 330 включает в себя совокупность соединений принтера, представляющих объединение всех соединений принтера, которые присутствуют в разделе 328 соединений принтера в структуре 326 системного реестра для расширения. В отличие от структуры 326 системного реестра для расширения планировщик печати 330 не поддерживает копии соединений принтера (то есть исходный ОГС соединения не соответствует планировщику). В варианте осуществления изобретения сервер 332 планировщика печати ставит в очередь запрос на обновление соединения принтера от расширения 324 для групповой стратегии принтера для последующей обработки маршрутизатором 334 планировщика. Маршрутизатор 334 планировщика применяет совокупность соединений принтера, переданную в запросе к планировщику печати, для своих операций маршрутизации запроса печати. Маршрутизатор 334 планировщика определяет записи, подлежащие удалению/добавлению, на основании сравнения между соединениями принтера, перечисленными в переданной совокупности, и соединениями принтера, предварительно установленными в соединениях принтера для подсистемы 336 печати клиентской машины 202а. При обработке содержимого переданной совокупности соединений принтера маршрутизатор 334 планировщика первоначально обрабатывает удаленные соединения принтера, затем добавляет новые соединения принтера. В варианте осуществления изобретения, удаленные соединения принтера идентифицируют по их отсутствию в переданной совокупности от расширения принтера.
Существует множество способов, которыми планировщик, в варианте осуществления изобретения планировщик 330, определяет, присутствует ли соответствующий драйвер для каждого соединения принтера. Если драйвер для конкретного типа принтера еще не установлен на клиентской машине 202а, то планировщик 330 запрашивает загрузку и установку драйвера принтера. Однако настоящее изобретение не требует каких-либо конкретных средств/способов загрузки драйвера принтера. Множество способов получения и установки драйверов принтера на клиентской машине 202а известны специалистам в данной области техники. Например, вместо установки нового драйвера принтера без сведений для пользователя диалоговое окно на клиентской машине 202а предлагает пользователю загрузить драйвер для сетевого принтера.
В иллюстративном варианте осуществления настоящего изобретения, расширение 324 для групповой стратегии принтера использует интервал обновления стратегии для повторения безуспешных попыток передачи соединений принтера к планировщику 330 печати. Логика повторения встроена в клиентскую программу 320 групповой стратегии с учетом случаев, когда соединения принтера успешно извлечены из контейнера 308 групповой стратегии, но новые соединения принтера не являются успешно установленными планировщиком 330 на клиентской машине 202а.
С целью оптимизации производительности в отношении некоторых из клиентских расширений 322 для групповой стратегии код 320 управления групповой стратегией не вызывает расширение, если только не изменены соответствующие данные в ОГС. Однако в одной схеме логики повторения, использующей соединения принтера, расширение 324 для групповой стратегии принтера вызывается после каждого события активизации кода 320 управления групповой стратегией без учета того, есть ли изменения в соединениях принтера в ассоциированных объектах групповой стратегии в контейнере 308 групповой стратегии. В том случае, когда не произошли изменения с соединениями принтера в ОГС, соответствующих расширению 324 групповой стратегии принтера, расширение 324 групповой стратегии принтера не будет запрашивать каталог сетевых ресурсов/конфигураций 300 (задача, потребляющая время и ресурсы передачи данных по сети между клиентской машиной 202а и компьютером сервера службы каталогов 212). Вместо этого расширение 324 групповой стратегии принтера запрашивает способ обновления, используемый планировщиком 330 печати, и передает совокупность соединений принтера, представляющих объединение всех соединений принтера, которые присутствуют в разделе 328 для соединений принтера в структуре 326 системного реестра для расширения.
Принимая во внимание вышеописанную операцию обновления, выполняемую расширением групповой стратегии принтера, даже когда не произошли изменения в соединениях принтера, планировщик 330 печати принимает меры, чтобы обойти обновление своей конфигурации, когда изменения не произошли. В частности, планировщик 330 печати использует ЦИК (CRC), сгенерированный по совокупности соединений принтера, переданной расширением 324 групповой стратегии принтера, для отслеживания изменений в перечне соединений принтера. Планировщик 330 печати на каждое успешное обновление соединений принтера генерирует ЦИК по его перечню соединений принтера. Когда планировщик 330 печати принимает совокупность соединений принтера, планировщик 330 печати сравнивает текущий ЦИК для «продвигаемого» соединения принтера с последним успешным ЦИК, если они равны, то не будет делать ничего. Если оба ЦИК не совпадают, планировщик печати ставит в очередь новый перечень соединений принтера для фоновой обработки на клиентской машине 202а. Если планировщик 330 печати терпит неудачу при выполнении обновления в наборе соединений принтера, то планировщик 330 печати делает ЦИК недействительным. Тогда планировщик печати ожидает запроса от расширения 324 групповой стратегии принтера, чтобы повторить предыдущую безуспешную операцию обновления соединения принтера.
В заключение относительно структур, изображенных на Фиг.3, следует отметить, что, хотя вариант осуществления настоящего изобретения описан со ссылкой на одиночный сетевой клиентский компьютер 202а, показанный на Фиг.3, компоненты клиентского компьютера присутствуют внутри каждой из клиентских машин 202, которые участвуют в описанном механизме автоматизированного соединения с принтером. Кроме того, множество экземпляров источников соединений принтера (подобно каталогу сетевых ресурсов/конфигураций 300) действует в качестве источников соединений принтера.
На Фиг.4 с помощью иллюстративной структуры данных изображены поля для поддерживаемого соединения принтера, используемые в иллюстративном варианте осуществления изобретения внутри объектов групповой стратегии, сохраняемых в контейнере групповой стратегии. Поле 400 Name (Имя) в соответствии с Universal Naming Convention (Соглашением об универсальном именовании, СУИ) хранит полное имя соединения принтера, используя известное соглашение СУИ (UNC) (то есть \\servername\sharename (\\имя сервера\имя совместно используемого ресурса)). В качестве примера, соединение принтера определяется по принтеру и серверу печати, и поле 400 UNCName («СУИ Имя») содержит объединение имени принтера и имени сервера печати. В данном варианте именем принтера (совместно используемого) является «bar», и именем сервера печати является «foo», и поле 400 UNCName хранит «\\foo\bar». Поле 402 printerName (Имя Принтера) хранит часть для имени принтера (совместно используемого) (например, «bar») из соединения принтера. Поле 404 serverName (Имя Сервера) хранит часть для имени сервера (например, «foo») из соединения принтера.
Поле 406 printAttributes (Свойства Печати) определяет свойства для соединения принтера. В варианте осуществления настоящего изобретения обозначаются три типа свойств соединения принтера. Одно или большее количество таких свойств может быть обозначено для каждого соединения принтера посредством, например, установки соответствующего бита в поле 406 printAttributes. В варианте осуществления настоящего изобретения используются три бита для указания трех различных свойств, назначаемых соединению принтера. Первое свойство соединения идентифицирует соединение как назначаемое «клиентской машине». Второе свойство соединения идентифицирует соединение как являющееся назначаемым «пользователю» и затем поставляемое на клиентскую машину такого пользователя после успешной регистрации пользователя в сети. Очередное свойство соединения идентифицирует соединение принтера как соединение «распределенного сервера печати» (РСП) (DPS). Соединения DPS указывают единственный принтер, но позволяют любому из множества серверов печати обрабатывать запрос на печать от клиентской машины, задавая соединение принтера.
Согласно Фиг.5 в варианте осуществления настоящего изобретения соединения принтера задают посредством маркированных полей в соответствии со схемой XML, представляющей соединение принтера. В таком варианте маркированные поля для соединения принтера включают в себя категорию 500 (например, «стратегия соединения принтера»), которая способствует идентификации информации конфигурации (групповой стратегии) в качестве соединения принтера. Описание 502 идентифицирует описательную текстовую строку для идентификации типа структуры стратегии (например, «стратегия принтера»). Тип класса 504 идентифицирует класс определения стратегии (например, «структурный»). Общее имя 506 является полем для подстановки общего имени, идентифицирующего соединения принтера (например, «стратегия соединения принтера»). Обязательные свойства 508 определяют произвольные требуемые свойства для конфигурации соединения принтера. Раздел 510 дополнительных свойств в варианте осуществления настоящего изобретения идентифицирует поля, изображенные на Фиг.4, которые определяют соединение принтера.
Клиентское расширение 324 групповой стратегии принтера при сохранении принятого соединения принтера в разделе 328 соединений принтера в структуре 326 системного реестра для расширения дополняет вышеописанные поля соединения принтера, представленные на Фиг.4, с помощью идентификации исходного (ОГС) описания конфигурации. В варианте осуществления настоящего изобретения строка в коде Уникод (Unicode) идентифицирует исходный ОГС в каждом элементе соединения принтера для соединений 328 принтера. Описав иллюстративные клиентские и серверные структуры соединения принтера, следует отметить, что такие структуры являются изменяемыми в соответствии с различными альтернативными вариантами осуществления настоящего изобретения.
После описания иллюстративного множества компонентов каталога и клиента, способствующих осуществлению настоящего изобретения, ниже со ссылкой на Фиг.6 обобщены этапы, выполняемые иллюстративными компонентами для распределения соединений принтера от каталога сетевых ресурсов/конфигураций 300 к множеству сетевых клиентских машин и зарегистрированных пользователей. Описанные ниже этапы представляют объединенные действия множества компонентов вычислительной сети (описанной выше в качестве примера) относительно набора соединений принтера, ассоциированных с одним или более объектами групповой стратегии, поддерживаемыми машиной 212 сервера службы каталогов и ассоциированных с одной или большим количеством клиентских машин 202.
Первоначально на этапе 600 администратор через интерфейс конфигурации добавляет или удаляет соединения принтера к/из ОГС в контейнере 308 групповой стратегии каталога сетевых ресурсов/конфигураций 300. Такие изменения, выполненные на этапе 600, включают в себя первоначальное обозначение соединений принтера для сетевых элементов, которые в настоящий момент времени их не имеют. Как результат действий администратора, на этапе 602 программа 310 групповой стратегии записывает в некоторые конкретные перечни 312 измененных данных, что для конкретного ОГС было сделано изменение для конкретного клиентского расширения (или типа данных конфигурации) групповой стратегии. В варианте осуществления настоящего изобретения программа 310 групповой стратегии записывает GUID, определяемый расширением, к которому применяют измененные данные конфигурации, а также ОГС, содержащий измененные данные. Этап 602 представляет для конкретного варианта осуществления изобретения функциональную возможность оптимизации, которая предотвращает активизацию клиентских расширений, производимую для получения обновленных данных конфигурации, относящихся к конкретному типу, из контейнера 308 групповой стратегии, когда не были изменены данные для конкретного расширения. С другой стороны, расширения групповой стратегии на клиентской машине 202а потенциально вызываются для выполнения других функций, которые не зависят от того, присутствуют ли новые данные конфигурации в контейнере 308 групповой стратегии.
Каталог сетевых ресурсов/конфигураций 300 в варианте осуществления настоящего изобретения не инициирует обновление соединений принтера, осуществляемое в клиентских компьютерах в качестве реакции на действия обновления, выполняемые администратором. Вместо этого каталог сетевых ресурсов/конфигураций 300 ожидает запросы, относящиеся к контейнеру 308 групповой стратегии, и изменения, имеющие отношение к нему. В течение такого интервала ожидания потенциально добавляются дополнительные изменения к информации конфигурации, поддерживаемой контейнером 308 групповой стратегии, и регистрируются в перечнях 312 измененных данных. Таким образом, этапы 600 и 602 потенциально исполняются многократно, прежде чем накопленные изменения будут переданы к конкретным запрашивающим машинам из клиентских машин 202. После этого на этапе 604 событие активизирует клиентскую программу 320 управления групповой стратегией. В варианте осуществления настоящего изобретения такое событие происходит, когда истекает (например, каждые 90 минут) на одной из клиентских машин 202 интервал времени для повторения (цикла) обновления групповой стратегии или когда новый пользователь осуществляет регистрацию на одной из клиентских машин 202. Затем в течение этапа 606 программа 320 групповой стратегии запрашивает каталог сетевых ресурсов/конфигураций 300 (например, перечни 312 измененных данных) обо всех объектах групповой стратегии, которые применяются к клиентской машине 202а или к любому пользователю, зарегистрированному на клиентской машине 202а. В вышеописанном иллюстративном варианте осуществления клиентские машины 202 опрашивают каталог сетевых ресурсов/конфигураций 300 об изменениях в соответствующих данных конфигурации. Однако в других вариантах осуществления настоящего изобретения каталог сетевых ресурсов/конфигураций 300 ставит в очередь заданий на печать или распространяет измененные данные на клиентские машины. В других вариантах осуществления каталог сетевых ресурсов/конфигураций 300 и клиентские машины 202 используют комбинации/разновидности вышеописанных способов опрашивания и постановки в очередь заданий на печать, чтобы распространить/представить обновленные перечни соединений с принтером на подсистемы принтера клиентских машин 202.
После получения перечня измененных ОГС и измененных типов данных конфигурации, применимых к машине 202а (включающей в себя зарегистрированных пользователей), управление переходит на этап 608, на котором программа 320 групповой стратегии активизирует расширение 324 групповой стратегии принтера. Запрос к расширению 324 групповой стратегии принтера включает в себя ссылки к объектам ОГС, изменившим соединения принтера (если таковые изменения произошли). В конкретном варианте осуществления изобретения расширению 324 групповой стратегии принтера не передаются фактические данные о соединении принтера. Вместо этого расширению 324 передается перечень местоположений (например, имена путей для службы каталогов) в каталоге сетевых ресурсов/конфигураций 300, соответствующих объектам групповой стратегии, которые изменили данные о соединении принтера. В таком осуществлении объекты ОГС ассоциируют с конкретными узлами, представляющими местоположения машин, группы пользователей службы каталогов и т.д. в каталоге сетевых ресурсов/конфигураций 300 (например, группа маркетинга, группа маркетинга США, Здание 5 и т.д.). Соединения принтера могут назначаться множеству объектов групповой стратегии, ассоциированных с различными уровнями для групп службы каталогов (общая и затем более конкретная группа пользователей) для одной ветви дерева службы каталогов. Поставленные в очередь задания принтеры на всех уровнях службы каталогов объединяются вместе, чтобы сформировать поставленный в очередь заданий принтер пользователя, то есть если некто является частью «Windows маркетинг» и «Windows маркетинг» является частью «Общий маркетинг», то пользователь видит поставленные в очередь заданий принтеры для первого ОГС, заданного для «Windows маркетинг» и второго ОГС, заданного для «Общий маркетинг». В варианте осуществления настоящего изобретения предусмотрены механизмы ограничения соединений принтера такие, что администратор может определять, что клиентская машина/пользователь только принимает соединения принтера, заданные объектом ОГС, назначенным на уровне службы каталогов, имеющем более высокую степень отличительных признаков (то есть для ветви службы каталогов, относящейся к более низкому уровню).
Кроме того, в варианте осуществления настоящего изобретения логика повторения установки соединения принтера связана с управляемой событиями активизацией программы 320 групповой стратегии. В данном варианте осуществления расширение 324 групповой стратегии принтера вызывается (с пустым перечнем ссылок на ОГС), даже когда ни одно из соединений принтера, соответствующих клиентской машине 202а, не было изменено, для обеспечения возможности для расширения групповой стратегии принтера повторно послать соединения принтера к планировщику 330 печати. Как показано на этапе 610, расширение 324 использует две различные исполняемые ветви на основании того, идентифицирован ли ОГС в вызове программы групповой стратегии (например, по меньшей мере, одно соединение принтера было изменено).
Если вызов расширения 324 включает в себя, по меньшей мере, одну ссылку на ОГС, то управление переходит от этапа 610 на этап 612. Расширение 324 групповой стратегии принтера помещает все соединения принтера, ассоциированные с объектами ОГС, на которые были ссылки, в контейнер 308 групповой стратегии и обновляет соединения принтера в разделе 328 соединений принтера в структуре 326 реестра расширений. Как отмечено выше со ссылкой на Фиг.3, каждый элемент (запись) соединения принтера в разделе 328 соединений принтера идентифицирует ОГС, из которого соединение принтера было первоначально получено. Таким образом, одно и то же соединение принтера может быть представлено более чем один раз в разделе 328 соединений принтера под различными обозначениями ОГС. Идентификация источника соединения принтера (например, ОГС) в разделе 328 соединений принтера способствует идентификации соединений принтера, удаленных из источника (например, измененный ОГС) соединений принтера. Таким образом, на этапе 612 расширение 324 для каждого ОГС, идентифицированного в вызове из программы групповой стратегии на этапе 608, заменяет текущий набор соединений принтера новыми соединениями.
Сохранение соединений принтера в разделе 328 соединений принтера способствует без дорогостоящей передачи данных по сети повторению предыдущей безуспешной попытки планировщиком 330 печати установить одно или более новых соединений принтера. Расширение 324 требует только считывания раздела 328 соединений принтера, а не исполнения дорогостоящего сетевого запроса контейнера 308 групповой стратегии. Иллюстративный способ повторения встроен в обычную операцию в описанных выше расширении 324 и в планировщике 330 печати. Такая логика повторения осуществляется как реакция на расширение 324, вызываемое на этапе 608 независимо от того, были ли изменены какие-либо соединения принтера. Таким образом, если изменения в соединениях принтера не идентифицированы в запросе из программы групповой стратегии на этапе 608, то управление переходит от этапа 610 на этап 614. В качестве альтернативы планировщик 330 печати поддерживает свою собственную логику повторения (процесс/поток), и управление переходит к «Окончанию», если расширение 324 принтера определяет на этапе 610, что изменения в соединениях принтера не произошли.
В варианте осуществления настоящего изобретения планировщик печати никогда не считывает информацию о соединении из раздела 328 соединений принтера, который поддерживается посредством расширения 324 групповой стратегии принтера. Вместо этого на этапе 614 расширение запрашивает способ обновления, используемый планировщиком 330 печати, передает текущий набор соединений принтера (без дубликатов), поддерживаемый в разделе 328 соединений принтера. В качестве примера, запрос включает в себя совокупность, обозначающую текущий набор соединений принтера, ассоциированных с клиентской машиной 202а. Сервер 332 планировщика печати помещает в очередь совокупность соединений принтера.
Впоследствии поставленные в очередь соединения принтера удаляются из очереди, и на этапе 616 маршрутизатор 334 планировщика печати первоначально определяет, отличается ли новый перечень соединений принтера от ранее обработанного перечня соединений принтера. В конкретном варианте осуществления изобретения маршрутизатор 334 планировщика печати на каждое успешное обновление соединения принтера генерирует Циклический избыточный код (ЦИК,СКС) по перечню соединений принтера. Если маршрутизатор 334 планировщика печати не достигает успеха при завершении обновления соединения принтера, то маршрутизатор 334 планировщика печати делает недействительным ЦИК для соединения принтера. Маршрутизатор 334 планировщика печати затем ожидает следующего запроса от расширения 324 групповой стратегии принтера, чтобы повторить безуспешные операции обновления соединения принтера. В этом иллюстративном варианте осуществления на этапе 616 маршрутизатор 334 планировщика печати сравнивает ЦИК текущего поставленного в очередь заданий на печать соединения принтера с последним успешным ЦИК. Если два значения ЦИК равны, то соединения принтера не обновлены, и управление переходит на этап «Окончание». Однако если они не равны, то управление переходит на этап 618 для дальнейшей обработки нового перечня соединений принтера.
На этапе 618, когда маршрутизатор 334 обрабатывает перечень соединений принтера, маршрутизатор 334 планировщика печати определяет, какие соединения принтера удалить, посредством сравнения нового перечня соединений принтера с имеющимся набором предварительно переданных соединений принтера. Маршрутизатор 334 сначала обрабатывает удаляемые соединения, и затем добавляются новые соединения. После завершения этапов обработки по перечню соединений принтера прежний ЦИК либо заменяется новым (на основании нового перечня соединений принтера), или делается недействительным. Конфигурирование подсистемы принтера завершается путем установления новых соединений принтера, востребованных ссылкой на новый тип принтера, для которого драйвер не был предварительно установлен. Управление затем переходит от этапа 618 на этап «Окончание».
Вышеописанная инфраструктура и способ для задания соединений принтера в сетевой среде является административной возможностью, которая наиболее полезна в относительно больших (например, корпоративных) сетях. В варианте осуществления настоящего изобретения административное инструментальное средство/обслуживающая программа дает возможность администратору легко выбирать принтеры и пользователей и помещать такие соединения принтера на клиентские машины пользователей без необходимости физически переходить на машину каждого пользователя. В качестве примера, графический пользовательский интерфейс администратора поддерживает задание соединений принтера, например, для групп пользователей или машин в сети. К графическому пользовательскому интерфейсу для администрирования соединений принтера в варианте осуществления настоящего изобретения осуществляется доступ через Консоль Управления Печатью MICROSOFT. Кроме того, все функциональные возможности, раскрываемые графическим пользовательским интерфейсом, предназначенным для администрирования, могут также быть реализованы посредством сценариев.
В варианте осуществления настоящего изобретения включение настоящего изобретения в состав сети обуславливает, по меньшей мере, два класса соединений принтера. Класс поставленных в очередь заданий на печать соединений принтера устанавливается вышеописанным автоматизированным способом. Класс непоставленных в очередь заданий соединений принтера включает в себя все соединения принтера, которые были установлены с использованием других способов определения соединений принтера, включающих в себя непосредственное определение соединений принтера через пользовательский интерфейс на конкретной клиентской машине, которой назначено соединение принтера.
В варианте осуществления изобретения установлено множество правил относительно замены заранее установленных соединений принтера. Указание администратором поставленного в очередь заданий соединения принтера посредством вышеописанного механизма обычно будет превосходить предыдущее такое же (не поставленное в очередь заданий) соединение принтера, установленное посредством других механизмов. Следующие примеры демонстрируют, как различные действия влияют на состояние соединений принтера на клиентской машине.
1. Если пользователь клиентской машины создает соединение принтера, и затем администратор продвигает из очереди это же соединение, тогда клиентская машина будет обходиться одним продвинутым из очереди соединением;
2. Если администратор продвигает соединение в очереди, то клиент может изменять предпочтения для печати, но не может создавать новое, дублирующее, соединение (то есть клиент обходится одним продвинутым из очереди соединением);
3. Администратор может удалить все поставленные в очередь заданий соединения;
4. Администратор не может удалять созданные пользователем соединения (другими словами, если пользователь соединяется с «\\foo\bar» и администратор не продвинул очередь заданий соединение с «\\foo\bar», то администратор не может опросить это соединение - он должен сначала поставить в очередь заданий соединение, таким образом «превзойти» пользовательское «самосоединение», и затем администратору разрешается опросить соединение);
5. Клиент может удалять созданные пользователем соединения, но не поставленные в очередь заданий соединения;
6. Если администратор поставил в очередь заданий принтер под его действительным именем, то администратор должен опрашивать его под его действительным именем;
7. Если соединение поставлено в очередь заданий под именем принтера (общим), то соединение должно опрашиваться под общим именем;
8. Как отмечено предварительно выше, соединение принтера может быть обозначено «согласно пользователю» и «согласно машине». Если администратор ставит в очередь заданий оба соединения и «согласно пользователю», и «согласно машине», то администратор должен удалить оба соединения, чтобы переместить соединение принтера от клиентских машин; и
9. Если обозначенное пользователем соединение существует и администратор последовательно ставит в очередь заданий соединение либо «согласно машине», либо «согласно пользователю», то пользователь не будет иметь соединение с этим принтером.
Консоль Администратора (ММС+Встраиваемый модуль Соединения с Печатью)
Прежде, чем действия с соединениями принтера могут быть распространены и включены в состав операций запросов на печать для пользователей/машин, они должны быть помещены внутри каталога сетевых ресурсов/конфигураций 300. В варианте осуществления настоящего изобретения обслуживающая программа консоли управления, используемая сетевыми администраторами, выполняется на любой сетевой машине и позволяет сетевым администраторам просматривать и задавать изменения в соединениях принтера. Обслуживающая программа консоли управления, описанная ниже в настоящем документе со ссылкой на набор иллюстративных графических пользовательских интерфейсов, обеспечивает средство передачи, позволяющее администраторам обозначать изменения в соединениях принтера, которые сохраняются в каталоге сетевых ресурсов/конфигураций 300, поддерживаемом сервером 212 службы каталогов.
Обслуживающая программа консоли управления в варианте осуществления изобретения является обслуживающей программой «Консоли управления MICROSOFT» (КУМ, ММС), дополненной встраиваемым программным модулем, предназначенным для задания действия над соединением принтера. В конкретном варианте осуществления изобретения встраиваемый программный модуль для соединения принтера поддерживает команды, обозначающие действия над соединением для печати, которые принимаются каталогом сетевых ресурсов/конфигураций 300. Такие команды продвигают действия над соединением принтера в каталог сетевых ресурсов/конфигураций 300. После этого сетевой каталог 300 ресурса упаковывает действия в вышеупомянутые объекты (ОГС) групповой стратегии.
На Фиг.7-12 показан набор иллюстративных графических пользовательских интерфейсов администратора. Обслуживающая программа консоли управления позволяет администратору сетевых ресурсов просматривать имеющийся набор соединений принтера и определять действия, относящиеся к соединениям принтера (например, добавить, удалить и т.д.). Согласно Фиг.7 администратор начинает сеанс для обозначения (постановки в очередь заданий) соединений принтера для объектов (ОГС) групповой стратегии посредством первоначального запуска консоли управления для принтера, включающей в себя интерфейс, как изображено на Фиг.7, с перечнем всех сетевых принтеров. Администратор выбирает принтер, для которого для ОГС должно быть обозначено соединение принтера. В варианте осуществления настоящего изобретения администратор продвигает выбранное соединение принтера в ОГС посредством запуска контекстного меню на принтере из любой из папок принтеров и затем вызова операции ставит в очередь заданий.
В ответ создают диалог, изображенный в качестве примера на Фиг.8. Диалог для постановки в очередь заданий принтеров, в дополнение к перечню имен UNCNames для выбранных принтеров, позволяет просмотр/поиск объектов ОГС в каталоге сетевых ресурсов. Администратор через диалог выбирает ОГС, в который должны быть помещены перечисленные соединения принтера. Диалог также поддерживает обозначение соединения как «согласно машине» или «согласно пользователю», или обоими. Как изображено на Фиг.8, множества соединений принтера могут быть помещены в ОГС посредством множественного выбора соединений принтера. С другой стороны, администратор в варианте осуществления настоящего изобретения не может выбирать полную папку принтеров, такую как «формирование 10 принтеров», и помещать их, поскольку множество принтеров внутри папки может быть изменено (или быть скрыто), порождая сложности. На Фиг.9 изображен иллюстративный диалог для просмотра, который дает возможность пользователю выбирать ОГС, к которому применяют конкретные соединения. Щелчком мыши по кнопке "Browse" (Просмотреть) в окне диалога, изображенном на Фиг.8, запускается стандартный диалог ОГС, позволяющий администратору выбирать требуемый ОГС. В варианте осуществления настоящего изобретения администратор будет способен выбирать одновременно только один ОГС. Выбирая только один ОГС для каждого индивидуального помещения в ОГС, транзакция постановки в очередь заданий соединения принтера завершается успешно или неуспешно без сложностей определения, какое поставленное в очередь заданий соединение завершено неуспешно (вариант, в котором в (качестве) транзакции назначают несколько объектов ОГС множественным соединениям принтера), и отмены действий, которые произошли в течение операции постановки в очередь заданий. Если операция постановки в очередь заданий соединения принтера является частично или полностью неуспешной, диалоговое окно проинформирует администратора, какие соединения принтера не смогли быть помещены в данный ОГС.
Другой иллюстративный пользовательский интерфейс, изображенный в качестве примера на Фиг.10, показывает текущее множество продвигаемых соединений принтера в сети. Иллюстративный интерфейс отображает перечень ОГС продвигаемых соединений. Из фильтра продвигаемых (соединений) принтеров ниже папки Printers (Принтеры) администратор просматривает все принтеры, которые продвигаются ассоциированные с ними серверы, и объекты ОГС, в которые были помещены соединения принтера. В варианте осуществления настоящего изобретения, как иллюстративно изображено на Фиг.11, интерфейс для редактирования групповой стратегии расширен (например, встраиваемым модулем) для того, чтобы отображать все соединения принтера, которые помещены в конкретный ОГС. Доступ к такому интерфейсу осуществляется, используя «дерева» слева, ниже узла Computer Con figuration->Admini strati ve Templates->Printer->Pushed Printers (Настройка компьютера -> Административные Шаблоны -> Принтер -> Продвигаемые Принтеры (для соединений с машиной) или ниже узла User Configuration ->Adminlstrative Templates -> Pushed Printers (Настройка Пользователя -> Административные Шаблоны -> Принтер -> Продвигаемые Принтеры (для соединений с пользователем). После выбора одного из типов соединения принтера в интерфейсе отображается перечень всех продвигаемых соединений «для пользователя» или «для машины», ассоциированных с данным ОГС.
При выполнении администратором щелчка правой кнопкой мыши на узле «Pushed. Printers» интерфейса, изображенного на Фиг.11, предоставляется контекстное меню, которое включает в себя пункт меню Add/Remove Printer (Добавить/Удалить Принтер), который позволяет администратору обозначить (продвинуть) новое соединение принтера в ОГС или удалить ранее добавленное соединение принтера. Администратор имеет возможность выполнить щелчок правой кнопкой на принтере, чтобы получить доступ к задаче «удалить» или только выбрать принтер или группу принтеров и нажать «удалить». Если администратор выбирает Add/Remove Printer, то визуализируется диалог, изображенный на Фиг.12. Посредством щелчка на кнопке Remove администратор имеет возможность удалить приведенный в списке принтер из данного ОГС. При выборе Browse (Просмотреть) запускается диалог Find Printers (Найти Принтеры). Когда администратор выполняет щелчок ОК (Успешно), имена принтеров проверяются на правильность. Затем генерируется текст, выражающий «Adding Connection» (Добавление соединения), «Error» ("Ошибка") и т.д.
Выше описаны новый и полезный способ и система для управления соединениями принтера в сетевой среде сервера печати, принтера. Ввиду многих возможных сред, к которым могут быть применимы принципы настоящего изобретения, и гибкости построения и осуществления программного обеспечения для обслуживающих программ и инструментальных средств, следует иметь в виду, что представленные варианты осуществления предназначены для иллюстрации и не должны считаться ограничивающими объем изобретения. Специалистам в данной области техники должно быть понятно, что проиллюстрированные варианты осуществления могут быть модифицированы по форме и в деталях без изменения сущности изобретения. Поэтому изобретение, как оно описано выше, включает в себя все такие варианты осуществления, которые входят в объем нижеследующей формулы изобретения и ее эквивалентов.