автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов

кандидата технических наук
Соловьев, Борис Александрович
город
Томск
год
2005
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов»

Автореферат диссертации по теме "Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов"

На правах рукописи

Соловьев Борис Александрович

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И ПРОГРАММНЫЕ СРЕДСТВА РАСПРЕДЕЛЕННЫХ СИСТЕМ ВИДЕОНАБЛЮДЕНИЯ И КОНТРОЛЯ ДОСТУПА

05.13.18- Математическое моделирование, численные методы и комплексы программ

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Томск - 2005

Работа выполнена в Томском государственном университете систем управления и радиоэлектроники

Научный руководитель - кандидат технических наук,

с.н.с. Калайда Владимир Тимофеевич

Официальные оппоненты: доктор технических наук,

профессор Бондаренко Владимир Петрович

кандидат физико-математических наук, доцент Новосельцев Виталий Борисович

Ведущая организация - Институт оптики атмосферы СО РАН,

г. Томск

Защита состоится « 24 » ноября 2005 г., в 17 ч. 00 м. на заседании диссертационного совета Д.212.268.02 в Томском государственном университете систем управления и радиоэлектроники по адресу: 634034, г. Томск, ул. Белинского 53, НИИАЭМ.

С диссертацией можно ознакомиться в библиотеке Томского государственного университета систем управления и радиоэлектроники по адресу: 634050, г. Томск, ул. Вершинина, 74

Автореферат разослан «¿/_» 2005 г.

Ученый секретарь г\

диссертационного совета Д.212.268.02 Клименко А.Я.

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

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

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

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

Новейшие методологии программирования, основанные на идее позднего связывания программных компонентов (такие как COM/DCOM, CORBA, JAVA, ОРС и т. д.), позволяют программистам решить проблемы совместимости различных подсистем с помощью введения заранее оговоренных протоколов взаимодействия компонентов. Как правило, разработчики уделяют мало внимания на возможности интеграции систем от разных производителей. Кроме того, структура большинства распределенных систем жестко привязана к решаемой ей задаче. Для придания системе существенно новых свойств, потребуется пересмотреть всю ее структуру. Кроме того, все эле- .

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

определенные талы компонентов, что отрицательно влияет на масштабируемость больших информационных систем.

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

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

вие процессов в программной системе.

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

1. Определение модели объектов;

2. Разработка метода и реализация механизма управления объектами (удаленное и локальное);

3. Создание модели связи между объектами и способа взаимодействия, как между локальными, так и удаленными относительно друг друга объектами в среде с разнородными данными;

4. Моделирование процесса функционирования системы для оценки ее работоспособности и анализа «узких мест»;

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

6. Разработка метода и реализация механизма управления скоростью потоков данных для ограничения нагрузки на локальную систему и сеть;

7. Моделирование конфликтных ситуаций, возникающих при настройке интенс ивносте й потоков данных;

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

Защищаемые положения:

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

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

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

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

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

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

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

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

• совпадением параметров распределенной системы при моделировании и проведении экспериментальных испытаний;

• практическим использованием систем в производственных условиях ООО «Радио и сигнальные системы», Томского управления исполнения наказаний и ФГУП НИИ 1111, г. Санкт-Петербург.

Научная новизна:

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

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

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

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

Практическая значимость:

1. Разработанная методология построения распределенных вычислительных систем послужила основой для создания программного инструментального комплекса «Базис» — универсальной системы реализации распределенных программно -тех нических комплексов любой сложности и топологии масштаба предприятия.

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

3. С использованием комплекса «Базис» реализованы распределенная по локальной сети система видеонаблюдения и контроля доступа «Лик» и локально-раснределенная (реализованная на одном компьютер«) система идентификации личности по документам «Аккорд — Т»,

4. Результаты исследований используются в учебном процессе на факультете автоматизированных систем ТУСУР при чтении курса лекций и

проведении лабораторных работ по дисциплине «Теория вычислительных процессов» и при выполнении научно-исследовательской работы студентами кафедры АСУ.

Апробация работы. Основные научные результаты работы докладывались и обсуждались на следующих конференциях: международная научная студенческая конференция «Студент и научно-технический прогресс», НГУ (г Новосибирск, 2002, 2003, 2004,2005), Всероссийская научно-техническая конференция студентов и молодых ученых «Научная сессия ТУСУР», ТУСУР (г. Томск, 2003, 2005); ежегодная международная научно-техническая конференция студентов и аспирантов «Радиоэлектроника, электротехника и энергетика», Московский Технический Университет (г. Москва, 2004); всероссийской научной конференции студентов-физиков, АСФ (г. Екатеринбург, 2005). Результаты исследований докладывались на научных семинарах кафедры Автоматизированных систем управления Томского государственного университета систем управления и радиоэлектроники.

Основное содержание диссертации отражено в 14 научных работах (в том числе в 4-х научных статьях, 10 докладах на конференциях различного уровня).

Структура и объем работы: Диссертация изложена на 151 страницах, содержит 47 рисунков и 15 таблиц, и состоит из введения, трех глав, заключения, и списка используемой литературы из 92 наименований и работ

соискателя.

Основное содержание работы

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

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

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

- Системы охранной сигнализации;

- Системы пожарной сигнализации;

- Системы контроля и управления доступом;

- Системы видеонаблюдения;

- Комплексы, включающие перечисленные системы на базе ЭВМ.

Перечисленные системы могут функционировать как по отдельности,

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

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

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

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

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

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

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

временных систем контроля и управления доступом все чаще и чаще рассматривают операционную систему Microsoft Windows NT (Server и Workstation) в совокупности с СУБД Microsoft SQL Server 7.0, поддерживающей архитектуру баз данных «клиент-сервер».

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

- полностью 32-разрядная реализация;

