BRPI0721380A2 - Method of allocating communication resources between a plurality of connections and a programmer - Google Patents

Method of allocating communication resources between a plurality of connections and a programmer Download PDF

Info

Publication number
BRPI0721380A2
BRPI0721380A2 BRPI0721380-8A BRPI0721380A BRPI0721380A2 BR PI0721380 A2 BRPI0721380 A2 BR PI0721380A2 BR PI0721380 A BRPI0721380 A BR PI0721380A BR PI0721380 A2 BRPI0721380 A2 BR PI0721380A2
Authority
BR
Brazil
Prior art keywords
needs
connection
connections
value
deficit
Prior art date
Application number
BRPI0721380-8A
Other languages
Portuguese (pt)
Inventor
Corte Thierry De
Donald Stevenson
Rouzbeh Khatibi
Original Assignee
Wavesat Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wavesat Inc filed Critical Wavesat Inc
Publication of BRPI0721380A2 publication Critical patent/BRPI0721380A2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

MÉTODO DE ALOCAR RECURSOS DE COMUNICAÇçO ENTRE UMA PLURALIDADE DE CONEXÕES E PROGRAMADOR. A presente invenção se refere a um método para alocar recursos de comunicações emtre uma pliralidade de conexões e um programador para o mesmo. Método inclui uma etapa de avalisr necessidades de cada conexão, e somar as necessidades de conexão, e somar as necessidades de cada conexão para obter necessidades totais para todas as conexões . Então o método prossegue ponderando as nessidades de cada conexão com correspondentes dentre as necessidades totais. Depois, o método aloca os recursos de comunicação entre a pluralidade de conexões coonforme as necessidade ponderadas. Por sua vez, o programador inclui um módulo de informação, um módulo de cálculo e um módulo de informação identifica necessidades de cada uma de uma pluralidade de conexões. O módulo de cálculo executa a soma das necessidades e a ponderação das necessidades de cada conexão, enquanto o módulo de concessão aloca recursos de comunicação entre a pluralidade de conexões conforme as necessidades ponderadas.METHOD OF ALLOCATING COMMUNICATION RESOURCES BETWEEN A PLURALITY OF CONNECTIONS AND PROGRAMMER. The present invention relates to a method for allocating communication resources between a plurality of connections and a scheduler for the same. Method includes a step of assessing needs of each connection, and summing the connection needs, and summing the needs of each connection to obtain total needs for all connections. Then the method proceeds by weighing the needs of each connection with correspondents from the total needs. The method then allocates the communication resources between the plurality of connections as the weighted needs. In turn, the programmer includes an information module, a calculation module and an information module identifies needs of each of a plurality of connections. The calculation module performs the sum of the needs and the weighting of the needs of each connection, while the grant module allocates communication resources between the plurality of connections according to the weighted needs.

Description

"MÉTODO DE ALOCAR RECURSOS DE COMUNICAÇÃO ENTRE UMA PLURALIDADE DE CONEXÕES E PROGRAMADOR" CAMPO DA INVENÇÃO"METHOD OF ALLOCATING COMMUNICATION RESOURCES BETWEEN A PLURALITY OF CONNECTIONS AND PROGRAMMER" FIELD OF THE INVENTION

A presente invenção trata da alocação de recursos de comunicações entre uma pluralidade de conexões, e mais particularmente a um método e programador para alocar recursos de comunicações entre uma pluralidade de conexões que levam em consideração alguma qualidade de exigências de serviço (QoS). ANTECEDENTES DA INVENÇÃOThe present invention is concerned with allocating communication resources between a plurality of connections, and more particularly to a method and programmer for allocating communication resources between a plurality of connections that take into account some quality of service (QoS) requirements. BACKGROUND OF THE INVENTION

Hoje em dia, redes de telecomunicações são amplamente usadas para transportar grande quantidade de pacotes e operar simultaneamente múltiplas conexões com diferentes exigências Qo S, e às vezes para um assinante. Para atender tais demandas, as normas 802.16 do Institute of Electrical and Electronics Engineers (IEEE) definem concessão de largura de faixa em uma base por assinante, em oposição a uma base por conexão. As concessões de largura de faixa são determinadas e radiodifundidas por estações de base para estações de assinante através de mensagens de UL-MAP.Today, telecommunications networks are widely used to carry large numbers of packets while simultaneously operating multiple connections with different QoS requirements, and sometimes to one subscriber. To meet these demands, Institute of Electrical and Electronics Engineers (IEEE) standards 802.16 define bandwidth lease on a per subscriber basis, as opposed to one per connection basis. Bandwidth concessions are determined and broadcast by base stations to subscriber stations via UL-MAP messages.

É porém um problema bem conhecido distribuir eficazmente e razoavelmente a largura de faixa concedida entre múltiplas conexões. Múltiplas publicações da arte anterior propuseram algumas soluções parciais para esta última questão. Uma dessas publicações é uma publicação do IEEE intitulada "Quality of Service support in IEEE 802.16 networks", escrita por Cláudio Cicconetti et al., apresentada na ΓΕΕΕ Netword, Março/Abril 2006. Esta publicação apresenta mecanismos disponíveis nas redes 802.16 do IEEE para suportar QoS. Mais particularmente, a publicação relaciona simulações executadas em dois cenários distintos. As simulações demonstram a eficácia do controle de acesso a meio (MAC) 802.16 proporcionando serviços diferenciados para aplicações com diferentes exigências de QoS, tais como protocolo de voz sobre Internet (VoIP) e Web. A publicação também informa as diferenças no retardo entre canais de enlace descendente e de enlace ascendente, e reporta retardos mais altos e aumento mais acentuado em retardo nos canais de enlace ascendente.It is a well-known problem, however, to effectively and reasonably distribute the allocated bandwidth between multiple connections. Multiple prior art publications have proposed some partial solutions to this latter issue. One such publication is an IEEE publication entitled "Quality of Service Support in IEEE 802.16 networks", written by Cláudio Cicconetti et al., Presented at Netword, March / April 2006. This publication presents mechanisms available on IEEE 802.16 networks to support QoS. More particularly, the publication lists simulations performed in two distinct scenarios. Simulations demonstrate the effectiveness of 802.16 medium access control (MAC) by providing differentiated services for applications with different QoS requirements, such as voice over Internet protocol (VoIP) and Web. The publication also informs the differences in the delay between broadcast channels. downlink and uplink, and reports higher delays and steeper increase in delay in the uplink channels.

