BR112016028871B1 - APPARATUS AND METHOD FOR AN ADAPTIVE PERIODIC BANDWIDTH ALLOCATION APPROACH IN A SHARED BANDWIDTH COMMUNICATIONS SYSTEM - Google Patents

APPARATUS AND METHOD FOR AN ADAPTIVE PERIODIC BANDWIDTH ALLOCATION APPROACH IN A SHARED BANDWIDTH COMMUNICATIONS SYSTEM Download PDF

Info

Publication number
BR112016028871B1
BR112016028871B1 BR112016028871-8A BR112016028871A BR112016028871B1 BR 112016028871 B1 BR112016028871 B1 BR 112016028871B1 BR 112016028871 A BR112016028871 A BR 112016028871A BR 112016028871 B1 BR112016028871 B1 BR 112016028871B1
Authority
BR
Brazil
Prior art keywords
bandwidth
periodic
utilization
periodic bandwidth
terminal
Prior art date
Application number
BR112016028871-8A
Other languages
Portuguese (pt)
Other versions
BR112016028871A2 (en
Inventor
Erik Xu
Robert Torres
John Border
Szuyuan HUANG
Original Assignee
Hughes Network Systems, Llc
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 Hughes Network Systems, Llc filed Critical Hughes Network Systems, Llc
Priority claimed from PCT/US2015/024590 external-priority patent/WO2015157200A1/en
Publication of BR112016028871A2 publication Critical patent/BR112016028871A2/en
Publication of BR112016028871B1 publication Critical patent/BR112016028871B1/en

Links

Abstract

APARELHO E MÉTODO PARA UMA ABORDAGEM DE ALOCAÇÃO DE LARGURA DE BANDA PERIÓDICA ADAPTATIVA EM UM SISTEMA DE COMUNICAÇÕES DE LARGURA DE BANDA COMPARTILHADA Uma abordagem é fornecida para alocação de largura de banda em uma utilização por terminal e base por grupo de rota para dentro / rota para dentro, o que otimiza a utilização de largura de banda. É determinada uma utilização de largura de banda média agregada de uma pluralidade de terminais remotos através de um canal de comunicações sem fio. É determinada uma taxa máxima para alocações de largura de banda a cada dos terminais remotos para respectivas transmissões de dados sobre o canal. É determinada uma métrica de utilização que reflete uma utilização de largura de banda por um dos terminais remotos para transmissões de dados sobre o canal. É determinada uma taxa atualizada para alocações de largura de banda para um terminal com base na métrica de utilização para o terminal, uma utilização de largura de banda alvo e intervalo de tolerância para um terminal, e a taxa máxima para as alocações de dados para cada dos terminais remotos. A taxa atualizada para as alocações de largura de banda para um terminal é aplicada a (...).APPARATUS AND METHOD FOR AN ADAPTIVE PERIODIC BANDWIDTH ALLOCATION APPROACH IN A SHARED BANDWIDTH COMMUNICATIONS SYSTEM An approach is provided for allocating bandwidth on a per terminal usage and per route group basis. inside, which optimizes bandwidth utilization. An aggregate average bandwidth utilization of a plurality of remote terminals over a wireless communications channel is determined. A maximum rate is determined for bandwidth allocations to each of the remote terminals for respective data transmissions over the channel. A usage metric is determined that reflects bandwidth usage by one of the remote terminals for data transmissions over the channel. An updated rate for bandwidth allocations for an endpoint is determined based on the utilization metric for the endpoint, a target bandwidth utilization and tolerance range for an endpoint, and the maximum rate for data allocations for each from remote terminals. The updated rate for bandwidth allocations for an endpoint is applied to (...).

Description

FUNDAMENTOSFUNDAMENTALS

[001] As capacidades globais dos satélites de banda larga estão aumentando exponencialmente, e tais aumentos de capacidade apresentam desafios únicos no sistema terrestre associado e nos desenhos de rede. O objetivo dos projetistas de sistemas, operadores de sistemas e provedores de serviços é oferecer suporte e fornecer serviços eficientes, robustos, confiáveis e flexíveis, em um ambiente de rede de largura de banda compartilhada, utilizando sistemas de satélites de alta capacidade. Por exemplo, em uma rede com vários nós remotos (por exemplo, terminais remotos) utilizando largura de banda compartilhada para tentar enviar dados para a rede, qualidade de serviço (QoS) é necessária em cada enlace da rede em cada direção. Além disso, um mecanismo de alocação de largura de banda apropriado é necessário para atingir os requisitos de QoS para tráfego interativo e para otimizar a utilização de canal (por exemplo, para aumentar disponibilidade de largura de banda, enquanto diminui o desperdício de largura de banda). Na rede de satélites, por exemplo, suporte de tráfego de dados sensível a atraso através do enlace de retorno ou rota para dentro (o enlace a partir do terminal remoto de volta ao gateway) apresenta desafios significativos no gerenciamento de recursos de rede. Tais desafios são devidos a vários fatores, incluindo dificuldade em balancear desempenho de latência e eficiência de canal (por exemplo, utilização de largura de banda eficiente). O tráfego sensível a atraso ou latência de taxas de entrada variáveis (por exemplo, navegação na internet regular ou segura - como o protocolo de transferência de hipertexto (HTTP) e HTTP seguro (HTTPS)) é classificado tipicamente como uma classe interativa, que pode ser transmitida utilizando alocações de largura de banda baseadas pedidos em atraso (“backlog”) de prioridades periódicas e de alta prioridade. O tráfego de dados através de backhaul terrestre também é sensível à latência e exige largura de banda.[001] Global broadband satellite capabilities are increasing exponentially, and such capacity increases present unique challenges in associated Earth system and network designs. The objective of system designers, system operators and service providers is to support and provide efficient, robust, reliable and flexible services in a shared bandwidth network environment using high capacity satellite systems. For example, in a network with multiple remote nodes (e.g., remote terminals) using shared bandwidth to attempt to send data to the network, quality of service (QoS) is required on each network link in each direction. Furthermore, an appropriate bandwidth allocation mechanism is necessary to achieve QoS requirements for interactive traffic and to optimize channel utilization (e.g., to increase bandwidth availability while decreasing bandwidth waste). ). In the satellite network, for example, supporting delay-sensitive data traffic through the backlink or inbound route (the link from the remote terminal back to the gateway) presents significant challenges in managing network resources. Such challenges are due to several factors, including difficulty in balancing latency performance and channel efficiency (e.g., efficient bandwidth utilization). Delay- or latency-sensitive traffic of variable input rates (for example, regular or secure internet browsing - such as Hypertext Transfer Protocol (HTTP) and Secure HTTP (HTTPS)) is typically classified as an interactive class, which can be transmitted using bandwidth allocations based on periodic and high-priority backlog requests. Data traffic through terrestrial backhaul is also latency sensitive and bandwidth demanding.

