PT2098005E - Multidifusão fiável com codificação de pacotes de dados linearmente independentes - Google Patents

Multidifusão fiável com codificação de pacotes de dados linearmente independentes Download PDF

Info

Publication number
PT2098005E
PT2098005E PT68244995T PT06824499T PT2098005E PT 2098005 E PT2098005 E PT 2098005E PT 68244995 T PT68244995 T PT 68244995T PT 06824499 T PT06824499 T PT 06824499T PT 2098005 E PT2098005 E PT 2098005E
Authority
PT
Portugal
Prior art keywords
multicast
data packets
regular
packet
data packet
Prior art date
Application number
PT68244995T
Other languages
English (en)
Inventor
Peter Larsson
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of PT2098005E publication Critical patent/PT2098005E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

ΡΕ2098005 1
DESCRIÇÃO "MULTIDIFUSÃO FIÁVEL COM CODIFICAÇÃO DE PACOTES DE DADOS LINEARMENTE INDEPENDENTES"
Campo técnico A presente invenção refere-se genericamente a sistemas de comunicação multidifusão e mais particularmente a uma nova estratégia para agendar e codificar pacotes para a transmissão multidifusão.
Antecedentes Há um aumento constante da procura por um melhor desempenho em sistemas de comunicação em geral, e em redes sem fios em particular. A multidifusão é uma abordagem para melhorar o débito, transmitindo de forma eficiente a mesma informação para vários utilizadores/receptores. Quando o canal é falível, pode não ser possível fornecer os dados a todos os receptores de um modo fiável. Por isso, a multidifusão através de canais falíveis requer tipicamente o uso de técnicas de correcção de erros sem canal de retorno (FEC) ou técnicas de correcção de erros com canal de retorno tais como o pedido de repetição automática (ARQ) . PE2098005 A denominada codificação fontanal é uma abordagem interessante para multidifusão fiável [1-2]. A codificação fontanal é um esquema ideal de codificação de dados sem taxa, uma forma de FEC, que produz nova informação de paridade até que todos os utilizadores tenham descodificado o ficheiro de dados enviado. A aproximação dos códigos fontanais ideais é assim denominada de códigos Tornado e códigos LT. Outros códigos fontanais incluem os denominados códigos Tornado e códigos Online. A filosofia básica, em códigos LT (e no geral na maioria dos códigos fontanais) em que é formada uma nova informação de paridade, baseia-se na escolha aleatória do grau de codificação, ou seja, o número de pacotes a serem codificados em conjunto, de acordo com um grau de distribuição predefinido e, em seguida, bit a bit XORizar (módulo 2 adicionado) os pacotes. Embora não seja inerentemente uma parte da codificação fontanal, é normalmente enviada uma confirmação quando o receptor tiver recebido um número suficiente de pacotes de paridade que activam a descodificação, e não mais cedo do que isso. Assim, só é necessária uma confirmação para um ficheiro FC por utilizador. Essas aproximações de FC permitem a multidifusão eficiente em canais de apagamento onde é necessário ser recebido aproximadamente uma quantidade ε de mais redundância do que dados. ARQ é uma estratégia de controlo de erro eficiente para a transmissão de dados em que o receptor detecta erros de transmissão nas mensagens e automaticamente pede retransmissão do remetente. Normalmente as 3 ΡΕ2098005 mensagens de retorno dos receptores para o emissor são usadas para permitir que o remetente determine quais os pacotes que foram recebidos correctamente pelos receptores pretendidos e quais os que não foram. Os pacotes que não foram recebidos correctamente têm que ser reenviados.
Pretende-se que ARQ seja utilizado como um padrão para a comunicação através da interface de ar em sistemas de comunicações sem fios celulares, e pode também ser usado
em sistemas multisaltos. Tipicamente, a informação é dividida em pequenos pacotes, designados por unidades de dados de protocolo (PDU) , antes da transmissão. A transferência fiável é activada por pacotes de codificação com um código de detecção de erro, de modo que o receptor pode detectar pacotes errados ou perdidos e deste pedir a retransmissão. A integridade da sequência de dados é normalmente assegurada pela numeração sequencial de pacotes e aplicação de determinadas regras de transmissão.
Pode ser útil primeiro rever os principios básicos para ARQ com base em unidifusão antes de discutir pormenores sobre ARQ multidifusão, tendo em mente que os principios básicos de ARQ multidifusão transitam principalmente para ARQ multidifusão.
Na forma mais simples de ARQ, normalmente designado como ARQ Stop-and-Wait, o remetente de dados armazena cada pacote de dados enviado e aguarda uma confirmação do receptor de um pacote de dados recebido correctamente, por 4 ΡΕ2098005 meio de uma mensagem de confirmação (ACK) . Quando é recebido a ACK, o emissor descarta o pacote armazenado e envia o pacote seguinte. 0 processo é normalmente suplementado com temporizadores e a utilização de mensagens de confirmação negativa (NACK) . A entidade emissora utiliza um temporizador, que é iniciado na transmissão de um pacote de dados, e se nenhum ACK (ou NACK) tiver sido recebido antes do tempo terminar, o pacote de dados é retransmitido. Se o receptor detectar erros no pacote, pode enviar um NACK para o emissor. Ao receber o NACK, o emissor retransmite o pacote de dados sem esperar que o tempo termine. Se a mensagem ACK ou NACK for perdida, o tempo irá eventualmente terminar e o emissor irá retransmitir o pacote de dados.
Do simples Stop-and-Wait, foram desenvolvidos esquemas mais elaborados de ARQ convencional, por exemplo Go-Back-N e Selective Reject (ou Selective Repeat), que proporcionam um débito maior.
Numa outra linha de desenvolvimento de ARQ, a redundância na codificação é explorada de várias maneiras para aumentar o desempenho de comunicação (geralmente medido como débito). Estes esquemas são designados como sistemas ARQ híbridos. Uma combinação de codificação e ARQ, os esquemas ARQ híbridos, pode proporcionar uma certa adaptação às alterações no ambiente de rádio, por exemplo, à atenuação. Em ARQ híbrido 1, o FEC é combinado com ARQ. Em ARQ híbrido 2, uma PDU é enviada mais ou menos codificada em FEC, mas acompanhada de uma verificação de 5 PE2098005 redundância cíclica (CRC) para verificar a presença de erros de bits após a descodificação e se a retransmissão for pedida, são enviados os bits de paridade (também conhecidos como bits de redundância) gerados por um codificador FEC, bits sistemáticos, ou uma combinação de ambos.
Se a eficiência não for o alvo principal, podem ser usados vários processos ARQ unidifusão paralelos assegurar uma "multidifusão" fiável. Esta pode ser uma abordagem comum quando o tamanho do grupo multidifusão, ou seja, o número de receptores pretendidos, é pequeno. Para grupos maiores, isto é, contudo, uma forma ineficiente de comunicação. É, portanto, normalmente considerado mais eficiente fundir os processos unidifusão paralelos num único processo ARQ denominado multidifusão, onde a mesma informação é transmitida para vários utilizadores [3]. A referência [4] refere-se à optimização do desempenho de vários fluxos unidifusão fiáveis.
As referências [5-7] descrevem esquemas onde os mesmos dados são multidifundidos para vários utilizadores, sendo a retransmissão eficiente activada combinando vários pacotes confirmados negativamente (NACKeados) por diferentes receptores num único bloco.
Um problema com ARQ tradicional multidifusão em geral é que o desempenho é extremamente pobre quando o 6 ΡΕ2098005 número de utilizadores é grande. De facto, observa-se, bem como facilmente percebemos que a eficiência de débito vai para zero quando o número de utilizadores K vai para o infinito.
Embora a codificação fontanal alivia os problemas de desempenho em ARQ de multidifusão tradicional, o seu desempenho é aproximadamente T = p/ (l+ε), em que T é a eficiência de débito, ε depende da quantidade de dados a serem enviados e p é a probabilidade de recepção. Em [2], foi aproximadamente afirmado que l + ε é maior do que 1,06, com uma probabilidade de 1/10 e não foi mais do que 1,10 de 10 000 tentativas de uma denominada implementação de código Tornado Z. Além disso, é indicado que os códigos Tornado não têm limites bastante apertados na ineficiência de descodificação para aplicações comerciais, e que para implementações actuais comerciais fontanais digitais de códigos LT, a ineficiência de descodificação é mais do que 1,05 com uma probabilidade inferior a 10 para ficheiro fonte de qualquer tamanho. Há vários inconvenientes com a codificação fontanal. FC depende em garantir estatisticamente a capacidade de descodificação proporcionando em excesso informação de redundância, e não depende da capacidade de descodificação deterministica. Em primeiro lugar, requer tipicamente grandes quantidades de informação para um pequeno valor de c e o desempenho é tipicamente pobre quando apenas uma pequena quantidade de pacotes de dados é 7 ΡΕ2098005 comunicada. 0 tempo necessário para descodificar os dados transmitidos é bastante longo dado que todas as redundâncias têm que ser recebidas antes que a capacidade de descodificação possa ser garantida. Os códigos LT, uma forma de códigos fontanais, também são conhecidos por terem um mau comportamento de chão de erro que, pelo menos em parte, foram endereçados por outros códigos Tornado semelhantes a FC.
Embora os esquemas propostos nas referências [5-7] representem um passo na direcção certa para multidifusão ARQ com descodificação deterministica, estes esquemas ainda não oferecem um óptimo desempenho. Uma razão para isto é que a operação ARQ multidifusão tradicional é mais estática do que o necessário e não reconhece e explora todos os graus de liberdade. Há, portanto, uma necessidade geral de uma estratégia ainda mais eficiente em termos de débito para multidifusão fiável. 0 artigo "XOR Retransmission in Multicast Error Recovery" por Yong et al., IEEE Conferência Internacional sobre redes. 5 Setembro 2004, pp. 336-340 descreve um protocolo onde os mesmos dados são multidifundidos para vários utilizadores, sendo a retransmissão activada por combinação XOR vários pacotes confirmados negativamente (NACKeados) por diferentes receptores num único bloco ou pacote. Mais especificamente, o esquema de protocolo envia 8 ΡΕ2098005 primeiro pacotes de dados regulares e, em seguida, identifica um conjunto de utilizadores. Este conjunto de utilizadores é seleccionado com base na ideia de que todos os utilizadores no conjunto receberam todos os pacotes excepto um, e este pacote excepcional é diferente para todos os utilizadores. 0 emissor então forma um bloco X onde todos os pacotes são XOR combinados. Para o denominado bloco X, os ponderadores de codificação são fixos e predeterminados uma vez que é sempre um vector de codificação de todos aqueles. 0 artigo "Multi-User ARQ" por Larsson et al., Vehicular Technology Conference, 2006, pp 2052-2057 descreve um esquema ARQ para vários fluxos unidifusão num sistema multiutilizador. A ideia é explorar o conhecimento dos pacotes escutados casualmente por utilizadores indesejados e realizar a selecção sábia e codificação conjunta de qualquer informação retransmitida.
Sumário A presente invenção supera estas e outras desvantagens dos dispositivos da técnica anterior. É um objectivo geral da presente invenção proporcionar uma elevada estratégia de débito eficiente para multidifusão fiável. É um objecto da invenção proporcionar um processo PE2098005 e dispositivo para o agendamento e codificação de pacotes de dados para transmissão numa sessão multidifusão de um emissor para pelo menos dois receptores num sistema ARQ multidifusão. É também um objectivo proporcionar um emissor adaptado para utilização num sistema ARQ multidifusão. É um objectivo especifico proporcionar uma estratégia multidifusão que permite o débito melhorado, atraso reduzido e/ou consumo de energia reduzido. É particularmente desejável proporcionar uma estratégia multidifusão que permite a capacidade de descodificação deterministica de pacotes codificados.
Estes e outros objectivos são alcançados pela invenção tal como definido pelas reivindicações da patente anexas. refere-se no geral de dados para a um emissor para dois receptores A invenção codificação de pacotes sessão multidifusão de difusor de pelo menos multidifusão. Uma ideia básica da a programação e transmissão numa um grupo multi-num sistema ARQ invenção é a realização de um procedimento, em cada uma de uma pluralidade de instâncias 10 PE2098005 de agendamento, incluindo a formação de, pelo menos, um pacote de dados composto como uma combinação linear ponderada dos pacotes de dados regulares com base num vector de ponderação ω correspondente que compreende um conjunto de ponderadores de codificação utilizando informação de retorno dos receptores indicando pacotes de dados recebidos, e a transmissão do(s) pacote(s) de dados composto(s) formado(s) para os receptores do grupo multidifusão considerado. Os pacotes de dados previamente recebidos, para cada receptor k, podem ser descritos como um sistema linear de equações com base numa matriz de Wk, onde os elementos de cada matriz Wk para os pacotes de dados recebidos previamente são os ponderadores W * cada ponderador é um factor de ponderação individual associado a pacote de dados regular n para o pacote de dados multidifusão mk:° recebido pelo receptor k, em que o pacote de dados multidifusão mk:° é um pacote de dados regular, ou um pacote de dados composto formado por pelo menos dois pacotes de dados comuns. Neste procedimento, os ponderadores de codificação do vector de ponderação ω encontram-se adaptados, para cada um dos pacotes de dados compostos ou pacotes, com base na informação de retorno de tal modo que para cada receptor k desses receptores do grupo multidifusão que ainda necessitam de receber um ou mais pacotes de dados multidifusão, o vector de ponderação ω vai formar uma nova linha linearmente independente numa matriz definida como w; Íw ω para assegurar uma nova 11 ΡΕ2098005 codificação linearmente independente dos pacotes de dados regulares.
Ao realizar este procedimento em ligação com cada um de uma pluralidade de instâncias de programação, o número de transmissões necessárias para a transferência de uma determinada quantidade de informação de multidifusão será reduzida. A capacidade de transmitir novos pacotes de dados linearmente independentes (pacotes de dados compostos e opcionalmente também pacotes normais) em pelo menos uma maioria dos casos de transmissão durante uma sessão multidifusão irá melhorar significativamente o desempenho do débito para multidifusão fiável, especialmente quando o número de utilizadores é grande.
Numa situação ideal, ao transmitir sistematicamente uma série de pacotes de dados regulares e/ou compostos que são linearmente independentes de qualquer pacote de dados (regular ou composto) previamente recebidos por cada um dos receptores compreendidos num conjunto de receptores, durante uma sessão multidifusão será suficiente enviar apenas N de tais pacotes de dados para recuperar todos os pacotes de dados regulares N, obtendo-se assim o débito máximo.
De qualquer modo, em comparação com os sistemas 12 ΡΕ2098005 convencionais ARQ de multidifusão, a invenção requer menos pacotes de dados a serem enviados do emissor para o receptor para assegurar a correcta recepção dos pacotes de dados transmitidos. A invenção permite, assim, melhorar a eficiência do débito para multidifusão (totalmente) fiável, e também proporciona um esquema de retransmissão deterministicamente descodificável.
Na, por exemplo, codificação fontanal, o número de subpacotes que necessitam de ser recebidos a fim de descodificar o ficheiro completo é uma variável aleatória, isto é, não deterministicamente delimitada. A invenção proporciona um sistema que implementa o esquema acima bem como um emissor correspondente adaptado para o uso num sistema ARQ multidifusão. A presente invenção é geralmente aplicável a ARQ multidifusão em sistemas de comunicação com ligações faliveis, tais como sistemas de comunicação sem fios. Por exemplo, a invenção pode ser vantajosamente utilizada num sistema celular tipico com uma estação base em comunicação com uma pluralidade de terminais móveis. A invenção pode oferecer as seguintes vantagens: • Multidifusão fiável. • Aumento (ou mesmo o máximo) de débito. • Latência reduzida (ou mesmo o minimo). PE2098005 • Utilização melhorada de energia/potência. • Limites deterministicos quanto ao número de pacotes que têm de ser recebidos para descodificação.
Outras vantagens oferecidas pela presente invenção serão apreciadas ao se ler a seguir a descrição das formas de realização da invenção.
Breve descrição dos desenhos A invenção, juntamente com objectos adicionais e vantagens da mesma, pode ser melhor compreendida tomando como referência a seguinte descrição tomada em ligação com os desenhos que a acompanham. As figuras representam:
Figura 1
Figura 2
Figura 3
Figura 4 eficiência de débito de multidifusão totalmente fiável ARQ para K=l, 2, 4, 8, 16, 32, 64 e 128, como uma função da probabilidade da recepção correcta. diagrama de blocos esquemático que ilustra um exemplo simples de uma visão geral do sistema ARQ multidifusão. diagrama de fluxos esquemático ilustrando um exemplo de procedimento ARQ global, diagrama de fluxos esquemático de um processo para programar e codificar pacotes de dados regulares num pacote de dados composto de acordo com um exemplo preferido de forma de realização da invenção. ΡΕ2098005 14
Figura 5
Figura 6
Figura 7 forma de realização possivel de codificação de dois pacotes de dados normais num pacote de dados composto. diagrama de blocos esquemático ilustrando um sistema para a transmissão multidifusão de pacotes de dados de um emissor para vários utilizadores de acordo com um exemplo preferido de forma de realização do invenção, diagrama de blocos esquemático de programação de pacote de dados e codificação de acordo com um exemplo de forma de realização do invenção.
Descrição pormenorizada
Ao longo dos desenhos serão usadas as mesmas referências para elementos correspondentes ou semelhantes. A seguir, o termo "pacote de dados regular" indica um pacote de dados regular (não-composto) (isto é, apenas um simples pacote de dados normal), enquanto que um pacote de dados composto é baseado em pelo menos dois pacotes de dados regulares. Um "pacote de dados multidifusão" pode ser um pacote de dados regular ou um pacote de dados composto, e no seu sentido mais genérico um tal pacote de dados pode ser designado como um "pacote de dados geral ", "pacote de dados multidifusão" ou " pacote de dados multidifusão geral".
Um problema com ARQ tradicional multidifusão em 15 ΡΕ2098005 geral é que o desempenho é extremamente pobre quando o número K de receptores/utilizadores é grande. A figura 1 ilustra eficiência de débito de multidifusão totalmente fiável ARQ para K= 1, 2, 4, 8, 16, 32, 64 e 128, como uma função da probabilidade da recepção correcta. A curva mais à esquerda ilustra a situação para K= 1. Como pode ser visto, o desempenho é reduzido conforme o número K de nós aumenta, e se aproxima de zero quando o número de nós se aproxima do infinito, excepto no caso ideal especial quando a probabilidade de uma recepção correcta é igual a 1. Há, portanto, uma necessidade geral de uma estratégia ainda mais eficiente do débito para multidifusão fiável.
Será útil começar com uma breve descrição de um sistema ARQ multidifusão. No sistema de comunicação ARQ a ser utilizado com a presente invenção, um emissor 100 encontra-se geralmente envolvido numa sessão de comunicação multidifusão com múltiplos receptores 200, tal como ilustrado esquematicamente na figura 2. O emissor 100 é geralmente representado por um nó emissor, tal como uma estação de base na operação de transmissão, e os receptores 200-1 a 200-K são normalmente representados por nós receptores, por exemplo realizados por terminais móveis na operação de recepção. Deve notar-se que um terminal móvel, por exemplo, também pode actuar como um nó de envio, e uma estação de base, como um nó de recepção. Na comunicação multidifusão, o mesmo conjunto de informações é normalmente 16 ΡΕ2098005 enviado a todos os receptores parte de um grupo multidifusão. 0 grupo multidifusão inclui geralmente pelo menos dois receptores, por vezes designados como utilizadores. Para a transmissão de um número de pacotes de dados de uma sessão multidifusão, isto geralmente significa que cada pacote de dados individual é um assim denominado pacote de dados multidifusão destinado a todos os receptores considerados. Deve notar-se que se a comunicação for dirigida a todos os utilizadores dentro de, por exemplo, uma célula ou um sistema, isto é frequentemente designado como radiodifusão em vez de multidifusão. Assim, a radiodifusão é apenas o caso extremo de multidifusão onde todos os receptores numa célula ou semelhante recebem os dados. A presente invenção pode ser vantajosamente utilizada em sistemas celulares típicos com uma estação base em comunicação com uma pluralidade de terminais móveis. Em geral, os vários esquemas de programação podem ser utilizados em tais sistemas para aumentar o desempenho, sendo ARQ utilizado para aumentar a fiabilidade das transmissões. A invenção será descrita num cenário sem fios, mas também podia ser usada em outros cenários de comunicação com ligações falíveis. A ideia básica da presente invenção baseia-se na execução de um procedimento em cada uma de uma pluralidade 17 ΡΕ2098005 de instâncias de agendamento incluindo a formação de, pelo menos, um pacote de dados composto como uma combinação linear ponderada dos pacotes de dados regulares com base num vector de ponderação correspondente que compreende um conjunto de ponderadores de codificação utilizando informação de retorno dos receptores indicando pacotes de dados recebidos, e transmitindo o(s) pacote (s) de dados composto(s) formado(s) para os receptores do grupo multidifusão considerado. Neste procedimento, os ponderadores de codificação do vector de ponderação encontram-se de preferência adaptativamente seleccionados, para cada um dos pacotes de dados compostos ou pacotes, com base na informação de retorno de tal modo que o pacote composto representa uma combinação linear de pacotes de dados regulares linearmente independentes de qualquer pacote de dados (regular ou composto) previamente recebido por cada um dos receptores num conjunto relevante de receptores do grupo multidifusão durante a sessão multidifusão. 0 conjunto relevante de receptores acima mencionados inclui, em geral, pelo menos dois receptores, e pode ser um subconjunto ou o conjunto completo de receptores no grupo multidifusão global. "Pacote de dados recebido previamente" significa geralmente um pacote de dados multidifusão (regular ou composto) que tenha sido correctamente desmodulado e descodificado em FEC no lado do receptor. 18 ΡΕ2098005
Ao realizar este procedimento em cada de uma pluralidade (duas ou mais) de instâncias de programação e transmitindo novos pacotes de dados linearmente independentes (pacotes de dados compostos e possivelmente também pacotes de dados regulares), o número de transmissões necessárias para a transferência de uma determinada quantidade de informação de multidifusão será reduzida e o desempenho do débito para multidifusão fiável será melhorada.
Tal como será entendido pelo técnico, o conjunto relevante de receptores/utilizadores a serem considerados na adaptação de ponderadores de codificação irá mudar conforme a sessão multidifusão progride, e pode diferir de uma ocorrência de agendamento para a próxima. Assim que um receptor tiver recebido todos os pacotes de dados multidifusão, este receptor não será mais considerado. Em geral, apenas os receptores que ainda precisem de receber um ou mais pacotes de dados multidifusão são considerados como o conjunto relevante do grupo multidifusão. Isto significa que durante a sessão multidifusão global, o conjunto relevante de receptores considerados no processo de programação (isto é, a adaptação da ponderação) será gradualmente reduzido até que todos os receptores tiverem recebido todas as informações multidifusão. 0 inventor percebeu a importância de adaptar os ponderadores de código baseados em conjunto de pacotes previamente recebidos por cada receptor num conjunto 19 ΡΕ2098005 seleccionado de receptores, e não como na técnica anterior ou seja seleccionar um subconjunto de receptores para os quais é aplicado a todos um vector de código todo-em-um desde que todos os receptores tenham recebido todos os pacotes excepto um.
Tal como será explicado pormenorizadamente mais tarde, a ideia de codificação de pacotes de dados linearmente independentes de pode ser descrita em termos de classificação de uma matriz de vectores de ponderação (incluindo ponderadores de codificação). Para ser mais especifico, os pacotes de dados multidifusão recebidos previamente (pacotes de dados regulares e/ou compostos), para cada receptor, podem ser descritos como um sistema linear de equações com base numa matriz de vectores de ponderação. O aumento na classificação corresponde à formação de uma nova linha linearmente independente na matriz de vectores de ponderação, o que é equivalente a uma nova codificação linearmente independente de um pacote de dados multidifusão.
Para uma melhor compreensão da invenção, pode ser útil considerar um exemplo ilustrativo. Considere um emissor com dois pacotes de dados regulares a serem transmitidos para dois receptores/utilizadores Ui e U2. A tabela I a seguir ilustra um exemplo de um possivel cenário de transmissão/retransmissão de acordo com um exemplo de forma de realização da invenção. Por exemplo, o conjunto de codificação "001" significa que o primeiro pacote regular é 20 ΡΕ2098005 multiplicado com a ponderação de codificação 0, o segundo pacote regular é multiplicado com a ponderação de codificação 0 e o terceiro pacote regular é multiplicado com a ponderação de codificação 1, significando efectivamente que apenas o terceiro pacote regular é transmitido. Do mesmo modo, "001" para um utilizador significa que este utilizador particular recebeu o terceiro pacote de dados regular, enquanto que "x" para um utilizador significa que nenhuma informação foi correctamente recebida pelo referido utilizador.
Tabela I TX# Conjunto Ui u2 Comentários 1 001 001 X Ui recebe o terceiro pacote regular 2 010 X 010 U2 recebe o segundo pacote regular 3 100 X 100 U2 recebe o primeiro pacote regular 4 111 111 X Pode e.g. não enviar 110 (dado que a classificação para U2 não iria aumentar), mas 111, 101 e 011 OK. U2 recebe pacote composto baseado nas ponderações 111. 5 011 011 X Ui recebe pacote composto baseado nas ponderações 011 6 001 - 001 U2 recebe pacote composto baseado nas ponderações 001 0 exemplo da tabela I mostra dois utilizadores a receberem três pacotes. É de notar que, em geral, não é suficiente apenas receber primeiro pacotes regulares e um 21 PE2098005 único pacote composto para permitir a descodificação de todos os pacotes de dados regulares. Em vez disso, encontra-se ilustrado que o emissor necessita de seleccionar adaptativamente ponderadores de código e, neste exemplo particular, está a fazê-lo em cada passo de modo que a classificação de cada matriz especifica de receptor de cada utilizador iria aumentar para todos os utilizadores relevantes se iriam receber o pacote composto. A adaptação de ponderadores, tal como descrito aqui, em vez de adaptar o conjunto de utilizadores ao qual um único pacote composto é enviado, tal como descrito em documentos da técnica anterior [5-7], melhora o desempenho radicalmente. Além disso, as referências [5-7] não empregam matrizes especificas do utilizador para programação e codificação. É ainda de se notar que nas referências [5-7] o transmissor não envia pacotes de tal forma que o receptor pode utilizar simultaneamente vários pacotes compostos para descodificação.
Neste exemplo, pode também ser notado que assim que um utilizador tiver recebido um número suficiente de pacotes de dados, pacotes de dados regulares e compostos, e a classificação da matriz correspondente estiver cheia, já não é necessário, ou até mesmo possivel, aumentar ainda mais a classificação da matriz desse receptor. Deste modo, apenas as matrizes de classificação não-completas são consideradas na determinação dos ponderadores de código adaptativos que garantem que a classificação aumenta para os restantes receptores da matriz de classificação não-completa. Suponhamos que as ponderações de codificação de 22 ΡΕ2098005 um pacote de dados composto numa primeira instância de agendamento estão adaptadas de tal modo que o pacote composto representa uma combinação linear que é linearmente independente, para cada receptor de um primeiro conjunto de receptores, de qualquer pacote de dados previamente recebido pelo receptor durante a sessão multidifusão. Numa segunda instância de agendamento posterior, a ponderação de codificação de outro pacote de dados composto pode deste modo ser adaptada de tal modo que o pacote composto representa uma combinação linear que é linearmente independente , para cada receptor de um segundo conjunto menor de receptores, de qualquer pacote de dados previamente recebido pelo receptor durante a sessão multidifusão.
Naturalmente que num cenário mais realista o número de utilizadores e o número de pacotes de dados será frequentemente maior, mas o exemplo simplificado acima serve para ilustrar as caracteristicas principais da presente invenção. Em aplicações práticas, o número de utilizadores/receptores K pode ser qualquer número de dois a talvez cem ou mais.
Normalmente, uma combinação linear de, por exemplo, dois pacotes de dados regulares, tais como um pacote A e um pacote B significa simplesmente que os pacotes são combinados com uma ponderação igual, de forma eficaz, utilizando o mesmo ponderador de codificação "1". Esses pacotes de dados regulares (tal como um pacote C e um 23 PE2098005 pacote D) , que não são considerados na combinação linear, podem ser vistos como tendo a ponderação de codificação " 0 " .
Sob certas circunstâncias, especialmente quando o grupo multidifusão inclui três ou mais utilizadores, a possibilidade de seleccionar um vector de ponderação que tem pelo menos duas ponderações de codificação diferentes, diferentes de zero, irá melhorar (e na maioria das circunstâncias garantir) a capacidade para formar um pacote de dados composto que representa uma nova codificação linearmente independente de pacotes de dados regulares diferentes de qualquer pacote de dados (pacote de dados regular ou pacote de dados composto) previamente recebido por cada receptor relevante, sendo parte do conjunto seleccionado de receptores, durante a sessão de multidifusão.
Considere um emissor com dois pacotes de dados regulares a serem transmitidos para três receptores/utili-zadores Ul, U2 e U3. A tabela II a seguir ilustra um exemplo de um possivel cenário de transmissão/retransmissão de acordo com um outro exemplo de forma de realização da invenção. Por exemplo, o conjunto de codificação "01" significa que o primeiro pacote regular é multiplicado com a ponderação de codificação 0 e o segundo pacote regular é multiplicado com a ponderação de codificação 1, significando efectivamente que apenas o segundo pacote regular é transmitido. Do mesmo modo, "01" para um utilizador si- 24 ΡΕ2098005 gnifica que este utilizador particular recebeu o segundo pacote de dados regular, enquanto que "x" para um utilizador significa que nenhuma informação foi correctamente recebida pelo referido utilizador.
Tabela II TX# Conjunto Ui u2 u3 Comentários 1 01 01 X X Ui recebe o segundo pacote regular 2 10 X 10 X U2 recebe o primeiro pacote regular 3 11 X X 11 U3 recebe um pacote composto 4 12 12 X X Tem que ir para lá do campo {0,1} para encontrar uma nova codificação linearmente independente: "12". 5 01 ' X X Ui recebe uma classificação completa de modo que só U2 e U3 são considerados. Nenhum recebe. 6 01 _ X 01 U3 o segundo pacote regular. 7 01 01 Ui e U2 estão em classificação completa, de modo que somente U2 é considerado. U2 recebe o segundo pacote regular.
Quanto à tabela III a seguir, será descrito ainda outro exemplo de um cenário de transmissão. Neste exemplo particular, consideramos um emissor com três pacotes de dados regulares a serem transmitidos para três receptores/utilizadores Ui, U2 e U3. ΡΕ2098005 25
Tabela III TX# Conjunto Ui u2 u3 Comentários 1 001 001 X X Ui recebe o terceiro pacote regular 2 010 X 010 X U2 recebe o segundo pacote regular 3 100 X 100 X U2 recebe o primeiro pacote regular 4 101 101 X X Pode não enviar 110 (dado que a classificação para U2 não iria aumentar) , mas 101 e 011 OK. U2 recebe pacote composto com base em ponderações 101. 5 011 X X 011 U3 recebe pacote composto baseado nas ponderações 011. 6 111 X X 111 recebe pacote composto baseado nas ponderações 111. 7 211 X 211 X Tem que ir para lá do campo {0,1} para encontrar uma nova codificação linearmente independente: 211. U2 recebe pacote composto baseado em ponderações 211. 8 110 110 X U2 recebe uma classificação completa de modo que só U3 e U3 são considerados . 9 001 - - 001 Ui e U2 recebem uma classificação completa de modo que só é considerado.
Note-se na tabela II que cada utilizador recebe apenas dois pacotes de dados diferentes, que podem ser compostos por pacotes de dados, pacotes de dados regulares 26 PE2098005 ou uma combinação de ambos. Pode também ser confirmado que cada utilizador é passivel de determinar os dois pacotes de dados regulares dado que foi assegurado que a cada utilizador em cada transmissão está garantido receber uma nova combinação linear de pacotes de dados regulares. 0 mesmo aplica-se à tabela I e tabela III.
Tal como notado acima, a possibilidade especial de seleccionar adaptativamente um vector de ponderação que tem pelo menos duas ponderações de codificação diferentes, diferentes de zero, melhora a capacidade para formar sempre um pacote de dados composto que representa uma nova codificação linearmente independente de pacotes de dados regulares diferentes de qualquer pacote de dados (pacote de dados regular ou pacote de dados composto) previamente recebido por cada receptor para todos ou um subconjunto relevante de receptores durante a sessão de multidifusão. Sob certas circunstâncias, especialmente quando o número de utilizadores é grande, isto pode ser importante uma vez que a capacidade de transmitir pacotes de dados novos linearmente independentes (pacotes de dados regulares e/ou compostos) para cada receptor em, pelo menos, uma maioria das instâncias de transmissão durante uma sessão multidifusão irá melhorar significativamente o desempenho do débito para a multidifusão fiável.
Em geral, ao transmitir sistematicamente uma série de pacotes de dados multidifusão ou gerais (pacotes de dados regulares e/ou compostos) que são linearmente 27 ΡΕ2098005 independentes de qualquer pacote de dados multidifusão (pacote de dados reqular ou pacote de dados composto) previamente recebidos por um conjunto de receptores durante uma sessão multidifusão será suficiente enviar apenas N de tais pacotes de dados para recuperar todos os pacotes de dados regulares N, obtendo-se assim o débito máximo. Se, contudo, um receptor recebe mais do que N pacotes de dados que só são baseados em pacotes de dados regulares N, ainda será apenas possível recuperar os N pacotes de dados regulares.
Comparado com a multidifusão convencional ARQ, a invenção requer que sejam enviados menos pacotes de dados multidifusão do emissor para os receptores para assegurar a recepção correcta de pacotes de dados transmitidos. A invenção proporciona uma estratégia para multidifusão fiável com limites determinísticos quanto ao número de pacotes que têm de ser recebidos para descodificação.
Num exemplo de forma de realização da invenção, também é possível formar vários pacotes de dados numa dada instância de agendamento e transmitir vários pacotes compostos numa rajada. Com uma tal instância de agendamento, são normalmente formados vários pacotes de dados compostos usando a mesma informação de retorno de modo que os vários pacotes de dados compostos são dependentes uns dos outros (embora cada um deles seja ainda linearmente independente de pacotes anteriormente recebidos por cada receptor do conjunto relevante de receptores bem como nos pacotes PE2098005 compostos transmitidos anteriormente na rajada). Se este for forçado sistematicamente numa pluralidade de instância de agendamento, pode ser possivel reduzir a sinalização de retorno necessária para transferência de uma determinada quantidade de informação de multidifusão.
Para uma melhor compreensão da invenção, será agora descrito sumariamente um exemplo de procedimento ARQ geral tomando como referência o diagrama de fluxos esquemático da figura 3.
No passo Sl, um ou mais pacotes de dados é/são enviadas de um ou mais nós na operação de envio para pelo menos dois nós receptores. Cada pacote de dados individual serve para todos os nós receptores considerados, isto é, os pacotes de dados são "pacotes de dados multidifusão". A transmissão de pacotes de dados pode ocorrer em simultâneo ou subsequentemente, dependendo da tecnologia de transmissão. No passo S2, os nós receptores armazenam os respectivos pacotes de dados que foram recebidos correctamente (correctamente desmodulado, descodificado em FEC) . No passo S3, os nós receptores retornam informação, dos pacotes recebidos, para o(s) nó(s) emissor(es). No passo S4, o nó emissor forma, se for vantajoso, um pacote de dados de multidifusão composto usando os conhecimentos do retorno de pacotes de dados recebidos dos nós recebidos 110, 120, ou alternativamente envia um pacote de dados multidifusão regular. O pacote de dados multidifusão composto é normalmente formado com base em vários pacotes PE2098005 de dados multidifusão regulares seleccionados para serem (re)transmitidos. Por exemplo, o número de bits no pacote multidifusão composto pode vantajosamente ser menor do que a soma do número de bits das partes dos pacotes que se encontram codificados em conjunto. 0 nó emissor pode formar uma pluralidade de diferentes pacotes multidifusão compostos para transmissão, possivelmente em combinação com a transmissão de pacotes de dados multidifusão regulares, para optimizar a eficiência de débito. No passo S5, o nó emissor transmite o pacote de dados de multidifusão composto ou um pacote de dados multidifusão regular seleccionado para todos os nós receptores. Após a recepção do pacote de dados multidifusão composto, os nós receptores descodificam, se possível, o pacote de dados multidifusão composto e extrai os respectivos dados multidifusão que eram anteriormente desconhecidos dos respectivos nó receptores. No processo de descodificação e extracção são preferencialmente utilizados os pacotes de dados multidifusão anteriormente descodificados em FEC pelo receptor.
Neste contexto, a invenção visa especificamente a formação (codificação) de pacotes compostos e a decisão (programação) de quais pacotes de dados regulares utilizar (e como) em cada pacote de dados compostos. Num certo sentido, a formação de um pacote de dados composto pode ser considerada como um procedimento conjunto de agendamento e de codificação. Isto diz respeito principalmente ao lado do emissor, tal como ilustrado no diagrama de fluxo 30 ΡΕ2098005 esquemático da figura 4. No passo Sll, o emissor recebe informação de retorno indicando os pacotes de dados recebidos dos receptores. Tal como mencionado anteriormente, uma caracteristica fundamental da invenção é o de formar pelo menos um pacote de dados multidifusão composto como uma combinação linear ponderada de pacotes de dados regulares com base num conjunto cuidadosamente seleccionado de ponderações de codificação, tal como indicado no passo S12 e S13. As ponderações de codificação para pelo menos um pacote de dados composto são adaptadas no passo S12 baseado em informação de retorno sobre pacotes de dados recebidos anteriormente de modo a que o pacote composto represente uma nova codificação de pacotes de dados regulares linearmente independentes de qualquer pacote de dados previamente recebido por cada receptor numa conjunto relevante de receptores durante uma sessão multidifusão. Isto significa que as ponderações de codificação são adaptativamente seleccionadas em resposta a pacotes de dados anteriormente recebidos por cada receptor, através do retorno, para garantir uma nova codificação linearmente independente de pacotes de dados regulares. No passo S 13, o pacote de dados composto é formado, de preferência pela multiplicação dos pacotes de dados regulares com os correspondentes ponderadores de codificação adaptados. No passo S14, o pacote de dados composto formado é transmitido para os receptores. Tal como ilustrado no fluxo ARQ geral da figura 3, o procedimento é de preferência repetido até que todos os pacotes regulares na sessão multidifusão tiverem sido transferidos para todos PE2098005 os utilizadores relevantes do grupo multidifusão. Opcionalmente, vários pacotes de dados compostos podem ser formados e transmitidos a uma determinada instância de agendamento por passos de repetição S12- S14 tal como indicado pela linha a tracejado na figura 4. Isto será descrito pormenorizadamente mais tarde. 0 retorno dos nós receptores para o nó emissor pode ser de preferência ser uma parte de um procedimento de confirmação (ACK). As mensagens de retorno podem ser tipicamente compostas de vários modos, por exemplo dependendo dos protocolos de transmissão utilizados, o procedimento ARQ e assim por diante.
Poderão ser utilizados com a invenção vários processos e formatos de codificação, tal como será descrito pormenorizadamente a seguir.
Deverá ser entendido que, com a presente invenção, não há nada que impeça que o procedimento geral comece no passo SI (veja a figura 3) através da transmissão de um pacote de dados composto.
Deve também notar-se que as transmissões podem ocorrer ao mesmo tempo, se for utilizada uma tecnologia de transmissão que permita transmissões simultâneas, por exemplo acesso múltiplo por divisão de frequência ortogonal (OFDMA), ou seja, um primeiro pacote e um segundo pacote são enviados simultaneamente mas não em conjuntos 32 ΡΕ2098005 sobrepostos de subportadoras OFDM. A retransmissão também pode ocorrer simultaneamente.
Numa abordagem mais matemática para explicar a invenção, os pacotes de dados multidifusão recebidos previamente (pacotes de dados regulares e/ou compostos), para cada receptor, podem ser descritos como um sistema linear de equações com base numa matriz de vectores de ponderação. Para um pacote de dados composto anteriormente recebido o vector de ponderação denotado ω incluirá um conjunto de ponderações de codificação, enquanto que para um pacote de dados regular recebido anteriormente o vector de ponderação irá incluir uma única ponderação de codificação diferente de zero. Na instância de codificação e programação, quando se forma um novo pacote de dados composto para transmissão para os receptores, a ideia é seleccionar adaptativamente as ponderações de codificação da combinação linear ponderada dos pacotes de dados regulares com base no retorno de pacotes de dados recebidos anteriormente de tal forma que a classificação irá aumentar para o sistema linear de equações de cada receptor considerado. 0 aumento na classificação corresponde à formação de uma nova linha linearmente independente em cada matriz especifica de receptor de vectores de ponderação, o que é equivalente a uma nova codificação linearmente independente de um pacote de dados multidifusão.
Agora, com cada utilizador tendo recebido um ou mais pacotes de dados multidifusão (pacotes de dados ΡΕ2098005 regulares e/ou compostos) pode-se ver isso como um sistema de equações lineares onde os pacotes de dados multidifusão transmitidos são conhecidas, as ponderações são conhecidas, e cada um de um conjunto de receptores deseja resolver o seu sistema linear de equações, a fim de determinar e descodificar os pacotes de dados regulares. No lado do transmissor, o objectivo é o de gerar (agendar e codificar) um sistema adequado de equações, e no lado do receptor, o objectivo é resolver (descodificar) o sistema linear de equações e extrair os pacotes de dados regulares.
Se um novo pacote de dados multidifusão linearmente independente for transmitido de cada vez de tal forma que a classificação aumente sucessivamente para cada pacote de dados recebido (para cada utilizador que recebe o pacote de dados), ou pelo menos na maioria das vezes, a eficiência do débito será significativamente melhorada. No caso anterior, quando um novo pacote de dados multidifusão linearmente independente é transmitido de cada vez, a capacidade de descodificação de N pacotes de dados regulares pode ser garantida quando tiverem sido recebidos simplesmente pacotes de dados N, uma vez que a matriz de vectores de ponderação irá incluir N linhas linearmente independentes das quais todos os pacotes de dados regulares N podem ser recuperados. Uma vez que a classificação da matriz aumenta por cada pacote de dados recebido, será suficiente garantir que todos os utilizadores recebem apenas N pacotes de dados para descodificar e recuperar todos os pacotes de dados regulares N. 34 PE2098005
Além disso, para garantir que a classificação aumenta para todos ou um subconjunto dos receptores considerados, os inventores reconheceram que por vezes não é suficiente usar ponderações que só podem assumir os valores 0 e 1. Algumas vezes, quando o número de nós receptores é grande em relação ao número de pacotes regulares que se pretende transferir, será vantajoso usar um vector de ponderação que tenha pelo menos duas ponderações de codificação diferentes de zero, tal como anteriormente explicado.
Note-se que embora a combinação linear possa, em principio, ser realizada com a aritmética regular, fazendo com que os bits de transporte sejam gerados para o pacote composto, é preferível utilizar uma métrica que assegure que o comprimento do pacote composto seja substancialmente o mesmo que para os pacotes regulares. Assim é preferida e assumida no seguinte a aritmética baseada nos campos finitos. Um tipo possível de aritmética é a denominada aritmética de módulo, mas a invenção não se encontra limitada à mesma. De referir ainda que a operação de codificação linear pode ser efectuada no pacote de dados completo, ou em alternativa, os pacotes de dados regulares são divididos em várias subcadeias de caracteres mais manejáveis em que a mesma operação de codificação linear é executada. 35 ΡΕ2098005
Note que, a seguir, será assumido que operamos com qualquer tipo de aritmética que proporcione as mesmas regras que na aritmética tradicional, que permite gerar (programação e codificação) e resolver (descodificação) um sistema linear de equações. Assim, sem perda de generalidade, as equações serão escritas a seguir com uma notação aritmética tradicional.
Em primeiro lugar, cada informação a priori do utilizador, ou seja, pacotes de dados multidifusão geral anteriormente recebido (pacotes de dados regulares e/ou compostos) , pode ser descrito como um sistema linear de equações de acordo com
0) onde dn é o valor de n:° pacote regular, é o valor para o pacote de dados multidifusão geral mk:° para o utilizador é um factor de ponderação para o utilizador k e pacote regular n e pacote de dados mk multidifusão geral recebido pelo utilizador k, Mk é o último pacote de dados recebido pelo utilizador k, e N é o número total de pacotes regulares a serem comunicados. Note-se que cada utilizador pode ter recebido um número diferente de pacotes de dados multidifusão, e, por conseguinte, o indice k na variável 36 PE2098005
Agora, para simplificar a notação, podemos escrever (1) em forma de matriz para o utilizador k:
Ck - WêD (2)
Gerar (codificação) e resolver (descodificação) o sistema de equações lineares pode, tal como foi indicado anteriormente, ser realizado com a aritmética normal, "módulo aritmética" ou qualquer outra aritmética adequada.
Os valores que as ponderações podem assumir encontram-se tipicamente limitados em número. Além disso, a invenção não impõe especificamente que valores se podem assumir para as ponderações, quais poderiam ser seleccionados de um conjunto arbitrário como {0,...,3} ou mesmo algum conjunto arbitrário mais imaginativo tal como {0,1,2,3,5,7,11,13}. Quanto maior o número de valores que podem ser assumidos, maior o grau de liberdade que é introduzido, que ajuda a encontrar um vector de código que pode ser utilizado para formar um pacote de dados composto. Também, quanto maior o número de pacotes envolvidos, maior o grau de liberdade que ajuda a encontrar um vector de código que pode ser utilizado para formar um pacote de dados composto.
No entanto, o alfabeto para as ponderações dos vectores de código deve ser tipicamente suficientemente PE2098005 grande para obter um grau de liberdade suficiente para permitir que todos os utilizadores considerados obter N equações linearmente independentes. No entanto o alfabeto não tem que ser muito grande. As simulações mostram que para K= 20 utilizadores, N= 6 pacotes, onde as probabilidades de recepção para os utilizadores são independentes e cada probabilidade de recepção é aqui assumida como sendo p=0,05, sendo o tamanho do alfabeto (ou de modo equivalente base b) suficiente com apenas 3 elementos {0,1,2} (ou de modo equivalente base b=3) .
Para se ter uma ideia do valor minimo para a base b (ou de modo equivalente o número mínimo de elementos no alfabeto), sabemos que o número de palavras senha bN tem que ser maior do que cada um dos utilizadores K recebe, no pior dos casos, N diferentes pacotes de dados multidifusão. Assim, a condição é bN > N*K. Embora, isso não é uma estimativa perfeita, ainda indica que b, N e K estão interligados. Existe também normalmente uma dependência da probabilidade de recepção p tal como uma elevada probabilidade de recepção, existe uma elevada probabilidade de que vários utilizadores recebam o mesmo pacote de dados.
Note também que é possível que uma linha em Wk e o vector de código ou vector de ponderação ω contenha apenas um único elemento diferente de zero. Isto é equivalente a enviar apenas um único pacote regular para o pacote de dados multidifusão geral. A invenção utiliza de 38 ΡΕ2098005 preferência aritmética de campos finitos que pode utilizar mais elementos do que apenas "0" e "1". Quando o número de utilizadores é grande e o número de pacotes de dados regulares para transferência é pequeno, isso irá garantir encontrar novas combinações lineares.
Numa abordagem sistemática, quando é desejável encontrar uma nova combinação linear de cada vez, o funcionamento do núcleo é como se segue: - Considere um grupo de vários utilizadores, onde os utilizadores estão indexados por k Com N pacotes de dados regulares para multidifusão - Para cada utilizador k, recupera a matriz de ponderação Wk - vk selecciona um vector de código ω de modo a que
Classif. (W' k) =Classif . (Wk)+1, em que
para aqueles k em que classif. (Wk) <N - Formar e enviar um pacote composto baseado no vector de código ω Actualizar todas as matrizes de ponderação baseadas no retorno da recepção_
Uma outra fórmula equivalente que também produz um aumento de classificação é a seguinte: 39 ΡΕ2098005 - Considere um grupo de vários utilizadores, onde os utilizadores estão indexados por k Com N pacotes de dados regulares para multidifusão - Para cada utilizador k, recupera a matriz de ponderação - Determine o espaço nulo para e indique o mesmo —k - vk selecciona um vector de código ω de modo a que *[Ο,Ο,.,.,Ο] para aqueles k que classif. (Wjc) <N - Formar e enviar um pacote composto baseado no vector de código ω Actualizar todas as matrizes de ponderação baseadas no retorno da recepção_
Tal como explicado anteriormente, uma outra maneira de formular isto é dizer que se selecciona uma das ponderações de codificação de tal modo que uma nova codificação linearmente independentes dos pacotes de dados regulares é enviada de cada vez. A operação acima assegura que qualquer utilizador que recebe um pacote de dados multidifusão geral irá sempre aumentar a sua classificação. Quando um utilizador tiver N pacotes de dados multidifusão, o sistema de equações terá N linhas linearmente independentes, ou seja classificação completa. Assim, o utilizador pode descodificar todos os pacotes de dados regulares quando recebe apenas o número 40 ΡΕ2098005 mínimo de pacotes de dados multidifusão gerais. Como pode demorar mais tempo para algum utilizador receber os seus pacotes de dados multidifusão N, alguns outros utilizadores podem receber os seus N pacotes de dados necessários multidifusão e, em seguida, alguns pacotes de dados posteriores que são redundantes e podem ser descartados (ou não recebidos) .
Uma abordagem possível para encontrar um vector de código adequado ω é baseada em iterativamente testar hipóteses de vectores de código de tentativa ω. Por exemplo, seleccione um alfabeto (isto é, um campo) de valores que os elementos do vector de código ω possam assumir. Dado o alfabeto, encomende uma lista com todas as permutações possíveis, isto é, uma lista que tem bN vectores de código candidatos (onde b é o número de elementos no campo, e N é o número de pacotes de dados regulares a serem transferidos). Percorra a lista desde o início até ao fim (ou melhor, tanto quanto necessário) e por sua vez atribua cada artigo da lista como um vector de código candidato ω. Para cada vector de código candidato ω, testar se se encontra garantida a condição de acordo com o algoritmo de codificação/programação (ou seja, a classificação aumenta ou alternativamente a projecção do vector diferente de zero de ω no espaço nulo) para todos os utilizadores matrizes de ponderação de classificação não completa com as matrizes de ponderação de classificação não-completa. Se a condição estiver cumprida, seleccione o vector de código candidato como o vector de código ω. 41 ΡΕ2098005
Na prática, um vector de código candidato pode ser criado adicionando o valor " I " ao vector de código candidato anterior, ou seja simplesmente um contador. Para permitir que um conjunto adequado de valores para as ponderações, por exemplo de zero até algum número b-1, o vector de código candidato pode usar e contar com base b, em que cada algarismo irá corresponder a uma ponderação.
Como uma alternativa à contagem para cima com base b para o próximo candidato de vector de código, pode-se em vez disso passar por todos ou um conjunto de palavras com a ponderação " I ", ou seja, apenas uma ponderação é diferente de zero, e depois todas ou um conjunto de combinações de palavras com ponderação "2" e assim por diante. A ideia aqui é a de manter o número de elementos de ponderação diferente de zero o mais baixo possível para minimizar a codificação e complexidade de descodificação. Para pelo menos um vector de código, no entanto, haverá, pelo menos, duas ponderações de codificação diferentes de zero, de acordo com a invenção.
Como uma alternativa, pode ser possível determinar o vector de código directamente de espaços nulos das matrizes de ponderação. Para cada utilizador k, considere a matriz de ponderação Wjc e determine um espaço nulo associado e indique-o Ξ*. Para cada utilizador k, temos agora que gerar um vector de código ω com a PE2098005 propriedade de que ele tem uma projecção diferente de zero em pelo menos um dos vectores em Ek. Sabemos que, se o vector de código ω for seleccionado como uma das bases em Ek, digamos o primeiro vector de espaço nulo ξ]<, teremos a projecção diferente de zero desejada para esse utilizador. No entanto, temos que garantir que isto é verdade para todos, ou pelo menos um dado subconjunto de utilizadores. Uma maneira de abordar isto é a formação de uma sobreposição sobre todos os vectores de espaço do primeiro zero dos utilizadores considerados ξ* em Ξ*. No entanto, é preciso evitar que qualquer vector ξk seja cancelado pelo outro ξ]< devido à sobreposição. Se isto não for conseguido, pode-se alterar as ponderações para a sobreposição ou escolher um ou mais ξι^ como não sendo o primeiro vector no respectivo espaço nulo Ek. Assim, a tarefa é a de encontrar um vector de código ω de modo a que oncie " ·" é o produto escalar.
Como uma alternativa ou complemento, pode também ser possivel abordar a ideia de um ponto de vista de optimização pois existem inúmeros vectores de código candidatos diferentes ω que podem ser seleccionados em cada instância. 0 objectivo da optimização deve ser de preferência assegurar que sejam necessários apenas um número reduzido de operações de codificação e descodificação, isto é, na sua essência tornando Wk o mais escasso possivel. Tal critério de optimização para ω pode ser heurístico de acordo, mas não limitado, a: 43 ΡΕ2098005 - Minimizar ω 1, em que 1 é o vector de coluna de um ou, - Minimizar o conjunto de elementos diferentes de zero em ω ou, - Minimizar ω.ωτ, em que Té a transposição do vector
Do lado do emissor, para manter a complexidade tão baixa quanto possivel, por exemplo, ao determinar a classificação, uma implementação deste algoritmo pode usar os resultados e versões processados de matrizes de ponderação da ronda de cálculo anterior. Por exemplo, utilizando o resultado de eliminação gaussiana realizada nas últimas rondas é o novo Wk se o pacote foi recebrdo com sucesso pelo utilizador k. 0 cálculo da classificação para uma nova para a próxima ronda pode basear-se na W' forma de Gauss eliminada de £ da ronda anterror com um vector de código provisório ω alterado.
Da mesma forma que para o lado do emissor, o lado do receptor pode utilizar resultados e versões processadas de matrizes de ponderação da recepção de pacotes de dados multidifusão anteriores. Por exemplo, pode ser utilizado o resultado de eliminação(ões) Gaussianas anterior(es). 44 ΡΕ2098005
Processos de codificação
Um exemplo de codificação apropriado para a presente invenção é, de preferência, baseado em codificação XOR bit a bit, devido à sua simplicidade. A operação XOR corresponde a ponderações de codificação tal como descrito anteriormente.
Muitos processos diferentes para em conjunto codificar em XOR e, em seguida, identificar quais os pacotes são codificados em conjunto, podendo ser imaginados j untos.
Um exemplo de possíveis formatos de código de quadro é dado tomando como referência as ilustrações da figura 5. Neste exemplo, dois pacotes de dados (A) 1005 e (B) 1010 são conjuntamente codificados para formar o pacote de dados multidifusão composto 1015. A carga útil pode ser XO-Rdada directamente, mas precisam de ser proporcionados meios para identificação sobre que pacotes individuais foram codificados juntos. No exemplo de processo de codificação da figura 5, identificadores (por exemplo, cabeçalhos ou subconjuntos de informações relevantes de cabeçalhos dos pacotes individuais) dos pacotes codificados conjuntamente envolvidos (aqui são mostrados apenas dois pacotes, mas a ideia pode ser facilmente estendida para mais pacotes) são sinalizados num cabeçalho do pacote composto 1020. Um identificador pode, por exemplo, incluir o endereço do remetente, endereço multidifusão, e número de PE2098005 sequência do pacote para cada pacote codificado. Para além dos identificadores, o cabeçalho do pacote composto sinaliza também de preferência o formato do pacote multidifusão composto, ou seja, onde os pacotes são colocados no pacote multidifusão composto. Por exemplo, se houver dois pacotes e um dos pacotes contém menos bits do que o outro pacote, como na figura 5, é normalmente também indicado o número de bits contidos no pacote com menos bits, bem como a posição do primeiro bit do pacote mais curto. Quando o número de bits difere é utilizada a zona de preenchimento 1025, tal como na figura 5 com o pacote B 1010. O campo do formato do cabeçalho 1020 do pacote composto pode também indicar que dois pacotes B e C são concatenados um depois do outro (não mostrado) e, em seguida, codificados com, por exemplo, um terceiro pacote A ou mais pacotes. O pacote composto inteiro, incluindo o cabeçalho, é então de preferência codificado em FEC.
Depois de descodificação FEC correcta e detectar um CRC 1030 correcto, o cabeçalho do pacote composto exemplificado permite a fácil identificação de quais os pacotes que foram codificados juntos. O receptor pode então usar essa informação para buscar um pacote conhecido à priori do armazenamento de pacotes de dados descodificado, e extrair o(s) outro(s) pacote(s). Deve notar-se que o cabeçalho do pacote composto pode também conter outra informação. Outra versão do formato do pacote (não representada) diferente daquele ilustrado acima é para sinalizar o cabeçalho do pacote composto numa mensagem de PE2098005 radiodifusão comum, ou seja, um tipo de sinalização fora-de-banda, enquanto codifica as cargas úteis de vários pacotes. Ainda um outro processo de codificação (não representado), pode envolver uma abordagem de identificação cega, isto é, testar hipóteses de mensagens codificadas, em que ambos os cabeçalhos e cargas úteis de pacotes são codificados em conjunto, contra a base de dados de informação à priori e utilizando uma verificação CRC para testar a validade do teste de hipóteses. A presente invenção não está limitada ao uso de operações XOR na codificação dos pacotes de dados compostos. A operação XOR é a soma linear sobre o campo F (2) com os elementos {0,1}. Tal como mencionado acima, o inventor percebeu que, quando o número de receptores aumenta, torna-se importante estender o campo com mais elementos para permitir que a classificação de cada matriz do receptor possa aumentar em cada transmissão. Assim, o campo pode ser ampliado para 3 elementos {0,1,2}, quatro elementos {0,1,2,3} etc.. De um modo geral, é bem conhecido na teoria de codificação geral de que os campos precisa ter pm elementos em que p é um número primo e m é um número inteiro positivo, a fim de serem bem definidos. É também bem conhecido que os campos com o mesmo tamanho são isomorfos no sentido em que não importa se o campo contém diferentes elementos, digamos {0,1,2} ou {2,3,7}. Além de identificadores (por exemplo, cabeçalhos ou subconjuntos de informação relevante de cabeçalhos dos pacotes individuais) dos pacotes codificados conjuntamente envolvidos, os 47 ΡΕ2098005 valores dos vectores de ponderação utilizados quando o campo é maior do que dois elementos, tal como descrito acima, encontram-se também de preferência assinalados num cabeçalho de pacote composto 1020.
Um outro exemplo de uma operação de codificação adequada para usar no processo de acordo com a invenção baseia-se no operador do módulo operar em constelações de sinal, ou seja, após a codificação e modulação FEC. Por constelação de sinal, a codificação de símbolos é considerada a seguir, e o procedimento pode ser repetido para vários símbolos da constelação de sinais consecutivos. A operação de módulo é neste exemplo realizada tanto para a parte real como imaginária independentemente quando se manipula números complexos e utiliza uma definição da operação do módulo e a observação matemática que: ((Λ+- ,§)niod£ = (A)moáL, que indica que um sinal B valorizado verdadeiro pode ser sobreposto a um sinal A valorizado verdadeiro e permite a recuperação sem perturbações do sinal (desde que o sinal de A não exceda o nível de quantificação L) , enquanto que a amplitude (e portanto a potência) esteja limitada ao sinal composto (codificado de forma não linear).
Na prática, isto pode ser usado como se segue. O emissor tem símbolos Si e S2 que normalmente assumem valores distintos. Por exemplo, em 16 QAM, 48 ΡΕ2098005
Sjefivl Agora, à medida que o receptor tem conhecimento da sequência de dados D2 (n), ele também tem conhecimento do símbolo correspondente S2 (para cada Si) . Em seguida, para a parte real (e igualmente para a parte imaginária) , o sinal codificado em conjunto no transmissor é 4 que é depois recebido e equalizado, ou seja compensado pela perda de percurso (assegurar que os respectivos eixos de fase em fase e em quadradatura se encontram alinhados com o sinal de que é subtraído), para produzir o sinal recebido
Rm »+ S?* )mod L 4 Nm, em que N(Re) é o termo de ruído (e interferência) . 0 sinal desejado é então recuperado com
)mod l JmodI = +Nm)maáL A codificação poderia também ser conseguida por quantificação por meio de uma retícula de dimensão mais elevada do que apenas uma quantificação dimensional tal como foi descrito acima. Neste caso, a quantificação opera num vector, em vez de um escalar.
Geralmente um nó receptor pode não ter imediatamente todas as informações necessárias para descodificar totalmente e extrair os dados próprios do PE2098005 pacote de dados multidifusão composto, mas ter que esperar para receber mais pacotes de dados. Se for este o caso, o nó receptor pode descodificar parcialmente o pacote de dados multidifusão composto, e armazenar o resultado, um pacote de dados de multidifusão composto residual, para processamento adicional quando informação adicional estiver disponível. Esta descodificação pode, para cada receptor, ser realizada através do cálculo da forma escalonada de fila reduzida de acordo com a matriz de código actual e realizar uma forma escalonada reduzida actualizada para cada novo pacote de dados recebido (regular ou composto). Alternativamente, o pacote de dados multidifusão composto é armazenado sem tentar descodificar, até que o nó receptor tenha adquirido todas as informações necessárias. A informação sobre a informação necessária para descodificar a maior parte do pacote de dados multidifusão composto pode por exemplo estar compreendida num cabeçalho. Também esta descodificação pode ser realizada por uma abordagem de forma escalonada de fila reduzida. Cada receptor está essencialmente interessado em inverter a matriz de código (dentro do campo que está a utilizar) e multiplicar isso com os pacotes de dados recebidos. Para ser mais preciso, isto tem de ser feito, tal como para a operação de codificação, para cada subcadeia de bits na qual o pacote de dados se encontra dividido.
Através da utilização de pacotes de dados regulares e compostos, e deixando ambos o nó de envio (por meio da informação de retorno) e o nó de recepção explorar 50 PE2098005 esta informação, é possível reduzir o número de transmissões necessárias para transferir uma certa quantidade de dados de um nó para outro. Isto irá melhorar o débito do agregado, bem como o débito do utilizador individual (ou equivalentemente, nó). Além disso, as características de latência extremidade a extremidade serão melhoradas. Em alternativa, dependendo das condições, o número reduzido de transmissões pode ser usado para melhorar a eficiência da potência e energia num sistema de comunicações com um emissor e vários receptores.
Deverá ser entendido que o emissor pode utilizar e explorar toda a informação de retorno disponível sobre os pacotes de dados recebidos. Adicionalmente à informação de retorno descrita acima, a informação suplementar tal como a informação sobre a Qualidade de Serviço (QdS) e as características do pacote de dados pode também ser utilizada quando se forma os pacotes de dados compostos. A figura 6 é um diagrama de blocos esquemático ilustrando um sistema para a transmissão multidifusão de pacotes de dados de um emissor para vários utilizadores de acordo com um exemplo preferido de forma de realização do invenção.
Os módulos e blocos descritos a seguir podem, dependendo da forma de realização escolhida, ser considerados como partes funcionais de um nó emissor e/ou receptor num sistema de comunicação, e não necessariamente PE2098005 como objectos fisicamente distintos em si. As ligações podem deste modo ser interpretadas como ligações entre partes funcionais e não necessariamente ligações físicas. O sistema global é baseado num emissor 100 que comunica com um número de utilizadores 200-1 a 200-K através de canais de comunicação ou ligações mais ou menos propensos a erros. 0 emissor tal como o nó de envio 100 compreende basicamente um módulo de memória tampão de dados 110, um registo ACK 120, um programador multidifusão 130, um codificador de pacote de multidifusão 140, bem como alguma forma de meios de transmissão, o qual proporciona as funcionalidades necessárias para realizar a transmissão multidifusão actual. O emissor pode também compreender meios para o tratamento de informação em unidifusão (não mostrado). O módulo de memória tampão de dados 110 detém temporariamente pacotes de dados para programação/codi-ficação posterior e transmissão para os utilizadores/re-ceptores 200.
Tipicamente, tal como previamente descrito, o nó emissor 100 envia primeiro um ou mais pacotes de dados regulares. Dado que a informação de retorno se torna disponível dos receptores e podem ser formados pacotes 52 ΡΕ2098005 multidifusão compostos, o nó emissor pode também formar e enviar um ou mais pacotes de dados multidifusão compostos. 0 programador multidifusão 130 considera que pacotes de dados residem no módulo de memória tampão de dados 110, e também considera a informação ACK dos diferentes nós receptores armazenados no registo ACK 120.
Basicamente, o programador multidifusão 130 realiza a programação de pacotes de dados regulares disponíveis no módulo de memória tampão de dados 110 pela determinação de um conjunto de ponderações de codificação baseado no retorno ACK no registo ACK 120. O programador multidifusão 130 informa o codificador de pacote de dados multidifusão 140, o qual forma ou codifica um pacote de dados multidifusão composto como uma combinação linear ponderada de pacotes de dados regulares com base nas ponderações de codificação seleccionadas. Este denominado agendamento e codificação conjuntos encontra-se ilustrado pormenorizadamente na figura 7. O programador multidifusão 130 tem um módulo funcional para a determinar/adaptar as ponderações de modo a que pode ser formada uma nova codificação linearmente independente como e quando necessário. Tal como assinalado anteriormente, esta codificação pode, numa forma de realização específica, ser baseada num conjunto de ponderações de codificação (este conjunto de ponderações é também designado como um vector de codificação) que inclui pelo menos duas ponderações de codificação diferentes de zero. 53 ΡΕ2098005 0 programador multidifusão 130 é normalmente configurado para processar as operações ARQ multidifusão regulares/convencionais. O conhecimento suplementar pode também ser utilizado para o agendamento. A informação suplementar pode incluir, mas não está limitada a: requisitos de QdS para a possibilidade de atender a aspectos da programação da QdS, bem como o estado de pacotes individuais, tais como o seu valor TTL (Time to Live) .
Um receptor tal como um nó receptor 200 compreende basicamente os meios de recepção, que fornece as funcionalidades necessárias para efectuar a efectiva recepção, um descodificador 210 de pacote de dados multidifusão com funcionalidades de retorno, bem como um módulo de memória tampão de dados 220. O módulo de memória tampão de dados está normalmente configurado para armazenar os pacotes de dados que não tenham ainda sido entregues às unidades receptoras k.
Quando um pacote composto é recebido, o descodificador 210 do receptor 200 identifica normalmente quais os pacotes que foram codificadas em conjunto. Usando os pacotes de dados multidifusão regulares, ou pacotes de dados multidifusão compostos, ou ambos, armazenados no módulo de memória intermédia 220 o descodificador tenta descodificar o pacote multidifusão composto para extrair os 54 ΡΕ2098005 pacotes de dados regulares individuais. 0 descodificador 210 está também configurado para emitir e processar mensagens de retorno, incluindo mensagens relacionadas com ARQ.
Após um receptor 200 ter recebido com sucesso um pacote de dados multidifusão (pacote de dados regular ou pacote de dados composto), ele envia uma mensagem de ACK para o emissor 100 para confirmar que recebeu o pacote, imediatamente ou com um ligeiro atraso. 0 atraso pode ser útil para não ocupar recursos e desperdiçar energia desnecessariamente devido à carga útil de cada pacote de retorno. A actualização é de preferência alcançada através dos meios ARQ do receptor e meios ARQ do emissor.
Além disso, note que um receptor 200 pode também actuar como um emissor se os dados forem posteriormente reencaminhados. O mesmo é verdadeiro para o emissor 60, ou seja, ele pode também actuar como um receptor para outros dados.
As formas de realização acima descritas são dadas apenas como exemplos, e deve ser entendido que a presente invenção não se encontra limitada a elas. As modificações adicionais, alterações e melhorias que mantenham os princípios básicos subjacentes aqui descritos e reivindicados estão dentro do escopo das reivindicações. 55 ΡΕ2098005
APÊNDICE A
Foi construído um simulador baseado no algoritmo de classificação aumenta a exigência para cada pacote de dados multidifusão transmitido para todos os utilizadores com um passo em cada ronda de iteração.
Os resultados finais da seguinte simulação representa as matrizes de ponderação para três utilizadores para os guais cinco pacotes de dados multidifusão devem ser enviados em canais de apagamento de pacotes i.i.d onde a probabilidade de recepção p=0,l e o vector de ponderação utilizou a base b=3. Note-se que, no máximo, uma única linha é adicionada em cada instância àquelas matrizes quando elas são construídas, sendo que essas matrizes apresentadas aqui representam o caso do primeiro de cinco pacotes de dados multidifusão recebidos. É fácil confirmar que cada matriz de ponderação tem classificação completa e que os pacotes de dados codificados podem ser todos recuperados para cada utilizador. '0 0 0 0 f 0 0 1 0 ô~ r° 0 1 1 0’ 0 0 0 1 0 0 0 ! 0 1 0 0 1 1 1 0 1 0 0 0 !, wa« l 1 0 0 I * 0 0 1 2 0 0 I 1 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0_ 1 2 0 0 0 [l 1 0 0 0
Além disso a simulação com outro número de pacotes e número de utilizadores confirmou experimentalmente 56 ΡΕ2098005 que a classificação completa pode sempre ser alcançada desde que a base b do vector de ponderação seja escolhida grande o suficiente para cuidar de um número suficiente de combinações para testar.
Note-se que o desempenho é aproximadamente T « p, quando p + 1 para todos os K, independentemente do número de pacotes. A invenção permite a eficiência de débito ideal para multidifusão totalmente fiável, ou seja, T = p quando a eficiência de débito é analisada para número infinito de pacotes. 0 sistema da invenção é deterministicamente descodificável, ou seja, em contraste com a codificação fontanal (FC) é suficiente receber apenas exactamente o mesmo número de pacotes codificados para recuperar a mesma quantidade de pacotes de dados regulares. 0 desempenho FC, determinado pelo factor 1 + ε, é dependente do número de pacotes que são enviados. FC requer um grande número de pacotes, na ordem de 1000 e mais, para oferecer um baixo ε. Não existe essa dependência com a invenção proposta.
Referências [1] JW Byers, M. Luby, M. Mitzenmacher e A. Rege. A digital fountain approach to reliable distribution of bulk data. In Proceedings of ACM SIGCOMM, pág. 56-67, 1998.
[2] J. Byers, M. Luby, e M. Mitzenmacher, "A digital fountain approach to asynchronous reliable multicast", IEEE PE2098005
Journal on Selected Areas in Communications, 20(8), Out. 2002 .
[3] J. Sachs, M. Meyer, S. Wager, H. Huschke, M.W. Larsson, P. Larsson, "Method and devices for efficient data transmission link control in mobile multicast communication Systems". Pedido de patente US 2006/0154603.
[4] P. Larsson, N. Johansson, "Multi-User ARQ", In conference proceedings of VTC2006spring, Melbourne, 7-10 Maio, 2006.
[5] Shen Yong, Lee Bu Sung, "XOR retransmission in multicast error recovery”, (ICON 2000), Proceedings, IEEE International Conference on Networks, pág. 336-340, 2000.
[6] M.A. Jolfaei, S.C. Martin, J. Mattfeldt, "A new efficient selective repeat protocol for point-to-multipoint communication", 1993. ICC 93. Geneva. Technical Program, Conference Record, IEEE International Conference on Communications, Volume 2, 23-26 Maio 1993, pág. 1113 - 1117 vol. 2.
[7] Μ. A. Jolfaei, U. Quernheim, "Effective Block Recovery Schemes for ARQ Retransmission Strategies" IEEE Int. Symposium on Personal, Indoor and Mobile Radio Communications, 1994. Wireless Networks - Catching the Mobile Future. 5o Volume 3, reedição, 18-23 Set. 1994 pág.(s):781 - 785 vol. 3.
Lisboa, 27 de agosto de 2013

