MÉTODO PARA A TRANSMISSÃO DE PACOTES DE DADOS, APARELHO PARA A TRANSMISSÃO DE PACOTES DE DADOS, MÉTODO PARA RECEBER PACOTES DE DADOS, APARELHO PARA RECEBER PACOTES DE DADOS, SISTEMA E MÍDIA QUE PODE SER LIDA POR COMPUTADOR
Campo da Invenção
O campo da invenção é o mapeamento de pacotes de camada mais alta em quadros de camada inferior em um sistema de comunicação, o qual pode ser uma rede de linha sem fio ou fixa. A fim de adaptar os pacotes entregues pela camada mais 10 alta às capacidades da rede física (por exemplo, o tamanho máximo de quadro) , algumas vezes é necessário segmentar ou fragmentar os mesmos em diversos blocos que devem ser transmitidos por quadros separados. Da mesma maneira, também pode ser necessário concatenar vários pacotes em um quadro a 15 fim de aumentar a eficiência de transmissão. A invenção propõe uma maneira nova e eficiente de indicar à unidade de recepção como a segmentação e a concatenação foram feitas no lado do de transmissão.
Antecedentes da Invenção
A necessidade de adaptar pacotes de camada mais alta às características de uma rede física é uma questão l
clássica para todo tipo de sistemas de comunicação, tais como redes sem fio (GSM, UMTS, WiLAN, WiMax etc.) ou redes fixas (IP, Frame relay, PPP, ATM, etc.).
Visão geral da Camada de OSI
Nesta seção, uma breve introdução é dada ao modelo de OSI (vide a Figura 1) que será usada para ilustrar as explanações abaixo.
O Modelo de Referência de Interconexão de Sistemas 3 0 Abertos (Modelo de OSI ou Modelo de Referência de OSI para abreviar) é uma descrição abstrata em camada para o desenho de protocolo de comunicações e de rede de computadores. O modelo de OSI divide as funções de um sistema em uma série de
2/24 camadas. Cada camada tem a propriedade de utilizar somente as funções da camada abaixo, e exporta somente a funcionalidade para a camada acima. Um sistema que implementa o comportamento de protocolo que consiste em uma série dessas camadas é conhecido como um 'protocolo de pilha' ou 'pilha'. A sua característica principal está na junção entre as camadas que dita as especificações sobre como uma camada interage com a outra. Isto significa que, em princípio, uma camada gravada por um fabricante pode operar com uma camada de outro. Para a presente finalidade, somente as três primeiras camadas serão descritas.
A finalidade principal da camada física, ou camada 1, é a transferência de informações (bit) por um meio físico específico (por exemplo, cabos coaxiais, pares torcidos, fibras ópticas ou o ar) . Ela converte ou modula os dados em sinais que são transmitidos por um canal de comunicação.
A finalidade da camada de ligação de dados, ou camada 2, é a moldagem do fluxo de informações de uma maneira compatível com a camada física específica ao decompor os dados de entrada em quadros de dados (funções de Segmentação e Remontagem ou SAR). Além disso, ela pode detectar e corrigir erros potenciais de transmissão ao solicitar uma retransmissão de um quadro perdido. Ela provê um mecanismo de endereçamento e pode oferecer algoritmos de controle de fluxo a fim de alinhar a taxa de dados com a capacidade do receptor.
Finalmente, quando um meio compartilhado utilizado simultaneamente por múltiplos transmissores receptores, ele provê mecanismos para regular e controlar acesso camada camada de ligação de dados subdividida frequentemente em duas subcamadas (por exemplo, as subcamadas RLC e MAC em típicos
UMTS). Os exemplos
PPP/HDLC, ATM, Frame
3/24 relay para redes de linhas fixas e RLC, LLC ou MAC para sistemas sem fio.
A camada de rede, ou camada 3, provê os meios funcionais e processuais para a transferência de pacotes de 5 comprimento variável de uma origem a um destino através de uma ou mais redes enquanto mantém a qualidade de serviço solicitada pela camada de transporte. As finalidades principais da camada de rede são a execução das funções de roteamento da rede, fragmentação da rede e controle de 10 congestão. Os exemplos principais de protocolos de camada de rede são o Protocolo da Internet IP ou X.25.
Mais informações sobre o modelo de camada de OSI podem ser encontradas em Computer Networks, (Andrew S. Tanenbaum, quarta edição, Prentice Hall International 15 Edition, páginas 37-41, seção 1.4.).
Definição de SDU e PDU
A fim de descrever formalmente de uma maneira genérica a troca dos pacotes entre as camadas no modelo de OSI, entidades de SDU (Unidade de Dados de Serviço) e de PDU 20 (Unidade de Dados de Protocolo) foram definidas. Uma SDU é uma unidade de informação transmitida de um protocolo na camada N+l que solicita um serviço a um protocolo localizado na camada N através de um SAP (Ponto de Acesso de Serviço) . Uma PDU é uma unidade da informação trocada entre processos 25 peer no transmissor e no receptor do mesmo protocolo localizado na mesma camada N. Uma PDU é geralmente formada por uma parte de carga útil que consiste na versão processada da SDU recebida da informação de controle, por exemplo, um cabeçalho específico da camada N e terminado possivelmente 30 por um reboque. Uma vez que não há nenhuma conexão física direta (com exceção de Ll) entre esses processos peer, uma PDU é passada para a camada N-l para processamento. Portanto,
4/24 uma PDU da camada N é de um ponto de vista da camada N-l uma SDU. Isso é ilustrado na Figura 2.
Finalidade da Fragmentação/Segmentação
A fragmentação, ou de maneira equivalente a 5 segmentação, podem ser requeridas por três razões diferentes.
Primeiramente de tudo, a fragmentação pode ser requerida para transportar datagramas ou pacotes através de redes cujo tamanho de datagrama máximo permitido ou a unidade de transferência máxima (MTU) é menor do que o seu tamanho. A 10 fragmentação de datagramas é executada tipicamente na camada de IP e especificada como a fragmentação de IP na versão IPv4 ou IPv6 do padrão. Similarmente, a segmentação é necessária quando os dados são transportados por uma rede de ATM a fim de encaixar com um tamanho de carga útil de 4 8 octetos na 15 célula de ATM. Isto é executado nas camadas de adaptação de ATM (AAL) entre a camada 2 de ATM e a camada de transporte (por exemplo, IP).
Em segundo lugar, a fragmentação pode ser executada a fim de balancear a carga de tráfego nas ligações paralelas, 20 por exemplo, nas ligações de ISDN paralelas. O protocolo de multilinks de PPP (MP) (The PPP Multilink Protocol (MP), RFC 1990, Sklower, K., Lloyd, B., McGregor, G., Carr, D. e T. Coradetti, agosto de 1996) baseado em PPP descreve um método para dividir, recombinar e seqüênciar datagramas através de 25 múltiplas ligações de dados lógicos.
Finalmente, em sistemas sem fio, a segmentação de pacote combinada potencialmente com a concatenação é executada frequentemente na camada 2 (por exemplo, na subcamada de RLC em UMTS, 3GPP TS 25.322, v6.4.0, Radio Link 30 Control (RLC) protocol specification) a fim de encaixar pacotes de camada mais alta nos recursos oferecidos pela camada mais baixa. Uma vez que os recursos são tipicamente escassos em um ambiente sem fio, a concatenação de diversos
5/24
pacotes de |
camada mais |
alta é |
recomendada a fim |
de |
intensificar |
a eficiência |
do sistema |
total. |
|
A |
f im de que |
a unidade |
do receptor separe |
os |
fragmentos |
concatenados |
e recombine corretamente |
os |
fragmentos recebidos em pacotes originais, a informação da segmentação precisa ser entregue à unidade de recepção. Essa informação, combinada geralmente com uma técnica de numeração que etiqueta cada fragmento, permite que a camada 2 no receptor entregue pacotes cheios e consistentes à camada mais alta seguinte.
Nas seguintes seções, diversos métodos existentes para sinalizar a segmentação serão apresentados, os quais irão ajudar a compreender as diferenças para a presente invenção.
Sinalização SAR através de Numeração de Fragmento
A primeira classe de métodos para indicar a fragmentação reagrupa diversas técnicas similares que indicam a posição dos fragmentos dentro do pacote original. Dois elementos são necessários: o primeiro deles é um índice que aponta para a posição do fragmento dentro do pacote original. Esse índice pode tanto assumir a forma de um deslocamento de fragmentação (fragmentação de IP, vide Computer Network, Andrew S. Tanenbaum, quarta edição, Prentice Hall International Edition, páginas 37-41, seção 1.4.) ou de maneira equivalente um número de seqüência de fragmento FSN (WiLAN, vide 802.11: Wireless LAN Médium Access Control (MAC) and Physical Layer (PHY) specifications).
Esse índice deve ser inicializado a um valor conhecido (por exemplo, FSN = zero) para o primeiro fragmento de um pacote original. A unidade do receptor utiliza esse índice para reordenar os fragmentos na seqüência correta e detectar fragmentos perdidos. Além disso, o último fragmento de um pacote é indicado com um sinalizador de um bit (LF). Um
6/24 pacote não-fragmentado é sinalizado para o lado do receptor ao ajustar o índice na posição inicial (por exemplo, FSN = zero) e indicando simultaneamente que esse pacote é um último fragmento no pacote original. Essa técnica é utilizada, por exemplo, no protocolo de fragmentação de IP ou na Camada de Adaptação de ATM AAL-1. A camada 802.11 WiLAN MAC também utiliza a mesma técnica. WiLAN também adiciona um campo que identifica o pacote original para cada fragmento. Isto é necessário, uma vez que MAC 802.11 pode ser configurado para reordenar os pacotes no lado do receptor antes da entrega à camada mais alta seguinte. Esse requisito de entrega em seqüência não existe na camada de IP, uma vez que a reordenação não é requerida ou então não é executada por uma camada mais alta (por exemplo, TCP).
O princípio da técnica de SAR através da numeração de fragmento em WiLAN é mostrado na Figura 3.
O código extra de sinalização é relativamente significativo, uma vez que cada fragmento deve carregar pelo menos o sinalizador do último fragmento LF e o número de seqüência de fragmento FSN e eventualmente o número de seqüência SN do pacote original.
Sinalização SAR através de sinalizadores de início/Término
A segunda classe de métodos de SAR é extensamente utilizada em vários protocolos tais como ATM Adaptation Layer AAL-3/4, Frame Relay Frame Relay Fragmentation Implementation Agreement FRF.12, Frame Relay Forum Technical Committee, WiMax e PPP multilink (MP) (The PPP Multilink Protocol (MP) , RFC 1990, Sklower, K. , Lloyd, B., McGregor, G. , Carr, D. e T. Coradetti, agosto de 1996) . A idéia principal nesta segunda classe de técnicas de SAR é a utilização de dois sinalizadores de um bit para indicar para cada SAR PDU se a PDU é a primeira, a última ou um fragmento médio de uma SDU, ou se é uma SAR SDU completa. Ambos os sinalizadores fazem
7/24 parte do cabeçalho da PDU. Em algumas implementações (Frame relay e multilink de PPP) , um distingue a função dos dois sinalizadores como aquele que indica o início de uma SDU e o outro indica o seu término. O bit de fragmento de início B é ajustado em 1 no primeiro fragmento derivado de uma SAR SDU e ajustado em 0 para todos os fragmentos restantes da mesma SDU. O bit de fragmento de término E é ajustado em 1 no último fragmento e ajustado em 0 para todos os fragmentos restantes. Uma PDU pode ter os bits de fragmento de início e de término ajustados em 1. Neste caso, indica que nenhuma segmentação ocorreu. Uma numeração de seqüência de fragmento também é adicionada a fim de que a unidade do receptor detecte a perda do fragmento e execute potencialmente a reordenação da PDU se o link não preservar a seqüência da PDU. Depois da reordenação, o receptor pode verificar facilmente os bits de B e E para identificar qual SAR PDU precisa ser combinada para reconstruir as SDUs originais. A figura fornece uma ilustração dessa técnica.
Sinalização SAR Através de Indicadores de Comprimento
Uma terceira classe consiste em um conjunto de técnicas que estão utilizando campos de indicador de comprimento como apontadores para indicar os limites das SDUs. Um bom exemplo é o RLC (Controle de Link de Rádio) em UMTS R99. No RLC, uma RLC PDU pode carregar segmentos de diversas SDUs ou bits de enchimento. Realmente, UMTS R99 opera com a PDU de tamanho fixo que não pode ser alinhada com o comprimento das SDUs a serem transmitidas. Uma vez que os recursos de rádio são escassos, foi verificado que é necessário permitir a concatenação de SDU ao nível de PDU. De uma maneira genérica, um número variável de indicadores de comprimento (LI) é adicionado ao cabeçalho da PDU. Um indicador de comprimento é utilizado para indicar o último octeto de cada RLC SDU que termina dentro da PDU. Tal como é
8/24 usual, uma numeração de seqüência baseada na PDU é adicionada no cabeçalho a fim de permitir a detecção da perda e a reordenação. O receptor pode, portanto, executar a reordenação, solicitar a retransmissão da PDU perdida e remontar a SDU. Além disso, um LI com um valor especial indica quando o enchimento é utilizado para preencher o término de uma PDU.
O inconveniente principal dessa técnica é que o código extra depende do número de segmentos de SDU em uma
PDU, e |
devido a isto |
o |
cabeçalho |
também |
tem um tamanho |
variável |
Além disso, |
o |
uso de campos especiais |
tende a |
aumentar |
a complexidade |
do |
RLC. |
|
|
|
|
Finalmente, essa técnica |
não é |
muito |
eficiente |
quando é levado em consideração o tamanho variável da PDU, que deve ser mais flexível e mais bem adaptado a um ambiente orientado a um pacote cheio por um sistema sem fio. Um exemplo genérico dessa técnica é mostrado na Figura 5.
Função de Concatenação em Sistema Sem Fio
A concatenação é uma função que é particularmente útil para os sistemas sem fio. A combinação da segmentação e da concatenação permite que o transmissor adapte melhor as SDUs de comprimento variável de entrada aos recursos oferecidos. No caso de um sistema sem fio, o número de bits que podem ser transmitidos durante um intervalo de tempo de transmissão (TTI) pode variar significativamente dependendo das condições do rádio, da taxa do código e dos recursos físicos dedicados à transmissão. Por exemplo, uma estação móvel perto do transmissor requer menos codificação de canal do que uma estação móvel mais afastada. Com os mesmos recursos físicos alocados e a mesma potência de transmissão, a primeira estação móvel poderá receber muito mais dados do que a segunda estação móvel. Além disso, quando os serviços de pacote são levados em consideração, a taxa de dados
9/24 fornecida pelo servidor pode em princípio variar significativamente com o passar do tempo.
|
Em |
UMTS, a |
segmentação da SDU |
e |
a concatenação |
de |
segmentos |
de |
SDU na |
PDU são executadas |
ao |
nível de RLC |
sem |
respeito |
aos |
recursos |
físicos oferecidos |
e |
com um tamanho |
de |
PDU predefinido fixo. A fim de emular algum tipo de comportamento dinâmico, a camada de MAC, baseada em algumas indicações da camada física, determina o número de PDUs a serem transmitidas por TTI. Em UMTS R99, as PDUs selecionadas são transmitidas na forma dos chamados blocos de canais de transporte (TrCH Blk ou TrBlk) à camada física, a qual concatena as mesmas e forma um conjunto de blocos de canais de transporte. Em UMTS Rel-5 HSDPA, as PDUs selecionadas são concatenadas diretamente no bloco de canais de transporte da camada de MAC (TrCH Blk ou TrBlk) que, desse modo, contém diversas PDUs tal como mostrado na Figura 6. Dependendo das condições de rádio ou de outras variáveis, o número de PDUs selecionadas por TTI varia tal como mostrado na Figura 7. Portanto, o uso seqüencial de segmentação/concatenação de SDU na camada de RLC com a concatenação de PDU na camada de MAC (UMTS Rel-5 HSDPA) ou na camada física (UMTS R99) permite que o transmissor adapte dinamicamente a transmissão a variáveis instantâneas (dados de entrada da camada mais alta e recursos oferecidos pelas camadas mais baixas).
Em UMTS, a unidade do receptor é informada sobre o número de PDUs transmitidas por TTI tanto através de sinalizar fora de faixa (Indicador de Combinação de Formato de Transporte ou TFCI) ou na faixa em um cabeçalho específico (por exemplo, o cabeçalho MAC-hs em HSDPA) . Deve ser observado que a etapa de concatenação da PDU é geralmente executada independentemente da estrutura das PDUs, e desse modo pode acontecer que uma SDU fique transposta sobre diversos TTIs.
10/24
Código Extra Eficiente em Sistemas com Taxa de Dados Altamente Variável
O uso seqüencial da segmentação de SDU e da concatenação de PDU tal como apresentado acima funciona bem quando a faixa do número de PDUs a serem transmitidas não é demasiadamente grande. No entanto, no caso de sistemas altamente variáveis (recursos físicos altamente variáveis e taxa de dados altamente variável), que podem se tornar mais comuns nos sistemas futuros com grande largura de faixa, o uso de uma PDU de tamanho fixo tende a ser sub-ideal, uma vez que o tamanho da PDU não pode ser adaptado à faixa completa da taxa de dados. Realmente, no caso de serviço de pacote o tamanho da SDU pode em princípio variar de 4 0 octetos para reconhecimentos de TCP até o tamanho da MTU (por exemplo, aproximadamente 1.500 octetos para Ethernet). No lado da camada física, os sistemas compartilhados programados tais como HSDPA em UMTS oferecem recursos físicos por TTI que podem variar de poucos kbps à largura de faixa completa (por exemplo, 14 Mbps em HSDPA). Espera-se que essa tendência seja confirmada pelo sistema sem fio do futuro.
O problema advém do fato que o tamanho pequeno da PDU que deve ser ideal para a parte inferior da extensão da taxa de dados se transforma em uma carga quando se leva em consideração a parte mais alta da extensão da taxa de dados. Realmente, o receptor terá mais PDUs para tratar por TTI e deve requerer mais computação. Além disso, a faixa de número de seqüência que identifica as PDUs pode ficar demasiadamente curta, e um problema de envolvimento pode ocorrer. Finalmente, o código extra, que é igual a n*PDU header_size, aumenta mais ou menos linearmente com o comprimento do bloco de canais de transporte. A utilização de uma PDU grande irá forçar o transmissor a retardar a transmissão a fim de preencher a PDU ou então irá preencher de maneira marcante o
11/24 espaço não utilizado na PDU a taxas de dados baixas. O tremor aumentado ou o enchimento extensivo têm uma forte influência negativa na eficiência de um sistema de rádio e devem ser evitados.
De maneira geral, o tamanho da PDU é um parâmetro estático do portador do rádio utilizado para carregar o serviço considerado. Esse parâmetro não pode ser mudado sem um procedimento de reconfiguração intensa. Portanto, é difícil adaptar eficientemente a ligação às características das SDUs de entrada ou aos recursos oferecidos pela camada mais baixa sem fortes limitações tanto na taxa de dados quanto na faixa de recursos físicos que podem ser alocados por TTI.
Propagação de Erros
As técnicas de sinalização SAR com indicadores de comprimento são sensíveis à propagação de erros. Certamente que pode acontecer que a perda de uma PDU force o receptor a deixar cair intencionalmente as SDUs corretamente recebidas devido à incerteza da fronteira da SDU. Tal como mostrado na Figura 8, a perda de PDU i+2 força o receptor a deixar cair o PDU i+3 corretamente recebido, uma vez que não pode determinar se o fragmento contido em PDU i+3 é uma SDU cheia (alternativa 1) ou um segmento de SDU (alternativa 2).
Em UMTS Rei-6, algumas tentativas foram feitas para limitar esse problema e para reduzir o código extra em algumas condições particulares onde o tamanho da SDU combina com o tamanho da PDU. No entanto, no caso geral, esse problema advém do fato que cada PDU carrega a informação em sua própria estrutura e sem respeito à estrutura interna das PDUs adjacentes.
As técnicas de sinalização SAR com sinalizadores de início/término ou com numeração de fragmento são muito mais robustas neste caso, uma vez que o receptor sabe exatamente
12/24 quando PDUs suficientes são recebidas. No entanto, o código extra dessas técnicas aumenta linearmente com o número de PDUs concatenadas.
Tal como pode ser observado, existem diversas técnicas para sinalizar a segmentação e a concatenação. No entanto, elas tendem a sofrer de código extra elevado, falta de flexibilidade, ou podem conduzir a uma maior complexidade no lado do receptor. A robustez para a propagação de erros não é fornecida, tampouco.
Descrição Resumida da Invenção
Um objetivo da invenção consiste na apresentação de uma segmentação e uma concatenação eficientes e praticáveis em comunicações de pacotes.
O objetivo é atingido pelo objeto das reivindicações independentes. As realizações vantajosas da invenção são os objetos das reivindicações dependentes.
As realizações diferentes da invenção fornecem uma estrutura de pacotes de dados, um método, um aparelho, um sistema e uma mídia que pode ser lida por computador para a transmissão de unidades de dados de serviço utilizando unidades de dados de protocolo. O pacote de dados compreende uma carga útil de pacote que compreende uma unidade de dados de protocolo, em que uma unidade de dados de protocolo compreende uma unidade de dados de serviço ou um fragmento da unidade de dados de serviço e um cabeçalho de pacote de dados que compreende um indicador que indica se a carga útil do pacote de dados que começa ou não com uma unidade de dados de protocolo é um fragmento de uma unidade de dados de serviço e se a carga útil do pacote de dados que termina ou não com uma unidade de dados de protocolo é um fragmento da unidade de dados de serviço.
De acordo com uma realização vantajosa, o indicador consiste em dois sinalizadores, em que o primeiro sinalizador
13/24 indica se a carga útil do pacote de dados que começa com a unidade de dados de protocolo é um fragmento de uma unidade de dados de serviço e o segundo sinalizador indica se a carga útil do pacote de dados que termina com uma unidade de dados de protocolo é um fragmento da unidade de dados de serviço.
A vantagem desta realização é que o sinalizador, quando ajustado, indica que uma unidade de dados de protocolo é um fragmento da unidade de dados de serviço.
De acordo com uma outra realização vantajosa, a estrutura do pacote de dados compreende um indicador do número de seqüência que indica a posição do pacote de dados em uma seqüência de pacotes de dados.
Em uma realização vantajosa adicional, o método para a transmissão de pacotes de dados que compreendem unidades de dados de serviço compreende as etapas de formação de pelo menos uma unidade de dados de protocolo que compreende uma unidade de dados de serviço ou um fragmento de uma unidade de dados de serviço, formação de uma carga útil do pacote de dados que compreende pelo menos uma unidade de dados de protocolo, formação de um cabeçalho do pacote de dados que compreende pelo menos um indicador para indicar se a carga útil do pacote de dados que começa ou não com uma unidade de dados de protocolo é um fragmento de uma unidade de dados de serviço e se a carga útil do pacote de dados que termina ou não com uma unidade de dados de protocolo é um fragmento da unidade de dados de serviço, formação de um pacote de dados que compreende o cabeçalho do pacote de dados e a carga útil do pacote de dados, e transmissão do pacote de dados por um canal.
De acordo com uma outra realização vantajosa, a carga útil do pacote de dados compreende uma pluralidade de unidades de dados de protocolo e o pacote de dados começa com
14/24 uma primeira unidade de dados de protocolo e termina com uma última unidade de dados de protocolo.
Em uma outra realização vantajosa, a etapa de formação da carga útil de pacote de dados de um tamanho predeterminado compreende adicionalmente as seguintes subetapas a) , b) e c) . Em a) , é determinado se o tamanho restante na carga útil do pacote de dados é suficiente para transportar uma unidade de dados de serviço seguinte ou um fragmento restante de uma unidade de dados de serviço precedente. Se este for o caso, em b) uma unidade de dados de protocolo seguinte que compreende a unidade de dados de serviço seguinte ou um fragmento de uma unidade de dados de serviço precedente é formada e a unidade de dados de protocolo é adicionada à carga útil do pacote de dados. Em caso contrário, uma unidade de dados de serviço seguinte ou um fragmento restante de uma unidade de dados de serviço precedente é fragmentado e uma unidade de dados de protocolo é formada, a qual compreende um fragmento da primeira unidade de dados de serviço ou fragmento restante de uma unidade de dados de serviço precedente, de maneira tal que o tamanho da unidade de dados de protocolo corresponde ao tamanho restante da carga útil do pacote de dados e a unidade de dados de protocolo é adicionada à carga útil do pacote de dados. As etapas a) e b) são repetidas até que a carga útil do pacote de dados tenha um tamanho insuficiente restante para transportar uma unidade de dados de serviço seguinte.
Também é vantajoso que, ao ter preenchido a carga útil com as unidades de dados de protocolo, os indicadores do pacote de dados indiquem se a carga útil do pacote de dados que começa ou não com a unidade de dados de protocolo que é um fragmento da unidade de dados de serviço e se a carga útil do pacote de dados que termina ou não com uma unidade de
15/24 dados de protocolo que é um fragmento da unidade de dados de serviço são ajustadas.
Em uma outra realização vantajosa, a carga útil do pacote de dados é fixada dinamicamente por uma entidade de alocação de recursos dependendo das condições do rádio e da ocupação da memória temporária.
Em uma realização vantajosa adicional, é descrito um método para receber pacotes de dados que compreendem um cabeçalho do pacote de dados e uma carga útil do pacote de dados, em que a carga útil do pacote de dados compreende pelo menos uma unidade de dados de protocolo que compreende tanto uma unidade de dados de serviço quanto um fragmento de uma unidade de dados de serviço. 0 método compreende as etapas de recepção de pacotes de dados por um canal, em que cada pacote de dados compreende uma carga útil do pacote de dados e um cabeçalho do pacote de dados, sendo que o cabeçalho do pacote de dados compreende um indicador do número de seqüência que indica a posição do pacote de dados em uma seqüência do pacote de dados, e um indicador em que o indicador indica se a carga útil do pacote de dados que começa ou não com a unidade de dados de protocolo é um fragmento de uma unidade de dados de serviço e se o pacote de dados que termina ou não com a carga útil do pacote é um fragmento da unidade de dados de serviço, gravação das unidades de dados de protocolo da carga útil recebidas do pacote de dados nas unidades de dados de protocolo previamente recebidas em uma memória temporária de recepção em seqüência de acordo com o indicador do número de seqüência, e a marcação se uma primeira unidade de dados de protocolo da carga útil do pacote de dados deve ser combinada com a unidade de dados de protocolo em seqüência precedente e se uma última unidade de dados de protocolo da carga útil recebida do pacote de dados deve ser combinada com uma unidade de dados de protocolo em seqüência seguinte.
16/24
De acordo com mais uma realização vantajosa, a memória temporária de recepção é analisada para verificar se a unidade de dados de protocolo está marcada, e se estiver a unidade de dados de protocolo é combinada com a outra unidade de dados de protocolo marcada, para formar uma unidade de dados de serviço.
Em uma outra realização vantajosa, é descrito um aparelho para transmitir pacotes de dados que compreendem unidades de dados de serviço. O aparelho compreende um dispositivo de formação de unidade de dados de protocolo adaptado para formar uma unidade de dados de protocolo que compreende uma unidade de dados de serviço ou uma unidade de dados de serviço do fragmento, um dispositivo de formação de carga útil de pacote de dados adaptado para formar uma carga útil do pacote de dados que compreende pelo menos uma unidade de dados de protocolo, um dispositivo de formação de cabeçalho do pacote de dados adaptado para formar um cabeçalho do pacote de dados que compreende um indicador para indicar se a carga útil do pacote de dados começa ou não com uma unidade de dados de protocolo que é um fragmento de uma unidade de dados de serviço e se a carga útil do pacote de dados termina ou não com uma unidade de dados de protocolo que é um fragmento de uma unidade de dados de serviço, um dispositivo de formação de pacote de dados adaptado para formar um pacote de dados que compreende o cabeçalho do pacote de dados e a carga útil do pacote de dados, e um dispositivo de transmissão adaptado para transmitir os pacotes de dados por um canal.
Uma realização adicional da presente invenção refere-se a um aparelho para receber pacotes de dados, o qual compreende um cabeçalho do pacote de dados e uma carga útil do pacote de dados, em que uma carga útil do pacote de dados compreende pelo menos uma unidade de dados de protocolo que
17/24
compreende uma unidade de dados de |
serviço ou um |
fragmento de |
uma unidade |
de |
dados |
de |
serviço. |
0 aparelho compreende |
um |
dispositivo |
de |
recepção |
adaptado |
para receber |
pacotes |
de |
dados por um canal, em que cada pacote de dados compreende uma carga útil do pacote de dados e um cabeçalho do pacote de dados, o cabeçalho do pacote de dados compreende um indicador do número de seqüência que indica a posição do pacote de dados em uma seqüência de pacotes de dados, e um indicador, em que o indicador indica se a carga útil do pacote de dados começa ou não com uma unidade de dados de protocolo que é um fragmento de uma unidade de dados de serviço e se o pacote de dados termina ou não com a unidade de dados de protocolo que é um fragmento da unidade de dados de serviço. Ele também compreende uma memória temporária de recepção adaptada para gravar as unidades de dados de protocolo da carga útil do pacote de dados recebido com unidades de dados de protocolo previamente recebidos em seqüência de acordo com o indicador do número de seqüência, e um dispositivo de marcação adaptado para marcar se uma primeira unidade de dados de protocolo da carga útil do pacote de dados recebido deve ser combinada com a unidade de dados de protocolo precedente em seqüência e se uma última unidade de dados de protocolo das cargas úteis do pacote de dados recebido deve ser combinada com uma unidade de dados de protocolo em seqüência seguinte.
Uma outra realização da invenção refere-se a uma mídia que pode ser lida por computador que armazena instruções que, quando executadas por um processador de um aparelho de transmissão, fazem com que o aparelho de transmissão transmita os pacotes de dados que compreendem a unidade de dados de serviço. Isto é feito através da formação de pelo menos uma unidade de dados de protocolo que compreende uma unidade de dados de serviço ou um fragmento de uma unidade de dados de serviço, da formação de uma carga
18/24 útil do pacote de dados que compreende as unidades de dados de protocolo, da formação de um cabeçalho do pacote de dados que compreende pelo menos um indicador para indicar se a carga útil do pacote de dados começa ou não com uma unidade de dados de protocolo que é um fragmento da unidade de dados de serviço e se a carga útil do pacote de dados termina ou não com uma unidade de dados de protocolo que é um fragmento da unidade de dados de serviço, e da transmissão dos pacotes de dados por um canal.
Uma realização vantajosa adicional refere-se a uma mídia que pode ser lida por computador que armazena instruções que, quando executadas por um processador de um aparelho de recepção, fazem com que o aparelho de recepção receba os pacotes de dados que compreendem um cabeçalho do pacote de dados e uma carga útil do pacote de dados, em que a carga útil do pacote de dados compreende pelo menos uma unidade de dados de protocolo que compreende uma unidade de dados de serviço ou então um fragmento de uma unidade de dados de serviço, a qual é descrita. O método compreende as etapas de recepção dos pacotes de dados por um canal, em que cada pacote de dados compreende uma carga útil do pacote de dados e um cabeçalho do pacote de dados, o cabeçalho do pacote de dados compreende um indicador do número de seqüência que indica a posição do pacote de dados em uma seqüência de pacotes de dados, e um indicador em que o indicador indica se a carga útil do pacote de dados começa ou não com a unidade de dados de protocolo que é um fragmento de uma unidade de dados de serviço e se o pacote de dados termina ou não com a carga útil do pacote que é um fragmento da unidade de dados de serviço, gravação da carga útil das unidades de dados de protocolo da carga útil do pacote de dados recebido com as unidades de dados de protocolo previamente recebidas em uma memória temporária de recepção
19/24 em seqüência de acordo com o indicador do número de seqüência, e a marcação se uma primeira unidade de dados de protocolo da carga útil do pacote de dados recebido deve ser combinada com a unidade de dados de protocolo em seqüência precedente e se uma última unidade de dados de protocolo da carga útil do pacote de dados recebido deve ser combinada com uma unidade de dados de protocolo em seqüência seguinte.
Breve Descrição dos Desenhos
A seguir, a invenção é descrita mais detalhadamente com referência às figuras e aos desenhos anexos. Similarmente, os detalhes e as figuras correspondentes são marcados com as mesmas referências numéricas.
Figura 1 - mostras o modelo de camada de OSI;
Figura 2 - mostra SDU e PDU no modelo de camada de OSI;
Figura 3 - mostra a sinalização SAR pela numeração de fragmento;
Figura 4 - mostra a sinalização SAR com sinalizadores de início e Final;
Figura 5 - mostra a sinalização SAR com indicadores de comprimento;
Figura 6 - mostra os processos de segmentação de SDU e de concatenação de PDU;
Figura 7 - mostra a geração do Bloco de Canal de Transporte;
Figura 8 - mostra a propagação de erro na UMTS R99;
Figura 9 - mostra os processos de SAR e de concatenação de uma realização da presente invenção;
Figura 10 - mostra o fluxo de SAR e de concatenação com o Sinalizador de Fragmentação de uma realização da presente invenção;
20/24
Figura 11 - mostra a sinalização SAR com Sinalizadores de Fragmentação de acordo com uma realização da presente invenção;e
Figura 12 - é um fluxograma para o processo de segmentação e de concatenação.
Descrição Detalhada da Invenção
A presente invenção é aplicável a qualquer sistema de comunicação de pacote de dados que utiliza quadros de transmissão de comprimento variável, por exemplo, redes sem fio tais como GSM, UMTS, WiLAN, WiMAX, etc., ou redes fixas tais como IP, Frame relay, PPP, ATM, etc.
As realizações diferentes da invenção são descritas com base no modelo de camada de OSI, especialmente a troca de pacotes entre uma camada de SDU e uma de PDU. Favor consultar a seção Antecedentes quanto a uma descrição mais detalhada das partes relevantes do modelo de camada de OSI, bem como SDUs e PDUs. A seção Antecedentes também descreve as razões para o emprego da fragmentação e/ou segmentação em redes de comunicação.
Na presente invenção, é proposto um método que permite um procedimento eficiente de Segmentação e de Concatenação ao custo de sinalização fixo, que diminui o código extra na porcentagem com o comprimento do TrBlk transmitido.
A segmentação de SDU e a concatenação de PDU dependem ambas dos recursos físicos que são alocados para a transmissão para o TTI seguinte. Por exemplo, o tamanho da carga útil do bloco de canal de transporte seguinte (Size_ind) pode ser indicado para a função de SAR tal como mostrado na Figura 9.
Com base nessa indicação, a função de SAR seleciona n SDUs, cujo tamanho total é exatamente acima de Size_ind. Se a soma do comprimento das n SDUs for maior do que size_ind, a
21/24 função de SAR segmenta a última SDU em dois fragmentos. A soma de n-1 SDUs e do primeiro fragmento da nth SDU é igual a Size_ind. Cada uma delas é transformada em uma PDU e recebe um número de seqüência atribuído sequencialmente. Para a transmissão seguinte, o segundo fragmento será considerado em primeiro lugar. Isso é mostrado na Figura 10, onde a SDU3 é fragmentada em duas PDUs (PDU3 e PDU4).
Portanto, pela construção, todas as PDUs formadas são SDUs completas, exceto a primeira e a última em um bloco de transporte (TrBlk) , que pode ser um fragmento de uma SDU. Todas as outras SDUs completas, portanto, é suficiente indicar ao receptor se a primeira e a última PDUs em um bloco de transporte são fragmentos de uma SDU ou de uma SDU completa. Isto pode ser feito facilmente por dois sinalizadores de um bit ou por sinalizadores de fragmentação unidas ao cabeçalho de TrBlk. O primeiro sinalizador de fragmentação, ou FFF, indica se a primeira PDU SAR no TrBlk é um fragmento de uma SDU ou não, e o segundo sinalizador de fragmentação (SFF) indica se a última PDU SAR no TrBlk é um fragmento de uma SDU ou não.
Esse processo pode ser descrito em uma forma generalizada ao longo das linhas da Figura 12. As SDUs ou os fragmentos de SDUs são tirados de uma memória temporária e então é determinado se a SDU ou o fragmento de uma SDU encaixa no tamanho restante do bloco de transporte, que pode ser qualquer bloco de transporte ou somente uma parte do mesmo. Se a SDU completa ou o fragmento da SDU encaixa no tamanho restante do bloco de transporte, uma PDU é criada a partir dessa SDU. Essa PDU é então inserida no bloco de transporte.
O bloco de transporte é verificado para ver se há qualquer tamanho restante. Se houver, o processo começa mais
22/24 uma vez, se não houver, os indicadores são adicionados e o bloco de transporte é transmitido com os indicadores.
Se, no entanto, a SDU ou o fragmento da SDU não encaixarem no tamanho restante do bloco de transporte, a SDU é fragmentada e uma PDU é criada a partir de um fragmento de SDU para encaixar no tamanho restante do bloco de transporte. O segundo fragmento de SDU é colocado na memória temporária e a PDU é então inserida no bloco de transporte e os indicadores são adicionados.
O primeiro sinalizador de fragmentação (FFF) indica se a primeira PDU no bloco de transporte é um fragmento de SDU ou não, e o segundo sinalizador de fragmentação (SFF) indica se a último PDU no bloco de transporte é um fragmento de uma SDU ou não.
Finalmente, o bloco de transporte é transmitido com os indicadores e o processo pode começar outra vez.
Quando é recebido um bloco de transporte n com o FFF ajustado em 1, o receptor sabe que a primeira PDU SAR no TrBlk deve ser combinada com a última PDU SAR do TrBlk precedente n-1. Esse TrBlk também pode ter indicado que a última PDU SAR nesse TrBlk é um fragmento de uma SDU mediante o ajuste do SFF em 1.
Em um sistema sem perda, o FFF e o SFF fornecem as informações redundantes e não se fazem realmente necessários. No entanto, em um sistema de perdas, tal como um sistema sem fio, isto é útil para impedir a propagação de erros. Realmente, se o (n-1)th TrBlk no exemplo precedente tiver sido perdido, a unidade do receptor deve ter detectado essa perda graças à numeração de seqüência da PDU SAR, e o FFF no nth TrBlk deve indicar que a primeira PDU pode ser descartada, uma vez que a SDU correspondente está incompleta. No entanto, a segunda PDU subseqüente no nth TrBlk será mantida e utilizada na função da remontagem.
23/24
Se apenas uma PDU for transmitida por SDU, o FFF e o SFF podem ainda ter valores diferentes. O FFF deve indicar se a PDU deve ser combinada com a última PDU do TrCh Blk precedente e o SFF deve indicar se a PDU deve ser combinada com a primeira PDU do Blk TrCh seguinte.
Um aspecto importante da invenção consiste na sinalização SAR de informações não ao nível da PDU (isto é, no cabeçalho da PDU) mas, pelo contrário, no cabeçalho do TrBlk. Utilizando a PDU de tamanho variável e regras simples de segmentação e de concatenação, é proposta a indicação da informação de SAR com somente dois bits por cabeçalho de TrBlk, que indicam a condição (fragmentada, não fragmentada) da primeira e da última PDU que é concatenada no TrBlk.
Em comparação à solução da técnica anterior, a informação de SAR é de somente dois bits por TrBlk, a qual tem que ser comparada a 2*n bits por TrBlk para a sinalização SAR com sinalizadores de início/final, onde n é o número da PDU no TrBlk. Essa é uma diminuição significativa quando muitas PDUs são concatenado no mesmo TrBlk.
Conforme pode ser observado, é suposto que o tamanho da PDU SAR é variável. Por exemplo, no estado atual de UMTS, o tamanho da PDU é fixo e é um parâmetro estático da portadora utilizada par carregar o serviço. Algumas vezes há uma necessidade de informar o receptor onde os limites da PDU podem ser encontrados. Então se faz necessário indicar o comprimento de cada PDU no cabeçalho da PDU SAR com os indicadores de comprimento tal como mostrado na Figura 11. Isto é realmente equivalente aos campos de indicador de comprimento que são utilizados nas técnicas de sinalização SAR com indicadores de comprimento para os limites sinalizados de SDU dentro de cada PDU.
Além disso, deve ser possível economizar mais espaço ao sinalizar somente um número de seqüência da PDU SAR
24/24 por TrBlk. O número de seqüência da primeira PDU ou da última PDU no TrBlk pode ser utilizado para esta finalidade. O receptor pode contar o número de indicadores de comprimento contidos no TrBlk para obter o número de PDUs concatenadas ou um campo pequeno N que indica esse número pode ser adicionado no cabeçalho de TrBlk tal como mostrado na Figura 11.
Uma outra realização da invenção refere-se à execução das várias realizações acima descritas ao utilizar hardware e software. É reconhecido que os vários métodos acima mencionados podem ser implementados ou executados ao utilizar dispositivos de computação (processadores) tais como, por exemplo, processadores de finalidades gerais, processadores de sinais digitais (DSP), circuitos integrados específicos de aplicações (ASIC), disposições de portas programáveis de campo (FPGA) ou outros dispositivos lógicos programáveis, etc. As várias realizações da invenção também podem ser executadas ou englobadas por uma combinação desses dispositivos.
Além disso, as várias realizações da invenção também podem ser executadas por meio de módulos de software, os quais são executados por um processador ou diretamente no hardware. Além disso, uma combinação de módulos de software e uma implementação de hardware pode ser possível.
Os módulos de software podem ser armazenados em qualquer tipo de mídia de armazenamento que pode ser lida por computador, por exemplo, RAM, EPROM, EEPROM, memória flash, registros, discos rígidos, CD-ROM, DVD, etc.