Outra publicação de interesse, intitulada "Efficient FairAnother interesting publication entitled "Efficient Fair

ιι

Queuing Using Déficit Round-Robin", escrita por Shreedar et al., apresentada nas IEEE/ACM Transactions on networking, volume 4, no. 3, de junho de 1996, descreve um mecanismo para melhorar a eficiência e viabilidade no enfileiramento de fluxos múltiplos sobre recursos de rede alocados. Para assim fazer, os autores propõem uso de enfileiramento estocástico viável para atribuir fluxos a filas. Então, para a conservar os fluxos, um mecanismo round-robin é usado, e rastreamento de déficits é executado. Embora esta solução melhore a viabilidade entre múltiplas filas, ele não toma sob consideração exigências adicionais impostas por QoS. Na publicação intitulada "Packet Scheduling for QoS supportQueuing Using Round-Robin Deficit ", written by Shreedar et al., Presented in IEEE / ACM Transactions on Networking, Volume 4, No. 3, June 1996, describes a mechanism for improving the efficiency and feasibility of multi-stream queuing. In order to do so, the authors propose using viable stochastic queuing to assign streams to queues, so to conserve streams, a round-robin mechanism is used, and deficit tracking is performed. improves viability across multiple queues, it does not take into consideration additional requirements imposed by QoS. In the publication titled "Packet Scheduling for QoS support"

in IEEE 802.16 broadband wireless access systems" escrita por Wongthavarawat et al., publicada no International Journal of Communication Systems, 2003, volume 16, páginas 81-96, descreve um algoritmo de programação para padrão IEEE 802.16, provendo suporte QoS para diferentes classes de tráfego. Para assim fazer, cada tipo de classe de tráfego é manipulado diferentemente. O algoritmo começa aplicando alocação de largura de faixa global que segue prioridade estrita, e policiando a largura de faixa máxima por classe de tráfego. Então, um segundo nível de granularidade de alocação de largura de faixa é executado em um nível de tipo de conexão. Embora esta publicação proporcione uma solução para a questão de alocação de largura de faixa, esta última não resolve a alocação de largura de faixa simples e viável global. Antes, esta publicação provê uma solução na qual classes de tráfego de prioridade mais alta são tratadas primeiro, e a largura de faixa deixada é usada para as classes de tráfego restantes. Há assim uma necessidade de programador e um método para alocar recursos de comunicação de enlace ascendente simplesmente e razoavelmente, com qualidade de serviço. SUMÁRIO DA INVENÇÃO A presente invenção se refere a um programador e um métodoin IEEE 802.16 broadband wireless access systems "written by Wongthavarawat et al., published in the International Journal of Communication Systems, 2003, volume 16, pages 81-96, describes a programming algorithm for IEEE 802.16 standard, providing QoS support for different classes of To do so, each type of traffic class is handled differently.The algorithm starts by applying global bandwidth allocation that follows strict priority, and policing the maximum bandwidth per traffic class.Then a second level of granularity Although this publication provides a solution to the bandwidth allocation issue, the latter does not address simple and viable global bandwidth allocation. This publication provides a solution in which higher priority traffic classes are handled first, and the bandwidth of ixada is used for the remaining traffic classes. There is thus a need for a programmer and a method to allocate upstream communication resources simply and reasonably with quality of service. SUMMARY OF THE INVENTION The present invention relates to a programmer and method

para alocar recursos de rede entre uma pluralidade de conexões de uma maneira simples e viável. Ao contrário de soluções da arte anterior, a presente solução é simples, e assim requer menos capacidades computacionais que outras soluções da arte anterior, enquanto alcançando viabilidade entre múltiplas conexões aa etapa que respeita a qualidade de serviço.to allocate network resources between a plurality of connections in a simple and workable manner. Unlike prior art solutions, the present solution is simple, and thus requires less computational capabilities than other prior art solutions, achieving feasibility between multiple connections at the quality of service stage.

De acordo com um primeiro aspecto, a presente invenção se refere a um método de alocar recursos de comunicação entre uma pluralidade de conexões. O método avalia necessidades de cada conexão, e soma as necessidades de cada conexão para obter necessidades totais para todas as conexões. O método então pondera as necessidades de cada conexão com correspondentes dentre as necessidades totais e aloca os recursos de comunicação entre a pluralidade de conexões conforme as necessidades ponderadas.According to a first aspect, the present invention relates to a method of allocating communication resources between a plurality of connections. The method evaluates the needs of each connection, and sums the needs of each connection to obtain total needs for all connections. The method then weighs the needs of each connection with correspondents from the total needs and allocates the communication resources among the plurality of connections according to the weighted needs.

Conforme outro aspecto, a presente invenção se refere a um programador. O programador inclui um módulo de informação, um módulo de cálculo e um módulo de atribuição. O módulo de informação identifica necessidades de cada uma dentre uma pluralidade de conexões. O módulo de cálculo soma as necessidades de cada conexão para obter necessidades totais para todas as conexões. O módulo de cálculo ainda pondera as necessidades de cada conexão com correspondentes dentre as necessidades totais. O módulo de atribuição aloca recursos de comunicação entre a pluralidade de conexões conforme as necessidades ponderadas; DESCRIÇÃO BREVE DOS DESENHOSAccording to another aspect, the present invention relates to a programmer. The programmer includes an information module, a calculation module and an assignment module. The information module identifies needs of each of a plurality of connections. The calculation module sums the needs of each connection to get total requirements for all connections. The calculation module also weights the needs of each connection with correspondents from the total requirements. The assignment module allocates communication resources between the plurality of connections as weighted needs; BRIEF DESCRIPTION OF DRAWINGS

