ES2906171T3 - Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático - Google Patents

Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático Download PDF

Info

Publication number
ES2906171T3
ES2906171T3 ES16779189T ES16779189T ES2906171T3 ES 2906171 T3 ES2906171 T3 ES 2906171T3 ES 16779189 T ES16779189 T ES 16779189T ES 16779189 T ES16779189 T ES 16779189T ES 2906171 T3 ES2906171 T3 ES 2906171T3
Authority
ES
Spain
Prior art keywords
sfc
vnf
resources
resource
suggested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16779189T
Other languages
English (en)
Inventor
Joel Halpern
Meral Shirazipour
Ming Xia
Heikki Mahkonen
Ravi Manghirmalani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2906171T3 publication Critical patent/ES2906171T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un método, por un sistema que comprende un dispositivo informático y un sistema de aprendizaje automático, ML, de escala automática asociado con una función de red virtual, vNF, para optimizar el uso de recursos de cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático acoplado a un sistema de monitorización y gestión de recursos, comprendiendo el método: obtener (540), por el dispositivo informático, del sistema de aprendizaje automático (ML) de escala automática asociado con la función de red virtual (vNF), un ajuste sugerido a una cantidad de recursos aprovisionados para la vNF, en donde el sistema de ML de escala automática se entrena en línea utilizando aprendizaje automático para predecir una cantidad de recursos a utilizar por la vNF, y en donde el sistema de ML de escala automática recibe (510) como entrada: una cantidad de recursos utilizados actualmente por la vNF, una cantidad de recursos disponibles actualmente para la vNF e información con respecto a las SFC que utilizan actualmente la vNF, en donde la información con respecto a las SFC indica los puntos finales de cada SFC y una demanda de recursos de cada SFC, determina (520) utilizando aprendizaje automático: el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF basándose en la cantidad de recursos utilizados actualmente por la vNF, la cantidad de recursos disponibles actualmente para la vNF y la información con respecto a las SFC que están utilizando actualmente la vNF y los emite (530) el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF; y proporcionar (550), por el dispositivo informático, el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF a un componente de reasignación de recursos.

Description

