Способ, система и устройство для создания модели архитектуры для генерирования надежных и легких в управлении приложений для защиты данных в системе защиты данных

Изобретение относится к области защиты данных. Техническим результатом является улучшение обеспечения защиты данных. Предоставляется приложение защиты данных. Приложение защиты данных включает в себя задание для обеспечения защиты данных. Это задание содержит множество задач, сконфигурированных для выполнения этого задания. Также имеется средство исполнения задач для управления ходом каждой из упомянутого множества задач. 23 з.п. ф-лы, 67 ил.

 

Перекрестные ссылки на родственные заявки

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122430) под названием «METHOD, SYSTEM, AND APPARATUS FOR CONFIGURING A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке.

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122560) под названием «METHOD, SYSTEM, AND APPARATUS FOR CREATING SAVED SEARCHES AND AUTO DISCOVERY GROUPS FOR A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке.

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122799) под названием «METHOD, SYSTEM, AND APPARATUS FOR TRANSLATING LOGICAL INFORMATION REPRESENTATIVE OF PHYSICAL DATA IN A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке.

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122796) под названием «METHOD, SYSTEM, AND APPARATUS FOR CREATING AN ARCHIVE ROUTINE FOR PROTECTING DATA IN A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке.

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122904) под названием «METHOD, SYSTEM, AND APPARATUS FOR PROVIDING RESILIENT DATA TRANSFER IN A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке; и

Данная заявка имеет перекрестные ссылки на патентную заявку США №______ (Номер дела поверенного: MSFT122795) под названием «METHOD, SYSTEM, AND APPARATUS FOR PROVIDING ALERT SYNTHESIS IN A DATA PROTECTION SYSTEM», поданной 9 сентября 2004 года, содержание которой включено сюда по ссылке.

Область техники, к которой относится изобретение

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

Предшествующий уровень техники

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

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

Эта проблема обостряется для систем, которые позволяют отдельным лицам работать в системе на логическом уровне, а не на физическом уровне. Когда отдельные лица работают на логическом уровне, защита, как правило, определяется на физическом уровне. В такой среде могут возникнуть проблемы, когда операции на логическом уровне требуют изменений в процедуре резервного копирования. Например, если логический путь \\history\public\tools указывает на совместно используемый ресурс в предыстории1 сервера, и решено переместить \\history\public\tools, чтобы указать на другой совместно используемый ресурс в предыстории2 сервера, в случае если лицо, ответственное за защиту, не проинформировано об этом изменении, старый совместно используемый ресурс может продолжать оставаться защищенным, в то время как новый совместно используемый ресурс останется незащищенным.

Проблема еще более усугубляется, когда один логический путь может представлять набор физических альтернатив, которые содержат синхронизированные копии базовых данных. Например, \\history\docs может указывать на идентичные совместно используемые ресурсы как в предыстории1, так и в предыстории2; при этом системой должна защищаться только одна из идентичных базовых папок.

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

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

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

Сущность изобретения

Предоставляется приложение защиты данных. Приложение защиты данных, включает в себя задание для обеспечения защиты данных. Это задание содержит множество задач, сконфигурированных для выполнения этого задания. Также имеется средство исполнения задач для управления ходом выполнения каждой из упомянутого множества задач.

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

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

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

Перечень чертежей

Вышеуказанные аспекты и множество сопутствующих преимуществ этого изобретения станут более очевидными и более понятными при обращении к последующему подробному описанию вместе с сопроводительными чертежами, на которых:

Фигуры 1А-2 - блок-схемы системы защиты данных для управления защитой и восстановлением данных согласно варианту настоящего изобретения;

Фиг. 3 - блок-схема системы защиты данных, описывающая начальный выбор и защиту защищаемых объектов, которые находятся в месте образования, согласно варианту осуществления настоящего изобретения;

Фиг. 4 - блок-схема множества пространств имен и элементов пространства имен, которые публикуются и отображаются на пользовательском интерфейсе для взаимодействия и выбора пользователем, согласно варианту осуществления настоящего изобретения;

Фиг. 5 - отображение между элементом пространства имен и защищаемыми объектами согласно варианту осуществления настоящего изобретения;

Фиг. 6 - блочная диаграмма схемы для связывания типов пространств имен и типов элементов пространства имен согласно варианту осуществления настоящего изобретения;

Фиг. 7 - блочная диаграмма схемы для отображения логического элемента пространства имен в физический защищаемый объект согласно варианту осуществления настоящего изобретения;

Фиг. 8 - блочная диаграмма места образования, содержащего защищаемые объекты, которые могут быть защищены системой защиты данных согласно варианту осуществления настоящего изобретения;

Фигуры 9А-9В - блок-схемы защищаемых объектов в месте образования и группирования защищаемых объектов в защищенную группу согласно варианту осуществления настоящего изобретения;

Фиг. 10 - блок-схема защищенной группы, содержащей выбранные элементы пространства имен, отображенные защищенные объекты и свойства защищенной группы, согласно варианту осуществления настоящего изобретения;

Фиг. 11 - блок-схема алгоритма процедуры конфигурации для конфигурирования плана защиты защищенной группы согласно варианту осуществления настоящего изобретения;

Фиг. 12 - процедура создания защищенной группы, которая более подробно описывает создание защищенной группы, согласно варианту осуществления настоящего изобретения;

Фиг. 13 - процедура обнаружения перекрытия для обнаружения перекрытия источников данных, содержащихся в двух или более защищенных группах, согласно варианту осуществления настоящего изобретения;

Фиг. 14 - блок-схема системы защиты данных, показывающая последовательность выполнения процесса восстановления для восстановления защищенного объекта, согласно варианту осуществления настоящего изобретения;

Фиг. 15 - блок-схема, более подробно показывающая вид восстанавливаемых объектов, которые могут содержаться в месте хранения, согласно варианту осуществления настоящего изобретения;

Фиг. 16 - процедура восстановления для восстановления защищенных объектов из места хранения согласно варианту осуществления настоящего изобретения;

Фигуры 17-23А и 24 - блок-схема последовательности операций создания и использования группы автоматического обнаружения согласно варианту осуществления настоящего изобретения;

Фиг. 23В - процедура разрешения переотображения для разрешения переотображения защищенного элемента пространства имен согласно варианту осуществления настоящего изобретения;

Фиг. 25 - блок-схема алгоритма процедуры начального обнаружения для начального обнаружения отображений между элементами пространства имен высокого уровня и защищаемыми объектами согласно варианту осуществления настоящего изобретения;

Фиг. 26 - блок-схема алгоритма процедуры запланированного во времени обнаружения для обнаружения отображений между пространствами имен и элементами пространства имен и защищаемыми объектами, расположенными в месте образования, согласно варианту осуществления настоящего изобретения;

Фиг. 27 - блок-схема алгоритма процедуры создания группы автоматического обнаружения согласно варианту осуществления настоящего изобретения;

Фигуры 28 и 29 - блок-схема алгоритма процедуры обновления группы автоматического обнаружения согласно варианту осуществления настоящего изобретения;

Фиг. 30 - блок-схема последовательности операций трансляции целей защиты в план для защиты набора данных согласно варианту осуществления настоящего изобретения;

Фигуры 31 и 32 - блок-схема алгоритма процедуры трансляции целей для трансляции целей защиты в подробный план для защиты физических объектов, расположенных в месте образования, согласно варианту осуществления настоящего изобретения;

Фиг. 33 - блок-схема алгоритма процедуры создания плана защиты для создания плана защиты для защищенной группы согласно варианту осуществления настоящего изобретения;

Фиг. 34 - блок-схема алгоритма процедуры исполнения плана подготовки для исполнения плана подготовки согласно варианту осуществления настоящего изобретения;

Фиг. 35 - блок-схема алгоритма процедуры проверки правильности для проверки правильности копии данных, расположенных в месте хранения, согласно варианту осуществления настоящего изобретения;

Фиг. 36 - блок-схема алгоритма процедуры запланированной во времени проверки правильности для проверки правильности копии объектов, расположенных в месте хранения, согласно варианту осуществления настоящего изобретения;

Фиг. 37 - блок-схема переходов из состояния в состояние для части места хранения и/или всего места хранения согласно варианту осуществления настоящего изобретения;

Фиг. 38 - блок-схема алгоритма процедуры повторного запуска для повторного запуска процедуры трансляции целей вслед за прерыванием, которое появилось во время предыдущего выполнения процедуры трансляции целей, согласно варианту осуществления настоящего изобретения;

Фиг. 39 - процедура создания плана архивной защиты для создания плана архивирования данных согласно варианту осуществления настоящего изобретения;

Фиг. 40 - таблица, иллюстрирующая пример различных вариантов создания, которые можно использовать для создания схемы архива, согласно варианту осуществления настоящего изобретения;

Фиг. 41 - схема последовательности операций процедуры выделения носителя для архивирования данных согласно варианту настоящего изобретения;

Фиг. 42 - блок-схема системы защиты данных согласно варианту осуществления настоящего изобретения;

Фигуры 43-44 - блок-схема алгоритма процедуры мониторинга пересылки данных, выполняемой системой защиты данных, согласно варианту осуществления настоящего изобретения;

Фиг. 45 - блок-схема системы защиты данных, которая повторно запускает передачу записей изменений из места образования в место хранения, согласно варианту настоящего изобретения;

Фигуры 46 и 47 - блок-схемы алгоритма процедуры проверки правильности для проверки правильности реплики согласно варианту осуществления настоящего изобретения;

Фиг. 48А - блок-схема алгоритма процедуры обработки команд для обработки команд, принятых в месте образования, согласно варианту осуществления настоящего изобретения;

Фиг. 48В - блок-схема алгоритма процедуры передачи данных для передачи записей изменений из места образования в место хранения согласно варианту осуществления настоящего изобретения;

Фиг. 48С - блок-схема алгоритма процедуры проверки правильности для проверки правильности данных согласно варианту осуществления настоящего изобретения;

Фиг. 49А - блок-схема алгоритма процедуры обработки команд для обработки команд, принятых в месте хранения, согласно варианту осуществления настоящего изобретения;

Фиг. 49В - блок-схема алгоритма процедуры приема записи для приема записи в месте хранения согласно варианту осуществления настоящего изобретения;

Фиг. 49С - блок-схема алгоритма процедуры применения записей изменений для использования записей изменений для реплики в месте хранения согласно варианту осуществления настоящего изобретения;

Фиг. 50 - блок-схема задания, содержащего множество задач, согласно варианту осуществления настоящего изобретения;

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

Фиг. 52 - блок-схема алгоритма процедуры задания по компенсации для идентификации отказа задачи и создания задания по компенсации, если эта задача была критической, согласно варианту осуществления настоящего изобретения;

Фиг. 53 - блок-схема последовательности операций диагностирования проблем, связанных с копией и временными версиями, и для формирования отчета с предложенными корректировками, если обнаружена проблема, согласно варианту осуществления настоящего изобретения;

Фигуры 54-56 - блок-схема последовательности операций, описывающая детали процедуры диагностики копии для диагностирования потенциальных проблем с копированием данных в системе защиты данных согласно варианту осуществления настоящего изобретения;

Фигуры 57-58 - блок-схема последовательности операций, описывающая процедуру диагностики временной версии для диагностирования потенциальных проблем с временной версией, созданной системой защиты данных, согласно варианту осуществления настоящего изобретения;

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

Подробное описание предпочтительного варианта осуществления изобретения

На фиг. 1А представлена блок-схема системы защиты данных для управления защитой и восстановлением данных согласно варианту осуществления настоящего изобретения. Варианты осуществления системы 100 защиты данных, описанные здесь, предоставляют пользователю, такому как системный администратор, возможность легко управлять защитой и восстановлением данных. Как правило, управление данными и защита данных требуются для данных, которые активно создаются и модифицируются в месте 103 образования. Эти данные защищаются и хранятся в виде реплики или копии данных в месте 105 хранения. Место хранения может быть удалено от места образования и/или находиться там же, где место образования. Помимо этого, место хранения может включать в себя множество мест для различных видов хранения. Например, реплики данных могут поддерживаться в одном месте, а архив этих данных может поддерживаться в другом месте. Соответственно, место хранения в общем случае описывает любую комбинацию и/или тип места, где данные могут сохраняться и защищаться.

Как будет здесь описано, система 100 защиты данных включает в себя средство 101 защиты данных, которое осуществляет связь с местом 103 образования и местом 105 хранения, для мониторинга защиты и потока данных между местом 103 образования и местом 105 хранения. Как показано на фиг. 1А, средство 101 защиты данных может существовать в одном вычислительном устройстве, таком как сервер, или быть распределено по множеству вычислительных устройств. Средство 101 защиты данных разворачивает агенты и осуществляет связь с агентами, расположенными в различных вычислительных устройствах в системе 100 защиты данных, такими как место 103 образования и/или место 105 хранения, для предоставления возможности распределенного управления и организации защиты данных между множеством устройств. Примеры типов защиты данных, обеспечиваемых системой 100 защиты данных, включают в себя, но не в ограничительном смысле, дублирование с помощью временных версий, обычное архивирование на съемном носителе, таком как лента или диск, и комбинацию дублирования и архивирования. Очевидно, что с вариантами осуществления настоящего изобретения можно использовать любой другой вид и/или комбинацию видов защиты, и что дублирование, временные версии и архив являются просто примерами.

На фиг. 1В показан альтернативный вариант осуществления системы 100 защиты данных. В частности, средство 110 защиты данных может находиться частично или полностью в месте 111 образования. В указанном варианте осуществления средство 110 защиты данных обеспечивает связь между собой и местом 111 образования и между собой и средством 113 хранения.

На фиг. 1С показан еще один вариант осуществления системы 100 защиты данных, которая используется для защиты и восстановления данных, согласно варианту осуществления настоящего изобретения. Как показано на фиг 1С, средство 120 защиты данных может находиться частично или целиком в месте 123 хранения. В указанном варианте осуществления средство 120 защиты данных обеспечивает связь между собой и местом 123 хранения и между собой и местом 121 образования.

На фиг. 2 представлена еще одна блок-схема системы 200 защиты данных для защиты и восстановления данных согласно варианту осуществления настоящего изобретения. Система 200 защиты данных показывает, что со средством 201 защиты данных может взаимодействовать множество мест образования, таких как место1 203 образования, место2 205 образования вплоть до местаN 207 образования для хранения реплик и/или временных версий данных, исходящих из мест образования. Средство2 201 защиты данных осуществляет связь с местами 203, 205, 207 образования и обеспечивает защиту данных, находящихся в этих местах образования, в соответствующем месте хранения, таком как местоА 209 хранения, местоВ 211 хранения и местоХ 213 хранения. Описанные здесь варианты осуществления можно использовать с любым количеством и любой комбинацией мест образования и мест хранения данных.

Как будет очевидно и как показано на фигурах 1А-2, для защиты и восстановления данных можно использовать любой тип конфигурации системы защиты данных согласно вариантам осуществления настоящего изобретения.

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

Для предоставления пользователям возможности выбора данных на логическом уровне система защиты данных обеспечивает пользователей логическим представлением данных, сохраненных в месте образования, в виде «пространства имен» и «элементов пространства имен». Пространство имен, как здесь описано, является логическим представлением приложения. Например, приложения, которые могут быть представлены в системе защиты данных в виде пространств имен, включают в себя, но не в ограничительном смысле, распределенную файловую систему («DFS»), локальную файловую систему, и пространства имен Web-приложений, такие как SharePoint, пространства имен и Exchange. Как будет очевидно, список примерных приложений приведен исключительно в иллюстративных целях и не предполагает какое-либо ограничение. С системой защиты данных можно использовать любой тип приложения и идентифицировать его в качестве пространства имен.

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

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

Каждый элемент пространства имен используется для локализации одного или нескольких физических объектов (данные), называемых здесь «защищаемые объекты», которые могут быть добавлены в защищенную группу. После локализации защищаемые объекты сразу могут быть выбраны для защиты. Когда защищаемый объект выбирается для защиты, этот выбранный защищаемый объект становится «защищенным объектом», который является частью защищенной группы. Защищаемый объект, как здесь описано, является физической информацией/данными, которые можно защитить. Например, защищаемым объектом может быть, но не в ограничительном смысле, папка, файл, ящик электронной почты, база данных, Web-сайт и т.д. Использованный здесь защищенный объект является защищаемым объектом, который был идентифицирован и выбран для защиты.

В дополнение к созданию защищенных групп пользователь может задать на высоком уровне то, каким образом, когда (как часто) и как долго он хочет, чтобы была защищена защищенная группа. Помимо этого, пользователь может задать желаемую длительность сохранения копий и архивов защищенной группы. Указанные описания высокого уровня могут распространяться на все действия по защите, такие как дублирование, архивирование, управление носителями и любую их комбинацию. На основе описаний, предоставленных пользователем, создается детальный план для защиты объектов защищенной группы.

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

На фиг.3 представлена блок-схема системы 300 защиты данных, описывающая начальный выбор и защиту защищаемых объектов, которые находятся в месте образования, согласно варианту осуществления настоящего изобретения. Как показано на фиг. 3, система 300 защиты данных разворачивает агенты для места 305 образования, чтобы разрешить восстановление защищаемых объектов, расположенных в месте 305 образования, и идентифицирует пространства имен и элементы пространства имен, соответствующие этим защищаемым объектам. Эти пространства имен и элементы пространства имен публикуются для взаимодействия с пользователем и отображаются на пользовательском интерфейсе 303.

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

Изображение 400 на экране дисплея показывает пространство 401 имен ROOTS (корни) DFS и пространство 403 имен SERVERS (серверы). Пространство 401 имен ROOTS DFS включает в себя два элемента 405, 407 пространства имен, оба из которых являются корнями DFS. Элементами пространства имен, идентифицированными под пространством 401 имен ROOTS DFS являются \\ABCD\PUBLIC 405 и \\EFG\PRIVATE 407. Кроме того, пространство 403 имен SERVERS включает в себя несколько элементов 409, 411, 413, 415, 421, 423, 425 пространства имен. Эти элементы пространства имен могут также включать в себя несколько дополнительных элементов пространства имен. Например, SERVER1 409 включает в себя несколько типов элементов пространства имен, таких как тип 411 элемента пространства имен SHARES (совместно используемые ресурсы). Аналогично, тип 411 элемента пространства имен SHARES включает в себя элемент 413 пространства имен SHARE1 и элемент 415 пространства имен SHARE2. Помимо этого, элемент 411 пространства имен SHARES, элемент 413 пространства имен SHARE1 и элемент 415 пространства имен SHARE2 являются логическими представлениями защищаемых объектов.

Пользователь может взаимодействовать с изображением 400 пространств имен и элементов пространства имен на экране дисплея, выбирая развернутые или свернутые блоки, к примеру развернутый блок 417. Кроме того, пользователь может выбрать один или несколько элементов пространства имен для защиты, выбрав блок выбора, например блок 419 выбора. В альтернативном варианте осуществления, в дополнение к возможности выбора элементов пространства имен для защиты, пользователь имеет возможность выбрать пространство имен для защиты.

Вновь обратимся к фиг.3, где после представления изображения 400 пространств имен и элементов пространства имен на пользовательском интерфейсе 303 пользователь выбирает, какие элементы пространства имен он хочет защитить с помощью системы 300 защиты данных. Кроме того, пользователь может обеспечить «цели защиты» для выбранных элементов пространства имен. Цели защиты, как здесь описано, являются описанием высокого уровня того, каким образом выбранные данные должны быть защищены. Например, пользователь может указать, что выбранные элементы пространства имен должны быть защищены путем создания резервной копии объектов один раз каждой ночью и поддержания еженедельных копий в течение одного года. Выбранные элементы пространства имен и соответствующие цели защиты пересылаются из пользовательского интерфейса 303 в средство 301 защиты данных.

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

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

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

При подготовке места 307 хранения для защиты, как более подробно обсуждается ниже, средство 301 защиты данных выделяет необходимые ресурсы (посредством плана ресурсов) для сохранения копии физических объектов по запросу пользователя. Для начала защиты инициируется задание для создания начальной копии выбранных защищаемых объектов, запомненных в месте 305 образования, передачи этой копии и запоминания ее в месте 307 хранения. Если копия является репликой, то тогда проверяется ее правильность, чтобы обеспечить ее соответствие посредством исполнения задания по проверки правильности. Если копия архивируется на съемный носитель, то начальной копией является полная резервная копия выбранных защищаемых объектов. После создания начальной копии средство 301 защиты данных создает задания для периодического обновления копии или создает дополнительные копии (как в случае с архивом) с изменениями, которые были внесены в информацию, находящуюся в месте 305 образования.

Для идентификации защищаемых объектов, запомненных в месте 305 образования, связанном с выбранными элементами пространства имен, средство 301 защиты данных отображает логические объекты (элементы пространства имен) в физические объекты (защищаемые объекты). Вновь обратимся к фиг. 4, где отображены два пространства имен, пространство 401 имен ROOTS DFS и пространство 403 имен SERVERS, каждое из которых имеет множество элементов пространства имен. Пользователь может выбрать одно или несколько элементов пространства имен. В одном варианте осуществления, когда выбран один элемент пространства имен, по умолчанию также выбираются все содержащиеся в нем элементы пространства имен. При использовании в качестве примера фиг. 4 получается, что, если пользователь выбирает группу1 421 хранения на сервере SERVER1 409, то тогда автоматически также выбираются базы данных DATABASE А 423 и DATABASE B. Пользователь может не выбрать один или несколько элементов пространства имен.