[002] Além disso, certas condições podem estar presentes em um tal sistema, tais como: (1) a incidência de aplicações interativas que são mais sensíveis à latência (por exemplo, voz sobre Protocolo de Internet (VoIP) e navegação na internet, que refletem uma classe de aplicações que exigem rajadas de pequenas alocações de largura de banda quando ativamente transmitindo dados, (2) as aplicações interativas geralmente exigem mínimo ou nenhum atraso na transmissão de dados, exigindo assim largura de banda ser efetivamente disponível instantaneamente, (3) a incapacidade para aplicações interativas de se basear na largura de banda alocada em resposta a solicitações de largura de banda explícitas à medida que pacotes chegam para transmissão, (4) a dificuldade em identificar demandas de largura de banda de aplicações interativas com antecedência, devido à aleatoriedade inerente das operações de usuário em tais aplicações interativas; e (5) a incapacidade de fornecer alocação de largura de banda dedicada contínua para nós remotos.[002] Furthermore, certain conditions may be present in such a system, such as: (1) the incidence of interactive applications that are more sensitive to latency (e.g., voice over Internet Protocol (VoIP) and internet browsing, which reflect a class of applications that require bursts of small bandwidth allocations when actively transmitting data, (2) interactive applications generally require minimal or no delay in transmitting data, thus requiring bandwidth to be effectively available instantaneously, (3 ) the inability for interactive applications to rely on allocated bandwidth in response to explicit bandwidth requests as packets arrive for transmission, (4) the difficulty in identifying bandwidth demands of interactive applications in advance, due the inherent randomness of user operations in such interactive applications; and (5) the inability to provide continuous dedicated bandwidth allocation to remote nodes.

[003] Na presença de tais condições, torna-se um desafio satisfazer os critérios de requisitos de largura de banda para aplicações sensíveis à latência. Por exemplo, tais critérios podem incluir utilização de algoritmos de alocação de largura de banda baseados em solicitação ou abordagens para alocar largura de banda, ao mesmo tempo que satisfazem os requisitos de atraso para tráfego interativo, a provisão de largura de banda dedicada contínua a alguma taxa predefinida que satisfaz tais requisitos de atraso (por exemplo, tal seria ineficiente em termos de utilização de canais), e abordar mudanças dinâmicas em demandas de largura de banda de aplicação, e continuar a fazer alocações de largura de banda em uma forma que minimiza atraso de transmissão e aumenta utilização de canal. Além disso, tais critérios tornam-se ainda mais exigentes em uma rede de acesso de largura de banda compartilhada com atraso de propagação de viagem de ida e volta longa (por exemplo, uma rede de satélites). Por exemplo, em uma rede de satélites, suportar tráfego de dados sensível a atraso na direção de retorno de enlace (rota para dentro) apresenta maiores desafios no gerenciamento de recursos de rede, com base, por exemplo, em maiores dificuldades de balanceamento do desempenho de latência e utilização de canais (por exemplo, um balanceamento difícil apresenta ao mesmo ao tentar alocar largura de banda que prevê a chegada de tráfego sensível a atraso, sem subutilização significativa de recursos de rede).[003] In the presence of such conditions, it becomes a challenge to satisfy the bandwidth requirement criteria for latency-sensitive applications. For example, such criteria may include utilization of request-based bandwidth allocation algorithms or approaches for allocating bandwidth while satisfying delay requirements for interactive traffic, the provision of continuous dedicated bandwidth to some predefined rate that satisfies such delay requirements (e.g., such would be inefficient in terms of channel utilization), and address dynamic changes in application bandwidth demands, and continue to make bandwidth allocations in a way that minimizes transmission delay and increases channel utilization. Furthermore, such criteria become even more demanding in a shared bandwidth access network with long round-trip propagation delay (e.g., a satellite network). For example, in a satellite network, supporting delay-sensitive data traffic in the link return direction (inward route) presents greater challenges in managing network resources, based, for example, on greater performance balancing difficulties. of latency and channel utilization (for example, a difficult balancing act presents when trying to allocate bandwidth that predicts the arrival of delay-sensitive traffic without significant underutilization of network resources).

[004] Sistemas ou algoritmos de largura de banda sob demanda atuais (BOD) ou alocam largura de banda em uma base de necessidade na tentativa de obter uma eficiência de utilização de canal ou largura de banda ótima, mas sacrificando assim eficiência na satisfação dos requisitos de aplicações sensíveis a latência, ou alocam uma taxa pré- determinada de largura de banda na tentativa de alcançar eficiência na satisfação dos requisitos de aplicações sensíveis à latência, mas sacrificando assim eficiência de utilização de canal ou largura de banda ótima. Outros métodos atuais aplicam uma abordagem híbrida destes dois métodos anteriores, mas não alcançam um equilíbrio preditivo eficiente e satisfatório (por exemplo, com um algoritmo simples para fornecer largura de banda preditiva adicional para melhorar latência, enquanto liberando largura de banda desnecessária para melhorar eficiência de canal e utilização da largura de banda). Além disso, alguns métodos atuais podem aplicar uma abordagem de largura de banda periódica preditiva, mas não conseguem atender a todos os critérios de requisitos de largura de banda para aplicações sensíveis à latência (por exemplo, não conseguem otimizar latência e utilização de largura de banda tanto no enlace individual de um terminal quanto em sistemas amplos). Por exemplo, a fim de servir tráfego sensível à latência no canal de retorno (rota para dentro) nos sistemas atuais, antecipando a chegada do tráfego sensível ao atraso para terminais ativos, um gateway (GW) atribui uma largura de banda periódica constante a tais terminais acima de suas respectivas demandas. Embora isso possa servir para reduzir a latência de tráfego, no entanto, isso desperdiça largura de banda (por exemplo, quando um terminal está recebendo uma largura de banda periódica ativa, mas não tem um respectivo nível de dados (ou quaisquer dados) para enviar. Ainda, tal abordagem pode também limitar a taxa de transferência a curto prazo quando um terminal exibe uma rajada repentina de tráfego sensível ao atraso que excede a alocação periódica constante.[004] Current bandwidth-on-demand (BOD) systems or algorithms allocate bandwidth on an as-needed basis in an attempt to achieve optimal bandwidth or channel utilization efficiency, but thereby sacrificing efficiency in meeting requirements of latency-sensitive applications, or allocate a predetermined rate of bandwidth in an attempt to achieve efficiency in meeting the requirements of latency-sensitive applications, but thereby sacrificing channel utilization efficiency or optimal bandwidth. Other current methods apply a hybrid approach of these two previous methods, but do not achieve an efficient and satisfactory predictive balance (e.g., with a simple algorithm to provide additional predictive bandwidth to improve latency, while freeing up unnecessary bandwidth to improve efficiency). channel and bandwidth utilization). Furthermore, some current methods can apply a predictive periodic bandwidth approach, but cannot meet all criteria of bandwidth requirements for latency-sensitive applications (e.g., cannot optimize latency and bandwidth utilization both on the individual link of a terminal and in large systems). For example, in order to serve latency-sensitive traffic on the return channel (route in) in current systems by anticipating the arrival of delay-sensitive traffic to active endpoints, a gateway (GW) assigns a constant periodic bandwidth to such terminals above their respective demands. While this may serve to reduce traffic latency, however, it wastes bandwidth (e.g. when a terminal is receiving active periodic bandwidth but does not have a respective level of data (or any data) to send Furthermore, such an approach may also limit short-term throughput when a terminal experiences a sudden burst of delay-sensitive traffic that exceeds the constant periodic allocation.

[005] Um exemplo da aplicação de uma alocação de largura de banda periódica é com respeito a aplicações HTTPS. O tráfego HTTPS requer uma certa quantidade de largura de banda periódica para manter latência razoável. Por exemplo, em alguns casos, o tráfego HTTPS pode exigir uma largura de banda periódica de 20kbps a 32kbps, assistida por alocações de largura de banda baseadas pedidos em atraso (“backlog”), para fornecer desempenho de latência razoavelmente satisfatório. Mais especificamente, em uma rota para dentro com modulação de taxa QPSK 4/5, 9 intervalos de alocação de largura de banda periódica a cada 2 quadros forneceria aproximadamente 19,2 kbps, e 15 intervalos a cada 2 quadros forneceria aproximadamente 32kbps. Consequentemente, idealmente, requisitos de tráfego HTTPS de aplicações particulares devem ser capazes de serem satisfeitos por fornecer uma tal taxa periódica constante. Na realidade, no entanto, é difícil identificar as aplicações / terminais particulares que executam HTTPS, uma vez que os pacotes de dados são multiplexados na camada de enlace. Tipicamente, portanto, abordagens atuais alocam largura de banda periódica para todos os terminais ativos de modo a não degradar o desempenho desses terminais que executam transações HTTP seguras. A largura de banda periódica é então liberada quando a rede observa nenhuma atividade a partir do terminal por uma quantidade de tempo pré-configurada. À medida que o número de assinantes cresce, no entanto, o número de terminais ativos, o que forçaria uma redução das alocações de largura de banda periódicas para os terminais ativos e, assim, resulta em uma degradação do desempenho HTTPS nestes terminais efetivamente executando aplicações HTTPS. Por exemplo, se a alocação de largura de banda periódica for reduzida para 6 intervalos a cada 4 quadros ou 3 intervalos a cada 2 quadros (na taxa QPSK 4/5) somente uma taxa de 6,4 kbps é fornecida, o que seria insatisfatório para os terminais executando aplicações HTTPS. Além disso, para os terminais que não executam aplicações HTTPS, não é utilizada toda a largura de banda periódica atribuída, o que resulta em uma utilização baixa ineficiente da largura de banda de rota para dentro. Outras aplicações de alocação de largura de banda periódica incluem navegação na internet, jogos interativos, transmissão contínua interativa e serviços de taxa de bits constante adaptativa (CBR).[005] An example of the application of a periodic bandwidth allocation is with respect to HTTPS applications. HTTPS traffic requires a certain amount of periodic bandwidth to maintain reasonable latency. For example, in some cases, HTTPS traffic may require periodic bandwidth of 20kbps to 32kbps, assisted by backlog-based bandwidth allocations, to provide reasonably satisfactory latency performance. More specifically, on an inbound route with QPSK 4/5 rate modulation, 9 intervals of periodic bandwidth allocation every 2 frames would provide approximately 19.2 kbps, and 15 intervals every 2 frames would provide approximately 32kbps. Consequently, ideally, HTTPS traffic requirements of particular applications should be able to be satisfied by providing such a constant periodic rate. In reality, however, it is difficult to identify the particular applications/endpoints running HTTPS since the data packets are multiplexed at the link layer. Typically, therefore, current approaches allocate periodic bandwidth to all active endpoints so as not to degrade the performance of those endpoints executing secure HTTP transactions. Periodic bandwidth is then released when the network observes no activity from the endpoint for a pre-configured amount of time. As the number of subscribers grows, however, so does the number of active endpoints, which would force a reduction in periodic bandwidth allocations to the active endpoints and thus result in a degradation of HTTPS performance on those endpoints actually running applications. HTTPS. For example, if the periodic bandwidth allocation is reduced to 6 slots every 4 frames or 3 slots every 2 frames (at QPSK 4/5 rate) only a rate of 6.4 kbps is provided, which would be unsatisfactory. for endpoints running HTTPS applications. Additionally, for endpoints that do not run HTTPS applications, the full allocated periodic bandwidth is not used, resulting in inefficient low utilization of inbound route bandwidth. Other applications of periodic bandwidth allocation include internet browsing, interactive gaming, interactive streaming, and adaptive constant bitrate (CBR) services.

[006] O que é necessário é, portanto, um sistema e um método para resolver os desafios que fornecem um mecanismo de alocação de largura de banda adequado em um ambiente de rede de largura de banda compartilhada, que satisfazem requisitos de QoS para tráfego interativo, enquanto otimizando utilização de canal / largura de banda.[006] What is needed, therefore, is a system and a method for resolving the challenges that provide an adequate bandwidth allocation mechanism in a shared bandwidth network environment, that satisfy QoS requirements for interactive traffic , while optimizing channel/bandwidth utilization.

ALGUMAS MODALIDADES DE EXEMPLOSOME EXAMPLE MODALITIES

[007] A presente invenção visa vantajosamente os requisitos e necessidades precedentes, bem como outros, fornecendo uma abordagem de alocação de largura de banda (por exemplo, para um ambiente de rede de largura de banda compartilhada, tal como um sistema de satélite de largura de banda compartilhada) com base tanto na utilização por terminal e considerações de grupo de rota para dentro ou por rota para dentro, que satisfazem os requisitos de QoS para tráfego interativo, ao mesmo tempo otimizando utilização de canal / largura de banda.[007] The present invention advantageously addresses the foregoing requirements and needs, as well as others, by providing a bandwidth allocation approach (e.g., for a shared bandwidth network environment, such as a bandwidth satellite system). bandwidth) based on both per-endpoint utilization and route-in or per-route-in group considerations, which satisfy QoS requirements for interactive traffic while optimizing channel/bandwidth utilization.

[008] De acordo com exemplos de modalidade da presente invenção, é fornecido um método para abordagens de alocação de largura de banda. É determinada uma utilização de largura de banda média agregada de uma pluralidade de terminais remotos sobre um canal de um sistema de comunicações de dados sem fio. É determinada uma taxa máxima para alocações de largura de banda para cada dos terminais remotos para as respectivas transmissões de dados através do canal. É determinada uma métrica de utilização que reflete uma utilização de largura de banda por um dos terminais remotos para suas transmissões de dados através do canal. Uma taxa atualizada para alocações de largura de banda para o um terminal remoto é determinada com base na métrica de utilização determinada para o terminal, uma utilização de largura de banda alvo e respectivo intervalo de tolerância para o terminal, e a taxa máxima determinada para as alocações de dados para cada dos terminais remotos. A taxa atualizada para as alocações de largura de banda é aplicada ao terminal remoto para uma ou mais alocações de largura de banda subsequentes para um terminal remoto.[008] According to exemplary embodiments of the present invention, a method for bandwidth allocation approaches is provided. An aggregate average bandwidth utilization of a plurality of remote terminals over a channel of a wireless data communications system is determined. A maximum rate is determined for bandwidth allocations to each of the remote terminals for their respective data transmissions over the channel. A utilization metric is determined that reflects bandwidth usage by one of the remote terminals for its data transmissions over the channel. An updated rate for bandwidth allocations to a remote endpoint is determined based on the usage metric determined for the endpoint, a target bandwidth utilization and tolerance range for the endpoint, and the maximum rate determined for the endpoints. data allocations for each of the remote terminals. The updated rate for bandwidth allocations is applied to the remote endpoint for one or more subsequent bandwidth allocations to a remote endpoint.

[009] De acordo com outras modalidades de exemplo do método, o método opera dentro de um dos dois intervalos de frequência para as alocações de largura de banda para cada dos terminais remotos para respectivas transmissões de dados através do canal, e em que um primeiro Intervalo A dos Intervalos de taxa serve como um intervalo inferior e um segundo Intervalo B dos intervalos de taxa serve como um intervalo superior. Quando o método está operando dentro do Intervalo A, (1) a determinação da taxa atualizada para as alocações de largura de banda para um terminal remoto compreende determinar um índice de taxa de alocação atualizada com base na métrica de utilização determinada para o terminal, a utilização de largura de banda alvo e intervalo de tolerância respectivo para o terminal, e a taxa máxima determinada para as alocações de dados para cada dos terminais remotos e (2) a aplicação da taxa atualizada para uma ou mais alocações de largura de banda subsequentes para um terminal remoto compreende obter a taxa atualizada a partir de uma tabela de taxas predeterminada com base no índice de taxa de alocação atualizado. Quando o método está operando dentro no Intervalo B, (1) a determinação da taxa atualizada para as alocações de largura de banda para um terminal remoto compreende determinar uma variação de taxa relativa baseada na métrica de utilização determinada para o terminal, a utilização de largura de banda alvo e respectivo intervalo de tolerância para o terminal, e a taxa máxima determinada para as alocações de dados para cada dos terminais remotos, e (2) a aplicação da taxa atualizada para uma ou mais alocações de largura de banda subsequentes para um terminal remoto compreende aplicar a mudança de passo de taxa para uma taxa atual para as alocações de largura de banda para um terminal remoto.[009] According to other example embodiments of the method, the method operates within one of two frequency ranges for bandwidth allocations to each of the remote terminals for respective data transmissions over the channel, and wherein a first Range A of the Rate Ranges serves as a lower range, and a second Range B of the Rate Ranges serves as an upper range. When the method is operating within Range A, (1) determining the updated rate for bandwidth allocations to a remote terminal comprises determining an updated allocation rate index based on the utilization metric determined for the terminal, the target bandwidth utilization and respective tolerance interval for the endpoint, and the maximum rate determined for data allocations to each of the remote endpoints, and (2) applying the updated rate to one or more subsequent bandwidth allocations for a remote terminal comprises obtaining the updated rate from a predetermined rate table based on the updated allocation rate index. When the method is operating within Range B, (1) determining the updated rate for bandwidth allocations to a remote terminal comprises determining a relative rate variation based on the utilization metric determined for the terminal, the bandwidth utilization target bandwidth and respective tolerance interval for the endpoint, and the maximum rate determined for data allocations to each of the remote endpoints, and (2) applying the updated rate to one or more subsequent bandwidth allocations to an endpoint remote comprises applying the rate step change to a current rate for bandwidth allocations to a remote terminal.

[0010] De acordo com outras modalidades de exemplo do método, é determinado se foi atingido um ponto de transição para uma transição entre o Intervalo A e o Intervalo B. Quando se determina que o ponto de transição não foi atingido, a determinação (1) da taxa atualizada para as alocações de largura de banda para um terminal remoto, e a aplicação (2) da taxa atualizada para uma ou mais alocações de largura de banda subsequentes para um terminal remoto são realizadas como especificado na reivindicação 2 com base no intervalo dentro do qual o método está operando. Quando se determina que o ponto de transição foi atingido: (a) onde o método está operando dentro do Intervalo A, a operação do método é comutada do Intervalo A para o Intervalo B e a determinação (1) da taxa atualizada para as alocações de largura de banda para um terminal remoto, e a aplicação (2) da taxa atualizada para uma ou mais alocações de largura de banda subsequentes para um terminal remoto são realizadas como especificado na reivindicação 2 com base na operação dentro do Intervalo B; E (b) quando o método está operando dentro do Intervalo B, a operação do método é comutada do Intervalo B para o Intervalo A, e a determinação (1) da taxa atualizada para as alocações de largura de banda para um terminal remoto e a aplicação (2) da taxa atualizada para uma ou mais alocações de largura de banda subsequentes para um terminal remoto são realizadas como especificado na reivindicação 2 com base na operação dentro do Intervalo A.[0010] According to other example embodiments of the method, it is determined whether a transition point for a transition between Range A and Range B has been reached. When it is determined that the transition point has not been reached, the determination (1 ) of the updated rate for bandwidth allocations to a remote terminal, and applying (2) the updated rate to one or more subsequent bandwidth allocations to a remote terminal is carried out as specified in claim 2 based on the interval within which the method is operating. When it is determined that the transition point has been reached: (a) where the method is operating within Interval A, method operation is switched from Interval A to Interval B and the determination (1) of the updated rate for the allocations of bandwidth to a remote terminal, and applying (2) the updated rate to one or more subsequent bandwidth allocations to a remote terminal are performed as specified in claim 2 based on operation within Slot B; And (b) when the method is operating within Range B, operation of the method is switched from Range B to Range A, and the determination (1) of the updated rate for bandwidth allocations to a remote terminal and the Application (2) of the updated rate to one or more subsequent bandwidth allocations to a remote terminal are performed as specified in claim 2 based on operation within Slot A.

[0011] Ainda outros aspectos, características e vantagens da presente invenção são facilmente evidentes a partir da descrição detalhada que segue, simplesmente ilustrando um número de modalidades e implementações particulares, incluindo o melhor modo contemplado para a realização da presente invenção. A presente invenção é também capaz de outras e diferentes modalidades, e os seus vários detalhes podem ser modificados em vários aspectos óbvios, tudo sem se afastar do espírito e do âmbito da presente invenção. Consequentemente, o desenho e descrição devem ser considerados como ilustrativos por natureza, e não como restritivos.[0011] Still other aspects, features and advantages of the present invention are readily apparent from the detailed description that follows, simply illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the present invention. The present invention is also capable of other and different embodiments, and its various details may be modified in several obvious respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawing and description should be considered as illustrative in nature, and not as restrictive.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0012] A presente invenção é ilustrada a título de exemplo, e não a título de limitação, nas figuras dos desenhos anexos e em que números de referência semelhantes referem-se a elementos semelhantes e nos quais:[0012] The present invention is illustrated by way of example, and not by way of limitation, in the figures of the attached drawings and in which similar reference numbers refer to similar elements and in which:

[0013] As Figuras 1A, 1B e 1C ilustram sistemas de comunicações capazes de empregar abordagens, de acordo com exemplos de modalidade da presente invenção;[0013] Figures 1A, 1B and 1C illustrate communications systems capable of employing approaches, according to exemplary embodiments of the present invention;

[0014] A Figura 2 ilustra um fluxograma que representa um algoritmo de circuito interior para adaptação periódica de taxas para alocações de largura de banda (em uma base por terminal), de acordo com exemplos de modalidade da presente invenção;[0014] Figure 2 illustrates a flowchart representing an inner loop algorithm for periodically adapting rates for bandwidth allocations (on a per terminal basis), in accordance with exemplary embodiments of the present invention;

[0015] A Figura 3 ilustra um fluxograma que representa um algoritmo de circuito exterior para a adaptação periódica de taxas para alocações de largura de banda (em uma base por rota para dentro ou Grupo de Rota para dentro), de acordo com exemplos de modalidade da presente invenção; e[0015] Figure 3 illustrates a flowchart depicting an outer loop algorithm for periodically adapting rates for bandwidth allocations (on a per-route-in or Route-Group-in basis), in accordance with exemplary embodiments. of the present invention; It is

[0016] A Figura 4 ilustra um sistema de computador no qual podem ser implementadas modalidades de exemplo de acordo com a presente invenção.[0016] Figure 4 illustrates a computer system in which example embodiments in accordance with the present invention can be implemented.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0017] Uma abordagem de alocação de largura de banda (por exemplo, para um ambiente de rede de largura de banda compartilhada, tal como um sistema de satélite de largura de banda compartilhada), com base tanto na utilização por terminal e considerações por rota para dentro ou grupo de rota para dentro, que satisfazem requisitos de QoS para tráfego interativo, enquanto otimizando utilização de canal / largura de banda, é descrita. Na descrição que segue, para fins de explicação, são apresentados numerosos detalhes específicos de modo a fornecer uma compreensão completa da invenção. É evidente, no entanto, que a invenção pode ser praticada sem estes detalhes específicos ou com uma disposição equivalente. Noutros casos, estruturas e dispositivos bem conhecidos são mostrados em forma de diagrama de blocos de modo a evitar obscurecer desnecessariamente a invenção.[0017] A bandwidth allocation approach (e.g., for a shared-bandwidth network environment, such as a shared-bandwidth satellite system), based on both per-terminal utilization and per-route considerations inward or inward route group, which satisfy QoS requirements for interactive traffic, while optimizing channel/bandwidth utilization, is described. In the description that follows, for purposes of explanation, numerous specific details are presented in order to provide a complete understanding of the invention. It is clear, however, that the invention can be practiced without these specific details or with an equivalent arrangement. In other cases, well-known structures and devices are shown in block diagram form so as to avoid unnecessarily obscuring the invention.

[0018] Como será apreciado, um módulo ou componente (como referido aqui) pode ser composto de componente (s) de software, que é armazenado em uma memória ou outro meio de armazenamento legível por computador e executado por um ou mais processadores ou CPUs dos respectivos dispositivos. Contudo, como também será apreciado, um módulo pode, alternativamente, ser composto por componente (s) de hardware ou componente (s) de firmware, ou uma combinação de componentes de hardware, firmware e / ou software. Além disso, no que diz respeito às várias modalidades exemplificativas aqui descritas, enquanto certas das funções são descritas como sendo realizadas por certos componentes ou módulos (ou combinações destes), tais descrições são fornecidas como exemplos e não pretendem, deste modo, ser limitativas. Em conformidade, quaisquer dessas funções podem ser vistas como sendo realizadas por outros componentes ou módulos (ou combinações destes), sem se afastar do espírito e do âmbito geral da presente invenção. Além disso, os métodos, processos e abordagens aqui descritos podem ser implementados por processadores utilizando circuitos de processamento que podem compreender um ou mais microprocessadores, circuitos integrados de aplicação específicos específica (ASICs), conjuntos de portas de campos programáveis (FPGAs) ou outros dispositivos operáveis para serem configurados ou programados para implementar os sistemas e / ou métodos aqui descritos. Para implementação em tais dispositivos que são operáveis para executar instruções de software, os fluxogramas e métodos aqui descritos podem ser implementados em instruções de processador armazenadas em um meio legível por computador, tal como um software executável armazenado em um armazenamento de memória de computador.[0018] As will be appreciated, a module or component (as referred to herein) may be composed of software component(s), which is stored in a memory or other computer-readable storage medium and executed by one or more processors or CPUs of the respective devices. However, as will also be appreciated, a module may alternatively be comprised of hardware component(s) or firmware component(s), or a combination of hardware, firmware and/or software components. Furthermore, with respect to the various exemplary embodiments described herein, while certain of the functions are described as being performed by certain components or modules (or combinations thereof), such descriptions are provided as examples and are therefore not intended to be limiting. Accordingly, any of these functions can be viewed as being performed by other components or modules (or combinations thereof), without departing from the spirit and general scope of the present invention. Furthermore, the methods, processes, and approaches described herein may be implemented by processors utilizing processing circuits that may comprise one or more microprocessors, application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other devices. operable to be configured or programmed to implement the systems and/or methods described herein. For implementation in such devices that are operable to execute software instructions, the flowcharts and methods described herein may be implemented in processor instructions stored in a computer-readable medium, such as executable software stored in a computer memory store.

[0019] Além disso, terminologia referindo-se a meios de computador ou legíveis por computador tal como aqui utilizados refere-se a qualquer meio que participe no fornecimento de instruções ao processador de um computador ou módulo de processador ou componente para execução. Tal meio pode assumir muitas formas, incluindo mas não se limitando a meios não voláteis não transitórios e meios voláteis. Meios não voláteis incluem, por exemplo, meios de disco óptico, meios de disco magnético ou meios de disco elétrico (por exemplo, disco de estado sólido ou SDD). Os meios voláteis incluem memória dinâmica, como memória de acesso aleatório ou RAM. Formas comuns de meios legíveis por computador incluem, por exemplo, disco flexível ou disquete, disco rígido, fita magnética, qualquer outro meio magnético, CD-ROM, CDRW, DVD, qualquer outro meio óptico, memória de acesso aleatório (RAM), memória somente de leitura programável (PROM), PROM apagável, flash EPROM, qualquer outro chip de memória ou cartucho, ou qualquer outro meio a partir do qual um computador pode ler dados.[0019] Furthermore, terminology referring to computer or computer-readable media as used herein refers to any media that participates in providing instructions to the processor of a computer or processor module or component for execution. Such a medium can take many forms, including but not limited to non-volatile non-transient media and volatile media. Non-volatile media include, for example, optical disk media, magnetic disk media, or electrical disk media (e.g., solid state disk or SDD). Volatile media include dynamic memory such as random access memory or RAM. Common forms of computer-readable media include, for example, floppy or floppy disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, CDRW, DVD, any other optical medium, random access memory (RAM), memory programmable read-only (PROM), erasable PROM, flash EPROM, any other memory chip or cartridge, or any other medium from which a computer can read data.

[0020] As Figuras 1A a 1C ilustram sistemas de comunicações capazes de empregar uma abordagem de alocação de largura de banda (por exemplo, para um ambiente de rede de largura de banda compartilhada, tal como um sistema de satélite de largura de banda compartilhada) que satisfaz os requisitos de QoS para tráfego interativo, enquanto otimizando utilização de canal / largura de banda, de acordo com várias modalidades. Com referência à Figura 1A, um sistema de comunicações de banda larga 110 inclui um ou mais transmissores 112 (dos quais um é mostrado) que geram formas de onda de sinal para transmissão para um ou mais receptores 116 (dos quais um é mostrado). As formas de onda de sinal são transmitidas através de um canal de comunicações 114, o qual (por exemplo) pode compreender um canal de um sistema de comunicações terrestre sem fio ou de satélite. Neste sistema de comunicações discreto 110, o transmissor 112 tem uma fonte de sinal que produz um conjunto discreto de sinais de dados, em que cada dos sinais de dados é transmitido através de uma forma de onda de sinal correspondente. O conjunto discreto de sinais de dados pode primeiro ser codificado (por exemplo, através de um código de correção de erro direto) para combater o ruído e outras questões associadas ao canal 114. Uma vez codificados, os sinais codificados podem então ser modulados sobre uma portadora para transmissão através do canal 114. As formas de onda do sinal são atenuadas, ou de outra forma alteradas, pelo canal de comunicações 114.[0020] Figures 1A to 1C illustrate communications systems capable of employing a bandwidth allocation approach (e.g., for a shared bandwidth network environment, such as a shared bandwidth satellite system) which satisfies QoS requirements for interactive traffic, while optimizing channel/bandwidth utilization, according to various modalities. Referring to Figure 1A, a broadband communications system 110 includes one or more transmitters 112 (of which one is shown) that generate signal waveforms for transmission to one or more receivers 116 (of which one is shown). The signal waveforms are transmitted over a communications channel 114, which (for example) may comprise a channel of a terrestrial wireless or satellite communications system. In this discrete communications system 110, the transmitter 112 has a signal source that produces a discrete set of data signals, wherein each of the data signals is transmitted via a corresponding signal waveform. The discrete set of data signals may first be encoded (e.g., via a forward error correction code) to combat noise and other issues associated with channel 114. Once encoded, the encoded signals may then be modulated over a carrier for transmission over channel 114. The signal waveforms are attenuated, or otherwise altered, by communications channel 114.

