ES2934610T3 - Métodos y sistemas para la asignación de capacidad de red multinivel - Google Patents

Métodos y sistemas para la asignación de capacidad de red multinivel Download PDF

Info

Publication number
ES2934610T3
ES2934610T3 ES20217530T ES20217530T ES2934610T3 ES 2934610 T3 ES2934610 T3 ES 2934610T3 ES 20217530 T ES20217530 T ES 20217530T ES 20217530 T ES20217530 T ES 20217530T ES 2934610 T3 ES2934610 T3 ES 2934610T3
Authority
ES
Spain
Prior art keywords
network
network capacity
data
service flow
allocation
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
ES20217530T
Other languages
English (en)
Inventor
James Esserman
Kristi Jaska
Anil Agarwal
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.)
Viasat Inc
Original Assignee
Viasat Inc
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 Viasat Inc filed Critical Viasat Inc
Application granted granted Critical
Publication of ES2934610T3 publication Critical patent/ES2934610T3/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Abstract

Se describen métodos y sistemas para la asignación de capacidad de red. En un aspecto, un método incluye determinar un perfil de transmisión para cada uno de una pluralidad de tipos de flujo de servicio, definiendo cada perfil de transmisión al menos tres parámetros de asignación de capacidad de red diferentes para un conjunto de al menos tres ciclos de asignación de capacidad de red ordenados diferentes, para cada de los al menos tres ciclos de asignación de capacidad de red ordenados: seleccionar, para cada tipo de flujo de servicio, los parámetros de asignación de capacidad de red en cada perfil de transmisión de tipos de flujo de servicio asociado con un ciclo actual de asignación de capacidad de red de los al menos tres ciclos de asignación de capacidad de red ordenados, determinar cantidades de datos a transmitir para cada uno de la pluralidad de tipos de flujo de servicios basados, al menos en parte, (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Métodos y sistemas para la asignación de capacidad de red multinivel
Las realizaciones se refieren a la asignación de capacidad de red a una pluralidad de tipos de flujo de servicio y, más particularmente, a una asignación multinivel de la capacidad de red.
Antecedentes
La necesidad de transmitir una cantidad de datos que excede la capacidad de una red puede requerir que se prioricen los datos. Por lo tanto, algunos datos pueden transmitirse dentro de la capacidad de red disponible mientras que otros datos pueden almacenarse en memoria intermedia y/o demorarse de cualquier otra manera. Los sistemas existentes proporcionan límites predefinidos en el tráfico de un abonado. Por ejemplo, los atributos de un plan de suscripción de pago pueden definir qué límites predefinidos se utilizan cuando se asigna una capacidad de red. Durante períodos de congestión, la gestión de cola adaptativa puede utilizarse para descartar paquetes de red hasta que la carga de red coincida más estrechamente con la capacidad de una red.
Sin embargo, estos métodos frecuentemente resultan en una mala experiencia del usuario. Por lo tanto, se requieren métodos mejorados de gestión de congestión de red.
El documento US 2003/152096 Al describe la asignación dinámica de ancho de banda a al menos dos aplicaciones que comparten un canal de comunicación con un ancho de banda fijo para transmisión simultánea en una red de comunicación.
Breve resumen
Los sistemas, métodos y dispositivos descritos en la presente memoria tienen, cada uno, varios aspectos, no siendo ninguno de los cuales únicamente responsable de sus atributos deseables. Sin limitar el alcance de la invención o invenciones según se expresan en las reivindicaciones que siguen, ahora se describirán brevemente algunas características.
La invención se define en las reivindicaciones adjuntas.
Después de considerar esta descripción y, particularmente, después de leer la sección titulada “ Descripción detallada” se entenderá cómo los ejemplos descritos proporcionan ventajas que incluyen la asignación mejorada de la capacidad de red disponible a través de una pluralidad de flujos de servicio. En algunos aspectos, la asignación de la capacidad de red disponible puede realizarse en múltiples ciclos. Por ejemplo, primero, una cantidad mínima específica para cada tipo de flujo de servicio puede asignarse a cada flujo de servicio durante un primer ciclo de asignación. Esto asegura que cada flujo de servicio reciba su asignación mínima durante el ciclo de asignación. El compromiso mínimo para cada flujo de servicio puede variar a través de los flujos de servicio. Por ejemplo, los flujos de servicio de alta prioridad pueden recibir un compromiso mínimo mayor que los flujos de servicio de menor prioridad.
Después de satisfacer el compromiso mínimo para cada flujo de servicio, pueden proporcionarse cantidades variables de asignación a cada flujo de servicio en múltiples fases. Durante cada fase progresiva, puede variar una proporción asignada a cada flujo de servicio. Por ejemplo, en una primera fase progresiva, un primer flujo de servicio puede recibir una primera cantidad de datos y un segundo flujo de servicio puede recibir la mitad de la primera cantidad de datos. En una segunda fase progresiva, el primer flujo de servicio puede recibir una segunda cantidad de datos y el segundo flujo de servicio puede recibir un tercio de la segunda cantidad de datos.
Los métodos y sistemas descritos proporcionan asignaciones de capacidad de red para tipos de flujo de servicio que puedan ralentizar preferiblemente ciertos tipos de flujo de servicio a medida que aumenta la congestión. Por ejemplo, en algunas realizaciones, los flujos de vídeo pueden ralentizarse antes que los flujos de datos web. Esta política se basa en el entendimiento de que los flujos de vídeo modernos utilizan codificación adaptativa y pueden adaptar la calidad del vídeo a una amplia gama de velocidades de datos. A medida que aumenta la congestión, las políticas pueden controlar las velocidades de datos asignadas relativas entre distintos flujos, p. ej., los flujos de datos web obtienen el doble de velocidad que los flujos de vídeo, independientemente de la cantidad de flujos de cada tipo.
Los métodos y sistemas descritos proporcionan políticas que proporcionan un mayor nivel de servicio a ciertos tipos y paquetes de suscriptores sobre otros. Estos métodos y sistemas también proporcionan políticas que proporcionan un bajo nivel de servicio a ciertos tipos y paquetes de suscriptores durante la congestión, pero un alto nivel de servicio cuando disminuye la congestión.
En algunos aspectos, las metapolíticas pueden adaptar automáticamente parámetros de políticas. Por ejemplo, una política de tráfico de suscriptor puede cambiarse de forma dinámica durante la congestión basándose en su uso reciente, p. ej., un uso reciente puede utilizarse para rebajar la política de un suscriptor con respecto a otros, ralentizando de este modo preferiblemente las descargas de archivo grandes. De forma similar, un uso a largo plazo puede utilizarse para rebajar la política de un suscriptor, mejorando de este modo la experiencia de los usuarios que utilizan el sistema dentro de sus límites de uso.
En algunas implementaciones, se utilizan colas separadas para cada suscriptor y para cada clase de tráfico de suscriptor. Un planificador individual funciona periódicamente (a diferencia de continuamente, como puede ser el caso en planificadores tradicionales). El planificador calcula asignaciones a través de miles de colas, cada una con su propio conjunto de parámetros de velocidad de tráfico (definiendo asignaciones de capacidad de red dentro de ciclos del planificador), dando lugar a las asignaciones multinivel de capacidad de red un gráfico de asignación multietapa para cada flujo, describiéndose un ejemplo del mismo a continuación con respecto a la Fig. 1.
Los métodos y sistemas descritos son muy flexibles y pueden utilizarse para crear políticas de asignación novedosas adicionales. Por ejemplo, pueden formarse grupos de suscriptores, con asignaciones agregadas a cada grupo con un control por parte de un conjunto de políticas similares a las políticas de suscriptores individuales. Los métodos y sistemas descritos son escalables para gestionar tráfico con un gran número de suscriptores y altas velocidades de datos agregados.
Un aspecto descrito es un método para asignar capacidad de red a través de un canal de comunicación de una red. El método incluye determinar un perfil de transmisión para cada uno de una pluralidad de tipos de flujo de servicio, definiendo cada perfil de transmisión al menos tres parámetros distintos de asignación de capacidad de red para un conjunto de al menos tres ciclos distintos de asignación de capacidad de red ordenados. El método incluye realizar de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: seleccionar, para cada tipo de flujo de servicio, los parámetros de asignación de capacidad de red en el perfil de transmisión de cada tipo de flujo de servicio asociados a un ciclo de asignación de capacidad de red actual de los al menos tres ciclos de asignación de capacidad de red ordenados; determinar cantidades de datos a transmitir para cada uno de la pluralidad de tipos de flujo de servicio basándose, al menos en parte, en los parámetros de asignación de capacidad de red seleccionados para el ciclo de asignación de capacidad de red actual; y transmitir, a través del canal de comunicación, las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual.
En algunos aspectos, el método también incluye determinar una asignación total para un ciclo de asignación particular basándose en una suma de parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular para la pluralidad de tipos de flujo de servicio, determinando una capacidad de red restante para el ciclo de asignación particular basándose en ciclos de asignación anteriores; y asignar la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular y los parámetros de asignación de capacidad de red que correspondan a un ciclo de asignación anterior en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular; asignar la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular en respuesta a que la capacidad de red restante es mayor o igual que la asignación total para el ciclo de asignación particular.
En algunos aspectos, el método incluye, en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular, sumar, para cada flujo de servicio, los parámetros de asignación de capacidad de red de flujo de servicio para el ciclo de asignación particular y los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación anterior; y asignar la capacidad de red restante a cada flujo de servicio en proporción a las sumas para cada flujo de servicio.
En algunos aspectos, el método incluye recibir datos para transmisión, determinar un tipo de datos de transmisión de los datos recibidos basándose en uno o más de: un punto de acceso de servicio de origen, un punto de acceso de servicio de destino y una clasificación de una carga útil de los datos, y asociar los datos recibidos con un tipo de flujo de servicio basándose en el tipo de datos de transmisión.
En algunos aspectos, el método incluye clasificar encabezamientos de protocolo para determinar la clasificación del tipo de datos de transmisión. En algunos aspectos, el método incluye además clasificar el tipo de datos de transmisión en al menos uno de por ráfagas, vídeo, descarga de archivos y VoIP. En algunos aspectos, el método también incluye asignar capacidad de red durante un primer período de tiempo basándose en el conjunto de ciclos de asignación de capacidad de red; y asignar capacidad de red durante un segundo período de tiempo no solapado basándose en un segundo conjunto de ciclos de asignación de capacidad de red. En algunos aspectos, el método incluye además realizar de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: asignar las cantidades determinadas de datos para transmitir para cada uno de la pluralidad de tipos de flujo de servicio a una pluralidad de terminales de usuario basándose en parámetros de asignación asociados con cada uno de la pluralidad de terminales de usuario.
En algunos aspectos, el método incluye además determinar un perfil de terminal de usuario para cada uno de la pluralidad de terminales de usuario, definiendo cada perfil de terminal de usuario al menos tres parámetros de asignación distintos para datos de terminal de usuario asociados con un tipo de flujo de servicio, estando asociados los al menos tres parámetros de asignación distintos con al menos tres ciclos distintos de asignación de capacidad de red ordenados, respectivamente; y realizar de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: asignar una parte de una cantidad determinada para un tipo de flujo de servicio a un terminal de usuario basándose, al menos en parte, en el parámetro de asignación definido por el perfil de terminal de usuario determinado para el terminal de usuario que corresponden al ciclo de asignación de capacidad de red actual, en donde la transmisión de las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual incluye transmitir la parte asignada para el terminal de usuario.
Otro aspecto descrito es un aparato para asignar capacidad de red a través de un canal de comunicación de una red. El aparato incluye un procesador de hardware electrónico, una memoria de hardware electrónica, conectada de forma operativa al procesador de hardware electrónico, e instrucciones de almacenamiento que, al ejecutarse, hacen que el procesador de hardware electrónico lleve a cabo un método para asignar la capacidad de red a través de un canal de comunicación de una red. El procesador de hardware electrónico está configurado para determinar un perfil de transmisión para cada uno de una pluralidad de tipos de flujo de servicio, definiendo cada perfil de transmisión al menos tres parámetros de asignación de capacidad de red distintos para un conjunto de al menos tres ciclos de asignación de capacidad de red ordenados diferentes, realizando de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: seleccionar, para cada tipo de flujo de servicio, los parámetros de asignación de capacidad de red en el perfil de transmisión de cada tipo de flujo de servicio en asociación con un ciclo de asignación de capacidad de red actual de los al menos tres ciclos de asignación de capacidad de red ordenados; determinar cantidades de datos para transmitir para cada uno de la pluralidad de tipos de flujo de servicio basándose, al menos en parte, en los parámetros de asignación de capacidad de red seleccionados para el ciclo de asignación de capacidad de red actual; y transmitir, a través del canal de comunicación, las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual.
En algunos aspectos, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico; determine una asignación total para un ciclo de asignación particular basándose en una suma de parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular para la pluralidad de tipos de flujo de servicio; determine una capacidad de red restante para el ciclo de asignación particular basándose en ciclos de asignación anteriores; asigne la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular y parámetros de asignación de capacidad de red que correspondan a un ciclo de asignación previo en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular; y asigne la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular en respuesta a que la capacidad de red restante sea mayor o igual que la asignación total para el ciclo de asignación particular.
En algunos aspectos del aparato, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico, en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular: sume, para cada flujo de servicio, los parámetros de asignación de capacidad de red de flujo de servicio para el ciclo de asignación particular y parámetros de asignación de capacidad de red que correspondan al ciclo de asignación anterior; y asigne la capacidad de red restante a cada flujo de servicio en proporción a las sumas para cada flujo de servicio.
En algunos aspectos del aparato, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico reciba datos para transmisión, determine un tipo de datos de transmisión de los datos recibidos basándose en uno o más de: un punto de acceso de servicio de origen, un punto de acceso de servicio de destino y una clasificación de una carga útil de los datos; y asocie los datos recibidos a un tipo de flujo de servicio basándose en el tipo de datos de transmisión.
En algunos aspectos del aparato, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico clasifique encabezamientos de protocolo para determinar la clasificación del tipo de datos de transmisión. En algunos aspectos, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico clasifique el tipo de datos de transmisión en al menos uno de por ráfagas, vídeo, descarga de archivos y VoIP.
En algunos aspectos, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico asigne capacidad de red durante un primer período de tiempo basándose en el conjunto de ciclos de asignación de capacidad de red; y asigne capacidad de red durante un segundo período de tiempo no solapado basándose en un segundo conjunto de ciclos de asignación de capacidad de red. En algunos aspectos, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico, para cada uno de al menos tres ciclos de asignación de capacidad de red ordenados: asigne la cantidad determinada de datos para transmitir para cada uno de la pluralidad de tipos de flujo de servicio a una pluralidad de terminales de usuario basándose en parámetros de asignación en asociación con cada uno de la pluralidad de terminales de usuario.
En algunos aspectos del aparato, la memoria de hardware electrónica almacena instrucciones adicionales que, al ejecutarse, hacen que el procesador de hardware electrónico determine un perfil de terminal de usuario para cada uno de la pluralidad de terminales de usuario, definiendo cada perfil de terminal de usuario al menos tres parámetros de asignación distintos para datos de terminal de usuario asociados a un tipo de flujo de servicio, estando asociados los al menos tres parámetros de asignación diferentes con al menos tres ciclos de asignación de capacidad de red ordenados distintos, respectivamente, y realice de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: asignar una parte de una cantidad determinada para un tipo de flujo de servicio a un terminal de usuario basándose, al menos en parte, en el parámetro de asignación definido por el perfil de terminal de usuario determinado para el terminal de usuario que correspondan al ciclo de asignación de capacidad de red actual. En estos aspectos, la transmisión de las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual incluye transmitir la parte asignada para el terminal de usuario.
Otro aspecto descrito es un aparato para asignar capacidad de red a través de un canal de comunicación de una red. El aparato incluye medios para asignar distintas proporciones de capacidad de red disponible a una pluralidad de tipos de flujo de servicio durante cada uno de al menos tres ciclos de asignación de capacidad de red ordenados; y medios para transmitir datos que comprenden la pluralidad de tipos de flujo de servicio según las asignaciones. En algunos aspectos, los medios para asignar distintas proporciones de capacidad de red disponible están configurados para determinar un perfil de transmisión para cada uno de la pluralidad de tipos de flujo de servicio, definiendo cada perfil de transmisión al menos tres parámetros de asignación de capacidad de red diferentes para los al menos tres ciclos de asignación de capacidad de red ordenados distintos, y asignar las distintas proporciones según los perfiles de transmisión determinados. En algunos de estos aspectos, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para seleccionar, para cada tipo de flujo de servicio, los parámetros de asignación de capacidad de red en el perfil de transmisión de cada tipo de flujo de servicio asociado a un ciclo de asignación de capacidad de red actual de los al menos tres ciclos de asignación de capacidad de red ordenados, y determinar cantidades de datos para transmitir para cada uno de la pluralidad de tipos de flujo de servicio en base, al menos en parte, a los parámetros de asignación de capacidad de red seleccionados para el ciclo de asignación de capacidad de red actual. En algunos aspectos de este aparato, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para transmitir a través del canal de comunicación las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual. En algunos de estos aspectos, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para determinar una asignación total para un ciclo de asignación particular basándose en una suma de parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular para la pluralidad de tipos de flujo de servicio, determinar una capacidad de red restante para el ciclo de asignación particular basándose en ciclos de asignación anteriores, asignar la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular y parámetros de asignación de capacidad de red que correspondan a un ciclo de asignación previo en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular, y asignar la capacidad de red restante basándose en los parámetros de asignación de capacidad de red que correspondan al ciclo de asignación particular en respuesta a que la capacidad de red restante sea mayor o igual que la asignación total para el ciclo de asignación particular.
En algunos aspectos del aparato, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para, en respuesta a que la capacidad de red restante sea menor que la asignación total para el ciclo de asignación particular: sumar cada uno de los parámetros de asignación de capacidad de red de flujo de servicio para el ciclo de asignación particular y parámetros de asignación de capacidad de red que correspondan al ciclo de asignación anterior, y asignar la capacidad de red restante a cada flujo de servicio en proporción a las sumas para cada flujo de servicio. En algunos aspectos del aparato, los medios para asignar distintas proporciones de capacidad de red disponible están configurados además para recibir datos para transmisión, determinar un tipo de datos de transmisión de los datos recibidos basándose en uno o más de: un punto de acceso de servicio de origen, un punto de acceso de servicio de destino y una clasificación de una carga útil de los datos, y asociar los datos recibidos a un tipo de flujo de servicio basándose en el tipo de datos de transmisión.
En algunos aspectos del aparato, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para clasificar encabezamientos de protocolo para determinar el tipo de datos de transmisión. En algunos aspectos, los medios para asignar diferentes proporciones de capacidad de red disponible se configuran además para clasificar el tipo de datos de transmisión en al menos uno de por ráfagas, vídeo, descarga de archivos y VoIP. En algunos aspectos, los medios para asignar distintas proporciones de capacidad de red disponible se configuran además para: asignar distintas proporciones de capacidad de red disponible durante un primer período de tiempo basándose en los al menos tres ciclos de asignación de capacidad de red; y asignar capacidad de red durante un segundo período de tiempo no solapado basándose en un conjunto de al menos tres ciclos de asignación de capacidad de red.
Otro aspecto descrito es un medio legible por ordenador no transitorio que comprende instrucciones que, al ejecutarse, hacen que un procesador lleve a cabo un método de asignación de capacidad de red a través de un canal de comunicación de una red, comprendiendo el método: determinar un perfil de transmisión para cada uno de una pluralidad de tipos de flujo de servicio, definiendo cada perfil de transmisión al menos tres parámetros de asignación de capacidad de red distintos para un conjunto de al menos tres ciclos de asignación de capacidad de red ordenados distintos; realizar de forma iterativa, para cada uno de los al menos tres ciclos de asignación de capacidad de red ordenados: seleccionar, para cada tipo de flujo de servicio, los parámetros de asignación de capacidad de red en el perfil de transmisión de cada tipo de flujo de servicio asociado a un ciclo de asignación de capacidad de red actual de los al menos tres ciclos de asignación de capacidad de red ordenados; determinar cantidades de datos para transmitir para cada uno de la pluralidad de tipos de flujo de servicio basándose, al menos en parte, en los parámetros de asignación de capacidad de red seleccionados para el ciclo de asignación de capacidad de red actual; y transmitir, a través del canal de comunicación, las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio para el ciclo de asignación de capacidad de red actual.
Breve descripción de los dibujos
La presente descripción se describe conjuntamente con las figuras adjuntas:
La Fig. 1 muestra una asignación de capacidad de red a una pluralidad de flujos de datos de red a través de una continuidad de niveles de congestión.
La Fig. 2 es un diagrama de bloques de un sistema que implementa al menos algunas de las realizaciones descritas.
La Fig. 3 es un diagrama de flujo de datos de una realización ilustrativa.
La Fig. 4 es un diagrama de flujo de datos de otra realización ilustrativa.
La Fig. 5 muestra una pluralidad de perfiles de transmisión en al menos una realización operativa.
La Fig. 6 es un diagrama de flujo para un método ilustrativo para asignar la capacidad de red.
La Fig. 7 es un diagrama de flujo de un método para asignar la capacidad de una red.
La Fig. 8 es un diagrama de flujo de una realización para asignar la capacidad de red durante un subciclo de la Fig. 7.
En las figuras adjuntas, los componentes y/o las características similares pueden tener la misma etiqueta de referencia. Además, pueden distinguirse diversos componentes del mismo tipo siguiendo la etiqueta de referencia por una segunda etiqueta que distingue entre los componentes similares. Si solo se usa la primera etiqueta de referencia en la memoria descriptiva, la descripción es aplicable a uno cualquiera de los componentes similares que tienen la misma primera etiqueta de referencia independientemente de la segunda etiqueta de referencia.
Descripción detallada
En la siguiente descripción, se exponen varios detalles específicos para proporcionar una comprensión completa de la presente descripción. Sin embargo, un experto en la materia reconocerá que la descripción puede practicarse sin estos detalles específicos. En algunos casos, no se han mostrado detalladamente circuitos, estructuras y técnicas para evitar el oscurecimiento de la presente descripción.
La Fig. 1 muestra una asignación de capacidad de red a una pluralidad de flujos 102a-g de datos de red a través de una variedad de niveles de congestión. Como se muestra, a cada uno de los flujos 102a-g se le asigna una proporción diferente de capacidad de red disponible a medida que el nivel de congestión aumenta a lo largo del eje x 105 desde cero (0) hasta seis (6). Por ejemplo, cuando un índice de nivel de congestión es cero (0), se asignan 20 Mbps de capacidad de red a los flujos 102a y 102b, se asignan aproximadamente 12,5 Mbps de capacidad de red al flujo 102c, se asignan aproximadamente 12 Mbps de capacidad al flujo 102d, 10 Mbps de capacidad de red al flujo 102e, 5 Mbps de capacidad de red al flujo 102f y aproximadamente 5 Mbps de capacidad de red al flujo 102g. Estas asignaciones permanecen constantes en un índice de nivel de congestión de “ 1” .
En un valor de nivel de congestión de dos (2), la asignación a los flujos 102a-d aún permanece sin cambios, mientras que la asignación del flujo 102e ha caído de 10 Mbps a aproximadamente 8 Mbps. La asignación al flujo 102f ha caído a cero (0) Mbps, mientras que la asignación al flujo 102g se mantiene estable a aproximadamente 5 Mbps.
En un valor de nivel de congestión de tres (3), la asignación a los flujos 102a-c no cambia en relación con un nivel de congestión de cero (0). Sin embargo, la asignación de flujo 102d ha caído en relación con la asignación de 102d en un nivel congestión de dos (2). Se asignan aproximadamente 8 Mbps al flujo 102d en un nivel de congestión de tres (3). La asignación al flujo 102e también ha caído a aproximadamente 0,5 Mbps desde aproximadamente 8 Mbps con el valor del índice de nivel congestión de dos (2).
En un valor de nivel de congestión de cuatro (4), solo el flujo 102a permanece sin cambios desde el nivel de congestión de cero (0). Ahora se asignan aproximadamente 12 Mbps al flujo 102b, 7,5 Mbps al flujo 102c, 4 Mbps al flujo 102d, cero (0) Mbps al flujo 102e, cero (0) Mbps al flujo 102f y el flujo 102g permanece estable a aproximadamente 0,5 Mbps.
En un nivel de congestión de cinco (5), se asigna aproximadamente 1 Mbps al flujo 102a y se asignan cero Mbps a los flujos 102b-f.
Obsérvese que no sólo se reduce la cantidad absoluta de capacidad en los flujos 102a-g a medida que el nivel de congestión se mueve de cero (0) a seis (6), sino que cambia la proporción de capacidad disponible asignada a cada uno de los flujos. La siguiente tabla muestra una aproximación de cómo cambian las proporciones a medida que cambia el nivel de congestión:
Tabla 1
Figure imgf000007_0001
Como se muestra en la Tabla 1, el flujo 102a recibe, por ejemplo, el 25 % de capacidad a un nivel de congestión de uno (1), pero el 45 % de capacidad de red disponible a un nivel de congestión de cuatro (4). Por lo tanto, los métodos y sistemas descritos proporcionan una asignación multinivel de capacidad de red a una pluralidad de flujos de tráfico. La proporción de la capacidad de red asignada a cada flujo de tráfico puede variar para cada nivel de congestión (o cada cantidad de capacidad de red disponible). Esto proporciona la capacidad de asegurar que una capacidad de red escasa se proporciona a los flujos de máxima prioridad.
La Fig. 2 es un diagrama de bloques de un sistema que implementa al menos algunas de las realizaciones descritas. El sistema 200 incluye dispositivos 120 de cliente, una unidad 140 de acceso de red y una red 160. La unidad 140 de acceso de red es responsable de la capacidad de asignación de la red 160 al tráfico generado por los dispositivos 120 de cliente. Durante la operación del sistema, en algunos momentos los datos generados por los dispositivos 120 de cliente pueden exceder una capacidad de la red 160. Por lo tanto, la unidad de acceso de red 140 puede poner en cola y/o priorizar el acceso a la red 160 por los dispositivos 120 de cliente.
La unidad de acceso de red incluye un procesador 205 de hardware electrónico y una memoria 206 de hardware electrónica. La memoria 206 de hardware electrónica almacena colas 210 de datos, un planificador 220 de tráfico y un clasificador 225 de tráfico. Las colas 210 de datos pueden almacenar datos transmitidos por los dispositivos 120 de cliente que aún no se han transmitido a través de la red 160. El planificador 220 de tráfico puede ser una parte de la memoria 206 que almacena instrucciones que configuran el procesador 205 para realizar una o más funciones que implementan una o más partes de las realizaciones descritas en la presente memoria. Por ejemplo, el planificador de tráfico puede configurar el procesador 205 para transmitir datos a través de la red 160 de acuerdo con uno o más perfiles de transmisión.
El clasificador 225 de tráfico puede ser una parte de la memoria 206 que almacena instrucciones que configuran el procesador 205 para clasificar el tráfico de red recibido desde uno o más dispositivos 120 de cliente. Por ejemplo, el clasificador 225 de tráfico puede asociar el tráfico de los dispositivos 120 de cliente con un tipo de flujo de servicio. En algunos aspectos, un tipo de flujo de servicio puede caracterizar la naturaleza de los datos transmitidos dentro de una conversación de red. Una conversación de red puede ser una identificación de datos de red que asocia dos puntos de extremo de un flujo de comunicación de red. Por ejemplo, en algunos aspectos, puede identificarse que una conversación de red es una conexión de transmission control protocol (protocolo de control de transmisión - TCP) o “conexión” de UDP (user datagram protocol - protocolo de datagrama de usuario) única. Por ejemplo, una combinación de dirección de Internet Protocol (protocolo de Internet - IP) de origen, dirección IP de destino, source service access point (punto de acceso de servicio - SAP) de origen y source service access point (punto de acceso de servicio - SAP) de destino puede identificar inequívocamente una conversación de red en algunos aspectos. En algunos aspectos, una conversación de red puede identificar el flujo de datos de red entre un origen y múltiples destinos. Por ejemplo, en algunos aspectos, un nodo o dispositivo de origen puede multidifundir comunicación de red a una dirección de multidifusión, que se encamina a una pluralidad de dispositivos en la red. La conversación de red puede identificar, a continuación, los datos transmitidos por este dispositivo de origen particular a una dirección de multidifusión en particular, tal como una dirección IP de multidifusión. En algunos aspectos, un tipo de flujo de servicio puede caracterizar datos dentro de una conversación de red como uno de por ráfagas, descarga de archivo de vídeo y/o voz sobre IP.
La unidad 140 de acceso de red también incluye un almacenamiento de datos que incluye políticas 240 de tráfico. Las políticas 240 de tráfico definen parámetros de planificación de tráfico para una pluralidad de tipos de flujo de servicio. Por ejemplo, una política de tráfico particular puede definir una cantidad de capacidad de red asignada a un tipo de flujo de tráfico particular en condiciones de red particulares o capacidades de red disponibles. La interfaz 250 de red proporciona acceso mediante la unidad de acceso de red 140 a los dispositivos 120 de cliente y la red 160.
La Fig. 3 es un diagrama de flujo de datos de una realización ilustrativa. El flujo 255 de datos muestra datos que fluyen desde el dispositivo o dispositivos 120 de cliente al clasificador 225 de tráfico, a través de las colas 260, 262, 264, 266 y 268 de datos al planificador 220 de tráfico. El planificador de tráfico, a continuación, planifica periódicamente un ciclo de asignaciones 272a-c de datos para su transmisión en una red.
Según se describe anteriormente, el clasificador 225 de tráfico puede clasificar y/o asociar datos listos para su transmisión con un tipo de flujo de servicio. Ejemplos de los tipos de flujo de servicio incluyen en ráfagas, descarga de archivos de vídeo, y/o voz sobre IP. Estos son únicamente ejemplos y las soluciones descritas en la presente memoria contemplan cualquier número de tipos de flujo de servicio.
El flujo 255 de datos también ilustra las colas 260 (que comprenden los elementos 260a-d), 262 de cola (que comprenden los elementos 262a-d de cola), 264 (que comprende el elemento 264a de cola), 266 (que comprenden los elementos 266a-c de cola) y una cola 268 (que está vacía). Algunas implementaciones pueden designar una cola particular para cada tipo de flujo de servicio clasificado por el clasificador 225 de tráfico. Como se muestra, después de clasificar datos de los dispositivos 120 de cliente como un tipo de flujo de servicio particular, el clasificador 225 de tráfico puede poner en cola los datos en una cola 260, 262, 264, 266 o 268 apropiada.
El planificador 220 de tráfico puede planificar cíclicamente los datos para su transmisión desde las colas 260, 262, 264, 266 y 268 basándose en los correspondientes perfiles 302a-e de transmisión, respectivamente, y una condición de red actual. Los resultados de estas asignaciones cíclicas se muestran como las asignaciones 272a-c.
En la realización mostrada en la Fig. 3, una condición de red considerada por el planificador 220 de tráfico cuando se asignan datos de tipo de flujo de servicio durante un ciclo de asignación es una capacidad actual de la red. La asignación 272a se transmite cuando la capacidad de red tiene un valor “X” hipotético, la asignación 272b se determina basándose en una capacidad de red con un valor “Y” hipotético y la asignación 272c se determina basándose en un valor de capacidad de red hipotética de “Z” . X, Y y Z se conciben para representar valores de capacidad de red arbitrarios. Cada uno de estos valores “X” , “Y” y “Z” puede ser considerado por el planificador 220 de tráfico cuando se determinan cantidades de datos de tipo de flujo de servicio a asignar en cada una de las asignaciones 272a-c. Cómo se calculan los ejemplos de los valores “X” , “Y” y “Z” puede variar según la realización. Por ejemplo, en algunos aspectos, los valores “X” , “Y” y “Z” pueden indicar una cantidad de datos que pueden transmitirse a través de la red en el ciclo de asignación actual. Esta medición en sí misma se puede determinar de varias maneras. Por ejemplo, cuando se determinan los valores “X” , “Y” y “Z” se pueden considerar uno cualquiera o más de capacidad máxima, rendimiento medio, mediciones de pérdida de paquetes, mediciones de memoria intermedia o tamaño de cola dentro de la red, número de transmisiones dentro de un periodo de tiempo, mediciones de latencia, mediciones de caudal.
Cada una de las asignaciones 272a-c incluye partes de datos de una o más de las colas, como se muestra mediante el sombreado que coincide con partes de las asignaciones 272a-c y las colas 260, 262, 264, 266 y 268. Por ejemplo, la parte 275a representa datos de la cola 260 (marcada con un sombreado equivalente), la parte 275b representa datos de la cola 262, 275c representa datos de la cola 264 y la parte 275d representa datos de la cola 266. Obsérvese que las proporciones de datos de cada cola varían a través de las asignaciones 272a-c. Por ejemplo, mientras los datos de la cola 262 (275b) suponen ~ un 50 % de los datos incluidos en la asignación 272a, la proporción de datos de la cola 262 es mucho menor que el 50 % en la asignación 272b (mostrada como 276b). Además, no se incluye ningún dato en la asignación 272c de la cola 262.
Similarmente, mientras los datos de la cola 260 representan una parte relativamente pequeña de la asignación 272a (mostrada como 275a), los datos de la cola 260 representan una parte incluso menor de la asignación 272b (mostrada como 276a) y más del 50 % de la asignación 272c (mostrada como 277a). Estas variaciones en la proporción de cada dato de tipo de flujo de servicio en cada una de las asignaciones 272a-c pueden ser el resultado de la consideración de las diferentes capacidades de red disponibles (X, Y y Z) durante cada asignación 272a-c.
La Fig. 4 es un diagrama de flujo de datos de otra realización ilustrativa. La Fig. 4 muestra una pluralidad de colas 281 a-c, 282a-c y 283a-c de datos. Cada una de las colas de datos almacena datos de un terminal de usuario particular y de un tipo de flujo de servicio particular. En algunos aspectos, las colas 281,282 y 283 de datos pueden haber sido rellenadas por el clasificador 225 de tráfico, mostrado en la Fig. 3. Por ejemplo, las colas 281a-c almacenan datos de un tipo “A” de flujo de servicio, las colas 282a-c almacenan datos de un tipo “ B” de flujo de servicio, mientras que las colas 283a-c almacenan datos de un tipo “C” de flujo de servicio. Cada una de las colas 281 a, 282a y 283a almacena datos transmitidos por un terminal de usuario 1 (UT1), cada una de las colas 281b, 282b y 283b almacena datos transmitidos por un terminal de usuario 2 (UT2), mientras que cada una de las colas 281c, 282c y 283c almacena datos transmitidos por un terminal de usuario 3 (UT3).
El planificador 220 de tráfico, mostrado en la Fig.4 como planificador 220 de tipo de flujo de servicio puede configurarse para determinar una asignación de datos para cada flujo de servicio (A-C en la Fig. 4) durante un ciclo de asignación particular, subciclo o serie de subciclos. Se pueden proporcionar las cantidades de asignación para cada tipo de flujo de servicio a un planificador 221 específico de usuario. Dadas las asignaciones para cada flujo de servicio durante un ciclo, el planificador 221 específico de usuario puede determinar cómo se repartirá una asignación particular de datos de flujo de servicio a una pluralidad de terminales de usuario con datos a enviar. Por ejemplo, el planificador 221 específico de usuario puede determinar cuántos datos se asignarán de cada uno de UT1, UT2 y UT3 en un ciclo de asignación particular para proporcionar la cantidad asignada para el flujo de servicio de tipo “A” proporcionado por el planificador 220 de tipo de flujo de servicio. Los datos para proporcionar esta asignación pueden obtenerse de las colas 281a-c.
Para hacer esta determinación, el planificador 221 específico de usuario también puede basarse en las métricas 284 de usuario. Las métricas 284 de usuario pueden incluir, por ejemplo, información que indica una prioridad de un usuario particular en relación con otros usuarios. Esta información puede incluir información tal como la información de plan de abonado para un usuario, estado de la cuenta de un usuario (por ejemplo, si el pago de abonado de un usuario se ha pagado íntegro o con retraso), información de uso de un usuario (por ejemplo, si el uso del usuario ha excedido un límite de uso proporcionado para su plan de acceso de datos, etc.). El planificador específico de usuario 221 puede priorizar y asignar, a continuación, datos para un flujo de servicio basándose en las métricas 284 de usuario y basándose en qué usuarios tienen datos esperando en las colas 281a-c, 282a-c y 283a-c.
Los resultados de esta asignación se muestran en la Fig. 4 como asignaciones 285a-b. La asignación 285a incluye datos de tipo “A” de flujo de servicio de UT1, 286A, de tipo “A” de flujo de servicio de UT2, 286b, de tipo “ B” de flujo de servicio de UT1, 286c, y de tipo “ B” de flujo de servicio de UT2, 286d. En algunos aspectos, los datos del user terminal (terminal de usuario - UT) pueden asignarse a un ciclo de asignación de una manera similar a como se asignan los datos de tipo de flujo de servicio, como se ha descrito anteriormente.
La asignación 285b incluye datos “A” de flujo de servicio de UT 1,287a, datos “A” de flujo de servicio de UT2, 287b, datos de tipo “C” de flujo de servicio de UT1,287c, datos de tipo “C” de flujo de servicio de UT2, 287d, y datos de tipo “C” de flujo de servicio de UT3, 287e. Las variaciones en la cantidad de los datos de cada terminal de usuario dentro de un tipo de flujo de servicio en cada una de las asignaciones 285a-b pueden basarse en decisiones de planificación de terminal de usuario tomadas por el planificador 221 específico de usuario basándose al menos en parte en las métricas 284 de usuario.
La Fig. 5 muestra una pluralidad de perfiles de transmisión en al menos una realización operativa. Cada uno de los perfiles 302a-d de transmisión puede corresponder a un tipo de flujo de servicio individual, en que las asignaciones de datos para su transmisión para el tipo de flujo de servicio individual pueden controlarse al menos en parte mediante uno de los ejemplos de perfiles 302a-d de transmisión. Por ejemplo, el planificador 220 de tráfico puede consultar uno de los perfiles 302a-d de transmisión cuando se determina cuántos datos deberían transmitirse para un tipo de flujo de servicio particular durante un ciclo de asignación y/o un subciclo de asignación.
Cada una de las “filas” de los ejemplos de perfiles 302a-d de transmisión define las asignaciones para un subciclo particular en un proceso de asignación de datos cíclico para su transmisión a través de una red (descrita en mayor detalle, más adelante). Por ejemplo, cada uno de 303a-b, 305a-b, 307a-b y 309a-b define que en un primer, segundo, tercer y cuarto subciclo de asignación, deberían asignarse 5, 10, 7 y 4 “ unidades” , respectivamente, a un tipo de flujo de servicio que corresponde al perfil 302a de transmisión en cada uno de los subciclos respectivamente. En algunos aspectos, las “unidades” en las asignaciones 303b, 305b, 307b y 309b, por ejemplo, indican una cantidad absoluta de datos que pueden asignarse al correspondiente tipo de flujo de servicio durante un subciclo particular. Por ejemplo, las unidades pueden ser en bytes, megabytes, gigabytes, etc. En algunos otros aspectos, las asignaciones 303b, 305b, 307b y 309b pueden ser indicativas de una velocidad de datos que debería conseguirse para el correspondiente tipo de flujo de servicio durante los correspondientes subciclos. Por ejemplo, las “unidades” pueden representar megabits por segundo, megabytes por segundo, etc. Cuando las asignaciones indican una velocidad, determinar una cantidad de datos a transmitir para un tipo de flujo de servicio particular puede depender de una cuantía de tiempo representada por un subciclo particular (es decir, una cantidad de tiempo en una red para la cual se están asignando datos durante un ciclo o subciclo particular).
En algunos aspectos, las unidades definidas por los perfiles 302a-d de transmisión pueden definir porcentajes de capacidad disponible a asignar a un tipo de flujo de servicio correspondiente. Por ejemplo, en algunos aspectos, el perfil 302 de transmisión puede indicar que el cinco por ciento de la capacidad de red disponible debería asignarse al correspondiente tipo de flujo de servicio durante el subciclo 1, el 10 por ciento en el subciclo 2, el siete (7) por ciento en el subciclo 3 y el cuatro (4) por ciento en el subciclo 4. En algunos aspectos, estos porcentajes pueden definir una asignación similar a la mostrada en la Tabla 1, descrita anteriormente en relación con la Fig. 1.
La Fig. 6 es un diagrama de flujo para un método ilustrativo para asignar la capacidad de red. En algunos aspectos, el proceso 600 mostrado en la Fig. 6 puede ser implementado por la unidad 140 de acceso de red mostrada en la Fig. 2. Por ejemplo, en algunos aspectos, el planificador 220 de tráfico puede almacenar instrucciones que configuran el procesador 205 para realizar una o más de las funciones descritas a continuación con respecto a la Fig. 6.
En el bloque 655, se determina un período de tiempo de asignación para una pluralidad de ciclos de asignación de capacidad de red. Por ejemplo, la capacidad de red puede asignarse en el proceso 600 a través de una pluralidad de ciclos. En algunos aspectos, los ciclos pueden ser continuos, en que no existe ningún límite superior explícito en el número de ciclos en los que se puede asignar la capacidad de red. En algunos aspectos, la asignación de capacidad de red puede dividirse en cuantías de tiempo distintas. Por ejemplo, la capacidad de red puede asignarse cada 1, 5, 10, 20, 50 o 100 milisegundos, por ejemplo. El bloque 655 determina el período de tiempo para un ciclo de asignación de capacidad de red.
En algunos aspectos, la determinación de una duración del período de tiempo para un ciclo de asignación puede no ser explícita, pero en cambio puede ser inherente al propio diseño. Por ejemplo, en algunos aspectos, las instrucciones del procesador pueden preprogramarse para utilizar un periodo de tiempo de asignación de duración fija. En estos aspectos, puede no realizarse ninguna determinación de tiempo de ejecución dinámica de una duración. En su lugar, en estos aspectos, la determinación de una duración de un período de tiempo puede ser inherente a la ejecución del propio proceso 600. Por ejemplo, algunos aspectos pueden ejecutar el proceso 600 cada 50 milisegundos, asignando el proceso 600 la capacidad de red disponible durante cuantías de tiempo sucesivas de 50 milisegundos.
En el bloque 660, se determina una capacidad de red a asignar durante el ciclo de asignación actual. En algunos aspectos, esta determinación puede basarse en la duración del período de tiempo determinado en el bloque 655. En algunos aspectos, esta determinación puede basarse en una capacidad actual de la red, que puede variar a lo largo del tiempo. Por lo tanto, algunos aspectos del bloque 660 pueden incluir recibir una entrada que indica una capacidad actual de la red. Por ejemplo, la entrada puede recibirse desde uno o más monitores de red que indican una o más de una velocidad de pérdida de paquetes, latencia de paquete, fluctuación de red u otras estadísticas de red. La capacidad actual de la red puede derivarse, a continuación, a partir de una o más de estas estadísticas.
A modo de ejemplo de determinación de una capacidad de red actual a asignar, si una capacidad actual de una red es de 50 megabits por segundo (Mbps), y una duración del período de tiempo del bloque 655 es de 100 milisegundos, entonces la capacidad de red para la asignación durante el ciclo de asignación actual en el bloque 660 es de 5.000.000 bits o 625.000 bytes.
En el bloque 665, se asigna la capacidad de red para el ciclo de asignación actual. En algunos aspectos, la asignación puede realizarse según el proceso descrito con respecto a la Fig. 7, descrito a continuación.
El bloque 670 espera al siguiente periodo de tiempo de asignación. Por ejemplo, si el proceso 600 asigna la capacidad de red a intervalos de 10 milisegundos, el bloque 670 puede esperar hasta que se produzca el siguiente intervalo de 10 milisegundos. En algunos aspectos, el bloque 670 puede incluir la recopilación de información de métricas relacionada con la capacidad de red disponible durante el siguiente período de tiempo. Ya que las redes informáticas son dinámicas por naturaleza, la capacidad de red disponible puede variar con cada período de tiempo referenciado en el proceso 600. En algunos otros aspectos del bloque 670, puede no realizarse ninguna espera. Después de que se realiza el bloque 670, el proceso 600 regresa al bloque 660 y se repite el procesamiento como se ha descrito anteriormente.
La Fig. 7 es un diagrama de flujo de un método para asignar la capacidad de una red. En algunos aspectos, la unidad 140 de acceso de red puede realizar el proceso 665 mostrado en la Fig. 7. Por ejemplo, en algunos aspectos, las instrucciones almacenadas en el planificador 220 de tráfico pueden configurar el procesador 205 para realizar una o más de las funciones del proceso 665 descrito a continuación. En algunos aspectos, el proceso 665 descrito con respecto a la Fig. 7 puede realizarse en el bloque 665 de la Fig. 6. En algunos aspectos, el proceso 665 asigna una capacidad de red dentro de un ciclo del proceso 600, descrito anteriormente con respecto a la Fig. 6. Por ejemplo, los subciclos del proceso 665, descritos a continuación, pueden representar divisiones o subcomponentes de un único ciclo del proceso 600, descrito anteriormente. Por lo tanto, el proceso 665 puede representar un proceso de asignación cíclico anidado dentro de otro proceso (600) de asignación cíclico.
En algunos aspectos, el proceso 665 asigna una capacidad de red en un número de subciclos. Cada subciclo puede asignar una parte de esta capacidad de red hasta que se asigna toda la capacidad de red, o no haya más datos esperando para transmitirse. Cada subciclo puede asignar una parte de la capacidad de red basándose en los parámetros de asignación asociados con un subciclo según se define en los perfiles de transmisión, tales como los ejemplos de perfiles de transmisión mostrados en la Fig. 5.
En algunos aspectos, el proceso 665 que se ejecuta en un procesador electrónico, tal como el procesador electrónico 205 mostrado en la Fig. 2, representa un medio para asignar diferentes proporciones de capacidad de red disponible a una pluralidad de tipos de flujo de servicio durante cada uno de al menos tres ciclos de asignación de capacidad de servicio ordenados, y también un medio para transmitir datos que comprenden la pluralidad de tipos de flujo de servicio de acuerdo con las asignaciones durante los al menos tres ciclos de asignación de capacidad de red ordenados.
En el bloque 705 se determina un perfil de transmisión para cada uno de una pluralidad de tipos de flujo de servicio. Cada perfil de transmisión puede definir al menos tres parámetros de asignación de capacidad de red diferentes para un conjunto de al menos tres subciclos diferentes de asignación de capacidad de red ordenados. Por ejemplo, como se muestra en la Fig. 5, cada uno de los perfiles 302a-d de transmisión define al menos tres parámetros diferentes de asignación de capacidad de red ordenados. Por ejemplo, los parámetros 303b, 305b, 307b y 309b de asignación de capacidad de red están definidos por el perfil 302a de transmisión para los ciclos de asignación indicados en 303a, 305a, 307a y 309a, respectivamente, mientras que los parámetros 311b, 313b, 315b y 317b de asignación están definidos por el perfil 302b de transmisión para los ciclos indicados por 311a, 313a, 315a y 317a, respectivamente. Los subciclos referenciados como parte de la descripción de la Fig. 7 pueden realizarse dentro de un ciclo del proceso 600, descrito anteriormente con respecto a la Fig. 5.
En el bloque 710, los parámetros de asignación de capacidad de red se seleccionan para cada tipo de flujo de servicio de la pluralidad de flujos de servicio. Los parámetros seleccionados corresponden a un ciclo de asignación de capacidad de red actual. Por ejemplo, en un primer ciclo de asignación, tal como el ciclo representado por 303a y 311a de la Fig. 5, los parámetros seleccionados pueden incluir 303b para un primer tipo de flujo de servicio que corresponde al perfil 302a y 311b de transmisión para un segundo tipo de flujo de servicio que corresponde al perfil 302b de transmisión.
En el bloque 715 se determinan las cantidades de datos a transmitir para cada uno de la pluralidad de tipos de flujo de servicio. Las cantidades pueden determinarse basándose en los parámetros de asignación de capacidad de red seleccionados. En algunos aspectos, los parámetros de asignación de capacidad de red seleccionados representan una velocidad de datos a asignar a un tipo de flujo de servicio correspondiente. Por ejemplo, un valor de cinco (5) para el parámetro 306a de asignación puede indicar que en el ciclo de asignación uno (1) deberían asignarse 5 Mbps al tipo de flujo de servicio que corresponde al perfil 302 de transmisión. En estos aspectos, la cantidad de datos a transmitir se puede determinar dividiendo la velocidad entre un período de tiempo representado por un ciclo de asignación. Por ejemplo, si una velocidad indicada por un parámetro de asignación es de 5 Mbps, y un ciclo de asignación representa 100 milisegundos, entonces pueden asignarse 500.000 bytes al correspondiente tipo de flujo de servicio durante el ciclo de asignación actual.
En algunos aspectos, los parámetros de asignación de capacidad de red seleccionados pueden representar un número de bytes a asignar al correspondiente flujo de servicio en el ciclo de asignación actual. En algunos aspectos, los parámetros 306a-d y 308a-d de asignación pueden representar una cantidad proporcional de capacidad de red a asignar al flujo de servicio respectivo durante un ciclo de asignación particular. Por ejemplo, en algunos aspectos, los parámetros 306a-d y 308a-d de asignación pueden representar, por ejemplo, un número de bytes a transmitir durante un ciclo de asignación. Sin embargo, puede no haber suficiente capacidad de red restante en un ciclo de asignación actual para transmitir todos los bytes definidos por los perfiles de transmisión para cada flujo de servicio que tiene datos en cola. Por lo tanto, en algunos aspectos, cuando no queda suficiente capacidad para asignar el número total de bytes definidos por los perfiles de transmisión, las cantidades a transmitir pueden determinarse proporcionalmente a los datos definidos por los parámetros 306a-d y 308a-d de asignación.
En algunos aspectos, el bloque 715 puede determinar una capacidad de red restante basándose en subciclos de asignación anteriores. La capacidad de red restante puede basarse en la capacidad de red disponible cuando comenzó el proceso 665 y, a continuación, la capacidad de red asignada por los subciclos anteriores del proceso 665 puede restarse de la misma para obtener una capacidad de red restante. Adicionalmente, algunos aspectos pueden determinar cuál sería una asignación total para el ciclo de asignación actual basándose en una suma de los parámetros de asignación de capacidad de red que corresponden al ciclo de asignación particular para la pluralidad de tipos de flujo de servicio. En otras palabras, una asignación solicitada por los perfiles de transmisión puede ser inferior, igual o superior a una capacidad de red disponible o restante. Si hay menos capacidad de red disponible que la solicitada por los perfiles de transmisión, entonces puede ser necesario que el proceso 665 ajuste las asignaciones solicitadas por los perfiles de transmisión para que encajen dentro de la capacidad de red disponible. Por ejemplo, en algunos aspectos, si no hay suficiente capacidad de red restante a asignar basándose en las cantidades solicitadas por los perfiles de transmisión, puede realizarse una asignación proporcional de la capacidad de red restante. En algunos aspectos, la asignación es proporcional a las cantidades solicitadas por los perfiles de transmisión. En otros aspectos, cuando se determinan las cantidades, pueden considerarse tanto las cantidades solicitadas por los perfiles de transmisión para el subciclo actual como las cantidades solicitadas por los perfiles de transmisión durante un ciclo de asignación anterior. Por ejemplo, se puede determinar una diferencia entre la asignación de un flujo de servicio en un subciclo de asignación anterior y la asignación solicitada en el subciclo actual. Se puede determinar, a continuación, que la asignación sea proporcional a las diferencias.
En algunos otros aspectos, se puede sumar la asignación de cada flujo de servicio en un subciclo anterior y su asignación solicitada en un subciclo actual. La asignación para cada flujo de servicio en el subciclo actual puede ser entonces proporcional a las sumas.
En algunos aspectos del bloque 715, después de determinarse una cantidad de asignación para un flujo de servicio cualquiera en el subciclo de asignación actual, el proceso 665 puede determinar cómo particionar la asignación del tipo de flujo de servicio entre una pluralidad de terminales de usuario. Por ejemplo, en algunos aspectos, los datos para un tipo de flujo de servicio particular pueden comprender datos de una pluralidad de terminales de usuario diferentes. Al menos algunos de estos terminales de usuario pueden tener un abonado asociado con los mismos. En algunas realizaciones, el tratamiento de un abonado individual y/o de los terminales de usuario puede no ser igual. Algunas realizaciones pueden preferir los datos de un primer terminal de usuario y/o abonado a los datos de un segundo terminal de usuario y/o abonado.
Por ejemplo, algunos terminales de usuario y/o abonados pueden haber adquirido planes de acceso de red que proporcionan acceso preferido a datos generados por estos terminales de usuario y/o abonados cuando se comparan con terminales de usuario y/o abonados que operan en otros planes de acceso de red (posiblemente menos caros). Alternativamente, en algunos aspectos, puede considerarse el uso de red de un abonado en relación con el uso permitido en el plan de acceso de red del abonado cuando se determina qué porcentaje o parte de la asignación de un tipo de flujo de servicio en un subciclo particular se asigna al abonado y/o su terminal de usuario asociado. Por ejemplo, si un abonado ha superado el uso proporcionado por su plan de acceso de red, puede asignarse una parte más pequeña de una asignación para un tipo de flujo de servicio que para un abonado que está dentro de los límites de uso de su respectivo plan de acceso de red. En algunos aspectos, partes de algunos tipos de flujo de servicio pueden considerar métricas de uso de abonado, mientras que la asignación de partes de algunos otros tipos de flujo de servicio puede no considerar métricas de uso de abonado. Por ejemplo, algunas implementaciones pueden limitar o eliminar las asignaciones a terminales de usuario por encima de su límite de uso para los tipos de flujo de servicio asociados con el uso de datos elevado, tal como los tipos de flujo de servicio de difusión en continuo. Sin embargo, los tipos de flujo de servicio asociados con la navegación web o el correo electrónico pueden no considerar el uso de un abonado cuando se asignan partes de cantidad de asignaciones de tipo de flujo de servicio a los terminales de usuario.
En algunos aspectos, las asignaciones de un tipo de flujo de servicio particular durante un subciclo pueden particionarse a través de una pluralidad de terminales de usuario usando un proceso de asignación cíclica. Por ejemplo, para cada terminal de usuario, los parámetros de asignación pueden definirse para una pluralidad de ciclos de asignación de terminal de usuario. La asignación a cada terminal de usuario durante un ciclo de asignación de terminal de usuario específico puede basarse en los parámetros de asignación asociados con cada terminal de usuario que están asociados con el ciclo de asignación específico. Pueden realizarse varios ciclos hasta que toda la asignación para el tipo de flujo de servicio particular se haya asignado a la pluralidad de terminales de usuario, o todos de la pluralidad de los terminales de usuario hayan asignado todos sus datos para el tipo de flujo de servicio particular.
En el bloque 720, se transmiten las cantidades determinadas para cada uno de la pluralidad de tipos de flujo de servicio. El bloque 725 de decisión determina si queda alguna capacidad de red para el proceso 665 de asignación de red. Por ejemplo, en aspectos que asignan un ciclo de capacidad de red del proceso 600, descrito anteriormente con respecto a la Fig. 6, en el proceso 665, el bloque 725 de decisión determina si queda alguna capacidad de red en el ciclo. Si queda capacidad, el subciclo se incrementa en el bloque 730, y el procesamiento regresa al bloque 710, en el que se repite el proceso 665 como se ha descrito anteriormente. Si no hay más capacidad disponible, el proceso 665 se puede finalizar.
Mientras la Fig. 7 muestra la transmisión de cantidades asignadas en el bloque 720 para cada subciclo del proceso 665, en algunos aspectos, puede producirse una menor transmisión de datos asignados, para cada tipo de flujo de servicio, que en cada subciclo. Por ejemplo, en algunos aspectos, las cantidades asignadas para cada tipo de flujo de servicio pueden agregarse a través de dos o más subciclos del proceso 665 y, a continuación, transmitirse.
En algunos aspectos, el proceso 665 puede incluir al menos tres subciclos. Por lo tanto, en algunos aspectos, los perfiles de transmisión pueden configurarse de tal manera que la capacidad de red permanece sin asignar después de que finalizan dos subciclos. Por lo tanto, en estos aspectos, el bloque 725 de decisión puede determinar que queda capacidad después de un segundo subciclo. El proceso 665 puede moverse, a continuación, al bloque 730, en el que se define un siguiente (3er) subciclo. A continuación, se repite el procesamiento desde el bloque 710 para el tercer subciclo. Se contemplan subciclos adicionales. Por ejemplo, en el proceso 665 pueden incluirse 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45 o 50 subciclos. El número de subciclos en el proceso 665 puede basarse en cuánta capacidad de red hay disponible, y también en cuánta capacidad de red asignan los parámetros 306a-d y 308a-d de asignación (por ejemplo) en cada subciclo. Por ejemplo, en la medida en que los parámetros de asignación asignan un pequeño porcentaje de capacidad de red disponible en subciclos tempranos, el proceso 665 puede realizar subciclos adicionales.
En algunos aspectos, un primer subciclo de asignación realizado puede asignar una velocidad de información comprometida para cada tipo de flujo de servicio. En otras palabras, el primer subciclo de asignación puede definir una cantidad de datos que deben asignarse a cada flujo de servicio durante el proceso 665. En algunos aspectos, esto representa una cantidad mínima de datos que deben asignarse a cada tipo de flujo de servicio durante un ciclo de asignación del proceso 600.
En algunos aspectos, un segundo subciclo de asignación realizado del proceso 665 puede asignar una velocidad media de información para cada tipo de flujo de servicio. Una velocidad media de información puede representar una asignación de datos a un tipo de flujo de servicio particular durante el segundo subciclo de asignación realizado que no está garantizado.
En algunos aspectos, un último subciclo de asignación realizado del proceso 665 puede asignar una velocidad máxima de información para cada tipo de flujo de servicio. En algunos aspectos, la velocidad máxima de información puede conseguirse únicamente en algunos aspectos, si la cantidad de datos totales en cola para su transmisión es menor que la capacidad de red disponible durante un ciclo del proceso 600.
En algunos aspectos, una conversación de red particular, tal como una conexión TCP o un par de dirección de Internet Protocol (Protocolo de Internet - IP) service access point (punto de acceso de servicio - SAP) de origen y dirección IP/SAP de destino de UDP, puede asociarse con un flujo de servicio particular basándose en un tipo de datos que fluyen a través de la conversación de la red. Por ejemplo, en algunos aspectos, el proceso 665 incluye recibir datos para su transmisión, y determinar un tipo de datos de transmisión de los datos recibidos basándose en uno o más de: un punto de acceso de servicio de origen, un punto de acceso de servicio de destino y una clasificación de una carga útil de los datos, y asociar los datos recibidos con un tipo de flujo de servicio basándose en el tipo de datos de transmisión. La asociación entre la conversación de red y un flujo de servicio particular puede almacenarse en un almacenamiento de datos, de manera que cuando se recibe un mensaje posterior para la conversación de red, no se requiere una nueva clasificación. En su lugar, el almacenamiento de datos puede consultarse para determinar rápidamente con qué flujo de servicio debería asociarse el mensaje de información.
Algunas implementaciones pueden poner en cola, a continuación, el mensaje o mensajes de datos recibidos basándose en sus flujos de servicio asociados. Por ejemplo, puede mantenerse una cola en algunos aspectos para cada flujo de servicio. Cuando la capacidad de la red se asigna a un flujo de datos particular, los datos de un tamaño equivalente a la capacidad asignada pueden retirarse de la cola de flujo de servicio y transmitirse.
Algunos aspectos pueden realizar una inspección de paquetes profunda para asociar un mensaje o mensajes de datos con un flujo de servicio. Por ejemplo, en algunos aspectos, un mensaje de datos puede asociarse con un flujo de servicio basándose en datos de nivel de aplicación en el mensaje de datos. Por ejemplo, los datos de aplicación pueden colocarse en un mensaje de datos encima de un encabezamiento de TCP o UDP en el mensaje de datos. En algunos aspectos, los encabezamientos de protocolo pueden analizarse para asociar una conversación de red con un flujo de servicio. En algunos aspectos, una conversación de red puede clasificarse en al menos uno de por ráfagas, descarga de archivo de vídeo y/o voz sobre IP. En algunos aspectos, cada una de estas clasificaciones puede ser un flujo de servicio separado.
La Fig. 8 es un diagrama de flujo de una realización de asignación de la capacidad de red durante un subciclo 715. En algunos aspectos, el proceso 715 descrito a continuación con respecto a la Fig. 8 puede realizarse como parte del proceso 665, descrito anteriormente con respecto a la Fig. 7.
En algunos aspectos, el proceso 715 puede asignar capacidad de red a una pluralidad de tipos de flujo de servicio cuando una cantidad de asignación solicitada o especificada por perfiles de transmisión para la pluralidad de tipos de flujo de servicio indica una mayor asignación que la que proporciona la capacidad de red disponible. Según se describe a continuación, en algunos aspectos, pueden considerarse asignaciones proporcionadas a un flujo de servicio en un ciclo de asignación anterior cuando se determina una asignación durante un ciclo de asignación actual, especialmente cuando no hay disponible suficiente capacidad para asignar toda la cantidad solicitada por los perfiles de transmisión de cada tipo de flujo de servicio. Considerando las asignaciones en un ciclo anterior.
En el bloque 805, se determina una cantidad de capacidad de red restante en un ciclo de asignación. Por ejemplo, el proceso 715 puede invocarse múltiples veces durante un subciclo del proceso 665. Con cada subciclo del proceso 665, puede asignarse una parte de una capacidad de red total para un ciclo. Por lo tanto, puede reducirse una parte restante con cada invocación del proceso 715. Por lo tanto, el bloque 805 determina esta parte restante en algunos aspectos.
En el bloque 810, se agregan (totalizan) las asignaciones para un conjunto de tipos de flujo de servicio activos para un subciclo actual. Por ejemplo, si un subciclo actual corresponde al subciclo tres (3) para los perfiles de transmisión mostrados en la Fig. 5, y los flujos de servicio activos corresponden a los perfiles 302a y 302b de transmisión (es decir, existen dos tipos de flujo de servicio activos en este ejemplo), entonces el bloque 810 puede agregar siete (7) de 307b (que corresponde al subciclo 3 como se especifica en 307a del perfil 302a de transmisión) y seis (6) de 315b (que corresponde al subciclo 3 como se especifica en 315a del perfil 302b de transmisión) para un total de trece (13).
El bloque 815 de decisión determina si hay suficiente capacidad disponible para las asignaciones definidas por los perfiles de transmisión. Si la asignación agregada del bloque 810 es menor que la capacidad de red restante determinada en el bloque 805, entonces hay suficiente capacidad de red, y el proceso 715 se mueve al bloque 525, donde las cantidades de asignación para un subciclo actual se determinan de acuerdo con los perfiles de transmisión. Si las asignaciones solicitadas por los perfiles de transmisión exceden la capacidad disponible, el proceso 715 se mueve al bloque 820.
En el bloque 820, las asignaciones para un subciclo actual se determinan proporcionalmente a las cantidades indicadas por los perfiles de transmisión. Por ejemplo, en algunos aspectos, para cada tipo de perfil de servicio pueden añadirse asignaciones solicitadas por los perfiles de transmisión durante un subciclo anterior y un subciclo actual. A continuación, se puede determinar que las asignaciones para el subciclo actual sean proporcionales a las sumas.
En algunos otros aspectos, se puede determinar una diferencia entre las asignaciones solicitadas por los perfiles de transmisión durante un subciclo anterior y un subciclo actual. A continuación, se puede determinar que las asignaciones para el subciclo actual sean proporcionales a las diferencias. Con esta realización, si un primer tipo de flujo de servicio recibió una asignación relativamente grande en un subciclo anterior, mientras que un segundo tipo de flujo de servicio recibió una asignación relativamente más pequeña durante el subciclo anterior, el segundo tipo de flujo de servicio puede recibir una asignación proporcionalmente mayor en el subciclo actual. Después de que se han determinado las asignaciones para el subciclo actual, el procesamiento continúa desde cualquiera de los bloques 820 o 525. Por ejemplo, cuando el proceso 715 se integra en el proceso 665 descrito anteriormente con respecto a las Fig. 7, la transmisión de datos puede realizarse (en el bloque 720) según las asignaciones determinadas en el bloque 715.
Tal y como se utiliza en la presente memoria, el término “determinar” abarca una amplia variedad de acciones. Por ejemplo, “determinar” puede incluir calcular, computar, procesar, derivar, investigar, consultar (p. ej., consultar en una tabla, una base de datos u otra estructura de datos) comprobar y similares. Además, “determinar” puede incluir recibir (p. ej., recibir información), acceder (p. ej., acceder a datos en una memoria) y similares. También, “determinar” puede incluir resolver, seleccionar, elegir, establecer y similares. Además, una “anchura de canal” tal y como se utiliza en la presente memoria puede abarcar o también se puede denominar ancho de banda en determinados aspectos.
Como se utiliza en la presente memoria, una expresión que hace referencia a “ al menos uno de” una lista de artículos se refiere a cualquier combinación de esos artículos, incluidos elementos individuales. A modo de ejemplo, “ al menos uno de: a, b o c” pretende cubrir: a, b, c, a-b, a-c, b-c y a-b-c.
Las diversas operaciones de los métodos descritos anteriormente pueden realizarse mediante cualquier medio adecuado capaz de realizar las operaciones, tales como uno o varios componentes, circuitos y/o módulos de hardware y/o software. En general, cualquier operación ilustrada en las Figuras puede realizarse mediante los correspondientes medios funcionales capaces de realizar las operaciones.
Los diversos bloques, módulos y circuitos lógicos ilustrativos descritos en conexión con la presente descripción pueden implementarse o realizarse con un procesador de propósito general, un digital signal processor (procesador de señales digitales - DSP), un application specific integrated circuit (circuito integrado de aplicación específica - ASIC), una field programmable gate array signal (matriz de compuertas lógicas programable en campo - FPGA) u otro programmable logic device (dispositivo lógico programable - PLD), puerta discreta o lógica de transistor, componentes de hardware discretos o cualquier combinación de los mismos diseñada para realizar las funciones descritas en la presente memoria. Un procesador de propósito general puede ser un microprocesador, pero como alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estados comercialmente disponible. También puede implementarse un procesador como una combinación de dispositivos informáticos, p. ej., una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunto con un núcleo de DSP o cualquier otra configuración de este tipo.
En uno o más aspectos, las funciones descritas pueden implementarse en hardware, software, firmware o cualquier combinación de los mismos. Si se implementa en software, las funciones pueden almacenarse en o transmitirse a través de una o más instrucciones o código en un medio legible por ordenador. Los medios legibles por ordenador incluyen tanto medios de almacenamiento informáticos como medios de comunicación que incluyen cualquier medio que facilita la transferencia de un programa informático desde un lugar a otro. Un medio de almacenamiento puede ser cualquier medio disponible que pueda accederse por un ordenador. A modo de ejemplo, y no de limitación, tales medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda utilizarse para transportar o almacenar código de programa deseado en forma de instrucciones o estructuras de datos y al que se pueda acceder mediante un ordenador. También, cualquier conexión se denomina apropiadamente un medio legible por ordenador. Por ejemplo, si el software se transmite desde un sitio web, servidor u otra fuente remota que utiliza un cable coaxial, cable de fibra óptica, par trenzado, digital subscriber line (línea de abonado digital - DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces en la definición de medio se incluyen el cable coaxial, cable de fibra óptica, par trenzado, DSL o tecnologías inalámbricas tales como infrarrojos, radio y microondas. Disco (disk) y disco (disc), tal y como se utilizan en la presente memoria, incluyen compact disc (disco compacto - CD), disco láser, disco óptico, digital versatile disc (disco versátil digital - DVD), disco flexible y disco Blu-ray® donde los discos (disks) normalmente reproducen datos magnéticamente, mientras que los discos (discs) reproducen datos ópticamente con láseres. Por lo tanto, en algunos aspectos, el medio legible por ordenador puede comprender un medio legible por ordenador no transitorio (p. ej., medios tangibles). Además, en algunos aspectos el medio legible por ordenador puede comprender un medio legible por ordenador transitorio (p. ej., una señal). También deberían incluirse combinaciones de los anteriores dentro del alcance de los medios legibles por ordenador.
Por lo tanto, ciertos aspectos pueden comprender un producto de programa informático para realizar las operaciones presentadas en la presente memoria. Por ejemplo, un producto de programa informático de este tipo puede comprender un medio legible por ordenador que tenga instrucciones almacenadas (y/o codificadas) en el mismo, siendo las instrucciones ejecutables por uno o más procesadores para realizar las operaciones descritas en la presente memoria. Para determinados aspectos, el producto de programa informático puede incluir material de empaquetado.
Los métodos descritos en la presente memoria comprenden una o más etapas para realizar el método descrito. Las etapas y/o acciones del método pueden intercambiarse entre sí sin desviarse del alcance de las reivindicaciones. En otras palabras, a menos que se especifique un orden específico de las etapas o acciones, el orden y/o el uso de etapas y/o acciones específicas puede modificarse sin desviarse del alcance de las reivindicaciones.
También se puede transmitir software o instrucciones a través de un medio de transmisión. Por ejemplo, si el software se transmite desde un sitio web, servidor u otra fuente remota que utiliza un cable coaxial, cable de fibra óptica, par trenzado, digital subscriber line (línea de abonado digital - DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces en la definición de medio de transmisión se incluyen el cable coaxial, cable de fibra óptica, par trenzado, DSL o tecnologías inalámbricas tales como infrarrojos, radio y microondas.
Además, debería apreciarse que los módulos y/u otros medios apropiados para realizar los métodos y las técnicas descritos en la presente memoria pueden descargarse y/u obtenerse de cualquier otra manera a través de un terminal de usuario y/o estación base según sea aplicable. Por ejemplo, un dispositivo de este tipo puede acoplarse a un servidor para facilitar la transferencia de medios para realizar los métodos descritos en la presente memoria. Alternativamente, se pueden proporcionar diversos métodos descritos en la presente memoria a través de medios de almacenamiento (p. ej., RAM, ROM, un medio de almacenamiento físico, tal como un compact disc (disco compacto -CD) o disco flexible, etc.), de manera que un terminal de usuario y/o una estación base puede obtener los diversos métodos tras acoplar o proporcionar el medio de almacenamiento al dispositivo. Además, puede utilizarse cualquier otra técnica adecuada para proporcionar los métodos y las técnicas descritos en la presente memoria a un dispositivo.
Se debe entender que las reivindicaciones no se limitan a la configuración y a los componentes específicos ilustrados anteriormente. Se pueden hacer diversas modificaciones, cambios y variaciones en la disposición, operación y detalles de los métodos y aparatos descritos anteriormente sin desviarse del alcance de las reivindicaciones.
Aunque lo anterior se dirige a los aspectos de la presente descripción, se pueden diseñar otros aspectos adicionales de la descripción sin desviarse del alcance básico de la misma, y el alcance de la misma está determinado por las siguientes reivindicaciones.

Claims (19)

REIVINDICACIONES
1. Una unidad (140) de acceso de red configurada para asignar capacidad de una red (160) a una pluralidad de flujos de tráfico generados por uno o más dispositivos (120) de cliente, comprendiendo la unidad de acceso de red:
una interfaz (250) de red configurada para proporcionar acceso al uno o más dispositivos (120) de cliente y la red;
un almacén de datos que incluye una pluralidad de políticas (240) de tráfico que definen parámetros de planificación de tráfico para una pluralidad de tipos de flujo de servicio;
un clasificador (225) de tráfico configurado para clasificar datos de la pluralidad de flujos de tráfico para asociar los datos con un tipo de flujo de servicio de la pluralidad de tipos de flujo de servicio; una pluralidad de colas (210, 260, 262, 264, 266, 268) de datos configuradas para almacenar datos clasificados por el clasificador de tráfico que aún no se han transmitido a través de la red; y un planificador (220) de tráfico configurado para planificar transmisión a través de la red de datos almacenados en la pluralidad de colas de datos en base a una capacidad actual de la red y un perfil (302a-e) de transmisión respectivo que correspondan al tipo de flujo de servicio determinado por el clasificador de tráfico,
en donde el planificador de tráfico está configurado para funcionar durante un ciclo de asignación de capacidad de red que comprende una pluralidad de subciclos, estando configurado el planificador de tráfico para proceder de forma iterativa a través de los subciclos para planificar datos para transmisión en respuesta a determinar que queda capacidad de red para el ciclo de asignación de capacidad de red, estando configurado el planificador de tráfico para esperar a un siguiente ciclo de asignación de capacidad de red en respuesta a determinar que no queda capacidad de red para el ciclo de asignación de capacidad de red.
2. La unidad de acceso de red de la reivindicación 1, en donde el tipo de flujo de servicio caracteriza datos transmitidos dentro de una conversación de red.
3. La unidad de acceso de red de la reivindicación 2, en donde el tipo de flujo de servicio caracteriza datos dentro de la conversación de red como por ráfagas, descarga de archivo de vídeo y/o voz sobre IP.
4. La unidad de acceso de red de cualquiera de las reivindicaciones 1-3, en donde cada cola de datos de la pluralidad de colas de datos está configurada para almacenar datos asociados a un dispositivo de cliente del uno o más dispositivos de cliente y a un tipo de flujo de servicio de la pluralidad de tipos de flujo de servicio.
5. La unidad de acceso de red de la reivindicación 4, en donde el planificador de tráfico está configurado además para planificar transmisión a través de la red en base al dispositivo de cliente asociada a los datos en la cola de datos en combinación con el tipo de flujo de servicio de los datos en la cola de datos.
6. La unidad de acceso de red de la reivindicación 4, en donde el planificador de tráfico está configurado además para planificar transmisión a través de la red basándose en una o más métricas de usuario asociadas a dispositivos de cliente.
7. La unidad de acceso de red de la reivindicación 6, en donde la una o más métricas de usuario incluyen información que indica una prioridad de un dispositivo de cliente particular en relación con otros dispositivos de cliente del uno o más dispositivos de cliente.
8. La unidad de acceso de red de cualquiera de las reivindicaciones 1-7, en donde el perfil de transmisión que corresponde al tipo de flujo de servicio es consultado por el planificador de tráfico para determinar una asignación de capacidad de red para subciclos individuales del ciclo de asignación.
9. La unidad de acceso de red de la reivindicación 8, en donde el perfil de transmisión define al menos tres subciclos de asignación de capacidad de red ordenados con un parámetro de asignación de capacidad de red para cada subciclo de asignación de capacidad de red definido.
10. La unidad de acceso de red de cualquiera de las reivindicaciones 1-9, en donde determinar que queda capacidad de red para el ciclo de asignación de capacidad de red se basa en subciclos de asignación anteriores del ciclo de asignación de capacidad de red.
11. La unidad de acceso de red de cualquiera de las reivindicaciones 1-10, en donde el planificador de tráfico está configurado para determinar asignaciones para un subciclo actual proporcionalmente a cantidades indicadas por los perfiles de transmisión en respuesta a la determinación de que no hay disponible suficiente capacidad de red en el ciclo de asignación de capacidad de red.
12. La unidad de acceso de red de cualquiera de las reivindicaciones 1-11, en donde un primer subciclo de asignación está configurado para asignar una velocidad de información comprometida para cada tipo de flujo de servicio en la pluralidad de colas de datos.
13. La unidad de acceso de red de la reivindicación 12, en donde un segundo subciclo de asignación está configurado para asignar una velocidad media de información para cada tipo de flujo de servicio en la pluralidad de colas de datos.
14. La unidad de acceso de red de la reivindicación 13, en donde un tercer subciclo de asignación está configurado para asignar una velocidad máxima de información para cada tipo de flujo de servicio en la pluralidad de colas de datos.
15. Un método para asignar capacidad de una red (160) a una pluralidad de flujos de tráfico generados por uno o más dispositivos (120) de cliente, comprendiendo el método:
proporcionar acceso, mediante una interfaz (250) de red, al uno o más dispositivos (120) de cliente y la red;
almacenar, mediante un almacén de datos, una pluralidad de políticas (240) de tráfico que definan parámetros de planificación de tráfico para una pluralidad de tipos de flujo de servicio; clasificar, mediante un clasificador (225) de tráfico, datos de la pluralidad de flujos de tráfico para asociar los datos a un tipo de flujo de servicio de la pluralidad de tipos de flujo de servicio; almacenar, mediante una pluralidad de colas (210, 260, 262, 264, 266, 268) de datos, datos clasificados por el clasificador de tráfico que aún no se han transmitido a través de la red; planificar, mediante un planificador (220) de tráfico, transmisión a través de la red de datos almacenados en la pluralidad de colas de datos en base a una capacidad actual de la red y un perfil (302a-e) de transmisión respectivo en correspondencia con el tipo de flujo de servicio determinado por el clasificador de tráfico, en donde el planificador de tráfico se configura para funcionar durante un ciclo de asignación de capacidad de red que comprende una pluralidad de subciclos;
en respuesta a determinar (725) que queda capacidad de red para el ciclo de asignación de capacidad de red, proceder de forma iterativa, mediante el planificador de tráfico, a través de los subciclos para planificar datos para transmisión; y
en respuesta a determinar que no queda capacidad de red para el ciclo de asignación de capacidad de red, esperar a un siguiente ciclo de asignación de capacidad de red.
16. El método de la reivindicación 15, que comprende además, para un subciclo de la pluralidad de subciclos, determinar (725, 805) una cantidad de capacidad de red que queda en el ciclo de asignación de capacidad de red.
17. El método de la reivindicación 15 o 16, que comprende además agregar (810) asignaciones de capacidad de red para los tipos de flujo de servicio en el subciclo en base a los perfiles de transmisión que correspondan a los tipos de flujo de servicio.
18. El método de cualquiera de las reivindicaciones 15-17, en donde determinar que queda capacidad de red para el subciclo de asignación de capacidad de red comprende determinar que la capacidad de red restante es mayor o igual que asignaciones definidas por los perfiles de transmisión que correspondan a los tipos de flujo de servicio.
19. El método de cualquiera de las reivindicaciones 15-18, que comprende además determinar (815, 820), mediante el planificador de tráfico, asignaciones para un subciclo actual proporcionalmente a cantidades indicadas por los perfiles de transmisión en respuesta a determinar que no existe suficiente capacidad de red disponible en el ciclo de asignación de capacidad de red.
ES20217530T 2016-02-19 2016-02-19 Métodos y sistemas para la asignación de capacidad de red multinivel Active ES2934610T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2016/018733 WO2017142560A1 (en) 2016-02-19 2016-02-19 Methods and systems for multi-level network capacity allocation
EP20217530.3A EP3866415B1 (en) 2016-02-19 2016-02-19 Methods and systems for multi-level network capacity allocation

Publications (1)

Publication Number Publication Date
ES2934610T3 true ES2934610T3 (es) 2023-02-23

Family

ID=55487142

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20217530T Active ES2934610T3 (es) 2016-02-19 2016-02-19 Métodos y sistemas para la asignación de capacidad de red multinivel
ES16708864T Active ES2860708T3 (es) 2016-02-19 2016-02-19 Métodos y sistemas para la asignación de capacidad de red multinivel

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES16708864T Active ES2860708T3 (es) 2016-02-19 2016-02-19 Métodos y sistemas para la asignación de capacidad de red multinivel

Country Status (4)

Country Link
US (2) US10855603B2 (es)
EP (2) EP3866415B1 (es)
ES (2) ES2934610T3 (es)
WO (1) WO2017142560A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11622278B2 (en) * 2019-03-20 2023-04-04 Arris Enterprises Llc Wireless access CBRS node and spectrum access system interface
US11290917B2 (en) 2020-05-07 2022-03-29 At&T Intellectual Property I, L.P. Apparatuses and methods for estimating throughput in accordance with quality of service prioritization and carrier aggregation to facilitate network resource dimensioning
US11463901B2 (en) 2020-05-07 2022-10-04 At&T Intellectual Property I, L.P. Apparatuses and methods to facilitate load-aware radio access network resource allocations
US11218888B2 (en) * 2020-05-07 2022-01-04 At&T Intellectual Property I, L.P. Apparatuses and methods for network resource dimensioning in accordance with differentiated quality of service

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768123A (en) * 1995-12-29 1998-06-16 At&T Corp System and method for capacity management in multi-service networks
US6404738B1 (en) * 1998-01-21 2002-06-11 Nec Usa, Inc. Dynamic network bandwidth allocation for multimedia applications with soft quality-of-service requirements
US6404735B1 (en) * 1998-04-30 2002-06-11 Nortel Networks Limited Methods and apparatus for distributed control of a multi-class network
US6594268B1 (en) * 1999-03-11 2003-07-15 Lucent Technologies Inc. Adaptive routing system and method for QOS packet networks
US20030152096A1 (en) * 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
ES2614751T3 (es) * 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
CN100505685C (zh) * 2005-08-09 2009-06-24 华为技术有限公司 通信网络中对网络地址/端口转换请求进行处理的方法
US20100287298A1 (en) * 2009-05-06 2010-11-11 Roundbox, Inc. Datacasting system with hierarchical delivery quality of service management capability
EP1942615A1 (en) * 2007-01-03 2008-07-09 British Telecommunications Public Limited Company Allocation of network resources
US9084276B2 (en) * 2009-09-11 2015-07-14 Aerovironment, Inc. Dynamic transmission control for a wireless network
US8660006B2 (en) * 2011-11-29 2014-02-25 Hughes Network Systems, Llc Method and system for traffic management and resource allocation on a shared access network
US8898295B2 (en) * 2012-03-21 2014-11-25 Microsoft Corporation Achieving endpoint isolation by fairly sharing bandwidth
US9246775B2 (en) * 2012-08-22 2016-01-26 Viasat, Inc. System, method and apparatus for filtering subscriber network traffic
US9733847B2 (en) * 2014-06-02 2017-08-15 Micron Technology, Inc. Systems and methods for transmitting packets in a scalable memory system protocol
US9674099B2 (en) * 2014-09-25 2017-06-06 Microsoft Technology Licensing, Llc Network classification for applications
US9641424B1 (en) * 2014-10-10 2017-05-02 Nomadix, Inc. Shaping outgoing traffic of network packets in a network management system
US10187711B2 (en) * 2015-08-07 2019-01-22 Comcast Cable Communications, Llc Time allocation for network transmission

Also Published As

Publication number Publication date
US11533262B2 (en) 2022-12-20
EP3417583A1 (en) 2018-12-26
US20210218680A1 (en) 2021-07-15
EP3417583B1 (en) 2020-12-30
EP3866415B1 (en) 2022-11-02
WO2017142560A1 (en) 2017-08-24
EP3866415A1 (en) 2021-08-18
ES2860708T3 (es) 2021-10-05
US10855603B2 (en) 2020-12-01
US20190075055A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
ES2934610T3 (es) Métodos y sistemas para la asignación de capacidad de red multinivel
US9942156B1 (en) Flow level dynamic load balancing
AU2015222811B2 (en) Dynamic allocation of network bandwidth
US8520522B1 (en) Transmit-buffer management for priority-based flow control
US9548872B2 (en) Reducing internal fabric congestion in leaf-spine switch fabric
US9705783B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
US8891543B1 (en) Method and system for processing packets in a network device
JP2017034678A5 (es)
BR112015022278B1 (pt) Método com base em rede para gestão de recurso de transmissão contínua adaptativa em uma rede wi-fi a cabo heterogênea e sistema de terminação de modem a cabo
JP5630443B2 (ja) 帯域制御装置、帯域制御方法、及び無線ネットワークシステム
KR20160041631A (ko) 서비스 품질 인지 라우팅 제어 장치 및 라우팅 제어 방법
US8305889B2 (en) Method for allocating a resource among consumers in proportion to configurable weights
Mustafa et al. The effect of queuing mechanisms first in first out (FIFO), priority queuing (PQ) and weighted fair queuing (WFQ) on network’s routers and applications
WO2015106795A1 (en) Methods and systems for selecting resources for data routing
Gaixas et al. Assuring QoS guarantees for heterogeneous services in RINA networks with ΔQ
Zhang et al. Aequitas: Admission control for performance-critical rpcs in datacenters
KR102137651B1 (ko) 서비스 플로우 기반 패킷 스케줄링 장치 및 방법
CN104348753B (zh) 数据包转发方法以及数据包转发装置
US20040064582A1 (en) Apparatus and method for enabling intserv quality of service using diffserv building blocks
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
WO2015106794A1 (en) Methods and systems for data routing
KR102519838B1 (ko) 데이터 융합 스위칭 장치 및 방법
JP2004056726A (ja) トラヒック量制御装置およびトラヒック量制御方法
Javid et al. QoS-Aware Congestion Control using SRv6
Lambhate et al. An Efficient Way to Reduce Energy Consumption and Delay using Multilevel Priority Packet Scheduling for WSN