Каждый элемент пространства имен отображается в один или несколько защищаемых объектов, расположенных в месте 305 образования. Например, элемент пространства имен \\ABCD\PUBLIC 405 отображается во множество защищаемых объектов. Обратимся к фиг. 5, где элемент пространства имен \\ABCD\PUBLIC 505 отображается в три защищаемых объекта, находящихся в месте 305 образования. В частности, элемент пространства имен \\ABCD\PUBLIC 505 отображается в D:\folder на сервере server1 507, D:\folder на сервере server2 509 и F:\ на сервере server3 511. Каждый из защищаемых объектов 507, 509, 511 находится в месте 305 образования.

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

На фиг. 6 показана блочная диаграмма одной такой схемы, связывающей типы пространств имен и типы элементов пространства имен, представляющих схему томов, согласно варианту осуществления настоящего изобретения. Эта схема представлена в виде направленного графа, где узлы в графе представляют типы элементов пространства имен в пространстве имен приложения, а связи представляют отношения включения и соединения между элементами пространства имен. Отношения включения и отношения соединения между типами элементов пространства имен представляют все возможные варианты отношений между отдельными типами. Обратимся к фиг. 6, где отношения включения показаны в виде линий с одной стрелкой, а отношения соединения показаны в виде линий с двойной стрелкой. Например, элемент 603 пространства имен типа «корень DFS» может представлять соединение 617 с элементом 609 пространства имен типа «совместно используемый ресурс» 609, а совместно используемый ресурс 609 может представлять соединение 619 с томом 611 или соединение с папкой 615.

Отношение включения является прямым отношением родитель/потомок между элементами пространства имен, где родитель логически содержит потомков. Например, домен 601 содержит 623 сервер 607 и содержит 625 корень 603 DFS. Сервер 607 содержит 627 совместно используемые ресурсы 609 и содержит 629 тома 611. Том 611 содержит 631 папки 615 и содержит 633 точки 613 монтирования. Папка 615 может содержать другие папки и содержать файлы (не показаны).

Отношение соединения является отношением источник/адресат, где элемент пространства имен источника является логическим синонимом для элемента пространства имен адресата, что означает, что пути источника и адресата представляют один и тот же базовый объект в двух разных пространствах имен. Отношение соединения может быть отношением по принципу “от одного к многим”. То есть, один элемент источника может иметь множество элементов пространства имен адресата, и в этом случае адресаты представляют альтернативные места, из которых извлекают базовые данные, представленные источником. Например, корень 603 DFS может отображаться 617 на множество совместно используемых ресурсов 609 в качестве адресатов. Отношение соединения может также быть отношением по принципу “от многих к одному”, то есть адресат соединения может иметь множество логических имен в других пространствах имен. Например, папка 615 может иметь множество совместно используемых ресурсов 609, отображающихся 621 в эту папку 615.

Кроме того, множество логических элементов пространства имен может отображаться в один и тот же защищаемый объект. Например, элемент 513 пространства имен SHARE1 отображается в E:\PRIVATE на сервере server1 515. Аналогичным образом элемент 517 пространства имен SERVER2 может также отображаться в E:\PRIVATE на сервере server1 515.

На фиг. 7 показана блочная диаграмма для схемы отображения логического элемента пространства имен в физический защищаемый объект согласно варианту осуществления настоящего изобретения. В частности, схема 700 показывает, что домен ABCD 701 имеет отношение включения с общедоступным корнем 703 DFS и тремя серверами 7005. Аналогичными образом общедоступный корень 703 DFS имеет отношение включения с тремя связями 707 DFS, включая связь1 707А, связь2 707В и связь3 707С. Каждая из связи1 707А, связи2 707В и связи3 707С включает отношение соединения с совместно используемым ресурсом 711. В частности, связь1 707А включает в себя соединение с \\server1\share, связь2 707В включает в себя соединение с \\server2\share, а связь3 707С включает в себя соединение с \\server3\share. Каждый из \\server1\share, \\server2\share, \\server3\share является логическим объектом в пространстве имен, отличном от пространства имен DFS. Это показано обходом соединения 719 между связью 707 DFS и совместно используемом ресурсом 711. В частности, \\server1\share, \\server2\share и \\server3\share находятся в пространстве имен сервера UNC. Обратимся к совместно используемому ресурсу 711, где для завершения отображения \\ABCD\PUBLIC определяется, во что отображается каждый из совместно используемых ресурсов. Как обсуждалось выше, совместно используемый ресурс может отображаться в том 713 и/или папку 717. Таким образом, в продолжение данного примера определяется, что логический объект \\server1\share отображается в физический объект D:\folder на сервере server1; \\server2\share отображается в D:\folder на сервере server2 и \\server3\share отображается в F:\на сервере server3. D:\folder на сервере server1, D:\folder на сервере server2 и F:\ на сервере server3 являются тремя физическими защищаемыми объектами, представленными логическим объектом \\ABCD\PUBLIC 505.

Как показано на примере по фиг. 7, используя схему 600 (фиг. 6), можно определить из логического элемента пространства имен отношение отображения в физические объекты, хранящиеся в месте образования, которые представлены элементом пространства имен. Из каждой точки в схеме 600 известно, поиск каких отношений может быть осуществлен из этой точки для связи со следующей частью отображения.

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

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

Место образования включает в себя объекты нескольких различных типов, которые могут быть защищены. Например, на фиг. 8 показана блок-схема места 800 образования, содержащего защищаемые объекты, которые могут быть защищены системой защиты данных, согласно варианту осуществления настоящего изобретения. В место 800 образования включены три сервера 801, 803 и 805. Каждый сервер может представлять собой собственное вычислительное устройство или группу вычислительных устройств в виде единого сервера. Каждый сервер может находиться в едином центре или быть географически распределенным.

В сервере, таком как сервер-1 801, содержится один или несколько «источников данных». Используемый здесь источник данных является высоким уровнем абстракции данных приложения, с которыми работает средство защиты данных. Источник данных раскрывает свои физические данные в виде одного или нескольких защищаемых объектов, причем сам источник данных может быть защищаемым объектом. Источник данных содержится в одном сервере, причем сервер может содержать один или несколько источников данных. Например, сервер-1 801 включает в себя два источника данных: источник 1 данных (DS1) 807 и источник 2 данных (DS2) 821.

Аналогичным образом источник 1 данных (807) содержит шесть защищаемых объектов 809, 811, 813, 815, 817 и 819. Подобным же образом, источник 2 данных (821) содержит два защищаемых объекта 823 и 825. В дополнение к источникам данных, содержащих защищаемые объекты, эти источники данных сами могут быть защищаемыми объектами. Кроме того, защищаемые объекты могут содержать другие защищаемые объекты. Например, источник 3 данных (835) содержит восемь защищаемых объектов 827, 829, 831, 833, 837, 839, 841, 843. Защищаемый объект 837 содержит защищаемый объект 839, который содержит защищаемые объекты 841 и 843.

Сервер-3 805 содержит четыре источника данных: источник 4 данных (DS4) 845, источник 5 данных (DS5) 851, источник 6 данных (DS6) 857 и источник 7 данных (DS7) 859. Каждый из четырех источников 845, 851, 857 и 859 данных может представлять собой защищаемые объекты. В источнике 4 (845) содержатся два защищаемых объекта 847 и 849. Источник 5 данных (851) содержит два защищаемых объекта 853 и 855, источник 6 данных (857) не содержит защищаемых объектов, а источник 7 данных (859) содержит два защищаемых объекта 861 и 863.

Каждый защищаемый объект является защищаемым объектом конкретного типа, что позволяет системе защиты данных раскрывать защищаемые объекты в каждом источнике данных на различных уровнях. Например, система защиты данных может раскрывать источник данных группы хранилища Exchange со всей полнотой в виде защищаемого объекта с типом защищенного объекта группы хранилища. Она может также разделить источник данных одной и той же группы хранилища на множество защищаемых объектов, причем каждый защищаемый объект относится к защищаемому объекту типа «база данных». Один и тот же защищаемый объект может относиться даже к двум или более различным типам защищаемых объектов. Например, система защиты данных может раскрыть том на блочном уровне в виде защищаемого объекта одного типа, а на уровне файла в виде защищаемого объекта другого типа.

Примеры источников данных включают в себя, но не в ограничительном смысле, операционные системы, системные тома, группы хранилища Exchange, базы данных SQL и т.д. Примеры типов защищаемых объектов для сервера включают в себя, но не в ограничительном смысле, системные защищенные файлы и средства хранения данных операционной системы, такие как системный реестр и активный каталог. Типы защищаемых объектов для томов файловой системы включают в себя, но не только, каталоги и файлы. Логические объекты тома файловой системы могут быть локализованы совместно используемым файловым ресурсом или элементами пространства имен адресата, связанного с DFS. Типы защищаемых объектов для группы хранилища Exchange включают в себя, но не в ограничительном смысле, базы данных и почтовые ящики.

Как было описано выше, каждый выбираемый элемент пространства имен отображается в один или несколько защищаемых объектов, таких как защищаемые объекты 801-863 (фиг. 8). Каждый защищаемый объект относится к одному типу защищаемого объекта, и каждый защищаемый объект находится в одном источнике данных. Кроме того, каждый источник данных находится в одном сервере места образования.

Вновь обратимся к примеру, где пользователь выбирает элемент пространства имен \\ABCD\PUBLIC 405 (фиг. 4) и продолжается отображение этого элемента пространства имен в защищаемые объекты, как описано в связи с фигурами 5 и 7, причем отображение этих защищаемых объектов и их объединение в защищенную группу описывается ниже в связи с фигурами 9А-9В, согласно варианту осуществления настоящего изобретения.

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

Вновь обратимся к предыдущему примеру, где элемент пространства имен \\ABCD\PUBLIC 405 отображается в три разных защищаемых объекта: D:\folder на сервере server1 507, D:\folder на сервере server2 509 и F:\ на сервере server3. Если следовать отображению, описанному в связи с фиг. 7, и обратиться к фиг. 9А, то D:\folder на сервере server1 507 относится к папке 909, содержащейся в источнике данных D:\907 на сервере server1 901. D:\folder на сервере server2 509 относится к папке 927, содержащейся в источнике данных D:\931 на сервере server2 903. Наконец, F:\ на сервере server3 511 относится к источнику данных от F:\ 951 на сервере server3 905. Обратимся к фиг. 9В, где выбор элемента пространства имен \\ABCD\PUBLIC 505 отображается в защищенные объекты, описанные в связи с фиг.9А, причем эти объекты связаны с защищенной группой 930. Как было описано выше, защищаемые объекты, которые содержатся в выбранном защищенном объекте, могут быть автоматически включены в защищенную группу. Например, выбор \\ABCD\PUBLIC 505, который отображается частично в F:\ 951 на сервере server3 905, будет включать в себя дополнительные защищаемые объекты 953 и 955, так как они содержатся в защищенном объекте F:\ 951 на сервере server3 905. Как показано на фиг 9В, защищенная группа 930 может содержать защищенные объекты, расположенные на других серверах, таких как сервер1 901, сервер2 903 и сервер3 905.

На фиг. 10 показана блок-схема защищенной группы, содержащей выбранные элементы пространства имен, отображенные защищенные объекты и свойства защищенной группы согласно варианту осуществления настоящего изобретения. В частности, защищенная группа 1030 содержит элемент пространства имен \\ABCD\PUBLIC 1005, каждый из отображенных защищенных объектов, описанных в связи с предыдущим примером, и защищенные объекты, содержащиеся в выбранных защищенных объектах. В частности, защищенная группа 1030 включает в себя защищенные объекты D:\folder на сервере server1 1009, D:\folder на сервере server2 1027. Помимо этого, защищенная группа 1030 включает в себя защищенный объект F:\ на сервере server3 1051 и два защищенных объекта 1053, 1055, содержащихся в защищенном объекте F:\ на сервере server3 1051.

Каждая защищенная группа, такая как защищенная группа 1030, включает в себя план 1040 группы, который может включать в себя календарный план 1041, правила 1043 распределения пространства и т.д. План группы включает в себя задания и другую информацию для защиты группы. Защищенные группы собирают защищенные объекты для упрощения работы. Все защищенные объекты в защищенной группе совместно используют один и тот же план группы, созданный из одного и того же набора целей защиты.

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

Далее со ссылками на фигуры 11, 12, 13, 16, 23В, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 48А, 48В, 48С, 49А, 49В, 49С, 52, 53, 54, 55, 56, 57, 58 и 59 описываются различные процедуры, реализованные согласно вариантам осуществления настоящего изобретения. Специалистам в данной области техники очевидно, что эти процедуры могут быть реализованы на одном вычислительном устройстве, таком как сервер, или распределены по нескольким вычислительным устройствам. На фигурах 11, 12, 13, 16, 23В, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 48А, 48В, 48С, 49А, 49В, 49С, 52, 53, 54, 55, 56, 57, 58 и 59 показаны блоки для выполнения конкретных функций. В альтернативных вариантах осуществления может быть использовано больше или меньше блоков. В одном варианте осуществления настоящего изобретения блок может представлять программу, программный объект, программную функцию, процедуру, программный метод, программный экземпляр, кодовый фрагмент, аппаратную операцию или пользовательскую операцию, в единственном числе или в комбинации.

На фиг. 11 представлена блок-схема процедуры конфигурации для конфигурирования плана для защиты защищенной группы согласно варианту осуществления настоящего изобретения. Процедура 1100 конфигурации начинается с блока 1101, и в блоке 1103 процедура получает результат выбора элементов пространства имен и цели защиты от пользователя, взаимодействующего с пользовательским интерфейсом. Как будет описано ниже, пользователь может выбрать для защиты множество элементов пространства имен. Предложенные цели защиты используются для всех выбранных элементов. В блоке 1105 выбранные элементы пространства имен отображаются в соответствующие защищаемые объекты.

В блоке 1107 принятия решения определяется, были ли выбраны дополнительные элементы пространства имен для их включения вместе с ранее выбранными элементами пространства имен. Если в блоке 1107 принятия решения определено, что дополнительные элементы пространства имен были выбраны, то процедура возвращается к блоку 1103 для получения выбранных элементов пространства имен. Однако, если в блоке 1107 принятия решения определено, что дополнительных элементов пространства имен не имеется, то в блоке 1109 средство защиты данных создает защищенную группу для выбранных элементов пространства имен, которые будут использованы для защиты соответствующих защищаемых объектов, отображенных в блоке 1105. Защищаемые объекты, добавленные в защищенную группу, становятся защищенными объектами.

В блоке 1111 создается план группы для защиты на основе целей защиты, обеспеченных пользователем в блоке 1103. План группы для защиты может включать в себя частоту защиты и требуемый тип защиты. Примеры типов защиты включают в себя, но не в ограничительном смысле, «фоновую защиту», «защиту резервного копирования» и архивную защиту. Фоновая защита относится к типу защиты, когда защита практически непрерывна (например, копии обновляются каждый час, 24 часа в день, семь дней в неделю). Защита резервного копирования относится к тому типу защиты, когда защита планируется для выполнения в конкретные моменты времени (например, раз за ночь, каждую ночь). План группы применяется ко всем защищенным объектам защищенной группы. Создание плана группы подробно описано ниже и называется «трансляция целей» (фигуры 31-34).

В блоке 1113 место образования, содержащее защищенные объекты, и место хранения, где будет храниться копия объектов, подготавливаются для защиты. Например, средство защиты данных делает начальную копию данных, которая сохраняется в месте хранения, а затем проверяется ее правильность. После возобновления защиты, как показано в блоке 1115, и после того как защищенные объекты, связанные с выбранными элементами пространства имен, были скопированы и запомнены, процедура в блоке 1117 заканчивается.

На фиг. 12 показана процедура создания защищенной группы, которая более подробно описывает создание защищенной группы, относящееся к блоку 1109 (фиг. 11), согласно варианту осуществления настоящего изобретения. Процедура 1200 создания защищенной группы начинается в блоке 1201, а в блоке 1203 принимается результат выбора элементов пространства имен, для которых должна быть выполнена защита. Помимо этого, также принимаются цели защиты для выбранных элементов пространства имен. В блоке 1205 принятия решения определяется, должны ли принятые элементы пространства имен быть добавлены в новую защищенную группу или они должны быть включены в существующую защищенную группу. Если определено, что элементы пространства имен не должны быть добавлены в новую защищенную группу, то в блоке 1207 получают результат выбора существующей защищенной группы, в которую должны быть включены элементы пространства имен.

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

Обратимся вновь к блоку 1205 принятия решения, где в случае, если определено, что принятые элементы пространства имен должны быть добавлены в новую защищенную группу, то в блоке 1213 выполняют разрешение любого перекрытия источников данных, связанных с этими элементами пространства имен. В блоке 1215 принимается имя для новой защищенной группы. В одном примере имя новой защищенной группы может быть предоставлено пользователем через пользовательский интерфейс. В альтернативном варианте имя для защищенной группы может быть создано автоматически самой системой защиты данных. В блоке 1217 создается план группы для защищенной группы в зависимости от целей защиты, предоставленных ранее системе защиты данных. В блоке 1219 процедура создания защищенной группы завершается.

На фиг. 13 показана процедура обнаружения перекрытия, соответствующая блокам 1209 и 1213 (фиг. 12), для обнаружения перекрытия источников данных, находящихся в двух или более защищенных группах, согласно варианту осуществления настоящего изобретения. Процедура 1300 обнаружения перекрытия начинается с блока 1301, а в блоке 1303 принятия решения определяется, находится ли в данный момент источник данных любых защищаемых объектов, связанных с выбранным элементом пространства имен, в другой защищенной группе (существующей защищенной группе). Если определено, что нет источников данных, содержащих защищаемый объект, которые связаны с выбранным элементом пространства имен, находящимся в существующей защищенной группе, то процедура в блоке 1313 заканчивается и возвращает управление к подходящей процедуре, такой как процедура 1200 создания защищенной группы (фиг. 12).

Однако, если определено, что источник данных защищаемого объекта, связанного с выбранным элементом, содержится в существующей защищенной группе (то есть, перекрывается), то в блоках 1305-1307 определяется, каким образом должно быть разрешено обнаруженное перекрытие. В действующем варианте осуществления настоящего изобретения разрешение перекрытия зависит от того, что определил пользователь. Например, если обнаружено перекрытие, пользователю может быть предоставлена возможность исключения защищаемого объекта перекрывающегося источника данных («конфликтный защищаемый объект») из текущей защищенной группы (1305) или удаления источника данных, содержащего конфликтный защищаемый объект, вызывающий перекрытие, из существующей защищенной группы и добавление его в текущую защищенную группу (1307). В альтернативном варианте осуществления пользователем может быть обеспечена глобальная стратегия для разрешения перекрытий, которая используется для прохождения через процедуру 1300 обнаружения перекрытия. В еще одном варианте осуществления попытки добавить защищаемый объект в защищенную группу, который вызовет перекрытие, приведут к отказу.

В блоке 1305 принятия решения определяется, должен ли конфликтный защищаемый объект быть исключен из защищенной группы, в которую он в настоящее время добавлен (текущая защищенная группа). Если в блоке 1305 принятия решения определено, что конфликтный защищаемый объект должен быть исключен из текущей защищенной группы, то защищаемый объект удаляют из текущей защищенной группы, но оставляют в существующей защищенной группе, которая вызвала конфликт, а процедура обнаружения перекрытия возвращает управление в процедуру инициирования, как показано в блоке 1313.

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

Если в блоке 1307 принятия решения определено, что источник данных конфликтного защищаемого объекта и все находящиеся защищенные объекты не должны быть удалены из существующей защищенной группы и добавлены в текущую защищенную группу, то процедура 1300 защиты перекрытия создает отказ перекрытия, как показано в блоке 1311, и завершается в блоке 1313.

Подобно тому как пользователь может защищать физические объекты (защищаемые объекты), хранящиеся в месте образования, путем выбора элементов пространства имен, представляющих эти защищаемые объекты, он может также восстановить физические объекты (восстанавливаемые объекты) путем выбора элементов пространства имен, представляющих физические объекты, подлежащие восстановлению. На фиг. 14 представлена блок-схема системы защиты данных, иллюстрирующая ход процесса восстановления защищенного объекта согласно варианту осуществления настоящего изобретения. Для восстановления объектов пользователь выбирает один или несколько элементов пространства имен, представляющих защищенные объекты, которые должны быть восстановлены. В ответ на прием результата выбора элемента пространства имен средство 1401 защиты данных запрашивает место 1403 хранения, чтобы идентифицировать временные версии восстанавливаемых объектов, связанных с выбранными элементами пространства имен, которые предоставил пользователь. В альтернативном варианте осуществления не обязательно запрашивать место 1403 хранения, чтобы идентифицировать временные версии. Например, для восстановления из архива средство 1401 защиты данных может идентифицировать временные версии путем поиска в каталоге или базе данных, которая содержит информацию, идентифицирующую имеющиеся временные версии. Идентифицированные временные версии синтезируются и предоставляются пользователю в виде моментов времени, в которые данные могут быть восстановлены.

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

На фиг. 15 представлена блок-схема, где показан более подробный вид восстанавливаемых объектов, которые могут содержаться в месте 1403 хранения, согласно варианту осуществления настоящего изобретения. В общем случае восстановление возвращает поврежденный или пропущенный защищенный объект (или его части) к предыдущей временной версии. Создание временных версий может быть дискретным или практически непрерывным. Дискретные временные версии получаются из сохраняющихся полных копий защищенных объектов в отдельные моменты времени. Восстановление дискретной временной версии может потребовать только реконструкцию защищенного объекта или может потребовать дополнительную обработку по восстановлению после реконструкции. Практически непрерывные временные версии получаются из сохраняющихся копий журнала регистрации, связанного с защищенным объектом. Восстановление появляется посредством повтора транзакций журнала регистрации. В варианте осуществления настоящего изобретения восстановление с повтором транзакций может быть остановлено в любой момент времени, отмеченный в журнале регистрации.