DESCRIPCIÓN
Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático
Referencia cruzada a solicitudes relacionadas
Esta solicitud reivindica la prioridad de la Solicitud de Estados Unidos N.° 14/930.546, presentada el 2 de noviembre de 2015.
Campo
Las realizaciones de la invención se refieren al campo de las redes de paquetes y, más específicamente, a la optimización del uso de recursos en una red utilizando técnicas de aprendizaje automático.
Antecedentes
El encadenamiento de servicios diferencia el reenvío de flujos de tráfico a través de un conjunto ordenado definido por políticas de cajas intermedias (también denominados comúnmente servicios, servicios en línea, aparatos, funciones de red (o funciones de red virtual en el caso de la virtualización de funciones de red (NFV)), o funciones de servicio (SF)). Los ejemplos de SF incluyen cortafuegos, filtros de contenido, sistemas de detección de intrusos (IDS), inspección profunda de paquetes (DPI), traducción de direcciones de red (NAT), cachés de contenido, equilibradores de carga, aceleradores de red de área amplia (WAN), transcodificadores multimedia y aplicaciones de registro/medición/carga/carga avanzada.
El encadenamiento de servicios requiere un proceso de clasificación para ceder el tráfico a la cadena de servicios correcta, seguido de un reenvío/encaminamiento diferenciado del flujo de tráfico a través del conjunto correcto de SF (p. ej., una cadena de función de servicio (SFC)). El Grupo de Trabajo de Ingeniería de Internet (IETF) está desarrollando protocolos que permitirán formas más eficientes de implementar las SFC. El IETF también está trabajando en la definición de un encabezado de servicio de red (NSH) que se agrega a los paquetes para ayudar con el encadenamiento de servicios. A continuación, los reenviadores de funciones de servicio (SFF) crearán las rutas de funciones de servicio (SFP) en forma de superposición. Dicho encadenamiento de servicios es aplicable tanto a las funciones de red física como a las funciones de red virtual (vNF).
La medición de la red proporciona al operador de la red datos que le permiten caracterizar el estado de la red, las demandas de tráfico, el consumo real de los recursos de la red y el rendimiento de la red experimentado por los usuarios finales. El operador de red puede utilizar esta información para optimizar el uso de los recursos de red en la red. Los paradigmas de red, tales como la interconexión en red definida por software (SDN) y la virtualización de funciones de red (NFV), pueden utilizarse para lograr una visión holística de los recursos de la red y la nube.
La cantidad de recursos de red y de nube (p. ej., recursos de la unidad central de procesamiento (CPU), memoria, ancho de banda, almacenamiento) que utiliza una SFC puede variar según las SF específicas (p. ej., las vNF) incluidos en la SFC, la cantidad de tráfico en la red, y otros factores. También, la cantidad de recursos requeridos por una SFC puede cambiar con el tiempo a medida que cambian las circunstancias. Las soluciones existentes para el aprovisionamiento de recursos SFC se basan en reglas y políticas estáticas. Las reglas y políticas estáticas generalmente sobreaprovisionan recursos (lo que lleva a un uso ineficiente de los recursos) o sub-aprovisionan recursos (lo que lleva a una degradación del rendimiento).
La patente europea EP 2757474 A2 (MITEL NETWORKS CORP [CA]) 23 de julio de 2014 (23-07-2014) es la técnica anterior relevante.
Compendio
La invención está definida por las reivindicaciones independientes 1,5, 9, 10, 11 y 15.
Breve descripción de los dibujos
La invención puede entenderse mejor haciendo referencia a la siguiente descripción y los dibujos adjuntos que se utilizan para ilustrar las realizaciones de la invención. En los dibujos:
La figura 1 es un diagrama de bloques que ilustra una red en la que puede implementarse la optimización de recursos de las cadenas de funciones de servicio (SFC), según algunas realizaciones.
La figura 2 es un diagrama de flujo que ilustra un proceso para optimizar el uso de recursos de una nueva SFC que se va a aprovisionar en la red, según algunas realizaciones.
La figura 3 es un diagrama que ilustra las entradas y salidas de un sistema de aprendizaje automático de uso de recursos, según algunas realizaciones.
La figura 4 es un diagrama que ilustra las etapas internas de un sistema de aprendizaje automático de uso de recursos, según algunas realizaciones.
La figura 5 es un diagrama de flujo que ilustra un proceso para optimizar el uso de recursos de las SFC existentes en la red, según algunas realizaciones.
La figura 6 es un diagrama que ilustra los componentes de una función de red virtual (vNF), según algunas realizaciones.
La figura 7 es un diagrama que ilustra las entradas y salidas de un sistema de aprendizaje automático de escala automática, según algunas realizaciones.
La figura 8 es un diagrama que ilustra el interior de un sistema de aprendizaje automático de escala automática, según algunas realizaciones.
La figura 9A ilustra la conectividad entre dispositivos de red (ND) dentro de una red ilustrativa, así como tres implementaciones ilustrativas de los ND, según algunas realizaciones.
La figura 9B ilustra una forma ilustrativa de implementar un dispositivo de red de fin especial según algunas realizaciones.
La figura 9C ilustra diversas formas ilustrativas en las que los elementos de red virtual (VNE) pueden acoplarse según algunas realizaciones.
La figura 9D ilustra una red con un solo elemento de red (NE) en cada uno de los ND, y dentro de este enfoque directo contrasta un enfoque distribuido tradicional (utilizado comúnmente por los encaminadores tradicionales) con un enfoque centralizado para mantener la accesibilidad e información de reenvío (también denominado control de red), según algunas realizaciones.
La figura 9E ilustra el caso sencillo en el que cada uno de los ND implementa un solo NE, pero un plano de control centralizado ha abstraído múltiples NE en diferentes ND en (para representar) un solo NE en una de las red o redes virtuales, según algunas realizaciones.
La figura 9F ilustra un caso en el que se implementan múltiples VNE en diferentes ND y están acoplados entre sí, y en el que un plano de control centralizado ha abstraído estos múltiples VNE de modo que aparecen como un solo VNE dentro de una de las redes virtuales, según algunos realizaciones.
La figura 10 ilustra un dispositivo de plano de control de fin general con software de plano de control centralizado (CCP), según algunas realizaciones.
Descripción de las realizaciones
La siguiente descripción describe métodos y aparato para optimizar el uso de recursos de las cadenas de funciones de servicio (SFC) en una red utilizando técnicas de aprendizaje automático. En la siguiente descripción, se exponen numerosos detalles específicos, tales como implementaciones lógicas, códigos de operación, medios para especificar operandos, implementaciones de partición/compartición/duplicación de recursos, tipos e interrelaciones de los componentes del sistema y opciones de partición/integración lógica para proporcionar un entendimiento minucioso de la presente invención. Sin embargo, un experto en la técnica apreciará que la invención puede ponerse en práctica sin tales detalles específicos. En otros casos, las estructuras de control, los circuitos de nivel de puertas y las secuencias de instrucciones de software completas no se han mostrado en detalle para no oscurecer la invención. Los expertos en la técnica, con las descripciones incluidas, podrán implementar la funcionalidad apropiada sin experimentación indebida.
Las referencias en la memoria descriptiva a "una realización", "una realización", "una realización ilustrativa", etc., indican que la realización descrita puede incluir un rasgo, estructura o característica particular, pero es posible que cada realización no incluya necesariamente el rasgo, estructura o característica particular. Además, tales expresiones no se refieren necesariamente a la misma realización. Además, cuando se describe un rasgo, estructura o característica particular en relación con una realización, se afirma que está dentro del conocimiento de un experto en la técnica afectar tal rasgo, estructura o característica en relación con otras realizaciones ya se haya descrito explícitamente o no.
El texto entre paréntesis y los bloques de línea discontinua (p. ej., de línea discontinua grande, de línea discontinua pequeña, de punto y guion y de puntos) pueden utilizarse en la presente memoria para ilustrar operaciones opcionales que agregan características adicionales a las realizaciones de la invención. Sin embargo, dicha notación no debe interpretarse como que estas son las únicas opciones u operaciones opcionales, y/o que los bloques con bordes de línea continua no son opcionales en ciertas realizaciones de la invención.
En la siguiente descripción y reivindicaciones, pueden utilizarse los términos "acoplado" y "conectado", junto con sus derivados. Debe entenderse que estos términos no pretenden ser sinónimos entre sí. "Acoplado" se utiliza para indicar que dos o más elementos, que pueden o no estar en contacto físico o eléctrico directo entre sí, cooperan o interactúan entre sí. "Conectado" se utiliza para indicar el establecimiento de comunicación entre dos o más elementos que se acoplan entre sí.
Un dispositivo electrónico (p. ej., un dispositivo informático) almacena y transmite (internamente y/o con otros dispositivos electrónicos a través de una red) código (que se compone de instrucciones de software y que a veces se denomina código de programa informático o programa informático) y/o datos que utilizan medios legibles por máquina (también llamados medios legibles por ordenador), tales como medios de almacenamiento legibles por máquina (p. ej., discos magnéticos, discos ópticos, memoria de solo lectura (ROM), dispositivos de memoria flash, memoria de cambio de fase) y medios de transmisión legibles por máquina (también llamados portadores) (p. ej., señales eléctricas, ópticas, de radio, acústicas u otras formas de propagación, tales como ondas portadoras, señales infrarrojas). Por lo tanto, un dispositivo electrónico (p. ej., un ordenador) incluye hardware y software, tales como un conjunto de uno o más procesadores acoplados a uno o más medios de almacenamiento legibles por máquina para almacenar código para su ejecución en el conjunto de procesadores y/o para almacenar datos. Por ejemplo, un dispositivo electrónico puede incluir una memoria no volátil que contiene el código, ya que la memoria no volátil puede hacer persistir el código/datos incluso cuando el dispositivo electrónico está apagado (cuando se desconecta la alimentación), y,mientras el dispositivo electrónico está encendido, parte del código que se va a ejecutar por el procesador o procesadores de ese dispositivo electrónico normalmente se copia de la memoria no volátil más lenta a la memoria volátil (p. ej., memoria dinámica de acceso aleatorio (DRAM), memoria estática de acceso aleatorio (SRAM)) de ese dispositivo electrónico. Los dispositivos electrónicos típicos también incluyen un conjunto o una o más interfaces de red físicas para establecer conexiones de red (para transmitir y/o recibir código y/o datos utilizando señales de propagación) con otros dispositivos electrónicos. Una o más partes de una realización de la invención pueden implementarse utilizando diferentes combinaciones de software, firmware y/o hardware.
Un dispositivo de red (ND) es un dispositivo electrónico que interconecta de manera comunicativa otros dispositivos electrónicos en la red (p. ej., otros dispositivos de red, dispositivos de usuario final). Algunos dispositivos de red son "dispositivos de red de servicios múltiples" que brindan soporte para múltiples funciones de interconexión en red (p. ej., encaminamiento, conexión en puente, conmutación, agregación de capa 2, control de borde de sesión, calidad de servicio y/o gestión de suscriptores) y/o brindan soporte para múltiples servicios de aplicaciones (p. ej., datos, voz y video).
Las soluciones existentes para el aprovisionamiento de recursos de la cadena de funciones de servicio (SFC) se basan en reglas y políticas estáticas. Las reglas y políticas estáticas generalmente sobreaprovisionan recursos (lo que lleva a un uso ineficiente de los recursos) o sub-aprovisionan recursos (lo que lleva a una degradación del rendimiento). Las realizaciones introducen sistemas de aprendizaje automático que pueden aprender las tendencias de consumo de recursos de las SFC. Los sistemas de aprendizaje automático pueden proporcionar una determinación más precisa de la cantidad de recursos que necesitará una SFC y pueden predecir cuándo se debe ajustar la cantidad de recursos aprovisionados para una SFC. Las realizaciones utilizan información obtenida de sistemas de aprendizaje automático para optimizar el uso de recursos de las SFC.
La figura 1 es un diagrama de bloques que ilustra una red en la que puede implementarse la optimización de recursos de las SFC, según algunas realizaciones. En la realización ilustrada, la red 100 incluye un dispositivo informático 110, un sistema de monitorización y gestión de recursos 120 y un plano de reenvío 140. El plano de envío 140 incluye dispositivos de red (ND) 150A-D.
El sistema de monitorización y gestión de recursos 120 proporciona una plataforma unificada para configurar, gestionar y monitorizar recursos en la red. Como se ilustra, el sistema de monitorización y gestión de recursos 120 incluye un controlador de SDN 125 y un gestor de la nube 130. El controlador de SDN 125 puede controlar el encaminamiento del tráfico en el plano de reenvío 140 configurando el comportamiento de reenvío de los dispositivos de red 150A-D del plano de reenvío. En una realización, el controlador de SDN 125 configura los dispositivos de red 150A-D utilizando un protocolo de comunicaciones del plano de control tal como OpenFlow (p. ej., OpenFlow 1.3). El gestor de la nube 130 puede instanciar y gestionar recursos virtuales en la red 100. Por ejemplo, el gestor de la nube 130 puede instanciar y gestionar máquinas virtuales (VM), funciones de red virtual (vNF) (p. ej., la vNF 155B y la vNF 155C), conmutadores virtuales y otros tipos de recursos virtuales en la red 100. En una realización, el sistema de monitorización y gestión de recursos 120 puede incluir otras entidades/unidades funcionales que pueden facilitar la configuración, gestión y monitorización de recursos en la red, tales como un orquestador de virtualización de funciones de red (NFVO) u otra entidad de gestión y organización (MANO).
El sistema de monitorización y gestión de recursos 120 puede aprovechar el controlador de SDN 125 y el gestor de la nube 130 para proporcionar el encadenamiento de servicios en la red 100. El encadenamiento de servicios hace referencia al reenvío diferenciado de flujos de tráfico a través de un conjunto de dispositivos intermedios definidos por políticas (también denominados servicios, servicios en línea, aparatos, funciones de red, vNF (p. ej., la vNF 155B y la vNF 155C) en el caso de virtualización de funciones de red (NFV), o funciones de servicio (SF) como término general). Los ejemplos de SF incluyen cortafuegos, filtros de contenido, sistemas de detección de intrusos (IDS), inspección profunda de paquetes (DPI), traducción de direcciones de red (NAT), cachés de contenido, equilibradores de carga, aceleradores de red de área amplia (WAN), transcodificadores multimedia y aplicaciones de registro/medición/carga/carga avanzada. El encadenamiento de servicios normalmente implica un proceso de clasificación para asignar paquetes a la cadena de servicios adecuada, seguido del reenvío/encaminamiento diferenciado del flujo de tráfico a través del conjunto adecuado de SF (es decir, una cadena de función de servicio (SFC)).
Una SFC define una secuencia ordenada de SF que debería atravesar un flujo de tráfico. El sistema de monitorización y gestión de recursos 120 puede aprovisionar una SFC en la red desplegando y/o configurando las SF especificadas por la SFC y dirigiendo el flujo de tráfico a través de las SF especificadas por la SFC. Por ejemplo, una SFC puede especificar que el flujo de tráfico debería atravesar una función de servicio de inspección profunda de paquetes seguida de una función de servicio de sistema de detección de intrusos. El sistema de monitorización y gestión de recursos 120 puede aprovisionar esta SFC iniciando el despliegue de la vNF 155B en el dispositivo de red 150B para realizar el servicio de inspección profunda de paquetes e iniciar el despliegue la de vNF 155C en el dispositivo de red 150C para realizar el servicio del sistema de detección de intrusos (p. ej., a través del gestor de la nube 130). Si ya se han implementado todas las vNF 155 necesarias para la SFC (p. ej., la vNF 155B y 155C), entonces no es necesario que el sistema de monitorización y gestión de recursos 120 inicie el despliegue de las vNF 155. El sistema de monitorización y gestión de recursos 120 puede dirigir, a continuación, el flujo de tráfico (p. ej., a través del controlador de SDN 125) a través de la vNF 155B y la vNF 155C de modo que el flujo de tráfico se procese en primer lugar por la función de servicio de inspección profunda de paquetes y, a continuación, se procese por la función de servicio de detección de intrusos. De esta forma, el sistema de monitorización y gestión de recursos 120 puede aprovisionar una SFC en la red 100.
El sistema de monitorización y gestión de recursos 120 es capaz de monitorizar las SFC aprovisionadas en la red 100. Por ejemplo, el sistema de monitorización y gestión de recursos 120 puede recopilar información con respecto a las funciones de servicio (p. ej., la vNF 155) y las SFC aprovisionadas en la red. El sistema de monitorización y gestión de recursos 120 también puede recopilar información con respecto a la utilización de recursos de las vNF 155 (incluyendo cuántas instancias se despliegan y su utilización de unidad de procesamiento central (CPU)/memoria/ancho de banda). El sistema de monitorización y gestión de recursos 120 también puede recopilar información sobre la disponibilidad de recursos informáticos y recursos de red para el encadenamiento de servicios. Además, el sistema de monitorización y gestión de recursos 120 puede recopilar información con respecto al tráfico de suscriptores, que incluye cuánto tráfico de suscriptores se dirige a cada SFC. El sistema de monitorización y gestión de recursos 120 también puede recopilar otras métricas de red y de la nube en tiempo real relacionadas con las SFC aprovisionadas en la red, tales como métricas de rendimiento de tráfico y métricas de calidad de experiencia (QoE).
Como se ilustra, el dispositivo informático 110 está acoplado al sistema de monitorización y gestión de recursos 120 y tiene un componente de optimización de recursos de SFC 115 instalado en el mismo. Como se describirá con más detalle en la presente memoria a continuación, el dispositivo informático 110 puede ejecutar el componente de optimización de recursos de SFC 115 para optimizar el uso de recursos de las SFC. Aunque el componente de optimización de recursos de SFC 115 se muestra implementado por el dispositivo informático 110, en otras realizaciones, algunas o toda la funcionalidad del componente de optimización de recursos de SFC 115 puede implementarse mediante una entidad diferente (p. ej., el sistema de monitorización y gestión de recursos 120). El componente de optimización de recursos de SFC 115 se basa en un sistema de aprendizaje automático (ML) de uso de recursos 160 y un conjunto de sistemas de aprendizaje automático (ML) de escala automática 170 para optimizar el uso de recursos de las SFC. El sistema de aprendizaje automático de uso de recursos 160 utiliza técnicas de aprendizaje automático para determinar la cantidad de recursos para aprovisionar a una SFC antes de que se aprovisione la SFC en la red 100. El conjunto de sistemas de aprendizaje automático de escala automática 170 utiliza técnicas de aprendizaje automático para determinar cuándo se debe ajustar la cantidad de recursos aprovisionados para una SFC (y cuánto debería ajustarse) una vez que se aprovisiona la SFC en la red 100.
Cuando el componente de optimización de recursos de SFC 115 recibe una solicitud para aprovisionar una nueva SFC (o actualizar una SFC existente) en la red 100, el componente de optimización de recursos de SFC 115 puede basarse en el sistema de aprendizaje automático de uso de recursos 160 para determinar la cantidad de recursos a aprovisionar para la SFC. El sistema de aprendizaje automático de uso de recursos 160 utiliza técnicas de aprendizaje automático para determinar la cantidad sugerida de recursos para aprovisionar a la SFC. El componente de optimización de recursos de SFC 115 puede obtener esta información del sistema de aprendizaje automático de uso de recursos 160 y proporcionarla a un componente asignador de recursos (no mostrado) que determinará un esquema de asignación de recursos óptimo que asigna la cantidad de recursos para la SFC según lo sugerido por el sistema de aprendizaje automático de uso de recursos 160 (lo mejor posible). El componente asignador de recursos puede implementarse como parte del componente de optimización de recursos de SFC 115 o separado del componente de optimización de recursos de SFC 115. El esquema de asignación de recursos puede proporcionarse al sistema de monitorización y gestión de recursos 120 y el sistema de monitorización y gestión de recursos 120 puede aprovisionar la SFC en la red según el esquema de asignación de recursos. Como se ilustra, el sistema de aprendizaje automático de uso de recursos 160 se implementa como parte del componente de optimización de recursos de SFC 115. Sin embargo, en otras realizaciones, el sistema de aprendizaje automático de uso de recursos 160 puede implementarse por separado del componente de optimización de recursos de SFC 115 y, en algunos casos, externo al dispositivo informático 110.
Una vez que se ha aprovisionado una SFC en la red 100, el componente de optimización de recursos de SFC 115 puede basarse en un conjunto de sistemas de aprendizaje automático de escala automática 170 para predecir automáticamente cuándo es necesario ajustar la cantidad de recursos aprovisionados para la SFC (p. ej., aumentar o reducir la escala) antes de la necesidad. La escala automática hacia arriba o hacia abajo de los recursos se denomina generalmente en la presente memoria como escala automática. En una realización, cada vNF 155 implementada en la red está asociada con un sistema de aprendizaje automático de escala automática 170. Por ejemplo, como se ilustra, la vNF 155B está asociada con el sistema de aprendizaje automático de escala 170B y la vNF 155C está asociada con el sistema de aprendizaje automático de escala automática 170C. El sistema de aprendizaje automático de escala automática 170 para una vNF 155 puede predecir cuándo debe ajustarse la cantidad de recursos aprovisionados para la vNF 155. Cuando un sistema de aprendizaje automático de escala automática 170 asociado con una vNF 155 predice que la cantidad de recursos aprovisionados para la vNF 155 debe ajustarse, el sistema de aprendizaje automático de escala automática 170 envía una solicitud de escala automática al componente de optimización de recursos de SFC 115. La solicitud de escala automática puede solicitar un ajuste en la cantidad de recursos aprovisionados para la vNF 155. Por ejemplo, la solicitud de escala automática puede indicar que la cantidad de recursos aprovisionados para la vNF 155 debe ajustarse hacia arriba o hacia abajo y en qué medida. El sistema de aprendizaje automático de escala automática 170 para una vNF 155 puede monitorizar constantemente la vNF 155 para determinar cuándo se necesita escala automática y enviar solicitudes de escala automática al componente de optimización de recursos de SFC 115 cuando se necesita escala automática. Como se ilustra, los sistemas de aprendizaje automático de escala automática 170 se implementan en el mismo dispositivo de red 150 que sus respectivas vNF 155. Sin embargo, en otras realizaciones, los sistemas de aprendizaje automático de escala automática 170 pueden implementarse en un servidor separado o en un centro de datos de rendimiento optimizado (POD). Desde el punto de vista de la arquitectura, todos los sistemas de aprendizaje automático de escala automática 170 pueden residir en la misma ubicación (p. ej., coubicados con el sistema de monitorización y gestión de recursos 120 o con el dispositivo informático 110). Sin embargo, en general, el rendimiento puede mejorarse si los sistemas de aprendizaje automático de escala automática 170 se ubican más cerca de sus respectivas vNF 155. En una realización, el sistema de monitorización y gestión de recursos 120 o el dispositivo informático 110 pueden iniciar la implementación de un nuevo sistema de aprendizaje automático de escala automática 170 para una vNF 155 (p. ej., cuando se implementa la vNF 155).
El componente de optimización de recursos de SFC 115 puede obtener solicitudes de escala automática de uno o más de los sistemas de aprendizaje automático de escala automática 170 y proporcionar las solicitudes de escala automática a un componente de reasignación de recursos (no mostrado) que determinará un esquema de reasignación de recursos óptimo que cumpla con las solicitudes de escala automática (lo mejor posible). El componente de reasignación de recursos puede implementarse como parte del componente de optimización de recursos de SFC 115 o separado del componente de optimización de recursos de SFC 115. El esquema de reasignación de recursos puede implicar realizar un equilibrio de carga, migrar o implementar nuevas vNF 155, o incluso desasignar o apagar las vNF 155. El esquema de reasignación de recursos puede proporcionarse al sistema de monitorización y gestión de recursos 120 y el sistema de monitorización y gestión de recursos 120 puede reasignar los recursos según el esquema de reasignación de recursos. De esta forma, las realizaciones optimizan el uso de recursos para las SFC utilizando técnicas de aprendizaje automático.
La figura 2 es un diagrama de flujo que ilustra un proceso para optimizar el uso de recursos de una nueva SFC que se va a aprovisionar en la red, según algunas realizaciones. Las operaciones en el diagrama de flujo pueden implementarse mediante un dispositivo informático 110 (p. ej., el componente de optimización de recursos de SFC 115). Las operaciones en este y otros diagramas de flujo se describirán con referencia a las realizaciones ilustrativas de las otras figuras. Sin embargo, debe entenderse que las operaciones de los diagramas de flujo pueden realizarse por realizaciones de la invención distintas de las analizadas con referencia a las otras figuras, y las realizaciones de la invención analizadas con referencia a estas otras figuras pueden realizar operaciones diferentes a las analizadas con referencia a los diagramas de flujo.
En una realización, el proceso se inicia cuando el dispositivo informático 110 recibe una solicitud para aprovisionar una SFC (bloque 210). En una realización, la solicitud puede realizarla un operador de red o un cliente empresarial.
El dispositivo informático 110 proporciona una descripción de la SFC como una entrada a un sistema de aprendizaje automático de uso de recursos 160 (bloque 220). El sistema de aprendizaje automático de uso de recursos 160 puede predecir una cantidad de recursos que la SFC utilizará basándose en el aprendizaje (utilizando el aprendizaje automático) del uso real de recursos de las SFC anteriores aprovisionadas en la red 100. El sistema de aprendizaje automático de uso de recursos 160 recibe como entrada la descripción de la SFC (bloque 230). En una realización, la descripción de la SFC incluye una indicación de los puntos finales de la SFC y una lista de funciones de servicio incluidas en la SFC. En una realización, la descripción de la SFC incluye las reglas de clasificación utilizadas para asignar tráfico a la SFC (p. ej., la intención de la SFC). La descripción de la SFC puede incluir cualquier otra característica o propiedad de la SFC. El sistema de aprendizaje automático de uso de recursos 160 utiliza, a continuación, técnicas de aprendizaje automático para determinar una cantidad sugerida de recursos para aprovisionar a la SFC basándose en la entrada (es decir, la descripción de la SFC) (bloque 240). El sistema de aprendizaje automático de uso de recursos 160 a continuación emite la cantidad sugerida de recursos para aprovisionar a la SFC (bloque 250). En una realización, la cantidad sugerida de recursos para aprovisionar a la SFC incluye una cantidad sugerida de recursos de CPU (p. ej., número de núcleos) para aprovisionar a la SFC, una cantidad sugerida de memoria para aprovisionar a la SFC, una cantidad sugerida de ancho de banda para aprovisionar a la SFC, una cantidad sugerida de recursos de almacenamiento para aprovisionar a la SFC, o una cantidad sugerida para cualquier otro tipo de red/recurso informático para aprovisionar a la SFC. En una realización, la cantidad sugerida de recursos para aprovisionar a la SFC incluye una cantidad sugerida de recursos para aprovisionar por función de servicio incluida en la SFC.
El dispositivo informático 110 obtiene la cantidad sugerida de recursos para aprovisionar a la SFC del sistema de aprendizaje automático de uso de recursos 160 (bloque 260). En algunos casos, la entidad que realizó la solicitud para aprovisionar a la SFC (p. ej., el operador de red o el cliente empresarial) puede especificar la demanda de recursos de la SFC en su solicitud. En una realización, el dispositivo informático 110 anula la demanda de recursos especificada en la solicitud con la cantidad sugerida de recursos obtenidos del sistema de aprendizaje automático de uso de recursos 160.
El dispositivo informático 110 a continuación proporciona la cantidad sugerida de recursos para aprovisionar a la SFC a un componente asignador de recursos (bloque 270). El componente asignador de recursos puede utilizar cualquier algoritmo o estrategia adecuada para determinar un esquema óptimo de asignación de recursos que asigne la cantidad de recursos sugerida por el sistema del sistema de aprendizaje automático de uso de recursos 160 para la SFC. En una realización, el componente asignador de recursos tiene acceso a información con respecto a las condiciones de la red/nube (p. ej., a través del sistema de monitorización y gestión de recursos 120) y utiliza esta información para determinar un esquema de asignación de recursos óptimo que especifica o sugiere en qué parte de la red 100 deberían asignarse los recursos. El componente asignador de recursos puede considerar el estado actual de la red y la infraestructura, la información sobre las vNF 155 actualmente en funcionamiento, las políticas del operador sobre la asignación de recursos y otros tipos de información al determinar el esquema óptimo de asignación de recursos. El esquema de asignación de recursos puede reutilizar las vNF 155 existentes en la red o implementar nuevas vNF 155. En una realización, el componente asignador de recursos puede aplicar otras políticas y validaciones al esquema de asignación de recursos. El esquema de asignación de recursos puede proporcionarse al sistema de monitorización y gestión de recursos 120 y el sistema de monitorización y gestión de recursos 120 puede aprovisionar la SFC en la red según el esquema de asignación de recursos.
La figura 3 es un diagrama que ilustra las entradas y salidas de un sistema de aprendizaje automático de uso de recursos, según algunas realizaciones.
El sistema de aprendizaje automático de uso de recursos 160 se entrena (utilizando técnicas de aprendizaje automático) con el uso de recursos de SFC anteriores aprovisionadas en la red 100 (datos 310). Se dice que el sistema de aprendizaje automático de uso de recursos 160 está "en línea" ya que se entrena utilizando datos en vivo. El sistema de aprendizaje automático de uso de recursos 160 puede entrenarse utilizando aprendizaje automático para aprender cómo difiere el uso de recursos de diferentes SFC dependiendo de los puntos finales de las SFC, el tipo de tráfico transportado por las SFC, el tiempo, la ubicación de las SFC y otra información relacionada con las SFC y/u otra información contextual. Esto puede hacerse observando y aprendiendo (utilizando el aprendizaje automático) el comportamiento de uso de recursos de las SFC anteriores aprovisionadas en la red 100. Basándose en este entrenamiento, el sistema de aprendizaje automático de uso de recursos 160 puede determinar la cantidad de recursos que necesitará una SFC dada. Por ejemplo, si el sistema de aprendizaje automático de uso de recursos 160 ha observado previamente que una SFC en particular usó una cierta cantidad de recursos, entonces el sistema de aprendizaje automático de uso de recursos 160 puede determinar que cualquier SFC nueva que sea similar a esa SFC en particular utilizará una cantidad de recursos similar. Esta determinación puede ser una función compleja dependiendo de los puntos finales, los tipos de tráfico, el tiempo (p. ej., tráfico producido en diferentes momentos del día/semana/año), el tipo de funciones de red incluidas en las SFC y su comportamiento de rendimiento con respecto a tipos de tráfico dados y otros parámetros.
La entrada al sistema de aprendizaje automático de uso de recursos 160 es una descripción de una SFC (datos 320). En una realización, la descripción de la SFC puede incluir información de origen/destino (es decir, puntos finales) de la SFC y una demanda de recursos de la SFC. A continuación se proporciona una descripción ilustrativa de una SFC:
{"chain1": {
"order": ["DPI", "IDS"],
resources": {
"CPU": [
{"SF": "DPI", "value": 2},
{"SF": "IDS", "value": 4}
i
"MEM": [
{"SF": "DPI", "value": 16},
{"SF": "IDS", "value": 8}
]
"BW": 50
},
"EP src": "IP@EricssonSJ",
"EPdst": "IP@exitGW"
}
}
La descripción ilustrativa de la SFC especifica a Ericsson SJ como el origen de la SFC e Internet como el destino de la SFC. La descripción también especifica una cadena (es decir, "cadena 1") de funciones de servicio que consta de una función de servicio de inspección profunda de paquetes seguida de una función de servicio del sistema de detección de intrusos. La descripción también especifica la cantidad de CPU y memoria solicitada para cada una de las funciones de servicio, así como la cantidad de ancho de banda solicitado. En este ejemplo, se solicitan 2 CPU virtuales y 16 GB de memoria para la función de servicio de inspección profunda de paquetes y 4 CPU virtuales y 8 GB de memoria para la función de servicio del sistema de detección de intrusos. El ancho de banda solicitado es de 50 Gbps.
La cantidad de recursos solicitados para la SFC (p. ej., como se especifica en la descripción de la SFC) puede ser diferente de la cantidad de recursos que la SFC realmente consumirá. Por lo tanto, el aprovisionamiento de la cantidad de recursos que se especifica en la solicitud puede dar como resultado un aprovisionamiento insuficiente o excesivo de recursos para la SFC. El sistema de aprendizaje automático de uso de recursos 160 puede utilizar técnicas de aprendizaje automático para determinar con mayor precisión la cantidad de recursos que consumirá la SFC basándose en su entrenamiento/aprendizaje previo. El sistema de aprendizaje automático de uso de recursos 160 puede generar esta cantidad como la cantidad sugerida de recursos para aprovisionar a la SFC (datos 330). Por ejemplo, el sistema de aprendizaje automático de uso de recursos 160 puede sugerir que la función de servicio de inspección profunda de paquetes debería aprovisionarse con 3 CPU virtuales (en lugar de las 2 CPU virtuales solicitadas inicialmente) y que la función de servicio del sistema de detección de intrusos debería aprovisionarse con 16 GB de memoria (en lugar de los 8 GB de memoria solicitados inicialmente). Además, el sistema de aprendizaje automático de uso de recursos 160 puede sugerir que se aprovisionen 55 Gbps de ancho de banda para la SFC (en lugar de los 50 Gbps solicitados inicialmente).
En una realización, el sistema de aprendizaje automático de uso de recursos 160 incluye un mecanismo de realimentación de errores para ayudar al sistema de aprendizaje automático de uso de recursos 160 a aprender de cualquier resultado inexacto que produzca. El mecanismo de realimentación de errores compara la salida del sistema de aprendizaje automático de uso de recursos 160 con el uso real de recursos de la SFC, y realimenta la diferencia como un error al sistema de aprendizaje automático de uso de recursos 160. El sistema de aprendizaje automático de uso de recursos 160 puede utilizar la información de error para tomar mejores decisiones para futuras solicitudes. En una realización, el mecanismo de realimentación de errores verifica que el error no haya sido causado por factores externos tales como fallos de software/hardware.
La figura 4 es un diagrama que ilustra las etapas internas de un sistema de aprendizaje automático de uso de recursos, según algunas realizaciones.
El sistema de aprendizaje automático de uso de recursos 160 toma un vector de características 410 como entrada. El vector de características 410 puede incluir información que describe una SFC (p. ej., los datos 320 en la figura 3). Como se ilustra, el sistema de aprendizaje automático de uso de recursos 160 incluye dos etapas. La primera etapa agrupa la entrada, por ejemplo, basándose en la hora/día/año, origen/destino de la SFC u otras características/propiedades de la SFC descritas en el vector de características 410 y/u otra información contextual. La agrupación puede clasificar el vector de características 410 en una clase (p. ej., de clase 1 a clase X). La segunda etapa incluye una caja de aprendizaje automático 450 para cada clase. Un subconjunto del vector de características 410 (y la información contextual, p. ej., información de hora/día/año) y el error de la realimentación de corrección anterior se dirige a la caja de aprendizaje automático 450 apropiada en la segunda etapa, según lo determinado por la agrupación en la primera etapa. En una realización, el subconjunto del vector de características 410 puede excluir las características del vector de características original 410 que se utilizaron para la agrupación. En una realización, el subconjunto del vector de características 410 puede incluir características de ingeniería basadas en las características sin procesar en el vector de características 410. En una realización, el subconjunto del vector de características 410 puede incluir un intervalo de confianza de la agrupación realizada en la primera etapa. En la segunda etapa, la caja de aprendizaje automático 450 (que se seleccionó por la agrupación en la primera etapa) utiliza técnicas de aprendizaje automático para determinar la cantidad sugerida de recursos para aprovisionar a la SFC basándose en el subconjunto del vector de características 410 y la información contextual (p. ej., información de la hora/día/año) que recibió como entrada. Además, la caja de aprendizaje automático 450 puede utilizar la realimentación de error para aprender de sus errores. La caja de aprendizaje automático 450 a continuación genera un vector de características ajustado 460 con valores ajustados (p. ej., ajustados con la cantidad sugerida de recursos para aprovisionar a la SFC según lo determinado por un caja de aprendizaje automático 450 en la segunda etapa).
La agrupación puede ser útil porque la cantidad de recursos que consume una SFC puede depender de la hora del día/semana/año, los puntos finales y otros factores. La agrupación puede proporcionar resultados más precisos al agrupar las SFC que tienen características/propiedades similares en una clase y proporcionar un subsistema de aprendizaje automático especializado e independiente para cada clase. Las clases pueden formarse basándose en la hora del día, el día del calendario, por puntos finales y por tipos de cadena. Los tipos de cadena podrían formarse basándose en las vNF de cómputo alto o las vNF de memoria alta o ambas. El número de clases puede configurarse, según sea necesario para lograr el nivel de precisión deseado.
Pueden utilizarse diversas técnicas de aprendizaje automático para implementar las etapas internas del sistema de aprendizaje automático de uso de recursos 160. Por ejemplo, la primera etapa puede implementarse utilizando un árbol de decisión y la segunda etapa puede implementarse utilizando una red neuronal (p. ej., una red neuronal bayesiana).
La figura 5 es un diagrama de flujo que ilustra un proceso para optimizar el uso de recursos de las SFC existentes en la red, según algunas realizaciones. Las operaciones en el diagrama de flujo pueden implementarse mediante un dispositivo informático 110 (p. ej., el componente de optimización de recursos de SFC 115).
El proceso se basa en la información proporcionada por un sistema de aprendizaje automático de escala automática 170 asociado con una vNF 155. El sistema de aprendizaje automático de escala automática 170 para la vNF 155 puede predecir cuándo se debe ajustar la cantidad de recursos aprovisionados para la vNF 155 y en qué medida. El sistema de aprendizaje automático de escala automática 170 para la vNF 155 se entrena en línea utilizando el aprendizaje automático para predecir cuándo se necesita la escala automática para la vNF 155. El sistema de aprendizaje automático de escala automática 170 recibe como entrada una cantidad de recursos actualmente utilizados por la vNF 155 y una cantidad de recursos actualmente disponibles para la vNF 155 (bloque 510). El sistema de aprendizaje automático de escala automática 170 utiliza el aprendizaje automático para determinar un ajuste sugerido a una cantidad de recursos aprovisionados para la vNF 155 basándose en la cantidad de recursos utilizados actualmente por la vNF 155 y la cantidad de recursos actualmente disponibles para la vNF 155 (bloque 520). En una realización, el sistema de aprendizaje automático de escala automática 170 también recibe información con respecto a las SFC que están utilizando actualmente la vNF como entrada y determina el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF basándose en la información con respecto a las SFC que actualmente utilizan la vNF. El sistema de aprendizaje automático de escala automática 170 a continuación emite el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF 155 (bloque 530). En una realización, el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF 155 incluye un ajuste sugerido a una cantidad de recursos de CPU (p. ej., número de núcleos) aprovisionados para la vNF 155, un ajuste sugerido a la cantidad de memoria aprovisionada para la vNF 155, un ajuste sugerido a una cantidad de ancho de banda aprovisionado para la vNF 155, un ajuste sugerido a una cantidad de recursos de almacenamiento aprovisionados para la vNF 155, o un ajuste sugerido a cualquier otro tipo de recurso de red/informático aprovisionado para la vNF 155. En una realización, la vNF 155 incluye múltiples componentes de vNF. En una realización de este tipo, el ajuste sugerido puede incluir un ajuste sugerido a una cantidad de recursos aprovisionados por cada componente vNF de la vNF 155. En una realización, el ajuste sugerido incluye una bandera de urgencia. La bandera de urgencia indica si la necesidad de ajuste de recursos es urgente o no. En una realización, la bandera de urgencia puede ir acompañada de un valor que indica una cantidad máxima de tiempo en la que debe tener lugar el ajuste de recursos.
El dispositivo informático 110 obtiene, del sistema de aprendizaje automático de escala automática 170 asociado con la vNF 155, el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF 155 (bloque 540) y proporciona el ajuste sugerido a un componente de reasignación de recursos (bloque 550). El componente de reasignación de recursos puede utilizar cualquier algoritmo o estrategia adecuada para determinar un esquema óptimo de reasignación de recursos que cumpla con los ajustes de recursos sugeridos. En una realización, el componente de reasignación de recursos tiene acceso a información con respecto a las condiciones de la red/nube (p. ej., a través del sistema de monitorización y gestión de recursos 120) y utiliza esta información para determinar un esquema de reasignación de recursos óptimo que especifica o sugiere en qué parte de la red 100 deberían asignarse y/o desasignarse los recursos. El componente de reasginación de recursos puede considerar el estado actual de la red y la infraestructura, la información sobre otras vNF 155 actualmente en funcionamiento, las políticas del operador sobre la asignación de recursos y otros tipos de información al determinar el esquema óptimo de reasignación de recursos. El esquema de reasignación preferiblemente debería minimizar el impacto en las SFC y servicios existentes, y minimizar la cantidad de migraciones de VM. El esquema de reasignación de recursos puede proporcionarse al sistema de monitorización y gestión de recursos 120 y un sistema de monitorización y gestión de recursos 120 puede reasignar los recursos según el esquema de reasignación de recursos.
La figura 6 es un diagrama que ilustra los componentes de una función de red virtual, según algunas realizaciones.
Como se ilustra, la vNF 155 incluye N componentes de vNF (componente 1 de vNF, componente 2 de vNF,..., componente N de vNF). Cada componente de vNF proporciona un subconjunto de la funcionalidad de vNF. Los componentes de vNF pueden comunicarse entre sí para realizar la funcionalidad de la vNF 155. El flujo de tráfico entre los componentes de vNF puede denominarse en la presente memoria tráfico entre componentes de vNF o tráfico entre componentes. El tráfico que fluye a través de toda la vNF 155 se denomina en la presente memoria tráfico este-oeste. En una realización, la vNF 155 puede estar asociada con un sistema de aprendizaje automático de escala automática 170. El sistema de aprendizaje automático de escala automática 170 puede monitorizar cada uno de los componentes de vNF y utilizar técnicas de aprendizaje automático para determinar cuándo se necesita la escala automática para la vNF 155. La vNF 155 se ilustra con una línea de discontinua para indicar que los diversos componentes de la vNF 155 (p. ej., los componentes 1-N de vNF y el sistema de aprendizaje automático de escala automática 170) no necesitan estar coubicados o implementarse por el mismo dispositivo. En algunas realizaciones, los diversos componentes de la vNF 155 pueden implementarse de manera distributiva a través de la red 100.
La figura 7 es un diagrama que ilustra las entradas y salidas de un sistema de aprendizaje automático de escala automática, según algunas realizaciones.
El sistema de aprendizaje automático de escala automática 160 para una vNF 155 puede entrenarse utilizando técnicas de aprendizaje automático para saber cuándo cambiará el uso de recursos de la vNF 155. Esto puede hacerse observando y aprendiendo (utilizando aprendizaje automático) el comportamiento de uso de recursos de la vNF 155 y cómo cambia el uso de recursos de la vNF 155 dependiendo de las SFC que atraviesan la vNF, el tiempo, la ubicación de la vNF y otra información con respecto a la vNF y/u otra información contextual. La entrada al sistema de aprendizaje automático de escala automática 170 para una vNF 155 incluye la cantidad de recursos actualmente utilizados por la vNF 155 (datos 710) y la cantidad de recursos actualmente disponibles para la vNF 155 (datos 720). Por ejemplo, la cantidad de recursos utilizados actualmente por la vNF 155 puede incluir el uso de la CPU y el uso de la memoria por componente vNF de la vNF 155, así como el uso del ancho de banda de la vNF 155 (tanto el ancho de banda entre componentes como el ancho de banda de este-oeste utilizado por la vNF 155). La cantidad de recursos actualmente disponibles para la vNF 155 puede incluir la cantidad de recursos de CPU y memoria disponibles por componente vNF de la vNF 155, así como la cantidad de ancho de banda disponible para la vNF 155 (tanto el ancho de banda entre componentes como el ancho de banda de este-oeste disponible para la vNF 155). En una realización, la entrada al sistema de aprendizaje automático de escala automática 170 incluye información sobre las SFC que utilizan la vNF 155 (datos 730). El sistema de aprendizaje automático de escala automática 170 puede utilizar esta información para aprender la diferencia en el consumo de recursos cuando se une una nueva SFC a la carga de tráfico. En una realización, la entrada al sistema de aprendizaje automático de escala automática 170 incluye información de hora y fecha u otra información contextual. Las entradas al sistema de aprendizaje automático de escala automática 170 se proporcionan a modo de ejemplo y no de limitación. Las entradas al sistema de aprendizaje automático de escala automática 170 pueden incluir cualquier tipo de información que ayude al sistema de aprendizaje automático de escala automática 170 a determinar cuándo se necesita la escala automática y cuánta escala automática se necesita. Por ejemplo, las entradas también pueden incluir entradas externas de expertos en el dominio y efectos de decisiones de escala automática anteriores.
El sistema de aprendizaje automático de escala automática 170 utiliza técnicas de aprendizaje automático para determinar un ajuste sugerido a la cantidad de recursos aprovisionados para la vNF 155 basándose en la entrada. La salida del sistema de aprendizaje automático de escala automática 170 es el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF 155 (datos 740). El ajuste sugerido puede sugerir que la cantidad de recursos aprovisionados para la vNF 155 debería aumentarse o reducirse, y también proporcionar una cantidad sugerida por la cual debería ajustarse la cantidad de recursos. En una realización, el ajuste sugerido puede sugerir un ajuste para cada componente vNF de la vNF 155. Por ejemplo, el ajuste sugerido puede sugerir aumentar o reducir la cantidad de recursos de CPU y de memoria aprovisionados para cada componente vNF de la vNF 155. El ajuste sugerido también puede sugerir aumentar o reducir la cantidad de ancho de banda entre componentes y/o el ancho de banda este-oeste aprovisionado para la vNF 155. En una realización, el ajuste sugerido incluye una bandera de urgencia que indica si la necesidad de ajuste es urgente. Por ejemplo, el sistema de aprendizaje automático de escala automática 170 puede establecer la bandera de urgencia en un valor afirmativo si la vNF 155 está muy cerca de utilizar todos los recursos aprovisionados para la vNF 155. En una realización, la bandera de urgencia puede ir acompañada de un valor que indica una cantidad máxima de tiempo en la que debe tener lugar el ajuste de recursos.
La figura 8 es un diagrama que ilustra el interior de un sistema de aprendizaje automático de escala automática, según algunas realizaciones.
Internamente, el sistema de aprendizaje automático de escala automática 170 para una vNF 155 realiza un seguimiento de los componentes de vNF de la vNF 155 y las conexiones entre componentes (las interconexiones de los componentes de vNF). El sistema de aprendizaje automático de escala automática 170 monitoriza y predice la utilización de recursos por componente de vNF y también monitoriza y predice el uso/rendimiento del ancho de banda de vNF, así como el ancho de banda este-oeste que pasa a través de la vNF 155. Basándose en esta información, el sistema de aprendizaje automático de escala automática 170 puede generar un ajuste de escala automática por componente de vNF.
Como se ilustra, el sistema de aprendizaje automático de escala automática 170 incluye una caja de aprendizaje automático para cada componente de vNF. La caja de aprendizaje automático para un componente de vNF recibe como entrada la utilización de recursos del componente de vNF, información de hora/fecha e información de SFC (de las SFC que utilizan el componente de vNF). Basándose en esta entrada, la caja de aprendizaje automático utiliza técnicas de aprendizaje automático para determinar la cantidad de aumento/disminución de la escala automática para el componente de vNF y una bandera de urgencia que indica si la necesidad de la escala automática es urgente o no. La caja de aprendizaje automático proporciona esta información como salida. La salida de cada caja de aprendizaje automático se proporciona como una salida del sistema de aprendizaje automático de escala automática 170.
Las cajas de aprendizaje automático pueden utilizar cualquier técnica de aprendizaje automático adecuada. En una realización, las cajas de aprendizaje automático pueden utilizar un sistema de umbral de múltiples etapas tal como el que se describe en la Solicitud de Patente de Estados Unidos N.° 14/689.040 presentada el 16 de abril de 2015 para monitorizar la utilización/disponibilidad de recursos y predecir la necesidad de escala automática. La idea es monitorizar constantemente la utilización de recursos (p. ej., CPU, memoria y ancho de banda) y observar cuándo la tasa de cambio de la utilización de recursos varía con una tendencia específica (velocidad, valor). Pueden utilizarse otros tipos de técnicas para predecir la tasa de cambio en la utilización de recursos. Por ejemplo, pueden utilizarse los filtros de Kalman o las redes neuronales para predecir la tasa de cambio en la utilización de recursos.
En una realización, el sistema de aprendizaje automático de escala automática 170 aprende el efecto de diversas SFC en sus diversos componentes de vNF en diversos momentos (p. ej., hora del día, día de la semana, mes, etc.). Esta información puede permitir que el sistema de aprendizaje automático de escala automática 170 proporcione predicciones más precisas para la escala automática.
Los sistemas de aprendizaje automático descritos en la presente memoria pueden utilizarse de otras formas para optimizar el uso de recursos de las SFC. En una realización, el sistema de aprendizaje automático de uso de recursos 160 puede servir como un sistema de recomendación. Por ejemplo, si un usuario solicita que se aprovisione una cierta cantidad de recursos para una SFC que es diferente de la cantidad real de recursos que consumirá la SFC (según lo determinado por el sistema de aprendizaje automático de uso de recursos 160), el sistema de aprendizaje automático de uso de recursos 160 puede proporcionar la cantidad sugerida de recursos para aprovisionar a la SFC al usuario y preguntar si el usuario desea aceptar la cantidad sugerida o continuar con la cantidad solicitada originalmente.
El aprendizaje realizado por los sistemas de aprendizaje automático puede importarse a una herramienta de gestión y planificación de red (p. ej., un simulador) y puede utilizarse para predecir el dimensionamiento requerido para los recursos de red (p. ej., dónde se necesitan más memoria y recursos de CPU). En una realización, los sistemas de aprendizaje automático pueden entrenarse previamente en un simulador antes de implementarse en una red activa. Los administradores de red pueden obtener un gráfico que muestra el historial de consumo de recursos y la proyección con algún margen de error, y estos datos pueden utilizarse para entrenar previamente los sistemas de aprendizaje automático.
La figura 9A ilustra la conectividad entre dispositivos de red (ND) dentro de una red ilustrativa, así como tres implementaciones ilustrativas de los ND, según algunas realizaciones. La figura 9A muestra los ND 900A-H y su conectividad por medio de líneas entre A-B, B-C, C-D, D-E, E-F, F-G y A-G, así como entre H y cada uno de A, C, D y G. Estos ND son dispositivos físicos, y la conectividad entre estos ND puede ser inalámbrica o por cable (a menudo denominada enlace). Una línea adicional que se extiende desde los ND 900A, E y F ilustra que estos ND actúan como puntos de entrada y salida para la red (y, por lo tanto, estos ND a veces se denominan ND perimetrales; mientras que los otros ND pueden llamarse ND centrales).
Dos de las implementaciones ilustrativas del ND en la figura 9A son: 1) un dispositivo de red de fin especial 902 que utiliza circuitos integrados específicos de la aplicación (ASIC) personalizados y un sistema operativo (SO) propietario; y 2) un dispositivo de red de fin general 904 que utiliza procesadores estándar disponibles en el mercado (COTS) y un SO estándar.
El dispositivo de red de fin especial 902 incluye hardware de red 910 que comprende recurso o recursos informáticos 912 (que normalmente incluyen un conjunto de uno o más procesadores), recurso o recursos de reenvío 914 (que normalmente incluyen uno o más ASlC y/o procesadores de red), e interfaces de red (NI) físicas 916 (a veces denominadas puertos físicos), así como medios de almacenamiento legibles por máquina no transitorios 918 que tienen almacenado en los mismos software de red 920. Una NI física es hardware en un Nd a través del cual se realiza una conexión de red (p. ej., de forma inalámbrica a través de un controlador de interfaz de red inalámbrica (WNIC) o a través de la conexión de un cable a un puerto físico conectado a un controlador de interfaz de red (NIC)), tal como las mostradas por la conectividad entre los ND 900A-H. Durante la operación, el software de interconexión en red 920 puede ejecutarse por el hardware de interconexión en red 910 para instanciar un conjunto de una o más instancia o instancias de software de interconexión en red 922. Cada una de la instancia o instancias de software de red 922, y esa parte del hardware de interconexión en red 910 que ejecuta esa instancia de software de red (ya sea hardware especializado a esa instancia de software de interconexión en red y/o segmentos de tiempo de hardware compartidos temporalmente por esa instancia de software de interconexión en red con otras de la instancia o instancias del software de interconexión en red 922), forman un elemento de red virtual separado 930A-R. Cada uno del elemento o elementos de red virtual (VNE) 930A-R incluye un módulo de configuración y comunicación de control 932A-R (a veces denominado módulo de control local o módulo de comunicación de control) y tabla o tablas de reenvío 934A-R, de manera que un elemento de red virtual dado (p. ej., 930A) incluye el módulo de configuración y comunicación de control (p. ej., 932A), un conjunto de una o más tabla o tablas de reenvío (p. ej., 934A) y esa parte del hardware de interconexión en red 910 que ejecuta el elemento de red virtual (p. ej., 930A).
A menudo se considera física y/o lógicamente que el dispositivo de red de fin especial 902 incluye: 1) un plano de control de ND 924 (a veces denominado plano de control) que comprende el recurso o recursos informáticos 912 que ejecutan el módulo o módulos de comunicación y configuración de control 932A-R; y 2) un plano de reenvío de ND 926 (a veces denominado plano de reenvío, plano de datos o plano de medios) que comprende el recurso o recursos de reenvío 914 que utilizan la tabla o tablas de reenvío 934A-R y los NI físicos 916. A modo de ejemplo, cuando el ND es un encaminador (o está implementando la funcionalidad de encaminamiento), el plano de control de ND 924 (el recurso o recursos informáticos 912 que ejecutan el módulo o módulos de comunicación y configuración de control 932A-R) normalmente es responsable de participar en el control de cómo se enrutarán los datos (p. ej., paquetes) (p. ej., el siguiente salto para los datos y el NI físico saliente para esos datos) y almacenar esa información de encaminamiento en la tabla o tablas de reenvío 934A-R, y el plano de reenvío de ND 926 es responsable de recibir esos datos en los NI físicos 916 y reenviar esos datos a los apropiados de los NI físicos 916 basándose en la tabla o tablas de reenvío 934A-R.
La figura 9B ilustra una forma ilustrativa de implementar el dispositivo de red de fin especial 902 según algunas realizaciones. La figura 9B muestra un dispositivo de red de fin especial que incluye las tarjetas 938 (normalmente conectables en caliente). Mientras que en algunas realizaciones las tarjetas 938 son de dos tipos (una o más que funcionan como el plano de reenvío ND 926 (a veces denominadas tarjetas de línea) y una o más que funcionan para implementar el plano de control de ND 924 (a veces denominadas tarjetas de control)), las realizaciones alternativas pueden combinar la funcionalidad en una sola tarjeta y/o incluir tipos de tarjetas adicionales (p. ej., un tipo adicional de tarjeta se denomina tarjeta de servicio, tarjeta de recursos o tarjeta de múltiples aplicaciones). Una tarjeta de servicio puede proporcionar procesamiento especializado (p. ej., servicios de capa 4 a capa 7 (p. ej., cortafuegos, seguridad de protocolo de Internet (IPsec), capa de conexión segura (SSL)/seguridad de capa de transporte (TLS), sistema de detección de intrusos (IDS), comunicación entre pares (P2P), controlador perimetral de sesión de voz sobre IP (VoIP), pasarelas inalámbricas móviles (nodo de soporte de servicio general de paquetes de radio (GPRS) de pasarela (GGSN), pasarela de núcleo de paquete evolucionado (EPC))). A modo de ejemplo, puede utilizarse una tarjeta de servicio para terminar los túneles IPsec y ejecutar los algoritmos de autenticación y cifrado correspondientes. Estas tarjetas se acoplan entre sí a través de uno o más mecanismos de interconexión ilustrados como el panel de conexiones 936 (p. ej., una primera malla completa que acopla las tarjetas de línea y una segunda malla completa que acopla todas las tarjetas).
Volviendo a la figura 9A, el dispositivo de red de fin general 904 incluye el hardware 940 que comprende un conjunto de uno o más procesadores 942 (que a menudo son procesadores COTS) y el controlador o controladores de interfaz de red 944 (los NIC; también conocidos como tarjetas de interfaz de red) (que incluyen las NI físicas 946), así como medios de almacenamiento legibles por máquina no transitorios 948 que tienen almacenado en los mismos el software 950. Durante la operación, el procesador o procesadores 942 ejecutan el software 950 para instanciar uno o más conjuntos de una o más aplicaciones 964A-R. Si bien una realización no implementa la virtualización, las realizaciones alternativas pueden utilizar diferentes formas de virtualización, representadas por una capa de virtualización 954 y contenedores de software 962A-R. Por ejemplo, una realización alternativa de este tipo implementa la virtualización a nivel del sistema operativo, en cuyo caso la capa de virtualización 954 representa el núcleo de un sistema operativo (o una cuña que se ejecuta en un sistema operativo base) que permite la creación de múltiples contenedores de software 962A-R que pueden utilizarse cada uno para ejecutar uno de los conjuntos de aplicaciones 964A-R. En esta realización, los múltiples contenedores de software 962A-R (también llamados motores de virtualización, servidores privados virtuales o cárceles) son cada uno una instancia de espacio de usuario (normalmente un espacio de memoria virtual); estas instancias de espacio de usuario están separadas entre sí y separadas del espacio del núcleo en el que se ejecuta el sistema operativo; el conjunto de aplicaciones que se ejecutan en un espacio de usuario dado, a menos que se permita explícitamente, no puede acceder a la memoria de los otros procesos. Otra realización alternativa de este tipo implementa la virtualización completa, en cuyo caso: 1) la capa de virtualización 954 representa un hipervisor (a veces denominado monitor de máquina virtual (VMM)) o un hipervisor que se ejecuta sobre un sistema operativo anfitrión; y 2) cada uno de los contenedores de software 962A-R representa una forma estrechamente aislada de contenedor de software denominada máquina virtual que es ejecutada por el hipervisor y puede incluir un sistema operativo invitado. Una máquina virtual es una implementación de software de una máquina física que ejecuta programas como si se estuvieran ejecutando en una máquina física no virtualizada; y las aplicaciones generalmente no saben que se están ejecutando en una máquina virtual en lugar de ejecutarse en un dispositivo electrónico anfitrión de tipo "metal desnudo", aunque algunos sistemas proporcionan para-virtualización que permite que un sistema operativo o una aplicación sean conscientes de la presencia de virtualización para propósitos de optimización.
La creación de instancias de uno o más conjuntos de una o más aplicaciones 964A-R, así como la capa de virtualización 954 y los contenedores de software 962A-R, si se implementan, se denominan colectivamente instancia o instancias de software 952. Cada conjunto de aplicaciones 964A-R, el correspondiente contenedor de software 962A-R si está implementado, y la parte del hardware 940 que los ejecuta (ya sea hardware especializado a esa ejecución y/o segmentos de tiempo de hardware compartidos temporalmente por los contenedores de software 962A-R), forma uno o más elementos de red virtual separados 960A-R.
El elemento o elementos de red virtual 960A-R realizan una funcionalidad similar al elemento o elementos de red virtual 930A-R, p. ej., similar al módulo o módulos de configuración y comunicación de control 932A y a la tabla o tablas de reenvío 934A (esta virtualización del hardware 940 a veces se denomina virtualización de funciones de red (NFV)). Por lo tanto, NFV puede utilizarse para consolidar muchos tipos de equipos de red en hardware de servidor de alto volumen estándar de la industria, conmutadores físicos y almacenamiento físico, que podrían ubicarse en centros de datos, ND y equipos en las instalaciones del cliente (CPE). Sin embargo, diferentes realizaciones de la invención pueden implementar uno o más de los contenedores de software 962A-R de manera diferente. Por ejemplo, mientras que las realizaciones de la invención se ilustran correspondiendo cada contenedor de software 962A-R a un VNE 960A-R, las realizaciones alternativas pueden implementar esta correspondencia a un nivel de granularidad más preciso (p. ej., las máquinas virtuales de tarjeta de línea virtualizan tarjetas de línea, la máquina virtual de tarjeta de control virtualiza tarjetas de control, etc.); debe entenderse que las técnicas descritas en la presente memoria con referencia a una correspondencia de los contenedores de software 962A-R con los VNE también se aplican a realizaciones en las que se utiliza un nivel de granularidad más preciso.
En determinadas realizaciones, la capa de virtualización 954 incluye un conmutador virtual que proporciona servicios de reenvío similares a los de un conmutador Ethernet físico. Específicamente, este conmutador virtual reenvía el tráfico entre los contenedores de software 962A-R y el o los NIC 944, así como, opcionalmente, entre los contenedores de software 962A-R; Además, este conmutador virtual puede imponer el aislamiento de la red entre los VNE 960A-R que, por política, no pueden comunicarse entre sí (p. ej., respetando las redes de área local virtual (VLAN)).
El tercer ejemplo de implementación de ND en la figura 9A es un dispositivo de red híbrido 906, que incluye procesadores ASIC personalizados/SO propietario y procesadores de COTS/SO estándar en un solo ND o una sola tarjeta dentro de un ND. En ciertas realizaciones de un dispositivo de red híbrido de este tipo, una VM de plataforma (es decir, una VM que implementa la funcionalidad del dispositivo de red de fin especial 902) podría proporcionar paravirtualización al hardware de red presente en el dispositivo de red híbrido 906.
Independientemente de las implementaciones ilustrativas anteriores de un ND, cuando se está considerando uno solo de los múltiples VNE implementados por un ND (p. ej., solo uno de los VNE es parte de una red virtual dada) o donde solo se está implementando un único VNE actualmente por un ND, el término abreviado elemento de red (NE) se utiliza a veces para referirse a ese VNE. Además, en todas las implementaciones ilustrativas anteriores, cada uno de los VNE (p. ej., el o los VNE 930A-R, el o los VNE 960A-R, y aquellos en el dispositivo de red híbrido 906) recibe datos en las NI físicas (p. ej., 916, 946) y reenvía esos datos a las correspondientes de las NI físicas (p. ej., 916, 946). Por ejemplo, una VNE que implementa la funcionalidad de un encaminador IP reenvía paquetes IP basándose en algo de la información del encabezado IP en el paquete IP; donde la información del encabezado IP incluye la dirección IP de origen, la dirección IP de destino, el puerto de origen, el puerto de destino (donde "puerto de origen" y "puerto de destino" se refieren en la presente memoria a puertos de protocolo, en contraposición a los puertos físicos de un ND), protocolo de transporte (p. ej., valores de protocolo de datagramas de usuario (UDP), protocolo de control de transmisión (TCP) y servicios diferenciados (DSCP).
La figura 9C ilustra diversas formas ilustrativas en las que los VNE pueden acoplarse según algunas realizaciones. La figura 9C muestra los VNE 970A.1-970A.P (y, opcionalmente, los v Ne 970A.Q-970A.R) implementados en el ND 900A y el VNE 970H. 1 en ND 900H. En la figura 9C, los VNE 970A. 1-P están separados entre sí en el sentido de que pueden recibir paquetes desde fuera del ND 900A y reenviar paquetes fuera del ND 900A; VNE 970A. 1 está acoplado con el VNE 970H. 1, y así comunican paquetes entre sus respectivos ND; VNE 970A.2-970A.3 puede opcionalmente reenviar paquetes entre ellos mismos sin reenviarlos fuera del ND 900A; y el VNE 970A.P puede ser opcionalmente el primero en una cadena de VNE que incluye el VNE 970A.Q seguido del VNE 970A.R (esto a veces se denomina encadenamiento de servicio dinámico, donde cada uno de los VNE en la serie de VNE proporciona un servicio diferente, p. ej., uno o más servicios de red de capa 4-7). Mientras que la figura 9C ilustra diversas relaciones ilustrativas entre los VNE, las realizaciones alternativas pueden soportar otras relaciones (p. ej., más/menos VNE, más/menos cadenas de servicios dinámicos, múltiples cadenas de servicios dinámicos diferentes con algunos VNE comunes y algunos VNE diferentes).
Los ND de la figura 9A, por ejemplo, pueden formar parte de Internet o de una red privada; y otros dispositivos electrónicos (no mostrados; tales como dispositivos de usuario final que incluyen estaciones de trabajo, ordenadores portátiles, portátiles, tabletas, agendas electrónicas, teléfonos móviles, teléfonos inteligentes, teléfonos-tabletas, teléfonos multimedia, teléfonos con protocolo de voz sobre Internet (VOIP), terminales, reproductores multimedia portátiles, unidades GPS, dispositivos portátiles, sistemas de juegos, decodificadores de salón, electrodomésticos habilitados para Internet) pueden acoplarse a la red (directamente o a través de otras redes, tales como las redes de acceso) para comunicarse a través de la red (p. ej., Internet o redes privadas virtuales (VPN) superpuestas en (p. ej., tunelizadas a través de) Internet) entre sí (directamente o a través de servidores) y/o acceder a contenidos y/o servicios. Tal contenido y/o servicios generalmente se proporcionan por uno o más servidores (no mostrados) que pertenecen a un proveedor de servicios/contenido o uno o más dispositivos de usuario final (no mostrados) que participan en un servicio entre iguales (P2P), y pueden incluir, p. ej., páginas web públicas (p. ej., contenido gratuito, escaparates, servicios de búsqueda), páginas web privadas (p. ej., páginas web a las que se accede con nombre de usuario/contraseña que proporcionan servicios de correo electrónico) y/o redes corporativas a través de VPN. Por ejemplo, los dispositivos de usuario final pueden acoplarse (p. ej., a través de un equipo en las instalaciones del cliente acoplado a una red de acceso (alámbrica o inalámbrica)) a ND perimetrales, que están acoplados (p. ej., a través de uno o más ND centrales) a otros ND perimetrales, que están acoplados a dispositivos electrónicos que actúan como servidores. Sin embargo, a través de la virtualización de cómputo y almacenamiento, uno o más de los dispositivos electrónicos que funcionan como los ND en la figura 9A también pueden albergar uno o más de dichos servidores (p. ej., en el caso del dispositivo de red de fin general 904, uno o más de los contenedores de software 962A-R pueden funcionar como servidores; lo mismo sería cierto para el dispositivo de red híbrido 906; en el caso del dispositivo de red de fin especial 902, uno o más de dichos servidores también podrían ejecutarse en una capa de virtualización ejecutada por el o los recursos informáticos 912); en cuyo caso se dice que los servidores están coubicados con los VNE de ese ND.
Una red virtual es una abstracción lógica de una red física (tal como la de la figura 9A) que proporciona servicios de red (p. ej., servicios L2 y/o L3). Una red virtual puede implementarse como una red superpuesta (a veces denominada superposición de virtualización de red) que proporciona servicios de red (p. ej., servicios de capa 2 (L2, capa de enlace de datos) y/o capa 3 (L3, capa de red)) sobre una red subyacente (p. ej., una red L3, tal como una red de Protocolo de Internet (IP) que utiliza túneles (p. ej., encapsulación de encaminamiento genérico (GRE), protocolo de túnel de capa 2 (L2TP), IPSec) para crear la red superpuesta).
Un perímetro de virtualización de red (NVE) se ubica en el perímetro de la red subyacente y participa en la implementación de la virtualización de red; el lado de la NVE que mira hacia la red utiliza la red subyacente para tunelizar tramas hacia y desde otros NVE; el lado que mira hacia fuera del NVE envía y recibe datos hacia y desde sistemas fuera de la red. Una instancia de red virtual (VNI) es una instancia específica de una red virtual en un NVE (p. ej., un NE/VNE en un ND, una parte de un NE/VNE en un ND donde ese Ne/VNE se divide en múltiples VNE a través de emulación); pueden instanciarse una o más VNI en un NVE (p. ej., como diferentes VNE en un ND). Un punto de acceso virtual (VAP) es un punto de conexión lógica en el NVE para conectar sistemas externos a una red virtual; un VAP puede ser puertos físicos o virtuales identificados a través de identificadores de interfaz lógica (p. ej., una ID de VLAN).
Ejemplos de servicios de red incluyen: 1) un servicio de emulación de LAN Ethernet (un servicio multipunto basado en Ethernet similar a un servicio de conmutación de etiquetas multiprotocolo (MPLS) o Ethernet VPN (EVPN) del grupo de trabajo de ingeniería de Internet (IETF)) en el que los sistemas externos están interconectados a través de la red mediante un entorno de LAN a través de la red subyacente (p. ej., un NVE proporciona VNI (instancias de conmutación virtual) de L2 separadas para diferentes redes virtuales de este tipo, y encapsulación de tunelización L3 (p. ej., IP/MPLS) a través de la red subyacente); y 2) un servicio de reenvío de IP virtualizado (similar a IETF IP VPN (p. ej., protocolo de pasarela perimetral (BGP)/MPLS IPVPN) desde una perspectiva de definición de servicio) en el que los sistemas externos están interconectados a través de la red mediante un entorno L3 sobre la red subyacente (p. ej., un NVE proporciona las VNI (instancias de encaminamiento y reenvío) de L3 independientes para diferentes redes virtuales de este tipo, y encapsulación de tunelización L3 (p. ej., IP/MPLS) a través de la red subyacente)). Los servicios de red también pueden incluir capacidades de calidad de servicio (p. ej., marcado de clasificación de tráfico, acondicionamiento y planificación del tráfico), capacidades de seguridad (p. ej., filtros para proteger las instalaciones del cliente de ataques originados en la red, para evitar anuncios de ruta mal formados) y capacidades de gestión (p. ej., detección completa y procesamiento).
La figura 9D ilustra una red con un solo elemento de red en cada uno de los ND de la figura 9A, y dentro de este enfoque directo contrasta un enfoque distribuido tradicional (utilizado comúnmente por los encaminadores tradicionales) con un enfoque centralizado para mantener la accesibilidad e información de reenvío (también denominado control de red), según algunas realizaciones. Específicamente, la figura 9D ilustra elementos de red (NE) 970A-H con la misma conectividad que los ND 900A-H de la figura 9A.
La figura 9D ilustra que el enfoque distribuido 972 distribuye la responsabilidad de generar la información de accesibilidad y reenvío a través de los NE 970A-H; en otras palabras, se distribuye el proceso de descubrimiento de vecinos y descubrimiento de topología.
Por ejemplo, cuando se utiliza el dispositivo de red de fin especial 902, el módulo o módulos de configuración y comunicación de control 932A-R del plano de control de ND 924 normalmente incluyen un módulo de información de accesibilidad y reenvío para implementar uno o más protocolos de encaminamiento (p. ej., un protocolo de pasarela exterior, tal como el protocolo de pasarela perimetral (BGP), el protocolo o protocolos de pasarela interior (IGP) (p. ej., abrir primero la ruta más corta (OSPF), sistema intermedio a sistema intermedio (IS-IS), protocolo de información de encaminamiento (RIP)), protocolo de distribución de etiquetas (LDP), protocolo de reserva de recursos (RSVP), así como RSVP-Ingeniería de tráfico (TE): Extensiones a RSVP para túneles LSP, conmutación de etiquetas multiprotocolo generalizada (GMPLS), señalización RSVP-TE que se comunica con otros NE para intercambiar rutas y a continuación selecciona esas rutas basándose en una o más métricas de encaminamiento. Por lo tanto, los NE 970A-H (p. ej., el recurso o recursos informáticos 912 que ejecutan el módulo o módulos de comunicación y configuración de control de control 932A-R) desempeñan su responsabilidad de participar en el control de cómo se enrutarán los datos (p. ej., los paquetes) (p. ej., el siguiente salto para los datos y la NI física saliente para esos datos) determinando distributivamente la accesibilidad dentro de la red y calculando su respectiva información de reenvío. Las rutas y adyacencias se almacenan en una o más estructuras de encaminamiento (p. ej., la base de información de encaminamiento (RIB), base de información de etiquetas (LIB), una o más estructuras de adyacencia) en el plano de control de ND 924. El plano de control de ND 924 programa el plano de reenvío de ND 926 con información (p. ej., información de ruta y adyacencia) basándose en la estructura o estructuras de encaminamiento. Por ejemplo, el plano de control ND 924 programa la información de ruta y adyacencia en una o más tablas de reenvío 934A-R (p. ej., base de información de reenvío (FIB), base de información de reenvío de etiquetas (LFIB) y una o más estructuras de adyacencia) en el plano de reenvío de ND 926. Para el reenvío de capa 2, el ND puede almacenar una o más tablas puenteo que se utilizan para reenviar datos basándose en la información de capa 2 en esos datos. Si bien el ejemplo anterior utiliza el dispositivo de red de fin especial 902, el mismo enfoque distribuido 972 puede implementarse en el dispositivo de red de fin general 904 y en el dispositivo de red híbrido 906.
La figura 9D ilustra un enfoque centralizado 974 (también conocido como interconexión en red definida por software (SDN)) que desacopla el sistema que toma decisiones sobre dónde se envía el tráfico desde los sistemas subyacentes que reenvían el tráfico al destino seleccionado. El enfoque centralizado ilustrado 974 tiene la responsabilidad de generar información de accesibilidad y reenvío en un plano de control centralizado 976 (a veces denominado módulo de control SDN, controlador, controlador de red, controlador OpenFlow, controlador de SDN, nodo del plano de control, autoridad de virtualización de red o entidad de control de gestión) y, por lo tanto, el proceso de descubrimiento de vecinos y descubrimiento de topología está centralizado. El plano de control centralizado 976 tiene una interfaz de límite sur 982 con un plano de datos 980 (a veces denominado capa de infraestructura, plano de reenvío de red o plano de reenvío (que no debería confundirse con un plano de reenvío de ND)) que incluye los NE 970A-H (a veces denominados conmutadores, elementos de reenvío, elementos del plano de datos o nodos). El plano de control centralizado 976 incluye un controlador de red 978, que incluye un módulo de información de reenvío y accesibilidad centralizada 979 que determina la accesibilidad dentro de la red y distribuye la información de reenvío a los NE 970A-H del plano de datos 980 a través de la interfaz de límite sur 982 (que puede utilizar el protocolo OpenFlow). Por lo tanto, la inteligencia de la red está centralizada en el plano de control centralizado 976 que se ejecuta en dispositivos electrónicos que normalmente están separados de los ND. En una realización, la capa de aplicación 986 puede incluir un componente de optimización de recursos de SFC 981 que, cuando lo ejecuta un dispositivo informático, hace que el dispositivo informático realice operaciones de una o más realizaciones descritas anteriormente en la presente memoria. En una realización, algunas de las operaciones de una o más realizaciones también pueden realizarse en el plano de control centralizado 976.
Por ejemplo, cuando el dispositivo de red de fin especial 902 se utiliza en el plano de datos 980, cada uno del módulo o módulos configuración y comunicación de control 932A-R del plano de control ND 924 normalmente incluye un agente de control que proporciona el lado del VNE de la interfaz de límite sur 982. En este caso, el plano de control de ND 924 (el recurso o recursos informáticos 912 que ejecutan el módulo o módulos de configuración y comunicación de control 932A-R) realiza su responsabilidad de participar en el control de cómo se encaminarán los datos (p. ej., los paquetes) (p. e., el siguiente salto para los datos y la NI física saliente para esos datos) a través del agente de control que se comunica con el plano de control centralizado 976 para recibir la información de reenvío (y en algunos casos, la información de accesibilidad) del módulo de información de reenvío y accesibilidad centralizada 979 (debe entenderse que, en algunas realizaciones, el módulo o módulos de configuración y comunicación de control 932A-R, además de comunicarse con el plano de control centralizado 976, también pueden desempeñar algún papel en la determinación de la accesibilidad y/o el cálculo de la información de reenvío. aunque menos que en el caso de un enfoque distribuido; generalmente se considera que tales realizaciones caen bajo el enfoque centralizado 974, pero también pueden considerarse un enfoque híbrido).
Si bien el ejemplo anterior utiliza el dispositivo de red de fin especial 902, el mismo enfoque centralizado 974 puede implementarse con el dispositivo de red de fin general 904 (p. ej., cada uno de los VNE 960A-R realiza su responsabilidad de controlar cómo los datos (p. ej., paquetes) se van a encaminar (p. ej., el siguiente salto para los datos y la NI física saliente para esos datos) comunicándose con el plano de control centralizado 976 para recibir la información de reenvío (y, en algunos casos, la información de accesibilidad) del módulo de información de reenvío y accesibilidad centralizada 979; debe entenderse que, en algunas realizaciones, los VNE 960A-R, además de comunicarse con el plano de control centralizado 976, también pueden desempeñar algún papel en la determinación de la accesibilidad y/o el cálculo de la información de reenvío, aunque menos que en el caso de un enfoque distribuido) y el dispositivo de red híbrido 906. De hecho, el uso de técnicas de SDN puede mejorar las técnicas de NFV que se utilizan normalmente en las implementaciones del dispositivo de red de fin general 904 o del dispositivo de red híbrido 906, ya que NFV es capaz de admitir SDN al proporcionar una infraestructura en la que puede ejecutarse el software de SDN, y NFV y SDN tienen como objetivo hacer uso de hardware de servidor de servicios básicos y conmutadores físicos.
La figura 9D también muestra que el plano de control centralizado 976 tiene una interfaz de límite norte 984 a una capa de aplicación 986, en la que reside la aplicación o aplicaciones 988. El plano de control centralizado 976 tiene la capacidad de formar redes virtuales 992 (a veces denominado plano de reenvío lógico, servicios de red o redes superpuestas (siendo los NE 970A-H del plano de datos 980 la red subyacente)) para la aplicación o aplicaciones 988. Por lo tanto, el plano de control centralizado 976 mantiene una vista global de todos los ND y NE/VNE configurados, y correlaciona las redes virtuales con los ND subyacentes de manera eficiente (incluyendo el mantenimiento de estas asignaciones a medida que la red física cambia a través de fallo, adición o eliminación de hardware (ND, enlace o componente de ND)).
Mientras que la figura 9D muestra el enfoque distribuido 972 separado del enfoque centralizado 974, el esfuerzo del control de la red puede distribuirse de manera diferente o los dos pueden combinarse en ciertas realizaciones de la invención. Por ejemplo: 1) las realizaciones generalmente pueden utilizar el enfoque centralizado (SDN) 974, pero tienen ciertas funciones delegadas a los NE (p. ej., puede utilizarse el enfoque distribuido para implementar uno o más de monitorización de fallos, monitorización de rendimiento, conmutación de protección y primitivas para descubrimiento de vecinos y/o topología); o 2) las realizaciones de la invención pueden realizar el descubrimiento de vecinos y el descubrimiento de topología a través del plano de control centralizado y los protocolos distribuidos, y los resultados se comparan para generar excepciones donde no concuerdan. Generalmente se considera que tales realizaciones caen bajo el enfoque centralizado 974, pero también pueden considerarse un enfoque híbrido.
Si bien la figura 9D ilustra el caso sencillo en el que cada uno de los ND 900A-H implementa un solo NE 970A-H, debe entenderse que los enfoques de control de red descritos con referencia a la figura 9D también funcionan para redes donde uno o más de los Nd 900A-H implementan múltiples VNE (p. ej., VNE 930A-R, VNE 960A-R, los del dispositivo de red híbrido 906). Como alternativa o además, el controlador de red 978 también puede emular la implementación de múltiples VNE en un solo ND. Específicamente, en lugar de (o además de) implementar múltiples VNE en un solo ND, el controlador de red 978 puede presentar la implementación de un VNE/NE en un solo ND como múltiples VNE en las redes virtuales 992 (todas en la misma de la red o redes virtuales 992, cada una en una diferente de la red o redes virtuales 992, o alguna combinación). Por ejemplo, el controlador de red 978 puede hacer que un ND implemente un solo VNE (un NE) en la red subyacente y luego divida lógicamente los recursos de ese NE dentro del plano de control centralizado 976 para presentar diferentes VNE en la red o redes virtuales 992 (donde estos diferentes VNE en las redes superpuestas comparten los recursos de la implementación del VNE/NE único en el ND en la red subyacente).
Por otra parte, las figuras 9E y 9F ilustran respectivamente abstracciones ilustrativas de NE y VNE que el controlador de red 978 puede presentar como parte de diferentes de las redes virtuales 992. La figura 9e ilustra el caso sencillo en el que cada uno de los ND 900A-H implementa un solo NE 970A-H (véase la figura 9D), pero el plano de control centralizado 976 ha abstraído múltiples de los NE en diferentes ND (los NE 970A-C y G-H) en (para representar) un único NE 9701 en una de la red o redes virtuales 992 de la figura 9D, según algunas realizaciones. La figura 9E muestra que en esta red virtual, el NE 9701 está acoplado al NE 970D y al 970F, que ambos aún están acoplados al NE 970E.
La figura 9F ilustra un caso en el que se implementan múltiples VNE (VNE 970A.1 y VNE 970H.1) en diferentes ND (ND 900A y ND 900H) y se acoplan entre sí, y en el que el plano de control centralizado 976 ha abstraído estos múltiples VNE de manera que aparecen como un solo v Ne 970T dentro de una de las redes virtuales 992 de la figura 9D, según algunas realizaciones. Por lo tanto, la abstracción de un NE o VNE puede abarcar múltiples ND.
Si bien algunas realizaciones implementan el plano de control centralizado 976 como una sola entidad (p. ej., una sola instancia de software que se ejecuta en un solo dispositivo electrónico), las realizaciones alternativas pueden distribuir la funcionalidad entre múltiples entidades con fines de redundancia y/o escalabilidad (p. ej., múltiples instancias de software que se ejecuta en diferentes dispositivos electrónicos).
De manera similar a las implementaciones de dispositivos de red, el dispositivo o dispositivos electrónicos que ejecutan el plano de control centralizado 976 y, por lo tanto, el controlador de red 978, incluyendo el módulo de información de reenvío y accesibilidad centralizada 979, pueden implementarse de diversas formas (p. ej., un dispositivo de fin especial, un dispositivo de fin general (p. ej., COTS) o un dispositivo híbrido). Este dispositivo o dispositivos electrónicos incluirían de manera similar un recurso o recursos informáticos, un conjunto o uno o más NIC físicos y un medio de almacenamiento legible por máquina no transitorio que tiene almacenado en el mismo el software del plano de control centralizado. Por ejemplo, la figura 10 ilustra un dispositivo de plano de control de fin general 1004 que incluye hardware 1040 que comprende un conjunto de uno o más procesador o procesadores 1042 (que a menudo son procesadores COTS) y controlador o controladores de interfaz de red 1044 (NIC); también conocidos como tarjetas de interfaz de red) (que incluyen NI físicas 1046), así como medios de almacenamiento legibles por máquina no transitorios 1048 que tienen almacenados en los mismos software de plano de control centralizado (CCP) 1050 y un componente de optimización de recursos de SFC 1051.
En las realizaciones que utilizan la virtualización informática, el procesador o procesadores 1042 normalmente ejecutan software para instanciar una capa de virtualización 1054 y un contenedor o contenedores de software 1062A-R (p. ej., con virtualización a nivel de sistema operativo, la capa de virtualización 1054 representa el núcleo de un sistema operativo (o una cuña que se ejecuta en un sistema operativo base) que permite la creación de múltiples contenedores de software 1062A-R (que representan instancias de espacio de usuario separadas y también llamados motores de virtualización, servidores privados virtuales o cárceles) que pueden utilizarse para ejecutar un conjunto de una o más aplicaciones; con virtualización completa, la capa de virtualización 1054 representa un hipervisor (a veces denominado monitor de máquina virtual (VMM)) o un hipervisor que se ejecuta sobre un sistema operativo anfitrión, y cada uno de los contenedores de software 1062A-R representa una forma estrechamente aislada de contenedor de software denominado una máquina virtual que ejecuta por el hipervisor y puede incluir un sistema operativo invitado; con para-virtualización, un sistema operativo o aplicación que se ejecuta con una máquina virtual puede ser consciente de la presencia de virtualización para fines de optimización). De nuevo, en las realizaciones en las que se utiliza la virtualización informática, durante la operación se ejecuta una instancia del software CCP 1050 (ilustrado como instancia CCP 1076A) dentro del contenedor de software 1062A en la capa de virtualización 1054. En las realizaciones en las que no se utiliza la virtualización informática, la instancia de CCP 1076A en la parte superior de un sistema operativo anfitrión se ejecuta en el dispositivo de plano de control de fin general de tipo "metal desnudo" 1004. La creación de instancias de la instancia de CCP 1076A, así como la capa de virtualización 1054 y los contenedores de software 1062A-R, si se implementan, se denominan colectivamente instancias o instancias de software 1052.
En algunas realizaciones, la instancia de CCP 1076A incluye una instancia de controlador de red 1078. La instancia de controlador de red 1078 incluye una instancia de módulo de información de reenvío y accesibilidad centralizada 1079 (que es una capa de soporte intermedio que proporciona el contexto del controlador de red 978 al sistema operativo y que se comunica con los diversos NE), y una capa de aplicación de CCP 1080 (a veces denominada como una capa de aplicación) sobre la capa de soporte intermedio (que proporciona la inteligencia requerida para diversas operaciones de red, tales como protocolos, conocimiento de la situación de la red e interfaces de usuario). En un nivel más abstracto, esta capa de aplicación de CCP 1080 dentro del plano de control centralizado 976 funciona con una vista o vistas de red virtual (vista o vistas lógicas de la red) y la capa de soporte intermedio proporciona la conversión de las redes virtuales a la vista física.
El componente de optimización de recursos de SFC 1051 puede ejecutarse mediante el hardware 1040 para realizar operaciones de una o más realizaciones de la presente invención como parte de las instancias de software 1052.
El plano de control centralizado 976 transmite mensajes relevantes al plano de datos 980 basándose en los cálculos de la capa de aplicación de CCP 1080 y la correlación de capa de soporte intermedio para cada flujo. Un flujo puede definirse como un conjunto de paquetes cuyos encabezados coinciden con un patrón de bits dado; en este sentido, el reenvío de IP tradicional también es un reenvío basado en flujo en el que los flujos están definidos por la dirección IP de destino, por ejemplo; sin embargo, en otras implementaciones, el patrón de bits dado utilizado para una definición de flujo puede incluir más campos (p. ej., 10 o más) en los encabezados de paquete. Diferentes ND/NE/VNE del plano de datos 980 pueden recibir mensajes diferentes y, por lo tanto, información de reenvío diferente. El plano de datos 980 procesa estos mensajes y programa la información de flujo apropiada y las acciones correspondientes en las tablas de reenvío (a veces denominadas tablas de flujo) de los NE/VNE apropiados y, a continuación, los NE/VNE correlacionan los paquetes entrantes con los flujos representados en las tablas de reenvío y reenvían paquetes basándose en las coincidencias en las tablas de reenvío.
Estándares tales como OpenFlow definen los protocolos utilizados para los mensajes, así como un modelo para procesar los paquetes. El modelo para procesar paquetes incluye el análisis de encabezados, la clasificación de paquetes y la toma de decisiones de reenvío. El análisis de encabezados describe cómo interpretar un paquete basándose en un conjunto bien conocido de protocolos. Se utilizan algunos campos de protocolo para crear una estructura (o clave) de coincidencia que se utilizará en la clasificación de paquetes (p. ej., un primer campo de clave podría ser una dirección de control de acceso al medio (MAC) de origen y un segundo campo de clave podría ser una dirección MAC de destino).
La clasificación de paquetes implica ejecutar una búsqueda en la memoria para clasificar el paquete determinando qué entrada (también conocida como entrada de tabla de reenvío o entrada de flujo) en las tablas de reenvío coincide mejor con el paquete basándose en la estructura, o clave, de coincidencia de las entradas de tabla de reenvío. Es posible que muchos flujos representados en las entradas de tabla de reenvío puedan corresponder/coincidir con un paquete; en este caso, el sistema normalmente está configurado para determinar una entrada de tabla de reenvío de las muchas según un esquema definido (p. ej., seleccionando una primera entrada de tabla de reenvío que coincida). Las entradas de tabla de reenvío incluyen tanto un conjunto específico de criterios de coincidencia (un conjunto de valores o comodines, o una indicación de qué partes de un paquete deberían compararse con un valor/valores/comodines en particular, según lo definido por las capacidades de coincidencia - para campos específicos en el encabezado del paquete, o para algún otro contenido del paquete), como un conjunto de una o más acciones para que el plano de datos lleve a cabo al recibir un paquete coincidente. Por ejemplo, una acción puede ser insertar un encabezado en el paquete, para el paquete que utiliza un puerto en particular, inundar el paquete o simplemente descartar el paquete. Por lo tanto, una entrada de tabla de reenvío para paquetes IPv4/IPv6 con un puerto de destino de protocolo de control de transmisión (TCP) particular podría contener una acción que especifique que estos paquetes deberían descartarse.
Se produce la toma de decisiones de reenvío y la realización de acciones, basándose en la entrada de tabla de reenvío identificada durante la clasificación del paquete, ejecutando el conjunto de acciones identificadas en la entrada de tabla de reenvío coincidente en el paquete.
Sin embargo, cuando un paquete desconocido (por ejemplo, un "paquete perdido" o una "coincidencia perdida" como se utiliza en el lenguaje de OpenFlow) llega al plano de datos 980, el paquete (o un subconjunto del encabezado y contenido del paquete) normalmente se reenvía al plano de control centralizado 976. El plano de control centralizado 976 programará, a continuación, las entradas de tabla de reenvío en el plano de datos 980 para acomodar los paquetes que pertenecen al flujo del paquete desconocido. Una vez que una entrada específica de la tabla de reenvío se ha programado en el plano de datos 980 por el plano de control centralizado 976, el siguiente paquete con credenciales coincidentes coincidirá con esa entrada de tabla de reenvío y llevará a cabo el conjunto de acciones asociadas con esa entrada coincidente.
Una interfaz de red (NI) puede ser física o virtual; y en el contexto de IP, una dirección de interfaz es una dirección IP asignada a una NI, ya sea una NI física o una NI virtual. Una NI virtual puede asociarse con una NI física, con otra interfaz virtual o ser independiente (p. ej., una interfaz de bucle invertido, una interfaz de protocolo punto a punto). Una NI (física o virtual) puede ser numerada (NI con una dirección IP) o no numerada (NI sin una dirección IP). Una interfaz de bucle invertido (y su dirección de bucle invertido) es un tipo específico de NI virtual (y dirección IP) de un NE/VNE (físico o virtual) utilizado a menudo para fines de gestión; en la que dicha dirección IP se denomina dirección de bucle invertido nodal. La dirección o direcciones IP asignadas a la o las NI de un ND se denominan direcciones IP de ese ND; a un nivel más granular, la dirección o direcciones IP asignadas a la o las NI asignadas a un NE/VNE implementado en un ND pueden denominarse direcciones IP de ese NE/VNE.
Algunas partes de las descripciones detalladas anteriores se han presentado en términos de algoritmos y representaciones simbólicas de transacciones en bits de datos dentro de una memoria informática. Estas descripciones y representaciones algorítmicas son las formas utilizadas por los expertos en la técnica del procesamiento de datos para transmitir de manera más eficiente la esencia de su trabajo a otros expertos en la técnica. Un algoritmo se concibe en este punto, y generalmente, como una secuencia autoconsistente de transacciones que conducen a un resultado deseado. Las transacciones son aquellas que requieren manipulaciones físicas de cantidades físicas. Generalmente, aunque no necesariamente, estas cantidades toman la forma de señales eléctricas o magnéticas que se pueden almacenar, transferir, combinar, comparar y manipular de otra manera. A veces ha resultado conveniente, principalmente por razones de uso común, referirse a estas señales como bits, valores, elementos, símbolos, caracteres, términos, números o similares.
Sin embargo, debe tenerse en cuenta que todos estos términos y otros similares deben asociarse con las cantidades físicas apropiadas y son simplemente etiquetas convenientes aplicadas a estas cantidades. A menos que se indique específicamente lo contrario como es evidente a partir de la descripción anterior, se aprecia que a lo largo de la descripción, las descripciones que utilizan términos tales como "procesamiento" o "informático" o "cálculo" o "determinación" o "visualización" o similares, se refieren a la acción y procesos de un sistema informático, o dispositivo informático electrónico similar, que manipula y transforma datos representados como cantidades físicas (electrónicas) dentro de los registros y memorias del sistema informático a otros datos representados de manera similar como cantidades físicas dentro de las memorias o registros del sistema informático u otros dichos dispositivos de almacenamiento, transmisión o visualización de información.
Los algoritmos y visualizaciones que se presentan en la presente memoria no están inherentemente relacionados con ningún ordenador u otro aparato particular. Pueden utilizarse diversos sistemas de fin general con programas según las enseñanzas en la presente memoria, o puede resultar conveniente construir un aparato más especializado para realizar las transacciones de método requeridas. La estructura requerida para una variedad de estos sistemas aparecerá a partir de la descripción anterior. Además, las realizaciones de la presente invención no se describen con referencia a ningún lenguaje de programación particular. Se apreciará que pueden utilizarse una variedad de lenguajes de programación para implementar las enseñanzas de las realizaciones de la invención como se describe en la presente memoria.
Una realización de la invención puede ser un artículo de fabricación en el que un medio legible por máquina no transitorio (tal como una memoria microelectrónica) ha almacenado en el mismo instrucciones que programan uno o más componentes de procesamiento de datos (denominados genéricamente en este punto como "procesador") para realizar las operaciones descritas anteriormente. En otras realizaciones, algunas de estas operaciones podrían realizarse por componentes de hardware específicos que contienen lógica cableada (p. ej., bloques de filtro digital especializados y máquinas de estado). Esas operaciones podrían realizarse alternativamente por cualquier combinación de componentes de procesamiento de datos programados y componentes de circuitos cableados fijos.
En la memoria descriptiva anterior, se han descrito realizaciones de la invención con referencia a realizaciones ilustrativas específicas de la misma. Será evidente que pueden realizarse diversas modificaciones sin alejarse del alcance más amplio de la invención tal como se expone en las siguientes reivindicaciones. Por consiguiente, la memoria descriptiva y los dibujos deben considerarse en un sentido ilustrativo en lugar de en un sentido restrictivo.
A lo largo de la descripción, se han presentado realizaciones de la presente invención a través de diagramas de flujo. Se apreciará que el orden de las transacciones y las transacciones descritas en estos diagramas de flujo se conciben para fines ilustrativos y no para ser una limitación de la presente invención. Un experto en la técnica reconocerá que pueden hacerse variaciones en los diagramas de flujo sin alejarse del alcance más amplio de la invención tal como se expone en las siguientes reivindicaciones.

