MÉTODO PARA A TRANSMISSÃO DE PACOTES DE DADOS,APARELHO PARA A TRANSMISSÃO DE PACOTES DE DADOS, MÉTODO PARARECEBER PACOTES DE DADOS, APARELHO PARA RECEBER PACOTES DEDADOS, SISTEMA E MÍDIA QUE PODE SER LIDA POR COMPUTADOR
Campo da Invenção
O campo da invenção é o mapeamento de pacotes decamada mais alta em quadros de camada inferior em um sistemade comunicação, o qual pode ser uma rede de linha sem fio oufixa. A fim de adaptar os pacotes entregues pela camada mais alta às capacidades da rede física (por exemplo, o tamanhomáximo de quadro), algumas vezes é necessário segmentar oufragmentar os mesmos em diversos blocos que devem sertransmitidos por quadros separados. Da mesma maneira, tambémpode ser necessário concatenar vários pacotes em um quadro a fim de aumentar a eficiência de transmissão. A invençãopropõe uma maneira nova e eficiente de indicar ã unidade derecepção como a segmentação e a concatenação foram feitas nolado do de transmissão.
Antecedentes da Invenção
A necessidade de adaptar pacotes de camada maisalta às características de uma rede física é uma questãoclássica para todo tipo de sistemas de comunicação, tais comoredes 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 modelode OSI (vide a Figura 1) que será usada para ilustrar asexplanações abaixo.
0 Modelo de Referência de Interconexão de Sistemas Abertos (Modelo de OSI ou Modelo de Referência de OSI paraabreviar) é uma descrição abstrata em camada para o desenhode protocolo de comunicações e de rede de computadores. 0modelo de OSI divide as funções de um sistema em uma série decamadas. Cada camada tem a propriedade de utilizar somente asfunções da camada abaixo, e exporta somente a funcionalidadepara a camada acima. Um sistema que implementa ocomportamento de protocolo que consiste em uma série dessascamadas é conhecido como um 'protocolo de pilha' ou 'pilha'.A sua característica principal está na junção entre ascamadas que dita as especificações sobre como uma camadainterage com a outra. Isto significa que, em princípio, umacamada gravada por um fabricante pode operar com uma camadade outro. Para a presente finalidade, somente as trêsprimeiras camadas serão descritas.A finalidade principal da camada física, ou camada1, é a transferência de informações (bit) por um meio físicoespecífico (por exemplo, cabos coaxiais, pares torcidos,fibras ópticas ou o ar) . Ela converte ou modula os dados emsinais que são transmitidos por um canal de comunicação.A finalidade da camada de ligação de dados, oucamada 2, é a moldagêm do fluxo de informações de uma maneiracompatível com a camada física específica ao decompor osdados de entrada em quadros de dados (funções de Segmentaçãoe Remontagem ou SAR) . Além disso, ela pode detectar ecorrigir erros potenciais de transmissão ao solicitar umaretransmissão de um quadro perdido. Ela provê um mecanismo deendereçamento e pode oferecer algoritmos de controle de fluxoa fim de alinhar a taxa de dados com a capacidade doreceptor. Finalmente, quando um meio compartilhado éutilizado simultaneamente por múltiplos transmissores ereceptores, ele provê mecanismos para regular e controlar oacesso ao meio físico. Uma vez que a extensão das funções dacamada de ligação de dados é grande, a camada de ligação dedados é subdividida freqüentemente em duas subcamadas (porexemplo, as subcamadas RLC e MAC em UMTS) . Os exemplostípicos de protocolos da camada 2 são PPP/HDLC, ATM, Framerelay para redes de linhas fixas e RLC7 LLC ou MAC parasistemas sem fio.
A camada de rede, ou camada 3, provê os meiosfuncionais e processuais para a transferência de pacotes decomprimento variável de uma origem a um destino através deuma ou mais redes enquanto mantém a qualidade de serviçosolicitada pela camada de transporte. As finalidadesprincipais da camada de rede são a execução das funções deroteamento da rede, fragmentação da rede e controle decongestão. Os exemplos principais de protocolos de camada derede são o Protocolo da Internet IP ou X.25.
Mais informações sobre o modelo de camada de OSIpodem ser encontradas em "Computer Networks", (Andrew S.Tanenbaum, quarta edição, Prentice Hall InternationalEdition, páginas 37-41, seção 1.4.).
Definição de SDU e PDU
A fim de descrever formalmente de uma maneiragenérica a troca dos pacotes entre as camadas no modelo deOSI, entidades de SDU (Unidade de Dados de Serviço) e de PDU(Unidade de Dados de Protocolo) foram definidas. Uma SDU éuma unidade de informação transmitida de um protocolo nacamada N+l que solicita um serviço a um protocolo localizadona camada N através de um SAP (Ponto de Acesso de Serviço).
Uma PDU é uma unidade da informação trocada entre processos"peer" no transmissor e no receptor do mesmo protocololocalizado na mesma camada N. Uma PDU é geralmente formadapor uma parte de carga útil que consiste na versão processadada SDU recebida da informação de controle, por exemplo, umcabeçalho específico da camada N e terminado possivelmentepor um reboque. Uma vez que não há nenhuma conexão físicadireta (com exceção de LI) entre esses processos "peer", umaPDU é passada para a camada N-I para processamento. Portanto,uma PDU da camada N é de um ponto de vista da camada N-I umaSDU. Isso é ilustrado na Figura 2.
Finalidade da Fragmentação/Segmentação
A fragmentação, ou de maneira equivalente asegmentação, podem ser requeridas por três razões diferentes.
Primeiramente de tudo, a fragmentação pode serrequerida para transportar datagramas ou pacotes através deredes cujo tamanho de datagrama máximo permitido ou a unidadede transferência máxima (MTU) é menor do que o seu tamanho. Afragmentação de datagramas é executada tipicamente na camadade IP e especificada como a fragmentação de IP na versão IPv4ou IPv6 do padrão. Similarmente, a segmentação ê necessáriaquando os dados são transportados por uma rede de ATM a fimde encaixar com um tamanho de carga útil de 4 8 octetos nacélula de ATM. Isto é executado nas camadas de adaptação deATM (AAL) entre a camada 2 de ATM e a camada de transporte(por exemplo, IP) .
Em segundo lugar, a fragmentação pode ser executadaa fim de balancear a carga de tráfego nas ligações paralelas,por exemplo, nas ligações de ISDN paralelas. 0 protocolo demultilinks 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étodopara dividir, recombinar e seqüênciar datagramas através demúltiplas ligações de dados lógicos.
Finalmente, em sistemas sem fio, a segmentação depacote combinada potencialmente com a concatenação éexecutada freqüentemente na camada 2 (por exemplo, nasubcamada de RLC em UMTS, 3GPP TS 25.322, v6.4.0, "Radio LinkControl (RLC) protocol specification") a fim de encaixarpacotes de camada mais alta nos recursos oferecidos pelacamada mais baixa. Uma vez que os recursos são tipicamenteescassos em um ambiente sem fio, a concatenação de diversospacotes de camada mais alta é recomendada a fim deintensificar a eficiência do sistema total.
A fim de que a unidade do receptor separe osfragmentos concatenados e recombine corretamente osfragmentos recebidos em pacotes originais, a informação dasegmentação precisa ser entregue à unidade de recepção. Essainformação, combinada geralmente com uma técnica de numeraçãoque etiqueta cada fragmento, permite que a camada 2 noreceptor entregue pacotes cheios e consistentes à camada maisalta seguinte.
Nas seguintes seções, diversos métodos existentespara sinalizar a segmentação serão apresentados, os quaisirão ajudar a compreender as diferenças para a presenteinvenção.
Sinalização SAR através de Numeração de Fragmento
A primeira classe de métodos para indicar afragmentação reagrupa diversas técnicas similares que indicama posição dos fragmentos dentro do pacote original. Doiselementos são necessários: o primeiro deles é um índice queaponta para a posição do fragmento dentro do pacote original.
Esse índice pode tanto assumir a forma de um deslocamento defragmentação (fragmentação de IP, vide "Computer Network",Andrew S. Tanenbaum, quarta edição, Prentice HallInternational Edition, páginas 37-41, seção 1.4.) ou demaneira 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 valorconhecido (por exemplo, FSN = zero) para o primeiro fragmentode um pacote original. A unidade do receptor utiliza esseíndice para reordenar os fragmentos na seqüência correta edetectar fragmentos perdidos. Além disso, o último fragmentode um pacote é indicado com um sinalizador de um bit (LF). Umpacote não-fragmentado é sinalizado para o lado do receptorao ajustar o índice na posição inicial (por exemplo, FSN =zero) e indicando simultaneamente que esse pacote é um últimofragmento no pacote original. Essa técnica é utilizada, porexemplo, no protocolo de fragmentação de IP ou na Camada deAdaptação de ATM AAL-1. A camada 802.11 WiLAN MAC tambémutiliza a mesma técnica. WiLAN também adiciona um campo queidentifica o pacote original para cada fragmento. Isto énecessário, uma vez que MAC 802.11 pode ser configurado parareordenar os pacotes no lado do receptor antes da entrega àcamada mais alta seguinte. Esse requisito de entrega emseqüência não existe na camada de IP, uma vez que areordenação não é requerida ou então não é executada por umacamada mais alta (por exemplo, TCP).
O principio da técnica de SAR através da numeraçãode fragmento em WiLAN é mostrado na Figura 3.
O código extra de sinalização é relativamentesignificativo, uma vez que cada fragmento deve carregar pelomenos o sinal izador do último fragmento LF e o número deseqüência de fragmento FSN e eventualmente o número deseqüê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 é extensamenteutilizada em vários protocolos tais como ATM Adaptation LayerAAL-3/4, Frame Relay Frame Relay Fragmentation ImplementationAgreement 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 nestasegunda classe de técnicas de SAR é a utilização de doissinalizadores de um bit para indicar para cada SAR PDU se aPDU é a primeira, a última ou um fragmento médio de uma SDU,ou se é uma SAR SDU completa. Ambos os sinalizadores fazemparte do cabeçalho da PDU. Em algumas implementações (Framerelay e multilink de PPP) , um distingue a função dos doissinalizadores como aquele que indica o início de uma SDU e ooutro indica o seu término. O bit de fragmento de início B éajustado em 1 no primeiro fragmento derivado de uma SAR SDU eajustado em 0 para todos os fragmentos restantes da mesmaSDU. 0 bit de fragmento de término E é ajustado em 1 noúltimo fragmento e ajustado em 0 para todos os fragmentosrestantes. Uma PDU pode ter os bits de fragmento de início ede término ajustados em 1. Neste caso, indica que nenhumasegmentação ocorreu. Uma numeração de seqüência de fragmentotambém é adicionada a fim de que a unidade do receptordetecte a perda do fragmento e execute potencialmente areordenação da PDU se o link não preservar a seqüência daPDU. Depois da reordenação, o receptor pode verificarfacilmente os bits de B e E para identificar qual SAR PDUprecisa ser combinada para reconstruir as SDUs originais. Afigura fornece uma ilustração dessa técnica.
Sinalização SAR Através de Indicadores de Comprimento
Uma terceira classe consiste em um conjunto detécnicas que estão utilizando campos de indicador decomprimento como apontadores para indicar os limites dasSDUs. Um bom exemplo é o RLC (Controle de Link de Rádio) emUMTS R99. No RLC, uma RLC PDU pode carregar segmentos dediversas SDUs ou bits de enchimento. Realmente, UMTS R99opera com a PDU de tamanho fixo que não pode ser alinhada como comprimento das SDUs a serem transmitidas. Uma vez que osrecursos de rádio são escassos, foi verificado que énecessário permitir a concatenação de SDU ao nível de PDU. Deuma maneira genérica, um número variável de indicadores decomprimento (LI) é adicionado ao cabeçalho da PDU. Umindicador de comprimento é utilizado para indicar o últimoocteto de cada RLC SDU que termina dentro da PDU. Tal como éusual, uma numeração de seqüência baseada na PDU é adicionadano cabeçalho a fim de permitir a detecção da perda e areordenação. 0 receptor pode, portanto, executar areordenação, solicitar a retransmissão da PDU perdida eremontar a SDU. Além disso, um LI com um valor especialindica quando o enchimento é utilizado para preencher otérmino de uma PDU.
O inconveniente principal dessa técnica é que ocódigo extra depende do número de segmentos de SDU em umaPDU, e devido a isto o cabeçalho também tem um tamanhovariável. Além disso, o uso de campos especiais tende aaumentar a complexidade do RLC.
Finalmente, essa técnica não é muito eficientequando é levado em consideração o tamanho variável da PDU,que deve ser mais flexível e mais bem adaptado a um ambienteorientado a um pacote cheio por um sistema sem fio. Umexemplo 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 eda concatenação permite que o transmissor adapte melhor asSDUs de comprimento variável de entrada aos recursosoferecidos. No caso de um sistema sem fio, o número de bitsque podem ser transmitidos durante um intervalo de tempo detransmissão (TTI) pode variar significativamente dependendodas condições do rádio, da taxa do código e dos recursosfísicos dedicados à transmissão. Por exemplo, uma estaçãomóvel perto do transmissor requer menos codificação de canaldo que uma estação móvel mais afastada. Com os mesmosrecursos físicos alocados e a mesma potência de transmissão,a primeira estação móvel poderá receber muito mais dados doque a segunda estação móvel. Além disso, quando os serviçosde pacote são levados em consideração, a taxa de dadosfornecida pelo servidor pode em princípio variarsignificativamente com o passar do tempo.
Em UMTS, a segmentação da SDU e a concatenação desegmentos de SDU na PDU são executadas ao nível de RLC semrespeito aos recursos físicos oferecidos e com um tamanho dePDU predefinido fixo. A fim de emular algum tipo decomportamento dinâmico, a camada de MAC, baseada em algumasindicações da camada física, determina o número de PDUs aserem transmitidas por TTI. Em UMTS R99, as PDUs selecionadassão transmitidas na forma dos chamados blocos de canais detransporte (TrCH Blk ou TrBlk) à camada física, a qualconcatena as mesmas e forma um conjunto de blocos de canaisde transporte. Em UMTS Rel-5 HSDPA, as PDUs selecionadas sãoconcatenadas diretamente no bloco de canais de transporte dacamada de MAC (TrCH Blk ou TrBlk) que, desse modo, contémdiversas PDUs tal como mostrado na Figura 6. Dependendo dascondições de rádio ou de outras variáveis, o número de PDUsselecionadas por TTI varia tal como mostrado na Figura 7.
Portanto, o uso seqüencial de segmentação/concatenação de SDUna 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 queo transmissor adapte dinamicamente a transmissão a variáveisinstantâneas (dados de entrada da camada mais alta e recursosoferecidos pelas camadas mais baixas).
Em UMTS, a unidade do receptor é informada sobre onúmero de PDUs transmitidas por TTI tanto através desinalizar fora de faixa (Indicador de Combinação de Formatode Transporte ou TFCI) ou na faixa em um cabeçalho específico(por exemplo, o cabeçalho MAC-hs em HSDPA) . Deve serobservado que a etapa de concatenação da PDU é geralmenteexecutada independentemente da estrutura das PDUs, e dessemodo pode acontecer que uma SDU fique transposta sobrediversos TTIs.Código Extra Eficiente em Sistemas com Taxa de Dados
Altamente Variável
O uso seqüencial da segmentação de SDU e daconcatenação de PDU tal como apresentado acima funciona bemquando a faixa do número de PDUs a serem transmitidas não édemasiadamente grande. No entanto, no caso de sistemasaltamente variáveis (recursos físicos altamente variáveis etaxa de dados altamente variável), que podem se tornar maiscomuns nos sistemas futuros com grande largura de faixa, ouso de uma PDU de tamanho fixo tende a ser sub-ideal, uma vezque o tamanho da PDU não pode ser adaptado à faixa completada taxa de dados. Realmente, no caso de serviço de pacote otamanho da SDU pode em princípio variar de 4 0 octetos parareconhecimentos de TCP até o tamanho da MTU (por exemplo,aproximadamente 1.5 00 octetos para Ethernet). No lado dacamada física, os sistemas compartilhados programados taiscomo HSDPA em UMTS oferecem recursos físicos por TTI quepodem variar de poucos kbps à largura de faixa completa (porexemplo, 14 Mbps em HSDPA) . Espera-se que essa tendência sejaconfirmada pelo sistema sem fio do futuro.
0 problema advém do fato que o tamanho pequeno daPDU que deve ser ideal para a parte inferior da extensão dataxa de dados se transforma em uma carga quando se leva emconsideração a parte mais alta da extensão da taxa de dados.Realmente, o receptor terá mais PDUs para tratar por TTI edeve requerer mais computação. Além disso, a faixa de númerode seqüência que identifica as PDUs pode ficar demasiadamentecurta, 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 blocode canais de transporte. A utilização de uma PDU grande iráforçar o transmissor a retardar a transmissão a fim depreencher a PDU ou então irá preencher de maneira marcante oespaço não utilizado na PDU a taxas de dados baixas. 0 tremoraumentado ou o enchimento extensivo têm uma forte influêncianegativa na eficiência de um sistema de rádio e devem serevitados.
De maneira geral, o tamanho da PDU é um parâmetroestático do portador do rádio utilizado para carregar oserviço considerado. Esse parâmetro não pode ser mudado semum procedimento de reconfiguração intensa. Portanto, édifícil adaptar eficientemente a ligação às característicasdas SDUs de entrada ou aos recursos oferecidos pela camadamais baixa sem fortes limitações tanto na taxa de dadosquanto na faixa de recursos físicos que podem ser alocadospor TTI.
Propagação de Erros
As técnicas de sinalização SAR com indicadores decomprimento são sensíveis à propagação de erros. Certamenteque pode acontecer que a perda de uma PDU force o receptor adeixar cair intencionalmente as SDUs corretamente recebidasdevido à incerteza da fronteira da SDU. Tal como mostrado naFigura 8, a perda de PDU i+2 força o receptor a deixar cair oPDU i+3 corretamente recebido, uma vez que não podedeterminar se o fragmento contido em PDU i+3 é uma SDU cheia(alternativa 1) ou um segmento de SDU (alternativa 2) .
Em UMTS Rel-6, algumas tentativas foram feitas paralimitar esse problema e para reduzir o código extra emalgumas condições particulares onde o tamanho da SDU combinacom o tamanho da PDU. No entanto, no caso geral, esseproblema advém do fato que cada PDU carrega a informação emsua própria estrutura e sem respeito à estrutura interna dasPDUs adjacentes.
As técnicas de sinalização SAR com sinalizadores deinício/término ou com numeração de fragmento são muito maisrobustas neste caso, uma vez que o receptor sabe exatamentequando PDUs suficientes são recebidas. No entanto, o códigoextra dessas técnicas aumenta linearmente com o número dePDUs concatenadas.
Tal como pode ser observado, existem diversastécnicas para sinalizar a segmentação e a concatenação. Noentanto, elas tendem a sofrer de código extra elevado, faltade flexibilidade, ou podem conduzir a uma maior complexidadeno lado do receptor. A robustez para a propagação de errosnão é fornecida, tampouco.
Descrição Resumida da Invenção
Um objetivo da invenção consiste na apresentação deuma segmentação e uma concatenação eficientes e praticáveisem comunicações de pacotes.
O objetivo é atingido pelo objeto dasreivindicações independentes. As realizações vantajosas dainvenção são os objetos das reivindicações dependentes.
As realizações diferentes da invenção fornecem umaestrutura de pacotes de dados, um método, um aparelho, umsistema e uma mídia que pode ser lida por computador para atransmissão de unidades de dados de serviço utilizandounidades de dados de protocolo. 0 pacote de dados compreendeuma carga útil de pacote que compreende uma unidade de dadosde protocolo, em que uma unidade de dados de protocolocompreende uma unidade de dados de serviço ou um fragmento daunidade de dados de serviço e um cabeçalho de pacote de dadosque compreende um indicador que indica se a carga útil dopacote de dados que começa ou não com uma unidade de dados deprotocolo é um fragmento de uma unidade de dados de serviço ese a carga útil do pacote de dados que termina ou não com umaunidade de dados de protocolo é um fragmento da unidade dedados de serviço.
De acordo com uma realização vantajosa, o indicadorconsiste em dois sinalizadores, em que o primeiro sinalizadorindica se a carga útil do pacote de dados que começa com aunidade de dados de protocolo é um fragmento de uma unidadede dados de serviço e o segundo sinalizador indica se a cargaútil do pacote de dados que termina com uma unidade de dadosde 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, aestrutura do pacote de dados compreende um indicador donúmero de seqüência que indica a posição do pacote de dadosem uma seqüência de pacotes de dados.
Em uma realização vantajosa adicional, o métodopara a transmissão de pacotes de dados que compreendemunidades de dados de serviço compreende as etapas de formaçãode pelo menos uma unidade de dados de protocolo quecompreende uma unidade de dados de serviço ou um fragmento deuma unidade de dados de serviço, formação de uma carga útildo pacote de dados que compreende pelo menos uma unidade dedados de protocolo, formação de um cabeçalho do pacote dedados que compreende pelo menos um indicador para indicar sea carga útil do pacote de dados que começa ou não com umaunidade de dados de protocolo é um fragmento de uma unidadede dados de serviço e se a carga útil do pacote de dados quetermina ou não com uma unidade de dados de protocolo é umfragmento da unidade de dados de serviço, formação de umpacote de dados que compreende o cabeçalho do pacote de dadose a carga útil do pacote de dados, e transmissão do pacote dedados por um canal.
De acordo com uma outra realização vantajosa, acarga útil do pacote de dados compreende uma pluralidade deunidades de dados de protocolo e o pacote de dados começa comuma primeira unidade de dados de protocolo e termina com umaúltima unidade de dados de protocolo.
Em uma outra realização vantajosa, a etapa deformação da carga útil de pacote de dados de um tamanhopredeterminado compreende adicionalmente as seguintes sub-etapas a) , b) e c) . Em a) , é determinado se o tamanhorestante na carga útil do pacote de dados é suficiente paratransportar uma unidade de dados de serviço seguinte ou umfragmento restante de uma unidade de dados de serviçoprecedente. Se este for o caso, em b) uma unidade de dados deprotocolo seguinte que compreende a unidade de dados deserviço seguinte ou um fragmento de uma unidade de dados deserviço precedente é formada e a unidade de dados deprotocolo é adicionada à carga útil do pacote de dados. Emcaso contrário, uma unidade de dados de serviço seguinte ouum fragmento restante de uma unidade de dados de serviçoprecedente é fragmentado e uma unidade de dados de protocoloé formada, a qual compreende um fragmento da primeira unidadede dados de serviço ou fragmento restante de uma unidade dedados de serviço precedente, de maneira tal que o tamanho daunidade de dados de protocolo corresponde ao tamanho restanteda carga útil do pacote de dados e a unidade de dados deprotocolo é adicionada à carga útil do pacote de dados. Asetapas a) e b) são repetidas até que a carga útil do pacotede dados tenha um tamanho insuficiente restante paratransportar 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 dopacote de dados indiquem se a carga útil do pacote de dadosque 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 útildo pacote de dados que termina ou não com uma unidade dedados de protocolo que é um fragmento da unidade de dados deserviço são ajustadas.
Em uma outra realização vantajosa, a carga útil dopacote de dados é fixada dinamicamente por uma entidade dealocação de recursos dependendo das condições do rádio e daocupação da memória temporária.
Em uma realização vantajosa adicional, é descritoum método para receber pacotes de dados que compreendem umcabeçalho do pacote de dados e uma carga útil do pacote dedados, em que a carga útil do pacote de dados compreende pelomenos uma unidade de dados de protocolo que compreende tantouma unidade de dados de serviço quanto um fragmento de umaunidade de dados de serviço. 0 método compreende as etapas derecepção de pacotes de dados por um canal, em que cada pacotede dados compreende uma carga útil do pacote de dados e umcabeçalho do pacote de dados, sendo que o cabeçalho do pacotede dados compreende um indicador do número de seqüência queindica a posição do pacote de dados em uma seqüência dopacote de dados, e um indicador em que o indicador indica sea carga útil do pacote de dados que começa ou não com aunidade de dados de protocolo é um fragmento de uma unidadede dados de serviço e se o pacote de dados que termina ou nãocom a carga útil do pacote é um fragmento da unidade de dadosde serviço, gravação das unidades de dados de protocolo dacarga útil recebidas do pacote de dados nas unidades de dadosde protocolo previamente recebidas em uma memória temporáriade recepção em seqüência de acordo com o indicador do númerode seqüência, e a marcação se uma primeira unidade de dadosde protocolo da carga útil do pacote de dados deve sercombinada com a unidade de dados de protocolo em seqüênciaprecedente e se uma última unidade de dados de protocolo dacarga útil recebida do pacote de dados deve ser combinada comuma unidade de dados de protocolo em seqüência seguinte.De acordo com mais uma realização vantajosa, amemória temporária de recepção é analisada para verificar sea unidade de dados de protocolo está marcada, e se estiver aunidade de dados de protocolo é combinada com a outra unidadede dados de protocolo marcada, para formar uma unidade dedados de serviço.
Em uma outra realização vantajosa, é descrito umaparelho para transmitir pacotes de dados que compreendemunidades de dados de serviço. 0 aparelho compreende umdispositivo de formação de unidade de dados de protocoloadaptado para formar uma unidade de dados de protocolo quecompreende uma unidade de dados de serviço ou uma unidade dedados de serviço do fragmento, um dispositivo de formação decarga útil de pacote de dados adaptado para formar uma cargaútil do pacote de dados que compreende pelo menos uma unidadede dados de protocolo, um dispositivo de formação decabeçalho do pacote de dados adaptado para formar umcabeçalho do pacote de dados que compreende um indicador paraindicar se a carga útil do pacote de dados começa ou não comuma unidade de dados de protocolo que é um fragmento de umaunidade de dados de serviço e se a carga útil do pacote dedados termina ou não com uma unidade de dados de protocoloque é um fragmento de uma unidade de dados de serviço, umdispositivo de formação de pacote de dados adaptado paraformar um pacote de dados que compreende o cabeçalho dopacote de dados e a carga útil do pacote de dados, e umdispositivo de transmissão adaptado para transmitir ospacotes de dados por um canal.
Uma realização adicional da presente invençãorefere-se a um aparelho para receber pacotes de dados, o qualcompreende um cabeçalho do pacote de dados e uma carga útildo pacote de dados, em que uma carga útil do pacote de dadoscompreende pelo menos uma unidade de dados de protocolo quecompreende uma unidade de dados de serviço ou um fragmento deuma unidade de dados de serviço. 0 aparelho compreende umdispositivo de recepção adaptado para receber pacotes dedados por um canal, em que cada pacote de dados compreende uma carga útil do pacote de dados e um cabeçalho do pacote dedados, o cabeçalho do pacote de dados compreende um indicadordo número de seqüência que indica a posição do pacote dedados em uma seqüência de pacotes de dados, e um indicador,em que o indicador indica se a carga útil do pacote de dadoscomeça ou não com uma unidade de dados de protocolo que ê umfragmento de uma unidade de dados de serviço e se o pacote dedados termina ou não com a unidade de dados de protocolo queé um fragmento da unidade de dados de serviço. Ele tambémcompreende uma memória temporária de recepção adaptada para gravar as unidades de dados de protocolo da carga útil dopacote de dados recebido com unidades de dados de protocolopreviamente recebidos em seqüência de acordo com o indicadordo número de seqüência, e um dispositivo de marcação adaptadopara marcar se uma primeira unidade de dados de protocolo da carga útil do pacote de dados recebido deve ser combinada coma unidade de dados de protocolo precedente em seqüência e seuma última unidade de dados de protocolo das cargas úteis dopacote de dados recebido deve ser combinada com uma unidadede dados de protocolo em seqüência seguinte.
Uma outra realização da invenção refere-se a umamídia que pode ser lida por computador que armazenainstruções que, quando executadas por um processador de umaparelho de transmissão, fazem com que o aparelho detransmissão transmita os pacotes de dados que compreendem a unidade de dados de serviço. Isto é feito através da formaçãode pelo menos uma unidade de dados de protocolo quecompreende uma unidade de dados de serviço ou um fragmento deuma unidade de dados de serviço, da formação de uma cargaútil do pacote de dados que compreende as unidades de dadosde protocolo, da formação de um cabeçalho do pacote de dadosque compreende pelo menos um indicador para indicar se acarga útil do pacote de dados começa ou não com uma unidadede dados de protocolo que é um fragmento da unidade de dadosde serviço e se a carga útil do pacote de dados termina ounão com uma unidade de dados de protocolo que é um fragmentoda unidade de dados de serviço, e da transmissão dos pacotesde dados por um canal.
Uma realização vantajosa adicional refere-se a umamídia que pode ser lida por computador que armazenainstruções que, quando executadas por um processador de umaparelho de recepção, fazem com que o aparelho de recepçãoreceba os pacotes de dados que compreendem um cabeçalho dopacote de dados e uma carga útil do pacote de dados, em que acarga útil do pacote de dados compreende pelo menos umaunidade de dados de protocolo que compreende uma unidade dedados de serviço ou então um fragmento de uma unidade dedados de serviço, a qual é descrita. O método compreende asetapas de recepção dos pacotes de dados por um canal, em quecada pacote de dados compreende uma carga útil do pacote dedados e um cabeçalho do pacote de dados, o cabeçalho dopacote de dados compreende um indicador do número deseqüência que indica a posição do pacote de dados em umaseqüência de pacotes de dados, e um indicador em que oindicador indica se a carga útil do pacote de dados começa ounão com a unidade de dados de protocolo que é um fragmento deuma unidade de dados de serviço e se o pacote de dadostermina ou não com a carga útil do pacote que é um fragmentoda unidade de dados de serviço, gravação da carga útil dasunidades de dados de protocolo da carga útil do pacote dedados recebido com as unidades de dados de protocolopreviamente recebidas em uma memória temporária de recepçãoem seqüência de acordo com o indicador do número deseqüência, e a marcação se uma primeira unidade de dados deprotocolo da carga útil do pacote de dados recebido deve sercombinada com a unidade de dados de protocolo em seqüênciaprecedente e se uma última unidade de dados de protocolo dacarga útil do pacote de dados recebido deve ser combinada comuma unidade de dados de protocolo em seqüência seguinte.
Breve Descrição dos Desenhos
A seguir, a invenção é descrita mais detalhadamentecom referência às figuras e aos desenhos anexos.Similarmente, os detalhes e as figuras correspondentes sãomarcados 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 deOSI;
Figura 3 - mostra a sinalização SAR pela numeraçãode fragmento;
Figura 4 - mostra a sinalização SAR comsinalizadores de início e Final;
Figura 5 - mostra a sinalização SAR com indicadoresde comprimento;
Figura 6 - mostra os processos de segmentação deSDU e de concatenação de PDU;
Figura 7 - mostra a geração do Bloco de Canal deTransporte;
Figura 8 - mostra a propagação de erro na UMTS R99;Figura 9 - mostra os processos de SAR e deconcatenação de uma realização da presente invenção;
Figura 10 - mostra o fluxo de SAR e de concatenaçãocom o Sinalizador de Fragmentação de uma realização dapresente invenção;Figura 11 - mostra a sinalização SAR comSinalizadores de Fragmentação de acordo com uma realização dapresente invenção;e
Figura 12 - é um fluxograma para o processo desegmentação e de concatenação.
Descrição Detalhada da Invenção
A presente invenção é aplicável a qualquer sistemade comunicação de pacote de dados que utiliza quadros detransmissão de comprimento variável, por exemplo, redes semfio tais como GSM, UMTS, WiLAN, WiMAX, etc., ou redes fixastais como IP, Frame relay, PPP, ATM, etc.
As realizações diferentes da invenção são descritascom base no modelo de camada de OSI, especialmente a troca depacotes entre uma camada de SDU e uma de PDU. Favor consultara seção Antecedentes quanto a uma descrição mais detalhadadas partes relevantes do modelo de camada de OSI, bem comoSDUs e PDUs. A seção Antecedentes também descreve as razõespara o emprego da fragmentação e/ou segmentação em redes decomunicação.
Na presente invenção, é proposto um método quepermite um procedimento eficiente de Segmentação e deConcatenação ao custo de sinalização fixo, que diminui ocódigo extra na porcentagem com o comprimento do TrBlktransmitido.
A segmentação de SDU e a concatenação de PDUdependem ambas dos recursos físicos que são alocados para atransmissão para o TTI seguinte. Por exemplo, o tamanho dacarga útil do bloco de canal de transporte seguinte(Size_ind) pode ser indicado para a função de SAR tal comomostrado na Figura 9.
Com base nessa indicação, a função de SAR selecionaη SDUs, cujo tamanho total é exatamente acima de Size_ind. Sea soma do comprimento das η SDUs for maior do que size_ind, afunção de SAR segmenta a última SDU em dois fragmentos. Asoma de n-l" SDUs e do primeiro fragmento da nth SDU é iguala Size_ind. Cada uma delas é transformada em uma PDU e recebeum número de seqüência atribuído seqüencialmente. Para atransmissão seguinte, o segundo fragmento será considerado emprimeiro lugar. Isso é mostrado na Figura 10, onde a SDU3 éfragmentada em duas PDUs (PDU3 e PDU4).
Portanto, pela construção, todas as PDUs formadassão SDUs completas, exceto a primeira e a última em um blocode transporte (TrBlk), que pode ser um fragmento de uma SDU.Todas as outras SDUs completas, portanto, é suficienteindicar ao receptor se a primeira e a última PDUs em um blocode transporte são fragmentos de uma SDU ou de uma SDUcompleta. Isto pode ser feito facilmente por doissinalizadores de um bit ou por sinalizadores de fragmentaçãounidas ao cabeçalho de TrBlk. 0 primeiro sinalizador defragmentação, ou FFF, indica se a primeira PDU SAR no TrBlk éum fragmento de uma SDU ou não, e o segundo sinalizador defragmentação (SFF) indica se a última PDU SAR no TrBlk é umfragmento de uma SDU ou não.
Esse processo pode ser descrito em uma formageneralizada ao longo das linhas da Figura 12. As SDUs ou osfragmentos de SDUs são tirados de uma memória temporária eentão é determinado se a SDU ou o fragmento de uma SDUencaixa no tamanho restante do bloco de transporte, que podeser qualquer bloco de transporte ou somente uma parte domesmo. Se a SDU completa ou o fragmento da SDU encaixa notamanho restante do bloco de transporte, uma PDU é criada apartir dessa SDU. Essa PDU é então inserida no bloco detransporte.
O bloco de transporte é verificado para ver se háqualquer tamanho restante. Se houver, o processo começa maisuma vez, se não houver, os indicadores são adicionados e obloco de transporte é transmitido com os indicadores.
Se, no entanto, a SDU ou o fragmento da SDU nãoencaixarem no tamanho restante do bloco de transporte, a SDUé fragmentada e uma PDU é criada a partir de um fragmento deSDU para encaixar no tamanho restante do bloco de transporte.
O segundo fragmento de SDU é colocado na memória temporária ea PDU é então inserida no bloco de transporte e osindicadores são adicionados.
O primeiro sinalizador de fragmentação (FFF) indicase a primeira PDU no bloco de transporte é um fragmento deSDU ou não, e o segundo sinalizador de fragmentação (SFF)indica se a último PDU no bloco de transporte é um fragmentode uma SDU ou não.
Finalmente, o bloco de transporte é transmitido comos indicadores e o processo pode começar outra vez.
Quando é recebido um bloco de transporte η com oFFF ajustado em 1, o receptor sabe que a primeira PDU SAR noTrBlk deve ser combinada com a última PDU SAR do TrBlkprecedente n-1. Esse TrBlk também pode ter indicado que aúltima PDU SAR nesse TrBlk é um fragmento de uma SDU medianteo ajuste do SFF em 1.
Em um sistema sem perda, o FFF e o SFF fornecem asinformações redundantes e não se fazem realmente necessários.No entanto, em um sistema de perdas, tal como um sistema semfio, isto é útil para impedir a propagação de erros.Realmente, se o (n-1)th TrBlk no exemplo precedente tiversido perdido, a unidade do receptor deve ter detectado essaperda graças à numeração de seqüência da PDU SAR, e o FFF nonth TrBlk deve indicar que a primeira PDU pode serdescartada, 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.Se apenas uma PDU for transmitida por SDU, o FFF eo SFF podem ainda ter valores diferentes. 0 FFF deve indicarse a PDU deve ser combinada com a última PDU do TrCh Blkprecedente e o SFF deve indicar se a PDU deve ser combinadacom a primeira PDU do Blk TrCh seguinte.
Um aspecto importante da invenção consiste nasinalizaçã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 doTrBlk. Utilizando a PDU de tamanho variável e regras simplesde segmentação e de concatenação, é proposta a indicação dainformação de SAR com somente dois bits por cabeçalho deTrBlk, 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, ainformação de SAR é de somente dois bits por TrBlk, a qualtem que ser comparada a 2*n bits por TrBlk para a sinalizaçãoSAR com sinalizadores de início/final, onde η é o número daPDU no TrBlk. Essa é uma diminuição significativa quandomuitas PDUs são concatenado no mesmo TrBlk.
Conforme pode ser observado, é suposto que otamanho da PDU SAR é variável. Por exemplo, no estado atualde UMTS, o tamanho da PDU é fixo e é um parâmetro estático daportadora utilizada par carregar o serviço. Algumas vezes háuma necessidade de informar o receptor onde os limites da PDUpodem ser encontrados. Então se faz necessário indicar ocomprimento de cada PDU no cabeçalho da PDU SAR com osindicadores de comprimento tal como mostrado na Figura 11.Isto é realmente equivalente aos campos de indicador decomprimento que são utilizados nas técnicas de sinalizaçãoSAR com indicadores de comprimento para os limitessinalizados de SDU dentro de cada PDU.
Além disso, deve ser possível economizar maisespaço ao sinalizar somente um número de seqüência da PDU SARpor TrBlk. 0 número de seqüência da primeira PDU ou da últimaPDU no TrBlk pode ser utilizado para esta finalidade. 0receptor pode contar o número de indicadores de comprimentocontidos no TrBlk para obter o número de PDUs concatenadas ouum campo pequeno N que indica esse número pode ser adicionadono 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 utilizarhardware e software. É reconhecido que os vários métodosacima mencionados podem ser implementados ou executados aoutilizar dispositivos de computação (processadores) taiscomo, por exemplo, processadores de finalidades gerais,processadores de sinais digitais (DSP), circuitos integradosespecíficos de aplicações (ASIC), disposições de portasprogramáveis de campo (FPGA) ou outros dispositivos lógicosprogramáveis, etc. As várias realizações da invenção tambémpodem ser executadas ou englobadas por uma combinação dessesdispositivos.
Além disso, as várias realizações da invençãotambém podem ser executadas por meio de módulos de software,os quais são executados por um processador ou diretamente nohardware. Além disso, uma combinação de módulos de software euma implementação de hardware pode ser possível.
Os módulos de software podem ser armazenados emqualquer tipo de mídia de armazenamento que pode ser lida porcomputador, por exemplo, RAM, EPROM, EEPROM, memória flash,registros, discos rígidos, CD-ROM, DVD, etc.