Как здесь описано, восстанавливаемые объекты представляют возможности для восстановления защищенного объекта. Каждый восстанавливаемый объект может быть создан из одного или нескольких источников восстановления. Источник восстановления может находиться во временной версии, связанной с репликой, в реплике, на ленте с архивом или архивной копии на диске.

Обратимся теперь к фиг. 15, где защищенный объект 1509 может содержать один или несколько восстанавливаемых объектов 1511, 1513, 1515, 1517, 1519, 1521. В общем случае восстанавливаемые объекты могут иметь более мелкую структуру, чем защищенные объекты. Например, защищенный объект может быть папкой, такой как D:\folder на сервере server1 1509. Этот защищенный объект 1509 может содержать множество восстанавливаемых объектов. Например, защищенный объект D:\folder на сервере server1 1509 может содержать шесть восстанавливаемых объектов, в том числе, файл1 1511, файл2 1513, файл3 1515, файл4 1517, файл5 1519 и файл6 1521. Вдобавок защищенный объект 1509 также является восстанавливаемым объектом.

Исходный выбор защищенного объекта и способа защиты часто определяет имеющиеся восстанавливаемые объекты и/или действия, необходимые для восстановления. Например, если защищенный объект является группой хранилища Exchange, содержащей базы данных, которые содержат почтовые ящики, то все базы данных в группе хранилища могут быть защищены неявным образом. Может быть восстановлена либо вся группа хранилища, либо одна или несколько баз данных, а значит и восстанавливаемые объекты. Если защита выполняется только посредством архивирования (описано ниже) и без дублирования (репликации), то восстановление почтового ящика по всей вероятности потребует очень большого времени (будет дорогостоящим). Если защита выполняется путем дублирования, а также архива, восстановление почтового ящика из реплики может выполняться существенно быстрее (дешевле).

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

На фиг. 16 показана процедура восстановления для восстановления защищенных объектов из места хранения согласно варианту осуществления настоящего изобретения. Процедура 1600 начинается с блока 1601, и в блоке 1603 принимается результат выбора элементов пространства имен для восстановления от пользователя, взаимодействующего с элементами пространства имен, визуально отображенными на пользовательском интерфейсе. Пользователь может также предоставить цели восстановления для данных, подлежащих восстановлению. В блоке 1605 принимается результат выбора конкретной версии для моментов времени, в которые должны быть восстановлены данные. В варианте осуществления настоящего изобретения пользователь предоставляет момент времени, в который должно произойти восстановление. В другом варианте осуществления временные версии для выбранных элементов пространства имен могут быть идентифицированы и предоставлены пользователю для выбора.

В блоке 1607 определяется, были ли выбраны дополнительные элементы для восстановления. Если определено, что дополнительные элементы для восстановления были выбраны, то процедура возвращается к блоку 1603 и принимает результат выбора этих дополнительных элементов пространства имен для восстановления. Однако, если определено, что нет дополнительных элементов для восстановления, то в блоке 1609 восстанавливаемые объекты отображаются в подходящие источники восстановления, расположенные в месте хранения, с использованием схемы отображения, обсужденной выше, и принятых целей восстановления.

После идентификации необходимых источников восстановления в блоке 1611 создается план восстановления. План восстановления включает в себя процесс синтеза требуемых версий восстанавливаемых объектов в определенные моменты времени из соответствующих источников восстановления. В блоке 1613 указанный план выполняется, и восстанавливаются идентифицированные восстанавливаемые объекты. В блоке 1615 процедура восстановления заканчивается.

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

Группы автоматического обнаружения являются механизмом описания того, что должно быть защищено, в виде запроса, а не дискретного набора физических ресурсов. Предположим, например, что организация назвала все файловые серверы в виде \\FILESRV*, к примеру, \\FILESRV1, \\FILESRV2 и т.д. Пользователь для этой организации может создать группу автоматического обнаружения, которая выполняет периодический поиск всех совместно используемых ресурсов в любом сервере под именем \\FILESRV*. Группа автоматического обнаружения найдет все указанные совместно используемые ресурсы и даст возможность пользователю либо выбрать, либо отказаться от защиты любого защищаемого объекта, находящегося или связанного с этими совместно используемыми ресурсами. Кроме того, в варианте осуществления настоящего изобретения группу автоматического обнаружения можно периодически многократно оценивать и уведомлять пользователя о любых новых совместно используемых ресурсах, причем ему предоставляется возможность либо принять, либо отказаться от защиты этих новых совместно используемых ресурсов. Кроме того, повторная оценка идентифицирует любые существующие совместно используемые ресурсы, которые были удалены, и предоставляет пользователю уведомление об удалении.

Группы автоматического обнаружения также могут быть использованы средством защиты данных для отслеживания отображения между элементами пространства имен и защищаемыми объектами. Вновь обратимся к вышеупомянутому примеру и предположим, что пользователь защитил путь \\ABCD\PUBLIC. Система защиты данных автоматически создает группу автоматического обнаружения, содержащую имя \\ABCD\PUBLIC и отображение в ее защищенные объекты, такие как D:\folder на сервере server1, D:\folder на сервере server2 и F:\folder на сервере server3. Если в будущем \\ABCD\PUBLIC изменяется для ссылки на другие папки, либо на том же самом севере, либо на другом сервере, то пользователь будет проинформирован средством защиты данных об этом изменении, и будет предоставлена возможность скорректировать защиту.

На фигурах 17-24 показана блок-схема для создания и использования группы автоматического обнаружения согласно варианту осуществления настоящего изобретения. Для объяснения фигур 17-24 положим, что система защиты данных была установлена в рабочем пространстве, содержащем несколько серверов (показано в виде места 1703 образования), которые желательно защитить.

После инициализации системы 1700 защиты данных средство 1701 защиты данных запрашивает место 1703 образования, чтобы идентифицировать пространства имен и элементы пространства имен, представляющие защищаемые объекты, которые содержатся в месте образования. Средство 1701 защиты данных сообщает эти пространства имен и элементы пространства имен пользователю через пользовательский интерфейс 1705 в виде иерархии пространств имен и содержащихся в них элементах пространств имен для взаимодействия и выбора пользователем.

Пользователь, взаимодействующий с пользовательским интерфейсом 1705, может выбрать один или несколько элементов пространства имен для защиты, таких как элемент 1707 пространства имен \\ABCD\PUBLIC. В дополнение к выбору элементов пространства имен для защиты пользователь предоставляет цели защиты, идентифицирующие то, каким образом пользователь хочет, чтобы соответствующие защищаемые объекты были защищены. Выбранные элементы пространства имен и указание целей защиты возвращаются в средство 1701 защиты данных.

Обратимся теперь к фиг. 18, где средство 1701 защиты данных отображает выбранные элементы пространства имен в защищаемые объекты, расположенные в месте 1703 образования. Например, после выбора элемента пространства имен \\ABCD\PUBLIC 1707 средство защиты данных отображает этот элемент пространства имен в защищаемые объекты, используя схему пространства имен, как было описано выше. Это отображение определяет, что элемент пространства имен \\ABCD\PUBLIC 1707 отображается в защищаемый объект D:\folder на сервере server1 1709 и защищаемый объект D:\folder на сервере server2 1711. В альтернативном варианте осуществления во время начального восстановления элементов пространства имен эти элементы в это время могут отображаться в соответствующие защищаемые объекты.

Средство 1701 защиты данных создает защищенную группу, которая содержит выбранные элементы пространства имен, идентификацию защищаемых объектов, которые становятся защищенными объектами, группу 1713 автоматического обнаружения и таблицу 1715 группы автоматического обнаружения. Как обсуждалось выше, на основе целей, предложенных пользователем, защищенная группа также включает в себя план группы, который описывает, каким образом защищенная группа в действительности должна быть защищена. Группа 1703 автоматического обнаружения включает в себя параметр поиска в пространстве имен, такой как \\ABCD\PUBLIC\*, и текущее отображение этого элемента пространства имен в защищенные объекты D:\folder на сервере server1 и D:\folder на сервере server2. Создание группы 1713 автоматического обнаружения, которая содержит параметр поиска в пространстве имен для выбранного элемента пространства имен, обеспечивает средство защиты данных возможностью последовательного поиска добавлений, удалений и переотображений в место образования, которые соответствуют параметру поиска в пространстве имен. О любых таких изменениях сообщают пользователю посредством предупреждения, если они могут представлять интерес для защиты. Предупреждения могут быть предоставлены пользователю в различных видах. Например, предупреждение может быть предоставлено через пользовательский интерфейс, электронную почту, посредством пейджинговой связи, речевого сообщения и т.д.

В дополнение к созданию группы 1713 автоматического обнаружения средство 1701 защиты данных создает таблицу 1715 группы автоматического обнаружения, которая содержит идентификацию текущего отображения в защищенные объекты и информацию, касающуюся этих защищенных объектов. Эта информация, в частности, включает в себя сведения о том, соответствует ли отображение в защищенный объект параметрам группы автоматического обнаружения, содержащимся в группе 1713, как указано в столбце 1717 соответствия; является ли защищенный объект ожидающим в настоящий момент действия пользователя, как указано в столбце 1719 ожидания обработки; защищен ли в данный момент отображенный защищенный объект согласно плану группы, как указано в столбце 1721 «защищен по плану» («PP»); и защищен ли в настоящий момент отображенный защищенный объект пользователем, как указано в столбце 1731 «защищен пользователем» («PU»). Как обсуждается ниже, объект может быть защищен пользователем, но еще не защищен системой защиты данных. Например, пользователь может указать, что хочет защитить конкретный объект, сделав объект защищенным пользователем, однако этот объект может оказаться незащищенным по плану до тех пор, пока не будет завершена трансляция целей для этого защищенного объекта.

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

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

В целях объяснения вновь обратимся к примеру, описанному в связи с фигурами 17-24, где группа автоматического обнаружения активизируется, а результаты 1723 работы группы автоматического обнаружения (фиг. 19) определяют, что защищаемым объектом, соответствующим параметрам поиска \\ABCD\PUBLIC\* группы автоматического обнаружения, является только защищаемый объект D:\folder на сервере server2. Средство 1701 защиты данных сравнивает результаты 1723 группы автоматического обнаружения с таблицей 1715 группы автоматического обнаружения. В этом примере определяется, что защищенный объект D:\folder на сервере server1 больше не соответствует параметрам поиска группы автоматического обнаружения. D:\folder на сервере server1 может больше не соответствовать параметрам поиска из-за множества различных причин. Например, D:\folder на сервере server1 может больше не существовать или D:\folder на сервере server1 больше не отображается под \\ABCD\PUBLIC.

После сравнения таблица 1715 обновляется, чтобы показать, что защищенный объект D:\folder на сервере server1 не соответствовал результатам и, следовательно, больше не соответствует параметрам поиска группы автоматического обнаружения, как показано символом «N» в столбце 1717 соответствия. Кроме того, таблица 1715 группы автоматического обнаружения обновляется для защищенного объекта D:\folder на сервере server1, чтобы показать, что взаимодействие с пользователем в настоящий момент ожидается для этого защищенного объекта, как показано символом «Y» в столбце 1719. Взаимодействие с пользователем в данный момент ожидается, поскольку защищенный объект больше не соответствует параметрам группы автоматического обнаружения. D:\folder на сервере server1 остается отмеченным как защищенный по плану и защищенный пользователем, как показано символами Y в столбце 1721 PP и столбце 1731 PU.

Также обновляется таблица 1715 группы автоматического обнаружения для того, чтобы показать, что D:\folder на сервере server2 соответствует параметрам поиска группы автоматического обнаружения и остается защищенным по плану и пользователем, как показано символом «Y» в столбцах 1721 и 1731 соответственно. Наконец, имеется указание в отношении того, что ни одно действие пользователя не ожидается для защищенного объекта D:\folder на сервере server2, поскольку он действительно соответствует параметрам поиска и защищен, как показано символом «N» в столбце 1719 ожидания обработки.

Обратимся теперь к фиг. 20, где на следующее утро после того как была выполнена группа автоматического обнаружения, обновлена таблица группы автоматического обнаружения и создано предупреждение, пользователь обращается к системе защиты данных и уведомляется системой защиты данных о том, что защищенный объект D:\folder на сервере server1 больше не соответствует параметрам поиска группы автоматического обнаружения.

В ответ на это система защиты данных принимает от пользователя указание удалить защищенный объект из защищенной группы. Средство 1701 защиты данных обновляет группу автоматического обнаружения, удаляя отображение D:\folder на сервере server1 из защищенной группы, и обновляет таблицу 1715 группы автоматического обнаружения. В частности, D:\folder на сервере server1 помечается как больше не защищенный пользователем, что показано символом «N» в столбце 1731 PU и отмечается как больше не ожидающий обработки, как показано символом «N» в столбце 1719. В этот момент D:\folder на сервере server1 остается защищенным по плану, так как трансляция целей еще не была повторно выполнена для удаления D:\folder на сервере server1 из защищенной группы.

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

На фиг. 21 продолжается предыдущий пример, и в некоторый момент времени после того, как пользователь указал, что больше не хочет защищать D:\folder на сервере server1, выполняется трансляция целей. После выполнения трансляции целей обновляется план группы, и D:\folder на сервере server1 удаляется из защищенной группы. Хотя D:\folder на сервере server1 больше не защищен защищенной группой, существующие временные версии защищенной группы продолжают храниться в месте хранения и могут быть использованы для восстановления D:\folder на сервере server1 вплоть до момента, когда он больше не защищен по плану. После завершения трансляции целей обновляется таблица 1715 группы автоматического обнаружения. В частности, D:\folder на сервере server1 помечается как незащищенный по плану, что показано символом «N» в столбце 1721 PP.

В некоторый момент времени после завершения трансляции целей вновь исполняется группа автоматического обнаружения, запрашивая место 1703 образования и заново отображая параметры поиска группы автоматического обнаружения в объекты, находящиеся в месте 1703 образования. После завершения отображения параметров поиска группы автоматического обнаружения предоставляются результаты 1725 группы автоматического обнаружения, которые включают в себя указание о том, что параметры поиска отображаются в защищенный объект D:\folder на сервере server2 и новый защищенный объект E:\folder на сервере server2 1727. Средство 1701 защиты данных сравнивает эти результаты с таблицей 1715 группы автоматического обнаружения. Это сравнение указывает, что защищенный объект D:\folder на сервере server2 вновь соответствует параметрам поиска группы автоматического обнаружения, не ожидает действия пользователя и остается защищенным как пользователем, так и планом группы. Вдобавок, новый защищаемый объект E:\folder на сервере server2 соответствует параметрам поиска группы автоматического обнаружения, не защищен в данный момент планом группы, что показано символом «N» в столбце 1721 PP, не защищен в данный момент пользователем, что показано символом «N» в столбце 1731 PU, и ожидается действие пользователя в текущий момент, что показано символом «Y» в столбце 1719 ожидания обработки. После завершения сравнения таблица 1715 группы автоматического обнаружения обновляется, чтобы идентифицировать новое отображение и состояние всех объектов.

Защищаемый объект E:\folder на сервере server2 в данный момент не защищен по плану или пользователем, поскольку он был заново идентифицирован группой автоматического обнаружения. Система 1701 защиты данных создает предупреждение, которое передается пользователю, чтобы указать, что в место образования был добавлен новый защищаемый объект, аналогичный защищенным объектам в защищенной группе. Предупреждение создается потому, что пользователь может быть заинтересован в дополнительной защите в качестве части защищенной группы этого вновь идентифицированного защищаемого объекта.

На фиг. 22 пользователь принял предупреждение и обеспечил ответ для начала защиты вновь идентифицированного защищаемого объекта, который был автоматически идентифицирован группой автоматического обнаружения. Защищаемый объект E:\folder на сервере server2 также добавляется в защищенную группу и становится таким образом защищенным объектом. Аналогичным образом средство 1701 защиты данных добавляет в таблицу 1715 группы автоматического обнаружения указание того, что объект E:\folder на сервере server2 больше не является ожидающим действия пользователя, защищен пользователем, но в данный момент не защищен по плану.

На фиг. 23А вышеуказанный пример продолжается, и в некоторый момент времени после указания пользователя о добавлении вновь идентифицированного защищаемого объекта в защищенную группу, выполняется трансляция целей, и E:\folder на сервере server2 становится защищенным по плану. После завершения трансляции целей журнал 1715 регистрации группы автоматического обнаружения обновляется, чтобы показать, что E:\folder на сервере server2 теперь защищен по плану, как показано символом «Y» в столбце 1721 PP.

В некоторый момент времени после завершения трансляции целей средство 1701 защиты данных вновь выполняет процедуру группы автоматического обнаружения и заново отображает параметр поиска группы автоматического обнаружения \\ABCD\PUBLIC\* в объекты, расположенные в месте 1703 образования. После завершения процедуры группы автоматического обнаружения средство защиты данных идентифицирует отображения D:\folder на сервере server2 и E:\folder на сервере server3 1729. Эти результаты используют для сравнения и обновления таблицы 1715 группы автоматического обнаружения, чтобы показать, что защищенный объект D:\folder на сервере server2 вновь соответствует параметрам поиска автоматического обнаружения, не является ожидающим действия пользователя, остается защищенным системой защиты данных и остается защищенным пользователем. Кроме того, указывается, что ранее защищенный объект E:\folder на сервере server2 не был идентифицирован процедурой автоматического обнаружения, но остается защищенным пользователем и планом защиты и, следовательно, является ожидающим действия пользователя. Наконец, идентифицируется добавление нового защищаемого объекта E:\folder на сервере server3 как соответствующего параметрам поиска группы автоматического обнаружения; однако он в данный момент не защищен пользователем или планом защиты как заново идентифицированный и поэтому является ожидающим действия пользователя. После обновления таблицы автоматического обнаружения средство 1701 защиты данных выдает предупреждение, включающее в себя идентификацию того, что ранее защищенный объект E:\folder на сервере server2 больше не соответствует параметрам поиска группы автоматического обнаружения и что E:\folder на сервере server3 добавлен в место образования и соответствует параметрам поиска группы автоматического обнаружения. Это предупреждение может указывать пользователю, что защищенный объект E:\folder на сервере server2 возможно был перемещен в E:\folder на сервере server3. Без автоматического обнаружения указанного изменения пользователь мог бы продолжать защищать старый объект и не предусмотреть защиту для нового объекта.

На фиг. 23В показана процедура разрешения переотображения для разрешения переотображения защищенного элемента пространства имен, к примеру определенного на фиг. 23А, согласно варианту осуществления настоящего изобретения. Процедура 2300 разрешения нового отображения выполняется, когда определено, что элемент пространства имен возможно был удален. Например, \\ABCD\PUBLIC\LINK3, который ранее был отображен в E:\folder на сервере server2, может быть переотображен в E:\folder на сервере server3.

Процедура 2300 разрешения переотображения начинается в блоке 2301. В блоке 2303 оценивается группа автоматического обнаружения и определяется, что защищенный элемент пространства имен был переотображен из одного защищаемого объекта на другой. В блоках 2305-2309 принятия решения определяется, каким образом должно быть разрешено переотображение.

В частности, в блоке 2305 принятия решения определяется, должно ли быть эксклюзивно защищено переотображение. Если определено, что переотображение должно быть эксклюзивно защищено, то в блоке 2311 старое отображение помечается как защищенное пользователем, а новое отображение помечается как незащищенное. Однако, если в блоке 2307 принятия решения определено, что старое отображение не должно быть эксклюзивно защищено, то в блоке 2309 принятия решения определяется, следует ли защищать оба отображения.

Если в блоке 2309 определено, что следует защищать оба отображения, то в блоке 2311 оба отображения помечаются как защищенные пользователем. Однако, если определено, что оба отображения не должны защищаться, то в блоке 2311 оба отображения отмечаются как незащищенные пользователем.

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

На фиг. 24 показано, что, как и с предыдущими частями данного примера, пользователю предоставляется предупреждение, идентифицирующее изменения, обнаруженные ранее выполненной процедурой группы автоматического обнаружения. Пользователь выбирает обновление отображения параметров поиска группы автоматического обнаружения, чтобы включить вновь идентифицированный защищаемый объект E:\folder на сервере server3 и удалить отображение старого защищенного объекта E:\folder на сервере server2 (блок 2305, фиг. 23В). Система 1701 защиты данных, в ответ на прием от пользователя указания на обновление отображения, обновляет защищенную группу, чтобы включить в нее новый защищенный объект. Кроме того, средство 1701 защиты данных обновляет таблицу 1715 группы автоматического обнаружения для идентификации того, что E:\folder на сервере server2 больше не защищен пользователем, но в данный момент остается защищенным по плану, и указания о том, что новое отображение защищенного объекта E:\folder на сервере server3 защищено пользователем, но еще не защищено по плану.

В некоторый момент времени, после того как пользователь указал изменения, выполняется трансляция целей, удаляющая E:\folder на сервере server2 из-под защиты по плану группы и добавляющая E:\folder на сервере server3 в защиту по плану группы. Как будет очевидно, трансляция целей может выполняться в любой момент времени вслед за указанием пользователя об изменении защищенной группы (либо добавление объекта, либо удаление объекта). Например, трансляция целей может быть выполнена немедленно после того, как пользователь указал изменение защищенной группе, или несколькими днями позднее. Кроме того, процедура группы автоматического обнаружения и трансляция целей могут не зависеть друг от друга. Процедура группы автоматического обнаружения может выполняться много раз между указанием пользователя об изменении в защищенной группе и выполнением трансляции целей. В указанном случае после обновления группы автоматического обнаружения не будет создаваться предупреждение для объекта, изменяющегося, когда пользователь уже обеспечил команды, даже если действительное изменение в плане группы еще не появилось.