[0021] A Figura 1B ilustra um exemplo de sistema de comunicações por satélite 130 capaz de suportar comunicações entre terminais com capacidades variadas, de acordo com exemplos de modalidade. O sistema de comunicações por satélite 130 inclui um satélite 132 que suporta comunicações entre vários terminais de satélite (STs) 134a-134n, um número de gateways (GWs) 138a-138n e um centro de operações de rede (NOC) 142. Os STs, GWs e NOC transmitem e recebem sinais através das antenas 136a-136n, 146a-146n e 156, respectivamente. De acordo com diferentes modalidades, o NOC 142 pode residir em um local separado acessível através de um canal de satélite separado ou pode residir dentro de um local de GW. O NOC 142 executa as funções de plano de gestão do sistema 130, enquanto os GWs 138a-138n executam as funções de plano de dados do sistema 130. Por exemplo, o NOC 142 executa funções tais como gestão e configuração de rede, descarregamentos de software (por exemplo, para os STs 134a-134n), monitoramento de estado, funções de estatística (por exemplo, coleção, agregação e relatório), funções de segurança (por exemplo, geração, gerenciamento e distribuição de chaves), registro e autenticação de ST, e gerenciamento de diversidade de GW. O NOC 142 comunica com cada GW através do satélite 132 ou através de uma rede de comunicações privada segura 152 (por exemplo, um túnel IPsec através de um enlace dedicado ou uma rede privada virtual (VPN) ou túnel IPsec através de uma rede pública, tal como a Internet). Deve ser notado que, de acordo com um exemplo de modalidade, as abordagens de classificação de tráfego das modalidades da presente invenção endereçam classificação de tráfego de dados fluindo através de um ponto ou nó de agregação. Além disso, cada GW e o NOC tem conectividade para uma ou mais redes de comunicações públicas, como a Internet ou uma PSTN.[0021] Figure 1B illustrates an example of a satellite communications system 130 capable of supporting communications between terminals with varying capabilities, according to exemplary embodiments. The satellite communications system 130 includes a satellite 132 that supports communications between multiple satellite terminals (STs) 134a-134n, a number of gateways (GWs) 138a-138n, and a network operations center (NOC) 142. The STs , GWs and NOC transmit and receive signals through antennas 136a-136n, 146a-146n and 156, respectively. According to different embodiments, the NOC 142 may reside in a separate location accessible via a separate satellite channel or may reside within a GW location. The NOC 142 performs the management plane functions of the system 130, while the GWs 138a-138n perform the data plane functions of the system 130. For example, the NOC 142 performs functions such as network management and configuration, software downloads, (e.g., for STs 134a-134n), state monitoring, statistical functions (e.g., collection, aggregation, and reporting), security functions (e.g., key generation, management, and distribution), logging and authentication ST, and GW diversity management. The NOC 142 communicates with each GW via the satellite 132 or via a secure private communications network 152 (e.g., an IPsec tunnel over a dedicated link or a virtual private network (VPN) or IPsec tunnel over a public network, such as the Internet). It should be noted that, according to one example embodiment, the traffic classification approaches of embodiments of the present invention address traffic classification of data flowing through an aggregation point or node. Additionally, each GW and the NOC has connectivity to one or more public communications networks, such as the Internet or a PSTN.

[0022] De acordo com uma outra modalidade exemplificativa, cada dos GWs 138a-138n inclui um ou mais gateways IP (IPGWs) - pelo que as funções de plano de dados são divididas entre um GW e os respectivos IPGWs. Por exemplo, GW 138a inclui IPGWs 148a (1) -148a (n) e GW 138n inclui IPGWs 148n (1) -148n (n). Um GW pode desempenhar funções como codificação e modulação de rota para fora de camada de enlace e camada física (por exemplo, codificação e modulação adaptativa de DVB-S2), manipulação de rota para dentro de camada de enlace e camada física (por exemplo, IPOS), alocação de largura de banda de rota para dentro e balanceamento de carga, priorização de rota para fora, aceleração de internet e compressão HTTP, controle de fluxo, criptografia, comutações de redundância, e cumprimento de política de restrição de tráfego. Assim, um gerente de rota para dentro ou gerente de grupo de rota para dentro (IGM) (não mostrado) pode estar localizado em cada dos gateways. O IGM pode ser configurado para controlar as alocações de largura de banda para os terminais remotos (por exemplo, em uma base de grupo de rota para dentro ou de rota para dentro) e para correspondentemente controlar e administrar as abordagens de alocação de largura de banda fornecidas de acordo com as modalidades exemplificativas da presente invenção. Além disso, como seria apreciado, em certas modalidades, o IGM pode ser implementado em uma forma distribuída, com um controlador principal no NOC 142, pelo que o NOC pode ser configurado para administrar controles de sistema amplo para tais abordagens de alocação de largura de banda, pelo que os controles baseados em rota para dentro seriam administrados para rotas para dentro / grupos de rota para dentro específicos pelo IGM no respectivo gateway que controla tais rotas para dentro / grupos de rota para dentro. Várias outras arquiteturas podem também ser fornecidas para satisfazer os respectivos objetivos e requisitos de projeto de sistemas diferentes.[0022] According to another exemplary embodiment, each of the GWs 138a-138n includes one or more IP gateways (IPGWs) - whereby data plane functions are divided between a GW and the respective IPGWs. For example, GW 138a includes IPGWs 148a(1)-148a(n) and GW 138n includes IPGWs 148n(1)-148n(n). A GW can perform functions such as route coding and modulation out of the link layer and physical layer (e.g. DVB-S2 adaptive coding and modulation), route handling into the link layer and physical layer (e.g. IPOS), route-in bandwidth allocation and load balancing, route-out prioritization, internet acceleration and HTTP compression, flow control, encryption, redundancy switches, and traffic restriction policy enforcement. Thus, an inward route manager or inward route group manager (IGM) (not shown) can be located at each of the gateways. The IGM can be configured to control bandwidth allocations to remote endpoints (e.g., on a route-in or route-in group basis) and to correspondingly control and manage bandwidth allocation approaches. provided in accordance with exemplary embodiments of the present invention. Furthermore, as would be appreciated, in certain embodiments, the IGM may be implemented in a distributed form, with a master controller in the NOC 142, whereby the NOC may be configured to administer system-wide controls for such bandwidth allocation approaches. band, whereby route-in based controls would be administered for specific routes-in/route-in groups by the IGM on the respective gateway that controls such routes-in/route-in groups. Various other architectures can also be provided to satisfy the respective objectives and design requirements of different systems.

[0023] O IPGW pode desempenhar funções tais como compressão de dados, melhorias de desempenho de TCP (por exemplo, proxies de melhoria de desempenho de TCP, tais como falsificação (“spoofing”) de TCP), funções de qualidade de serviço (por exemplo, classificação, priorização, diferenciação, detecção precoce aleatória, controle de fluxo de TCP / UDP), policiamento de uso de largura de banda, balanceamento de carga dinâmico, e roteamento. Além disso, um GW e respectivo IPGW podem ser colocalizados com o NOC 142. Os STs 134a-134n fornecem conectividade a um ou mais hospedeiros 144a-144n e / ou roteadores 154a-154n, respectivamente. O sistema de comunicações por satélite 130 pode funcionar como um sistema de tubo dobrado, onde o satélite opera essencialmente como um repetidor ou tubo dobrado. Alternativamente, o sistema 130 pode empregar um satélite de comutação ou processamento suportando comunicações de malha (comunicações ponto a ponto diretamente entre, por exemplo, os dois STs 134a e 134n).[0023] The IPGW can perform functions such as data compression, TCP performance improvements (e.g., TCP performance improvement proxies such as TCP spoofing), quality of service functions (e.g. example, classification, prioritization, differentiation, random early detection, TCP/UDP flow control), bandwidth usage policing, dynamic load balancing, and routing. Additionally, a GW and respective IPGW may be co-located with the NOC 142. The STs 134a-134n provide connectivity to one or more hosts 144a-144n and/or routers 154a-154n, respectively. The satellite communications system 130 may function as a bent tube system, where the satellite essentially operates as a repeater or bent tube. Alternatively, system 130 may employ a switching or processing satellite supporting mesh communications (point-to-point communications directly between, for example, the two STs 134a and 134n).

[0024] Em um sistema de tubo dobrado de uma modalidade de exemplo, o satélite 132 funciona como um repetidor ou tubo dobrado e as comunicações para e a partir dos STs 134a-134n são transmitidas através do satélite 132 para e de IPGWs respectivos associados com STs particulares. Além disso, em um sistema de feixe de ponto, qualquer feixe de ponto funciona como um tubo dobrado para a região geográfica coberta pelo feixe. Por exemplo, cada feixe de ponto funciona como um canal de comunicações de tubo dobrado para e de STs e / ou IPGW (s) dentro da região geográfica coberta pelo feixe. Consequentemente, as transmissões de sinal para o satélite são ou de um ST e destinadas a um gateway associado, ou de um gateway e destinadas a um ST associado. De acordo com uma modalidade, vários GWs / IPGWs são distribuídos através da região geográfica coberta por todos os feixes de ponto do satélite 132, onde, em um feixe no qual um GW (e respectivos IPGWs) é localizado, apenas o um GW (e nenhum ST) ocupa esse feixe. Além disso, cada IPGW pode servir como um nó de agregação para uma infinidade de nós remotos ou STs. O número total de GWs / IPGWs, e a distribuição geográfica dos GWs / IPGWs, depende de uma série de fatores, como a capacidade total do satélite dedicado para tráfego de dados, carregamento de tráfego geográfico do sistema (por exemplo, com base nas densidades populacionais e distribuição geográfica dos ST), locais dos centros de dados terrestres disponíveis (por exemplo, troncos de dados terrestres para acesso a redes dedicadas públicas e privadas).[0024] In a bent-tube system of an example embodiment, satellite 132 functions as a repeater or bent-tube and communications to and from STs 134a-134n are transmitted via satellite 132 to and from respective IPGWs associated with Private STs. Furthermore, in a spot beam system, any spot beam acts as a bent tube for the geographic region covered by the beam. For example, each spot beam functions as a bent-tube communications channel to and from STs and/or IPGW(s) within the geographic region covered by the beam. Consequently, signal transmissions to the satellite are either from an ST and destined for an associated gateway, or from a gateway and destined for an associated ST. According to one embodiment, multiple GWs/IPGWs are distributed across the geographic region covered by all spot beams of satellite 132, where, in a beam in which a GW (and respective IPGWs) is located, only the one GW (and no ST) occupies this beam. Additionally, each IPGW can serve as an aggregation node for a multitude of remote nodes or STs. The total number of GWs/IPGWs, and the geographic distribution of the GWs/IPGWs, depends on a number of factors, such as the total dedicated satellite capacity for data traffic, geographic traffic loading of the system (e.g., based on densities population and geographic distribution of STs), locations of available terrestrial data centers (e.g. terrestrial data trunks for access to public and private dedicated networks).

[0025] Mais especificamente, com referência à Figura 1C, por exemplo, para uma comunicação de dados a partir de ST 134a para uma rede de comunicações pública 158 (por exemplo, a Internet), o ST 134a está associado a um IPGW (por exemplo, IPGW 148a (1) - selecionado de um conjunto de IPGWs disponíveis para o ST 134a, tais como IPGWs 148a (1) -148a (5) - onde o conjunto de IPGWs é um subconjunto adequado dos IPGWs 148a (1) -148a (n) localizados no GW 138a). Os dados são primeiro transmitidos, através do satélite 132, a partir do ST 134a para o IPGW 148a (1) associado. O IPGW 148a (1) determina o destino como sendo a Internet 158. O IPGW então reembala os dados (por exemplo, como uma comunicação TCP / IP) e encaminha a comunicação de dados, através da enlace terrestre 164, para a Internet 158. Adicionalmente, em uma rede corporativa, por exemplo, uma corporação pode implantar vários STs remotos em escritórios remotos. Mais especificamente, ST 134n, localizado em uma localização corporativa remota, pode desejar comunicar com segurança com a sede corporativa 162. Consequentemente, para uma comunicação de dados a partir de ST 134n para a sede corporativa 162, os dados são primeiro transmitidos, através do satélite 132, a partir do ST 134n para um IPGW associado ao ST 134n (por exemplo, IPGW 148a (5)). O IPGW 148a (5) determina o destino como sendo a sede corporativa 162. O IPGW então reembala os dados (por exemplo, como uma comunicação IPsec) e encaminha a comunicação de dados IPsec, através dos enlaces terrestres seguros 166 (através da rede privada 152), para a sede corporativa 162. No cenário de rede corporativa, um outro exemplo envolve uma comunicação corporativa a partir da sede corporativa para um número de locais remotos (por exemplo, uma comunicação de multidifusão para STs 134a-134n) - onde STs 134a-134n são correspondentemente associados aos dois IPGWs 148a (1) e 148a (5) (por exemplo, agrupados entre os dois IPGWs com base no balanceamento de carga e capacidades de IPGW). Neste cenário, um gateway ou roteador, dentro da rede local da sede corporativa 162, transmite a comunicação de dados, através dos enlaces terrestres seguros 166 (através da rede privada 152), aos IPGWs 148a (1) e 148a (5). Os IPGWs determinam que a comunicação é destinada para os STs remotos 134a-134n, e empacotam os dados como uma comunicação de multidifusão dirigida à comunidade de STs 134a-134n. Os IPGWs transmitem então a comunicação de dados, através do satélite 132, para decodificação pela comunidade de STs 134a-134n. Consequentemente, o satélite de um tal sistema atua como um tubo dobrado ou repetidor, transmitindo comunicações entre os ST 134a-134n e os respectivos IPGWs associados 148a-148n.[0025] More specifically, with reference to Figure 1C, for example, for data communication from ST 134a to a public communications network 158 (e.g., the Internet), ST 134a is associated with an IPGW (e.g., example, IPGW 148a(1) - selected from a set of IPGWs available for the ST 134a, such as IPGWs 148a(1)-148a(5) - where the set of IPGWs is a suitable subset of IPGWs 148a(1)-148a (n) located in GW 138a). The data is first transmitted, via satellite 132, from the ST 134a to the associated IPGW 148a (1). The IPGW 148a (1) determines the destination to be the Internet 158. The IPGW then repackages the data (e.g., as a TCP/IP communication) and forwards the data communication, over the terrestrial link 164, to the Internet 158. Additionally, in a corporate network, for example, a corporation can deploy several remote STs in remote offices. More specifically, ST 134n, located at a remote corporate location, may wish to communicate securely with corporate headquarters 162. Accordingly, for data communication from ST 134n to corporate headquarters 162, data is first transmitted, via the satellite 132, from ST 134n to an IPGW associated with ST 134n (e.g., IPGW 148a (5)). The IPGW 148a(5) determines the destination to be the corporate headquarters 162. The IPGW then repackages the data (e.g., as an IPsec communication) and forwards the IPsec data communication over the secure terrestrial links 166 (through the private network 152), to the corporate headquarters 162. In the corporate network scenario, another example involves a corporate communication from the corporate headquarters to a number of remote locations (e.g., a multicast communication to STs 134a-134n) - where STs 134a-134n are correspondingly associated with the two IPGWs 148a (1) and 148a (5) (e.g., grouped between the two IPGWs based on load balancing and IPGW capabilities). In this scenario, a gateway or router, within the corporate headquarters local network 162, transmits data communication, via secure terrestrial links 166 (via private network 152), to the IPGWs 148a (1) and 148a (5). The IPGWs determine that the communication is intended for remote STs 134a-134n, and package the data as a multicast communication directed to the community of STs 134a-134n. The IPGWs then transmit the data communication via satellite 132 for decoding by the community of STs 134a-134n. Consequently, the satellite of such a system acts as a folded tube or repeater, transmitting communications between the ST 134a-134n and the respective associated IPGWs 148a-148n.

[0026] De acordo com exemplos de modalidade, é fornecida uma abordagem para alocar adaptativamente a largura de banda de canal de retorno (rota para dentro) para terminais remotos com base nos seus respectivos níveis de utilização. A título de exemplo, o Gerente de Grupo de Rota para dentro (IGM) pode ajustar adaptativamente a largura de banda alocada a um terminal com base na sua utilização de largura de banda. A título de exemplo adicional, definindo uma utilização alvo para cada terminal, o IGM monitora a utilização de largura de banda calculada, atribuindo mais intervalos quando a utilização é elevada e menos intervalos quando a utilização é baixa. Desta forma, tanto a eficiência de canal como o desempenho de latência são significativamente melhorados. Embora, na prática, possa ser suficiente fornecer um desempenho de latência satisfatório para HTTPS utilizando alocações de taxa de transferência de rota para dentro relativamente baixas, outras aplicações interativas exigiriam uma taxa de rota para dentro mais elevada. As modalidades da presente invenção, por conseguinte, fornecem abordagens que suportam tanto adaptações de taxa de rota para dentro periódicas baixas e elevadas. A título de exemplo, um conjunto de alocação de largura de banda indexado apropriado é predefinido, tal como através de uma tabela de alocação de largura de banda periódica (tabela PBA), cobrindo tráfego muito leve e desempenho de latência suficientemente satisfatório de HTTPS na rota para dentro. Adicionalmente, é fornecido um mecanismo de controle de taxa baseado em passo relativo para satisfazer a necessidade de requisitos de taxa de largura de banda de rota para dentro mais elevados. Além disso, um método de adaptação de taxa pode ser incluído para melhorar o HTTPS e latência interativa e utilização de largura de banda (eficiência de canal), ao mesmo tempo que mantém o uso geral da alocação periódica no nível de sistema.[0026] According to exemplary embodiments, an approach is provided for adaptively allocating return channel (route in) bandwidth to remote terminals based on their respective utilization levels. By way of example, the Inward Route Group Manager (IGM) can adaptively adjust the bandwidth allocated to an endpoint based on its bandwidth utilization. As an additional example, by defining a target usage for each terminal, the IGM monitors the calculated bandwidth usage, allocating more slots when usage is high and fewer slots when usage is low. In this way, both channel efficiency and latency performance are significantly improved. Although in practice it may be sufficient to provide satisfactory latency performance for HTTPS using relatively low route-in throughput allocations, other interactive applications would require a higher route-in throughput. Embodiments of the present invention therefore provide approaches that support both low and high periodic inward rate adaptations. By way of example, an appropriate indexed bandwidth allocation set is predefined, such as through a periodic bandwidth allocation table (PBA table), covering very light traffic and sufficiently satisfactory latency performance of HTTPS on the route inside. Additionally, a relative pitch-based rate control mechanism is provided to satisfy the need for higher inbound route bandwidth rate requirements. Additionally, a rate adaptation method can be included to improve HTTPS and interactive latency and bandwidth utilization (channel efficiency) while maintaining the overall use of periodic allocation at the system level.