- архитектура баз данных «клиент-сервер»,

- поддержка многих аппаратных платформ и многопроцессорности

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

Архитектура баз данных «клиент-сервер» увеличивает производительность за счет оптимизации работы с базами данных на SQL-сервере и снижения нагрузки на сеть.

Таким образом, возможности, предоставляемые операционной средой Windows NT 4.0 и SQL Server 7 0, соответствуют требованиям, предъявляемым к современным СКУД Попробуем теперь, исходя из перечисленных нами направлений развития современных СКУД, определить основные особенности реализации поддерживающих их программно -аппаратных комплексов нового поколения.

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

Практически на любом уровне представленной схемы возможно применение технологий, предложенных Microsoft — COM (Component Object Model), ActiveX-объекты, ОРС технологий. Возможность использования определяется выбираемыми базовым и инструментальным программным обеспечением.

Программное обеспечение верхнего уровня включает традиционные SCADA-системы и базы данных.

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

няться COM/DCOM-технологии, причем как квалифицированными разработчиками прикладного ПО, так и в предлагаемых на рынке инструментальных системах Новые технологии находят свою реализацию в виде'

- ОРС -компонент для подключения широкого спектра контроллерного оборудования и промышленных сетей стандартным, формально описанным способом (ОРС-спецификация);

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

реализации собственных COM/DCOM интерфейсов и программных компонент, поддерживающих данный интерфейс;

- использования встроенных реализаций COM/DCOM механизмов для организации взаимодействия между исполняющими системами SCADA или CASE-системами.

Активному внедрению предложенных Microsoft технологий способствует как реализация LPC/RPC механизмов в ОС Windows NT, так и наличие высокоуровневых инструментальных средств, упрощающих разработку ActiveX-объектов, ОРС-компонент.

Затем подробно рассмотрены ведущие распределенные интегрированные системы безопасности и контроля доступа по изображению лица, такие как: PelcoMATCH Facial Recognition System, Acsys Biometrics, A4Vision (Applications for Vision) и Videolnspector.

В третьей части первой главы рассмотрены технологии построения распределенных систем: RPC, Java RMI, COM/DCOM и CORBA Рассмотрены аспекты их применения в той или иной ситуации, а так же достоинства и недостатки.

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

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

- должна обеспечиваться прозрачность управления объектами как локальными, так удаленными объектами;

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

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

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

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

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

- необходима модель поставки и развертывания объектов и подсистем при внесении новых функциональных возможностей;

- должна быть защита от ошибочных действий прикладных объектов или пользователя и вредителей;

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

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

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

- объект-приемник, объект, который имеет один или более входов, но не имеет выходов;

- объект-генератор, не принимает ни каких данных из информационной среды, но имеет один или более выходов;

- комплексный объект объединяет в себе объект-приемник и генератор и имеет как входы, так и выходы.

Назначение и функции системы определяются ее прикладными объектами и связями между ними

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

Схема, приведенная на рисунке 1, иллюстрирует отношения между объектами и системой «Базис».

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

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

О

Локальная вам

О»'

Ломлышя биа

Прмюмюнвй

овъмгг

Прнмаямй обикгп

ПрмимцдоА овъектк

Прикладной ебмкгк*1

Прикладной обмктИ

Мм хяжрр конфигураций

бде ванных

Рис. 1 - Схема «Базис» Так же шина ответственна за сбор информации о статусах объектов, подчиненных ей Менеджер конфигураций это компонент «Базис» существующий в единственном экземпляре в рамках всей распределенной системы, этот компонент имеет полное представление о том, какие объекты существуют и функционируют на каждой из шин системы. Менеджер конфигураций выполняет сразу несколько функций- поддержание базы данных с информацией обо всех объектах системы, и их статусах,

- передача информации об изменении конфигурации системы всем шинам;

- передача управляющих сигналов шинам,

- останов и старт всей системы в целом;

- останов и старт отдельно взятой подсистемы,

- управление скоростью потоков данных

Каждый прикладной объект «Базис» представляет собой внутрепроцессный или внепроцессный сервер СОМ. Для того, чтобы СОМ-сервер стал объектом «Базис», он должен реализовать следующие интерфейсы:

- ЮЬ)есЮ2, интерфейс обязательный к реализации, представляет интерфейс объекта «Базис»;

- Юепега1ог02, интерфейс генератора, реализуется только теми объектами, которые предоставляют данные в информационную среду в ре-

зультате обработки входного или потока при работе с внешними устройствами;

- П1ес1еуег02, интерфейс приемника, для получения данных;

ЮЬуесКГопОдШ, этот интерфейс предназначен для конфигурации объекта, если объект использует свои средства конфигурации или не меняет конфигурации, ему не обязательно реализовывать этот интерфейс;

Ю1дес1У1ел\01, интерфейс для визуализации процесса работы объекта, этот интерфейс так же как и ЮЬ^есК^опП^ 1 не является обязательным В процессе функционирования «Базис» работает только с прикладными объектами и так называемыми объектами-значениями Дело в том, что объекты не взаимодействуют между собой напрямую, а используют объекты-значения Объект-значение представляет собой поток данных конкретного выхода конкретного объекта, генерируя выходные данные, прикладной объект инициирует изменение значения, сопоставленного с его выходом. Таким образом, объекты-приемники получают состояние объекта-значения, а не поток с выхода объекта, таким образом, реализуется общая распределенная информационная среда «Базис».

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

Для повышения производительности работы «Базис» по доставке данных, эта работа разбивается на две составляющие. С одной стороны находится внутреннее представление объекта-значения для шины, и ноток

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

Данные содержатся в разделяемом и планируемом в память файле, имя которого совпадает с именем объекта значения. Для записи данных в объект-значение используется вспомогательный внутрепроцессный СОМ-объект ValueWriter02, реализующий интерфейс IValueWriter02 Для чтения данных в объекте-значении, на стороне приемника используется вспомогательный СОМ-объект ValueReader02 Он содержит интерфейс IValueReader02.

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