На фиг. 25 показана блок-схема процедуры начального обнаружения для начального обнаружения отображений между элементами пространства имен самого верхнего уровня и защищаемыми объектами согласно варианту осуществления настоящего изобретения. Процедура 2500 начального обнаружения начинается с блока 2501, а в блоке 2503 идентифицируются пространства имен и элементы пространства имен всех легко обнаруживаемых объектов места образования. Легко обнаруживаемые объекты являются объектами самого верхнего уровня места образования. Например, пространства имен и элементы пространства имен могут быть легко обнаружены для объектов самого верхнего уровня, таких как корни DFS, серверы, серверы Exchange и серверы STS. В блоке 2505 обнаруженные пространства имен и элементы пространства имен самого верхнего уровня места образования сохраняются в памяти (например, база данных) средства защиты данных. В блоке 2507 процедура 2500 начального обнаружения завершается.

На фиг. 26 показана блок-схема процедуры запланированного во времени обнаружения для обнаружения отображений между пространствами имен и элементами пространства имен и защищаемыми объектами, расположенными в месте образования, согласно варианту осуществления настоящего изобретения. В частности, процедура 2600 запланированного во времени обнаружения начинается с блока 2601, а в блоке 2603 выполняется процедура 2500 (фиг. 25) начального обнаружения, и идентифицируются элементы пространства имен высокого уровня места образования. Как обсуждалось выше, сохраненная копия элементов пространства имен самого верхнего уровня может быть использована системой защиты данных, чтобы предоставить пользователю возможность навигации в месте образования и/или поиска конкретных частей места образования без необходимости повторного обнаружения места образования во время поиска, что увеличивает время поиска и навигации и снимает нагрузку с места образования.

В блоке 2605 принятия решения определяется, есть ли какие-либо существующие сохраненные поиски (обсуждается ниже), которые должны выполняться. Если в блоке 2605 принятия решений определяется, что имеются сохраненные поиски, подлежащие выполнению, то в блоке 2607 эти сохраненные поиски выполняются. Однако, если в блоке 2605 определено, что сохраненные поиски не существуют, то в блоке 2609 принятия решения определяется, существуют ли какие-либо группы автоматического обнаружения, которые должны быть обновлены. Если в блоке 2609 определено, что существуют группы автоматического обнаружения, подлежащие обновлению, то в блоке 2611 эти группы автоматического обнаружения обновляются, как было описано ранее в связи с примером по фигурам 17-24. Процедура завершается в блоке 2617.

На фиг. 27 показана блок-схема процедуры создания группы автоматического обнаружения согласно варианту осуществления настоящего изобретения. Процедура 2700 создания группы автоматического обнаружения начинается с блока 2701, и в блоке 2703 принимают результат выбора элементов пространства имен, которые пользователь хочет защитить. В дополнение к приему результата выбора элементов пространства имен также принимаются защищаемые объекты, связанные с этими элементами пространства имен. В блоке 2705 разрешается любое перекрытие источников данных, связанных с этими элементами пространства имен. Разрешение перекрытия обсуждалось выше в связи с фиг. 13.

После разрешения перекрытия в блоке 2707 создается список групп автоматического обнаружения, идентифицирующий выбранные элементы пространства имен. Помимо этого, создается параметр запроса, который включается в группу автоматического обнаружения, используемую для идентификации других элементов пространства имен, которые аналогичны выбранным элементам пространства имен. Параметр запроса может быть выражен в терминах физических ресурсов (например, все тома на сервере1), некоторого запроса в пространстве имен (например, все совместно используемые ресурсы под DFS ROOT\products корень DFS\продукты), или некоторой комбинации (например, все совместно используемые ресурсы на серверах с именами \\FILESRV*). Кроме того, параметр запроса может быть основан на некотором свойстве ранее существующих элементов пространства имен.

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

Группа автоматического обнаружения, созданная как было описано выше в связи с фиг. 27, является способом описания объектов, которые потенциально должны быть защищены, в виде запроса, а не в виде дискретного набора физических ресурсов. Как только обнаружено изменение, пользователь может либо одобрить, либо отвергнуть изменения в плане для защиты объектов, связанных с этой группой автоматического обнаружения и/или частью защищенной группы. Например, если группа автоматического обнаружения включает в себя параметр поиска для всех совместно используемых ресурсов на серверах \\FILESRV* и появился новый сервер \\FILESRV10 с десятью новыми совместно используемыми ресурсами, пользователь имеет возможность подтвердить или отвергнуть защиту каждого из этих новых совместно используемых ресурсов.

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

Система защиты данных автоматически создает и конфигурирует группы автоматического обнаружения для каждого элемента пространства имен, который пользователь хочет защитить. Например, если пользователь защищает совместно используемый ресурс1 на сервере \\FILESRV1, то система защиты данных конфигурирует группу автоматического обнаружения, содержащую отображение \\FILESRV1\share1 в физический ресурс (например, папка1 в томе Х: на сервере \\FILESRV1). Если \\FILESRV1\share1 исчезает или изменяется отображение из совместно используемого ресурса в физический объект, то пользователя уведомляют об изменении и предоставляют ему несколько возможных вариантов продолжения (фиг. 23В). Например, предположим, что \\FILESRV1\share1 теперь отображается в папку1 в томе1 Y. Пользователь имеет возможности продолжения защиты X:\folder1, прекращения защиты X:\folder1 и запуска защиты Y:\folder1 или защиты обоих объектов. Таким путем пользователь информируется о любых изменениях в элементе пространства имен, который он пытается защитить, и физических объектах, которые действительно защищены в данный момент.

На фигурах 28 и 29 показана блок-схема процедуры обновления группы автоматического обнаружения согласно варианту осуществления настоящего изобретения. Процедура 2800 обновления группы автоматического обнаружения начинается с блока 2801, а в блоке 2803 выбирается защищаемый объект из результатов группы автоматического обнаружения. Результаты группы автоматического обнаружения формируются после выполнения последовательности отображения группы автоматического обнаружения, идентифицирующей каждый из защищаемых объектов, в который отображаются элементы пространства имен этой группы автоматического обнаружения или которые были отображены ранее. В блоке 2805 принятия решения определяется, защищается ли в данный момент пользователем выбранный защищаемый объект.

Если в блоке 2805 принятия решения определено, что выбранный защищаемый объект в настоящее время пользователем не защищается, то в блоке 2807 принятия решения определяется, ожидает ли в данный момент выбранный защищаемый объект подтверждения от пользователя. Защищаемый объект может в данный момент ожидать подтверждение от пользователя на его добавление в защищенную группу, если он был ранее идентифицирован и о нем было сообщено пользователю через предупреждение, и пользователь не идентифицировал, должен ли этот объект быть добавлен к защищенной группе. Как обсуждалось выше в связи с фигурами 17-24, объект может быть идентифицирован как ожидающий подтверждения путем установки значения «Y» в столбце ожидания обработки таблицы группы автоматического обнаружения. Если в блоке 2807 принятия решения определено, что защищаемый объект не ожидает подтверждения, то в блоке 2809 принятия решения определяется, был ли выбранный защищаемый объект выведен из-под защиты. Как обсуждалось выше, защищаемый объект может быть выведен из-под защиты в результате идентификации пользователем того, что он не хочет, чтобы этот защищаемый объект защищался, а также не хочет получать уведомления об изменениях в этом защищаемом объекте. Указанная идентификация определяется отметкой о том, что объект в таблице группы автоматического обнаружения исключен пользователем.

Если в блоке 2809 принятия решения определяется, что выбранный защищаемый объект в настоящее время не выведен из-под защиты, то в блоке 2811 создается предупреждение, которое идентифицирует новый защищаемый объект и формирует запрос, чтобы пользователь подтвердил добавление этого защищаемого объекта в защищенную группу и/или дал ответ для избирательного исключения этого защищаемого объекта из защищенной группы. В блоке 2813 защищаемый объект помечается как ожидающий подтверждения пользователем, незащищенный пользователем и незащищенный по плану.

Если определяется, что выбранный защищаемый объект: в данный момент защищается пользователем (блок 2805); ожидает от пользователя подтверждения на защиту (2807); исключен из-под защиты (2809), в блоке 2815 принятия решения определяется, имеются ли дополнительные защищаемые объекты, идентифицированные как результаты группы автоматического обнаружения. Если в блоке 2815 принятия решения определено, что имеются дополнительные защищаемые объекты, то процедура возвращается к блоку 2803 и продолжается процесс обработки для каждого дополнительного защищаемого объекта, идентифицированного в качестве результата группы автоматического обнаружения. Однако, если в блоке 2815 принятия решения определено, что не имеется дополнительных защищаемых объектов, идентифицированных в качестве результатов группы автоматического обнаружения, то в блоке 2817 (фиг. 29) идентифицируется существующий защищенный объект группы автоматического обнаружения.

В блоке 2818 принятия решения определяется, отмечен ли существующий защищенный объект как защищенный пользователем. Если определяется, что существующий защищенный объект не отмечен как защищенный пользователем, то процедура переходит к блоку 2821 принятия решения. Однако, если определено, что существующий защищенный объект защищен пользователем, то в блоке 2819 принятия решения определяется, содержится ли существующий защищенный объект в результатах, созданных в результате выполнения группы автоматического обнаружения. Если в блоке 2819 принятия решения определяется, что существующий защищенный объект содержится во вновь созданных результатах группы автоматического обнаружения, то в блоке 2821 принятия решения определяется, имеются ли дополнительные существующие защищенные объекты группы автоматического обнаружения. Если в блоке 2821 определено, что есть дополнительные существующие защищенные объекты группы автоматического обнаружения, то процедура возвращается к блоку 2817 и продолжается ее выполнение. Если в блоке 2321 принятия решения определено, что нет дополнительных существующих защищенных объектов для группы автоматического обнаружения, то процедура заканчивается в блоке 2827.

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

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

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

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

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

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

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

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

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

Преобразование из целей защиты, идентифицированных пользователем, в детальный план для защиты объектов называется здесь и описывается как «трансляция целей». В действующем варианте осуществления настоящего изобретения трансляция целей оперирует с защищенной группой и целями защиты, предусмотренными для этой защищенной группы. Цели защиты выражены в виде логических представлений и могут быть сформулированы в качестве целевых установок. Целевые установки могут идентифицировать желаемый уровень защиты (глубина детализации), каким образом данные должны быть защищены, как долго данные должны быть защищены, как часто данные должны защищаться и т.д. Например, пользователь может определить цель защиты в виде «не отнимать более 30 минут времени у любого совместно используемого исполняемого файлового ресурса; оставлять весь контент в течение года». Глаголы из цели защиты используются в качестве действий для трансляции целей в детальный план для защиты объектов. Если обратиться к предыдущему примеру, то соответствующими действиями для этой цели будут: «дублировать тома и папки каждые 30 минут», «архивировать еженедельно» и «запоминать вне системы с сохранением на один год».

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

На фиг. 30 показана блок-схема последовательности операций трансляции целей защиты в план для защиты набора данных согласно варианту осуществления настоящего изобретения. Пользователь, взаимодействующий с системой защиты данных через пользовательский интерфейс 3003, выбирает список элементов пространства имен для защиты. Результат выбора элементов пространства имен для защиты пересылается в средство 3001 защиты данных, а средство защиты данных в ответ выдает пользователю через пользовательский интерфейс 3003 цели защиты по умолчанию. В частности, средство защиты данных после приема выбранных элементов пространства имен идентифицирует защищаемые объекты с выбранными элементами пространства имен и идентифицирует список целей защиты по умолчанию, который предоставляется пользователю.

Пользователь в соответствии с целями защиты по умолчанию взаимодействует с пользовательским интерфейсом 3003 и изменяет или выбирает соответствующую цель по умолчанию. Средство 3001 защиты данных принимает выбранные или модифицированные цели, сохраняет их и создает защищенную группу для объектов. Цели могут быть сохранены в любом формате, в том числе, но не в ограничительном смысле, в двоичной форме, на расширяемом языке разметки (XML) или в виде таблицы базы данных. Средство 3001 защиты данных применяет любые модификации к целям защиты по умолчанию и использует модифицированные цели защиты для создания детального плана для защиты защищенной группы, который также может быть сохранен в любом виде, включая, но не в ограничительном смысле, двоичную форму, язык XML или таблицу базы данных.

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

Для управления тем, каким образом происходит восстановление, может быть задано несколько различных целей восстановления. Например, цель перезаписи управляет тем, что случается, если при попытке восстановления файла в место образования определяется, что файл уже существует в месте образования. Может быть предусмотрено несколько альтернатив, в том числе, но не в ограничительном смысле, перезаписывать всегда, никогда не перезаписывать, использовать последнее действие из двух. Другой целью восстановления, которая может быть задана, является то, каким образом должна быть установлена безопасность восстановленных объектов. Например, может быть задано, что безопасность восстановленного объекта наследует безопасность от родительского объекта (например, безопасность файла, восстановленного в папку, получит такой же уровень безопасности, что и эта папка). Альтернативной моделью является восстановление безопасности восстановленного объекта точно туда, где он был при его резервировании. Цели также могут быть заданы, если восстановленный объект должен быть зашифрован во время передачи и/или при хранении.

На фигурах 31 и 32 показана блок-схема процедуры трансляции целей для трансляции целей защиты в детальный план для защиты физических объектов, расположенных в месте образования, согласно варианту осуществления настоящего изобретения. Процедура 3200 трансляции целей начинается с блока 3201, а в блоке 3203 принимаются выбранные элементы пространства имен, которые должны защищаться, и цели защиты, которые должны использоваться применительно к выбранным элементам пространства имен. Как было описано выше, элементы пространства имен отображаются в защищаемые объекты, расположенные в месте образования. Кроме того, как было описано выше, выбранные элементы пространства имен и связанные с ними защищаемые объекты компилируются системой защиты данных в защищенную группу, для которой применяются цели защиты. В блоке 3205 эта защищенная группа отмечается как находящаяся «под трансляцией». Присвоение защищенной группе метки «под трансляцией» предотвращает внесение пользователем изменений в защищенную группу, пока трансляция целей завершится успешно либо нет, что приведет к возврату, к исходной точке до внесения изменений.

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

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

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

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

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

В блоке 3213 процедура 3200 трансляции целей определяет, есть ли существующие задания и/или задачи, связанные в текущий момент с защищенной группой. Если в блоке 3213 принятия решения определено, что имеются существующие задания и/или задачи, связанные с защищенной группой, то в блоке 3215 отменяется регистрация этих заданий и задач, а любые активные задания завершаются, как показано в блоке 3217. Задания и задачи могут уже существовать для защищенной группы, если эта защищенная группа модифицируется, а не создается первый раз.

Если в блоке 3213 принятия решения определено, что нет существующих заданий и/или задач для защищенной группы, или после завершения существующих заданий и/или задач в блоке 3217, процедура 3200 трансляции целей в блоке 3219 создает и расписывает во времени план защиты. Как более подробно описано ниже, план защиты включает в себя список заданий, которые необходимы для поддержания во времени правильности копии защищенной группы в месте хранения. Кроме того, процедура 3200 трансляции целей в блоке 3221 создает и расписывает во времени план подготовки. Как более подробно описано ниже, план подготовки включает в себя список однократных заданий, которые используются для перевода места образования и места хранения в состояние, при котором могут быть выполнены задания, связанные с планом защиты и может быть обеспечена правильность защиты защищенной группы. Например, если речь идет о случае создания защищенной группы первый раз и она должна храниться в реплике, то не будет копии данных, связанных с защищенной группой, находящейся в этой реплике. Таким образом, одним из заданий, связанных с планом подготовки, может быть создание копии защищенных объектов и сохранение этой копии в реплике.

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

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

В блоке 3229 обновляется состояние вновь защищенных объектов и ранее защищенных объектов, которые были выведены из-под защиты, для отражения фактов их включения в план защиты и исключения из плана защиты. Защищенные объекты, которые помечены как имеющие ошибки выделения ресурсов в блоке 3209, возвращаются в «состояние ожидания обработки». В блоке 3231 все контрольные точки удаляются и защищенной группе присваивается метка «не находится под трансляцией». Если все защищенные объекты удалены, то защищенная группа может быть удалена. В блоке 3233 процедура 3200 трансляции целей завершается.

На фиг. 33 представлена блок-схема процедуры создания плана защиты для создания плана защиты для защищенной группы согласно варианту осуществления настоящего изобретения. Процедура 3300 создания плана защиты детально описывает создание и график выполнения плана защиты, о котором говорилось выше в связи с блоком 3219 (фиг. 31). Процедура 3300 создания плана защиты начинается с блока 3301, и в блоке 3303 создается и планируется во времени задание на копию для защищенной группы. Задание на копию является заданием, которое копирует изменения, появившиеся в одном или нескольких защищаемых объектах в месте образования, в копии соответствующего одного или нескольких защищаемых объектов, хранящихся в месте хранения. Например, если в течение дня пользователь модифицирует защищенные объекты, расположенные в месте образования, после выполнения задания копирования эти изменения копируются и пересылаются в место хранения, а копия обновляется, чтобы включить в себя эти изменения.

В блоке 3305 процедура 3300 создания плана защиты создает и планирует во времени задание на временную версию. Задание на временную версию является заданием, запланированным для создания действующих версий данных в месте хранения. Создание временных версий известно специалистам в данной области техники и подробно здесь не описывается.

В блоке 3307 создается и планируется во времени процедура проверки правильности. При исполнении задание выполняет процедуру проверки правильности, как подробно описано ниже в связи с фиг. 35. В блоке 3309 процедура 3300 создания плана защиты завершается.

На фиг. 34 представлена процедура исполнения плана подготовки для исполнения плана подготовки согласно варианту осуществления настоящего изобретения. Процедура 3400 исполнения плана подготовки начинается с блока 3401, и в блоке 3403 определяется, необходимы ли дополнительные ресурсы для защиты защищенной группы. Как было описано выше, создается план ресурсов для определения ресурсов, необходимых для защиты защищенной группы в месте хранения. В одном варианте осуществления эти ресурсы могут быть выделены во время выполнения плана ресурсов до создания и исполнения плана подготовки.

Если в блоке 3403 принятия решения определено, что ресурсы необходимы, то в блоке 3405 выполняются задания, созданные в плане ресурсов, для выделения этих ресурсов и выполняется выделение ресурсов.

После выделения ресурсов в блоке 3405 или если в блоке 3403 определено, что дополнительные ресурсы не нуждаются в защите защищенной группы, то в блоке 3407 создается начальная копия физических объектов, связанных с защищенной группой, которая пересылается в место хранения и запоминается в ранее выделенных ресурсах. Как только начальная копия защищенной группы создана и запомнена в месте хранения для дублирования, в блоке 3409 проверяется правильность этой копии вместе с фактическими физическими объектами, расположенными в месте образования. Проверка правильности обсуждается ниже в связи с фиг. 35.

В блоке 3411 принятия решения определяется, были ли удалены какие-либо защищенные объекты из защищенной группы. Если в блоке 3411 определено, что из защищенной группы были удалены защищенные объекты, то в блоке 3413 план подготовки включает в себя задания для прекращения мониторинга этих объектов, и эти объекты остаются защищаемыми объектами. Поскольку мониторинг потребляет ресурсы, задания приостанавливают мониторинг, когда он больше не нужен. В блоке 3415 процедура 3400 исполнения плана подготовки завершается.

Как упоминалось выше, для выполнения описанных здесь процедур можно использовать больше или меньше блоков. Например, когда копирование сопровождается загрузкой носителя, план 3400 подготовки не создает начальную копию данных (блок 3407). Аналогичным образом, когда копия создается для архива, план 3400 подготовки не создает начальную копию данных (блок 3407).

На фиг. 35 представлена блок-схема процедуры проверки правильности для проверки правильности копии данных, расположенных в месте хранения, согласно варианту осуществления настоящего изобретения. Процедура 3500 проверки правильности начинается с блока 3501, а в блоке 3503 процедура 3500 проверки правильности получает параметр проверки правильности для физических объектов, расположенных в месте образования. Как будет очевидно специалистам в данной области техники, параметр проверки правильности может представлять собой контрольную сумму физических объектов, расположенных в месте образования. В альтернативном варианте параметр проверки правильности может являться моментом последнего изменения физических объектов в месте образования или размером физических объектов, находящихся в месте образования. В общем случае параметр проверки правильности может относиться к любому типу идентификации для физических объектов, расположенных в месте образования.

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

В блоке 3507 параметры проверки правильности защищенных объектов в месте образования, полученные в блоке 3503, и параметры проверки правильности объектов в месте хранения, полученные в блоке 3505, сравниваются для подтверждения того, что объекты, расположенные в месте хранения, совпадают с защищенными объектами, расположенными в месте образования. В блоке 3509 принятия решения определяется, совпадают ли параметры, которые сравнивались в блоке 3507. Если в блоке 3509 определено, что параметры не совпадают, то в блоке 3513 процедура 3500 проверки правильности повторно копирует несовпадающие защищенные объекты из места образования и заменяет объекты, находящиеся в месте хранения, а затем переходит к блоку 3511 принятия решения.