[0027] Tais abordagens superam assim as desvantagens anteriores por adaptar adaptativamente a quantidade de largura de banda alocada periodicamente para um terminal com base na sua utilização. Por exemplo, mais largura de banda é atribuída a alguns terminais em relação a outros baseando previsões de necessidades futuras nas respectivas observações de utilização de largura de banda anteriores. Além disso, utilização de recurso de largura de banda é otimizada, por exemplo, por limitar dinamicamente a largura de banda disponível para tais alocações periódicas adaptativas, garantindo disponibilidade de largura de banda para outras aplicações, como aplicações insensíveis ao atraso. De acordo com isto, modalidades exemplificativas da presente invenção fornecem melhorias significativas em abordagens ou algoritmos de alocação de largura de banda por fornecer terminais remotos com largura de banda além da sua demanda atual, como uma função dinâmica de (uma) a respectiva utilização por um terminal desta largura de banda preditiva, e (b) o estado geral dos recursos de largura de banda disponíveis na rede. Além disso, modalidades de exemplo otimizam o desempenho de sistema em termos de latência e eficiência de utilização de canal / largura de banda, bem como implementação de equidade entre terminais com classes de tráfego heterogêneas.[0027] Such approaches thus overcome the previous disadvantages by adaptively adapting the amount of bandwidth allocated periodically to a terminal based on its usage. For example, more bandwidth is allocated to some endpoints relative to others by basing predictions of future needs on their observations of past bandwidth usage. Furthermore, bandwidth resource utilization is optimized, for example, by dynamically limiting the available bandwidth for such adaptive periodic allocations, ensuring bandwidth availability for other applications, such as delay-insensitive applications. Accordingly, exemplary embodiments of the present invention provide significant improvements in bandwidth allocation approaches or algorithms by providing remote terminals with bandwidth beyond their current demand, as a dynamic function of (a) respective utilization by a terminal of this predictive bandwidth, and (b) the general state of available bandwidth resources on the network. Furthermore, example embodiments optimize system performance in terms of latency and channel/bandwidth utilization efficiency, as well as implementing fairness between endpoints with heterogeneous traffic classes.

[0028] De acordo com exemplos de modalidades da presente invenção, uma abordagem para adaptação de taxa periódica para alocação de largura de banda compreende um circuito de controle de tráfego interior e um circuito de controle de tráfego exterior. De acordo com o circuito interior, largura de banda é atribuída a um terminal remoto com base no uso / utilização. Por conseguinte, o circuito interior endereça alocação / utilização de largura de banda em uma base por terminal. De acordo com o circuito exterior, a largura de banda total para as respectivas alocações periódicas é controlada para todos os terminais ativos de (por exemplo, todos os terminais ativos de um grupo de uma rota para dentro). Assim, o circuito exterior endereça alocação / utilização de largura de banda no agregado de todos os terminais. Além disso, o circuito exterior pode ser aplicado em qualquer base por rota para dentro ou uma base de nível por Grupo de Rota para Dentro. I. Controle de Taxa de Circuito Interior[0028] According to exemplary embodiments of the present invention, an approach for periodic rate adaptation for bandwidth allocation comprises an interior traffic control circuit and an exterior traffic control circuit. According to the inner circuit, bandwidth is allocated to a remote terminal based on usage/utilization. Therefore, the inner circuit addresses bandwidth allocation/utilization on a per-terminal basis. According to the outer circuit, the total bandwidth for the respective periodic allocations is controlled for all active terminals of (for example, all active terminals of a group of an inward route). Thus, the outer circuit addresses bandwidth allocation/utilization in the aggregate of all terminals. Additionally, the outer loop can be applied on either a per-route-in basis or a per-route-ingroup level basis. I. Inner Loop Rate Control

[0029] A Figura 2 ilustra um fluxograma que descreve um algoritmo de circuito interior para adaptação periódica de taxas de alocação de largura de banda (em uma base por terminal), de acordo com exemplos de modalidades da presente invenção. De acordo com essas modalidades exemplares, de acordo com o circuito interior, o IGM monitora a utilização de intervalo de um dado terminal por determinar uma utilização de volume ou intervalo médio deste terminal ao longo de um determinado período de tempo. Em seguida, com base em uma comparação da utilização média determinada contra uma utilização alvo predefinida, o IGM adaptativamente ajusta a largura de banda alocada para o terminal com base no uso de terminal real. Em outras palavras, se a utilização de largura de banda de um terminal é inferior a uma percentagem alvo de um limiar, então a largura de banda alocada ao terminal pode ser diminuída, e, se a utilização de largura de banda de um terminal é acima de um percentual alvo ou limiar então a largura de banda alocada para esse terminal pode ser aumentada. A este respeito, largura de banda adicional que não irá ser utilizada por um terminal não irá ser alocada a esse terminal, e o terminal não será sufocado para o ponto que o serviço de qualidade que pode ser obtido pelo terminal está abaixo de um nível desejado. A título de exemplo, a determinação de utilização pode ser efetuada em uma base periódica, a fim de adaptar dinamicamente a alocação de largura de banda e utilização de largura de banda com base nas necessidades de mudança de cada terminal. Por conseguinte, em conformidade com o circuito interior, a utilização de largura de banda é maximizada em uma base por terminal. A título de exemplo adicional, a alocação de largura de banda para um terminal específico, na medida do necessário, pode ser aumentada ou reduzida em uma base passo a passo, de modo a não aumentar desnecessariamente a alocação de largura de banda para um terminal além de um ponto através do qual o terminal vai atingir a utilização alvo, ou de modo a não diminuir desnecessariamente alocação de largura de banda para um terminal além de um ponto em que a qualidade de serviço que pode ser obtida pelo terminal é abaixo de um nível desejado.[0029] Figure 2 illustrates a flow chart describing an inner loop algorithm for periodically adapting bandwidth allocation rates (on a per terminal basis), in accordance with exemplary embodiments of the present invention. In accordance with these exemplary embodiments, in accordance with the inner loop, the IGM monitors the range utilization of a given terminal by determining an average volume or range utilization of this terminal over a given period of time. Then, based on a comparison of the determined average utilization against a predefined target utilization, the IGM adaptively adjusts the bandwidth allocated to the endpoint based on actual endpoint usage. In other words, if a terminal's bandwidth utilization is less than a target percentage of a threshold, then the bandwidth allocated to the terminal may be decreased, and if a terminal's bandwidth utilization is above of a target percentage or threshold then the bandwidth allocated to that terminal can be increased. In this regard, additional bandwidth that will not be used by a terminal will not be allocated to that terminal, and the terminal will not be throttled to the point that the quality service that can be obtained by the terminal is below a desired level. . By way of example, utilization determination can be performed on a periodic basis in order to dynamically adapt bandwidth allocation and bandwidth utilization based on the changing needs of each endpoint. Therefore, in accordance with the inner circuit, bandwidth utilization is maximized on a per-terminal basis. By way of further example, the bandwidth allocation for a specific terminal, as necessary, may be increased or reduced on a step-by-step basis so as not to unnecessarily increase the bandwidth allocation for a terminal beyond of a point through which the terminal will achieve target utilization, or so as not to unnecessarily decrease bandwidth allocation for a terminal beyond a point at which the quality of service that can be obtained by the terminal is below a level wanted.

[0030] De acordo com um exemplo de modalidade, o controle da taxa de circuito interior considera alocação de largura de banda adaptativa para um terminal individual com base em duas fases. Uma primeira fase para um intervalo de taxa baixo, na forma de M intervalos a cada N quadros (daqui em diante referido como "Intervalo A"), e uma segunda fase para um intervalo de taxa alto, na forma de M intervalos por cada quadro (a seguir referido como "Intervalo B"). A título de exemplo, quando um número relativamente elevado de terminais remotos estão ativos ou em serviço, a rede poderia operar no Intervalo A (redução de largura de banda por terminal para garantir que há capacidade suficiente para atender às necessidades de cada terminal), ao passo que, quando o número de terminais ativos é relativamente menor, a rede pode ser executada em Intervalo B, (uma maior alocação pode ser disponível para cada terminal, porque há menos terminais para servir). A. Intervalos A e B[0030] According to an example embodiment, the inner loop rate control considers adaptive bandwidth allocation for an individual terminal based on two phases. A first phase for a low rate interval, in the form of M intervals every N frames (hereinafter referred to as "Interval A"), and a second phase for a high rate interval, in the form of M intervals per each frame (hereinafter referred to as "Interval B"). By way of example, when a relatively large number of remote terminals are active or in service, the network could operate in Slot A (bandwidth reduction per terminal to ensure there is sufficient capacity to meet the needs of each terminal), while whereas, when the number of active terminals is relatively less, the network can run in Interval B, (a larger allocation can be available for each terminal, because there are fewer terminals to serve). A. Ranges A and B

[0031] De acordo com esta modalidade, uma tabela de Alocação de Largura de Banda Periódica é primeiramente definida ou predeterminada para o Intervalo A. A título de exemplo, a Tabela 1 reflete uma tal Tabela de Alocação de Largura de Banda Periódica predeterminada. De acordo com a tabela, a taxa de alcance para a tabela de Intervalo A é separada em uma série de passos de taxa através de todo o intervalo, e cada passo de taxa é atribuído um respectivo índice de alocação de largura de banda (mostrado primeiro na tabela). Cada índice de taxa está associado com uma taxa especificada como um número de intervalos atribuídos a um terminal ao longo de um respectivo número de quadros dentro de um determinado período, em que o período reflete o intervalo de tempo entre ajuste da taxa atribuída para um terminal. O índice é meramente usado para representar e associada a taxa de alocação predefinida para o respectivo terminal, onde a taxa de alocação está no formato de M intervalos a cada N quadros, denotado como "M / N". As próximas quatro colunas da tabela refletem exemplos de taxas de bits de informação alcançada com base na respectiva taxa de alocação e esquema de modulação e codificação aplicado ("modcod"), que são fornecidos como exemplos para fins de demonstração somente. A título de exemplo, quando configuradas no sistema, as taxas predeterminadas na tabela levariam em conta os esquemas de modcod aplicáveis, a fim de que as taxas acomodem a taxa de informação atual do respectivo terminal. Além disso, tanto o número de índice de taxa e o valor de "M / N" de cada entrada são fornecidos como exemplos, e, na prática, são sujeitos a uma configuração desejada. Tabela 1. Tabela de Alocação de Largura de Banda Periódica de Rota para dentro (Intervalo A) [0031] According to this embodiment, a Periodic Bandwidth Allocation table is first defined or predetermined for Interval A. By way of example, Table 1 reflects such a predetermined Periodic Bandwidth Allocation Table. According to the table, the range rate for Range A table is separated into a series of rate steps across the entire range, and each rate step is assigned a respective bandwidth allocation index (shown first in the table). Each rate index is associated with a rate specified as a number of intervals assigned to a terminal over a respective number of frames within a given period, where the period reflects the time interval between adjustment of the rate assigned to a terminal . The index is merely used to represent and associated with the predefined allocation rate for the respective terminal, where the allocation rate is in the format of M intervals every N frames, denoted as "M/N". The next four columns of the table reflect example information bitrates achieved based on the respective allocation rate and applied modulation and coding scheme ("modcod"), which are provided as examples for demonstration purposes only. By way of example, when configured in the system, the predetermined rates in the table would take into account the applicable modcod schemes, so that the rates accommodate the current information rate of the respective terminal. Furthermore, both the rate index number and the "M/N" value of each entry are provided as examples, and in practice are subject to a desired setting. Table 1. Route-in Periodic Bandwidth Allocation Table (Range A)

[0032] De acordo com outras modalidades, nos casos em que um terminal requer uma alocação de taxa ou intervalo mais constante (por exemplo, para informações ou aplicações sensíveis a tempo que exigem uma taxa de bits constante, tais como voz sobre IP), uma quantidade de largura de banda de sistema pode ser reservada para tais requisitos de taxa de bits constante ou de alta prioridade.[0032] According to other embodiments, in cases where a terminal requires a more constant rate or range allocation (e.g., for time-sensitive information or applications that require a constant bit rate, such as voice over IP), An amount of system bandwidth may be reserved for such high-priority or constant bitrate requirements.

[0033] Além disso, com referência à Tabela 1, o maior índice é 12, correspondendo a 8 intervalos a cada quadro. Por conseguinte, acima desta taxa, um número inteiro de intervalos em um único quadro podem ser atribuídos, em vez de vários quadros sem sobreposição do Intervalo A. De acordo com esta modalidade, portanto, Intervalo B pode ser definido como as taxas acima do índice máximo no Intervalo A, pelo que um tamanho de passo relativamente predeterminado seria definido para ajuste adicional de taxas além daqueles do Intervalo A. Por outras palavras, o tamanho de passo relativo (por exemplo, 5%) seria aplicado para incrementalmente ajustar a taxa de alocação de largura de banda (em uma base por terminal), para cada período de atualização. Um ajuste da taxa seria, assim, realizado através do aumento ou diminuição da taxa atual pelo tamanho de passo relativo, o que resultaria em uma nova taxa sob a forma de um número inteiro de intervalos por quadro. B. Utilização de Largura de Banda de Terminal[0033] Furthermore, with reference to Table 1, the largest index is 12, corresponding to 8 intervals each frame. Therefore, above this rate, an integer number of intervals in a single frame can be assigned, instead of multiple non-overlapping frames of Interval A. According to this embodiment, therefore, Interval B can be defined as the rates above the index maximum in Range A, whereby a relatively predetermined step size would be defined for further adjustment of rates beyond those in Range A. In other words, relative step size (e.g., 5%) would be applied to incrementally adjust the rate of bandwidth allocation (on a per endpoint basis), for each update period. A rate adjustment would thus be accomplished by increasing or decreasing the current rate by the relative step size, which would result in a new rate in the form of an integer number of steps per frame. B. Terminal Bandwidth Utilization

[0034] De acordo com esta modalidade, duas abordagens são fornecidas para a determinação da respectiva utilização de largura de banda de um terminal. Uma primeira abordagem baseia a determinação de utilização no uso de terminais de intervalos periodicamente alocados em cada quadro (Utilização de Intervalo), enquanto uma segunda abordagem baseia a determinação de utilização no uso de volume de terminal (por exemplo, em bytes) (Utilização de Volume). Utilização de intervalo tem como alvo uso periódico. Como alocações de largura de banda e tamanho de rajada aumentam, no entanto, a abordagem de utilização de intervalo diminui e precisão como todos os intervalos alocados são contados mesmo que nem todos sejam utilizados para tráfego sensível a atraso de alta prioridade. Em tais casos, utilização de volume fornece estimativa de uso mais precisa.[0034] According to this embodiment, two approaches are provided for determining the respective bandwidth utilization of a terminal. A first approach bases utilization determination on terminal usage of ranges periodically allocated in each frame (Range Utilization), while a second approach bases utilization determination on terminal volume usage (e.g., in bytes) (Range Utilization). Volume). Interval usage targets periodic usage. As bandwidth allocations and burst size increase, however, the slot utilization approach decreases the accuracy of how all allocated slots are counted even though not all are utilized for high-priority delay-sensitive traffic. In such cases, volume utilization provides more accurate usage estimation.

(1) Utilização de Intervalo(1) Range Usage

[0035] De acordo com a abordagem de utilização de intervalo, a utilização de intervalo é definida como uma relação do número de intervalos utilizados por um terminal durante um período configurado (por exemplo, medida em quadros) e o número de intervalos atribuídos ao terminal durante esse período. Por exemplo, o IGM pode determinar a utilização dos intervalos atribuídos examinando o uso de intervalo da respectiva rajada transmitida pelo terminal. Enquanto uma rajada atribuída transporta dados (de qualquer tipo de tráfego), os intervalos correspondentes dentro desta rajada são todos considerados como utilizados. O período configurado é referido como Período de Média. O período de média, por exemplo, deve cobrir, pelo menos, um tempo de ida e volta (RTT) de propagação de satélite (por exemplo, que, para um sistema geossíncrono, pode ser aproximadamente 600 a 700 ms), e deve ser definido em um máximo tal que o IGM pode ajustar dinamicamente a taxa de alocação para acomodar mudanças na utilização de terminal. Por exemplo, um valor padrão típico para o período médio pode ser 40 quadros.[0035] According to the slot utilization approach, slot utilization is defined as a ratio of the number of slots used by a terminal during a configured period (e.g., measured in frames) and the number of slots assigned to the terminal during this period. For example, the IGM may determine the utilization of assigned slots by examining the slot usage of the respective burst transmitted by the terminal. While an assigned burst carries data (of any traffic type), the corresponding slots within this burst are all considered to be used. The configured period is referred to as the Average Period. The averaging period, for example, must cover at least one satellite propagation round-trip time (RTT) (e.g., which, for a geosynchronous system, may be approximately 600 to 700 ms), and must be set to a maximum such that the IGM can dynamically adjust the allocation rate to accommodate changes in terminal utilization. For example, a typical default value for the average period might be 40 frames.

