Pedido Relacionado
Esta patente reivindica a prioridade do pedido provisório No de série U.S. 61/171.323, cujo título é “Methods and Apparatus to Prioritize Mobile Station Transmissions in Response to Network Acknowledgement Polling” e depositado em 21 de abril de 2009. O pedido provisório No de série U.S. 61/171.323 é integralmente incorporado ao contexto à guisa de referência em sua.
Campo da Descrição
Este relatório refere-se, de modo geral, a processamento de transmissão de estação móvel e, mais particularmente, a métodos e aparelho para priorizar transmissões móveis em resposta à sondagem de reconhecimento de rede.
Antecedentes
Muitos sistemas de comunicações empregam técnicas de solicitação com repetição automática (ARQ - Automatic Repeat Request) que permitem que um transmissor confirme que as transmissões de dados foram recebidas com sucesso por um receptor. Uma técnica ARQ típica envolve o receptor enviar informação de reconhecimento para cada bloco de dados recebido, com a informação de reconhecimento identificando o bloco de dados que está sendo confirmando. A informação de reconhecimento pode incluir um reconhecimento positivo (aqui chamado de “ACK”), que indica que a recepção do bloco de dados foi bem sucedida, um reconhecimento negativo (aqui chamado de “NACK”), que indica que a recepção do bloco de dados não foi bem sucedida, assim como qualquer outra informação de reconhecimento adequada. Por exemplo, em um sistema de comunicação por serviço de rádio em pacote geral aperfeiçoado (EGPRS - Enhanced General Packet Radio Service), um receptor pode reconhecer a recepção de blocos de dados de controle de enlace de rádio (RLC - Radio Link Control) usando mensagens de controle RLC/MAC (onde MAC se refere a controle de acesso médio) como uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS ou uma mensagem de controle ACK/NACK de enlace superior de pacote.
No caso de um sistema de comunicação bidirecional, como um sistema EGPRS, a latência associada ao uso de mensagens de controle separadas para enviar informação de reconhecimento pode ser reduzida por meio da inclusão de informação de reconhecimento com blocos de dados a serem transmitidos na direção oposta. Por exemplo, EGPRS suporta tal redução de latência através de sua característica de relatório ACK/NACK rápido (FANR - Fast ACK/NACK reporting). A características FANR permite que a informação de reconhecimento seja superposta por um bloco de dados RLC/MAC enviado por uma unidade de recepção para uma unidade de transmissão através do uso de um campo ACK/NACK superposto (PAN - Piggy-backed ACK/NACK). No entanto a informação de reconhecimento recebida via campo PAN é, em geral, menos confiável do que a informação de reconhecimento recebida via uma mensagem de controle ACK/NACK de pacote em separado. Como tal, um bloco de dados associado a um ACK em um campo PAN recebido é tratado pelo transmissor como sendo apenas reconhecido por tentativa e, assim, é associado a um estado de reconhecimento por tentativa (aqui chamado de um estado "TENTATIVE_ACK") até haver a confirmação por uma mensagem de controle ACK/NACK adequada. Sendo assim, sob certas circunstancias, um transmissor EGPRS pode ser necessário para enviar novamente blocos associados a um estado TENTATIVE_ACK até ser recebida a confirmação de mensagem de controle ACK/NACK adequada, mesmo que seja provável que os blocos já tenham sido recebidos pelo receptor. Breve Descrição dos Desenhos A Figura 1 é um diagrama de bloco de um sistema de comunicação EGPRS de exemplo, capaz de suportar os métodos e aparelho descritos aqui. A Figura 2 é um diagrama de bloco de uma estação móvel exemplificativa que emprega priorização de transmissão de acordo com os métodos e aparelho descritos aqui, que podem ser usados no sistema de comunicação EGPRS exemplificativo. A Figura 3 é um diagrama de bloco de um elemento de rede exemplificativo que permite a priorização de transmissão de estação móvel, de acordo com os métodos e aparelho descritos aqui, que podem ser usados no sistema de comunicação EGPRS exemplificative da Figura 1. A Figura 4 é um fluxograma que representa um processo exemplificativo que pode ser realizado para implementar a estação móvel exemplificativa da Figura 2. A Figura 5 é um fluxograma representativo de um processo exemplificativo que pode ser realizado para implementar o elemento de rede de exemplo da Figura 3. A Figura 6 é um diagrama de bloco de um sistema de processamento de exemplo que pode armazenar e executar instruções de exemplo que podem ser lidas por máquina, usadas para implementar alguns ou todos os processos das Figuras 4 ou 5, ou ambos, para implementar a estação móvel de exemplo da Figura 2, o elemento de rede de exemplo da Figura 3, o sistema de comunicação EGPRS de exemplo da 5 Figura 1 ou qualquer combinação dos mesmos.
Descrição Detalhada
São descritos aqui métodos e aparelho para priorizar transmissões em estação móvel em resposta a sondagem de reconhecimento de rede. Uma primeira técnica 10 exemplificativa para priorizar transmissões de estação móvel descrita aqui envolve uma estação móvel receber uma sondagem feita por uma rede em comunicação com a estação móvel, com a sondagem solicitando informação de reconhecimento, que se espera que seja transmitida pela 15 estação móvel junto com um bloco de dados subseqüente para a rede. A técnica de priorização de exemplo também envolve a estação móvel processar a informação de reconhecimento associada a um conjunto de blocos de dados previamente transmitido pela estação móvel para determinar um bloco de 20 dados subseqüente a ser transmitido pela estação móvel para a rede. Além do mais, quando o bloco de dados subseqüente a ser transmitido pela estação móvel é associado a um estado de reconhecimento de tentativa, a técnica de priorização de exemplo envolve a estação móvel transmitir uma mensagem de 25 controle separada incluindo ao menos a informação de reconhecimento solicitada ao invés de transmitir o bloco de dados subseqüente junto com a informação de reconhecimento solicitada.
Uma segunda técnica de exemplo para priorizar 30 transmissões de estação móvel para uma rede em comunicação com a estação móvel, envolve a rede determinar que um segundo bloco de dados recebido pela estação móvel pela rede corresponde a um primeiro bloco de dados recebido previamente da estação móvel pela rede. A segunda técnica de exemplo também envolve a rede determinar que a estação móvel associou o segundo bloco de dados a um estado reconhecido por tentativa. Por exemplo, a rede pode determinar que a estação móvel associou o segundo bloco de dados a um estado reconhecido por tentativa ao determinar que um tempo decorrido entre a recepção do primeiro bloco de dados e a recepção do segundo bloco de dados atendeu ou excedeu um primeiro limite, ao determinar que um número de reconhecimentos de um certo tipo (por exemplo, como parte de um PAN) do primeiro bloco de dados enviado pela rede para a estação móvel, atendeu ou excedeu um segundo limite, ou qualquer combinação destas. Além do mais, quando a rede tiver determinado que o segundo bloco de dados foi associado ao estado reconhecido por tentativa na estação móvel, a segunda técnica de exemplo envolve a rede substituir uma primeira mensagem de sondagem destinada a transmissão pela rede para a estação móvel, sendo que a primeira mensagem de sondagem solicita que a informação de reconhecimento seja transmitida pela estação móvel com um bloco de dados subseqüente destinado à rede, com uma segunda mensagem de sondagem solicitando que a informação de reconhecimento seja transmitida pela estação móvel usando uma mensagem de controle separada.
Conforme descrito com mais detalhes abaixo, em uma implementação de exemplo particular de uma das técnicas anteriores, a estação móvel e a rede podem suportar a característica EGPRS FANR. Em tal implementação de exemplo, uma sondagem da rede, solicitando que uma informação de reconhecimento seja transmitida pela estação móvel junto com um bloco de dados subseqüente, corresponde a uma sondagem solicitando que um campo PAN seja transmitido com um bloco de dados RLC/MAC de enlace superior destinado à rede. Adicionalmente, em tal implementação de exemplo, a mensagem de controle separada que inclui ao menos a informação de reconhecimento solicitada, corresponde a uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS.
Devido ao fato de os campos PAN serem usados para fornecer informação de reconhecimento, a estação móvel em tal exemplo armazena a informação de reconhecimento em uma matriz de estado de reconhecimento (também referida aqui como matriz de estado de reconhecer). Cada elemento da matriz de estado de reconhecimento armazena um estado de reconhecimento associado a um respectivo bloco de dados transmitido para a rede dentro de uma janela de transmissão. O estado de reconhecimento corresponde a pelo um de um estado reconhecido, um estado não reconhecido, um estado de reconhecimento pendente e um estado reconhecido por tentativa. Conforme descrito abaixo com mais detalhes, o estado de reconhecimento por tentativa indica que um bloco de dados particular foi transmitido previamente para a rede e a rede acusou a recepção do bloco de dados particular. No entanto, a rede empregou uma técnica de reconhecimento (por exemplo, como a técnica FANR, em que um campo PAN é incluído conectado a transmissão de um bloco de requerendo confirmação adicional do elemento de rede para determinar que o bloco de dados particular foi recebido com sucesso pela rede.
Conforme descrito abaixo com mais detalhes, os métodos 5 e aparelho de exemplo descritos aqui fornecem benefícios substanciais com relação a técnicas existentes para priorizar transmissões por estação móvel. Por exemplo, conforme mencionado acima, a característica FANR em EGPRS permite que a informação de reconhecimento seja superposta 10 por um bloco de dados RLC/MAC através do uso de um campo PAN. No entanto, a informação de reconhecimento recebida via um campo PAN pode ser menos confiável do que a informação de reconhecimento recebida via uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS 15 separada ou mensagem de controle de ACK/NACK de enlace superior de pacote. Como tal, um bloco de dados associado a um ACK em um campo PAN recebido é tratado pelo transmissor como sendo apenas reconhecido por tentativa e, assim, é associado a um estado TENTATIVE_ACK até a confirmação por 20 uma mensagem de controle ACK/NACK adequada. Além do mais, até tal confirmação ser recebida, o transmissor não pode mover sua janela de transmissão associada além de um bloco com um estado TENTATIVE_ACK. Sendo assim, sob certas circunstancias, pode ser solicitado que um transmissor 25 EGPRS convencional envie novamente blocos associados a um estado TENTATIVE_ACK, mesmo que haja alta probabilidade de os blocos terem sido recebidos pelo receptor, até tal confirmação ser recebida (por exemplo, para deste modo evitar a possibilidade de a janela ficar parada). sondada para que forneça informação de reconhecimento para blocos de dados RLC/MAC de enlace inferior recebidos em um campo PAN acompanhando um bloco de dados RLC/MAC de enlace superior subsequente, mas a estação móvel não tem blocos de dados RLC/MAC de enlace superior para enviar, a estação móvel pode responder à sondagem com uma mensagem de controle ACK/NACK de enlace inferior de pacote separado. No entanto, mesmo que o único bloco que falta transmitir seja um bloco que tem um estado TENTATIVE_ACK, solicita-se que 10 uma estação móvel convencional envie novamente este bloco TENTATIVE_ACK com um campo PAN associado em resposta à sondagem, mesmo que, provavelmente, o bloco TENTATIVE_ACK já tenha sido recebido pela rede. Ao contrário de uma implementação convencional, as técnicas de priorização de 15 transmissão descritas aqui permitem que a estação móvel envie a mensagem de controle ACK/NACK de enlace inferior de pacote para a rede em resposta a uma sondagem de PAN quando a estação móvel tem apenas blocos RLC/MAC de enlace superior associados a um estado TENTATIVE_ACK remanescentes 20 para serem enviados novamente para a rede. Ao não requerer a retransmissão destes blocos TENTATIVE_ACK, a estação móvel pode enviar a mensagem de controle ACK/NACK de enlace inferior de pacote para a rede, o que pode proporcionar mais informação de reconhecimento do que um PAN e que pode 25 confirmar o reconhecimento de qualquer bloco RLC/MAC de enlace inferior anterior enviado para a estação móvel, permitindo assim que a rede avance sua janela de transmissão. Por outro lado, uma implementação convencional requer que a estação móvel envie um PAN com um bloco TENTATIVE_ACK retransmitido, mesmo que enviando tal PAN proporcione menos informação de reconhecimento do que uma mensagem de controle ACK/NACK de enlace inferior de pacote e não permita que a rede avance sua janela de transmissão.
Voltando às figuras, um diagrama de bloco de um 5 sistema de comunicação EGPRS de exemplo 100, capaz de suportar as técnicas de priorização de transmissão de estação móvel descritas aqui, é ilustrado na Figura 1. O sistema EGPRS 100 inclui uma estação móvel 105 em comunicação com um elemento de rede 110. A estação móvel de 10 exemplo 105 pode ser implementada por qualquer tipo de estação móvel ou equipamento terminal de usuário, como um dispositivo de telefone móvel, um dispositivo de telefone fixo, um assistente digital pessoal (PDA), etc. 0 elemento de rede de exemplo 110 pode ser implementado por qualquer 15 tipo de dispositivo de comunicação de rede, como um sistema de estação base, uma rede de acesso por rádio, etc. Embora apenas uma estação móvel 105 e um elemento de rede 110 estejam ilustrados na Figura 1, o sistema EGPRS 100 pode suportar qualquer número de estações móveis 105 e elementos 20 de rede 110.
A estação móvel 105 do exemplo ilustrado inclui um transmissor RLC/MAC 115 e um receptor RLC/MAC 120, cada um acoplado de modo comunicativo a uma antena 125. Similarmente, o elemento de rede 110 do exemplo ilustrado 25 inclui um transmissor RLC/MAC 130 e um receptor RLC/MAC 13 5, cada um acoplado de modo comunicativo a uma antena 140. O transmissor RLC/MAC 115 de exemplo incluído na estação móvel 105 envia, sem fio, informação MAC e RLC de enlace superior, via antena de exemplo 125, para recepção 30 via antena de exemplo 140 pelo receptor RLC/MAC de exemplo 135 incluído no elemento de rede 110. Conforme ilustrado na Figura 1, a informação MAC e RLC de enlace superior transmitida pelo transmissor RLC/MAC 115 para o receptor RLC/MAC 135, inclui mensagens de controle RLC/MAC de enlace superior (designadas como "UL" nas figuras) 145 (por exemplo, como mensagens de controle ACK/NACK de enlace inferior de pacote EGPRS 145, discutidas abaixo com mais detalhes) transmitidas via canais de controle físicos de enlace superior correspondentes 150, ou blocos de dados RLC/MAC de enlace superior 155 transmitidos via canais de dados físicos de enlace superior correspondentes 160. Conforme descrito abaixo com mais detalhes, a estação móvel 105 emprega priorização de transmissão, em que, sob certas circunstancias, a estação móvel 105 pode responder a uma sondagem de informação de reconhecimento feita pelo elemento de rede 115 com uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS 145, ao invés de implementar uma operação convencional envolvendo a retransmissão de certos blocos de dados RLC/MAC de enlace superior anteriores junto com a informação de reconhecimento solicitada pelo elemento de rede 115.
Novamente com referência à Figura 1, o transmissor RLC/MAC de exemplo 13 0 incluído no elemento de rede 110, envia informação MAC e RLC de enlace inferior, sem fio, via antena 140, para recepção via antena 125, pelo receptor RLC/MAC de exemplo 120 incluído na estação móvel 105. Conforme ilustrado na Figura 1, a informação MAC e RLC de enlace inferior transmitida pelo transmissor RLC/MAC 130 para o receptor RLC/MAC 120 inclui mensagens de controle RLC/MAC de enlace inferior (designadas como "DL" nas figuras) 165 (por exemplo, como as mensagens de controle ACK/NACK de enlace superior de pacote 165 discutidas abaixo com mais detalhes) transmitidas via canais de controle físico de enlace inferior correspondentes 170, ou blocos de dados RLC/MAC 175 transmitidas via canais de dados físicos de enlace inferior correspondentes 180. Conforme descrito abaixo com maiores detalhes, o elemento de rede 110 suporta um esquema de priorização de transmissão de estação móvel que pode ser conseguido mesmo com estações móveis convencionais.
O sistema EGPRS 100 implementa diversas técnicas ARQ para confirmar que um bloco de dados RLC/MAC transmitido é recebido com sucesso por seu receptor pretendido. Sendo assim, para reconhecer transmissões de enlace inferior, uma das mensagens de controle RLC/MAC de enlace superior 145 que podem ser enviadas pelo transmissor RLC/MAC 115 da estação móvel é uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS 145 que proporciona indicações ACK para blocos de dados RLC/MAC de enlace inferior 175 recebidos com sucesso pelo receptor RLC/MAC 120 da estação móvel. Adicionalmente, a mensagem de controle ACK/NACK 145 de enlace inferior de pacote EGPRS enviada pelo transmissor RLC/MAC da estação móvel 115 proporciona indicações NACK para blocos de dados RLC/MAC 175 de enlace inferior não recebidos com sucesso pelo receptor RLC/MAC 120 da estação móvel.
Similarmente, para reconhecer transmissões de enlace superior, uma das mensagens de controle RLC/MAC 165 de enlace inferior que podem ser enviadas pelo transmissor RLC/MAC 130 do elemento de rede é uma mensagem de controle ACK/NACK 165 de enlace superior de pacote que fornece indicações ACK para blocos de dados RLC/MAC 155 de enlace superior recebidas com sucesso pelo receptor RLC/MAC 135 do elemento de rede. Adicionalmente, a mensagem de controle ACK/NACK 165 de enlace superior de pacote enviada pelo transmissor RLC/MAC 130 do elemento de rede fornece indicações NACK para blocos de dados RLC/MAC 155 de enlace superior que não foram recebidos com sucesso pelo receptor RLC/MAC 135 do elemento de rede.
Adicionalmente, o sistema EGPRS 100 implementa a característica FANR para fornecer informação de reconhecimento com latência reduzida. Sem FANR, todos os reconhecimentos de blocos de dados RLC/MAC recebidos são enviados usando mensagens de controle, como mensagens de controle ACK/NACK 145 de enlace inferior de pacote EGPRS, mensagens de controle ACK/NACK 165 de enlace superior de pacote, etc. Tais mensagens de controle não incluem nenhum dado RLC, embora elas possam incluir outra informação de controla RLC/MAC além da informação de reconhecimento. A desvantagem de usar apenas mensagens de controle para enviar informação de reconhecimento é que tal abordagem pode ser muito ineficiente, particularmente quando a informação de reconhecimento precisa ser enviada rapidamente (por exemplo, para permitir retransmissões rápidas de blocos recebidos erroneamente) ou quando o estado de poucos blocos precisa ser indicado (por exemplo, em transmissões com baixa largura de banda). Em tais cenários, a quantidade de informação de reconhecimento que é realmente útil é muito pequena em comparação com a capacidade de uma mensagem de controle RLC/MAC.
Para reduzir a latência, a característica FANR permite que a informação de reconhecimento seja transmitida em um campo PAN incluído com a transmissão de um bloco de dados RLC/MAC. No exemplo ilustrado da Figura 1, a informação de reconhecimento para recepção dos blocos de dados RLC/MAC de enlace inferior 175 é incluída em um campo PAN 185 transmitido com o bloco de dados RLC/MAC 155 de enlace superior correspondente. Similarmente, a informação de reconhecimento para recepção dos blocos de dados RLC/MAC 155 de enlace superior é incluída em um campo PAN 190 transmitido com o bloco de dados RLC/MAC 175 de enlace inferior correspondente. Conforme especificado pelos padrões EGPRS, o campo PAN de enlace superior 185 inclui um campo de mapa de bits (RB) registrado que proporciona um conjunto de bits de reconhecimento, com cada bit fornecendo uma indicação ACK ou NACK para um respectivo bloco de dados recebido que está sendo reconhecido pelo RB. O campo PAN de enlace superior 185 também inclui um número de sequência de inicial (SSN - Starting Sequence Number) relacionado ao número de seqúência de bloco do bloco de dados correspondente ao primeiro bloco de dados incluído no conjunto de blocos de dados cobertos pelo campo RB. O campo PAN 185 de enlace superior inclui ainda um início de campo de janela (BOW - Beginning of Window) para indicar se o campo SSN indica a identidade do bloco de dados correspondente ao início da janela de recepção mantida pelo receptor que fornece a informação de reconhecimento.
Conforme especificado pelos padrões EGPRS, o campo PAN 190 de enlace inferior pode empregar codificação baseada em SSN ou codificação baseada no tempo. No caso de codificação baseada em SSN, o campo PAN 190 de enlace inferior inclui um campo RB, um campo SSN e um campo BOW, conforme descrição acima para o campo PAN 185 de enlace superior. No caso de codificação baseada em tempo, o campo PAN 190 de enlace inferior inclui o campo RB, conectado os blocos particulares sendo reconhecidos com base no tempo em que o campo PAN 190 de enlace inferior é enviado.
Em geral, espera-se que a informação de reconhecimento fornecida por um campo PAN seja menos confiável do que a informação de reconhecimento fornecida por uma mensagem de controle ACK/NACK de pacote. A confiabilidade reduzida do campo PAN resulta, em geral, de menos detecção e correção de erro, codificação menos robusta, ou ambos, sendo empregados para o campo PAN do que para uma mensagem de controle. Por causa de uma maior probabilidade resultante de detecções de falsos positivos, os campos PAN são tratados geralmente com cuidado para evitar a possibilidade de aparecer qualquer falha séria no caso de tal detecção de falso positivo. Por exemplo, como resultado de decodificação de falso positivo de um PAN, um transmissor RLC/MAC pode acreditar, incorretamente, que um bloco de dados RLC/MAC foi recebido conectado sucesso por seu par, fazendo assim com que o transmissor remova o bloco de seu buffer transmissor. Para evitar tal falha, é usado um estado de reconhecimento de tentativa (aqui chamado de estado TENTATIVE_ACK) para indicar que uma indicação ACK foi recebida via um campo PAN, e não via uma mensagem de controle ACK/NACK de pacote, para um bloco de dados transmitido previamente. Logo, um bloco de dados RLC/MAC transmitido pode ser associado pelo menos aos seguintes quatro estados de reconhecimento: ACKED (reconhecido positivamente ou com reconhecimento positivo), TENTATIVE_ACK (com tentativa de ser reconhecido ou reconhecimento por tentativa), NACKED (negativamente reconhecido ou reconhecimento negativo) ou PENDING_ACK (reconhecimento pendente, ou seja, nenhuma informação de reconhecimento foi recebida ainda para este bloco de dados).
Conforme mencionado acima, um transmissor RLC/MAC geralmente não pode mover sua janela de transmissão associada até o bloco mais antigo na janela ser associado a um estado ACKED (isto é, até haver confirmação de que o bloco mais antigo ter sido recebido). Assim, pelo menos em algumas configurações, o transmissor RLC/MAC 115 da estação móvel retransmitirá blocos de dados RLC/MAC 155 de enlace superior tendo um estado TENTATIVE_ACK quando um canal de dados físico de enlace superior correspondente 160 tiver sido alocado para a estação móvel 105, mas a estação móvel não tem outros blocos de dados para enviar (por exemplo, nenhum bloco de dados novo ou blocos de dados transmitidos previamente associados aos estados NACKED ou PENDING_ak) . Mesmo que, provavelmente, estes blocos TENTATIVE_ACK tenham sido recebidos pelo receptor RLC/MAC 135 do elemento de rede, o transmissor RLC/MAC 115 da estação móvel continuará a transmitir tais blocos TENTATIVE_ACK quando não existir nenhum outro dado para enviar até ser recebida uma mensagem de controle ACK/NACK 165 de enlace superior de pacote confirmando o reconhecimento dos blocos TENTATIVE_ACK (permitindo, desta maneira, que estes blocos sejam associados a um estado ACKED e permitindo que a janela de transmissão, mantida pelo transmissor RLC/MAC 115 da estação móvel, seja incrementada).
Durante a operação FANR típica no sistema EGPRS 100, o elemento de rede 110 irá sondar o sistema móvel 105 para fornecer informação de reconhecimento de enlace inferior no campo PAN 185, acompanhando um bloco de dados RLC/MAC 155 de enlace superior subsequente até o elemento de rede 110 precisar mover sua janela de transmissão (por exemplo, para permitir que os blocos de enlace inferior transmitidos NACKED pela estação móvel sejam retransmitidos rapidamente). Então, para permitir que sua janela de transmissão se mova, o elemento de rede 110 irá sondar o sistema móvel 105 para fornecer informação de reconhecimento de enlace inferior em uma mensagem de controle ACK/NACK 145 de enlace inferior de pacote EGPRS separada (por exemplo, para permitir a confirmação de blocos transmitidos previamente associados a um estado TENTATIVE_ACK). Além do mais, quando o sistema móvel 105 for sondado para fornecer informação de reconhecimento de enlace inferior no campo PAN 185, mas a estação móvel 105 não tiver blocos de dados RLC/MAC de enlace superior 155 para enviar, a estação móvel 105 pode responder à sondagem com uma mensagem de controle ACK/NACK de enlace inferior 145, fornecendo assim confirmação dos blocos de dados de enlace inferior e permitindo que o elemento de rede 110 avance sua janela de transmissão.
No entanto, mesmo que apenas o bloco de dados de enlace superior remanescente a transmitir seja um bloco tendo um estado TENTATIVE_ACK, é necessária uma estação móvel EGPRS convencional para enviar novamente este bloco TENTATIVE_ACK com um campo PAN anexo em resposta ã sondagem por PAN, mesmo que o bloco TENTATIVE_ACK, provavelmente, já tenha sido recebido pela rede. Tal retransmissão do bloco TENTATIVE_ACK tem pouco benefício, especialmente porque o bloco TENTATIVE_ACK, provavelmente já foi recebido pela rede e a rede não pode avançar sua janela de transmissão com base na informação de reconhecimento recebida apenas via PAN. Por outro lado, a estação móvel 105 do exemplo ilustrado emprega priorização de transmissão em que o transmissor RLC/MAC 115 da estação móvel pode enviar a mensagem de controle ACK/NACK 145 de enlace inferior de pacote para o elemento de rede 110 em resposta a uma sondagem para PAN quando a estação móvel tem apenas blocos de dados RLC/MAC 155 de enlace superior associados a um estado TENTATIVE_ACK remanescentes a serem enviados novamente para a rede. Por não requerer a retransmissão destes blocos TENTATIVE_ACK neste caso, a estação móvel 105 pode enviar a mensagem de controle ACK/NACK 145 de enlace inferior de pacote para o elemento de rede 110 mais cedo do que em uma implementação convencional. 0 envio da mensagem de controle ACK/NACK 145 de enlace inferior de pacote, ao invés de PAN 185, rende benefícios substanciais, como proporcionar mais informação de reconhecimento do que a que pode ser fornecida em PAN e confirmar reconhecimento de qualquer bloco RLC/MAC 175 de enlace inferior anterior enviado para a estação móvel, permitindo assim que o elemento de rede 110 avance sua janela de transmissão mais cedo do que em uma implementação convencional. Uma implementação de exemplo da estação móvel 105 que ilustra o suporte de tal priorização de transmissão é ilustrada na Figura 2 e descrita abaixo com mais detalhes.
O elemento de rede 110 da Figura 1 também suporta um esquema de priorização de transmissão de estação móvel que pode ser conseguido mesmo com estações móveis convencionais. Por exemplo, o elemento de rede 110 opera para determinar se um bloco de dados RLC/MAC 155 de enlace superior recebido é uma duplicata de um bloco de dados recebido previamente. Então, usando uma ou mais técnicas descritas abaixo com mais detalhes, o elemento de rede 110 infere se o bloco de dados RLC/MAC 155 de enlace superior duplicado recebido está associado a um estado TENTATIVE_ACK na estação móvel 105, ou algum outro estado (por exemplo, como o estado PENDING_ACK) . Se o elemento de rede 110 inferir que o bloco de dados RLC/MAC 155 de enlace superior duplicado está associado a um estado TENTATIVE_ACK na estação móvel 105 e, assim, a estação móvel 105 tiver apenas blocos TENTATIVE_ACK para enviar, o elemento de rede 110 substitui qualquer sondagem por PAN que deva ser enviada para a estação móvel 105 por uma sondagem de uma mensagem de controle ACK/NACK 145 de enlace inferior de pacote. Tal procedimento faz, indiretamente, com que a estação móvel 105 implemente a priorização de transmissão descrita acima. Uma implementação exemplificativa do elemento de rede 110 que ilustra o suporte de tal priorização de transmissão, é ilustrado na Figura 3 e descrito abaixo com mais detalhes.
Embora os métodos e aparelho de priorização de transmissão exemplificativos ilustrados aqui sejam descritos no contexto do sistema EGPRS 100 da Figura 1, estes métodos e aparelho exemplificativos podem ser prontamente adaptados para uso em qualquer sistema de comunicação em que a informação de reconhecimento possa ser fornecida via uma mensagem de controle e, alternativamente, via transmissão em um campo que acompanhe um bloco de dados. Além do mais, devido à simetria dos transmissores e receptores RLC/MAC incluídos na estação móvel 105 e no elemento de rede 110, embora os métodos e aparelho exemplificativos descritos aqui sejam descritos a partir da perspectiva de implementação pela estação móvel 105, os métodos e aparelhos exemplificativos descritos também podem ser implementados pelo elemento de rede 110.
Um diagrama de bloco de uma implementação exemplificativa da estação móvel 105 incluída no sistema EGPRS da Figura 1 é ilustrado na Figura 2. Em particular, a Figura 2 ilustra implementações de exemplo do transmissor RLC/MAC 115 da estação móvel e receptor RLC/MAC 120 da estação móvel. No exemplo ilustrado da Figura 2, o receptor RLC/MAC 120 da estação móvel inclui um decodificador de sondagem 205 para decodificar mensagens de sondagem recebidas de um elemento de rede (por exemplo, como o elemento de rede 110) solicitando que o sistema móvel 105 forneça informação de reconhecimento para blocos de dados de enlace inferior (como o bloco de dados RLC/MAC de enlace inferior 175) transmitidos previamente pela rede. Por exemplo, para implementar a característica EGPRS FANR, o decodificador de sondagem 205 pode decodificar uma sondagem recebida para mensagem PAN 206 solicitando que o sistema móvel 105 que fornece tal informação de reconhecimento em um campo PAN (por exemplo, como o campo PAN 185) que acompanha blocos de dados de enlace superior (por exemplo, como os blocos de dados RLC/MAC de enlace superior 155) , seja transmitida para a rede. Como outro exemplo, o decodificador de sondagem 205 pode decodificar uma sondagem recebida de mensagem PDAN 208 solicitando que o sistema móvel 105 forneça tal informação de reconhecimento em uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS separado (por exemplo, como a mensagem de controle ACK/NACK 145 de enlace inferior de pacote EGPRS).
No exemplo ilustrado da Figura 2, o transmissor RLC/MAC 115 da estação móvel inclui um processador de matriz de estado de reconhecimento 210 para processar uma matriz de estado de reconhecimento 212 (também designado como "V(B)" aqui) que armazena estados de reconhecimento para um conjunto de blocos de dados de enlace superior transmitidos previamente (como, por exemplo, os blocos de dados RLC/MAC de enlace superior 155). Durante um intervalo de processamento atual, o processador de matriz de estado de reconhecimento exemplificativo 210 atualiza e processa um conjunto de elementos de matriz de estado de reconhecimento em V (B) correspondentes àqueles blocos de dados de enlace superior na janela de transmissão atual mantida pelo transmissor RLC/MAC 115 da estação móvel. Por exemplo, o conjunto de elementos da matriz de estado de reconhecimento em V(B) a ser atualizado/processado começa no número da seqüência do bloco inicial da janela de transmissão, V(A), correspondente ao número de seqüência de bloco do bloco de dados de enlace superior mais antigo não associado a um estado ACKED, e se estende até o número de seqüência de bloco, V(S), do próximo bloco de dados de enlace superior a ser transmitido, sem se estender além de um tamanho de janela específico, WS. Durante uma iteração de processamento particular, o processador de matriz de estado de reconhecimento 210 atualiza o estado de reconhecimento para qualquer bloco de dados de enlace superior para o qual a informação de reconhecimento tenha sido recebida, e então, seleciona um próximo bloco de dados de enlace superior para transmissão pelo transmissor RLC/MAC 115 da estação móvel.
Por exemplo, após atualizar os estados de reconhecimento armazenados na matriz de estado de reconhecimento V(B), o processador da matriz de estado de reconhecimento 210 processa a matriz V(B) e seleciona blocos de dados de enlace superior associados a um estado NACKED para retransmissão. Se nenhum bloco de dados de enlace superior estiver associado a um estado NACKED, o processador da matriz de estado de reconhecimento 210 seleciona o próximo bloco de dados de enlace superior disponível (por exemplo, não transmitido) para transmissão (assumindo que a janela de transmissão não tenha parado porque um número máximo de blocos de dados de enlace superior foi transmitido, já que um bloco de dados de enlace superior mais antigo ainda não associou a um estado ACKED). No entanto, se também não existir nenhum bloco de dados de enlace superior novo (ou a janela de transmissão tiver parado), o processador da matriz de estado de reconhecimento 210 processa a matriz V(B) e seleciona blocos de dados de enlace superior associados a um estado PENDING_ACK para retransmissão (porque a informação de reconhecimento ainda não foi recebida para tais blocos de enlace superior transmitidos previamente). No entanto, se também não houver nenhum bloco de dados de enlace superior associado a um estado PENDING_ACK, o processador da matriz de estado de reconhecimento 210 processa a matriz V(B) e seleciona blocos de dados de enlace superior associados a um estado TENTATIVE_ACK para retransmissão (porque o reconhecimento de tais blocos transmitidos previamente precisará ser confirmado antes de a janela de transmissão mantida pelo transmissor RLC/MAC da estação móvel 115 poder ser incrementada). No entanto, se não existir também nenhum bloco de dados de enlace superior associado a um estado TENTATIVE_ACK, o processador da matriz de estado de reconhecimento 210 indica que não existem blocos de dados de enlace superior a serem transmitidos.
No exemplo ilustrado, processador de matriz de estado de reconhecimento 210 também obtém uma sondagem para indicação PAN do decodificador de sondagem 205 quando a sondagem solicitada for uma sondagem para PAN (por exemplo, correspondente a uma sondagem recebida para mensagem PAN 206) . Se a sondagem para indicação PAN for recebida do decodificador de sondagem 205, e o processador de matriz de estado de reconhecimento 210 tiver selecionado um novo bloco de dados de enlace superior ou um bloco de dados de enlace superior transmitido previamente associado a um estado NACKED ou a um estado PENDING_ACK para transmissão, o processador de matriz de estado de reconhecimento 210 mantém sua seleção de qual bloco de dados de enlace superior deve ser transmitido com o campo PAN solicitado. No entanto, se o processador de matriz de estado de reconhecimento 210 tiver selecionado um bloco de dados de enlace superior transmitido previamente associado a um estado TENTATIVE_ACK, o processador de matriz de estado de reconhecimento 210 revisa sua seleção para indicar que não existem blocos de dados de enlace superior a serem transmitidos. Conforme descrito abaixo com mais detalhes, 5 ao indicar que não existem blocos de enlace superior a serem transmitidos, o transmissor RLC/MAC 115 da estação móvel irá transmitir uma mensagem de controle ACK/NACK 214 de enlace inferior de pacote EGPRS em resposta à sondagem da rede para mensagem PAN 206, ao invés de retransmitir o 10 bloco de dados de enlace superior associado a um estado TENTATIVE_ACK como um bloco de dados RLC/MAC 155 de enlace superior com um campo PAN 185. Alternativamente, o processador de matriz de estado de reconhecimento 210 pode manter sua seleção do bloco de dados de enlace superior 15 associado a um estado TENTATIVE_ACK, mas indicar que o bloco selecionado está associado a um estado TENTATIVE_ACK para permitir o processamento subsequente para determinar que uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS 214, ao invés do bloco TENTATIVE_ACK e combinação PAN 155/185, possa ser enviada em resposta à sondagem da rede por PAN. transmissor RLC/MAC 115 incluído na estação móvel 105 da Figura 2 também inclui um processador de prioridade de transmissão 215 para priorizar transmissões de enlace superior. Em geral, o processador de prioridade de transmissão exemplificativo 215 prioriza a transmissão da maioria de mensagens de controle RLC/MAC, em vez da transmissão de blocos de dados RLC/MAC (incluindo qualquer campo PAN) . No entanto, o processador de prioridade de transmissão 215 também obtém uma sondagem para indicação PAN do decodificador de sondagem 205 e trata transmissões de enlace superior em resposta a uma sondagem de rede para PAN, como um caso especial. Por exemplo, se o processador de prioridade de transmissão 215 obtiver uma sondagem para indicação PAN e o processador de matriz de estado de reconhecimento 210 tiver selecionado um próximo bloco para transmissão que não esteja associado a um estado TENTATIVE_ACK, então o processador de prioridade de transmissão 215 permite que o bloco de dados de enlace superior selecionado, junto com o campo PAN selecionado, seja transmitido como um bloco de dados RLC/MAC de enlace superior e combinação de campo PAN 155/185 conectado a prioridade normal associada à transmissão de blocos de dados RLC/MAC. No entanto, se o processador de matriz de estado de reconhecimento 210 tiver selecionado um próximo bloco para transmissão que esteja associado a um estado TENTATIVE_ACK, ou o processador de matriz de estado de reconhecimento 210 indicar que não existem blocos de enlace superior a serem transmitidos, o processador de prioridade de transmissão 215 causa a transmissão de uma mensagem de controle ACK/NACK 214 de enlace inferior de pacote EGPRS em resposta à sondagem de rede para mensagem PAN 206, ao invés de retransmitir o bloco de dados de enlace superior associado a um estado TENTATIVE_ACK com um campo PAN. Tal operação alcança a priorização de transmissão de estação móvel descrita acima, junto com os benefícios associados a não transmitir um bloco TENTATIVE_ACK em resposta a uma sondagem de PAN.
Ao menos algumas implementações exemplificativas podem estender a priorização de transmissão para fazer com que os blocos PENDING_ACK não sejam transmitidos em resposta a uma sondagem por mensagem PAN 206. Em tal exemplo, se a sondagem por mensagem PAN 206 for recebida e o processador de matriz de estado de reconhecimento 210 tiver selecionado um bloco de dados de enlace superior associado a um estado PENDING—ACK, o processador de matriz de estado de reconhecimento 210 pode revisar sua seleção para indicar que não existem blocos de dados de enlace superior a serem transmitidos. Adicionalmente, ou alternativamente, se o processador de matriz de estado de reconhecimento 210 tiver selecionado um próximo bloco para transmissão que esteja associado a um estado PENDING_ACK, o processador de prioridade de transmissão 215 pode causar a transmissão de uma mensagem de controle ACK/NACK 214 de enlace inferior de pacote EGPRS em resposta à sondagem da rede por mensagem PAN 206, ao invés de retransmitir o bloco de dados de enlace superior associado a um estado PENDING_ACK com um campo PAN.
Embora uma maneira exemplificativa de implementar a estação móvel exemplificativa 105 da Figura 1 tenha sido ilustrada na Figura 2, um ou mais dos elementos, processos e/ou dispositivos na Figura 2 podem ser combinados, divididos, rearranjados, omitidos, eliminados e/ou implementados de qualquer outra maneira. Adicionalmente, o transmissão RLC/MAC exemplificativo 115, o receptor RLC/MAC exemplificativo 120, o decodificador de sondagem exemplificative 205, o processador de matriz de estado de reconhecimento 210 exemplificative, o processador de prioridade de transmissão 215 exemplificativo e/ou, mais genericamente, a estação móvel exemplificativa 105 da Figura 2, pode ser implementada por hardware, software, firmware e/ou qualquer combinação de hardware, software e/ou firmware. Assim, por exemplo, qualquer um dentre o transmissor RLC/MAC exemplificative 115, o receptor RLC/MAC exemplificative 120, o decodificador de sondagem exemplificativo 205, o processador de matriz de estado de reconhecimento 210 exemplificative, o processador de prioridade de transmissão 215 exemplificativo e/ou, mais genericamente, a estação móvel exemplificativa 105, pode ser implementada por um ou mais circuitos, processadores programáveis, circuitos integrados com aplicação específica (ASIC), dispositivos lógico-programáveis (PLD) e/ou dispositivos lógico-programáveis de campo (FPLD). Quando qualquer uma das reivindicações em anexo for lida, cobrindo uma implementação puramente por software e/ou firmware, ao menos a estação móvel exemplificativa 105, o transmissor RLC/MAC exemplificative 115, o receptor RLC/MAC 120 exemplificative, o decodificador de sondagem exemplificative 205, o processador de matriz de estado de reconhecimento 210 e/ou o processador de prioridade de transmissão exemplificative 215, são, assim, expressamente definidos para incluir um meio tangível, como memória, disco versátil digital (DVD), disco compacto (CD), etc., que armazena tal software e/ou firmware. Ainda, a estação móvel exemplificative 105 da Figura 2 pode incluir um ou mais elementos, processos e/ou dispositivos em adição a, ou ao invés de, aqueles ilustrados na Figura 2, e/ou podem incluir mais de um dos elementos, processos e dispositivos ilustrados.
Um diagrama de bloco de uma implementação exemplificativa do elemento de rede 110 incluído no sistema EGPRS 100 da Figura 1, está ilustrado na Figura 3. Em particular, a Figura 3 ilustra implementações exemplificativas do transmissor RLC/MAC 130 do elemento de rede e o receptor RLC/MAC 135 do elemento de rede. No exemplo ilustrado da Figura 3, o receptor RLC/MAC do elemento de rede 135 inclui um detector de bloco duplicado 305 para detectar se um bloco de dados de enlace superior recebido (por exemplo, como o bloco de dados RLC/MAC de enlace superior recebido 155) é uma duplicata de um bloco de dados de enlace superior recebido previamente. Por exemplo, o detector de blocos em duplicata 305 pode comparar os números da seqüência de bloco incluídos nos blocos de dados de enlace superior atuais e recebidos previamente para determinar se os blocos são duplicados. Caso se determine de um bloco de dados de enlace superior recebido é uma duplicata de um bloco de enlace superior transmitido previamente, o detector de blocos em duplicata 305 fornece uma indicação de que o bloco de dados de enlace superior recebido é um bloco de dados de enlace superior retransmitido.
O receptor RLC/MAC 135, incluído no elemento de rede da Figura 3, também inclui um detector de estado de bloco 310 para inferir se um bloco de dados de enlace superior retransmitido, identificado pelo detector de blocos em duplicata 305 está associado a um estado TENTATIVE_ACK pela estação móvel (por exemplo, como a estação móvel 105) que transmitiu o bloco de dados de enlace superior retransmitido recebido. Em uma implementação exemplificativa, o detector de estado de bloco 310 infere que a estação móvel associou o bloco de dados de enlace superior retransmitido a um estado TENTATIVE_ACK quando um tempo decorrido entre a recepção do bloco de dados de enlace superior anterior em duplicata e a recepção do bloco de dados de enlace superior atual, atingiu ou excedeu um tempo decorrido limite. Em outras palavras, quanto mais tempo tiver decorrido entre a transmissão de um primeiro bloco e um segundo bloco em duplicata, maior a probabilidade de o segundo bloco em duplicata ser associado a um estado TENTATIVE_ACK no transmissor. Em outra implementação exemplificativa, o detector de estado de bloco 310 infere, adicionalmente ou alternativamente, que a estação móvel associou o bloco de dados de enlace superior retransmitido a um estado TENTATIVE_ACK quando um número de reconhecimentos positivos do bloco de dados em duplicata recebido previamente, enviado pela rede para a estação móvel (por exemplo, via campos PAN) , atingiu ou excedeu um número limite de reconhecimentos. Em outras palavras, quanto mais vezes um primeiro bloco já tiver sido reconhecido, maior a probabilidade de um segundo bloco em duplicata ser associado a um estado TENTATIVE_ACK no transmissor.
Adicionalmente, em boas condições de radio, um bloco de dados de enlace superior transmitido previamente será associado a um estado TENTATIVE_ACK na estação móvel assim que a estação móvel tiver recebido um campo PAN tendo uma indicação ACK para aquele bloco de enlace superior. No entanto, em condições ruins de radio, a estação móvel pode não receber e decodificar corretamente o campo PAN do elemento de rede 110. Logo, o elemento de rede 110 também pode levar em conta condições de radio ao determinar que um bloco de dados em duplicata recebido está associado a um estado TENTATIVE_ACK na estação móvel.
No exemplo ilustrado da Figura 3, o detector de estado de bloco 310 fornece uma indicação de uma probabilidade de o bloco de dados de enlace superior retransmitido ser associado a um estado TENTATIVE_ACK para um seletor do tipo de sondagem 315 incluído no transmissor RLC/MAC 130 do elemento de rede. O seletor do tipo de sondagem exemplificative 315 determina se uma sondagem pendente para PAN (por exemplo, ilustrada como sondagem para mensagem PAN 320) destinada à transmissão para a estação móvel que transmitiu o bloco de dados de enlace superior retransmitido recebido, deve ser substituída por uma solicitação de sondagem diferente, como uma sondagem por uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS (por exemplo, ilustrado como sondagem para mensagem PDAN 325) . Por exemplo, se o seletor do tipo de sondagem 315 obtiver uma indicação do detector de estado de bloco 310 de que o bloco de dados de enlace superior retransmitido, com alta probabilidade, não está associado a um estado TENTATIVE_ACK, o seletor de tipo de sondagem 315 mantém a sondagem pendente para um PAN destinado a transmissão para a estação móvel. No entanto, se o seletor de tipo de sondagem 315 obtiver uma indicação do detector de estado de bloco 310 de que o bloco de dados de enlace superior retransmitido está associado, com alta probabilidade, a um estado TENTATIVE_ACK (por exemplo, indicando que a estação móvel tem apenas blocos TENTATIVE_ACK para enviar), o seletor de tipo de sondagem 315 substitui a sondagem pendente para PAN por uma sondagem • para uma mensagem de controle ACK/NACK de enlace inferior Φ de pacote. Tal operação, indiretamente, faz com que a estação móvel implemente a priorização de transmissão 5 descrita acima.
Embora um exemplo de implementação do elemento de rede exemplificative 110 da Figura 1 tenha sido ilustrado na Figura 3, um ou mais dos elementos, processos e/ou dispositivos ilustrados na Figura 3 podem ser combinados, 10 divididos, rearranjados, omitidos, eliminados e/ou implementados de outra maneira. Adicionalmente, o transmissão RLC/MAC exemplificativo 130, o receptor RLC/MAC exemplificative 135, o detector de blocos em duplicata exemplificative 305, o detector de estado de bloco - 15 exemplif icativo 310, o seletor de tipo de sondagem exemplificative 315 e/ou, mais genericamente, o elemento de rede exemplificative 110 da Figura 3, podem ser implementados por hardware, software, firmware e/ou qualquer combinação de hardware, software e/ou firmware.
Assim, por exemplo, qualquer um dentre o transmissor RLC/MAC exemplificative 130, o receptor RLC/MAC exemplificative 135, o detector de blocos 305, o detector de estado de bloco 310 exemplificativo, o seletor de tipo de sondagem exemplificative 315 e/ou, mais genericamente, o 25 elemento de rede exemplificative 110, pode ser implementado por um ou mais circuitos, processadores programáveis, circuitos integrados com aplicação específica (ASIC), dispositivos lógico-programáveis (PLD) e/ou dispositivos lógico-programáveis de campo (FPLD). Quando qualquer uma 30 das reivindicações em anexo for lida, cobrindo uma implementação puramente por software e/ou firmware, ao • menos o elemento de rede exemplificativo 110, o transmissor . RLC/MAC exemplificativo 130, o receptor RLC/MAC exemplificativo 135, o detector de blocos em duplicata 5 exemplificative 305, o detector de estado de bloco exemplificative 310, e/ou o seletor de tipo de sondagem 315, é definido expressamente para incluir um meio tangível como memória, disco versátil digital (DVD), disco compacto (CD), etc, que armazene tal software e/ou firmware. Ainda 10 adicionalmente, o elemento de rede exemplificative 110 da Figura 3 pode incluir um ou mais elementos, processos e/ou dispositivos em adição a, ou ao invés daqueles ilustrados na Figura 3 e/ou pode incluir mais de um de qualquer ou < todos os elementos, processos e dispositivos ilustrados. - 15 Fluxogramas representativos de processos exemplificativos que podem ser executados para implementar qualquer, algum ou todo o sistema de comunicação 100 EGPRS exemplificativo, estação móvel exemplificativa 105, elemento de rede exemplificativo 110, transmissor RLC/MAC 20 exemplificativo 115, receptor RLC/MAC exemplificativo 120, transmissor exemplificativo RLC/MAC 130, receptor RLC/MAC exemplificative 135, decodificador de sondagem exemplificativo 205, processador de matriz de estado de reconhecimento 210, processador de prioridade de 25 transmissão 215, detector de blocos em duplicata exemplificativo 305, detector de estado de bloco exemplificativo 310 e seletor de tipo de sondagem exemplificative 315, são mostrados nas Figuras 4-5.
Nestes exemplos, o processo representado por cada 30 fluxograma pode ser implementado por um ou mais programas compreendendo instruções legíveis por máquina para execução . por: (a) um processador, como o processador 612 mostrado no sistema de processamento exemplificative 600, que será discutido abaixo em conjunto com a Figura 6, (b) um controlador , e/ou (c) qualquer outro dispositivo adequado.
Um ou mais programas podem ser incorporados no software armazenado em um meio tangível, como, por exemplo uma memória instantânea, um CD-ROM, um disco flexível, um disco rígido, um DVD, ou uma memória associada ao processador 10 612, mas o programa, ou programas inteiros, e/ou partes do(s) mesmo(s), podem ser executadas, alternativamente, por um dispositivo que não o processador 612 e/ou incorporado em firmware ou hardware dedicado (por exemplo, implementado por um circuito integrado específico para aplicação (ASIC), _ 15 um dispositivo lógico-programável (PLD), um dispositivo lógico programável de campo (FPLD), lógica discreta, etc.). Por exemplo, qualquer um, algum ou todos dentre o sistema de comunicação 100 EGPRS exemplificativo, estação móvel exemplificativa 105, elemento de rede exemplificative 110, 20 transmissor RLC/MAC exemplificative 115, receptor RLC/MAC exemplificativo 120, transmissor exemplificative RLC/MAC 130, receptor RLC/MAC exemplificativo 135, decodificador de sondagem exemplificative 205, processador de matriz de estado de reconhecimento 210, processador de prioridade de 25 transmissão 215, detector de blocos em duplicata exemplificativo 305, detector de estado de bloco exemplificative 310 e seletor de tipo de sondagem exemplificativo 315, podem ser implementados por qualquer combinação de software, hardware e/ou firmware. Além disso, 30 alguns ou todos os processos representados pelos fluxogramas das Figuras 4-5 podem ser implementados . manualmente.
Adicionalmente, embora os processos exemplificativos sejam descritos com referência aos fluxogramas ilustrados 5 nas Figuras 4-5, muitas outras técnicas para implementação dos métodos e aparelho exemplificativos descritos aqui podem ser usadas. Por exemplo, com referência aos fluxogramas ilustrados nas Figuras 4-5, a ordem de execução dos blocos pode ser mudada e/ou alguns dos blocos descritos 10 podem ser mudados, eliminados, combinados e/ou subdivididos em múltiplos blocos.
Um processo exemplificative 400 que pode ser executado para implementar o processamento de priorização de transmissão na unidade móvel exemplificativa 105 das - 15 Figuras 1 ou 2 ou ambas, é ilustrado na Figura 4. O processo 400 pode ser executado a intervalos predeterminados (por exemplo, como antes de um próximo intervalo de transmissão de dados de enlace superior), com base em uma ocorrência de um evento predeterminado (por 20 exemplo, como a recepção de uma mensagem de sondagem de um elemento de rede) , como um processo de apoio, etc, ou qualquer combinação dos mesmos. Com referência às Figuras 1 e 2, o processo 400 da Figura 4 começa a execução no bloco 405 em que o processador de matriz de estado de 25 reconhecimento 210 incluído na estação móvel 105, atualiza os estados de reconhecimento armazenados na matriz de estado de reconhecimento V(B) para os blocos de dados RLC/MAC de enlace superior transmitidos 155 incluídos na janela de transmissão atual da estação móvel. Por exemplo, 30 no bloco 405, o processador de matriz de estado de reconhecimento 210 atualiza o estado de reconhecimento armazenado em V(B) para qualquer bloco de dados de enlace superior para o qual a informação de reconhecimento tenha sido recebida desde uma atualização anterior.
A seguir, o controle prossegue para o bloco 410 em que o processador de matriz de estado de reconhecimento 210, incluído na estação móvel 105, seleciona um ou mais blocos de dados de enlace superior para transmissão pelo transmissor RLC/MAC 115 da estação móvel. Por exemplo, e 10 conforme descrito acima com mais detalhes em conexão com a Figura 2, no bloco 410, o processador de matriz de estado de reconhecimento 210 seleciona os blocos de dados de enlace superior para transmissão na seguinte ordem de prioridade: (1) blocos de enlace superior associados a um 15 estado NACKED (2), novos blocos de dados de enlace superior (assumindo que a janela de transmissão não tenha parado), (3) blocos de enlace superior associados a um estado PENDING_ACK e (4) blocos de enlace superior associados a um estado TENTATIVE_ACK. Após o próximo bloco de dados de 20 enlace superior a ser transmitido ser selecionado no bloco 410, o controle prossegue para o bloco 415. No bloco 415, o decodificador de sondagem 205, incluído na estação móvel 105, determina se uma sondagem para PAN foi recebida do elemento de rede 110. Se uma 25 sondagem para PAN não tiver sido recebida (bloco 415), o controle prossegue para o bloco 420, em que o processador de prioridade de transmissão 215, incluído na estação móvel 105, transmite o bloco de dados de enlace superior selecionado no bloco 410, de acordo com uma priorização 30 convencional, como priorização das mensagens de controle RLC/MAC de enlace superior em detrimento da transmissão de blocos de dados RLC/MAC de enlace superior (incluindo qualquer campo PAN anexo) . Após o processamento no bloco 420 estar completo, a execução do processo 400 termina.
No entanto, se uma sondagem para PAN tiver sido recebida (bloco 415), o controle prossegue para o bloco 425, em que o processador de prioridade de transmissão 215, incluso na estação móvel 105, determinar se apenas os blocos de dados de enlace superior que têm um estado TENTATIVE_ACK, foram selecionados para transmissão no bloco 410. Se um bloco que não tem um estado TENTATIVE_ACK tiver sido selecionado para transmissão (bloco 425), o controle prossegue para o bloco 430, em que o processador de prioridade de transmissão 215 faz com que bloco de dados de enlace superior selecionado seja transmitido com um bloco de dados de enlace superior 155 junto com um campo PAN 185, conforme solicitado pelo elemento de rede 110, de acordo com uma priorização convencional, como priorização de mensagens de controle RLC/MAC de enlace superior e não de blocos de dados RLC/MAC de enlace superior (incluindo qualquer campo PAN que acompanhe). Após processamento no bloco 430 estar completo, a execução do processo 400 termina.
No entanto, se um bloco que tenha um estado TENTATIVE_ACK tiver sido selecionado para transmissão (bloco 425), ou se nenhum bloco de dados de enlace superior tiver sido selecionado para transmissão, o controle prossegue para o bloco 435, em que o processador de prioridade de transmissão 215, incluso na estação móvel 30 105, trata a sondagem de PAN recebida do elemento de rede 110 como uma sondagem para uma mensagem de controle ACK/NACK de enlace inferior de pacote EGPRS. A seguir, o controle prossegue para o bloco 440, em que o processador de prioridade de transmissão 215 faz com que o transmissor 5 RLC/MAC da estação móvel transmita uma mensagem de controle ACK/NACK 145 de enlace inferior de pacote EGPRS ao invés do bloco de dados TENTATIVE_ACK selecionado junto com PAN solicitado. Após o processamento no bloco 440 terminar, a execução do processo 400 termina.
Um processo exemplificativo 500 que pode ser executado para implementar processamento de priorização de transmissão em estação móvel no elemento de rede exemplif icativo 110 das Figuras 1 ou 3, ou ambas, é ilustrado na Figura 5. o processo 500 pode ser executado a 15 intervalos predeterminados (como, por exemplo, intervalos de transmissão de dados de enlace inferior regulares), com base em uma ocorrência de um evento predeterminado (por exemplo, como antes da transmissão de uma solicitação de sondagem), como um processo de apoio, ou qualquer combinação dos mesmos. Com referência às Figuras 1 e 3, o processo 500 da Figura 5 começa a execução no bloco 505 em que o detector de blocos em duplicata 305, incluso no elemento de rede 110, decodifica um bloco de dados RLC/MAC de enlace superior atual 155 recebido da estação móvel 105.
A seguir, no bloco 510, o detector de blocos em duplicata 305 determina se o bloco de dados de enlace superior que foi recebido é uma duplicata de um bloco de dados de enlace superior recebido previamente. Se o bloco de dados de enlace superior recebido previamente não for uma duplicata 30 de um bloco de dados de enlace superior recebido previamente (bloco 510), o controle prossegue para o bloco 515 em que o seletor de tipo de sondagem 315, incluso no elemento de rede 110, emprega qualquer estratégia de sondagem adequada para enviar uma próxima solicitação de sondagem para a estação móvel 105. Após o processamento no bloco 515 estar completo, a execução do procedimento 500 termina.
No entanto, se o bloco de dados de enlace superior sendo recebido for uma duplicata de um bloco de dados de enlace superior recebido previamente (bloco 510) , o detector de blocos em duplicata 305 incluso no elemento de rede 110 indica que o bloco de dados de enlace superior sendo recebido é um bloco de dados de enlace superior retransmitido. Então, o controle prossegue para o bloco 520 em que o detector de estado de bloco 310, incluso no elemento de rede 110, determina se o bloco de dados de enlace superior retransmitido foi reconhecido previamente em um PAN enviado para a estação móvel 105. Se o bloco de dados de enlace superior retransmitido foi reconhecido previamente em PAN (bloco 520), o controle prossegue para o bloco 515, em que o seletor de tipo de sondagem 315 incluso no elemento de rede 110 emprega qualquer estratégia de sondagem adequada para enviar uma próxima solicitação de sondagem para a estação móvel 105. Após o processamento no bloco 515 estar completo, a execução do procedimento 500 termina.
No entanto, se o bloco de dados de enlace superior retransmitido foi reconhecido previamente em PAN (bloco 520), o controle prossegue para o bloco 525, em que o 110 determina um tempo decorrido desde que um PAN anterior foi enviado para reconhecer o bloco de dados de enlace superior retransmitido recebido. Então, no bloco 525, o detector de estado de bloco 310 determina se o tempo decorrido desde o envio do PAN anterior excede um primeiro limite (por exemplo, um limite de tempo decorrido). Se o tempo decorrido não exceder o primeiro limite (bloco 530) , o controle prossegue até o bloco 515, em que o elemento de rede 110 emprega qualquer estratégia de sondagem adequada para enviar uma próxima solicitação de sondagem para a estação móvel 105.
No entanto, se o tempo decorrido não exceder o primeiro limite (bloco 530), o controle prossegue para o bloco 535, em que o detector de estado de bloco 310 determina quantos PANs foram enviados previamente para reconhecer o bloco de dados de enlace superior retransmitido recebido. Então, no bloco 540, o detector de estado de bloco 310 determina se o número de PANs enviados previamente excede um segundo limite (por exemplo, um número de PANs limite). Opcionalmente, no bloco 540, o detector de estado de bloco 310 determina se as condições de radio são satisfatórias, tal que a estação móvel 105 tenha provavelmente recebido e decodificado corretamente qualquer PAN enviado pelo elemento de rede 110. Em tal exemplo, o detector de estado de bloco 310 avalia as condições de radio no bloco 54 0 com base em uma ou mais medições de radio realizadas ou obtidas, ou ambas, no bloco 542. Se o número de PANs não exceder o segundo limite (bloco 540), ou se as condições de radio não forem satisfatórias em implementações exemplificativas em que as condições de radio são avaliadas, o controle prossegue para o bloco 515, em que o elemento de rede 110 emprega qualquer estratégia de sondagem adequada para enviar uma próxima solicitação de sondagem para a estação móvel 105. Após o processamento no bloco 515 estar completo, a execução do procedimento 500 termina.
No entanto, se o número de PANs enviados previamente para reconhecer o bloco de dados de enlace superior retransmitido recebido não exceder o segundo limite (bloco 540), e se as condições de radio forem satisfatórias nas implementações exemplificativas em que as condições de radio são avaliadas, o controle prossegue para o bloco 545. No bloco 545, o detector de estado de bloco 310 infere que a estação móvel 105 associou o bloco de dados de enlace superior retransmitido recebido a um TENTATIVE_ACK. Então, no bloco 550, o seletor de tipo de sondagem 315 incluso no elemento de rede, substitui qualquer sondagem pendente por PAN que se destine à estação móvel 105 por uma sondagem para uma mensagem de controle ACK/NACK de enlace inferior de pacote. Após o processamento no bloco 515 estar completo, a execução do procedimento 500 termina. A Figura 6 é um diagrama de bloco de um sistema de processamento exemplificative 600 capaz de implementação do aparelho e métodos descritos aqui. O sistema de processamento 600 pode corresponder, por exemplo, a uma plataforma de processamento de estação móvel, uma plataforma de processamento de elemento de rede, um servidor, um computador pessoal, um assistente digital pessoal (PDA), um aplicativo de Internet, um telefone móvel ou qualquer outro tipo de dispositivo computacional.
O sistema 600 do presente exemplo inclui um processador 612, como um processador programável com finalidade genérica, um processador embutido, um micro- controlador, etc. O processador 612 inclui uma memória 5 local 614, e executa instruções codificadas 616 presentes na memória local 614 e/ou em outro dispositivo de memória. O processador 612 pode executar, entre outras coisas, instruções legíveis por máquina para implementação dos processos representados nas Figuras 4-5. O processador 612 10 pode ser qualquer tipo de unidade de processamento, como um ou mais microprocessadores da família Intel® Centrino® de microprocessadores, a famílida Intel® Pentium®, família Intel® Itanium® de microprocessadores, e/ou a família Intel XScale® de microprocessadores, um ou mais de 15 microcontroladores da família ARM® de microcontroladores, a família PIC® de microcontroladores, etc. Obviamente, outros processadores de outras famílias também são adequados.
O processador 612 está em comunicação com uma memória principal que inclui uma memória volátil 618 e uma memória 20 não volátil 620, via um barramento 622. A memória volátil 618 pode ser implementada por Static Random Access Memory (SRAM), Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) e/ou qualquer outro tipo de 25 dispositivo de memória de acesso aleatório. A memória não volátil 620 pode ser implementada por memória instantânea e/ou qualquer outro tipo desejado de dispositivo de memória. O acesso à memória principal 618, 620 é tipicamente controlado por um controlador de memória (não 30 mostrado).
O computador 600 também inclui um circuito de interface 624. O circuito de interface 624 pode ser implementado por qualquer tipo de padrão de interface, como interface Ethernet, barramento serial universal (USB) e/ou 5 interface de entrada/saída de terceira geração (3GIO).
Um ou mais dispositivos de entrada 62 6 são conectados ao circuito de interface 624. O(s) dispositivo(s) de entrada 626 permite(m) que um usuário insira dados e comandos no processador 612. 0(s) dispositivo(s) de entrada 10 626 podem ser implementados, por exemplo, por um teclado,
um mouse, uma tela sensível ao toque, um mouse de bola, um isso-ponto e/ou sistema de reconhecimento de voz.
Um ou mais dispositivos de saída 628 também estão conectados ao circuito de interface 624. Os dispositivos de 15 saída 628 podem ser implementados, por exemplo, por dispositivos de exibição (por exemplo, um visor de cristal líquido, um visor de tubo de raios catódicos (CRT), por uma impressora e/ou alto-falantes. 0 circuito de interface 624 inclui, tipicamente, um cartão de driver gráfico.
O circuito de interface 624 também inclui um dispositivo de comunicação como um modem ou cartão de interface de rede para facilitar a troca de dados com computadores externos via uma rede (por exemplo, uma conexão Ethernet, um linha de assinatura digital (DSL) , uma 25 linha telefônica, cabo coaxial, sistema de telefone celular como sistema adequado a EGPRS, etc).
O computador 600 também inclui um ou mais dispositivos de armazenamento em massa 630 para o armazenamento de software e de dados. Exemplos de tais dispositivos de 30 armazenamento em massa 630 incluem disco flexível, discos rígidos, discos compactos e drives de disco versátil digital (DVD). O dispositivo de armazenamento em massa 630 pode armazenar a matriz de estado de reconhecimento V(B) processada pelo processador de matriz de estado de reconhecimento 210. Alternativamente, a memória volátil 618 pode armazenar a matriz de estado de reconhecimento V(B) processada pelo processador de matriz de estado de reconhecimento 210.
Como uma alternativa à implementação dos métodos e/ou aparelho descritos aqui em um sistema tal como o dispositivo da Figura 6, os métodos e/ou aparelho descritos aqui podem ser embutidos em uma estrutura como um processador e/ou ASIC (circuito integrado com aplicação específica).
Finalmente, embora certos métodos de exemplo, aparelho e artigos de fabricação foram descritos aqui, o escopo de cobertura desta patente não está limitado a ela. Pelo contrário, esta patente cobre todos os métodos, aparelhos e artigos de fabricação que estejam razoavelmente dentro do escopo das reivindicações em anexo, seja literalmente ou sob a doutrina de equivalentes.