Claims (10)

  1. PE2098005 1 REIVINDICAÇÕES 1. Processo para programar e codificar pacotes de dados para transmissão numa sessão multidifusão de um emissor (100) para um grupo multidifusão de receptores, incluindo pelo menos dois receptores (200) num ARQ, pedido de repetição automática, multidifusão, sistema de comunicação para a transferência de uma determinada quantidade de informação multidifusão, caracterizado por os seguintes passos serem realizados em cada uma de uma pluralidade de instâncias de agendamento: - obter (S11) informação de retorno dos referidos pelo menos dois receptores (200) indicando os pacotes de dados recebidos, em que os pacotes de dados recebidos previamente, para cada receptor k, podem ser descritos como um sistema linear de equações com base numa matriz Wk, onde os elementos de cada matriz Wk para os pacotes de dados recebidos previamente são os ponderadores e cada ponderador ' "l·*» é um factor de ponderação individual associado a pacote de dados regular n para o pacote de dados multidifusão mk° recebido pelo receptor k, em que o pacote de dados multidifusão mk° é um pacote de dados regular, ou um pacote de dados composto formado por pelo menos dois pacotes de dados comuns. - formar (S13) pelo menos um pacote de dados composto como uma combinação linear ponderada de pacotes de dados regulares baseados num vector de ponderação 2 ΡΕ2098005 correspondente ω que compreende um conjunto de ponderações de codificação; - adaptar (S12), para cada um dos referidos pelo menos um pacote de dados composto, os referidos ponderadores de codificação do referido vector de ponderação ω com base na referida informação de retorno de modo a que, para cada receptor k desses receptores do referido grupo multidifusão que ainda necessita de receber um ou mais pacotes de dados multidifusão, o referido vector ω de ponderação irá formar uma nova linha linearmente independente numa matriz definida como w* w' â o L J para assegurar uma nova codificação linearmente independente dos pacotes de dados regulares; transmitindo (S14) o referido emissor (100) o referido pelo menos um pacote de dados composto para aqueles receptores do referido grupo multidifusão que ainda necessita de receber um ou mais pacotes de dados multidifusão.
  2. 2. Processo de acordo com a reivindicação 1, caracterizado por a referida sessão multidifusão estar definida para a transferência de pacotes de dados regulares N, e N pacotes de dados multidifusão linearmente independentemente codificados, sendo que os referidos pacotes de dados compostos são transferidos para o referido grupo multidifusão de pelo menos dois receptores (200) durante a referida sessão multidifusão para garantir a capacidade de descodificação de todos os pacotes de dados regulares N. 3 ΡΕ2098005
  3. 3. Processo de acordo com a reivindicação 1, caracterizado por as respectivas ponderações de codificação do vector de ponderação serem seleccionadas de forma adaptativa testando, em cada uma das referidas pluralidades de instâncias de agendamento, vectores de ponderação experimentais até que seja encontrado um vector de ponderação de ponderações de codificação que aumente a classificação da referida matriz de vectores de ponderação.
  4. 4. Processo de acordo com a reivindicação 1, caracterizado por as referidas ponderações de codificação do vector de ponderação ω serem seleccionadas de forma adaptativa, em cada uma das referidas várias instâncias de agendamento, pelo primeiro receptor k para o cálculo do espaço nulo na forma racional da respectiva matriz especifica do receptor, e em seguida seleccionarem qualquer vector desejado que se encontra no espaço nulo Ξ*, para o qual ω são adaptativamente seleccionados de modo que ς* ¥* em que »·» é 0 produto escalar.
  5. 5. Processo de acordo com a reivindicação 1, caracterizado por pelo menos dois receptores (200) compreenderem mais do que dois receptores, e o vector de ponderação de pelo menos um pacote de dados composto ter pelo menos duas ponderações diferentes de codificação diferentes de zero. 4 PE2098005
  6. 6. Dispositivo para programar e codificar pacotes de dados para transmissão numa sessão multidifusão de um emissor (100) para um grupo multidifusão de receptores incluindo pelo menos dois receptores (200) num sistema de comunicação multidifusão ARQ, pedido de repetição automática, para a transferência de uma determinada quantidade de informação multidifusão, caracterizado por o referido dispositivo (130, 140) se encontrar munido com meios para executar o seguinte procedimento operacional em cada uma de uma pluralidade de instâncias: - obter informação de retorno dos referidos pelo menos dois receptores indicando os pacotes de dados recebidos, em que os pacotes de dados recebidos previamente, para cada receptor k, podem ser descritos como um sistema linear de equações com base numa matriz W*, onde os elementos de cada matriz Wk para os pacotes de dados recebidos previamente são os ponde- radores *?·**.»** , e cada ponderador é um factor de ponderação individual associado a pacotes de dados regulares n para o pacote de dados multidifusão mk° recebido pelo receptor k, em que o pacote de dados multidifusão mk° é um pacote de dados regular, ou um pacote de dados composto formado por pelo menos dois pacotes de dados regulares; - formar pelo menos um pacote de dados composto como uma combinação linear ponderada de pacotes de dados regulares baseados num vector de ponderação corres- 5 ΡΕ2098005 pondente ω que compreende um conjunto de ponderações de codificação; - adaptar para cada um dos referidos pelo menos um pacote de dados composto, os referidos ponderadores de codificação do referido vector de ponderação ω com base na referida informação de retorno de modo a que, para cada receptor k desses receptores do referido grupo multidifusão que ainda necessita de receber um ou mais pacotes de dados multidifusão, o referido vector ω de ponderação irá formar uma nova linha linearmente independente numa matriz definida como
    para assegurar uma nova codificação linearmente independente dos pacotes de dados regulares; - transmitir o referido pelo menos um pacote de dados composto para aqueles receptores do referido grupo multidifusão que ainda necessita de receber um ou mais pacotes de dados multidifusão, em que o referido dispositivo é implementado no referido emissor, sendo que o referido emissor (100) representa um nó emissor que compreende um módulo de programação multidifusão (130) para adaptar as referidas ponderações de codificação e um módulo de codificação de pacotes de dados compostos (140) para formar o referido pelo menos um pacote de dados composto.
  7. 7. Dispositivo de acordo com a reivindicação 6, caracterizado por a referida sessão multidifusão estar definida para a transferência de pacotes de dados regulares 6 ΡΕ2098005 N, e o referido dispositivo ser operável para transmitir N pacotes de dados multidifusão linearmente independentemente codificados compreendendo os referidos pacotes de dados compostos para o referido grupo multidifusão pelo menos dois receptores (200) durante a referida sessão multidifusão para garantir a capacidade de descodificação de todos os pacotes de dados regulares N.
  8. 8. Dispositivo de acordo com a reivindicação 6, caracterizado por o respectivo dispositivo ser operável para ensaio, em cada uma das respectivas instâncias de agendamento, vectores de ponderação experimentais, até que seja encontrado um vector de ponderação, de ponderações de codificação, que aumenta a classificação da referida matriz de vectores de ponderação.
  9. 9. Dispositivo de acordo com a reivindicação 6, caracterizado por o referido dispositivo ser operável para seleccionar de forma adaptativa, em cada uma das referidas várias instâncias de agendamento, as referidas várias instâncias do vector de ponderação ω pelo primeiro receptor k para o cálculo do espaço nulo Hk na forma racional da respectiva matriz especifica do receptor, e em seguida seleccionar qualquer vector desejado ξ* que se encontra no espaço nulo Ek, para o qual ω são adaptativamente seleccionados de modo que ** , em que "·" e o produto escalar. 7 ΡΕ2098005
  10. 10. Emissor (100) para utilização num sistema de comunicação multidifusão ARQ, pedido automático de repetição, caracterizado por o referido emissor (100) compreender um dispositivo de acordo com qualquer das reivindicações 6-9. Lisboa, 27 de agosto de 2013