Os seguintes desenhos serão usados em conjunto com a seguinte descrição detalhada da invenção, para descrever vários aspectos da presente invenção em que:The following drawings will be used in conjunction with the following detailed description of the invention to describe various aspects of the present invention wherein:

A figura 1 descreve um fluxograma exemplificativo para uma estação de assinante Unicast Grant conforme o padrão IEEE 802.16;Figure 1 depicts an exemplary flowchart for a Unicast Grant subscriber station according to IEEE 802.16 standard;

A figura 2 é um fluxograma de um método conforme umaFigure 2 is a flowchart of a method according to a

modalidade da presente invenção;embodiment of the present invention;

As figuras 3a e b são fluxogramas de um método conforme outra modalidade da presente invenção.Figures 3a and b are flow charts of a method according to another embodiment of the present invention.

A figura 4 é um programador esquemático conforme uma modalidade da presente invenção.Figure 4 is a schematic programmer according to one embodiment of the present invention.

DESCRIÇÃO DETALHADA DA INVENÇÃODETAILED DESCRIPTION OF THE INVENTION

A presente invenção se refere a comunicações de dados, e mais particularmente a comunicações de dados de um tipo similar a IEEE 802.16 no qual a largura de faixa de enlace ascendente é alocada em uma base por assinante, em vez de em uma base por conexão. Para permitir a gestão otimizada da largura de faixa, estações de assinante (incluindo equipamento estacionário e móvel, por exemplo computadores sem fios, assistentes digitais pessoais sem fios, e o similares) são equipadas com um programador. Um programador é um componente da estação de assinante que aloca recursos de comunicação, tais como largura de faixa de enlace ascendente, sobre conexões em operação. No contexto presente, uma conexão se refere a um trajeto entre dois terminais, tais como a estação de assinante em um extremo, e uma estação de base no outro extremo.The present invention relates to data communications, and more particularly to data communications of a type similar to IEEE 802.16 in which the uplink bandwidth is allocated on a per subscriber basis rather than on a per connection basis. To enable optimal bandwidth management, subscriber stations (including stationary and mobile equipment such as wireless computers, personal digital wireless assistants, and the like) are equipped with a programmer. A programmer is a subscriber station component that allocates communication resources, such as uplink bandwidth, over operating connections. In the present context, a connection refers to a path between two terminals, such as the subscriber station at one end, and a base station at the other end.

Como levantado em muitos documentos da arte anterior, a alocação de recursos de comunicação é uma tarefa delicada, com muitas conseqüências. Uma alocação de recursos inapropriada pode resultar em algumas conexões terem boa qualidade de serviço, e outras conexões terem têm escassamente qualquer serviço. Além disso, muitos algoritmos de alocação conhecidos requerem capacidades de processamento extensas que podem resultar em maior consumo de energia e assim não são apropriados para aplicações limitadas em e processamento e sensíveis a energia, tais como aplicações sem fios.As pointed out in many prior art documents, the allocation of communication resources is a delicate task with many consequences. Inappropriate resource allocation may result in some connections having good quality of service, and other connections having sparsely any service. In addition, many known allocation algorithms require extensive processing capabilities that can result in higher power consumption and thus are not suitable for limited processing and energy sensitive applications such as wireless applications.

Um das particularidades adicionais das comunicações de dados como o IEEE 802.16 é o fato que a estação base, em uma base necessitada, executa a alocação de largura de faixa dinamicamente. A necessidade é baseada em uma percepção na estação base das exigências do assinante, da qualidade definida de serviço para cada conexão estabelecida quando disponível, e da largura de faixa de enlace ascendente disponível. Assim a largura de faixa de enlace ascendente alocada a cada assinante não é conhecida com antecedência, e dinamicamente modificada pela estação base. A largura de faixa de enlace ascendente alocada pela estação base é comunicada à estação de assinante por mensagens UL-MAP (acrônimo usado para representar um conjunto de informações que define todo o acesso para um intervalo de programação). As UL-MAP são radiodifundidas a partir da estação base para todas as estações de assinante e definem um intervalo de uso da largura de faixa de enlace ascendente. O intervalo de uso da largura de faixa de enlace ascendente pode ser atribuído a um endereço de unidifusão, de multidifusão ou de radiodifusão. Quando a estação de assinante recebe o tamanho da concessão, ela então deve executar algumas escolhas quanto a como a concessão deve ser alocada através das várias conexões, tarefa que é executada tipicamente pelo programador, (daqui em diante chamado um tamanho de concessão).One of the additional features of data communications such as IEEE 802.16 is the fact that the base station, on a needy basis, performs bandwidth allocation dynamically. The need is based on a perception at the base station of subscriber requirements, the defined quality of service for each established connection when available, and the available uplink bandwidth. Thus the uplink bandwidth allocated to each subscriber is not known in advance, and dynamically modified by the base station. The uplink bandwidth allocated by the base station is communicated to the subscriber station by UL-MAP messages (acronym used to represent a set of information that defines all access for a programming interval). UL-MAPs are broadcast from the base station to all subscriber stations and define a range of uplink bandwidth usage. The uplink bandwidth usage range can be assigned to a unicast, multicast, or broadcast address. When the subscriber station receives the lease size, it must then make some choices as to how the lease should be allocated across various connections, a task that is typically performed by the programmer, (hereinafter called a lease size).

