Изобретение относится к модулям исполнительной программы, используемым в системах программных средств резервного копирования, а более конкретно - к системе и способу обновления модулей исполнительной программы на удаленном автоматизированном рабочем месте.
Часть описания этого патентного документа содержит материал, который является объектом защиты авторских прав. Владелец авторских прав не возражает против факсимильного воспроизведения кем-либо патентного документа или описания патента так, как они выглядят в патентной картотеке или официальных документах Патентного ведомства, но в иных случаях сохраняются все авторские права.
Современные вычислительные сети часто организовывают в соответствии с архитектурой клиент/сервер. Архитектура клиент/сервер представляет собой устройство, используемое в локальных вычислительных сетях, которое обрабатывает данные как сервера, так и отдельных автоматизированных рабочих мест как микропроцессорное, программируемое устройства. Как правило, локальные вычислительные сети содержат некоторое количество связных клиентских компьютеров и выходной сервер. Клиентский компонент, как правило, персональный компьютер, предлагает пользователю свой полный диапазон вычислительной мощности и средств для выполнения программ. Как правило, клиентский компьютер (называемый в этой заявке автоматизированное рабочее место) имеет свою собственную обрабатывающую способность и накопитель на жестких магнитных дисках или другое локальное запоминающее устройство. Сервер, который может быть персональным компьютером, миникомпьютером или большой ЭВМ, увеличивает клиентский компонент благодаря обеспечению услуг, например организацию хранения и обработку данных, распределение и защиту информации. Серверы предоставляют услуги автоматизированным рабочим местам, включая, например, услуги резервного копирования.
Часто пользователь локальной вычислительной сети (как правило, администратор сети) желает копировать данные, хранимые на накопителе (накопителях) на жестких магнитных дисках некоторых или всех компьютеров в локальной вычислительной сети, включая автоматизированные рабочие места. В процессе резервного копирования файлы, хранимые на автоматизированном рабочем месте и серверах локальной вычислительной сети, пересылаются (загружаются) в центральное запоминающее устройство, например на магнитную ленту накопителя на магнитной ленте. Таким образом, например, если файл поврежден на автоматизированном рабочем месте, то администратор сети может возвратить резервную копию утраченных данных из центрального устройства хранения резервных копий.
Типовая программа резервного копирования имеет ряд компонентов. Процессор резервного копирования, работающий в центре в сервере, может контролировать запись данных для запоминающего устройства резервного копирования (для задания резервного копирования), контролировать считывание данных из запоминающего устройства резервного копирования (для задания копирования из архива), управлять очередью выполнения заданий, и управлять связью с клиентскими компьютерами. Консоль организующей программы, которая, как правило, работает на клиентском компьютере, помогает администратору сети управлять резервным копированием автоматизированных рабочих мест. Например, консоль организующей программы будет решать такие задачи, как представление задания, визуальное изображение файлов регистрации, управление базой данных, диспетчеризация и подобные задачи.
Программы резервного копирования часто содержат исполнительные программы. Исполнительная программа представляет собой небольшой кусок программного обеспечения, который хранится в каждом автоматизированном рабочем месте и обрабатывается каждым автоматизированным рабочим местом для решения подчиненных задач для сервера. Таким образом, исполнительная программа выполняется на каждом компьютере, на котором предстоит резервное копирование. Исполнительная программа не является полной компьютерной программой, а скорее куском программного обеспечения для поддержания сервера при завершении решения задачи, определенной для автоматизированного рабочего места, на котором выполняется исполнительная программа. В программах резервного копирования одним заданием исполнительной программы является пересылка данных из автоматизированного рабочего места в сервер и прием данных из сервера, а также хранение их на автоматизированном рабочем месте.
Использование исполнительных программ в процессе резервного копирования и регенерации данных имеет ряд преимуществ. Поскольку имеется исполнительная программа, выполняющаяся на каждом автоматизированном рабочем месте (а каждое автоматизированное рабочее место безусловно имеет свой собственный процессор), обработка может осуществляться последовательно на каждом автоматизированном рабочем месте. Затраты на связь уменьшаются, а защита сети увеличивается, когда исполнительная программа может, например, определить содержимое запоминающего устройства автоматизированного рабочего места и принять решение относительно файлов, подлежащих резервному копированию, без необходимости обеспечения сервера перечнем файлов, хранимых на автоматизированном рабочем месте.
Недостаток современной технологии исполнительных программ, применяемой в программах резервного копирования, следует из того факта, что исполнительные программы расположены на каждом автоматизированном рабочем месте. Таким образом, если администратор сети хочет обновить программу резервного копирования для новейшей версии программы, администратору сети часто необходимо найти и обновить каждую исполнительную программу на каждом автоматизированном рабочем месте. Поскольку может быть множество автоматизированных рабочих мест, расположенных во многих физических местоположениях, это может оказаться трудной и трудоемкой задачей.
В частности, в глобальной сети трудно синхронизировать обновление исполнительных программ на множестве автоматизированных рабочих мест.
Необходимость обновления исполнительных программ вероятно должны стать более обычной задачей. Например, исполнительные программы для различных программ резервного копирования часто группируют с программами операционных систем для автоматизированных рабочих мест. Тогда пользователь купит программу резервного копирования, содержащую процессор резервного копирования и консоль организующей программы. Процессор резервного копирования будет иметь связь с каждым автоматизированньм рабочим местом, так как каждое автоматизированное рабочее место имеет исполнительную программу с операционной системой. Однако, если программа резервного копирования обновляется для новой версии, то процессор резервного копирования и консоль организующей программы, могут быть просто заменены/обновлены, но трудно и трудоемко заменить/обновить каждую исполнительную программу.
Имеется также необходимость применения обновления и в то же самое время создания обновленных исполнительных программ, доступных для использования процессором резервного копирования.
Настоящее изобретение обеспечивает способ и систему для обновления или замены исполнительных программ, хранимых и выполняемых на удаленном компьютере, в частности, на автоматизированном рабочем месте в сети клиент/сервер. В характерном варианте осуществления настоящего изобретения исполнительные программы используют во вспомогательной программе резервного копирования и решают подчиненные задачи для процессора резервного копирования, работающего в центральном сервере.
Каждая исполнительная программа является небольшим куском программного обеспечения, которое хранится и выполняется на каждом автоматизированном рабочем месте для поддержания процессора резервного копирования в решении задачи, определенной для этого автоматизированного рабочего места. Таким образом, короче говоря, каждая исполнительная программа является модулем, который находится на автоматизированном рабочем месте, на котором осуществляется резервное копирование или регенерация (восстановление), и выполняет, например, обработку файла на этом автоматизированном рабочем месте.
В характерном варианте осуществления, программа резервного копирования, которая используется в соответствии с настоящим изобретением, имеет три основных компонента. Процессор резервного копирования, расположенный в сервере, контролирует запись данных в запоминающее устройство резервного копирования (для задания резервного копирования), контролирует считывание данных из запоминающего устройства резервного копирования данных (для задания регенерации данных), управляет очередью выполнения заданий и контролирует связи с клиентскими компьютерами. Консоль организующей программы, которая выполняется на клиентском компьютере, обеспечивает возможность управления операциями резервного копирования данных и регенерации данных. Как указано выше, исполнительная программа выполняется на каждом автоматизированном рабочем месте, подвергаемом резервному копированию.
Для простоты объяснения, используемое в этой заявке выражение "резервное копирование данных" включает в себя "регенерацию данных", выражение "обновление данных" включает в себя "замену данных" и "модификацию данных", а выражение "локальная вычислительная сеть" включает в себя "глобальную сеть" и "сеть масштаба предприятия".
Обновление исполнительной программы имеет место в соответствии с настоящим изобретением следующим образом. Допустим, что каждая исполнительная программа имеет имя А1. Процессор резервного копирования передает по сети к каждому автоматизированному рабочему месту файл А2 исполнительной программы замены, который содержит рабочую программу для исполнительной программы для замены А1. Процессор резервного копирования передает также к каждому автоматизированному рабочему месту выполняемый модуль регенерации, названный, например, "Swapit". A1 и Swapit хранят с помощью A1 на автоматизированном рабочем месте.
Факультативно каждая исполнительная программа A1 передает сообщение процессору резервного копирования, подтверждающее успешный прием А2 и Swapit.
После этого процессор резервного копирования передает каждому автоматизированному рабочему месту (то есть A1 на каждом автоматизированном рабочем месте) команду "исполнять/завершать". Затем загружается каждая исполнительная программа A1 и побуждается выполнение модуля Swapit своего автоматизированного рабочего места, после чего каждая исполнительная программа A1 завершает свою собственную работу.
Модуль Swapit, выполняющийся на каждом автоматизированном рабочем месте, переименовывает A1 для сохранения копии A1. После этого модуль Swapit переименовывает А2 путем присвоения ей нового имени, адекватного для выполнения, например, A1. Модуль Swapit побуждает A1 выполняться или быть доступной для выполнения, например, при приеме команды от процессора резервного копирования.
При необходимости, настоящее изобретение может быть использовано для обновления подмножества исполнительных программ в локальной вычислительной сети.
Каждое автоматизированное рабочее место может иметь более одной исполнительной программы резервного копирования. Настоящее изобретение предусматривает некоторые изменения, а также обновление более одной исполнительной программы, хранимой на автоматизируемом рабочем месте.
Если операция обновления не проведена успешно, то настоящее изобретение имеет способность позволить постепенное аннулирование неверных результатов процесса и регенерацию старой исполнительной программы (например, А1, как указано в примере, описанном выше).
Настоящее изобретение может координировать синхронизацию обновления. Например, для большой локальной вычислительной сети передача новой исполнительной программы (например, А2) может осуществляться в течение нескольких вечеров, а выполнение модуля Swapit может иметь место на всех автоматизированных рабочих местах одновременно.
Исполнительная программа, соответствующая настоящему изобретению, имеет способность обеспечивать возможность эффективного резервного копирования данных запоминающих устройств всех автоматизированных рабочих мест в сети. При применении в связи с процессом обновления, уменьшаются затраты, связанные с обеспечением связи в сети.
Например, будет показано, что процессор резервного копирования необходим только для связи с автоматизированными рабочими местами в двух случаях (при передаче новой исполнительной программы и модуля Swapit и при выдаче команды "исполнить/завершить"). Вся обработка выполняется "автоматически" либо с помощью "старой" исполнительной программы, либо модуля Swapit, причем оба выполняются на автоматизированном рабочем месте, а не в ответ на серию команд от сервера.
Технологии компрессии и декомпрессии данных также могут быть использованы для уменьшения времени передачи и затрат на промежуточное хранение.
Вышеуказанные и другие элементы настоящего изобретения станут еще более легко очевидными из приводимого ниже подробного описания примеров вариантов осуществления, сделанного со ссылкой на сопроводительные чертежи.
Фиг. 1 - принципиальная схема архитектуры сети, используемой настоящим изобретением.
Фиг.2 - блок-схема иллюстративного состава аппаратных средств клиентской системы.
Фиг. 3 - рабочая диаграмма примера процесса обновления в соответствии с характерным вариантом осуществления настоящего изобретения.
Фиг.4 - рабочая диаграмма примера модуля обновления.
На фиг. 1 иллюстрируется схема характерной сети, используемой в связи с применением настоящего изобретения. Сервер 110 соединен с клиентскими компьютерами С1-Сn через сеть 120. Сеть 120 может быть сетью любого типа, которая поддерживает связь компьютера с компьютером, например локальной вычислительной сетью, глобальной сетью или коммутируемой сетью общего пользования, поддерживающей любой диапазан протоколов, например, TCP/IP, Ethernet, X. 25 и так далее. Сервер 110 выполняет программу процессора резервного копирования. Сервер 110 соединен с запоминающим устройством резервного копирования (не показано).
Каждый из клиентских компьютеров С1-Сn является автоматизированным рабочим местом, имеющим программу операционной системы, например, операционной системы Windows 95 или Windows NT. Каждый клиентский компьютер С1-Сn хранит и выполняет (при получении команды от процессора резервного копирования делать это) исполнительную программу. Каждая исполнительная программа решает некоторые задачи для процессора резервного копирования на каждом из клиентских компьютеров С1-Сn. Исполнительная программа предназначена, например, для отключения и/или соединения с гнездами и "слушания" команд, направленных для нее из процессора (резервного копирования) в сервере 110. Например, процессор резервного копирования может потребовать, чтобы каждая исполнительная программа "толкнула" выбранные файлы к серверу 110 так, чтобы сервер 110 (под контролем процессора резервного копирования) мог скопировать эти файлы в запоминающее устройство резервного копирования.
Ниже приведено более подробное иллюстративное описание некоторых из функций, которые могут быть выполнены исполнительной программой, соответствующей настоящему изобретению. Задание резервного копирования может определять конкретные файлы, которые должны быть подвергнуты резервному копированию, или критерии для выбора файлов, которые должны быть подвергнуты резервному копированию (например, все файлы, созданные Бобом, все файлы WordPerfect и так далее). Задание резервного копирования создается на консоли организующей программы, которая работает на клиентском компьютере (например, на компьютере С2) и выполняется процессором резервного копирования на сервере 110. Если должен быть подвергнут резервному копированию определенный файл, то процессор резервного копирования посылает запрос исполнительной программе, выполняемой на клиентском компьютере, где находится файл, и исполнительная программа проверяет, доступен ли файл для резервного копирования, и посылает копию файла процессору резервного копирования. Если для идентификации файлов, подлежащих резервному копированию, используются какие-либо критерии, то процессор резервного копирования посылает эти критерии исполнительным программам на соответствующих клиентских компьютерах. После этого каждая исполнительная программа просмотрит структуру каталога запоминающих устройств. Если исполнительной программой обнаружен файл, который согласуется с критериями, то копия файла посылается этой исполнительной программой процессору резервного копирования. В альтернативном варианте может быть использован циклический буфер - исполнительная программа А вводит имена файлов, которые согласуются с критериями, в этот буфер, а исполнительная программа В выполняет операцию считывания/записи для того, чтобы послать этот файл процессору резервного копирования. Таким образом, очевидно, что исполнительная программа поддерживает как ведомый сервер в решении задачи, определенной для клиентского компьютера.
На фиг.2 иллюстрируются дополнительные детали состава аппаратных средств клиентского компьютера (например, компьютера С1), показанного на фиг.1. В характерном варианте осуществления настоящего изобретения клиентский компьютер С 1 содержит центральный процессор 210, предназначенный для выполнения компьютерных программ (включающих в себя исполнительную программу, соответствующую настоящему изобретению), а также для управления и контроля работы клиентского компьютера С1. Запоминающее устройство 220, например накопитель на гибких магнитных дисках, соединено с центральным процессором 210. Запоминающее устройство 230, соединенное с центральным процессором 210, также обеспечивает средство для хранения компьютерных программ и данных. Запоминающее устройство 230 предпочтительно является накопителем на жестких дисках, имеющим большой объем памяти. Динамическое запоминающее устройство 240, например память с произвольным доступом, соединено с центральным процессором 210. Клиентский компьютер С1 содержит стандартные устройства ввода-вывода, например клавиатуру 250, мышь 260 и монитор 270. Каждый из остальных клиентских компьютеров С2-Сn может быть оборудован аналогичным образом. Сервер 110 может также иметь аналогичную конфигурацию, но может содержать дополнительные соединения с множеством носителей данных большой емкости.
В соответствии с настоящим изобретением, исполнительная программа на каждом клиентском компьютере С1-Сn обновляется от сервера 110. Таким образом, "новая" исполнительная программа принимается из запоминающего устройства в сервере. В альтернативном варианте осуществления "новая" исполнительная программа может храниться в каком-либо другом компьютере (и по этой причине приниматься от него), соединенном с сетью 120 и имеющем связь с клиентскими компьютерами С1-Сn.
На фиг. 3 представлена рабочая диаграмма, иллюстрирующая характерный процесс обновления, соответствующий настоящему изобретению.
В соответствии с примером варианта осуществления настоящего изобретения, процессор резервного копирования сначала передает (или побуждает передавать) к каждому клиентскому компьютеру С1-Сn (или их подмножеству) файлы, содержащие обновленную исполнительную программу (операция 310). Передается также и модуль Swapit, который подробно описан со ссылкой на блок-схему, показанную на фиг.4 (операция 310 на фиг.3).
" Старая" исполнительная программа (выполняющаяся на каждом из клиентских компьютеров С1-Сn) принимает и хранит файлы, передаваемые автоматизированным рабочим местом (операция 310). Принятые файлы хранятся локально в клиентских компьютерах С1-Сn (например, в запоминающем устройстве 230) и могут иметь расширение имени файла "new", указывающее на то, что это новый файл. Таким образом, например, "agent.new" может представлять новую рабочую исполнительную программу (переименовываемую позднее). После этого "старая" исполнительная программа может факультативно передавать сообщения назад процессору резервного копирования, подтверждающие то, что файлы успешно приняты и сохранены (операция 310а).
Затем, процессор резервного копирования передает команду "исполнять/завершать" соответствующему из клиентских компьютеров С1-Сn (операция 330). Команда "исполнять/завершать" может содержать параметр, идентифицирующий процедуру для одного из клиентских компьютеров С1-Сn, которую он должен выполнить (в этом случае, например, "Swapit"). В ответ на это, каждая исполнительная программа загружает и побуждает выполнять программу, идентифицированную в этом параметре, например Swapit, и затем сама прекращает работу(операция 350).
Рабочая диаграмма, показанная на фиг. 4, иллюстрирует детали примера процесса выполнения программы модуля Swapit операций 310 и 340, показанных на фиг. 3. Модуль Swapit выполняется на каждом из клиентских компьютеров С1-Сn. Модуль Swapit может выполняться последовательно на каждом из клиентских компьютеров С1-Сn. В начале выполнения, модуль Swapit переименовывает "старую" исполнительную программу путем присвоения ей нового имени для того, чтобы сохранить копию той версии исполнительной программы (операция 410). Например, исполнительная программа "agent.exe" может быть переименована в "agent. old". (В альтернативном варианте осуществления модуль Swapit может просто аннулировать старую исполнительную программу.) После этого модуль Swapit переименовывает файлы, связанные с обновленной исполнительной программой, путем присвоения им новых имен, адекватных для выполнения (операция 410). Например, исполнительная программа "agent.new" переименовывается в "agent.exe".
Будучи обновленной, новая исполнительная программа может оставаться готовой к действию в качестве подчиненной процессору резервного копирования. В альтернативном варианте осуществления может оказаться желательным побуждать новую исполнительную программу выполняться в конце процесса обновления. Таким образом, в клиентском компьютере имеют место следующие дополнительные операции. После переименования всех соответствующих файлов, модуль Swapit определяет выполняется ли еще старая исполнительная программа (операция 420). Это может быть осуществлено, например, выдачей команды Windows NT, которая возвращает "рычаг управления" выполняющегося модуля. Если рычаг управления возвращается, когда запрашивается рычаг управления модулем исполнительной программы, исполнительная программа еще выполняется. В этом случае модуль Swapit ожидает в течение заданного промежутка времени (операция 430), а затем вновь пытается вернуть "рычаг управления" (операция 420). Если рычаг управления не возвращается, то прекращается выполнение старой исполнительной программы. После этого модуль Swapit запускает программные средства исполнительной программы, то есть обновленной исполнительной программы (операция 440).
Очевидно, что операции 310 и 320 могут выполняться в тот период времени, когда, например, сеть не используется интенсивно. Как только все клиентские компьютеры С1-Сn приняли обновленную исполнительную программу и модуль Swapit, по существу одновременно всем клиентским компьютерам С1-Сn, где должно иметь место обновление, может быть послана команда "исполнять/завершать".
При необходимости новая исполнительная программа и модуль Swapit могут быть переданы клиентским компьютерам С1-Сn в одном пакете или в альтернативном варианте - в отдельных файлах в разное время.
Факультативно новая исполнительная программа может аннулировать модуль Swapit.
Варианты осуществления, описанные выше, могут включать в себя передачу исполнительной программе вставки в программные средства, а не замену исполнительной программы. В этом случае, модуль Swapit 1) сделает резервную копию старой исполнительной программы, 2) приложит вставки в программные средства к старой исполнительной программе, и 3) сделает исполнительную программу доступной для выполнения.
В альтернативном варианте осуществления модуль Swapit может быть предусмотрен для автоматического выполнения, например, в заданное время. Таким образом, не будет нужды во введении операции 330. В этом случае, в процессе осуществления операции 350, модуль Swapit определит, выполняется ли исполнительная программа, и прервет работу до времени, когда исполнительная программа не выполняется.
Очевидно, что принципы настоящего изобретения могут быть применены для обновления любой исполнительной программы, выполняющейся на удаленной системе, а не только исполнительных программ резервного копирования.
Исполнительная программа и модули Swapit, соответствующие настоящему изобретению, могут выполняться при использовании логической схемы или памяти компьютера, содержащей кодированные, читаемые компьютером, команды, например, компьютерной программы. Функциональные средства логической схемы или памяти компьютера подробно описаны выше.
Хотя настоящее изобретение было конкретно показано и описано со ссылкой на примеры его вариантов осуществления, квалифицированным в этой области техники специалистам должно быть очевидно, что без отклонения от сущности и объема настоящего изобретения могут быть сделаны различные изменения и модификации.
Изобретение относится к вычислительной технике. Его использование при обновлении модулей исполнительной программы на удаленном автоматизированном рабочем месте (АРМ) позволяет получить технический результат в виде упрощения обновления исполнительных программ на любом АРМ в сети. Этот технический результат обеспечивается при реализации способа в сети с сервером и множеством АРМ, причем вспомогательная программа резервного копирования включает в себя работающий в сервере процессор резервного копирования, под управлением которого осуществляются следующие действия: передача обновленной исполнительной программы и рабочего модуля регенерации к исполнительной программе на каждом АРМ; хранение обновленной исполнительной программы и рабочего модуля регенерации на каждом АРМ; передачу команды выполнения к исполнительной программе на каждом АРМ и побуждение выполнения на нем рабочего модуля регенерации; прекращение работы исполнительной программы и ее аннулирование на каждом АРМ; присвоение обновленной исполнительной программе имени аннулированной исполнительной программы и обеспечение ее работы в качестве исполнительной программы. 4 с. и 10 з.п.ф-лы, 4 ил.
US 5452433 А, 19.09.1995 | |||
УСТРОЙСТВО ДЛЯ РЕКОНФИГУРАЦИИ МНОГОМАШИННОГО ВЫЧИСЛИТЕЛЬНОГО КОМПЛЕКСА | 1991 |
|
RU2022342C1 |
US 5522042 А, 28.05.1996 | |||
Автоматический огнетушитель | 0 |
|
SU92A1 |
Авторы
Даты
2002-10-27—Публикация
1997-10-22—Подача