PT68244995T 2006-11-29 2006-11-29 Multidifusão fiável com codificação de pacotes de dados linearmente independentes PT2098005E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2006/001368 WO2008066421A1 (en) 2006-11-29 2006-11-29 Reliable multicast with linearly independent data packet coding

Publications (1)

Publication Number Publication Date
PT2098005E true PT2098005E (pt) 2013-09-02

Family

ID=39468125

Family Applications (1)

Application Number Title Priority Date Filing Date
PT68244995T PT2098005E (pt) 2006-11-29 2006-11-29 Multidifusão fiável com codificação de pacotes de dados linearmente independentes

Country Status (7)

Country Link
US (2) US8250426B2 (pt)
EP (1) EP2098005B1 (pt)
CN (1) CN101548498B (pt)
DK (1) DK2098005T3 (pt)
MX (1) MX2009005096A (pt)
PT (1) PT2098005E (pt)
WO (1) WO2008066421A1 (pt)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904778B2 (en) * 2007-01-09 2011-03-08 Sharp Kabushiki Kaisha Base station device, mobile station device, control information transmission method, control information reception method and program
JP5319557B2 (ja) 2007-03-06 2013-10-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ソフト・フィードバックに基づくネットワーク符号化
CN101494529A (zh) 2008-01-21 2009-07-29 松下电器产业株式会社 组播系统中的xor重传方法、基站和用户设备
EP2131516A1 (en) 2008-06-04 2009-12-09 THOMSON Licensing A cell dependent multi-group hybrid automatic repeat request method for multicast in wireless networks
US20090323580A1 (en) * 2008-06-27 2009-12-31 Feng Xue Frame structure and sequencing for enabling network coding for wireless relaying
US10218467B2 (en) 2009-12-23 2019-02-26 Pismo Labs Technology Limited Methods and systems for managing error correction mode
US9584414B2 (en) * 2009-12-23 2017-02-28 Pismo Labs Technology Limited Throughput optimization for bonded variable bandwidth connections
US8705340B2 (en) * 2009-12-23 2014-04-22 Intel Corporation Packet-loss handling for downlink multi-user multiple-input and multiple-output wireless network
US9787501B2 (en) 2009-12-23 2017-10-10 Pismo Labs Technology Limited Methods and systems for transmitting packets through aggregated end-to-end connection
CN102195743B (zh) * 2010-03-17 2013-08-21 清华大学 动态实时喷泉码编码方案
US8571214B2 (en) 2010-03-25 2013-10-29 Massachusetts Institute Of Technology Secure network coding for multi-resolution wireless video streaming
US10530574B2 (en) 2010-03-25 2020-01-07 Massachusetts Institute Of Technology Secure network coding for multi-description wireless transmission
CN102263606B (zh) * 2010-05-28 2014-02-19 华为技术有限公司 信道数据编码、解码方法及装置
US8419547B1 (en) 2010-11-04 2013-04-16 Wms Gaming, Inc. Iterative XOR-matrix forward error correction for gaming
CN102148665B (zh) * 2011-05-25 2013-05-08 电子科技大学 一种lt码的译码方法
US9294113B2 (en) 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
US9143274B2 (en) 2011-10-31 2015-09-22 Massachusetts Institute Of Technology Traffic backfilling via network coding in a multi-packet reception network
ES2884092T3 (es) 2011-11-05 2021-12-10 Massachusetts Inst Technology Método y aparato para una transmisión eficaz de información a múltiples nodos
US8780693B2 (en) * 2011-11-08 2014-07-15 Massachusetts Institute Of Technology Coding approach for a robust and flexible communication protocol
US9537759B2 (en) 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
KR101970684B1 (ko) * 2012-02-28 2019-04-19 삼성전자주식회사 무선통신시스템에서 피드백 정보 전송 장치 및 방법
US9369255B2 (en) 2012-10-18 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network
CN102970235B (zh) * 2012-12-06 2015-04-08 南京邮电大学 无线网状网络中基于流内和流间网络编码的多播路由方法
US9246697B2 (en) * 2013-01-29 2016-01-26 Korea Advanced Institute Of Science And Technology Communication device, multicast control method, and scheduling control method
US9369541B2 (en) 2013-03-14 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for implementing distributed content caching in a content delivery network
US9607003B2 (en) 2013-03-14 2017-03-28 Massachusetts Institute Of Technology Network coded storage with multi-resolution codes
JP2016513825A (ja) 2013-03-14 2016-05-16 マサチューセッツ インスティテュート オブ テクノロジー 安全通信方法および装置
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US9019643B2 (en) 2013-03-15 2015-04-28 Massachusetts Institute Of Technology Method and apparatus to reduce access time in a data storage device using coded seeking
US9369920B2 (en) * 2013-06-12 2016-06-14 Qualcomm Incorporated Degree reduction and degree-constrained combining for relaying a fountain code
KR101501168B1 (ko) * 2013-08-12 2015-03-12 홍익대학교 산학협력단 네트워크 코딩의 피드백 장치 및 데이터 전송 방법
KR102139721B1 (ko) * 2013-08-29 2020-07-30 삼성전자주식회사 다중 경로 프로토콜에서 이중으로 네트워크 코딩을 적용하는 방법 및 그 장치
KR102160818B1 (ko) * 2014-02-11 2020-09-28 삼성전자주식회사 신뢰성 확보를 위한 다중 멀티케스트 네트워크 시스템 및 그 방법
US10903944B2 (en) * 2015-05-11 2021-01-26 Lg Electronics Inc. Method for determining result of transmission for contention-based PUSCH in a wireless communication system and a device therefor
EP3327988A1 (en) * 2016-11-23 2018-05-30 ABB Schweiz AG System and method for improving multicast latency and reliability of multicast transmissions in a wireless building automation network
US10666539B2 (en) * 2016-11-30 2020-05-26 Rohde & Schwarz Gmbh & Co. Kg Signal generator, method and test system for testing a device under test
US11424861B2 (en) 2017-03-29 2022-08-23 Massachusetts Institute Of Technology System and technique for sliding window network coding-based packet generation
EP3711222A1 (en) * 2017-11-17 2020-09-23 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for enhanced soft buffer handling
EP3794755B1 (en) 2018-05-16 2023-07-05 Code on Technologies Inc. Multipath coding apparatus and related techniques
CN110247732B (zh) * 2019-05-16 2020-08-18 西安交通大学 多播环境中基于混合译码的喷泉码的编码设计方法
US11356827B2 (en) * 2020-07-31 2022-06-07 King Abdulaziz University Compressive sensing-aided LPWAN MAC layer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002339530A1 (en) 2002-09-07 2004-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for efficient data transmission link control in mobile multicast communication systems
US7414989B2 (en) * 2003-05-07 2008-08-19 Motorola, Inc. ACK/NACK determination reliability for a communication device
EP1734714B1 (en) * 2005-06-17 2012-07-18 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving broadcast data in a mobile communication system
CN100426792C (zh) * 2005-07-27 2008-10-15 华为技术有限公司 多播调度中缓存权重的处理方法