[0036] A título de exemplo, em que t representa o tempo (por exemplo, especificado como um ponto de quadro) e TAvg denota o período de média (por exemplo, especificado como um número de quadros), a utilização de intervalo média no tempo t (n(t)) pode ser determinada como segue (S201 da Figura 2): Nas equações (1) e (2) acima, Ak é o número de intervalos alocados para o quadro k (por Alocação Periódica), e Uk é o número de intervalos no quadro k sendo usados.[0036] By way of example, where t represents time (e.g., specified as a frame point) and TAvg denotes the averaging period (e.g., specified as a number of frames), the use of average interval in time t (n(t)) can be determined as follows (S201 of Figure 2): In equations (1) and (2) above, Ak is the number of slots allocated to frame k (by Periodic Allocation), and Uk is the number of slots in frame k being used.

[0037] Por exemplo, os intervalos alocados periodicamente podem ser colocados em conjunto com outras alocações (por exemplo, em uma base de pedidos em atraso (“backlog”) - onde um terminal está exibindo um elevado pedidos em atraso (“backlog”), uma largura de banda adicional pode ser atribuída a esse terminal para aliviar tais pedidos em atraso (“backlog”)). Quando a rajada esperada chega ao IGM, o número de intervalos usados nos dados de transporte pode ser maior. Para consistência, defina Uk = Ak se a rajada tiver o tipo de dados desejado (por exemplo, Interativo), caso contrário, Uk = 0 se a rajada não tiver esse tipo de dados. Uma maneira de determinar se a rajada tem o tipo desejado é olhar para a quantidade de bytes para um determinado tipo de prioridade. Por exemplo, se a quantidade de bytes para a prioridade 1 for diferente de zero, então Uk = Ak para o quadro k; Caso contrário, Uk = 0. Note a partir das equações acima, n (t) é obtido com base em uma janela deslizante TAvg. O valor inicial é definido como zero.[0037] For example, periodically allocated slots may be placed together with other allocations (e.g., on a backlog basis) - where a terminal is exhibiting a high backlog. , additional bandwidth may be assigned to that endpoint to alleviate such backlogs). When the expected burst arrives at the IGM, the number of intervals used in the transport data may be greater. For consistency, set Uk = Ak if the burst has the desired data type (e.g. Interactive), otherwise Uk = 0 if the burst does not have that data type. One way to determine whether the burst has the desired type is to look at the number of bytes for a given priority type. For example, if the number of bytes for priority 1 is non-zero, then Uk = Ak for frame k; Otherwise, Uk = 0. Note from the above equations, n(t) is obtained based on a sliding window TAvg. The initial value is set to zero.

(2) Utilização de Volume(2) Volume Usage

[0038] De acordo com a abordagem de utilização de volume, uma rajada recebida no IGM contém o volume de dados (em bytes) para cada nível de prioridade de tráfego de dados, que pode servir como base para derivar uma medição da utilização de volume. Consequentemente, uma vez que o volume utilizado indicado por rajada representa todos os intervalos alocados neste quadro por alocação periódica, alocação baseada em pedidos em atraso e outras alocações, pode ser utilizada uma contagem de todos os intervalos relevantes no cálculo da utilização de volume.[0038] According to the volume utilization approach, a burst received at the IGM contains the data volume (in bytes) for each data traffic priority level, which can serve as the basis for deriving a volume utilization measurement . Consequently, since the used volume indicated by burst represents all slots allocated in this table by periodic allocation, backlog-based allocation, and other allocations, a count of all relevant slots can be used in calculating volume utilization.

[0039] A título de exemplo, onde t representa tempo (por exemplo, especificado como um ponto de quadro) e TAvg representa o período de média (por exemplo, especificado como um número de quadros), a utilização de volume média no tempo (n(t)) Pode ser determinada como segue (S211 da figura 2): [0039] By way of example, where t represents time (e.g., specified as a frame point) and TAvg represents the averaging period (e.g., specified as a number of frames), the time-averaged volume utilization ( n(t)) It can be determined as follows (S211 of figure 2):

[0040] Nas equações (3) e (4) acima, Valloc,k é a largura de banda alocada no quadro k para o tipo de tráfego desejado (onde, por exemplo, o tráfego sensível à latência pode ser classificado como Interativo) em bytes (convertido a partir de intervalos com base na taxa de código), e Vrecv,k é o volume recebido em bytes (incluindo sobrecarga) para este tipo de tráfego na rajada no quadro k. Além disso, além das alocações de largura de banda periódicas, Valloc,k pode incluir outras alocações, como alocações baseadas pedidos em atraso (“backlog”) e outras alocações de largura de banda. Além disso, Vrecv,k pode ainda considerar a sobrecarga, por exemplo, [0040] In equations (3) and (4) above, Valloc,k is the bandwidth allocated in frame k for the desired traffic type (where, for example, latency-sensitive traffic can be classified as Interactive) in bytes (converted from ranges based on code rate), and Vrecv,k is the received volume in bytes (including overhead) for this type of traffic in the burst in frame k. Furthermore, in addition to periodic bandwidth allocations, Valloc,k may include other allocations, such as backlog-based allocations and other bandwidth allocations. Furthermore, Vrecv,k can also consider overhead, e.g.

C. Adaptação de TaxaC. Rate Adaptation

[0041] De acordo com a presente modalidade, a adaptação de taxa para o terminal refere-se ao processo pelo qual o IGM aloca adaptativamente a largura de banda para um terminal com base na utilização de largura de banda de terminal, pelo que as alocações podem ser modificadas em uma base periódica para endereçar alterações na utilização de largura de banda de terminal ao longo do tempo. Como discutido acima, a abordagem de alocação de largura de banda adaptativa da presente modalidade aplica alocação de largura de banda com base em dois intervalos de taxas para alocação de largura de banda - (1) Intervalo A (um intervalo de taxas relativamente mais baixas), que se baseia em uma tabela de passos de taxa aplicáveis para alocação de largura de banda dentro do intervalo total de taxas (ver, por exemplo, Tabela 1), e exibe tamanhos de passos menores e predefinidos; e (2) Intervalo B (um intervalo de taxas relativamente mais altas, acima da taxa mais alta do Intervalo A), que é baseado em um tamanho de passo configurável e potencialmente maior. (1) Circuito Interior em Intervalo A[0041] According to the present embodiment, rate adaptation for the terminal refers to the process by which the IGM adaptively allocates bandwidth to a terminal based on terminal bandwidth utilization, whereby the allocations can be modified on a periodic basis to address changes in terminal bandwidth utilization over time. As discussed above, the adaptive bandwidth allocation approach of the present embodiment applies bandwidth allocation based on two rate ranges for bandwidth allocation - (1) Range A (a range of relatively lower rates) , which is based on a table of applicable rate steps for bandwidth allocation within the total rate range (see, for example, Table 1), and displays smaller, predefined step sizes; and (2) Interval B (a range of relatively higher rates, above the highest rate of Interval A), which is based on a configurable and potentially larger step size. (1) Inner Circuit in Interval A