Referência é feita agora à figura 1 que descreve um fluxograma exemplificativo para manipulação por uma estação de assinante de uma concessão Unicast conforme Padrão IEEE 802.16. Após a recepção do UL-MAP, este último é processado primeiro (etapa 110). Então, verificação é feita na etapa 120 de se o UL-MAP recebido, se o UL-MAP recebido contém uma concessão atribuída ao Identificador de Conexão Básico do assinante (CID). Se a concessão for para CID básico, a largura de faixa é atribuída na etapa 130 e dados são enviados através das conexões de enlace ascendente. Adicionalmente, a etapa 140 também podem ser usada para enviar mensagens de solicitação de largura de faixa à estação base, para requisitar largura de faixa adicional.Reference is now made to Figure 1 depicting an exemplary flow chart for manipulation by a subscriber station of a Unicast lease according to IEEE Standard 802.16. Upon receipt of the UL-MAP, the latter is processed first (step 110). Then verification is made at step 120 of whether the received UL-MAP, whether the received UL-MAP contains a lease assigned to the subscriber's Basic Connection Identifier (CID). If the lease is for basic CID, bandwidth is assigned in step 130 and data is sent over uplink connections. Additionally, step 140 may also be used to send bandwidth request messages to the base station to request additional bandwidth.

No contexto da presente invenção, uma primeira modalidade do método para alocar os recursos de comunicações (incluindo mais particularmente largura de faixa de enlace ascendente) da presente invenção é mostrada na figura 2. O método geralmente inclui 4 etapas principais: uma etapa de avaliar necessidades (etapa 210), uma etapa de somar as necessidades (etapa 220), uma etapa de ponderar as necessidades (etapa 230) e uma etapa de alocar os recursos (etapa 240). Mais particularmente, o método da presente invenção visa otimizar a alocação do tamanho de concessão, enquanto respeitando qualidade comprometida de serviço de todas as conexões.In the context of the present invention, a first embodiment of the method for allocating the communications resources (including more particularly uplink bandwidth) of the present invention is shown in Figure 2. The method generally includes 4 main steps: a needs assessment step. (step 210), a needs-summing step (step 220), a needs-weighting step (step 230), and a resource allocating step (step 240). More particularly, the method of the present invention aims at optimizing the allocation of lease size while respecting the compromised quality of service of all connections.

Exemplos de parâmetros de qualidade de serviço podem incluir taxa de tráfego reservada mínima (MRTR), latência máxima (ML), e todos os outros parâmetros de qualidade de serviço geralmente conhecidos para conexões. A MRTR se refere a uma quantidade mínima de dados a ser transportada a cargo da conexão, rateada no tempo. A MRTR assim representa a largura de faixa a ser garantida à conexão mesmo no advento de uma rede pesadamente carregada. A medida dos pacotes de dados para a MRTR considera o tamanho de carga útil em uma entrada de uma camada de acesso de meio (MAC), sem sobrecarga MAC e campo CRC (Checagem de Redundância Cíclica) opcional. A ML especifica uma quantidade máxima de tempo que se permite que um pacote de dados espere em uma fila de uma conexão, antes de ser transmitido. A qualidade de serviço ML será preferivelmente atendida somente quando a conexão estiver transmitindo debaixo de seu valor de MRTR. Outros parâmetros de qualidade de serviço também podem ser considerados no contexto da presente invenção, mas para facilidade de compreensão, a descrição seguinte vai se referir somente a MRTR e ML.Examples of quality of service parameters may include minimum reserved traffic rate (MRTR), maximum latency (ML), and all other commonly known quality of service parameters for connections. MRTR refers to a minimum amount of data to be carried over the connection, prorated over time. The MRTR thus represents the bandwidth to be ensured for connection even in the advent of a heavily loaded network. The data packet measurement for MRTR considers the payload size on a medium access layer (MAC) entry without MAC overhead and optional Cyclic Redundancy Check (CRC) field. ML specifies a maximum amount of time that a data packet is allowed to wait in a queue for a connection before it is transmitted. ML quality of service will preferably be met only when the connection is transmitting below its MRTR value. Other quality of service parameters may also be considered in the context of the present invention, but for ease of understanding, the following description will refer to MRTR and ML only.

Assim, após a recepção da mensagem UL-MAP, o método começa com a avaliação das necessidades na etapa 210. A avaliação das necessidades pode tomar várias formas. Por exemplo, as necessidades podem incluir apenas número de pacotes de dados que precisam ser transmitidos para atender os parâmetros de qualidade de serviço (tais como MRTR e/ou ML), ou uma combinação de parâmetros de qualidade de serviço e uma número pacotes em uma fila para cada um das conexões. Mais particularmente, conforme uma modalidade da presente invenção, a avaliação das necessidades é executada calculando um déficit (etapa 250) e calculando um superávit (etapa 260) para cada uma das conexões. Podem ser usadas várias equações para calcular o déficit de cada conexão. Tais equações podem incluir: (a) um valor máximo da MRTR e o número de pacotes na filaThus, upon receipt of the UL-MAP message, the method begins with the needs assessment in step 210. The needs assessment can take many forms. For example, requirements may include only the number of data packets that need to be transmitted to meet quality of service parameters (such as MRTR and / or ML), or a combination of quality of service parameters and a number of packets in one. queue for each of the connections. More particularly, according to one embodiment of the present invention, the needs assessment is performed by calculating a deficit (step 250) and calculating a surplus (step 260) for each of the connections. Several equations can be used to calculate the deficit of each connection. Such equations may include: (a) a maximum MRTR value and the number of packets queued

excedendo o critério de ML pré-definido para a conexão;exceeding the predefined ML criteria for the connection;

(b) comparar o valor de déficit calculado com o número de pacotes na fila para a conexão e selecionar um valor menor como o valor de déficit calculado; e(b) compare the calculated deficit value with the number of packets queued for the connection and select a smaller value as the calculated deficit value; and

(c) assegurar que o valor de déficit calculado seja maior que(c) ensure that the calculated deficit value is greater than

um cabeçalho de concessão de requisição de largura de faixa.a bandwidth request grant header.

O método prossegue com a etapa 260 para calcular o valor de superávit para cada das conexões. O valor de superávit pode consistir por exemplo de uma diferença entre o número de pacotes em fila para aquela conexão e o valor de déficit calculado.The method proceeds with step 260 to calculate the surplus value for each of the connections. The surplus value may consist for example of a difference between the number of packets queued for that connection and the calculated deficit value.

