СПОСОБЫ, СИСТЕМЫ И УСТРОЙСТВО ДЛЯ ДИНАМИЧЕСКОГО ОБЕСПЕЧЕНИЯ БЕЗГРАНИЧНОГО АДМИНИСТРИРОВАНИЯ СИСТЕМЫ С ДЕЙСТВУЮЩЕЙ КОНФИГУРАЦИЕЙ M:N ВЫСОКОЙ ДОСТУПНОСТИ
METHODS, SYSTEMS AND DEVICE FOR DYNAMIC PROVISION OF UNLIMITED SYSTEM ADMINISTRATION WITH OPERATING CONFIGURATION M:N OF HIGH AVAILABILITY

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001]
Настоящая заявка испрашивает приоритет и преимущество в отношении следующей предварительной заявки на патент: (1) предварительная Заявка на патент США Сер. № 62/354,669, озаглавленная "Boundaryless High Availability", зарегистрированная 24 июня 2016. Полное содержание вышеупомянутых патентных заявок явным образом включено в настоящую заявку посредством ссылки.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0002]
Фиг. 1A-B являются структурными схемами, иллюстрирующими аспекты надежной системы и доступной системы.
[0003]
Фиг. 1C1 является структурной схемой, иллюстрирующей пример системы, реализующей аппаратную архитектуру с аварийным переключением/резервированием 1:1.
[0004]
Фиг. 1C2 является структурной схемой, иллюстрирующей пример безграничной, с высокой доступностью (BCHA) системы, реализующей архитектуру с действующей конфигурацией M:N, в соответствии с некоторыми вариантами осуществления раскрытой технологии.
[0005]
Фиг. 2A иллюстрирует аспекты компонентов, соотнесенных с архитектурами высокой доступности с безграничным управлением (BCHA - Boundaryless Control High Availability).
[0006]
Фиг. 2B является блок-схемой последовательности операций, иллюстрирующей аспекты того, как модуль ввода в действие BCHA разрабатывает систему BCHA.
[0007]
Фиг. 3A иллюстрирует аспекты архитектуры BCHA, разработанной с использованием модуля ввода в действие BCHA, и создания экземпляра модуля служб данных BCHA.
[0008]
Фиг. 3B иллюстрирует аспекты подготовки к работе вычислительных ресурсов высокой доступности с безграничным управлением (BCHA).
[0009]
Фиг. 3C иллюстрирует аспекты ввода в действие приложений высокой доступности с безграничным управлением (BCHA).
[0010]
Фиг. 3D иллюстрирует аспекты подготовки к работе управляющих приложений высокой доступности с безграничным управлением (BCHA), Управление высокой доступностью.
[0011]
Фиг. 3E иллюстрирует аспекты подготовки к работе элементов потока операций высокой доступности с безграничным управлением (BCHA).
[0012]
Фиг. 3F является структурной схемой, иллюстрирующей в качестве примера аспекты иерархических отношений наследования атрибутов архитектуры BCHA
[0013]
Фиг. 4 иллюстрирует аспекты исполнения приложения BCHA высокой доступности с безграничным управлением (BCHA);
[0014]
Фиг. 5A иллюстрирует аспекты того, как система BCHA контролирует рабочие состояния, чтобы обеспечить балансировку нагрузки при обнаружении отказа ресурса и проверочную балансировку нагрузки HA-M:N;
[0015]
Фиг. 5B1 является блок-схемой последовательности операций, иллюстрирующей аспекты балансировки нагрузки при обнаружении отказа ресурса;
[0016]
Фиг. 5B2 является блок-схемой последовательности операций, иллюстрирующей аспекты определения рабочего состояния исправления балансировки нагрузки при обнаружении отказа ресурса;
[0017]
Фиг. 5C является блок-схемой последовательности операций, иллюстрирующей аспекты проверочной балансировки нагрузки HA-M:N;
[0018]
Фиг. 6A является схемой системы, иллюстрирующей аспекты действующей конфигурации M:N системы BCHA;
[0019]
Фиг. 6B1 является схемой данных рабочего состояния, иллюстрирующей оценку рабочего состояния перед отказом вычислительного ресурса;
[0020]
Фиг. 6B2 является схемой данных рабочего состояния, иллюстрирующей обнаружение отказа, CR4 неисправен/Отказ обнаружен;
[0021]
Фиг. 6B3 является схемой данных рабочего состояния, иллюстрирующей аспекты определения возможностей/характеристик элемента перераспределения системы BCHA;
[0022]
Фиг. 6B4 является схемой данных рабочего состояния, иллюстрирующей аспекты определения возможностей/характеристик пула перераспределения системы BCHA;
[0023]
Фиг. 6B5 является схемой данных рабочего состояния, иллюстрирующей аспекты выбора целевого объекта перераспределения системы BCHA;
[0024]
Фиг. 6B6 является схемой данных рабочего состояния, иллюстрирующей аспекты исправления с перераспределением системы BCHA;
[0025]
Фиг. 6B7 является схемой данных рабочего состояния, иллюстрирующей аспекты того, как система BCHA исполняет выбор целевого объекта/некритичную приостановку приложения;
[0026]
Фиг. 6B8 является схемой данных рабочего состояния, иллюстрирующей аспекты определения рабочего состояния исправления/проверки действующей конфигурации M:N;
[0027]
Фиг. 7A является блок-схемой последовательности операций, иллюстрирующей аспекты разработки дополняющего вычислительного ресурса BCHA в качестве действующей конфигурации M:N+R;
[0028]
Фиг. 7B является схемой данных рабочего состояния, иллюстрирующей аспекты дополняющего вычислительного ресурса BCHA в качестве действующей конфигурации M:N+R;
[0029]
Фиг. 7C является схемой системы, иллюстрирующей аспекты дополняющего вычислительного ресурса BCHA в качестве действующей конфигурации M:N+R;
УРОВЕНЬ ТЕХНИКИ
[0030]
Существующие системы обеспечивают функциональные средства и функциональные особенности высокой доступности посредством задействования специализированных резервных конфигураций аварийного переключения 1:1 на физическом уровне с использованием идентичных или почти идентичных аппаратных средств. Резервная конфигурация аварийного переключения 1:1 на физическом уровне такого типа является и дорогостоящей и сложной для действенного и эффективного масштабирования. Кроме того, существующие системы, которые используют эту конфигурацию аварийного переключения 1:1, обычно подразумевают продолжительный срок службы в десятки лет рабочего цикла прежде, чем будут заменены. Соответственно, резервные конфигурации аварийного переключения 1:1 на физическом уровне влекут за собой значительные технические проблемы с точки зрения поддержки старых аппаратных модулей с устаревшими компонентами, поскольку различные компоненты сталкиваются с аппаратными неисправностями из-за окончания срока службы и нуждаются в физической замене. Это еще более усложняется, поскольку существующие системы обычно подразумевают формализованные аппаратные/программные определения системы, которые требуют технических усилий для проведения регулировки всякий раз, когда предприятие расширяется для увеличения производства.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0031]
По меньшей мере, один аспект настоящего раскрытия изобретения направлен на систему для динамической балансировки нагрузки, по меньшей мере, одного элемента перераспределения в пределах группы вычислительных ресурсов, которые обеспечивают промышленный исполнительный процесс или компонент промышленного исполнительного процесса, организованной в действующей конфигурации M:N, причем система содержит систему, выполненную с возможностью получения доступа из центрального хранилища данных к рабочим данным компонентов действующей конфигурации M:N, возможностям или характеристикам, соотнесенным с действующей конфигурацией M:N, идентификации потенциальной возможности балансировки нагрузки для вызова перераспределения, по меньшей мере, одного элемента перераспределения в целевой объект перераспределения, выбранный из пула целевых объектов перераспределения, обусловленного остальными M компонентами вычислительных ресурсов, соотнесенными с действующей конфигурацией вычислительных ресурсов M:N, выбора, по меньшей мере, одного целевого объекта перераспределения для повторного развертывания, по меньшей мере, одного элемента перераспределения, выбранного из целевого пула перераспределения, повторного развертывания, по меньшей мере, одного элемента перераспределения в этот, по меньшей мере, один выбранный целевой объект перераспределения, и определения повторного развертывания, по меньшей мере, одного элемента перераспределения в этом, по меньшей мере, одном выбранном целевом объекте перераспределения, как представляющего собой жизнеспособное повторное развертывание.
[0032]
В некоторых вариантах осуществления система может дополнительно содержать обеспечение повторного развертывания, когда потенциальная возможность балансировки нагрузки предполагает балансировку нагрузки при обнаружении отказа ресурса. Дополнительно, по меньшей мере, один элемент перераспределения может быть соотнесен с неисправным компонентом или вычислительным ресурсом действующей конфигурации M:N.
[0033]
В некоторых вариантах осуществления системы, по меньшей мере, один элемент перераспределения может быть приложением, исполняемым на неисправном компоненте или вычислительном ресурсе действующей конфигурации M:N. Кроме того, по меньшей мере, один элемент перераспределения может включать в себя приложение и соответствующий элемент потока операций, исполняемые на неисправном компоненте/вычислительном ресурсе действующей конфигурации M:N. Дополнительно, рабочие данные, возможности или характеристики, соотнесенные, по меньшей мере, с одним элементом перераспределения, могут сравниваться с рабочими данными, возможностями и характеристиками, соотнесенными с компонентами пула целевых объектов перераспределения или вычислительного ресурса. Кроме того, по меньшей мере, один элемент перераспределения может быть соотнесен с активным компонентом действующей конфигурации M:N.
[0034]
В некоторых вариантах осуществления система может дополнительно содержать исполнение определения рабочего состояния исправления для определения жизнеспособного повторного развертывания, которое поддерживает целостность действующей конфигурации M:N.
[0035]
В некоторых вариантах осуществления система может дополнительно содержать поддержание требований высокой доступности действующей конфигурации M:N.
[0036]
В некоторых вариантах осуществления системы может поддерживаться целостность действующей конфигурации M:N, и приложение или элемент потока операций, по меньшей мере, одного компонента действующей конфигурации M:N может приостанавливаться для поддержания целостности действующей конфигурации M:N.
[0037]
В некоторых вариантах осуществления система может дополнительно содержать исполнение определения рабочего состояния исправления для определения жизнеспособного повторного развертывания, и определение того, что целостность действующей конфигурации M:N может не поддерживаться.
[0038]
В некоторых вариантах осуществления система может дополнительно содержать генерирование запроса дополняющего компонента действующей конфигурации M:N, указывающего минимальные требования к дополняющему компоненту, необходимые для перехода обратно к жизнеспособной действующей конфигурации M:N.
[0039]
В некоторых вариантах осуществления система может дополнительно содержать обеспечение повторного развертывания, когда потенциальная возможность балансировки нагрузки предполагает имитационную проверку отказа компонента.
[0040]
В некоторых вариантах осуществления система может дополнительно содержать итеративное моделирование отказа компонента действующей конфигурации M:N для каждого компонента в действующей конфигурации M:N.
[0041]
В некоторых вариантах осуществления система может дополнительно содержать исполнение моделирования отказа вычислительного ресурса со степенью проверки Z, где Z больше или равно 1, и проверку действующей конфигурации M:N при условии, что дополняющий ресурс действующей конфигурации M:N является устойчивым к сбоям.
[0042]
В некоторых вариантах осуществления система может дополнительно содержать генерирование запроса устойчивого к сбоям дополняющего компонента и/или вычислительного ресурса действующей конфигурации M:N для исправления действующей конфигурации M:N, чтобы обеспечить переход к устойчивой к сбоям действующей конфигурации M:N.
[0043]
В некоторых вариантах осуществления система может дополнительно содержать активацию перераспределяемых элементов совместно с соответствующими рабочими данными приложения или элемента потока операций, хранящимися в модуле служб данных, в момент отказа вычислительного ресурса или вблизи него.
[0044]
Согласно одному варианту осуществления предоставляется способ для динамической балансировки нагрузки, по меньшей мере, одного элемента перераспределения в пределах группы вычислительных ресурсов, которые обеспечивают промышленный исполнительный процесс и/или компонент промышленного исполнительного процесса, организованной в действующей конфигурации M:N, причем способ содержит этапы, на которых получают доступ из центрального хранилища данных к рабочим данным компонентов действующей конфигурации M:N, возможностям или характеристикам, соотнесенным с действующей конфигурацией M:N, идентифицируют потенциальную возможность балансировки нагрузки для вызова перераспределения, по меньшей мере, одного элемента перераспределения в целевой объект перераспределения, выбранный из пула целевых объектов перераспределения, обусловленного остальными M компонентами вычислительных ресурсов, соотнесенными с действующей конфигурацией вычислительных ресурсов M:N, выбирают, по меньшей мере, один целевой объект перераспределения для повторного развертывания, по меньшей мере, одного элемента перераспределения, выбранного из целевого пула перераспределения, повторно развертывают, по меньшей мере, один элемент перераспределения в этом, по меньшей мере, одном выбранном целевом объекте перераспределения, и определяют повторное развертывание, по меньшей мере, одного элемента перераспределения в этом, по меньшей мере, одном выбранном целевом объекте перераспределения, как представляющее собой жизнеспособное повторное развертывание.
[0045]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором обеспечивают повторное развертывание, когда потенциальная возможность балансировки нагрузки предполагает балансировку нагрузки при обнаружении отказа ресурса. Дополнительно, по меньшей мере, один элемент перераспределения может быть соотнесен с неисправным компонентом или вычислительным ресурсом действующей конфигурации M:N.
[0046]
В некоторых вариантах осуществления способа, по меньшей мере, один элемент перераспределения может быть приложением, исполняемым на неисправном компоненте или вычислительном ресурсе действующей конфигурации M:N. Кроме того, по меньшей мере, один элемент перераспределения может включать в себя приложение и соответствующий элемент потока операций, исполняемые на неисправном компоненте/вычислительном ресурсе действующей конфигурации M:N. Дополнительно, рабочие данные, возможности или характеристики, соотнесенные, по меньшей мере, с одним элементом перераспределения, могут сравниваться с рабочими данными, возможностями и характеристиками, соотнесенными с компонентами пула целевых объектов перераспределения или вычислительным ресурсом. Кроме того, по меньшей мере, один элемент перераспределения может быть соотнесен с активным компонентом действующей конфигурации M:N.
[0047]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором исполняют определение рабочего состояния исправления для определения жизнеспособного повторного развертывания, которое поддерживает целостность действующей конфигурации M:N.
[0048]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором поддерживают требования высокой доступности действующей конфигурации M:N.
[0049]
В некоторых вариантах осуществления способа может поддерживаться целостность действующей конфигурации M:N, и приложение или элемент потока операций, по меньшей мере, одного компонента действующей конфигурации M:N может приостанавливаться для поддержания целостности действующей конфигурации M:N.
[0050]
В некоторых вариантах осуществления способ может дополнительно содержать этапы, на которых исполняют определение рабочего состояния исправления для определения жизнеспособного повторного развертывания, и определяют, что целостность действующей конфигурации M:N может не поддерживаться.
[0051]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором генерируют запрос дополняющего компонента действующей конфигурации M:N, указывающий минимальные требования к дополняющему компоненту, необходимые для перехода обратно к жизнеспособной действующей конфигурации M:N.
[0052]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором обеспечивают повторное развертывание, когда потенциальная возможность балансировки нагрузки предполагает имитационную проверку отказа компонента.
[0053]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором осуществляют итеративное моделирование отказа компонента действующей конфигурации M:N для каждого компонента в действующей конфигурации M:N.
[0054]
В некоторых вариантах осуществления способ может дополнительно содержать этапы, на которых исполняют моделирование отказа вычислительного ресурса со степенью проверки Z, где Z больше или равно 1, и проверяют действующую конфигурацию M:N при условии, что дополняющий ресурс действующей конфигурации M:N является устойчивым к сбоям.
[0055]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором генерируют запрос устойчивого к сбоям дополняющего компонента и/или вычислительного ресурса действующей конфигурации M:N для исправления действующей конфигурации M:N, чтобы обеспечить переход к устойчивой к сбоям действующей конфигурации M:N.
[0056]
В некоторых вариантах осуществления способ может дополнительно содержать этап, на котором активируют перераспределяемые элементы совместно с соответствующими рабочими данными приложения или элемента потока операций, хранящимися в модуле служб данных, в момент отказа вычислительного ресурса или вблизи него.
[0057]
Согласно одному аспекту, долговременный читаемый с помощью компьютера носитель хранит последовательности исполняемых компьютером инструкций для динамической балансировки нагрузки, по меньшей мере, одного элемента перераспределения в пределах группы вычислительных ресурсов, которые обеспечивают промышленный исполнительный процесс и/или компонент промышленного исполнительного процесса, организованной в действующей конфигурации M:N, причем эти последовательности исполняемых компьютером инструкций включают в себя инструкции, которые предписывают, по меньшей мере, одному обрабатывающему устройству, получать доступ из центрального хранилища данных к рабочим данным компонентов действующей конфигурации M:N, возможностям или характеристикам, соотнесенным с действующей конфигурацией M:N, идентифицировать потенциальную возможность балансировки нагрузки для вызова перераспределения, по меньшей мере, одного элемента перераспределения в целевой объект перераспределения, выбранный из пула целевых объектов перераспределения, обусловленного остальными M компонентами вычислительных ресурсов, соотнесенными с действующей конфигурацией вычислительных ресурсов M:N, выбирать, по меньшей мере, один целевой объект перераспределения для повторного развертывания, по меньшей мере, одного элемента перераспределения, выбранного из целевого пула перераспределения, повторно развертывать, по меньшей мере, один элемент перераспределения в этом, по меньшей мере, одном выбранном целевом объекте перераспределения, и определять повторное развертывание, по меньшей мере, одного элемента перераспределения в этом, по меньшей мере, одном выбранном целевом объекте перераспределения, как представляющее собой жизнеспособное повторное развертывание.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0058]
Настоящее раскрытие изобретения описывает функциональные средства и функциональные особенности, которые обеспечивают администрирование системы BCHA в части вычислительных ресурсов BCHA для достижения заданной доступности для системы BCHA (например, промышленной системы управления), чтобы позволить системе BCHA реализовывать и поддерживать требуемую доступность и/или функциональные особенности с заданным качеством и более низкими издержками без необходимости резервирования для аварийного переключения 1:1 на физическом уровне для каждого вычислительного ресурса/машины. Раскрытая технология задействует пул из множественных вычислительных ресурсов BCHA, чтобы обеспечить динамическое достижение и поддержание необходимых требований высокой доступности для конкретной системы BCHA. В некоторых вариантах осуществления раскрытая технология контролирует и сообщает ключевой показатель эффективности (KPI - key performance indicator), такой как доступность системы BCHA и/или вычислительных ресурсов BCHA, и генерирует рабочие системные показатели/рекомендации для системных операторов, чтобы в реальном времени достигать целевых уровней надежности и доступности, установленных для конкретной системы BCHA. Описанная система BCHA также может моделировать то, как некоторые действия (например, добавление или удаление одного или нескольких вычислительных ресурсов) будут влиять, сказываться на таких показателях доступности и надежности, и соответственно динамически балансировать нагрузку, чтобы обеспечить достижение целевых уровней надежности и доступности для системы BCHA и/или конкретных компонентов системы BCHA.
[0059]
Фиг. 1A-B являются структурными схемами, иллюстрирующими аспекты взаимосвязи между надежной системой и доступной системой, что является двумя ключевыми вопросами, которые решают безграничные вычислительные системы высокой доступности ("BCHA" - Boundaryless Computing High Availability), конкретнее система BCHA анализирует систему BCHA, вычислительный ресурс компонента BCHA, приложение компонента BCHA и требуемую доступность элемента потока операций BCHA, чтобы распределить элементы перераспределения системы BCHA, в том числе приложения BCHA и элементы потока операций ("ЭПО") BCHA, чтобы динамически администрировать и максимизировать доступность системы.
[0060]
Фиг. 1A иллюстрирует общую схему Маркова для отказа без ремонта в левой части чертежа. Правая сторона Фиг. 1A иллюстрирует общую схему Маркова для отказа, который может быть отремонтирован, и соответственно иллюстрирует аспекты "Доступности". В примерах, показанных на Фиг. 1A и 1B, Доступность ("A") является вероятностью того, что система/системные приложения функционируют должным образом в случае необходимости использования. Другими словами, доступность является вероятностью того, что система работает, т.е. не вышла из строя или не подвергается операции ремонта и поэтому непригодна для использования. Надежность учитывает время, в течение которого компонент, часть или система будет неисправна в ходе работы. Это не отражает, за какое время находящийся в ремонте блок вернется обратно в рабочее состояние, может быть отремонтирован или потребует замены. Например, электролампа является надежным элементом, когда-нибудь она выйдет из строя. Однако, после того как она выйдет из строя, она не может быть отремонтирована и выбрасывается. Система освещения для здания является доступной системой. Когда лампа выходит из строя, ее можно заменить другой, но замена системного компонента предполагает координацию ресурсов и, возможно, простоя системного компонента.
[0061]
Если система может быть разделена и управляться по нескольким вычислительным ресурсам, то надежность системы возрастает относительно системы с одним вычислительным ресурсом. Например, улучшенная надежность/доступность может быть определена, используя . В примере с шестнадцатью машинными узлами, разделенных на четыре отдельные системы и управляемые через них, предполагаются следующие вычисления . Приведенная в качестве примера система имеет в пять раз большую доступность, и это означает, что если нужно поддерживать полный функционал, а у единой системы среднее время наработки на отказ (MTBF - mean time between failures) составляет десять лет, то для раздельной системы MTBF составляет пятьдесят лет. Если система разделена на k частей, то вероятность потери более чем 1/k от ее функционала во много, много раз меньше, чем вероятность того, что единая система, реализованная на единственном вычислительном ресурсе, потеряет весь свой функционал. В зависимости от объема/масштаба системы распределенная доступность может измеряться в столетиях.
[0062]
В системе BCHA, которая может содержать вычислительные ресурсы BCHA, которые включают в себя программные и аппаратные элементы (например, приложения, компоненты, модули, машины, логические аппаратные элементы, программные структуры, структуры связи, и т.п.), которые управляют процессом или сегментом процесса, доступность гарантирует продолжение бесперебойного выполнения важных управляющих алгоритмов, приложений и элементов потока операций. Соответственно, доступность системы является вычисляемой доступностью, на основании машин, вычислительных ресурсов, управляющих приложений, применяемых схем резервирования, и т.п., а также способности поддерживать рабочие состояния высокой доступности, которые гарантируют доступность системы посредством администрирования и координирования вычислительных ресурсов BCHA, приложений BCHA и элементов потока операций BCHA.
[0063]
Как показано на Фиг. 1C1, существующие реализации добиваются высокой доступности промышленных систем управления ("ICS" - Industrial Control System) путем построения систем, которые имеют дублирующие, резервные аппаратные средства для создания копии/аварийного переключения на физическом уровне. Эти решения высокой доступности с резервными один к одному (1:1) аппаратными парами выделенных вычислительных ресурсов могут быть непомерно дорогими в зависимости от объема и масштаба системы. Такие системы используют несколько резервных один к одному (1:1) аппаратных пар выделенных вычислительных ресурсов, причем управляющее приложение, развернутое на основной машине, может аварийно переключаться на вторичный или запасной вычислительный ресурс/машину в случае отказа основного вычислительного ресурса/машины. Эта установка резервных 1 к 1 аппаратных пар выделенных вычислительных ресурсов предоставляет высокую доступность, но имеет недостаток, заключающийся в необходимости двух выделенных вычислительных ресурсов/машин для каждого управляющего приложения, что приводит к удвоению стоимости машин, а также к плохой масштабируемости. Более того, существующие технологии используют набор функций среднее время наработки на отказ и среднее время ремонта (MTBF (Mean Time Between Failure) и MTTR (Mean Time To Repair)), чтобы определить показатели надежности, что является традиционными вычислениями для отказов аппаратных компонентов. Эти вычисления выполняются в ходе проектирования и изготовления, и в основном статичны, и могут обновляться только в том случае, если аппаратный элемент (и его резервные аппаратные средства для аварийного переключения) вводятся в систему и/или если изменяются системные компоненты.
[0064]
Эти и различные другие недостатки архитектур 1:1, а также показателей надежности MTBF и MTTR, преодолеваются функциональными средствами и функциональными особенностями безграничной вычислительной системы высокой доступности ("BCHA"), описанной в данном документе. Дополнительные преимущества могут быть осуществлены путем реализации системы BCHA в виде резервной системы с действующей конфигурацией M:N, показанной на Фиг. 1C2, задействуя вычислительные ресурсы BCHA, приложения BCHA и элементы потока операций BCHA. Например, для системы BCHA:
[0065]
(a) Доступность может быть определена по мере надобности конкретным приложением и на основании связанных потребностей управления, а не просто для соблюдения требования резервного управления 1:1;
[0066]
(b) технические специалисты не должны принимать во внимание назначение контуров управления строго определенным аппаратным средствам, тем самым сокращая время технического обслуживания и упрощая инженерную деятельность;
[0067]
(c) устранение требования 1:1 к аппаратным средствам открывает возможность закреплять требования доступности посредством использования виртуализированных вычислительных ресурсов BCHA, предоставляемых на IT-серверах; и
[0068]
(d) в некоторых случаях IO может располагаться удаленно от вычислительного ресурса BCHA.
Как используется в данном документе, безграничное управление (BC или bc - Boundaryless Control) представляет собой использование безграничного вычисления для управления промышленным процессом, установкой или операцией. Конкретнее, безграничное управление предполагает гибкий набор архитектурных принципов, технологий, способа и инструментальных средств, позволяющих оптимизировать решения по автоматизации на протяжении всего их жизненного цикла за счет эффективного использования развитых IT-технологий и абстрагирования высокоуровневых функций, чтобы обеспечить систему, которая является масштабируемой и расширяемой без ограничений, обоснованных базовыми рабочими аппаратными или программными компонентами, платформой или приложениями. Безграничные системы управления обеспечивают и добиваются этой гибкости за счет использования программно определяемого уровня приложений; гибкая и надежная магистральная линия связи, основные средства с интеллектуальным подсоединением, в также аппаратная платформа, спроектированная для эффективного использования современных технологий таким образом, чтобы также допускать расширения и обновления для работы с аппаратными ресурсами по мере развития технологий.
[0069]
Предпочтительно, если машина BCHA или вычислительный ресурс BCHA может быть физической машиной или виртуальной машиной с операционной системой, способной размещать одно или несколько приложений BCHA. Как используется в данном документе, виртуальная машина (ВМ) включает в себя вычислительный ресурс BCHA, эмулирующий конкретную компьютерную систему (или ее часть). ВМ работают на основе компьютерной архитектуры и функций реального или гипотетического компьютера, и их реализации могут предусматривать специализированные аппаратное обеспечение, программное обеспечение или их комбинацию. В соответствии с некоторыми вариантами осуществления, вычислительный ресурс BCHA имеет программный ресурс BC, который имеет три компонента/аспекта, которые обеспечивают функциональные средства/функциональные особенности рабочей инфраструктуры системы/компонента BCHA: (1) аспект конфигурации машины BCHA, (2) аспект физического вычислительного ресурса/машины BCHA и (3) аспект администрирования системы. Как используется в данном документе, вычислительный ресурс BCHA является ресурсом, способным выполнять одно или несколько приложений BC. Приложение BCHA может иметь четыре аспекта в некоторых вариантах осуществления. Они включают в себя (1) аспект роли, (2) аспект экземпляра (среда выполнения), (3) аспект визуализации и (4) аспект администрирования системы.
[0070]
Приложение BCHA или управляющее приложение BCHA имеет исполняемый код, который выполняет одну или несколько функций в пределах вычислительного ресурса BCHA. В некоторых вариантах осуществления экземпляр приложения (среды выполнения) BCHA предоставляется в виде отдельного исполняемого модуля, независимого от других приложений BCHA. В различных вариантах осуществления приложение BCHA может обеспечивать функциональные средства и функциональные особенности управления процессом, такие как алгоритмы управления, оптимизация процесса, киберфизические вычисления, и т.п. В некоторых вариантах осуществления приложения BCHA могут выполняться с возможностью исполнения элементов потока операций BCHA.
[0071]
Что касается элементов потока операций BCHA, фундаментальная концепция состоит в том, что программные и встроенные программные приложения выполняют работу, например, вычисления или элементы управления. Эта работа может представлять собой исполнение алгоритмов управления, сканирование ввода-вывода, многомерные вычисления, киберфизические вычисления, и т.д. Приложения BCHA развертываются как программное/встроенное программное обеспечение в вычислительные ресурсы BCHA, которые, в свою очередь, являются вычислительными элементами, определенными как вычислительные ресурсы/машины BCHA, которые увязывают инфраструктурные элементы с вычислительным элементом. Вычислительные механизмы, которые формируют вычислительный ресурс/машину BCHA, могут быть физическими компьютерами, виртуализированными машинами или контейнерами.
[0072]
Приложение BCHA может использовать службы данных BCHA для обмена информацией с другими приложениями BCHA, приложениями, наследуемой службой, средой выполнения IA, и т.п. В некоторых вариантах осуществления группы вне организации-разработчика могут создавать приложения BC, давая возможность полной сторонней расширяемости приложения BC или серии приложений, исполняемых в среде облачных/туманных/граничных/ легкотуманных вычислений (и/или некоторой их комбинации). Приложение BCHA может быть конечной точкой (EP - endpoint) поставщика и/или EP потребителя.
[0073]
В иллюстративных реализациях систем BCHA, затрагивающих промышленные системы управления (ICS), некоторые управляющие приложения BCHA, специализирующиеся на управлении процессами, используются для управления критическими процессами, такими как безопасное выполнение в пределах порогов, установленных системой безопасности (например, чтобы избежать отключения системой безопасности), и производство изделий, которые удовлетворяют определенным техническим требованиям с минимально возможными затратами. Некоторые приложения BCHA также могут использоваться, чтобы оптимизировать процессы (и/или аспекты процессов) и/или гарантировать, что автоматическое управление системой BCHA соответствует стандартам, соотнесенным с технологической операцией ICS. Например, некоторые управляющие приложения помогают запускать процессы более экономично, например, используя меньше энергии, сокращая использование пиковой мощности, сокращая использование дорогостоящего сырья при сохранении качества, сокращая занимаемое решением пространство, и т.п.
[0074]
Система и архитектура BCHA, описанные в данном документе, управляют вычислительными ресурсами BCHA таким образом, чтобы балансировать нагрузку приложений BCHA, одновременно администрируя и координируя системные компоненты BCHA для достижения показателей доступности системы. Требования к доступности системы BCHA могут быть установлены для поддержания функциональных средств/функциональных особенностей приложения BCHA. В некоторых реализациях доступность системы BCHA может быть установлена с использованием дополнительных порогов, которые инициируют корректирующее действие на основании допустимости риска системного оператора, характеристик/ эксплуатационных ограничивающих условий, соотнесенных с конкретным процессом и/или приложением, и/или множества других рабочих показателей. В некоторых реализациях система BCHA включает в себя функциональные средства и функциональные особенности для оптимизации эксплуатационных характеристик/ ограничивающих условий, которые добиваются необходимой доступности, а также функциональные особенности, уравновешивающие одно или несколько эксплуатационных ограничивающих условий, например из расчета заданного качества производства, приемлемых показателей безопасности и/или минимально возможной стоимости.
[0075]
В рабочих реализациях действующих конфигураций M:N устраняются требования резервирования один к одному для каждой машины, что приводит к дополнительной эффективности системных/ рабочих затрат. В рабочих реализациях M:N, управляющий модуль BCHA контролирует и координирует приложение 268 BCHA в пределах текущих вычислительных ресурсов BCHA для достижения и динамического поддержания необходимого рабочего состояния высокой доступности, задействуя только существующие компоненты системы BCHA. В рабочих реализациях M:N+R, управляющие модули BCHA управляют и координируют приложения BCHA в пределах текущих вычислительных ресурсов BCHA, но также запрашивают дополнительный ресурс "R" в дополнение к существующим вычислительным ресурсам BCHA, предоставленным для достижения необходимого рабочего состояния высокой доступности. Предпочтительно, если в действующей конфигурации M:N+R, по-прежнему можно избежать требования к аппаратным средствам по резервированию на физическом уровне 1:1, управляющий модуль BCHA может вычислять/определять подходящее количество "R" дополняющих/дополнительных запрошенных вычислительных ресурсов BCHA для предоставления вместе с существующими вычислительными ресурсами BCHA для достижения и поддержания установленных требований доступности, а также перехода к жизнеспособной действующей конфигурации M:N после предоставления дополнительного вычислительного ресурса BCHA. Управляющий модуль BCHA может определять, координировать и контролировать вычислительные ресурсы BCHA для достижения доступности машины/всей системы в режиме реального времени на основании атрибутов системы BCHA, включающих в себя возможности и характеристики компонента BCHA из числа вычислительных ресурсов BCHA, приложений BCHA, элементов потока операций BCHA, и распределение/администрирование компонентов системы BCHA. Как используется в данном документе, возможности или характеристики BCHA являются атрибутом BCHA, который определяет рабочий параметр или ограничивающее условие вычислительного ресурса BCHA, приложения BCHA и/или элемента потока операций BCHA. Примеры включают в себя, но не ограничиваются этим: влияние на ЦП, требования к совместному размещению, потребности в памяти, потребности в службах данных, требование к типу ЦП и совместное размещение с другими приложениями BC, критичность прикладного процесса и/или тому подобное.
[0076]
В некоторых вариантах осуществления система BCHA достигает высокой доступности благодаря управляющим приложениям BCHA для развертывания, координирования и администрирования приложений BCHA/элементов потока операций BCHA в пределах вычислительных ресурсов в действующей конфигурации M к N. На вычислительном ресурсе BCHA может размещаться любое предоставленное приложение BCHA, при условии, что атрибуты BCHA, возможности/характеристики компонента BCHA, делают это размещение подходящим. Отдельный вычислительный ресурс BCHA не обязательно должен быть полностью резервируемым по своей природе, однако для достижения высокой доступности может потребоваться более одного вычислительного ресурса BCHA.
[0077]
Следующая последовательность чертежей затрагивает различные примеры дополнительных функциональных средств/ функциональных особенностей системы BCHA, в которых сочетаются показатели эффективности высокой доступности, достигаемые посредством приложения BCHA. Например, системы BCHA могут (1) иметь повышенные показатели надежности, (2) предоставлять надежные компоненты/вычислительные ресурсы системы BCHA, (3) уменьшать/минимизировать время простоя системы BCHA, (4) уменьшать время обнаружения отказа вычислительного ресурса BCHA/приложения BCHA, (5) уменьшать время чтения/записи данных из/в службы данных BCHA, 6) уменьшать время для повторного развертывания приложения BCHA, (8) предоставлять альтернативные вычислительные ресурсы BCHA без требования резервирования для аварийного переключения на физическом уровне 1:1, (9) динамически распределять приложения BCHA по вычислительным ресурсам BCHA, создавая оптимальное сбалансированное использование физических/виртуальных вычислительных ресурсов BCHA, (10) переключать приложения BCHA на альтернативный вычислительный ресурс BCHA в случае отказа вычислительного ресурса BCHA в действующей конфигурации M:N или действующей конфигурации M:N+R по мере необходимости, (11) минимизировать время для элементов перераспределения BCHA (например, приложение(я) BCHA и/или элементы потока операций BCHA) на повторное развертывание и возобновление на альтернативном вычислительном ресурсе(ы) BCHC, а также иметь другие преимущества, решения, функциональные средства и функциональные особенности BCHA, которые описаны более подробно со ссылкой на чертежи.
[0078]
В некоторых вариантах осуществления требования высокой доступности системы BCHA могут быть успешно выполнены посредством модуля механизма надежности BCHA, который использует ограничивающие условия (например, ограничивающие условия ресурса, ограничивающие условия приложения, ограничивающие условия процесса, взятого в отдельности или во взаимодействии с возможностями, характеристиками и/или рабочими данными компонента системы BCHA) для вычисления доступности системы BCHA. В некоторых вариантах осуществления модуль механизма надежности BCHA может быть реализован как компонент, интегрированный с модулем управления BCHA, и давать рекомендации по улучшению доступности или предпринимать действия, такие как:
(i) использовать доступный (например, восстановленный) вычислительный ресурс/вычислительную мощность для перемещения и перезапуска критического приложения, принимая во внимание возможное действие со стороны системы безопасности; и/или
(ii) в состояниях с ограниченными ресурсами отключать наименее критическое или некритическое приложение.
[0079]
Система BCHA обеспечивает оптимизацию и балансировку нагрузки на основании выбора доступности, благодаря предоставлению обратную связь в реальном времени о доступности системы BCHA в целом и/или ряде других характеристик оптимизации балансировки системы BCHA (например, уровней нагрузки приложений на вычислительных ресурсах). Действующая конфигурация M:N оптимальной доступности может предусматривать отсутствие активного резервирования для некоторых приложений BCHA (например, некритическое управляющее приложение может быть заблокировано или деактивировано в случае отказа машины или ресурса и/или легко повторно инициировано на другом вычислительном ресурсе(ах) BCHA). В других примерах оптимальная доступность может предусматривать еще большую доступность за счет запуска активных, резервных вычислительных ресурсов BCHA/приложения(ий) BCHA (например, резервирование N к N, где каждый подключенный вычислительный ресурс BCHA может потенциально использоваться для аварийного переключения, резервирование M:N, где при выходе из строя одного вычислительного ресурса BCHA приложения BCHA/элементы потока операций BCHA, исполняемые на этом вычислительном ресурсе BCHA, перераспределяются на оставшиеся M вычислительных ресурсов, соотнесенные с действующей конфигурацией M:N). Желательная или заданная доступность, которую обеспечивает система BCHA, позволяет процессу выдавать результат заданного качества и с меньшими затратами без необходимости в резервных аппаратных средствах на физическом уровне 1:1 для каждого вычислительного ресурса.
[0080]
Другое преимущество раскрытой технологии состоит в том, что система является самовосстанавливающейся. В системе управления с резервированием M:N и/или если управляющий модуль BCHA запрашивает дополнительный вычислительный ресурс BCHA (например, действующая конфигурация M:N+R), поскольку целевые объекты повторного развертывания выбраны (и/или предоставлены и доступны для действующей конфигурации M:N+R), они могут быть задействованы, чтобы обеспечить повышенные показатели доступности, а также снизить производственные затраты.
[0081]
В соответствии с раскрытой технологией, высокая доступность может быть достигнута (например, в случае отказа вычислительного ресурса BCHA) при помощи следующего:
(i) Динамическое администрирование действующей конфигурации M:N для обеспечения архитектуры системы с резервированием; и/или
(ii) Управляющие приложения BCHA активно контролируют работоспособность/динамически администрируют компоненты системы BCHA, как например вычислительные ресурсы BCHA, приложение(я) BCHA и/или элементы потока операций BCHA, чтобы обеспечить промышленный исполнительный процесс или компонент управления промышленной системы, соотнесенный с промышленным исполнительным процессом.
[0082]
В некоторых реализациях управляющий модуль BCHA может временно или на неопределенное время приостанавливать приложения BCHA с более низким приоритетом/критичностью и, используя вычислительные ресурсы BCHA, делать доступными для запуска приложения BCHA с более высоким приоритетом/ критичностью. Как используется в данном документе, приоритет/ критичность приложения BCHA является показателем того, насколько важным является конкретное приложение BCHA для промышленного исполнительного процесса. В некоторых реализациях высокий приоритет/критичность приложения BCHA означает, что отказ приложения BCHA может привести к тому, что система безопасности переведет процесс в безопасное состояние быстрее, чем для более низких приоритетов приложения BCHA. Это полезный критерий для определения того, какого типа вычислительные ресурсы BCHA могут быть запрошены и предоставлены быстро и эффективно, чтобы обеспечить время ремонта системы BCHA, которое наступает перед тем, как система безопасности остановит промышленный исполнительный процесс.
[0083]
Фиг. 1C2 представляет аспекты архитектуры системы BCHA, а также аспекты базовых функциональных средств и функциональных особенностей системы BCHA, и то и другое намного более подробно комплексно обсуждается на последующих чертежах и в соответствующем тексте настоящего описания изобретения.
В некоторых вариантах осуществления блок управления высокой доступности работает во взаимодействии с механизмом надежности, чтобы предоставлять в реальном времени показатели для всей системы BCHA, чтобы предоставлять указание показателей надежности и доступности системы управления. Например, некоторые показатели могут указывать на то, что несколько машин в состоянии готовности потенциально могут предоставить еще более высокую доступность, чем подход с резервированием один к одному.
[0084]
Фиг. 1C1 является структурной схемой, иллюстрирующей пример системы, реализующей аппаратную архитектуру с аварийным переключением/резервированием на физическом уровне 1:1. Более конкретно, каждый из вычислительных ресурсов 105A1-105E1 имеет выделенный резервный вычислительный ресурс на физическом уровне 1:1, оперативно подсоединенный параллельно, как 105A2-105E2. В примере такого типа каждый из вычислительных ресурсов имеет выделенные резервные вычислительные ресурсы, которые могут находиться в неактивном состоянии, без использования, пока не будет обнаружен отказ. В качестве альтернативы, в некоторых чувствительных ко времени реализациях, вычислительные ресурсы 105E1 и 105E2 могут запускать одни и те же приложения одновременно, при том, что только одно активно участвует в системе. Соответственно, если вычислительный ресурс 105E1 выходит из строя, вычислительный ресурс 105E2 вступает в активную роль, минимизируя какие-либо потери данные за время включения резерва. Однако, как обсуждалось выше, системы этого типа имеют существенные недостатки.
[0085]
Фиг. 1C2 является структурной схемой, иллюстрирующей пример системы 100 BCHA, реализующей архитектуру действующей конфигурации M:N в соответствии с некоторыми вариантами осуществления раскрытой технологии. Приложения BCHA ("BCHA App X") могут быть распределены по нескольким вычислительным ресурсам 105A3-105E3. Одно или несколько приложений BCHA (bcApp) могут быть предоставлены вычислительному ресурсу BCHA. Например, вычислительный ресурс 105B BCHA может исполнять приложение App A BCHA и приложение App D BCHA. Система 100 BCHA также включает в себя управляющий модуль 120 BCHA с модулем 120 механизма надежности BCHA 120. Дополнительные улучшения эффективности и эффективности системы также достигаются путем реализации модуля 130 служб данных BCHA. В зависимости от конкретной реализации службы хранения данных могут быть распределенными или централизованными. Для целей настоящего обсуждения, службы данных BCHA показаны в виде центрального хранилища данных, с которым каждый из вычислительных ресурсов соединяется и предоставляет вычислительный ресурс BCHA, приложение BCHA, а также данные конфигурации элемента потока операций BCHA, данные о состоянии, выходные данные и другие связанные параметры рабочих данных BCHA. Как используется в данном документе, предоставлением является возможность установить и активировать вычислительный ресурс на экземпляре аппаратной точки входа, а также инициировать приложение BCHA и/или элемент потока операций BCHA на конкретном вычислительном ресурсе BCHA.
[0086]
В некоторых вариантах осуществления управляющий модуль 115 BCHA и модуль 120 механизма надежности BCHA контролируют работоспособность системы и рабочие данные, такие как доступность и загрузку вычислительного ресурса BCHA для каждого из экземпляров приложения BCHA, исполняющихся на каждом из соответственных вычислительных ресурсов 105A-105E в пределах действующей конфигурации M..N. На Фиг. 1C2, управляющий модуль 115 BCHA может обнаружить, если BCHA вычислительный ресурс 105E3 выходит из строя, и работать над перераспределением приложения APP E BCHA на подходящий альтернативный вычислительный ресурс BCHA в действующей конфигурации M:N. Как показано, приложение App 3 BCHA повторно развертывается на вычислительном ресурсе 105A3 BCHA. Кроме того, в некоторых реализациях управляющий модуль 115 BCHA также может временно приостанавливать приложение App A BCHA или повторно развертывать приложение App A BCHA на другом вычислительном ресурсе BCHA, в зависимости от конкретного случая, чтобы обеспечить повторное развертывание. Как показано, управляющий модуль BCHA перемещает приложение App A BCHA на вычислительный ресурс 105B3 BCHA, чтобы обеспечить повторное развертывание приложения App E BCHA на вычислительном ресурсе 105A3 BCHA. Аспекты балансировки нагрузки системы BCHA обсуждаются более подробно со ссылкой на Фиг. 5A-7C.
[0087]
В некоторых вариантах осуществления система BCHA координирует активность вычислительного ресурса BCHA для достижения доступности, по меньшей мере, такой же высокой, как требования высокой доступности, которые заданы независимо от того, какое приложение BCHA является приложением BCHA с наивысшим приоритетом/наиболее критическим. Модуль 120 механизма надежности BCHA задействует атрибуты приложения BCHA, которые идентифицируют возможности/характеристики доступности приложения(ий) BCHA/вычислительного ресурса(ов) ("атрибуты системы BCHA"), чтобы администрировать и контролировать доступность системы. В некоторых вариантах осуществления модуль 120 механизма надежности BCHA, при администрировании требований к доступности системы BCHA, может задействовать атрибуты вычислительных ресурсов BCHA и в конечном итоге идентифицировать, какие вычислительные ресурсы подходят в качестве целевого объекта перераспределения для повторного развертывания данного приложения BCHA.
[0088]
Администрирование доступности системы BCHA может включать в себя, например, использование атрибутов приложения BCHA для определения требований системы BCHA к вычислительным ресурсам BCHA, которые затем могут использоваться для обеспечения координирования и администрирования правил предоставления, активного администрирования приложений BCHA, балансировки нагрузки вычислительного ресурса BCHA, и/или тому подобного. Как используется в данном документе, атрибут приложения BCHA является открытым параметром вычислительного ресурса BCHA, приложения BCHA и/или элемента потока операций BCHC. В зависимости от приложения BCHA, приложения или элемента потока операций, атрибут обычно имеет идентификацию, тип данных, безопасность, классификации (среда выполнения и/или входные данные и/или настройка), и т.п. Некоторые атрибуты BCHA дают пользователю возможность настраивать приложение BCHA. Атрибуты среды выполнения могут иметь указание качества и/или указание времени. Значения некоторых атрибутов могут динамически изменяться на основании другого атрибута BCHA в системе (т.е. входных параметров). Атрибуты BCHA являются параметрами данных, хранящимися в модуле 130 служб данных BCHA, и будут обсуждаться более подробно ниже, как характеристики, возможности и/или эксплуатационные ограничивающие условия.
[0089]
В некоторых вариантах осуществления модуль 120 механизма надежности BCHA может быть реализован в блоке управления (не показано). В других вариантах осуществления модуль 120 механизма надежности BCHA может быть развернут во взаимодействии с управляющим модулем 115 BCHA или интегрирован с ним, либо независимо исполняться еще на одном из вычислительных ресурсов BCHA (например, ресурсы 105A-E). Пусконаладочный модуль 110 BCHA для управляющих приложений BCHA, управляющий модуль 115 BCHA, и модуль 120 механизма надежности BCHA, как описано выше, могут обеспечить предоставление управляющего приложения, балансировку нагрузки, кэширование данных (например, данные управляющего приложения), состояние администрирования, функционирование, эксплуатационные характеристики, и т.п. Вычислительные ресурсы BCHA/приложения BCHA взаимодействуют с управляющими приложениями через интерфейс прикладного программирования (API - application programming interface), в некоторых вариантах осуществления.
[0090]
Модуль 130 служб данных BCHA может задействовать несколько технологий. Например, более быстрая технология, предоставляющая высокую скорость и малое время задержки, может быть задействована для доступа к среде выполнения и внешним данным ввода-вывода, а более медленная технология для доступа к данным конфигурации. В некоторых вариантах осуществления некоторые данные могут кэшироваться с большей степенью локализации для экземпляра приложения BCHA, например, на ресурсах BC для повышения производительности. Модуль 110 служб данных BCHA гарантирует, что данные могут быть оперативно записаны и что данные оперативно доступны для вычислительных ресурсов BCHA, приложений BCHA и элементов потока операций BCHA. В некоторых вариантах осуществления возможен доступ к чтению/записи службы данных, по меньшей мере, такой же быстрый, как это требуется для приложения BCHA.
[0091]
В соответствии с раскрытой технологией управляющий модуль 115 BCHA может активно администрировать и повторно развертывать приложение BCHA/элемент потока операций BCHA из одного вычислительного ресурса BCHA в другой. Например, в системе 100 управляющий модуль BCHA может переместить приложение App A BCHA из вычислительного ресурса 105A3 BCHA в ресурс 105B3 (например, вследствие выхода из строя 105А или для создания доступности для повторного развертывания). Решение о перемещении на ресурс 105B может быть основано на эксплуатационных характеристиках и/или системных показателях (например, кэшированных и/или доступных со стороны модуля 130 служб данных BCHA). Например, приложение App A BCHA может быть критическим приложением, а ресурс 105B может иметь вычислительный ресурс, доступный для исполнения приложения App A BCHA. Приложение App A BCHA, перемещающееся с одного ресурса на другой ресурс, может возобновиться в течение временной постоянной фрагмента или сегмента процесса, которым управляет управляющее приложение (приложение App A BCHA в этом примере).
[0092]
В некоторых вариантах осуществления раскрытой технологии некоторые приложения BCHA могут быть критическим, тогда как другие могут быть некритическими. Некритическим приложениям BCHA в некоторых случаях может быть присвоен более низкий приоритет для аварийного переключения. Например, в системе 100 BCHA приложение App E BCHA может быть некритическим управляющим приложением, и чтобы поддерживать доступность системы в целом, приложение bcApp E может быть приостановлено, не будучи перезапущенным на другом ресурсе, если нет доступности обработки. Если есть доступность обработки BCHA, например, на вычислительном ресурсе 105А BCHA, некритическое приложение App E BCHA, может быть предоставлено ему и перезапущено или перехвачено в середине обработки, благодаря доступу к последнему жизнеспособному состоянию данных из модуля 130 служб данных BCHA.
[0093]
Соответственно, описанные системы, функциональные средства и функциональные особенности BCHA обеспечивают значительное увеличение возможностей системы BCHA для того, чтобы:
- достигать, администрировать и поддерживать системные требования высокой доступности для ряда сетевых, подсоединенных устройств;
- значительно снизить требования к аппаратным средствам и ресурсам и затраты посредством реализации архитектур аварийного переключения M..N вместо архитектуры аварийного переключения с резервированием 1:1 на физическом уровне; и
- достигать улучшенного администрирования системных архитектур благодаря использованию действующей конфигурации M:N+R, что в конечном итоге обеспечивает более устойчивые к сбоям рабочие конфигурации M:N за счет ввода в действие/развертывания дополняющих ресурсов.
[0094]
Соответственно, чтобы проиллюстрировать различные аспекты каждого из этих базовых преимуществ/оптимизаций системы BCHA, а также преимущества и показатели эффективности связанных систем, осуществленных путем реализации архитектуры системы BCHA, в дальнейшем описании будут рассмотрены следующие аспекты:
(1) как разрабатывается/вводится в действие система BCHA;
(2) функциональные средства и функциональные особенности системы BCHA, и связанные логические потоки, соотнесенные с различными рабочими функциональными средствами и функциональными особенностями для проверочной балансировки нагрузки HA-M:N, а также обнаружение отказа/исправление;
(3) действующий пример обнаружения отказа/исправления балансировки нагрузки BCHA; и
(4) ввод в действие/распределение дополняющего вычислительного ресурса для проверочной балансировки нагрузки HA-M:N системы BCHA.
[0095]
Фиг. 2A иллюстрирует аспекты компонентов, соотнесенных с архитектурами Фиг. 2A иллюстрирует аспекты компонентов, соотнесенных с архитектурами высокой доступности с безграничным управлением (BCHA), и компонентов системы BCHA 200. Пусконаладочный модуль 210 системы BCHA является модулем системы BCHA, ответственным за прием и исполнение плана ввода в действие разработки системы BCHA во время начальной разработки системы BCHA. После ввода системы в действие оперативное администрирование переходит к управляющему модулю 215 BCHA, для координирования администрирования элементов потока операций и балансировки нагрузки системы BCHA (балансировка нагрузки при обнаружении отказа ресурса, а также активная балансировка нагрузки/проверка действующей конфигурации M:N). В некоторых реализациях пусконаладочный модуль 210 системы BCHA/управляющий модуль 215 BCHA также может играть роль в предоставлении вычислительных ресурсов, приложений и/или элементов потока операций после начальной разработки системы BCHA, по мере того как дополняющие/дополнительные вычислительные ресурсы 240/250 BCHA предоставляются для системы 200 BCHA. В зависимости от конкретных деталей реализации экземпляр пусконаладочного модуля 210 BCHA может создаваться на своем собственном вычислительном ресурсе BCHA, встроенном в управляющий модуль 215 BCHA, или в некоторых реализациях функциональные средства/функциональные особенности пусконаладочного элемента в равной степени интегрированы с управляющим модулем 215 BCHA и/или исполняются удаленно как облачная служба.
[0096]
После того, как пусконаладочный модуль 210 системы BCHA проверил начальную конфигурацию и ввод в действие системы 200 BCHA, управляющий модуль 215 BCHA направляет работу оперативного администрирования среды выполнения на достижение требования/показателей доступности, определенных в плане ввода в действие разработки системы BCHA. Один или несколько вычислительных ресурсов 240/250 BCHA могут быть предоставлены пусконаладочным модулем 210 системы BCHA для эффективного размещения приложений 268 BCHA, исполняемых системой 200 BCHA, а также элементов 270 потока операций BCHA, исполняемых в соответственных приложениях BCHA. Пусконаладочный модуль 210 системы BCHA 210 выполняется с возможностью достижения большинства функциональных особенностей ввода в действие, соотнесенных с системой BCHA 200, но работает с двумя управляющими приложениями 205 BCHA, которые имеют специализированные служебные программы: (1) конфигуратор 211 приложений BCHA, используемый для разработки элементов потока операций BCHA; и (2) конфигуратор 212 управляющих приложений BCHA, используемый для разработки управляющих приложений 205 BCHA, таких как управляющий модуль 215 BCHA, модуль 220 механизма надежности BCHA и модуль 221 администратора пула ЭПО BCHA. В конечном счете, вычислительные ресурсы 240/250 BCHA, приложения 268 BCHA и соответственные элементы 270 потока операций BCHA вводятся в действие и администрируются для обеспечения промышленного исполнительного процесса. Учитывая гибкость системы 200 BCHA, промышленный исполнительный процесс может представлять собой полный рабочий поток, промышленный процесс управления или рабочий поток элементов/компонентов в рамках промышленного процесса управления, например, координации производственной линии или элементов производственной линии, такой как конвейерная сборка.
[0097]
Данные конфигурации, рабочие данные и данные администрирования системы BCHA для системы 200 BCHA хранятся в модуле 230 служб данных BCHA. Управляющий модуль 215 BCHA администрирует (или работает с модулем 221 администратора пула ЭПО BCHA, чтобы администрировать) распределение элементов потока операций. В случае отказа вычислительного ресурса 240/250 BCHA, отказа приложения BCHA/элемента потока операций BCHA, хранение данных конфигурации вычислительного ресурса BCHA, приложения BCHA, элемента потока операций BCHA, а также рабочих/выходных данных централизованно (или распределенно, но независимо от локального хранилища на соответственном вычислительном ресурсе) приводит к значительной гибкости системы и обеспечивает одно из ключевых преимуществ архитектуры M:N, если один вычислительный ресурс выходит из строя, блок управления высокой доступности может быстро и эффективно перераспределить/повторно развернуть приложение(я) и элемент(ы) потока операций из одного вычислительного ресурса на другой.
[0098]
Как показано на Фиг. 2A, модуль 230 служб данных BCHA имеет конфигурацию централизованного хранилища данных/базы данных, которая хранит и делает доступными различные характеристики и возможности системы ввода в действие/ вычислительного ресурса/приложения. Данные, хранящиеся в модуле 230 служб данных BCHA, используются управляющим модулем 215 BCHA, работающим во взаимодействии с модулем 220 механизма надежности BCHA для активного/пассивного контролирования работоспособности системы, эксплуатационных характеристик системы и работ для достижения показателей/требований доступности системы BCHA для системы 200, и администратором 221 пула элементов потока операций ("ЭПО") BCHA.
[0099]
В зависимости от типа доступных ресурсов, вычислительные ресурсы 240/250 BCHA, соотнесенные с конкретной системой BCHA, могут представлять собой неоднородную комбинацию множества физических вычислительных ресурсов 240 BCHA или виртуальных вычислительных ресурсов 250 BCHA, предоставляемых на базе разнообразного спектра аппаратных точек входа неоднородных вычислительных ресурсов. Физические и виртуальные вычислительные ресурсы могут быть сконфигурированы и построены на любом количестве платформ без операционной системы. Например, на Фиг. 2A, физический вычислительный ресурс 240 BCHA показан как предоставляемый на базе аппаратного ресурса 243 BC, который может быть чем-то таким же простым как одноплатный компьютер Raspberry Pi, альтернативный физический вычислительный ресурс 241 может быть разработан на основе локального аппаратного ресурса 246 ПК-Сервер. Аналогично, виртуальные вычислительные ресурсы 250 BCHA могут быть разработаны с использованием виртуальных машин, размещенных на точках входа вычислительных ресурсов локальных аппаратных ресурсов 253 ПК-Сервер, локальных облачных вычислительных ресурсов 256, и/или публичных облачных вычислительных ресурсов 259. Что касается системы 200 BCHA, независимо от базовой точки входа вычислительного ресурса, пусконаладочный модуль 210 системы BCHA создает экземпляр точки 262 входа аппаратного ресурса BC c операционной системой 264 ресурса BC и ресурсами 266 BCHA, которые включают в себя логистические программные компоненты, такие как службы технологического комплекса BCHA, машинное программное обеспечение BC и/или службы администрирования контейнеров, а также приложения BCHA 268. Как будет более подробно описано на Фиг. 3D, приложение(я) 268 BCHA являются элементами системы BCHA, которые исполняют элементы 270 потока операций BCHA и, в свою очередь, в конечном счете успешно выполняют промышленный исполнительный процесс.
[0100]
Следует понимать, что архитектура различных описанных систем BCHA обеспечивает значительную гибкость, в связи с этим возможно широкое разнообразие реализаций системы 200 BCHA. Различные аспекты функциональных средств, функциональных особенностей, обработки и хранения данных системы 200 BCHA 200 могут изменять конфигурацию, чтобы удовлетворять эксплуатационным ограничивающим условиям, потребностям и требованиям множества разных конечных реализаций/промышленных исполнительных процессов. Например, хотя на Фиг. 2A и показаны раздельные модули системы для модуля 230 служб данных BCHA, пусконаладочного модуля 210 системы BCHA, управляющего модуля 215 BCHA, а также модуля 220 механизма надежности BCHA, функциональные средства/функциональные особенности, соотнесенные с одним или несколькими из этих модулей, могут быть реализованы как раздельные модули или, для некоторых реализаций архитектуры системы BCHA, как объединенные с одним или несколькими, и/или распределенные между ними, другими управляющими приложениями 205 BCHA и/или другими модулями/вычислительными ресурсами системы BCHA. Кроме того, в зависимости от типа конкретного приложения промышленного исполнительного процесса, соотнесенного с системой 200 BCHA, аспекты базовых функциональных средств или функциональных особенностей могут выполняться с возможностью исполнения в качестве задач, управляемых событиями, непрерывно повторяющихся действий и/или некоторой комбинации событий/циклов.
[0101]
Фиг. 2B является блок-схемой последовательности операций, иллюстрирующей аспекты того, как пусконаладочный модуль 210 системы BCHA разрабатывает систему 200 BCHA. Более конкретно, Фиг. 2B является блок-схемой последовательности операций, иллюстрирующей аспекты того, как пусконаладочный модуль 210 системы BCHA разрабатывает и вводит в действие различные вычислительные ресурсы 240/250 BCHA, соотнесенные с системой 200 BCHA, и работает во взаимодействии с другими управляющими приложениями 205 BCHA в соответствии с планом ввода в действие разработки системы BCHA, на этапе 273. На этапе 275 пусконаладочный модуль 210 системы BCHA создает экземпляр модуля 230 служб данных BCHA. После того, как модуль 230 служб данных BCHA установлен, пусконаладочный модуль 210 системы BCHA сравнивает доступные аппаратные точки входа вычислительных ресурсов с планом ввода в действие разработки системы BCHA, чтобы произвести проверку, достаточно ли вычислительных ресурсов для возможности разработки вычислительных ресурсов 240/250 BCHA, чтобы обеспечить промышленный исполнительный процесс, на этапе 276. Этапы 281 и 284 предусматривают идентификацию любых дополнительных требований к ресурсам с точками входа на аппаратных средствах без программного обеспечения, организацию доступа, а также любые предоставленные дополнительные ресурсы.
[0102]
Пусконаладочный модуль 210 BCHA итеративно предоставляет вычислительные ресурсы 240/250 BCHA, а также создает экземпляр надлежащего приложения(й) 268 BCHA на соответственных вычислительных ресурсах 240/250 BCHA, на этапе 287. Каждый из вычислительных ресурсов 240/250 BCHA и соответственное приложение(я) 268 BCHA, в свою очередь, регистрируются в модуле 230 служб данных BCHA, на этапе 290 (хоть это и показано как раздельные этапы, создание экземпляра и регистрация могут происходить, когда модуль ввода в действие работает с каждым соответственным вычислительным ресурсом).
[0103]
На этапе 293 пусконаладочный модуль 210 BCHA или конфигуратор 211 управляющих приложений BCHA работает с одним из вычислительных ресурсов 240/250 BCHA, чтобы создать экземпляр одного или нескольких управляющих приложений 205 и соответственного вычислительного ресурса(ми). Более конкретно, управляющее приложение BCHA может иметь конфигурацию управляющего модуля 215 BCHA, который также включает в себя модуль 220 механизма надежности BCHA и/или модулем 221 администратора пула ЭПО BCHA, которые оба тоже регистрируются в модуле 230 служб данных BCHA. Аспект ввода в действие/создания экземпляра управляющего модуля 215 BCHA и модуля 220 механизма надежности предусматривает аспекты обработки плана ввода в действие разработки системы BCHA для разработки показателей доступности и эксплуатационных требований для системы BCHA. Управляющий модуль 215 BCHA, модуль 220 механизма надежности BCHA и модуль 221 администратора пула администрирования ЭПО BCHA администрируют и координируют элементы 270 потока операций BCHA в пределах зарегистрированных вычислительных ресурсов 240/250 BCHA, чтобы поддерживать: (1) функционирование системы BCHA, (1А) жизнеспособную действующую конфигурацию M:N и (1B) эксплуатационные требования высокой доступности BCHA.
[0104]
В некоторых реализациях управляющий модуль 215 BCHA будет инициировать действия по балансировке нагрузки, на основании рабочего состояния или на основании обнаружения(й) отказа вычислительного ресурса. На этапе 294, в рамках ввода в действие управляющего модуля 215 BCHA, модуль 212 конфигуратора управляющих приложений системы BCHA также создает экземпляр администратора 221 пула администрирования ЭПО BCHA. Как только пул ЭПО создан, пусконаладочный модуль 210 BCHA создает экземпляры начального набора элементов потока операций и регистрирует в модуле 230 служб данных BCHA, а также заполняет пул зарегистрированными элементами потока операций для распределения администратором 221 пула администрирования ЭПО BCHA, на этапе 295. После создания экземпляров различных элементов системы BCHA управляющие приложения 205 системы BCHA устанавливают высокую доступность/резервирование для критических элементов системы BCHA, таких как модуль 230 служб данных BCHA, управляющий модуль 215 BCHA и модуль 220 механизма надежности BCHA, на этапе 297. Пусконаладочный модуль 210 системы BCHA проверяет введенную в действие архитектуру системы BCHA, чтобы подтвердить согласованность с планом ввода в действие разработки системы BCHA. Если проверка успешна, то система 200 BCHA переходит в рабочее состояние, на этапе 298. Если есть какие-либо проблемы с проверкой, пусконаладочный модуль 210 BCHA работает с управляющими приложениями 205 системы BCHA, чтобы устранить любые проблемы/несогласованности, идентифицированные во время проверки, и затем переходит в рабочее состояние.
[0105]
После разработки и создания экземпляра базовой системы 200 BCHA управляющий модуль 215 BCHA контролирует показатели работоспособности/балансировки нагрузки, соотнесенные с приложениями 268 BCHA, обрабатывающими элементы 270 потока операций BCHA в пределах соответственных вычислительных ресурсов 240/250 BCHA, когда система 200 BCHA работает для успешного выполнения промышленного исполнительного процесса. Промышленный исполнительный процесс является конечной целью исполнения системы управления процессом (или соответственного рабочего потока [или вложенного рабочего потока]), то есть то, для чего была создана система 200 BCHA, это приведение в действие производственной линии или компонента производственной линии. Промышленный исполнительный процесс идентифицируется и определяется для конкретной системы BCHA и включает в себя рабочие/конфигурационные детали в отношении некоторых аспектов требований к вычислительному ресурсу 240/250 BCHA, приложений 268 BCHA, показателей доступности/надежности системы BCHA, и множества других определений эксплуатационных характеристик/ возможностей, которые используются для разработки фундаментальных базовых требований к системе BCHA. Базовые требования загружаются в пусконаладочный модуль 210 системы BCHA и эффективно используются в качестве схемы работ для разработки различных компонентов/элементов, соотнесенных с планом ввода в действие системы BCHA.
[0106]
Аспекты пусконаладочного модуля 210 системы BCHA, предоставляющего соответственные элементы и компоненты системы, такие как вычислительные ресурсы 240/250 BCHA, приложения 268 BCHA, элементы 270 потока операций BCHA, модуль служб данных BCHA, описаны более подробно со ссылкой на Фиг. 3A-3F.
[0107]
Фиг. 3A иллюстрирует аспекты пусконаладочного модуля BCHA и создания экземпляра модуля 230 служб данных BCHA. План ввода в действие системы BCHA загружается в пусконаладочный модуль 210 системы BCHA и, в свою очередь, используется для создания экземпляра модуля 230 служб данных BCHA. Процесс начинает с того, что пусконаладочный модуль 210 системы BCHA создает экземпляр некоторых базовых данных 300 архитектуры системы BCHA в соответствии с планом ввода в действие. Например, пусконаладочный модуль 210 системы BCHA создает экземпляры предварительных записей данных для вычислительных ресурсов 240/250 BCHA, соотнесенных с планом ввода в действие. Созданные экземпляры данных вычислительных ресурсов и данных 305 других компонентов системы BCHA наполняются, когда созданы экземпляры всех других компонентов/элементов по мере того, как пусконаладочный модуль 210 системы BCHA продвигается в разработке системы 200 BCHA, исполняя процесс конфигурирования/ввода в действие. Модуль 230 служб данных BCHA включает в себя параметры данных, соотнесенные с архитектурой 300 системы BCHA, промышленным исполнительным процессом 301, данными 302 возможностей/характеристик компонента BCHA, данными 303 вывода рабочих данных. Модуль 230 служб данных BCHA также включает в себя записи данных, соотнесенные с управляющими приложениями 205 BCHA, данными 306 пусконаладочного модуля системы BCHA, данными 307 управляющего модуля BCHA, данными 308 модуля механизма надежности BCHA, а также данными 309 администратора пула ЭПО BCHA. Записи 310 данных компонентов системы BCHA и связанные данные параметров также поддерживаются для данных, соотнесенных с соответственными вычислительными ресурсами 311, 312 BCHA, приложениями 313, 314 и 315 BCHA, исполняющимися на соответственных вычислительных ресурсах, а также элементами потока операций 316, 317 и 318 BCHA исполняемыми приложением 314 BCHA. Управляющий модуль BCHA
[0108]
Модуль 230 служб данных BCHA может быть хранилищем данных/службой (например, реализующей резервирование) высокой доступности (централизованным или распределенным), которое доступно для всех вычислительных ресурсов 240/250 BCHA, приложений 268/элементов 270 потока операций BCHA, исполняющихся на вычислительных ресурсах 240/250, пусконаладочного модуля 210 BCHA, управляющего модуля 215 BCHA и модуля 220 механизма надежности BCHA, а также администратора 221 пула ЭПО BCHA. В некоторых вариантах осуществления доступность службы данных является, по меньшей мере, такой же высокой, как и доступность для наиболее критического приложения BC. В некоторых вариантах осуществления модуль 230 служб данных BCHA также может хранить такие данные, как, но не ограничиваясь этим:
- аспекты данных среды выполнения администрирования безграничного пространства имен всех вычислительных ресурсов 240/250 BCHA, приложений 268 BCHA и элементов 270 потока операций BCHA;
- данные/параметры возможностей/характеристик приложения BCHA, данные/параметры приложения, данные/ параметры ограничивающих условий приложения;
- данные/параметры рабочего состояния приложения BCHA; и
- все внешние данные ввода-вывода, ввод-вывод VTQ, собранные внешним интерфейсом ввода-вывода и сохраненные в службах данных одного или нескольких приложений ввода-вывода BC.
[0109]
Фиг. 3B иллюстрирует аспекты разработки вычислительных ресурсов архитектуры высокой доступности с безграничным управлением (BCHA). На Фиг. 3B, этап 325, пусконаладочный модуль 210 системы BCHA использует план ввода в действие системы BCHA для разработки вычислительных ресурсов 240/250 BCHA, необходимых для исполнения приложений 268 BCHA и элементов 270 потока операций BCHA, которые, в свою очередь, исполняют промышленный исполнительный процесс. Пусконаладочный модуль системы 210 BCHA обращается к плану ввода в действие, чтобы определить количество/тип доступных вычислительных ресурсов 240/250 BCHA, отвечающих требованиям, установленным в плане ввода в действие, на этапе 327. Конкретнее, пусконаладочный модуль системы 210 BCHA подтверждает, что разработанные ранее физические/виртуальные пустые ресурсы/точки входа ресурсов существуют и могут быть сконфигурированы так, чтобы отвечать требованиям обработки для вычислительных ресурсов BCHA промышленного исполнительного процесса. На этапе 329 пусконаладочный модуль 210 системы BCHA запрашивает дополнительные точки входа ресурсов, чтобы компенсировать любые расхождения между требованиями к вычислительным ресурсам плана исполнения и доступными точками входа ресурсов. Как только дополнительный ресурс предоставляется, на этапе 331, модуль ввода в действие системы BCHA повторно проверяет план и доступные начальные ресурсы. После проверки пусконаладочный модуль 210 системы BCHA систематически снабжает каждую точку входа вычислительного ресурса BCHA модулями логистического программного обеспечения/встроенного программного обеспечения, чтобы обеспечить службы BCHA.
[0110]
На этапе 333 конфигурируется точка входа вычислительного ресурса с операционной системой. После создания экземпляра операционной системы, пусконаладочный модуль 210 системы BCHA конфигурирует (a) службы технологического комплекса вычислительных ресурсов, (b) машинное программное обеспечение BCHA и/или (c) службы администрирования контейнеров, на этапе 335. С помощью установленных логистических программных компонентов вычислительного ресурса пусконаладочный модуль 210 системы BCHA итеративно создает экземпляры приложения(ий) 268 BCHA вычислительного ресурса, на этапах 337, 338, для приложения(ий) 268 BCHA, соотнесенного с конкретным вычислительным ресурсом(ами) 240/250 BCHA, для которого создаются экземпляры. Приложения BCHA 268 конфигурируются и вводятся в действие в соответствии с требованиями, идентифицированными в плане ввода в действие, для конкретного вычислительного ресурса(ов) 240/250 BCHA, и чтобы обеспечить промышленный исполнительный процесс. Создание экземпляра приложения BCHA более подробно обсуждается на Фиг. 3C. На этапе 340 соответственный вычислительный ресурс(ы) 240/250 BCHA и соответствующие приложения 268 BCHA регистрируются в модуле 230 служб данных BCHA. Хотя это и показано как дискретный этап, в зависимости от реализации, каждый вычислительный ресурс(ы) 240/250 BCHA и соответствующее приложение(я) 268 BCHA могут регистрироваться в модуле 230 служб данных BCHA после того, как пусконаладочный модуль 210 системы BCHA завершит процесс создания экземпляра. Этап 342 иллюстрирует итерационный цикл(ы) по мере того, как пусконаладочный модуль 210 системы BCHA продвигается через создание экземпляра и регистрацию для каждого из вычислительных ресурсов 240/250 BCHA, соотнесенных с системой 200 BCHA. После того, как были введены в действие и зарегистрированы вычислительные ресурсы 240/250 BCHA и соответствующее приложение(я) 268 BCHA, на этапе 344, пусконаладочный модуль 210 системы BCHA начинает создание экземпляров управляющих приложений и элементов 270 потока операций BCHA (более подробно обсуждаемых на Фиг. 3D и 3E, соответственно).
[0111]
Фиг. 3C иллюстрирует аспекты ввода в действие приложений высокой доступности с безграничным управлением (BCHA). Как обсуждалось в отношении Фиг. 3B, один аспект ввода в действие вычислительных ресурсов 240/250 BCHA предусматривает создание экземпляров различных приложений 268 BCHA, которые будут исполняться соответственными вычислительными ресурсами, чтобы обеспечить промышленный исполнительный процесс. Фиг. 3C иллюстрирует аспекты того, как создается экземпляр каждого приложения 268 BCHA. Для каждого приложения 268 BCHA, соотнесенного с вычислительным ресурсом 240/250 BCHA, создаются экземпляры управляющих приложений 205 системы BCHA в форме ряда служб. Конкретнее, как показано, для каждого приложения 268 BCHA устанавливаются службы 345 состояний, службы 346 администрирования ЭПО, служба 347 работоспособности и службы 348 данных.
[0112]
Фиг. 3D иллюстрирует аспекты создания экземпляра управляющего приложения(ий) 205 системы BCHA. Конфигуратор 212 управляющих приложений системы BCHA отвечает за начальное предоставление управляющих приложений 205 системы BCHA. Управляющие приложения 205 системы BCHA запускаются аналогично приложениям 268 BCHA, рассмотренным выше в отношении Фиг. 3C, и запускаются как приложения 268 BCHA, экземпляры которых создаются на вычислительных ресурсах 240/250 BCHA. Пусконаладочный модуль 210 системы BCHA продвигается еще на этап, чтобы предоставить управляющему приложению BCHA дополнительные расширенные функциональные средства/ функциональные модули, которые обеспечивают ключевые роли 355 иерархического управления в рамках системы 200 BCHA. Например, управляющий модуль 215 BCHA разрабатывается как вычислительный ресурс 240/250 BCHA с приложением 268 BCHA, которое расширяется дополнительными операционными возможностями балансировки нагрузки, так же как модуль 220 механизма надежности BCHA и администратор 221 пула ЭПО BCHA.
[0113]
Модуль 220 механизма надежности BCHA в первую очередь отвечает за работу с управляющим модулем 215 BCHA, чтобы обеспечить развертывание балансировки нагрузки при обнаружении отказа ресурса и проверочной балансировки нагрузки HA-M:N. Модуль 220 механизма надежности BCHA также может контролировать показатели доступности/рабочие показатели активной системы 200 BCHA, чтобы определить, когда балансировка нагрузки ЭПО является подходящей. Когда модуль 220 механизма надежности BCHA проводит оценку рабочего состояния и определяет, что балансировка нагрузки является подходящей, управляющий модуль 215 BCHA координирует работу с модулем 221 администратора пула ЭПО BCHA и обеспечивает повторное развертывание.
[0114]
Модуль 220 механизма надежности BCHA/администратор 221 пула ЭПО BCHA обеспечивает различные типы балансировки нагрузки посредством контроля рабочего состояния/загрузки данных и повторного развертывания элементов 270 потока операций BCHA. При балансировке нагрузки обнаружения отказа ресурса модуль 220 механизма надежности BCHA может обнаруживать отказ вычислительного ресурса 240/250 и инициировать повторное развертывание элемента перераспределения управляющего модуля 215 BCHA/администратора 221 пула ЭПО BCHA для повторного развертывания и балансировки нагрузки приложений 268 BCHA/элементов 270 потока операций BCHA, соотнесенных с вышедшим из строя вычислительным ресурсом(ами) 240/250 BCHA.
[0115]
В качестве другого примера, управляющий модуль 221 BCHA может обеспечивать проверочную балансировку нагрузки HA-M:N и моделировать отказы вычислительных ресурсов, чтобы определять и проверять пригодность действующей конфигурации M:N для поддержания требований высокой доступности, несмотря на имитацию отказа вычислительного ресурса BCHA.
[0116]
Эти два примера балансировки нагрузки системы BCHA являются иллюстративными для аспектов функциональных средств и функциональных особенностей, соотнесенных с системой BCHA, и следует понимать, что возможны также и другие типы балансировки нагрузки BCHA. Эти два типа балансировки нагрузки системы BCHA будут в центре внимания на чертежах 5A-7C.
[0117]
Фиг. 3E иллюстрирует аспекты разработки элементов потока операций архитектуры высокой доступности с безграничным управлением (BCHA). На Фиг. 3E элементы 270 потока операций BCHA создаются во время процесса создания экземпляра системы 200 BCHA как часть исполнения плана ввода в действие разработки системы BCHA. На этапе 357 пусконаладочный модуль 210 системы BCHA работает с конфигуратором 211 приложений BCHA, который дробит элемент промышленного исполнительного процесса, чтобы создать элемент 270 потока операций BCHA в форме вычислительной или управляющей элементной единицы, которая может исполняться приложением 268 BCHA. А именно, на этапе 358 пусконаладочный модуль 210 системы BCHA/конфигуратор 211 приложений BCHA обрабатывает элемент промышленного исполнительного процесса с помощью конкретной генерационной модели, например, модели 358A управления IAS 88 или модели 358B управления 61580. На этапе 360, как часть генерирования ЭПО, пусконаладочный модуль 210 системы BCHA/конфигуратор 211 приложений BCHA создает две части для элемента потока операций: (1) изолированную, автономную вычислительную/управляющую единицу на основании конкретной модели; и (2) модель абстракции элемента потока операций, которая включает в себя метаданные, соотнесенные с элементом 270 потока операций BC (например, тип исполнения приложения BCHA, требования к исполнению/нагрузки обработки ЭПО, временные ограничивающие условия, требования к элементу данных ввода/вывода, и т.д.).
[0118]
На этапе 362 администратор 221 пула ЭПО BCHA обрабатывает модель абстракции для согласования и распределения элементов 270 потока операций управляющим модулем 215 BCHA для исполнения приложениями 268 процесса BCHA/вычислительными ресурсами 240/250 BCHA. Например, на этапе 364 назначения ЭПО администратор 221 пула ЭПО BCHA обрабатывает модель 364A абстракции ЭПО и определяет метаданные ЭПО, указывающие, что ЭПО имеет две эксплуатационные характеристики (1) для ЭПО требуется приложение BC IEC 61131 для исполнения; и (2) ЭПО израсходует пять единиц исполнения/загрузки на некотором вычислительном ресурсе 240/250, которому в конечном итоге назначен элемент 270 потока операций. Администратор 221 пула ЭПО BCHA обращается к модулю 230 служб данных BCHA и осуществляет поиск любые вычислительные ресурсы 240/250 BCHA, которые могут быть согласованными, и идентифицирует 364B, вычислительный ресурс 240/250 с показателями API ЭПО, указывающими, что приложение BC является экземпляром в среде выполнения приложения BC IEC 61131; и имеет 25 доступных единиц исполнения/загрузки. В зависимости от характера приложения и реализации, управляющий модуль 215 BCHA/модуль администратора пула ЭПО BCHA может быть выполнен с возможностью назначения элемента 270 потока операций, как только согласование будет найдено. В качестве альтернативы, он может выполнять итерации по всем вычислительным ресурсам 240/250 BCHA, чтобы не только идентифицировать потенциальное согласование, но и идентифицировать оптимальное согласование на основании множества методологий/критериев оптимизации.
[0119]
В альтернативных вариантах осуществления элементы 270 потока операций BCHA (или группы элементов потока операций) могут быть предварительно сконфигурированы для множества элементов управления процессом, предпочтительных целевых объектов аварийного переключения по умолчанию, и/или внесены в план ввода в действие разработки системы BCHA в качестве предварительно сконфигурированных компонентов. Приложения 268 BC для управления и других функций в PLC и DCS фокусируются на управляющих приложениях с высокой степенью детализации. Высокая степень детализации обеспечивает возможность разбиения промышленного исполнительного процесса на эти раздробленные элементы и, в свою очередь, создания уровня независимости между элементом 270 потока операций и базовым вычислительным ресурсом 240/250. Пока выполняется приложение 268 BCHA, которое способно исполнять элемент 270 потока операций BCHA, вычислительный ресурс 240/250 BCHA, исполняющий приложение 268 BCHA, не является прямо критическим. В среде PLC обычно "Программы" создаются с использованием любого из языков IEC 61131. Созданная программа затем отправляется в PLC, где она исполняется. В системах DCS присутствует сочетание программных приложений управления и обусловленных конфигурацией приложений управления. Однако в обоих сценариях конфигурация ориентирована на строго определенные блоки управления в пределах системы.
[0120]
Элементы 270 потока операций BCHA устанавливают работу, которая должна выполняться любыми приложениями 268 BCHA в системе 200 BCHA, такую как управление, сканирование ввода-вывода, аварийная сигнализация, многопараметрическая оптимизация, управление основными средствами, и т.д. Типы элементов 270 потока операций BCHA будут наращиваться и расширяться по мере разработки новых приложений BC. Система 200 BCHA должна предоставить абстракцию вокруг администрирования элементов потока операций BC, чтобы поддерживать как разнообразие, так и расширяемость. Как показано на Фиг. 3E, модель/определение абстракции элемента 270 потока операций BCHA создается на этапе 358 модулем ввода в действие BCHA, при использовании конфигуратора 211 приложений BCHA и различных приложений 268 BCHA, соотнесенных с системой 200 BCHA.
[0121]
Эта информация может использоваться для обеспечения наиболее точного согласования с приложением 268 BCHA во время события балансировки нагрузки ЭПО. Элемент 270 потока операций BCHA также содержит в себе общий набор параметров/полей данных, характерных для всех элементов 270 потока операций BCHA (например, количество вычислительных единиц загрузки для исполнения, и т.д.). Общая информация используется для назначения элементов 270 потока операций BCHA приложениям 268 BCHA. Общая информация является единственными данными элемента потока операций, видимыми для системы 200 BCHA вне конфигуратора 211 приложений BCHA. Конфигуратор 211 приложений BCHA делит созданные определения на элементы 270 потока операций BCHA независимо от какого-либо взаимодействия с пользователем. Элементы 270 потока операций BCHA создаются на основании правил, которые строго определены для конфигуратора 211 приложений BCHA.
[0122]
В качестве примера, редактор циклов может делить определение цикла на множество элементов 270 потока операций BCHA; первичное управление, вторичное управление, ввод-вывод для первичных входных данных, ввод-вывод для вторичных входных данных, ввод-вывод для выходных данных. Решение о количестве генерируемых элементов 270 потока операций BCHA принимается конфигуратором 211 приложений BC на основании своих внутренних правил обработки, объема/масштаба промышленного исполнительного процесса, а также плана ввода в действие архитектуры системы BCHA и других эксплуатационных возможностей/характеристик. Абстрагирование через элементы 270 потока операций BCHA позволяет системе 200 BCHA администрировать назначение элементов 270 потока операций BCHA приложениям 268 BCHA, не зная информации, содержащейся в рабочем задании, или типа базового вычислительного элемента или элемента управления. Эта абстракция предоставляет высокий уровень расширяемости.
[0123]
Другим преимуществом разделения между конкретной и абстрактной логикой работы с элементами 270 потока операций BCHA является возможность применения к системе 200 BCHA различных конкретных моделей. Конкретные модели и их точные определения не известны системе 200 BCHA, например, управляющему модулю 215 BCHA и/или другой системной инфраструктуре BCHA, которая администрирует абстрактную модель. Это обеспечивает гибкость и расширяемость системы 200 BCHA. В качестве примера, конфигуратор 211 приложений BCHA, соотнесенный с модулем 210 ввода в действие BCHA, может дать пользователю представление ISA88 для определений управления. Тот же конфигуратор 211 приложений BCHA может дать пользователю представление IEC61850 системы 200 BCHA. В обоих случаях конфигуратор 211 приложений BCHA может представлять пользователю редактор циклов для генерирования конкретных элементов потока операций для исполнения. Однако, в одном сценарии конфигуратор 211 приложений BCHA может демонстрировать основные средства процесса отдельно и/или в сочетании со вторым сценарием, который включает в себя компоненты электростанции. В этом примере две модели реальных основных средств реализуются без архитектурных изменений в системе 200 BCHA. Система 200 BCHA и управляющий модуль 215 BCHA распределяют созданные элементы 270 потока операций BCHA, не зная базовых конкретных единиц/представлений. Новые конкретные модели являются просто новыми входными данными для конфигураторов приложений BCHA и новых приложений 268 BCHA в системе, обеспеченной пусконаладочным модулем 210 BCHA, и в связи с этим предпочтительно, чтобы система 200 BCHA могла обеспечивать новые модели данных, функциональные средства и/или функциональные особенности без необходимости архитектурного изменения(ий) системы BCHA.
[0124]
Назначение элементов 270 потока операций BCHA приложению 268 BCHA абстрагируется на основании атрибутов системы 200 BCHA, включающих в себя характеристики и возможности. Однако системе 200 BCHA требуется информация о том, какое приложение 268 BCHA может обработать элемент 270 потока операций BCHA, а также другая информация, которая обосновывает выделение ресурсов. Модели абстракции элементов 270 потока операций BCHA содержат в себе информацию о метаданных, которая характеризует элемент 270 потока операций и его предполагаемое использование, не вдаваясь в детали, соотнесенные с конкретной моделью. Приложения 268 BCHA тоже публикуют метаданные, описывающие, какие возможности они предоставляют, работая в модуле 230 служб данных BCHA. Метаданные не являются фиксированными и могут расширяться по мере развития системы 200 BCHA. Метаданные, содержащиеся в элементах 270 потока операций BCHA, также могут обновляться, пополняться, дополняться или иным образом изменяться в течение некоторого времени. Старый элемент 270 потока операций BCHA может иметь меньше информации метаданных, чем более новый элемент 270 потока операций BCHA. Система 200 BCHA и управляющий модуль 215 BCHA будут использовать ровно столько информации, сколько имеется, чтобы определить назначение и повторное развертывание во время события балансировки нагрузки. Аналогично, новый элемент 270 потока операций BCHA может содержать дополнительную информацию метаданных, которая не известна системе 200 BCHA. Опять же, система 200 BCHA будет использовать столько метаданных, сколько доступно и известно, для определения назначения. Во всех случаях приложение 268 BCHA может отклонить назначение/повторное развертывание, требуя от системы 200 BCHA назначить элемент 270 потока операций BCHA другому приложению 268 BCHA целевого объекта повторного развертывания. Согласование, администрирование и повторное развертывание элементов потока операций обсуждаются более подробно со ссылкой на Фиг. 4A1 и 4A2.
[0125]
Компоненты системы BCHA идентифицируют перспективную возможность балансировки нагрузки, а также исполняют событие балансировки нагрузки ЭПО посредством перераспределения компонентов BCHA как элементов перераспределения. В зависимости от конкретной реализации тип достигнутой балансировки нагрузки может быть установлен системным оператором, и несколько типов балансировки нагрузки возможны с использованием описанных систем (например, рабочее состояние, обнаружение отказа балансировки нагрузки активной системы и т.д.). Кроме того, возможна реализация модели оптимизации, которая оптимизирует балансировку нагрузки системы в соответствии с более чем одним типом балансировки нагрузки. Однако в целях иллюстрации гибкости и преимуществ, достигаемых за счет реализации управляющего модуля 215 BCHA, следующие примеры могут изначально фокусироваться на событиях балансировки нагрузки для достижения поддержания необходимого уровня 'доступности' и/или распределения элементов перераспределения (например, приложений 268/элементов 270 потока операций BCHA), чтобы максимизировать доступность системы и/или широко распределить исполнение элементов потока операций/нагрузку на обрабатывающее устройство по вычислительным ресурсам 240/250, соотнесенным с системой 200 BCHA. Управляющий модуль 215 BCHA также может успешно выполнять балансировку нагрузки посредством временной приостановки некритических приложений 268/элементов 270 потока операций BCHA. В некоторых случаях некритические приложения 268/элементы 270 потока операций BCHA могут быть приостановлены на неопределенное время или до тех пор, пока дополнительный ресурс не будет предоставлен системе 200 BCHA.
[0126]
Управляющий модуль 215 BCHA/администратор 221 пула ЭПО BCHA задействует метаданные элемента потока операций для обеспечения перераспределения ЭПО. Элемент 270 потока операций BCHA будет содержать в себе переменное количество информации, в том числе рабочие данные, метаданные конфигурации (как абстрактная модель, рассмотренная выше со ссылкой на Фиг. 3E). Как минимум, метаданные задают тип приложения BCHA и характеристики производительности. Они могут также включать в себя другие возможности или характеристики, такие как приоритет ЭПО; возможность прерывания/приостановки или другие аспекты оперативного исполнения ЭПО.
[0127]
Хотя в следующем примере управляющий модуль 215 BCHA/администратор 221 пула ЭПО BCHA перераспределяет элементы 270 потока операций BCHA на основании согласованности с типом приложения 268 BCHA, которое может исполнять элементы 270 потока операций BCHA, и доступности перераспределения вычислительных ресурсов системы, вторичный показатель перераспределения подразумевает широкое распределение нагрузки обработки по вычислительным ресурсам 240/250 BCHA. Показатели перераспределения и/или характеристики производительности элемента 270 потока операций не являются статичными. Начальная конфигурация, установленная пусконаладочным модулем 210 BCHA, исполнит начальное распределение и сгенерирует оценки для характеристик загрузки элемента 270 потока операций BCHA. Поскольку приложение 268 BCHA исполняет элемент 270 потока операций BCHA, оно может генерировать и отслеживать рабочие показатели, такие как фактические характеристики загрузки. Эти рабочие показатели (и лежащие в их основе данные/статистика) поддерживаются в модуле 230 служб данных BCHA и могут нести больше информации, чем было изначально сгенерировано пусконаладочными модулями 210 BCHA. Уточнения в среде выполнения для характеристик производительности будут записаны обратно в элемент 270 потока операций BCHA. Уточненная информация будет использоваться системой 200 BCHA, когда элемент 270 потока операций BCHA 270 перераспределяется в другое приложение 268 BCHA, а также пусконаладочным модулем 210 BCHA, управляющим модулем 215 BCHA и/или связанными управляющими приложениями BCHA для планирования, регулирования ресурсов и перераспределения компонентов BCHA.
[0128]
Характеристики загрузки строго определены для приложения 268 BCHA, которое назначено для обработки элемента 270 потока операций BCHA. Загрузка является представлением вычислительных ресурсов, которые элемент 270 потока операций BCHA расходует в приложении(ях) 268 BCHA, и будет описываться как единица исполнения. Загрузка приложения 268 BCHA используется администратором приложений BCHA для создания новых экземпляров приложений BCHA для балансировки нагрузки и, что более важно, поддержания требуемого уровня доступности системы 200 BCHA. Характеристики в элементе потока операций BCHA будут распределены по категориям "должно быть" и "желательно". Система 200 BCHA должна согласовать все характеристики "должно быть" перед тем, как производить перераспределение/назначение. Характеристики "желательно" будут согласованы, если это возможно. Однако, другие ограничивающие факторы, такие как нехватка доступных ресурсов, могут привести к назначениям, которые не согласуются с характеристиками "желательно".
[0129]
Правила для назначения будут развиваться вместе с системой 200 BCHA. Начальные правила могут учитывать только согласование с типам приложений BCHA и общую загрузку единицы исполнения. Однако в будущем могут применяться такие правила, как многоядерная архитектура, тип основного средства, тип платформы и другие. Эти правила назначения могут расширяться конфигураторами приложений BCHA по мере генерирования и/или обновления элементов потока операций BCHA. Как уже отмечалось, назначение элемента потока операций BCHA может не завершиться успешно, если метаданные либо отсутствуют, либо если метаданных больше, чем может быть воспринято. В этих случаях могут происходить недостаточно оптимальные назначения, но отказов системы не будет. Новые правила будут следовать парадигме обязательных и второстепенных. Следует отметить, что если обязательное правило не известно безграничной системе, назначение все равно будет выполнено с ожиданием того, что экземпляры среды выполнения приложения BC отклонят назначение, если оно неподходящее. Приложение 268 BCHA должно быть согласовано с конфигуратором и принимать к сведению последние характеристики, заданные конфигуратором.
[0130]
Планирование ресурсов связано, но полностью отделено от элементов потока операций BCHA и от назначений элементов потока операций BCHA. Службы системы 200 BCHA по назначению элементов потока операций BCHA просто назначает элементы 270 потока операций BCHA на доступные вычислительные ресурсы 240/250 BCHA. Если ресурсов недостаточно, то ошибки будут генерироваться и устраняться модулем 221 администратора пула ЭПО BCHA. Другим управляющим приложением системы BCHA является модуль 213 планировщика приложений BCHA. При посредстве модуля планировщика приложений, приложения 268 BCHA, а также базовые службы и приложения BCHA, намечаются для развертывания на вычислительных ресурсах 240/250 BCHA. Выходные данные от модуля 213 планировщика приложений BCHA используются службами выделения ресурсов для настройки ресурсов для системы 200 BCHA (рассмотрено на Фиг. 3A). Планировщик 213 приложений BCHA может использовать информацию в элементах 270 потока операций BCHA как основание для планирования. Характеристики функционала в элементах 270 потока операций BCHA могут использоваться планировщиком 213 приложений BCHA при вычислении рекомендуемых конфигураций системы 200 BCHA, количества приложений 268 BCHA и вычислительных ресурсов 240/250 BCHA, необходимых для достижения требуемой доступности для конкретного промышленного исполнительного процесса. Аналогично, управляющий модуль 215 BCHA и модуль 221 администратора пула элементов потока операций BC могут предоставлять системные уведомления о том, что доступных ресурсов недостаточно. Аналогично, может создаваться дополнительная нагрузка системы, поскольку конфигураторы 211 приложений BCHA генерируют дополнительные элементы 270 потока операций BCHA для исполнения. Пользователи могут взаимодействовать с планировщиком 213 приложений BCHA/ пусконаладочным модулем 210 системы BCHA, чтобы предоставить дополнительный вычислительный ресурс 240/250 BCHA.
[0131]
Элементы потока операций BCHA предоставляют большую степень детализации определений потока операций, чем классическая конфигурация, которая развернута на строго определенном блоке управления PLC или DCS. Одним из преимуществ большей степени детализации является автоматическая балансировка нагрузки управляющим модулем 215 BCHA/модулем 221 администратора пула ЭПО BCHA в системе 200 BCHA. Вместо того, чтобы требовать от пользователя вычислять загрузку системы и назначать приложения 268 BCHA на разные вычислительные ресурсы 240/250 BCHA, система 200 BCHA может непрерывно контролировать и регулировать нагрузку, возложенную на вычислительные ресурсы 240/250 BCHA. Балансировка нагрузки первоначально реализует предварительные правила, такие как поддержание равномерной нагрузки элементов 270 потока операций BCHA на всех вычислительных ресурсах 240/250 BCHA. Однако балансировка нагрузки может быть расширена для введения более сложных правил, таких как перемещение работы на ресурсы с низким энергопотреблением, что позволяет более выгодно использовать систему 200 BCHA.
[0132]
Степень детализации также позволяет перераспределять работу, выполняемую в данном приложении 268 BCHA, среди других приложений 268 BCHA в случае отказа вычислительных ресурсов 240/250 BCHA (рассмотрено ниже на Фиг. 5А, 5B1 и 5B2). Вместо того чтобы перемещать всю работу на приложения BCHA в запасных вычислительных ресурсах 240/250 BCHA, работа может быть разделена между любыми приложениями BCHA, соотнесенными с остальными активными вычислительными ресурсами 240/250 BCHA, соотнесенными с действующей конфигурацией M:N. Такое администрирование элементов потока операций BCHA реализует модели резервирования действующей конфигурации M:N. В некоторых случаях может быть реализована модель резервирования действующей конфигурации M:N+R, где должны быть затребованы и предоставлены один или несколько дополнительных вычислительных ресурсов 240/250 BCHA, чтобы дополнить существующие вычислительные ресурсы 240/250 BCHA и предоставить целевой объект перераспределения для конкретного элемента перераспределения. Из соображений производительности может потребоваться, чтобы приложения 268 BCHA имели предварительно загруженные данные конфигурации для элементов 270 потока операций BCHA, которые могут быть запрошены для исполнения, но в настоящее время не исполняются. Это позволяет быстрее произвести аварийное переключение в форме переназначения элемента(ов) потока операций BCHA, и потребует от нового приложения 268 BCHA загрузить последние данные состояния, а не полную конфигурацию для элемента потока операций BC.
[0133]
Фиг. 3F1 иллюстрирует аспекты того, как атрибуты, возможности и характеристики архитектуры высокой доступности с безграничным управлением (BCHA) администрируются и координируются с использованием модуля 230 служб данных BCHA. Каждый компонент BCHA, соотнесенный с архитектурой системы BCHA, имеет атрибуты системы BCHA, которые включают в себя возможности и характеристики компонента BCHA, которые сохраняются в модуле 230 служб данных HA, когда создается экземпляр/производится регистрация каждого из компонентов в ходе процесса разработки системы BCHA. Фиг. 3F1 иллюстрирует иерархическую взаимозависимость многоуровневых элементов, соотнесенных с компонентом системы BCHA. В частности, как показано на Фиг. 3F, каждый уровень, а именно, уровень 376 элемента потока операций приложения BCHA, уровень 377 приложения BCHA, уровень 378 управляющего приложения BCHA, уровень 379 контейнера/ресурса BCHA и уровень 380 вычислительного ресурса BCHA, соответственно, вносит атрибуты системы BCHA для компонента системы BCHA в качестве возможности/характеристики. Атрибуты системы BCHA, в конечном счете, принимаются во внимание при администрировании системы BCHA управляющим модулем BCHA и/или при повторном развертывании элемента перераспределения BCHA.
[0134]
Управляющие приложения 205 системы BCHA, такие как управляющий модуль BCHA и/или модуль механизма надежности BCHA, используют эти требования для определения потребностей системы в вычислительных ресурсах 240/250 BCHA, чтобы обеспечить балансировку нагрузки. Управляющий модуль 215 BCHA может использовать атрибуты системы BCHA, чтобы идентифицировать, какие вычислительные ресурсы 240/250 BCHA подходят для данного применения, основываясь на предварительно определенных характеристиках приложения (например, метаданных приложения). Модуль 220 механизма надежности BCHA может использовать характеристики приложения BCHA, чтобы администрировать правила предоставления. Модуль 220 механизма надежности BCHA также может вычислять показатели доступности системы для системы 200 BCHA. Этот алгоритм для вычисления показателей доступности системы 200 BCHA в реальном времени максимизируют потенциальную возможность для пользователей системы получить наилучшую потенциальную возможность отреагировать до негативного воздействия (например, предоставить дополнительные требуемые ресурсы, прежде чем система безопасности отключит систему BCHA). В некоторых вариантах осуществления фактическая доступность системы основывается на текущем доступном вычислительном ресурсе 240/250 BCHA и активных/неактивных приложениях 268 BCHA, количестве вышедших из строя ресурсов, количестве запущенных приложений 268 BCHA, приложениях и их приоритете/критичности, количестве неактивных приложений и их критичности, количестве дополнительных ресурсов, которые должны быть предоставлены для запуска каждого требуемого приложения, и/или тому подобном. Системы BCHA обеспечивают значительную гибкость в реализациях систем и должны быть выполнены с возможностью достижения описанных преимуществ, предусматривая администрирование системы BCHA во множестве различных реализаций/конфигураций. В следующей последовательности чертежей и соответствующем описании будет более подробно рассматриваться, как обеспечиваются эти функциональные средства и функциональные особенности и, соответственно, рассматриваться, как достигаются также и повышение продуктивности и эффективности системы.
[0135]
Фиг. 4 иллюстрирует аспекты того, как исполняется приложение(я) высокой доступности с безграничным управлением (BCHA). На Фиг. 4 приложение 268 BCHA исполняется как App_1 450 на вычислительном ресурсе 240/250 BCHA. Зарегистрированные возможности/характеристики вычислительного ресурса 240/250 BCHA обновляются службой 230 данных BCHA по мере обнаружения каких-либо изменений в управляющем контуре, контролирующем данные вычислительного ресурса 240/250 BCHA. App_1 450 соединяется со службой данных BCHA на этапе 451, обновляет возможности/ характеристики приложения BCHA на этапе 452 (при необходимости) и получает те или иные назначенные элементы 270 потока операций BCHA на этапе 453.
[0136]
При исполнении назначенного элемента 270 потока операций BCHA, App 1 обновляет рабочее состояние на этапе 455, обрабатывает элемент 1_1 потока операций, на этапе 456, обновляет возможности/характеристики элемента потока операций на этапе 457 (при необходимости). Этапы исполнения элемента потока операций BCHA 458, обновления рабочего состояния 459, обновление записи данных ЭПО в модуле 220 служб данных BCHA и цикл до завершения этапа 461 иллюстрируют пример элементов, соотнесенных с обработкой элемента потока операций приложения. Приложение BCHA периодически производит проверку, чтобы определить, имеет ли модуль 230 служб данных BCHA дополнительные элементы потока операций BCHA, которые должны быть назначены конкретному приложению BCHA, на этапе 462.
[0137]
Фиг. 5A иллюстрирует аспекты потенциальных возможностей балансировки нагрузки BCHA для системы BCHA. Одним из ключевых аспектов функциональных особенностей системы 200 BCHA является способность балансировки нагрузки элементов системы для достижения требований высокой доступности, соотнесенных с конкретным промышленным исполнительным процессом и связанных требований к приложению управления процессом. Динамическая балансировка нагрузки является главным функциональным средством, которое также обеспечивает формирование действующих конфигураций M:N, допустимых и жизнеспособных для систем 200 BCHA, причем резервирование и высокая доступность являются ключевыми требованиями к системе 200 BCHA. Фиг. 5A иллюстрирует аспекты типов балансировки нагрузки, соотнесенных с системой 200 BCHA, таких как балансировка нагрузки/перераспределение при обнаружении отказа ресурса и проверочная балансировка нагрузки HA-M:N. Следует понимать, что другие типы балансировки нагрузки также возможны, в зависимости от характера конкретной реализации и компонентов, характеристик и/или возможностей системы BCHA.
[0138]
На Фиг. 5A, конфигуратор 211 приложений BCHA предоставляет начальный пул элементов 270 потока операций BCHA для распределения при переходе системы в "рабочее" состояние, на этапе 500. Управляющие приложения 205 BCHA приводят в действие систему 200 BCHA, на этапе 503. Модуль администратора пула ЭПО BCHA распределяет элементы 270 потока операций BCHA подходящим приложениям 268 BCHA/вычислительным ресурсам 240/250 BCHA. На этапе 506 управляющий модуль 215 BCHA/механизм 220 надежности BCHA начинает контроль данных работоспособности/рабочего состояния, поддерживаемых в модуле 230 служб данных BCHA. Управляющий модуль 215 BCHA/модуль 220 механизма надежности BCHA контролируют работоспособность/рабочее состояние системы 200 BCHA, чтобы идентифицировать потенциальные возможности 509 балансировки нагрузки при обнаружении отказа ресурса, и выполняют цикл, проходящий через этап 511 и обратно к этапу 506, для непрерывного контроля, пока не будет обнаружен отказ. В зависимости от требований конкретной реализации и промышленного исполнительного процесса, частота выполнения цикла может быть отрегулирована согласно конкретной реализации, чтобы быть в пределах от постоянного цикла в качестве фонового рабочего потока, до 5 мс, 5 секунд, 5 минут каждые 5 часов, или иным образом регулируется на основании того, что может быть подходящим для конкретной реализации системы 200 BCHA.
[0139]
На этапе 509, если идентифицируется потенциальная возможность балансировки нагрузки при обнаружении отказа ресурса, потенциальная возможность балансировки нагрузки при обнаружении отказа ресурса инициируется на этапе 513 и будет определять следующие этапы/временную шкалу для действия системы BCHA. На этапе 515 балансировка нагрузки при обнаружении отказа ресурса системы 200 BCHA и управляющего модуля BCHA определяет, какие компоненты системы BCHA должны быть перераспределены как элементы перераспределения, на основании чего вычислительный ресурс 240/250 BCHA вышел из строя. Управляющий модуль 215 BCHA определяет тип перераспределения на этапе 517, определяя пул перераспределения на этапе 518 и строго определенный целевой объект перераспределения на этапе 519. На этапе 521 управляющий модуль 215 BCHA исполняет перераспределение, перенося элементы перераспределения в целевые объекты перераспределения. Управляющий модуль 215 BCHA пытается поддерживать (1) жизнеспособность системы; и (1A) эксплуатационные характеристики высокой доступности системы, и, следовательно, жизнеспособную действующую конфигурацию M:N. Когда речь идет о перераспределении при обнаружении отказа ресурса, система BCHA оказывается перед необходимостью поддерживать (1) жизнеспособность системы и (1A) эксплуатационные характеристики высокой доступности системы, несмотря на фактический отказ вычислительного ресурса 240/250.
[0140]
Управляющий модуль 215 BCHA запускает фоновую задачу, которая итеративно моделирует отказы вычислительных ресурсов 240/250 системы 200 BCHA для проверки требований высокой доступности системы BCHA и жизнеспособной действующей конфигурации M:N, например, проверочную балансировку нагрузки HA-M:N на этапе 523. Управляющий модуль 215 BCHA итеративно выполняет цикл и моделирует соответственный вычислительный ресурс(ы) 240/250, соотнесенный с отказом и повторным развертыванием системы BCHA, в соответствии с перераспределением при обнаружении отказа ресурса, на этапе 525. После перераспределения при обнаружении отказа ресурса управляющий модуль 215 BCHA определяет рабочее состояние исправления на этапе 527. Если по результатам моделирования каждого вычислительного ресурса 240/250 перераспределение при обнаружении отказа ресурса дает все повторные развертывания в зеленом состоянии, система BCHA безусловно является жизнеспособной действующей конфигурацией M:N. Если по результатам каждого смоделированного перераспределения при обнаружении отказа ресурса имеется не-зеленое состояние, то система 200 BCHA является действующей конфигурацией M:N+R, и дополнительный вычислительный ресурс необходим для поддержания требований высокой доступности системы 200 BCHA и переводит систему BCHA к жизнеспособной действующей конфигурации M:N. Перераспределение при обнаружении отказа ресурса и активная балансировка нагрузки/моделирование описаны более подробно со ссылкой на Фиг. 5B1-5B2 и 5C, соответственно.
[0141]
Фиг. 5B1 иллюстрирует аспекты потенциальных возможностей балансировки нагрузки BCHA, соотнесенных с обнаружением отказа/исправлением для системы BCHA. В случае отказа вычислительного ресурса 240/250 BCHA система 200 BCHA исполняет перераспределение балансировки нагрузки при отказе ресурса и работает над поддержанием (1) жизнеспособности системы, (1А) жизнеспособных действующих конфигураций M:N, а также (1B) эксплуатационных характеристик высокой доступности системы. В зависимости от конкретного промышленного исполнительного процесса и приложения, система 200 BCHA может быть выполнена с возможностью фокусирования прежде всего на 1 и 1 А, тогда как 1B может не быть столь же критичным по отношению к эксплуатационным требованиям. Система 200 BCHA может быть предварительно сконфигурированной эффективно работающей действующей конфигурацией M:N+R с элементами быстрого и эффективного запроса, приема, предоставления и перераспределения перехода для дополняющих ресурсов. В некоторых реализациях система 200 BCHA может выполнять автоматическое исправление, работая с поставщиком вычислительных ресурсов BCHA для получения предварительно сконфигурированных вычислительных ресурсов 240/250 BCHA без генерирования запроса на дополнительный ресурс. Действующие конфигурации системы BCHA, как M:N, так и M:N+R, достигают преимущества в результате устранения всех дополнительных затрат/расходов на действующие конфигурации с аппаратным резервированием 1:1 на физическом уровне. При этом оба варианта также достигают лучшей эксплуатационной эффективности и лучших характеристик использования ресурсов, по сравнению с действующими конфигурациями с аппаратным резервированием 1:1 на физическом уровне.
[0142]
На Фиг. 5B1, этап 531, блок 215 управления BCHA/механизм 220 надежности BCHA, осуществляющий контроль за модулем 230 служб данных BCHA, обнаруживает отказ вычислительного ресурса 240/250 BCHA. На этапе 533, после обнаружения отказа, блок 215 управления BCHA определяет, какие компоненты системы BCHA исполнялись на вышедшем из строя вычислительном ресурсе 240/250 BCHA и должны быть перераспределены в качестве элементов перераспределения (например, приложения 268 BCHA и/или элементы 270 потока операций BCHA, исполняющиеся на вышедшем из строя вычислительном ресурсе 240/250 BCHA). После того, как определены элементы перераспределения, анализируются характеристики/возможности, соотнесенные как с вышедшими из строя вычислительными ресурсами 240/250 BCHA, так и с элементами перераспределения, в дополнение к текущей настройке типа перераспределения, на этапе 535. Возможно множество типов перераспределения, в том числе самое быстрое перераспределение, сбалансированное перераспределение, оптимальное перераспределение, повторное развертывание критических элементов перераспределения или максимальное использование существующих ресурсов (когда дополняющие/дополнительные вычислительные ресурсы 240/250 BCHA могут быть недостаточными и/или трудными для предоставления). Эти типы перераспределения предоставляются в качестве неограничивающих примеров, возможны и другие типы, в зависимости от конкретной реализации системы BCHA, соответствующего промышленного исполнительного процесса и/или другой конфигурации или эксплуатационных характеристик/возможностей. На этапе 538 управляющий модуль 215 BCHA начинает определять пул целевых объектов перераспределения (на основании определения и анализа на этапах 533 и 535), идентифицируя возможные целевые объекты перераспределения (например, приложения 268 BCHA и/или вычислительные ресурсы 240/250 BCHA), который потенциально могут использоваться для повторного развертывания элементов перераспределения.
[0143]
Чтобы максимизировать правдоподобие пула целевых объектов перераспределения жизнеспособных существующих ресурсов, методология согласования согласованностей фокусируется на двух группах параметров, соотнесенных с возможностями и характеристиками компонентов системы BCHA: (1) требования повторного развертывания BCHA (например, требование высокой доступности; конкретный тип ввода/вывода; нагрузка обработки единицы исполнения); и (2) предпочтения повторного развертывания BCHA (например, исполнение почти в реальном времени, и т.д.). Обычно имеется два возможных типа пулов целевых объектов перераспределения: (1) пул целевых объектов, использующий только существующие ресурсы (например, действующая конфигурация M:N), когда все требования повторного развертывания BCHA удовлетворяются и выбирается вариант повторного развертывания, который максимизирует количество удовлетворяющих предпочтений повторного развертывания BCHA; или (2) пул целевых объектов, использующий существующие ресурсы и дополняющие запрошенные ресурсы (например, M:N+1 или M:N+R). На Фиг. 5B1 этап 539 предполагает определение наилучшего возможного решения в виде пула целевых объектов перераспределения, созданного из существующих компонентов системы BCHA, с несколькими вариантами для различных целевых объектов повторного развертывания элемента перераспределения. Разновидностью этого варианта является сценарий идеального соответствия, в котором есть, по меньшей мере, один существующий целевой объект(ы) BCHA, который обеспечивает единственный вариант повторного развертывания, отвечающий всем требованиям повторного развертывания BCHA. На этапе 539 управляющий модуль BCHA определяет, есть ли доступный вариант повторного развертывания на непосредственном целевом объекте. Если имеется более одного варианта потенциальных целевых объектов перераспределения, как определено на этапе 541, управляющий модуль 215 BCHA анализирует требования повторного развертывания BCHA и предпочтения повторного развертывания BCHA, чтобы идентифицировать вариант, который соблюдает требования к типу перераспределения (например, тип самого быстрого аварийного переключения является первым идентифицируемым вариантом перераспределения, даже если может существовать другой; оптимальным является вариант перераспределения, который удовлетворяет большинству требований/предпочтений повторного развертывания), и выбирает целевой объект перераспределения на этапе 543. На этапе 544 элементы перераспределения переводятся в целевые объекты перераспределения и становятся активными на этапе 544. В некоторых реализациях элементы перераспределения обращаются к модулю 230 служб данных BCHA и получают рабочие/ конфигурационные данные, соотнесенные с развертыванием в момент (или прямо перед ним) отказа вычислительного ресурса BCHA. Соответственно, элементы перераспределения могут эффективно перехватываться с того места, где они остановились, с минимальной потерей времени/данных.
[0144]
Если нет доступного непосредственного целевого объекта на этапе 539, на этапе 545 управляющий модуль 215 BCHA может исполнить моделируемое перераспределение нагрузки действующей конфигурации, чтобы определить, создает ли перемещение активных приложений 268 BCHA/элементов 270 потока операций BCHA доступный целевой объект для элемента перераспределения, без остановки компонентов BCHA или запроса дополняющих вычислительных ресурсов 240/250 BCHA. Если моделируемое перераспределение нагрузки действующей конфигурации создает целевой объект перераспределения, управляющий модуль BCHA перераспределяет активные приложения 268 BCHA/элементы 270 потока операций BCHA, чтобы создать целевой объект на этапе 542 и выбрать целевой объект на этапе 543. На этапе 544 элементы перераспределения распределяются в целевой объект перераспределения и становятся активными.
[0145]
Если моделируемое перераспределение нагрузки действующей конфигурации на этапе 545 не создает доступный целевой объект перераспределения, управляющий модуль 215 BCHA пытается остановить некритические (и/или некоторые реализации с низким приоритетом) компоненты, чтобы попробовать создать доступный целевой объект перераспределения на этапе 547. Если остановка некритического вычислительного ресурса 240/250 BCHA создает доступный целевой объект перераспределения, управляющий модуль 215 BCHA определяет, разрешена ли ухудшенная некритическая обработка с разделением времени, на этапе 548, и если это так, перемещает некритический компонент(ы) BCHA в очередь с разделением по времени, где каждый член очереди представляет собой часть выделенного ресурса исполнения обработки (если и когда дополнительный ресурс обработки предоставлен) на этапе 549. Например, если в очереди находятся два некритических приложения, каждое получит нормальный ресурс исполнения обработки. Очередь также может изменить баланс на основании приоритета приложения BCHA, например, если App_1 может получить 75% ресурса исполнения обработки, поскольку оно имеет более высокий приоритет, чем App 2, которое получает только 25% ресурса исполнения обработки. Управляющий модуль 215 BCHA останавливает некритический компонент(ы) BCHA на этапе 550 и создает пул целевых объектов на этапе 552. На этапе 544 элементы перераспределения распределяются в целевой объект перераспределения и становятся активными. Если остановка некритического компонента(ов) не создала доступный целевой объект перераспределения, управляющий модуль 215 BCHA пытается создать доступный целевой объект перераспределения, останавливая также и критические компоненты BCHA на этапе 551, чтобы попробовать создать доступный целевой объект перераспределения. Если остановка критических компонентов BCHA на этапе 551 создает доступный целевой объект перераспределения, управляющий модуль BCHA останавливает, по меньшей мере, один критический компонент BCHA и один или несколько некритических компонентов на этапах 552 и 550, соответственно, чтобы создать пул целевых объектов перераспределения на этапе 542 и выбрать целевой объект перераспределения на этапе 543. На этапе 544 элементы перераспределения распределяются в целевые объекты перераспределения и становятся активными.
[0146]
На этой стадии, после проведения моделируемого перераспределения нагрузки действующей конфигурации, испытания некритических компонентов и испытания критических компонентов (отдельно взятых или в сочетании с некритическими компонентами) управляющий модуль 215 BCHA может запросить (или автоматически исправить) дополняющие вычислительные ресурсы 240/250 BCHA на этапе 553 и выполнить предоставление дополняющих вычислительных ресурсов 240/250 BCHA на этапе 554. После проведения каждого из предыдущих испытаний, управляющий модуль BCHA может идентифицировать, какая попытка была наиболее близкой к фактическому созданию целевого объекта перераспределения доступности и установить тип, объем, возможности/характеристики, соотнесенные с запрашиваемым дополняющим вычислительным ресурсом BCHA, чтобы минимизировать стоимость или время предоставления или количество параметров вычислительного ресурса BCHA. В некоторых реализациях конфигурация дополняющего вычислительного ресурса BCHA может быть основана на определении управляющим модулем BCHA того, что было бы необходимо для предоставления, чтобы гарантировать устойчивую к сбоям действующую конфигурацию M:N. С использованием предоставленного дополняющего вычислительного ресурса 240/250 BCHA управляющий модуль BCHA может создать пул целевых объектов перераспределения на этапе 442 и выбрать целевой объект перераспределения на этапе 543. На этапе 544 элементы перераспределения распределяются в целевой объект перераспределения и становятся активными.
[0147]
Фиг. 5B2 иллюстрирует аспекты рабочего состояния восстановления системы BCHA, соотнесенного с потенциальными возможностями балансировки нагрузки при обнаружении отказа/исправлении для системы BCHA. На Фиг. 5B2, на этапе 560, после того, как система 200 BCHA обеспечивает перераспределение/ повторное развертывание для поддержания жизнеспособности системы в качестве основной задачи системы 200 BCHA, на этапе 560 управляющий модуль 215 BCHA/механизм 220 надежности BCHA производит проверку рабочего состояния BCHA, чтобы попробовать соблюсти требование задачи 1A системы BCHA, соблюдение требований высокой доступности системы BCHA. На этапе 563 модуль 220 механизма надежности BCHA производит проверку рабочих показателей/данных состояния в модуле 230 служб данных BCHA и подтверждает, что было достигнуто исправление зеленого состояния. Конкретнее, в элементе 565 диаграммы состояний, все приложения 268 BCHA и элементы 270 потока операций BCHA были повторно развернуты и полностью функциональны со всеми требованиями высокой доступности системы BCHA. Если достигается исправление зеленого состояния, управляющий модуль 215 BCHA переходит обратно к периодическому/непрерывному контролю работоспособности/рабочего состояния системы BCHA, на этапе 568.
[0148]
На этапе 563, если управляющий модуль 215 BCHA определяет, что исправление зеленого состояния не было достигнуто, блок управления будет разрабатывать и исполнять план восстановления системы BCHA на этапе 571. На Фиг. 5B2 первым аспектом разработки плана восстановления системы BCHA является определение того, какое не-зеленое состояние соотносится с рабочим состоянием системы 200 BCHA. Если в результате перераспределения при обнаружении отказа управляющий модуль 215 BCHA смог сохранить функционирование системы, но был вынужден приостановить критическое приложение 268 BCHA, чтобы сохранять функционирование критического приложения 268 BCHA с более высоким приоритетом, система 200 BCHA считается находящейся в красном рабочем состоянии, как в элементе 573 диаграммы состояний. Если управляющий модуль 215 BCHA смог сохранить функционирование системы, но был вынужден приостановить одно или несколько некритических приложений 268 BCHA, система 200 BCHA считается находящейся в оранжевом рабочем состоянии, как в элементе 575 диаграммы состояний. Третьим не-зеленым рабочим состоянием является желтое состояние (элемент 577 диаграммы состояний), в котором все элементы перераспределения были успешно повторно развернуты, но система 200 BCHA имеет одно или несколько приложений 268 BCHA, которые не удовлетворяют требованиям высокой доступности системы 200 BCHA.
[0149]
В некоторых реализациях приостановленные некритические приложения могут поддерживаться в активном, но ухудшенном рабочем состоянии. Конкретнее, приостановленные некритические приложения могут быть добавлены в очередь ухудшенной прогрессии, и управляющий модуль 215 BCHA может последовательно выполнять итерацию по приостановленным приложениям, чтобы предоставлять частичные ресурсы обработки/вычисления для некоторых аспектов элементов перераспределения, чтобы сохранять систему работоспособной, пока не сможет быть предоставлен дополнительный ресурс. Управляющий модуль 215 BCHA последовательно выполняет итерацию очереди ухудшенных приложений 268/элементов 270 потока операций и систематически предоставляет, по меньшей мере, часть требуемых единиц исполнения запрошенных вычислительных ресурсов элемента перераспределения.
[0150]
Во всех красных и оранжевых рабочих состояниях управляющий модуль BCHA 215 может определять, сколько и какого типа дополняющих вычислительных ресурсов BCHA потребуется для перехода системы 200 BCHA обратно в полноценное зеленое рабочее состояние (565). Система BCHA также может определить и сообщить, можно ли добиться времени ремонта, то есть времени для перехода обратно в зеленое рабочее состояние (565), до того момента, когда система безопасности промышленного исполнительного процесса перейдет к отключению промышленного исполнительного процесса, чтобы избежать небезопасных условий/работы. В зависимости от конкретной реализации, а также текущих эксплуатационных характеристик, определяемого рабочего состояния и доступности дополняющих вычислительных ресурсов 240/250 BCHA, переход обратно в зеленое состояние может быть полноценным, прямым переходом от красного, оранжевого к зеленому, или это может быть постепенный переход обратно в зеленое состояние (любой из путей будет иметь время ремонта, которое меньше времени отключения промышленного исполнительного процесса системой безопасности).
[0151]
Рабочие состояния, рассматриваемые на Фиг. 5B2 как зеленое, желтое, оранжевое и красное рабочие состояния, предоставляются, чтобы помочь проиллюстрировать аспекты того, как система 200 BCHA может динамически администрировать и координировать различные компоненты системы BCHA, в том числе вычислительные ресурсы 240/250 BCHA, приложения 268 BCHA и элементы потока операций BCHA, чтобы поддерживать одно или более из следующего: операционная целостность системы 200 BCHA, жизнеспособная действующая конфигурация M:N и работа в соответствии с требованиями высокой доступности системы 200 BCHA/приложений BCHA. В зависимости от реализации могут быть реализованы разные названия функциональных рабочих состояний, эксплуатационные характеристики и даже количество рабочих состояний. Например, зеленый может быть переименован как "жизнеспособное рабочее состояние MNHA" и сокращен как "MNOK_HAOK", желтый может быть переименован как "жизнеспособное рабочее состояние MN" и сокращен как "MNOK_HADG", оранжевый может быть переименован как "ухудшенное рабочее состояние MN" и сокращен как "MNDG_HACRT", а красный может быть переименован как "рабочее состояние критических систем" и сокращен как "CS" или "MNCRT_HACRT". Вместо того чтобы предусматривать рабочие состояния как M:N, так и HA, также возможно подмножество, сфокусированное на одном рабочем параметре BCHA. Например, система BCHA, сформирована с тремя рабочими состояниями (или подсостояниями), сфокусированная на одном рабочем параметре BCHA, возможна в форме "жизнеспособный HA" или "жизнеспособный MN"; "ухудшенный HA" или "ухудшенный MN"; "критический HA" или "критический M:N". Другие рабочие параметры BCHA также могут использоваться для разработки элементов управления состоянием (например, распределение нагрузки исполнения элемента потока операций как "тяжелое", "среднее" и/или "легкое"). В качестве другого примера, система 200 BCHA может быть сформирована с двойными рабочими состояниями, когда система является или "работоспособной или неработоспособной". Эти примеры предоставлены в качестве неограничивающих примеров, и система 200 BCHA может быть выполнена с возможностью обеспечения ряда других рабочих реализаций.
[0152]
Фиг. 5C иллюстрирует аспекты активной балансировки нагрузки/исправления системы BCHA, соотнесенной с проверкой M:N. Фиг. 5C иллюстрирует аспекты, соотнесенные с проверочной балансировкой нагрузки HA-M:N и проверкой/исправлением действующей группы M:N. Конкретнее, чтобы гарантировать жизнеспособную действующую конфигурацию M:N, которая имеет достаточную доступность исполнения запасных вычислительных ресурсов без фактического резервирования физических аппаратных средств 1:1, управляющий модуль 220 BCHA исполняет фоновые действия, предусматривающие проверочную балансировку нагрузки HA-M:N для обеспечения тестирования сценария проверки/исправления действующей группы M:N. Проверка/ исправление действующей группы M:N исполняется как вспомогательное приложение 268 BCHA для итеративного моделирования отказа вычислительного ресурса 240/250 BCHA, балансировки нагрузки при обнаружении отказа ресурса, а также последующего тестирования рабочего состояния, чтобы определить, имеет ли действующая конфигурация M:N, в случае отказа вычислительного ресурса 240/250 BCHA, достаточную доступность исполнения вычислительных ресурсов, чтобы обеспечить повторное развертывание, используя только существующие вычислительные ресурсы 240/250, и в то же время поддерживая эксплуатационные требования высокой доступности, соотнесенных с системой 200 BCHA. Проверочная балансировка нагрузки HA-M:N является гибким процессом моделирования и может проверять различные конфигурации системы BCHA. В примере, описанном на Фиг. 5C, управляющий модуль 215 BCHA разбивает на этапы и моделирует отказ 1-й степени, где отчет о проверке отражает совокупное состояние исправления, результаты моделирования отказа поочередно для каждого вычислительного ресурса 240/250 BCHA, соотнесенного с действующей конфигурацией M:N, например, система BCHA с пятью вычислительными ресурсами 240/250 BCHA будет исполнять пять циклов моделирования, и в ходе каждого цикла моделирования будут выходить из строя разные вычислительные ресурсы 240/250 BCHA. Если каждый из пяти циклов моделирования имеет зеленое состояние исправления, действующая конфигурация M:N проверена. Если какой-либо из циклов моделирования дает в результате не-зеленое состояние исправления, может потребоваться дополнительная разработка действующей конфигурации M:N в форме действующей конфигурации M:N+R, т.е. может понадобиться дополняющий ресурс для достижения жизнеспособной действующей конфигурации M:N, которая исполняет с оптимизированной балансировкой запасных ресурсов исполнения, минимизируя при этом требования к дополнительным вычислительным ресурсам и по-прежнему полностью устраняя старые требования резервирования физических аппаратных средств 1:1.
[0153]
На Фиг. 5C управляющий модуль BCHA инициирует цикл исполнения проверочной балансировки нагрузки HA-M:N на этапе 575. В зависимости от реализации, соответствующего промышленного исполнительного процесса и других эксплуатационных характеристик, проверочная балансировка нагрузки HA-M:N может быть исполнена как непрерывный цикл, либо со статической или динамической частотой исполнения, промышленные исполнительные процессы, соотнесенные с системой оперативного управления нефтегазоперерабатывающим заводом, эксплуатационная могут предусматривать больше критичных по времени/уязвимых операций, чем промышленные исполнительные процессы, соотнесенные со станцией по очистке сточных вод или с другими менее критичными по времени/уязвимыми операциями. На этапе 577 блок 220 управления BCHA определяет степень проверки проверочной балансировки нагрузки HA-M:N, например, как моделирование отказа 1-й степени. В некоторых реализациях степень моделирования отказа может устанавливаться как системное значение по умолчанию и обновляться системным оператором по мере необходимости. Степень проверки задает количество отказов вычислительных ресурсов 240/250, которые блок 220 управления BCHA моделирует в ходе итерации (например, моделирования отказов 1-й степени проверяют действующую конфигурацию M:N, где выходит из строя один вычислительный ресурс 240/250, моделирования отказа 2-й степени проверяют варианты, когда выходят из строя два вычислительных ресурса 240/250, и т.д.). В примере на Фиг. 5C блок 220 управления BCHA работает в изолированном сегменте модуля 230 службы данных BCHA, который заполнен данными архитектуры, компонентов, рабочими данными системы 200 BCHA, соотнесенными с системой на тот момент, когда инициируется экземпляр проверочной балансировки нагрузки HA-M:N. На этапе 579 блок 220 управления BCHA моделирует отказ первого вычислительного ресурса 240/250, соотнесенного с системой 200 BCHA. На этапе 581 модуль 215 блока управления BCHA моделирует повторное развертывание ресурса при обнаружении отказа BCHA, как рассматривалось на Фиг. 5B1 и Фиг. 5B2. На этапе 583 модуль 215 блока управления BCHA определяет рабочее состояние исправления после того, как элементы перераспределения при отказе были повторно развернуты в целевых объектах перераспределения. Если рабочее состояние исправления представляет собой зеленое состояние на этапе 585, то действующая конфигурация M:N проверена на отказ соответственного вычислительного ресурса 240/250 BCHA. Однако, для устойчивой к сбоям жизнеспособной действующей конфигурации M:N, каждый вычислительный ресурс 240/250 BCHA, соотнесенный с системой 200 BCHA также должен иметь рабочее состояние исправления в зеленом состоянии. Соответственно, рабочее состояние исправления записывается для соответственного цикла проверки проверочной балансировки нагрузки HA-M:N на этапе 587, управляющий модуль 220 BCHA производит проверку, нужно ли моделировать отказы дополнительного вычислительного ресурса 240/250 BCHA для проверки, на этапе 589. На этапе 591 происходит приращение счетчика вычислительных ресурсов действующей конфигурации M:N, и моделирование инициирует следующий цикл, моделирующий отказ следующего вычислительного ресурса 240/250 BCHA в последовательности, возвращаясь к этапу 579.
[0154]
На Фиг. 5C, если определение рабочего состояния исправления на этапе 583 идентифицирует не-зеленое состояние, как на этапе 593, моделируемый отказ соответственного вычислительного ресурса 240/250 не соблюдает требования действующей конфигурации M:N. Система все еще может быть работоспособной, но в действующей конфигурации M:N+R, где дополняющий/дополнительный вычислительный ресурс 240/250 может понадобиться для перехода рабочего состояния исправления обратно в зеленое состояние и достижения жизнеспособной действующей конфигурации M:N. На основании возможностей/характеристик вышедшего из строя вычислительного ресурса 240/250, а также возможностей/характеристик элементов перераспределения, блок 220 управления BCHA может определить, какого типа/сколько дополняющих/дополнительных вычислительных ресурсов 240/250 может понадобиться для перевода от действующей конфигурации M:N+R к жизнеспособной действующей конфигурации M:N. В зависимости от конкретной конфигурации системы, требования перехода для действующей конфигурации M:N+R могут сообщаться по мере их обнаружения. В качестве альтернативы, как в примере, показанном на Фиг. 5C, требования перехода для действующей конфигурации M:N+R определяются на этапе 593 и записываются на этапе 587.
[0155]
Если все отказы были смоделированы для всех вычислительных ресурсов 240/250 действующих конфигураций BCHA на этапе 589, соотнесенных с системой 200 BCHA, этап 595 подразумевает разработку отчета о проверке действующей конфигурации M:N и подтверждение автоматического исполнения для системного запроса на дополняющий/дополнительный вычислительный ресурс 240/250 BCHA на основании требований перехода любой действующей конфигурации M:N+R, соотнесенных с исполняемой проверкой проверочной балансировки нагрузки HA-M:N. В некоторых реализациях отчет о проверке действующей конфигурации M:N может идентифицировать различные результаты проверки работоспособности, а также сгенерированные системой действия по исправлению для решения проблем, идентифицированных в ходе моделирования/проверки. Например, сгенерированные системой действия по исправлению могут включать в себя предлагаемый сгенерированный системой список дополняющих вычислительных ресурсов 240/250, которые должны быть запрошены, обеспечены и предоставлены для достижения жизнеспособной действующей конфигурации M:N для системы 200 BCHA. Отчет также может включать в себя подробные сведения о том, как отказ(ы) одного или нескольких строго определенных вычислительных ресурсов 240/250 учитывается в предлагаемом сгенерированном системой списке дополняющих вычислительных ресурсов.
[0156]
В одной из реализаций управляющий модуль 215 BCHA может включать в себя функциональное средство автоматического исправления, как на этапе 595. Конкретнее, управляющий модуль 215 BCHA может быть выполнен с возможностью соединения с предварительно одобренным поставщиком вычислительных ресурсов 240/250 BCHA (например, поставщиком публичных облачных услуг). После соединения с поставщиком управляющий модуль 215 BCHA может напрямую обращаться и запрашивать предоставление одного или нескольких предварительно сконфигурированных или специализированных вычислительных ресурсов 240/250 BCHA. Соответственно, управляющий модуль 215 BCHA может быстро, эффективно устранить определенную проблему посредством проверочной балансировки нагрузки HA-M:N, запроса, предоставления и повторного развертывания элемента перераспределения в дополняющих вычислительных ресурсах 240/250 BHCA. Управляющий модуль 215 BCHA может выбрать сравнение предварительно сконфигурированных вычислительных ресурсов 240/250 BCHA с запрошенными возможностями и характеристиками перераспределения для определения наилучшего соответствия предварительно сконфигурированных вычислительных ресурсов 240/250 BCHA. Управляющий модуль 215 BCHA может выбрать сравнение предварительно сконфигурированных вычислительных ресурсов 240/250 BCHA, которые имеют дополнительные возможности и характеристики по сравнению с идентифицированными для устранения проблем, идентифицированных в ходе определения рабочего состояния исправления. Управляющий модуль 215 BCHA может генерировать аналогичный запрос на специализированные вычислительные ресурсы 240/250 BHCA, а именно, запрашивая дополнительные возможности и характеристики специализированных вычислительных ресурсов 240/250 BHCA по сравнению с идентифицированными для устранения проблем, идентифицированных в ходе определения рабочего состояния исправления.
[0157]
С использованием дополнительных возможностей и характеристик управляющий модуль 215 BCHA может исполнить оптимальное перераспределение нагрузки для перемещения приложений среди доступных вычислительных ресурсов BCHA, чтобы минимизировать нагрузку обрабатывающего устройства, нагрузку единицы исполнения элемента потока операций BCHA, нагрузку приложений BCHA и/или комбинацию двух или более параметров минимизации (например, 1-й нагрузка единицы исполнения элемента потока операций BCHA и 2-й нагрузка приложений BCHA). Управляющий модуль 215 BCHA может проводить определение оптимального перераспределения нагрузки раньше выполнения запроса либо предварительно сконфигурированного, либо специализированного вычислительного ресурса 240/250 BCHA.
[0158]
Фиг. 6A - Фиг. 6B7 иллюстрируют аспекты примера того, как работает система 200 BCHA для исправления отказа вычислительных ресурсов 240/250 BCHA и поддержания жизнеспособной действующей конфигурации M:N. Фиг. 6A иллюстрирует систему BCHA, которая включает в себя пять вычислительных ресурсов 240/250 BCHA (обозначены на Фиг. 6A как CR-1 610, CR-2 620, CR-3 630, CR-4 640 и CR-5 650), соответственное приложение(я) 268 BCHA (обозначены на Фиг. 6A как App_1 612, App_2 614, App_3 616, App_4 626, App_5 642, App_6 645 и App_7 654), исполняющееся на вычислительных ресурсах 240/250 BCHA, и элементы 270 потока операций BCHA (обозначены на Фиг. 6A как WI1_1 613, WI2_1 615, WI3_1 617, WI4_1 627, WI5_1 633, WI6_1 645 и App_7_1 655), исполняющиеся в соответственных приложениях 268 BCHA. Каждый из компонентов системы BCHA находится в состоянии оперативной связи со службами 230 данных BCHA и управляющими приложениями 205 BCHA, в частности, управляющий модуль 215 BCHA, модуль 220 механизма надежности BCHA и модуль 221 администратора пула ЭПО BCHA активно задействуют компоненты системы 200 BCHA.
[0159]
Последовательность чертежей 6B1-6B7 является иллюстративной реализацией того, как работает система 200 BCHA для идентификации и исправления отказа вычислительного ресурса 240/250 BCHA, и повторного развертывания элементов перераспределения, соотнесенных с вышедшим из строя вычислительным ресурсом 240/250 BCHA. Элементы перераспределения могут включать в себя приложение(я) 268 BCHA, исполняющиеся на вычислительном ресурсе BCHA и/или соответственные элементы 270 потока операций BCHA, исполняемые соответственным приложением(ями) 268 BCHA. Каждая из Фиг. 6B1-6B7 иллюстрирует ключевые рабочие состояния, соотнесенные с каждым из этапов, которые система BCHA исполняет для исправления обнаружения отказа ресурса в форме временной шкалы 699 исполнения.
[0160]
Фиг. 6B1 иллюстрирует возможности, характеристики вычислительных ресурсов 240/250 BCHA и приложений 268 BCHA, а также рабочее состояние BCHA, соотнесенное с элементом 270 потока операций BCHA. На Фиг. 6B1 система BCHA работает в зеленом состоянии, отвечая всем требованиям высокой доступности.
[0161]
Компоненты системы 200 BCHA, показанные на Фиг. 6B1, представляют вид в рабочем состоянии в установившемся режиме, когда данные служб данных BCHA, соотнесены со службами данных BCHA и хранятся в них, начиная со времени/состояния 1 600. В состоянии 1 все вычислительные ресурсы 240/250 BCHA исполняются в зеленом состоянии как жизнеспособная действующая конфигурация M:, где все эксплуатационные требования высокой доступности системы 200 BCHA удовлетворены. Диаграмма 600 состояния 1 иллюстрирует соответственные возможности/характеристики вычислительных ресурсов CR1-CR5, APP_1-App_7 и соответственных элементов 1_1-7_1 потока операций, а также рабочее состояние компонентов системы BCHA, соотнесенное с каждым компонентом системы BCHA, как активный, неактивный, удерживаемый (а на Фиг. 6B2, после выхода из строя вычислительного ресурса CR-4, "неисправный"), соответственно. Последовательность чертежей представляет иллюстративную реализацию того, как работает система 200 BCHA, чтобы идентифицировать и исправить отказ вычислительного ресурса 240/250 BCHA, приложения(й) 268 BCHA, на Фиг. 6B2 - BCHA - обнаружение отказа/эксплуатационная оценка - CR4 выходит из строя/обнаружение отказа;
[0162]
Фиг. 6B2 иллюстрирует рабочие состояния при выходе из строя вычислительного ресурса CR-4 BCHA, а также экземпляры App_5/элемента 5_1 потока операций и App_6/элемента 6_1 потока операций. После выхода из строя CR-4, управляющий модуль 215 BCHA обнаруживает отказ в модуле 230 служб данных BCHA и обновляет рабочее состояние, соотнесенное с CR-4.
[0163]
На Фиг. 6B3 управляющий модуль 215 BCHA определяет возможности и характеристики, соотнесенные с вышедшим из строя вычислительным ресурсом 240/250, в том числе требования доступности вычислительного ресурса, а также эксплуатационные требования по работе в реальном времени. Управляющий модуль 215 BCHA также определяет возможности и характеристики, соотнесенные с App_5/элементом 5_1 потока операций и App_65/элементом 6_1 потока операций, в том числе приоритет приложения, требование доступности приложения, а также требования по работе в реальном времени. В некоторых реализациях системы 200 BCHA приоритет приложения 268 BCHA используется для исполнения типа перераспределения, например, элементы перераспределения с более высоким приоритетом могут повторно развертываться раньше элементов перераспределения с более низким приоритетом в потенциальный целевой объект(ы) перераспределения в случае типа перераспределения с быстрым повторным развертыванием, Для типа перераспределения с оптимальным повторным развертыванием, управляющий модуль BCHA может пытаться приостановить приложения с более низким приоритетом, в пользу создания доступности повторного развертывания для приложений с более высоким приоритетом. В зависимости от реализации другие возможности/ характеристики могут включать в себя выделенные соединения ввода/вывода, соотнесенные с конкретным вычислительным ресурсом 240/250 или приложением 268 BCHA/элементом 270 потока операций BCHA, а также возможности загрузки обрабатывающего устройства или требования к исполнению для обрабатывающего устройства.
[0164]
На Фиг. 6B4 управляющий модуль 215 BCHA оценивает возможности, характеристики и требования доступности других существующих вычислительных ресурсов 240/250 (например, CR-1, CR-2, CR-3 и CR-5), соотнесенных с системой 200 BCHA. В этом примере каждый вычислительный ресурс 240/250 имеет возможность, если говорить о запоминающем устройстве для обработки/мощности обработки, поддерживать три приложения 268 BCHA/элемента 270 потока операций. Соответственно, CR1 и CR-2 исключаются управляющим модулем 215 BCHA из пула перераспределения потенциальных целевых объектов повторного развертывания. Таким образом, пул перераспределения генерируется как включающий в себя CR-3 и CR-5. Чтобы поддерживать жизнеспособную действующую конфигурацию M:N, управляющий модуль 215 BCHA произведет проверку других характеристик/возможностей CR-3 и CR-5, а также App_5/элемента 5_1 потока операций и App_6/ элемента 5_1 потока операций, и видно, что и CR-3, и CR-5 являются потенциальными целевыми объектами, способными принимать в качестве пула перераспределения любой из двух или оба элемента перераспределения, отказавшие приложения/ элементы потока операций в этом примере.
[0165]
Управляющий модуль 215 BCHA выбирает CR-3 в качестве целевого объекта перераспределения для App_5, поскольку CR-3 проходит эти первые два испытания (т.e. (1) доступность для получения элемента перераспределения; и (2) имеет существующий экземпляр перераспределения в активном/неактивном состоянии). Управляющий модуль 215 BCHA пробует сбалансировать быстрое аварийное переключение, одновременно пробуя сбалансировать/ рассредоточить элементы перераспределения среди потенциальных целевых объектов из пула перераспределения, чтобы минимизировать загрузку обрабатывающего устройства и сохранить столько же доступных интервалов перераспределения открытыми среди вычислительных ресурсов 240/250 BCHA, соотнесенных с конкретной действующей конфигурацией M:N. Работая над максимизацией, как можно больше доступных интервалов перераспределения, управляющий модуль BCHA максимизирует вероятность того, что повторное развертывание возможно в рамках существующей действующей конфигурации M:N, в частности, в действующих конфигурациях, которые включают в себя широкий неоднородный пул вычислительных ресурсов 240/250 BCHA и типы прикладных систем BCHA/типы аппаратных средств с соответствующим разнообразным спектром возможностей и характеристик.
[0166]
Фиг. 6B5 иллюстрирует аспекты того, как управляющий модуль 215 BCHA выбирает строго определенные вычислительные ресурсы 240/250 BCHA в качестве целевых объектов перераспределения для соответственных элементов перераспределения. В этом примере управляющий модуль 215 BCHA определяет выбранный тип перераспределения (вместо "сбалансированное повторное развертывание при аварийном переключении", "оптимальное повторное развертывание при аварийном переключении", или "наибыстрейшее повторное развертывание при аварийном переключении"). Типы перераспределения особенно полезны при определении целевых объектов перераспределения, когда существует несколько возможных ситуаций с целевыми объектами для повторного развертывания для конкретного пула перераспределения. В зависимости от реализации, рабочих данных действующей конфигурации M:N, возможностей/ характеристик компонентов системы BCHA и конкретных доступных типов перераспределения, могут быть варианты, когда каждый тип повторного развертывания приведет к выбору одних и тех же целевых объектов перераспределения. Также могут быть варианты, в зависимости от характеристик загрузки конкретной действующей конфигурации M:N, а также конкретного типа отказа ресурса, когда будут необходимы дополняющие/дополнительные вычислительные ресурсы для поддержания жизнеспособности системы, а также требований высокой доступности системы BCHA. Для типа сбалансированного перераспределения, после проведения проверки существования экземпляров, которые являются неактивными, но могут стать активными и принять элемент перераспределения, или которые имеют доступность нагрузки обработки (например, при исполнении менее 3 приложений во время оценки).
[0167]
В примере "сбалансированный тип аварийного переключения" управляющий модуль 215 BCHA производит проверку, имеет ли в настоящий момент какой-либо из целевых объектов перераспределения в пуле перераспределения существующий экземпляр приложения, исполняющегося в активном/неактивном состоянии (это также является первым испытанием для типа перераспределения с наибыстрейшим повторным развертыванием при аварийном переключении). Соответственно, Фиг. 6B5, управляющий модуль 215 BCHA идентифицирует экземпляр App_5, исполняющегося на CR-3 в неактивном состоянии. После подтверждения того, что CR-3 не имеет полностью загруженного обрабатывающего устройства, управляющий модуль 215 BCHA подтверждает, согласуется ли CR-3 с любыми другими требуемыми характеристиками/возможностями перераспределения, соотнесенными с отказавшим App_5, а также производит проверку, есть ли какие-либо вторичные характеристики/возможности перераспределения, соотнесенные с отказавшим App_5, (например, конкретные скорость обработки/мощность обработки). При "сбалансированном типе аварийного переключения", если всем требуемым характеристикам/ возможностям перераспределения удовлетворяют более, чем один потенциальный целевой объект перераспределения в пуле перераспределения, потенциальный целевой объект перераспределения, который удовлетворяет большинству вторичных характеристик/возможностей перераспределения, может быть выбран в качестве целевого объекта перераспределения (это верно также и для типа перераспределения с оптимальным повторным развертыванием при аварийном переключении).
[0168]
Фиг. 6B6 иллюстрирует перераспределение управляющим модулем BCHA приложения App_5/элемента 5_1 потока операций и App_6/элемента 6_1 потока операций из отказавшего вычислительного ресурса CR-4 на выбранные целевые объекты перераспределения, причем App_5/элемент 5_1 потока операций перемещаются на CR-3, а для App_6/элемента 6_1 потока операций создается экземпляр и на CR-5 для исполнения элемента 6-1 потока операций, соответственно. Для этого примера блок управления BCHA повторно развертывает систему путем разработки пула перераспределения из существующего ресурса действующей конфигурации M:N.
[0169]
В некоторых реализациях, чтобы гарантировать, что система 200 BCHA продолжит функционировать с использованием существующих компонентов системы BCHA в пределах действующей конфигурации M:N, блок 215 управления BCHA может временно/на неопределенное время приостанавливать некритические приложения BCHA. Например, в альтернативном варианте осуществления, показанном на Фиг. 6B7, изменяются некоторые из возможностей/ характеристик, соотнесенных с иллюстративным вариантом осуществления, рассмотренным на Фиг. 6B1-6B6. Конкретнее, в примере, показанном на Фиг. 6B6, CR-4, APP_6 имеет требование к возможностям/характеристикам перераспределения, которое не делает повторное развертывание на CR-5 жизнеспособным. Например, CR-4, приложение может иметь требование к входу датчика ввода/вывода, что нет соединения с CR-5. Напротив, в этом примере, CR-2 является единственным другим вычислительным ресурсом 240/250 BCHA, который отвечает требованию к входу датчика ввода/вывода в момент отказа CR-4 для действующей конфигурации M:N. Соответственно, как описано в иллюстративном варианте осуществления, рассмотренном на Фиг. 6B1-6B6, CR-2 был исключен из пула целевых объектов перераспределения на основании требования к обрабатывающему устройству/нагрузке, когда вычислительные ресурсы 240/250 не могут исполнять более трех приложений BCHA в данный момент времени. Однако, в этом примере, требование к вводу-выводу приложения BCHA в координации с App_6 имеет приоритет приложения равный 3, тогда как App_4 имеет приоритет приложения равный 6. Приложения BCHA также могут быть помечены как критические или некритические, что является ключевым параметром при определении того, может ли приложение 268 BCHA быть временно/на неопределенное время приостановлено, чтобы создать доступность нагрузки обрабатывающего устройства и предоставить место для элементов перераспределения. На Фиг. 6B7, APP_4 временно приостановлено, что создает доступность нагрузки обрабатывающего устройства для предоставления места для повторного развертывания отказавшего App_6.
[0170]
Как только элементы перераспределения были повторно развернуты на выбранных целевых объектов и активированы, блок 215 управления BCHA исполняет определение состояния исправления, чтобы подтвердить, были ли соблюдены требования доступности системы BCHA, даже при том, что элементы перераспределения BCHA были повторно развернуты и активированы. Если рабочее состояние исправления (показано на Фиг. 5B2) является зеленым, то были выполнены все задачи системы BCHA, заключающиеся в следующем: (1) поддержание функционирования системы, (1А) использование только существующих компонентов системы BCHA для обеспечения перераспределения при отказе ресурсов; и (1B) поддерживать требования высокой доступности системы BCHA. Если рабочее состояние исправления не является зеленым, то система BCHA может оставаться только (1) в красном состоянии или (1) и (1А) в оранжевом или желтом состоянии. В любом случае, если рабочим состоянием исправления не является зеленое, управляющему модулю BCHA может потребоваться запросить дополняющие/дополнительные ресурсы BCHA, чтобы исполнить переход обратно в зеленое рабочее состояние, когда удовлетворены все (1), (1А) и (1B).
[0171]
На Фиг. 6B8 управляющий модуль 215 BCHA посредством определения состояния исправления определяет, имеет каждое исполняемое приложение требуемую высокую доступность, анализируя требование высокой доступности для конкретного приложения BCHA и добавляя вычислительный ресурс, характеристики доступности для каждого вычислительного ресурса, исполняющего активный/ неактивный экземпляр конкретного приложения BCHA. В показанном примере APP_1 имеет требование Высокой доступности, установленное на 0,999999; и App_1 исполняется на двух раздельных вычислительных ресурсах 240/250 BCHA, а конкретнее CR-1 и CR-2. Соответственно, система 200 BCHA отвечает требованиям высокой доступности App_1, несмотря на отказ вычислительного ресурса CR-4 и повторное развертывание элемента перераспределения с использованием только существующих вычислительных ресурсов 240/250, выбранных из действующей конфигурации M:N. Управляющий модуль 215 BCHA итеративно производит проверку требования высокой доступности для каждого приложения 268 BCHA (в примере на Фиг. 6A-6B для App_1-App7). Если подтверждение дает отрицательный результат, например, App_5 имеет требование высокой доступности 0,99999 и было повторно развернуто в CR-3, который имеет характеристику высокой доступности 0,9999. Требование высокой доступности App_5, равное 0,99999, больше не означает зеленое состояние из-за отказа CR-4. Когда CR-4 был "подключен", характеристика высокой доступности CR-4, равная 0,99999, была достаточна, чтобы удовлетворять требование высокой доступности App_5. Однако определение состояния исправления при обнаружении отказа ресурса демонстрирует, что задачи (1) и (1А) системы BCHA не были выполнены, 1B не выполняется, потому что если, по меньшей мере, одно приложение 268 BCHA не отвечает требованию высокой доступности, требование высокой доступности системы BCHA также не выполняется.
[0172]
Следует понимать, что используемые в данном документе примеры, предназначены для иллюстрации различных функциональных средств/функциональных особенностей, соотнесенных с балансировкой нагрузки системы BCHA (как балансировкой нагрузки при обнаружении отказа ресурса, так и активной балансировкой нагрузки). Могут быть и другие методологии, которые могут использоваться или реализовываться системой BCHA для вычисления требований высокой доступности/определения соблюдения требований высокой доступности. Кроме того, следует понимать, что добавление характеристик высокой доступности вычислительного ресурса 240/250 BCHA и сравнение с высокой доступностью приложений BCHA представляет собой просто один неограничивающий пример вычисления требований высокой доступности/определения соблюдения требований высокой доступности, другие вычисления эксплуатационных параметров системы BCHA возможны и могут использоваться в координации с компонентами системы BCHA аналогично описанным в данном документе, для выполнения задач (1), (1 А) и (1B) системы BCHA.
[0173]
Невыполнение соблюдения требований высокой доступности, обсуждаемое со ссылкой на Фиг. 6B8, является примером отказа, который был бы идентифицирован и исправлен посредством активной балансировки нагрузки BCHA, описанной со ссылкой на Фиг. 5C. В контексте Фиг. 6B8, со степенью проверки Z, установленной на 1, блок 215 управления BCHA должен был бы выполнить итерации посредством моделирования отказа каждого из CR-1, CR-2, CR-3, CR-4 и CR-5 в течение временной шкалы 699 исполнения, состояние 1 "зеленое", пока все вычислительные ресурсы BCHA были подключены, до фактического отказа CR-4. После моделирования перераспределений при обнаружении отказов ресурсов для CR-1, CR-2, CR-3, блок 215 управления BCHA будет моделировать отказ CR-4 и идентифицирует рабочее состояние исправления, являющееся желтым из-за несогласованности требования высокой доступности App_5 и требований высокой доступности App_5 со значением 0,9999, в связи с потерей характеристики высокой доступности CR-4 со значением 0,99999. В соответствии с Фиг. 5C, на этапе 595 управляющий модуль BCHA разрабатывает отчет о проверке действующей конфигурации M:N, и в этом примере будет идентифицировать несоблюдение требования высокой доступности App_5 (а также любые другие проблемы несоблюдения требований для других приложений BCHA на основании итеративных моделирований отказов вычислительных ресурсов BCHA). В дополнение к генерированию отчета, управляющий модуль BCHA может генерировать запросы на дополнительные вычислительные ресурсы BCHA для исправления любого несоблюдения требования высокой доступности и/или несоблюдения требований действующей конфигурации M:N. Такое исправление будет предусматривать план перехода для перемещения из действующей конфигурации M:N+R обратно в жизнеспособную действующую конфигурацию M:N в зеленом состоянии, когда выполняются все требования высокой доступности.
[0174]
Фиг. 7A иллюстрирует блок-схему последовательности операций, иллюстрирующую аспекты того, как управляющий модуль 215 BCHA переходит от не-зеленого рабочего состояния исправления к зеленому рабочему состоянию исправления на основании запросов дополняющих/дополнительных вычислительных ресурсов 240/250, разработанных на основании того, что (a) управляющий модуль не имеет достаточно потенциальных целевых объектов перераспределения для генерирования жизнеспособного пула перераспределения; или на основании (b) итогового отчета, сгенерированного с помощью проверочной балансировки нагрузки HA-M:N степени Z для достижения проверки действующей конфигурации. На этапе 700 управляющий модуль 215 BCHA идентифицирует не-зеленое рабочее состояние исправления и определяет минимальные возможности/характеристики вычислительных ресурсов BCHA для перевода рабочего состояния исправления обратно в зеленое состояние и достижения действующей конфигурации M:N, которая также соблюдает требования высокой доступности приложения 268 BCHA в системе 200 BCHA. В некоторых случаях система BCHA может исполнять автоматическое исправление, чтобы получить подходящие вычислительные ресурсы 240/250 BCHA.
[0175]
В зависимости от реализации, минимальные возможности/характеристики вычислительных ресурсов BCHA для перевода в зеленое рабочее состояние могут выводиться из отчета о проверке, сгенерированного с помощью активной балансировки нагрузки степени Z, или включаются в запрос дополняющего/ дополнительного ресурса, сгенерированный в ходе балансировки нагрузки при обнаружении отказа ресурса. В некоторых реализациях, на этапе 706 управляющий модуль 215 BCHA включает в себя информацию о запросе дополняющих/дополнительных вычислительных ресурсов BCHA, которая учитывается, но необязательно требуется, для обеспечения перехода к функционированию в зеленом состоянии, вместо этого информация о запросе дополняющих/дополнительных вычислительных ресурсов BCHA может обеспечить предоставление более устойчивой к сбоям действующей конфигурации M:N. Информация о запросе дополняющих/дополнительных вычислительных ресурсов BCHA может быть сгенерирована и выведена в результате моделирований отказов вычислительных ресурсов, исполняемых в ходе интерактивной балансировки нагрузки степени Z/проверки действующей конфигурации M:N. На этапе 709 запросы вычислительных ресурсов могут объединяться в один запрос, или запросы на минимальный запрос вычислительных ресурсов для обеспечения перехода в зеленое состояние могут подаваться отдельно от запроса дополняющих/дополнительных вычислительных ресурсов BCHA. На этапе 715 модуль 210 ввода в действие BCHA и управляющий модуль 215 BCHA работают совместно, чтобы предоставить любые запрашиваемые аппаратные точки входа ресурсов BCHA, которые предоставляются на этапе 712 в подключенных вычислительных ресурсах 240/250 BCHA. На этапе 718 управляющий модуль 215 BCHA повторно развертывает соответственные приложения 268 BCHA и соответствующие элементы 270 потока операций BCHA, чтобы обеспечить переход обратно к зеленому состоянию. Управляющий модуль BCHA определяет, были ли какие-либо дополняющие/ дополнительные BCHA также предоставлены сверх минимального запрашиваемого ресурса на этапе 721, которые можно использовать для дополнительного употребления системой или эксплуатировать в качестве более устойчивой к сбоям действующей конфигурации M:N. На этапе 724 управляющий модуль BCHA создает экземпляры приложений BCHA для обеспечения более устойчивой к сбоям действующей конфигурации M:N. На этапе 727 управляющий модуль BCHA проводит проверку рабочего состояния после перехода и возвращается обратно к этапу 700, если идентифицируются какие-либо проблемы. Управляющий модуль 215 BCHA переключается на контролирование данных работоспособности/рабочих данных BCHA и исполнение активной балансировки нагрузки на этапе 730.
[0176]
Функциональная диаграмма, показанная на Фиг. 7B, иллюстрирует запрошенный, полностью предоставленный вычислительный ресурс 240/250 BCHA как CR-6 735. В этом примере управляющий модуль 215 BCHA идентифицировал требование к возможностям/характеристике элемента перераспределения, предусматривающее соединение ввода/вывода для App_6, которое ранее исполнялось на вышедшем из строя CR-4. В отличие от вышеприведенного примера на 6B8, где CR-2 отвечал требованию к возможностям/характеристике элемента перераспределения, в этом примере требования соблюдал только вышедший из строя CR-4. Соответственно, в рамках балансировки нагрузки при обнаружении отказа ресурса, инициированной управляющим модулем 215 BCHA, управляющий модуль 215 BCHA распознал, что текущая действующая конфигурация M:N не может соблюдать требования, и немедленно подал запрос на дополняющий/дополнительный вычислительный ресурс 240/250, чтобы соблюдать требование.
[0177]
В примере на Фиг. 7B, на основе активной балансировки нагрузки, управляющий модуль 215 BCHA также запросил дополняющий/дополнительный вычислительный ресурс, чтобы гарантировать устойчивое к сбоям зеленое состояние, действующую конфигурацию M:N. В частности, проводя активную балансировку нагрузки со степенью Z=1, управляющий модуль 215 BCHA идентифицировал потенциальную возможность обеспечить более устойчивое к сбоям зеленое состояние, оперативно запросив вычислительный ресурс BCHA, который имеет характеристику высокой доступности 0,99999, чтобы App_1, App_2 и App_3 имели жизнеспособный целевой объект аварийного переключения на тот случай, если App_3 (также с требованием доступности приложения 0,99999) нуждается в вычислительном ресурсе при отказе полностью загруженного CR-1. Фиг. 7C иллюстрирует дополнительный вычислительный ресурс BCHA CR-6, когда он развернут в соответствии с функциональной диаграммой на Фиг. 7B.
[0178]
В некоторых вариантах осуществления управляющий модуль 215 BCHA может использовать аспекты показателей контроля надежности, чтобы обеспечить балансировку нагрузки системы. Например, модуль механизма надежности может использовать возможности, характеристики как ограничивающие условия перераспределения (например, требование ОС для конкретного типа приложения BC, элемента приложения и/или элемента потока операций), чтобы:
(i) Определить количество ресурсов, необходимых для запуска всех приложений.
(ii) Определить необходимую доступность системы для различных приложений с разными требованиями ОС. Это можно вычислить для всего процесса или сегментов процесса, таких как блоки, цепи и оборудование.
(iii) Определить, какие приложения являются критическими для процесса или для функционирования установки. Если критическое приложение останавливается и не перезапускается на альтернативном ресурсе, то система безопасности может прервать процесс, чтобы привести установку в безопасное состояние.
(iv) Определить необходимую критичность для каждого приложения BC.
(v) Определить, какие имеются ограничивающие условия для приложений (например, два управляющих приложения могут потребоваться для запуска на одном и том же ресурсе).
Это некоторые примеры того, как разные показатели балансировки нагрузки/администрирования доступности могут контролироваться механизмом надежности. Работая с блоком управления высокой доступностью для динамической координации администрирования вычислительных ресурсов/приложений/элементов потока операций, эти модули могут помочь гарантировать продуктивные, эффективные рабочие параметры системы и работу для достижения целевых показателей доступности для системы.
[0179]
На основании одного или нескольких вышеприведенных определений, управление 120 BCHA, работающее в координации с блоком 115 контроля надежности, может вычислять доступность системы и обеспечивать оптимизацию балансировки нагрузки. Например, блок 120 управления высокой доступностью/блок 115 контроля надежности может, в случае отказа машины или состояний с ограниченными ресурсами, временно или выключить некритическое или наименее критическое приложение (например, приложение управления оптимизацией), так что доступная вычислительная мощность может использоваться для запуска критического приложения(й) управления. Блок 120 управления высокой доступностью/блок 115 контроля надежности может быстро достигнуть этого аварийного переключения, не вызывая прерывание процесса/систему безопасности. В качестве другого примера, блок 120 управления высокой доступностью/блок 115 контроля надежности может использовать доступный или восстановленный вычислительный ресурс/доступность или дополнительные/дополняющие предоставленные ресурсы (например, после того, как машина возвращается в подключенное состояние) для перераспределения перемещения и перезапуска критического приложения с учетом возможного действия системы безопасности (например, действие отключения). В некоторых вариантах осуществления блок контроля надежности также может разнести элементы потока операций экземпляра приложения BC по нескольким ресурсам BC для администрирования загрузки ресурсов.
[0180]
В некоторых вариантах осуществления различные системные показатели для системы 200 BCHA могут вычисляться в режиме реального времени. Эти системные показатели могут характеризовать надежность и/или доступность системы 200 BCHA. В некоторых вариантах осуществления показатели системы 200 BCHA также могут сообщаться пользователю (например, на клиентское устройство, человеко-машинный интерфейс). Примеры показателей системы 200 BCHA включают в себя, но не ограничиваются этим:
(a) Количество аппаратных средств и ресурсов, нужных для запуска всех приложений при желаемой или необходимой доступности.
(b) Количество машин, необходимых для запуска приложений выше заданной критичности.
(c) Коэффициент высокой доступности (HAN - High Availability number), ключевой показатель эффективности (KPI), указывающий общую доступность системы, а также рабочие показатели системы BCHA, включающие в себя:
i. Фактическую доступность системы 200 BCHA на основании доступных в настоящее время вычислительных ресурсов 240/250 BCHA и активных приложений 268 BCHA.
ii. Количество вышедших из строя вычислительных ресурсов 240/250 BCHA.
iii. Количество запущенных приложений 268 BCHA и их критичность и/или приоритет.
iv. Количество неактивных приложений 268 BCHA и их критичность и/или приоритет.
v. Потерянный доход из-за неактивности некритического применения(й) 268 BCHA.
vi. Количество дополнительных вычислительных ресурсов 240/250 BCHA, которые должны быть предоставлены для запуска каждого приложения 268 BCHA.
vii. Изменение общей надежности и доступности системы 200 BCHA, если вычислительные ресурсы 240/250 BCHA были добавлены или удалены из пула доступных вычислительных ресурсов 240/250 BCHA.
Компьютерная систематизация
[0181]
Теперь будут обсуждаться компоненты системы BCHA, которые могут включать в себя физическую машину или физические компьютерные аппаратные средства ("компьютерная система"), в пределах которых может исполняться набор инструкций для того, чтобы заставить компьютерную систему выполнять какую-то одну или более из методологий, рассматриваемых в данном документе. Программное обеспечение или программно-аппаратное обеспечение для использования в системе BCHA, обеспечивающее функциональные средства и/или функциональные особенности, рассмотренные на чертежах и описанные в данном документе, может храниться на машиночитаемом носителе данных и может исполняться одним или несколькими программируемыми микропроцессорами общего или специального назначения.
[0182]
Компьютерная система может включать в себя обрабатывающее устройство, основное запоминающее устройство, энергонезависимое запоминающее устройство и устройство интерфейса. Различные общие компоненты (например, быстродействующее буферное запоминающее устройство) опущены для простоты. Эта компьютерная система предназначена для иллюстрации аппаратного устройства, на котором могут быть реализованы любые компоненты и методологии, рассмотренные в этом описании изобретения. Компьютерная система может быть любого применимого известного или подходящего типа. Компоненты компьютерной системы могут быть связаны вместе через шину или через некоторое другое известное или подходящее устройство.
[0183]
Обрабатывающим устройством может быть, например, стандартный микропроцессор, такой как микропроцессор Intel Pentium или микропроцессор Motorola power PC, одноядерное обрабатывающее устройство или любое многоядерное обрабатывающее устройство. Специалисту в соответствующей области техники будет понятно, что термины "машиночитаемый носитель (данных)" или "читаемый с помощью компьютера носитель (данных)" включает в себя устройство любого типа, которое доступно обрабатывающему устройству.
[0184]
Обрабатывающее устройство связывается с обрабатывающим устройством, например, посредством шины. Обрабатывающее устройство может включать в себя, в качестве примера, но не ограничения, оперативное запоминающее устройство (ОЗУ), такое как динамическое ОЗУ (DRAM) и статическое ОЗУ (SRAM). Запоминающее устройство может быть локальным, удаленным, или распределенным.
[0185]
Шина также связывает обрабатывающее устройство с энергонезависимым запоминающим устройством и блоком дискового накопителя. Энергонезависимое запоминающее устройство часто представляет собой магнитный гибкий или жесткий диск, магнитно-оптический диск, оптический диск, постоянное запоминающее устройство (ПЗУ), такое как CD-ROM, СППЗУ или ЭСППЗУ, магнитную или оптическую карту, либо хранилище в иной форме для больших объемов данных. Некоторые из этих данных часто записываются, посредством технологического процесса прямого доступа к запоминающему устройству, в запоминающее устройство во время исполнения программного обеспечения в компьютерной системе. Энергонезависимое хранилище может быть локальным, удаленным, или распределенным. Энергонезависимое запоминающее устройство является необязательным, поскольку системы могут быть созданы со всеми необходимыми данными, доступными в запоминающем устройстве. Типичная компьютерная система обычно будет включать в себя, по меньшей мере, обрабатывающее устройство, запоминающее устройство и устройство (например, шину), связывающее запоминающее устройство с обрабатывающим устройством.
[0186]
Программное обеспечение обычно хранится в энергонезависимом запоминающем устройстве и/или блоке дискового накопителя. В действительности, для больших программ, даже может быть невозможно хранить всю программу в запоминающем устройстве. Тем не менее, следует понимать, что для запуска программного обеспечения, при необходимости, оно перемещается в читаемое с помощью компьютера местоположение, подходящее для обработки, и в иллюстративных целях это местоположение упоминается как запоминающее устройство в этом документе. Даже когда программное обеспечение перемещается в запоминающее устройство для исполнения, обрабатывающее устройство обычно использует аппаратные регистры для хранения значений, соотнесенных с программным обеспечением, и локальный буфер. В идеале это служит для ускорения исполнения. Как используется в данном документе, предполагается, что программа хранится в любом известном или подходящем месте (от энергонезависимого хранилища до аппаратных регистров), когда программа системы программного обеспечения упоминается как "реализованная на читаемом с помощью компьютера носителе". Обрабатывающее устройство считается "выполненным с возможностью исполнения программы", когда, по меньшей мере, одно значение, соотнесенное с программой, сохраняется в регистре, читаемом обрабатывающим устройством.
[0187]
Шина также связывает обрабатывающее устройство с устройством сетевого интерфейса. Интерфейс может включать в себя один или несколько модемов либо сетевых интерфейсов. Понятно, что модем или сетевой интерфейс могут рассматриваться как часть компьютерной системы. Интерфейс может включать в себя аналоговый модем, isdn-модем, кабельный модем, интерфейс Token Ring (сеть с маркерным кольцом), интерфейс спутниковой передачи (например, "direct PC"), или другие интерфейсы для связи компьютерной системы с другими компьютерными системами. Интерфейс может включать в себя одно или несколько устройств ввода и/или вывода. Устройства ввода/вывода могут включать в себя, в качестве примера, но не ограничения, клавиатуру, манипулятор "мышь" или другое координатно-указательное устройство, дисководы, печатающие устройства, сканирующие устройства, и иные устройства ввода и/или вывода, в том числе устройство отображения. Устройство отображения может включать в себя, в качестве примера, но не ограничения, электронно-лучевую трубку (ЭЛТ), жидкокристаллический индикатор (ЖКИ) или какое-либо иное применимое известное или подходящее устройство отображения. Для простоты предполагается, что блоки управления любых устройств, не описанных в данном документе, могут находиться в интерфейсе.
[0188]
Во время работы компьютерная система может управляться программной операционной системой, которая может включать в себя систему управления файлами, такую как дисковая операционная система. Одним примером программной операционной системы с соотнесенной программной системой управления файлами является семейство операционных систем, известных как Windows от компании Microsoft Corporation, Редмонд, штат Вашингтон, и соотнесенные с ними системы управления файлами. Другим примером программной операционной системы с соотнесенной с ней программной системой управления файлами является операционная система Linux и соотнесенная с ней система управления файлами. Система управления файлами обычно хранится в энергонезависимом запоминающем устройстве и/или блоке дискового накопителя и заставляет обрабатывающее устройство исполнять различные действия, требуемые операционной системой, для ввода и вывода данных и сохранения данных в запоминающем устройстве, в том числе сохранения файлов в энергонезависимом запоминающем устройстве и/или блоке дискового накопителя.
[0189]
Некоторые части подробного описания могут быть представлены в терминах алгоритмов и символических представлений операций над битами данных в компьютерном запоминающем устройстве. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в области обработки данных, чтобы наиболее эффективно донести суть своей работы другим специалистам в данной области техники. Алгоритм в данном документе, и в общем случае, понимается как логичная последовательность операций, приводящих к желаемому результату. Операциями является то, что требует физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать, и иным образом манипулировать ими. Иногда оказывается удобным, прежде всего исходя из соображений широкого использования, упоминать эти сигналы как биты, значения, элементы, символы, буквы, термины, числа, или тому подобное.
[0190]
Однако, следует помнить, что все эти и подобные термины должны быть соотнесены с надлежащими физическими величинами и являются просто удобными обозначениями, применяемыми к этим величинам. Если специально не указано иное, как очевидно из последующего обсуждения, понятно, что всюду по настоящему описанию изобретения обсуждения, использующие такие термины, как "обработка", или "вычисление", или "расчет", или "определение", или "отображение", или тому подобное, относятся к действию и технологическим процессам компьютерной системы, или аналогичного электронного вычислительного устройства, которое манипулирует с данными, представленными как физические (электронные) величины в регистрах и запоминающих устройствах компьютерной системы, и преобразует их в другие данные, так же представленные как физические величины в запоминающих устройствах или регистрах компьютерной системы, либо других подобных устройств хранения, передачи или отображения информации.
[0191]
Алгоритмы и отображения данных, представленные в данном документе, по сути, не связаны с каким-либо конкретным компьютером или другим устройством. Различные системы общего назначения могут использоваться с программами в соответствии с изложенными в данном документе идеями, или может оказаться удобным построение более специализированного устройства для выполнения способов согласно некоторым вариантам осуществления. Необходимая структура для множества этих систем будет следовать из нижеприведенного описания. В дополнение, способы не описываются в отношении какого-либо конкретного языка программирования, а значит, различные варианты осуществления могут быть реализованы с использованием множества языков программирования.
[0192]
В альтернативных вариантах осуществления машина функционирует как автономное устройство, или может быть соединена (например, подключена к сети) с другими машинами. При развертывании сети, машина может функционировать в качестве сервера или клиентской машины в сетевой среде клиент-сервер, или как одноранговая машина в одноранговой (или распределенной) сетевой среде.
[0193]
Машина может быть серверным компьютером, клиентским компьютером, персональным компьютером (ПК), планшетным ПК, дородным компьютером, абонентской приставкой (STB - set-top box), карманным персональным компьютером (КПК), сотовым телефоном, устройством iPhone, устройством Blackberry, обрабатывающим устройством, телефоном, сетевым прибором, сетевым маршрутизатором, коммутатором или мостом, либо любой машиной, выполненной с возможностью исполнения набора инструкций (последовательных или иных), которые точно определяют действия, которые должны быть предприняты этой машиной.
[0194]
Хотя машиночитаемый носитель или машиночитаемый носитель данных и демонстрируются в иллюстративном варианте осуществления как одиночный носитель, термин "машиночитаемый носитель" и "машиночитаемый носитель данных" следует понимать как включающие в себя одиночный носитель или множественные носители (например, централизованная или распределенная база данных, и/или соотнесенные буферные запоминающие устройства и серверы), которые хранят один или несколько наборов инструкций. Термины "машиночитаемая среда" и "машиночитаемый носитель данных" также нужно понимать как включающие в себя любой носитель, который способен хранить, кодировать или переносить набор инструкций для исполнения машиной, и которые заставляют машину выполнять любые одну или несколько методологий согласно раскрытому сейчас техническому решению и новшеству.
[0195]
В общем случае, подпрограммы, исполняемые для реализации вариантов осуществления согласно настоящему раскрытию изобретения, могут быть реализованы как часть операционной системы или строго определенного приложения, компонента, программы, объекта, модуля или последовательности инструкций, называемых "компьютерными программами". Компьютерные программы, как правило, содержат одну или несколько инструкций, расположенных в разное время в различных запоминающих устройствах и устройствах хранения в компьютере, и которые при считывании и исполнении одним или несколькими блоками обработки или обрабатывающими устройствами в компьютере заставляют компьютер выполнять операции для исполнения элементов, касающихся различных аспектов настоящего раскрытия изобретения.
[0196]
Более того, хотя варианты осуществления и были описаны в контексте полнофункциональных компьютеров и компьютерных систем, специалистам в данной области техники будет понятно, что различные варианты осуществления могут распространяться как программный продукт в различных формах, и что настоящее раскрытие изобретения применяется точно так же, независимо от конкретного типа машины или читаемых с помощью компьютера носителей, используемых для фактического осуществления распространения.
[0197]
Дополнительные примеры машиночитаемых носителей данных, машиночитаемых носителей, или читаемых с помощью компьютера носители (данных) включают в себя, но не ограничиваются этим, носители записываемого типа, такие как энергозависимые и энергонезависимые запоминающие устройства, гибкие и другие съемные диски, накопители на жестких дисках, оптические диски (например, постоянное запоминающее устройство на компакт-диске (CD-ROM - Compact Disk Read-Only Memory), цифровые универсальные диски (DVD - Digital Versatile Disk) и т.д.), среди прочего, а также носители передающего типа, такие как цифровые и аналоговые каналы связи.
[0198]
Если контекст явно не требует иного, всюду по настоящему описанию изобретения и формуле изобретения слова "содержит", "содержащий" и тому подобное должны толковаться в охватывающем смысле, а не в исключительном или исчерпывающем смысле; иначе говоря, в смысле "включающий в себя, но не ограничивающийся этим". Как используется в данном документе, термины "соединенный", "связанный" или любой их вариант означают любое соединение или связь, прямое либо косвенное, между двумя или более элементами; связь или соединение между элементами может быть физическим, логическим или их комбинацией. Дополнительно, слова "в данном документе", "вышеприведенный", "нижеприведенный", и слова, имеющие подобное значение, при использовании в настоящей заявке будут относиться к настоящей заявке в целом, а не к каким-либо конкретным частям настоящей заявки. Там, где позволяет контекст, слова в вышеприведенном разделе "Подробное описание изобретения" с использованием единственного или множественного числа могут также включать в себя множественное или единственное число, соответственно. Слово "или", в применении к списку из двух или более элементов, охватывает все следующие интерпретации слова: любой из элементов в списке, все элементы в списке, и любая комбинация элементов в списке.
[0199]
Вышеприведенное подробное описание вариантов осуществления согласно настоящему раскрытию изобретения не претендует на исчерпывающий характер или ограничение идей раскрытой выше точной формой. Хотя в иллюстративных целях выше и описаны строго определенные варианты осуществления и примеры для настоящего раскрытия изобретения, возможны различные эквивалентные модификации в пределах объема настоящего раскрытия изобретения, как будет понятно специалистам в интересующей области техники. Например, хотя технологические процессы или блоки и представлены в заданном порядке, альтернативные варианты осуществления могут выполнять подпрограммы с этапами или задействовать системы с блоками в другом порядке, а некоторые технологические процессы или блоки могут быть удалены, перемещены, добавлены, подразделены, объединены и/или изменены, чтобы предоставить альтернативу или подкомбинации. Каждый из этих технологических процессов или блоков может быть реализован всевозможными способами. К тому же, хотя технологические процессы или блоки иногда продемонстрированы как выполняемые последовательно, эти технологические процессы или блоки вместо этого могут выполняться параллельно, или могут выполняться в разное время. Кроме того, любые точно определенные числа, упомянутые в данном документе, являются лишь примерами, альтернативные реализации могут задействовать другие значения или диапазоны.
[0200]
Идеи настоящего раскрытия изобретения, представленные в данном документе, могут быть применены к другим системам, а не обязательно к системе, описанной выше. Элементы и действия различных вариантов осуществления, описанных выше, могут быть объединены, чтобы предоставить дополнительные варианты осуществления.
[0201]
Любые патенты и заявки, а также иные противопоставленные материалы, отмеченные выше, в том числе любые, которые могут быть перечислены в сопроводительных регистрационных документах, включены в настоящую заявку посредством ссылки. Аспекты настоящего раскрытия изобретения могут быть модифицированы, при необходимости, чтобы задействовать системы, функции и концепции различных описанных выше противопоставленных материалов, чтобы предоставить еще дополнительные варианты осуществления настоящего раскрытия изобретения.
[0202]
Эти и другие изменения могут быть внесены в настоящее раскрытие изобретения в свете вышеприведенного раздела "Подробное описание изобретения". В то время как вышеприведенное описание описывает некоторые варианты осуществления согласно настоящему раскрытию изобретения и описывает наилучший предполагаемый режим работы, независимо от того, насколько подробно представлены в вышеприведенном тексте, идеи могут быть осуществлены на практике многими способами. Части системы могут значительно различаться в деталях ее реализации, будучи по-прежнему охваченными предметом изобретения, раскрытым в данном документе. Как отмечалось выше, конкретная терминология, используемая при описании определенных признаков или аспектов настоящего раскрытия изобретения, не должна восприниматься как подразумевающая, что терминология переопределяется в данном документе, чтобы ограничиваться какими-либо строго определенными характеристиками, признаками или аспектами настоящего раскрытия изобретения, с которыми соотносится эта терминология. В целом, термины, используемые в нижеследующей формуле изобретения, не должны толковаться как ограничивающие настоящее раскрытие изобретения строго определенными вариантами осуществления, раскрытыми в описании изобретения, если только в вышеприведенном разделе "Подробное описание изобретения" не дано явное определение таких терминов. Соответственно, фактический объем настоящего раскрытия изобретения охватывает не только раскрытые варианты осуществления, но также и все эквивалентные варианты практического применения или реализации настоящего раскрытия изобретения в соответствии с формулой изобретения.
[0203]
Из вышеизложенного будет понятно, что в данном документе в целях иллюстрации были описаны строго определенные варианты осуществления раскрытой технологии, но что могут быть сделаны различные модификации без отклонения от сущности и объема этих вариантов осуществления.