Система и способ изменения функционала приложения

Иллюстрации

Показать все

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

Реферат

Область техники

Изобретение относится к области обнаружения и исправления ошибок в программном обеспечении, а именно к системам и способам изменения функционала приложения.

Уровень техники

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

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

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

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

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

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

Раскрытие изобретения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

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

На Фиг. 1 представлена общая схема системы изменения функционала приложения.

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

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

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

Описание вариантов реализации изобретения

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

На Фиг. 1 представлена общая схема системы изменения функционала приложения. Компьютерная система 100 содержит приложение 110, которое в свою очередь состоит из функциональных модулей 111-112 (для наглядности, далее по тексту функциональные модули будут также упоминаться как модули 111-112). Модули 111-112 предназначены для выполнения заданных функций приложения.

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

Антивирус может содержать функциональные модули, предназначенные для обеспечения безопасности компьютерной системы: файловый антивирус, почтовый антивирус, веб-антивирус, модуль HIPS (Host Intrusion Prevention System - система предотвращения вторжений), модуль шифрования, анти-спам модуль, модуль обновления антивирусных баз, модуль обновления приложения и пр. Файловый антивирус содержит функционал обнаружения вредоносной активности всех открываемых, запускаемых и сохраняемых файлов на компьютерной системе пользователя. Почтовый антивирус необходим для контроля входящей и исходящей электронной почты на предмет содержания вредоносных объектов. Веб-антивирус служит для предотвращения исполнения вредоносного кода, который может содержаться на веб-сайтах, при их посещении пользователем, а также для блокирования открытия веб-сайтов. Модуль HIPS (Host Intrusion Prevention System -система предотвращения вторжения) служит для обнаружения нежелательной и вредоносной активности программ и блокирования ее в момент исполнения.

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

Система 100 содержит средство установки 101, предназначенное для установки обновлений приложения 110. В частном варианте реализации средство установки 101 может быть реализовано в качестве одного из функциональных модулей 111-112, как это было описано в приведенном выше примере. В другом варианте реализации средство установки 101 может быть реализовано в качестве отдельного приложения.

Обновлением приложения может служить отдельно выпускаемая часть ПО, которая используется для устранения ошибок в работе приложения, для изменения его функциональных возможностей, для внесения изменений в реестр ОС, для изменения интерфейса приложения, для изменения настроек приложения и пр. Обновление приложения может быть программным патчем (англ. patch), набором обновлений (англ. service pack), а также другим видом обновлений программного обеспечения (англ. software updates). Средство установки 101 может получать обновления по сети от удаленного сервера. Обновления могут быть также загружены со съемного носителя информации (например, с флеш-накопителя или оптического диска) или по локальной сети (например, с сетевого диска или папки).

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

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

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

Средство изменения функционала 103 предназначено для определения функциональных модулей 111-112, которые повлияли на возникновение событий, определенных средством наблюдения 102. Средство изменения функционала 103 также служит для изменения функциональных модулей в зависимости от определенных событий, а также функциональных модулей, вызвавших возникновение данных событий. Например, обновление приложения 110 могло содержать только обновление файлов и веток реестра для модуля шифрования. Таким образом, перезагрузки системы могли быть вызваны некорректной работой именно модуля шифрования. Следовательно, средство изменения функционала 103 определит модуль шифрования как модуль, повлиявший на перезагрузку системы. Для предотвращения некорректной работы приложения и компьютера средство изменения функционала 103 может отключить модуль шифрования, например, до момента выпуска обновления, устраняющего возникновение перезагрузок системы. В частном варианте реализации средство изменения функционала 103 может сообщить приложению 110 о необходимости отключения соответствующего модуля (например, создать необходимый ключ реестра). Приложение в свою очередь выгрузит сервисы и процессы, соответствующие функциональному модулю.

На Фиг. 2 приведен предпочтительный вариант способа изменения функциональных модулей. На первом шаге 201 происходит установка обновления приложения 110, загруженного с удаленного сервера. В силу того, что приложение 110 состоит из модулей 111-112, устанавливаемое обновление затрагивает часть функциональных модулей 111-112 (например, модифицирует часть файлов или ключи реестра, которые относятся к определенным функциональным модулям). Список функциональных модулей 111-112, затронутых обновлением, может быть передан вместе с самим обновлением. Таким образом, на следующем шаге 202 средство установки передает список функциональных модулей, затронутых обновлением, средству наблюдения 102 и средству изменения функционала 103.

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

В частном варианте реализации завершение работы приложения может быть определено при создании очередного дампа памяти приложения. В одном из вариантов реализации для создания дампов памяти приложения 110 в ОС Windows может использоваться встроенная в ОС служба Windows Error Reporting. В еще одном примере реализации за создание дампов памяти приложения 110 может отвечать отдельный отладочный процесс (на фигуре не отображен), вызываемый приложением 110 при запуске. В другом варианте реализации, когда компьютерная система работает под управлением ОС Windows, перезагрузка компьютерной системы может быть определена по записи в журнале событий Windows (англ. Event Log), который содержит информацию о важных программных и аппаратных событиях, в том числе о перезагрузках компьютерной системы. Однако в некоторых случаях информация о перезагрузке компьютерной системы может не попасть в журнал событий. В еще одном варианте реализации перезагрузка компьютерной системы может быть определена при появлении дампа памяти. Для этого используется утилита Savedump.exe, которая записывает данные из файла подкачки в файл дампа памяти memory.dmp при возникновении системной ошибки и последующего аварийного завершения работы Windows.

В частном варианте реализации зависание работы приложения 110 или части модулей 111-112 может быть определено путем анализа времени обработки системных вызовов приложением. Превышение определенного порогового значения времени (например, 60 секунд) при обработке системных вызовов приложением может свидетельствовать о его зависании.

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

В частном варианте реализации зависание проверки сетевого трафика (стек протоколов TCP/IP) может быть обнаружено при превышении некоторого порогового значения во время обработки сетевого трафика (например, 10 минут).

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.

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

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п.

Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т. п.

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

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т. е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

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

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

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

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

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

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

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

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

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

9. Способ изменения функционала приложения, в котором:а) устанавливают с помощью средства установки обновление приложения, при этом упомянутое приложение является антивирусным приложением;б) передают с помощью средства установки средст