СИСТЕМА ОПЕРАТИВНОЙ ОЦЕНКИ РЕСУРСОЕМКОСТИ ВЫПОЛНЯЕМЫХ ЗАДАЧ И ВЫБОРА ОПТИМАЛЬНЫХ НАСТРОЕК ДЛЯ ПРИЛОЖЕНИЙ

Область техники
Полезная модель относится к выбору оптимальных настроек для приложений в соответствии с заданной политикой с помощью оперативной оценки ресурсоемкости выполняемых задач.
Уровень техники
На данный момент в мире существует огромное количество написанных программ, каждая из которых часто обладает широким спектром настроек. Помимо этого каждый компьютер имеет различные аппаратные возможности, т.е. конфигурация компьютера может быть уникальной ввиду различных видов процессоров, типов памяти и носителей информации и т.д. Каждая программа часто имеет собственные минимальные и рекомендуемые требования для работы, однако, в расчет не берется тот факт, что программа может работать в окружении других запущенных программ, как и то, что версия операционной системы может быть также различной (например, установлен пакет обновлений), доступ к аппаратным возможностям для разных пользователей может быть ограничен, а также другие факторы, которые влияют на конечную производительность. В итоге пользователь может столкнуться с тем, что запущенная программа "тормозит" работу компьютера, что чаще всего происходит из-за нехватки аппаратных ресурсов. Выяснить же, какая программа, а тем более какие настройки этой программы, больше всего влияют на производительность, часто бывает очень трудно ввиду того, что потребление ресурсов может динамически изменяться.
Один из подходов решения описанной выше задачи заключается в том, что происходит оценка всех или самых важных аппаратных ресурсов (компонент) компьютера. Многие программы, вроде HD Tune, PCMark Vantage, 3DMark Vantage, SiSoftware Sandra, способны оценивать различные ресурсы в баллах, которые соответствуют подсчитанным в результате тестов значениям производительности. Например, это может быть некоторая оценка вычислительной мощности видеокарты или процессора, пропускная способность жесткого диска или сетевого соединения и другое. Отметим также, что в последних версиях Microsoft Windows также присутствует оценка производительности компонент компьютера. Различные системы которые могут измерять потребление ресурсов и оценивать производительность, описаны в таких патентах и заявках как JP 10143400, JP 2004118628, US 7225250, JP 3129442, US 6996517, US 6856951. Для того, чтобы перейти от использования полученных цифр к более понятным значениям (например, "быстрый компьютер", "мощный процессор"), можно использовать введение нечеткой логики, которая описана в таких патентах и заявках как US 20050091657, US 7054846, US 5919244, US 20070005545.
Помимо оценки производительности ресурсов компьютера, также остро стоит вопрос оценки производительности пользователя. Известно, что разные пользователи по-разному используют те возможности, которые им предоставляет одна и та же компьютерная система. Если один пользователь во время своей работы только проверяет почту, то он может не использовать и малой части возможностей ресурсов компьютерной системы, в то время как другой пользователь, занятый, например, сложными математическими вычислениями или визуализацией трехмерной сцены, может использовать многие ресурсы полностью и - вполне возможно - даже жаловаться на их нехватку. Системы, которые позволяют оценить производительность пользователя, описаны, например, в таких патентах и заявках как US 7089172, US 20070300174, US 20020144259.
Получив значения производительности, как ресурсов компьютера, так и производительности пользователя, получаем задачу их эффективного использования для улучшения работы пользователя за компьютером. Для этого можно использовать различные правила, например, продукционные, основанные на принципе "ЕСЛИ… ТО…". Использование баз знаний, основанных на продукционных правилах, можно найти в патентах и заявках US 20050091657, US 7478223, WO 04102315. Подобные системы могут выполнять заданные действия, например, предупреждая пользователя при большом потреблении ресурсов известными приложениями. Однако подобные системы не могут определить зависимость производительности ресурсов (или производительности пользователя) от частоты использования приложений, в том числе и неизвестных, а также их настроек. Таким образом, требуется получить систему, которая позволяла бы в реальном времени оценивать потребление ресурсов, учитывать производительность пользователя и гибким образом настраивать приложения, чтобы их поведение укладывалось в заранее заданные рамки.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно: систему для оперативной оценки ресурсоемкости выполняемых задач и выбору оптимальных настроек для приложений в соответствии с заданной политикой. Результат работы данной системы заключается в том, что выбранные оптимальные настройки для приложений наиболее оптимально подходили для имеющихся ресурсов компьютерной системы и производительности пользователя.
Сущность полезной модели
Технический результат настоящей полезной модели заключается в использовании оптимальных настроек для приложений в соответствии с заданной политикой с помощью оперативной оценки ресурсоемкости выполняемых задач в реальном времени.
В соответствии с одним из вариантов реализации предоставляется система для выбора оптимальных настроек для приложений в соответствии с заданной политикой с помощью оперативной оценки ресурсоемкости выполняемых задач, которая включает: компьютер, имеющий набор аппаратных ресурсов, на котором установлены приложения с заданными настройками, при этом компьютер связан со средством управления и задания политик, а также со средством оценки; упомянутое средство оценки, которое предназначено для оценки мощности аппаратных ресурсов и потребления ресурсов компьютера приложениями с заданными настройками, при этом средство оценки связано с базой данных оценок ресурсоемкости; упомянутое средство управления и задания политик предназначено для подбора и задания настроек для приложений, установленных на компьютере, в соответствии с политикой, которая определяет настройки для приложений, при этом средство управления и задания политик связано также со средством оценки политики; упомянутая база данных оценок ресурсоемкости, которая предназначена для хранения оценок мощности аппаратных ресурсов и потребления ресурсов компьютера приложениями с заданными настройками, при этом база данных оценок ресурсоемкости связана со средством оценки политики; при этом средство оценки политики предназначено для оценки потребления аппаратных ресурсов компьютера в зависимости от настроек приложений, данные о которых средство оценки политики получает от базы данных ресурсоемкости, и передачи полученных данных средству управления и задания политик.
В частном варианте реализации приложение может быть антивирусным приложением.
В частном варианте реализации аппаратными ресурсами могут быть: процессор; память; жесткий диск; сетевое подключение.
В еще одном частном варианте реализации средство оценки дополнительно предназначено для оценки производительности пользователя.
В частном варианте реализации система дополнительно содержит сервер поставщика услуг по оценке ресурсоемкости, связанный со средством управления и задания политик, при этом сервер поставщика услуг по оценке ресурсоемкости предназначен для выработки политики в том случае, если средство управления и задания политик не может подобрать необходимую политику.
В еще одном частном варианте реализации при оценке мощности аппаратных ресурсов и потребления ресурсов компьютера приложениями с заданными настройками применяется нечеткая логика, которая состоит из этапов фаззификации, создания и использования нечеткой базы знаний, дефаззификации.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящей полезной модели будут очевидными из прочтения последующего описания осуществления полезной модели со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 показывает процесс оценки ресурсов компьютерной системы.
Фиг.2 иллюстрирует таблицу потребления ресурсов приложениями с различными настройками.
Фиг.3 демонстрирует применимость различных политик к разным конфигурациям компьютеров.
Фиг.4 показывает вариант реализации настоящей полезной модели.
На фиг.5 изображена схема работы настоящей полезной модели.
Описание вариантов осуществления полезной модели
Объекты и признаки настоящей полезной модели, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящая полезная модель не ограничивается примерными вариантами осуществления, раскрытыми ниже, она может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, для помощи специалисту в области техники в исчерпывающем понимании полезной модели, и настоящая полезная модель определяется только в объеме приложенной формулы.
Всякое компьютерное приложение (например, антивирусное) имеет большое количество настроек, каждая из которых по-разному влияет на производительность компьютера. Их включение (активация) по-разному загружают основные компоненты компьютера - в первую очередь процессор, память, жесткий диск. В определенный момент несколько активированных настроек могут привести к недостатку ресурсов и, как итог, - недовольству пользователя. Методы нагрузочного тестирования способны определить влияние различных настроек на общую производительность, но подобные подсчеты применимы только для заранее выбранных комбинаций программных и аппаратных частей.
Для каждого ресурса компьютерной системы можно ввести некоторый рейтинг, который позволил бы оценить его условную "стоимость". Например, процессорное время имеет низкую "стоимость", в то время как доступ к жесткому диску - высокую. Все дело в том, что нынешние процессоры являются многоядерными и имеют тактовую частоту в несколько гигагерц, и, соответственно, могут быстро выполнять ресурсоемкие вычислительные операции, но в то же время данные для этих операций требуется хранить в памяти и периодически загружать с жесткого диска, который обладает низкой пропускной способностью (десятки мегабайт в секунду), что может стать узким местом при решении различных задач.
Таким образом, используя различные известные методы оценки (или предоставляемые производителем характеристики), можно всегда получить информацию о ключевых характеристиках различных компонент (ресурсов) компьютера в некоторых условных единицах. Например, для следующих ресурсов можно получить следующие данные:
- Центральный процессор (производительность при вычислениях, количество ядер, тактовая частота, архитектура)
- Память (объем, пропускная способность Мбайт/сек)
- Жесткий диск (пропускная способность Кбайт/сек)
- Сеть (пропускная способность соединения Мбит/сек)
Для упрощения можно привязать к каждому ресурсу только один критический параметр, который является наиболее важным. Например, для центрального процессора (ЦП) можно ввести условный индекс производительности, который будет зависеть от ранее приведенных параметров:
Производительность ЦП может быть вычислена по следующей формуле: (коэффициент для количества ядер)*(тактовая частота)*(коэффициент производительности архитектуры).
Таким образом, можно получить оценку системы в виде некоторых условных баллов для каждого ресурса. Например, для компьютера с характеристиками процессор/память/жесткий диск/сеть, например, такими - Р4 3.0Ghz/512Mb/500Gb HDD 7200Rpm/10Mbit оценка может быть 3000/512/65000/10000. Для конфигурации вроде Core i7 2.66Ghz/4096Mb/SSD 160Gb/30Mbit оценка может составить 10000/4096/200000/30000. Конечно, приведенные цифры весьма условны и приведены только для примера и сравнения. Еще одним фактором, который влияет на производительность, является операционная система. Количество потребляемых ресурсов также достаточно хорошо известно, хотя для каждого компьютера эти значения могут разниться, но можно полагать, что средние значения являются известными. Можно также заложить некоторый предел потребления ресурсов в зависимости от количества установленных обновлений и настроек ОС.
Фиг.1 показывает процесс оценки ресурсов компьютерной системы. На этапе 110 происходит оценка производительности ресурсов компьютера вышеприведенными способами. На этапе 120 также происходит оценка операционной системы (ОС), которая установлена на компьютере, после чего также происходит оценка потребления ресурсов приложениями с различными настройками на этапе 130. Затем эти оценки сохраняются в базе данных оценок ресурсоемкости на этапе 140.
Для более качественной оценки может использоваться система нечеткой логики. Система нечеткой логики предполагает три этапа:
1. Фаззификация - введение нечеткости. Для выполнения этой операции для всех входных переменных определяются лингвистические переменные, для каждой лингвистической переменной формируются терм-множества, для каждого терма строятся функции принадлежности. Например, лингвистическая переменная «производительность процессора», для нее терм-множество будет иметь вид {«очень низкая», «низкая», «средняя», «высокая», «очень высокая»}, что позволяет отойти от большого количества чисел.
2. Создание и использование нечеткой базы знаний. Нечеткая база знаний состоит из продукционных правил вида ЕСЛИ <посылка правила> ТО <заключение правила>. Например, можно использовать следующее правило: «ЕСЛИ производительность процессора высокая, ТО производительность системы высокая». Построение таких правил обычно не вызывает затруднения, так как они понятны и являются своего рода «вербальным кодированием».
3. Дефаззификация - получение на выходе четкого числа, являющегося в данном случае оценкой производительности компьютера.
Система нечеткой логики для настоящей полезной модели представляет большую ценность, так как позволяет весьма гибко учитывать множество различных характеристик системы.
В результате подобных измерений можно получить некоторую сводную таблицу потребления ресурсов приложениями с различными НАСТРОЙКАМИ для выбранного компьютера (т.е. с известной конфигурацией).
Фиг.2 иллюстрирует таблицу потребления ресурсов приложениями с различными настройками. Например, в применении к антивирусу это могут быть следующие примеры: включение HIPS-политики (т.е. правил контроля приложений) сильно нагружает процессор, в то время как полное сканирование жесткого диска очень сильно нагружает дисковую систему. Отметим также, что некоторые настройки могут снижать потребление ресурсов (это могут быть некоторые оптимизации).
После того, как были даны оценки производительности ресурсов компьютера, можно также определить некоторые типовые конфигурации. Типовые компьютеры, которые можно разбить на категории вроде следующих: «Типовой офисный компьютер», «Маломощный офисный компьютер», «Типовой ноутбук» и т.п. Важно бывает проверить подобные комбинации с учетом различных версий операционных систем с установленными пакетами обновлений различных версий. В итоге получается набор данных, который будет показывать потребление ресурсов различных приложений и настроек под различными ОС, а также на нескольких типовых конфигурациях.
Фиг.3 демонстрирует применимость различных политик к разным конфигурациям компьютеров. Каждая политика представляет набор настроек для приложений. Примером ресурсоемкого приложения может служить антивирус, в применении к которому будет идти дальнейшее описание. Настройка должна быть предельно сбалансированной, чтобы с одной стороны обеспечить высокое быстродействие компьютера и прикладных программ, а с другой - максимальный уровень защиты. Эти два требования противоположны, так как повышение защиты требует большого количества ресурсов компьютера для антивируса и, наоборот, для ускорения его работы приходится пожертвовать какими-то проверками. В результате часто случается так, что единая политика не может быть достаточно хорошо выполнена всеми компьютерами в сети, так как часто они бывают разной конфигурации, и если новые компьютеры справляются с нагрузкой, то старые нет. В случае адаптивного назначения политик проблема решается за счет того, что вместо одной политики создается несколько для компьютеров различной производительности. Данные политики могут быть независимыми или наследоваться от какой-то базовой политики, гарантирующей минимальный уровень защиты.
Назначение политики может выполняться различными способами. Простейшим из них является создание политик для неких типовых конфигураций, как показано на фиг.3. Далее при назначении политик производится сравнение производительности каждого конкретного ПК с типовыми конфигурациями и выбор подходящей политики. Кроме того, возможны компромиссные решения: например, в ходе сравнения выявлено, что производительность недостаточна для «Политики 3», но тем не менее данную политику можно применять, к примеру, в некоторые периоды времени, когда следует проводить те или иные действия (например, можно позволить проводить полные проверки системы ночью во время отсутствия пользователя).
Помимо оценки самого компьютера и его ресурсов, стоит оценить, насколько он бывает загружен самим пользователем при выполнении различных задач. В случае большой нагрузки даже для «мощного компьютера» следует выбрать более слабые политики, т.к. в противном случае это может привести к недовольству пользователя. Таким образом, каждая политика может включать также и параметры производительности пользователя. Например, одна и та же политика может иметь варианты в виде "дневной" и "ночной", в зависимости от того, как и когда пользователь использует компьютер и его ресурсы.
Фиг.4 показывает вариант реализации настоящей полезной модели. На компьютере 410 установлены приложения 420 с различными настройками 430. Средство оценки 440 производит оценку производительности как ресурсов (в первую очередь, аппаратных, таких как мощность процессора или объем памяти) компьютера 410, так и ресурсоемкость (т.е. потребление ресурсов) приложений 420 с различными настройками 430. В одном из вариантов реализации средство оценки 440 также производит оценку производительности пользователя и использования им приложений. Полученные результаты сохраняются в базе данных оценок ресурсоемкости 450. Средство управления и задания политик 460 позволяет задавать нужную для компьютера 410 политику управления настройками 430 приложений 420, используя средство оценки политики 470 для подбора всех необходимых настроек 430. Средство управления и задания политик 460 может быть реализовано в виде таких приложений как Kaspersky Administration Kit или McAfee ePolicy Orchestrator. Такие патенты и заявки как US7240015, KR20020068857, US2004193606, JP2004164468, US2005154576 описывают системы для задания и управлениями политиками. Если же существующие политики неудовлетворительны - т.е. средство управления и задания политик 460 регулярно получает сообщение о том, что по-прежнему периодически ресурсов не хватает на все задачи, то должна быть выработана другая политика, которая будет охватывать не только уровень производительности пользователя, но и иные приложения. Эти действия производит средство оценки политики 470 и записывает результаты в соответствующую базу данных. В том случае, если не удается подобрать нужную политику и пользователь остается недоволен, можно обратиться на сервер поставщика услуг по оценке ресурсоемкости 480, на который будет передана информация о приложениях 420, после чего на средство 460 будет передана новая политика для компьютера 410.
На фиг.5 изображена схема работы настоящей полезной модели. На этапе 510 происходит оценка производительности ресурсов компьютера, в том числе и оценка производительности пользователя. Этот этап может быть осуществлен с помощью средства оценки 440. После этого на этапе 520 происходит применение соответствующей политики с помощью средства управления и задания политик 460. После того как политика была утверждена, начинается этап 530, на котором происходит наблюдение за потреблением ресурсов в реальном времени. На этапе 540 проверяется, соответствует ли потребление ресурсов политике и если да, то она продолжает свою работу на данном компьютере на этапе 550. В том случае, если политика не позволяет сохранить потребление ресурсов приложениями в заданных рамках, то на этапе 560 происходит подбор другой политики. Если же ни одна политика из имеющихся не подходит, что проверяется на этапе 570, то на этапе 580 происходит оценка потребления ресурсов существующими приложениями, после чего на этапе 590 происходит выработка новой политики.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящей полезной модели, определенной формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящей полезной модели, согласующиеся с сущностью и объемом настоящей полезной модели.