СПОСОБ И УСТРОЙСТВО ЗАЩИТЫ ДАННЫХ Российский патент 2013 года по МПК G06F11/20 G06F21/78 

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

ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Настоящая заявка притязает на приоритет по Предварительным заявкам на патент США 60/673664, поданной 20 апреля 2005 г., и 60,729112, поданной 20 октября 2005 г., признаки которых включены сюда в качестве ссылки.

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

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

УРОВЕНЬ ТЕХНИКИ

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

Так, например, специалисты ЕМС Corporation (Hopkinton, Massachusetts) разработали семейство систем репликации хранимых данных с удаленных пунктов, которые они назвали «Symmetrix Remote Data Facility (SRDF)», для целей восстановления после аварии и обеспечения непрерывного ведения деловой активности. Соответствующее семейство изделий включает в себя системы как синхронного, так и асинхронного типа. Более детальные сведения об изделиях «SRDF» можно найти на сайте www.emc.com/products/networking/srdf.jsp.

Другой пример - ряд разработанных специалистами IBM Corporation (Armonk, New York) систем обеспечения непрерывного ведения деловой активности, включающих в себя системы дублирования данных. Более детальные сведения об этих изделиях можно найти на сайте www-03.ibm.com/servers/storage/solutions/business_continuity.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

прием подлежащих хранению данных от одного или более источников данных;

передача данных на хранение в первичное запоминающее устройство и вторичное запоминающее устройство;

в ожидании индикации успешного запоминания данных во вторичном запоминающем устройстве - временное хранение записи, относящейся к данным, в защищенном от аварийного воздействия запоминающем устройстве, примыкающем к первичному запоминающему устройству; и

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

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

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

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

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

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

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

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

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

определение состояния окружающей среды с помощью датчика состояния окружающей среды;

прогнозирование аварийного события в ответ на выявленное состояние окружающей среды; и

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

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

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

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

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

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

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

прием подлежащих хранению данных от одного или более источников данных;

передачу данных на хранение в запоминающее устройство;

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

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

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

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

прием данных из источника данных для хранения в первичном запоминающем устройстве;

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

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

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

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

прием подлежащих хранению данных из источника данных;

передачу данных для хранения в первичное запоминающее устройство с одновременным дублированием данных во вторичное запоминающее устройство;

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

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

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

один или более источников данных, предназначенные для передачи данных на хранение;

первичное и вторичное запоминающие устройства, предназначенные для хранения данных;

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

В соответствии с одним из вариантов осуществления, эта система содержит:

датчик состояния окружающей среды, предназначенный для определения состояния окружающей среды в зоне расположения первичного запоминающего устройства; и

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

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

защищенное от аварийного воздействия запоминающее устройство, которое включает в себя:

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

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

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

датчик, предназначенный для определения состояния окружающей среды в зоне расположения первичного запоминающего устройства; и

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На фиг.1А-1С представлены блок-схемы, иллюстрирующие системы для защиты данных в соответствии с различными вариантами осуществления настоящего изобретения;

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

фиг.3 - схематическая аксонометрическая иллюстрация защищенного блока памяти в соответствии с одним из вариантов осуществления изобретения;

фиг.4 и 5 - блок-схемы, иллюстрирующие способы защиты данных в соответствии с различными вариантами осуществления изобретения.

ДЕТАЛЬНОЕ РАСКРЫТИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

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

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

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

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

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

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

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

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

ОПИСАНИЕ СИСТЕМЫ

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

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

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

Для обеспечения защиты данных система 20 выполняет дублирование (другим словом, репликацию) данных с обеспечением их хранения в двух или большем количестве запоминающих устройств. В соответствии с некоторыми вариантами осуществления, система 20 включает в себя первичное ЗУ 28 и вторичное ЗУ 32. В обоих ЗУ хранятся реплики (тиражируемые копии) данных организации в конфигурации, широко известной под названием «дублированной» («зеркальной»). Запоминающие устройства могут иметь форму дисков, магнитных лент, компьютерных блоков памяти и/или устройств, действие которых основано на использовании любой иной подходящей методики хранения. В соответствии с некоторыми вариантами осуществления, запоминающие устройства представляют собой внутренние процессоры, выполняющие локальное хранение данных и функции, связанные с поиском. Хотя в нижеследующем описании рассматривается система с двумя запоминающими устройствами, совершенно очевидно, что возможны и варианты реализации системы 20 с большим количеством ЗУ. Систему 20 можно также выполнить с одним-единственным ЗУ, например, для защиты данных, полученных от систем охраны непосредственно перед террористической атакой.

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