Однако в случае, если в блоке 3509 принятия решения определено, что указанные параметры совпадают, то в блоке 3511 принятия решения определяется, имеются ли дополнительные данные для защищенной группы, правильность которых еще не проверена. Если определено, что правильность дополнительных данных, находящихся в месте хранения для защищенной группы, еще не проверена, то процедура проверки правильности возвращается к блоку 3503 и процесс продолжается. В альтернативном варианте, если в блоке 3511 принятия решения определено, что нет дополнительных данных, то проверяется правильность места хранения, и процедура проверки правильности в блоке 3515 завершается, что подтверждает совпадение объектов, расположенных в месте хранения, с защищенными объектами.

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

На фиг. 36 представлена блок-схема процедуры, запланированной во времени проверки правильности для проверки правильности копии объектов, расположенных в месте хранения, согласно варианту осуществления настоящего изобретения. Процедура 3600 запланированной во времени проверки правильности начинается с блока 3601, а в блоке 3603 эта процедура идентифицирует копию объектов защищенной группы, которые расположены в месте хранения, и должны быть проверены. В блоке 3605 принятия решения определяется, находится ли идентифицированная копия в правильном или в неправильном состоянии. Если в блоке 3605 принятия решения определено, что идентифицированная копия находится в правильном состоянии, то в блоке 3607 процедура 3600 запланированной во времени проверки правильности исполняет процедуру 3500 проверки правильности, описанную в связи с фиг. 35.

Однако, если в блоке 3605 принятия решения определено, что копия находится в правильном состоянии, то в блоке 3609 принятия решения определяется, нуждаются ли в подтверждении правильности дополнительные копии защищенных групп, расположенных в месте хранения. Если в блоке 3609 принятия решения определено, что дополнительные копии нуждаются в подтверждении их правильности, то процедура 3600 запланированной во времени проверки правильности возвращается к блоку 3603 и идентифицирует дополнительные копии, подлежащие проверке правильности, после чего процесс продолжается. Однако, если в блоке 3609 определено, что нет дополнительных копий, расположенных в месте хранения, правильность которых должна быть проверена, то процедура 3600 запланированной во времени проверки правильности завершается, как показано в блоке 3611.

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

Как только реплика окажется в неправильном состоянии, необходимо выполнить задание по проверке правильности для перевода ее в правильное состояние. Как обсуждалось выше, задание по проверке правильности обеспечивает соответствие копии в месте хранения защищенным объектам в месте образования.

В дополнение к тому что реплика находится в выделенном состоянии 3703, неправильном состоянии 3705 или правильном состоянии 3711, реплика может перейти в состояние 3713 пропуска. Например, со временем физический носитель, выделенный для реплики для конкретной защищенной группы, может выйти из строя, что переводит реплику в состояние пропуска. Из состояния 3713 пропуска система защиты данных при взаимодействии с пользователем определяет, необходимо ли продолжать защиту информации, которая была дублирована. Если для защищенной группы требуется продолжение защиты, то ресурсы выделяются повторно, что приводит к переводу реплики обратно в выделенное состояние 3703. Если определено из состояния 3713 пропуска, что информацию, связанную с этой репликой, защищать больше не требуется, то реплика может перейти в аннулированное состояние 3707, и система защиты данных больше не будет выполнять дублирование для защищенной группы.

Реплика может также временно перейти в состояние 3713 пропуска. Например, диск может быть временно отсоединен или недоступен из-за какой-либо аппаратной проблемы, после чего может вновь стать доступным. В таком случае, после того как диск опять стал доступным, реплика может вернуться в правильное состояние 3711 или неправильное состояние 3705.

Аннулированное состояние 3707 достигается в качестве реакции на указание пользователя о том, что защита защищенной группы больше не требуется. Реплика может перейти в аннулированное состояние 3707 из любого другого состояния. Например, если реплика находится в неправильном состоянии 3705, то пользователь может указать, что защита защищенных объектов, скопированных в реплике, больше не требуется, что переводит реплику в аннулированное состояние 3707. Перевод реплики в аннулированное состояние указывает системе защиты данных, что пользователь закончил защиту защищенных объектов, скопированных в реплике, а физический носитель, такой как жесткий диск, может быть возвращен в пул свободных носителей и может быть выделен для других защищенных групп.

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

На фиг. 38 показана блок-схема процедуры повторного запуска для повторного запуска процедуры трансляции целей после прерывания, которое появилось во время предыдущего исполнения процедуры трансляции целей, согласно варианту настоящего изобретения. Процедура 3800 повторного запуска начинается с блока 3801, и в блоке 3803 принятия решения эта процедура определяет, находилась ли защищенная группа под трансляцией целей. Если в блоке 3803 принятия решения определено, что защищенная группа была под трансляцией целей, то в блоке 3805 принятия решения определяется, все ли ресурсы были выделены для защищенной группы, находящейся под трансляцией целей. Если в блоке 3805 принятия решения определено, что были выделены все ресурсы, то тогда ресурсы, которые были выделены до повторного запуска, высвобождаются, как показано в блоке 3806. После высвобождения ранее выделенных ресурсов в блоке 3807 принятия решения определяется, была ли защищенная группа, находившаяся под трансляцией целей, новой защищенной группой. Если в блоке 3807 принятия решения определено, что защищенная группа не является новой защищенной группой, в блоке 3808 процедура возвращает новые объекты, которые были добавлены в существующую защищенную группу, в состояние ожидания обработки. В частности, новые объекты возвращаются в состояние, незащищенное пользователем и соответствующее ожиданию действия пользователя.

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

Вновь обратимся к блоку 3807 принятия решения, где, если определено, что защищенная группа, находившаяся под трансляцией целей, когда появилось прерывание, была новой защищенной группой, то в блоке 3811 все защищенные объекты новой защищенной группы возвращаются в состояние ожидания обработки (то есть, не защищены пользователем и ожидают действия пользователя), и процедура завершается в блоке 3817. В дополнение к возврату объектов в состояние ожидания обработки, защищенная группа также может быть удалена, так как в ней нет защищенных объектов.

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

Имеется несколько способов, с помощью которых можно защищать физические объекты в месте хранения. Например, могут поддерживаться реплики в вычислительном устройстве, таком как сервер; могут сохраняться архивные копии на физическом носителе, таком как лента или другой съемный носитель, и т.д. Тип защиты, требуемый пользователем, обеспечивается как часть целей защиты или целевых установок высокого уровня, которые транслируются в набор планов транслятором целей, как обсуждалось выше. Для архива данных на ленте или другом съемном носителе защита данных действует путем создания «наборов данных», которые содержат, в виде одного или нескольких физических фрагментов носителя, представление данных защищенной группы в конкретный момент времени или их изменения в соответствии с моментом времени. Набор данных порождается одним или несколькими архивными путями, связанными с одним или несколькими защищенными объектами. Кроме того, каждый набор данных может содержать один или несколько источников восстановления, поскольку участвовать в восстановлении может множество источников восстановления, причем для восстановления также может понадобиться множество наборов данных.

В отличие от других прикладных систем резервирования, где носитель является основным объектом управления, согласно варианту осуществления настоящего изобретения вместо самого носителя под управлением находятся наборы данных и связь наборов данных с носителем.

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

На фиг. 39 показана процедура создания плана архивной защиты для формирования плана архивирования данных согласно варианту осуществления настоящего изобретения. Процедура 3900 создания плана архивной защиты начинается с блока 3901, а в блоке 3903 эта процедура принимает вид защиты данных. Вид защиты данных идентифицируется пользователем в зависимости от того, хочет ли он архивировать свои данные на месте, вне системы или и на месте и вне системы. В дополнение к приему вида защиты данных в блоке 3905 процедура принимает длительность защиты данных. Длительность защиты данных является целью высокого уровня, предоставляемой пользователем и касающейся того, насколько далеко в прошлом он хочет иметь возможность восстанавливать защищенную информацию. Эти цели могут быть установлены в виде целевых установок и определять, что пользователь хочет иметь возможность восстановить.

Например, обеспечение цели «Я хочу иметь возможность восстанавливать данные вплоть до семилетней давности» будет оттранслировано в план архива, который даст возможность пользователю восстанавливать данные или информацию, которая существовала в месте образования семь лет назад. Длительность защиты данных может исчисляться годами, месяцами, неделями или днями. Как показано в блоке 3907 процедура 3900 создания плана архивной защиты также принимает цели календарного планирования, к примеру, когда пользователь хочет, чтобы появилось действие по архивированию данных. В альтернативном варианте осуществления также может быть принят формат защиты данных. Формат защиты данных включает в себя, но не в ограничительном смысле, полную резервную копию, дифференциальную резервную копию и инкрементную резервную копию. Используемая здесь полная резервная копия является резервной копией, в которой в место хранения копируются все защищенные объекты. Используемая здесь дифференциальная резервная копия является резервной копией, в которой в место хранения копируются защищенные объекты, которые были модифицированы с момента последнего полного резервирования. Используемая здесь инкрементная резервная копия является резервной копией, в которой копируются только те защищенные объекты, которые были модифицированы с момента прежнего резервного копирования (полного дифференциального или инкрементного). Как здесь обсуждалось, дифференциальная и инкрементная копия называются в общем случае «частичной резервной копией», и подразумевается, что такая копия идентифицирует любую из двух указанных. Пользователь может также задать, должен ли создаваться архив из исходных данных в месте образования или должен ли создаваться архив из копии в месте хранения.

На основе вида защиты данных и длительности защиты процедура 3900 создания плана архивной защиты определяет схему архива по умолчанию, которая удовлетворяет требованиям высокого уровня, заданным пользователем. В действующем варианте имеется четыре разных типа схем для архивирования данных. Первая схема, называемая «прадед, дед, отец, сын» (GGFS) обеспечивает: ежегодную полную резервную копию, которая поддерживается на месте в течение четырех недель, а одна копия поддерживается вне системы в течение нескольких лет; еженедельную полную резервную копию, которая поддерживается на месте в течение четырех недель, а одна копия поддерживается вне системы в течение четырех недель; ежедневную дифференциальную резервную копию, которая поддерживается на месте в течение двух недель. В альтернативном варианте осуществления могут поддерживаться копии только на месте или вне системы в зависимости от вида защиты, идентифицированного в блоке 3903. В другом варианте осуществления сама копия на месте может быть передана и поддерживаться вне системы после некоторого периода времени на основе вида защиты, идентифицированного в блоке 3903. Другая схема относится здесь к схеме «дед, отец, сын» (GFS). Схема GFS обеспечивает: ежемесячную полную резервную копию, которая поддерживается на месте в течение четырех недель, а одна копия поддерживается вне системы в течение года; еженедельную полную резервную копию, которая поддерживается на месте в течение четырех недель, а одна копия поддерживается вне системы в течение четырех недель; и ежедневную дифференциальную резервную копию, которая поддерживается на месте в течение двух недель.

Еще одна архивная схема названа здесь схемой «отец, сын» (FS). Схема FS обеспечивает еженедельную полную резервную копию, которая поддерживается на месте в течение четырех недель, а одна копия поддерживается вне системы в течение четырех недель, и ежедневную дифференциальную резервную копию, которая поддерживается на месте в течение двух недель. Другая архивная схема называется здесь схема «сын» (S). Схема S обеспечивает ежедневную полную резервную копию, которая поддерживается на месте в течение одной недели, а одна копия поддерживается вне системы в течение одной недели. Наконец, также доступна специальная процедура, которая обеспечивает резервную копию, отличную от нормальной схемы защиты. Это может быть полной резервной бессрочной копией, которая поддерживается на месте или вне системы.

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

Вновь обратимся к фиг. 39, где пользователю предоставляется архивная схема по умолчанию и предоставляется возможность переделать любую часть предложенной схемы. В блоке 3911 принятия решения определяется, предложил ли пользователь какие-либо переделки в определенную архивную схему. Если в блоке 3911 принятия решения определено, что пользователь предложил переделки, то в блоке 3913 архивная схема модифицируется для включения этих переделок. Переделки могут быть предложены для любой части схемы резервного копирования и могут быть разными по объему. Например, переделки могут включать в себя: формат резервной копии (полный, дифференциальный, инкрементный); количество местных копий, которые должны поддерживаться; количество внешних копий, которые должны поддерживаться; период сохранения для внешних копий; блокировать ли уровень S; следует ли проверять набор данных, созданный резервной копией, и когда это делать; должен ли архив быть в месте образования, месте хранения или где-то еще; начальный день недели, количество рабочих дней и т.д. Блокирование уровня S может потребоваться по различным причинам. Например, если пользователь реализовал как архив, так и дублирование, он может решить обойтись без ежедневной архивной защиты (уровень S) и положиться на дублирование для удовлетворения всех требований к восстановлению на месте.

Как только архивная схема, определенная в блоке 3909, была сочтена приемлемой или модифицирована, как показано в блоке 3913, в блоке 3915 процедура 3900 создания архивного плана создает планы, необходимые для защиты данных архивом. Как обсуждалось выше, планы, необходимые для защиты данных, могут включать в себя план ресурсов, план подготовки и план защиты. Наконец, после создания планов, как показано в блоке 3915, процедура 3900 создания плана архивной защиты завершается в блоке 3917.

На фиг. 40 показана таблица, иллюстрирующая пример различных поколений, которые могут быть использованы для создания архивной схемы, согласно варианту осуществления настоящего изобретения. Таблица 4000 идентифицирует сыновнее поколение 4001, имеющее инкрементный режим создания резервного копирования, который поддерживает одну копию на месте в течение двух недель, появляющуюся пять дней в неделю (например, с понедельника по пятницу) и не поддерживает копии вне системы. Отцовское поколение 4003 поддерживает полный режим резервного копирования с одной копией на месте, которая сохраняется в течение четырех недель, причем полное резервное копирование выполняется раз в неделю (например, в субботу), кроме одной недели в каждом месяце, когда оно не выполняется (например, последнюю субботу каждого месяца). Аналогичным образом, отцовское поколение 4003 поддерживает одну местную копию в течение четырех недель. Дедовское поколение 4005 имеет полный режим резервного копирования, которое поддерживает одну местную копию в течение четырех недель, причем эта копия создается раз в месяц (например, в последнюю субботу каждого месяца) за исключением одного месяца в году, когда это не выполняется (например, в последнюю субботу года). Помимо этого, дедовское поколение 4005 поддерживает одну местную копию в течение 12 месяцев. Наконец, прадедовское поколение 4007 имеет полный режим резервного копирования, который поддерживает одну местную копию, сохраняющуюся в течение четырех недель и создающуюся раз в год (например, в последнюю субботу года). Кроме того, прадедовское поколение 4007 поддерживает одну внешнюю копию в течение семи лет.

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

Как очевидно специалистам в данной области техники поколения, такие как «сын» 4001, «отец» 4003, «дед» 4005 и «прадед» 4007 могут быть модифицированы для использования различных вариантов в плане защиты, описанном в связи с фиг. 40. Единственным требованием является то, что родитель должен быть равноправен или выше по иерархии своего потомка. Например, если отцовскому поколению соответствует полное резервное копирование, то сыновнему поколению может соответствовать полное, дифференциальное или инкрементное резервное копирование. Помимо этого, количество копий, поддерживаемых на месте или вне системы, может составлять любую комбинацию от нуля до любого числа, желаемого пользователем. Время сохранения и частота создания копий также могут регулироваться по желанию пользователя.

В дополнение к созданию архивной схемы для долговременной защиты данных система защиты данных обеспечивает текущее выделение, чередование, хранение вне системы и вывод из эксплуатации носителя. Таким образом, согласно варианту осуществления настоящего изобретения пул носителей ассоциируется с каждой защищенной группой. Пул носителей является контейнером носителей, а также объектом, в который помещают различные цели для управления выделением и повторным использованием носителей. Как более подробно описано со ссылками на фиг. 41, имеется несколько типов целей для управления выделением носителя, например цели близкого местоположения. Примерами целей близкого местоположения, которые можно использовать согласно варианту настоящего изобретения, являются: цели близкого местоположения для задания, цели близкого местоположения для «сына» и цели близкого местоположения для «отец/сын». Цели близкого местоположения для задания пытаются использовать один и тот же носитель для задач в одном и том же задании. Это уменьшает количество монтирований/размонтирований носителя, когда задание имеет множество задач, и данные из этих задач установлены на одном участке носителя. Цель близкого местоположения для «сына» обеспечивает управление тем, каким образом используется носитель для задания для «сына» для архивных схем GGFS, GFS, FS или S. Если задана цель близкого местоположения для «сына», первое задание цикла для «сына» (такого как недельный цикл) начнется на новом участке носителя, но все последующие «сыновья» будут пытаться присоединиться к тому же участку носителя, пока он доступен и имеет достаточно пространства. Использование цели близкого местоположения для «отца/сына» приведет к созданию еженедельной полной и последующих ежедневных дифференциальных и инкрементных резервных копий, подлежащих запоминанию на одном и том же участке носителя.

На фиг. 41 представлена схема последовательности операций процедуры для выделения носителя для архивирования данных, если заданы цель близкого местоположения для задания и цель близкого местоположения для «сына», согласно варианту осуществления настоящего изобретения. Очевидно, что для выделения носителя для архива могут быть заданы другие комбинации целей близкого местоположения и процедура, описанная в связи с фиг. 41, является лишь примером. Процедура 4100 выделения носителя выполняется всякий раз, когда необходим носитель. Процедура 4100 выделения носителя начинается с блока 4101, и в блоке 4102 принятия решения определятся, задано ли близкое местоположение для задания. Если определено, что близкое местоположение для задания не задано, то процедура выделения носителя переходит к блоку 4111 принятия решения и продолжается, как описано ниже. Однако, если в блоке 4102 принятия решения определено, что близкое местоположение для задания было задано, то в блоке 4103 принятия решения определяется, является ли задача, которая пытается выделить носитель, задачей из задания по замене. Задание по замене - это задание, которое замещает предыдущее задание, которое не было успешно завершено. Если в блоке 4103 принятия решения определено, что задача из задания по замене, то в блоке 4105 процедура пытается выделить тот же самый физический носитель, который был использован и выделен в исходном задании, которое не было успешно завершено.

Однако если в блоке 4103 определено, что эта задача не из задания по замене, то в блоке 4107 принятия решения определяется, является ли эта задача первой задачей из задания. Если определено, что задача не является первой задачей из задания, то в блоке 4109 процедура 4100 выделения носителя пытается выделить носитель, который был уже выделен для предыдущих задач того же задания.

Однако, если в блоке 4107 принятия решения определено, что задача не является первой задачей из задания, то в блоке 4111 определяется, является ли защищаемый набор данных первым сыновним набором. Если в блоке 4111 определено, что защищаемый набор данных является первым сыновним набором, то в блоке 4112 принятия решения определяется, задана ли цель близкого местоположения FS. Если цель близкого местоположения FS задана, то в блоке 4113 процедура 4100 выделения носителя пытается выделить носитель, использованный отцовским набором данных того же цикла. Описанный здесь цикл является запланированным интервалом времени для архивного набора (например, дни или недели). Однако если в блоке 4112 принятия решения определено, что цель близкого местоположения FS не задана, то процедура переходит к блоку 4115 принятия решения, описанному ниже.

Если в блоке 4111 принятия решения определено, что набор данных не является сыновним набором данных или не является первым «сыном» цикла, то в блоке 4114 принятия решения определяется, является ли этот набор данных набором данных второго или более позднего «сына». Если определено, что набор данных является набором данных второго или более позднего «сына», то в блоке 4118 принятия решения определяется, задана ли цель близкого местоположения FS или цель близкого местоположения S. Если задана цель близкого местоположения FS или цель близкого местоположения S, то в блоке 4116 процедура 4100 выделения носителя пытается выделить носитель, используемый набором данных того же «сына» для последнего «сына». Однако, если в блоке 4118 принятия решения определено, что ни цель близкого местоположения FS, ни цель близкого местоположения S не задана, то процедура переходит к блоку 4115, описываемому ниже.

Однако, если в блоке 4114 принятия решения определено, что набор данных не является вторым или более поздним сыновним набором данных, то в блоке 4115 принятия решения определяется, доступен ли повторно используемый носитель из того же самого поколения. Например, если набор данных является отцовским набором, то определяется, есть ли другие отцовские наборы данных, содержащиеся на носителе, который доступен. Если в блоке 4115 принятия решения определено, что имеется доступный повторно используемый носитель из одного и того же поколения, то в блоке 4147 процедура 4100 выделения носителя выбирает самый старый повторно используемый носитель, доступный из того же поколения, и пытается его выделить.

Если в блоке 4115 принятия решения определено, что нет носителей, доступных из того же самого поколения, или если в блоке 4127 определено, что одно из предпринятых выделений блоков 4105, 4109, 4113, 4117 не было успешно завершено, то в блоке 4119 принятия решения определяется, имеется ли какой-либо носитель в пуле, который свободен. Если в блоке 4119 принятия решения определено, что в пуле имеется носитель, то в блоке 4121 процедура 4100 выделения ресурсов получает свободный носитель из пула, и этот носитель используется для выделения.

Наконец, если в блоке 4119 принятия решения определено, что в пуле нет свободного носителя для конкретной защищенной группы, то процедура 4100 выделения ресурсов в блоке 4123 пытается получить дополнительный носитель. Дополнительный носитель может быть получен путем уведомления пользователя о том, что для защищенного пула требуется дополнительный носитель, или запроса существующего пула свободных носителей. Пул свободных носителей содержит носитель, который не связан с другой защищенной группой. Если в пуле свободных носителей свободный носитель недоступен, то пользователь уведомляется о том, что в место хранения необходимо добавить свободный носитель и приписать его к пулу свободных носителей. Процедура 4100 выделения носителей завершается, после того как будет выделен последний носитель, или она заканчивается безуспешно, если дополнительный носитель не мог быть выделен, как показано в блоке 4125.