Claims (18)

REIVINDICACIONES
1. Un método, por un sistema que comprende un dispositivo informático y un sistema de aprendizaje automático, ML, de escala automática asociado con una función de red virtual, vNF, para optimizar el uso de recursos de cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático acoplado a un sistema de monitorización y gestión de recursos, comprendiendo el método:
obtener (540), por el dispositivo informático, del sistema de aprendizaje automático (ML) de escala automática asociado con la función de red virtual (vNF), un ajuste sugerido a una cantidad de recursos aprovisionados para la vNF, en donde el sistema de ML de escala automática se entrena en línea utilizando aprendizaje automático para predecir una cantidad de recursos a utilizar por la vNF, y en donde el sistema de ML de escala automática recibe (510) como entrada:
una cantidad de recursos utilizados actualmente por la vNF, una cantidad de recursos disponibles actualmente para la vNF e información con respecto a las SFC que utilizan actualmente la vNF, en donde la información con respecto a las SFC indica los puntos finales de cada SFC y una demanda de recursos de cada SFC, determina (520) utilizando aprendizaje automático:
el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF basándose en la cantidad de recursos utilizados actualmente por la vNF, la cantidad de recursos disponibles actualmente para la vNF y la información con respecto a las SFC que están utilizando actualmente la vNF y los emite (530) el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF; y proporcionar (550), por el dispositivo informático, el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF a un componente de reasignación de recursos.
2. El método de la reivindicación 1, en donde la vNF incluye una pluralidad de componentes de vNF, y en donde el ajuste sugerido obtenido del sistema de ML de escala automática incluye un ajuste sugerido a una cantidad de recursos aprovisionados por componente vNF de la vNF.
3. El método de la reivindicación 1, en donde el ajuste sugerido obtenido del sistema de ML de escala automática y proporcionado al componente de reasignación de recursos incluye una bandera de urgencia, en donde la bandera de urgencia indica si la necesidad de ajuste de recursos es urgente.
4. El método de la reivindicación 1, en donde el ajuste sugerido obtenido del sistema de ML de escala automática indica uno cualquiera de un ajuste sugerido a una cantidad de recursos de unidad central de procesamiento (CPU) aprovisionados para la vNF, un ajuste sugerido a una cantidad de memoria aprovisionada para la vNF y un ajuste sugerido a una cantidad de ancho de banda aprovisionado para la vNF.
5. Un método, por un sistema que comprende un dispositivo informático y un sistema de aprendizaje automático, ML, de uso de recursos, para optimizar el uso de recursos de las cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, estando el dispositivo informático acoplado a un sistema de monitorización y gestión de recursos, comprendiendo el método:
recibir (210), por el dispositivo informático, una solicitud para aprovisionar una SFC;
proporcionar (220), por el dispositivo informático, una descripción de la SFC como una entrada a un sistema de aprendizaje automático (ML) de uso de recursos, en donde la descripción de la SFC indica los puntos finales de la SFC y una demanda de recursos de la SFC, en donde el sistema de ML de uso de recursos se ha entrenado previamente utilizando aprendizaje automático para aprender una cantidad de recursos utilizados por SFC anteriores aprovisionadas en la red, y en donde el sistema de ML de uso de recursos recibe (230) como entrada la descripción de la SFC, determina (240) utilizando aprendizaje automático una cantidad sugerida de recursos para aprovisionar a la SFC basándose en la entrada, y emite (250) la cantidad sugerida de recursos para aprovisionar a la SFC;
obtener (260), por el dispositivo informático del sistema de ML de uso de recursos, la cantidad sugerida de recursos para aprovisionar a la SFC; y
proporcionar (270), por el dispositivo informático, la cantidad sugerida de recursos para aprovisionar a la SFC a un componente asignador de recursos.
6. El método de la reivindicación 5, en donde la cantidad sugerida de recursos para aprovisionar a la SFC incluye una cualquiera de una cantidad sugerida de recursos de unidad central de procesamiento (CPU) para aprovisionar a la SFC, una cantidad sugerida de memoria para aprovisionar a la SFC y una cantidad sugerida de ancho de banda para aprovisionar a la SFC.
7. El método de la reivindicación 5, en donde la descripción de la SFC incluye una indicación de los puntos finales de la SFC y una lista de funciones de servicio incluidas en la SFC.
8. El método de la reivindicación 5, en donde la cantidad sugerida de recursos para proporcionar a la SFC incluye una cantidad sugerida de recursos para aprovisionar por función de servicio incluida en la SFC.
9. Un sistema que comprende un dispositivo informático (1004) y un sistema de aprendizaje automático, ML, de escala automática asociado con una función de red virtual, vNF, adaptado para optimizar el uso de recursos de cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático que se acoplará a un sistema de monitorización y gestión de recursos, comprendiendo el dispositivo informático:
un medio de almacenamiento legible por máquina no transitorio (1048) que tiene almacenado en el mismo un componente de optimización de recursos de SFC (1051); y
un conjunto de uno o más procesadores (1042) acoplados al medio de almacenamiento legible por máquina no transitorio, el conjunto de uno o más procesadores configurado para ejecutar el componente de optimización de recursos de SFC, el componente de optimización de recursos de SFC configurado para obtener, del sistema de ML de escala automática asociado con la función de red virtual (vNF), un ajuste sugerido a una cantidad de recursos aprovisionados para la vNF, en donde el sistema de ML de escala automática está configurado para entrenarse en línea utilizando aprendizaje automático para predecir una cantidad de recursos a utilizar por la vNF, y en donde el sistema de ML de escala automática está configurado para recibir como entrada:
una cantidad de recursos utilizados actualmente por la vNF, una cantidad de recursos disponibles actualmente para la vNF e información con respecto a las SFC que están actualizando actualmente la vNF, en donde la información con respecto a las SFC indica los puntos finales de cada SFC y una demanda de recursos de cada SFC, determinar utilizando el aprendizaje automático:
el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF basándose en la cantidad de recursos utilizados actualmente por la vNF, la cantidad de recursos disponibles actualmente para la vNF y la información con respecto a las SFC que están utilizando actualmente la vNF, y emitir el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF, el componente de optimización de recursos de SFC configurado además para proporcionar el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF a un componente de reasignación de recursos.
10. Un sistema que comprende un dispositivo informático (1004) y un sistema de aprendizaje automático, ML, de uso de recursos adaptado para optimizar el uso de recursos de cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático que se acoplará a un sistema de monitorización y gestión de recursos, comprendiendo el dispositivo informático:
un medio de almacenamiento legible por máquina no transitorio (1048) que tiene almacenado en el mismo un componente de optimización de recursos de SFC (1051); y
un conjunto de uno o más procesadores (1042) acoplados al medio de almacenamiento legible por máquina no transitorio, el conjunto de uno o más procesadores configurado para ejecutar el componente de optimización de recursos de SFC, el componente de optimización de recursos de SFC configurado para recibir una solicitud para aprovisionar una SFC, proporcionar una descripción de la SFC como una entrada para el sistema de aprendizaje automático (ML) de uso de recursos, en donde el sistema de ML de uso de recursos está configurado para haberse entrenado previamente utilizando aprendizaje automático para aprender una cantidad de recursos utilizados por SFC anteriores aprovisionadas en la red, y en donde el sistema de ML de uso de recursos está configurado para recibir como entrada la descripción de la SFC, en donde la descripción de la SFC indica los puntos finales de la SFC y una demanda de recursos de la SFC, determinar utilizando aprendizaje automático una cantidad sugerida de recursos para aprovisionar a la SFC basándose en la entrada, y emitir la cantidad sugerida de recursos para aprovisionar la SFC, el componente de optimización de recursos de SFC configurado además para obtener, del sistema de ML de uso de recursos, la cantidad sugerida de recursos para aprovisionar a la SFC y proporcionar la cantidad sugerida de recursos para aprovisionar a la SFC a un componente asignador de recursos.
11. Un medio de almacenamiento legible por máquina no transitorio que tiene un código de ordenador almacenado en el mismo, que cuando se ejecuta por un conjunto de uno o más procesadores de un sistema que comprende un dispositivo informático y un sistema de aprendizaje automático, ML, de escala automática asociado con una función de red virtual, vNF, provoca que el sistema realice operaciones para optimizar el uso de recursos de cadenas de función de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático que se acoplará a un sistema de monitorización y gestión de recursos, comprendiendo las operaciones:
obtener (540), por el dispositivo informático del sistema de aprendizaje automático (ML) de escala automática asociado con la función de red virtual (vNF), un ajuste sugerido a una cantidad de recursos aprovisionados para la vNF, en donde el sistema de ML de escala automática se entrena en línea utilizando aprendizaje automático para predecir una cantidad de recursos a utilizar por la vNF, y en donde el sistema de ML de escala automática recibe (510) como entrada:
una cantidad de recursos utilizados actualmente por la vNF, una cantidad de recursos disponibles actualmente para la vNF e información con respecto a las SFC que utilizan actualmente la vNF, en donde la información con respecto a las SFC indica los puntos finales de cada SFC y una demanda de recursos de cada SFC, determina (520) utilizando aprendizaje automático:
el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF basándose en la cantidad de recursos utilizados actualmente por la vNF, la cantidad de recursos disponibles actualmente para la vNF y la información con respecto a las SFC que están utilizando actualmente la vNF y los emite (530) el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF; y proporcionar (550), por el dispositivo informático, el ajuste sugerido a la cantidad de recursos aprovisionados para la vNF a un componente de reasignación de recursos.
12. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 11, en donde la vNF incluye una pluralidad de componentes de vNF, y en donde el ajuste sugerido obtenido del sistema de ML de escala automática incluye un ajuste sugerido a una cantidad de recursos aprovisionados por componente vNF de la vNF.
13. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 11, en donde el ajuste sugerido obtenido del sistema de ML de escala automática y proporcionado al componente de reasignación de recursos incluye una bandera de urgencia, en donde la bandera de urgencia indica si la necesidad de un ajuste de recursos es urgente.
14. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 11, en donde el ajuste sugerido obtenido del sistema de ML de escala automática indica uno cualquiera de un ajuste sugerido a una cantidad de recursos de unidad central de procesamiento (CPU) aprovisionados para la vNF, un ajuste sugerido a una cantidad de memoria aprovisionada para la vNF y un ajuste sugerido a una cantidad de ancho de banda aprovisionado para la vNF.
15. Un medio de almacenamiento legible por máquina no transitorio que tiene un código de ordenador almacenado en el mismo, que cuando se ejecuta por un conjunto de uno o más procesadores de un sistema que comprende un dispositivo informático y un sistema de aprendizaje automático, ML, de uso de recursos, provoca que el sistema realice operaciones para optimizar el uso de recursos de cadenas de funciones de servicio, SFC, en una red que utiliza aprendizaje automático, el dispositivo informático que se acoplará a un sistema de monitorización y gestión de recursos, comprendiendo las operaciones:
recibir (210), por el dispositivo informático, una solicitud para aprovisionar una SFC;
proporcionar (220), por el dispositivo informático, una descripción de la SFC como una entrada al sistema de aprendizaje automático (ML) de uso de recursos, en donde el sistema de ML de uso de recursos se ha entrenado previamente utilizando aprendizaje automático para aprender una cantidad de recursos utilizados por SFC anteriores aprovisionadas en la red, y en donde el sistema de ML de uso de recursos recibe (230) como entrada la descripción de la SFC, en donde la descripción de la SFC indica los puntos finales de la SFC y una demanda de recursos de la SFC determina (240) utilizando aprendizaje automático una cantidad sugerida de recursos para aprovisionar a la SFC basándose en la entrada, y emite (250) la cantidad sugerida de recursos para aprovisionar a la SFC;
obtener (260), por el dispositivo informático del sistema de ML de uso de recursos, la cantidad sugerida de recursos para aprovisionar a la SFC; y
proporcionar (270), por el dispositivo informático, la cantidad sugerida de recursos para aprovisionar a la SFC a un componente asignador de recursos.
16. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 15, en donde la cantidad sugerida de recursos para aprovisionar a la SFC incluye una cualquiera de una cantidad sugerida de recursos de unidad central de procesamiento (CPU) para aprovisionar a la SFC, una cantidad sugerida de memoria para aprovisionar a la SFC y una cantidad sugerida de ancho de banda para aprovisionar a la SFC.
17. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 15, en donde la descripción de la SFC incluye una indicación de los puntos finales de la SFC y una lista de funciones de servicio incluidas en la SFC.
18. El medio de almacenamiento legible por máquina no transitorio de la reivindicación 15, en donde la cantidad sugerida de recursos para proporcionar a la SFC incluye una cantidad sugerida de recursos para proporcionar por función de servicio incluida en la SFC.
ES16779189T 2015-11-02 2016-09-19 Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático Active ES2906171T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/930,546 US10419530B2 (en) 2015-11-02 2015-11-02 System and methods for intelligent service function placement and autoscale based on machine learning
PCT/IB2016/055592 WO2017077406A1 (en) 2015-11-02 2016-09-19 System and methods for intelligent service function placement and autoscale based on machine learning