A etapa 220 de somar as necessidades inclui, conforme uma modalidade da presente invenção, duas sub-etapas de somar os déficits de todas as conexões (etapa 270), e somar o superávit de todas as conexões (etapa 280), para obter uma visão global das necessidades totais para todas as conexões.The summing step 220 includes, according to one embodiment of the present invention, two sub-steps of summing the deficits of all connections (step 270), and summing the surplus of all connections (step 280), to gain insight total needs for all connections.

O método prossegue então com a etapa de ponderar as necessidades na etapa 230. Essa etapa pode ser executada dividindo cada uma das necessidades de cada uma das conexões por uma correspondente das necessidades totais. É assim depois possível proceder com a alocação da largura de faixa de enlace ascendente para múltiplas conexões de acordo com as necessidades ponderadas (também chamado abaixo de compartilhamento calculado). Medindo as necessidades de cada conexão, e somando essas necessidades, é assim possível alocar a largura de faixa de enlace ascendente às várias conexões de uma maneira tal que seja viável, isso é justo, simples, e respeite a qualidade de exigências de serviço.The method then proceeds to the step of weighing the requirements in step 230. This step can be performed by dividing each of the needs of each of the connections by a corresponding total needs. It is then possible to proceed with the allocation of the uplink bandwidth for multiple connections according to the weighted needs (also called below calculated sharing). By measuring the needs of each connection, and adding to those needs, it is thus possible to allocate the uplink bandwidth to the various connections in a way that is feasible, fair, simple, and respecting the quality of service requirements.

Referência é feita agora simultaneamente às figuras 3a e 3b, que descrevem fluxogramas de um método de acordo com uma outra modalidade da presente invenção. O método começa na etapa 305 com uma etapa de inicializar valores para um déficit total, um superávit total e uma requisição de largura de faixa total (total_bw_req) para 0. Então o método procede para cada conexão (identificada como" i") da maneira seguinte:Reference is now made simultaneously to Figures 3a and 3b, which describe flow charts of a method according to another embodiment of the present invention. The method begins at step 305 with a step of initializing values for a total deficit, a total surplus, and a total bandwidth request (total_bw_req) to 0. Then the method proceeds for each connection (identified as "i") as follows. Following:

(a) determinar vários pacotes de dados em uma fila para essa conexão (etapa 310);(a) determine multiple data packets in a queue for this connection (step 310);

(b) se o número de pacotes de dados na fila para essa conexão(b) if the number of data packets queued for this connection

é acima de 0, proceder para a etapa 320, ou então, proceder para a etapa 325;is above 0, proceed to step 320, or proceed to step 325;

(c) obter o valor de MRTR para a conexão na etapa 320;(c) obtain the MRTR value for the connection in step 320;

(d) se o valor de MRTR para a conexão é acima de 0, proceder para a etapa 330, ou senão, proceder para a etapa 335;(d) If the MRTR value for the connection is above 0, proceed to step 330, or else proceed to step 335;

(e) na etapa 330, determinar vários pacotes de dados que(e) in step 330, determine various data packets that

excedem a ML pré-definida para a conexão;exceed the predefined ML for the connection;

(f) na etapa 335, ajustar o número de pacotes de dados que excedem a ML pré-definida para a conexão em 0;(f) in step 335, set the number of data packets exceeding the predefined ML for the connection to 0;

(g) em seguida, na etapa 340, o valor de déficit é calculado da maneira seguinte: déficit = max (MRTR, último); déficit = min (número de pacotes de dados na fila, déficit); déficit = max (tamanho de (cabeçalho de bw-req) déficit);(g) then, at step 340, the deficit value is calculated as follows: deficit = max (MRTR, last); deficit = min (number of data packets queued, deficit); deficit = max (size of (bw-req header) deficit);

(h) adicionalmente na etapa 340, o valor de superávit é calculado da maneira seguinte: superávit = # de pacotes em fila - valor de déficit;(h) Additionally in step 340, the surplus value is calculated as follows: surplus = # of packets queued - deficit value;

(i) na etapa 345, o valor de déficit e valor de superávit calculados para a conexão são adicionados ao valor de déficit total, valor de superávit total, e valor de requisição de largura de faixa total;(i) in step 345, the calculated deficit value and surplus value for the connection are added to the total deficit value, total surplus value, and total bandwidth request value;

(j) e na eventualidade que não haja nenhum pacote na fila, o método procede para a etapa 325, onde o valor de MRTR, o último valor, o valor de déficit e valor de superávit para a conexão são todos ajustados a 0.(j) and in the event that there is no packet in the queue, the method proceeds to step 325, where the MRTR value, the last value, the deficit value, and the surplus value for the connection are all set to 0.

Em seguida, o método continua na figura 3 b, onde uma primeira verificação é executada na etapa 350 para determinar se o déficit total é maior que a largura de faixa alocada (concessão). Se o déficit total for maior que a concessão, o método procede com a etapa 355, enquanto que se o déficit total for menor que a concessão, o método procede com a etapa 360. O restante do método é executado em uma base por conexão.Next, the method continues in Figure 3b, where a first check is performed at step 350 to determine if the total deficit is greater than the allocated bandwidth (lease). If the total deficit is greater than the lease, the method proceeds with step 355, while if the total deficit is less than the lease, the method proceeds with step 360. The remainder of the method runs on a per connection basis.

Na etapa 355, o valor de déficit para a conexão é comparado com 0. Se o valor de déficit para a conexão é maior que 0, o método procede com a etapa 365, caso contrário ele é terminado. Na etapa 365, a largura de faixa alocada (também chamada compartilhamento) da largura de faixa concedida é determinada da maneira seguinte:At step 355, the deficit value for the connection is compared to 0. If the deficit value for the connection is greater than 0, the method proceeds with step 365, otherwise it is terminated. In step 365, the allocated bandwidth (also called sharing) of the granted bandwidth is determined as follows:

