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

кандидата технических наук
Лавров, Валерий Александрович
город
Томск
год
2005
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование и реализация эффективных методов записи активности пользователя персонального компьютера»

Автореферат диссертации по теме "Исследование и реализация эффективных методов записи активности пользователя персонального компьютера"

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

Лавров Валерий Александрович

ИССЛЕДОВАНИЕ И РЕАЛИЗАЦИЯ ЭФФЕКТИВНЫХ

МЕТОДОВ ЗАПИСИ АКТИВНОСТИ ПОЛЬЗОВАТЕЛЯ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА

АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата технических наук по специальности 05.13.11 -«Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных систем»

Томск-2005

Работа выполнена в Томском государственном университете на кафедре теоретических основ информатики факультета информатики

Научный руководитель:

кандидат

физико -математических наук, доцент Гладких Б. А.

Официальные оппоненты:

доктор технических наук, профессор Горчаков Л.В.,

кандидат технических наук Кузнецов Д.Ю.

Ведущая организация - Кемеровский государственный университет.

Защита состоится 21 апреля 2005 г. в 10 часов 30 минут на заседании диссертационного совета Д 212.267.08 в Томском государственном университете.

Адрес: г. Томск, пр. Ленина 36, корп. 2, ауд. 102.

Отзывы на автореферат (в двух экземплярах, заверенные печатью) просьба направлять по адресу: 634050, г. Томск, пр. Ленина 36, Томский госуниверситет, ученому секретарю Н.Ю. Буровой.

С диссертацией можно ознакомиться в научной библиотеке Томского государственного университета.

Автореферат разослан марта 2005 г.

Ученый секретарь диссертационного совета, доктор технических наук, доцент

Скворцов А.В.

ОБШДЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Актуальность работы

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

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

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

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

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

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

Цель работы

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

Методика исследований

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

Научная новизна работы,

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

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

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

гистрации. Формат обеспечивает более высокую степень компрессии по сравнению с другими известными форматами.

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

Практическая ценность работы

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

2. На основе предложенных автором методов, форматов и архитектурных решений создан ряд программных продуктов для регистрации активности пользователя (ВВ FlashBack и др.).

Внедрение полученных результатов

Разработанный автором программный комплекс для компании Blueberry Consultants Ltd. является коммерческим продуктом и распространяется по интернету. К настоящему времени продано более 1000 копий этого комплекса.

Апробация работы

Отдельные результаты работы докладывались и обсуждались на следующих конференциях:

1. Восьмой Российско-Корейский международный симпозиум по науке и технологиям, Томск, июнь 2004 г.

2. VIII всероссийская научно-практическая конференция, Анжеро-Судженск, апрель 2004 г.

3. Всероссийская научная конференция «Наука. Технологии. Инновации», Новосибирск, декабрь 2004 г.

4. IV всероссийская научно-практическая конференция «Информационные недра Кузбасса», Кемерово, февраль 2005 г.

Структура диссертации

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

Публикации по работе

Основное содержание работы отражено в четырех статьях [3 - 5, 7], брошюре [2] и четырех тезисах [1,6, 8,9].

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

В § 1.2 вводятся свойства идеальной системы записи активности пользователя. Идеальная система записи активности пользователя обладает следующими свойствами:

- в ходе записи не отнимается процессорное время;

- записываются все события без потери;

- результирующая запись имеет минимальный размер;

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

- проигрыватель абсолютно точно воспроизводит все записанные действия пользователя.

Модель Ml идеальной системы записи активности пользователя изображена на рис. 1. На вход черного ящика поступают сигналы Х0), а на выходе имеем сигнал У(1), который представляет собой готовую запись активности пользователя. Для модели идеального способа записи активности пользователя ни выходной сигнал, ни сам черный ящик никак не влияют на входные сигналы. Под входными сигналами мы можем понимать Х0) - графические события операционной системы, Х(1) - звуковое сопровождение, a Х() - события мыши, Х(1) - клавиатуры и т.д.

Рис. 1. Идеальная модель систем записи активности пользователя

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

Рис. 2 Реальная модель систем записи активности пользователя.