Publications (1)

Publication Number Publication Date
ES2906171T3 true ES2906171T3 (es) 2022-04-13

Family

ID=57124069

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16779189T Active ES2906171T3 (es) 2015-11-02 2016-09-19 Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático

Country Status (5)

Country Link
US (1) US10419530B2 (es)
EP (1) EP3371696B1 (es)
ES (1) ES2906171T3 (es)
PL (1) PL3371696T3 (es)
WO (1) WO2017077406A1 (es)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781004B2 (en) 2014-10-16 2017-10-03 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US10587698B2 (en) * 2015-02-25 2020-03-10 Futurewei Technologies, Inc. Service function registration mechanism and capability indexing
US11283697B1 (en) 2015-03-24 2022-03-22 Vmware, Inc. Scalable real time metrics management
US10594562B1 (en) * 2015-08-25 2020-03-17 Vmware, Inc. Intelligent autoscale of services
US10693807B2 (en) * 2015-11-06 2020-06-23 Cable Television Laboratories, Inc Method and system for mediated resource allocation
US9438478B1 (en) * 2015-11-13 2016-09-06 International Business Machines Corporation Using an SDN controller to automatically test cloud performance
EP3380940A1 (en) * 2015-11-24 2018-10-03 NEC Laboratories Europe GmbH A method and network for managing and orchestrating virtual network functions and network applications
US10305764B1 (en) * 2015-12-30 2019-05-28 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for monitoring and managing a computing system using resource chains
EP3261290B1 (en) * 2015-12-31 2020-11-25 Huawei Technologies Co., Ltd. Software defined data center and method for deploying service cluster therein
JP6604220B2 (ja) * 2016-02-02 2019-11-13 富士通株式会社 管理装置、管理システム、及びスケーリング方法
US10182019B2 (en) * 2016-02-25 2019-01-15 Telefonaktiebolaget Lm Ericsson (Publ) Interconnected hardware infrastructure resource control
KR101759429B1 (ko) * 2016-03-24 2017-07-31 숭실대학교산학협력단 멀티 도메인 환경에서 도메인과 대응되는 피어 및 이의 제어 방법
US11824827B1 (en) * 2016-04-13 2023-11-21 8X8, Inc. Region-based network address translation
CN107332750B (zh) * 2016-04-29 2020-10-23 华为技术有限公司 一种业务部署方法、装置以及网元
US10097402B2 (en) * 2016-05-11 2018-10-09 Hewlett Packard Enterprise Development Lp Filter tables for management functions
US10225183B2 (en) * 2016-06-01 2019-03-05 Intel Corporation System and method for virtualized receive descriptors
US10924357B2 (en) * 2016-06-20 2021-02-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for determining resource utilization
US20170373938A1 (en) * 2016-06-27 2017-12-28 Alcatel-Lucent Usa Inc. Predictive auto-scaling of virtualized network functions for a network
US10361915B2 (en) * 2016-09-30 2019-07-23 International Business Machines Corporation System, method and computer program product for network function optimization based on locality and function type
US10425667B2 (en) * 2016-10-03 2019-09-24 Cisco Technology, Inc. Network layer transport of video characteristics for use by network function in a service function chain
CN108009017B (zh) * 2016-11-01 2022-02-18 阿里巴巴集团控股有限公司 一种应用链路的扩容方法、装置和系统
US10445117B2 (en) * 2017-02-24 2019-10-15 Genband Us Llc Predictive analytics for virtual network functions
US10523746B2 (en) 2017-03-16 2019-12-31 Oracle International Corporation Coexistence of a synchronous architecture and an asynchronous architecture in a server
US10419532B2 (en) * 2017-03-16 2019-09-17 Oracle International Corporation Asynchronous connection handling in a multi-threaded server
US20180270113A1 (en) * 2017-03-16 2018-09-20 Cisco Technology, Inc. Intelligent sfc (isfc) - cognitive policy instantiation in sfc environments
CN107147517A (zh) * 2017-03-24 2017-09-08 上海交通大学 一种针对虚拟网络功能的自适应计算资源分配方法
WO2018176385A1 (en) * 2017-03-31 2018-10-04 Huawei Technologies Co., Ltd. System and method for network slicing for service-oriented networks
US10623264B2 (en) 2017-04-20 2020-04-14 Cisco Technology, Inc. Policy assurance for service chaining
US10826788B2 (en) 2017-04-20 2020-11-03 Cisco Technology, Inc. Assurance of quality-of-service configurations in a network
US10560328B2 (en) 2017-04-20 2020-02-11 Cisco Technology, Inc. Static network policy analysis for networks
US20180307384A1 (en) * 2017-04-24 2018-10-25 Cisco Technology, Inc. Workflow policy interface
US10547672B2 (en) * 2017-04-27 2020-01-28 Microsoft Technology Licensing, Llc Anti-flapping system for autoscaling resources in cloud networks
WO2018203780A1 (en) * 2017-05-05 2018-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Manager node and method performed therein for handling one or more network functions in a communication network
CN107341029B (zh) * 2017-05-27 2020-06-05 北京奇艺世纪科技有限公司 系统资源部署策略的获取方法、装置及电子设备
US11010205B2 (en) * 2017-05-30 2021-05-18 Hewlett Packard Enterprise Development Lp Virtual network function resource allocation
US20180351788A1 (en) 2017-05-31 2018-12-06 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US10505816B2 (en) 2017-05-31 2019-12-10 Cisco Technology, Inc. Semantic analysis to detect shadowing of rules in a model of network intents
US10581694B2 (en) 2017-05-31 2020-03-03 Cisco Technology, Inc. Generation of counter examples for network intent formal equivalence failures
US10554483B2 (en) 2017-05-31 2020-02-04 Cisco Technology, Inc. Network policy analysis for networks
US10693738B2 (en) 2017-05-31 2020-06-23 Cisco Technology, Inc. Generating device-level logical models for a network
US10812318B2 (en) 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US10439875B2 (en) 2017-05-31 2019-10-08 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
US10623271B2 (en) 2017-05-31 2020-04-14 Cisco Technology, Inc. Intra-priority class ordering of rules corresponding to a model of network intents
US10776146B2 (en) * 2017-06-07 2020-09-15 At&T Intellectual Property I, L.P. Policy driven automation system for customer care
US10587621B2 (en) 2017-06-16 2020-03-10 Cisco Technology, Inc. System and method for migrating to and maintaining a white-list network security model
US10547715B2 (en) 2017-06-16 2020-01-28 Cisco Technology, Inc. Event generation in response to network intent formal equivalence failures
US11645131B2 (en) 2017-06-16 2023-05-09 Cisco Technology, Inc. Distributed fault code aggregation across application centric dimensions
US10498608B2 (en) 2017-06-16 2019-12-03 Cisco Technology, Inc. Topology explorer
US10574513B2 (en) 2017-06-16 2020-02-25 Cisco Technology, Inc. Handling controller and node failure scenarios during data collection
US11469986B2 (en) 2017-06-16 2022-10-11 Cisco Technology, Inc. Controlled micro fault injection on a distributed appliance
US10904101B2 (en) 2017-06-16 2021-01-26 Cisco Technology, Inc. Shim layer for extracting and prioritizing underlying rules for modeling network intents
US10686669B2 (en) 2017-06-16 2020-06-16 Cisco Technology, Inc. Collecting network models and node information from a network
US11150973B2 (en) 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
US10735275B2 (en) 2017-06-16 2020-08-04 Cisco Technology, Inc. Releasing and retaining resources for use in a NFV environment
US10348564B2 (en) 2017-06-19 2019-07-09 Cisco Technology, Inc. Validation of routing information base-forwarding information base equivalence in a network
US10333787B2 (en) 2017-06-19 2019-06-25 Cisco Technology, Inc. Validation of L3OUT configuration for communications outside a network
US10536337B2 (en) 2017-06-19 2020-01-14 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US10812336B2 (en) 2017-06-19 2020-10-20 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US10567229B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validating endpoint configurations between nodes
US10560355B2 (en) 2017-06-19 2020-02-11 Cisco Technology, Inc. Static endpoint validation
US10652102B2 (en) 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
US10567228B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validation of cross logical groups in a network
US10341184B2 (en) 2017-06-19 2019-07-02 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in in a network
US10411996B2 (en) 2017-06-19 2019-09-10 Cisco Technology, Inc. Validation of routing information in a network fabric
US10805160B2 (en) 2017-06-19 2020-10-13 Cisco Technology, Inc. Endpoint bridge domain subnet validation
US10700933B2 (en) 2017-06-19 2020-06-30 Cisco Technology, Inc. Validating tunnel endpoint addresses in a network fabric
US10437641B2 (en) 2017-06-19 2019-10-08 Cisco Technology, Inc. On-demand processing pipeline interleaved with temporal processing pipeline
US10528444B2 (en) 2017-06-19 2020-01-07 Cisco Technology, Inc. Event generation in response to validation between logical level and hardware level
US10432467B2 (en) 2017-06-19 2019-10-01 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
US10218572B2 (en) 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US11283680B2 (en) 2017-06-19 2022-03-22 Cisco Technology, Inc. Identifying components for removal in a network configuration
US10623259B2 (en) 2017-06-19 2020-04-14 Cisco Technology, Inc. Validation of layer 1 interface in a network
US10505817B2 (en) 2017-06-19 2019-12-10 Cisco Technology, Inc. Automatically determining an optimal amount of time for analyzing a distributed network environment
US11343150B2 (en) 2017-06-19 2022-05-24 Cisco Technology, Inc. Validation of learned routes in a network
US10554493B2 (en) 2017-06-19 2020-02-04 Cisco Technology, Inc. Identifying mismatches between a logical model and node implementation
US10644946B2 (en) 2017-06-19 2020-05-05 Cisco Technology, Inc. Detection of overlapping subnets in a network
US10673702B2 (en) 2017-06-19 2020-06-02 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US11216306B2 (en) * 2017-06-29 2022-01-04 Intel Corporation Technologies for dynamically sharing remote resources across remote computing nodes
WO2019006649A1 (en) * 2017-07-04 2019-01-10 Telefonaktiebolaget Lm Ericsson (Publ) METHOD AND DEVICE FOR NETWORK FUNCTION CAPACITY AND SCALE MANAGEMENT
US10601961B2 (en) * 2017-07-12 2020-03-24 Cisco Technology, Inc. Service function chain dynamic classification
US11070432B2 (en) * 2017-07-20 2021-07-20 Cisco Technology, Inc. Dynamic and customizable virtual network functions
US10768963B2 (en) 2017-07-31 2020-09-08 Hewlett Packard Enterprise Development Lp Virtual network functions allocation in a datacenter based on extinction factor
WO2019031783A1 (en) 2017-08-09 2019-02-14 Samsung Electronics Co., Ltd. ON-DEMAND FUNCTION SUPPLY SYSTEM (FAAS), AND METHOD OF OPERATING THE SYSTEM
KR102120868B1 (ko) * 2017-08-09 2020-06-09 삼성전자주식회사 서비스형 함수(FaaS)를 제공하는 시스템 및 그 동작방법
US10587484B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Anomaly detection and reporting in a network assurance appliance
US10587456B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Event clustering for a network assurance platform
US10554477B2 (en) 2017-09-13 2020-02-04 Cisco Technology, Inc. Network assurance event aggregator
US10333833B2 (en) 2017-09-25 2019-06-25 Cisco Technology, Inc. Endpoint path assurance
US11388050B2 (en) * 2017-10-03 2022-07-12 Dell Products L.P. Accelerating machine learning and profiling over a network
US11102053B2 (en) 2017-12-05 2021-08-24 Cisco Technology, Inc. Cross-domain assurance
CN108259238B (zh) * 2018-01-10 2021-06-18 重庆邮电大学 数据中心中网络功能服务链映射的方法
US10873509B2 (en) 2018-01-17 2020-12-22 Cisco Technology, Inc. Check-pointing ACI network state and re-execution from a check-pointed state
US10572495B2 (en) 2018-02-06 2020-02-25 Cisco Technology Inc. Network assurance database version compatibility
US11201798B2 (en) * 2018-05-07 2021-12-14 At&T Intellectual Property I, L.P. Automated virtual network function modification
US10812315B2 (en) 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US11297622B1 (en) 2018-06-25 2022-04-05 At&T Intellectual Property I, L.P. Dynamic hierarchical reserved resource allocation
US11218508B2 (en) 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US10659298B1 (en) 2018-06-27 2020-05-19 Cisco Technology, Inc. Epoch comparison for network events
US11044273B2 (en) 2018-06-27 2021-06-22 Cisco Technology, Inc. Assurance of security rules in a network
US10911495B2 (en) 2018-06-27 2021-02-02 Cisco Technology, Inc. Assurance of security rules in a network
US11019027B2 (en) 2018-06-27 2021-05-25 Cisco Technology, Inc. Address translation for external network appliance
US11099743B2 (en) * 2018-06-29 2021-08-24 International Business Machines Corporation Determining when to replace a storage device using a machine learning module
US11119662B2 (en) 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform a data integrity check of copies of a data set using a machine learning module
US11119850B2 (en) 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform error checking of a storage unit by using a machine learning module
US10904070B2 (en) 2018-07-11 2021-01-26 Cisco Technology, Inc. Techniques and interfaces for troubleshooting datacenter networks
US10826770B2 (en) 2018-07-26 2020-11-03 Cisco Technology, Inc. Synthesis of models for networks using automated boolean learning
US10616072B1 (en) 2018-07-27 2020-04-07 Cisco Technology, Inc. Epoch data interface
WO2020049181A1 (en) * 2018-09-07 2020-03-12 NEC Laboratories Europe GmbH System and method for network automation in slice-based network using reinforcement learning
EP3850513A1 (en) 2018-09-14 2021-07-21 Telefonaktiebolaget LM Ericsson (publ) Malchain detection
EP3857381B1 (en) 2018-10-26 2023-07-12 VMware, Inc. Collecting samples hierarchically in a datacenter
DE112018008114B4 (de) 2018-11-01 2024-06-13 Hewlett Packard Enterprise Development Lp Reaktion einer virtuellen netzwerkfunktion auf eine dienstunterbrechung
US11677622B2 (en) 2018-11-01 2023-06-13 Hewlett Packard Enterprise Development Lp Modifying resource allocation or policy responsive to control information from a virtual network function
US10805221B2 (en) * 2018-11-06 2020-10-13 Nanning Fugui Precision Industrial Co., Ltd. Service function chain (SFC) path selection method and system
CN109522090B (zh) * 2018-11-09 2020-12-22 中国联合网络通信集团有限公司 资源调度方法及装置
US11341372B2 (en) * 2018-11-23 2022-05-24 POSTECH Research and Business Development Foundation Method of predicting demand of virtual network function resources to which machine learning is applied
JP7081513B2 (ja) * 2019-01-30 2022-06-07 日本電信電話株式会社 ネットワーク性能保証システム及びネットワーク性能保証方法
JP7081514B2 (ja) * 2019-01-30 2022-06-07 日本電信電話株式会社 オートスケール型性能保証システム及びオートスケール型性能保証方法
EP3948544B1 (en) * 2019-04-04 2024-02-14 Telefonaktiebolaget LM Ericsson (publ) Service handling in software defined networking based container orchestration systems
CN110446121B (zh) * 2019-04-07 2021-05-18 西安电子科技大学 基于介数中心度的虚拟网络功能服务链映射方法
US11175959B2 (en) * 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations
US11175958B2 (en) * 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations
US11582120B2 (en) 2019-05-30 2023-02-14 Vmware, Inc. Partitioning health monitoring in a global server load balancing system
WO2020255025A1 (en) * 2019-06-18 2020-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for deploying a new service function chain (sfc) based on similarities with previously deployed sfcs
US11411843B2 (en) * 2019-08-14 2022-08-09 Verizon Patent And Licensing Inc. Method and system for packet inspection in virtual network service chains
CN112702372B (zh) * 2019-10-22 2024-04-05 中兴通讯股份有限公司 一种云服务管理方法、云服务管理装置及可读存储介质
US12119981B2 (en) * 2019-12-05 2024-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Improving software defined networking controller availability using machine learning techniques
CN111510381B (zh) * 2020-04-23 2021-02-26 电子科技大学 一种多域网络环境中基于强化学习的服务功能链部署方法
CN111526070B (zh) * 2020-04-29 2022-06-03 重庆邮电大学 一种基于预测的服务功能链故障检测方法
US11611517B2 (en) * 2020-05-29 2023-03-21 Equinix, Inc. Tenant-driven dynamic resource allocation for virtual network functions
GB2599348B (en) 2020-08-26 2022-09-21 Samsung Electronics Co Ltd Method and system for autoscaling containers in a cloud-native core network
NL2026456B1 (en) * 2020-09-11 2022-05-12 Microsoft Technology Licensing Llc Automatic node fungibility between compute and infrastructure nodes in edge zones
CN114301847A (zh) * 2020-09-21 2022-04-08 航天信息股份有限公司 一种生成虚拟网络功能vnf服务链的方法及装置
US20220100543A1 (en) * 2020-09-25 2022-03-31 Ati Technologies Ulc Feedback mechanism for improved bandwidth and performance in virtual environment usecases
US11943150B2 (en) * 2020-10-08 2024-03-26 Cisco Technology, Inc. Tracking application scaling for network bandwidth allocation
CN112416602B (zh) * 2020-12-10 2022-09-16 清华大学 一种分布式数据流资源弹性伸缩增强插件及增强方法
IT202000031034A1 (it) * 2020-12-16 2022-06-16 Vodafone Italia S P A Metodo per la gestione di risorse di un’infrastruttura per la network function virtualization
GR1010088B (el) * 2021-01-05 2021-09-24 Appart S.A. Περιορισμενη αναλυση πακετων για καταταξη εφαρμογων στην κατανομη πορων δικτυου
US11509732B2 (en) * 2021-01-15 2022-11-22 Dell Products L.P. Smart service orchestrator
KR102901991B1 (ko) 2021-02-10 2025-12-18 삼성전자주식회사 가상 네트워크 기능의 고가용성을 위한 장치 및 방법
CN113014436B (zh) * 2021-03-15 2022-10-11 中国联合网络通信集团有限公司 网络服务管理方法、装置和计算机存储介质
WO2022214819A1 (en) * 2021-04-08 2022-10-13 Cado Security, Ltd. Automated user-assisted workflows for cloud-based computer forensic analysis
US12153953B2 (en) 2021-04-08 2024-11-26 International Business Machines Corporation Intelligent identification of an execution environment
US11811861B2 (en) 2021-05-17 2023-11-07 Vmware, Inc. Dynamically updating load balancing criteria
US20220374281A1 (en) * 2021-05-24 2022-11-24 Hewlett-Packard Development Company, L.P. Computing resources allocation
US11792155B2 (en) 2021-06-14 2023-10-17 Vmware, Inc. Method and apparatus for enhanced client persistence in multi-site GSLB deployments
US11818056B2 (en) 2021-06-24 2023-11-14 Charter Communications Operating, Llc Dynamic computing resource management
US12487841B2 (en) 2021-07-06 2025-12-02 Bank Of America Corporation Real-time dynamic container optimization computing platform
US12200008B2 (en) 2021-07-20 2025-01-14 VMware LLC Security aware load balancing for a global server load balancing system
US11916753B2 (en) * 2021-07-30 2024-02-27 Ciena Corporation Governance and interactions of autonomous pipeline-structured control applications
US12133095B2 (en) * 2021-10-15 2024-10-29 Hewlett Packard Enterprise Development Lp Machine learning-based approaches for service function chain selection
US12335147B2 (en) 2021-11-17 2025-06-17 Cisco Technology, Inc. Adaptive cloud-native service chaining
CN114172820B (zh) * 2021-11-26 2024-03-05 广东技术师范大学 跨域sfc动态部署方法、装置、计算机设备及存储介质
US11800335B2 (en) * 2022-01-19 2023-10-24 Vmware, Inc. Predictive scaling of application based on traffic at another application
US11875190B2 (en) * 2022-03-15 2024-01-16 Liveperson, Inc. Methods and systems for AI-based load balancing of processing resources in distributed environments
CN115086175B (zh) * 2022-04-26 2023-06-30 北京邮电大学 资源优化的方法及装置
US12107821B2 (en) 2022-07-14 2024-10-01 VMware LLC Two tier DNS
US12316601B2 (en) 2022-07-14 2025-05-27 VMware LLC Two tier DNS
US12489680B2 (en) * 2022-08-05 2025-12-02 At&T Intellectual Property I, L.P. AI/ML-assisted one-click maintenance for cloud-based mobile core network functions
GB2622831A (en) * 2022-09-29 2024-04-03 Nokia Technologies Oy AI/ML configuration feedback
KR20240096202A (ko) 2022-12-19 2024-06-26 한국전자통신연구원 양자키 분배네트워크의 기계학습 및 자율수명관리 기반 QoS 보장을 위한 장치 및 방법
EP4652721A1 (en) * 2023-01-18 2025-11-26 Telefonaktiebolaget LM Ericsson (publ) Improved intent requests and proposals using proposal times and accuracy levels
US12386633B2 (en) * 2023-05-26 2025-08-12 Dell Products L.P. System and method for managing automatic service requests for scaling nodes in a client environment
CN116896498A (zh) * 2023-08-30 2023-10-17 重庆邮电大学 一种网络功能虚拟化场景下服务功能链异常检测方法
US20250138856A1 (en) * 2023-10-26 2025-05-01 Capital One Services, Llc Systems and methods for optimizing cloud architectures using artificial intelligence models
US20250328335A1 (en) * 2024-04-23 2025-10-23 Dell Products L.P. Canary Deployments Based On Configuration Complexity In Containerized Environments

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704012A (en) 1993-10-08 1997-12-30 International Business Machines Corporation Adaptive resource allocation using neural networks
US8185909B2 (en) 2007-03-06 2012-05-22 Sap Ag Predictive database resource utilization and load balancing using neural network model
US20140207425A1 (en) 2013-01-18 2014-07-24 Michael Yeung System, Method and Apparatus for Adaptive Virtualization
US9235801B2 (en) 2013-03-15 2016-01-12 Citrix Systems, Inc. Managing computer server capacity
US9419916B2 (en) * 2013-11-01 2016-08-16 Google Inc. Network fallback using resource request expectations
US9503391B2 (en) 2014-04-11 2016-11-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for network function placement
US20160179582A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Techniques to dynamically allocate resources for local service chains of configurable computing resources
US10942786B2 (en) * 2015-03-13 2021-03-09 Comptel Corporation Network management
EP3329639B1 (en) * 2015-07-28 2020-10-07 British Telecommunications public limited company Network function virtualization