В дополнение к целям, описанным в связи с фиг. 41, для управления операциями пула носителей могут быть использованы дополнительные цели. Например, пользователь может задать цель максимального предела, которая задает максимальное количество участков носителя, которое может поддерживаться в пуле носителей. Использование цели максимального предела позволяет избежать ненужных добавлений (пользователем или автоматически) носителя в пул сверх максимального предела. Аналогичным образом, цель максимального еженедельного предела может быть использована для управления количеством экземпляров свободных носителей, присваиваемых конкретному пулу в течение 24 часов. Использование максимального предела и максимального ежедневного предела предотвращает ненужное или случайное назначение носителя из свободного пула в конкретный пул.

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

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

На фиг. 42 показана блок-схема системы защиты данных согласно варианту настоящего изобретения. Система 4200 защиты данных включает в себя средство 4201 защиты данных для управления пересылкой данных (защищенных объектов) из места 4203 образования в место 4205 хранения. Как упоминалось выше, при дублировании место 4203 образования включает в себя агент 4207 клонирования и часть 4209А средства перемещения данных для управления потоком данных из места 4203 образования в место 4205 хранения. Аналогичным образом место 4205 хранения включает в себя агент 4211 дублирования и вторую часть средства 4209В перемещения данных для получения информации из места 4203 образования. Взаимодействие между местом 4203 образования, местом 4205 хранения и средством 4201 защиты данных используется для пересылки данных из места 4203 образования в место 4205 хранения и для проверки правильности пересылки этих данных с помощью осуществления связи со средством 4201 защиты данных.

Данные передаются из места 4203 образования через средство 4209А перемещения данных по каналу 4213 связи в место 4205 хранения через средство 4209В перемещения данных. Система защиты данных выполнена с возможностью мониторинга пересылки данных из места 4203 образования в место 4205 хранения, и, если указанный канал связи отказал, то выполнено с возможностью возобновления прерванной пересылки данных. Чтобы иметь возможность возобновить пересылку данных в противоположность запуску, необходимо отслеживать и периодически сохранять состояние пересылки данных. Это выполняется средством 4201 защиты данных, выполняющим мониторинг пересылки данных из места 4203 образования в место 4205 хранения.

Данные пересылаются по каналу 4213 связи в виде блоков или записей данных. В указанной системе передачи часть данных поддерживается местом 4203 образования, а часть данных - местом 4205 хранения. При отказе канала связи пересылка данных прерывается и состояние передачи может потерять синхронизацию. Например, место 4203 образования может передать другое количество записей, чем количество записей, успешно принятых местом 4205 хранения. Для решения этой проблемы средство 4201 защиты данных осуществляет мониторинг и управление процессом передачи путем выдачи команд в место 4203 образования и место 4205 хранения на индивидуальной основе при остановке или запуске пересылки данных.

Для защиты данных агент 4207 клонирования, расположенный в месте 4203 образования, пересылает данные агенту 4211 дублирования, расположенному в месте 4205 хранения, через средство 4209 перемещения данных. Эти данные передаются в виде записей данных по каналу 4213 связи в целях создания реплики или копии защищенных объектов, расположенных в месте образования. Агент клонирования и агент дублирования передают состояния пересылки данных в средство 4201 защиты данных в виде специальных блоков данных, называемых здесь контрольными точками записей. Контрольные точки записей принимаются средством 4201 защиты данных и запоминаются в базе данных. Кроме того, средство 4201 защиты данных передает инструкции/команды агенту клонирования и агенту дублирования.

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

Состояние пересылки данных из места 4203 образования передается от агента 4207 клонирования путем вставки специальных маркеров данных (контрольные точки записи) в потоке записей данных, когда он передается из журнала регистрации изменений агента клонирования (фигуры 43-47) в журнал регистрации сброса агента дублирования (фигуры 43-47). В действующем варианте контрольная точка записи присоединяется к концу потока данных, когда он передается средством 4209А перемещения данных места образования. В альтернативном варианте осуществления контрольная точка записи может быть добавлена в журнал регистрации изменений и передана вместе с потоком данных как элемент данных. После приема потока данных средством 4209В перемещения данных места хранения данные и контрольные точки записи запоминаются в журнале регистрации сброса.

Когда агент 4211 дублирования наталкивается на упомянутые контрольные точки записей в потоке данных, он направляет эти контрольные точки записей в средство 4201 защиты данных. Кроме того, агент дублирования создает собственные контрольные точки записей и также направляет их в средство 4201 защиты данных. Информация, содержащаяся в контрольных точках записей, созданных как агентом 4207 клонирования, так и агентом 4211 дублирования, используется средством защиты данных при посылке команд на запуск или остановку операций.

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

В действующем варианте осуществления настоящего изобретения агент 4207 клонирования создает два типа контрольных точек, называемых здесь «контрольные точки класса С» и «контрольные точки класса А». Контрольные точки класса С представляют состояние записей данных, посланных от агента 4207 клонирования агенту 4211 дублирования. Контрольные точки класса А представляют положение в общем процессе создания записей метаданных.

Агент 4211 дублирования создает один тип контрольной точки записи, называемой здесь «контрольная точка класса В». Контрольные точки класса В идентифицируют записи данных, которые были приняты и использованы агентом 4211 дублирования.

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

Если более подробно, то контрольные точки класса С содержат указатели на место в потоке записей данных в системе агента 4207 клонирования и системе агента 4211 дублирования. Контрольные точки класса С создаются агентом 4207 клонирования и направляются к агенту 4211 дублирования. Агент 4211 дублирования обновляет контрольную точку класса С указателем последней принятой записи в журнале регистрации сброса.

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

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

В дополнение к упомянутым выше трем типам контрольных точек средство 4201 защиты данных может создавать специальный маркер и посылать его агенту клонирования, находящемуся в месте 4203 образования, для вставки в поток записей данных. Этот маркер передается затем агентом 4207 клонирования через канал 4213 связи агенту 4211 дублирования. После приема агент 4211 дублирования передает этот маркер обратно в средство 4201 защиты данных. Назначением маркера является выяснение всех контрольных точек класса А из любой передачи данных до возобновления создания метаданных. Путем проведения всех контрольных точек класса А через систему передаются метаданные, которые уже были созданы агентом 4207 клонирования, и только затем возобновляется создание метаданных. Преимущество такого решения состоит в том, что предотвращается переполнение журналов регистрации передачи записей данных (в случае, когда процесс создания метаданных происходит гораздо быстрее, чем посылка агентом 4207 клонирования) и удается избежать создания одних и тех же метаданных много раз, поскольку средство 4201 защиты данных видит все метаданные до приема маркера.

На фигурах 43-44 показана блок-схема процедуры мониторинга пересылки данных, выполняемая системой защиты данных, согласно варианту осуществления настоящего изобретения. Как обсуждалось выше, пересылка данных между местом 4303 образования и местом 4305 хранения инициируется в ответ на изменение в защищенных данных, сделанное пользователем или другим лицом, или в запланированный момент выполнения задания. В ответ на изменение в защищенных данных, сделанное пользователем, место 4303 образования записывает в журнал 4307 регистрации изменений запись об изменении защищенных данных. Например, R1, R2, R3, R4, R5 и R6 являются записями изменений, записанными в журнал 4307 регистрации изменений агентом клонирования в месте 4303 образования. Записи, содержащиеся в журнале 4307 регистрации изменений, периодически извлекаются из журнала 4307 регистрации изменений средством перемещения данных, объединяются вместе и передаются в место 4305 хранения. Помимо этого, агент клонирования создает контрольную точку класса С, содержащую указатель на положение в журнале 4307 регистрации изменений последней передаваемой записи, и присоединяет контрольную точку класса С к концу пакета записей. Например, агент клонирования может извлечь записи R1, R2 и R3, из журнала 4307 регистрации изменений, собрать эти записи вместе и передать пакет в место 4305 хранения. Создается контрольная точка 4311 класса С, содержащая указатель на положение R3 в журнале 4307 регистрации изменений, в этом случае - на позиции 4 журнала регистрации изменений. Контрольная точка класса С присоединяется к концу пакета, который передается в место 4305 хранения.

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

Агент дублирования, находящийся в месте 4305 хранения, принимает через средство перемещения данных переданные записи и контрольную точку класса С и запоминает переданные записи и контрольную точку класса С в журнале 4313 регистрации сброса. Помимо этого, после приема контрольной точки класса С 4311, агент дублирования в месте 4305 хранения добавляет второй указатель в контрольную точку класса С, идентифицирующую положение этой контрольной точки, в журнал 4313 регистрации сброса, и в этом случае указатель, добавленный к контрольной точке 4311 класса С, является указателем места 106 в журнале регистрации сброса. Таким образом, контрольная точка 4313 класса С содержит указатель на место положения последней передачи журнала 4307 регистрации изменений и положение контрольной точки класса С в журнале 4313 регистрации сброса. Затем контрольная точка 4315 класса С направляется агентом дублирования в средство 4301 защиты данных. Средство 4301 защиты данных записывает эту контрольную точку класса С в базу данных. В альтернативном варианте осуществления контрольная точка класса С не запоминается в журнале регистрации сброса, а вместо этого агент дублирования добавляет указатель на контрольную точку класса С, идентифицирующую запись последнего изменения, переданную пакетом, и направляет контрольную точку класса С в средство 4301 защиты данных.

Обратимся теперь к фиг. 44, где средство 4301 защиты данных после приема контрольной точки класса С из места 4305 хранения запоминает контрольную точку класса С в базе данных средства защиты данных и передает подтверждение контрольной точки класса С в место 4303 образования. Прием подтверждения контрольной точки класса С в месте 4303 образования идентифицирует для места образования, что все записи, переданные до контрольной точки класса С, были приняты местом 4305 хранения и что эти переданные записи могут быть удалены из журнала 4307 регистрации изменений.

В дополнение к приему записей и запоминания этих записей в журнале 4313 регистрации сброса агент дублирования, находящийся в месте 4305 хранения, начинает использовать принятые записи для реплики данных, находящихся в месте 4305 хранения. В заранее определенный момент агент дублирования создает контрольную точку класса В, которая включает в себя указатель на позицию в журнале 4313 регистрации сброса последней записи, использованной для данных 4317 дублирования. Заранее определенный момент может быть основан, например, но не в ограничительном смысле, на объеме обработанных данных, времени, прошедшем с последней контрольной точки класса В, или комбинации того и другого. Например, агент дублирования может использовать R1 из позиции 103 журнала 4313 регистрации сброса, R2 из позиции 104 журнала 4313 регистрации сброса и после использования R2 для данных 4317 реплики создать контрольную точку класса В, которая содержит ссылку на позицию 104 журнала регистрации сброса. Созданная контрольная точка 4319 класса В направляется агентом дублирования в месте 4305 хранения в средство 4301 защиты данных. Средство 4301 защиты данных запоминает контрольную точку класса В в базе данных, чтобы разрешить использование записи в случае прерывания пересылки данных.

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

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

На фиг. 45 показана блок-схема системы защиты данных, которая повторно запускает передачу записей изменений от места 4303 образования в место 4305 хранения согласно варианту осуществления настоящего изобретения. В целях объяснения здесь предполагается, что система передавала данные от места 4303 образования в место 4305 хранения и по какой-то причине передача была прервана и что система возобновляет эту передачу.

Для возобновления передачи данных средство 4301 защиты данных обращается к последним записанным контрольным точкам класса С и класса В, записанным в базе данных средства 4301 защиты данных, для идентификации позиций повторного запуска для места 4303 образования и места 4305 хранения. Обратимся, например, к записанной точке В2 класса В, для которой средство 4301 защиты данных определяет, что позиция в журнале 4313 регистрации сброса, из которого была использована последняя запись, являлось позицией 107. Таким образом, средство 4301 защиты данных генерирует команду, которая передается в место 4305 хранения, давая указание агенту дублирования в месте 4305 хранения начать применять записи из позиции 108 журнала регистрации сброса и запомнить следующую принятую запись данных после позиции 111 журнала регистрации сброса (то есть позиция 112 журнала регистрации сброса). Позиция, где агент дублирования начал запоминание принятых записей (112), идентифицируется путем обращения к контрольной точке класса С, записанной в базе данных средства 4301 защиты данных. В этом примере средство 4301 защиты данных, обращаясь к контрольной точке С3 класса С, идентифицирует, что последняя известная контрольная точка класса С, которая была принята местом 4305 хранения, находится на позиции 111 журнала регистрации сброса.

Аналогичным образом, средство 4301 защиты данных, обращаясь к последней принятой контрольной точке С3 класса С, идентифицирует, что последняя запись, переданная из места 4303 образования, о которой известно, что она была успешно принята местом 4305 хранения, находилась на позиции 9 журнала регистрации изменений. Таким образом, средство 4301 защиты данных генерирует команду, которая передается в место 4303 образования, инструктируя агента клонирования, находящегося в месте 4303 образования, начать посылку записей в место 4305 хранения, начиная с записи 10.

В общем, для эффективного возобновления передачи записей данных средство 4301 защиты данных создает и посылает три команды. Команда запуска посылки записей создается и передается в место 4303 образования, идентифицируя момент запуска передачи в журнале 4307 регистрации изменений. Команда запуска использования записей посылается в место 4305 хранения, идентифицируя позицию в журнале 4313 регистрации сброса, для которой должно возобновиться применение. Третья команда, команда запуска хранения принятых записей, также создается и посылается в место 4305 хранения, идентифицируя позицию в журнале 4313 регистрации сброса, касающуюся того, где вновь принятые записи должны запоминаться.

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

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

На фигурах 46 и 47 показаны блок-схемы процедуры проверки правильности для проверки правильности реплики 4317 согласно варианту осуществления настоящего изобретения. Для запуска процедуры проверки правильности средство 4301 защиты данных создает команду, которая выдается в место 4303 образования для начала проверки правильности. В ответ на прием команды запуска проверки правильности агент клонирования в месте 4303 образования начинает формирование метаданных для каждого защищенного объекта, находящегося в месте 4303 образования. Эти метаданные добавляются в журнал 4307 регистрации изменений в виде записи и передаются вместе с записями изменений. Записи и метаданные передаются из журнала 4307 регистрации изменений в место 4305 хранения, как обсуждалось выше. После приема записи изменения агент дублирования, расположенный в месте 4305 хранения, использует эту запись для данных 4317 реплики, как обсуждалось выше. После использования записи метаданных, такой как В1, агент дублирования, расположенный в месте 4305 хранения, вычисляет метаданные для той же части данных 4317 реплики. Два элемента метаданных сравниваются для подтверждения правильности целостности этой части данных реплики. Если метаданные не совпадают, то агент дублирования создает список различий, определяющий защищенный объект, который не имеет совпадения в реплике 4317.

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

В заранее определенный момент времени после того, как записи метаданных, такие как В1 и В2, были включены в журнал 4307 регистрации изменений, агент клонирования, расположенный в месте 4303 образования, создает контрольную точку класса А, которая добавляется в виде записи в журнал 4307 регистрации изменений. Контрольная точка класса А, такая как А1, передается по каналу связи в место 4305 хранения вместе с записями изменений и записями метаданных.

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

Средство 4301 защиты данных принимает контрольную точку класса А и список различий и записывает контрольную точку класса А и список различий в базу данных. Список различий направляется в место образования, а идентифицированные защищенные объекты вновь дублируются и вновь передаются в место хранения. Повторное дублирование и повторная передача идентифицированных защищенных объектов могут появиться в ответ на прием списка различий или могут быть запланированы во времени для появления в некоторый момент времени позднее (например, после завершения проверки правильности реплики).

Контрольная точка класса А включает в себя идентификацию конкретного защищенного объекта, вплоть до которого были вычислены метаданные. Например, если метаданные создаются для защищенных объектов, расположенных на C:\на сервере server1 и последним защищенным объектом, для которого были созданы метаданные, был C:\file50 на сервере server1, контрольная точка класса А будет содержать ссылку на C:\file50 на сервере server1. Эта информация запоминается средством 4301 защиты данных в базе данных, так что в случае прерывания передачи данных в наличии будет опорная точка из которой повторно запускается проверка правильности.

На фиг. 47 показана блок-схема последовательности операций, описывающая повторный запуск процедуры проверки правильности, которая создается системой защиты данных для повторного запуска проверки правильности, когда проверка правильности была прервана в конкретный момент времени, согласно варианту осуществления настоящего изобретения. В целях данного обсуждения предположим сначала, что передача данных была прервана и теперь возобновляется. При возобновлении передачи данных средство 4301 защиты данных создает и посылает маркер, показанный на фиг. 47 как Ар. Маркер является уникальной меткой, созданной средством 4301 защиты данных, которая циклически используется по всей системе для удаления всех метаданных и контрольных точек класса А из системы перед возобновлением проверки правильности данных.

Маркер Ар передается от средства 4301 защиты данных в место 4303 образования и включается в журнал 4307 регистрации изменений агентом клонирования, расположенным в месте 4303 образования. После приема маркера Ар местом 4303 образования агент клонирования добавляет маркер Ар в журнал 4307 регистрации изменений и затем передает маркер Ар в место 4305 хранения. После приема маркера Ар в месте 4305 хранения агент дублирования, расположенный в месте 4305 хранения, направляет маркер Ар обратно в средство 4301 защиты данных.

После приема маркера Ар средством 4301 защиты данных оно узнает, что из места 4303 образования в место 4305 хранения были переданы все ранее созданные метаданные для системы. Средство 4301 защиты данных, обращаясь к базе данных контрольных точек класса А, идентифицирует последнюю контрольную точку класса А, которая была передана, и готовит команду повторного запуска, включая позицию, с которой место образования должно повторно запустить проверку правильности данных. Средство 4301 защиты данных передает в место 4303 образования команду повторного запуска проверки правильности и идентификацию момента, с которого должна быть возобновлена проверка правильности данных.

Обратимся для примера к фиг. 47, где средство 4301 защиты данных идентифицирует из своей базы данных, что последним защищенным объектом, для которого были вычислены метаданные во время предыдущего выполнения процедуры проверки правильности был C:\file1003 на сервере server1. Таким образом, средство 4301 защиты данных знает, что метаданные были созданы и переданы для всех файлов вплоть до файла 1003 в томе C: на сервере server1, и поэтому формирует команду повторного запуска проверки правильности, предписывающую месту 4303 образования повторно запустить создание метаданных после C:\file1003 на сервере server1.

На фиг. 48А представлена блок-схема процедуры обработки команд для обработки команд, принятых местом образования, согласно варианту осуществления настоящего изобретения. Процедура 4800 обработки команд начинается с блока 4801, а в блоке 4803 принятия решения определяется, является ли принятая команда командой «запуска передачи». Как обсуждалось выше, команды генерируются средством защиты данных для управления агентами, развернутыми по всей систем защиты данных. Если в блоке 4803 принятия решения определено, что принятая команда является командой «запуск передачи», то в блоке 4805 идентифицируется точка запуска передачи. Точка запуска передачи может быть включена в команду «запуск передачи». Точка запуска передачи идентифицирует место в журнале регистрации изменений, из которого должна начаться передачи данных.

Кроме того, в блоке 4807 идентифицируется точка окончания передачи. Точка окончания передачи может быть определена различными путями. Например, точка окончания передачи может быть идентифицирована путем нахождения последней записи, содержащейся в журнале регистрации изменений, и использования ее в качестве точки окончания передачи путем определения максимального размера передачи данных и идентификации точки в журнале регистрации, которая достигает этого размера, и т.д. После идентификации точек запуска и окончания передачи в блоке 4809 процедура 4800 обработки команд передает управление потоку передачи данных (фиг 48В).

Вернемся к блоку 4803 принятия решения, где, если определено, что принятая команда не является командой «запуск передачи», то в блоке 4811 принятия решения определяется, является ли принятая команда командой «запуск проверки правильности». Если в блоке 4811 принятия решения определено, что команда является командой «запуск проверки правильности», то в блоке 4813 идентифицируется место в месте образования, где должна начаться проверка правильности. Как и в случае точек запуска и окончания для передачи, это место может содержаться в команде проверки правильности или может быть получено отдельно. После идентификации места в месте образования, где должна начинаться проверка правильности, процедура 4800 обработки команд передает управление процедуре проверки правильности (фиг. 48С), как показано в блоке 4815.

Если в блоке 4811 принятия решения определено, что принятая команда не является командой «запуск проверки правильности», то в блоке 4817 принятия решения определяется, является ли принятая команда подтверждением контрольной точки С. Если она является подтверждением контрольной точки С, то записи, содержащиеся в журнале регистрации изменений, которые были переданы до подтвержденной контрольной точки С, удаляются из журнала регистрации изменений, как показано в блоке 4819, и процедура завершается в блоке 4821. Однако, если в блоке 4817 принятия решения определено, что принятая контрольная точка не является подтверждением контрольной точки С, то тогда принятая команда является маркером Аp. В блоке 4823 маркер AP помещается в журнал регистрации изменений, и процедура завершается в блоке 4825.

На фиг. 48В представлена блок-схема процедуры передачи данных для передачи записей изменений из места образования в место хранения согласно варианту осуществления настоящего изобретения. Процедура 4830 передачи данных начинается с блока 4831, а в блоке 4833 группа записей изменений, полученных из журнала регистрации изменений, собираются вместе для передачи. Пакет записей может содержать любое количество записей. Создание пакета записей может произойти как реакция на максимальный размер, достигнутый журналом регистрации изменений, после появления изменения в заранее определенный момент времени. Как очевидно специалистам в данной области техники, моменты времени для создания пакета записей и размер пакета записей являются просто примерами, и для создания пакета записей с вариантами осуществления настоящего изобретения могут быть использованы любые моменты времени и размер. Например, пакет записей может включать в себя только одну запись и может создаваться при каждом появлении изменения в системе защиты данных.