Имеется дублирующее приложение 36, которое выполняет репликацию данных, то есть обеспечивает заносит реплики данных, созданных источниками 24, в первичное и вторичное запоминающие устройства. Как правило, это дублирующее приложение принимает команды на запись от источников 24, при этом указанные команды содержат подлежащие хранению данные или назначают такие данные. Дублирующее приложение обеспечивает хранение данных в первичном и вторичном ЗУ с использованием способов, которые будут рассмотрены ниже. В соответствии с типовым вариантом, представленным на фиг.1А, дублирующее приложение включает в работу ЦП первичного ЗУ. Согласно другому варианту, приложение 36 может запускать какой-либо отдельный процессор.

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

В соответствии с некоторыми вариантами осуществления, предусмотрен защитный процессор 44, соединенный с дублирующим приложением 36. (В нижеследующем описании выражение «соединенный с дублирующим приложением» используется применительно к соединению для обмена данными и управляющей информацией с процессором или вычислительной платформой, включающей дублирующее приложение, будь это тот самый процессор первичного ЗУ или же используемый отдельно от него.) В соответствии с типовой конфигурацией системы, представленной на фиг.1А, процессор 44 эмулирует (моделирует) дополнительное запоминающее устройство, соединенное с одним из портов дублирующего приложения 36. На фиг.1В и 1C приведены альтернативные конфигурации рассматриваемой системы.

Процессор 44 поддерживает связь с приложением 36 с помощью соответствующего канала связи типа оптоволоконного канала, канала с использованием межсетевого протокола или шины, например, шины PCI (интерфейс периферийных устройств). Для уменьшения задержки транзакции процессор 44 располагают обычно рядом с дублирующим приложением. Конфигурацию дублирующего приложения выбирают обычно таким образом, чтобы оно могло послать в процессор 44 каждую из принятых им команд на запись, а также любое принятое им подтверждение. Процессор 44 может поддерживать связь с приложением 36 с использованием любого подходящего протокола типа SCSI (интерфейса малых вычислительных систем), NFS (сетевой файловой системы) и CIFS (общего протокола доступа к файлам в Интернете), которые широко используют для обеспечения связи между серверами и запоминающими устройствами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На фиг.1В и 1C представлены блок-схемы, иллюстрирующие другие конфигурации системы 20 в соответствии с разными вариантами осуществления изобретения. В схеме по фиг.1В защитный процессор 44 введен в канал передачи данных, соединяющий источники 24 данных с дублирующим приложением 36. В соответствии с этим вариантом, все команды на запись, поступающие от источников данных, проходят через процессор 44. В конфигурации же, показанной на фиг.1C, защитный процессор введен в канал связи 40, соединяющий дублирующее приложение со вторичным ЗУ. В этой схеме дублирующее приложение 36 выполняет синхронное дублирование для защитного процессора 44, а сам этот процессор - асинхронное дублирование для вторичного ЗУ 32. Следует заметить, что на фиг.1В и 1C показан только один защищенный блок 48 памяти, тогда как датчики 52 и восстанавливающий процессор 56 здесь опущены. Это сделано исключительно для упрощения схемы, так что при необходимости любой из указанных компонентов или же все они вполне могут быть включены в рассматриваемую конфигурацию.

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

Для конфигураций, представленных на фиг.1А-1С, характерны также несколько альтернативных вариантов протоколов синхронного и асинхронного дублирования. Так, например, в схеме по фиг.1А дублирующее приложение 36 может выполнять синхронное дублирование для защитного процессора 44 и асинхронное дублирование для вторичного ЗУ 32, тогда как в системе по фиг.1C дублирующее приложение выполняет синхронное дублирование для защитного процессора 44, а процессор 44 выполняет асинхронное дублирование для вторичного ЗУ.

На фиг.2 приведена блок-схема, иллюстрирующая защищенный блок 48 памяти в соответствии с одним из вариантов осуществления изобретения. Этот блок 48 имеет память 60, в которой хранятся записи, выполненные по соответствующим командам, как было описано выше. В качестве памяти 60 можно применить, например, какой-либо энергонезависимый блок памяти типа флэш-памяти или EEPROM (электрически стираемого программируемого постоянного ЗУ). Согласно другому техническому решению, память 60 может представлять собой любой другой подходящий энергонезависимый блок памяти или блок с батарейным питанием. Память 60 может состоять из одного или большего количества блоков памяти.