Also Published As

Publication number Publication date
US10419530B2 (en) 2019-09-17
EP3371696B1 (en) 2021-11-03
WO2017077406A1 (en) 2017-05-11
PL3371696T3 (pl) 2022-02-28
EP3371696A1 (en) 2018-09-12
US20170126792A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
ES2906171T3 (es) Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático
ES2905499T3 (es) Nodos SDN híbridos divididos horizontalmente configurados por Openflow
US9628380B2 (en) Method and system for routing a network function chain
US10291555B2 (en) Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts
US10263914B2 (en) Method and system to speed up flow routing in SDN network
US9853877B2 (en) Method for optimized placement of service-chain-monitoring probes
US11089102B2 (en) Advertising network resource sharing status in SDN
US9407534B2 (en) Enhanced procedure to compute LFAs with IGP max metric
US9300568B2 (en) Procedure to add alternate paths for IS-IS default route
US9313117B2 (en) Alternate method to give operators flexibility to choose LFAs
US20160315866A1 (en) Service based intelligent packet-in mechanism for openflow switches
US9762483B2 (en) BNG / subscriber management integrated, FIB based, per subscriber, opt-in opt-out, multi application service chaining solution via subscriber service chaining nexthop and meta IP lookup
US9455917B2 (en) Simplified approach to verify LFAS in deployment
US9485173B2 (en) Optimization to expand IS-IS leaf nodes during LFA computation
US9647926B2 (en) Procedure to identify multi-homed prefixes for IS-IS LFA
EP3195537B1 (en) Forwarding table precedence in sdn
US11265104B2 (en) Mechanism for inline packet response generation in software defined networks
US9391876B2 (en) Better alternate paths for multi homed IS-IS prefixes
US20170149659A1 (en) Mechanism to improve control channel efficiency by distributing packet-ins in an openflow network
WO2020202167A1 (en) Method for virtual network function (vnf) load characterization using traffic analytics in sdn managed clouds