СПОСОБ НАСТРОЙКИ СЕТЕВОГО ВИДЕОЗАПИСЫВАЮЩЕГО УСТРОЙСТВА (ВАРИАНТЫ) И САМОВОССТАНАВЛИВАЮЩАЯСЯ СИСТЕМА ВИДЕОНАБЛЮДЕНИЯ
METHOD OF SETTING THE NETWORK VIDEO RECORDING DEVICE (VARIANTS) AND THE SELF-REPAIRING VIDEO SURVEILLANCE SYSTEM

Настоящая заявка выделена из заявки № 2015138956 на выдачу патента РФ на изобретение, поданной 14.11.2013, с испрашиванием приоритета по дате подачи первой заявки US 61/798,940, поданной в патентное ведомство США 15.03.2013.
Область техники, к которой относится изобретение
Настоящее изобретение относится к системам и способам автоматического резервного копирования и восстановления цифровых данных, и, конкретнее, к системам и способам для настройки сетевого видеозаписывающего устройства в сети камер наблюдения.
Уровень техники
Многие современные предприятия для достижения поставленных целей, для управления административными задачами, для занятия и удержания значимого положения на конкурентном рынке, для обеспечения соответствия нормативам и для повышения безопасности полагаются на информационные технологии. В результате обычной практикой является использование в деловой сфере всех типов вычислительных устройств, например, настольных компьютеров, портативных компьютеров, мобильных устройств (например, планшетов и смартфонов), а также серверных компьютеров (серверов). Кроме того, широко используются разнообразные специализированные устройства, например, принтеры, сканеры, фотоаппараты и видеокамеры, биометрические устройства (сканеры ладони, радужной оболочки глаза, отпечатков пальцев) и устройства автоматической идентификации (сканеры штрихового кода и устройства для работы с радиочастотными этикетками (RFID)).
Важнейшую роль в информационной инфраструктуре предприятия играют серверы: именно они обеспечивают выполнение базовых функций хранения, обработки и передачи информации, необходимых для функционирования других компьютерных устройств на данном предприятии. Как следствие, первоочередной целью администратора системы является обеспечение непрерывной доступности серверов. Эта цель, однако, труднодостижима, поскольку сбои в работе, вызываемые отказами аппаратуры, ошибками программного обеспечения или перерывами электропитания происходят неизбежно. Предложены способы снижения частоты и/или смягчения последствий сбоев в работе сервера, например, использование резервных дублирующих или подменных серверов, соединение серверов в кластеры, облачная обработка данных, создание групп виртуальных серверов и т.д. Однако у этих способов могут быть недостатки, например, высокая стоимость, высокие требования к квалификации персонала, обеспечивающего работоспособность, или избыточность для небольших предприятий. Кроме того, во многих случаях, например, при неустранимом отказе, модификации или даже краже оборудования может потребоваться замена сервера.
Как правило, при вводе сервера в эксплуатацию перед его поставкой конечному пользователю на сервер устанавливают операционную систему и прикладное программное обеспечение. Однако перед вводом сервера в эксплуатацию в него должны быть введен ряд параметров настройки, которые обеспечивают соответствие функционирования сервера системе, в которой он будет функционировать. В число таких параметров настройки входят настройки сети, учетные записи пользователей, данные пользователей, данные приложений, данные аутентификации и управления доступом, информация, относящаяся к другим устройствами, с которыми сервер должен осуществлять связь. Ручной ввод данных настройки занимает много времени, подвержен ошибкам и зависит от точности и полноты последнего записанного набора параметров настройки. Часто такой записи нет, поскольку резервное копирование никогда не выполнялось, устройство резервного копирования утеряно или похищено, записи параметров настройки утрачены, не читаются или содержат ошибки.
Раскрытие изобретения
Раскрыта самонастраивающаяся система ввода компьютера в эксплуатацию. Раскрытая система и соответствующие способы дают возможность новому компьютеру, и, в частности, серверу, вводимому в эксплуатацию в уже существующем окружении, быстро и удобно самонастраиваться или «самовосстанавливаться», используя данные настройки (конфигурационные данные), ранее сохраненные в других устройствах, имеющихся в сети, например, в цифровой камере, использующей протокол IP. Проводимый указанным образом ввод в эксплуатацию заменяющих серверов может быть выполнен быстрее, с меньшими трудозатратами и с меньшей вероятностью ошибки.
В соответствии с одним аспектом настоящего изобретения раскрывается самонастраивающаяся система видеонаблюдения. Эта самонастраивающаяся система видеонаблюдения содержит одну или более камер наблюдения, выполненных с возможностью сохранения данных настройки сетевого видеозаписывающего устройства, имеющего функциональную связь с камерами наблюдения. Указанное сетевое видеозаписывающее устройство содержит данные настройки и модуль, выполненный с возможностью сохранения данных настройки в камерах наблюдения и/ или получения данных настройки, сохраненных в камерах наблюдения. В некоторых вариантах осуществления сетевое видеозаписывающее устройство выполнено с возможностью записи видеоданных из одной или более цифровых камер (к примеру, использующих протокол IP) и может быть выполнено с возможностью записи видеоданных из одной или более аналоговых камер (к примеру, использующих формат NTSC, PAL, RGB, композитного видеосигнала, компонентного видеосигнала и др.).
В некоторых вариантах осуществления камеры наблюдения могут включать видеокамеру, использующую протокол IP. В других вариантах осуществления самонастраивающаяся система видеонаблюдения может содержать множество камер наблюдения, выполненных с возможностью сохранения данных настройки сетевого видеозаписывающего устройства. Упомянутый модуль может быть выполнен с возможностью сохранения данных настройки в двух или более камерах из указанного множества камер наблюдения, так что в каждой из двух или более камер наблюдения сохраняется часть данных настройки, меньшая, чем вся совокупность данных настройки.
В иных вариантах осуществления данные настройки сохраняются в одной или более камерах наблюдения в зашифрованном формате. В некоторых вариантах осуществления данные настройки содержат данные в виде XML (eXtensible Markup Language, расширяемый язык разметки). В иных вариантах осуществления упомянутый модуль выполнен с возможностью проверки целостности данных настройки, полученных из камер наблюдения.
В еще одном аспекте настоящего раскрытия предложен способ настройки компьютерного устройства в сети, содержащей удаленные устройства. В некоторых вариантах осуществления указанный способ включает шаг периодического сохранения в одном или более удаленных устройствах сети, содержащей удаленные устройства, архива данных настройки, относящегося к существующему компьютерному устройству. В других вариантах осуществления существующее компьютерное устройство может содержать сетевое видеозаписывающее устройство. В иных вариантах осуществления удаленное устройство или удаленные устройства могут включать одну или более видеокамер, использующих протокол IP, выполненных с возможностью сохранения данных пользователя, к примеру, данных настройки.
Способ также может включать шаг обеспечения функциональной связи подлежащего настройке компьютерного устройства с сетью, содержащей удаленные устройства. В одном варианте осуществления этот шаг может включать развертывание нового или заменяющего сетевого видеозаписывающего устройства, не содержащего данных настройки, на предусмотренном месте. В других вариантах осуществления этот шаг может включать установление сетевого соединения между новым или заменяющим сетевым видеозаписывающим устройством и имеющейся сетью камер, использующих протокол IP. Указанный способ может включать шаги определения подлежащим настройке компьютерным устройством, сохранили ли у себя удаленные устройства сети, содержащей удаленные устройства, архив данных настройки, и, в ответ на определение того, что удаленные устройства сети, содержащей удаленные устройства, сохранили у себя архив данных настройки, передачи данных из указанного архива данных настройки в подлежащее настройке компьютерное устройство.
В некоторых вариантах осуществления новое сетевое видеозаписывающее устройство будет предпринимать попытки найти и идентифицировать в сети (к примеру, в локальной подсети), к которой подключено сетевое видеозаписывающее устройство, какие-либо доступные в сети видеокамеры, использующие протокол IP. Если такая камера идентифицирована, то между этой камерой и сетевым видеозаписывающим устройством устанавливается канал связи, и данные настройки, сохраненные в камере, загружаются в сетевое видеозаписывающее устройство.
Способ также может включать шаг настройки подлежащего настройке компьютерного устройства выполняемый с использованием данных из архива данных настройки. В некоторых вариантах осуществления этот шаг включает применение загруженных данных настройки в качестве соответствующих параметров настройки сетевого видеозаписывающего устройства. Неограничивающими примерами таких параметров данных настройки могут служить сетевые настройки одного или более сетевых интерфейсов сетевого видеозаписывающего устройства, данные местоположения, данные об имени пользователя и пароле, функциональные данные, относящиеся к размещенным в данном месте камерам, использующим протокол IP (IP-камерам) (в том числе IP-адрес, наименование камеры, разрешение, разрядность информации о цвете, битовая скорость, частота кадров, схема сжатия и кодирования, местоположение, позиция, высота, угол зрения, фокусное расстояние и т.д.), функциональные данные, связанные с размещенными в данном месте аналоговыми камерами, при их наличии (в том числе наименование камеры, входной порт, разрешение, частота кадров и т.д.), данные расписания, триггеры, вспомогательные входы, специальные настройки и т.д.
В еще одном аспекте раскрывается способ настройки компьютерного устройства в сети, содержащей удаленные устройства. В некоторых вариантах осуществления раскрытый способ включает передачу данных настройки существующего компьютерного устройства во множество удаленных устройств, причем данные настройки распределяются между двумя или более устройствами из множества удаленных устройств, так что каждое из двух или более устройств из множества удаленных устройств сохраняет часть данных настройки, меньшую, чем вся совокупность данных настройки. Этим достигается определенный уровень защиты данных, поскольку гарантируется, что ни в одной IP-камере не будут содержаться сразу все данные настройки сетевого видеозаписывающего устройства. В некоторых вариантах осуществления данные настройки сохраняются в двух или более устройствах из множества удаленных устройств с резервным дублированием, так что когда одно или более из указанных двух или более устройств из множества удаленных устройств становится недоступным, например, из-за хищения или серьезного отказа, может быть восстановлена полная копия распределенных данных настройки из остальных удаленных устройств.
Указанный способ также может включать шаги обеспечения функциональной связи подлежащего настройке компьютерного устройства с сетью, содержащей удаленные устройства; идентификации подлежащим настройке компьютерным устройством, которые из двух или более устройств из указанного множества удаленных устройств, сохранили у себя данные настройки; передачи сохраненных частей данных настройки из каждого идентифицированного удаленного устройства в подлежащее настройке компьютерное устройство; восстановления данных настройки из указанных частей данных настройки; и настройки подлежащего настройке компьютерного устройства с использованием данных настройки.
В некоторых вариантах осуществления восстановление данных настройки из частей данных настройки включает подтверждение того, что данные настройки являются полными. В других вариантах осуществления данные настройки сохраняются в удаленном устройстве в зашифрованном формате.
В еще одном аспекте настоящее изобретение относится к способу настройки компьютерного устройства в сети, содержащей одно или более удаленных устройств. Указанный способ включает шаги сохранения в удаленном устройстве архива данных настройки, относящегося к существующему компьютерному устройству; и определения подлежащим настройке компьютерным устройством, сохранило ли у себя удаленное устройство архив данных настройки. В ответ на определение того, что удаленное устройство сохранило у себя архив данных настройки, данные из архива данных настройки передаются в подлежащее настройке компьютерное устройство.
В некоторых вариантах осуществления шаг сохранения выполняется по расписанию. Это расписание может содержать регулярные интервалы (ежечасно, ежедневно, еженедельно и т.д.) и/или может содержать произвольные моменты времени либо указанные пользователем моменты времени. В некоторых вариантах осуществления шаг сохранения выполняется в ответ на ввод или событие, неограничивающими примерами которых служат обнаружение незаконного проникновения (обнаружение несанкционированного вмешательства в систему, обнаружение вируса или вредоносной программы, срабатывание охранной сигнализации помещения и т.д.) и/или обнаружение отказа (отказа программного обеспечения, ошибки аппаратного обеспечения, превышения порога ошибок в системе S.M.A.R.T. жесткого диска, аварии питания, тревожного сигнала аккумуляторного источника бесперебойного питания и т.п.). В других вариантах осуществления данные настройки сохраняются в удаленном устройстве в зашифрованном формате. В иных вариантах осуществления подлежащее настройке компьютерное устройство содержит сетевое видеозаписывающее устройство. В иных вариантах осуществления указанный способ включает шаг обеспечения функциональной связи подлежащего настройке компьютерного устройства с сетью, содержащей одно или более удаленное устройство. В еще одном варианте осуществления указанный способ включает настройку подлежащего настройке компьютерного устройства с использованием данных из архива данных настройки.
В еще одном аспекте настоящее изобретение относится к способу настройки компьютерного устройства в сети, содержащей удаленные устройства, включающему передачу данных настройки существующего компьютерного устройства во множество удаленных устройств, причем данные настройки распределяются между двумя или более устройствами из множества удаленных устройств, так что каждое из двух или более устройств из множества удаленных устройств сохраняет часть данных настройки, меньшую, чем вся совокупность данных настройки; и идентификацию подлежащим настройке компьютерным устройством, которые из двух или более устройств из множества удаленных устройств сохранили у себя данные настройки. Эти сохраненные части данных настройки из каждого идентифицированного удаленного устройства передаются в подлежащее настройке компьютерное устройство. В вариантах осуществления изобретения данный способ включает шаг восстановления данных настройки из указанных частей данных настройки. В других вариантах осуществления изобретения восстановление данных настройки из указанных частей данных настройки включает подтверждение того, что данные настройки являются полными. В иных вариантах осуществления указанный способ включает шаг настройки подлежащего настройке компьютерного устройства с использованием данных настройки. В еще одном варианте осуществления данные настройки сохраняются в удаленном устройстве в зашифрованном формате. Указанный шаг передачи может выполняться по расписанию. Компьютерное устройство может включать сетевое видеозаписывающее устройство. Указанный способ может включать шаг обеспечения функциональной связи подлежащего настройке компьютерного устройства с указанной сетью, содержащей удаленные устройства.
В еще одном аспекте настоящее изобретение относится к самовосстанавливающейся системе видеонаблюдения, содержащей одну или более камер наблюдения, выполненных с возможностью сохранения данных настройки сетевого видеозаписывающего устройства, имеющего функциональную связь с указанными камерами наблюдения. Указанное сетевое видеозаписывающее устройство содержит данные настройки и модуль, выполненный с возможностью сохранения данных настройки в указанных камерах наблюдения и с возможностью получения данных настройки, сохраненных в указанных камерах наблюдения. В вариантах осуществления изобретения камеры наблюдения включают видеокамеру, использующую протокол IP. Упомянутый модуль может быть выполнен с возможностью сохранения данных настройки в двух или более удаленных устройствах, так что каждое из удаленных устройств сохраняет часть данных настройки, меньшую, чем вся совокупность данных настройки. В вариантах осуществления изобретения данные настройки, сохраненные в камерах наблюдения, зашифрованы. В других вариантах осуществления изобретения данные настройки содержат данные в виде XML. Упомянутый модуль может быть выполнен с возможностью проверки целостности данных настройки, полученных из камер наблюдения.
В еще одном аспекте настоящее изобретение относится к самовосстанавливающемуся компьютеру, содержащему один или более процессоров, выполненных с возможностью осуществления операции сохранения в удаленном устройстве архива данных настройки, относящегося к существующему компьютерному устройству, и операции определения подлежащим настройке компьютерным устройством, сохранило ли у себя удаленное устройство архив данных настройки. в ответ на определение того, что удаленное устройство сохранило у себя архив данных настройки, данные из архива данных настройки передаются в подлежащее настройке компьютерное устройство. В вариантах осуществления изобретения указанное сохранение выполняется по расписанию. Данные настройки могут сохраняться в удаленном устройстве в зашифрованном формате. Подлежащее настройке компьютерное устройство может содержать сетевое видеозаписывающее устройство.
В еще одном аспекте настоящее изобретение относится к самовосстанавливающейся системе видеонаблюдения, содержащей множество камер наблюдения, выполненных с возможностью сохранения данных настройки сетевого видеозаписывающего устройства. Это сетевое видеозаписывающее устройство имеет функциональную связь с по меньшей мере одной камерой наблюдения и содержит данные настройки и модуль, выполненный с возможностью осуществления по меньшей мере одной из следующих операций: сохранение данных настройки в по меньшей мере одной камере наблюдения; получение данных настройки, сохраненных в по меньшей мере одной камере наблюдения. В некоторых вариантах осуществления модуль выполнен с возможностью сохранения данных настройки с резервным дублированием в подмножестве указанного множества камер наблюдения, так что указанное подмножество камер наблюдения сохраняет всю совокупность данных настройки сетевого видеозаписывающего устройства.
В еще одном аспекте настоящее изобретение относится к долговременному машиночитаемому носителю информации, содержащему программное обеспечение для настройки компьютерного устройства в сети, содержащей одно или более удаленных устройств; при этом указанное программное обеспечение при исполнении компьютерной системой обеспечивает выполнение указанной компьютерной системой операций сохранения в одном или более удаленных устройствах архива данных настройки, относящегося к существующему компьютерному устройству, и определения подлежащим настройке компьютерным устройством сохранили ли у себя удаленное устройство или удаленные устройства архив данных настройки. В ответ на определение того, что удаленное устройство или удаленные устройства сохранили у себя архива данных настройки, программное обеспечение передает данные из указанного архива данных настройки в подлежащее настройке компьютерное устройство.
В еще одном аспекте настоящее изобретение относится к долговременному машиночитаемому носителю информации, содержащему программное обеспечение для настройки компьютерного устройства в сети, содержащей удаленные устройства; при этом указанное программное обеспечение при исполнении компьютерной системой обеспечивает выполнение указанной компьютерной системой операций передачи данных настройки существующего компьютерного устройства во множество удаленных устройств, причем указанные данные настройки распределяются между двумя или более устройствами из множества удаленных устройств, так что каждое из двух или более устройств из указанного множества удаленных устройств сохраняет часть данных настройки, меньшую, чем вся совокупность данных настройки. Подлежащее настройке компьютерное устройство идентифицирует, какое из двух или более устройств из указанного множества удаленных устройств сохранило у себя данные настройки, и сохраненные части данных настройки передаются из каждого из идентифицированных удаленных устройств в подлежащее настройке компьютерное устройство.
Краткое описание чертежей
Примерные варианты осуществления изобретения в соответствии с настоящим раскрытием описаны здесь со ссылкой на чертежи.
Фиг. 1 представляет собой блок-схему варианта осуществления самовосстанавливающейся сети видеонаблюдения в соответствии с настоящим изобретением.
Фиг. 2 представляет собой диаграмму операций в варианте осуществления способа настройки сервера в соответствии с настоящим изобретением.
Фиг. 3 представляет собой диаграмму операций в варианте осуществления способа сохранения данных настройки в удаленном устройстве в соответствии с настоящим изобретением.
Осуществление изобретения
Далее со ссылкой на сопровождающие чертежи раскрываются конкретные варианты осуществления настоящего изобретения, однако должно быть понятно, что раскрытые варианты представляют собой лишь примеры осуществления изобретения, которое может быть осуществлено в различных формах. Чтобы не загромождать настоящее раскрытие ненужными подробностями, хорошо известные функциональные модули или конструкции не описываются подробно. Поэтому раскрытые здесь конкретные подробности структуры и функционирования должны интерпретироваться не как ограничивающие, а лишь как основа для формулирования изобретения и как иллюстративная основа для ориентированного на специалиста в данной области техники пояснения различных вариантов осуществления настоящего изобретения в практически любой должным образом детализированной структуре. В описании и чертежах подобными номерами представлены элементы, которые могут выполнять одинаковые, подобные или эквивалентные функции.
Кроме того, варианты осуществления настоящего изобретения могут быть раскрыты здесь посредством компонентов функциональных блоков, листингов кода, элементов выбора, экранов отображения страниц и различных шагов обработки. Должно быть понятно, что такие функциональные блоки могут быть осуществлены посредством произвольного количества аппаратных и/или программных компонентов, реализованных с возможностью выполнения определенных функций. Например, в вариантах осуществления настоящего изобретения могут использоваться различные компоненты, представляющие собой интегральные схемы, к примеру, элементы памяти, элементы обработки информации, логические элементы, таблицы соответствия и т.п., которые могут выполнять разнообразные функции под управлением одного или более микропроцессоров или иных управляющих устройств.
Аналогично, программные элементы вариантов осуществления настоящего изобретения могут быть осуществлены с использованием любого языка программирования или языка описания сценариев, например, C, C++, C#, Java, COBOL, ассемблер, PERL, Python, PHP и т.п., с реализацией различных алгоритмов посредством произвольной комбинации структур данных, объектов, операций, подпрограмм или иных программных элементов. Созданный объектный код может исполняться под управлением различных операционных систем, включая Windows, Macintosh OSX, iOS, linux и/или Android, но не ограничиваясь перечисленным.
Кроме того, следует отметить, что в вариантах осуществления настоящего изобретения может использоваться произвольное количество общеизвестных способов передачи данных, сигнализации, обработки данных, управления сетью и т.п. Следует понимать, что представленные и раскрытые здесь конкретные варианты осуществления предназначены лишь для иллюстрации изобретения и предпочтительного варианта его осуществления, но не подразумевают какого-либо ограничения множества вариантов осуществления настоящего изобретения. В представленных здесь примерах могут содержаться образцы элементов данных (к примеру, имена, даты и т.д.), которые служат лишь для пояснения и не должны пониматься как ограничивающие. Для краткости здесь могут не описываться подробно обычные сети передачи данных, разработка прикладных программ и другие функциональные аспекты систем (и компоненты отдельных функциональных элементов систем). Соединительные линии, представленные на различных фигурах чертежей, входящих в состав настоящего документа, предназначены для представления примера функциональных взаимосвязей и/или физических или виртуальных соединений между различными элементами. Следует отметить, что на практике в электронной системе передачи данных может быть множество альтернативных или дополнительных функциональных взаимосвязей и физических или виртуальных соединений.
Специалисту в данной области техники должно быть понятно, что варианты осуществления настоящего изобретения могут быть осуществлены как способ, как система обработки данных, как устройство для обработки данных и/или как компьютерный программный продукт. Соответственно, варианты осуществления настоящего изобретения могут принимать форму полностью программного варианта осуществления, полностью аппаратного варианта осуществления или варианта осуществления, сочетающего как программный аспект, так и аппаратный аспект. Кроме того, варианты осуществления настоящего изобретения могут принимать форму компьютерного программного продукта на машиночитаемом носителе информации, содержащего машиночитаемые программные кодовые средства, осуществленные в указанном носителе информации. Может быть использован любой пригодный машиночитаемый носитель информации, в том числе жесткие диски, CD-ROM, DVD-ROM, оптические запоминающие устройства, магнитные запоминающие устройства, полупроводниковые запоминающие устройства (к примеру, портативные запоминающие устройства с интерфейсом USB) и т.п.
В содержащемся здесь обсуждении термины «элемент пользовательского интерфейса» и/или «кнопка» следует понимать как неограничивающие, охватывающие своим содержанием и другие элементы интерфейса, например, без ограничений, гиперссылку, изображение с функцией, реализуемой при нажатии на нем и т.п.
Варианты осуществления настоящего изобретения далее описываются со ссылкой на иллюстративные блок-схемы и диаграммы способов, устройств (к примеру, систем) и компьютерных программных продуктов в соответствии с различными аспектами настоящего изобретения. Следует понимать, что любые функциональные блоки иллюстративных функциональных схем и блок-схем, а также комбинации функциональных блоков, показанные на функциональных схемах и блок-схемах, соответственно, могут быть осуществлены посредством команд компьютерной программы. Эти команды компьютерной программы могут быть загружены в компьютер общего назначения, в компьютер специального назначения, в мобильное устройство или в другое программируемое устройство обработки данных с целью реализации устройства, функционирующего таким образом, что посредством команд, исполняемых этим компьютером или другим программируемым устройством обработки, создается средство реализации функций, указанных в блоке или блоках блок-схемы.
Эти команды компьютерной программы также могут быть сохранены в машиночитаемой памяти, которая может управлять компьютером или другим программируемым устройством обработки данных для обеспечения его функционирования определенным образом, т.е. команды, сохраненные в этой машиночитаемой памяти, создают изделие, содержащее командные средства, реализующие функцию, указанную в блоке или блоках блок-схемы. Эти команды компьютерной программы также могут быть загружены в компьютер или другое программируемое устройство обработки данных с целью инициирования выполнения на указанном компьютере или другом программируемом устройстве обработки данных последовательности рабочих шагов, реализующей выполняемую компьютером операцию таким образом, что посредством команд, исполняемых этим компьютером или другим программируемым устройством, создаются шаги реализации функций, указанных в блоке или блоках блок-схемы.
Соответственно, функциональные блоки иллюстративных функциональных схем и блок-схем допускают комбинирование способов выполнения указанных функций, комбинирование шагов выполнения указанных функций и способов выполнения указанных функций посредством команд программы. Также следует понимать, что любые функциональные блоки иллюстративных функциональных схем и блок-схем, а также комбинации функциональных блоков, показанные на функциональных схемах и блок-схемах, могут быть осуществлены как аппаратно реализованной компьютерной системой специального назначения, выполняющей указанные функции или шаги, так и пригодными для этой цели комбинациями аппаратуры специального назначения и компьютерных команд.
Специалисту в данной области техники также должно быть понятно, что по соображениям безопасности какие-либо базы данных, системы или компоненты вариантов осуществления настоящего изобретения могут состоять из произвольной комбинации баз данных или компонентов, находящихся в одном месте или в нескольких местах, при этом каждая база данных или система содержит любые пригодные для это цели средства защиты, например, межсетевые экраны, коды доступа, шифрование, дешифрование, сжатие, восстановление сжатых данных и т.п.
Объем настоящего изобретения следует определять по прилагаемой формуле изобретения и ее законным эквивалентам, а не по приведенным здесь примерам. Например, шаги, изложенные в каком-либо способе формулы изобретения, могут выполняться в произвольном порядке и не ограничены порядком, представленном в формуле изобретения. Кроме того, ни один элемент не является принципиально важным для практического осуществления изобретения, если явным образом не указано, что элемент является принципиально важным или существенно важным.
Со ссылкой на фиг. 1 представлен вариант осуществления самовосстанавливающейся системы 10 видеонаблюдения в соответствии с настоящим изобретением. Система 10 содержит сетевое видеозаписывающее устройство 11, имеющее функциональную связь с одной или более цифровыми видеокамерами 15 через сеть 18. В некоторых вариантах осуществления сеть 18 может быть сконфигурирована как сеть TCP/IP с проводными (к примеру, Ethernet) и/или беспроводными (к примеру, 802.11 WiFi) линиями связи. Цифровая видеокамера (видеокамеры) 15 может передавать видеоданные в любом приемлемом формате, например, но не ограничиваясь этим, MPEG4 и/или H.264. Система 10 наблюдения может, как вариант, содержать одну или более аналоговых видеокамер 16, имеющих функциональное соединение с сетевым видеозаписывающим устройством 11, как правило, по проводной линии связи, хотя в некоторых вариантах осуществления изобретения поддерживаются и беспроводные аналоговые линии видеосвязи.
Цифровая видеокамера (видеокамеры) 15 содержит (содержат) модуль 17 хранения настроек. Модуль 17 хранения настроек может содержать раздел памяти или данных, выполненный с возможностью сохранения данных настройки, и может содержать энергонезависимую память, не теряющую данные при отключении питания. Модуль 17 хранения настроек может дополнительно содержать программу, реализующую способ получения, сохранения и передачи данных настройки в соответствии с настоящим раскрытием. Модуль 17 хранения настроек может содержать уникальный идентификатор, который может быть идентификатором, соответствующим цифровой видеокамере 15, или уникальным идентификатором, отличным от идентификатора, соответствующего цифровой видеокамере 15, таким, что функциональность работы с видеоданными цифровой видеокамеры 15 может быть, хотя это и не обязательно, соотнесена с отвечающей за хранение настроек функциональностью модуля 17 хранения настроек. Например, модуль 17 хранения настроек может иметь сетевой адрес (к примеру, адрес IP), отличный от сетевого адреса, назначенного функциональности работы с видеоданными цифровой видеокамеры 15. В некоторых вариантах осуществления модуль 17 хранения настроек может оставаться неактивным, частично активным и/или недоступным до тех пор, пока модулем 17 хранения настроек и/или цифровой видеокамерой 15 не будет получен код разблокировки. Тем самым функциональность хранения настроек модуля 17 хранения настроек может стать доступной только для должным образом подтвердивших свои полномочия (авторизованных) пользователей, сертифицированных сетевых видеозаписывающих устройств 11, программ, держателей лицензии и т.п. Модуль 17 хранения настроек может содержать дополнительные компоненты обработки, например, компонент шифрования и дешифрования, компонент анализа XML и компонент подтверждения прав доступа (аутентификации).
Сетевое видеозаписывающее устройство 11 содержит имеющие между собой функциональную связь модуль 12 управления настройкой, хранилище 13 данных настройки, модуль 14 хранения и процессор 19. Хранилище 13 данных настройки содержит данные настройки, необходимые для должного функционирования сетевого видеозаписывающего устройства 11, как указано выше. В ходе инициализации (загрузки) сетевого видеозаписывающего устройства 11 модуль 12 управления настройкой проверяет хранилище 13 данных настройки с целью определения того, содержит ли хранилище 13 данных настройки пустые значения или значения, заданные по умолчанию, что указывает, что сетевое видеозаписывающее устройство 11, возможно, первый раз загружается в новой для себя системе. В случае установления указанного факта модуль 12 управления настройкой предпринимает попытку идентификации каких-либо модулей 17 хранения настроек цифровой видеокамеры 15, работающих в сети 18, и попытку подключения к указанным модулям. При успешно выполненном подключении модуль 12 управления настройкой проверяет, содержит ли подключенный модуль 17 хранения настроек сохраненные данные настройки. Если это имеет место, то модуль 12 управления настройкой загружает сохраненные данные настройки из подключенного модуля 17 хранения настроек.
Если модули 17 хранения настроек не идентифицированы или не содержат каких-либо данных настройки, то лицу, осуществляющему установку, предлагается ввести данные настройки вручную и/или загрузить данные настройки из альтернативного источника сохраненных данных (к примеру, из USB-накопителя, диска или через FTP или другой сетевой ресурс).
В некоторых вариантах осуществления изобретения модуль 12 управления настройкой осуществляет проверку целостности загруженных данных с целью подтверждения того, что эти данные полны и не содержат ошибок. При необходимости модуль 12 управления настройкой может предпринимать попытки дополнительных подключений к другим модулям 17 хранения настроек цифровых видеокамер 15 до тех пор, пока не будет загружен полный и достоверный набор данных настройки. Получив валидный набор данных настройки, модуль 12 управления настройкой записывает загруженные данные в хранилище 13 данных настройки. Сетевое видеозаписывающее устройство 11 может затем использовать хранилище 13 данных настройки с восстановленными данными настройки для продолжения обычной работы.
В ходе обычной работы модуль 12 управления настройкой сохраняет, как правило, периодически, данные настройки из хранилища 13 данных настройки в модули 17 хранения настроек цифровой видеокамеры (видеокамер) 15. В некоторых вариантах осуществления модуль 12 управления настройкой сохраняет данные настройки ежедневно. Модуль 12 управления настройкой может быть выполнен с возможностью обнаружения любых изменений в хранилище 13 данных настройки и, при наличии таких изменений, сохранения обновленных данных настройки из хранилища 13 данных настройки в модули 17 хранения настроек цифровой видеокамеры (видеокамер) 15. Например, без каких-либо ограничений, если лицо, выполняющее установку, добавляет пользователя, задает триггер или изменяет параметр настройки камеры, то при сохранении этих изменений в хранилище 13 данных настройки модуль 12 управления настройкой обнаруживает изменение и записывает обновленные данные настройки в один или более модулей 17 хранения настроек. Таким образом, текущая копия данных конфигурации всегда доступна для автоматической перенастройки нового сервера, когда бы ни возникла потребность в этом.
В некоторых вариантах осуществления изобретения, в которых цифровая видеокамера (видеокамеры) 15 выполнена с возможностью сохранения видеоданных, видеоданные, сохраненные во время отсутствия связи с сетевым видеозаписывающим устройством 11, передаются в сетевое видеозаписывающее устройство 11, когда сетевое видеозаписывающее устройство 11 снова станет доступным, к примеру, после новой установки и настройки. Цифровая видеокамера (видеокамеры) 15 может быть выполнена с возможностью передачи видеоданных в реальном времени одновременно с передачей сохраненных видеоданных в сетевое видеозаписывающее устройство 11.
На фиг. 2 показан вариант осуществления способа 20 настройки сервера в соответствии с настоящим изобретением. В ходе инициализации (к примеру, при загрузке) сервера на шаге 21 проверяются данные настройки сервера. Если на шаге 22 определено, что сервер настроен, то сервер переходит к обычной работе (шаг 30). Если же на шаге 22 определено, что сервер не настроен, к примеру, данные настройки сервера состоят из пустых значений или значений, заданных по умолчанию, то тогда на шаге 23 предпринимается попытка подключения к модулю хранения (например, к удаленной цифровой видеокамере). Если на шаге 24 определено, что модуль хранения невозможно найти, то выполнение переходит к шагу 27, на котором система настраивается вручную. Если модуль хранения найден, то тогда на шаге 25 предпринимается попытка загрузки сохраненных данных настройки из указанного модуля хранения. При сбое загрузки или при отсутствии сохраненных данных выполняется ручная настройка (шаг 27).
Если сохраненные данные настройки успешно загружены из модуля хранения, то тогда на шаге 28 выполняется проверка целостности загруженных данных путем проверки полноты набора загруженных данных настройки и отсутствия в нем ошибок. Если указанная проверка завершилась успешно, то на шаге 29 загруженные данные настройки записываются в хранилище данных настройки на сервере (к примеру, в параметры реестра, файлы инициализации и т.п.) и сервер переходит к обычной работе (шаг 30).
Если же на шаге 29 определено, что загруженные данные неполны и/или содержат ошибки, то операция переходит к шагу 23 и предпринимается попытка подключения к другому модулю хранения, повторяемая до тех пор, пока не будет получен полный и не содержащий ошибок набор данных настройки, или до тех пор, пока не будут опрошены все доступные модули хранения.
Как вариант, если полученный набор данных настройки неполон, но в остальном не содержит ошибок, то полученные данные настройки записываются в хранилище данных настройки на сервере, а недостающие части вводятся путем ручной настройки.
При обычной работе системы (шаг 30) в случае изменения данных настройки сервера (шаг 31) или наступления времени, указанного в расписании (шаг 33), на шаге 32 выполняется сохранение текущих данных настройки сервера в одном или более модулях хранения.
Далее с использованием фиг. 3 более подробно описывается способ выполнения шага 32 сохранения текущих данных настройки сервера в удаленном модуле хранения. На шаге 34 выполняется идентификация модулей хранения (к примеру, IP-камер), доступных в сети 18. На шаге 35 количество доступных модулей хранения сравнивается с заранее определенным минимальным количеством доступных модулей хранения. Например, это заранее определенное минимальное количество может выбираться администратором системы, может определяться условиями лицензии на программу, правилами использования, или может задаваться любым другим пригодным способом. В некоторых вариантах осуществления указанное заранее определенное минимальное количество модулей может быть равно одному, что означает допустимость сохранения всего набора данных настройки в одном удаленном модуле хранения. В вариантах осуществления указанное заранее определенное минимальное количество модулей может быть более одного, что применимо, когда требуется распределение сохраняемых данных настройки между несколькими удаленными модулями хранения с целью предотвращения влияния хищения какого-либо одного удаленного модуля хранения или несанкционированного проникновения в такой модуль на весь набор данных настройки.
Если на шаге 35 идентифицировано, что количество модулей хранения недостаточно, то тогда на шаге 36 пользователю (к примеру, администратору системы) может быть направлен запрос перекрытия установок, которым запрашивается, следует ли продолжить выполнение операции с использованием фактически доступного количества модулей хранения. Если указанный запрос перекрытия отклонен, то затем на шаге 37 фиксируется ошибка. В некоторых вариантах осуществления, чтобы способствовать успеху следующей попытки сохранения, у пользователя может запрашиваться коррекция заранее определенного минимального количества доступных модулей хранения в соответствии с фактическим количеством доступных модулей хранения.
Если на шаге 35 идентифицировано достаточное количество модулей хранения или на шаге 36 удовлетворен запрос перекрытия установок, то тогда на шаге 38 идентифицируется первое подмножество (или, в серии итераций, следующее подмножество) данных конфигурации для удаленного сохранения в соответствующем первом (или следующем) удаленном устройстве хранения. В вариантах осуществления, где заранее определенное минимальное количество модулей равно одному, указанное подмножество представляет собой полный набор данных настройки. Подмножество данных настройки может быть выбрано любым из множества способов, например, это подмножество может представлять собой сплошной сегмент данных конфигурации, перемежающиеся части данных конфигурации (к примеру, каждый третий байт, когда количество удаленных устройств равно трем), случайным образом выбранные части и т.п.
В вариантах осуществления изобретения к каждому подмножеству данных добавляются или иным образом присоединяются идентификационные данные. Например, такими идентификационными данными могут быть, без ограничений, идентификатор источника (к примеру, сервер, к которому относятся эти настройки), метка времени, идентификатор подмножества (к примеру, «подмножество 3 из 6»), ключ шифрования, контрольная сумма и/или другие данные, которые могут способствовать воссозданию исходных данных из этих подмножеств. В некоторых вариантах осуществления данные настройки и/или их подмножества могут сохраняться в виде данных XML.
На шаге 39 определяется, должны ли данные настройки передаваться и/или сохраняться в зашифрованном формате. Если требуется использовать шифрование, то тогда на шаге 40 выполняется обмен ключами шифрования между сервером и текущим удаленным устройством хранения, а на шаге 41 подмножество данных настройки шифруется в соответствии с указанными ключами и необходимым криптографическим алгоритмом (к примеру, DES, SHA1, RSA, AES, DESX, RC4, MD5-RSA, SHA1-DSA и т.п.). На шаге 41 подмножество данных передается в первое/следующее устройство хранения и сохраняется в нем. На шаге 43 определяется, необходима ли валидация (проверка целостности) только что сохраненных данных (к примеру, в соответствии с пользовательской настройкой такой валидации). Если валидация необходима, то только что сохраненное подмножество данных загружается из соответствующего удаленного модуля хранения, при необходимости дешифруется и сравнивается с исходным подмножеством. Если полученные данные не соответствуют исходным данным, то затем на шаге 46 фиксируется ошибка. В вариантах осуществления изобретения неуспешно завершившаяся проверка вызывает выполнение попытки повторного сохранения, в которой данное подмножество снова сохраняется в соответствующем удаленном устройстве хранения. В вариантах осуществления для сохранения данного подмножества может использоваться другое удаленное устройство хранения.
Если же на шаге 43 определено, что валидация не должна выполняться, либо если валидация в шаге 45 завершилась успешно, то затем на шаге 47 определяется, все ли подмножества данных сохранены. Если одно или более подмножеств остались несохраненными, то выполнение переходит к шагу 38, на котором определяется следующее подмножество для сохранения. Когда все подмножества данных сохранены, выполнение завершается шагом 48.
Раскрытые здесь варианты осуществления настоящего изобретения предназначены для иллюстрации, а не ограничения, и не имеют целью представить все варианты осуществления. Другие разновидности раскрытых выше вариантов осуществления изобретения и других особенностей и функций либо их альтернатив могут быть сделаны или желаемым образом скомбинированы во множество других отличающихся систем или способов применения без выхода за пределы сущности или объема настоящего изобретения, определяемых нижеприведенной формулой изобретения как буквально, так и в эквивалентах, признаваемых в соответствии с законом.