[0042] De acordo com esta modalidade, proporciona- se um algoritmo para taxas periódicas adaptativas para alocação de largura de banda, em relação às taxas dentro do Intervalo inferior A, em uma base por terminal (a Adaptação de Taxa de Circuito Interior para Intervalo A) como segue. Neste algoritmo, ntar reflete a utilização alvo para um terminal, e θ reflete um respectivo intervalo de tolerância. O número de índice atual a partir da tabela de taxas de alocação de largura de banda é denotado como i, onde 1 < i < Imax e Imax < max (conjunto de itens) , onde Imax é o índice da taxa periódica máxima para um terminal (onde esta taxa periódica máximo, em um dado tempo, pode ser uma taxa menor do que a taxa máxima da tabela de taxa de alocação - isso pode ser devido ao fato que o circuito exterior restringiu a taxa máxima permitida para qualquer terminal dentro do grupo de rota para dentro (por exemplo, com base na disponibilidade de largura de banda total). Na Tabela 1, o máximo (conjunto de itens) = 12. O índice máximo e mínimo do conjunto de itens é denotado como Iupper e Ilower. Assim, na Tabela 1, Iupper = 12 e Ilower = 1. Basicamente, Iupper representa o tamanho da tabela e é o limite superior de Imax. Um período de atualização configurável é definido, que é denotado como Tupdate. Por exemplo, o valor padrão para Tupdate pode ser definido em 12 quadros. O algoritmo de adaptação de taxa pode ser expresso como segue (S203 da Figura 2), onde n (t) representa a utilização de intervalo ou de volume (determinada como fornecido acima para o terminal k no tempo ou ponto de quadro t) e Ik(t) representa o novo índice (a ser aplicado para o terminal k até expiração do próximo período de atualização). Quando t é um múltiplo de Tupdate (quando t está em um ponto onde o período de Tupdate passou), isto é, Mod (t, T update) = 0, [0042] In accordance with this embodiment, an algorithm is provided for adaptive periodic rates for bandwidth allocation, relative to rates within Lower Range A, on a per terminal basis (the Inner Circuit Rate Adaptation for Range A). A) as follows. In this algorithm, ntar reflects the target utilization for a terminal, and θ reflects a respective tolerance range. The current index number from the bandwidth allocation rate table is denoted as i, where 1 < i < Imax and Imax < max (itemset), where Imax is the index of the maximum periodic rate for an endpoint (where this maximum periodic rate, at a given time, may be a lower rate than the maximum rate in the allocation rate table - this may be due to the fact that the outer circuit has restricted the maximum rate allowed for any terminal within the group route inward (e.g., based on total bandwidth availability). In Table 1, the maximum (itemset) = 12. The maximum and minimum index of the itemset is denoted as Iupper and Ilower. Thus , in Table 1, Iupper = 12 and Ilower = 1. Basically, Iupper represents the size of the table and is the upper limit of Imax. A configurable update period is defined, which is denoted as Tupdate. For example, the default value for Tupdate can be set to 12 frames. The rate adaptation algorithm can be expressed as follows (S203 of Figure 2), where n(t) represents the interval or volume utilization (determined as given above for terminal k at time or frame point t) and Ik(t) represents the new index (to be applied to terminal k until expiration of the next update period). When t is a multiple of Tupdate (when t is at a point where the period of Tupdate has passed), that is, Mod(t, T update) = 0,

[0043] Em outras palavras, para cada equação (6), quando a utilização atual é mais elevada do que a utilização alvo mais a tolerância superior (o terminal está utilizando mais largura de banda do que a alocação / tolerância alvo), a taxa para alocações para o terminal deve ser aumentada para a situar dentro do intervalo da utilização alvo mais a tolerância (S209 / S219 da Figura 2). Nesse caso, o índice é aumentado dentro da tabela por um passo, mas não mais alto que o índice permitido máximo. Do mesmo modo, para a equação (7), quando a utilização atual é inferior à utilização alvo menos a tolerância inferior (o terminal está utilizando menos largura de banda do que a alocação / tolerância alvo), a taxa para alocações para o terminal deve ser diminuída para a situar dentro do intervalo da utilização alvo menos a tolerância (S209 / S219 da Figura 2). Neste caso, o índice é diminuído por um passo, mas não inferior ao índice 1. De acordo com a equação (8), quando a utilização atual está dentro do intervalo do alvo mais / menos a tolerância superior / tolerância inferior, a taxa para alocações para o terminal deve permanecer inalterada (S209 / S219 da Figura 2).[0043] In other words, for each equation (6), when the current utilization is higher than the target utilization plus upper tolerance (the terminal is using more bandwidth than the target allocation/tolerance), the rate for allocations to the terminal should be increased to bring it within the target usage range plus tolerance (S209 / S219 of Figure 2). In this case, the index is increased within the table by one step, but not higher than the maximum allowed index. Similarly, for equation (7), when the current utilization is less than the target utilization minus the lower tolerance (the terminal is using less bandwidth than the target allocation/tolerance), the rate for allocations to the terminal should be decreased to bring it within the range of target use minus tolerance (S209 / S219 of Figure 2). In this case, the index is decreased by one step, but not less than index 1. According to equation (8), when the current utilization is within the target range plus/minus the upper tolerance/lower tolerance, the rate for allocations for the terminal must remain unchanged (S209/S219 of Figure 2).

[0044] A título de exemplo, o valor padrão para a utilização alvejada pode ser definido como ntar = 90% (0,90), e os valores padrão para o intervalo de tolerância superior e inferior podem ser definidos como θupper = θlower = 5% (0,05) (Note que θlower e θupper podem ter valores diferentes). A taxa inicial de Ik(t) pode ser definida como 20kbps (na Tabela 1, para t = 1, Ik(1) = 9). A título de exemplo adicional, o Imax pode ser configurado menor que max(conjunto de itens) de modo que quando um grande número de terminais aparece, a taxa máxima de rota para dentro torna-se menor, acomodando mais usuários. A determinação de Imax é discutida abaixo, por exemplo, com respeito ao processo de adaptação de alocação de largura de banda de circuito exterior. (2) Circuito Interior em Intervalo B[0044] By way of example, the default value for targeted usage can be set to ntar = 90% (0.90), and the default values for the upper and lower tolerance range can be set to θupper = θlower = 5 % (0.05) (Note that θlower and θupper may have different values). The initial rate of Ik(t) can be set to 20kbps (in Table 1, for t = 1, Ik(1) = 9). By way of further example, Imax can be set smaller than max(itemset) so that when a large number of terminals appear, the maximum route-in rate becomes smaller, accommodating more users. The determination of Imax is discussed below, for example, with respect to the outer circuit bandwidth allocation adaptation process. (2) Inner Circuit in Interval B

[0045] De acordo com esta modalidade, proporciona- se um algoritmo para taxas periódicas adaptativas para alocação de largura de banda, em relação às taxas dentro do Intervalo superior B, em uma base por terminal (a Adaptação de Circuito Interior para Intervalo B) como segue. No Intervalo B, por aplicar um tamanho de passo relativo, a taxa pode ser ajustada por aumentar ou diminuir o tamanho de passo relativo, obtendo uma nova taxa, no formato de um número inteiro de intervalos por quadro. O algoritmo de adaptação de taxa pode ser expresso como segue (S213 da Figura 2). Para este algoritmo: Nslot,upper e Nslot,lower (em intervalos por quadro) são definidos como os limites superior e inferior configuráveis para a taxa de alocações dentro do Intervalo B, e Nslot,max é o número máximo de intervalos por quadro que pode ser atribuído a um terminal, onde Nslot,lower < Nslot,max < Nslot,upper. A título de exemplo, Nslot,max pode ser determinado em tempo de execução pelo processo de circuito exterior (discutido abaixo). Além disso, Δinner denota o tamanho de passo relativo do circuito interior, Nslot(k) denota o número adaptado de intervalos por quadro para ser definido em período de atualização k, e Tupdate novamente reflete o período de atualização configurável. Quando t é um múltiplo de Tupdate (quando t está em um ponto onde o período de Tupdate passou), isto é, [0045] In accordance with this embodiment, an algorithm is provided for adaptive periodic rates for bandwidth allocation, relative to rates within Upper Range B, on a per terminal basis (the Inner Circuit Adaptation for Range B). as follows. In Interval B, by applying a relative step size, the rate can be adjusted by increasing or decreasing the relative step size, obtaining a new rate, in the format of an integer number of intervals per frame. The rate adaptation algorithm can be expressed as follows (S213 of Figure 2). For this algorithm: Nslot,upper and Nslot,lower (in slots per frame) are defined as the configurable upper and lower bounds for the rate of allocations within Slot B, and Nslot,max is the maximum number of slots per frame that can be assigned to a terminal, where Nslot,lower < Nslot,max < Nslot,upper. By way of example, Nslot,max can be determined at runtime by the outer loop process (discussed below). Furthermore, Δinner denotes the relative step size of the inner circuit, Nslot(k) denotes the adapted number of slots per frame to be set in update period k, and Tupdate again reflects the configurable update period. When t is a multiple of Tupdate (when t is at a point where the period of Tupdate has passed), i.e.

[0046] Em outras palavras, para cada equação (9), quando a utilização atual é superior à utilização alvo mais a tolerância superior (o terminal está utilizando mais largura de banda do que a alocação / tolerância alvo), a taxa de alocações para o terminal deve ser aumentada de forma a situá-la dentro do intervalo da utilização alvo mais a tolerância. Nesse caso, a taxa de intervalos alocados por quadro é aumentada pelo tamanho de passo relativo, mas não superior do que o máximo de intervalos permitidos por quadro. De modo semelhante, para a equação (10), quando a utilização atual é inferior à utilização alvo menos a tolerância inferior (o terminal está utilizando menos largura de banda do que a alocação / tolerância alvo), a taxa de alocações para o terminal deve ser diminuída de forma a situá-la dentro do intervalo da utilização alvo menos a tolerância. Nesse caso, a taxa de intervalos alocados por quadro é diminuída pelo tamanho de passo relativo, mas não inferior aos mínimos intervalos permitidos por quadro. De acordo com a equação (11), quando a utilização atual está dentro do intervalo do alvo mais / menos a tolerância superior / tolerância inferior, a taxa para alocações ao terminal deve permanecer inalterada.[0046] In other words, for each equation (9), when the current utilization is greater than the target utilization plus upper tolerance (the terminal is using more bandwidth than the target allocation/tolerance), the rate of allocations to the terminal must be increased to bring it within the target usage range plus tolerance. In this case, the rate of slots allocated per frame is increased by the relative step size, but not greater than the maximum slots allowed per frame. Similarly, for equation (10), when the current utilization is less than the target utilization minus the lower tolerance (the terminal is using less bandwidth than the target allocation/tolerance), the rate of allocations for the terminal should be reduced to place it within the range of target use minus tolerance. In this case, the rate of slots allocated per frame is decreased by the relative step size, but not less than the minimum slots allowed per frame. According to equation (11), when the current utilization is within the target range plus/minus the upper tolerance/lower tolerance, the rate for allocations to the terminal should remain unchanged.

[0047] A título de exemplo, o valor de Nslot,inferior é definido como a taxa máxima na tabela de adaptação (Tabela 1) de modo que a transição entre as adaptações baseadas em tabelas e baseadas em passos seja perfeitamente suave. Se necessário, a utilização alvo, intervalo de tolerância e o tamanho de passo podem ser definidos na base de terminal, o que pode ser determinado pelos tipos de serviço e terminal. Como será apreciado, em geral, se a utilização alvo for baixa e o tamanho de passo ascendente for grande, então o desempenho de atraso pode ser melhor.[0047] By way of example, the lower Nslot value is set to the maximum rate in the adaptation table (Table 1) so that the transition between table-based and step-based adaptations is perfectly smooth. If necessary, target utilization, tolerance interval and step size can be defined on a terminal basis, which can be determined by service and terminal types. As will be appreciated, in general, if the target utilization is low and the upward step size is large, then delay performance may be better.

[0048] A título de exemplo adicional, para um terminal de nível de consumidor (em oposição a um terminal de nível de negócio) executando HTTP ou HTTPS, o tráfego é atrasado e tolerante a oscilação, pelo que a utilização alvo pode ser definida mais alta. Para um terminal de nível de negócio rodando tráfego sensível ao atraso, como backhaul terrestre para VOIPs ou transmissão contínua de vídeo interativa, a utilização alvo e tamanho de passo devem ser adequadamente definidos para atender o atraso e oscilação alvos. A relação entre a latência, utilização e tamanho de passo pode ser explorada mais adiante considerando características de tráfego e atrasos de circuito. Além disso, para os terminais empresariais sujeitos a um limite de grupo (por exemplo, um grupo de terminais com um plural de terminais que subscrevem uma taxa máxima), a taxa máxima permitida por terminal pode ser controlada de tal modo que a taxa de transferência de todo o grupo de terminais é limitada. Podemos adicionar um fator de escalonamento para atender a esse requisito.[0048] By way of further example, for a consumer-grade endpoint (as opposed to a business-grade endpoint) running HTTP or HTTPS, traffic is delayed and jitter-tolerant, so target usage can be defined further. high. For a business-grade terminal running delay-sensitive traffic, such as terrestrial backhaul for VOIPs or interactive video streaming, the target utilization and step size must be appropriately defined to meet the target delay and jitter. The relationship between latency, utilization and step size can be explored further by considering traffic characteristics and circuit delays. Additionally, for enterprise terminals subject to a group limit (e.g., a group of terminals with a plurality of terminals that subscribe to a maximum rate), the maximum rate allowed per terminal may be controlled such that the throughput of the entire group of terminals is limited. We can add a scaling factor to meet this requirement.

[0049] De acordo com outras modalidades, porque os parâmetros de utilização, intervalo de tolerância e tamanho de passo são configuráveis, três conjuntos dos mesmos parâmetros podem ser definidos para acomodar necessidades diferentes, dadas como sensíveis ao atraso, não sensíveis ao atraso e tipos gerais. Um terminal pode ser atribuído um conjunto em tempo de execução sujeito ao tipo de terminal e requisitos de QoS. Além disso, para suportar os serviços convergentes (incluindo consumidor e empresas), o algoritmo de controle de taxa acima pode ser assim: ntar, θupper, θlower podem indicar a utilização e tolerâncias superior e inferior, e Δinner,up e Δinner,down denotam os tamanhos de passo ascendente e descendente relativos do circuito interior. Um conjunto de parâmetros de três tuplas (ntar, Δinner,up, Δinner,down) é configurado, que pode caber requisitos de QoS sensíveis ao atraso, não sensíveis ao atraso e de terminal gerais. Os três conjuntos de parâmetros podem ser pré- configurados com base na avaliação do desempenho de latência e taxa de transferência. Além disso, Nslot(k) é o número de intervalos por quadro no período de atualização k, e F(t) é o fator de escalonamento aplicável a cada terminal no tempo t. Quando o tempo t (em quadros) é um múltiplo de Tupdate, ou seja, Mod(t, Tupdate) = 0 e Nslot,lower < Nslot (k) — Nslot ,max (k) [0049] According to other embodiments, because the usage parameters, tolerance range, and step size are configurable, three sets of the same parameters can be defined to accommodate different needs, given as delay-sensitive, delay-insensitive, and types general. An endpoint can be assigned a set at runtime subject to the endpoint type and QoS requirements. Furthermore, to support converged services (including consumer and enterprise), the above rate control algorithm can be like this: ntar, θupper , θlower can indicate the upper and lower utilization and tolerances, and Δinner,up and Δinner,down denote the relative upward and downward step sizes of the inner circuit. A set of three-tuple parameters (ntar, Δinner,up, Δinner,down) are configured, which can fit delay-sensitive, non-delay-sensitive, and general terminal QoS requirements. The three sets of parameters can be pre-configured based on evaluation of latency and throughput performance. Furthermore, Nslot(k) is the number of slots per frame in update period k, and F(t) is the scaling factor applicable to each terminal at time t. When time t (in frames) is a multiple of Tupdate, that is, Mod(t, Tupdate) = 0 and Nslot,lower < Nslot (k) — Nslot ,max (k)

[0050] A título de exemplo, o valor de Nslot,inferior é definido como a taxa máxima na tabela de adaptação (Tabela 1) de modo que a transição entre as adaptações baseadas em tabelas e baseadas em passos seja perfeitamente suave. A título de exemplo adicional, F pode ser variável no tempo ou configurável - onde, se F for configurável, então o valor padrão pode ser F = 1. (3) Transição entre Intervalos A e B[0050] By way of example, the lower Nslot value is set to the maximum rate in the adaptation table (Table 1) so that the transition between table-based and step-based adaptations is perfectly smooth. By way of further example, F can be time-varying or configurable - where, if F is configurable, then the default value can be F = 1. (3) Transition between Intervals A and B

[0051] Para assegurar a transição suave entre os Intervalos A e B, a taxa mais baixa no Intervalo A deve ser ajustada da mesma maneira que a taxa mais alta no Intervalo B, isto é, Nslot,inferior = Taxa de (Iupper), onde a Taxa de (Iupper) na Tabela 1 deve ser um inteiro. Quando Nslot,inferior no Intervalo B ou Iupper no Intervalo A é atingido (S205 / S207 / S215 / S217 da Figura 2): (1) se a direção estiver para cima, então Esquema de Adaptação B é utilizado; (2) se a direção estiver para baixo, então Esquema de Adaptação A é utilizado; (3) Caso contrário, a taxa atribuída é inalterada. De acordo com outras modalidades, qualquer dos Intervalos A ou B pode ser desativado. Por exemplo, para desabilitar o Intervalo de adaptação B, Nslot,upper = Nslot,lower = Taxa de (Iupper) pode ser definido na configuração, e para desabilitar o Intervalo de adaptação A, todos os itens na Tabela 1 podem ser definidos como Nslot,inferior. Consequentemente, por configurar os itens na Tabela 1, e Nslot,lower e Nslot,upper, a taxa de rota para dentro pode ser ajustada adaptativamente em uma vasto intervalo. II. Controle de taxa de circuito exterior[0051] To ensure smooth transition between Ranges A and B, the lowest rate in Range A must be adjusted in the same way as the highest rate in Range B, i.e., Nslot,lower = Rate (Iupper), where Rate (Iupper) in Table 1 must be an integer. When Nslot,lower in Interval B or Iupper in Interval A is reached (S205 / S207 / S215 / S217 of Figure 2): (1) if the direction is up, then Adaptation Scheme B is used; (2) if the direction is down, then Adaptation Scheme A is used; (3) Otherwise, the assigned rate is unchanged. According to other embodiments, either Range A or B may be deactivated. For example, to disable Adaptation Range B, Nslot,upper = Nslot,lower = Rate (Iupper) can be set in the configuration, and to disable Adaptation Range A, all items in Table 1 can be set to Nslot ,bottom. Consequently, by configuring the items in Table 1, and Nslot,lower and Nslot,upper, the inward route rate can be adjusted adaptively over a wide range. II. Outer Circuit Rate Control

[0052] A Figura 3 ilustra um fluxograma que representa um algoritmo de circuito exterior para a adaptação periódica de taxas para alocações de largura de banda (em uma base por rota para dentro ou de Grupo de Rota para dentro), de acordo com modalidades exemplificativas da presente invenção. De acordo com estas modalidades de exemplo, de acordo com o mecanismo de controle de taxa de circuito exterior, é determinada uma taxa máxima aplicável a todos os terminais em uma rota para dentro ou Grupo de Rota para dentro para Alocação Periódica. O IGM mantém o uso de largura de banda geral de periódico em comparação com o total de recursos de rota para dentro disponíveis com base em um alvo predefinido. De acordo com modalidades exemplificativas, a seguinte abordagem para o controle de taxa adaptativo de circuito exterior para alocação de largura de banda é aplicável quer na base por rota para dentro uma base por Grupo de Rota para dentro.[0052] Figure 3 illustrates a flowchart depicting an outer loop algorithm for periodically adapting rates for bandwidth allocations (on a per-route-in or Route-Group-in basis), in accordance with exemplary embodiments. of the present invention. In accordance with these example embodiments, in accordance with the outer circuit rate control mechanism, a maximum rate applicable to all terminals in an inward route or inward Route Group is determined for Periodic Allocation. IGM maintains overall periodic bandwidth usage against the total available route-in resources based on a predefined target. According to exemplary embodiments, the following approach to outer circuit adaptive rate control for bandwidth allocation is applicable on either a per route inward basis or a per Route Group inward basis.

[0053] A título de exemplo, quando a rede é congestionada, a largura de banda atribuída à alocação periódica deve ser limitada de tal modo que algumas rajadas de grande volume possam ser transmitidas a uma velocidade mais rápida através de alocação sob demanda. Isto pode ser conseguido também através de um mecanismo de controle que tenta cumprir uma meta que é predefinida para a porção de utilização de alocação periódica. A porção de utilização periódica é definida como a relação de intervalos totais em um período atribuído para periódico e o total de intervalos disponíveis (no total de rota para dentro) neste período. Se a porção global da alocação periódica for maior do que o alvo predefinido, o limite superior da taxa adaptativa é reduzido até o limite inferior ser atingido; Caso contrário, é aumentado até o limite superior ser atingido. Se a porção de utilização estiver dentro do intervalo de tolerância do alvo, o limite superior mantém-se intacto.[0053] By way of example, when the network is congested, the bandwidth allocated to periodic allocation should be limited such that some large volume bursts can be transmitted at a faster speed through on-demand allocation. This can also be achieved through a control mechanism that attempts to meet a target that is predefined for the periodic allocation usage portion. The periodic usage portion is defined as the ratio of total intervals in a period assigned to periodic and the total available intervals (in route total) in that period. If the overall portion of the periodic allocation is greater than the predefined target, the upper limit of the adaptive rate is reduced until the lower limit is reached; Otherwise, it is increased until the upper limit is reached. If the usage portion is within the target tolerance range, the upper limit remains intact.

[0054] De acordo com esta modalidade, é fornecido um algoritmo para alocação de largura de banda adaptativa, com respeito às taxas em uma base por rota para dentro ou Grupo de Rota para dentro (a Adaptação da Taxa de Circuito Exterior) como segue. De acordo com este algoritmo, Uperiodic(t) denota o uso ou a porção utilizada da alocação periódica sobre toda a largura de banda disponível (intervalos de rota para dentro por quadro sobre a rota para dentro ou Grupo de Rota para dentro), excluindo atribuições para CBR(VOIP) no tempo t (especificado em quadros). Além disso, TPAVG denota o período de média (em quadros) para a porção de uso da alocação periódica, e TPAVG(t) denota o uso médio durante o período de média TPAVG, calculado no tempo t (quadros). Por exemplo, o valor padrão para TPAVG também pode ser definido como 40 quadros. Neste contexto, a utilização / uso médio no tempo t, UPAVG(t), é determinado como segue (S301 da Figura 3): [0054] In accordance with this embodiment, an algorithm for adaptive bandwidth allocation is provided, with respect to rates on a per-route-in or Route-in-Group basis (the Outer Circuit Rate Adaptation) as follows. According to this algorithm, Uperiodic(t) denotes the usage or utilized portion of the periodic allocation over all available bandwidth (route-in intervals per frame over the route-in or Route-in Group), excluding assignments to CBR(VOIP) at time t (specified in frames). Additionally, TPAVG denotes the averaging period (in frames) for the usage portion of the periodic allocation, and TPAVG(t) denotes the average usage during the TPAVG averaging period, calculated at time t (frames). For example, the default value for TPAVG can also be set to 40 frames. In this context, the average usage/usage at time t, UPAVG(t), is determined as follows (S301 of Figure 3):

[0055] Consequentemente, o mecanismo de controle de taxa de Circuito exterior é fornecido para atingir este alvo. De acordo com esta modalidade, novamente a adaptação é aplicada sobre os intervalos A e B. A este respeito, para o Intervalo A, é determinado um limite de taxa superior para aplicação como a taxa máxima que pode ser aplicada em uma base por terminal de acordo com a tabela de taxa de alocação para o Intervalo A (por exemplo, Tabela 1), como representado pelo índice de tabela. Além disso, para o Intervalo B, é determinado um limite de taxa superior para aplicação como a taxa máxima (em número de intervalos por quadro) que pode ser atribuída a um terminal particular, de acordo com uma alocação de Intervalo B. O objetivo do circuito exterior é ajustar o limite de taxa superior, seja no Intervalo A ou no Intervalo B, com base no uso de intervalo global na rota para dentro ou grupo de Rota para dentro. A. Circuito exterior no Intervalo A[0055] Accordingly, Outer Circuit rate control mechanism is provided to achieve this target. According to this embodiment, again adaptation is applied over ranges A and B. In this regard, for Range A, an upper rate limit for application is determined as the maximum rate that can be applied on a per terminal basis. according to the allocation rate table for Range A (for example, Table 1), as represented by the table index. Additionally, for Slot B, an upper rate limit is determined for application as the maximum rate (in number of slots per frame) that can be assigned to a particular terminal, according to a Slot B allocation. Outer circuit is to adjust the upper rate limit, either in Slot A or Slot B, based on the global range usage in the Inward Route or Inward Route group. A. Outer circuit in Interval A

[0056] Para o algoritmo de circuito exterior de Intervalo A da presente modalidade, Utar denota o alvo de alocação periódica para o grupo de rota para dentro ou Rota para dentro, e δlower e δupper respectivamente refletem as tolerâncias inferior e superior para a alocação / utilização alvo. Além disso, como discutido acima, UPAVG(t) reflete a utilização / uso médio no tempo t. Além disso, Imax (novamente) denota o índice de taxa periódica máxima (por exemplo, que é limitado pela taxa máxima na tabela de índice, ou seja, Imax < item máximo na tabela de índice)) . Imax é atualizado com base no uso periódico geral. Além disso, como com o processo de circuito interior de terminal, Tp_update denota o período de atualização para o limite de taxa para alocação periódica. Da mesma forma, o valor padrão pode ser Tp update = 12 quadros. Neste contexto, o algoritmo de circuito exterior de Intervalo A é fornecido como segue (S303 da figura 3). Quando o tempo t (em quadros) é um múltiplo de Tp_update, ou seja, Mod(t, Tp_update) = 0, [0056] For the Interval A outer loop algorithm of the present embodiment, Utar denotes the periodic allocation target for the route-in or Route-in group, and δlower and δupper respectively reflect the lower and upper tolerances for the allocation/ target use. Furthermore, as discussed above, UPAVG(t) reflects the average utilization/usage at time t. Furthermore, Imax (again) denotes the maximum periodic rate index (e.g. which is limited by the maximum rate in the index table, i.e. Imax < maximum item in the index table)). Imax is updated based on general periodic usage. Additionally, as with the terminal inner loop process, Tp_update denotes the update period for the rate limit for periodic allocation. Similarly, the default value might be Tp update = 12 frames. In this context, the Slot A outer loop algorithm is provided as follows (S303 of Figure 3). When time t (in frames) is a multiple of Tp_update, i.e. Mod(t, Tp_update) = 0,

[0057] Em outras palavras, para cada equação (17), quando a alocação atual é maior do que a alocação alvo mais a tolerância superior (a alocação atual é maior que a alocação / tolerância alvo), a taxa máxima para alocações por terminal deve ser reduzida para trazer a alocação total dentro do intervalo da alocação alvo mais a tolerância (S309 / S317 da Figura 3). Nesse caso, a taxa máxima para alocações por terminal (refletida pelo índice de tabela) é diminuída um passo a partir da máxima anterior, mas não inferior ao índice mínimo da tabela. Da mesma forma, para a equação (18), quando a alocação atual é menor do que a alocação alvo menos a tolerância inferior (a alocação atual é menor do que a alocação / tolerância alvo), a taxa máxima para alocações por terminal deve ser aumentada para trazer a alocação total dentro do intervalo da alocação alvo menos a tolerância (S309 / S317 da Figura 3). Nesse caso, a taxa máxima para alocações por terminal (refletida pelo índice de tabela) é aumentada um passo a partir da máxima anterior, mas não superior ao índice máximo da tabela. De acordo com a equação (11), quando a alocação atual está dentro do intervalo do alvo mais / menos a tolerância superior / tolerância inferior, a taxa máxima para alocações por terminal deve permanecer inalterada (S309 / S317 da Figura 3).[0057] In other words, for each equation (17), when the current allocation is greater than the target allocation plus upper tolerance (the current allocation is greater than the target allocation/tolerance), the maximum rate for allocations per terminal must be reduced to bring the total allocation within the range of the target allocation plus tolerance (S309 / S317 of Figure 3). In this case, the maximum rate for allocations per endpoint (reflected by the table index) is decreased one step from the previous maximum, but not lower than the minimum table index. Similarly, for equation (18), when the current allocation is less than the target allocation minus the lower tolerance (the current allocation is less than the target allocation/tolerance), the maximum rate for allocations per terminal should be increased to bring the total allocation within the target allocation range minus tolerance (S309/S317 of Figure 3). In this case, the maximum rate for allocations per endpoint (reflected by the table index) is increased one step from the previous maximum, but not higher than the maximum table index. According to equation (11), when the current allocation is within the target range plus/minus the upper tolerance/lower tolerance, the maximum rate for allocations per endpoint should remain unchanged (S309/S317 of Figure 3).

