PT1336279E - Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais - Google Patents

Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais Download PDF

Info

Publication number
PT1336279E
PT1336279E PT964487T PT00964487T PT1336279E PT 1336279 E PT1336279 E PT 1336279E PT 964487 T PT964487 T PT 964487T PT 00964487 T PT00964487 T PT 00964487T PT 1336279 E PT1336279 E PT 1336279E
Authority
PT
Portugal
Prior art keywords
packet
queue
packets
length
regulator
Prior art date
Application number
PT964487T
Other languages
English (en)
Inventor
Neil James Davies
Peter William Thompson
Judith Yvonne Holyer
Laura Anne Lafave
Christopher James Vowden
Graham Willmott
Original Assignee
Gos Holdings Ltd
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 Gos Holdings Ltd filed Critical Gos Holdings Ltd
Publication of PT1336279E publication Critical patent/PT1336279E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Description

DESCRIÇÃO
Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais
Referência cruzada a pedidos relacionados
Este pedido relaciona-se com os números de pedidos de patente WO 01/30060, WO 02/30066, WO 02/30062, WO 02/30065, WO 02/30061, WO 02/30063, arquivados simultaneamente em 3 de Outubro de 2000.
Campo do invento O invento refere-se genericamente à transmissão de pacotes de dados em sistemas de telecomunicações e em particular, mas não exclusivamente, à gestão de contenção dentro e entre fluxos de pacotes in store e redes de transferência.
Enquadramento do invento
Existem muitas técnicas para controlar fluxos de informações de pacotes digitais. Algumas destas técnicas envolvem o fornecimento de uma determinada qualidade de atendimento para diferentes tipos de tráfego. Existe um conjunto de requisitos gerais associados à garantia de qualidade dos níveis de atendimento. Quando a diferenciação de qualidade for proporcionada para mais de um fluxo, é necessário garantir que os diferentes requisitos de qualidade para os vários fluxos de pacote são individualmente e colectivamente satisfeitos dentro da restrição da disponibilidade de qualidade 1 finita. Para proporcionar níveis diferenciados de perda e atraso, assim como de trânsito, a quantidade de dados de entrada e o seu padrão temporal precisam de ser restringidos. A quantidade de dados de entrada atendidos, isto é, o trânsito de dados, é conhecido como gestão de longo prazo. 0 controlo do padrão temporal de dados é conhecido como gestão de curto prazo. 0 tráfego, em fluxos específicos, também precisa de ser protegido dos efeitos consequenciais das rajadas (burstiness) noutros fluxos. Por exemplo, os fluxos individuais de tráfego precisam de ser protegidos dos efeitos de protocolos tais como o TCP, que é concebido para utilização de tanta largura de banda quanto possível sem tomar em consideração outros fluxos, e de intenções maliciosas ou erros nos dispositivos finais da rede. Também é necessário gerir o entrelaçamento de fluxos individuais dentro das restrições dos recursos disponíveis. A gestão da qualidade de atendimento é particularmente difícil na periferia ou bordo de uma rede, uma vez que os dispositivos não estão aqui sob o controlo do administrador central da rede. 0 comportamento destes dispositivos não pode, por isso, ser assumido ou previsto. A crescente diversidade em aplicações, tráfego e convergência também complica a gestão da qualidade de atendimento. Tráfego diferente tem diferentes requisitos de qualidade de atendimento, e as consequência do atraso e / ou perda diferem para diferente tráfego de acordo com a interpretação que lhes é dada por uma aplicação. A possibilidade de replicar dispositivos de rede para permitir o tráfego com diferentes requisitos de qualidade a ser fisicamente separado e processado é impraticável, uma vez que a implementação de dispositivos de rede é dispendiosa. Por este motivo, é indesejável gerir a qualidade de atendimento de diferente tráfego usando um único dispositivo de rede. 2
Existe actualmente uma tendência para a formação de padrões de tráfego como padrões de débito binário constante, com o objectivo de aumentar a previsibilidade. Isto é um controlo deterministico que se foca na melhoria das caracteristicas de perda e eficiência de uma rede. No entanto, estas técnicas têm a desvantagem de a garantia de qualidade na presença de "overbooking" exigir um conhecimento global total do comportamento das fontes na rede, tal como os seus tempos de on/off, a sua fase relativa, e os efeitos da sua história passada no estado da rede. A chegada de pacotes de dados provenientes de diferentes fontes é inerentemente incontrolável. É impossível conhecer o seu momento exacto e a sua fase relativa. Em determinadas condições, estas propriedades manifestam-se pelo fornecimento de um atendimento extremamente indevido a alguns ou a todos os fluxos de dados. 0 pedido de patente co-pendente n° WO 02/30060 divulga uma técnica na qual a competição para recursos se torna um processo mais previsível por via da introdução de folgas entre pacotes que descodificam os fluxos. Ao alocar folgas variáveis entre pacotes e fluxos de dados para abordar este assunto, tomou-se cuidado para garantir que padrões recorrentes de dimensões de pacotes provocam interferência mútua entre os fluxos. É por isso um objecto do presente invento proporcionar uma técnica melhorada para controlar os fluxos de informações num sistema de transmissão de dados que permita melhorar o controlo da qualidade dos requisitos de atendimento para diferentes tipos de tráfego. 0 documento US 6,003,089 divulga uma rede de dados em pacote no qual a dimensão do pacote pode ser alterada combinando dois pacotes. 3 0 documento US 6,064,678 divulga um processo de alocação de comprimentos de pacote óptimos num sistema de comunicação com taxa variável. O documento EP 254047 divulga um dispositivo de controlo para utilização numa rede de área local de comutação de pacotes para monitorização de um débito e calcular um comprimento de pacote médio.
Resumo do invento
De acordo com o presente invento, é proporcionado um processo de acordo com a reivindicação 1 de controlo de um fluxo de informações num sistema de transmissão de dados compreendendo: a recepção de uma pluralidade de pacotes de dados a uma taxa de amostragem recebida, cada um apresentando um comprimento de pacote físico recebido; caracterizado por as etapas que consistem em: determinar uma taxa de atendimento para cada um dos pacotes; para cada pacote, afectar um comprimento de pacote conceptual para o pacote, o comprimento de pacote conceptual representando uma duração de atendimento para o pacote, na base da taxa de atendimento determinada para o pacote e no comprimento de pacote físico do pacote; e planear cada pacote em função do comprimento de pacote conceptual respectivo. A alocação de um tal comprimento variável a um pacote físico para facilitar o subsequente processamento destes pacotes aborda o problema acima mencionado. O comprimento de pacote conceptual pode ser superior ou inferior ao comprimento de pacote físico recebido. 4 0 processo pode ainda compreender o passo de gerar um fluxo de informações modificado no qual o espaçamento entre os pacotes e a taxa de atendimento é variável. 0 presente invento proporciona ainda um controlador de acordo com a reivindicação 17 para controlar um fluxo de informações num sistema de transmissão de dados compreendendo: meios de entrada para receber uma pluralidade de pacotes de dados a uma taxa de amostragem recebida, cada pacote tendo um comprimento de pacote físico recebido; caracterizado por: meios de alocação para alocar a cada pacote um comprimento de pacote conceptual, o comprimento de pacote conceptual representando uma duração de atendimento para o pacote, na base de uma taxa de atendimento determinada para o pacote e no comprimento de pacote físico do pacote; e meios de saída para gerar a saída dos pacotes, cada pacote estando planeado em função do comprimento de pacote conceptual respectivo. 0 controlador pode ainda compreender meios de modificação para gerar um fluxo de informações modificado no qual os pacotes estejam espaçados variavelmente. Os meios de modificação podem compreender um modulador.
Breve descrição das figuras 0 invento será melhor entendido através do exemplo com referência às figuras acompanhantes, nas quais: a figura 1 é um diagrama de blocos da arquitectura de um multiplexador de acordo com uma forma de realização exemplificativa do invento; 5 a figura 2 ilustra o principio de colocação em fila de espera de acordo com uma forma de realização exemplificativa do invento; a figura 3 ilustra o principio de alocação de níveis de prioridade de acordo com uma forma de realizaçao exemplificativa do invento; a figura 4 ilustra o princípio de atendimento estocástico de pacotes de acordo com uma forma de realização exemplificativa do invento; a figura 5 ilustra o princípio do comprimento de pacote conceptual de acordo com a forma de realização exemplificativa do invento; as figuras 6a e 6b ilustram o princípio de desdobramento de Reguladores/Policiadores (shaper/policer) de acordo com uma forma de realização exemplificativa do invento; a figura 7 ilustra o princípio de definição de um tráfego transportado em função de um tráfego oferecido numa forma de realização exemplificativa do presente invento; a figura 8 ilustra uma forma de realização exemplificativa de um Policiador/Regulador para implementar o presente invento; a figura 9 ilustra uma forma de realização exemplificativa de um multiplexador cuidar/urgência (cherish/urgency) para implementar o presente invento; a figura 10 ilustra o perfil de tráfego para a implementação de um Policiador/Regulador exemplificativo.
Descrição da forma de realização preferida A figura 1 é um diagrama que ilustra a arquitectura de um multiplexador básico em relação ao qual a operação do presente 6 invento está aqui descrita. Deverá notar-se que a aplicação do presente invento não está limitada à arquitectura especifica ilustrada na fiqura 1, e quem tem competência na técnica tomará em consideração, a partir da leitura da descrição seguinte, a aplicabilidade geral do presente invento. 0 multiplexador exemplificativo da figura 1 multiplexa fluxos de dados numa rede baseada em pacotes, como será descrito em maior detalhe abaixo. 0 multiplexador exemplificativo compreende uma interface de entrada 100, um identificador de fluxo 102, uma pluralidade de Policiadores/Reguladores 104, um multiplexador cuidar/urgência 106, um limitador de velocidade 108, uma interface de saída 110, uma memória de fila de espera 112, e um gestor de memória de fila de espera 114. 0 multiplexador recebe, como entrada nas linhas 116, um fluxo de informações. O fluxo de informações compreende pacotes que podem ser associados a diferentes tipos de tráfego de dados. Os pacotes podem ser recebidos em paralelo ou em série. A entrada na linha 116 pode receber fluxos de informações em paralelo. Os fluxos de dados de entrada 116 podem conter pacotes associados a diferentes tipos de tráfego. Para efeitos do exemplo descrito, assume-se que o fluxo de dados inclui um fluxo de voz sobre IP, um fluxo de transferência de dados em bloco, e um fluxo de tráfego telnet. A interface de entrada 100 proporciona a funcionalidade básica necessária para receber pacotes de dados transmitidos de um sistema ou dispositivo externos através de um meio de transmissão. A interface de entrada 100 recebe pacotes do fluxo de dados de entrada 116 e encaminha os pacotes recebidos, de preferência em paralelo, nas linhas 118, quer para o identificador de fluxo 102, quer para o gestor de memória da 7 fila de espera 114. A interface de entrada pode ter uma funcionalidade que é adequada para o sistema ou dispositivo externo especifico de onde provêm os pacotes no fluxo de dados de entrada 116. A interface de entrada não é directamente responsável por qualquer processamento relacionado com a gestão da qualidade do fluxo de dados de acordo com o presente invento. A interface de entrada pode ter alguma funcionalidade básica para executar uma verificação inicial aos pacotes recebidos no fluxo de dados de entrada. Por exemplo, se for recebido um pacote corrompido, a interface de entrada pode rejeitar o pacote. A estrutura da interface de entrada é dependente da implementação. A funcionalidade básica da interface de entrada, requerida para executar quaisquer caracteristicas desejadas, será evidentes aos peritos na especialidade. 0 gestor de memória de fila de espera 114 é responsável por gerir um conjunto de filas de espera e uma zona de armazenamento de pacotes. O gestor de memória de fila de espera 114 recebe pacotes da interface de entrada 100. À chegada de um pacote, o gestor de memória de fila de espera aloca um identificador único ao pacote, e envia o identificador do pacote ao identificador de fluxo 102 na linha 140. O gestor de memória de fila de espera guarda, além disso, o pacote numa memória intermédia de pacote. O gestor de memória de fila de espera também aloca um contador de referência ao pacote, e coloca em zero o contador de referência para que esse pacote. Como será melhor descrito abaixo, o contador de referência é usado pelo gestor de memória de fila de espera para determinar se o pacote associado ao contador de referência está ainda a ser processado pelo multiplexador 100, ou se deverá ser 8 removido de (ou não introduzido inicialmente) na memória de fila de espera 112. 0 identificador de pacote é um identificador que identifica unicamente um pacote. O identificador de pacote identifica unicamente o pacote para efeitos de armazenamento dos identificadores de pacote na memória de fila de espera 112, tal como está descrito mais abaixo, e distingue cada pacote de outros pacotes na memória. Numa implementação simples, o identificador de pacotes é um número, cada pacote sendo alocado a um identificador de pacote sendo o número seguinte na sequência. Em alternativa, o identificador de pacote pode ser composto por uma informação única do cabeçalho do pacote. Em sistemas nos quais a dimensão do pacote é variável, o comprimento do pacote pode ser incluído no identificador de pacote. 0 identificador de fluxo 102 também recebe os pacotes da interface de entrada nas linhas 118, e recebe o identificador de pacote, para cada pacote na linha 140, do gestor de memória de fila de espera 114. O identificador de fluxo 102 é responsável por determinar a que fluxo pertence cada pacote. Assim, por exemplo, o identificador de fluxo determinará se um pacote específico está associado a um fluxo de voz sobre IP, um fluxo de transferência de dados em bloco ou um fluxo de tráfego telnet. De acordo com o fluxo ao qual o identificador de pacote recebido específico pertence, o identificador de fluxo encaminha o identificador de pacote para esse pacote para um dos policiadores/reguladores 104, para processamento adicional.
Como será evidente a partir da descrição seguinte, o remanescente do processamento baseia-se no identificador do pacote e não no pacote. O identificador de pacote proporciona, com vantagem, uma representação eficiente do pacote. Como será 9 descrito de seguida, os identificadores de memória de fila de espera e de pacote garantem que a posição original na sequência de cada pacote individual não se perde na operação de multiplexagem.
Os policiadores/reguladores 104 são uma variante operacional de uma fila de espera FIFO (primeiro a entrar, primeiro a sair), na qual existe um processamento subsidiário associado à introdução e remoção de elementos da fila de espera. Estas filas de espera FIFO são bem conhecidas, e a sua implementação estará bem dentro do âmbito de um perito na especialidade. A configuração dos policiadores/reguladores está dependente da implementação.
No exemplo simples ilustrado na figura 1, assume-se que um policiador/regulador está alocado a cada um dos diferentes tipos de fluxos de tráfego que é recebido. Assim, por exemplo, o regulador/policiador 104a está alocado o tráfego voz sobre IP, o policiador/regulador 104b está alocado o tráfego de transferência de dados em bloco, e o policiador/regulador 104c está alocado o tráfego telnet. 0 policiador/regulador 104d está ilustrado na figura 1 por meio de ilustração de meios para gestão de pacotes associados a fluxos que não os processados pelos policiadores/reguladores 104a a 104c. Assim, o identificador de fluxo 102 encaminha os identificadores de pacote associados a pacotes voz sobe IP na linha 120a ao policiador/regulador 104a, encaminha os identificadores de pacote associados a pacotes de transferência de dados em bloco na linha 120b ao policiador/regulador 104b e encaminha identificadores de pacote associados a pacotes de tráfego telnet na linha 120c ao regulador/policiador 104c.
No caso de pedidos múltiplos ou outros serviços que requerem replicação (por exemplo monitorização) o identificador 10 de fluxo 106 pode encaminhar identificadores de pacote para mais do que um policiador/regulador 104.
Deverá notar-se que o identificador de fluxo 102 não encaminha pacotes para mais processamento dentro do multiplexador 100. Em vez disso, o identificador de fluxo encaminha os identificadores de pacote alocados aos pacotes para mais processamento no multiplexador 100.
Os policiadores/reguladores 104 são responsáveis pela alocação de classificações de qualidade aos pacotes num fluxo, e responsáveis pelo controlo de qualidade do fluxo quer a curto prazo quer a longo prazo através da rejeição selectiva de identificadores de pacote no fluxo e deslocação selectiva no tempo de pacotes no fluxo.
Uma função dos policiadores/reguladores é o de atender pacotes, usando os identificadores de pacotes correspondentes, com uma taxa de atendimento variável. Como resultado, os identificadores de pacotes que deixam um policiador/regulador estão espaçados variavelmente, de preferência com um espaçamento aleatório ou pseudoaleatório. 0 espaçamento aleatório dos pacotes garante que o tráfego menos urgente é o atendido eventualmente pelo multiplexador cuidar/urgência 106. 0 espaçamento variável dos pacotes à saída do policiador/regulador 104 reduz a coerência entre fluxos provenientes de fontes independentes. A criação de padrões temporais independentes aumenta a correcção dos processos de decisão do multiplexador cuidar/urgência. As classificações cuidar/urgência alocadas aos identificadores de pacote nos policiadores/reguladores não garantem, por si só, uma correcção incondicional.
Por exemplo, o atraso sentido por um pacote com um nível de baixa urgência associado depende do padrão temporal dos 11 fluxos de tráfego mais urgentes. Se dois fluxos com diferentes níveis de cuidar/urgência forem temporariamente coerentes, os pacotes mais cuidados pode sempre "ganhar" a corrida de entrada no mult iplexador cuidar/urgência 106 e / ou os dados mais urgentes podem sempre ser transmitidos em primeiro lugar. Isto torna-se estatisticamente menos provável se os fluxos tiverem pacotes espaçados de forma variável. A figura 4 ilustra dois dos policiadores/reguladores 104a e 104b da figura 1, com exemplos de fluxos de pacotes de dados nas suas entradas e saídas. O policiador/regulador 104 recebe pacotes 200 com um espaçamento constante t na sua linha de entrada 120a. 0 policiador/regulador 104 recebe identificadores de pacote 202 a um espaçamento constante t na sua linha de entrada 120b. O policiador/regulador 104a atende os identificadores de pacote na sua fila de espera para que os pacotes 200a, 200b e 200c sejam gerados na sua linha de saída 122a com um espaçamento variável entre si. De forma semelhante, o atendimento dos identificadores de pacote pelo policiador/regulador 104b resulta em identificadores de pacotes 202a, 202b e 202c na sua linha de saída 122b tendo um espaçamento variável.
Uma segunda função dos policiadores/reguladores é a de limitar o volume de tráfego num fluxo, conseguido pela rejeição selectiva de pacotes. A natureza da política de policiamento é especificada em termos de um perfil de tráfego, que é uma função (pelo menos) do tráfego oferecido (isto é, a taxa de chegada de pacotes num fluxo) . Assim, e com vantagem, pode haver diferentes características definidas para vários níveis de tráfego. Isto é, a qualidade pode ser diminuída ou aumentada à medida que a taxa de chegada aumenta. As características de transporte podem ser assim configuradas para melhor 12 corresponder aos requisitos de aplicação e para evitar os efeitos de tráfego anormal oferecido, por exemplo, ataques de negação de atendimento. A figura 7 ilustra o principio de definição de caracteristicas de transportes em termos de tráfego oferecido.
Na figura 7, o eixo dos X ilustra o tráfego oferecido e o eixo dos Y ilustra o tráfego que é transportada no momento. Como pode ver-se na figura 7, há dois níveis limite: um nível limite inferior 250 e um nível limite superior 252. Se o tráfego oferecido não exceder o valor limite 252, então o tráfego oferecido pode ser transportada dentro de garantias configuradas. Se o tráfego oferecido exceder o valor limite 252, então a transmissão do tráfego oferecido não pode ser garantido. O nível limite inferior 250 representa o tráfego mínima transportada, independentemente de quão elevado se torna o tráfego oferecido.
Assim, com referência de novo à figura 7, logo que o tráfego oferecido atinge o nível limite superior 252 e ponto 254, o tráfego transportado é ajustada para ser menor. À medida que o tráfego oferecido aumenta, o tráfego transportado continua a reduzir até ao ponto em que estabiliza e tende para o nível limite inferior 250.
Assim, a taxa de rejeição de pacote é determinada pelo tráfego oferecido. O nível limite superior define um nível ao qual a rejeição selectiva de pacotes é disparada. Os pacotes são rejeitados de preferência com base numa aproximação instantânea do tráfego oferecido. Os pacotes podem ser rejeitados probabilisticamente com base numa aproximação instantânea do tráfego oferecido. Se o tráfego oferecido resultar num tráfego transportado que excede o limite superior, o tráfego transportado é reduzido abaixo do nível limite 13 superior através da rejeição selectiva de pacotes. Quando reduzido, o tráfego transportado é reduzido de preferência para um nível acima do nível limite inferior. A redução no tráfego transportado é tanto maior quanto maior for o tráfego oferecido. 0 tráfego transportado é ainda reduzido em resposta a um aumento no tráfego oferecido.
Um policiador/regulador atinge um perfil de tráfego desejado através da rejeição selectivo de pacotes. Os pacotes são rejeitados de preferência com base numa aproximação instantânea do tráfego oferecido. A figura 10 ilustra um perfil de tráfego para uma implementação exemplificativa de um policiador/regulador. A figura 10 ilustra um perfil de tráfego para um policiador/regulador exemplificativo implementado como uma fila de espera com 10 memórias intermédias e tempos de atendimento estocásticos amostrados de uma distribuição exponencial com parâmetros de taxa μι = μ2 = ... μ9 = 1,3234, μι0 = 0,5. 0 gráfico apresenta um perfil de tráfego para um policiador/regulador implementado como uma fila de espera com 10 memória intermédias tendo tempos de atendimento amostrados a partir de uma distribuição exponencial cujo parâmetro de taxa está dependente do número de pacotes em fila de espera. Uma descrição de uma tal implementação é proporcionada num exemplo de seguida. Os parâmetros da taxa de atendimento são μι = μ2 = ... μ9 = 1,3234, μιο = 0,5, os valores numéricos para as taxas de atendimento e tráfego oferecido e transportado sendo escalados para que o nível limite superior assuma o valor 1. O perfil de tráfego ilustrado na figura 10 mostra o tráfego transportado médio quando o tráfego de chegada tem um padrão Poisson. A aplicação da teoria de fila de espera Standard permite a determinação da taxa de perda esperada. 14
Uma terceira função do policiador/regulador 104 é a de alocar classificação de cuidar/urgência aos identificadores de pacotes incluídos nas suas filas de espera. Alocando estas classificações aos identificadores de pacote, aos próprios pacotes são alocadas de forma inerente a mesma classificação. 0 princípio de níveis de cuidar/urgência está discutido no pedido de patente internacional número PCT/GB00/01569 (PWF Ref. 101926). Um nível de cuidar indica uma classe ou nível de perda para um pacote. A classe de perda indica a tendência do pacote para ser rejeitado. Um nível de urgência indica um nível de urgência com o qual o pacote deveria ser processado. Os níveis de cuidar/urgência podem, em combinação, ser considerados como constituindo um nível de prioridade para um pacote. Assim, um nível de prioridade tem dois componentes neste contexto.
Tal como discutido acima, neste policiador/regulador exemplificativo, as características de transporte para um fluxo, incluindo a alocação de níveis de cuidar/urgência, são determinadas com base no tráfego oferecido. As classificações de cuidar/urgência são alocadas com vantagem simultaneamente a identificadores de pacote com base numa função do estado corrente da fila de espera quando a classificação está a ser calculada. A probabilidade de estar num estado específico é uma função do tráfego oferecido. Esta função de classificação é configurável, e pode ser escolhida sem restrição. Por exemplo, um dado policiador/regulador pode ser configurado para alocar uma de duas classificações a pacotes com base numa escolha probabilística. A probabilidade de classificação usada pode estar relacionada com o comprimento da fila de espera. Isto é, uma tal configuração pode ser concebida para alocar maiores classificações a pacotes com uma probabilidade maior quando o tráfego oferecido é baixo. 15 A classificação de um pacote determina a perda e atraso máximos que sentirá mais provavelmente quando é multiplexado com outros fluxos à saída do policiador/regulador, como será descrito de seguida. Isto é um conceito separado do da perda e atrado que o pacote pode sentir dentro do próprio policiador/regulador. A perda sentida por um pacote no policiador/regulador depende da taxa de chegada recente do fluxo e do comprimento da fila de espera. O atraso é determinado pelas taxas de atendimento configuradas e pelo comprimento da fila de espera.
Cada um dos policiador/reguladores 104 realiza-se, de preferência, usando uma fila de espera com uma taxa de atendimento variável. Quando um policiador/regulador 140 recebe um identificador de pacote, determina se o identificador de pacote deveria ser guardado na sua fila de espera interna ou rejeitado. 0 controlo da admissão de um identificador de pacote numa fila de espera policiador/regulador será discutido mais abaixo.
Seguidamente, a operação através da qual os pacotes são admitidos ao, ou rejeitados do, policiador/regulador 104 é discutida em primeiro lugar. Para efeitos desta discussão, é usado um exemplo de um policiador/regulador utilizando um sistema de fila de espera tendo um comprimento de fila de espera de quatro, tal como está ilustrado na figura 2. Cada estado na figura 2 está identificado com o comprimento da fila de espera nesse estado. Os tempos de atendimento em cada estado são obtidos por amostragem de uma distribuição exponencial com o parâmetro de taxa μ. Os tempos de atendimento determinam a taxa conceptual de atendimento para o pacote. São usadas duas taxas de atendimento diferentes no exemplo ilustrado na figura 2. Se a fila de espera tiver no estado 1 (isto é, a fila de 16 espera só tem um pacote) então μι determina a taxa de atendimento para o pacote no principio da fila de espera. Se a fila de espera for mais comprida, por exemplo no estado 3, seria usada a taxa de atendimento μ2. Esta forma de realização exemplificativa do policiador/regulador também tem probabilidades de rejeição arbitrárias associadas a cada estado. Isto é, à chegada, existe uma probabilidade do identificador de pacote ser rejeitado arbitrariamente. Neste exemplo, a probabilidade deste acontecimento depende do estado da fila de espera quando o identificador de pacote chega. A operação de um policiador/regulador é agora descrita em termos do estado da fila de espera à chegada do identificador de pacote.
Numa primeiro caso, assume-se que a fila de espera está cheia no momento em que o identificador de pacote chega. Nesse caso, a probabilidade do identificador de pacote ser introduzido na fila de espera é zero. Isto não significa necessariamente que o pacote é automaticamente rejeitado, uma vez que o pacote pode ter sido enviado para mais do que um policiador/regulador disponível. Nesse caso, o policiador/regulador 104 encaminha um comando na sua linha respectiva 138 para decrementar a contagem de referência para o pacote associado a um identificador específico. O gestor de memória de fila de espera irá rejeitar então o pacote referenciado pelo identificador de pacote se a sua contagem de referência for 0 ou menos.
Num segundo caso, no momento de chegada de um identificador de pacote ao policiador/regulador 104, a fila de espera está quase cheia. Por exemplo, suponha-se que a fila de espera está no estado 3. No estado 3, existem 30% de probabilidades do identificador de pacotes não ser introduzido 17 na fila de espera. Se o identificador de pacote for admitido, é então guardado na fila de espera do policiador/regulador e a fila de espera passa para o estado 4. A fila de espera está então cheia, e quaisquer identificadores de pacote que cheguem antes de um identificador de pacote na fila de espera partir não serão admitidos.
Se o identificador de pacotes for introduzido na fila de espera do policiador/regulador 104, o policiador/regulador 104 envia um sinal adequado na sua linha respectiva 138 para o gestor de memória de fila de espera, indicando que o pacote associado ao identificador de pacote é para ser admitido na memória de fila de espera 112 e armazenado numa fila de espera especifica para pacotes pertencentes a este fluxo.
Quando uma partida é planeada, o identificador de pacote no inicio da fila de espera é atendido. A taxa amostrada usada para atender este identificador de pacote depende do estado da fila de espera. Com base no facto da fila de espera estar no estado 4, a taxa de atendimento da amostra usada para atender este identificador de pacote é determinada por uma variável aleatória distribuída exponencialmente com média μ2. O tempo de atendimento calculado deste pacote baseia-se na taxa de atendimento da amostra e no comprimento do pacote.
Num terceiro caso, um identificador de pacote chega num momento em que a fila de espera está quase vazia. O processamento do identificador de pacote neste caso é muito semelhante ao caso em que a fila de espera está quase cheia. Suponha-se que um identificador de pacote chega quando a fila de espera está no estado 1. Não há possibilidade do pacote ser rejeitado arbitrariamente, uma vez que se configura a probabilidade deste evento como zero. Assim, o identificador de pacote é guardado na fila de espera, e a fila de espera passa 18 para o estado 2. Se um evento de partida estiver planeado antes de outra chegada ocorrer, o identificador de pacote no principio da fila de espera é atendido com base na taxa de atendimento para o estado 2, que é μ2.
Num quarto caso o identificador de pacote chega no momento em que a fila de espera está vazia. Neste caso, como no terceiro caso, o identificador de pacote será admitido na fila de espera. A descrição contida acima assumiu que o policiador/regulador não está configurado para enviar quaisquer pacotes sem atraso. Por outras palavras, o policiador/regulador não tem, de preferência, transparência de tráfego baixa, todos os pacotes estando atrasados.
Na sua forma mais simples, baixa transparência de tráfego permite que o primeiro pacote chegue a uma fila de espera vazia para ser encaminhado imediatamente. Não obstante esta acção, a fila de espera passa para o estado 1. Os pacotes que chegam subsequentemente são processados como se este pacote estivesse presente, excepto que quando este pacote tivesse sido encaminhado no fim da sua data de validade, não é enviado. Quer um identificador de pacote tenha sido ou não encaminhado imediatamente à chegada é registado na fila de espera. Este conceito pode estender-se de forma semelhante para vários pacotes.
Antes de um identificador de pacote deixar um policiador/regulador, o policiador/regulador determina uma classificação de qualidade para esse identificador de pacote. O policiador/regulador classifica os identificadores de pacote, tal como descrito acima, com classificações de cuidar/urgência. Cada identificador de pacote tem de ser classificado com uma classificação de cuidar/urgência antes de ser encaminhado para 19 o multiplexador cuidar/urgência 106. A classificação alocada a um identificador de pacote é uma função do estado actual da fila de espera.
Assuma-se de novo um policiador/regulador tendo uma fila de espera com comprimento 4. Tal como está ilustrado na figura 2, assume-se que a fila de espera do policiador/regulador está configurada para que as taxas de atendimento para os estados 1 e 2 sejam definidos como \i2, e a possibilidade de perda arbitrária para os estados 1 e 2 é zero. Os estados 3 e 4 têm uma taxa de atendimento definida de μ2 e têm uma probabilidade de perda arbitrária de 0,3 (isto é, 30%).
Numa forma de realização preferida, cada policiador/regulador está configurado com uma classificação de cuidar/urgência principal e secundária, e a um identificador de pacote é alocada uma das classificações após a chegada. Cada estado tem uma probabilidade associada de um pacote ser classificado com a classificação principal. A probabilidade de classificação de um pacote com a classificação principal em cada estado é, neste exemplo, configurada para ser: para o estado 1, 100%; para o estado 2, 80%; para o estado 3, 60%; e para o estado 4, 40%. Estas probabilidades estão ilustradas na figura 3.
Por exemplo, a classificação principal pode ser uma classificação mais desejável do que a classificação secundária. Se o tráfego oferecido no fluxo for baixo, é mais provável que os pacotes sejam alocados com a classificação principal mais desejável, uma vez que a fila de espera estará mais frequentemente nos estados 1 ou 2. À medida que o tráfego oferecido aumenta, há uma maior probabilidade de um identificador de pacote ser alocado com a classificação secundária, o que é menos desejável, uma vez que isto poderia 20 significar que o identificador de pacote sofre mais atraso e / ou perda num multiplexador cuidar/urgência.
Com referência à descrição acima dos critérios para admissão de um identificador de pacote na fila de espera, quando um identificador de pacote é admitido na fila de espera no caso 2 (isto é, no exemplo em que a fila de espera está no estado 3 e o identificador de pacote é admitido, passando a fila de espera para o estado 4) a probabilidade de classificação do identificador de pacote com a classificação principal é de 40%, uma vez que a fila de espera está então no estado 4. Assim, existe uma possibilidade de 40% do identificador de pacote ser alocado com a classificação principal, e uma probabilidade de 60% de ser alocado com a classificação secundária. Esta classificação do identificador de pacote baseia-se numa simples escolha probabilistica.
Um identificador de pacote é então emitido a partir da fila de espera do policiador/regulador no final do tempo de atendimento calculado, e a fila de espera passa para o estado 3. Um novo tempo de atendimento calculado com base nos parâmetros definidos do estado 3 determina então quando se efectua a partida seguinte. Se ocorrer uma chegada antes deste período de tempo expirar, a fila de espera pode então passar de novo para o estado 4, com base no facto da chegada ser arbitrariamente rejeitada ou não.
Com referência ao caso 3 acima, na situação em que um identificador de pacote chega quando a fila de espera está quase vazia, o identificador de pacote é classificado usando a probabilidade associada ao estado 2. Neste caso, existem 80% de probabilidades do identificador de pacote ser enviado para o multiplexador cuidar/urgência 106 com a classificação principal. 21 A rejeição arbitrária de pacotes à sua chegada ao policiador/regulador não só reduz a taxa de chegada do fluxo, como também ajuda a evitar perda de rajadas. Por exemplo, se um rajada de 6 pacotes tiverem chegado ao sistema de fila de espera da figura 2, os últimos dois pacotes iriam perder-se se os pacotes não fossem rejeitados arbitrariamente. Por outro lado, se a probabilidade de rejeição arbitrária aumentar com o comprimento da fila, pode acontecer que, por exemplo, os quarto ou terceiro pacotes sejam rejeitados à chegada, distribuindo assim a perda na rajada de uma forma mais aceitável.
Outra função do policiador/regulador, tal como está descrito acima, é a de manter o pacote associado ao identificador de pacote que está a ser processado na memória de fila de espera 112 através da interacção com o gestor de memória de fila de espera 114. 0 armazenamento de pacotes em filas de espera é necessário para garantir que os pacotes num fluxo não são reordenados pelo processo de atendimento do multiplexador cuidar/urgência 106. Dependendo da função escolhida para alocar níveis de cuidar/urgência aos pacotes, existe a possibilidade dos pacotes poderem ser ordenados durante a multiplexagem para a linha 124, tal como será ainda discutido de seguida.
Como exemplo, considere-se a simples função de classificação probabilística descrita acima. Assuma-se uma rajada de quatro identificadores de pacote que chega ao policiador/regulador e todos os pacotes são guardados na fila de espera. Além disso, assuma-se que não se verificam mais chegadas durante o primeiro período em questão. De novo, ainda, assuma-se que o multiplexador cuidar/urgência não está vazio, com pacotes provenientes de outros policiadores/reguladores. Finalmente, assuma-se que a classificação de cuidar/urgência 22 principal tem um nível de urgência elevado desejável, enquanto que a classificação secundária tem um nível de urgência baixo. Dadas estas condições, o identificador de pacote no arranque da rajada, referido como "identificador de pacote 1", tem uma maior probabilidade de ser alocado com classificação de cuidar/urgência secundária do que um pacote próximo do fim da rajada, chamado "identificador de pacote 4". Se um identificador de pacote 1 for alocado com a classificação secundária, enquanto o identificador de pacote 4 é alocado com a classificação principal, a diferença nos níveis de urgência pode levar o identificador de pacote 4 a ser atendido antes do identificador de pacote 1 no multiplexador cuidar/urgência 106.
Para o evitar, este policiador/regulador dá instrução ao gestor de memória de fila de espera 114 para colocar os pacotes em fila de espera na memória de fila de espera 112 de acordo com a ordem na qual os identificadores de pacote correspondentes são recebidos no policiador/regulador. Isto é, à chegada ao policiador/regulador, se um identificador de pacote não for rejeitado, a memória de fila de espera recebe instruções para colocar em fila de espera o pacote na fila de espera do fluxo relevante na ordem pela qual chegou. A figura 8 mostra uma implementação exemplificativa de um policiador/regulador 104. O policiador/regulador exemplificativo inclui um bloco processo de chegada de policiador/regulador 101, um bloco fila de espera de identificador de pacote 702, um bloco processo de partida de policiador/regulador704, um temporizador 703, um gerador de probabilidade de rejeição 706 e um gerador de tempo de atendimento 707.
Os identificadores de pacote chegam através da linha 708 ao bloco processo de chegada de policiador/regulador 701. O 23 bloco chegada de policiador/regulador 701 notifica o bloco gestão de configuração de policiador/regulador 705, através da linha 20, que um identificador de pacotes chegou. O bloco gestão de configuração de policiador/regulador calcula o bloco de fila de espera de identificador de pacote 702 através da linha 724 para obter o comprimento corrente da fila de espera dentro do policiador/regulador. Com base na resposta do bloco de fila de espera de identificador de pacote através da linha 726, o bloco gestão de configuração de policiador/regulador determina se a fila de espera está cheia ou não. Se existir uma capacidade disponível na fila de espera, o bloco gestão de configuração de policiador/regulador 705 determina então se o identificador de pacote deveria ou não ser rejeitado arbitrariamente, usando entradas do gerador de probabilidade de rejeição 706 na linha 732.
Se o identificador de pacotes for admitido na fila de espera, o bloco gestão de configuração de policiador/regulador 705 alerta o bloco processo de chegada de policiador/regulador 701 através da linha 722 para admitir o identificador de pacote. Quando recebe esta resposta, o bloco processo de chegada de policiador/regulador 701 envia um pedido através da linha 736 (equivalente a uma das linhas 138) para o gestor de memória de fila de espera 114 para colocar em fila de espera o pacote nessa fila de espera na memória de fila de espera que está alocada para este fluxo. O processo de chegada de policiador/regulador encaminha então o identificador de pacote para o bloco de fila de espera de identificador de pacote 702 através da linha 710. O bloco gestão de configuração de policiador/regulador 705 calcula um novo tempo de atendimento, com base na entrada do gerador de tempo de atendimento 707 na linha 734 e no comprimento do pacote, e envia este tempo de 24 atendimento para o bloco processo de partida de policiador/regulador 704 através da linha 728. O processo de partida de policiador/regulador encaminha o novo tempo de atendimento para o temporizador 703 através da linha 716. O temporizador 703 reajusta-se para acordar no fim do novo tempo de atendimento.
Se o bloco gestão de configuração de policiador/regulador 705 determinar que a fila de espera está cheia, dá instruções ao bloco processo de chegada de policiador/regulador 701 através da linha 722 para rejeitar o identificador de pacote. Neste caso, o bloco processo de chegada de policiador/regulador 701 envia uma instrução de rejeição ao gestor de memória de fila de espera 114 através da linha 736. O bloco processo de chegada de policiador/regulador rejeita o identificador de pacote.
Quando o temporizador 703 acorda, envia um pedido através da linha 718 para o bloco processo de partida de policiador/regulador 704 para emitir um identificador de pacote. O bloco processo de partida de policiador/regulador envia um pedido ao bloco 705 de gestão de configuração de policiador/regulador através da linha 730 para uma classificação e um novo tempo de atendimento. O bloco gestão de configuração 705 calcula o bloco fila de espera de identificador de pacote 702 através das linhas 724 e 726 para obter o comprimento corrente da fila de espera. O bloco gestão de configuração usa o comprimento corrente da fila de espera para determinar a classificação para o identificador de pacote que está para ser emitido. A classificação é enviada ao bloco processo de partida de policiador/regulador através da linha 728. O processo partida policiador/regulador 704 concatena um identificador de fila de espera, especificando que fila de 25 espera na memória de fila de espera 112 é usada para guardar pacotes deste fluxo, e a classificação ao identificador de pacote, e encaminha este tuplo de dados na linha 738.
Deverá notar-se que nesta implementação exemplificativa, a classificação dos identificadores de pacotes é executada à medida que os pacotes deixam a fila de espera. 0 ponto no qual os pacotes são classificados dentro do policiador/regulador está dependente, no entanto, da implementação, e não está limitado ao exemplo dado aqui. Tal como foi descrito mais acima, os identificadores de pacote podem ser classificados à chegada, mais do que à partida.
Se a fila de espera identificada no bloco fila de espera de identificador de pacote 702 estiver não vazia, o bloco gestão de configuração de policiador/regulador 705 também envia um novo tempo de atendimento ao bloco processo de partida de policiador/regulador 704 através da linha 728. Este tempo de atendimento é encaminhado para o temporizador 703 através da linha 716, e o temporizador ajusta-se para acordar após este tempo. Se a fila de espera estiver vazia, não existe qualquer acção.
Outras possíveis modificações ao regulador/policiador 104 ilustrado na figura 1 estão ilustradas com referência à figura 6. Tal como está ilustrado na figura 6, o policiador/regulador podem ser desdobrado de várias formas. A figura 6a, ilustra um arranjo vantajoso no qual o output de um policiador/regulador 210 proporciona uma entrada aos dois policiadores(reguladores paralelos 212 e 214. O policiador/regulador 210 recebe identificadores de pacote na linha 222 provenientes do identificador de fluxo 102. De acordo com a operação Standard do policiador/regulador, o policiador/regulador 210 rejeita selectivamente identificadores 26 de pacote e desloca temporalmente os identificadores de pacote para proporcionar um fluxo modificado de identificadores de pacote na sua saída. Numa primeira forma de realização, o fluxo assim modificado de identificadores de pacote é difundido nas linhas 234 e 236 para cada um dos policiadores/reguladores paralelos 212 / 214. Os respectivos policiadores/reguladores 212 e 214 rejeitam então selectivamente identificadores de pacotes e deslocam temporalmente os identificadores de pacotes para gerar dois outros fluxos de identificador de pacotes nas suas saídas 224 e 226. Numa segunda forma de realização, a saída do policiador/regulador 210 é proporcionada selectivamente quer a um quer ao outro dos policiadores/reguladores 212 e 214. O policiador/regulador 212 e 214 adequado rejeita então selectivamente os identificadores de pacote e desloca temporalmente os identificadores de pacote para a sua saída respectiva. A figura 6b ilustra um outro arranjo no qual dois policiadores/reguladores paralelos 216 e 218 recebem entradas compreendendo identificadores de pacote nos fluxos nas linhas 228 e 230. A saída de ambos os policiadores/reguladores 216 e 218 nas suas saídas respectivas 218 e 240 forma uma saída para um outro policiador/regulador 220. 0 policiador/regulador 220 emite identificadores de pacote na linha 232.
Será evidente para o perito na especialidade como os policiadores/reguladores podem ser desdobrados em várias configurações dos arranjos ilustrados na figura 6. Por exemplo, os arranjos das figuras 6a e 6b podem ser desdobrados. Para além disso, qualquer um dos policiadores/reguladores pode também receber entradas de outras fontes. Por exemplo, o policiador/regulador 212 da figura 6a pode receber uma entrada adicional que não é calculada de outro policiador/regulador. 27
Quem tem competência na técnica tomará em consideração como vários arranjos de desdobramento podem ser implementados. A única restrição é que os policiadores/reguladores têm de estar ligados num gráfico aciclico. À partida, o policiador/regulador envia ambos os identificadores de pacote e o seu identificador de fila de espera associado e classificação ao multiplexador cuidar/urgência 106 através de uma linha de saida respectiva 122. 0 multiplexador cuidar/urgência requere o identificador de pacote para além do identificador de fila de espera caso tenha de emitir uma instrução de rejeição para o gestor de memória de fila de espera 114, como será discutido em mais detalhe abaixo. 0 multiplexador cuidar/urgência 106 gere a contenção para os recursos de rede entre dois ou mais fluxos. O multiplexador cuidar/urgência 106 recebe identificadores de pacote dos seus vários policiadores/reguladores 104, cada identificador de pacote sendo etiquetado com uma classificação cuidar/urgência. A classificação de um identificador de pacote define um nível de cuidar/urgência para o pacote com o qual está associado. Um multiplexador cuidar/urgência gera a contenção entre dois ou mais fluxos atendendo pacotes (através dos seus identificadores de pacotes) dependendo do seu nível de urgência e, quando necessário, rejeitando pacotes em função do seu nível de cuidar. O nível de cuidar determina quais os pacotes que são introduzidos num multiplexador cuidar/urgência. 0 nível de urgência determina a ordem pela qual os pacotes são tirados do multiplexador cuidar/urgência. A classificação de pacotes usando níveis de cuidar/urgência está descrita no pedido de patente internacional número PCT/GB00/01569 (PWF Ref. 101926). Assim, o multiplexador cuidar/urgência 106 gera a contenção 28 entre os três fluxos 122a, 122b e 122c às saídas dos policiadores/reguladores 104a, 104b e 104c.
Quando um identificador de pacote com a sua classificação associada de cuidar/urgência chega, o multiplexador cuidar/urgência 106 determina se o identificador de pacote deveria ser guardado ou rejeitado. Isto é determinado pela capacidade de armazenamento disponível no multiplexador cuidar/urgência e pelo nível de cuidado associado ao identificador.
Num processo conhecido de implementação de cuidar, o acesso a uma memória intermédia num multiplexador cuidar/urgência é determinando pela associação de um nível de cuidar a uma zona específica da memória intermédia. Isto é, suponha-se que um pacote pode ser classificado com um dos N níveis de cuidar. Assuma-se então que existem KN memórias intermédias no total. O tráfego do nível de cuidar 1 pode entrar em qualquer uma das KN memórias intermédias, enquanto o tráfego do nível de cuidar i só pode entrar na primeira memória intermédia KN+i enquanto k0 = 0 < ki < ... < KN. Assim, os pacotes de nível de cuidado 1 terão maior probabilidade de encontrar recursos de memória intermédia disponível do que os pacotes de nível de cuidado i, em que i > 1. É também necessário um esquema para determinar que identificador de pacote reencaminhar, isto é, como os níveis de urgência deveriam ser usados para determinar a ordem pela qual os pacotes são atendidos. Uma aproximação consiste em encaminhar o identificador no princípio da fila de espera com um nível de urgência mais alto, embora sejam possíveis outras aproximações. A taxa de perda de identificadores de pacote num dado fluxo é determinado, quer pelo nível de cuidar alocado aos 29 pacotes, quer pela taxa de chegada máxima para todos os outros fluxos que têm um nível de cuidar de valor igual ou maior. A ordem pela qual os pacotes são atendidos num multiplexador cuidar/urgência depende dos seus níveis de urgência e das taxas de chegada e padrões de tráfego mais urgente. Isto determina o atraso sentido pelo identificador de pacote num multiplexador cuidar/urgência.
Se o multiplexador cuidar/urgência 106 rejeitar um identificador de pacote dá instruções ao gestor de memória de fila de espera através da linha 136 para decrementar a contagem de referência para o pacote adequado a partir da memória da fila de espera 112. O multiplexador cuidar/urgência grava estatísticas acerca dos fluxos de tráfego, incluindo nomeadamente o número de bits e / ou o número de pacotes quer aceites quer rejeitados para cada nível de urgência e para cada nível de cuidar.
Um multiplexador cuidar/urgência encaminha um dos identificadores de pacote armazenados ao longo do seu identificador de fila de espera associada das suas memórias intermédias internas até ao limitador de taxa 108 na linha 124 em resposta a um pedido do limitador de taxa na linha 126. A escolha de qual o par de identificador que é encaminhado para o indicador de taxa em resposta a um pedido daí proveniente é determinada pelo nível de urgência do identificador de pacote e do mecanismo de selecção do multiplexador cuidar/urgência.
Uma implementação exemplificativa de um multiplexador cuidar/urgência 106 está ilustrado na figura 9. O multiplexador cuidar/urgência inclui um bloco processo de chegada de cuidar/urgência 801, um conjunto de filas de espera de urgência 814 compreendendo filas de espera 802 a 805, um bloco processo 30 de partida de cuidar/urgência 816, e um bloco gestão de configuração de cuidar/urgência 807.
Os identificadores de pacote chegam através da linha 810 ao bloco processo de chegada de cuidar/urgência 801. O bloco processo de chegada de cuidar/urgência notifica o bloco gestão de configuração de cuidar/urgência 807 de que um identificador de pacote chegou e encaminha o seu nível de cuidar através da linha 822. O bloco gestão de configuração de cuidar/urgência 807 requere o comprimento de cada uma das filas de espera de urgência 802 - 805 através da linha 826. Com base no número total actual de identificadores de pacote em fila de espera no multiplexador cuidar/urgência 106 e num nível de cuidar de identificador de pacote, o bloco gestão de configuração de cuidar/urgência determina a rejeição ou não do pacote.
Se o identificador de pacote for rejeitado, o bloco gestão de configuração de cuidar/urgência 807 notifica o processo de chegada cuidar/urgência 801 em conformidade através da linha 824. Neste caso, o processo de chegada cuidar/urgência envia uma instrução para rejeitar o pacote para a memória de fila de espera através da linha 812, identificando o pacote para o rejeitar pelo seu identificador de pacote e pelo seu identificador de fila de espera. Estes identificadores são então rejeitados pelo bloco processo de chegada de cuidar/urgência 801.
De outra forma, o bloco gestão de configuração de cuidar/urgência 807 notifica o processo de processo de chegada de cuidar/urgência 801 através da linha 822 para encaminhar o identificador de pacote para uma das filas de espera de urgência 802 - 805. Existe uma fila de espera de urgência para cada nível de urgência. Esta implementação exemplificativa ilustra um multiplexador cuidar/urgência configurado para 31 quatro possíveis níveis de urgência. 0 processo de chegada de cuidar/urgência obtém o nível de urgência para o identificador de pacote e encaminha o identificador de pacote e o seu identificador de fila de espera associada através de uma das linhas 830 para a fila de espera de urgência adequada.
Os pedidos de pacotes do limitador de taxa são recebidos pelo bloco processo de partida de cuidar/urgência 806 através da linha 818. Quando chega um pedido de pacote, o processo de partida de cuidar/urgência pede o elemento de início de uma das filas de espera de urgência 802, 805 através de uma das linhas 834. Na forma de realização preferida, serão pedidos os identificadores no principio da fila de espera mais urgente. 0 par identificador de pacote e identificador de fila de espera no principio da fila de espera que receberam o pedido são encaminhados para o bloco de processo de partida de cuidar/urgência 806 através de uma das linhas 822. O bloco de processo de partida de cuidar/urgência 806 encaminha o par de identificadores imediatamente para o limitador de taxa através da linha 124. O limitador de taxa 106 desloca a contenção de um ponto a jusante na rede para o interior do multiplexador restringindo a taxa de atendimento para uma para a qual a rede tenha recursos suficientes. O limitador de taxa garante que a taxa de atendimento máxima não é excedida a longo prazo, garantindo que os espaços adequados são mantidos entre pacotes transmitidos. O limitador de taxa 106 requere os identificadores de pacote do multiplexador cuidar/urgência numa linha de pedido 126, e recebe identificadores de pacote em conjunto com os seus identificadores de fila de espera associados na linha 124. Ao receber o par de identificadores na linha 124, o limitador de taxa proporciona o identificador de fila de espera na linha 134 32 ao gestor de memória de fila de espera 114. Em resposta a isto, o gestor de memória de fila de espera 114 fornece o pacote do principio da fila de espera identificada da memória de fila de espera ao limitador de taxa na linha 132. 0 limitador de taxa encaminha então os pacotes para transmissão para a interface de saída na linha 128. Ao reencaminhar um pacote para a interface de saída, o limitador de taxa ajusta um temporizador para representar o tempo de atendimento do pacote específico à taxa configurada. No fim do período de temporização alocado ao atendimento do pacote específico, o limitador de taxa requere um outro pacote, na linha 126, do multiplexador cuidar/urgência 106.
Se não se verificar reordenamento no multiplexador cuidar/urgência, o pacote enviado pelo gestor de memória de fila de espera será o mesmo pacote identificado pelo identificador de pacote. De outra forma, o identificador de pacote recebido pelo limitador de taxa fará referência a um pacote que está ainda à espera na fila de espera na memória de fila de espera. O limitador de taxa pode atender pacotes de forma estocástica ou determinística. O limitador de taxa pode assim atender pacotes para que tenham um espaçamento variável, tal como discutido acima com referência ao policiador/regulador.
Uma unidade pode ser feita combinando um multiplexador cuidar/urgência 106 e um limitador de taxa 108, de preferência um que atenda os pacotes de forma estocástica. Estas unidades podem ser desdobradas com uma pluralidade de policiadores/reguladores e outro multiplexador cuidar/urgência e unidades de limitador de taxa, e podem receber entradas adicionais de outras fontes. Quem tiver competência na técnica tomará em consideração como vários arranjos de desdobramento 33 podem ser implementados. A única restrição é que a combinação desdobrada destas unidades tem de estar ligada num gráfico aciclico.
Se forem usadas taxas de atendimento estocásticas, existe o potencial de a taxa de atendimento amostrada poder ser muito mais rápida do que a velocidade à qual o pacote pode ser transmitido fisicamente pela interface de saída. Neste caso, a dimensão de recurso calculada do pacote será inferior à dimensão actual do pacote, tal como está ilustrado na figura 5. A figura 5a ilustra a dimensão no momento do pacote, de acordo com a taxa de transmissão física do meio de transmissão para o qual será encaminhado. A figura 5b ilustra a dimensão do pacote em que a taxa de atendimento escolhida para o pacote é maior do que a taxa à qual o pacote será actualmente transmitido no meio físico. A figura 5c ilustra a dimensão do pacote no caso em que a taxa de atendimento escolhida para o pacote é inferior à taxa à qual o pacote será de facto transmitido pela interface de saída 110.
Como se pode ver na figura 5, se a dimensão do recurso calculada for na realidade inferior à dimensão de recurso de facto do pacote, dois pacotes podem sobrepor-se. Num sistema prático, dois pacotes não podem sobrepor-se durante a transmissão. Em vez disso, será observada uma rajada de dois ou mais pacotes. Assim, quando os identificadores de pacote são servidos de forma estocástica, existe uma probabilidade finita de dois ou mias pacotes serem enviados costas com costas. A interface de saída 110 proporciona retroacção de controlo de fluxo na linha 130 ao limitador de taxa 108. Se a interface de saída indicar ao limitador de taxa que a transmissão foi suspensa, o mecanismo de temporização interno do limitador de taxa é afectado. Neste caso, o limitador de 34 taxa pode executar uma de várias acções. Por exemplo, o limitador de taxa pode ser configurado para rejeitar qualquer pacote que esteja planeado para atendimento durante o período de suspensão. Esta rejeição de pacotes pelo limitador de taxa exige que o limitador de taxa gere um sinal de alarme. 0 limitador de taxa 108 pode também ser optimizado para maximizar o recurso do sistema externo com baixo tráfego. Isto é, em tráfegos baixos, a taxa de atendimento pode ser escolhida para ser maior do que a taxa configurada. À medida que o tráfego no sistema aumenta, a taxa de atendimento diminuirá até que esteja próxima de, ou à taxa configurada. A interface de saída 110 proporciona a funcionalidade básica necessária para a transmissão para a frente dos pacotes de dados. A interface de saída 100 proporciona retroacção de controlo de fluxo nas linhas 130 para o limitador de taxa 108 quando se verifica alguma pressão traseira externa (por exemplo, do meio de transmissão). Assim, a interface de saída transmite pacotes na linha 142 e recebe sinais de comando de fluxo, na linha 144, provenientes do sistema operativo ou driver do dispositivo. A interface de saída não é responsável por qualquer processamento directo referente à gestão de qualidade do fluxo de dados. Se um pacote for recebido pela interface de saída e o sistema externo ou dispositivo indicar que tem recursos disponíveis para transmissão, então o pacote é transmitido pela interface de saída, sem atraso. Se o limitador de taxa estiver a funcionar em modo determinístico e o controlo de fluxo não tiver sido exercido, nunca há mais do que um pacote em simultâneo na memória intermédia da interface de saída.
Assim, descreveu-se o invento que pode ser utilizado com vantagem no multiplexador para garantir uma qualidade de 35 atendimento pré-determinada. Embora o invento seja aqui descrito com referência a uma forma de realização exemplificativa descrita, o perito na especialidade tomará em consideração que o invento não está limitado na sua aplicabilidade, e pode ser aplicado mais genericamente.
Lisboa, 23 de Junho de 2014. 36

Claims (20)

  1. REIVINDICAÇÕES 1. Processo de controlo de um fluxo de informações num sistema de transmissão de dados, compreendendo: a recepção de uma pluralidade de pacotes de dados (116) a uma taxa de amostragem recebida, cada um apresentando um comprimento de pacote físico recebido caracterizado por as etapas que consistem em: determinar uma taxa de atendimento para cada um dos pacotes; para cada pacote, afectar um comprimento de pacote conceptual para o pacote, o comprimento de pacote conceptual representando uma duração de atendimento para o pacote, na base da taxa de atendimento determinada para o pacote e no comprimento de pacote físico do pacote; e planear cada pacote em função do comprimento de pacote conceptual respectivo.
  2. 2. Processo de acordo com a reivindicação 1, no qual o comprimento de pacote conceptual é inferior ao comprimento de pacote físico recebido.
  3. 3. Processo de acordo com a reivindicação 1, no qual o comprimento de pacote conceptual é superior ao comprimento de pacote físico recebido.
  4. 4. Processo de acordo com qualquer uma das revindicações 1 a 3, compreendendo ainda o passo de gerar um fluxo de 1 informações modificado no qual o espaçamento entre os pacotes é variável.
  5. Processo de controlo de uma pluralidade de fluxos de informações paralelos de acordo com qualquer uma das reivindicações 1 a 4, no qual é gerada uma pluralidade de fluxos de informações modificadas, cada uma apresentando uma taxa de atendimento determinada para cada pacote.
  6. 6. Processo de acordo com a reivindicação 5, compreendendo ainda a etapa que consiste na multiplexagem da pluralidade de fluxos de informações modificadas.
  7. 7. Processo de acordo com qualquer uma das reivindicações 1 a 6, no qual os pacotes recebidos num fluxo de informações são admitidos numa fila de espera, a probabilidade de um pacote entrar na fila de espera estando dependente do comprimento da fila de espera.
  8. 8. Processo de acordo com a reivindicação 7, no qual a probabilidade de um pacote ser admitido na fila de espera depende do comprimento da fila de espera.
  9. 9. Processo de acordo com a reivindicação 7, no qual a probabilidade de um pacote já presente na fila de espera ser rejeitado para permitir a admissão do pacote recebido depende do comprimento da fila de espera.
  10. 10. Processo de acordo com qualquer uma das reivindicações 7 a 9, no qual um nível de atendimento é associado a cada 2 pacote na fila de espera, o nível de atendimento sendo determinado pelo comprimento da fila de espera.
  11. 11. Processo de acordo com a reivindicação 10, no qual o nível de atendimento é controlado controlando as admissões de pacotes na fila de espera.
  12. 12. Processo de acordo com qualquer uma das reivindicações 1 a 11, consistindo ainda em alocar um nível de prioridade a cada pacote.
  13. 13. Processo de acordo com a reivindicação 12, no qual os pacotes são atendidos em função do nível de prioridade alocado.
  14. 14. Processo de acordo com as reivindicações 12 ou 13, no qual o nível de prioridade inclui uma indicação de uma urgência associada ao pacote e um nível de perda que pode ser tolerado para o pacote.
  15. 15. Processo de acordo com qualquer uma das reivindicações 12 a 14, quando dependente de qualquer uma das reivindicações 7 a 9, no qual o nível de prioridade é alocado a um pacote com base numa função de estado da fila de espera.
  16. 16. Processo de acordo com qualquer uma das reivindicações 6 a 15, no qual, se o comprimento de pacote conceptual de um pacote for tal que um espaçamento negativo é alocado entre dois pacotes, os dois pacotes são multiplexados de forma adjacente. 3
  17. 17. Controlador destinado a comandar um fluxo de informações num sistema de transmissão de dados, compreendendo: meios de entrada (100) para receber uma pluralidade de pacotes de dados a uma taxa de amostragem recebida, cada pacote tendo um comprimento de pacote físico recebido; caracterizado por: meios de alocaçao (108) para alocar a cada pacote um comprimento de pacote conceptual, o comprimento de pacote conceptual representando uma duração de atendimento para o pacote, na base de uma taxa de atendimento determinada para o pacote e no comprimento de pacote físico do pacote; e meios de saída (110) para gerar a saída dos pacotes, cada pacote estando planeado em função do comprimento de pacote conceptual respectivo.
  18. 18. Controlador de acordo com a reivindicação 17, compreendendo ainda meios de modificação para gerar um fluxo de informações modificado no qual os pacotes estão espaçados de forma variável.
  19. 19. Controlador de acordo com a reivindicação 18, no qual os meios de modificação compreendem um modulador.
  20. 20. Controlador de acordo com qualquer uma das reivindicações 17 a 19, incluindo ainda um multiplexador destinado a multiplexar uma pluralidade de fluxos de informações apresentando os pacotes a uma determinada taxa de atendimento. Lisboa, 23 de Junho de 2014. 4
PT964487T 2000-10-03 2000-10-03 Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais PT1336279E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2000/003789 WO2002030064A1 (en) 2000-10-03 2000-10-03 Information flow control in a packet network based on variable conceptual packet lengths

Publications (1)

Publication Number Publication Date
PT1336279E true PT1336279E (pt) 2014-07-10

Family

ID=9885891

Family Applications (1)

Application Number Title Priority Date Filing Date
PT964487T PT1336279E (pt) 2000-10-03 2000-10-03 Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais

Country Status (6)

Country Link
US (1) US7499400B2 (pt)
EP (1) EP1336279B1 (pt)
AU (1) AU2000275419A1 (pt)
ES (1) ES2491865T3 (pt)
PT (1) PT1336279E (pt)
WO (1) WO2002030064A1 (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE373911T1 (de) * 2000-10-03 2007-10-15 U4Ea Technologies Ltd Datenflusssteuerung
DE60039725D1 (de) * 2000-10-03 2008-09-11 U4Ea Technologies Ltd Datenüberwachung basierend auf einem daten-last-profil
US7965717B2 (en) * 2003-01-17 2011-06-21 Nortel Networks Limited Multi-staged services policing
JP4881538B2 (ja) 2003-06-10 2012-02-22 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US7352751B2 (en) * 2003-08-18 2008-04-01 Ericsson Ab Accounting for link utilization in scheduling and billing
JP4360300B2 (ja) * 2004-08-10 2009-11-11 富士通株式会社 記憶制御装置及び制御方法
US7590150B1 (en) * 2004-09-30 2009-09-15 Ceterus Networks, Inc. Method and apparatus for transport of multiple TDM and data clients over multiple variable data rate streams
US20060088032A1 (en) * 2004-10-26 2006-04-27 Bradley Venables Method and system for flow management with scheduling
DE602005018551D1 (pt) 2005-05-25 2010-02-04 Ericsson Telefon Ab L M
US7957272B2 (en) * 2006-03-10 2011-06-07 Alcatel-Lucent Usa Inc. Method and apparatus for coincidence counting for estimating flow statistics
DE102006015046B4 (de) 2006-03-31 2011-08-18 Siemens AG, 80333 Verfahren und Vorrichtung zur Datenverkehrsglättung
WO2013178051A1 (en) * 2012-05-28 2013-12-05 Huawei Technologies Co., Ltd. Method of communicating for multiple address families and network apparatus

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771391A (en) * 1986-07-21 1988-09-13 International Business Machines Corporation Adaptive packet length traffic control in a local area network
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
EP0669777B1 (en) 1994-02-22 2001-09-26 Alcatel Method of shaping a cell stream including user cells and OAM cells
US5434848A (en) * 1994-07-28 1995-07-18 International Business Machines Corporation Traffic management in packet communications networks
DE4442532A1 (de) * 1994-11-30 1996-06-05 Sel Alcatel Ag Verfahren zur Erzeugung eines Zufallselements sowie Verfahren zur Verkehrsmischung, Zufallselement-Generator und Systemkomponente damit
US5982778A (en) * 1996-08-30 1999-11-09 Advanced Micro Devices, Inc. Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks
US6003089A (en) 1997-03-31 1999-12-14 Siemens Information And Communication Networks, Inc. Method for constructing adaptive packet lengths in a congested network
US6064678A (en) 1997-11-07 2000-05-16 Qualcomm Incorporated Method for assigning optimal packet lengths in a variable rate communication system
CA2223119A1 (en) * 1997-11-28 1999-05-28 Mosaid Technologies Incorporated Address counter cell
JP2000252999A (ja) * 1999-02-25 2000-09-14 Hitachi Ltd パケット変換装置
JP4484317B2 (ja) * 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US20030147349A1 (en) * 2002-02-01 2003-08-07 Burns Daniel J. Communications systems and methods utilizing a device that performs per-service queuing
CA2387654A1 (en) * 2002-05-24 2003-11-24 Alcatel Canada Inc. Partitioned interface architecture for transmission of broadband network traffic to and from an access network
US7272150B2 (en) * 2002-08-19 2007-09-18 World Wide Packets, Inc. System and method for shaping traffic from a plurality of data streams using hierarchical queuing
US20040148391A1 (en) * 2003-01-11 2004-07-29 Lake Shannon M Cognitive network
US20050254423A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Rate shaper algorithm
GB0424628D0 (en) * 2004-11-08 2004-12-08 Nokia Corp Communication system
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム

Also Published As

Publication number Publication date
WO2002030064A1 (en) 2002-04-11
US7499400B2 (en) 2009-03-03
EP1336279A1 (en) 2003-08-20
US20040196791A1 (en) 2004-10-07
ES2491865T3 (es) 2014-09-08
EP1336279B1 (en) 2014-05-21
AU2000275419A1 (en) 2002-04-15
US20080165689A9 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
EP1329058B1 (en) Allocating priority levels in a data flow
EP1327335B1 (en) Prioritising data with flow control
US8520522B1 (en) Transmit-buffer management for priority-based flow control
US7426185B1 (en) Backpressure mechanism for switching fabric
US8861362B2 (en) Data flow control
WO2010020988A2 (en) System and methods for distributed quality of service enforcement
US6771601B1 (en) Network switch having source port queuing and methods, systems and computer program products for flow level congestion control suitable for use with a network switch having source port queuing
PT1336279E (pt) Controlo de fluxo de informações numa rede de pacotes com base em diferentes comprimentos de pacote conceptuais
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
EP1327336B1 (en) Packet sequence control
EP1327333B1 (en) Filtering data flows
EP1232627A1 (en) Method and system for controlling transmission of packets in computer networks
EP1327334B1 (en) Policing data based on data load profile
AlQahtani et al. A simulation-based comparison of multimedia traffic prioritization schemes for high-performance input-queued packet switches
JP2003023450A (ja) レート制御装置
JP2003023455A (ja) レート制御装置
JP2003023460A (ja) レート制御装置