Технология индуктивного моделирования в SPECTRUM Введение Целью настоящего документа является описание технологии индуктивного моделирования, являющейся основой построения системы управления информационной инфраструктурой SPECTRUM. Также приводится краткая характеристика системы SPECTRUM в контексте новых задач и возможностей информационной инфраструктуры. Новые задачи и возможности информационной инфраструктуры и ее управления В последнее время возросла степень информатизации бизнес-процессов предприятий и организаций, поэтому информационная инфраструктура стала быть не изолированным элементом, а интегрированной частью их деятельности. Кроме того современные информационные инфраструктуры могут способствовать росту прибыльности и эффективности деятельности как различных предприятий и так поставщиков услуг. В управлении такими инфраструктурами должны применяться не только обычные методы обнаружения и локализации неисправностей, но и реализовываться возможности определения влияния возникновения неисправностей на течение бизнес-процессов. Применение интеллектуальных средств управления ИТинфраструктурой позволяют использовать их в качестве одной из составляющих управления бизнеспроцессами. SPECTRUM - решение по управлению инфраструктурой Концепция построения системы SPECTRUM исходит из того, что управление информационной инфраструктурой должно осуществляться как функциональными составляющими бизнес-процесса - сетью, компьютерными системами, приложениями и элементами защиты. Так как уровень работоспособности инфраструктуры влияет на состояние бизнес-процессов, то недостаточно осуществлять управление ее составляющими как отдельными элементами. Поэтому требуется наличие интегрированного решения, обеспечивающего интеллектуальное, наглядное и проактивное управление всей информационной инфраструктурой. Система SPECTRUM является таким решением благодаря своим интеллектуальным возможностям локализации неисправностей и анализа первопричин их возникновения, поддержке управления сетевого оборудования, компьютерных систем, приложений и средств защиты многих производителей. Данные свойства SPECTRUM, а также поддержка распределенной и отказоустойчивой архитектуры системы обеспечивают сокращение времени незапланированных остановов и разрешения проблем функционирования ИТ-инфраструктуры, уменьшение стоимости ее владения. Необходимо отметить, что первоначально эта система создавалась для управления всей сетевой средой до уровня портов сетевого оборудования и устройств, к ним подключенных. Большинство же других систем управления создавалось исходя из задач управления компьютерами или приложениями. Однако SPECTRUM не конкурирует с другими системами непосредственно, а дополняет и расширяет решения по управлению инфраструктурой. Концепция интеллекта на уровне услуг и технология индуктивного моделирования В основу архитектуры системы SPECTRUM положена концепция интеллектуальности на уровне услуг, заключающаяся в осуществлении интуитивного управления инфраструктурой и ее ресурсами. Мониторинг уровня предоставления услуг обеспечивает сквозное интеллектуальное управление ИТ-инфраструктурой, а также обнаружение и локализацию неисправностей по методу анализа первопричин. Такой подход предоставляет возможности комплексного управления инфраструктурой, а также контроля над каждым отдельным ее элементом. При этом разрешение возникающих проблем можно осуществлять до того, как они негативно повлияют на течение бизнес-процессов, поддерживая оптимальный уровень доступности услуг без дополнительных затрат. В свою очередь интеллект на уровне услуг основан на технологии индуктивного моделирования, реализующей механизм искусственного интеллекта, посредством которого можно эффективно управлять ИТинфраструктурой через ее моделирование. Осуществляя сбор данных о функционировании инфраструктуры от ее составляющих элементов, SPECTRUM посредством технологии индуктивного моделирования производит обработку этих данных по методу анализа первопричин. Применяя этот интеллектуальный механизм, SPECTRUM может подавлять менее значимые сигналы, поступающие оператору и сообщать ему только о наиболее важных событиях, являющихся первопричинами возникновения проблем или о потенциально возможных проблемах, которые могут стать причиной снижения уровня услуг. Хотя многие продукты из области управления осуществляют сбор и централизованное хранение данных, у них отсутствует интеллектуальный механизм корреляции этих данных. Такой подход приводит к наличию избыточности и слабой связанности между собой различных данных и недостатку полезной информации. Технология индуктивного моделирования позволяет создавать интеллектуальные программные системы моделирования, используя такие технологии, как эмуляция, традиционное и объектно-ориентированное моделирование, экспертные системы. Сочетание этих технологий в SPECTRUM позволило применить элементы искусственного интеллекта для моделирования и управления таких сложных систем, как сетевые среды передачи данных. Эмуляция и традиционное моделирование Программные эмуляторы используются для представления теоретических и реальных систем. Однако такой тип математического моделирования ограничен в степени точности работы программных элементов, а, следовательно, и в представлении ими реальных систем. Трудность в корректном представлении многих процессов, происходящих в реальном времени заключается в том, что когда количество несхожих между собой элементов системы увеличивается, это приводит к экспоненциальному увеличению количества и типов возможных взаимодействий между ними. Традиционное моделирование решает проблемы эмуляции путем разделения сложной системы на множество небольших частей, что снижает сложность эмуляции каждой из них. Каждая часть системы представляется структурами данных, которые имитируют элемент реальной системы. Затем элементы собираются воедино. При этом они способны взаимодействовать друг с другом, обмениваясь при изменении своего состояния между собой данными и сигналами, образуя полную картину реальной системы. Однако традиционное моделирование сталкивается со сложностью программного обеспечения, технологий баз данных и временными ограничениями. Проблемы проявляются при моделировании очень больших систем, так как эмулироваться должен каждый элемент системы. А это приводит к большим временным затратам и неэффективному использованию программных кодов. Также затрачивается много времени на ожидания в программных циклах и на определение корректного порядка выполнения программ. Экспертные системы В экспертных системах применяются другие подходы к решению проблем моделирования. Для описания моделируемой задачи используется набор правил. Преимуществом экспертных систем является то, что они являются очень гибкими и легко модифицируются, но пытаются описать проблему всю сразу. Однако моделируемая система может состоять из процессов разного рода, функционирование которых нельзя формализовать единым набором правил. Для каждого объекта системы возможно создание собственной структуры данных, но нельзя создать набор правил для описания всех возможных взаимодействий между различными объектами, так как их может оказаться чрезмерно много. Даже если правила можно будет создать, то их невозможно будет применить на практике потому, что такой набор правил будет выполняться пошагово и поэтому слишком медленно. Для ускорения выполнения вычислений необходим более прямой механизм логического вывода, а разделение правил на группы позволяет упростить задачу моделирования. Таким образом, экспертные системы не очень хорошо подходят для моделирования сложных объектов и процессов. Объектно-ориентированное моделирование и наследование Наиболее эффективными системами моделирования являются системы, построенные с применением объектно-ориентированных языков программирования, в которых вместо разделения программы на коды и данные ее информационная и операционная части интегрируются в программные объекты. Таким образом, эти объекты становятся похожи на реальные объекты моделируемой системы, в которой каждый ее компонент существует отдельно от других, имеет свою собственную структуру данных и способен выполнять только ему присущие действия. При этом модель системы создается как единое целое совокупность объектов, имеющих свои собственные свойства и определенным способом взаимодействующие между собой. Объектно-ориентированные системы предоставляют возможность создавать новые объекты на основе уже существующих объектов. При создании нового класса объектов его исходный объект будет служить обобщенным описанием порождаемых им других объектов этого же класса, содержащих унаследованные от исходного объекта такие параметры, как структуры данных и процедуры поведения. Возможности механизма наследования для создания объектов могут быть расширены благодаря реализации множественного наследования, позволяющего создавать новый объект на основе более чем одного прообраза. Недостатком объектно-ориентированных систем моделирования является то, что перенастройка таких систем возможна только посредством программирования, а создание новых классов объектов и их интеграция в систему осуществляется только через перекомпилирование исходного программного кода. Индуктивное моделирование В индуктивном моделировании, как и в процессе мышления используются понятия моделей и категорий. В целях организации различного рода информации человек группирует окружающие его вещи в категории и классы. Представление о свойствах какой-либо вещи, основанное только на умственной ее модели, может быть сформировано даже без ее физического исследования. Мозг получает информацию через человеческие мироощущения. В нем возникают модели вещей и формируются их взаимосвязи. При этом мозг постоянно находится в режиме изучения, сверяя нашу внутреннюю модель мира с информацией, которую мы получаем извне. Большинство из известных языков программирования являются процедурными и программы, создаваемые при их использовании, служат для решения конкретных задач, представляющих собой выполнение некоторой последовательности шагов. Если управление, например, сетью, представить как одну большую задачу, то ее можно было бы разделить на множество маленьких процедурных задач. Но создание процедуры невозможно без наличия лежащей в ее основе базы знаний. Различие между мышлением и работой программы состоит в том, что мышление не является процедурным процессом. Хотя при этом и выполняются процедурные подзадачи, самая большая часть работы заключается в построении модели окружающего мира, а обработка информации происходит не последовательно, а параллельно. В процессе мышления синаптические сигналы поступают в нейроны, осуществляющие распространение, усиление или ослабление данного сигнала. Посредством этой энергии формируются модели и умозаключения. Процесс настройки нейрона происходит не на основе процедурного анализа каждого воздействия на нейрон, а непосредственно на основе получаемых им данных. Мозг должен постоянно себя подстраивать в соответствии с получаемыми чувственными данными, в каждый момент времени создавая новые синаптические связи путем миграции нейронов и перенастройки их выходов. Индуктивное моделирование основывается не на процедурном, а на синаптический подходе, в основу которого положены метод объектно-ориентированного моделирования, а также понятия обработчика вывода и отношений. Объектно-ориентрованный подход к моделированию позволяет формировать новые модели с использованием механизмов наследования и деривации, когда атрибуты данных доставляются от реальных объектов к их моделям или могут быть включены непосредственно в сам тип модели объекта для дальнейшего их уточнения в процессе моделирования. Обработчик вывода это синапс, который вместо того, чтобы вызываться по имени, как функция, присоединяется к триггеру, который известен как событие и может представлять собой набор данных или, например, информацию об изменении отношения или создании модели. Обработчик вывода бездействует до тех пор, пока не произойдет некое событие (срабатывание триггера), после чего он активизируется для выполнения соответствующего действия. Обработчики выводов и события связаны между собой посредством отношений. Когда между двумя моделями создается соединение, то между ними образуется и отношение. Оно будет активизировать обработчик вывода, фиксирующего изменение отношения, и при наступлении каких-либо последующих событий, происходящих с одной из соединенных между собой моделей, они будут поступать на соответствующий синапс соседней модели. Образно говоря, события перемещаются по созданному между моделями отношению. К одной модели может быть присоединено множество других моделей, и все они получат одно и то же сообщение о событии от единого источника. Отношения можно представить как последовательность сообщений, рассылаемых на определенной частоте. Когда между моделями будет создано отношение, они настроятся на обмен информацией между собой на частоте, на которой могут передаваться различные сообщения, касающиеся этого отношения. При этом между двумя моделями может существовать много различных частот обмена сообщениями (отношений). Каждому отношению, поддерживаемому моделью, соответствуют атрибуты, которые активизируются тогда, когда между моделями создается соединение. Они осуществляют опрос соседней по соединению модели на наличие в ней определенных атрибутов. Если они существуют, то к атрибуту модели через отношение будет присоединен соответствующий вывод. После этого выводы смогут реагировать на изменения, происходящие в соседней модели. Когда при поступлении сообщения активизируется обработчик вывода, он может выполнять такие действия, как генерация тревожных сообщений, запись данных в системный журнал или инициация новых событий для активизации других выводов. Наиболее часто выполняемым им действием является запись значения в атрибут, что также может вызвать активизацию других выводов, присоединенных к этому атрибуту. Для создания сложных соединений и вычислений могут быть использованы простейшие выводы. Поэтому во многих случаях достаточно наличие базовой библиотеки обработчиков вывода, к которой в случае необходимости могут быть добавлены новые выводы. В принципе, выводы должны иметь возможность активизироваться параллельно, но реально они выполняются в некоторой последовательности, так как таким образом работает аппаратное обеспечение. Многопоточная обработка данных замещает параллельную работу выводов. Модель может содержать очень много выводов, и эффективность их работы достигается также благодаря тому, что активизироваться будут только те выводы, которые связаны с определенным изменением данных. Производные от модели типы наследуют не только ее атрибуты, но и обработчики выводов. Наследование может применяться на любом уровне дерева моделей и распространяться на все модели, построенные ниже этого уровня. Средства визуального создания и редактирования моделей позволяют модифицировать модели без использования программирования. К дереву моделей могут добавляться новые модели, создаваться и изменяться производные модели для образования новых их классов. Механизм ссылок Создание соединения между моделями реализуется посредством применения ссылок. Ссылка является сетевым указателем на другой объект, находящийся в распределенной среде, и осуществляет преобразования логических адресов в физические. Две модели, работающие на разных компьютерах, могут соединяться между собой, используя ссылки, позволяющие осуществлять синхронизацию, а также применять описанный выше механизм отношений. Для реализации возможностей распределенных систем моделирования необходимо использовать несколько вычислительных машин. Тогда модели, работающие на разных машинах, могут осуществлять вызовы функций и обмениваться между собой событиями также, как будто они работают на одной. Модели, соединяясь между собой посредством отношений, содержат правила соединений - ограничители, которые определяют, какие отношения модель может создавать с другими моделями. Таким образом, модели сами контролируют возможные между собой соединения. Например, строя какую-то географическую модель с использованием моделей комнаты, здания, страны, нельзя будет поместить страну "внутрь" комнаты, так как сами модели не позволят это сделать. Ограничители и отношения также наследуются посредством дерева моделей, что снижает объем работы, которую необходимо выполнить для создания новой модели. Сбор и представление данных Для обеспечения своего функционирования система моделирования должна осуществлять сбор и накопление данных. Человеческое мышление собирает информацию визуально, от источников звука, осязательно и т. д. Сходно этому модели системы получают данные от таких внешних источников, как различные устройства, датчики или базы данных. Для того, чтобы модели могли использовать данные, полученные из различных источников независимо от того, как эти данные были получены, необходимо скрыть от моделей процесс их сбора. При таком подходе упрощается и обобщается механизм обработчика вывода, так как в таком случае он имеет дело только с данными, содержащимися в атрибутах моделей. Сбор данных осуществляется на уровне программных коммуникационных интерфейсов. Используя механизм деривации, можно создать обобщенный коммуникационный объект, который будет распознавать различные типы атрибутов моделей и знать, как записывать в атрибуты данные. При построении какой-либо модели этот объект может быть ею унаследован и скорректирован для обеспечения доступа к базе данных, физическим интерфейсам устройств, протоколам или внешним агентам. В процессе моделирования важно обеспечить представления данных. Необходимо иметь не просто набор данных, отображающих результаты моделирования, а только те, которые требуются для анализа в определенный момент времени и представляться они должны в удобном формате. Моделируемая система представляет собой так называемый ландшафт, состоящий из интеллектуальных моделей различных реальных объектов. Статические, динамические и вычисляемые данные доступны непосредственно через обращение к модели, которые являются ее составной частью. В результате размещения уровня представления данных сразу над уровнем моделирования становится возможным не только отображать информацию, но и контролировать каждый элемент нижнего уровня. Процесс моделирования Перед тем, как можно будет использовать систему индуктивного моделирования, для нее должно быть разработано исходное дерево деривации моделей, в котором для представления различных типов объектов, встречающихся в моделируемой среде, создаются их классы и подклассы. Например, в области сетевого управления должны существовать модели типа коммутаторов, маршрутизаторов, рабочих станций. Эти модели являются обобщенными или концептуальными, так как они еще не представляют реальные объекты, а содержат их общие свойства. Иногда создаются группы меньших, взаимосвязанных моделей для представления динамических объектов. Они могут представлять собой рабочую станцию, на которой запущены различные приложения. Вместо создания новой модели для каждого отдельного объекта можно связать несколько моделей вместе для правильного его представления. Наличие базового набора моделей позволяет осуществлять моделирование реальных объектов. Для создания модели объекта определенного типа этот объект должен предоставить необходимые данные. Если устройство не предоставляет информацию о своей загрузке по пропускной способности непосредственно, то она может быть вычислена на основе другой информации. А при отсутствии данных для вычисления можно обратиться к другим моделям системы для поиска необходимой информации. Для отражения изменений, произошедших в моделируемых объектах, модели могут непосредственно изменять структуру своих собственных атрибутов и выводов, сами себя заменять или создавать новые модели. Заключение Технология индуктивного моделирования интегрировала в себя возможности объектно-ориентированных технологий, а также реализовала преимущества использования процессов моделирования, синаптических реакций и ориентированных на цели функций. Последующее развитие индуктивного моделирования может привести к созданию систем, которые сами смогут создавать и проверять правила. Такие технологии, как генетические алгоритмы, предоставляют возможность генерации и проверки правил без вмешательства пользователя. Для реализации этих возможностей могут использоваться нейронные сети, чтобы обеспечить процесс выработки гипотетических предположений при синтезе из них новых типов моделей.