[0058] A título de exemplo, o índice Imax(t) mantém- se intacto durante o intervalo entre dois tempos de atualização. O valor padrão para a utilização alvejada é configurável e pode ser definido, por exemplo, como Utar= 55% (0,55). A título de exemplo adicional, os valores padrão para a tolerância superior e inferior podem ser definidos, por exemplo, como δlower = δupper = 5% (0,05). (nota que podem ter valores diferentes). Além disso, o valor inicial de Imax pode ser ajustado como sendo igual a Iupper. B. Circuito exterior no Intervalo B[0058] By way of example, the Imax(t) index remains intact during the interval between two update times. The default value for targeted utilization is configurable and can be set, for example, as Utar= 55% (0.55). By way of further example, the default values for the upper and lower tolerance can be defined, for example, as δlower = δupper = 5% (0.05). (note that they may have different values). Furthermore, the initial value of Imax can be set to be equal to Iupper. B. Outer circuit in Interval B

[0059] Para o algoritmo de circuito exterior de Intervalo B da presente modalidade, Nslot,upper e Nslot,lower refletem limites de taxa superior e inferior configuráveis. Além disso, Δouter reflete um tamanho de passo relativo configurável. Neste contexto, o algoritmo de circuito exterior de Intervalo B é fornecido como segue (S311 da figura 3). Além disso, novamente, UPAVG(t) reflete a utilização / uso médio no tempo t. Quando o tempo t (em quadros) é um múltiplo de Tp_update, ou seja, Mod(t, Tp_update = 0, (t está no período k), [0059] For the Slot B outer loop algorithm of the present embodiment, Nslot,upper and Nslot,lower reflect configurable upper and lower rate limits. Additionally, Δouter reflects a configurable relative step size. In this context, the Slot B outer loop algorithm is provided as follows (S311 of Figure 3). Furthermore, again, UPAVG(t) reflects the average utilization/usage at time t. When time t (in frames) is a multiple of Tp_update, i.e. Mod(t, Tp_update = 0, (t is in period k),

[0060] Além disso, para o algoritmo de controle de circuito exterior de Intervalo B, os parâmetros de controle podem ser os mesmos que para o algoritmo do Intervalo A. C. Transição entre Intervalos A e B[0060] Furthermore, for the Interval B outer loop control algorithm, the control parameters may be the same as for the Interval A algorithm. C. Transition between Intervals A and B

[0061] Tal como com o algoritmo de controle de Circuito Interior da presente modalidade, para assegurar uma transição suave entre os intervalos A e B do circuito exterior, Nslot,inferior deve ser ajustado igual à Taxa de (Iupper). Quando Nslot,inferior no Intervalo B ou Iupper no Intervalo A é atingido (S305 / S313 da figura 3): (1) se a direção estiver para cima, utiliza-se então o algoritmo de circuito exterior para o Intervalo B (S307 / S315 da figura 3); (2) se a direção está para baixo, então é utilizado o algoritmo de circuito exterior para o Intervalo A (S307 / S315 da figura 3); (3) caso contrário, a taxa máxima requerida permanece inalterada (S307 / S315 da Figura 3). Além disso, semelhante ao controle de circuito interior, para desativar o circuito exterior para o Intervalo B, Nslot,lower = Nslot,upper = Taxa de (Iupper) podem ser definido na configuração, e para desativar o circuito exterior para o Intervalo A, todos os itens da Tabela 1 podem ser configurados como Nslot,inferior. Consequentemente, as mesmas configurações de parâmetro para desativar o circuito interior funcionariam da mesma maneira para o circuito exterior.[0061] As with the Inner Circuit control algorithm of the present embodiment, to ensure a smooth transition between the A and B ranges of the outer circuit, Nslot,lower must be set equal to the Rate (Iupper). When Nslot,lower in Interval B or Iupper in Interval A is reached (S305 / S313 of figure 3): (1) if the direction is up, then the outer loop algorithm for Interval B (S307 / S315) is used. from figure 3); (2) if the direction is down, then the outer loop algorithm for Interval A (S307 / S315 in figure 3) is used; (3) otherwise, the maximum required rate remains unchanged (S307 / S315 of Figure 3). Additionally, similar to inner loop control, to disable the outer loop for Range B, Nslot,lower = Nslot,upper = Rate (Iupper) can be set in the configuration, and to disable the outer loop for Range A, All items in Table 1 can be configured as Nslot,lower. Consequently, the same parameter settings to disable the inner circuit would work in the same way for the outer circuit.

[0062] A Figura 4 ilustra um sistema de computador no qual podem ser implementadas modalidades de exemplo de acordo com a presente invenção. O sistema de computador 400 inclui um barramento 401 ou outro mecanismo de comunicação para comunicar informação, e um processador 403 acoplado ao barramento 401 para processamento de informação. O sistema de computador 400 inclui também a memória principal 405, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, acoplado ao barramento 401 para armazenar informações e instruções a serem executadas pelo processador 403. A memória principal 405 também pode ser utilizada para armazenar variáveis temporárias ou outras informações intermediárias durante execução de instruções a serem executadas pelo processador 403. O sistema de computador 400 inclui ainda uma memória somente de leitura (ROM) 407 ou outro dispositivo de armazenamento estático acoplado ao barramento 401 para armazenar informações estáticas e instruções para o processador 403. Um dispositivo de armazenamento 409, tal como um disco magnético ou disco óptico, é adicionalmente acoplado ao barramento 401 para armazenar informações e instruções.[0062] Figure 4 illustrates a computer system in which example embodiments in accordance with the present invention can be implemented. The computer system 400 includes a bus 401 or other communication mechanism for communicating information, and a processor 403 coupled to the bus 401 for processing information. Computer system 400 also includes main memory 405, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 401 to store information and instructions to be executed by processor 403. Main memory 405 also may be used to store temporary variables or other intermediate information during execution of instructions to be executed by processor 403. Computer system 400 further includes a read-only memory (ROM) 407 or other static storage device coupled to bus 401 to store static information and instructions to the processor 403. A storage device 409, such as a magnetic disk or optical disk, is additionally coupled to the bus 401 to store information and instructions.

[0063] O sistema de computador 400 é acoplado através do barramento 401 a uma exibição 411, tal como um tubo de raios catódicos (CRT), tela de cristal líquido, tela de matriz ativa ou tela de plasma, para exibir informação a um usuário de computador. Um dispositivo de entrada 413, tal como um teclado incluindo teclas alfanuméricas e outras teclas, é acoplado ao barramento 401 para comunicar informações e seleções de comando ao processador 403. Outro tipo de dispositivo de entrada de usuário é o controle de cursor 415, tal como um mouse, uma “trackball”, ou teclas de direção de cursor para comunicar informação de direção e seleções de comando para o processador 403 e para controlar o movimento do cursor na exibição 411.[0063] Computer system 400 is coupled via bus 401 to a display 411, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, to display information to a user. computer. An input device 413, such as a keyboard including alphanumeric keys and other keys, is coupled to bus 401 to communicate information and command selections to processor 403. Another type of user input device is cursor control 415, such as a mouse, trackball, or cursor direction keys to communicate direction information and command selections to processor 403 and to control cursor movement on display 411.

[0064] De acordo com uma modalidade da invenção, arquiteturas dinâmicas e flexíveis e métodos para associação de nós remotos com os respectivos nós de agregação, de acordo com exemplos de modalidade, são fornecidos pelo sistema de computador 400 em resposta ao processador 403 executar um arranjo de instruções contidas na memória principal 405. Essas instruções podem ser lidas na memória principal 405 a partir de outro meio legível por computador, tal como o dispositivo de armazenamento 409. Execução do arranjo de instruções contidas na memória principal 405 faz com que o processador 403 execute os passos de processo aqui descritos. Um ou mais processadores em um arranjo de multiprocessamento podem também ser empregues para executar as instruções contidas na memória principal 405. Em modalidades alternativas, circuitos com fio são utilizados em vez ou em combinação com instruções de software para implementar a modalidade da presente invenção. Deste modo, as modalidades da presente invenção não estão limitadas a qualquer combinação específica de circuitos de hardware e software.[0064] In accordance with one embodiment of the invention, dynamic and flexible architectures and methods for associating remote nodes with respective aggregation nodes, in accordance with exemplary embodiments, are provided by computer system 400 in response to processor 403 executing a array of instructions contained in main memory 405. These instructions may be read into main memory 405 from another computer-readable medium, such as storage device 409. Execution of the array of instructions contained in main memory 405 causes the processor to 403 perform the process steps described here. One or more processors in a multiprocessing arrangement may also be employed to execute instructions contained in main memory 405. In alternative embodiments, wired circuits are used instead of or in combination with software instructions to implement the embodiment of the present invention. Accordingly, embodiments of the present invention are not limited to any specific combination of hardware and software circuits.

[0065] O sistema de computador 400 também inclui uma interface de comunicação 417 acoplada ao barramento 401. A interface de comunicação 417 fornece um acoplamento de comunicação de dados de duas vias para um enlace de rede 419 ligado a uma rede local 421. Por exemplo, a interface de comunicação 417 pode ser um cartão ou modem de linha de assinante digital (DSL), uma placa de rede digital de serviços integrados (ISDN), um modem por cabo ou um modem telefônico para fornecer uma conexão de comunicação de dados a um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicação 417 pode ser uma placa de rede de área local (LAN) (por exemplo, para Ethernet ™ ou uma rede de Modo de Transferência Assíncrona (ATM)) para fornecer uma conexão de comunicação de dados a uma LAN compatível. Enlaces sem fio também podem ser implementados. Em qualquer tal implementação, a interface de comunicação 417 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais que representam vários tipos de informação. Além disso, a interface de comunicação 417, por exemplo, inclui dispositivos de interface periféricos, tais como uma interface USB (Barramento Serial Universal), uma interface PCMCIA (Associação Internacional de Placa de Memória de Computador Pessoal), etc.[0065] Computer system 400 also includes a communication interface 417 coupled to bus 401. Communication interface 417 provides two-way data communication coupling to a network link 419 connected to a local area network 421. For example , the communications interface 417 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, or a telephone modem for providing a data communications connection to a corresponding type of telephone line. As another example, communications interface 417 may be a local area network (LAN) card (e.g., for Ethernet™ or an Asynchronous Transfer Mode (ATM) network) to provide a data communications connection to a LAN compatible. Wireless links can also be implemented. In any such implementation, communications interface 417 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Furthermore, the communication interface 417, for example, includes peripheral interface devices such as a USB (Universal Serial Bus) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc.

[0066] O enlace de rede 419 fornece tipicamente comunicação de dados através de uma ou mais redes para outros dispositivos de dados. Por exemplo, o enlace de rede 419 fornece uma conexão através da rede local 421 para um computador hospedeiro 423 que tem conectividade com uma rede 425 (por exemplo, uma rede de área ampla (WAN) ou a rede de comunicação de dados de pacote global agora vulgarmente designada por "Internet") ou ao equipamento de dados operado pelo provedor de serviços. A rede local 421 e rede 425 utilizam tanto sinais elétricos, eletromagnéticos ou ópticos para transmitir informação e instruções. Os sinais através das várias redes e os sinais no enlace de rede 419 e através da interface de comunicação 417, que comunicam dados digitais com o sistema de computador 400, são formas exemplificativas de ondas portadoras que suportam as informações e instruções.[0066] Network link 419 typically provides data communication over one or more networks to other data devices. For example, network link 419 provides a connection through local network 421 to a host computer 423 that has connectivity to a network 425 (e.g., a wide area network (WAN) or the global packet data communications network now commonly referred to as the "Internet") or to data equipment operated by the service provider. The 421 local area network and 425 network use either electrical, electromagnetic or optical signals to transmit information and instructions. The signals across the various networks and the signals on the network link 419 and through the communication interface 417, which communicate digital data with the computer system 400, are exemplary forms of carrier waves that carry the information and instructions.

[0067] O sistema de computador 400 envia mensagens e recebe dados, incluindo código de programa, através da (s) rede (s), enlace de rede 419 e interface de comunicação 417. No exemplo da Internet, um servidor (não mostrado) pode transmitir código solicitado pertencente a um programa de aplicação para implementar uma modalidade da presente invenção através da rede 425, rede local 421 e interface de comunicação 417. O processador 403 executa o código transmitido enquanto sendo recebido e / ou armazena o código no dispositivo de armazenamento 239, ou outro armazenamento não volátil para execução posterior. Desta maneira, o sistema de computador 400 obtém o código de aplicação na forma de uma onda portadora.[0067] Computer system 400 sends messages and receives data, including program code, over the network(s), network link 419, and communications interface 417. In the Internet example, a server (not shown) may transmit requested code belonging to an application program for implementing an embodiment of the present invention over network 425, local network 421, and communication interface 417. Processor 403 executes the transmitted code while being received and/or stores the code in the transmitting device. storage 239, or other non-volatile storage for later execution. In this way, the computer system 400 obtains the application code in the form of a carrier wave.

[0068] O termo "meio legível por computador" tal como aqui utilizado refere-se a qualquer meio que participe no fornecimento de instruções ao processador 403 para execução. Um tal meio pode assumir muitas formas, incluindo mas não se limitando a meios não voláteis e meios voláteis. Os meios não voláteis incluem, por exemplo, discos ópticos ou magnéticos, tais como o dispositivo de armazenamento 409. Os meios voláteis podem incluir memória dinâmica, tal como a memória principal 405. As formas comuns de meios legíveis por computador incluem, por exemplo, um disquete, um disco rígido, uma fita magnética, qualquer outro meio magnético, CD-ROM, CDRW, DVD, qualquer outro meio óptico, RAM, PROM e EPROM, EPROM FLASH, qualquer outro chip ou cartucho de memória, ou qualquer outro meio a partir do qual um computador pode ler.[0068] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 403 for execution. Such a medium can take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 409. Volatile media may include dynamic memory, such as main memory 405. Common forms of computer-readable media include, for example, a floppy disk, a hard disk, a magnetic tape, any other magnetic medium, CD-ROM, CDRW, DVD, any other optical medium, RAM, PROM and EPROM, FLASH EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.

[0069] Várias formas de meios legíveis por computador podem estar envolvidas no fornecimento de instruções a um processador para execução. Por exemplo, as instruções para realizar pelo menos parte da presente invenção podem inicialmente ser suportadas em um disco magnético de um computador remoto. Nesse cenário, o computador remoto carrega as instruções na memória principal e envia as instruções por uma linha telefônica utilizando um modem. Um modem de um sistema de computador local recebe os dados na linha telefônica e utiliza um transmissor de infravermelhos para converter os dados em um sinal de infravermelhos e transmitir o sinal de infravermelhos para um dispositivo de computação portátil, tal como um assistente digital pessoal (PDA) e um computador portátil. Um detector de infravermelhos no dispositivo de computação portátil recebe as informações e instruções transmitidas pelo sinal de infravermelho e coloca os dados em um barramento. O barramento transporta os dados para a memória principal, a partir da qual um processador recupera e executa as instruções. As instruções recebidas pela memória principal podem, opcionalmente, ser armazenadas no dispositivo de armazenamento, quer antes ou após a execução pelo processador.[0069] Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, instructions for carrying out at least part of the present invention may initially be carried on a magnetic disk of a remote computer. In this scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem in a local computer system receives data on the telephone line and uses an infrared transmitter to convert the data into an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA). ) and a laptop. An infrared detector in the portable computing device receives the information and instructions transmitted by the infrared signal and places the data on a bus. The bus transports data to main memory, from which a processor retrieves and executes instructions. Instructions received by main memory may optionally be stored in the storage device, either before or after execution by the processor.

[0070] Apesar de modalidades de exemplo da presente invenção poderem fornecer várias implementações (por exemplo, incluindo componentes de hardware, firmware e / ou software), e, a menos que indicado de outra forma, todas as funções são executadas por uma CPU ou um processador executando código de programa executável por computador armazenado em uma memória não transitória ou meio de armazenamento legível por computador, os vários componentes podem ser implementados em diferentes configurações de hardware, firmware, software, e / ou uma combinação dos mesmos. Exceto se de outra forma aqui descrito, os vários componentes mostrados em linhas ou em forma de blocos nas figuras são individualmente bem conhecidos e a sua construção e funcionamento interno não são críticos, quer para a fabricação ou utilização da presente invenção ou para uma descrição do melhor modo da mesma.[0070] Although exemplary embodiments of the present invention may provide various implementations (e.g., including hardware, firmware and/or software components), and, unless otherwise indicated, all functions are performed by a CPU or a processor executing computer-executable program code stored in a non-transitory memory or computer-readable storage medium, the various components may be implemented in different configurations of hardware, firmware, software, and/or a combination thereof. Unless otherwise described herein, the various components shown in line or block form in the figures are individually well known and their construction and internal functioning are not critical either to the manufacture or use of the present invention or to a description of the better way anyway.

[0071] Na descrição anterior, várias modalidades foram descritas com referência aos desenhos anexos. Será, contudo, evidente que várias modificações podem ser feitas às mesmas, e modalidades adicionais podem ser aplicadas, sem nos afastarmos do âmbito mais vasto da invenção como estabelecido nas reivindicações que seguem. A especificação e os desenhos, por conseguinte, devem ser considerados em um sentido ilustrativo em vez de restritivo.[0071] In the previous description, various embodiments were described with reference to the attached drawings. It will, however, be evident that various modifications may be made thereto, and additional embodiments may be applied, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings should therefore be considered in an illustrative rather than a restrictive sense.

Claims (16)

