Este pedido reivindica o privilégio e prioridade facultados conforme a legislação U.S.C. (United States Code) 35 § 119(e) para os Pedidos de Patente nos EUA número 60/792.236, depositado em 12 de abril de 2006, intitulado Mecanismo de retransmissão de pacote xDSL, e 60/849.650, depositado em 5 de outubro de 2006, intitulado Mecanismo de retransmissão de pacote xDSL com exemplos, ambos integralmente incorporados a este documento por referência, (em sua integridade)
Histórico
Campo da invenção
Esta invenção está relacionada, de modo geral, a sistemas de comunicação. Mais especificamente, um exemplo de concretização desta invenção está relacionado à retransmissão de pacotes em um ambiente de comunicação. Um exemplo de concretização desta invenção também está relacionado ao compartilhamento de memória entre funções de transmissão e outras funções do transceptor.
Resumo Da Patente
Aspectos ilustrativos da invenção estão relacionados à movimentação de pacotes e à atribuição de um identificador de movimentação de pacote. Aspectos ilustrativos estão relacionados ao compartilhamento de recursos entre pacotes retransmitidos e outras funções do transceptor. Além disso, aspectos ilustrativos estão relacionados ao compartilhamento de recursos entre pacotes associados ao identificador de
2/59 movimentação de pacote e outras funções do transceptor.
Mais especificamente, aspectos da invenção estão relacionados à designação de um identificador de movimentação de pacote para um ou mais pacotes. Com base no identificador de movimentação de pacote, um pacote pode ser, por exemplo, encaminhado diretamente para outro dispositivo (ou camada) de comunicação ou, alternativamente, retido para possíveis protocolos de retransmissão. Por exemplo, pacotes recebidos de uma camada mais elevada de um dispositivo de comunicação, por exemplo, podem ser designados para ter um identificador de movimentação de pacote específico, como um nível de qualidade de serviço (QDS). O nível de qualidade de serviço (QDS) de um pacote indica a importância de determinados parâmetros (ou características) de serviço de um ou mais pacotes.
Dois exemplos de parâmetros de qualidade de serviço (QDS) são o retardo/atraso (ou latência) e a Taxa de Erro de Pacote (TEP). Enquanto esses dois parâmetros sejam utilizados para fins ilustrativos neste documento, deve ser levado em conta que outros parâmetros também podem ser utilizados com esta invenção. Por exemplo, outros parâmetros de qualidade de serviço (QDS) poderíam incluir um ou mais entre uma Taxa de Erro de Bit (TEB), taxa de transmissão de dados, variação de retardo (ou instabilidade), taxa de perda de pacotes, tempo entre eventos de erro (TBE), etc.
Como um exemplo, no caso onde os dois parâmetros de qualidade de serviço (QDS) são latência e a Taxa de Erro de Pacote (TEP), pacotes contendo, por exemplo, informações de vídeo (como IPTV) podem ter o requisito de uma taxa de erro de pacote muito baixa, porém podem tolerar, em geral, retardo mais
3/59 elevado. Por outro lado, tráfego de voz ou dados (por exemplo, jogos) pode ter requisitos de latência muito baixa, porém pode tolerar uma taxa de erro de pacote mais elevada. Para esse exemplo específico, os pacotes de vídeo poderiam ser designados como pacotes com qualidade de serviço (QDS) de baixa Taxa de Erro de Pacote (TEP) e os pacotes de voz ou dados poderiam ser designados como pacotes com qualidade de serviço (QDS) de baixa latência. Por exemplo, um identificador de qualidade de serviço (QDS) específico poderia ser atribuído aos pacotes de baixa latência enquanto um identificador de qualidade de serviço (QDS) diferente poderia ser atribuído aos pacotes com baixa Taxa de Erro de Pacote (TEP). Os pacotes de baixa latência poderiam ser encaminhados diretamente para outro transceptor ou para uma camada mais elevada, enquanto os pacotes com baixa Taxa de Erro de Pacote (TEP) podem ser armazenados em um buffer de retransmissão, por exemplo, memória, que pode ser utilizada para reduzir erro de pacote.
Conforme mencionado acima, os aspectos ilustrativos também estão relacionados ao compartilhamento de recursos entre uma função de retransmissão e outras funções do transceptor.
Os sistemas e métodos exemplificados nesta invenção podem utilizar uma memória, como um buffer de retransmissão, para o armazenamento de pacotes para funções de retransmissão. Como outras funções do transceptor também podem necessitar de memória para realizar determinadas funcionalidades, um aspecto ilustrativo desta invenção também está relacionado ao compartilhamento da memória para funções de retransmissão com a memória necessária para outras funções do transceptor. Por
4/59 exemplo, memória pode ser alocada dinamicamente com base em ajustes de configuração ou condições de ruído e, por exemplo, a memória pode ser dividida entre uma ou mais das funcionalidades de intercalação/desintercalação, codificação/decodificação RS (Reed-Solomon) e a funcionalidade utilizada para retransmissão.
Aspectos da invenção estão relacionados, dessa forma, à identificação de um ou mais pacotes.
Aspectos adicionais da invenção estão relacionados à identificação de um ou mais pacotes que podem ser retransmitidos.
Outros aspectos da invenção estão relacionados ainda à identificação de um ou mais pacotes que não devem ser retransmitidos.
Aspectos da invenção também estão relacionados à retransmissão de um ou mais de entre um pacote IP, um pacote Ethernet, uma célula ATM (Modo de Transferência Assíncrona), um pacote PTM, um quadro de dados multiplexados ADSL (Asymmetrical Digital Subscriber Line - Linha Digital Assimétrica para Assinantes), uma informação codificada para PTM-TC (modo de transferência por pacotes - convergência de transmissão), e informação codificada RS (Reed-Solomon) e um símbolo DMT (Discrete Multi-Tone - modulação discreta de múltiplos tons).
Outros aspectos da invenção estão relacionados ainda a acrescentar um identificador a um pacote.
Outros aspectos da invenção estão relacionados ainda a acrescentar um identificador de seqüência a pelo menos um pacote.
Os aspectos da invenção também estão
5/59 relacionados ao roteamento de um ou mais pacotes com base em um identificador de movimentação de pacote.
Aspectos da invenção também estão relacionados à retransmissão de um pacote.
Aspectos da invenção estão relacionados adicionalmente à retransmissão de um pacote com base em uma solicitação de retransmissão.
Outros aspectos da invenção estão relacionados ainda ao compartilhamento da memória entre uma função de retransmissão e uma ou mais de uma função de intercalador, desintercalador, codificador, decodificador e outras funcionalidades de um transceptor.
Outros aspectos mais específicos da invenção estão relacionados ao compartilhamento da memória entre um buffer (ou memória) de retransmissão e uma funcionalidade de intercalação/desintercalação e/ou codificação/decodificação.
Alguns aspectos ilustrativos adicionais, não limitativos, são os seguintes:
1. Um método de retransmissão de pacote compreendendo: transmissão ou recepção de uma diversidade de pacotes; identificação de pelo menos um pacote entre os diversos pacotes como um pacote que não deve ser retransmitido.
2. O método do item 1, no qual o pacote é qualquer agrupamento de bytes.
3. O método do item 1, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS
6/59 (Reed-Solomon) e um símbolo de modulação DMT.
4. O método do item 1, no qual um conjunto de bits, composto de um identificador de seqüência (SID), é anexado a cada pacote.
5. O método do item 4, no qual a etapa de identificação consiste em usar um valor especial para um identificador de seqüência (SID).
6. O método do item 4, no qual o conjunto de bits anexado é composto de uma CRC dedicada (Cyclic Redundancy Check - verificação de redundância cíclica).
7. O método do item 1, no qual pelo menos um pacote não é armazenado para retransmissão.
8. O método do item 1, no qual pelo menos um pacote é transferido imediatamente para uma camada alta.
9. Um módulo de retransmissão de pacote capaz de transmitir ou receber uma diversidade de pacotes e capaz de identificar pelo menos um pacote entre os diversos pacotes como um pacote que não deve ser retransmitido.
10. O módulo do item 9, no qual o pacote é qualquer agrupamento de bytes.
11.0 módulo do item 9, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
12. O módulo do item 9, no qual o módulo é capaz de anexar um conjunto de bits compreendendo um identificador de seqüência (SID) a cada pacote.
13. O módulo do item 12, no qual a
7/59 identificação consiste em usar um valor especial para o SID.
14. O módulo do item 12, no qual o conjunto de bits anexado consiste de uma CRC dedicada.
15. O módulo do item 9, no qual pelo menos um pacote não é armazenado pelo módulo para retransmissão.
16. O módulo do item 9, no qual pelo menos um pacote é transferido pelo módulo imediatamente para uma camada alta.
17. O módulo do item 9, no qual o módulo é um ou mais de entre um transceptor sem fio, uma estação de rede local sem fio (wireless LAN), um transceptor com cabos, um modem DSL (Digital Subscriber Line), um modem ADSL, um modem xDSL, um modem VDSL (Very high data rate Digital Subscriber Line Linha de assinante digital com alta taxa de transferência de dados), um transceptor multiportadora, um computador para fins gerais, um computador para fins especiais, um microprocessador programado, um microcontrolador e elemento(s) de circuito integrado periférico(s), um Circuito Integrado de Aplicação Específica (ASIC), um processador de sinal digital, um circuito eletrônico ou lógico com fios e um dispositivo lógico programável.
18. O módulo do item 9, no qual o módulo é implementado em um ou mais de entre um PTM-TC, ATM-TC, PMD (Physical Layer, Médium Dependent - camada física dependente do meio) e PMS-TC (Physical Médium Sublayer - Transmission Convergence - Subcamada de Meio físico - Convergência de transmissão).
19. Um método que consiste em compartilhar memória entre uma memória de intercalação e/ou de desintercalação e uma memória de retransmissão de pacote.
8/59
20. Um método que consiste em alocar uma primeira parte de memória compartilhada para retransmissão e uma segunda parte da memória compartilhada para intercalação e/ou desintercalação.
21. O método do item 20, que inclui ainda transmitir ou receber uma mensagem indicando como alocar a memória compartilhada.
22. O método do item 19 ou 20, que inclui ainda transmitir ou receber uma mensagem indicando como compartilhar a memória.
23. Uma memória capaz de ser compartilhada entre um buffer de intercalação e/ou desintercalação e um buffer de retransmissão de pacote.
24. Um módulo capaz de alocar uma primeira parte da memória compartilhada para retransmissão e uma segunda parte da memória compartilhada para intercalação e/ou desintercalação.
25. O módulo do item 24, no qual o módulo é capaz de transmitir ou receber uma mensagem indicando como alocar a memória compartilhada.
26. O módulo do item 24, no qual o módulo é capaz de transmitir ou receber uma mensagem indicando como compartilhar a memória.
27. O módulo do item 24, no qual o módulo é um ou mais de entre um transceptor sem fio, uma estação LAN sem fio, um transceptor com cabos, um modem DSL, um modem ADSL, um modem xDSL, um modem VDSL, um transceptor multiportadora, um computador para fins gerais, um computador para fins especiais, um microprocessador programado, um microcontrolador
9/59 e elemento(s) de circuito integrado periféricos, um Circuito
Integrado de Aplicação Específica (ASIC), um processador de sinal digital, um circuito eletrônico ou lógico com fios e um dispositivo lógico programável.
28. Um método de retransmissão de pacote compreendendo: transmissão ou recepção de uma diversidade de pacotes; identificando pelo menos um pacote entre a diversidade de pacotes como um pacote que deve ser retransmitido e pelo menos um pacote entre a diversidade de pacotes como um pacote que não deve ser retransmitido.
29. O método do item 28, no qual o pacote é qualquer agrupamento de bytes.
30. O método do item 28, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
31. O método do item 28, no qual um conjunto de bits compreendendo um identificador de seqüência (SID) é anexado a cada pacote.
32. O método do item 31, no qual a etapa de identificação consiste em usar um valor especial para um identificador de seqüência (SID).
33. O método do item 31, no qual o conjunto de bits anexado é composto de uma CRC dedicada (Cyclic Redundancy Check - verificação de redundância cíclica).
34. O método do item 28, no qual pelo menos um pacote é armazenado para retransmissão.
35. O método do item 28, no qual pelo
10/59 menos um pacote é transferido imediatamente para uma camada alta.
36. Um método de movimentação de pacote compreendendo: recepção de um fluxo de pacotes; identificação de um primeiro número de pacotes no fluxo de pacotes como pacotes de baixa latência; identificação de um segundo número de pacotes no fluxo de pacotes como pacotes com baixo erro; encaminhar os pacotes de baixa latência e baixo erro para um transceptor ou para uma camada mais elevada; e armazenar os pacotes com baixo erro para correção de erro.
37. O método do item 36, que inclui ainda anexar um identificador aos pacotes com baixo erro.
38. Um método de alocação de memória em um transceptor compreendendo: análise de um ou mais parâmetros de comunicação; identificação de uma alocação de memória; e alocar memória com base na alocação de memória para uma função de retransmissão e uma ou mais funções de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
39. Um método de compartilhamento de memória em um transceptor compreendendo: receber uma alocação de memória; estabelecer uma memória compartilhada para uma ou mais das funções de intercalação, desintercalação, codificação RS (Reed-Solomon), decodificação RS (Reed-Solomon) e retransmissão de pacote; e compartilhar a memória compartilhada entre uma função de retransmissão e uma ou mais funções de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
40. O método do item 39, que inclui ainda
11/59 determinar a compatibilidade da alocação da memória.
41. O método do item 39, no qual a compatibilidade da alocação de memória é baseada em parâmetros de desempenho do canal.
42. Meios para executar a funcionalidade de qualquer um dos aspectos supramencionados.
43. Uma mídia de armazenamento de informações composta de informações que, quando executadas, executam a funcionalidade de qualquer um dos aspectos supramencionados.
44. Qualquer uma ou mais das características, essencialmente conforme descrito neste documento.
45. Meios para retransmissão de pacotes, compreendendo : meios para transmitir ou receber uma diversidade de pacotes; meios para identificar pelo menos um pacote dentre a diversidade de pacotes como um pacote que não deve ser retransmitido.
46. Os meios do item 45, no qual o pacote é qualquer agrupamento de bytes.
47. Os meios do item 45, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
48. Os meios do item 45, no qual um conjunto de bits compreendendo um identificador de seqüência (SID) é anexado a cada pacote.
49. Os meios do item 48, no qual os meios
12/59 para identificar consistem em usar um valor especial para um identificador de seqüência (SID).
50. Os meios do item 48, no qual o conjunto de bits anexado é composto de uma CRC dedicada.
51. Os meios do item 45, no qual pelo menos um pacote não é armazenado para retransmissão.
52. Os meios do item 45, no qual pelo menos um pacote é transferido imediatamente para uma camada alta.
53. Meios para compartilhar memória entre uma função de intercalação e/ou desintercalação e uma função de retransmissão de pacote.
54. Meios para alocar uma primeira parte da memória compartilhada para retransmissão e uma segunda parte da memória compartilhada para intercalação e/ou desintercalação.
55. Os meios do item 54, que incluem ainda meios para transmitir ou receber uma mensagem indicando como alocar a memória compartilhada.
56. Os meios do item 54, que incluem ainda meios para transmitir ou receber uma mensagem indicando como compartilhar a memória.
57. Meios para compartilhar uma memória entre uma função de intercalação e/ou desintercalação e uma função de retransmissão de pacote.
58. Meios para retransmissão de pacotes, compreendendo : meios para transmitir ou receber uma diversidade de pacotes; meios para identificar pelo menos um pacote entre a diversidade de pacotes como um pacote que deve ser retransmitido e pelo menos um pacote entre a diversidade de pacotes como um pacote que não deve ser retransmitido.
13/59
59. Os meios do item 58, no qual o pacote é qualquer agrupamento de bytes.
60. Os meios do item 58, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
61. Os meios do item 58, no qual um conjunto de bits compreendendo um identificador de seqüência (SID) é anexado a cada pacote.
62. Os meios do item 61, no qual os meios para identificar consistem em usar um valor especial para o identificador de seqüência (SID).
63. Os meios do item 58, no qual o conjunto de bits anexado é composto de uma CRC dedicada.
64. Os meios do item 58, no qual pelo menos um pacote é armazenado para retransmissão.
65. Os meios do item 58, no qual pelo menos um pacote é transferido imediatamente para uma camada alta.
66. Meios de movimentação de um pacote compreendendo: meios para receber um fluxo de pacotes; meios para identificar um primeiro número de pacotes no fluxo de pacotes como pacotes de baixa latência; meios para identificar um segundo número de pacotes no fluxo de pacotes como pacotes com baixo erro; meios para encaminhar os pacotes de baixa latência e baixo erro para um transceptor ou camada mais elevada; e meios para armazenar os pacotes com baixo erro para correção de erros.
67. Os meios do item 66, que incluem ainda meios para anexar um identificador aos pacotes com baixo erro.
14/59
68. Meios para alocar memória em um transceptor, compreendendo: meios para analisar um ou mais parâmetros de comunicação; meios para identificar uma alocação de memória; e meios para alocar memória com base na alocação de memória para uma função de retransmissão e uma ou mais de uma função de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
69. Meios para compartilhar memória em um transceptor, compreendendo: meios para receber uma alocação de memória; meios para estabelecer uma memória compartilhada para uma ou mais funções de intercalação, desintercalação, codificação RS (Reed-Solomon), decodificação RS (Reed-Solomon) e retransmissão de pacote; e meios para compartilhar a memória compartilhada entre uma função de retransmissão e uma ou mais de uma funcionalidade de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
70. Os meios do item 69, que incluem adicionalmente meios para determinar uma compatibilidade da alocação de memória.
71. Os meios do item 69, nos quais a compatibilidade da alocação de memória é baseada em parâmetros de desempenho do canal.
72. Um transceptor capaz de realizar retransmissão de pacote, compreendendo: um módulo de gerenciamento de transmissão configurável para transmitir ou receber uma diversidade de pacotes; e um módulo de qualidade de serviço (QDS) configurável para identificar pelo menos um pacote entre a diversidade de pacotes como um pacote que não deve ser retransmitido.
15/59
73. O transceptor do item 72, no qual o pacote é qualquer agrupamento de bytes.
74. O transceptor do item 72, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
75. O transceptor do item 72, no qual um conjunto de bits, compreendendo um identificador de seqüência (SID), é anexado a cada pacote.
76. O transceptor do item 75, no qual o módulo de qualidade de serviço (QDS) utiliza um valor especial para um identificador de seqüência (SID).
77. O transceptor do item 75, no qual o conjunto de bits anexado é composto de uma CRC dedicada.
78. O transceptor do item 72, no qual pelo menos um pacote não é armazenado para retransmissão.
79. O transceptor do item 72, no qual pelo menos um pacote é transferido imediatamente para uma camada alta.
80. Uma memória capaz de ser compartilhada entre intercalação e/ou desintercalação e retransmissão de pacote.
81. Um módulo de gerenciamento de memória capaz de alocar uma primeira parte da memória compartilhada para retransmissão e capaz de alocar uma segunda parte da memória compartilhada para uma ou mais funcionalidades de intercalação e de desintercalação.
82. O módulo do item 81, que inclui ainda um
16/59 módulo para transmitir ou receber uma mensagem indicando como alocar a memória compartilhada.
83. O módulo do item 81, que inclui ainda um módulo para transmitir ou receber uma mensagem indicando como compartilhar a memória.
84. Um módulo capaz de ser compartilhado entre intercalação e/ou desintercalação e retransmissão de pacote.
85. Um transceptor capaz de realizar retransmissão de pacote, compreendendo: um módulo de gerenciamento de transmissão configurável para transmitir ou receber uma diversidade de pacotes; e um módulo de qualidade de serviço (QDS) configurável para identificar pelo menos um pacote dentre a diversidade de pacotes como um pacote que deve ser retransmitido e pelo menos um pacote dentre a diversidade de pacotes como um pacote que não deve ser retransmitido.
86. O transceptor do item 85, no qual o pacote é qualquer agrupamento de bytes.
87. O transceptor do item 85, no qual o pacote é um de entre um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon) e um símbolo de modulação DMT.
88. O transceptor do item 85, no qual um conjunto de bits compreendendo um identificador de seqüência (SID) é anexado a cada pacote.
89. O transceptor do item 88, no qual a etapa de identificação consiste em usar um valor especial para um identificador de seqüência (SID).
90. O transceptor do item 88, no qual o
17/59 conjunto de bits anexado é composto de uma CRC dedicada.
91. O transceptor do item 85, no qual pelo menos um pacote é armazenado para retransmissão.
92. O transceptor do item 85, no qual pelo menos um pacote é transferido imediatamente para uma camada alta.
93. Um transceptor capaz de movimentar um fluxo de pacotes compreendendo: um módulo de qualidade de serviço (QDS) capaz de identificar um primeiro número de pacotes no fluxo de pacotes como pacotes de baixa latência e um segundo número de pacotes no fluxo de pacotes como pacotes com baixo erro; um módulo de gerenciamento de transmissão capaz de encaminhar os pacotes de baixa latência e baixo erro para outro transceptor; e um módulo de memória (buffer) com capacidade para armazenar os pacotes com baixo erro para correção de erro.
94. O transceptor do item 93, que inclui ainda um módulo de atribuição de qualidade de serviço (QDS) para pacote capaz de anexar um identificador aos pacotes com baixo erro.
95. Um transceptor capaz de ter uma memória alocável compreendendo: um controlador capaz de analisar um ou mais parâmetros de comunicação; e um módulo de gerenciamento de memória capaz de identificar uma alocação de memória e alocar uma memória compartilhada com base na alocação de memória para uma função de retransmissão e uma ou mais das funções de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
96. Um transceptor capaz de compartilhar memória, compreendendo: um controlador capaz de receber uma
18/59 alocação de memória; e um módulo de gerenciamento de memória capaz de estabelecer uma memória compartilhada para uma função de retransmissão e uma ou mais das funções de intercalação, desintercalação, codificação RS (Reed-Solomon) e decodificação RS (Reed-Solomon).
97. O transceptor do item 96, no qual o módulo de gerenciamento de memória determina ainda uma compatibilidade da alocação de memória.
98. O transceptor do item 96, no qual a alocação de memória é baseada em um ou mais parâmetros de desempenho do canal de comunicação.
99. Em um ambiente de comunicação onde pacotes estão sendo transmitidos, um método para alocar uma primeira parte da memória compartilhada para retransmissão e uma segunda parte da memória compartilhada para intercalação e/ou desintercalação.
100. O método do item 99, no qual todos os pacotes com erro são retransmitidos.
101. O método dos item 19, 20 e 99, no qual uma função de retransmissão identifica pacotes que não devem ser retransmitidos.
102. O método do item 99, no qual todos os pacotes estão sendo transmitidos sem um nível de qualidade de serviço (QDS) atribuído.
103. Um método de comunicação de pacote compreendendo: em um primeiro modo de operação: transmissão ou recepção de uma diversidade de pacotes; identificando pelo menos um pacote entre os diversos pacotes como um pacote que não deve ser retransmitido; em um segundo modo de operação:
19/59 transmissão ou recepção de uma diversidade de pacotes; alocando uma primeira parte da memória compartilhada para retransmissão de pacotes e uma segunda parte da memória compartilhada para uma ou mais funções de intercalação, desintercalação, codificação, decodificar e correção de erro; e em um terceiro modo de operação: transmissão ou recepção de uma diversidade de pacotes; identificando pelo menos um pacote entre a diversidade de pacotes como um pacote do tipo retransmissível; identificando pelo menos um pacote da diversidade de pacotes como um pacote do tipo não retransmissível; alocando uma primeira parte da memória compartilhada para retransmissão de pacotes do tipo retransmissíveis e uma segunda parte da memória compartilhada para uma ou mais das funções de intercalação, desintercalação, codificação, decodificação e correção de erro.
104. O método do item 103, no qual o pacote do tipo retransmissível é um pacote de baixa latência.
105. O método do item 103, no qual o pacote do tipo retransmissível é um pacote de baixo erro.
Essas e outras características e vantagens desta invenção estão descritas em, ou estão aparentes a partir da seguinte descrição detalhada dos exemplos de concretização.
Breve Descrição Dos Desenhos
Os exemplos de concretização da invenção serão descritos em detalhes, com referência às seguintes figuras deste documento:
A figura 1 ilustra um sistema de comunicação típico de acordo com esta invenção.
A figura 2 é um fluxograma que destaca um método ilustrativo para retransmissão de pacote de acordo com
20/59 esta invenção.
A figura 3 é a fluxograma que destaca um método ilustrativo para recepção de pacote retransmitido de acordo com esta invenção.
A figura 4 é um fluxograma que destaca um método ilustrativo para alocação de memória de acordo com esta invenção.
A figura 5 é um fluxograma que destaca um método ilustrativo para compartilhamento de memória de acordo com esta invenção.
Descrição Detalhada
Os exemplos de concretização desta invenção serão descritos em relação à retransmissão de pacote e/ou compartilhamento de memória em um ambiente xDSL. Entretanto, deve ser levado em conta que, em geral, os sistemas e métodos desta invenção funcionarão igualmente bem para qualquer tipo de sistema de comunicação em qualquer ambiente.
Os sistemas e métodos ilustrativos desta invenção também serão descritos em relação a modems com multiportadora, como modems xDSL e modems VDSL, e hardware e software de comunicação e canais de comunicação associados. Entretanto, para evitar ambiguidade desnecessária na presente invenção, a descrição a seguir omite estruturas e dispositivos bem conhecidos que podem ser mostrados na forma de diagrama de blocos ou resumidos de qualquer outra forma.
Para fins de explicação, inúmeros detalhes são apresentados para proporcionar um entendimento completo da presente invenção. Deve ser levado em conta, entretanto, que a presente invenção pode ser praticada em uma variedade de
21/59 maneiras além dos detalhes específicos apresentados para análise neste documento.
Além disso, embora as configurações típicas ilustradas neste documento apresentem os diversos componentes do sistema agrupados lado a lado, deve ser levado em conta que os diversos componentes do sistema podem estar situados em partes distantes de uma rede distribuída, como uma rede de comunicações e/ou a internet, ou dentro de um sistema seguro, inseguro e/ou criptografado dedicado. Assim, deve ser levado em conta que os componentes do sistema podem ser combinados em um ou mais dispositivos, como um modem, ou agrupados na seqüência correta em um nó específico de uma rede distribuída, como uma rede de telecomunicações. Como será observado a partir da descrição a seguir, e por razões de eficiência computacional, os componentes do sistema podem ser dispostos em qualquer local em uma rede distribuída sem afetar a operação do sistema. Por exemplo, os diversos componentes podem estar situados em um modem da Central Telefônica (CO, unidade terminal ADSL em Central Telefônica (ATU-C), na unidade VDSL transceptora na unidade de rede ótica (VTU-O)), em um modem na Instalação Cliente (CPE (Customer Premise Equipment - Equipamento em instalações de cliente), unidade de transmissão ADSL remota (ATU-R), em terminal remoto de unidade transceptora VDSL (VTU-R)), em um dispositivo de gerenciamento xDSL ou em alguma combinação destes. De forma similar, uma ou mais partes funcionais do sistema poderiam estar distribuídas entre um modem e um dispositivo de computação associado.
Além disso, deve ser levado em conta que as diversas conexões, inclusive o canal de comunicação (10),
22/59 conectando os elementos (não mostrados) podem ser conexões com fios ou sem fios (wireless), ou qualquer combinação destes, ou qualquer outro(s) elemento(s) conhecido(s) ou desenvolvido(s) posteriormente capazes de fornecer e/ou comunicar dados de e para os elementos conectados. O termo módulo, conforme utilizado neste documento, pode se referir a qualquer hardware, software, firmware conhecido ou desenvolvido posteriormente, ou uma combinação destes, capaz de executar a funcionalidade associada àquele elemento. Os termos determinar, calcular e computar, e as variações desses termos, conforme utilizados neste documento, são utilizados de forma intercambiável e incluem qualquer tipo de metodologia, processo, operação matemática ou técnica. Modem de transmissão e transceptor de transmissão, assim como, modem de recepção e transceptor de recepção são utilizados de forma intercambiável neste documento.
Além disso, enquanto alguns dos exemplos de concretização descritos neste documento estejam relacionadas à parte transmissora de um transceptor executando a intercalação e/ou codificação nas informações transmitidas, deve ser levado em conta que uma desintercalação e/ou decodificação correspondente é executada por uma parte receptora de um transceptor. Assim, enquanto, talvez não ilustrado especificamente em cada exemplo, esta divulgação destina-se a incluir esta funcionalidade correspondente no mesmo transceptor e/ou em outro transceptor.
O sistema de comunicação 100 é composto de uma parte de um transceptor 200 e uma parte de um transceptor 300. O transceptor 200, além de componentes bem conhecidos, é composto de um módulo de pacote com erro 210, um módulo de gerenciamento de transmissão 220, um módulo de identificação de
23/59 qualidade de serviço (QOS ID) 225, um módulo de qualidade de serviço (QDS) 230, um módulo de atribuição de qualidade de serviço (QDS) para pacote 240, um buffer de memória para retransmissão/intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) 250, um módulo contador (260), um módulo de gerenciamento de memória 270 e um controlador/memória 280.
O transceptor 200 está conectado ao transceptor 300 por meio do canal de comunicação 10. O transceptor 300, além de componentes bem conhecidos, é composto de um módulo de pacote com erro 310, um módulo de gerenciamento de transmissão 320, um módulo de identificação de qualidade de serviço (QOS ID) 325, um módulo de qualidade de serviço (QDS) 330, um módulo de atribuição de qualidade de serviço (QDS) para pacote 340, um buffer de memória para retransmissão/intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) 350, um módulo contador (360), um módulo de gerenciamento de memória 370 e um controlador/memória 380.
Conforme descrito acima, os sistemas, métodos e protocolos relacionados neste instrumento serão descritos em relação os sistemas xDSL, como aqueles especificados nas normas ADSL2 ITU-T G.993.2, ADSL2+ ITU G.993.5, e VDSL2 ITU G.993.2, que são integralmente incorporados a este documento por referência.
Em operação, um primeiro aspecto da invenção está relacionado à retransmissão de um ou mais pacotes, o identificador de retransmissão sendo implementado em qualquer camada de transmissão onde são definidos os limites do pacote.
24/59
Por exemplo, a invenção pode ser implementada no Modo de Transmissão de Pacote TC (PTM-TC) de sistemas xDSL. Para referência, o Anexo A, que está registrado no depósito provisório identificado e é incorporado a este documento por referência, contém o PTM-TC dos sistemas ADSL2 e VDSL2 conforme especificado na norma ITU-T G.992.3 para ADSL2.
Conforme proposto neste documento, a invenção será descrita, de modo geral, em relação ao mecanismo de retransmissão sendo incorporado como parte do PTM-TC, entretanto, deve ser levado em conta que a invenção também pode ser implementada dentro de outra(s) camada(s) de um dispositivo de comunicação, como um transceptor xDSL, como dentro do PMD ou do PMS-TC.
As técnicas de retransmissão apresentadas neste documento também podem ser executadas em uma camada acima do PTM-TC, por exemplo, em uma nova camada entre o PTM-TC e a próxima camada mais elevada, ou em qualquer camada acima da camada física, por exemplo, nas camadas 2, 3, 4, 5, etc.
Adicionalmente, embora pacote seja utilizado neste documento, o termo pacote inclui qualquer unidade de dados básicos, ou seja, um agrupamento de bytes. Por exemplo, um pacote podería ser um pacote IP, um pacote Ethernet, uma célula ATM, um pacote PTM, um quadro de dados multiplexados ADSL, uma informação codificada para PTM-TC, uma informação codificada RS (Reed-Solomon), um símbolo de modulação DMT ou, em geral, qualquer agrupamento bytes ou informações de dados. Um pacote também poderia ser uma combinação de um ou mais dos itens acima. Por exemplo, um pacote poderia ser montado pela
25/59 concatenação de qualquer número de células ATM para criar um agrupamento de bits maior. Por exemplo, cinco células ATM de 53 bytes poderiam ser combinadas em um pacote de 265 bytes ou quatro informações codificadas PTM-TC de 65 bytes poderiam ser combinadas em um pacote de 260 bytes. Um pacote também poderia ser baseado na divisão de qualquer um dos agrupamentos de bytes acima. Por exemplo, pacotes IP ou Ethernet maiores poderiam ser divididos em grupos de bytes menores para serem utilizados como um pacote com a funcionalidade de retransmissão descrita neste documento. Por exemplo, um pacote IP de 150 bytes poderia ser dividido em três pacotes de 500 bytes e utilizado pelo protocolo de retransmissão. Se a função de retransmissão for implementada como parte do PTM-TC, os pacotes são recebidos de uma camada mais elevada no transmissor xDSL do PTM-TC e enviados via o transmissor xDSL da sub-camada de meio físico convergência de transmissão (PMS-TC) e da camada física dependente do meio (PMD) no canal de comunicação para o receptor xDSL. O receptor xDSL da camada física dependente do meio (PMD) e da convergência de transmissão do meio físico específico (PMS-TC) processa o sinal recebido e transfere os resultados para o PTM-TC, que processa a informação e transfere os pacotes recebidos para uma camada(s) mais elevada(s).
Pacotes recebidos da camada mais elevada no transmissor xDSL do PTM-TC podem ser designados para ter um nível de qualidade de serviço (QDS). O nível de qualidade de serviço (QDS) de um pacote pode indicar a importância de determinadas parâmetros de serviço (ou características) deste (ou mais) pacote(s). Dois parâmetros de qualidade de serviço (QDS) ilustrativas são com retardo (ou latência) e Taxa de Erro de Pacote
26/59 (TEP). Embora, conforme descrito acima, essas duas características sendo o foco da invenção, podería ser utilizado também qualquer número de parâmetros de qualidade de serviço (QDS) diferentes.
Como um exemplo, no caso onde as dois parâmetros de qualidade de serviço (QDS) são a latência e PER, um primeiro conjunto de pacotes transportando determinadas informações pode ter um requisito de PER muito baixo, porém pode ser capaz de tolerar retardo mais elevado. Outros pacotes contendo informações como voz ou tráfego de dados podem ter requisitos de retardo muito baixo, porém podem tolerar um PER mais elevado. De acordo com um exemplo de concretização desta invenção, o primeiro conjunto de pacotes seria designado como pacotes com qualidade de serviço (QDS) com baixa taxa de erro de pacote (TEP) ao passo que pacotes de voz ou de dados seriam designados como pacotes com qualidade de serviço (QDS) de baixa latência. O nível (ou métrica) de qualidade de serviço (QDS) de um pacote podería ser designado de diversas maneiras. Por exemplo:
i) Determinados conjuntos de bits no cabeçalho da parte de dados de cada pacote poderíam conter determinados valores que especificam os requisitos de qualidade de serviço (QDS) de um pacote. Por exemplo, o cabeçalho do pacote poderia conter conjuntos de bits que indicam se o pacote tem um requisito de qualidade de serviço (QDS) de baixa taxa de erro de pacote (TEP) ou um requisito de qualidade de serviço (QDS) de baixa latência. Esses conjuntos poderíam ser lidos pelo modem de transmissão e/ou modem de recepção para determinar o nível de qualidade de serviço (QDS) de cada pacote.
27/59 ii) Ao enviar pacotes de camada mais elevada para o PTM-TC, a camada mais elevada podería indicar, com base a cada pacote, os requisitos de qualidade de serviço (QDS) de cada pacote. Por exemplo, poderia haver um sinal separado na interface que indica se um pacote que está sendo transferido tem um requisito de qualidade de serviço (QDS) de baixa Taxa de Erro de Pacote ou um requisito de qualidade de serviço (QDS) de baixa latência.
iii) Ao enviar pacotes de camada mais elevada para o PTM-TC, poderia haver uma interface (ou canal) separada para pacotes com requisitos de qualidade de serviço (QDS) diferentes. Por exemplo, um canal poderia ser utilizado para transferir pacotes que têm um requisito de qualidade de serviço (QDS) de baixa Taxa de Erro de Pacote (TEP) e um segundo canal poderia ser utilizado para transferir pacotes que têm um requisito de qualidade de serviço (QDS) de baixa latência. Este conceito geral também poderia ser ampliado para acomodar uma diversidade de requisitos de qualidade de serviço (QDS) e uma diversidade de canais.
iv) Como no caso de preferência de prioridade (preempção) no PTM-TC (ver anexo A), duas interfaces-γ separadas logicamente poderíam ser utilizadas para o transporte de um fluxo de pacotes com baixa PER e baixa latência através de um único canal portador. Esta idéia geral poderia então ser ampliada para suportar qualquer número de tipos de pacote.
Outros mecanismos também podem ser utilizados para designar o nível de qualidade de serviço (QDS) de um pacote - desde que o protocolo de retransmissão do transmissor e/ou do receptor tenha capacidade de saber o nível de qualidade de
28/59 serviço (QDS) de um ou mais pacotes.
Assim que o nível de qualidade de serviço (QDS) é conhecido pelos PTM-TCs, pode ser atribuída uma retransmissão de pacote eficiente. Os métodos e protocolos ilustrativos de retransmissão de pacote podem ser projetados para incluir qualquer uma ou mais das seguintes características de nível do sistema:
Todos os pacotes são recebidos da camada mais elevada e transferidos para as camadas mais elevadas na seqüência correta.
Pacotes com qualidade de serviço (QDS) de baixa latência não sofrerão nenhum retardo extra devido à retransmissão.
Somente pacotes com qualidade de serviço (QDS) de baixa Taxa de Erro de Pacote (TEP) devem ser retransmitidos e, portanto, somente pacotes com baixa Taxa de Erro de Pacote (TEP) sofrerão o retardo extra devido ao mecanismo de retransmissão.
O controle de fluxo pode ser minimizado de modo que o transmissor possa aceitar, de modo geral, todos os pacotes da camada mais elevada na taxa de transmissão de dados exigida sem reter (ou bloquear) pacotes da camada mais elevada durante o processo de retransmissão.
A variação do retardo/instabilidade do pacote pode ser mínima.
Uma funcionalidade do tipo DRR em um único canal portador sem requerer reconfiguração online (OLR) de latência/intercalador.
O transceptor (200), junto com o módulo de
29/59 qualidade de serviço (QDS) (230), recebe pacotes de uma camada mais elevada. Junto com o módulo de atribuição de qualidade de serviço (QDS) para pacote (240), um identificador de seqüência (SID) de pacote é anexado aos pacotes recebidos. Os pacotes, junto com o módulo de gerenciamento de transmissão (220), podem ser transmitidos em seguida na seqüência na qual foram recebidos.
O módulo de qualidade de serviço (QDS) (230), se ainda não executado por uma camada alta, também identifica os pacotes com base nos requisitos de qualidade de serviço (QDS) do(s) pacote(s). Em seguida, junto com o módulo de atribuição de qualidade de serviço (QDS) para pacote (240), um identificador de qualidade de serviço (QDS) é associado ao pacote, conforme descrito adiante neste documento.
Se, por exemplo, o pacote é identificado como um pacote de baixa Taxa de Erro de Pacote (TEP), e é atribuído com um identificador desse tipo pelo módulo de qualidade de serviço (QDS) (230), quando o módulo de gerenciamento de transmissão (220) recebe o pacote, o pacote é identificado pelo módulo de Identificação de Qualidade de Serviço (QOS ID) (225) como sendo um pacote de baixa Taxa de Erro de Pacote (TEP) e o pacote é encaminhado para armazenamento no buffer de retransmissão (250). Alternativamente, se o pacote foi rotulado como um pacote de baixa latência, e identificado como tal pelo módulo de identificação de qualidade de serviço (QOS ID) (225), o pacote pode ser transmitido para o modem de recepção junto com o módulo de gerenciamento de transmissão (220).
Os pacotes com baixa taxa de erro de pacote (TEP) podem ser armazenados durante um tempo suficiente para aguardar uma mensagem de retransmissão do PTM-TC receptor.
30/59
Durante este tempo, o modem de transmissão pode continuar a receber pacotes de uma ou mais camadas mais elevadas, rotular esses pacotes, se necessário, e armazenar esses pacotes, se eles estiverem identificados como pacotes com baixa taxa de erro de pacote (TEP), do mesmo modo. Os requisitos de armazenamento mínimo resultante para o PTM-TC transmissor estão estimados abaixo.
Para uma retransmissão bem sucedida, o modem de recepção deve ser capaz de informar ao modem de transmissão qual pacote, ou pacotes, precisa(m) ser retransmitido(s). Um modo ilustrativo de executar isto é pela transmissão de pacotes com um conjunto de bits anexado que contém um contador indicando o lugar de cada pacote em um fluxo de pacotes. Este valor de contador também é conhecido como um Identificador de Seqüência (SID). Por exemplo, um conjunto de bits contendo um contador de 16 bits podería ser anexado a cada pacote e o módulo contador (260) seria incrementado em uma unidade depois que cada pacote foi transmitido. Junto com o módulo de atribuição de QOS para pacote (240), o conjunto contador de um pacote poderia ser anexado ao pacote em diversos locais, por exemplo, no início ou no final do pacote, ou no início ou no final do cabeçalho do pacote.
Pacotes recebidos de uma camada mais elevada já podem ter a informação em um cabeçalho ou conjunto de dados do pacote que contém a informação de contagem, ou seqüência, do pacote. Além disso, o campo contador de pacote pode ser anexado com um conjunto CRC adicional que contém uma verificação de redundância cíclica que é computada somente nos bits do campo contador de pacote. Essa verificação de redundância
31/59 cíclica (CRC) pode ser utilizada pelo receptor para determinar se o campo contador de pacote foi recebido corretamente, ou seja, sem erros de bits. Essa verificação de redundância cíclica (CRC) pode ser adicional ao CRC padrão inserido pelo PTM-TC padrão (a verificação de redundância cíclica do pacote PTM-TC padrão é uma CRC que abrange todos os bits em um pacote). A CRC de pacote padrão também pode abranger o novo campo contador de pacote em sua verificação de redundância cíclica (CRC). Isto ajuda se o modem de recepção utiliza a presença ou a ausência do campo contador de pacote em um pacote para detectar se o pacote tem um requisito de baixa taxa de erro de pacote (TEP) ou de baixa latência (descrito abaixo).
Alternativamente, ou adicionalmente, o campo contador de pacote (com ou sem uma verificação de redundância cíclica (CRC) dedicada) pode ser anexado somente aos pacotes com um requisito de qualidade de serviço (QDS) específico, ao passo que todos os outros pacotes podem ser transmitidos sem modificação. Por exemplo, todos os pacotes de vídeo com de qualidade de serviço (QDS) de baixa taxa de erro de pacote (TEP) poderíam conter o campo contador de pacote anexado ao passo que todos os pacotes de voz/dados de baixa latência poderíam ser transmitidos inalterados. Uma vantagem ilustrativa disto é que o processamento adicional (perda de taxa) devido à adição do conjunto contador do pacote ocorre somente ao transmitir pacotes com baixa taxa de erro de pacote (TEP).
Alternativamente, ou adicionalmente, todos os pacotes com baixa taxa de erro de pacote (TEP) e baixa latência podem ser transmitidos com o campo contador de pacote baixo (com ou sem uma verificação de redundância cíclica (CRC)
32/59 dedicada). Neste caso, o campo contador de pacote dos pacotes de baixa latência pode conter um valor especial indicando que um pacote não é um pacote com baixa taxa de erro de pacote (TEP). Além disso, o campo contador de pacote do pacote com baixa latência pode nem mesmo conter um valor de contagem, pois os pacotes de baixa latência não são destinados a serem retransmitidos. Neste caso, o campo contador de pacote podería conter um valor de contador somente para pacotes com baixa taxa de erro de pacote (TEP) e o valor do contador seria incrementado apenas quando um pacote com baixa taxa de erro de pacote (TEP) fosse transmitido. Como um exemplo, se o campo contador de pacote for de 16 bits, o valor especial com todos os zeros podería ser utilizado para indicar que um pacote é um pacote com baixa latência. Neste caso, pacotes com baixa taxa de erro de pacote (TEP) poderíam conter valores de contador de um até 216-1, porém sem incluir todos os zeros, pois esse valor especial com zeros pode ser utilizado para indicar um pacote de baixa latência.
O modem de recepção, por exemplo, o PTMTC receptor, que neste caso é ilustrado como o transceptor (300) e inclui funcionalidade comparável com aquela descrita em relação ao transceptor (200), recebe pacotes do modem de transmissão por meio da PMS-TC. Se o pacote recebido é identificado como um pacote de baixa latência pelo módulo de Identificação de Qualidade de Serviço (QOS ID) (325), o pacote é transferido para uma camada mais elevada. Se um pacote recebido é identificado pelo módulo de Identificação de Qualidade de Serviço (QOS ID) (325) como um pacote de baixa Taxa de Erro de Pacote (TEP), o pacote é encaminhado, com a cooperação do módulo de gerenciamento de transmissão (320), para o buffer de retransmissão (350) por um
33/59 período mínimo antes de ser transferido para uma camada mais elevada.
O tempo de armazenamento no buffer de retransmissão (350) ajuda a assegurar que o protocolo de retransmissão proporciona um retardo constante, por exemplo, nenhuma variação de retardo é percebida pelas camadas superiores. Deste modo, se um pacote precisa ser retransmitido, o modem de recepção pode continuar a fornecer pacotes para as camadas mais elevadas a uma taxa constante enquanto aguarda o(s) pacote(s) retransmitido(s) chegar (em) do modem de transmissão. Os requisitos de memória mínima (ou armazenamento) resultante para o PTM-TC de recepção estão estimados abaixo.
Alternativamente, pacotes com baixa taxa de erro de pacote (TEP) sem erros podem não ser armazenados durante um tempo mínimo antes de passar para uma camada mais elevada. Os pacotes de baixa taxa de erro de pacote (TEP), sem erro, podem ser transferidos imediatamente para a camada mais elevada exatamente como os pacotes de baixa latência. Entretanto, quando um pacote de baixa taxa de erro de pacote (TEP) apresenta erro, ele é armazenado junto com todos os pacotes de baixa taxa de erro de pacote (TEP) seguintes antes de passar para uma camada mais elevada para aguardar o(s) pacote(s) retransmitido(s) chegar (em). Isto causará uma variação de retardo nos pacotes com baixa taxa de erro de pacote (TEP) sempre que ocorrer uma retransmissão. Entretanto, esta variação de retardo não se aplicaria aos pacotes de baixa latência.
O módulo de identificação de qualidade de serviço (QOS ID) (325) pode detectar se um pacote é de baixa taxa
34/59 de erro de pacote (TEP) ou de baixa latência usando vários métodos diferentes. Por exemplo, se todos os pacotes com baixa taxa de erro de pacote (TEP) e de baixa latência contêm o campo contador de pacote anexado, então o modem de recepção, junto com o módulo contador (360), detecta um pacote de baixa latência quando o campo contador de pacote contém o valor especial designado, que foi inserido pelo modem de transmissão, indicando que o pacote é um pacote de baixa latência.
Alternativamente, ou adicionalmente, o receptor podería detectar um pacote com baixa taxa de erro de pacote (TEP) quando o campo contador de pacote contém um valor de contador de pacote válido. Adicionalmente, se uma CRC dedicada é anexada ao campo contador de pacote, a CRC podería ser utilizada para detectar se os bits do campo contador de pacote estão com erro.
Se o campo contador de pacote, incluindo a CRC, é anexado somente em pacotes com baixa taxa de erro de pacote (TEP), a ausência ou presença deste conjunto em um pacote pode ser utilizada pelo modem de recepção e, especificamente pelo módulo de identificação de qualidade de serviço (QOS ID), para detectar um pacote de baixo retardo. Por exemplo, o modem de recepção pode examinar a posição no pacote onde o campo contador de pacote estaria, caso tenha sido um pacote com baixa taxa de erro de pacote (TEP), e se a verificação de redundância cíclica (CRC) no campo contador de pacote falha enquanto a verificação de redundância cíclica (CRC) padrão do pacote completo estiver correta, o modem de recepção poderia determinar que o pacote é um pacote de baixo retardo, pois ele não contém o campo contador de pacote. Da mesma forma, por
35/59 exemplo, o modem de recepção pode examinar a posição no pacote onde o campo contador de pacote estaria, caso este tenha sido um pacote com baixa taxa de erro de pacote (TEP) e se a verificação de redundância cíclica (CRC) do campo contador de pacote estiver correta, o modem de recepção determinaria este é um pacote com baixa taxa de erro de pacote (TEP), independentemente do status da verificação de redundância cíclica (CRC) padrão do pacote completo.
O modem de recepção, junto com o buffer de retransmissão (350), e o módulo de pacote com erro (310), podem ser utilizados para detectar pacotes faltantes ou com erro em diversas maneiras ilustrativas. Por exemplo, o módulo de pacote com erro (310) pode detectar erros de bits no pacote usando a verificação de redundância cíclica (CRC) do pacote padrão/completo do PTM-TC. Alternativamente, ou adicionalmente, o módulo de pacote com erro (310) pode detectar erros de bits no campo contador de pacote se o modem de transmissão anexou uma CRC dedicada ao campo contador de pacote. Essa verificação de redundância cíclica (CRC) é valiosa porque pode ser utilizada pelo módulo de pacote com erro no modem de recepção para determinar se um pacote tem o número de pacote correto, mesmo se a verificação de redundância cíclica (CRC) padrão do pacote completo estiver com erro.
Alternativamente, ou adicionalmente, o módulo de pacote com erro (310), pode detectar um pacote com erro ou faltante ao receber um pacote com uma CRC correta no conjunto padrão ou no campo contador de pacote, que contém um número contador de pacote que não é o número de contador de pacote previsto. Por exemplo, se o módulo de pacote com erro
36/59 (310), junto com o módulo contador (360), detecta o recebimento de um pacote com um número contador igual a 5, no qual o módulo de pacote com erro (310) está esperando receber um pacote com um contador igual a 3, o módulo de pacote com erro (310) pode determinar que dois pacotes, especificamente os pacotes numerados como 3 e 4 foram perdidos devido a erros.
Assim que for observado que um pacote(s) está com erro, há várias maneiras ilustrativas pelas quais um modem de recepção pode comunicar informações para o modem de transmissão indicando que é necessária uma retransmissão de um ou mais pacotes. Por exemplo, o modem de recepção, junto com o módulo de pacote com erro (310), pode enviar uma mensagem de reconhecimento (ACK) para o modem de transmissão para cada mensagem recebida corretamente ou para cada número predeterminado de pacotes. À medida que o modem de transmissão e, especificamente o módulo de pacote com erro (210), recebe mensagens reconhecendo o recebimento dos pacotes na ordem seqüencial, não há necessidade de retransmissão das informações para o modem de recepção. Entretanto, se o modem de transmissão e, em especial, o módulo de pacote com erro (210), recebe uma mensagem do modem de recepção e, em especial, do módulo de pacote com erro (310), indicando que um pacote foi recebido corretamente com um valor de contador que está fora da seqüência, é necessária uma retransmissão pelo modem de transmissão. No exemplo acima, onde o modem de recepção recebeu um pacote com um valor de contador igual a 5, sem receber os pacotes numerados como 3 e 4, o modem de transmissão podería receber um ACK para o pacote com valor de contador igual a 2 e a seguir um ACK para o pacote com um valor
37/59 de contador igual a 5. O modem de transmissão determinaria então que foi necessário retransmitir pacotes com valores de contador iguais a 3 e 4 pois eles não foram recebidos.
Alternativamente, ou adicionalmente, um valor de tempo limite podería ser especificado para o modem de transmissão. Esse valor de tempo limite podería corresponder ao tempo que o modem de transmissão deve aguardar por um ACK de um pacote específico antes de retransmitir o pacote. O valor de tempo limite poderia ser ajustado para ser no mínimo tão longo quanto o retardo de ida e volta necessário para o modem de transmissão enviar um pacote para o modem de recepção e para o modem de recepção enviar um ACK de volta para o modem de transmissão. Se um ACK não for recebido até o tempo limite, o modem de transmissão poderia retransmitir o pacote.
Alternativamente, ou adicionalmente, um reconhecimento negativo (NAK) poderia ser enviados ao modem de transmissão quando um pacote é detectado com erro ou como faltante. No exemplo acima, quando o modem de recepção recebeu o pacote com um valor do contador igual a 5, enquanto esperava um valor de contador igual a 3, o modem de recepção poderia enviar uma mensagem NAK para o modem de transmissão indicando que pacotes com valores de contador iguais a 3 e 4 não foram recebidos corretamente e precisavam ser retransmitidos.
Alternativamente, ou adicionalmente, se um pacote foi recebido com uma verificação de redundância cíclica (CRC) do contador de pacote correta e um valor de contador de pacote α válido e uma verificação de redundância cíclica (CRC) padrão do pacote completo incorreta, o modem de recepção poderia enviar uma mensagem NAK para o modem de transmissão
38/59 indicando que um pacote com um valor de α foi recebido incorretamente e precisou ser retransmitido.
Presumido que pacotes com erro não são freqüentes, qualquer metodologia que envie um ACK para cada pacote recebido corretamente pode exigir uma taxa de transmissão de dados maior no canal de mensagem que comunique esta informação de volta para o modem de transmissão. Nesse caso, enviar apenas NAKs apresenta a vantagem de requer o envio de uma mensagem somente quando é detectado um pacote com erro ou faltante. Em função das capacidades de taxa de transmissão de dados do canal de mensagens e da taxa de erro de pacote (TEP), um sistema de retransmissão pode utilizar apenas ACKs, apenas NAKs, ou ambos: ACKs e NAKs ao mesmo tempo.
As mensagens ACK e NAK enviadas de volta ao modem de transmissão podem ser transmitidas no mesmo canal físico, ou seja, linha telefônica, na direção oposta dos pacotes recebidos. Como o canal tem uma taxa de transmissão de dados limitada e não está necessariamente isento de erros, é importante confirmar que essas mensagens sejam tão robustas quanto possível e consumam a menor quantidade possível da taxa de transmissão de dados. Adicionalmente, como os requisitos de memória de retransmissão para transmitir e receber dependem da latência de um percurso de ida e volta da conexão, é importante minimizar as exigências de latência do canal de mensagens. Existem várias maneiras de tratar essas exigências.
As mensagens podem ser enviadas via um caminho separado de baixa latência ou rápido entre os transceptores xDSL. Este caminho rápido podería incluir pouco ou mesmo nenhum retardo devido à intercalação e pode ser
39/59 especificado para ter uma latência abaixo de 2ms.
Alternativamente, ou adicionalmente, as mensagens podem ser enviadas com maior robustez, repetindo a transmissão de cada mensagem várias vezes. Por exemplo, a mensagem podería ser repetida x vezes para confirmar que, mesmo se x-1 mensagens forem corrompidas pelo canal, pelo menos uma mensagem seria recebida corretamente.
Alternativamente, ou adicionalmente, as mensagens podem ser enviadas de tal forma que cada mensagem é repetida várias vezes e cada mensagem repetida é enviada em um símbolo DMT diferente. Por exemplo, a mensagem pode ser repetida x vezes e cada mensagem enviada em um de x símbolos DMT. Dessa forma, mesmo se x-1 símbolos DMT forem corrompidos pelo canal, pelo menos uma mensagem seria recebida corretamente.
Alternativamente, ou adicionalmente, as mensagens podem ser enviadas de tal forma que cada mensagem é repetida várias vezes e cada mensagem repetida é enviada em símbolos DMT diferentes. Por exemplo, a mensagem podería ser repetida x vezes e cada mensagem enviada em um de x símbolos DMT. Dessa forma, mesmo se x-1 símbolos DMT forem corrompidos pelo canal, pelo menos uma mensagem seria recebida corretamente.
Alternativamente, ou adicionalmente, as mensagens podem ser enviadas de tal forma que cada mensagem é repetida várias vezes e cada mensagem repetida é enviada uma diversidade de vezes em cada símbolo DMT. Por exemplo, a mensagem poderia ser repetida x vezes e cada mensagem repetida enviada y vezes em um de x símbolos DMT. Dessa forma, mesmo
40/59 se x-1 símbolos DMT forem corrompidos pelo canal e/ou partes grandes de um símbolo DMT forem corrompidas por um canal, a pelo menos uma mensagem seria recebida corretamente.
Alternativamente, ou adicionalmente, as mensagens podem incluir valores de contagem de pacotes múltiplos para reduzir os requisitos de taxa de transmissão de dados. Por exemplo, se pacotes com valores de contador de 3 a 9 são recebidos corretamente (ou incorretamente) uma mensagem ACK (ou NAK) seria enviada para indicar os valores desses pacotes. Por exemplo, a mensagem podería conter os valores 3 e 9 e o receptor da mensagem saberia automaticamente que todos os valores intermediários (4, 5, 6, 7, 8) também estão indicados na mensagem.
Alternativamente, ou adicionalmente, as subportadoras DMT que modulam essas mensagens poderíam operar com uma margem da razão sinal/ruído (SNR - Signal-to-Noise Ratio) muito mais elevada, por exemplo, 15 dB, comparado à margem normal de 6 dB dos sistemas xDSL. Desse modo, as mensagens teriam uma imunidade mais elevada ao ruído do canal.
Alternativamente, ou adicionalmente, um modem de recepção pode precisar enviar uma mensagem ACK ou NAK adicional depois de pronta no processo de enviar uma mensagem repetida. Por exemplo, um modem de recepção pode detectar que pacotes com valores de 3 a 9 foram recebidos corretamente e enviar uma mensagem ACK de volta para o modem de transmissão indicando essa informação. Essa mensagem pode ser repetida x vezes em cada mensagem repetida sendo transmitida (pelo menos uma vez) em símbolos DMT diferentes. Enquanto envia a segunda mensagem repetida no segundo símbolo DMT, o receptor podería detectar que pacotes com valores de 10 a 17
41/59 foram agora recebidos também corretamente. Neste caso, o modem de recepção podería apenas anexar essa informação à mensagem anterior ou, alternativamente, enviar uma nova mensagem separada que é repetida também x vezes em cada mensagem repetida sendo transmitida (pelo menos uma vez) em um símbolo DMT diferente.
Alternativamente, ou adicionalmente, ao repetir uma mensagem x vezes em x símbolos DMT, cada mensagem repetida pode ser modulada em um conjunto diferente de sub-portadoras DMT em cada símbolo DMT. Deste modo, se uma ou mais sub-portadoras tiver uma razão sinal/ruído (SNR) baixa, a mensagem ainda será recebida corretamente.
Para pacotes com baixa taxa de erro de pacote (TEP), o retardo devido a esse protocolo de retransmissão é igual ao retardo que resulta do armazenamento desses pacotes no modem de recepção (RX PTM-TC) para transferir os pacotes para uma camada mais elevada. Pacotes de baixa latência não sofrem retardo extra.
O modem de transmissão deve armazenar um pacote para retransmissão durante um tempo igual ao retardo de ida e volta a partir do momento que um pacote é enviado até quando a mensagem de retransmissão é recebida. Durante esse tempo o modem de transmissão continua a receber pacotes da camada mais elevada e continua a armazenar esses pacotes da mesma forma. Portanto, os requisitos de armazenamento em octetos podem ser calculados como:
Memória TX (transmissão) mínima (octetos) = roundtripdelay*datarate, onde roundtripdelay é o tempo igual ao retardo de ida e volta a partir do momento que o pacote é enviado
42/59 até quando a mensagem de retransmissão é recebida, e datarate é a taxa de transmissão de dados da conexão que está transferindo os pacotes.
Para VDSL2 conforme a norma ITU-T G.993.2, que está incorporada a este documento por referência, isto pode ser calculado usando os parâmetros de perfil VDSL2 como:
Memória TX mínima (octetos) = (Retardo de Intercalação DS + US em octetos) + (retardo alfa/beta US+DS sem intercalação)*(taxa de transmissão de dados da rede bidirecional) = MAXDLEYOCTET + (4 ms) *MBDC, onde MAXDELAYOCTET e MBDC são conforme especificado nos perfis VDSL2.
Para o receptor, os requisitos mínimos de armazenamento do receptor podem ser determinados de uma maneira similar. Mais especificamente, o RX PTM-TC deve armazenar um pacote antes de transferi-lo para a camada mais elevada durante um tempo igual ao retardo de ida e volta a partir do momento quando uma mensagem de retransmissão é transmitida até o momento quanto o pacote retransmitido é recebido. Isto é igual aos requisitos de armazenamento em octetos (igual ao transmissor):
Memória RX (recepção) mínima (octetos) = roundtripdelay*datarate, onde roundtripdelay é o tempo igual ao retardo de ida e volta a partir do momento que uma mensagem de retransmissão é transmitida até quando o pacote retransmitido é recebido, e datarate é a taxa de transmissão de dados da conexão que está transferindo os pacotes.
Para VDSL2 conforme a norma ITU-T G.993.2, isto pode ser calculado usando os parâmetros de perfil VDSL2 como:
43/59
Memória RX mínima (octetos) = (retardo de intercalação DS + US em octetos) + (retardo alfa/beta US+DS sem intercalação)*(taxa de transmissão de dados da rede bidirecional) = MAXDLEYOCTET + (4 ms) *MBDC, onde MAXDELAYOCTET e MBDC são conforme especificado nos perfis de VDSL2 da norma ITU-T G.993.2
Tabela 1: Requisitos de memória TX ou RX mínima para VDSL2
PERFIL VDSL2 |
8a, 8b, 8c, 8d |
12a, 12b |
17a |
30a |
Requisitos de memória Tx ou RX (octetos) = MAXDLEYOCTECT +.002MBDC |
90.536 |
99.536 |
123.304 |
231.072 |
As estimativas na Tabela 1 presumem que todos os MAXDELAYOCTET e MBDC completos são utilizados para a transferência do fluxo de pacote, ou seja, o canal reverso tem uma taxa de transmissão de dados muito baixa e sem intercalação.
Algumas normas xDSL especificam requisitos de armazenamento mínimo, ou seja, memória, para a intercalação de informações codificadas RS (Reed-Solomon). A intercalação com codificação RS (Reed-Solomon) é uma maneira efetiva de corrigir erros de canal devidos a, por exemplo, ruído tipo impulso. Por exemplo, VDSL2 requer suporte de um intercalador bidirecional de agregação e uma memória desintercaladora de 65 Kbytes para o perfil VDSL2 8a. Isto corresponde ao requisito de armazenamento de aproximadamente 32 Kbytes em um único transceptor.
Compartilhamento de memória entre a função de retransmissão e uma ou mais das funções de
44/59 intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon).
Nota-se, observando a tabela 1, que os requisitos de memória para suportar o protocolo de retransmissão podem ser mais que o dobro dos requisitos de armazenamento de um único transceptor. Adicionalmente, o protocolo de retransmissão proporciona um método diferente para corrigir erros de canal devido a, por exemplo, ruído tipo impulso.
Além disso, os métodos de intercalação e codificação RS (Reed-Solomon) e protocolos de retransmissão proporcionam vantagens diferentes em relação aos recursos de correção de erro, latência, requisitos de carregamento do buffer, etc. Por exemplo, sob determinadas condições de configuração e de ruído a intercalação/codificação RS (Reed-Solomon) proporciona correção de erro/ganho de codificação com menos retardo e perda de taxa de transmissão que o protocolo de retransmissão (para pacotes que podem ser retransmitidos). Ao passo que sob outras condições, o protocolo de retransmissão proporcionará melhor correção de erro com menos retardo e perda de taxa de transmissão que a intercalação/codificação RS (Reed-Solomon).
Em alguns casos, uma primeira parte da memória pode ser utilizada para uma função e uma segunda parte da memória para outras funções. Por exemplo, se as condições de configuração e de ruído são tais que a intercalação/codificação RS (Reed-Solomon) não proporcionaria uma boa correção de erro/ganho de codificação, então toda a memória disponível poderia ser utilizada para a função de retransmissão e nenhuma alocada para a funcionalidade de intercalação/desintercalação/codificação RS (Reed-Solomon)/decodificação RS (Reed-Solomon), por
45/59 exemplo, a intercalação/desintercalação poderia ser desativada.
Da mesma forma, se as condições de configuração e de ruído são tais que o protocolo de retransmissão não proporcionaria boa correção de erro/ganho de codificação, então toda a memória disponível poderia ser utilizada para a funcionalidade de intercalação/desintercalação/codificação RS (Reed-Solomon)/decodificação RS (Reed-Solomon) e nenhuma memória seria utilizada para a função de retransmissão, por exemplo, a função de retransmissão seria desativada.
Alternativamente, ou adicionalmente, ambos os métodos poderíam ser utilizados porque ambos têm suas vantagens, com o sistema, por exemplo, o módulo de gerenciamento de memória (370), tendo capacidade para alocar dinamicamente uma primeira parte da memória (250)/(350) para a funcionalidade de intercalação/desintercalação/codificação RS (Reed-Solomon)/decodificação RS (Reed-Solomon) e uma segunda parte da memória para a funcionalidade de retransmissão. Por exemplo, 40% da memória poderia ser alocada para a funcionalidade de intercalação/desintercalação/codificação RS (Reed-Solomon)/decodificação RS (Reed-Solomon) com o 60% restante alocado para a funcionalidade de retransmissão. Entretanto, deve ser levado em conta que, em geral, a memória pode ser dividida, ou seja, compartilhada, em qualquer maneira.
O compartilhamento da memória entre a função de retransmissão e as funções de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) não está restrito aos protocolos de retransmissão descritos em outras configurações que utilizem parâmetros de qualidade de serviço (QDS) para determinar
46/59 quais pacotes devem ser retransmitidos. Em outras palavras, o compartilhamento da memória entre a função de retransmissão e as funções de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) pode ser utilizado para sistemas de retransmissão onde todos os pacotes com erro são retransmitidos, ou seja, não há identificador de qualidade de serviço (QDS) no protocolo de retransmissão. Por exemplo, poderia ser utilizada a Correção Antecipada de Erro (FEC - Forward Error Correction)/intercalação para atender o requisito de INPmin, visando especificamente o ruído tipo impulso, que ocorre freqüentemente (por exemplo, da ordem de minutos ou segundos) porém tem curta duração e pode, portanto, ser corrigido pela Correção Antecipada de Erro (FEC)/intercalação. Por exemplo, o protocolo de retransmissão pode ser utilizado para corrigir erros não freqüentes (da ordem de horas) que têm longa duração e não seriam corrigidos pela Correção Antecipada de Erro (FEC)/intercalação. Como outro exemplo, a função de Correção Antecipada de Erro (FEC)/intercalação pode ser utilizada junto coma função de retransmissão porque é bem conhecido o fato de que a Correção Antecipada de Erro (FEC) com intercalação mínima proporciona um ganho de codificação de 1 dB a 3 dB quando utilizada com um código de Trellis (como ocorre, em geral, em sistemas xDSL). Isto significa que mesmo quando a maior parte da memória compartilhada é alocada para a função de retransmissão para tratar ruído do canal (como ruído tipo impulso), uma quantidade menor de memória pode ser alocada para a função de Correção Antecipada de Erro (FEC)/intercalação para aproveitar a vantagem de ganho da codificação.
Associada com a capacidade de alocar ou
47/59 fazer a partição da memória entre uma ou mais das funcionalidades de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) e a funcionalidade de retransmissão, está a capacidade de trocar informações entre os transceptores sobre como estabelecer esta alocação. Por exemplo, o modem de transmissão pode enviar uma mensagem para o modem de recepção indicando quanto da memória disponível deve ser alocada para uma ou mais das funcionalidades de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) e quanta memória deve ser alocada para a funcionalidade de retransmissão. Por exemplo, se o modem de recepção contém 100 kBytes de memória disponível, o modem de transmissão podería enviar uma mensagem para o modem de recepção indicando que 25 kBytes devem ser alocados para a funcionalidade de codificação RS (Reed-Solomon) e 75 kBytes devem ser alocados para a funcionalidade de retransmissão. Como o modem de recepção determina de modo geral os parâmetros de intercalação/codificação RS (ReedSolomon) que são utilizados, o modem de recepção podería utilizar essa informação para selecionar parâmetros, por exemplo, profundidade do intercalador e tamanho da informação codificada, que resultaria em um requisito de memória de intercalação que não é maior que a quantidade indicada na mensagem.
Alternativamente, ou adicionalmente, o modem de recepção pode enviar uma mensagem para o modem de transmissão indicando quanto da memória disponível deve ser alocada para uma ou mais das funcionalidades de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon) e quanta memória
48/59 deve ser alocada para a funcionalidade de retransmissão.
Compartilhamento da memória entre uma função de retransmissão com identificação de baixa taxa de erro de pacote (TEP) e/ou pacotes de baixa latência e uma ou mais das funções de intercalação/desintercalação/codificação RS (ReedSolomon)/decodificação RS (Reed-Solomon).
Uma maneira de reduzir o requisito de memória total de um transceptor que suporta a funcionalidade de retransmissão com a identificação dos pacotes com baixa taxa de erro de pacote (TEP) e/ou de baixa latência é definir um limite, como um valor máximo, para a taxa de transmissão de dados do fluxo de pacotes com baixa taxa de erro de pacote (TEP), ou seja, os pacotes que requerem retransmissão para atender um requisito de taxa de erro de pacote (TEP) específico. Por exemplo, se a taxa de data total é de 50 Mbps, e o retardo de ida e volta é de 10 ms, o requisito de memória TX ou RX mínima é de 50.000.000*01/8=62500 bytes se a função de retransmissão deve suportar o caso onde todos os pacotes transmitidos (todos os 50 Mbps) são de pacotes com baixa taxa de erro de pacote (TEP). Se, entretanto, somente uma parte da taxa de transmissão de dados de 50 Mbps é alocada para o fluxo de pacotes com baixa taxa de erro de pacote (TEP) (por exemplo 30 Mbps), ao passo que o restante da taxa de transmissão de dados é alocada para o fluxo de pacotes de baixa latência (por exemplo 20 Mbps), o requisito de memória TX ou RX mínima seria de 30.000.000* 01/8=37500 bytes (presumindo um retardo de ida e volta de 10 ms). Nesse caso, o modem de transmissão (ou o modem de recepção) pode enviar uma mensagem para o modem de recepção (ou modem de transmissão) que indica a taxa de transmissão de dados máxima do tráfego de
49/59 pacotes que será utilizada na função de retransmissão. Usando o exemplo acima, o modem de transmissão (ou modem de recepção) enviaria uma mensagem indicando que o tráfego de pacotes com baixa taxa de erro de pacote (TEP) não ultrapassará 30 Mbps e, nesse caso, o modem de recepção (ou o modem de transmissão) alocara memória para a funcionalidade de retransmissão e para a funcionalidade de intercalação/codificação RS (Reed-Solomon) (ou desintercalação/decodificação RS (Reed-Solomon)) de forma correspondente.
Uma vantagem ilustrativa de indicar os pacotes com baixa taxa de erro de pacote (TEP) e baixa latência como parte do protocolo de retransmissão é que essa indicação proporciona uma funcionalidade do tipo Realocação Dinâmica de Dados (DDR) sem a perda de taxa de transmissão ao realocar dinamicamente caminhos de latência. Por exemplo, quando um aplicativo de vídeo é desligado (menos pacotes com baixa taxa de erro de pacote (TEP) na conexão), a taxa de transmissão de dados do aplicativo de dados pode ser aumentada (mais pacotes de baixa latência na conexão) sem quaisquer alterações nos parâmetros de transmissão.
O protocolo de retransmissão também pode ser utilizado com ou sem correção antecipada de erros (FEC)/intercalação (ou desintercalação) básica. Uma abordagem ilustrativa é utilizar a correção antecipada de erros (FEC)Zintercalação para atender o requisito de INPmin visando especificamente o ruído tipo impulso que ocorre com freqüência (por exemplo, da ordem de minutos ou segundos. O protocolo de retransmissão pode ser utilizado para corrigir erros não freqüentes (da ordem de horas) que serão normalmente um problema somente
50/59 para aplicações com taxa de erro de pacote (TEP) muito baixa, como vídeo.
Quando um protocolo de retransmissão é combinado com uma correção básica antecipada de erros (FEC)/intercalação (ou desintercalação), a latência do protocolo de retransmissão crescerá proporcionalmente ao retardo adicional da correção antecipada de erros (FEC)/intercalação. Isto é devido ao fato de que o carregamento requerido do buffer do receptor corresponde aproximadamente ao tempo de retardo de ida e volta de transmissão do pacote e de reconhecimento da mensagem.
Como um exemplo da utilização do protocolo de retransmissão que identifica um ou mais dos pacotes com baixa taxa de erro de pacote (TEP) e baixa latência com correção antecipada de erros (FEC)/intercalação (ou desintercalação) básica, a correção antecipada de erros (FEC)/intercalação é utilizada para obter os requisitos de INPmin dentro da restrição de latência e a função de retransmissão é utilizada para proporcionar outra camada de correção de erro. Os pacotes com baixa taxa de erro de pacote (TEP) são transferidos para a função de retransmissão e para a correção antecipada de erros (FEC)/intercalador e, em função disto, é alcançado um PER muito baixo. Os pacotes de baixa latência passam pela correção antecipada de erros (FEC)/intercalador, porém não passam pela função de retransmissão. Como os pacotes de baixa latência passam pela correção antecipada de erros (FEC)/intercalador, eles atenderão os requisitos de INPmin e MaxDelay sem sofrer o retardo extra do protocolo de retransmissão.
Exemplo de parâmetros de configuração:
Taxa de transmissão de dados DS = 25 Mbps, INPmin=2, MaxDelayDS = 8 ms
51/59
Exemplo de parâmetros de correção antecipada de erros (FEC)/intercalação:
NFEC= 128, R= 16 que resulta em uma memória de intercalador de aproximadamente 14 Kbytes para
INP=2 com 8 ms de retardo.
Protocolo de retransmissão:
Presumindo que a latência US seja de 2ms, o protocolo de retransmissão adicionará no mínimo 8+2 = 10ms de latência. Isso significa que a latência DS total (correção antecipada de erros (FEC)/intercalação + retransmissão) será de aproximadamente 8+10=18 ms.
Requisitos de memória:
Os requisitos de memória para o protocolo de retransmissão podem ser calculados como: (10 ms) X (25 Mbps) /8 = 31 Kbytes. Portanto, tanto o transmissor como o receptor precisará de uma memória total de (31+14) = 45 Kbytes para o protocolo de retransmissão e para a função de correção antecipada de erros (FEC)/intercalação.
Pacotes com baixa taxa de erro de pacote (TEP):
Latência = 18 ms. A taxa de erro de pacote (TEP) é muito baixa porque o INPmin = 2 (da correção antecipada de erros (FEC)/intercalação) é combinado com a correção de erro da função de retransmissão.
Pacotes de baixa latência:
Latência = 8 ms. INP = 2 da correção antecipada de erros (FEC)/intercalação. Sem retardo adicional devido à função de retransmissão.
Embora esta invenção descreva a
52/59 retransmissão sendo feita como parte do PTM-TC, ela também poderia ser feita dentro de outra(s) camada(s) do transceptor xDSL, como na camada física dependente do meio (PMD) ou na subcamada de convergência de transmissão do meio físico (PMS-TC). Alternativamente, a invenção poderia ser executada em uma camada(s) acima da PTM-TC, por exemplo, em uma nova camada entre a PTM-TC e a próxima camada mais elevada ou, em geral, em qualquer camada acima da camada física, por exemplo: na camada 1, 2, 3, 4 ou 5.
Nesta invenção, o termo transmissor se refere, de modo geral, ao transceptor que transmite os pacotes. Da mesma forma, o termo receptor se refere, de modo geral, ao transceptor que recebe os pacotes. Portanto, o transmissor também recebe as mensagens ACK/NAK e o receptor também transmite as mensagens ACK/NAK.
A figura 2 sintetiza um método ilustrativo de operação de um modem de transmissão utilizando o protocolo de retransmissão. Especificamente, o controle começa na etapa S1OO e continua na etapa S11O. Na etapa S110, um pacote é recebido de uma camada mais elevada. Em seguida, na etapa S120, é tomada uma decisão se o pacote recebido é um pacote do tipo retransmitido. Se o pacote não for um pacote do tipo retransmitido, como por exemplo, um pacote de baixa latência, o controle passa para a etapa S125 onde o pacote é atualizado opcionalmente (conforme descrito acima) com o controle continuando até a etapa S130 onde o pacote é encaminhado para o receptor. O controle continua em seguida até a etapa S140 onde a seqüência de controle termina.
Se o pacote for um pacote do tipo
53/59 retransmitido, como um pacote com baixa taxa de erro de pacote (TEP), o controle continua na etapa S150. Na etapa S150, o pacote pode ser atualizado com informações como um identificador de seqüência ou outras informações que permitem a um receptor ser capaz de determinar qual pacote (ou pacotes) precisa ser retransmitido. Em seguida, na etapa S160, o pacote atualizado é armazenado no buffer de retransmissão. Em seguida, na etapa S170, o pacote é encaminhado para o receptor. O controle continua em seguida na etapa S180.
Na etapa S180, é feita uma determinação se o pacote precisa ser retransmitido. Se o pacote precisa ser retransmitido, o controle volta para a etapa S170. Caso contrário o controle continua na etapa S190.
Na etapa S190, o pacote é excluído do buffer de retransmissão. O controle continua em seguida na etapa 140 onde a seqüência de controle termina.
A figura 3 sintetiza um método ilustrativo de operação de um modem de recepção utilizando o protocolo de retransmissão. Especificamente, o controle começa na etapa S200 e continua na etapa S210. Na etapa S210, um pacote é recebido do transmissor. Em seguida, na etapa S220, é feita uma determinação se o pacote tiver sido identificado como um pacote do tipo retransmitido.
Se o pacote não tiver sido identificado como um pacote do tipo retransmissível, o controle passa para a etapa S230.
Na etapa S230 o pacote é encaminhado para uma camada mais elevada. O controle continua em seguida na etapa S240 onde a seqüência de controle termina.
54/59
Alternativamente, se o pacote recebido é um pacote do tipo retransmissível, o pacote é armazenado no buffer de retransmissão na etapa S260. Em seguida, na etapa S270, a integridade do pacote pode ser verificada, por exemplo, utilizando 5 uma verificação de redundância cíclica (CRC). Depois, na etapa S280, é feita uma determinação se o pacote precisa de retransmissão. Se o pacote precisa de retransmissão, o controle continua na etapa S290 onde o pacote retransmitido é obtido, por exemplo, com base no envio de uma mensagem(s), um ou o outro 10 transceptor determinando que um pacote esta faltando, etc., conforme descrito acima, com o controle retornando para a etapa S270 para uma verificação de integridade.
Se o pacote não precisa de retransmissão, o controle continua na etapa S295 onde o pacote é encaminhado 15 para uma camada mais elevada e excluído do buffer de retransmissão. O controle continua em seguida na etapa S240 onde a seqüência de controle termina.
A figura 4 sintetiza um método de alocação de memória ilustrativo para compartilhar memória entre a função de 20 retransmissão e uma ou mais funcionalidades de intercalação/desintercalação funcionalidade e codificação. Especificamente, o controle começa na etapa S300 e continua na etapa S305. Na etapa S305, uma mensagem é enviada/recebida especificando a memória disponível. Normalmente o receptor 25 enviará uma mensagem para o transmissor especificando a memória disponível, porém o transmissor poderia enviar também uma mensagem para o receptor. Em seguida, na etapa S310, é feita uma determinação sobre como a memória deve ser alocada. Conforme descrito, esta alocação pode ser baseada em uma ou
55/59 mais entre capacidade de correção de erro, latência, requisito de carregamento do buffer, razão sinal/ruído (SNR), ruído tipo impulso ou, em geral, qualquer parâmetro de comunicação. Em seguida, na etapa S320, a alocação de memória é comunicada ao outro transceptor. Em seguida, na etapa S330, pode ser feita uma determinação se a alocação é compatível. Se a alocação recebida não for compatível, o controle continua na etapa S360, na qual outra alocação pode ser solicitada, com o controle retornando para a etapa S320.
Alternativamente, se a alocação for compatível, na etapa S340 a memória é alocada com base na alocação recebida. O controle continua em seguida até a etapa S350 onde a seqüência de controle termina.
A figura 5 ilustra uma metodologia de compartilhamento de memória típica para utilizar com uma função de retransmissão e uma ou mais de uma funcionalidade de intercalação/desintercalação e funcionalidade de codificação/decodificação RS (Reed-Solomon). Especificamente, o controle começa na etapa S400 e continua na etapa S410. Na etapa S410 a alocação de memória é recebida de, por exemplo, um módulo de gerenciamento de memória que pode estar localizado no mesmo transceptor ou em um transceptor remoto. Em seguida, na etapa S420, a configuração de compartilhamento de memória é estabelecida e, em seguida, na etapa S430, a memória é compartilhada entre uma função de retransmissão e uma ou mais de uma funcionalidade de intercalação/desintercalação e funcionalidade de codificação/decodificação RS (Reed-Solomon). O controle continua em seguida na etapa S440.
Na etapa S440, é feita uma determinação se
56/59 a configuração do compartilhamento de memória deve ser alterada. Por exemplo, a configuração do compartilhamento de memória pode ser alterada dinamicamente com base em alterações no canal de comunicação ou no tipo(s) de dados sendo enviados pelo canal de comunicação. Mais especificamente, por exemplo, se o canal de comunicação não estiver funcionando bem, por exemplo, um aumento em erros de bits, pode ser vantajoso aumentar a capacidade de retransmissão e, ao mesmo tempo, diminuir a capacidade de correção antecipada de erros (FEC)Zintercalação ou vice-versa, que poderia ter um impacto em como o compartilhamento de memória deve ser configurado.
Se a configuração do compartilhamento de memória deve ser alterada, o controle continua até a etapa S450 onde outra alocação pode ser solicitada, com o controle retornando para a etapa S410. Caso contrário, o controle continua até a etapa S460 onde a seqüência de controle termina.
Embora os fluxogramas acima descritos tenham sido analisados em relação a uma seqüência específica de eventos, deve ser levado em conta que podem ocorrer alterações nessa seqüência sem afetar significativamente a operação da invenção. Adicionalmente, a seqüência exata de eventos não precisa ocorrer conforme indicado nos exemplos construtivos, mas em vez disso as etapas podem ser executadas por um ou por outro transceptor do sistema de comunicação desde que ambos os transceptores tenham conhecimento da técnica utilizada para a inicialização. Adicionalmente, as técnicas típicas ilustradas neste documento não estão limitadas às configurações ilustradas especificamente, porém podem também ser utilizadas com os outros exemplos construtivos e cada característica descrita é
57/59 reivindicável individual e separadamente.
O sistema acima descrito pode ser implementado em dispositivos de telecomunicações com fios e/ou sem fios, como um modem, um modem com multiportadora, um modem DSL, um modem ADSL, um modem xDSL, um modem VDSL, um cartão de linha, equipamento de teste, um transceptor com multiportadora, um sistema de rede LAN/WAN com fios e/ou sem fios, um sistema de comunicação via satélite, sistemas de comunicação baseados em rede, como um sistema IP, Ethernet ou ATM, um modem equipado com recursos de diagnóstico, etc. ou em computador para fins gerais programado separadamente incluindo um dispositivo de comunicação ou junto com qualquer um dos seguintes protocolos de comunicação: CDSL, ADSL2, ADSL2+, VDSLI, VDSL2, HDSL, DSL Lite, IDSL, RADSL, SDSL, UDSL etc. “
Adicionalmente, os sistemas, métodos e protocolos desta invenção podem ser implementados em um computador para fins especiais, um microprocessador ou microcontrolador programado e elemento(s) de circuito integrado periférico(s), um ASIC ou outro circuito integrado, um processador de sinal digital, um circuito eletrônico ou lógico com fiação como um circuito de elemento discreto, um dispositivo lógico programável como Dispositivo de Lógica Programável (PLD), Matriz Lógica Programável (PLA), uma Matriz de Portas Programáveis (FPGA), Matriz de Lógica Programável (PAL), um modem, um transmissor/receptor, qualquer meio comparável, etc. Em geral, qualquer dispositivo capaz de implementar uma dita máquina que é, por sua vez, capaz de implementar a metodologia ilustrada neste documento, pode ser utilizado para implementar os diversos métodos, protocolos e técnicas de comunicação de acordo com
58/59 esta invenção.
Além do mais, os métodos apresentados podem ser implementados prontamente em software usando objetos ou ambientes de desenvolvimento de software orientado a objetos que forneçam código fonte portável que pode ser utilizado em uma variedade de computadores ou plataformas de trabalho. Alternativamente, o sistema apresentado pode ser implementado parcialmente ou integralmente em hardware usando circuitos lógicos padrão ou circuitos integrados do tipo VLSI. Utilizar software ou hardware para implementar os sistemas de acordo com esta invenção depende dos requisitos de velocidade e/ou eficiência do sistema, da função específica, e dos sistemas de software ou hardware específicos ou sistemas de microprocessador ou de microcomputador sendo utilizados. Os sistemas, métodos e protocolos de comunicação ilustrados neste documento podem ser implementados prontamente em hardware e/ou software usando quaisquer sistemas ou estruturas, dispositivos e/ou softwares, conhecidos ou desenvolvidos posteriormente, por pessoas técnicas no assunto a partir da descrição funcional fornecida neste documento e com um conhecimento básico geral de técnicas de computação e de telecomunicações.
Além disso, os métodos apresentados podem ser implementados prontamente em software que pode ser armazenado em um meio de armazenamento, executado em computador de uso geral programado, junto comum controlador e memória, um computador de finalidade especial, um microprocessador, etc. Nesses casos, os sistemas e métodos desta invenção podem ser implementados como programa incorporado em computador pessoal como um pequeno programa que é
59/59 executado no contexto de outro programa (applet), como código fonte JAVA(R) ou CGI, como um recurso residente em um servidor ou computador em posto de trabalho, como uma rotina incorporada em um sistema de comunicação dedicado ou componente de 5 sistema, etc. O sistema também pode ser implementado incorporando fisicamente o sistema e/ou método em um sistema de software e/ou sistema de hardware, como os sistemas de hardware e software de um transceptor de comunicações.
Está mostrado, portanto, que foram 10 fornecidos, de acordo com a presente invenção, sistemas e métodos para a retransmissão de pacote e compartilhamento de memória. Embora esta invenção tenha sido descrita junto com uma variedade de configurações, é evidente que muitas alternativas, modificações e variações podem ser notadas por pessoas técnicas 15 no assunto. Dessa forma, a invenção destina-se a englobar todas essas alternativas, modificações, equivalentes e variações que estão dentro do objetivo e do escopo desta invenção.