Далее в главе дается описание внутренних механизмов «Базис» Особенности организации потоков внутри прикладных объектов Так же дается принцип действия и организация внутренних механизмов «Базис», таких как шиш объектов, менеджер конфигураций, счетчики производительности, журнал событий, безопасность обмена данными и управления объектами, а так же перенос объектов между машинами системы

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

- дисперсия времени генерации;

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

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

- среднее время обработки пакета объектом-приемником,

- дисперсия времени обработки;

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

- пропускная способность сети;

- производительность компьютеров, задействованных в работе системы

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

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

Затем происходило моделирование системы в течение одного часа работы. и одних суток со временем генерации пакетов в блоке GENERATE в 100 и 30 миллисекунд последовательно, с разбросом в 10 миллисекунд

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

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

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

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

Задача управления скоростью так же усложняется вследствие того, что скорости генерации не могут принимать любые значения Это обусловлено внутренним устройством каждого генератора. Например, объект-генератор, работающий с камерой и поставляющий в информационную среду изображения, может поставлять данные только с частотой 5, 15, 25 или 30 кадров в секунду, что зависит от устройства, с которым объект работает.

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

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

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

любой объект может изменить только состояние выхода, объекта подключенного к его входу. - Для моделирования опишем процесс настройки скоростей потоков в терминах теории взаимодействующих последовательных процессов. Процесс настройки состоит из следующих событий: гр — активизация настройки скоростей для объекта р; а' — изменение скорости выхода о объекта р; Ь* —передача параметров выхода р объекта р всем его потребителям; с' - запуск процесса настройки скорости выхода, подключенного к входу » объекта р;

с],р — изменение скорости / — го входа р; е* — изменить настройки корзины / -го входа объекта р. И состоит из следующих процессов: О' — основной процесс объекта р; Аг — процесс настройки скорости выхода объекта р; Ц' — процесс настройки скорости входа / объекта р; Е' — процесс изменения параметров корзин всех входов, подключенных к выходу о объекта р.

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

О" = (хр А')

»