1. Método caracterizado pelo fato de que compreende: determinar uma utilização média de largura de banda periódica de uma pluralidade de terminais remotos para transmissão de dados sobre um canal de um sistema de comunicações de dados sem fio, em que a utilização média da largura de banda periódica é determinada com base em um primeiro período de média, e a largura de banda periódica é uma parte da largura de banda total do canal alocado para alocações de largura de banda periódica para cada terminal da pluralidade de terminais remotos para transmissão de dados do respectivo terminal sobre o canal; determinar um nível máximo para as alocações de largura de banda periódica para cada terminal da pluralidade de terminais remotos com base na utilização média determinada de largura de banda periódica da pluralidade de terminais remotos e um nível alvo para a largura de banda periódica; determinar uma métrica de utilização que reflete um nível de utilização da largura de banda periódica por um terminal da pluralidade de terminais remotos com base em um segundo período de média, onde o segundo período de média pode ser igual ao primeiro período de média; determinar uma nível atualizado para as alocações de largura de banda periódica para o um terminal com base na métrica de utilização determinada para o um terminal e um nível alvo para a utilização da largura de banda periódica pelo um terminal, em que o nível atualizado para as alocações de largura de banda periódica para o um terminal é determinado de modo a não exceder o nível máximo determinado para as alocações de largura de banda periódica à cada terminal da pluralidade de terminais remotos; e atribuir o nível atualizado para as alocações de largura de banda periódica ao um terminal para uma ou mais transmissões de dados subsequentes do um terminal sobre o canal.1. A method comprising: determining an average periodic bandwidth utilization of a plurality of remote terminals for transmitting data over a channel of a wireless data communications system, wherein the average bandwidth utilization periodic bandwidth is determined based on a first averaging period, and the periodic bandwidth is a portion of the total channel bandwidth allocated for periodic bandwidth allocations to each terminal of the plurality of remote terminals for transmitting data from the respective terminal on the channel; determining a maximum level for the periodic bandwidth allocations for each terminal of the plurality of remote terminals based on the determined average periodic bandwidth utilization of the plurality of remote terminals and a target level for the periodic bandwidth; determining a utilization metric that reflects a level of periodic bandwidth utilization by a terminal of the plurality of remote terminals based on a second averaging period, wherein the second averaging period may be equal to the first averaging period; determine an updated level for the periodic bandwidth allocations for the one endpoint based on the utilization metric determined for the one endpoint and a target level for the periodic bandwidth utilization by the one endpoint, wherein the updated level for the one endpoint periodic bandwidth allocations to the one terminal is determined so as not to exceed the maximum level determined for periodic bandwidth allocations to each terminal of the plurality of remote terminals; and assigning the updated level to the terminal's periodic bandwidth allocations for one or more subsequent data transmissions of the terminal over the channel. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é maior que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o nível atualizado para as alocações de largura de banda periódica para o um terminal é aumentado; e caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é menor que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o nível atualizado para as alocações de largura de banda periódica para o um terminal é reduzido.2. Method, according to claim 1, characterized by the fact that: if the utilization metric reflects that the level of periodic bandwidth used by a terminal is greater than the target level for the use of periodic bandwidth by the one terminal, the updated level for the periodic bandwidth allocations for the one terminal is increased; and if the utilization metric reflects that the level of periodic bandwidth used by an endpoint is less than the target level for periodic bandwidth utilization by an endpoint, the updated level for periodic bandwidth allocations to the one terminal is reduced. 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é maior do que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o aumento no nível atualizado para as alocações de banda periódica ao um terminal é realizado em uma base passo a passo até o nível máximo para as alocações de largura de banda periódica à cada um da pluralidade de terminais remotos.3. Method according to claim 2, characterized by the fact that if the utilization metric reflects that the level of periodic bandwidth used by a terminal is greater than the target level for periodic bandwidth utilization by the a terminal, the increase in the updated level for the periodic bandwidth allocations to one terminal is carried out on a step-by-step basis up to the maximum level for the periodic bandwidth allocations to each of the plurality of remote terminals. 4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é menor do que o nível alvo para a utilização da largura de banda periódica pelo um terminal, a redução no nível atualizado para as alocações de largura de banda periódica para o um terminal é realizada em uma base passo a passo.4. Method according to claim 2, characterized by the fact that if the utilization metric reflects that the level of periodic bandwidth used by a terminal is lower than the target level for periodic bandwidth utilization by the one terminal, the reduction in the updated level for the periodic bandwidth allocations for the one terminal is performed on a step-by-step basis. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação da métrica de utilização do um terminal compreende monitorar a utilização de intervalo do um terminal e determinar um de uma utilização média de intervalo e uma utilização de volume sobre o segundo período de média.5. Method, according to claim 1, characterized by the fact that determining the utilization metric of a terminal comprises monitoring the interval utilization of the a terminal and determining an average interval utilization and a volume utilization over the second averaging period. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o nível alvo para a largura de banda periódica reflete uma parte predeterminada da largura de banda total do canal alocado para as alocações de largura de banda periódica para a pluralidade de terminais remotos.6. The method of claim 1, wherein the target level for periodic bandwidth reflects a predetermined portion of the total channel bandwidth allocated to the periodic bandwidth allocations for the plurality of terminals. remote. 7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que: caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja maior que o nível alvo para a largura de banda periódica, o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos é reduzida; e caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja menor que o nível alvo para a largura de banda periódica, o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos é aumentada.7. Method according to claim 6, characterized by the fact that: if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is greater than the target level for periodic bandwidth, the maximum level for periodic bandwidth allocations to each of the plurality of remote terminals is reduced; and if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is less than the target level for periodic bandwidth, the maximum level for periodic bandwidth allocations for each of the plurality of remote terminals is increased. 8. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que o nível alvo para largura de banda periódica está sujeito a um intervalo de tolerância definido por uma tolerância inferior e uma tolerância superior, e em que: caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja maior que o nível alvo para a largura de banda periódica mais a tolerância superior, o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos é reduzida; e caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja menor que o nível alvo para a largura de banda periódica menos a tolerância inferior, o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos é aumentada; e caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média esteja dentro de um intervalo a partir do nível alvo para a largura de banda periódica menos a tolerância inferior até o nível alvo para a largura de banda periódica mais a tolerância superior, o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos é mantida.8. Method according to claim 6, characterized by the fact that the target level for periodic bandwidth is subject to a tolerance interval defined by a lower tolerance and an upper tolerance, and wherein: if the average utilization of the periodic bandwidth of the plurality of remote terminals over the first averaging period is greater than the target level for periodic bandwidth plus the upper tolerance, the maximum level for periodic bandwidth allocations to each of the plurality of terminals remote is reduced; and if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is less than the target level for periodic bandwidth minus the lower tolerance, the maximum level for periodic bandwidth allocations for each of the plurality of remote terminals is increased; and if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is within a range from the target level for periodic bandwidth minus the lower tolerance to the target level for bandwidth periodic plus upper tolerance, the maximum level for periodic bandwidth allocations to each of the plurality of remote terminals is maintained. 9. Aparelho, caracterizado pelo fato de que compreende: um receptor configurado para receber transmissões de dados a partir de uma pluralidade de terminais remotos por meio de um grupo de canal de rota para dentro de ligação ascendente de um sistema de comunicação de dados sem fio; e um processados configurado para determinar uma utilização média de largura de banda periódica da pluralidade de terminais remotos, em que a utilização média da largura de banda periódica é determinada sobre um primeiro período de média, e a largura de banda periódica é uma parte da largura de banda total do canal alocado para as alocações de largura de banda periódica para cada um da pluralidade de terminais remotos para transmissão de dados do respectivo terminal sobre o canal; e em que o processador é ainda configurado para determinar um nível máximo para as alocações de largura de banda periódica para cada um da pluralidade de terminais remotos com base na utilização média determinada da largura de banda periódica da pluralidade de terminais remotos e um nível alvo para a largura de banda periódica, em que o processador é configurado ainda para determinar uma métrica de utilização que reflete um nível de utilização da largura de banda periódica por um terminal da pluralidade de terminais remotos com base em um segundo período de média, onde o segundo período de média pode ser igual ao primeiro período de média, em que o processador é configurado ainda para determinar um nível atualizado para as alocações de largura de banda periódica para o um terminal com base na métrica de utilização determinada para o um terminal e uma nível alvo para utilização da largura de banda periódica pelo um terminal, em que o nível atualizado para as alocações de largura de banda periódica para o um terminal é determinado de modo a não exceder o nível máximo determinado para as alocações de largura de banda periódica para cada um da pluralidade de terminais remotos, e em que o aparelho é configurado para aplicar o nível atualizado para as alocações de largura de banda periódica ao um terminal para uma ou mais transmissões de dados subsequentes do um terminal sobre o canal.9. Apparatus, characterized in that it comprises: a receiver configured to receive data transmissions from a plurality of remote terminals through an uplink route-inward channel group of a wireless data communication system ; and a processor configured to determine an average periodic bandwidth utilization of the plurality of remote terminals, wherein the average periodic bandwidth utilization is determined over a first averaging period, and the periodic bandwidth is a part of the bandwidth total bandwidth of the channel allocated to the periodic bandwidth allocations to each of the plurality of remote terminals for transmitting data from the respective terminal over the channel; and wherein the processor is further configured to determine a maximum level for periodic bandwidth allocations to each of the plurality of remote terminals based on the determined average periodic bandwidth utilization of the plurality of remote terminals and a target level for periodic bandwidth, wherein the processor is further configured to determine a utilization metric that reflects a level of periodic bandwidth utilization by one terminal of the plurality of remote terminals based on a second averaging period, where the second averaging period may be equal to the first averaging period, wherein the processor is further configured to determine an updated level for periodic bandwidth allocations for the one endpoint based on the utilization metric determined for the one endpoint and a level target for periodic bandwidth utilization by the one terminal, wherein the updated level for the periodic bandwidth allocations for the one terminal is determined so as not to exceed the maximum level determined for the periodic bandwidth allocations for each one of the plurality of remote terminals, and wherein the apparatus is configured to apply the updated level for periodic bandwidth allocations to the one terminal for one or more subsequent data transmissions from the one terminal over the channel. 10. Aparelho, de acordo com a reivindicação 9, caracterizado pelo fato de que; caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é maior que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o processador é configurado para aumentar o nível atualizado para as alocações de largura de banda periódica para o um terminal; e caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é menor que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o processador é configurado para reduzir o nível atualizado para as alocações de largura de banda periódica para o um terminal.10. Apparatus according to claim 9, characterized by the fact that; If the utilization metric reflects that the level of periodic bandwidth used by an endpoint is greater than the target level for periodic bandwidth usage by an endpoint, the processor is configured to increase the updated level for bandwidth allocations. from periodic band to the one terminal; and if the utilization metric reflects that the level of periodic bandwidth used by a terminal is less than the target level for periodic bandwidth utilization by a terminal, the processor is configured to reduce the updated level for the terminal allocations. periodic bandwidth for the one terminal. 11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é maior que o nível alvo para a utilização da largura de banda periódica pelo um terminal, o aumento no nível atualizado para as alocações de largura de banda periódica para o um terminal é realizado em uma base passo a passo até o nível máximo para as alocações de largura de banda periódica à cada um da pluralidade de terminais remotos.11. Apparatus according to claim 10, characterized by the fact that if the utilization metric reflects that the level of periodic bandwidth used by a terminal is greater than the target level for periodic bandwidth utilization by the one terminal, the increase in the updated level for the periodic bandwidth allocations for the one terminal is carried out on a step-by-step basis up to the maximum level for the periodic bandwidth allocations for each of the plurality of remote terminals. 12. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que caso a métrica de utilização reflita que o nível da largura de banda periódica utilizada pelo um terminal é menor que o nível alvo para a utilização da largura de banda periódica pelo um terminal, a redução no nível atualizado para as alocações de largura de banda periódica para o um terminal é realizada em uma base passo a passo.12. Method according to claim 10, characterized by the fact that if the utilization metric reflects that the level of periodic bandwidth used by a terminal is lower than the target level for periodic bandwidth utilization by the one terminal, the reduction in the updated level for the periodic bandwidth allocations for the one terminal is performed on a step-by-step basis. 13. Aparelho, de acordo com a reivindicação 9, caracterizado pelo fato de que a determinação da métrica de utilização do um terminal compreende monitorar a utilização de intervalo do um terminal e determinar uma dentre uma utilização média de intervalo e uma utilização de volume sobre o segundo período de média.13. The apparatus of claim 9, wherein determining the usage metric of a terminal comprises monitoring the range utilization of the terminal and determining one of an average range utilization and a volume utilization over the second averaging period. 14. Aparelho, de acordo com a reivindicação 9, caracterizado pelo fato de que o nível alvo para a largura de banda periódica reflete uma parte predeterminada da largura de banda total do canal alocado para as alocações de largura de banda periódica para a pluralidade de terminais remotos.14. The apparatus of claim 9, wherein the target level for periodic bandwidth reflects a predetermined portion of the total channel bandwidth allocated to the periodic bandwidth allocations for the plurality of terminals. remote. 15. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que: caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja maior que o nível alvo para a largura de banda periódica, o processador é configurado para reduzir o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos; e caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média seja menor que o nível alvo para a largura de banda periódica, o processador é configurado para aumentar o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos.15. The apparatus of claim 14, wherein: if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is greater than the target level for periodic bandwidth, the processor is configured to reduce the maximum level for periodic bandwidth allocations to each of the plurality of remote terminals; and if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is less than the target level for periodic bandwidth, the processor is configured to increase the maximum level for bandwidth allocations. periodically for each of the plurality of remote terminals. 16. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que o nível alvo para a largura de banda periódica está sujeito a um intervalo de tolerância definido por uma tolerância inferior e uma tolerância superior, e em que: caso a utilização média da largura de banda periódica da pluralidade dos terminais remotos sobre o primeiro período de média seja maior que o nível alvo para a largura de banda periódica mais a tolerância superior, o processador é configurado para reduzir o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos; caso a utilização média da largura de banda periódica da pluralidade dos terminais remotos sobre o primeiro período de média seja menor que o nível alvo para a largura de banda periódica menos a tolerância inferior, o processador é configurado para aumentar o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos; e caso a utilização média da largura de banda periódica da pluralidade de terminais remotos sobre o primeiro período de média esteja dentro de um intervalo a partir do nível alvo para a largura de banda periódica menos a tolerância inferior até o nível alvo para a largura de banda periódica mais a tolerância superior, o processador é configurado para manter o nível máximo para as alocações de largura de banda periódica para cada uma da pluralidade de terminais remotos.16. Apparatus according to claim 14, characterized by the fact that the target level for periodic bandwidth is subject to a tolerance interval defined by a lower tolerance and an upper tolerance, and wherein: if the average utilization of the periodic bandwidth of the plurality of remote terminals over the first averaging period is greater than the target level for the periodic bandwidth plus the upper tolerance, the processor is configured to reduce the maximum level for the periodic bandwidth allocations for each of the plurality of remote terminals; If the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is less than the target level for periodic bandwidth minus the lower tolerance, the processor is configured to increase the maximum level for the periodic bandwidth allocations. periodic bandwidth for each of the plurality of remote terminals; and if the average periodic bandwidth utilization of the plurality of remote terminals over the first averaging period is within a range from the target level for periodic bandwidth minus the lower tolerance to the target level for bandwidth periodic plus upper tolerance, the processor is configured to maintain the maximum level for periodic bandwidth allocations to each of the plurality of remote terminals.
BR112016028871-8A 2014-04-06 2015-04-06 APPARATUS AND METHOD FOR AN ADAPTIVE PERIODIC BANDWIDTH ALLOCATION APPROACH IN A SHARED BANDWIDTH COMMUNICATIONS SYSTEM BR112016028871B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461975907P 2014-04-06 2014-04-06
US61/975907 2014-04-06
PCT/US2015/024590 WO2015157200A1 (en) 2014-04-06 2015-04-06 Apparatus and method for an adaptive periodic bandwidth allocation approach in a shared bandwidth communications system

Publications (2)

Publication Number Publication Date
BR112016028871A2 BR112016028871A2 (en) 2018-12-18
BR112016028871B1 true BR112016028871B1 (en) 2023-08-08

Family

ID=

Similar Documents

Publication Publication Date Title
US9756644B2 (en) Apparatus and method for an adaptive periodic bandwidth allocation approach in a shared bandwidth communications system
US8670310B2 (en) Dynamic balancing priority queue assignments for quality-of-service network flows
US8687493B2 (en) Method and system for inroute bandwidth allocation supporting multiple traffic priorities in a satellite network
US10367578B2 (en) Apparatus and method for a bandwidth allocation approach in a shared bandwidth communications system
US20150171953A1 (en) Software-Defined Network Infrastructure Having Virtual Range Extenders
US10257065B2 (en) Method and system for communication network configuration using virtual link monitoring
CA3014178A1 (en) System and method for policy-based multipath wan transports for improved quality of service over broadband networks
JP2004140604A (en) Wireless base station, control apparatus, wireless communication system, and communication method
CN113162789A (en) Method, device, equipment, system and storage medium for adjusting service level
Narmanlioglu et al. Software-defined networking based network virtualization for mobile operators
US10044632B2 (en) Systems and methods for adaptive credit-based flow
US20130088955A1 (en) Method and System for Distributed, Prioritized Bandwidth Allocation in Networks
US20120106341A1 (en) Method and System for Adaptive Resource Allocation
CN108781439B (en) Communication of application transactions over a radio link
WO2018072653A1 (en) Systems and methods for customizing layer-2 protocol
BR112016028871B1 (en) APPARATUS AND METHOD FOR AN ADAPTIVE PERIODIC BANDWIDTH ALLOCATION APPROACH IN A SHARED BANDWIDTH COMMUNICATIONS SYSTEM
Narawade et al. Eacsro: epsilon constraint-based adaptive cuckoo search algorithm for rate optimized congestion avoidance and control in wireless sensor networks
Furqan et al. LTE_FICC: A New Mechanism for Provision of QoS and Congestion Control in LTE/LTE-Advanced Networks
Zhou et al. Managing background traffic in cellular networks
Fairhurst et al. A flexible QoS architecture for DVB‐RCS2
Jin et al. Priority service provisioning and max–min fairness: a utility-based flow control approach
Alkandari et al. A hybrid resource allocation approach for 5G IOT applications
Okafor et al. Synthesis VLAN Approach to Congestion Management in DataCenter Ethernet Networks
US11134018B2 (en) Communication device, communication system and method for controlling communication rate in the communication system
Kim et al. Impact of bandwidth request schemes for Best-Effort traffic in IEEE 802.16 networks