В состав блока 48 входит также блок 64 управления, выполняющий разнообразные функции хранения и организации данных защищенного блока 48 памяти. Этот блок управления может представлять собой микропроцессор, выполняющий соответствующую программу. Согласно другому варианту, его можно сконструировать в аппаратном исполнении либо с использованием сочетания аппаратных и программных средств. Физическое сопряжение между блоком 48 и приложением 36 обеспечивается с помощью интерфейсной схемы 68 типа USB (универсальной последовательной шины). При использовании вариантов осуществления, в соответствии с которыми блок 48 получает напряжение питания от защитного процессора 44, различные компоненты блока 48 питаются именно от этой схемы 68.

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

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

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

В соответствии с некоторыми вариантами осуществления, блок 48 содержит беспроводной передатчик 76, соединенный с антенной 78. Питание передатчика 76 осуществляется, как правило, от источника питания 82. Передатчик 76 предназначен для передачи записей, хранящихся в памяти 60, в беспроводной приемник 84 в случаях, когда связь между блоком 48 и процессором 44 прерывается из-за наступления аварийного события. По существу, передатчик 76 и антенна 78 служат в качестве альтернативных средств связи для передачи информации из блока 48. При использовании беспроводного канала данные, хранящиеся в защищенном блоке памяти, могут быть найдены и восстановлены в течение минут. Другие способы поиска, которые предусматривают физическое определение местонахождения и нахождение защищенного блока памяти и могут предусматривать отсоединение памяти 60 от блока, требуют иногда нескольких часов или даже дней.

Передатчик 76 может представлять собой, например, сотовый передатчик, передатчик типа WiMax или любое другое устройство передачи данных. Беспроводной приемник 84 соединен с приемной антенной 85. Приемник 84 и антенна 85 могут быть подключены к вторичному ЗУ 32 или к восстанавливающему процессору 56. Типовой способ защиты данных, где используется альтернативный канал связи, иллюстрируется на фиг.5.

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

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