В блоке 4835 пакет записей передается из места образования. В дополнение к передаче пакета записей создается контрольная точка класса С, которая присоединяется к концу пакета записей и передается как часть пакета записей. Как обсуждалось выше, контрольные точки класса С содержат указатели на место в журнале регистрации изменений последней записи изменений, включенной в пакет записей. В блоке 4837 принятия решения определяется, имеются ли дополнительные записи в журнале регистрации изменений. Если в блоке 4837 принятия решения определено, что есть дополнительные записи, то процедура 4830 передачи данных возвращает управление в блок 4833, и процедура продолжает выполняться. Однако, если в блоке 4837 принятия решения определено, что нет больше записей для передачи, то процедура завершается, как показано в блоке 4839.

На фиг. 48С представлена блок-схема процедуры проверки правильности для проверки правильности данных согласно варианту осуществления настоящего изобретения. Процедура 4840 проверки правильности начинается с блока 4841, а в блоке 4843 принятия решения определяется, имеются ли какие-либо объекты в месте образования, для которых необходима проверки правильности. Если в блоке 4843 принятия решения определено, что нет дополнительных объектов для проверки правильности, то процедура заканчивается, как показано в блоке 4844. Однако, если определено, что имеются дополнительные объекты для проверки правильности, то в блоке 4845 создаются метаданные для объекта. В частности, первым объектом, для которого могут быть созданы метаданные, является объект, соответствующий месту запуска, идентифицированному в блоке 4813 процедуры 4800 обработки команд (фиг. 48А). После создания метаданных, они добавляются в журнал регистрации изменений в виде записи метаданных (V).

В блоке 4847 принятия решения определяется, должна ли быть создана контрольная точка класса А и добавлена в журнал регистрации изменений. Как обсуждалось выше, контрольные точки класса А представляют позицию в общем процессе создания и передачи записей метаданных и могут быть использованы для повторного запуска проверки правильности. Кроме того, контрольные точки класса А могут включать в себя последовательные маркеры, с тем чтобы можно было определить, была ли не принята одна из переданных контрольных точек класса А. Если в блоке 4847 принятия решения определено, что должна быть создана контрольная точка класса А, то в блоке 4849 создается контрольная точка, которая добавляется в журнал регистрации изменений в виде записи, которая будет пакетирована и передана вместе с другими записями, содержащимися в журнале регистрации изменений. После добавления контрольной точки класса А в журнал регистрации изменений процедура 4840 проверки правильности возвращает управление в блок 4843 принятия решения, и процедура продолжается. Однако, если в блоке 4847 принятия решения определено, что контрольная точка класса А создаваться не должна, то процедура 4840 проверки правильности возвращается к блоку 4843 принятия решения и продолжается.

На фиг. 49А представлена блок-схема процедуры обработки команд для обработки команд, принятых местом хранения согласно варианту осуществления настоящего изобретения. Процедура 4900 обработки команд начинается с блока 4901, и в блоке 4903 принятия решения определяется, является ли принятая команда командой «запуск приема». Команда «запуск приема» является командой для места хранения начать прием записей, которые передаются из места образования. Если в блоке 4903 принятия решения определено, что команда является командой «запуск приема», то в блоке 4905 идентифицируется точка запуска в журнале регистрации сброса для запоминания принятых записей. Идентификация места в журнале регистрации сброса может быть получена путем приема места, содержащегося в команде «запуск приема» или в виде отдельной команды. После идентификации места в журнале регистрации сброса, с которого необходимо начать запоминание принятых записей, процедура 4900 обработки команд передает управление процедуре приема записей (фиг. 49В), как показано в блоке 4907.

Вновь обратимся к блоку 4903 принятия решения, где, если определено, что принятая команда не является командой «запуск приема», то в блоке 4909 принятия решения определяется, является ли принятая команда командой «запуск использования». Если принятая команда является командой запуска использования, то в блоке 4911 идентифицируется место запуска в журнале регистрации сброса, с которого начинается использование записей. Как и в случае с местом запуска приема записей, идентификация в журнале регистрации сброса может быть идентифицирована по месту, включенному с командой «запуск использования», принятой в виде отдельной команды или идентифицированной каким-либо другим средством. После идентификации места в журнале регистрации сброса, из которого запускается использование, процедура 4900 обработки команд передает управление в процедуру использования записей изменений (фиг. 49С).

Если в блоке 4909 принятия решения определено, что команда не является командой «запуск использования», то тогда команда является подтверждением контрольной точки класса В, и в блоке 4915 все записи, содержащиеся в журнале регистрации сброса, которые были использованы для копии в месте хранения до передачи подтвержденной контрольной точки класса В, удаляются из этого журнала регистрации. В блоке 4917 процедура завершается.

На фиг. 49В представлена процедура приема записей для приема записей в месте хранения согласно варианту осуществления настоящего изобретения. Процедура 4920 приема записей начинается с блока 4921, и в блоке 4923 принимается следующая входящая запись. Как обсуждалось выше, передача записей может сопровождаться использованием носителя передачи любого типа, включая, но не в ограничительном смысле, проводную, беспроводную и т.д. В блоке 4925 принятия решения определяется, является ли принятая запись контрольной точкой класса С. Если она является контрольной точкой класса С, то место в журнале регистрации сброса для контрольной точки класса С добавляется в контрольную точку класса С, и эта контрольная точка класса С направляется в средство защиты данных, как показано в блоке 4927. Однако, если в блоке 4925 принятия решения определено, что запись не является контрольной точкой класса С, то в блоке 4929 принятия решения определяется, является ли эта запись маркером Аp. Если запись является маркером, то в блоке 4931 маркер направляется в средство защиты данных.

Если в блоке 4929 принятия решения определено, что запись не является маркером, то в блоке 4935 принятия решения определяется, является ли запись контрольной точкой класса А. Если в блоке 4935 принятия решения определено, что запись является контрольной точкой класса А, то в блоке 4937 эта контрольная точка класса А и список различий направляются в средство защиты данных. Если в блоке 4935 принятия решения определено, что запись не является контрольной точкой класса А, или после направления записи в средство защиты данных (блоки 4927, 4931, 4937), то принятая запись добавляется в журнал регистрации сброса, как показано в блоке 4939. В блоке 4941 принятия решения определяется, есть ли дополнительные записи, которые были приняты. Если есть дополнительные записи, то процедура 4920 приема записей возвращается к блоку 4923, и процедура продолжается. Если нет дополнительных записей, то процедура завершается в блоке 4943.

На фиг. 49С показана блок-схема процедуры применения записей изменений для применения записей изменений к реплике в месте хранения согласно варианту осуществления настоящего изобретения. Процедура 4950 использования записей начинается с блока 4951, а в блоке 4953 получают запись из журнала регистрации сброса. В блоке 4955 принятия решения определяется, содержит ли полученная запись метаданные о защищенных объектах. Если определено, что запись содержит метаданные, то в блоке 4957 эти метаданные сравниваются с соответствующим объектом, запомненным в реплике. Как обсуждалось выше, метаданные могут представлять собой любой вид идентификации для объекта, к примеру, время последнего изменения, размер, вычисленная контрольная сумма и т.д. После сравнения метаданных в блоке 4959 принятия решения определяется, отличаются ли эти метаданные. Если сравниваемые метаданные отличаются, то в блоке 4961 идентификация объекта, для которого сравнивались метаданные, добавляется список различий. После добавления идентифицированного объекта в список различий (блок 4961) или, если в блоке 4949 принятия решения определено, что метаданные не отличаются, то процедура 4950 использования записей изменений переходит к блоку 4965 принятия решения и продолжается дальше. Вернемся к блоку 4955 принятия решения, где, если определено, что запись не является метаданными, то запись является записью изменения, и она используется для реплики, как показано в блоке 4963.

В блоке 4965 принятия решения определяется, должна ли быть создана контрольная точка класса В. Как обсуждалось выше, образование контрольной точки класса В может быть выполнено на основе критериев любого вида. Например, контрольная точка класса В может быть создана после каждого применения записи изменения, после заранее определенного периода времени и т.д. Если в блоке 4965 принятия решения определено, что должна быть создана контрольная точка класса В, то в блоке 4967 принятия решения определяется, является ли список различий пустым. Если определено, что список различий не пуст, то в блоке 4969 процедура 4950 ожидает приема контрольной точки класса А. Ожидание контрольной точки класса А, если список различий не пуст, обеспечивает отсутствие потери записей метаданных, которые породили добавление в список различий, если система запускается повторно. Прием контрольной точки класса А до передачи контрольной точки класса В обеспечивает, что при посылке списка различий все записи метаданных, которые были использованы для создания этого списка различий, становятся больше не нужными. Если в блоке 4967 принятия решения определено, что список различий пуст, или после приема контрольной точки класса А в блоке 4969, создается и передается контрольная точка класса В, как показано в блоке 4971.

Вновь обратимся к блоку 4965 принятия решения, где, если определено, что контрольная точка класса В не была создана, или после передачи контрольной точки класса В (блок 4971), то в блоке 4973 принятия решения определяется, есть ли дополнительные записи в журнале регистрации сброса, которые еще не были использованы для реплики. Если дополнительные записи есть, то процедура 4950 использования записей изменений возвращается к блоку 4953 и продолжается. В противном случае, если в блоке 4973 принятия решения определено, что нет дополнительных записей для использования, то процедура завершается, как показано в блоке 4975.

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

При защите данных задания организуются для выполнения заданного действия для всех членов защищенной группы. Защита данных осуществляется посредством организации заданий, содержащих задачи для выполнения соответствующих действий для конкретного задания. Например, план защиты или восстановления включает в себя одно или несколько заданий и календарных планов для этих заданий. В действующем варианте осуществления настоящего изобретения рассматриваются задания, которые могут относиться к одному из четырех различных типов: защита, восстановление, обнаружение и служебные действия. Задания по защите выполняют действия по защите данных, такие как дублирование, управление временными версиями, архивирование или организацию набора данных. Каждая задача защиты связана с защищенной группой. Задания по восстановлению выполняют восстановление данных из реплики, наборов данных, архивов или их комбинации. Каждая задача восстановления связана с источником восстановления. Задания по обнаружению, такие как процедура начального обнаружения (фиг. 25) и процедура запланированного во времени обнаружения (фиг. 26), обнаруживают объекты, внешние по отношению к средству защиты данных. Обнаружение выполняется для поиска, навигации, обновления группы автоматического обнаружения или сохраненных поисков и определения членства защищенной группы. Задания для служебных действий выполняют действия, необходимые для поддержки системы защиты данных. Задания для служебных действий включают в себя рассмотрение версии установленного агента, создание образа суммарной «информации», миграцию носителей и сбор ненужной информации базы данных системы защиты данных.

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

На фиг. 50 представлена блок-схема задания, содержащего множество задач, согласно варианту осуществления настоящего изобретения. Как упоминалось выше, задание 5000 включает в себя одну или несколько задач, таких как задача 1 5001, задача 2 5002 вплоть до любого количества задач, показанного как задача N 5003. Каждая задача задания исполняется и управляется средством 5005, 5007 исполнения задач. Средство 5005 исполнения задач при выполнении задачи, такой как задача 2 5002, может сгенерировать одну или несколько команд, которые выполняются различными агентами, распределенными по всей системе защиты данных. Например, средство 5005 исполнения задач может создать три разные команды для задачи 2 5002, каждая из которых завершается отличающимся от других агентом. Первая команда для задачи 2 5002 может исполняться агентом А 5009, вторая команда - агентом В 5011, а третья команда - агентом С 5013. В зависимости от типа задачи и типа задания агенты 5009-5013 могут исполнять команды последовательно или параллельно.

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

Каждое средство 5005, 5007 исполнения задач может быть создано в виде конечного автомата (FSM), исполняемого общей машиной, которая переводит FSM в различные состояния в ответ на входные сигналы, сохраняет состояния и выполняет логические операции повторного запуска. Например, средство исполнения задач может выполнить переход на основе отклика на ранее выданную команду агенту. Использование общей машины позволяет спроектировать все FSM согласно общей методологии проектирования и для разных конечных автоматов позволяет совместно использовать одни и те же общие блоки (такие как опрос, для определения того, действует ли агент, и получение состояния от агента).

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

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

Если произошло событие превышения лимита времени ожидания, то средство исполнения 5005 задач может также опросить каждого агента, чтобы определить, действуют ли еще эти агенты и потенциально получают обновления, касающиеся хода выполнения команд, подлежащих исполнению этим агентом. В дополнение к сохранению точек перехода, что повышает надежность, планируются долговременные действия, так чтобы их можно было повторно запустить из промежуточных точек, контрольных точек и поэтому в случае отказа вся работа не теряется. Обратимся, например, к фигурам с 43 по 47, где во время передачи и проверки правильности создаются контрольные точки. Эти контрольные точки получает менеджер дублирования, и они запоминаются в базе данных для защиты данных. Как обсуждалось выше в связи с фигурами 43-47, после повторного запуска из-за отказа эти контрольные точки могут быть доступны, а передача и проверка правильности данных может быть возобновлена из точки, идентифицированной контрольными точками.

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

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

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

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

Задание по компенсации - это задание, которое определяет, где предыдущее задание остановилось. Задание по компенсации включает в себя задачи, которые отказали в предыдущем задании или не были запущены в предыдущем задании. Например, если отказавшим заданием является задание по дублированию, то провайдер степени исправности определяет, что задача из задания по дублированию успешно не завершилась, и создает задание по компенсации, включающее незавершенную задачу и все другие задачи, которые не завершились для этого задания. Если задание по компенсации создается в ответ на прием отказавшей задачи, то менеджер степени исправности идентифицирует отказавшую задачу и создает задание, содержащее эту задачу и возможно любые другие задачи, которые должны исполняться либо последовательно, либо параллельно с этим заданием. После создания задания по компенсации менеджер степени исправности планирует во времени задание по компенсации для его исполнения. Затем это задание по компенсации выполняется, как было запланировано, как если бы оно было собственным заданием, и исполняются задачи этого задания по компенсации. Помимо этого, поскольку задание по компенсации планируется как собственное задание, с точки зрения менеджера заданий оно трактуется как некое другое задание, и менеджер заданий может не знать, что оно является заданием по компенсации.

На фиг. 52 показана блок-схема процедуры задания по компенсации для идентификации отказа задачи и создания задания по компенсации, если эта задача была критической, согласно варианту осуществления настоящего изобретения. Процедура 5200 задания по компенсации может исполняться системой защиты данных или в действующем варианте осуществления настоящего изобретения может исполняться менеджером степени исправности.

Процедура 5200 задания по компенсации начинается с блока 5201 и в блоке 5203 принимается отказ задачи. Как обсуждалось выше, если задача прервана, после повторного запуска средство исполнения задач повторно запускает и отказывается исполнять ранее выполнявшуюся задачу, выдавая уведомление об отказе задачи. Средство исполнения задач выполняет очистку для отказавшей задачи.

В блоке 5205 процедура 5200 задания по компенсации определяет, была ли отказавшая задача критической. В альтернативном варианте осуществления пользователь может задать, какие задачи должны считаться критическими. Если в блоке 5205 принятия решения определено, что отказавшая задача была критической, то в блоке 5207 идентифицируются незавершенная задача и любые связанные с ней задачи. В блоке 5209 процедура 5200 задания по компенсации создает задание по компенсации для каждой из незавершенных задач, а в блоке 5211 задание по компенсации планируется во времени.

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

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

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

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

Для физических объектов системы защиты данных (таких как реплики, носители, диски, библиотеки, накопители) поддерживается модель состояния. Каждая модель состояния описывает возможные состояния, в которых может находиться объект, и допустимые переходы между состояниями. Например, на фиг. 37 показана модель состояния для реплики согласно варианту осуществления настоящего изобретения. Модель состояния описывает жизненный цикл объекта и указывает, какие действия необходимо выполнить для перехода объекта из одного состояния в другое. Например, когда реплика находится в неправильном состоянии 3705 (фиг. 37), исходя из этого состояния система защиты данных знает, что следует выполнить задание по проверке правильности, чтобы перевести реплику в правильное состояние 3711. Состояние объекта часто является входными данными для провайдера степени исправности.

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

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

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

Отчеты создаются путем просмотра событий, созданных различными частями системы защиты данных. На основе этих событий система защиты данных компилирует отчет, касающийся событий и состояния этой части системы защиты данных. Таким образом, пользователю не предоставляют все события, созданные системой защиты данных, а предоставляют отчет, который классифицируется как информационный отчет, предупреждающий отчет или отчет об ошибке. Предоставленный отчет, если это необходимо, может включать в себя предложения для решения проблемы, обнаруженной системой защиты данных. Отчеты могут создаваться независимо от того, отказала ли задача в последнем задании. Например, как показано ниже, даже если последнее задание по копированию успешно выполнено (блок 5409), и если дисковое пространство, используемое для поддержания копии в месте хранения, превышает заранее определенный порог (5411), создается событие, которое система защиты данных классифицирует как предупреждающее, и пользователю предоставляется предупреждающий отчет (блок 5413), информирующий его о том, что он может потребовать больше дискового пространства для выделения.

Типы отчета (информационный, предупреждающий, об ошибке) могут быть определены в результате анализа конкретных частей системы защиты данных. Например, если обратиться к процедуре 5700 (фиг. 57) диагностики временных версий, то вычисляются количество пропущенных временных версий за заранее определенный период времени и общий период сохранения (блок 5725), и на основе процента пропущенных временных версий за эти временные периоды принимается решение о классе отчета (предупреждающий, об ошибке).

Помимо этого, в некоторых случаях может быть выполнена последовательность тестов для определения предложений, которые должны быть включены в отчет. Например, в процедуре 5400 диагностики копии, если определено, что копия неправильная 5403 и задание по проверке правильности отказало 5445, то система защиты данных переходит к определению посредством последовательности тестов (блоки 5447, 5451, 5455, 5459 принятия решения) того, какое предлагаемое решение следует включить в отчет об ошибке, создаваемый для пользователя. Аналогичный пример показан в процедуре 5900 диагностики восстановления (фиг. 59). В частности, если определено, что задание отказало 5911, то система защиты данных через последовательность тестов (блоки 5917, 5921, 5925, 5929 принятия решения) определяет, какие предлагаемые решения следует включить в отчет об ошибке.

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

Процедура 5300 диагностики начинается с блока 5301, а в блоке 5303 эта процедура выполняет процедуру диагностики копии, как более подробно описано в связи с фигурами 54-56. В дополнение к выполнению процедуры 5303 диагностики копии процедура 5300 диагностики выполняет процедуру диагностики временных версий, как описано в связи с фигурами 55-58. Наконец, процедура 5300 диагностики определяет, есть ли какие-либо другие предупреждения, выданные системой защиты данных.

В блоке 5309 принятия решения определяется, были ли какие-либо ошибки, обнаруженные в любой одной из процедуры диагностики копии и процедуры диагностики временных версий, либо ошибки предоставлены другими предупреждениями. Если в блоке 5309 принятия решения определено, что была обнаружена ошибка, то в блоке 5311 принятия решения создается отчет об ошибке, описывающий ошибку и предлагающий пользователю потенциальные шаги, которые следует предпринять для разрешения ошибки, сообщенной в отчете. Однако, если в блоке 5309 принятия решения определено, что ошибки не обнаружены, в блоке 5313 принятия решения определяется, были ли какие-либо предупреждения, созданные любой одной из процедуры диагностики копии и процедуры диагностики временных версий, либо предоставлены другими предупреждениями. Если в блоке 5313 принятия решения определено, что было обнаружено предупреждение, то в блоке 5315 создается предупреждающий отчет, описывающий предупреждение пользователю и предоставляющий ему возможные шаги, которые можно выполнить для разрешения проблемы, вызвавшей предупреждение. Наконец, если в блоке 5313 принятия решения определено, что предупреждение не обнаружено, то в блоке 5317 принятия решения создается информационный отчет, информирующий пользователя о том, что нет проблем с системой защиты данных и что она защищает информацию согласно запросу пользователя.

Выполняя каждую из процедур блока 5303, 5305 и 5307, а затем, определив наиболее серьезную проблему этих процедур (блоки 5309 и 5313 принятия решения), любые потенциальные проблемы можно представить в виде единого отчета. Например, если идентифицирована ошибка, то эта ошибка и предлагаемое решение могут быть представлены, и от любого предупреждения или информационных отчетов можно отказаться, пока более серьезная проблема (ошибка) не будет решена.

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

Процедура 5400 диагностики копии начинается с блока 5401, и в блоке 5403 принятия решения определяется, является ли копия правильной. Если в блоке 5403 принятия решения определяется, что копия правильная, то в блоке 5405 принятия решения определяется, выполняется ли в данный момент задание по копированию. Если в блоке 5405 принятия решения определено, что задание по копированию в данный момент выполняется, то в блоке 5407 система защиты данных создает информационный отчет, идентифицирующий последнее состояние копии и предоставляющий индикацию пользователю о том, что задание по копированию в данный момент выполняется.

