ЧУВСТВИТЕЛЬНАЯ КО ВРЕМЕНИ ПРОГРАММНО-ОПРЕДЕЛЯЕМАЯ СЕТЬ
TIME-SENSITIVE PROGRAM-DETERMINED NETWORK

Перекрестная ссылка на родственную заявку
[0001] Данная заявка притязает на приоритет и использует предварительную заявку на патент (США) № 62/364,313 озаглавленную "Time Sensitive Software Defined Network", поданную 19 июля 2017, содержимое которой полностью содержится в данном документе по ссылке.
Уровень техники
[0002] Сети связи (или просто сети) предоставляют обмен данными, например, между компьютерами, компьютерами и периферийными устройствами и другими устройствами. Различные предметные области предъявляют различные требования для обмена данными. Например, в промышленной области физические процессы имеют строгие требования по синхронизации, которые должны управляться и отслеживаться на предмет безопасности и по другим причинам. Возьмем пример высокоскоростной системы нарезки сыра, где лезвие высокоскоростного ножа разрезает блок сыра, который продвигается механизмом подачи блока сыра, приводимым за счет электромоторов. То, насколько требуется подать блок сыра, определяется системой сканирования, анализирующей отверстия в блоке сыра. Чтобы система нарезки сыра производила ломтики сыра примерно одинакового веса, движение лезвия ножа должно быть синхронизировано с движением блока сыра. Даже небольшая задержка в этой системе (или в обработке, или в сети) может привести к появлению ломтиков сыра с неоднородной массой, приводя к убытку и потерям производительности. Аналогично, в автомобильной области критически важные для безопасности приложения, которые обеспечивают функции безопасности (например, автоматическое торможение) и обеспечивают автономное вождение, также имеют строгие требования по синхронизации для связи. Любая неучтенная задержка в системе может иметь серьезные последствия для безопасности.
[0003] Как в промышленной, так и в автомобильной областях все больше стремятся использовать технологию Ethernet для магистрали сети для поддержки подключения к Интернету вещей (IoT)/Промышленному Интернету вещей (IIoT), чтобы воспользоваться преимуществами удаленного мониторинга и управления, централизованной аналитики и т.п. Стандарт Ethernet, однако, не может гарантировать, что критические данные будут доставлены по сети от устройства A к устройству B вовремя, что является ключевым требованием как для промышленных, так и для автомобильных приложений. Чувствительная ко времени сеть (TSN), которая обеспечивает полностью детерминированную доставку трафика Ethernet в режиме реального времени, является решением, которое может удовлетворить требования промышленных и автомобильных приложений.
Сущность вариантов осуществления
[0004] В примерном варианте осуществления система для определения сетевого тракта через сеть содержит контроллер программно-определяемой сети (SDN), включающий временную область с SDN-контроллером, выполняющимся на одном или множестве распределенных аппаратных средств, и сеть, включающую в себя множество чувствительных ко времени и нечувствительных ко времени сетевых устройств для пересылки пакетов данных. SDN-контроллер сконфигурирован для управления сетью путем определения того, что пакет данных связан с одной из характеристики, соответствующей чувствительности ко времени, характеристики, соответствующей привязке ко времени, и характеристики, соответствующей принципу максимальной эффективности; пакет данных исходит из передающего устройства и подлежит доставке в приемное устройство; определения сетевого тракта для передачи пакета данных от передающего устройства к приемному устройству с гарантированной сквозной задержкой, чтобы удовлетворить упомянутой характеристике, соответствующей чувствительности ко времени, и передачи пакета данных от передающего устройства по сетевому тракту к приемному устройству. Сквозная задержка для пакета данных может учитывать задержку на каждом уровне, через который проходит пакет данных, после того, как он вызван на прикладном уровне передающего устройства.
[0005] В другом примерном варианте осуществления, способ для того, чтобы передавать чувствительный ко времени пакет данных через сетевую инфраструктуру, содержащую чувствительные ко времени и нечувствительные ко времени сетевые устройства, содержит прием посредством контроллера чувствительной ко времени программно определяемой сети (TsSDN) требования по синхронизации для доставки чувствительного ко времени пакета данных, исходящего от первого объекта, ко второму объекту через сетевую инфраструктуру, содержащую чувствительные ко времени и нечувствительные ко времени сетевые устройства. Способ дополнительно содержит определение первого сетевого тракта через сетевую инфраструктуру с использованием одного или нескольких только чувствительных ко времени сетевых устройств, причем первый сетевой тракт имеет прогнозируемое время задержки, что приводит к тому, что сквозная задержка для чувствительного ко времени пакета данных становится меньше чем требование по синхронизации, связанное с чувствительным ко времени пакетом данных и передачей чувствительного ко времени пакета данных от первого объекта через первый сетевой тракт ко второму объекту. Чувствительный ко времени пакет данных может переходить через прикладной уровень, стек операционной системы, плоскость управления и плоскость данных в каждом из первого и второго объектов. Сквозная задержка для пакета данных может учитывать задержку на каждом уровне, через который проходит пакет данных после того, как он вызван на прикладном уровне первого объекта.
[0006] В некоторых случаях TsSDN-контроллер может принимать пакет данных, исходящий от первого объекта, и определять на основе активности протокола резервирования потока, обнаруженной от первого объекта, что пакет данных является чувствительным ко времени пакетом данных, который включает в себя чувствительные ко времени данные. Пакет данных может сообщаться TsSDN-контроллеру сетевым устройством в сетевой инфраструктуре в ответ на определение того, что пакет данных является новым типом пакета данных, который должен быть принят на сетевом устройстве.
[0007] В некоторых случаях первый и второй объекты включают в себя физическое устройство, виртуальное устройство, размещенное на машине, или службу, размещенную на одной или нескольких распределенных машинах.
[0008] В некоторых случаях TsSDN-контроллер может принимать требование по синхронизации через сетевое приложение, которое взаимодействует с TsSDN-контроллером через интерфейс прикладного программирования.
[0009] В некоторых случаях чувствительный ко времени пакет данных является частью потока, и все чувствительные ко времени пакеты данных, связанные с потоком, передаются через один и тот же первый сетевой тракт.
[0010] В некоторых случаях TsSDN-контроллер может определять, что пакет данных, исходящий от первого устройства, является чувствительным ко времени пакетом данных на основе содержимого пакета.
[0011] В некоторых случаях TsSDN-контроллером может быть контроллер программно-определяемой сети (SDN), имеющий модуль управления временем, способный различать пакеты данных, которые являются чувствительными ко времени, учитывающими время или основаны на принципе максимальной эффективности.
[0012] В некоторых случаях TsSDN-контроллером может быть контроллер программно-определяемой сети (SDN), имеющий приложение чувствительной ко времени сети (TSN), приспособленное конфигурировать чувствительные ко времени сетевые устройства для сохранения установленной временной области TSN.
[0013] В некоторых случаях TsSDN-контроллером может быть контроллер программно-определяемой сети (SDN), имеющий чувствительный ко времени модуль маршрутизации с несколькими трактами, реализующий протокол состояния канала, который использует алгоритм мультидерева с равной стоимостью (ECMT) для вычисления наиболее эффективных трактов на основе чувствительности ко времени и сетевой нагрузке.
[0014] В некоторых случаях TsSDN-контроллер может принимать пакет данных, который должен быть доставлен от первого объекта к третьему объекту через сетевую инфраструктуру. Контроллер может определить на основе информации о конфигурации сети, связанной с пакетом данных, что пакет данных является пакетом данных с привязкой ко времени, который включает в себя данные с привязкой ко времени. Контроллер может дополнительно определять второй сетевой тракт через сетевую инфраструктуру, используя одно или несколько чувствительных ко времени сетевых устройств и нечувствительных ко времени сетевых устройств, причем сетевой тракт имеет прогнозируемое время задержки, что обеспечивает сквозную задержку для пакета данных с привязкой ко времени, которая должна быть меньше, чем требование по синхронизации, связанное с пакетом данных с привязкой ко времени, и передавать пакет данных с привязкой ко времени от первого объекта через второй сетевой тракт к третьему объекту.
[0015] В некоторых случаях информация о конфигурации сети включает в себя, по меньшей мере, одно из: качества обслуживания (QoS) или идентификатора группы виртуальной локальной сети (VLAN)
[0016] В некоторых случаях TsSDN-контроллер может принимать пакет данных, который должен быть доставлен от первого объекта к четвертому объекту через сетевую инфраструктуру, определять на основе отсутствия активности протокола резервирования потока и качества обслуживания, что пакет данных является пакетом данных по принципу максимальной эффективности, который не чувствителен ко времени или не учитывает время, определять третий сетевой тракт через сетевую инфраструктуру, используя одно или несколько нечувствительных ко времени сетевых устройств для доставки пакета данных по принципу максимальной эффективности и передавать пакет данных по принципу максимальной эффективности от первого объекта через третий сетевой тракт к четвертому объекту.
[0017] В некоторых случаях каждый из первого и второго объектов может быть объектом в системе промышленной автоматизации.
[0018] В некоторых случаях каждый из первого и второго объектов может быть объектом в системе автоматизации транспортных средств.
[0019] В другом примерном варианте осуществления энергонезависимый машиночитаемый носитель имеет сохраненные на нем последовательности инструкций, которые при исполнении одной или несколькими машинами инструктируют машинам принимать требование по синхронизации для доставки чувствительного ко времени пакета данных, исходящего от первого объекта, ко второму объекту через сетевую инфраструктуру, включающую в себя чувствительные ко времени и нечувствительные ко времени сетевые устройства, определять первый сетевой тракт через сетевую инфраструктуру, используя одно или более только чувствительных ко времени сетевых устройств, причем первый сетевой тракт имеет прогнозируемое время задержки, что обеспечивает сквозную задержку для чувствительного ко времени пакета данных, которая должна быть меньше, чем требование по синхронизации, связанное с чувствительным ко времени пакетом данных, и передавать чувствительный ко времени пакет данных от первого объекта через первый сетевой тракт ко второму объекту. Чувствительный ко времени пакет данных может переходить через прикладной уровень, стек операционной системы, плоскость управления и плоскость данных в каждом из первого и второго объектов. Сквозная задержка для пакета данных может учитывать задержку на каждом уровне, через который проходит пакет данных после того, как он вызван на прикладном уровне первого объекта.
[0020] В другом примерном варианте осуществления способ для передачи пакетов данных через сетевую инфраструктуру, содержащую чувствительные ко времени и нечувствительные ко времени сетевые устройства, может включать в себя прием контроллером чувствительной ко времени программно определяемой сети (TsSDN) требований по синхронизации для связи от говорящего устройства к прослушивающему устройству и информации о сетевой загрузке от множества сетевых устройств. Контроллер может определять, на основе требования по синхронизации и информации о сетевой загрузке, сетевой тракт через сетевую инфраструктуру, причем сетевой тракт имеет прогнозируемое время задержки, что обеспечивает сквозную задержку для связи, которая соответствует требованию по синхронизации. Контроллер может программировать одно или более из множества сетевых устройств в сетевом тракте, чтобы резервировать полосу пропускания, чтобы гарантировать требование по синхронизации для связи от говорящего устройства к прослушивающему устройству и передавать пакеты данных от говорящего устройства к прослушивающему устройству через сетевой тракт.
[0021] В некоторых случаях, требование по синхронизации может указываться в запросе от говорящего устройства в TsSDN-контроллер.
[0022] В некоторых случаях контроллер может принимать от каждого говорящего устройства и прослушивающего устройства задержку устройства.
[0023] В некоторых случаях сквозная задержка может быть рассчитана на основе задержек устройства, полученных от говорящего или прослушивающего устройств, и задержек сетевых устройств, связанных с одним или несколькими из множества сетевых устройств в сетевом тракте.
[0024] В некоторых случаях задержка устройства может быть суммой задержек, с которыми сталкивается пакет данных, когда он проходит через прикладной уровень, стек операционной системы, плоскость управления и плоскость говорящего устройства или прослушивающего устройства.
[0025] В некоторых случаях говорящее устройство и прослушивающее устройство могут включать в себя физическое устройство или виртуальное устройство, размещенное на машине.
[0026] В некоторых случаях TsSDN-контроллером может быть контроллер программно-определяемой сети (SDN), имеющий модуль управления временем.
[0027] В некоторых случаях каждое из говорящих или прослушивающих устройств может быть устройством системы промышленной автоматизации.
[0028] В некоторых случаях каждое из говорящих или прослушивающих устройств может быть устройством системы автоматизации транспортных средств.
[0029] В другом примерном варианте осуществления энергонезависимый машиночитаемый носитель имеет сохраненные на нем инструкции, которые при исполнении одной или несколькими машинами инструктируют машинам принимать требования по синхронизации для обмена данными от говорящего устройства к прослушивающему устройству и информацию о сетевой загрузке от множества сетевых устройств, на основе требования по синхронизации и информации о сетевой загрузке определять сетевой тракт через сетевую инфраструктуру, причем сетевой тракт имеет прогнозируемое время задержки, что обеспечивает то, что сквозная задержка для связи соответствует требованию по синхронизации, программировать одно или более из множества сетевых устройств в сетевом тракте, чтобы резервировать полосу пропускания, чтобы гарантировать требование по синхронизации для связи от говорящего устройства к прослушивающему устройству и передавать пакеты данных от говорящего устройства к прослушивающему устройству через сетевой тракт.
[0030] В еще одном примерном варианте осуществления способ определения кратчайшего тракта от говорящего устройства к прослушивающему устройству в чувствительной ко времени программно-определяемой сети может включать использование алгоритма Дейкстры для вычисления стоимостей на все возможные тракты от говорящего устройства к прослушивающему устройству в чувствительной ко времени программно-определяемой сети для определения сетевого тракта, имеющего наименьшую стоимость, обнаружение увеличения нагрузки на канал по сетевому тракту от говорящего устройства к прослушивающему устройству, реагирование на обнаружение увеличения нагрузки, динамическое обновление стоимости канала, чтобы включать основанную на нагрузке стоимость и пересчитывать стоимость всех возможных трактов от говорящего устройства к прослушивающему устройству, используя алгоритм Дейкстры, чтобы определять кратчайший тракт для передачи пакетов данных от говорящего устройства к прослушивающему устройству, при этом кратчайший тракт соответствует сетевому тракту, имеющему наименьшую стоимость.
[0031] В некоторых случаях все возможные тракты от говорящего устройства к прослушивающему устройству могут включать в себя тракты только через чувствительные ко времени сетевые устройства, причем чувствительная ко времени программно-определяемая сеть содержит чувствительные ко времени и нечувствительные ко времени сетевые устройства.
[0032] В некоторых случаях чувствительные ко времени потоки через чувствительные ко времени сетевые устройства могут отслеживаться для обнаружения добавления нового потока к чувствительному ко времени сетевому устройству, в ответ может быть скорректирована стоимость линий связи с чувствительным ко времени сетевым устройством и может быть выполнен пересчет для определения кратчайшего тракта от говорящего устройства к прослушивающему устройству.
[0033] В некоторых других случаях чувствительные ко времени потоки через чувствительные ко времени сетевые устройства могут отслеживаться, чтобы обнаруживать, когда чувствительное ко времени сетевое устройство превышает пороговое количество потоков, проходящих через него, в ответ может быть скорректирована стоимость линий связи с чувствительным ко времени сетевым устройством и может быть выполнен пересчет для определения кратчайшего тракта.
[0034] В некоторых случаях все возможные тракты от говорящего устройства к прослушивающему устройству могут включать в себя тракты только через нечувствительные ко времени сетевые устройства, причем чувствительная ко времени программно-определяемая сеть содержит чувствительные ко времени и нечувствительные ко времени сетевые устройства.
[0035] В некоторых случаях алгоритм Дейкстры может быть реализован на логически централизованном контроллере чувствительной ко времени программно-определяемой сети.
[0036] В некоторых случаях увеличение нагрузки на канал может быть обнаружено на основе информации, полученной TsSDN-контроллером (например, от диагностической службы, связанной с OpenFlow, или модуля мониторинга статистики).
[0037] В другом примерном варианте осуществления энергонезависимый машиночитаемый носитель имеет сохраненные на нем инструкции, которые при выполнении одной или несколькими машинами инструктируют машинам определять кратчайший тракт от говорящего устройства к прослушивающему устройству в чувствительной ко времени программно-определяемой сети, могут содержать использование алгоритма Дейкстры для расчета стоимостей по всем возможным трактам от говорящего устройства к прослушивающему устройству в чувствительной ко времени программно-определяемой сети для определения сетевого тракта с наименьшей стоимостью, определять увеличение нагрузки на линию связи по сетевому тракту от говорящего устройства к прослушивающему устройству, реагировать на обнаружение увеличения нагрузки, динамически обновлять стоимость линии связи, чтобы включать стоимость, основанную на нагрузке, и пересчитывать стоимость всех возможных трактов от говорящего устройства к прослушивающему устройству, используя алгоритм Дейкстры определять кратчайший тракт для передачи пакетов данных от говорящего устройства к прослушивающему устройству, где кратчайший тракт соответствует сетевому тракту, имеющему наименьшую стоимость.
Краткое описание чертежей
[0038] Фиг. 1A является блок-схемой, иллюстрирующей традиционную сеть по сравнению с программно-определяемой сетью ("SDN").
[0039] Фиг. 1B является блок-схемой, иллюстрирующей традиционную реализацию сетевого устройства по сравнению с реализацией устройства SDN.
[0040] Фиг. 1C является блок-схемой, иллюстрирующей архитектуру SDN.
[0041] Фиг. 1D является блок-схемой, иллюстрирующей примерные компоненты SDN-контроллера.
[0042] Фиг. 2 является блок-схемой, иллюстрирующей промышленную область управления SDN в соответствии с некоторыми вариантами осуществления.
[0043] Фиг. 3A является блок-схемой, иллюстрирующей примерные компоненты контроллера чувствительной ко времени SDN (TsSDN) в соответствии с первым вариантом осуществления.
[0044] Фиг. 3B является блок-схемой, иллюстрирующей примерные компоненты TsSDN-контроллера в соответствии со вторым вариантом осуществления.
[0045] Фиг. 3C является блок-схемой, иллюстрирующей примерные компоненты TsSDN-контроллера в соответствии с третьим вариантом осуществления.
[0046] Фиг. 3D является блок-схемой, иллюстрирующей альтернативные кратчайшие тракты, определенные посредством TsSDN-контроллера в соответствии с третьим вариантом осуществления.
[0047] Фиг. 3E является блок-схемой, иллюстрирующей многолучевую маршрутизацию различных типов трафика в соответствии с некоторыми вариантами осуществления.
[0048] Фиг. 3E и 3F являются блок-схемами, иллюстрирующими реализацию модифицированного алгоритма Дейкстры, который учитывает нагрузку и стоимость на основе задержки для определения кратчайшего тракта через сеть в соответствии с некоторыми вариантами осуществления.
[0049] Фиг. 3G является блок-схемой, иллюстрирующей устройства инфраструктуры, управляемые TsSDN-контроллером, в соответствии с некоторыми вариантами осуществления.
[0050] Фиг. 4 является блок-схемой, иллюстрирующей обнаружение сетевого тракта через инфраструктуру, содержащую комбинацию чувствительных ко времени сетевых устройств (TSN) и не-TSN-устройств для доставки чувствительных ко времени данных с гарантированной детерминированной производительностью.
[0051] Фиг. 5 является блок-схемой, иллюстрирующей обработку чувствительной ко времени и нечувствительной ко времени связи.
[0052] Фиг. 6А, 6В и 6С являются логическими схемами последовательности операций, иллюстрирующими примерные способы передачи пакетов данных чувствительных ко времени, с привязкой ко времени или основанных на принципе максимальной эффективности соответственно через сетевую инфраструктуру, включающую чувствительные ко времени и нечувствительные ко времени сетевые устройства.
[0053] Фиг. 6D является логической схемой последовательности операций, иллюстрирующей примерный способ передачи потоков пакетов по сетевому тракту, зарезервированному, чтобы гарантировать заданное требование по синхронизации.
[0054] Фиг. 7 показывает схематическое представление машины в примерной форме компьютерной системы, в которой может выполняться набор инструкций, для инструктирования машине выполнять любые одну или более технологий, поясненных в данном документе.
Подробное описание изобретения
[0055] Настоящее раскрытие описывает систему и способ обработки сообщений с характеристикой, соответствующей чувствительности ко времени, привязке ко времени или принципу максимальной эффективности в программно-определяемой сети (SDN), включающей управление временем или временную область. Такая чувствительная ко времени SDN (TsSDN) может содержать как чувствительные ко времени, так и нечувствительные ко времени сетевые устройства. TsSDN-контроллер в некоторых вариантах осуществления может управлять сетью, определяя, связан ли пакет данных, исходящий от передающего устройства и подлежащий доставке в приемное устройство, с одной из характеристики, соответствующей чувствительности ко времени, характеристики, соответствующей привязке ко времени, и характеристики, соответствующей принципу максимальной эффективности. Затем TsSDN-контроллер может определять сетевой тракт для передачи пакета данных от передающего устройства к принимающему устройству с гарантированной сквозной задержкой для удовлетворения упомянутой характеристики. Пакет данных затем может быть передан от передающего устройства по сетевому тракту к принимающему устройству. В некоторых вариантах осуществления сквозная задержка для пакета данных учитывает задержку через каждый уровень, через который проходит пакет данных после того, как он сформирован на прикладном уровне передающего устройства. В частности, сквозная задержка может быть определена на основе задержек устройств, встречающихся на прикладном уровне и уровнях стека в передающем и принимающем устройствах, а также задержек в плоскости управления, где находится TsSDN-контроллер, и плоскостях данных, где находятся сетевые устройства, которые пересылают пакеты данных.
[0056] Эти и другие варианты осуществления и аспекты TsSDN-сети, а также ее преимущества будут теперь описаны подробно.
1. Программно-определяемая сеть (SDN)
[0057] Сетевые архитектуры системы управления производственным процессом являются сложными и иерархическими по своему характеру. Типичная система управления производственным процессом использует иерархию сетевых уровней для разделения задач в многоуровневую архитектуру. Например, сетевая архитектура ICS может включать в себя сеть устройств, сеть управления, сеть предприятия и офисную сеть. В самом нижнем уровне архитектура сегментируется на функциональные модули, где каждое промышленное устройство, к примеру PLC, имеет четко определенную сферу влияния. Это является сложным и трудоемким для управления, поскольку связь между устройствами и между уровнями строго управляется. Это решение требует нескольких подсетей, реализованных через отдельные физические сети или виртуальные локальные сети (VLAN) и шлюзы, которые требуют сложной ручной настройки. Внедрение и поддержка этих сетей требует высокой квалификации в области сетей, которая часто недоступна при установке.
[0058] При рассмотрении технологии коммутации Ethernet возникают две проблемы: плоскость управления и плоскость данных. Плоскость данных - это трафик, проходящий через коммутатор. Плоскость управления связана с управлением и конфигурацией коммутатора для управления направлением, формой или сегментацией трафика данных в различных частях сети. В традиционных технологиях коммутации (описанных со ссылкой на фиг. 1A и 1B), которые распространены в промышленной автоматизации, каждый коммутатор управляет своей собственной плоскостью управления. Поэтому каждый коммутатор настраивается индивидуально и действует несколько автономно от соседних коммутаторов. Этим сложно управлять, и параметры системы, такие как VLAN и качество обслуживания (QoS), должны быть тщательно применены к каждому коммутатору в отдельности.
[0059] SDN представляет альтернативу этой архитектуре. SDN - это сетевая архитектура, в которой система, которая принимает решения о том, куда отправляется трафик (т.е. плоскость управления), отделяется от базовых систем, которые перенаправляют трафик в выбранный пункт назначения (т.е. плоскость данных). Проще говоря, SDN делает сеть программируемой. С SDN сетевые администраторы могут управлять сетевыми службами посредством абстрагирования функциональности более высокого уровня.
[0060] Архитектура SDN - это многоуровневая архитектура, основанная на трех основных принципах:
(1) Разделение плоскостей управления и данных: Этот принцип позволяет отделить механизм пересылки от управления сетевыми ресурсами. Другими словами, управление сетью работает на абстрактных механизмах пересылки, позволяющих сетевым элементам стать предметом использования.
(2) Логически централизованное управление: в представлении SDN, контроллер является оркестратором сетевых элементов. Логически централизованное управление относится к представлению сетевой инфраструктуры как целостного объекта, предоставляя SDN-контроллеру глобальный контроль над всеми сетевыми ресурсами, то есть контроллер ведет себя как объект центрального управления и контроля.
(3) Предоставление абстрактных сетевых ресурсов и состояния внешним приложениям: Сеть как виртуальная функция является основной движущей силой этого принципа. Разделение плоскостей управления и данных позволяет SDN-контроллеру предоставлять сетевую абстракцию другим контроллерам или приложениям, что является рекурсивной абстракцией сетей и их элементов.
[0061] Фиг. 1A является блок-схемой, иллюстрирующей традиционную организацию сетей по сравнению с SDN. Фиг. 1B является блок-схемой, иллюстрирующей традиционную реализацию сетевого устройства по сравнению с реализацией устройства SDN.
[0062] Традиционная сетевая архитектура состоит из выделенных сетевых устройств 102, таких как, но не ограничиваясь ими: маршрутизаторы, коммутаторы, брандмауэры и т.п., предоставляемые различными поставщиками, с обоими из плоскости 105 управления и плоскости 110 данных на одном устройстве. Кроме того, сетевая инфраструктура от разных поставщиков гарантирует, что каждое устройство управляется индивидуально с использованием проприетарного интерфейса поставщика, что делает подготовку, обслуживание и вывод из эксплуатации чрезвычайно трудоемкими и дорогостоящими. Использование специализированного оборудования, а иногда и настраиваемых протоколов гарантирует, что реализация и доступность сетевых функций диктуется поставщиками. Это также соответствует бизнес-модели поставщика и жизненному циклу продукта, а не потребностям при развертывании сети. Например, на фиг. 1A, каждый из коммутаторов 102a, 102b и 102c может требовать собственного проприетарного интерфейса 104a, 104b и 104c приложения и конфигурации соответственно.
[0063] В отличие от традиционных сетей, SDN характеризуется разделением функций управления сетью и пересылки. Управление сетью или интеллектуальность логически централизованы в SDN-контроллере 120, что позволяет сетевым администраторам динамически регулировать поток трафика в масштабах всей сети для удовлетворения меняющихся потребностей. Более того, даже несмотря на то, что программные SDN-контроллеры поддерживают глобальное представление о сети, приложения 106, механизмы политик и/или другие объекты представляются единым логическим объектом. При реализации через открытые стандарты (например, OpenFlow), SDN упрощает проектирование и работу сети, поскольку инструкции предоставляются SDN-контроллером 120 вместо множества специфических для производителя устройств и протоколов. SDN-контроллер 120 непосредственно управляет физическими сетевыми устройствами 108a, а также программными сетевыми устройствами 108b (например, Open vSwitch), размещенными на сервере или другом аппаратном обеспечении.
[0064] Ссылаясь на фиг. 1B, в типичном сетевом устройстве 102, таком как маршрутизатор или коммутатор, вся интеллектуальность находится в самом устройстве. Устройство обычно реализовано в трех плоскостях: плоскость 110а данных, плоскость 105а управления и плоскость 115а управления. Плоскость данных 110a является уровнем, ответственным за перемещение пакетов, и обычно реализуется в проприетарных аппаратных средствах провайдера с фиксированной методологией пересылки. Плоскость 105a управления является уровнем, ответственным за настройку решений о пересылке и обменах с другими устройствами. Это может быть реализовано в аппаратном обеспечении и/или микропрограммном обеспечении со специфическими для поставщика протоколами и функциями. Этот тип реализации приводит к существованию сложных и специализированных сетевых устройств. Плоскость 115 управления является уровнем, который обеспечивает интерфейс управления, и обычно реализуется как программное обеспечение в форме интерфейса командной строки (CLI). Реализация CLI зависит от поставщика, и, следовательно, ее трудно автоматизировать в среде с несколькими поставщиками. Таким образом, традиционное сетевое устройство 102 требует проприетарного приложения и конфигурации 104 для работы.
[0065] В отличие от традиционного сетевого устройства 102, основным подходом в SDN является разделение плоскости управления и плоскости данных и их соединение, как правило, с открытым протоколом. Этот подход позволяет развертывать протоколы и требования плоскости управления отдельно от плоскости данных, создавая тем самым пространство для обобщения.
[0066] В реализации 108 устройства SDN плоскость управления может быть реализована на CPU общего назначения, что снижает сложность сетевого оборудования и устраняет сложную реализацию протоколов в микропрограммном обеспечении. Кроме того, плоскость управления больше не привязана к конкретному сетевому устройству, поэтому возможно объединение плоскостей управления всех устройств. Это объединение является так называемым SDN-контроллером 120. Именно SDN-контроллер 120 обеспечивает централизованную сетевую интеллектуальность и обеспечивает целостное представление о сети. Плоскость 115b управления в SDN-устройстве 108 является самим приложением SDN. Это программируемая часть SDN, и она нацелена на предоставление свободы управления сетью и проектирования, ориентированного на потребности пользователей в сети.
[0067] Один аспект SDN на основе OpenFlow заключается в том, что плоскость 110b данных работает с потоками, а не со статическими таблицами поиска, такими как таблица MAC в коммутаторах или таблицы маршрутизации в маршрутизаторах. Потоки в SDN лучше всего описываются как правила сопоставления с образцом, используемые для коммутации пакетов. OpenFlow является независимым от производителя стандартом и одним из наиболее распространенных протоколов, используемых SDN-контроллерами для программирования базового оборудования плоскости данных. Этот принцип, сводящий сложность протоколов управления к одному протоколу и позволяющий осуществлять поиск на основе потоков с использованием высокоскоростной памяти, такой как троичная ассоциативная память (TCAM), является тем, что может привести к упрощению инфраструктурных устройств и аппаратного обеспечения, реализуемых на рынке.
[0068] Назначение SDN-контроллера 120 состоит в том, чтобы отделить управление сетью от тракта данных и обеспечить абстракцию сетевых услуг. Как показано на фиг. 1C, SDN-контроллер является посредником между сетевым приложением или приложением 106 SDN и базовой сетевой инфраструктурой, содержащей сетевые элементы 108.
[0069] В плоскости 105a управления SDN-контроллер 120 реализует интерфейс плоскости контроллера приложения (A-CPI) и предоставляет односторонние интерфейсы (NBI) или API 125 пользователям SDN-контроллера для разработки приложений, ориентированных на сеть, не заботясь о деталях реализации сети.
[0070] Плоскость 105a управления является самим SDN-контроллером 120. Эта плоскость представляет центральную интеллектуальность сети SDN. Хотя SDN-контроллер 120 может быть физически распределен, он логически централизован в этой плоскости. Подробная архитектура контроллера зависит от конкретной реализации, но в целом контроллер 230 SDN реализует интерфейс плоскости контроллера данных (D-CPI) и предоставляет южные API-интерфейсы 130 для связи и непосредственного управления сетевыми элементами или устройствами 108, находящимися в плоскости 110b данных.
[0071] Текущий ландшафт SDN-контроллеров можно разделить на открытые и проприетарные контроллеры. Открытый исходный код нацелен в основном на многофункциональный SDN-контроллер, а проприетарные контроллеры ориентированы на конкретные приложения. Для совместимости, предпочтительно, чтобы SDN-контроллер был независимым от поставщика. Неограничивающие примеры SDN-контроллеров включают OpenDaylight (ODL), который предлагает множество сетевых служб и южных протоколов, и ONOS, который предлагает высокую производительность.
[0072] Плоскость управления централизованно управляется SDN-контроллером, который выдает конфигурации отдельным коммутаторам или сетевым устройствам. Но для коммутаторов с поддержкой SDN эта конфигурация может быть гораздо более универсальной и обеспечивает меру контроля над потоками, ранее недоступную для обычных коммутаторов. Этот контроль позволяет выделять потоки связи между двумя устройствами и направлять их по всей сети. Например, рассмотрим два разных одновременных потока связи между двумя устройствами, например, HTTP и Modbus TCP. С помощью SDN два потока могут быть направлены по разным трактам через сеть. Протокол Modbus TCP может проходить прямой тракт между двумя устройствами, в то время как HTTP может быть направлен в облачную платформу через виртуальный брандмауэр, а затем на другое устройство. Это невозможно с обычными коммутаторами, так как эти коммутаторы не имеют доступа к содержимому сообщений и подчиняются полностью или ничего контролируют касательно связей между двумя устройствами.
[0073] Такой уровень контроля над потоками устраняет необходимость в многоуровневой и сегментированной архитектуре, используемой сегодня в промышленных сетях. Соответственно, разрешенный SDN-контроллером, каждый поток может индивидуально управляться для реализации простой плоской сети для использования всеми устройствами, подключенными на одном топологическом уровне.
[0074] Одним из преимуществ гранулярного уровня управления потоками является повышенный уровень безопасности, поскольку в сегмент допускаются только разрешенные потоки. Эта возможность управления потоками может также использоваться для избыточности сети и устройства. Для обеспечения избыточности сети SDN-контроллер может перенаправлять потоки вокруг линий связи, которые не работают или испытывают некоторое снижение производительности. Эту же возможность можно использовать для балансировки нагрузки сетевых линий связи.
[0075] Таким образом, SDN может обеспечить беспрецедентный контроль над потоками в сети и, таким образом, обеспечить архитектуру плоской сети для использования в ICS. SDN-контроллер может управлять потоками в сети, чтобы обеспечивать необходимое разделение потоков, которое ранее достигалось с помощью сложных иерархических топологий, позволяя внедрять более простые и легкие в управлении плоские архитектуры в ICS.
[0076] Множество различных SDN-контроллеров было предложено или доступно на рынке, и, как отмечалось ранее, архитектура SDN-контроллера зависит от реализации, при этом различные контроллеры имеют различные наборы компонентов и свойств. SDN-контроллер 120 с примерным набором компонентов показан на фиг. 1D. Некоторые SDN-контроллеры включают в себя абстракцию уровня обслуживания (SLA) 136, которая поддерживает сосуществование нескольких различных южных API (например, OpenFlow, OVSDB) и протоколов (например, SNMP, NETCONF). Все SDN-контроллеры включают в себя некоторую форму логики 122 управления SDN, которая использует функциональные возможности управления сетью, предоставляемые такими компонентами, как диспетчер 124 устройств, диспетчер 126 топологии, диспетчер 128 статистики, модуль 132 уведомлений, модуль 134 безопасности и/или т.п. Диспетчер 124 устройств может управлять устройствами в сети. Например, диспетчер 124 устройств может обнаруживать, когда устройство добавляется или удаляется из сети. Диспетчер 126 топологии может обнаруживать изменения топологии в сети и поддерживать актуальную топологию сети. Диспетчер 128 статистики может собирать статистику, относящуюся к мониторингу сетевых функций и устройств (например, статистику потока, генерируемую пересылающими устройствами). Например, модуль 132 уведомлений может принимать, обрабатывать и выполнять действия в отношении событий (например, уведомлений о тревогах, изменений состояния). Модуль безопасности может предоставлять обеспечение безопасности.
[0077] Фиг. 2 является блок-схемой, иллюстрирующей промышленную область управления SDN в соответствии с некоторыми вариантами осуществления. SDN может быть развернут в промышленной среде для управления промышленной сетью и устройствами. В дополнение к реальным физическим сетевым устройствам и реальным физическим промышленным устройствам, уровень 110b инфраструктуры также может иметь виртуальные сетевые устройства и виртуальные промышленные устройства. Устройства, изображенные в виртуальной среде 202, представляют собой виртуализированные экземпляры физических устройств, включая в себя сетевые устройства 208, такие как коммутаторы, маршрутизаторы, брандмауэры и тому подобное, и другие устройства, такие как PC 202, PLC 206 и т.п. Они связаны через виртуальные линии связи. Сеть виртуальных устройств с виртуальными линиями связи называется виртуализированной сетью. Виртуальные устройства и сети располагаются на физических серверных узлах в облачной вычислительной среде 212, которая предоставляет ресурсы вычисления, хранения, идентификации и сетевые ресурсы. Облачная вычислительная среда 212 является частью реальной сети. Это означает, что реальная сеть и виртуализированная сеть связаны между собой, образуя управляющий домен SDN-контроллера.
[0078] Некоторые инфраструктурные устройства в промышленной области объединяют инфраструктуру и конечное устройство в одно устройство. Например, PLC, который действует как PLC и как коммутатор. Таким образом, эти типы промышленных устройств подходят для прямого управления SDN-контроллером. Для управления SDN-контроллером устройство должно реализовывать как минимум один южный интерфейс выбранного SDN-контроллера. Одним из примеров решения является использование такого устройства для реализации OpenFlow или аналогичного протокола. Внедрение OpenFlow на уровне промышленного устройства приведет к управлению SDN на уровне устройства.
2. Чувствительная ко времени сеть (TSN)
[0079] Чувствительная ко времени сеть (TSN) представляет собой одну из крупного набора технологий, обуславливающих полностью детерминированную связь в реальном времени. TSN достигает детерминированной связи в реальном времени посредством использования централизованного управления, временной синхронизации и диспетчеризации. В TSN-сети, сообщения или пакеты данных передаются на основе расписания и приоритета, чтобы гарантировать максимальное ограниченное время задержки и надежность. В связи с этим, TSN-технология может обеспечивать возможность управляющим приложениям, к примеру, приложениям в промышленных и автомобильных проблемных областях, передавать критичные данные по стандартной Ethernet-инфраструктуре, исключая потребность в специализированных протоколах, чтобы обрабатывать данные реального времени.
[0080] Инфраструктурные устройства придерживаются классической архитектуры сетевых устройств в том смысле, что они имеют:
(i) Плоскость данных - в которой возникает фактическое перенаправление
(ii) Плоскость управления - в которой конфигурируются решения по перенаправлению
(iii) Плоскость администрирования - в которой устройство администрируется своим владельцем
[0081] Инфраструктура затем может характеризоваться на основе характеристик сети между устройствами и цели. С точки зрения сети, предусмотрены следующие типы устройств:
(i) Краевые устройства - устройства, которые формируют и/или используют данные, такие как PLC и ввод-вывод.
(ii) Транспортные устройства - такие устройства, как коммутаторы и маршрутизаторы, которые просто перенаправляют данные через сеть
(iii) Устройства предоставления сетевых услуг - устройства, которые выполняют обработку и перенаправление данных, такие как DPI
[0082] На основе вышеуказанной классификации устройств, весь диалог касательно инфраструктуры может фактически преобразовываться в диалог касательно данных, в которых инфраструктура транспортирует, и политик, которые регулируют распределение данных.
[0083] Данные (например, в промышленной проблемной области, в автомобильной проблемной области) могут описываться следующим образом:
(i) Чувствительные ко времени данные (TSD) -этот тип данных требует доставки от производителя потребителю надежно и немедленно. По сути, они требуют сквозной привязки по времени с надежностью в шесть девяток. Время отклика приложений (ART) для этого типа данных типично рассматривается как меньшее 1 мс.
(ii) Данные с привязкой по времени (TAD) -этот тип данных предположительно должен иметь детерминированное качество. Хотя они не являются чувствительным ко времени, они имеют привязку по времени в силу наличия понятия тайм-аута. ART для этого типа данных составляет приблизительно в диапазоне миллисекунд.
(iii) Данные на основе принципа максимальной эффективности (BED) -этот тип данных является несущественной информацией, которая может просто транслироваться в общий сетевой трафик с обслуживанием по принципу максимальной эффективности.
[0084] Вышеуказанные типы данных могут быть ассоциированы со следующими сетевыми стандартами:
(i) TSN (IEEE 802.1AS-rev, IEEE 802.1Qbv, IEEE 802.1Qbu, IEEE 802.1Qca, IEEE 802.1CB, IEEE 802.1Qcc, IEEE 802.1Qci, IEEE 802.1Qch): управление и регулирование чувствительных ко времени данных
(ii) QoS (IEEE 802.1Q, IEEE 802.1P): управление и регулирование данных с привязкой по времени и данных на основе принципа максимальной эффективности
3. Чувствительная ко времени SDN (TsSDN)
[0085] Хотя SDN обеспечивает беспрецедентное и детализированное управление сетевыми ресурсами и потоками, она не имеет понятия времени. SDN-контроллеры могут реализовывать традиционные механизмы снабжения временными метками для снабжения каждого сообщения меткой со временем, в которое оно принято или отправлено. Тем не менее, такие механизмы не имеют понятия времени в том смысле, что они не могут интерпретировать или понимать последствия времени. Например, SDN-контроллер/устройство не допускает отклонение пакетов, принимаемых после полуночи, или разрешение пакетам переходить через сетевое устройство между 1:00 и 4:00. Аналогично, SDN-контроллер может определять тракт через сетевую инфраструктуру, но такой тракт не рассматривает то, являются ли, данные, которые должны передаваться, чувствительными ко времени, имеют привязку по времени или основаны на принципе максимальной эффективности.
[0086] В соответствии с настоящим раскрытием, это ограничение SDN-технологии может преодолеваться посредством интегрирования администрирования во временной области в SDN-контроллер, чтобы создавать чувствительный ко времени SDN-(TsSDN-)контроллер. Примерные компоненты TsSDN-контроллера в соответствии с первым вариантом осуществления проиллюстрированы на фиг. 3A. TsSDN-контроллер 325A включает в себя управляющую TsSDN-логику 322A, имеющую диспетчер 324 устройств, диспетчер 326 топологий, диспетчер 328 статистики, модуль 332 выдачи уведомлений и модуль 334 обеспечения безопасности. Эти компоненты имеют функции, аналогичные/идентичные функциям компонентов SDN-контроллера 120 по фиг. 1D. Управляющая TsSDN-логика 322A также включает в себя модуль 338 администрирования времени, отвечающий за обеспечение привязки по времени. Модуль 338 администрирования времени может иметь северный интерфейс для сопряжения с приложениями и южный интерфейс для сопряжения с сетевыми устройствами.
[0087] Обеспечение привязки по времени для SDN-контроллера не обязательно означает полную реализацию TSN-требований (т.е. весь комплект TSN-протоколов). В некоторых вариантах осуществления, привязка по времени может включать в себя способность отличать потоки (для OpenFlow-реализации) или данные, которые являются чувствительными ко времени, от потоков или данных, которые не являются чувствительными ко времени. TsSDN-контроллер в таком случае должен иметь возможность отделять чувствительные ко времени тракты от общих трактов трафика и в силу этого создавать соответствующие наложения, чтобы приспосабливать различение характеристик устройства относительно привязки по времени. Таким образом, TsSDN-контроллер может предоставлять сквозное администрирование ART посредством использования принципов TSN-технологий, включающих в себя централизованное администрирование и глобальное время, а также привязку по времени. TsSDN в силу этого должна иметь возможность гарантировать транспортировку сообщений по сети, содержащей устройства с поддержкой TSN (или TSN-устройства) с ограниченным низким временем задержки, низким варьированием задержки при передаче пакетов и низкими потерями пакетов. Устройства с поддержкой TSN, при использовании в данном документе, представляют собой устройства, включающие в себя сетевые устройства, поддерживающие либо реализующие некоторые или все TSN-протоколы. В некоторых вариантах осуществления, примерные способы, реализованные посредством модуля 338 администрирования времени, описываются в отношении фиг. 6A-6D.
[0088] TSN включает в себя TSN-устройства или объекты, реализующие TSN-протоколы, связанные с управлением и регулированием чувствительных ко времени данных. Хотя TSN-технология быстро совершенствуется в направлении, в котором специальный TSN-конфигуратор может конфигурировать всю TSN, технология по-прежнему основывается на специальных аппаратных средствах, придерживающихся конкретных стандартных определений и обмена информацией между TSN-объектами с использованием предопределенных протоколов и некоторого вида специализированной сети. TsSDN-контроллер, с другой стороны, берет на себя ответственность для плоскости управления устройств. Например, TsSDN-контроллер может реализовывать SRP от имени всех устройств. Аналогично, OpenFlow в качестве SDN-протокола может расширяться, чтобы удовлетворять TSN-арсеналу протоколов. При надлежащем слиянии функциональности, TsOpenFlow может создаваться, чтобы конфигурировать все аспекты TSN-устройств непосредственно из TsSDN-контроллера.
[0089] Фиг. 3B иллюстрирует примерные компоненты TsSDN-контроллера 325B в соответствии со вторым вариантом осуществления. В этом варианте осуществления, SDN-контроллер может интегрироваться с TSN-приложением 342 посредством расширения контроллера (например, OpenDaylight) для того, чтобы реализовывать TSN-приложение 342, которое использует южный интерфейс, чтобы непосредственно считывать и управлять характеристиками TSN-устройств. В этом случае, OpenFlow-протокол может использоваться не для того, чтобы реализовывать временную область, а вместо этого для того, чтобы конфигурировать TSN-устройства таким образом, что они сохраняют TSN-установленную временную область.
[0090] Фиг. 3C иллюстрирует примерные компоненты TsSDN-контроллера 325C в соответствии с третьим вариантом осуществления. В этом варианте осуществления, модуль 344 чувствительной ко времени многотрактовой маршрутизации может предоставляться для централизованного вычисления наиболее эффективных трактов для маршрутизации, за счет этого предоставляя резервирование и повышая надежность полной TsSDN-управляемой сети. Модуль 344 может реализовывать любой из протоколов маршрутизации с анализом состояния линии связи, к примеру, протокол организации мостовых соединений по кратчайшему тракту (SPB), прозрачное взаимное соединение множества линий связи (TRILL) и т.п., и использовать такие технологии, как мультидерево с равной стоимостью (ECMT), алгоритм Дейкстры и/или организация трафика, чтобы определять или вычислять наиболее эффективные тракты на основе чувствительности ко времени и/или сетевой нагрузки. Одна конкретная реализация модуля 344 чувствительной ко времени многотрактовой маршрутизации может представлять собой чувствительный ко времени SPB-модуль (TsSPB-модуль), который реализует протокол организации мостовых соединений по кратчайшему тракту (SPB). SPB-протокол представляет собой стандартизированный протокол, указываемый в стандарте IEEE 802.1aq, который создает кратчайший тракт связи между сетевыми объектами. В стандартных сетях, он реализуется посредством каждого сетевого устройства в микропрограммном обеспечении. В этом примере, реализация SPB-протокола может перемещаться в TsSDN-контроллер 325C (например, в TsSPB-модуле), и в сочетании с OpenFlow или другими управляющими протоколами, TsSDN-контроллер 325C может формировать централизованный вид всех кратчайших трактов. В этом примере, SPB-протокол дополняется, чтобы включать в себя время и сетевую нагрузку в качестве атрибутов при маршрутизации на основе мультидерева с равной стоимостью (ECMT). В соответствии с этим вариантом осуществления, TsSPB-модуль может, с использованием дополненного SPB-протокола и ECMT-технологии, создавать или определять альтернативные кратчайшие тракты на основе чувствительности ко времени или нагрузки сети либо комбинации вышеозначенного. Информация перегрузки, которая служит признаком сетевой нагрузки, может собираться посредством SDN-модуля 346 балансировки нагрузки. Это поведение проиллюстрировано на фиг. 3G, который иллюстрирует определенное число кратчайших трактов через TSN-устройства 312 и не-TSN-устройства 308, которые TsSPB-модуль может определять. На схеме, кратчайший тракт для транспортировки потоков пакетов из устройства A в устройство B показан как проходящий через сетевые устройства 312A, 308A, 308B, 312F, и альтернативный кратчайший тракт из устройства A в устройство B проходит через сетевые устройства 312A, 312B, 308D, 312F. Для обоих трактов, гарантии не предоставляются относительно времени, и по сути, эти тракты могут не быть подходящими для чувствительных ко времени потоков пакетов. Тем не менее, потоки пакетов могут распределяться между двумя трактами для балансировки нагрузки. Также на идентичной схеме проиллюстрирован кратчайший TSN-тракт из устройства A в устройство B через сетевые устройства 312A, 312B, 312C, 312E, 312F. Альтернативный кратчайший TSN-тракт может проходить через сетевые устройства 312A, 312B, 312C, 312D, 312E и 312F. Оба TSN-тракта предоставляют гарантию относительно времени, и по сути, потоки пакетов могут распределяться между двумя TSN-трактами для балансировки нагрузки. Когда перегрузка сети учитывается, кратчайший TSN-тракт более не является идентичным. На схеме, кратчайший тракт для интенсивного TSN-трафика из устройства M в устройство N проходит через сетевые устройства 312C и 312E. Этот сетевой тракт предоставляет кратчайший тракт, который является чувствительным ко времени. В завершение, кратчайший тракт для интенсивного трафика, который является нечувствительным ко времени, из устройства X в устройство Y может проходить через сетевые устройства 308A и 308B. Этот тракт представляет собой кратчайший тракт, который не является чувствительным ко времени. Таким образом, TsSDN-контроллер 325C, через TsSPB-модуль и модуль 346 балансировки нагрузки, может определять организацию мостовых соединений по кратчайшему тракту, которая также является чувствительной ко времени и сбалансированной по нагрузке, переводя все аспекты организации трафика в сферу влияния TsSDN-контроллера 325C.
[0091] В некоторых вариантах осуществления, алгоритм Дейкстры может использоваться посредством модуля 344 чувствительной ко времени многотрактовой маршрутизации для того, чтобы идентифицировать кратчайший тракт для TSN-трафика и/или не-TSN-трафика через сеть. Алгоритм Дейкстры непрерывно исключает более длинные тракты между исходным или начальным узлом и всеми возможными целевыми узлами. Более длинные тракты могут иметь более высокую стоимость, которая типично приписывается скорости линии связи (т.е. стоимость являются инверсией скорости линии связи). Алгоритм начинается в силу наличия подтвержденных или посещенных и неподтвержденных/непосещенных наборов. Узлы в неподтвержденных наборах имеют тракт в изначальный узел, но ожидают оценки. Узлы в подтвержденных наборах оценены. Могут выполняться следующие этапы:
1. Задание расстояния изначального узла равным 0.
2. Задание всех других расстояний равными очень высокому значению.
3. Задание изначального узла в качестве текущего и добавление всех узлов в неподтвержденный набор.
4. Повторение следующих этапов a-c в то время, когда неподтвержденный набор не является пустым:
a. из текущего узла, вычисление расстояний до всех его соседних узлов и сравнение новых вычисленных расстояний с текущими назначенными значениями и назначение меньшего из них.
b. добавление текущего узла в подтвержденный набор и удаление из неподтвержденного набора после того, как этап a завершен.
c. выбор узла из неподтвержденного набора, который имеет кратчайшее расстояние, и его задание в качестве нового текущего узла.
[0092] Результат этого алгоритма представляет собой определение кратчайшего тракта из изначального узла во все возможные назначения. Чтобы иметь сеть, допускающую определение кратчайшего тракта, алгоритм Дейкстры должен реализовываться на каждом сетевом устройстве, что повышает сложность сетевого устройства. Кроме того, алгоритм не учитывает стоимости на основе времени и нагрузки. Например, высокоскоростной тракт через сетевое устройство A может иметь 50% своей полосы пропускания зарезервированной, что приводит к полной нагрузке плоскости данных. Эта информация нагрузки может использоваться для того, чтобы избегать высокоскоростного тракта, например, для чувствительного ко времени трафика. Ниже поясняется алгоритм Дейкстры, который улучшен таким образом, что он включает в себя стоимости на основе нагрузки и времени, который преодолевает эти и другие проблемы алгоритма Дейкстры.
[0093] Пример усовершенствованного алгоритма Дейкстры, который может реализовываться, посредством TsSDN-контроллера 325C (например, через модуль 344 чувствительной ко времени многотрактовой маршрутизации), проиллюстрирован на фиг. 3E. На схеме, некоторые тракты ассоциированы со значениями стоимости. Все неотмеченные тракты предположительно имеют стоимость в 100 и таким образом, эти неотмеченные тракты не сортируются и не выбираются посредством модифицированного алгоритма Дейкстры. В этом примере, сетевые тракты оцениваются на основе стоимости на основе нагрузки. Другими словами, вычисление стоимости может учитывать характеристики сетевой нагрузки. Другие дополнительные факторы, такие как скорость линии связи, могут быть включены в вычисление стоимости в некоторых вариантах осуществления.
[0094] Алгоритм Дейкстры может определять то, что кратчайший тракт между устройством A и устройством B проходит через сетевые устройства 312A, 308A, 308B, 312F, поскольку стоимость тракта составляет 1+1+1 или 3, в отличие от 2+2+2 или 6 через сетевые устройства 312A, 312B, 308D, 312F. Теперь предположим, что интенсивный трафик осуществляется между устройством X и устройством Y через сетевые устройства 308A и 308B. Когда TsSDN-контроллер обнаруживает такие уровни трафика (например, с использованием диагностических OpenFlow-признаков), он может динамически изменять стоимость линии связи между сетевыми устройствами 308A и 308B на число на основе нагрузки. Например, если нагрузка составляет 50%, прибавление 50 к существующей стоимости должно приводить к новой стоимости в 51. Теперь, когда алгоритм Дейкстры выполняется снова, он должен давать в результате 1+51+1 или 53 для тракта через 312A, 308A, 308B, 312F, в то время как тракт через 312A, 312B, 308D, 312F должен иметь стоимость 2+2+2 или 6. В этом примере, второй тракт должен представлять собой кратчайший тракт и в силу этого должен выбираться для транспортировки пакетов.
[0095] Чувствительные ко времени данные могут обрабатываться аналогичным образом. В этом случае, в дополнение к стоимости на основе нагрузки, должна возникать стоимость на основе времени задержки. Это означает то, что чем медленнее сетевое устройство, тем больше время задержки и в силу этого стоимость. Например, ссылаясь на фиг. 3F, давайте рассмотрим только TSN-тракт. Алгоритм Дейкстры может определять то, что стоимость быстрого ненагруженного тракта через сетевые устройства 312A, 312B, 312C, 312E, 312F составляет 2+3+3+1=9. Медленный ненагруженный тракт через сетевые устройства 312A, 312B, 312C, 312D, 312E, 312F составляет 2+3+3+1+1=10. Теперь при условии некоторой дополнительной нагрузки на 312C и 312E, стоимость первого тракта должна обновляться на 2+3+53+1=59. В этом случае, второй тракт должен выбираться для транспортировки TSN-трафика. Таким образом, TsSDN-контроллер, который имеет сведения по тому, сколько TSN-потоков проходят через одну точку в сети, может регулировать стоимость линий связи с этим устройством и повторно вычислять кратчайший тракт, соответственно.
[0096] Кроме того, как показано на фиг. 3F, TSN-устройства могут легко изолироваться от не-TSN-устройств. Это представляет собой другое преимущество централизованной системы. Эта централизация обеспечивает возможность алгоритмам Дейкстры, улучшенным с учетом стоимости на основе нагрузки и времени задержки, работать в поднаборах сети или во всей сети.
[0097] Фиг. 3G является блок-схемой, иллюстрирующей сетевую инфраструктуру согласно администрированию TsSDN-контроллера. Как проиллюстрировано, TsSDN-контроллер может администрировать TSN-устройства 312, которые реализуют TSN-протоколы, чтобы предоставлять гарантированную транспортировку сообщений из одного устройства в другое по сети. Существующая сетевая инфраструктура с большой вероятностью имеет не-TSN-устройства 308 в дополнение к TSN-устройствам 312, как проиллюстрировано. В таких случаях, SDN-устройства 312 также администрируются посредством TsSDN-контроллеров. TsSDN-контроллер 325 может непосредственно программировать каждое из этих TSN-устройств 308 и SDN-устройств 312 с возможностью реализовывать различные сетевые политики, включающие в себя то, как администрировать или обрабатывать (например, приоритезировать, перенаправлять/отклонять) различные классы данных.
[0098] Фиг. 4 иллюстрирует связь между говорящим устройством 416 и прослушивающим устройством 418 по сетевой инфраструктуре, которая содержит смешение TSN-устройств 412 и не-TSN-устройств 408, которые существуют в идентичной временной области. В модели развертывания "SDN в качестве подложки", все управление сетевой инфраструктурой (например, 408, 412) со всех точек зрения организации сетей администрируется посредством TsSDN-контроллера 425. Это означает то, что базовые протоколы, такие как комплект OpenFlow- и TSN-протоколов, непосредственно управляются посредством SDN. Кроме того, TsSDN-контроллер 425, говорящее устройство 416, прослушивающее устройство 418, а также сетевая инфраструктура реализуют временную синхронизацию 432. Временная синхронизация 432 достигается в силу наличия синхросигналов реального времени всех устройств, синхронизированных с ведущим тактовым генератором с большой точностью (например, в диапазоне наносекунд). Это предоставляет общую временную базу для сообщений, создаваемых в говорящем устройстве и представленных в прослушивающем устройстве, чтобы иметь идентичную относительную синхронизацию.
[0099] Чувствительная ко времени SDN может рассматриваться как содержащая плоскость управления, плоскость данных и временную область. Плоскость управления реализует TsSDN-контроллер, в то время как плоскость данных реализует связь посредством предоставления данных транспортировки своевременным способом. Временная область принудительно активирует привязку по времени в проблемной области SDN-управления. Плоскости соединяются с двумя понятиями ответственности:
(i) Оркестровка: Ответственность за автоматизированную компоновку, координацию и администрирование сложных сетевых элементов и протоколов таким образом, что они обслуживают чувствительное ко времени приложение.
(ii) Информация: Ответственность за сбор, анализ, интерпретацию, представление и организацию информации сети, что в свою очередь обеспечивает возможность чувствительному ко времени приложению реагировать на характеристики сети.
[00100] В некоторых вариантах осуществления, SDN в качестве конечного контроллера всей сети имеет потенциально конечное управление временной областью, либо через изолированный выбор тракта, либо через полное развертывание и оркестровку TSN. Это конечное управление делает его подходящим для гарантии действительно детерминированной доставки данных на сетевой уровень.
[00101] Рассмотрим пример реконструируемой промышленной сети, в которой имеется смесь устройств 412 с TSN-привязкой и устройств 408 без TSN-привязки. TsSDN-контроллер 425 может обнаруживать и обеспечивать временной сетевой тракт для чувствительных ко времени сообщений через существующую инфраструктуру. Чтобы обнаруживать сетевой тракт, который удовлетворяет требованиям по чувствительности ко времени сообщений, которые должны транспортироваться, должна определяться сквозная задержка для сообщений. Типично, вычисления сетевой задержки учитывают задержку только в плоскости данных сети, т.е. из одного сетевого устройства в другое. Тем не менее, в реальности, начиная со времени, когда пакет данных создается на прикладном уровне 422, пакет данных переходит через несколько уровней перед достижением плоскости 428 данных. Например, в говорящем устройстве 416 (т.е. в источнике пакета данных или в передающем устройстве), пакет данных переходит из прикладного уровня 422 через стек 424, который включает в себя операционную систему, предоставляющую средство связи (например, TCP/IP-стек, UDP-стек, Linux, Windows и т.д.) перед переходом в плоскость 426 управления и в завершение в плоскость 428 данных говорящего устройства. Далее, пакет данных переходит в плоскость данных сети, что включает в себя перенаправление элементов 408, 412, т.е. сетевых устройств, отвечающих за транспортировку по сети. После этого пакет данных переходит через плоскость 426 управления, стек 424 и прикладной уровень 422 прослушивающего устройства 418 (т.е. приемного устройства). Задержка, которую испытывает пакет данных при каждом из этих переходов через уровни, учитывается при вычислении сквозной задержки. TsSDN-контроллер 425 может вычислять сквозную задержку, поскольку временная синхронизация 432 обеспечивает возможность распространения задержки на уровне говорящего устройства 416, задержки на уровне прослушивающего устройства 418 и задержки на уровне плоскости сетевых данных в TsSDN-контроллер.
[00102] На фиг. 4, TsSDN-контроллер обнаруживает сетевой тракт для транспортировки чувствительного ко времени сообщения от говорящего устройства 416 к прослушивающему устройству 418 с использованием только TSN-устройств 412. Сетевой тракт 414 гарантирует то, что сквозная задержка для чувствительного ко времени сообщения удовлетворяет требованию по синхронизации чувствительного ко времени сообщения или приложения, которое создает чувствительное ко времени сообщение, и в силу этого достигает сквозной детерминированной связи.
[00103] В SDN/OpenFlow, поток представляет собой последовательность пакетов между источником и назначением. Фиг. 5 иллюстрирует обработку чувствительных ко времени и нечувствительных ко времени потоков, посредством TsSDN-контроллера (например, 325A, 325B, 325C) в промышленной проблемной области. Примерное PLC-устройство 516 может формировать два потока, включающие в себя пакеты данных, которые должны транспортироваться в диагностическую службу 518 и промышленное оборудование 522, соответственно. Когда пакет данных, ассоциированный с потоком, который должен доставляться в промышленное оборудование 522, принимается посредством сетевого устройства, он сначала перенаправляется или сообщается в TsSDN-контроллер 525, если сетевое устройство не имеет правил для перенаправления пакета данных. TsSDN-контроллер 525 затем определяет то, включает либо нет пакет данных в себя чувствительные ко времени данные или данные с привязкой по времени. Как описано выше, чувствительные ко времени данные (TSD) являются данными для решения критически важных задач, которые требуют мгновенной и надежной доставки с ART зачастую менее 1 мс, в то время как данные с привязкой по времени (TAD) имеют ART, которое типично находится в диапазоне миллисекунд. В некоторых вариантах осуществления, то, имеет либо нет пакет данных TSD или TAD, может определяться на основе информации, принимаемой из исходного устройства. Например, когда пользователь квалифицирует или указывает трафик в качестве TSD или TAD (например, через приложение управления производственным процессом, выполняющееся на PLC 516, либо через сетевое приложение, которое сопрягается с TsSDN-контроллером 525), каждая такая квалификация может транслироваться в конфигурационную информацию сети, которая может иметь форму групп идентификаторов VLAN, QoS-параметров и т.п. В некоторых реализациях, конфигурационная информация сети, указывающая характеристику, соответствующую чувствительности ко времени, может быть включена в оповещающее сообщение говорящего устройства по протоколу резервирования потоков (SRP). Другими словами, TsSDN-контроллер 525 может, на основе любой SRP-активности (которая представляет собой конкретный для TSN протокол), обнаруженной из исходного устройства, определять то, что пакет данных включает в себя TSD. TsSDN-контроллер 525 дополнительно может обнаруживать то, что пакет данных из исходного устройства представляет собой TAD, на основе QoS-параметров, ассоциированных с пакетом данных. Все другие пакеты данных могут считаться пакетами на основе принципа максимальной эффективности. Если пакет данных является чувствительным ко времени, TsSDN-контроллер 525 определяет сетевой тракт с максимальным временем задержки таким образом, что сквозная задержка для пакета данных меньше требования по чувствительности ко времени, ассоциированного с пакетом данных. В некоторых реализациях, TsSDN-контроллер 525 может получать требование по чувствительности ко времени из приложения управления производственным процессом, выполняющегося на PLC 516, или через сетевое приложение, которое сопрягается с TsSDN-контроллером 525, например, через RESTFULL-интерфейс на северной стороне контроллера. Сквозная задержка, как описано выше, может вычисляться на основе информации, ассоциированной с исходным устройством (т.е. PLC 516) и/или целевым устройством (т.е. промышленным оборудованием 522) и сетевыми устройствами. В некоторых вариантах осуществления, намерение использования сети, включающее в себя ассоциированную задержку или время задержки, способствующее сквозной задержке, характеристика чувствительности ко времени пакета данных и т.п. могут сообщаться посредством исходных и/или целевых устройств и сетевых устройств в TsSDN-контроллер. Характеристики сетевых устройств (например, ассоциированные времена задержки, доступная полоса пропускания, тип пакетов данных в очереди) могут определяться, посредством TsSDN-контроллера, посредством прямого опроса. Ссылаясь на фиг. 5, сетевой тракт, обнаруженный для транспортировки чувствительного ко времени потока из PLC 516 в промышленное оборудование 522, проходит через TSN-устройства 512a и 512b. TsSDN-контроллер 525 выбирает этот тракт, содержащий только чувствительные ко времени устройства, чтобы гарантировать то, что сквозная задержка в транспортировке пакетов данных, ассоциированных с потоком, удовлетворяет строгому требованию по синхронизации, ассоциированному с чувствительными ко времени данными.
[00104] Что касается второго потока из PLC 516 в диагностическую службу 518, TsSDN-контроллер 525 может аналогично определять, на основе контента пакета данных, ассоциированного с потоком, то, является поток чувствительным ко времени или имеет привязку по времени либо нет. Предположим, что поток определяется, посредством TsSDN-контроллера 525, как не имеющий ни одно, ни второе (т.е. как данные на основе принципа максимальной эффективности), и в таком случае TsSDN-контроллер 525 может определять сетевой тракт только через не-TSN-устройства. Как проиллюстрировано на фиг. 5, сетевой тракт для потока на основе принципа максимальной эффективности проходит через SDN-устройство 508a и 508c.
[00105] Фиг. 6A является логической блок-схемой последовательности операций, иллюстрирующей примерный способ передачи пакета чувствительных ко времени данных через сетевую инфраструктуру, содержащую чувствительные ко времени и нечувствительные ко времени сетевые устройства. Примерный способ содержит, на этапе 602, прием пакета данных, исходящего из первого устройства и направленного во второе устройство через чувствительную ко времени SDN. TsSDN-контроллер, на основе конфигурационной информации сети, ассоциированной с пакетом данных (например, SRP-активности, QoS, групп идентификаторов VLAN), может определять то, что пакет данных представляет собой пакет чувствительных ко времени данных, который включает в себя чувствительные ко времени данные, на этапе 604. На этапе 606, TsSDN-контроллер может принимать или определять требование по синхронизации, ассоциированное с пакетом чувствительных ко времени данных. На этапе 608, TsSDN-контроллер может определять сетевой тракт через сетевую инфраструктуру с использованием одного или более только чувствительных ко времени сетевых устройств. Сетевой тракт имеет прогнозируемое время задержки, которое приводит к тому, что сквозная задержка для пакета чувствительных ко времени данных меньше требования по синхронизации. В некоторых вариантах осуществления, сквозная задержка для пакета данных учитывает время задержки через каждый уровень, через который переходит пакет данных после того, как он создается на прикладном уровне первого объекта. Например, пакет чувствительных ко времени данных может переходить через прикладной уровень и стек операционной системы в каждом из первого и второго устройств и через плоскость управления и плоскость данных TsSDN-сети, ассоциированной с TsSDN-контроллером. В некоторых вариантах осуществления, определение сетевого тракта может включать в себя программирование сетевых устройств в сетевом тракте таким образом, что другие пакеты данных, которые являются частью идентичного потока, могут транспортироваться с использованием идентичного сетевого тракта. На этапе 610, пакет чувствительных ко времени данных передается из первого устройства во второе устройство через сетевой тракт
[00106] Фиг. 6B является логической блок-схемой последовательности операций, иллюстрирующей примерный способ передачи пакета данных с привязкой по времени через первое устройство и сетевую инфраструктуру на фиг. 6A. В этом способе, TsSDN-контроллер принимает пакет данных, который должен доставляться из первого устройства в третье устройство по сетевой инфраструктуре, на этапе 620. На этапе 622, TsSDN-контроллер, на основе конфигурационной информации сети, ассоциированной с пакетом данных (например, QoS), может определять то, что пакет данных представляет собой пакет данных с привязкой по времени, который включает в себя данные с привязкой по времени. На этапе 624, TsSDN-контроллер определяет требование по синхронизации для доставки пакета данных с привязкой по времени. На этапе 626, TsSDN-контроллер определяет второй сетевой тракт через сетевую инфраструктуру с использованием одного или более сетевых устройств, выбранных из чувствительных ко времени сетевых устройств и нечувствительных ко времени сетевых устройств, которые содержат сетевую инфраструктуру. Второй сетевой тракт имеет прогнозируемое время задержки, которое приводит к тому, что сквозная задержка для пакета данных с привязкой по времени меньше требования по синхронизации, ассоциированного с пакетом данных с привязкой по времени. Пакет данных с привязкой по времени затем передается из первого устройства в третье устройство через второй сетевой тракт.
[00107] Фиг. 6C является логической блок-схемой последовательности операций, иллюстрирующей примерный способ передачи пакета данных на основе принципа максимальной эффективности через первое устройство и сетевую инфраструктуру на фиг. 6A и 6B. На этапе 630, TsSDN-контроллер принимает пакет данных, который должен доставляться из первого устройства в четвертое устройство по сетевой инфраструктуре. TsSDN-контроллер, на основе конфигурационной информации сети, ассоциированной с пакетом данных, определяет то, что пакет данных представляет собой пакет данных на основе принципа максимальной эффективности, который не имеет чувствительности ко времени или привязки по времени, на этапе 632. На этапе 634, TsSDN-контроллер определяет третий сетевой тракт через сетевую инфраструктуру с использованием одного или более только нечувствительных ко времени сетевых устройств с возможностью доставлять пакет данных на основе принципа максимальной эффективности. Пакет данных на основе принципа максимальной эффективности затем передается из первого устройства через третий сетевой тракт в четвертое устройство.
[00108] Фиг. 6D является логической блок-схемой последовательности операций, иллюстрирующей примерный способ передачи потоков пакетов через сетевой тракт, зарезервированный, чтобы гарантировать указанное требование по синхронизации. В примерном способе, на этапе 640, TsSDN-контроллер (например, TsSDN-контроллер 325A через модуль 338 администрирования времени) может принимать запрос, указывающий требование по синхронизации для связи между говорящим устройством и прослушивающим устройством. Запрос, в некоторых вариантах осуществления, может иметь форму стандартного сетевого пакета, отправленного посредством говорящего устройства в TsSDN-контроллер. На этапе 642, TsSDN-контроллер может принимать задержку устройства, ассоциированную с говорящим устройством и прослушивающим устройством. Эти задержки устройств могут быть ассоциированы с задержками, испытываемыми на уровне устройств по мере того, как пакеты данных переходят из прикладного уровня через стек в плоскость управления и/или плоскость данных. На этапе 644, TsSDN-контроллер принимает информацию сетевой нагрузки из сетевых устройств в сети. Информация сетевой нагрузки может служить признаком доступной полосы пропускания сетевого устройства, чтобы обрабатывать дополнительные потоки пакетов. На этапе 646, TsSDN-контроллер определяет, на основе указанного требования по синхронизации и информации сетевой нагрузки, сетевой тракт, который говорящее устройство может использовать для того, чтобы обмениваться данными с прослушивающим устройством. Сетевой тракт имеет прогнозируемое время задержки, которое приводит к тому, что сквозная задержка для связи от говорящего устройства к прослушивающему устройству меньше или равна указанному требованию по синхронизации. На этапе 648, TsSDN-контроллер программирует одно или более сетевых устройств в сетевом тракте с возможностью резервировать полосу пропускания, чтобы гарантировать требование по синхронизации для связи между говорящим устройством и прослушивающим устройством. На этапе 650, TsSDN-контроллер передает пакеты данных от говорящего устройства к прослушивающему устройству детерминированным способом через сетевой тракт.
[00109] Вышеописанный способ также может использоваться для обратной ситуации, т.е. когда прослушивающее устройство хочет отправлять пакеты данных в говорящее устройство с гарантией по времени. Следует отметить, что в зависимости от требования по синхронизации, связь может быть чувствительной ко времени или иметь привязку по времени. Аналогично, в зависимости от требования по синхронизации, сетевой тракт может включать в себя только TSN-устройства, только не-TSN-устройства либо TSN- и не-TSN-устройства.
[00110] Таким образом, роль TsSDN-контроллера представляет собой роль посредника для TSN-услуг в инфраструктуре. Говорящее устройство может получать поток из TsSDN-контроллера, который в свою очередь защищает тракт к прослушивающему устройству посредством конфигурирования всех устройств на тракте к прослушивающему устройству. Это обеспечивает возможность TsSDN-контроллеру иметь более обширный вид всех потоков, текущих и доступных, которым он может интеллектуально назначать ресурсы. Одно из основных отличий между TsSDN и TSN заключается в том, что TSN имеет структуру между равноправными узлами с тем, чтобы регулировать предписания того, что все участники понимают все TSN-протоколы, с тем чтобы гарантировать TSN-уровень обслуживания. В TsSDN, администрирование времени является логически централизованным, и это позволяет исключать определенное число TSN-протоколов из TSN-устройств, оставляя им только стандарты плоскости данных. Этот подход имеет преимущество значительного упрощения администрирования времени, а также самих TSN-устройств.
4. Систематизация компьютера
[00111] Фиг. 7 является блок-схемой примерной машины/компьютера/устройства, которое может выполнять различные операции и сохранять различную информацию, сформированную и/или используемую посредством таких операций в соответствии с некоторыми вариантами осуществления. Компьютер 700 предназначен для иллюстрации аппаратного устройства, на котором любой из объектов, компонентов или служб, изображенных в примерах по фиг. 1А-5 (и любые другие компоненты, описанные в этом описании) и методологии, описанные в примерах на фиг. 6A-6C могут быть реализованы, такие как сервер, клиентские устройства, вычислительные узлы, узлы контроллера, такие как SDN-контроллер (например, 120), TsSDN-контроллер (например, 325, 325A, 325B, 325C, 425, 525), устройства/узлы хранения, базы данных, промышленные устройства (например, PLC, PAC), сетевые устройства и т.п. Компьютер 700 включает в себя один или более процессоров 705 и запоминающее устройство 710, соединенные с межкомпонентным соединением. Межкомпонентное соединение может представлять любую одну или более отдельных физических шин, соединений "точка-точка" или и то, и другое, соединенных посредством соответствующих мостов, адаптеров или контроллеров.
[00112] Процессор(ы) 705 представляет собой центральный процессор(ы) (CPU) компьютера и за счет этого управляет всей работой компьютера. В конкретных вариантах осуществления, процессор(ы) осуществляет это посредством выполнения программного обеспечения или микропрограммного обеспечения, сохраненного в запоминающем устройстве. Процессор(ы) может представлять собой или может включать в себя один или более программируемых микропроцессоров общего назначения или специального назначения, процессоров цифровых сигналов (DSP), программируемых контроллеров, специализированных интегральных схем (ASIC), программируемых логических устройств (PLD), доверенных платформенных модулей (TPM) и т.п. либо комбинацию таких устройств.
[00113] Запоминающее устройство 710 представляет собой или включает в себя основное запоминающее устройство компьютера. Запоминающее устройство представляет любую форму оперативного запоминающего устройства (RAM), постоянного запоминающего устройства (ROM), троичного ассоциативного запоминающего устройства (TCAM), флэш-памяти и т.п. либо комбинации таких устройств. При использовании, запоминающее устройство может содержать код. В одном варианте осуществления, код включает в себя общий программный модуль, выполненный с возможностью распознавать программу общего назначения, принимаемую через компьютерный шинный интерфейс, и подготавливать программу общего назначения для выполнения в процессоре. В другом варианте осуществления, общий программный модуль может реализовываться с использованием аппаратных схем, таких как ASIC, PLD или программируемые пользователем вентильные матрицы (FPGA).
[00114] Также с процессором(ами) через межкомпонентное соединение соединяются сетевой адаптер 725, устройство(а) 715 хранения данных и устройство(а) 720 ввода-вывода. Сетевой адаптер предоставляет компьютеру способность обмениваться данными с удаленными устройствами, по сети и, например, может представлять собой Ethernet-адаптер или Fibre Channel-адаптер, или беспроводной радиомодуль. Сетевой адаптер также может предоставлять компьютеру способность обмениваться данными с другими компьютерами в кластере. В некоторых вариантах осуществления, компьютер может использовать более одного сетевого адаптера для того, чтобы справляться со связью в пределах и за пределами кластера отдельно.
[00115] Устройство(а) ввода-вывода может включать в себя, например, клавиатуру, мышь или другое указательное устройство, накопители на дисках, принтеры, сканер и другие устройства ввода и/или вывода, включающие в себя устройство отображения. Устройство отображения может включать в себя, например, электронно-лучевую трубку (CRT), жидкокристаллический дисплей (ЖК-дисплей) или некоторое другое применимое известное или удобное устройство отображения.
[00116] Код, сохраненный в запоминающем устройстве, может реализовываться как программное обеспечение и/или микропрограммное обеспечение, чтобы программировать процессор(ы), чтобы выполнять действия, описанные выше. В конкретных вариантах осуществления, такое программное обеспечение или микропрограммное обеспечение может первоначально предоставляться в компьютер посредством его загрузки из удаленной системы на компьютер (например, через сетевой адаптер). В некоторых вариантах осуществления, запоминающее устройство 710 и устройство(а) 715 хранения данных могут представлять собой один объект.
[00117] Компоненты, представленные в данном документе, могут реализовываться, например, посредством программируемой схемы (например, одного или более микропроцессоров), программируемой с помощью программного обеспечения и/или микропрограммного обеспечения, либо полностью в аппаратной (непрограммируемой) схеме специального назначения, либо в комбинации таких форм. Аппаратная схема специального назначения может иметь форму, например, одной или более ASIC, PLD, FPGA и т.д.
[00118] Программное обеспечение или микропрограммное обеспечение для использования в SDN/TsSDN-системе, представленной здесь, может сохраняться на машиночитаемом носителе хранения данных и может выполняться посредством одного или более программируемых микропроцессоров общего назначения или специального назначения. "Машиночитаемый носитель хранения данных", при использовании этого термина используется в данном документе, включает в себя любой механизм, который может сохранять информацию в форме, доступной посредством машины.
[00119] Компьютер также может представлять собой серверный компьютер, клиентский компьютер, персональный компьютер (PC), планшетный PC, переносной компьютер, абонентскую приставку (STB), персональное цифровое устройство (PDA), сотовый телефон, смартфон, планшетный компьютер, фаблет, процессор, телефон, устройство для доступа на основе веб-технологий, сетевой маршрутизатор, коммутатор или мост, контроллер (например, PLC, PAC) или любую машину, допускающую выполнение набора инструкций (последовательных или иных), которые указывают действия, которые должны предприниматься посредством этой машины.
[00120] Машиночитаемый носитель хранения данных или устройство(а) хранения данных включают в себя, например, записываемые/незаписываемые носители (например, ROM; RAM; носители хранения данных на магнитных дисках; оптические носители хранения данных; устройства флэш-памяти; и т.д.) и т.д. либо любую комбинацию вышеозначенного. Носитель хранения данных типично может быть энергонезависимым или включать в себя энергонезависимое устройство. В этом контексте, энергонезависимый носитель хранения данных может включать в себя устройство, которое является материальным, что означает то, что устройство имеет конкретную физическую форму, хотя устройство может изменять свое физическое состояние. Таким образом, например, "энергонезависимый" означает устройство, остающееся материальным, несмотря на это изменение состояния.
[00121] Термин "логика", при использовании в данном документе, может включать в себя, например, программируемую схему, программируемую с конкретным программным обеспечением и/или микропрограммным обеспечением, аппаратную схему специального назначения или комбинацию вышеозначенного.
5. Заключение
[00122] Если контекст в явной форме не требует иного, во всем описании и в формуле изобретения слова "содержит", "содержащий" и т.п. должны быть истолкованы во включающем, в отличие от исключающего или исчерпывающего смысла; т.е. в смысле "включает в себя, но не только". При использовании в данном документе, термины "соединенный", "связанный" или всех их разновидности, означают любое соединение или связывание, прямое либо косвенное, между двумя или более элементов; связывание соединения между элементами может быть физическим, логическим либо комбинацией вышеозначенного. Дополнительно, слова "в данном документе", "выше", "ниже" и слова аналогичного смысла, при использовании в этой заявке, должны относиться к этой заявке в целом, а не к каким-либо конкретным частям этой заявки. Если позволяет контекст, слова в вышеприведенном "Подробном описании" с использованием единственного или множественного числа также могут включать в себя множественное или единственное число, соответственно. Слово "или" в отношении списка из двух или более элементов охватывает все из следующих интерпретаций слова: любой из элементов в списке, все элементы в списке и любая комбинация элементов в списке.
[00123] Вышеприведенное подробное описание вариантов осуществления изобретения не имеет намерение быть полным или ограничивать идеи точной формой, раскрытой выше. Хотя конкретные варианты осуществления и примеры для изобретения описываются выше в качестве иллюстрации, различные эквивалентные модификации являются возможными в пределах объема изобретения, что должно быть понятно специалистам в данной области техники. Например, хотя процессы или блоки представляются в данном порядке, альтернативные варианты осуществления могут выполнять процедуры, имеющие этапы, или использовать системы, имеющие блоки в другом порядке, и некоторые процессы или блоки могут удаляться, перемещаться, добавляться, подразделяться, комбинироваться и/или модифицироваться, чтобы предоставлять альтернативу или субкомбинации. Каждый из этих процессов или блоков может реализовываться множеством различных способов. Кроме того, хотя процессы или блоки время от времени показываются как выполняемые последовательно, эти процессы или блоки вместо этого могут выполняться параллельно либо могут выполняться в различные моменты времени. Дополнительно, любые конкретные числа, указанные в данном документе, являются только примерами: альтернативные реализации могут использовать отличающиеся значения или диапазоны.
[00124] Идеи изобретения, предоставленные в данном документе, могут применяться к другим системам, не обязательно к системе, описанной выше. Элементы и этапы различных вариантов осуществления, описанных выше, могут комбинироваться с тем, чтобы предоставлять дополнительные варианты осуществления.
[00125] Все патенты и заявки и другие ссылочные документы, указанные выше, в том числе любые из них, которые могут быть перечислены в прилагаемых подаваемых документах, содержатся в данном документе по ссылке. Аспекты раскрытия могут модифицироваться, при необходимости, чтобы использовать системы, функции и принципы различных ссылочных документов, описанных выше, с тем чтобы предоставлять еще одни дополнительные варианты осуществления изобретения.
[00126] Эти и другие изменения могут быть внесены в раскрытие в свете вышеуказанного "Подробного описания". Хотя вышеприведенное описание описывает конкретные варианты осуществления изобретения и описывает предполагаемый наилучший режим, неважно, насколько подробно они излагаются в тексте, идеи могут осуществляться на практике множеством способов. Подробности системы могут значительно варьироваться по подробностям реализации при одновременном охватывании объемом изобретения, раскрытого в данном документе. Как отмечено выше, конкретная терминология, используемая при описании определенных признаков или аспектов изобретения, не должна рассматриваться как подразумевающая то, что терминология переопределяется в данном документе таким образом, что она ограничивается какими-либо конкретными характеристиками, признаками или аспектами изобретения, с которыми ассоциирована эта терминология. В общем, термины, используемые в нижеприведенной формуле изобретения, не должны истолковываться как ограничивающие изобретение конкретными вариантами осуществления, раскрытыми в подробном описании, если только вышеприведенный раздел "Подробное описание" не задает в явном виде такие термины. Соответственно, фактический объем изобретения охватывает не только раскрытые варианты осуществления, но также и все эквивалентные способы осуществления на практике или реализации изобретения сущности согласно формуле изобретения.
[00127] Из вышеизложенного, следует принимать во внимание, что конкретные варианты осуществления раскрытой системы/технологии описаны в данном документе в целях иллюстрации, но могут вноситься различные модификации без отступления от сущности и объема вариантов осуществления. Следовательно, варианты осуществления не ограничены ничем, кроме как прилагаемой формулой изобретения.