В случае использования двух или большего количества защищенных блоков 48 памяти разные передатчики 76 разных блоков 48 могут выть выполнены с такой конфигурацией, чтобы передача осуществлялась по разным сетям (например, сотовым сетям разных сервисных компаний. Такое разнообразие сетей позволяет повысить вероятность успешной передачи данных даже в случае отказа какой-либо отдельной беспроводной сети в период действия аварийной ситуации.

В соответствии с некоторыми вариантами осуществления, функции опорного устройства 72, передатчика 76 и антенн 74 и 78 могут выполняться одним-единственным передатчиком и одной-единственной антенной. Так, например, для предшествующего уровня техники характерны несколько способов определения положения сотового передатчика. Эти способы можно использовать для определения местоположения беспроводного передатчика 76, когда он передает данные из блока 48, благодаря чему устраняется необходимость в отдельном опорном устройстве.

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

На передней панели блока можно видеть интерфейсную схему 68, которая в данном случае представляет собой универсальную последовательную шину. Блок управления 64, опорное устройство 72 и передатчик 76 смонтированы на трех печатных платах, установленных на материнской плате 90. Память 60 смонтирована в данном случае на плате блока управления 64. Источник питания 82, в данном случае в виде батареи, установлен на материнской плате 90 рядом с печатными платами. Как видно на чертеже, антенны 74 и 78 смонтированы на верхней панели. Механическая конструкция, показанная на фиг.3, дана здесь исключительно в качестве возможного примера конфигурации, так что понятно, что вполне можно применить и любую другую подходящую механическую и/или электрическую конфигурацию.

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

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

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

ОПИСАНИЕ СПОСОБА ЗАЩИТЫ

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

В соответствии с рассматриваемым способом, вначале дублирующее приложение 36 принимает команду на запись от одного из источников 24 данных (в данном случае работающее на сервере ИТ-приложение), чему соответствует этап 100 приема команды. В команде на запись содержатся данные, подлежащие хранению. Дублирующее приложение передает данные в первичное ЗУ 28, чему соответствует этап 102. После того как произошло успешное запоминание данных в первичном ЗУ, это ЗУ посылает подтверждение обратно в дублирующее приложение. Это приложение принимает подтверждение, чему соответствует этап 104.

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

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

Перед временным хранением записи в блоках 48, в процессе этого хранения или после него дублирующее приложение посылает данные, подлежащие хранению, во вторичное ЗУ 32, чему соответствует этап 108. При условии, что произошло успешное запоминание записей в блоках 48, дублирующее приложение посылает подтверждение в источник 24 исходных данных, чему соответствует этап 110 асинхронного подтверждения.

Процессор 44 проверяет, принято ли подтверждение от вторичного ЗУ, чему соответствует этап 112. До того момента, как будет принято указанное подтверждение, процессор 44 сохраняет соответствующую запись, хранящуюся в кэш-памяти защищенных блоков 48 памяти, обрабатывая тем временем, если потребуется, другие команды на запись. После получения подтверждения от вторичного ЗУ 32 процессор 44 удаляет соответствующую запись из блоков 48, чему соответствует этап 114.

Рассмотренная выше последовательность этапов 100-114 иллюстрирует обработку лишь одной команды на запись. Как правило, дублирующее приложение 36 и защитный процессор 44 выполняют одновременную обработку множества таких последовательностей, соответствующих многочисленным командам на запись. В соответствии с некоторыми вариантами осуществления, как только дублирующее приложение приняло команду на запись, можно посылать данные в первичное и вторичное ЗУ, и только после этого становится возможным запоминание записи в блоках 48. Некоторые из этапов могут выполняться параллельно. Так, например, запоминание команды на запись в защищенном блоке памяти может осуществляться одновременно с передачей команды в первичное и/или вторичное ЗУ.

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

ДЛЯ каждой операции записи, полученной из источника данных,

ВЫПОЛНИТЬ

{Выделить буферную группу в памяти 60 блоков 48 и возвратить курсор к этому буферу, обозначенному наименованием BufferFrame.

Ввести соответствующую запись в буфер, обозначенный наименованием BufferFrame.}

Разумеется, память 60 блоков 48 имеет некоторый конечный объем и может вместить только некоторое конечное количество записей. В соответствии с некоторыми вариантами осуществления, перед запоминанием вновь генерированной записи процессор 44 проверяет, располагает ли память 60 достаточной областью памяти для хранения такой новой записи. Если имеющейся в наличии памяти недостаточно, то процессор 44 удаляет из памяти 60 одну или более предыдущих записей, с тем чтобы освободить место для новой записи. В соответствии с некоторыми вариантами осуществления, удалению подлежит самая старая из хранящихся в памяти 60 записей; согласно другим вариантам, операция управления памятью, осуществляемая процессором 44, может быть описана с помощью следующего псевдокода:

ЕСЛИ в памяти 60 существуют свободные буферные строки, ТО

{Выделить свободную буферную строку для новой записи.

Возвратить курсор BufferFrame, указывающий на свободную строку.}

ИНАЧЕ

{Найти запись Х с данными, находящимися в памяти 60, дольше всего.

Вывести запись Х из памяти 60.

Выделить свободную буферную строку для новой записи.

Возвратить BufferFrame, указывающий на свободную буферную строку.}

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

ДЛЯ данных в каждой записи, хранящейся в памяти 60,

ВЫПОЛНИТЬ

{Считать данные каждой записи в порядке, в котором они были первоначально сохранены.

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

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

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

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

В соответствии с некоторыми вариантами осуществления, в частности, в случаях, когда некоторые из данных, переданных источниками 24, считаются важными для исследования аварийного события, для некоторых источников данных (например, видеокамер системы безопасности) все еще сохраняется возможность сохранения данных, тогда как остальным источникам (например, ИТ-системам) оно может быть запрещено. В соответствии с некоторыми вариантами осуществления, те данные, запоминание которых разрешено продолжать, записываются в защищенный блок 48 памяти до тех пор, пока не заполнится память 60.

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

В противном случае, если первичный канал уже стал неактивным, процессор 44 выдает в блоки 48 команду на передачу записей с использованием альтернативного канала связи, то есть беспроводных передатчиков, чему соответствует этап 130. В дополнение к сказанному или в качестве альтернативного признака, как было пояснено выше, если какой-либо отдельный блок 48 определит нарушение связи и/или прекращение электропитания, он начнет передавать записи, хранящиеся в памяти 60, с помощью передатчика 76.

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

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

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

название год авторы номер документа
СИСТЕМА ДУБЛИРОВАНИЯ ДАННЫХ С УДАЛЕННЫХ ПУНКТОВ 2006
  • Винокур Алекс
RU2384878C2
СПОСОБ ЗАЩИТЫ ДАННЫХ 2009
  • Винокур Алекс
RU2439691C2
ЗАЩИЩЁННОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО 2018
  • Лукакс Сандор
  • Турику Дан-Кристьян
RU2768196C2
СПОСОБ И СИСТЕМА ВНЕШНЕГО ХРАНЕНИЯ ДАННЫХ 2005
  • Деккер Герард Йохан
  • Босха Альберт-Ян
  • Ван Де Вен Антониус Йоханнес Петрус Мария
RU2383952C2
УПРАВЛЕНИЕ ДУБЛИРОВАННЫМ ВИРТУАЛЬНЫМ ХРАНИЛИЩЕМ НА САЙТАХ ВОССТАНОВЛЕНИЯ 2012
  • Чируволу Фани
  • Синха Гаурав
  • Сингх Девдип
  • Ошинс Джейкоб
  • Эк Кристофер Л.
RU2619894C2
КОМПЬЮТЕРНАЯ ДУБЛИРУЮЩАЯ СИСТЕМА, ДЕЙСТВУЮЩАЯ С ОТКРЫТЫМИ ФАЙЛАМИ 1996
  • Питер Брайан Мэлкольм
RU2155373C2
ЗАПИСЬ ДАННЫХ В ЭНЕРГОНЕЗАВИСИМОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО СМАРТ-КАРТЫ 2012
  • Барт Микаэль
  • Спино Жоффрей
RU2607622C2
СБОР СВЕДЕНИЙ О ХОДЕ ВЫЧИСЛЕНИЙ 2013
  • Фаррелл Марк С.
  • Гейни Джр. Чарлз У.
  • Митран Марсель М.
  • Шум Чунлун Кевин
  • Смит Брайан Леонард
RU2585968C2
ФИЛЬТРАЦИЯ СОБЫТИЙ ДЛЯ ПРИЛОЖЕНИЙ БЕЗОПАСНОСТИ ВИРТУАЛЬНЫХ МАШИН 2017
  • Лутас Андрей-Влад
RU2723668C1
СПОСОБ КОНТРОЛЯ ВЫПОЛНЕНИЯ КОМПЬЮТЕРНЫХ ПРОГРАММ В СООТВЕТСТВИИ С ИХ НАЗНАЧЕНИЕМ 1998
  • Бальдишвайлер Михель
  • Пфаб Штефан
RU2220443C2

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

Реферат патента 2013 года СПОСОБ И УСТРОЙСТВО ЗАЩИТЫ ДАННЫХ

Изобретение относится к вычислительной технике. Технический результат заключается в дублировании данных с гарантированно малой задержкой как в первичном, так и во вторичном запоминающих устройствах, вне зависимости от задержки и/или расстояния между запоминающими устройствами. Способ защиты данных, в котором осуществляют: прием подлежащих хранению данных от одного или более источников данных; передачу данных на хранение в запоминающее устройство, расположенное в первичном узле; временное хранение записей, относящихся, по меньшей мере, к части данных, которая необходима для анализа аварийных событий, в защищенном от аварийного воздействия запоминающем устройстве; и при наступлении аварийного события, повреждающего, по меньшей мере, некоторые из данных в запоминающем устройстве, - анализ аварийного события с использованием записей, хранящихся в защищенном от аварийного воздействия запоминающем устройстве, расположенном в первичном узле или поблизости от первичного узла. 3 н. и 16 з.п. ф-лы, 7 ил.

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

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

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

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

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

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

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

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

8. Устройство по п.5, в котором блок памяти содержит, по меньшей мере, один из следующих компонентов: энергонезависимую память и съемную память.

9. Устройство по любому из пп.5-8, в котором блок управления содержит детекторное средство для обнаружения аварийного события и в котором блок управления предназначен для внесения изменений в работу защищенного от аварийного воздействия запоминающего устройства в ответ на обнаружение аварийного события.

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

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

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

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

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

15. Устройство по любому из пп.5-8, в котором датчик предназначен для приема выполняемой в ручном режиме индикации от пользователя с целью прогнозирования аварийного события.

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

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

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

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

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

Способ приготовления мыла 1923
  • Петров Г.С.
  • Таланцев З.М.
SU2004A1
US 6324654 В1, 27.11.2001
US 6389552 B1, 14.05.2002
Печь для непрерывного получения сернистого натрия 1921
  • Настюков А.М.
  • Настюков К.И.
SU1A1
US 5623597 A, 22.04.1997
СИСТЕМА ПЕРЕМЕЩЕНИЯ ДАННЫХ В РЕАЛЬНОМ ВРЕМЕНИ И СПОСОБ ПРИМЕНЕНИЯ РАЗРЕЖЕННЫХ ФАЙЛОВ 1996
  • Лэм Вай Танг
RU2190248C2

RU 2 488 876 C2

Авторы

Винокур Алекс

Даты

2013-07-27Публикация

2011-05-04Подача