compartilhamento = tamanho de (cabeçalho bw-req) + (concessão - _bw_req total)* (déficit/déficittotal);share = size of (bw-req header) + (grant - _bw_req total) * (deficit / total deficit);

compartilhamento = min (déficit, compartilhamento); compartilhamento = max (tamanho de (cabeçalho sizeof(bw_req) compartilhamento).share = min (deficit, share); share = max (size of (sizeof header (bw_req) share)).

O método continua então na etapa 370 deduzindo do valor de requisição de largura de faixa total o tamanho do cabeçalho bandreq.The method then continues at step 370 by deducting from the total bandwidth request value the size of the bandreq header.

Alternativamente, na eventualidade que o valor do déficit total não é maior que a concessão, o método procede com a etapa 360, onde uma determinação é feita sobre o número de pacotes na fila. Na eventualidade que o número de pacotes na fila para a conexão é maior que 0, o método continua com a etapa 375, caso contrário, ele é terminado.Alternatively, in the event that the total deficit value is not greater than the lease, the method proceeds with step 360, where a determination is made on the number of packets in the queue. In the event that the number of packets queued for the connection is greater than 0, the method continues with step 375, otherwise it is terminated.

Na etapa 375, a largura de faixa alocada para a conexão é calculada da maneira seguinte:At step 375, the allocated bandwidth for the connection is calculated as follows:

compartilhamento = déficit + (concessão - déficit total)*(superávit/ superávit total);share = deficit + (concession - total deficit) * (surplus / total surplus);

compartilhamento = min (total, compartilhamento); ] compartilhamento = max (tamanho de (cabeçalho bw req), compartilhamento).share = min (total, share); ] share = max (size of (bw req header), share).

O método continua então na etapa 380 com re-cálculo do déficit total e do superávit total. Finalmente, na etapa 385, o valor da concessão é também recalculado para deduzir o compartilhamento alocado à conexão.The method then continues at step 380 with recalculation of the total deficit and the total surplus. Finally, at step 385, the lease amount is also recalculated to deduce the share allocated to the connection.

Com referência agora à figura 4, é ilustrado um programador esquemático 400 de acordo com uma modalidade da presente invenção. O programador 400 da presente invenção está principalmente composto de um módulo de informação 410, um módulo de cálculo 420 e um módulo de atribuição 430. O módulo de informação 410 identifica as necessidades de cada uma das pluralidades de conexões. As necessidades podem ser determinadas comparando critérios de qualidade de serviço acordados armazenados por conexão e informação de estado coletada para cada uma das conexões. Exemplos de critérios de qualidade de serviço podem incluir MRTR, ML, etc..) A informação de estado inclui o número de pacotes em fila para a conexão. Informações de estado adicionais poderiam ser obtidas por exemplo comunicando 440 com um policiador de tráfego para obter taxa de transmissão de cada uma das conexões de enlace ascendente. O módulo de informação 410 também pode obter informação sobre o retardo sofrido por cada pacote nas filas comparando um tempo atual com um selo de tempo aplicado sobre cada pacote ao entrar em uma camada de MAC.Referring now to Figure 4, a schematic programmer 400 according to one embodiment of the present invention is illustrated. The programmer 400 of the present invention is mainly composed of an information module 410, a calculation module 420 and an assignment module 430. The information module 410 identifies the needs of each of the plurality of connections. Needs can be determined by comparing agreed quality of service criteria stored per connection and state information collected for each of the connections. Examples of quality of service criteria may include MRTR, ML, etc.) Status information includes the number of packets queued for the connection. Additional state information could be obtained for example by communicating 440 with a traffic cop to obtain baud rate from each of the uplink connections. Information module 410 can also obtain information about the delay experienced by each packet in queues by comparing a current time with a time stamp applied to each packet when entering a MAC layer.

Os resultados do módulo de informação são entãoThe results of the information module are then

comunicados ao módulo de cálculo 420. O módulo de cálculo 420 soma as necessidades de cada conexão para obter necessidades totais para todas as conexões. O módulo de cálculo 420 calcula ainda o valor de déficit e valor de superávit para cada conexão. O módulo de cálculo 420 ainda soma os valores de déficit e valores de superávit de todas as conexões para obter o valor de déficit total e o valor de superávit total. O módulo de cálculo 420 pondera ainda as necessidades de cada conexão com necessidades totais correspondentes para obter um valor de uma compartilhamento de largura de faixa para cada conexão. Então, os resultados do módulo de cálculo 420 são comunicados ao módulo de atribuição 430, cuja tarefa é alocar a largura de faixa concedida para cada conexão de acordo com o compartilhamento calculado.communicated to calculation module 420. Calculation module 420 sums the needs of each connection to obtain total requirements for all connections. Calculation module 420 further calculates the deficit value and surplus value for each connection. Calculation module 420 further sums the deficit values and surplus values of all connections to obtain the total deficit value and the total surplus value. Calculation module 420 further weights the needs of each connection with corresponding total needs to obtain a value of one bandwidth share for each connection. Then, the results of calculation module 420 are communicated to assignment module 430, whose task is to allocate the leased bandwidth for each connection according to the calculated share.

O módulo de informação 410, o módulo de cálculo 420 e o módulo de atribuição 430 poderiam consistir respectivamente em material de hardware, montado em uma placa ou incorporado dentro de conjunto de chip, ou alternativamente, ser implementados na forma de um software.The information module 410, the calculation module 420 and the assignment module 430 could consist respectively of hardware material, mounted on a board or embedded within the chip set, or alternatively be implemented in the form of software.

A presente invenção foi descrita a título de modalidade preferida. Deve ficar claro para aquele qualificado na arte que as modalidades preferidas descritas são apenas para fins exemplificativos, e não devem ser interpretado para limitar o escopo da presente invenção. O método e programador como descritos na descrição de modalidades preferidas podem ser modificados sem sair do escopo da presente invenção. O escopo da presente invenção deve ser definido por referência às reivindicações anexas que claramente delimitam a proteção buscadaThe present invention has been described by way of preferred embodiment. It should be clear to one skilled in the art that the preferred embodiments described are for exemplary purposes only, and should not be construed to limit the scope of the present invention. The method and programmer as described in the description of preferred embodiments may be modified without departing from the scope of the present invention. The scope of the present invention should be defined by reference to the appended claims that clearly delimit the protection sought.