Also Published As

Publication number Publication date
US20100146357A1 (en) 2010-06-10
US8667359B2 (en) 2014-03-04
EP2098005B1 (en) 2013-05-29
CN101548498B (zh) 2012-11-21
US20120284581A1 (en) 2012-11-08
WO2008066421A1 (en) 2008-06-05
CN101548498A (zh) 2009-09-30
DK2098005T3 (da) 2013-09-02
MX2009005096A (es) 2009-05-27
EP2098005A1 (en) 2009-09-09
US8250426B2 (en) 2012-08-21
EP2098005A4 (en) 2012-08-08

Similar Documents

Publication Publication Date Title
PT2098005E (pt) Multidifusão fiável com codificação de pacotes de dados linearmente independentes
JP3571918B2 (ja) 符号伝送方法、送信装置、受信装置および通信システム
US7940712B2 (en) Method and arrangement for coding and scheduling in packet data communication systems
Puducheri et al. The design and performance of distributed LT codes
WO2017177926A1 (zh) 一种数据传输处理方法和装置
CN105306165A (zh) 数据发送方法及装置
KR20000048677A (ko) 에이알큐 시스템용 에러검출방법
Tran et al. A hybrid network coding technique for single-hop wireless networks
Badia et al. Markov analysis of selective repeat type II hybrid ARQ using block codes
Angelopoulos et al. PRAC: Exploiting partial packets without cross-layer or feedback information
Larsson Multicast multiuser ARQ
CN102983952B (zh) 具有线性独立数据分组编码的可靠多播方法和装置
Yue et al. The design of degree distribution for distributed fountain codes in wireless sensor networks
RU2419997C2 (ru) Надежная групповая передача с линейно независимым кодированием пакетов данных
Zhang et al. Optimizing HARQ feedback and incremental redundancy in wireless communications
Enenche et al. Network Coding as Enabler for Achieving URLLC Under TCP and UDP Environments: A Survey
Malak et al. Throughput and delay analysis for coded ARQ
Lei et al. Reliable data transmission based on erasure-resilient code in wireless sensor networks
Jeyasekar et al. Reliable multicast using rateless forward error correction and orthogonal-scheduling in MANET
Ostovari et al. Efficient symbol-level transmission in error-prone wireless networks
Yassine et al. One hybrid ARQ for broadcasting or multicasting in wireless erasure channel
Lu et al. Efficient wireless broadcasting based on systematic binary deterministic rateless codes
Koller et al. Joint channel/network coding for star networks
Liinaharja Studies on the performance of some ARQ schemes
Wang et al. ePec-LDPC HARQ: An LDPC HARQ Scheme with Targeted Retransmission