Однако, если в блоке 5405 принятия решения определено, что задание по копированию в настоящее время не выполняется, то в блоке 5409 принятия решения определяется, успешно ли завершено последнее задание по копированию. Если в блоке 5409 принятия решения определено, что последнее задание на копирование действительно успешно завершилось, то в блоке 5411 принятия решения из последнего задания по копированию определяется, было ли создано предупреждение о пороге использования диска. Предупреждение о пороге использования диска создается в ответ на определение системой защиты данных того, что часть места хранения, для которого в настоящий момент запоминается копия, почти исчерпана в доступном пространстве диска. Например, всякий раз, когда дисковое пространство в реплике почти исчерпано или когда архив выполнен на диске, а не на ленте, и либо носитель в пуле почти исчерпан, либо носитель в свободном пуле почти исчерпан, может быть создано предупреждение о пороге использования диска. Этот пороговый уровень имеет заранее определенный и предварительно установленный размер, при достижении которого создается предупреждение о пороге.

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

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

Вновь обратимся к блоку 5409 принятия решения, где, если определено, что последнее задание по копированию успешно не завершилось, то в блоке 54117 принятия решения определяется, является ли режим защиты фоновым режимом. Как здесь описано, фоновый режим защиты - это рабочий режим для системы защиты данных, при котором копирование идет практически непрерывно. Например, каждый час, 24 часа в день, семь дней в неделю. В альтернативном варианте режим копирования может быть режимом резервного копирования. Режим резервного копирования является рабочим режимом, при котором копирование происходит относительно нечасто. Например, архивирование и/или дублирование может происходить ночью.

Если в блоке 5417 принятия решения определено, что режим копирования является фоновым, то в блоке 5419 вычисляется количество ранее отказавших заданий по копированию. В блоке 5421 принятия решения определяется, превышает ли количество отказавших заданий на копирование, вычисленное в блоке 5419, заранее определенный нижний предел. Если в блоке 5421 принятия решения определено, что количество ранее отказавших заданий по копированию не превысило заранее определенный нижний предел, то в блоке 5422 создается информационный отчет, информирующий пользователя о том, что система защиты данных работает в настоящее время как положено. Вычисление количества отказавших заданий по копированию и сравнение его с пределами для определения того, создавать ли отчет, предоставляет системе защиты данных возможность решить проблему без необходимости уведомления о ней пользователя. Например, если задания по копированию создаются ежечасно и если одно из них пропущено, то система защиты данных может решить эту проблему в следующий час, если задание по копированию успешно завершается.

Однако, если в блоке 5421 принятия решения определено, что количество ранее отказавших заданий по копированию превысило заранее определенный нижний предел, то в блоке 5423 принятия решения определяется, превысило ли количество ранее отказавших заданий по копированию второй, верхний предел. Если определено, что количество ранее отказавших заданий по копированию не превысило заранее определенный верхний предел, то в блоке 5424 создается предупреждающий отчет, информирующий пользователя о количестве отказавших заданий по копированию. Этот предупреждающий отчет также информирует пользователя о том, что количество отказавших заданий по копированию не достигло заранее определенного верхнего (критического) значения и что в настоящее время от пользователя не требуется никаких действий.

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

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

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

Если в блоке 5431 определено, что предыдущий отказ не возник по причине неспособности системы защиты данных установить контакт с местом образования, то в блоке 5435 принятия решения определяется, появился ли предыдущий отказ из-за неспособности системы защиты данных установить контакт с агентом, выполняющим копирование. Если определено, что отказ появился из-за неспособности установить контакт с агентом, выполняющим копирование, то создается предупреждающий отчет, информирующий пользователя об ошибке и предлагающий пользователю проверить агенты и возможно повторно запустить процедуру и/или проверить установку агента и/или повторно установить агент, если это необходимо, как показано в блоке 5437.

Однако, если определено, что предыдущий отказ состоялся не из-за отмены пользователем (блок 5427), неспособности установить контакт с местом образования (блок 5431) или неспособности установить контакт с агентом (блок 5435), то проблема считается неизвестной, и создается ошибка, информирующая пользователя о том, что система защиты данных не смогла определить причину отказа, и предлагающийся пользователю проверить сетевое соединение и агенты, задействованные при копировании.

Вновь обратимся к фиг. 54, где, если в блоке 5403 определено, что копия, для которой выполняется диагностика с использованием процедуры 5400 диагностики копии, неправильная, то в блоке 5437 (фиг. 56) принятия решения определяется, является ли диагностируемая копия неправильной (то есть находится в неправильном состоянии 3705 по фиг. 37). Если в блоке 5437 принятия решения определено, что диагностируемая копия неправильная, то в блоке 5439 процедура диагностики копии уведомляет пользователя о том, что копия для источника данных не инициализирована. В альтернативном варианте в блоке 5439 пользователю может быть предоставлен отчет, идентифицирующий, что диагностируемая копия для конкретного источника данных не инициализирована, и запрашивающий пользователя о том, хочет ли он создать задание по инициализации.

Если в блоке 5437 определено, что копия неправильная, то в блоке 5441 определяется, исполняется ли в настоящий момент задание по проверке правильности в отношении диагностируемой копии. Если в блоке 5441 принятия решения определено, что в настоящий момент задание по проверке правильности выполняется для конкретной диагностируемой копии, то в блоке 5443 создается предупреждающий отчет, информирующий пользователя о том, что в данный момент заданием по проверке правильности проверяется диагностируемая копия и что в данный момент нет необходимости в каких-либо действиях.

Если в блоке 5441 принятия решения определено, что задание по проверке правильности не исполняется, то в блоке 5445 принятия решения процедура 5400 диагностики копии определяет, выполнялось ли и отказало предыдущее задание по проверке правильности. Если в блоке 5445 принятия решения определено, что задание по проверке правильности действительно выполнялось, и произошел отказ, то в блоке 5447 принятия решения определяется, был ли этот отказ результатом отмены пользователем задания по проверке правильности. Если в блоке 5445 принятия решения определено, что исполняемое ранее задание по проверке правильности не отказало или что исполняемое ранее задание по проверке правильности отказало и что отказ был результатом отмены пользователем, то в блоке 5449 создается отчет об ошибке, информирующий пользователя об ошибке и предлагающий пользователю запустить задание по проверке правильности. В альтернативном варианте задание по проверке правильности может быть запущено автоматически.

Однако, если в блоке 5447 принятия решения определено, что отказавшее, ранее выполнявшееся задание по проверке правильности отказало по причинам, отличным от отмены пользователем, то в блоке 5449 причину этого отказа получают из образов задач, связанных с предыдущим заданием по проверке правильности. Используя причины отказа, полученные в блоке 5449, процедура 5400 диагностики копии в блоке 5451 принятия решения определяет, отказало ли ранее выполнявшееся отказавшее задание по проверке правильности потому, что объем в месте хранения, доступный для этой копии, был заполнен. Если в блоке 5451 принятия решения определено, что пространство для копии в месте хранения было заполнено, то в блоке 5453 создается сообщение об ошибке, информирующее пользователя о заполнении места хранения и предлагающее пользователю выделить дополнительное дисковое пространство для хранения этой копии. Выделение дополнительного дискового пространства может включать в себя добавление дополнительного дискового пространства для реплики.

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

Если в блоке 5455 принятия решения определено, что отказ не был результатом недоступности места хранения, то в блоке 5459 принятия решения определяется, было ли переполнение журнала регистрации изменений в месте образования. Переполнение журнала регистрации может произойти в результате слишком большого количества изменений, находящихся в очереди в журнале регистрации изменений в месте образования, и/или полного заполнения журнала регистрации сброса в месте хранения. Это может возникнуть, если записи изменений и записи проверки правильности создаются быстрее, чем они передаются или обрабатываются в месте хранения. Если в блоке 5459 принятия решения определено, что отказ был результатом переполнения журнала регистрации, то создается отчет об ошибке, информирующий пользователя о переполнении журнала регистрации, и указывающий, что журнал регистрации был переполнен, и предлагающий изменить соответствующим образом размер журнала регистрации, как показано в блоке 5461.

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

Другим примером диагностирования проблем защиты является диагностика временных версий. Процедура диагностики временных версий упоминается в связи с общей процедурой диагностики, описанной на фиг. 53 (блок 5305), и описывается более подробно в связи с фиг. 57.

На фиг. 57 показана блок-схема последовательности операций, описывающая процедуру диагностики временной версии для диагностирования потенциальных проблем с временной версией, созданной системой защиты данных, согласно варианту настоящего изобретения. Процедура 5700 диагностики временной версии начинается в блоке 5701, и в блоке 5703 принятия решения определяется, находится ли копия, для которой создается временная версия, в правильном состоянии. Если в блоке 5703 принятия решения определено, что копия, для которой создается временная версия, находится в правильном состоянии, то в блоке 5705 принятия решения определяется, закончилось ли успешно задание на временную версию этой копии. Если в блоке 5705 принятия решения определено, что последнее задание на временную версию копии не было успешным, то в блоке 5707 принятия решения получают причину отказа задания на временную версию из образов задач, связанных с задачей задания на временную версию.

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

Вернемся к блоку 5703 принятия решения, где если определено, что копия, для которой должна быть получена временная версия, не находится в правильном состоянии, то процедура 5700 диагностики временной версии продолжается, как описано выше в связи с блоками, показанными на фиг. 56.

Если в блоке 5705 принятия решения определено, что последнее задание на временную версию правильной копии было успешным, то в блоке 5711 принятия решения определяется, была ли временная версия действительно получена. Если в блоке 5711 принятия решения определяется, что временная версия не была получена, то в блоке 5713 принятия решения определяется, был ли отказ задания по копированию. Если в блоке 5713 принятия решения определено, что был отказ задания по копированию, то процедура 5700 диагностики временной версии продолжается, как описано выше, в связи с блоками, показанными и описанными на фиг. 55.

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

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

Если в блоке 5721 принятия решения определено, что самая старая намеченная временная версия доступна, то в блоке 5725 процедура 5700 диагностики временной версии вычисляет количество потерянных копий в течение заранее определенного периода времени и вычисляет общее количество потерянных копий за общий период сохранения. Заранее определенный период времени, для которого вычисляются потерянные временные копии, может иметь заранее определенную длительность, такую как одна неделя, две недели, один месяц и так далее, что меньше, чем общий период сохранения. Общий период сохранения определяется пользователем при установке целей защиты при идентификации общей длительности, в течение которой пользователь хочет иметь возможность восстановления защищенных объектов. Вычисление количества пропавших копий подтверждает, достигается ли цель по частоте.

В блоке 5727 принятия решения определяется, есть ли более 0% временных версий, пропавших за заранее определенный период времени, для которого были вычислены пропавшие копии в блоке 5725. Если в блоке 5727 принятия решения определено, что временные версии не пропадали, то в блоке 5729 принятия решения определяется, меньше ли 50% временных версий пропало за весь период сохранения. Если в блоке 5729 принятия решения определено, что количество пропавших временных версий за общий период времени меньше 50%, то создается информационный отчет, информирующий пользователя о том, что нет проблем с частью системы защиты данных, относящейся к временным версиям, как показано в блоке 5731. Как обсуждалось выше, благодаря тому, что о проблеме сообщают не сразу, система защиты данных имеет возможность решить проблему без необходимости привлечения пользователя. Например, если определено, что количество пропавших копий за весь период времени составляет 10%, но будущие задания на копирование завершаются успешно, то этот процент будет со временем уменьшаться, что не потребует предупреждения пользователя.

Однако, если в блоке 5729 определено, что за общий период времени теряется более 50% временных версий, то создается предупреждающий отчет, идентифицирующий процент временных версий, теряющихся в данный момент, и предлагающий ничего не делать кроме того, что продолжать мониторинг процента пропавших временных версий, как показано в блоке 5733.

Если в блоке 5727 принятия решения определено, что имеются временные версии, пропавшие за заранее установленный период времени, то в блоке 5735 определяется, находится ли число пропавших временных версий за этот заданный период времени между 0% и 20%. Если в блоке 5735 принятия решения определено, что количество пропавших копий за заранее определенный период времени находится между 0% и 20%, то в блоке 5731 определяется, меньше ли 50% количество пропавших временных версий за весь период сохранения. Если в блоке 5737 принятия решения определено, что количество пропавших временных версий в течение всего периода сохранения меньше 50%, то в блоке 5739 создается предупреждающий отчет, предоставляющий процент пропавших временных версий и предлагающий не предпринимать никаких действий, кроме мониторинга процента пропавших временных версий.

Однако, если в блоке 5737 определено, что процент пропавших временных версий за весь период сохранения превышает 50%, то в блоке 5741 создается отчет об ошибке, информирующий пользователя о текущем проценте пропавших временных ошибок. Помимо этого, отчет об ошибке, созданный в блоке 5741, информирует пользователя о том, что защита не выполняется, как ожидалось, и предлагает пользователю проверить идентифицированные параметры защиты и установку диска для места образования и места хранения.

Вернемся к блоку 5735 принятия решения, где, если определено, что процент пропавших временных версий за заранее определенный период времени не лежит между 0% и 20%, то в блоке 5743 принятия решения решается, меньше ли 50% количество пропавших временных версий за общий период сохранения. Если в блоке 5743 определено, что общее количество пропавших временных версий за весь период сохранения меньше 50%, то в блоке 5745 создается отчет об ошибке, информирующий пользователя о том, что защита не выполняется, как ожидалось, предоставляющий пользователю общий процент пропавших временных ошибок за весь период сохранения и предлагающий пользователю проверить целостность самой копии и проверить календарный план защиты. Наконец, если в блоке 5743 определено, что количество пропавших временных версий за весь период сохранения больше 50%, то создается отчет об ошибке, информирующий пользователя о том, что защита постоянно находилась на плохом уровне и предлагающий пользователю проверить установку защиты и диска как в месте образования, так и в месте хранения, как показано в блоке 5747.

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

На фиг. 59 представлена блок-схема процедуры диагностики восстановления для диагностирования потенциальных проблем с восстановлением информации в системе защиты данных согласно варианту осуществления настоящего изобретения. Процедура 5900 диагностики восстановления начинается с блока 5901, и в блоке 5903 принятия решения определяется, исполняется ли в данный момент задание по восстановлению. Если в блоке 5903 принятия решения определено, что задание по восстановлению в данный момент выполняется, то в блоке 5905 принятия решения процедура 5900 диагностики восстановления определяет, были ли созданы какие-либо предупреждения от задач, связанных с исполняющимся заданием по восстановлению. Если в блоке 5905 принятия решения определено, что предупреждения не были созданы задачей, связанной с исполняющимся заданием по восстановлению, то создается информационный отчет, информирующий пользователя о том, что для системы защиты данных не существует проблем, связанных с восстановлением. Если в блоке 5905 принятия решения определено, что были созданы предупреждения от задачи, связанной с выполняющимся в данный момент заданием, то в блоке 5909 создается предупреждающий отчет, информирующий пользователя о том, что выполняющееся в данный момент задание по восстановлению создало одно или несколько предупреждений и информирует пользователя об этих предупреждениях, а также предлагает пути решения проблем, связанных с этими предупреждениями, если такое решение необходимо. Например, исполняющееся в данный момент задание может создать предупреждение, указывающее, что оно было не в состоянии восстановить файл, поскольку он в данный момент открыт.

Если в блоке 5903 принятия решения определено, что задание по восстановлению в данный момент не исполняется, то в блоке 5911 принятия решения определяется, удалось ли завершиться последнему заданию по восстановлению (например, задание по восстановлению, которое было выполнено в течение последних семидесяти двух часов). Если в блоке 5911 принятия решения определено, что не было заданий по восстановлению, которые не смогли завершиться, то ест, все они завершились успешно или задание по восстановлению не выполнялось, то в блоке 5913 создается отчет, информирующий пользователя об отсутствии проблем, связанных с частью системы защиты данных, относящейся к восстановлению.

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

В блоке 5917 принятия решения с использованием причины отказа, полученной в блоке 5915, определяется, был ли отказ задания по восстановлению результатом неспособности системы защиты данных установить контакт с местом образования, куда должны быть восстановлены данные. Если в блоке 5917 принятия решения определено, что причина отказа задания по восстановлению была в том, что система защиты данных не смогла установить контакт с местом образования, то в блоке 5919 создается отчет об ошибке, информирующий пользователя о причине отказа последнего задания по восстановлению и предлагающий пользователю проверить сетевые соединения в месте образования и проверить агент в месте образования, чтобы обеспечить правильную работу агента. Как было описано выше в связи с процедурой диагностики копии (фигуры 54-56), неспособность установить контакт с местом, таким как место образования, может являться результатом нескольких внешних событий, таких как выход из строя сети, проблема с питанием или переход места образования в автономный режим для технического обслуживания или других операций.

Если в блоке 5917 принятия решения определено, что причина отказа задания по восстановлению не в том, что система защиты данных не способна установить контакт с местом образования, то в блоке 5921 определяется, была ли причина отказа задания по восстановлению в том, что адресат в месте образования недоступен. Адресат в месте образования может быть физической частью места образования, в которую должны быть записаны восстановленные данные. Если в блоке 5921 принятия решения определено, что адресат был недоступен, то создается отчет об ошибке, как показано в блоке 5923, информирующий пользователя о причине отказа задания по восстановлению и предлагающий пользователю проверить физическое место в сервере места образования на предмет наличия потенциальных проблем.

Если в блоке 5921 принятия решения определено, что отказ задания по восстановлению не был результатом недоступности адресата в месте образования, то в блоке 5925 принятия решения определяется, было ли причиной отказа задания по восстановлению то, что задача задания по восстановлению не смогла считать данные из места хранения. Если определено, что задача задания по восстановлению не была способна считывать данные из места хранения, то в блоке 5927 создается отчет об ошибке, информирующий пользователя о причине отказа задания по восстановлению и предлагающий пользователю проверить диск и/или носитель в месте хранения.

Если в блоке 5925 принятия решения определено, что причина отказа задания по восстановлению была не в том, что задача не смогла считывать данные из места хранения, то в блоке 5929 принятия решения определяется, заполнен ли в данный момент диск в месте хранения, куда должны быть восстановлены данные, подлежащие восстановлению. Если в блоке 5929 принятия решения определено, что диск заполнен, то в блоке 5931 создается отчет об ошибке, информирующий пользователя о том, что на диске в месте восстановления не имеется достаточно места для восстановления запрошенных данных и предлагающий пользователю восстановить данные в альтернативное место или увеличить дисковое пространство в месте образования.

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

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

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

2. Способ по п.1, дополнительно содержащий этап, на котором выполняют действие задания посредством исполнения каждой из упомянутого множества задач.

3. Способ по п.1, дополнительно содержащий этап, на котором исполняют по меньшей мере две из упомянутого множества задач параллельно.

4. Способ по п.1, дополнительно содержащий этап, на котором исполняют по меньшей мере две из упомянутого множества задач последовательно.

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

6. Способ по п.1, дополнительно содержащий этап, на котором доводят задание до конца, даже если в по меньшей мере одном из упомянутого множества задач может иметь место отказ.

7. Способ по п.1, в котором имеет место отказ задания, если имеет место отказ одной из упомянутого множества задач.

8. Способ по п.1, в котором каждая задача реализует действие.

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

10. Способ по п.1, дополнительно содержащий этап, на котором используют по меньшей мере один агент для исполнения задачи.

11. Способ по п.1, дополнительно содержащий этап, на котором реализуют каждую задачу в виде конечного автомата, состоящего из набора состояний и переходов.

12. Способ по п.11, дополнительно содержащий этап, на котором выполняют переход между состояниями в ответ на входные сигналы.

13. Способ по п.11, дополнительно содержащий этап, на котором структурируют средство исполнения задач на основе однородной модели.

14. Способ по п.13, дополнительно содержащий этап, на котором используют однородную модель для множества конечных автоматов.

15. Способ по п.11, дополнительно содержащий этап, на котором исполняют конечный автомат и задают переходы конечного автомата.

16. Способ по п.1, дополнительно содержащий этап, на котором конфигурируют средство исполнения задач для исполнения каждой из упомянутого множества задач.

17. Способ по п.16, в котором средство исполнения задач опрашивает исполняющуюся задачу, чтобы определить ход выполнения задачи.

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

19. Способ по п.18, дополнительно содержащий этапы, на которых определяют, была ли отказавшая задача критической, включают критические задачи в задание по компенсации и не включают некритические задачи в задание по компенсации.

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

21. Способ по п.18, дополнительно содержащий этап, на котором включают отказ задачи в уведомление о событии.

22. Способ по п.18, в котором отказ задачи является результатом аварии системы.

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

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



 

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

Изобретение относится к области тестирования программного обеспечения. .

Изобретение относится к области тестирования приложений, Техническим результатом является облегчение тестирования приложений. .

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

Изобретение относится к вычислительной технике и, в частности, к модулярным нейрокомпьютерным средствам и предназначено для определения ошибок в кодовых конструкциях непозиционного кода полиномиальной системы классов вычетов (ПСКВ), представленных в расширенных полях Галуа GF(2v).

Изобретение относится к области загрузки содержимого из электронного файла данных. .

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

Изобретение относится к способам и устройствам формирования и передачи файлов трассировки. .

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

Изобретение относится к системам защиты данных, в частности к способам и системам защиты дублируемых данных от аварийных ситуаций посредством использования защищенных от аварийных ситуаций временных запоминающих устройств (ЗУ).

Изобретение относится к микро- и нанотехнологии и может быть использовано при контроле и диагностировании микропроцессорных систем

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

Изобретение относится к области антивирусной защиты

Изобретение относится к области вычислительной техники и может использоваться для повышения надежности вычислительных и управляющих систем

Изобретение относится к области автоматики и вычислительной техники и может быть использовано при построении высоконадежных резервированных устройств и систем с возможностью обеспечения синхронной работы всех резервных каналов

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

Изобретение относится к области систем автоматики подстанций (SA, АП) для подстанций сетей электроснабжения высокого и среднего напряжения
Наверх