Claims (19)

1. Método de alocar recursos de comunicação entre uma pluralidade de conexões, o método caracterizado pelo fato de que compreende as etapas de: avaliar necessidades de cada conexão; somar as necessidades de cada conexão para obter necessidades totais para todas conexões; ponderar as necessidades de cada conexão com correspondentes dentre as necessidades totais; e alocar os recursos de comunicação entre a pluralidade de conexões conforme as necessidades ponderadas.1. Method of allocating communication resources among a plurality of connections, the method characterized by the fact that it comprises the steps of: assessing the needs of each connection; add the needs of each connection to get total needs for all connections; weigh the needs of each connection with correspondents from the total needs; and allocating communication resources among the plurality of connections as the need arises. 2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as necessidades incluem um número de pacotes em fila para a conexão sendo avaliada, e uma taxa de tráfego de reserva mínima (MRTR) para a conexão.Method according to claim 1, characterized in that the requirements include a number of packets queued for the connection being evaluated, and a minimum reserve traffic rate (MRTR) for the connection. 3. Método de acordo com a reivindicação 2, caracterizado pelo fato de que as necessidades incluem um número de pacotes em fila excedendo um critério predefinido de latência máxima (ML).Method according to claim 2, characterized in that the requirements include a number of queued packets exceeding a predefined maximum latency (ML) criterion. 4. Método de acordo com a reivindicação 3, caracterizado pelo fato de que a etapa de ponderar as necessidades é executada dividindo as necessidades de cada da conexão pelas necessidades totais.Method according to claim 3, characterized in that the step of weighing the needs is performed by dividing the needs of each of the connection by the total needs. 5. Método de acordo com a reivindicação 3, caracterizado pelo fato de que a etapa de avaliar necessidades inclui: calcular um valor de déficit para a conexão, o valor de déficit sendo igual a um valor máximo da MRTR e o número de pacotes em fila excedendo o critério predefinido de ML para a conexão.Method according to claim 3, characterized in that the step of assessing needs includes: calculating a deficit value for the connection, the deficit value being equal to a maximum MRTR value and the number of packets queued exceeding the default ML criteria for the connection. 6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a etapa de calcular o valor de déficit ainda inclui comparar o valor de déficit calculado com o número de pacotes em fila para a conexão e selecionar um valor menor como o valor de déficit calculado.Method according to claim 5, characterized in that the step of calculating the deficit value further includes comparing the calculated deficit value with the number of packets queued for the connection and selecting a smaller value as the value of calculated deficit. 7. Método de acordo com a reivindicação 6, caracterizado pelo fato de que a etapa de calcular o valor de déficit ainda assegura que o valor de déficit calculado é maior que um cabeçalho de concessão de requisição de largura de faixa.Method according to claim 6, characterized in that the step of calculating the deficit value further ensures that the calculated deficit value is larger than a bandwidth request grant header. 8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que inclui ainda uma etapa de calcular um valor de superávit para cada uma das conexões, o valor de superávit sendo igual a uma diferença entre o número de pacotes em fila para aquela conexão e o valor de déficit calculado.Method according to claim 7, characterized in that it further includes a step of calculating a surplus value for each of the connections, the surplus value being equal to a difference between the number of packets queued for that connection. and the calculated deficit value. 9. Método de acordo com a reivindicação 8, caracterizado pelo fato de que a etapa de somar as necessidades de cada conexão para obter necessidades totais para todas as conexões inclui somar o déficit calculado e superávit de todas as conexões para obter déficit total e superávit total.Method according to claim 8, characterized in that the step of summing the needs of each connection to obtain total needs for all connections includes summing the calculated deficit and surplus of all connections to obtain total deficit and total surplus. . 10. Programador caracterizado pelo fato de que compreende: um módulo de informação para identificar necessidades de cada uma de uma pluralidade de conexões; um módulo de cálculo para somar as necessidades de cada conexão para obter necessidades totais para todas as conexões e para ponderar as necessidades de cada conexão com correspondentes dentre as necessidades totais; e um módulo de concessão para alocar recursos de comunicação dentre a pluralidade de conexões de acordo com as necessidades ponderadas.10. Programmer characterized by the fact that it comprises: an information module for identifying needs of each of a plurality of connections; a calculation module to sum the needs of each connection to obtain total requirements for all connections and to weight the needs of each connection with correspondents from total needs; and a grant module for allocating communication resources among the plurality of connections according to weighted needs. 11. Programador de acordo com a reivindicação 10, caracterizado pelo fato de que a identificação das necessidades é baseada na qualidade armazenada acordada de critérios de serviço por conexão e informação de estado coletada para cada uma das conexões.Programmer according to claim 10, characterized in that the identification of needs is based on the agreed stored quality of service criteria per connection and state information collected for each of the connections. 12. Programador de acordo com a reivindicação 11, caracterizado pelo fato de que as necessidades incluem um número de pacotes em fila para a conexão que é avaliada, e uma taxa de tráfego mínima reservada (MRTR) para a conexão.Programmer according to claim 11, characterized in that the requirements include a number of packets queued for the connection being evaluated, and a minimum reserved traffic rate (MRTR) for the connection. 13. Programador de acordo com a reivindicação 12, caracterizado pelo fato de que as necessidades incluem ainda um número de pacotes em fila excedendo um critério predefinido de latência máxima (ML).Programmer according to claim 12, characterized in that the requirements further include a number of queued packets exceeding a predefined maximum latency (ML) criterion. 14. Programador de acordo com a reivindicação 13, caracterizado pelo fato de que a ponderação das necessidades é executada dividindo as necessidades de cada uma das conexões pelas necessidades totais.Programmer according to claim 13, characterized in that the needs balancing is performed by dividing the needs of each of the connections by the total needs. 15. Programador de acordo com a reivindicação 14, caracterizado pelo fato de que o módulo de cálculo calcula ainda um valor de déficit para cada uma das conexões, o valor de déficit sendo igual a um valor máximo da MRTR e o número de pacotes em fila excedendo o critério predefinido de ML para a conexão.Programmer according to claim 14, characterized in that the calculation module further calculates a deficit value for each of the connections, the deficit value being equal to a maximum MRTR value and the number of packets queued. exceeding the default ML criteria for the connection. 16. Programador de acordo com a reivindicação 15, caracterizado pelo fato de que o cálculo do valor de déficit inclui ainda comparar o valor de déficit calculado com o número de pacotes em fila para a conexão e selecionar um valor menor como o valor de déficit calculado.Programmer according to claim 15, characterized in that the calculation of the deficit value further includes comparing the calculated deficit value with the number of packets queued for the connection and selecting a smaller value as the calculated deficit value. . 17. Programador de acordo com a reivindicação 16, caracterizado pelo fato de que o cálculo do valor de déficit inclui ainda assegurar que o valor de déficit calculado é maior que um cabeçalho de concessão de requisição de largura de faixa.Programmer according to claim 16, characterized in that the calculation of the deficit value further includes ensuring that the calculated deficit value is greater than a bandwidth request grant header. 18. Programador de acordo com a reivindicação 17, caracterizado pelo fato de que o módulo de cálculo calcula ainda um valor de superávit para cada uma das conexões, o valor de superávit sendo igual a uma diferença entre o número de pacotes em fila para aquela conexão e o valor de déficit calculado para aquela conexão.Programmer according to claim 17, characterized in that the calculation module further calculates a surplus value for each of the connections, the surplus value being equal to a difference between the number of queued packets for that connection. and the calculated deficit value for that connection. 19. Programador de acordo com a reivindicação 18, caracterizado pelo fato de que o módulo de cálculo soma ainda o déficit e superávit calculados de todas as conexões para obter um déficit total e um superávit total.Programmer according to Claim 18, characterized in that the calculation module further sums the calculated deficit and surplus of all connections to obtain a total deficit and a total surplus.
BRPI0721380-8A 2007-02-28 2007-02-28 Method of allocating communication resources between a plurality of connections and a programmer BRPI0721380A2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2007/000317 WO2008104045A1 (en) 2007-02-28 2007-02-28 Method of allocating communications resources and scheduler therefore