Модели М1 и М2 характеризуются тем, что существует некоторая функция ДЛГ,(0) = У(0, а также обратная ей функция = {Л',(/)}.

То есть всегда есть взаимнооднозначное соответствие между входными сигналами Х,(1) и выходным сигналом Уф. Физически это означает, что при воспроизведении записи У(?) мы видим абсолютно точно то, что производилось пользователем в ходе записи.

В § 1.3 анализируются существующие модели (рис. 3) систем записи активности пользователя, делается вывод о существенных недостатках при применении систем в области тестирования программных продуктов. В этих моделях не представляется возможным из Я(0 получить У?), так как не существует обратной функции 5 (/). А значит и невозможно точно воспроизвести сигналы Х,{1). Но в этой модели существует функция £"(/), которая переводит сигнал Щ1) в сигнал У(0, похожий на У(1). А сигнал У (1) в свою очередь может бьпь преобразован в сигналы {.^',(0} > которые похожи на с и г н а л^Ф^ з и ч е с к и это происходит из-за того, что поступающие сигналы искажаются, и некоторые значения теряются. Например, все современные системы теряют часть графической информации в ходе записи, поэтому при вос-

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

Рис. 3. Обобщенная модель существующих систем записи активности пользователя

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

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

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

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

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

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

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

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

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

Поток событий

Событие 1 Событие 2 Событие 3 Событие п

/1 Ссылка 1г Ссылка 1, данных 1н Ссылка

Данные для события 1 Данные для события 2 Данные для события 4 Данные для события п

Поток данных

Рис. 6. Структура предлагаемого формата

Для хранения специфических данных в рамках предложенной модели § 2.2 предлагается структура формата (рис. 6).

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

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

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

В § 2.3 приводится физическая реализация приведенной в § 2.1 структуры комбинированного векторно-растрового формата хранения данных об активности пользователя под названием FBR. В этом формате все события делятся на три группы: описательные, графические и события управления.

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

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

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

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

1. Поддержка всех современных ОС семейства Windows. Из-за того, что многие пользователи как можно дольше стараются сохранить свои вложения в программные продукты, которые они используют, в ёмире до сих пор используется несколько операционных систем семейства Windows.

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

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

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

3. Минимальное воздействие на центральный процессор. Для удовлетворения этого требования предлагается ввести механизм точного детектирования изменения состояния экрана в тот момент, когда это изменение производится операционной системой (модель М4). За счет этого отпадает необходимость периодического анализа всего экрана, что существенно снижает нагрузку на центральный процессор.

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

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

6. Экспорт в популярные обменные форматы (Flash, MPEG, WMW). Формат FBR хотя и является эффективным и удобным для хранения записанных видеороликов, но большинство пользователей использует для просмотра видеофайлов форматы Flash, MPEG или WMV. Поэтому в систему необходимо добавить функции конвертации в эти форматы. Реализация этих функций описана в разделах 3.5.5 и 3.5.6.

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

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

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

В ОС Windows 2000/XP фирмой Microsoft заложена технология Mirror Driver, которая предназначена для использования системой удаленного управления рабочим столом. Для того, чтобы использовать этот механизм необходимо написать собственный дополнительный к основному видеодрайвер, которому ОС посылает копии всех графических событий. Подробно реализация данной технологии подробно описана в § 3.3.

В операционной системе Windows NT ни тот, ни другой способы неприменимы, потому что технология Windows NT не позволяет легко встраиваться в цепочку графических вызовов. Для этой ОС возможен единственный способ, заключающийся в периодическом захвате всего содержимого видеопамяти с последующим анализом. Этот способ универсален, пригоден для любой ОС, однако он не учитывает особенности команд графической подсистемы и поэтому обеспечивает меньшую компрессию, к тому же существенно нагружает центральный процессор для обработки данных. При этом существует вероятность потери событий между двумя соседними захватами. Реализация универсального метода захвата описана в § 3.4.

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

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

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

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

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

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

Современные коммерческие приложения разрабатываются в основном с использованием средств разработки, основанных на языке C++. Существуют две самые распространенные среды для платформ Windows - Microsoft Visual Studio C++ и Borland C++ Builder. Каждая из сред разработки имеет достоинства и недостатки, которые описаны в §4.1.

Приложение с графическим пользовательским интерфейсом было создано в среде Borland C++ Builder, а объекты ActiveX и свободно распространяемый проигрыватель написаны в среде Visual Studio.

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

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

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

Вопросам взаимодействия между отдельными компонентами системы посвящен § 4.5. В нем описывается последовательность действий

пользователя и соответствующих вызовов внутри системы при записи активности пользователя.

Непосредственная реализация драйвера по технологии Mirror Driver рассматривается в § 4.6. Приводятся примеры базового кода драйвера, описывается взаимодействие между отдельными частями драйвера и передача данных между драйвером и приложением пользователя Win32. Здесь же рассматривается вопрос отладки кода драйвера во время его разработки, что является непростой задачей.

Не во всех операционных системах возможно использование специального драйвера для захвата экрана. Описание работы системы в режиме совместимости с основными версиями ОС Windows приводится в §4.7.

Особенности установки программы на компьютеры с различными операционными системами описываются в § 4.8. Под Windows 98 не требуется никаких ухищрений для установки и просто осуществляется простое копирование файлов.

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

Самая сложная установка производится под управлением Windows 2k/XP. Для установки программы необходимо иметь наличие администраторских прав и наличие в групповой политике разрешения на установку неподписанных драйверов для того, чтобы установить ВВ Capture видеодрайвер в систему.

Для проигрывания FBR-файлов необходим специальный проигрыватель. Для разработки небольшого проигрывателя была использована среда MS VS C++. Вопросам создания проигрывателя и его функциональных особенностей посвящен § 4.9. Размер проигрывателя составляет около 350 Кб.

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

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

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

Результаты экспериментального тестирования приводятся в § 4.11. Описывается методология тестирования и использованное для тестирования оборудование, отдельные тесты и приводятся результаты тестирования. Экспериментальное тестирование показало, что по совокупности всех критериев, система FlashBack оказалось лучшей среди всего набора тестируемых систем.

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

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

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

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

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

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

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

В системе Windows 98 перехват графических событий операционной системы осуществлено по скрытой от пользователя фирменной технологии GDI Hooking, а в ОС Windows 2000/ХР - по технологии Mirror Driver, которая предназначена для использования системой удаленного управления рабочим столом.

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

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

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

- программу записи активности пользователя FlashBack Recorder,

- редактор записанных видеороликов FlashBack Editor,

- проигрыватель FlashBack Player,

- встраиваемые компоненты ActiveX FlashBack Recorder и FlashBack Player.

Общий объем исходного текста программ на языке C++ составил 12 Мбайт, из них около 50% написаны лично автором настоящей работы.

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

8. Экспериментальное исследование системы ВВ FlashBack производилось на примерах записи активности пользователя при работе с рядом популярных пакетов прикладных программ: MS Office, Adobe Photoshop, Internet Explorer и др. По большинству критериев ВВ FlashBack показала преимущество перед всеми системами своего класса. FlashBack уступила только одному продукту DemoForge и только по

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

9. Пакет ВВ FlashBack является коммерческой системой, состоящей из линейки специализированных продуктов и распространяемой британской компанией Blueberry Consultants Ltd. Первая коммерческая версия была выпушена в сентября 2003 года. В настоящее время (январь 2005 года) продается версия 1.4, а всего было продано более 1000 копий. Компанией в 2003 году создан веб-сайт для ознакомления с возможностями продуктов, загрузки демонстрационных версий, сбора отзывов и замечаний, который находится по адресу http: //www.bbsoftware.co.uk.

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

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

Пакет ВВ FlashBack SDK предоставляет сторонним разработчикам возможность использования технологии ВВ FlashBack в своих программных продуктах. В пакете имеются два объекта ActiveX: ВВ FlashBack Recorder и ВВ FlashBack Player.

Дня целей он-лайновой поддержки программных продуктов на основе технологии ВВ FlashBack был создан пакет ВВ SupportAssistant. Пакет позволяет пользователям программного обеспечения воспользоваться специальным веб-сервисом на веб-сервере компании Blueberry для создания запросов в компанию, разработавшую программу. Запрос может включать в себя запись проблемы пользователя в виде компактного видеролика формата FBR, который может быть просмотрен раз-работниками.

В приложении 1 диссертации приводится руководство пользователя по использованию системы ВВ FlashBack.

В приложении 2 представлены веб-страницы продуктов ВВ FlashBack, BB TestAssistant и ВВ FlashBack SDK.

В приложении 3 находятся отзывы различных организаций на систему ВВ FlashBack: Ник Пичи (Британский Совет), Росс Хопкинс (СВТ

Interactive), журнал «Компьютера Online», Фил Дэлглиш (клиника Spectrum Health), Мартин Грин (Blueberry Consultants Ltd.).

СПИСОКПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Лавров В. А. Использование технологии "ВВ FLASHBACK" в целях образования // Наука. Технологии. Инновации (материалы науч. конф.), ч. 2. - Новосибирск, 2004. - С. 56-58.

2. Лавров В. А. Разработка методов записи активности пользователя ЭВМ и их реализация в системе ВВ FlashBack // Вестник Томского государственного университета: Общенаучный периодический журнал. Бюллетень оперативной научной информации. № 22. Март. - Томск: Изд-во Том ун-та, 2004. - 123с.

3. Лавров В. А. Векторно-растровый формат хранения видеоизображений // Обработка данных и управление в сложных системах. - Томск: Изд-во Том. ун-та, 2004. Вып. 6. - С. 106-117.

4. Лавров В. А. Использование Mirror драйвера для записи всех изменений экрана компьютера в файл видеоформата FBR // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». - Томск: Изд-во Том. ун-та. Декабрь 2004. № 284. - С. 190— 193.

5. Лавров В. А. Написание своего Mirror видео драйвера // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». -Томск: Изд-во Том. ун-та. Декабрь 2004. № 284. - С. 194-197.

6. Лавров В. А. Обучение работе с пакетами программ с помощью систем, записывающих и воспроизводящих действия пользователей // Материалы IV всерос. научно-практ. конф. «Информационные недра Кузбасса». - Кемерово: ИНТ, 2005. -С. 153.

7. Лавров В. А. Практическое сравнение системы ВВ FlashBack с ее аналогами // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». - Томск: Изд-во Том. ун-та. Декабрь 2004. №284.-С. 194-197.

8. Лавров В. А. Тестирование программных продуктов с использованием технологии FlashBack // Материалы VIII Всерос. на-учно-практ. конф. «Научное творчество молодежи». - Томск: Изд-во Том. ун-та, 2004. - С. 46-47.

9. Valeri Lavrov. Screen recording system for the windows desktop // 8th Korea - Russia International Symposium on Science and Technology. PROCEEDINGS. KORUS. - New York City, NY: IEEE, 2004. Vol. 1.- P. 107-109.

Отпечатано в 000 "Вайар" г. Томск, Московский тракт, 2г. Тел./факс: 52-98-11 Заказ №100 от "10" марта 2005г. Тираж 100 экз.

OS 42. - 05. /3

/ - -

I 5 - »

t

? ? !äP 20054 , -

Оглавление автор диссертации — кандидата технических наук Лавров, Валерий Александрович

ОГЛАВЛЕНИЕ.

ВВЕДЕНИЕ.

1. СИСТЕМЫ И МОДЕЛИ ДЛЯ ЗАПИСИ АКТИВНОСТИ

ПОЛЬЗОВАТЕЛЯ.

1.1. Запись активности пользователя и ее применение.

1.2. Требования, предъявляемые к систем записи активности пользователя.

1.3. Модель системы для записи активности пользвателя.

1.4. Экспериментальное тестирование современных систем.

2. МЕТОД ЗАПИСИ АКТИВНОСТИ ПОЛЬЗОВАТЕЛЯ НА ОСНОВЕ СИНХРОННОГО ДЕТЕКТИРОВАНИЯ СОБЫТИЙ ГРАФИЧЕСКОГО ЯДРА ОПЕРАЦИОННОЙ СИСТЕМЫ.

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

2.2. Новый формат хранения результирующей записи предложенной модели.

2.3. Пример реализации комбинированного векторно-растрового формата.

2.4. Выводы.

3. АРХИТЕКТУРА СИСТЕМЫ ЗАПИСИ АКТИВНОСТИ ПОЛЬЗОВАТЕЛЯ.

3.1. Технические требования к системе и способы их реализации.

3.2. Взаимодействие с операционной системой Windows 98.

3.3. Взаимодействие с операционной системой Windows 2000/ХР.

3.4. Универсальный метод захвата.

3.5. Дополнительные возможности.

3.6. Выводы.

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ.

4.1. Использованные среды разработки.

4.2. Использование библиотеки сжатия ZLib.

4.3. Классы и структуры.

4.4. Графический интерфейс пользователя.

4.5. Функционирование программы ВВ FlashBack Recorder.

4.6. Реализация драйвера ВВ Capture Driver.

4.7. Функционирование программы ВВ FlashBack Recorder в режиме Compatibility Mode.

4.8. Установка системы ВВ FlashBack.

0 4.9. Свободно распространяемый проигрыватель FBR файлов Free

FlashBack Player.

4.10. Центр поддержки программных продуктов ВВ FlashBack Support

4.11. Экспериментальное исследование системы ВВ Flashback и сравнение ее с аналогичными системами.

4.12. Выводы.

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

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

АКТУАЛЬНОСТЬ РАБОТЫ

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

Существует специальный класс программ [29, 34, 44, 46, 47, 51 - 53, 58, 59, 61, 64, 67, 69, 79, 82 - 84, 86], которые могут осуществлять запись активности пользователя (изменения графического содержимого экрана, звукового сопровождения, разнообразных событий клавиатуры, мыши, других устройств ввода). Одни программы сохраняют только отдельные статические снимки экрана, другие имеют возможность создавать динамические видеоролики, которые при воспроизведении показывают все записанные действия пользователя. Весьма важным с точки зрения пользователя являются дополнительные функциональные возможности, такие как вставка маркеров во время записи, редактирования записанного видеоролика, удобные средства навигации при воспроизведении и т.п.

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

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

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

ЦЕЛЬ РАБОТЫ

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

МЕТОДИКА ИССЛЕДОВАНИЙ

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

НАУЧНАЯ НОВИЗНА РАБОТЫ, по мнению автора, заключается в следующем:

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

2. Разработан новый векторно-растровый формат хранения данных об ак

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

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

ПРАКТИЧЕСКАЯ ЦЕННОСТЬ РАБОТЫ

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

2. На основе предложенных автором методов, форматов и архитектурных решений автором создан ряд программных продуктов для регистрации активности пользователя (ВВ FlashBack и др.).

ВНЕДРЕНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ

Разработанный автором программный комплекс для компании Blueberry Consultants Ltd. является коммерческим продуктом и распространяется по интернету. К настоящему времени продано более 1000 копий этого комплекса.

ПУБЛИКАЦИИ ПО РАБОТЕ

Основное содержание работы отражено в статьях [8 — 10, 12], брошюре [7] и в тезисах [6, 11, 13, 90].

АПРОБАЦИЯ РАБОТЫ

Отдельные результаты работы докладывались и обсуждались на следующих конференциях:

1. Восьмой Российско-Корейский международный симпозиум по науке и технологиям, Томск, 2004 г.

2. VIII всероссийская научно-практическая конференция, Анжеро-Судженск, апрель 2004 г.

3. Всероссийская научная конференция «Наука. Технологии. Инновации», Новосибирск, декабрь 2004 г.

4. IV всероссийская научно-практическая конференция «Информационные недра Кузбасса», Кемерово, 2005.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

Camtasia 2.0, метод периодического захвата экрана;

DemoForge 1.2, метод, основанный на использовании протокола RDP -Remote Desktop Protocol;

WinCam 2000, метод периодического захвата экрана.

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

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

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

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

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

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

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

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

В § 2.3 приводится физическая структура комбинированного векторно-растрового формата хранения данных FBR об активности пользователя.

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

В § 3.1 описываются технические требования к эффективной системе и способы их реализации. Требования включают в себя следующие элементы: поддержка всех современных ОС семейства Windows; высокая точность воспроизведения при минимальном размере видеоролика; минимальное воздействие на центральный процессор; возможность записи звукового сопровождения, событий клавиатуры и мыши; наличие разнообразных средств редактирования; экспорт в популярные обменные форматы (Flash, MPEG, WMW); удобство системы навигации при проигрывании; компонентность.

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

В ОС Windows 2000/ХР фирмой Microsoft заложена технология Mirror Driver, которая предназначена для использования системой удаленного управления рабочим столом. Для того чтобы использовать этот механизм необходимо написать собственный дополнительный к основному видеодрайвер, которому ОС посылает копии всех графических событий. Реализация данной технологии подробно описана в § 3.3.

В операционной системе Windows NT ни тот, ни другой способы неприменимы, потому что технология Windows NT не позволяет легко встраиваться в цепочку графических вызовов. Для этой ОС возможен единственный способ, заключающийся в периодическом захвате всего содержимого видеопамяти с последующим анализом. Этот способ универсален, пригоден для любой ОС, однако он не учитывает особенности команд графической подсистемы и поэтому обеспечивает меньшую компрессию, к тому же существенно нагружает центральный процессор для обработки данных. При этом существует вероятность потери событий между двумя соседними захватами. Реализация универсального метода захвата описана в § 3.4.

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

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

Современные коммерческие приложения разрабатываются в основном с использованием средств разработки, основанных на языке С++. Существуют две самые распространенные среды для платформ Windows - Microsoft Visual Studio С++ и Borland С++ Builder. Каждая из сред разработки имеет достоинства и недостатки, которые описаны в § 4.1.

Приложение с графическим пользовательским интерфейсом было создано в среде Borland С++ Builder, а объекты ActiveX и свободно распространяемый проигрыватель написаны в среде Visual Studio.

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

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

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

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

Непосредственная реализация драйвера по технологии Mirror Driver рассматривается в § 4.6. Приводятся примеры базового кода драйвера, описывается взаимодействие между отдельными частями драйвера и передача данных между драйвером и приложением пользователя Win32. Здесь же рассматривается вопрос отладки кода драйвера во время его разработки, что является непростой задачей.

Не во всех операционных системах возможно использование специального драйвера для захвата экрана. Описание работы системы в режиме совместимости с основными версиями ОС Windows приводится в § 4.7.

Особенности установки программы на компьютеры с различными операционными системами описываются в § 4.8.

Для проигрывания FBR-файлов необходим специальный проигрыватель. Для разработки небольшого проигрывателя была использована среда MS VS С++. Вопросам создания проигрывателя и его функциональных особенностей посвящен § 4.9.

В § 4.10 предлагается способ использования системы для он-лайновой службы поддержки.

Результаты экспериментального тестирования приводятся в § 4.11. Описывается методология тестирования и использованное для тестирования оборудование, отдельные тесты и приводятся результаты тестирования. Экспериментальное тестирование показало, что по совокупности всех критериев, система FlashBack оказалось лучшей среди всего набора тестируемых систем.

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

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

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

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

Разработанная архитектура системы записи активности пользователя была реализована в виде пакета программ ВВ FlashBack

Пакет ВВ FlashBack является коммерческой системой, состоящей из линейки специализированных продуктов и распространяемой британской компанией Blueberry Consultants Ltd. Первая коммерческая версия была выпушена в сентябре 2003 года.

В приложении 1 диссертации приводится руководство пользователя по использованию системы ВВ FlashBack.

В приложении 2 представлены веб-страницы продуктов ВВ FlashBack, ВВ TestAssistant и ВВ FlashBack SDK.

В приложении 3 находятся отзывы различных организаций на систему ВВ FlashBack.

Заключение диссертация на тему "Исследование и реализация эффективных методов записи активности пользователя персонального компьютера"

4.12. ВЫВОДЫ

1. Описанная в главе 3 архитектура системы записи активности пользователя была реализована в виде пакета программ ВВ FlashBack [37], включающего в себя:

- программу записи активности пользователя FlashBack Recorder, редактор записанных видеороликов FlashBack Editor, проигрыватель FlashBack Player,

- встраиваемые компоненты ActiveX FlashBack Recorder и FlashBack Player.

2. Программы FlashBack Recorder и FlashBack Editor реализованы в среде Borland С++ Builder, компоненты ActiveX FlashBack Recorder и FlashBack Player реализованы в среде Microsoft Visual Studio .NET. Общий объем исходного текста программ составил 12 Мбайт, около 50% написаны лично автором настоящей работы.

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

- используя особенности ОС Windows 2000/ХР, были разработаны и реализованы методы, позволяющие избежать накладных расходов на передачу данных из видеопамяти в системную память, за счет дублирования всех графических операций в буфер системной памяти (раздел 4.6.1) ; разработаны и реализованы механизмы передачи данных из вспомогательного видеодрайвера в приложение Win32 User Mode (раздел 4.6.1).

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

5. Программа FlashBack Player написана с использованием только стандартного API Windows, поэтому она имеет малый размер (около 300 кбайт) и может быть запущена на всех операционных системах семейства Windows. В настоящее время завершается ее реализация для ОС Linux.

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

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

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

Экспериментальное тестирование показало, что по совокупности всех критериев, система FlashBack оказалось лучшей среди всего набора тестируемых систем.

Таким образом, применение технологии mirror driver, разработанных методов по обработке графических данных и формата FBR позволило создать систему, которая на данный момент является самой эффективной среди рассмотренных систем в смысле размера результирующего видео ролика, минимизации нагрузки на центральный процессор и верности воспроизведения. Дополнительную информацию о системе ВВ FlashBack можно найти по адресу [37].

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

В системе Windows 98 перехват графических событий операционной системы осуществлено по скрытой от пользователя фирменной технологии GDI Hooking, а в ОС Windows 2000/ХР - по технологии Mirror Driver, которая предназначена для использования системой удаленного управления рабочим столом.

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

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

6. Разработанная архитектура системы записи активности пользователя была реализована в виде пакета программ ВВ FlashBack, включающего в себя: программу записи активности пользователя FlashBack Recorder, редактор записанных видеороликов FlashBack Editor, проигрыватель FlashBack Player, встраиваемые компоненты ActiveX FlashBack Recorder и FlashBack Player.

Общий объем исходного текста программ на языке С++ составил 12 Мбайт, из них около 50% написаны лично автором настоящей работы.

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

8. Экспериментальное исследование системы ВВ FlashBack производилось на примерах записи активности пользователя при работе с рядом популярных пакетов прикладных программ: MS Office, Adobe Photoshop, Internet Explorer и др. По большинству критериев ВВ FlashBack показала преимущество перед всеми системами своего класса. FlashBack уступила только одному продукту DemoForge и только по одному критерию - размеру видеоролика. Однако при этом DemoForge не обеспечивал точное воспроизведение изображения на экране, урезая глубину цвета с 24 до 8 бит, а также грубо фиксировал временные события: смену изображений и передвижение курсора мыши.

9. Пакет ВВ FlashBack является коммерческой системой, состоящей из линейки специализированных продуктов и распространяемой британской компанией Blueberry Consultants Ltd. Первая коммерческая версия была выпушена в сентября 2003 года. В настоящее время (январь 2005 года) продается версия 1.4, а всего было продано более 1000 копий. Компанией в 2003 году создан веб-сайт для ознакомления с возможностями продуктов, загрузки демонстрационных версий, сбора отзывов и замечаний, который находится по адресу http://www.bbsoftware.co.uk.

Основным продуктом является ВВ FlashBack Publisher [37]. Он включает в себя поддержку всех разработанных свойств для системы ВВ FlashBack и может быть использован во многих областях.

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

Пакет ВВ FlashBack SDK [38] предоставляет сторонним разработчикам возможность использования технологии ВВ FlashBack в своих программных продуктах. В пакете имеются два объекта ActiveX: ВВ FlashBack Recorder и ВВ FlashBack Player.

Для целей он-лайновой поддержки программных продуктов на основе технологии ВВ FlashBack был создан пакет ВВ SupportAssistant [39]. Пакет позволяет пользователям программного обеспечения воспользоваться специальным веб-сервисом на веб-сервере компании Blueberry для создания запросов в компанию, разработавшую программу. Запрос может включать в себя запись проблемы пользователя в виде компактного видеролика формата FBR, который может быть просмотрен разработчиками.

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

1. Алуанг Г. Инструменты для тестирования стандартных программ Электронный ресурс. 1998. №12. Режим доступа: http://www.pcrnag.ru/archive/9812/129824.asp, свободный.

2. Бокс Д. Сущность технологии СОМ. СПб.: Питер, 2001. - 400с.: ил.

3. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. СПб.: Бином, Невский Диалект, 1998. -560с.: ил.

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

5. Зубков С. Assembler для DOS, Windows и UNIX. СПб.: ДМК Пресс, 2004. - 608с.: ил.

6. Лавров В. А. Использование технологии "ВВ FLASHBACK" в целях образования // Наука. Технологии. Инновации (материалы науч. конф.), ч. 2. Новосибирск, 2004. - С. 56-58.

7. Лавров В. А. Векторно-растровый формат хранения видеоизображений // Обработка данных и управление в сложных системах. Томск: Изд-во Том. ун-та, 2004. Вып. 6. - С. 106 - 117.

8. Лавров В. А. Использование Mirror драйвера для записи всех изменений экрана компьютера в файл видеоформата FBR // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». Томск: Изд-во Том. ун-та. Декабрь 2004. № 284. - С. 190-193.

9. Лавров В. А. Написание своего Mirror видео драйвера // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». Томск: Изд-во Том. ун-та. Декабрь 2004. № 284. - С. 194 - 197.

10. Лавров В. А. Обучение работе с пакетами программ с помощью систем, записывающих и воспроизводящих действия пользователей // материалы IV всерос. научн.-практ. конф. «Информационные недра Кузбасса». Кемерово: ИНТ, 2005. - С. 153.

11. Лавров В. А. Практическое сравнение системы ВВ FlashBack с ее аналогами // Вестник ТГУ. Серия «Математика. Кибернетика. Информатика». Томск: Изд-во Том. ун-та. Декабрь 2004. № 284. - С. 194 - 197.

12. Лавров В. А. Тестирование программных продуктов с использованием технологии FlashBack // Материалы VIII Всерос. научн.-практ. конф. «Научное творчество молодежи». — Томск: Изд-во Том. ун-та, 2004. С. 46-47.

13. Лукач Ю. О бета-тестерах Microsoft Электронный ресурс. — 2000. Режим доступа к ресурсу: http://allo.usaaa.ru/workshop/ articles/betatest/betatest.htm, свободный.

14. Майерс С. Эффективное использование STL. — СПб.: Питер, 2002. — 224с.: ил.

15. Петзолд Ч. Программирование для Windows 95. Том I. СПб.: BHV, 1997.-752с.: ил.

16. Петзолд Ч. Программирование для Windows 95. Том II. — СПб.: BHV, 1997.- 1100с.: ил.

17. Рихетр Дж. Windows для профессионалов. СПб.: Питер, 2000г. -752с.: ил.

18. Саттер Г. Решение сложных задач на С++. М.: Вильяме, 2002. - 400с.: ил.

19. Смит Б., Джонсон М. Архитектура и программирование микропроцессора / Пер. с англ. B.JI. Григорьева. М.: Конкорд, 1992. - с. 334, ил.

20. Страуструп Б. Язык программирования С++. Специальное издание. -СПб.: Бином, Невский Диалект, 2004. 1104с.: ил.

21. Техническая информация о формате МРЗ Электронный ресурс. 2004. Режим доступа: http://www.mp3-tech.org/, свободный.

22. Тим Кенцл. Форматы файлов Internet. Питер: 1997. 320 стр.

23. Трофимов С. Когда прекращать тестирование программ Электронный ресурс. 2002. Режим доступа: http://www.caseclub.ru/ articles/testprg.html, свободный.

24. Фролов А., Фролов Г. Программирование для Windows NT. Часть 1. -М.: Диалог-МИФИ, 1996. 272с.: ил.

25. A. A. Hicks. Take videos of your screen with Lotus Screencam. PC Magazine. Ziff Davis Media Inc. June, 1994. #12. vol. 13.

26. A. Said and W.A. Pearlman, " A New Fast and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees", IEEE Transactions on Circuits and Systems for Video Technology, vol. 6, pp. 243-250, June 1996.

27. A. Skodras, C. Christopoulos and T. Ebrahimi, "The JPEG 2000 still image compression standard", IEEE Signal Processing Magazine , Vol. 18, No. 5 , Sep 2001.

28. Alex Klimovitski. Using SSE and SSE2: Misconceptions and Reality // Intel: March 2001. Developer Magazine Update. Page(s): 1—8.

29. Andreas, J.R. Automated regression testing of graphical user interface based applications. System Sciences, 1991. Proceedings of the Twenty-Fourth Annual Hawaii International Conference on , Volume: ii , 8-11 Jan. 1991. Pages:101 vol.2

30. Andy Boze. Printkey 2000 v5.10/Wingrab 1.40. Information Technology & Libraries. Proquest ABI/INFORM. September, 2001. #3. vol. 20.

31. Atif M. Memon and Martha E. Pollack and Mary Lou Soffa. Plan Generation for GUI Testing. Proceedings of The Fifth International Conference on Artificial Intelligence Planning and Scheduling. AAAI Press: Apr 2000. Page(s): 226-235.

32. Basso A., Cash G.L., Civanlar M.R. Real-time MPEG-2 delivery based on RTP: implementation issues // SP:IS. Vol. 15. #1. Sep. 1999. Page(s): 165 -178.

33. BB FlashBack Электронный ресурс. 2004. Режим доступа: http://www.bbflashback.com, свободный.

34. ВВ FlashBack SDK Электронный ресурс. . 2004. Режим доступа: http://www.bbsoftware.co.uk/BBFlashBackSDK/Home.aspx, свободный.

35. ВВ SupportAssistant Электронный ресурс. 2004. Режим доступа: http://www.bbsoftware.co.uk/BBSupportAssistant/Home.aspx, свободный.

36. ВВ TestAssistant Электронный ресурс. . 2004. Режим доступа: http://www.bbsoflware.co.uk/BBTestAssistant.aspx, свободный.

37. Borland С++ Builder Электронный ресурс. 2004. Режим доступа: http://www.borland. com/cbuilder/, свободный.

38. С. Stinson. Windows' recorder: is it live, or is it a macro? PC Computing. Ziff Davis Media Inc. June 1991. #6. Vol. 4.

39. Camtasia Электронный ресурс. 2004. Режим доступа: http://www.techsmith.com/products/camtasia/camtasia.asp, свободный.

40. Christopher Breen. SnapZ Pro X 1.0. Macworld. Mac Publishing LLC. January, 2002. #1. vol. 19.

41. Croft L.H. Image coding with watershed and watercourse lines of the wavelet transform // Proquest: 1993. Masters Abstracts International. #02. Vol. 31.

42. D. Johnson. Captureeze97. PC Computing. Ziff Davis Media Inc. January, 1998. #1. vol. 11.

43. D. Pogue. Macworld. Take your best shot. Macworld. Mac Publishing LLC. February, 1992. #2. vol. 19.

44. David A. Solomon, Mark E. Russinovich. Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS Электронный ресурс. 2004. Режим доступа: http:// msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/default.aspx, свободный.

45. David Taubman, "High Performance Scalable Image Compression with EBCOT", IEEE transactions on image processing, Vol. 9, No. 7, July 2000.

46. DemoForge Электронный ресурс. 2004. Режим доступа: http://www.demoforge.com/7DFStudiol2, свободный.

47. Е. Schroeder. ScreenCam 2.0 give big picture on movie making. PC Week. Ziff Davis Media Inc. February, 1995. #7. vol. 12.

48. H. McCracken. Camcoder copies ScreenCam. PC World. PC World Communications Inc. February, 1997. #2. vol. 15.

49. Heidi J Larson. Camtasia. Training & Development. American Society for Training & Development. September, 2002. #9, vol. 56.

50. How can BB FlashBack help me with Software Testing Электронный ресурс. 2004. Режим доступа: http://www.bbconsult.co.uk/ BBFlashBackUsingTesting.aspx, свободный.

51. J. M. Shapiro, "Embedded image coding using zerotrees of wavelet coefficients", IEEE Trans, on Signal Processing, v. 41, no. 12, pp. 3445-3463, Dec. 1993

52. J.R. Ohm, "Chapter on Motion-Compensated Wavelet Video", to appear.

53. J.W. Olsen. Leadview: feature-rich, but speed-poor. PC Magazine. Ziff Davis Media Inc. March, 1994. #5.

54. J.W. Olsen. Screen thief steals windows' display. PC Magazine. Ziff Davis Media Inc. March, 1995. #5. vol. 14.

55. Journal Macro Электронный ресурс. 2004. Режим доступа: http://www.keyboard-macro-recorder.com, свободный.

56. Julie Hill. Motion screen-capture. Presentations. VNU eMedia, Inc. July, 2003. #7. vol. 17.

57. Kim T.Y., Roh B.H., Kim, J.K. An accurate bit-rate control for real-time MPEG video encoder // SP:IS. Vol. 15. #6. March 2000. Page(s): 479 492.

58. Kuhn, Peter M. Algorithms, complexity analysis and VLSI architechtures for MPEG-4 motion estimation // Kluwer academic publishers group: 30th Sep, 1999. Page(s): 252.

59. L. Grunin. The image crusaders: 12 screen capture and conversion utilities. PC Magazine. Ziff Davis Media Inc. April, 1993. #7. vol. 12.

60. Ligang Lu., Sheinin V. Real-time MPEG video coding with information look-ahead. Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP '03). 2003 IEEE International Conference on. Page(s): II 441-4. Vol.2

61. Lotus releases screen-movement, sound-capture tool. PC Week. Ziff Davis Media Inc. April, 1994. #14.

62. Macromedia Incorporated. Flash File Format SDK Электронный ресурс. 2004. Режим доступа: http://www.macromedia.com, свободный.

63. Microsoft Corporation. INFO: Overview of the Windows 95 Virtual Address Space Layout Электронный ресурс. 2004. Режим доступа: http://support.microsoft.com/ default.aspx? scid= kb;enus; 125691, свободный.

64. Microsoft Corporation. Microsoft Active Accessibility Software Development Kit for Windows 98 Электронный ресурс. 1997.

65. Microsoft Corporation. MSDN Library Электронный ресурс. 2004. Режим доступа: http://msdn.microsoft.com/, свободный.

66. Microsoft Corporation. Windows Driver Development Kit Электронный ресурс. 2004. Режим доступа: http://www.microsoft.com/whdc/devtools/ddk/default.mspx, платный.

67. Microsoft Cprporation. Технология Microsoft .Net Электронный ресурс. 2004. Режим доступа: http://www.microsoft.com/net/, свободный.

68. MMX technology manuals and application notes Электронный ресурс. 2004. Режим доступа: http://www.intel.com/cd/ids/developer/asmo-na/eng/microprocessors/ia32/mmx/l 78802.htm, свободный.

69. OSR Open Systems Resources, Inc. Windows NT Virtual Memory Электронный ресурс. 1998. Режим доступа: http://www.osr.com/ntinsider/1998/Virtualmeml/virtualmeml.htm, свободный.

70. P. Chen, J.W. Woods, "Bi-directional MC-EZBC with lifting Implementation", IEEE Transactions on Circ. and Systems for Video Technology, submitted May 2003.

71. Pancha P., El Zarki, M. A look at the MPEG video coding standard for variable bit rate video transmission. INFOCOM '92. Eleventh Annual Joint Conference of the IEEE Computer and Communications Societies. IEEE. Page(s): 85-94. Vol. 1.

72. Quick screen capture. Journal of Academic Librarianship. Elsevier Science Publishing Company, Inc. January, 2003. #1. vol. 29.

73. R. Miller. HiJaak for Windows. PC Magazine. Ziff Davis Media Inc. April, 1993. #7. vol 12.

74. S. Choi, J.W. Woods, "Motion-compensated 3-D Subband coding of video", IEEE Transactions on Image Processing, 8(2): 155-167, 1999.

75. S. D. Servetto, K. Ramchandran, M. T. Orchard, "Image Coding Based on a Morphological Representation of Wavelet Data", IEEE Transactions on Image Processing, 8(9): 1161-1174, 1999.

76. S. R. Lanza. Seize the screen and scan the site: SnagIT and QuickBrowse. Searcher. Information Today Inc. November, 2001. #10. vol. 9.

77. Screen capture utilities. PC Magazine. Ziff Davis Media Inc. June, 2003.

78. Screencam, Lotus's on-screen 'Tape Recorder'. Byte. CMP Media LLC. Fe-bryary, 1994. #2. vol. 19.

79. Shin-Hung Chang, Shao-Ting Lee, and Jan-Ming Ho. An Effective Application-Layer Control for Real-time Screen Recording. IEEE International Symposium on Consumer Electronics, (ISCE'02). Sep. 2002.

80. T. L. Kilpatrick. Screen capture. Library Software Review. Sage Publications Inc. September, 1997. #3. vol. 16.

81. Te-Yi Liu; Yi-Chin Huang; Wen-Chin Chen. A novel algorithm for realtime full screen capture system. Multimedia Signal Processing, 2001 IEEE Fourth Workshop on. Page(s): 395 400.

82. The effects of screen captures in manuals: a textual and two visual manuals compared. Professional Communication, IEEE Transactions on. Gellevij, M.; van der Meij, H.; de Jong, Т.; Pieters, J. Page(s): 77 -91 Filed on: 02/09/2005 21:23:32 EST

83. Usevitch B.E. A tutorial on modern lossy wavelet image compression: foundations of JPEG 2000 // Signal Processing Magazine, IEEE. Sept. 2001. Vol. 18. Issue 5. Page(s): 22 35.

84. Valeri Lavrov. Screen recording system for the windows desktop // 8th Korea Russia International Symposium on Science and Technology. PROCEEDINGS. KORUS. 2004. Vol. 1. P. 107109.

85. WinCam Электронный ресурс. 2004. Режим доступа: http://wincam.net/main.html, свободный.

86. Workspace Macro Электронный ресурс. 2004. Режим доступа: http://www.tethyssolutions.com/macro-automation.htm, свободный.

87. Zhong Zhang, Toda Н., Kawabata Н. A new complex wavelet: Rl-Spline wavelet and its application to signal processing // SICE 2002. Proceedings of the 41st SICE Annual Conference. Aug. 2002. Page(s): 2496 2501. Vol. 4.