а*=(ао И* -»д'К" А' = («,'

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

На рисунке 3 показана сеть Петри иллюстрирующая модель алгоритма подстройки скоростей потоков, реализованного в «Базис». Событиями для этого алгоритма являются:

- инициализация системы;

- приход запроса на изменение скорости какого-либо выхода;

- определение того, что запрос не принадлежит текущему сеансу;

- создание нового сеанса;

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

- сеанс завершен;

- определение того, что запрос принадлежит текущему сеансу;

- новое значение скорости генерации потока максимально среди скоростей приема этого потока;

- новое значение скорости генерации потока не максимально среди скоростей приема этого потока;

- состояние входа изменялось во время текущего сеанса;

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

Условиями для алгоритма являются:

проверка принадлежности изменения текущему сеансу;

- создание нового сеанса;

- ожидание запроса для текущего сеанса;

- завершение сеанса;

- отсутствие текущего сеанса,

- проверка того, изменялось ли состояние входа во время текущего сеанса;

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

- передача запрошенного значения скорости объекту-генератору для принятия.

В третьей главе описана распределенная система видеонаблюдения и •

контроля доступа, реализованная на базе технологии «Базис» в лаборатории Межведомственной научно-исследовательской группы Института оптики атмосферы СО РАН На рисунке 4 показан план охраняемых поме- » щений.

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

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

Рис. 4 - План помещений МНИГ ИОА СО РАН

На рисунке 5 показана иерархия подсистем данной системы безопасности.

□ гС

'ч:

Gate

j Operators

Gate

Э06 U.

Display Sotowov j»—

Eizarav J-_

"K

Otoptay

Рис 5 - Иерархия подсистем системы безопасности МНИГ ИОА СО РАН

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

В подсистему Rooms включаются комнаты, принадлежащие группе, в подсистему Operators - операторы системы Подсистема Rooms включает в себя две подсистемы, именами которых являются номера комнат. Каждая из подсистем-комнат содержит в себе две подсистемы:

- Video - подсистема видеонаблюдения

- и Access - подсистема контроля доступа.

Video — подсистемы комнат включают в себя подсистемы Cameral, Camera2 и СатегаЗ, для комнаты 314, которые представляют собой подсистемы видеокамер.

Подсистема Access содержит подсистему Gate, которая является подсистемой для работы с входной дверью комнаты

Подсистема Operators включает в себя двух операторов, которые имеют у себя подсистему Display, для отображения событий системы на мониторе.

Каждая из подсистем Display содержит подсистемы комнат для отображения событий каждой из комнат.

Оператор Soloviev так же содержит подсистему Sound для звуковой сигнализации о наступивших событиях.

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

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

После око1Гчания эксплуатации, пользователем просматривается получаемый автоматически электронный протокол работы программы, в котором указаны:

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

- среднее время, затрачиваемое каждым прикладным объектом на обработку пакета;

- среднее количество генерируемых пакетов в течение одной секунды для каждого прикладного объекта;

- среднее время, затрачиваемое прикладным объектом на генерацию шкета;

- дисперсии для каждого из этих значений;

- общее количество обработанных пакетов для объектов-приемников или комплексных объектов;

- общее количество сгенерированных пакетов для объектов-генераторов.

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

где / - тип объекта,

j - конфигурация компьютера,

и рациональная конфигурация как функции производительности процессора, объема памяти и типов объектов 11}, где / - тип объекта, У - конфигурация компьютера, Экспериментальная оценка М^ рассчитывается по формуле 1000 .

-,для приемника и комплексного объекта

(1)

1000 .

для генератора

см />

где: С[" — среднее количество (интенсивность) поступающих на обработку пакетов в течение одной секунды на вход объекта /' — го типа на машине с конфигурацией у;

С — среднее время обработки пакета объектом /' -го типа на машине с конфигурацией ] ,

— среднее количество генерируемых пакетов объектом I — го типа в течение одной секунды на машине с конфигурацией у ;

— среднее время работы процессора в течение одной секунды при генерации пакета объектом /' — го тала на машине с конфигурацией ]

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

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

e,=arcF{pl 2)-%L, (2)

где p — доверительная вероятность, которую зафиксируем на уровне 0.95;

crff — вычисленная дисперсия оценки параметра, полученная в результате испытаний.

2 *

F(x) = —==• Гexp(-z2/2)üfe — функция Лапласа; Un i х '

N0 — число зафиксированных значений параметра; etj — доверительный интервал - prob Ца^ - &ч | < etJ | > р (3)

здесь & —оценка , полученная в ходе испытаний,

prob{...} —вероятность события {...}.

Экспериментальная оценка оптимальной конфигурации находится из условия, что генерируемые системой процессы должны занимать не более 50 % времени процессора (то есть, не 500 мл с. из каждой секунды работы CPU) Таким образом, задача поиска оптимальной конфигурации сводится к минимизации функций:

500-2ХЧ

->min (4)

при ограничениях:

>1, (/ = 1,и);

(5)

И4

где: /—тип прикладного объекта; у - конфигурация компьютера ( у = 1, /); п - количество типов прикладных объектов; / —количество компьютеров.

!С" для объектов приемников и комплексных объектов

(6)

С-*<* для объектов генераторов

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

и того же типа, то берется максимальное Т*, что соответствует худшему варианту распределения нагрузки на систему;

ml} - количество прикладных объектов типа / на компьютере с конфигурацией j.

Путем введения двух дополнительных неизвестных параметров и и v задача (4) — (5) сводится к задаче линейного программирования.

и + v —> min (7)

при ограничениях:

mtJ^ 1, (/=1,и);

J

500-^7= «-v,

1-1

и >0; v> 0.

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

Основные результаты диссертации опубликованы в работах:

1. Соловьев Б. А. Организация запуска приложения во время загрузки WINDOWS 9х, Тезисы докладов на XL международной научной студенческой конференции «Студент и научно-технический прогресс», НГУ, г. Новосибирск. 2002 г.

2. Соловьев Б. А. Служба коммутации потоков в системе идентификации изображений, Тезисы докладов на XLI международной научной студенческой конференции «Студент и научно-технический прогресс», НГУ, г. Новосибирск. 2003 г.

3. Соловьев Б. А. Программное обеспечение службы коммутации потоков для системы идентификации изображений, Труды научно-технической школы-семинара студентов, аспирантов и молодых специалистов «Информационные системы», ТУСУР-2002.

4 Соловьев Б. А. Служба коммутации потоков в системе идентификации изображений, Всероссийская научно-техническая конференция студентов и молодых ученых «Научная сессия ТУСУР — 2003».

5. Соловьев Б. А. Технология создания распределенной системы видеонаблюдения и идентификации объектов, Тезисы докладов на XLII международной научной студенческой конференции «Студент и научно-технический прогресс», НГУ, г. Новосибирск. 2004 г.

6. Соловьев Б А. Технология создания распределенной системы видеонаблюдения на основе COM/DCOM, Тезисы докладов десятой ежегодной международной научно-технической конференции студентов и аспи-

рантов «Радиоэлектроника, электротехника и энергетика», Московский Технический Университет, 2004 г.

7. Соловьев Б. А., Калайда В. Т. Распределенная система видеонаблюдения и идентификации объектов, Доклады Томского государственного университета систем управления и радиоэлектроники. Автоматизированные системы обработки информации, управления и проектирования,

2004 г.

8 Соловьев, Б. А Технология создания распределенной системы видеонаблюдения на основе СОМЮСОМ / Б. А. Соловьев, В. Т. Калайда. // Электронный журнал «Вычислительные сети. Теория и практика» - 2004. № 1(4). - Режим доступа: http://network-journal.mpei.ac.ru/cgi-Ьш/таш.р1?1=ги&п=4&ра=13&аг=11

9. Соловьев Б. А. Служба поддержки распределенных систем «Базис», Тезисы докладов одиннадцатой всероссийской научной конференции сту-денгов-физиков, Екатеринбург, 2005 г.

10 Соловьев Б. А. Применение сетей Петри для задач оптимизации нагрузки в распределенной системе, Тезисы докладов одиннадцатой всероссийской научной конференции студентов-физиков, Екатеринбург,

2005 г.

11 Соловьев Б. А. Подсистема контроля нагрузки в распределенной системе, Тезисы докладов на ХЫП международной научной студенческой конференции «Студент и научно-технический прогресс», НГУ, г. Новосибирск. 2005 г.

12. Соловьев Б. А Проектирование распределенных программно-технических систем, Тезисы докладов на ХЫП международной научной студенческой конференции «Студент и научно-технический прогресс», НГУ, г. Новосибирск. 2005 г.

13. Соловьев Б. А. Проектирование распределенных программно-технических систем, Тезисы всероссийской научно-технической конференции студентов и молодых ученых «Научная сессия ТУСУР-2005», ТУ-СУР, г. Томск.

14. Соловьев Б. А. Моделирование работы распределенной системы видеонаблюдения, Доклады Томского государственного университета систем управления и радиоэлектроники. Автоматизированные системы обработки информации, управления и проектирования, 2005 г.

15. Соловьев Б. А., Калайда В. Т. Базовое программное обеспечение интегрированных распределенных систем безопасности, Журнал «Новые технологии» № 2,2005.

25

26

27

#19702

РНБ Русский фонд

2006-4 16829

Отпечатано ООО «НИП» Томск, ул. Советская, 47, тел.: 531470 Заказ № 2210-05. Тираж 100 экз.

Оглавление автор диссертации — кандидата технических наук Соловьев, Борис Александрович

Введение.

1. Методы построения распределенных систем безопасности.

1.1. Состав современных систем видеонаблюдения и контроля.

1.2. Методы реализации программного обеспечения.

1.2.1. PelcoMATCH Facial Recognition System.

1.2.2. Acsys Biometrics.

1.2.3. A4Vision (Applications for Vision).

1.2.4. Videolnspector.

1.3. Подходы к реализации распределенных систем.

1.3.1. RPC.

1.3.2. Java RMI.

1.3.3. COM.

1.3.4. CORBA.

1.4. Формулировка требований к современным распределенным системам.

1.5. Выводы.

2. Методология и программный комплекс для разработки распределенных систем

Базис».

2.1. Формулировка требований к методологии и комплексу «Базис».

2.2. Предлагаемый вариант решения.

2.2.1. Модель прикладных объектов.

2.2.2. Объект-модуль.

2.2.3. Типы сигналов.

2.2.4. Объект-значение.

2.2.5. Входы и выходы прикладного объекта.

2.2.6. Именование объектов «Базис».

2.2.7. Шина объектов «Базис».

2.2.8. Менеджер конфигураций «Базис».

2.2.9. Внутренние механизмы «Базис».

2.2.9.1. Модели организации потоков данных.

2.2.9.2. Управление прикладными объектами.

2.2.9.3. Рекомендации по организации потоков исполнения в прикладных объектах.

4 2.2.10. Управление конфигурацией «Базис».

2.2.11- Счетчики производительности «Базис».

2.2.12. Журнал событий «Базис».

2.2.13. Перенос и развертывание объектов «Базис».

2.2.14. Безопасность.

2.3. Имитационное моделирование систем, построенных по методологии «Базис» 2.4. Модели конфликтных ситуаций при распределении нагрузки.

2.5. Моделирование алгоритма подстройки интенсивностей потоков данных.

2.6. Выводы.

3. Построение распределенной системы видеонаблюдения и контроля доступа с использованием программного комплекса «Базис».

3.1. Проект прикладного объекта «Базис».

3.2. Средства управления и отладки объектов «Базис».

3.3. Системная база данных.

3.4. Компоненты интегрированной системы безопасности.

3.4.1. Компонент отображения видеопотока.

3.4.2. Компонент выделения лиц на изображении.

3.4.3. Компонент опознавания личности по изображению лица.

3.4.4. Компонент перехвата видеопотока.

3.4.5. Датчик движения и покоя.

3.4.6. Совместная работа модулей унаследованной системы Лик.

3.4.7. Компонент видеоперехвата для нескольких потоков.

3.4.8. Компонент считывания ключей системы «Лик».

3.4.9. Компонент управления исполнительными устройствами системы «Лик»

3.4.10. Контроллер источника.

3.4.11. Протокол доступа и видеонаблюдения.

3.4.12. Оповещение о наличии сигнала.

3.5. Интегрированная система безопасности на базе комплекса «Базис».

3.6. Оценка характеристик программного комплекса для построения распределенных систем видеонаблюдения и идентификации объектов «Базис».

3.7. Выводы.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Соловьев, Борис Александрович

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

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

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

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

Новейшие методологии программирования, основанные на идее позднего связывания программных компонентов (такие как COM/DCOM, CORBA, JAVA, ОРС и т.д.), позволяют программистам решить проблемы совместимости различных подсистем с помощью введения заранее оговоренных протоколов взаимодействия компонентов. Как правило, разработчики уделяют мало внимания на возможности интеграции систем от разных производителей. Кроме того, структура большинства распределенных систем жестко привязана к решаемой ей задаче. Для придания системе "существенно новых" свойств, потребуется пересмотреть всю ее структуру. Кроме того, все элементы подобных систем взаимодействуют друг с другом имея определенные знания о составе системы в целом и существовании и содержании соседних элементов, а взаимодействие компонентов системы рассчитано на заранее определенные типы компонентов, что отрицательно влияет на масштабируемость больших информационных систем.

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

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

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

1. Определение модели объектов;

2. Разработка метода и реализация управления объектами (удаленное и локальное);

3. Создание модели связи между объектами и способа взаимодействия, как между локальными, так и удаленными относительно друг друга объектами в среде с разнородными данными;

4. Моделирование процесса функционирования системы для оценки работоспособности;

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

6. Разработка метода и реализация управления скоростью потоков данных для ограничения нагрузки на локальную систему и сеть;

7. Моделирование конфликтных ситуаций, возникающих при настройке интен-сивностей потоков данных;

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

Защищаемые положения:

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

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

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

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

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

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

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

• совпадением параметров распределенной системы при моделировании и проведении экспериментальных испытаний;

• практическим использованием систем в производственных условиях ООО «Радио и сигнальные системы», Томского управления исполнения наказаний и ФГУП НИИ ПП, г. Санкт-Петербург.

Научная новизна:

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

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

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

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

Практическая значимость:

1. Разработанная методология построения распределенных вычислительных систем послужила основой для создания программного инструментального комплекса «Базис» — универсальной системы реализации распределенных программно-технических комплексов любой сложности и топологии масштаба предприятия.

2. С использованием комплекса «Базис» реализованы распределенная по локальной сети система видеонаблюдения и контроля доступа «Лик» и локально-распределенная (реализованная на одном компьютере) система идентификации личности по документам «Аккорд — Т»,

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

4. Результаты исследований используются в учебном процессе на факультете автоматизированных систем ТУСУР при чтении курса лекций и проведении лабораторных работ по дисциплине «Теория вычислительных процессов» и при выполнении научно-исследовательской работы студентами кафедры АСУ.

Апробация работы. Основные научные результаты работы докладывались и обсуждались на следующих конференциях: международная научная студенческая конференция «Студент и научно-технический прогресс», НГУ (г. Новосибирск, 2002, 2003, 2004,2005); Всероссийская научно-техническая конференция студентов и молодых ученых «Научная сессия ТУСУР», ТУСУР (г. Томск, 2003, 2005); ежегодная международная научно-техническая конференция студентов и аспирантов «Радиоэлектроника, электротехника и энергетика», Московский Технический Университет (г. Москва, 2004); всероссийской научной конференции студентов-физиков, АСФ (г. Екатеринбург, 2005). Результаты исследований докладывались на научных семинарах кафедры Автоматизированных систем управления Томского государственного университета систем управления и радиоэлектроники.

Основное содержание диссертации отражено в 14 научных работах (втом числе в 4-х научных статьях, 10 докладах на конференциях различного уровня).

Структура и объем работы: Диссертация изложена на 151 страницах, содержит 47 рисунков и 15 таблиц, и состоит из введения, трех глав, заключения, и списка используемой литературы из 93 наименований и работ соискателя.

Заключение диссертация на тему "Математические модели и программные средства распределенных систем видеонаблюдения и идентификации объектов"

3.7. Выводы

1. Созданные средства и утилиты, разработки, поставки и отладки «Базис БОК» позволяют в интерактивном режиме осуществлять создание объектов распределенной системы и устанавливать их взаимосвязи, тем самым обеспечивают существенное сокращение сроков её создания.

2. Использование инструментальных средств проектирования комплекса «Базис» позволило реализовать многоканальную программно-техническую систему «Лик» и аппаратно-программный комплекс автоматизированной идентификации личности по фотоизображению лица в системах контроля доступа «Аккорд - Т».

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

Заключение

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

По результатам исследования можно сделать следующие выводы:

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

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

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

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

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

6. Результаты испытаний комплекса «Базис» и реализованных с его использованием систем «Лик» и «Аккорд», приведенные в работе, подтвердили эффективность заложенных алгоритмов и моделей.

Рекомендации:

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

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

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

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

Библиография Соловьев, Борис Александрович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Г. Публикации на Daily.Sec.Ru Электронный ресурс.: Средства охранного телевидения в системе безопасности: тактика применения и выбор основных компонентов, Журин С., Панин О. Режим доступа: http://daily.sec.ru/dailypblshow.Cfm ?rid=8 & pid=10418.

2. Стасенко JI.А. Глобальная интеграция взгляд со стороны // Журнал «Системы безопасности», №2(56) 2004.

3. Публикации на Daily.Sec.Ru Электронный ресурс.: Интеллектуальное здание миф или реальность? Богданов Е. - Режим доступа: http://daily.sec.ru/dailypblshow.cfm?rid=7 & pid=8871.

4. Публикации на Daily.Sec.Ru Электронный ресурс.: Заочная дискуссия об интеграции. Генне О. Режим доступа: http://daily.sec.ru/dailyp-blshow.cfm?rid=7&pid=4367.

5. Публикации на Daily.Sec.Ru Электронный ресурс.: Интегрированные системы безопасности. Тараченко Н., Тимошенко С. Режим доступа: http://daily.sec.ru/dailypblshow.cfm?rid=7&pid=4245.

6. Тушканов В.В. Андрианов С.А. Опыт применения открытых технологий при создании АСУТП промышленного производства // Журнал «Приборы и системы управления» №9 1999.

7. Лаврус B.C. Системы безопасности. Серия «Информационное издание». Выпуск 1. К.: Наука и техника. 1995.

8. Публикации на Daily.Sec.Ru Электронный ресурс.: Интеллектуальное здание. Концепция крупным планом. Репин В. Режим доступа: http://daily.sec.ru/dailypblshow.cfm?rid=7&pid= 4867.

9. Публикации на Daily.Sec.Ru Электронный ресурс.: Сага об интеллектуальном здании. Жебрун С. Филенкова Ю. Режим достпа: http://daily.sec.ru/dailypblshow.cfm?rid=7&pid =9680.

10. Публикации на Daily.Sec.Ru Электронный ресурс.: Добро пожаловать или посторонним вход воспрещен, Азаров Е. Режим доступа: http://daily.sec.m/dailypblshow.cfm?rid=5&pid =7866.

11. Публикации на Daily.Sec.Ru Электронный ресурс.: СКУД с чего начать, Стасенко JI. - Режим доступа: http://daily.sec.ru/daily-pblshow.cfm?rid=5&pid=7715.

12. Публикации на Daily.Sec.Ru Электронный ресурс.: Как выглядит идеальный контроллер, Стасенко JI. Режим доступа: http://daily.sec.ru/daily-pblshow.cfm?rid=5 &pid=7763.

13. Соловьев Б.А. Служба коммутации потоков в системе идентификации изображений. // Тезисы докладов на XLI международной научной студенческой конференции "Студент и научно-технический прогресс", НГУ, г. Новосибирск. 2003 г.

14. Соловьев Б.А. Программное обеспечение службы коммутации потоков для системы идентификации изображений. // Труды научно-технической школы-семинара студентов, аспирантов и молодых специалистов "Информационные системы", ТУСУР-2002.

15. Публикации на Daily.Sec.Ru Электронный ресурс.: Обзор биометрических технологий, Задорожный В. Режим доступа: http://daily.sec.ru/ dailypblshow.cfm?rid=5&pid=7763.

16. Публикации на Daily.Sec.Ru Электронный ресурс.: Система идентификации по лицу новое мощное оружие против террора. Балбер С. - Режим доступа: http://daily.sec.ru/ dailypblshow.cfm?rid=8 & pid =5018.

17. Системы цифрового видеонаблюдения и аудиозаписи. Электронный ресурс.: Сайт компании DSSL Режим доступа: http://sivineya.dssl.ru/.

18. Соловьев Б.А. Калайда В.Т. Распределенная система видеонаблюдения и идентификации объектов // Доклады Томского государственного университета систем управления и радиоэлектроники №1(9) 2004.

19. Соловьев Б.А. Технология создания распределенной системы видеонаблюдения и идентификации объектов. // Тезисы докладов на XLII международной научной студенческой конференции "Студент и научно-технический прогресс", НГУ, г. Новосибирск. 2004 г.

20. Soukup R;, Delaney К. Inside Microsoft SQL Server 7.0. Microsoft Press. 1999. -657 p.

21. Соломон Д., Русинович M. Внутренне устройство Microdoft Windows 200. Мастер-класс. СПб.: Питер; М.: Издательско-торговый дом «Русская редакция», 2004. 746 стр.

22. Интегрированные системы безопасности Электронный ресурс.: Сайт компании ИНТЕГРА-С. Режим доступа: http://www.integra-s.com.

23. Fisher P. A comparison of approaches. // Real-time magazine №98-3. pp. 58-63.

24. Bergsma G. Real-time extensions to Windows NT, Are they right for your next real-time project? // Real-time Magazine №98-3. pp. 35-39.

25. Ильин В. "Интеллектуальное здание" как интегрированный комплекс систем. // Журнал «Интеллектуальное здание» №1-2004.

26. Столингс В. Криптография и защита сетей: принципы и практика. М.: Издательский дом «Вильяме», 2001-672 с.

27. Bouallegue В., Djemal R., Guesmi Н. A flow control and interleaving method for real-time application in high-speed network. // Dedicated Systems Magazine №2003-2. pp. 13-18.

28. Публикации на Daily.Sec.Ru Электронный ресурс.: Lyrix — программный комплекс управления интегрированными системами безопасности. Полозов Р. Андрусенко С. Режим доступа: http://daily.sec.ru/daily-pblshow.cfm?rid=7&pid=4393.

29. Acsys Biometrics Corp. Электронный ресурс.: сайт компании Acsys Biometrics Режим доступа: http://www.acsysbiometrics.com/.

30. А4Vision: Applications for Vision. Электронный ресурс.: сайт компании A4 Vision Режим доступа: www.a4vision.com.

31. Интеллектуальные системы безопасности. Электронный ресурс.: Сайт компании ISS Режим доступа: http://www.iss.ru/.

32. Таненбаум Э., Ван Стен М., Распределенные системы. Принципы и парадигмы. Спб.: Питер, 2003. 877 с.

33. Джонс Э., Оланд Дж. Программирование в сетях Microsoft Windows. Мастер-класс. Спб.: Питер; М.: Издательско-торговый дом «Русская редакция», 2002. 608 с.

34. Ладыженский Д., Технология "клиент-сервер" и мониторы транзакций, // Open Systems Magazine №3-94.

35. Birrel A., Nelson B. Implementing Remote Procedure Calls. ACM Trans. // Сотр. Syst., vol. 26 № 1, pp. 39-59.

36. Netman Publishing. Learning Microsoft Transaction Server Development Using С++ 6.0. Natl Book Network. 1999.573 pp.

37. Цимбал А.А., Аншина M. Л., Технологии создания распределенных систем. Для профессионалов. Спб.: Питер, 2003 576 с.

38. Электронный журнал Soft&Script Электронный ресурс.: Удаленный вызов процедур (RPC) и вызов удаленных методов (RMI). Тульчинский А. — Режим доступа: http://nrd.pnpi.spb.ru/UseSoft/Journals/Soft&Script/Soft-&Script57/comprice-java.html.

39. Пуха Ю. CORBA/IIOP и Java RMI. Основные возможности в сравнении. // Журнал "Системы управления базами данных" №4-97, стр. 24-36.

40. Sun Microsystems Электронный ресурс.: The Java Tutorial. RMI. 2002. Режим доступа: http://khpi-iip.mipk.kharkiv.edu/library/extent/prog/rmi-/TOC.html.

41. Рофэйл Э., Шохауд Я., СОМ и СОМ+,. Полное руководство. К.: ВЕК+, К.: НТИ, М.: Энтроп, 2000 560 с.

42. Роджерсон Д., Основы COM. М.: Рус.Ред., 1997.-376 с.

43. Shepherd G., King В. Inside ATL. Microsoft Press, 1999. 728 p.

44. Internet & Software Company Электронный ресурс.: Сравнительный анализ технологий CORBA и СОМ. Цимбал А. Режим доступа: http://www.interface.ru/ fset.asp?Url=/borland/corbacom.htm.

45. Соловьев Б.А. Служба поддержки распределенных систем «Базис». // Тезисы докладов одиннадцатой всероссийской научной конференции студентов-физиков, Екатеринбург, 2005 г.

46. Булсенко Н.П., Калашников К.В., Коваленко И.Н. Лекции по теории сложных систем. М.: Изд-во «Советское радио», 1973. 440 с.

47. Соловьев Б.А. Проектирование распределенных программно-технических систем. // Тезисы всероссийской научно-технической конференции студентов и молодых ученых "Научная сессия ТУСУР-2005" ,ТУСУР, г. Томск.

48. Allen R., Lowe-Norris A. G. Active Directory. O'Reily. 2003. pp. 686.

49. OMG. CORBA Version 2.4.2. 2001.

50. Microsoft. The Component Object Model Specification Version 0.9.1995.

51. Рихтер Дж., Кларк Дж. Д. Программирование серверных приложений для Microsoft Windows 2000. Мастер-класс. СПб.: Питер; М.: Издательско-торговый дом «Русская редакция». 2001. 592 стр.

52. Вильяме А. Системное программирование в Windows 2000 для профессионалов. СПб.: Питер, 2001. 624 с.

53. Рихтер Дж. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows. СПб.: Питер; М.: Издательско-торговый дом «Русская редакция». 2001. 752 с.

54. Якубайтис Э. А. Информационно-вычеслительные сети. М.: Финансы и статистика, 1984. 232 с.

55. Чистяков В. Ю. СОМ потоки и контексты. // Журнал «Технология Клиент-сервер», №2000-4.

56. Intel Corporation. Методика разработки меогопоточных приложений: принципы и практическая реализация. // RSDN Magazine №3-2004.

57. Ширшов А. Эффективная многопоточность. Организация пула потоков. // RSDN Magazine №2003-2.

58. Carter G. LDAP System Administration. O'Reily. 2003. 308 p.

59. Timmerman M., Van Beneden В., Uhres L. RTOS Evalutions. // Real-time magazine №98-3. pp. 3-10.

60. Холодилов С. Счетчики производительности. Часть 1 Создание. // RSDN Magazine №2003-4.

61. Холодилов С. Счетчики производительности. Часть 2 Чтение. // RSDN Magazine №2003-4.

62. Козлов В. Создание Microsoft installation package. // RSDN Magazine №2004-5.

63. Алифанов A. Технология Windows Installer. Часть 1 Обзор возможностей. // RSDN Magazine №2003-3.

64. Алифанов A. Технология Windows Installer. Часть 2 процесс установки. // RSDN Magazine №2004-1.

65. Шнайдер Б. Секреты и ложь. Безопасность данных в цифровом мире. СПб.: Питер; М.: Издательско-торговый дом «Русская редакция». 2003. 368 с.

66. Журнал «ИнфоБизнес» Электронный ресурс.: По маленькому. Сакун Ю. 2002. Режим доступа: http://www.ibusiness.ru/project/CRM/21211/.

67. Чичтяков В. Защита в DCOM/COM+. // RSDM Magazine №0. 2000.

68. Ху Т. Целочисленное программирование и потоки в сетях. М.: Изд-во «Мир». 1974.-520 с.

69. Соловьев Б.А. Моделирование работы распределенной системы видеонаблюдения. // Доклады Томского государственного университета систем управления и радиоэлектроники. Автоматизированные системы обработки информации, управления и проектирования, 2005 г.

70. Baker A., Lozano J. The Windows 2000 device driver book, a guide for programmers. Prentice Hall PTR. 2000. pp. 480.

71. Oney W. Programming the Microsoft Windows Driver Model. Microsoft Press. 1999. 745 p.

72. Partridge G. A proposed flow specification. // RFC 1363,1992.

73. Вышняков B.A. Организация взаимодействия процессов. Минск: Высшая школа. 1988. -473 с.

74. Петерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984. 264 с.

75. Соловьев Б.А. Подсистема контроля нагрузки в распределенной системе. // Тезисы докладов на XLIII международной научной студенческой конференции "Студент и научно-технический прогресс", НГУ, г. Новосибирск. 2005 г.

76. Фаулер М. Архитектура корпоративных программных приложений. М.: Издательский дом «Вильяме», 2004 544 с.

77. Мешков А. В., Тихомиров Ю. В. Visual С++ и MFC. Спб.: БХВ-Петербург, 2003. 1040 с.

78. Оутей М., Конте П. Эффективная работа: SQL Server 2000. СПб.: Питер-пресс. 2002. 992 с.

79. Сибилев В.Д. Модели и проектирование баз данных. / Методическое пособие, каф. АСУ, ТУСУР, г. Томск, 1999. 136 с.

80. Спирли Э. Корпоративные хранилища данных. Планирование, разработка, реализация. Том 1. М: Издательский дом «Вильяме», 2001. - 400с.

81. Burl М. С., Weber М., Leung Т. К. Perona P. From segmentation to interpretation and black: Mathematical methods in Computer Vision. // Recognition of visual object classes. 1996. pp. 54-87.

82. Yang M. H., Kriegman D., Ahuaja N. Detecting face in images: A survey. // IEEE T. PAMI. 2001. Vol. 24(1). pp. 34-58.

83. Прэтт У. Цифровая обработка изображений. Т. 1-2. М.: Изд-во Мир, 1982.

84. Пытьев Ю. П. Морфологический анализ изображений. // Докл. АН СССР 1983. Т. 269, № 5. с. 1061-1064.

85. Пытьев Ю. П., Куличков А. И. ЭВМ анализирует форму изображений. М.: Знание, сер. Математика, Кибернетика. 1988. -47с.

86. Ковалев Ф.В. Золотое сечение в живописи. К.: Высшая школа, 1989.

87. Elizarov A. I., Kalaida V. T., Esipova Е. A., Klimkin V. M. Introducing numerical criteria for watermark comparison degrees. // Rev. PT, March 17, 2002.

88. Елизаров А. И. Выделение существенных переменных в системе идентификации полутоновых изображений. // Студент и научно-технический прогресс. Тез. Докл XL Международной научно конференции. Новосибирск. 2002.

89. Горбанев М. А. Калайда В. Т. Елизаров А. И. Применение морфологического анализа для идентификации полутоновых изображений. // Сборник научных трудов ТУ СУР, Томск. 2001.

90. Direct Show Электронный ресурс.: MSDN Library, Jan 2002. 3 электрон. опт. диск (CD-ROM).

91. Яншин В. В., Калинин Г. А. Обработка изображений на языке СИ для IBM PC: Алгоритмы и программы. М.: Мир, 1994. 240 с.

92. Корн Г., Корн Д. Справочник по математике для научных работников и инженеров. М.: Издательство «Наука», 1968 г., 720 стр.