Publications (1)

Publication Number Publication Date
BRPI0721380A2 true BRPI0721380A2 (en) 2013-01-15

Family

ID=39720802

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0721380-8A BRPI0721380A2 (en) 2007-02-28 2007-02-28 Method of allocating communication resources between a plurality of connections and a programmer

Country Status (2)

Country Link
BR (1) BRPI0721380A2 (en)
WO (1) WO2008104045A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE8903455D0 (en) * 1989-10-19 1989-10-19 Joakim Nelson DYNAMIC DIGITAL CONNECTION UNIT (DFN)
US6205133B1 (en) * 1996-11-25 2001-03-20 Ericsson Inc. Flexible wideband architecture for use in radio communications systems
US6925068B1 (en) * 1999-05-21 2005-08-02 Wi-Lan, Inc. Method and apparatus for allocating bandwidth in a wireless communication system
US7107326B1 (en) * 2000-10-13 2006-09-12 3Com Corporation Method and system for integrating IP address reservations with policy provisioning
CA2437476A1 (en) * 2001-02-06 2002-08-15 Harris Corporation System and method for demodulator state controller

Also Published As

Publication number Publication date
WO2008104045A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
KR100989777B1 (en) Methods and apparatus for enhanced delivery of content over a data network
US7729308B2 (en) Optimal allocation of resources in a wireless communication system
US7969881B2 (en) Providing proportionally fair bandwidth allocation in communication systems
JP2004140604A (en) Wireless base station, control apparatus, wireless communication system, and communication method
JP5123317B2 (en) Recalculation of airtime allocation in WLAN to use up bandwidth
WO2009074095A1 (en) A method, system and apparatus for adjusting users' quality of service
EP4007333A1 (en) Control device, control method, and program
EP1817878B1 (en) Fair air-time transmission regulation without explicit traffic specifications for wireless networks
Seah et al. Combined communication and computing resource scheduling in sliced 5G multi-access edge computing systems
US8965388B2 (en) Fast efficient resource distribution in long term evolution communication network scheduling
Kim et al. Calculation method of spectrum requirement for IMT-2020 eMBB and URLLC with puncturing based on M/G/1 priority queuing model
EP2874361B1 (en) Method and device for transmitting enhanced transmission selection standard configuration information
Valencia et al. Scheduling alternatives for mobile WiMAX end-to-end simulations and analysis
BRPI0721380A2 (en) Method of allocating communication resources between a plurality of connections and a programmer
CN113905448B (en) Wireless network resource scheduling method, device and equipment
Furqan et al. LTE_FICC: A New Mechanism for Provision of QoS and Congestion Control in LTE/LTE-Advanced Networks
Gao et al. Guaranteed service and delay-constrained capacity of a multi-channel cognitive secondary network
EP3065502A1 (en) Access node device for managing upstream network traffic
TWI786839B (en) Adaptive network slice generation system for multiple traffic types in 5g core network and method thereof
JP7252854B2 (en) Control device, control method and program
Al-Khasib et al. Mini round robin: an enhanced frame-based scheduling algorithm for multimedia networks
Sonia et al. Load Balancing Efficiency Improvement Using Hybrid Scheduling Algorithm in LTE Systems
Chen et al. Dual Threshold Scheduling for VoIP Traffic on Downlink of WiMAX Networks.
CN115915260A (en) Resource scheduling method and device, communication method and device, and readable storage medium
Gandhimathi et al. Ensuring QOS in WiMAX Networks

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]