RU2419997C2 - Secure group transfer with linear independent coding of data packages - Google Patents

Secure group transfer with linear independent coding of data packages Download PDF

Info

Publication number
RU2419997C2
RU2419997C2 RU2009124475/09A RU2009124475A RU2419997C2 RU 2419997 C2 RU2419997 C2 RU 2419997C2 RU 2009124475/09 A RU2009124475/09 A RU 2009124475/09A RU 2009124475 A RU2009124475 A RU 2009124475A RU 2419997 C2 RU2419997 C2 RU 2419997C2
Authority
RU
Russia
Prior art keywords
multicast
data packets
data packet
composite
packet
Prior art date
Application number
RU2009124475/09A
Other languages
Russian (ru)
Other versions
RU2009124475A (en
Inventor
Петер ЛАРССОН (SE)
Петер ЛАРССОН
Original Assignee
Телефонактиеболагет Лм Эрикссон (Пабл)
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 Телефонактиеболагет Лм Эрикссон (Пабл) filed Critical Телефонактиеболагет Лм Эрикссон (Пабл)
Priority to RU2009124475/09A priority Critical patent/RU2419997C2/en
Publication of RU2009124475A publication Critical patent/RU2009124475A/en
Application granted granted Critical
Publication of RU2419997C2 publication Critical patent/RU2419997C2/en

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

FIELD: information technologies.
SUBSTANCE: in joint planning and coding procedure a composite data package is formed as a suspended linear combination of regular data packages. According weight ratios of coding are adapted on the basis of feedback information from the receiving devices on the accepted data packages so that a composite package represents a new linearly independent coding of regular data packages, different from any data package transferred in a group transfer mode, which has been earlier received by means of each receiving device in a selected set of the receiving devices during a session of group transfer. Besides, using a vector of weight ratios, at least with two different non-zero weight ratios of coding adds an additional extent of freedom and guarantees the possibility to always form a composite data package, which represents a new linearly independent coding for transfer.
EFFECT: strategy efficient in throughput capacity for a secure group transfer, especially when number of users is high.
29 cl, 7 dwg, 3 tbl

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение, в общем, относится к системам групповой передачи, а более конкретно к новой стратегии для планирования и кодирования пакетов для групповой передачи.The present invention relates generally to multicast systems, and more particularly, to a new strategy for scheduling and encoding packets for multicast.

Уровень техникиState of the art

Имеется постоянно растущая потребность в повышении производительности систем связи, в общем, и беспроводных сетей, в частности. Групповая передача является подходом для повышения пропускной способности за счет эффективной передачи одной и той же информации нескольким пользователям/приемным устройствам. Когда канал является ненадежным, может быть невозможным доставлять данные во все приемные устройства надежным способом. Поэтому групповая передача по ненадежным каналам в типичном варианте требует использования методов прямой коррекции ошибок (FEC) или методов обратной коррекции ошибок, таких как автоматические запросы на повторную передачу (ARQ).There is an ever-growing need to improve the performance of communication systems, in general, and wireless networks, in particular. Multicast transmission is an approach to increase throughput by efficiently transmitting the same information to multiple users / receivers. When the channel is unreliable, it may not be possible to deliver data to all receivers in a reliable manner. Therefore, multicast over untrusted channels typically requires the use of forward error correction (FEC) methods or reverse error correction methods, such as automatic retransmission requests (ARQ).

Так называемое фонтанное кодирование представляется интересным подходом для надежной групповой передачи [1-2]. Фонтанное кодирование - это идеальная схема кодирования данных без учета скорости, форма FEC, которая формирует новую информацию о четности до тех пор, пока все пользователи не декодировали отправленный файл данных. Приближением идеальных фонтанных кодов являются так называемые торнадо-коды и LT-коды. Другие фонтанные коды включают в себя так называемые торнадо-коды и оперативные коды. Основная философия в LT-кодах (и, в общем, в большинстве фонтанных кодов), в которых формируется новая информация о четности, основана на случайном выборе степени кодирования, т.е. числа пакетов, которые должны быть кодированы совместно, согласно заранее заданному степенному распределению и последующей операции побитового XOR (сложения по модулю 2) пакетов. Хотя внутренне не является частью фонтанного кодирования, подтверждение приема в типичном варианте отправляется, когда приемное устройство приняло достаточное число пакетов четности, которые дают возможность декодирования, и не раньше этого. Следовательно, только одно подтверждение приема требуется для FC-файла для каждого пользователя. Данные приближения FC обеспечивают эффективную групповую передачу в каналах со стиранием, где примерно на величину ε должно быть принято больше избыточности, чем данных.The so-called fountain coding is an interesting approach for reliable multicast transmission [1-2]. Font encoding is an ideal data encoding scheme without regard to speed, an FEC form that generates new parity information until all users have decoded the sent data file. The approximation of ideal fountain codes are the so-called tornado codes and LT codes. Other fountain codes include so-called tornado codes and operational codes. The basic philosophy in LT codes (and, in general, in most fountain codes), in which new parity information is generated, is based on a random choice of the degree of coding, i.e. the number of packets to be coded together according to a predetermined power distribution and the subsequent bitwise XOR operation (modulo 2 addition) of the packets. Although not internally part of fountain coding, acknowledgment is typically sent when the receiver has received a sufficient number of parity packets that enable decoding, and not earlier. Therefore, only one acknowledgment is required per FC file for each user. The FC approximation data provides efficient multicast transmission in erased channels where more redundancy than data should be received by approximately ε.

ARQ - это эффективная стратегия контроля ошибок для передачи данных, в которой приемное устройство обнаруживает ошибки при передаче в сообщениях и автоматически запрашивает повторную передачу от передающего устройства. Обычно сообщения обратной связи от приемных устройств к передающему устройству используются для того, чтобы предоставлять возможность передающему устройству определять, какие пакеты приняты корректно посредством заданных приемных устройств, а какие - нет. Пакеты, которые не приняты корректно, должны быть повторно переданы.ARQ is an effective error control strategy for transmitting data in which the receiver detects transmission errors in messages and automatically requests retransmission from the transmitter. Typically, feedback messages from receivers to a transmitter are used to enable the transmitter to determine which packets were received correctly by the given receivers and which were not. Packets that are not received correctly must be retransmitted.

ARQ, как предлагается, должен использоваться в качестве стандарта для связи по радиоинтерфейсу в системах сотовой беспроводной связи и также может использоваться в многопролетных системах. Типично, информация делится на меньшие пакеты, называемые протокольными блоками данных (PDU), до передачи. Надежная передача обеспечивается за счет кодирования пакетов кодом обнаружения ошибок, так что приемное устройство может обнаруживать ошибочные или потерянные пакеты и тем самым запрашивать повторную передачу. Целостность последовательности данных обычно обеспечивается посредством последовательной нумерации пакетов и применения определенных правил передачи.ARQ, as proposed, should be used as a standard for communication over the air in cellular wireless communication systems and can also be used in multi-span systems. Typically, information is divided into smaller packets, called protocol data units (PDUs), prior to transmission. Reliable transmission is ensured by encoding packets with an error detection code so that the receiver can detect erroneous or lost packets and thereby request retransmission. The integrity of the data sequence is usually ensured by sequentially numbering the packets and applying certain transmission rules.

Может быть полезным сначала сделать обзор основных принципов ARQ на основании одноадресной передачи до пояснения подробностей относительно групповой передачи ARQ, имея в виду, что основные принципы одноадресной передачи ARQ в основном переносятся на групповую передачу ARQ.It may be useful to first review the basic principles of ARQ based on unicast transmission before explaining the details regarding multicast ARQ, bearing in mind that the basic principles of unicast ARQ transmission are mainly carried over to multicast ARQ.

В самой простой форме ARQ, обычно называемой ARQ с остановкой и ожиданием, передающее устройство данных сохраняет каждый отправленный пакет данных и ждет подтверждения приема от приемного устройства корректно принятого пакета данных посредством сообщения подтверждения приема (ACK). Когда ACK принято, передающее устройство отбрасывает сохраненный пакет и передает следующий пакет. Процесс в типичном варианте дополняется таймерами и применением сообщений негативного подтверждения (NACK). Передающий объект использует таймер, который запускается при передаче пакета данных, и если ACK (или NACK) не принято до того, как таймер истекает, пакет данных передается повторно. Если приемное устройство обнаруживает ошибки в пакете, оно может передать NACK передающему устройству. После приема NACK передающее устройство повторно передает пакет данных, не дожидаясь истечения таймера. Если сообщение ACK или NACK потеряно, таймер в конечном счете истекает, и передающее устройство повторно передает пакет данных.In the simplest form of ARQ, commonly referred to as stop and wait ARQ, the transmitting data device stores each sent data packet and waits for acknowledgment from the receiver of the correctly received data packet through an acknowledgment message (ACK). When the ACK is received, the transmitter discards the stored packet and transmits the next packet. The process is typically supplemented by timers and the use of negative acknowledgment messages (NACK). The transmitting entity uses a timer that starts when a data packet is transmitted, and if an ACK (or NACK) is not received before the timer expires, the data packet is retransmitted. If the receiving device detects errors in the packet, it may transmit the NACK to the transmitting device. After receiving the NACK, the transmitter retransmits the data packet without waiting for the timer to expire. If the ACK or NACK message is lost, the timer ultimately expires and the transmitting device retransmits the data packet.

Из простой передачи с остановкой и ожиданием созданы более продуманные схемы традиционного ARQ, например, метод возврата на N и метод избирательного отказа (или избирательного повторения), которые обеспечивают более высокую пропускную способность.From a simple stop-and-wait transmission, more elaborate traditional ARQ schemes have been created, for example, the method of returning to N and the method of selective rejection (or selective repetition), which provide higher throughput.

В другом направлении развития ARQ избыточность в кодировании используется различными способами для того, чтобы увеличивать производительность связи (в общем, измеряемую как пропускная способность). Эти схемы упоминаются как схемы гибридного ARQ. Комбинация кодирования и ARQ, схемы гибридного ARQ, позволяют предоставлять определенную адаптацию к изменениям в среде радиосвязи, к примеру, затуханию. В гибридном ARQ 1, FEC комбинируется с ARQ. В гибридном ARQ 2, PDU отправляется в большей или меньшей степени кодированным посредством FEC, но с прилагаемым кодом контроля циклическим избыточным кодом (CRC) для проверки наличия ошибок в битах после декодирования, и если запрашивается повторная передача, то посылаются биты четности (также известные как биты избыточности), сформированные посредством FEC-кодера, систематические биты или комбинация и того, и другого.In the other direction of ARQ development, coding redundancy is used in various ways to increase communication performance (generally, measured as throughput). These schemes are referred to as hybrid ARQ schemes. The combination of coding and ARQ, a hybrid ARQ scheme, allows you to provide some adaptation to changes in the radio environment, for example, attenuation. In hybrid ARQ 1, FEC is combined with ARQ. In hybrid ARQ 2, PDUs are sent to a greater or lesser extent encoded by FEC, but with the attached cyclic redundancy check (CRC) code to check for bit errors after decoding, and if retransmission is requested, parity bits (also known as redundancy bits) generated by the FEC encoder, systematic bits, or a combination of both.

Если эффективность не является основной целью, то несколько параллельных процессов одноадресной передачи ARQ могут использоваться для того, чтобы обеспечивать надежную "групповую передачу". Это может быть стандартным подходом, когда размер группы групповой передачи, т.е. число заданных приемных устройств, является небольшим. Тем не менее, для больших групп этот способ связи неэффективен. Поэтому в типичном варианте считается более эффективным объединять параллельные процессы одноадресной передачи в один так называемый процесс групповой передачи ARQ, в котором одна информация передается нескольким пользователям [3].If efficiency is not the primary goal, then several parallel ARQ unicast processes can be used to provide reliable "multicast". This may be a standard approach when the size of a multicast group, i.e. the number of preset receivers is small. However, for large groups, this communication method is ineffective. Therefore, in a typical embodiment, it is considered more efficient to combine parallel unicast processes into one so-called multicast ARQ process, in which one information is transmitted to several users [3].

Ссылка [4] относится к оптимизации производительности для надежных множественных потоков одноадресной передачи.Reference [4] relates to performance optimization for reliable multiple unicast streams.

Ссылки [5-7] описывают схемы, в которых одни данные передаются в групповом режиме нескольким пользователям, и эффективная повторная передача предоставляется за счет комбинирования нескольких пакетов, негативно подтвержденных (передачей NACK) несколькими приемными устройствами, в один блок.References [5-7] describe schemes in which one data is transmitted in a group mode to several users, and effective retransmission is provided by combining several packets negatively acknowledged (NACK transmission) by several receiving devices into one block.

Проблема при традиционной групповой передаче ARQ, в общем, состоит в том, что производительность является чрезвычайно низкой, когда число пользователей является большим. Фактически, следует отметить, а также легко понять, что пропускная способность стремится к нулю, когда число пользователей K стремится к бесконечности.The problem with traditional multicast ARQ, in general, is that performance is extremely low when the number of users is large. In fact, it should be noted, as well as easy to understand, that throughput tends to zero when the number of users K tends to infinity.

Хотя фонтанное кодирование смягчает проблемы производительности в традиционной групповой передаче ARQ, ее производительность составляет примерно T=p/(1+ε), где T - это пропускная способность, ε зависит от отправляемого объема данных, а p - это вероятность приема. В [2] приблизительно установлено, что 1больше 1,06 с вероятностью 1/10, и не больше 1,10 за 10000 испытаний так называемой реализации торнадо Z-кода. Кроме того, установлено, что торнадо-коды не имеют достаточно четких пределов по неэффективности декодирования для коммерческих приложений и что для текущих коммерческих реализаций цифровых фонтанных LT-кодов неэффективность декодирования составляет больше 1,05 с вероятностью меньше чем 10 практически для любого размера исходного файла.Although fountain coding mitigates performance problems in traditional multicast ARQ, its performance is approximately T = p / (1 + ε), where T is the bandwidth, ε depends on the amount of data sent, and p is the reception probability. In [2], it was approximately established that 1 + ε is greater than 1.06 with a probability of 1/10, and not more than 1.10 for 10,000 tests of the so-called implementation of the Z-code tornado. In addition, it was found that tornado codes do not have sufficiently clear limits on decoding inefficiency for commercial applications and that for current commercial implementations of digital fountain LT codes, decoding inefficiency is more than 1.05 with a probability of less than 10 for almost any size of the source file.

Фонтанное кодирование имеет несколько недостатков. FC базируется на статистическом обеспечении декодируемости за счет обеспечения информации об избыточности и не базируется на детерминированной декодируемости. Во-первых, в типичном варианте требуются большие объемы информации для небольшого значения ε, и производительность в типичном варианте является низкой, когда передается только небольшое количество пакетов данных. Время на декодирование доставляемых данных довольно значительно, поскольку вся избыточность должна быть получена до того, как декодируемость может быть гарантирована. LT-коды, форма фонтанных кодов, как известно, имеют неудовлетворительный нижний предел по ошибкам, что, по меньшей мере, частично разрешается посредством других FC, таких как торнадо-коды.Fountain coding has several drawbacks. FC is based on decoding statistics by providing redundancy information and is not based on determinable decodability. First, in a typical embodiment, large amounts of information are required for a small ε value, and performance is typically low when only a small number of data packets are transmitted. The time to decode the delivered data is quite significant, since all redundancy must be obtained before decodability can be guaranteed. LT codes, a form of fountain codes, are known to have an unsatisfactory lower error limit, which is at least partially resolved by other FCs, such as tornado codes.

Хотя схемы, предложенные в ссылках [5-7], представляют собой шаг в правильном направлении для групповой передачи ARQ с детерминированной декодируемостью, эти схемы по-прежнему не обеспечивают оптимальную производительность. Причина этого заключается в том, что традиционная операция групповой передачи ARQ является более статической, чем необходимо, и не распознает и не использует все степени свободы.Although the circuits proposed in references [5-7] represent a step in the right direction for multicast ARQ with deterministic decodability, these circuits still do not provide optimal performance. The reason for this is that the traditional ARQ multicast operation is more static than necessary and does not recognize or use all degrees of freedom.

Таким образом, есть общая потребность в еще более эффективной по пропускной способности стратегии для надежной групповой передачи.Thus, there is a general need for an even more efficient bandwidth strategy for reliable multicast.

Раскрытие изобретенияDisclosure of invention

Настоящее изобретение преодолевает эти и другие недостатки средств предшествующего уровня техники.The present invention overcomes these and other disadvantages of the means of the prior art.

Общая цель настоящего изобретения состоит в том, чтобы предоставить высокоэффективную по пропускной способности стратегию для надежной групповой передачи.The overall objective of the present invention is to provide a high throughput strategy for reliable multicast.

Цель изобретения состоит в том, чтобы предоставить способ и средство для планирования и кодирования пакетов данных для передачи в сеансе групповой передачи от передающего устройства, по меньшей мере, в два приемных устройства в системе групповой передачи ARQ.An object of the invention is to provide a method and means for scheduling and encoding data packets for transmission in a multicast session from a transmitter to at least two receivers in an ARQ multicast system.

Цель также состоит в том, чтобы предоставить передающее устройство, выполненное с возможностью использования в системе групповой передачи ARQ.The goal is also to provide a transmitter configured to be used in an ARQ multicast system.

Конкретная цель состоит в том, чтобы предоставить стратегию групповой передачи, которая обеспечивает повышенную пропускную способность, уменьшенную задержку и/или пониженное энергопотребление.The specific goal is to provide a multicast strategy that provides increased throughput, reduced latency and / or reduced power consumption.

Особенно желательно предоставить стратегию групповой передачи, которая обеспечивает детерминированную декодируемость кодированных пакетов.It is especially desirable to provide a multicast strategy that provides deterministic decodability of encoded packets.

Эти и другие цели достигаются изобретением в соответствии с прилагаемой формулой изобретения.These and other objectives are achieved by the invention in accordance with the attached claims.

Изобретение, в общем, относится к планированию и кодированию пакетов данных для передачи в сеансе групповой передачи от передающего устройства в группу групповой передачи, по меньшей мере, из двух приемных устройств в системе групповой передачи ARQ.The invention generally relates to scheduling and encoding data packets for transmission in a multicast session from a transmitter to a multicast group from at least two receivers in an ARQ multicast system.

Основная идея изобретения состоит в том, чтобы выполнять процедуру в каждом из множества событий планирования, включающую в себя формирование, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных на основании соответствующего вектора весовых коэффициентов, содержащего набор весовых коэффициентов кодирования, посредством использования информации обратной связи от приемных устройств, указывающей принимаемые пакеты данных, и передачу сформированного составного пакета(ов) данных в приемные устройства рассматриваемой группы групповой передачи. В этой процедуре, весовые коэффициенты кодирования вектора весовых коэффициентов адаптированы для каждого составного пакета или пакетов данных на основании информации обратной связи так, что составной пакет представляет собой линейную комбинацию, которая является линейно независимой для каждого приемного устройства, по меньшей мере, из набора приемных устройств, от любого пакета данных, ранее принятого посредством приемного устройства во время рассматриваемого сеанса групповой передачи.The basic idea of the invention is to perform a procedure in each of a plurality of planning events, including generating at least one composite data packet as a weighted linear combination of conventional data packets based on a corresponding weighting vector containing a set of encoding weights, by using feedback information from receivers indicating received data packets and transmitting the generated composite data packet (s) to riemnye apparatus of this group multicast. In this procedure, the weighting coefficients of the weighting vector coding are adapted for each composite packet or data packets based on the feedback information so that the composite packet is a linear combination that is linearly independent for each receiver, at least from a set of receivers , from any data packet previously received by the receiver during the multicast session in question.

Посредством выполнения этой процедуры в связи с каждым из множества событий планирования, количество передач, требуемых для передачи данного объема передаваемой в режиме групповой передачи информации, будет сокращено.By performing this procedure in connection with each of a plurality of scheduling events, the number of transmissions required to transmit a given amount of information transmitted in the multicast mode will be reduced.

Возможность передавать новые линейно независимые пакеты данных (составные пакеты данных и, дополнительно, также обычные пакеты), по меньшей мере, в большей части событий передачи во время сеанса групповой передачи значительно повышает пропускную способность для надежной групповой передачи, особенно когда число пользователей является большим.The ability to transmit new linearly independent data packets (composite data packets and, optionally, also regular packets), at least in most transmission events during a multicast session, significantly increases the throughput for reliable multicast, especially when the number of users is large.

В идеальной ситуации, при систематической передаче определенного числа обычных и/или составных пакетов данных, которые являются линейно независимыми от любого пакета данных (обычного или составного), ранее принятого посредством каждого из приемных устройств, состоящих в наборе приемных устройств, во время сеанса групповой передачи, достаточно того, чтобы отправлять просто N таких пакетов данных, чтобы извлекать все N обычных пакетов данных, таким образом получая максимальную пропускную способность.In an ideal situation, during the systematic transmission of a certain number of regular and / or composite data packets that are linearly independent of any data packet (regular or composite) previously received by each of the receivers consisting of a set of receivers during a multicast session , just enough to send N such data packets to retrieve all N regular data packets, thus obtaining maximum throughput.

В любом случае, по сравнению с традиционной групповой передачей ARQ, изобретение требует, чтобы меньше пакетов данных отправлялось от передающего устройства в приемные устройства, чтобы обеспечить корректный прием передаваемых пакетов данных.In any case, compared to traditional multicast ARQ, the invention requires that fewer data packets are sent from the transmitting device to the receiving devices in order to ensure that the transmitted data packets are correctly received.

Таким образом, изобретение предоставляет повышенную пропускную способность для (полностью) надежной групповой передачи, а также предоставляет детерминированно декодируемую схему повторной передачи.Thus, the invention provides increased throughput for a (fully) reliable multicast, and also provides a deterministically decoded retransmission scheme.

Например, в фонтанном кодировании число субпакетов, которое должно быть принято для декодирования полного файла, является случайной величиной, т.е. не является детерминированно ограниченным.For example, in fountain coding, the number of subpackets that must be received to decode the complete file is a random variable, i.e. is not deterministically limited.

Изобретение предоставляет систему, реализующую вышеупомянутую схему, а также соответствующее передающее устройство, выполненное с возможностью использования в системе групповой передачи ARQ.The invention provides a system that implements the aforementioned scheme, as well as a corresponding transmitting device configured to be used in an ARQ multicast system.

Настоящее изобретение, в общем, применимо к групповой передаче ARQ в системах связи, имеющих ненадежные линии связи, таких как системы беспроводной связи. Например, изобретение преимущественно может быть использовано в типичной сотовой системе с базовой станцией, поддерживающей обмен данными с множеством мобильных терминалов.The present invention is generally applicable to multicast ARQ in communication systems having unreliable communication lines, such as wireless communication systems. For example, the invention can advantageously be used in a typical cellular system with a base station supporting communication with a plurality of mobile terminals.

Изобретение может предлагать следующие преимущества:The invention may offer the following advantages:

- Надежная групповая передача.- Reliable multicast.

- Повышенная (или даже максимальная) пропускная способность.- Increased (or even maximum) bandwidth.

- Уменьшенное (или даже минимальное) время задержки.- Reduced (or even minimal) delay time.

- Эффективное использование энергии/мощности.- Efficient use of energy / power.

- Детерминированные пределы по числу пакетов, которые должны быть приняты для декодируемости.- Determined limits on the number of packets that must be received for decodability.

Другие преимущества, предлагаемые в соответствии с изобретением, должны приниматься во внимание при прочтении нижеприведенного описания вариантов осуществления изобретения.Other advantages proposed in accordance with the invention should be taken into account when reading the following description of embodiments of the invention.

Краткое описание чертежейBrief Description of the Drawings

Изобретение вместе со своими дополнительными задачами и преимуществами лучше всего будет понятно при обращении к нижеследующему описанию, рассматриваемому вместе с прилагаемыми чертежами, из которых:The invention, together with its additional objectives and advantages, will be best understood by referring to the following description, taken in conjunction with the accompanying drawings, of which:

Фиг.1 иллюстрирует пропускную способность полностью надежной групповой передачи ARQ для K=1, 2, 4, 8, 16, 32, 64 и 128 как функцию от вероятности корректного приема.Figure 1 illustrates the throughput of a fully reliable multicast ARQ for K = 1, 2, 4, 8, 16, 32, 64, and 128 as a function of the probability of correct reception.

Фиг.2 - принципиальная блок-схема, иллюстрирующая простой пример общего представления системы групповой передачи ARQ.2 is a schematic block diagram illustrating a simple example of a general representation of an ARQ multicast system.

Фиг.3 - блок-схема способа, иллюстрирующая примерную полную процедуру ARQ.FIG. 3 is a flowchart illustrating an exemplary complete ARQ procedure.

Фиг.4 - блок-схема способа планирования и кодирования обычных пакетов данных в составной пакет данных согласно предпочтительному примерному варианту осуществления изобретения.4 is a flowchart of a method for scheduling and encoding conventional data packets into a composite data packet according to a preferred exemplary embodiment of the invention.

Фиг.5 - иллюстрирует возможный вариант осуществления кодирования двух обычных пакетов данных в составной пакет данных.5 illustrates a possible embodiment of encoding two conventional data packets into a composite data packet.

Фиг.6 - принципиальная блок-схема, иллюстрирующая систему для групповой передачи пакетов данных от передающего устройства ко множеству пользователей согласно предпочтительному примерному варианту осуществления изобретения.6 is a schematic block diagram illustrating a system for multicast data packets from a transmitter to multiple users according to a preferred exemplary embodiment of the invention.

Фиг.7 - принципиальная блок-схема планирования и кодирования пакета данных согласно примерному варианту осуществления изобретения.7 is a schematic block diagram of scheduling and coding a data packet according to an exemplary embodiment of the invention.

Осуществление изобретенияThe implementation of the invention

На чертежах одинаковые ссылочные позиции используются для соответствующих или аналогичных элементов.In the drawings, the same reference numerals are used for corresponding or similar elements.

Далее, термин "обычный пакет данных" обозначает стандартный (несоставной) пакет данных (т.е. только простой обыкновенный пакет данных), тогда как составной пакет данных основан, по меньшей мере, на двух обычных пакетах данных. "Передаваемый в режиме групповой передачи пакет данных" может быть обычным пакетом данных или составным пакетом данных, и в его самом универсальном значении этот пакет данных может упоминаться как "общий пакет данных", "передаваемый в режиме групповой передачи пакет данных" или "общий передаваемый в режиме групповой передачи пакет данных".Further, the term “regular data packet” refers to a standard (non-composite) data packet (i.e., only a simple ordinary data packet), whereas a composite data packet is based on at least two ordinary data packets. A “multicast data packet” may be a regular data packet or a composite data packet, and in its most universal meaning, this data packet may be referred to as a “general data packet”, “multicast data packet” or “general transmitted in multicast mode data packet. "

Проблема при традиционной групповой передаче ARQ, в общем, состоит в том, что производительность является чрезвычайно низкой, когда число K приемных устройств/пользователей является большим. Фиг.1 иллюстрирует пропускную способность полностью надежной групповой передачи ARQ для K=1, 2, 4, 8, 16, 32, 64 и 128 как функцию от вероятности корректного приема. Крайняя левая кривая иллюстрирует ситуацию для K-1. Как можно видеть, производительность уменьшается по мере того, как число K узлов возрастает, и приближается к нулю, когда число узлов приближается к бесконечности, за исключением специального идеального случая, когда вероятность корректного приема равняется 1.The problem with traditional ARQ multicast, in general, is that performance is extremely low when the number K of receivers / users is large. Figure 1 illustrates the throughput of a fully reliable multicast ARQ for K = 1, 2, 4, 8, 16, 32, 64, and 128 as a function of the probability of correct reception. The far left curve illustrates the situation for K-1. As you can see, the performance decreases as the number of K nodes increases, and approaches zero when the number of nodes approaches infinity, except in the special ideal case when the probability of correct reception is 1.

Таким образом, есть общая потребность в более эффективной по пропускной способности стратегии для надежной групповой передачи.Thus, there is a general need for a more bandwidth-efficient strategy for reliable multicast.

Будет полезно начать с краткого обзора системы групповой передачи ARQ. В системе связи ARQ, которая должна быть использована с настоящим изобретением, передающее устройство 100, в общем, вовлечено в сеанс групповой передачи с несколькими приемными устройствами 200, как схематично проиллюстрировано на фиг.2. Передающее устройство 100 обычно представляется посредством передающего узла, такого как базовая станция, в операции передачи, а приемные устройства от 200-1 до 200-K обычно представляются посредством приемных узлов, например, реализованных посредством мобильных терминалов, в операции приема. Следует отметить, что мобильный терминал, например, также может выступать в качестве передающего узла, а базовая станция - в качестве приемного узла. В групповой передаче один и тот же набор информации обычно передается на все приемные устройства, являющиеся частью группы групповой передачи. Группа групповой передачи, в общем, включает в себя, по меньшей мере, два приемных устройства, иногда называемых пользователями. Для передачи определенного числа пакетов данных в сеансе групповой передачи это, в общем, означает, что каждый отдельный пакет данных является пакетом данных, передаваемым в режиме групповой передачи, предназначенным для всех рассматриваемых приемных устройств. Следует отметить, что если связь предназначена для всех пользователей в рамках, к примеру, соты или системы, она зачастую обозначается как широковещательная передача, а не групповая передача. Следовательно, широковещательная передача - это крайний случай групповой передачи, при которой все приемные устройства в соте и т.п. принимают данные.It will be helpful to start with a brief overview of the ARQ multicast system. In the ARQ communication system to be used with the present invention, the transmitter 100 is generally involved in a multicast session with multiple receivers 200, as schematically illustrated in FIG. 2. The transmitting device 100 is usually represented by the transmitting node, such as a base station, in the transmission operation, and the receiving devices 200-1 to 200-K are usually represented by the receiving nodes, for example, implemented by mobile terminals, in the receiving operation. It should be noted that the mobile terminal, for example, can also act as a transmitting node, and the base station as a receiving node. In a multicast transmission, the same set of information is usually transmitted to all receivers that are part of a multicast group. A multicast group generally includes at least two receivers, sometimes called users. To transmit a certain number of data packets in a multicast session, this generally means that each individual data packet is a multicast data packet intended for all receivers in question. It should be noted that if communication is intended for all users within, for example, a cell or system, it is often referred to as a broadcast transmission rather than a multicast. Therefore, broadcast transmission is an extreme case of multicast, in which all receivers in a cell, etc. receive data.

Настоящее изобретение преимущественно может быть использовано в типичных сотовых системах с базовой станцией, поддерживающей обмен данными с множеством мобильных терминалов. В общем, различные схемы планирования могут быть использованы в таких системах для повышения производительности, и ARQ используется для повышения надежности передач.The present invention can advantageously be used in typical cellular systems with a base station that supports communication with multiple mobile terminals. In general, various scheduling schemes can be used in such systems to increase productivity, and ARQ is used to increase transmission reliability.

Изобретение описано в беспроводном сценарии, но с тем же успехом может быть использовано в других сценариях связи с ненадежными линиями связи.The invention is described in a wireless scenario, but with the same success can be used in other communication scenarios with unreliable communication lines.

Основная идея изобретения основана на выполнении процедуры в каждом из множества событий планирования, включающей в себя формирование, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных на основании соответствующего вектора весовых коэффициентов, содержащего набор весовых коэффициентов кодирования, посредством использования информации обратной связи от приемных устройств, указывающей принимаемые пакеты данных, и передачу сформированного составного пакета(ов) данных в приемные устройства рассматриваемой группы групповой передачи. В этой процедуре весовые коэффициенты кодирования вектора весовых коэффициентов предпочтительно адаптивно выбираются, для каждого составного пакета или пакетов данных, на основании информации обратной связи так, что составной пакет представляет собой линейную комбинацию обычных пакетов данных, линейно независимых от любого пакета данных (обычного или составного), ранее принятого посредством каждого из приемных устройств в релевантном наборе приемных устройств группы групповой передачи во время сеанса групповой передачи.The main idea of the invention is based on the execution of the procedure in each of the many planning events, including the formation of at least one composite data packet as a weighted linear combination of conventional data packets based on the corresponding weighting vector containing a set of encoding weighting factors, using information feedback from receivers indicating received data packets and transmitting the generated composite data packet (s) to the receivers e devices of the multicast group under consideration. In this procedure, the weighting coefficients of the weighting vector encoding are preferably adaptively selected for each composite packet or data packets based on the feedback information so that the composite packet is a linear combination of conventional data packets linearly independent of any data packet (regular or composite) previously received by each of the receivers in the relevant set of receivers of the multicast group during the multicast session.

Релевантный набор приемных устройств, упоминаемый выше, в общем, включает в себя, по меньшей мере, два приемных устройства и может быть поднабором или полным набором приемных устройств во всей группе групповой передачи.The relevant receiver set mentioned above generally includes at least two receivers and may be a subset or a complete set of receivers in the entire multicast group.

Под "ранее принятым пакетом данных", в общем, подразумевается передаваемый в режиме групповой передачи пакет данных (обычный или составной), который корректно демодулирован и декодирован по схеме FEC на стороне приемного устройства.By “previously received data packet”, in general, is meant a multicast data packet (regular or composite) that is correctly demodulated and decoded according to the FEC scheme on the receiver side.

Посредством выполнения этой процедуры в каждом из множества (два или более) событий планирования и посредством передачи новых линейно независимых пакетов данных (составные пакеты данных и, возможно, также обычные пакеты данных), количество передач, требуемых для передачи данного объема передаваемой в режиме групповой передачи информации, сокращается, и пропускная способность для надежной групповой передачи повышается.By performing this procedure in each of the many (two or more) planning events and by transmitting new linearly independent data packets (composite data packets and, possibly, also ordinary data packets), the number of transmissions required to transmit a given amount of transmitted in multicast mode information is reduced, and throughput for reliable multicast is enhanced.

Специалисты в данной области техники должны понимать, что релевантный набор приемных устройств/пользователей, который должен рассматриваться при адаптации весовых коэффициентов кодирования, изменяется по мере того, как сеанс групповой передачи выполняется, и может отличаться от одного события планирования к следующему. Как только приемное устройство приняло все передаваемые в режиме групповой передачи пакеты данных, это приемное устройство более не рассматривается. В общем, только приемные устройства, которые все еще должны принимать один или более передаваемых в режиме групповой передачи пакетов данных, рассматриваются как релевантный набор группы групповой передачи. Это означает, что в течение всего сеанса групповой передачи релевантный набор приемных устройств, рассматриваемых в процессе планирования (т.е. адаптации весовых коэффициентов), постепенно уменьшается до тех пор, пока все приемные устройства не приняли всю передаваемую в режиме групповой передачи информацию.Specialists in the art should understand that the relevant set of receivers / users, which should be considered when adapting the coding weights, changes as a multicast session is performed, and may differ from one scheduling event to the next. Once the receiver has received all data packets transmitted in multicast mode, this receiver is no longer considered. In general, only receivers that still need to receive one or more multicast data packets are considered as a relevant multicast group set. This means that during the entire multicast session, the relevant set of receivers considered in the planning process (i.e., adaptation of the weights) gradually decreases until all receivers have received all the information transmitted in the multicast mode.

Изобретатель выявил значимость адаптации кодовых весовых коэффициентов на основании ранее принятого набора пакетов для каждого приемного устройства в выбранном наборе приемных устройств, в отличие от выбора в предшествующем уровне техники поднабора приемных устройств, для которых применяется статический кодовый вектор только из единиц при условии, что все приемные устройства приняли все пакеты, кроме одного.The inventor has identified the importance of adapting code weights based on a previously accepted set of packets for each receiver in a selected set of receivers, in contrast to the selection in the prior art of a subset of receivers for which a static code vector of only one is applied, provided that all the receivers devices accepted all packets except one.

Как подробно пояснено позже, идея линейно независимого кодирования пакета данных может быть описана в отношении увеличения ранга матрицы векторов весовых коэффициентов (содержащей весовые коэффициенты кодирования). Более конкретно, ранее принятые передаваемые в режиме групповой передачи пакеты данных (обычные и/или составные пакеты данных), для каждого приемного устройства, могут быть описаны как линейная система уравнений на основании матрицы векторов весовых коэффициентов. Увеличение ранга соответствует формированию новой линейно независимой строки в матрице векторов весовых коэффициентов, которая эквивалентна новому линейно независимому кодированию передаваемого в режиме групповой передачи пакета данных.As explained in detail later, the idea of linearly independent coding of a data packet can be described with respect to increasing the rank of a matrix of weighting vectors (containing weighting coding coefficients). More specifically, previously received multicast data packets (regular and / or composite data packets) for each receiver can be described as a linear system of equations based on a matrix of weight vectors. The increase in rank corresponds to the formation of a new linearly independent row in the matrix of weight vectors, which is equivalent to the new linearly independent encoding of the data packet transmitted in the multicast mode.

Для лучшего понимания изобретения может быть полезным рассмотреть иллюстративный пример. Рассмотрим передающее устройство с двумя обычными пакетами данных, которые должны быть переданы двум приемным устройствам/пользователям U1 и U2. Таблица I ниже иллюстрирует пример возможного сценария передачи/повторной передачи согласно примерному варианту осуществления изобретения. Например, набор кодирования "001" означает, что первый обычный пакет умножается на весовой коэффициент кодирования 0, второй обычный пакет умножается на весовой коэффициент кодирования 0, а третий обычный пакет умножается на весовой коэффициент кодирования 1, фактически означая, что только третий обычный пакет передается. Таким же образом, "001" для пользователя означает, что этот конкретный пользователь принял третий обычный пакет данных, тогда как "x" для пользователя означает, что информация не принята корректно этим пользователем.For a better understanding of the invention, it may be useful to consider an illustrative example. Consider a transmitter with two conventional data packets that need to be transmitted to two receivers / users U 1 and U 2 . Table I below illustrates an example of a possible transmission / retransmission scenario according to an exemplary embodiment of the invention. For example, coding set “001” means that the first regular packet is multiplied by a coding weight of 0, the second regular packet is multiplied by a coding weight of 0, and the third regular packet is multiplied by a coding weight of 1, effectively meaning that only the third regular packet is transmitted . In the same way, “001” for the user means that this particular user has received the third regular data packet, while “x” for the user means that the information has not been received correctly by that user.

Таблица I Table I TX #TX # НаборSet U1 U 1 U2 U 2 КомментарииComments 1one 001001 001001 XX U1 принимает третий обычный пакет.U 1 receives the third regular packet. 22 010010 XX 010010 U2 принимает второй обычный пакет.U 2 receives the second regular packet. 33 100one hundred XX 100one hundred U2 принимает первый обычный пакет.U 2 receives the first regular packet. 4four 111111 111111 XX Возможно, например, что отправляется не 110 (поскольку ранг для U2 не увеличился бы), а 111, 101 и 011 OK. U1 принимает составной пакет на основании весовых коэффициентов 111.It is possible, for example, that not 110 is sent (since the rank for U 2 would not increase), but 111, 101 and 011 OK. U 1 receives a composite packet based on weights 111. 55 011011 011011 XX U1 принимает составной пакет на основании весовых коэффициентов 011.U 1 receives a composite packet based on weights 011. 66 001001 001001 U2 принимает составной пакет на основании весовых коэффициентов 001.U 2 receives a composite packet based on weights 001.

Пример таблицы I показывает двух пользователей, принимающих три пакета. Следует отметить, что, в общем, недостаточно принимать сначала только обычные пакеты и один составной пакет, чтобы гарантировать декодирование всех обычных пакетов данных. Вместо этого, проиллюстрировано, что передающее устройство должно адаптивно выбирать кодовые весовые коэффициенты, и в этом конкретном примере оно выполняет это на каждом этапе так, что ранг конкретной для приемного устройства матрицы каждого пользователя увеличивается для всех релевантных пользователей, если они принимают составной пакет. Адаптация весовых коэффициентов, как описано здесь, вместо адаптации набора пользователей, которым отправляется один составной пакет, как описано в документах предшествующего уровня техники [5-7], радикально повышает производительность. Помимо этого, ссылки [5-7] не используют конкретные для пользователя матрицы для планирования и кодирования. Дополнительно следует отметить, что в ссылках [5-7] передающее устройство не отправляет пакеты таким образом, чтобы приемное устройство могло использовать несколько составных пакетов одновременно для декодирования.Example table I shows two users receiving three packets. It should be noted that, in general, it is not enough to receive only regular packets and one composite packet at first to guarantee decoding of all ordinary data packets. Instead, it is illustrated that the transmitter must adaptively select code weights, and in this particular example, it does this at every step so that the rank of the receiver-specific matrix of each user is increased for all relevant users if they receive a composite packet. Adaptation of weights, as described here, instead of adapting the set of users to whom one composite packet is sent, as described in the documents of the prior art [5-7], dramatically improves productivity. In addition, references [5-7] do not use user-specific matrices for planning and coding. Additionally, it should be noted that in references [5-7], the transmitting device does not send packets so that the receiving device can use several composite packets simultaneously for decoding.

В этом примере также можно отметить, что как только один пользователь принял достаточное число пакетов данных, обычных и составных пакетов данных, и ранг соответствующей матрицы является полным, больше не требуется или даже невозможно далее увеличивать ранг матрицы этого приемного устройства. Следовательно, только матрицы неполного ранга рассматриваются при определении адаптивных кодовых весовых коэффициентов, что обеспечивает то, что ранг увеличивается для оставшихся приемных устройств матрицы неполных рангов. Предположим, что весовые коэффициенты кодирования составного пакета данных в первом событии планирования адаптированы так, что составной пакет представляет собой линейную комбинацию, которая является линейно независимой, для каждого приемного устройства из первого набора приемных устройств, от любого пакета данных, ранее принятого посредством приемного устройства во время сеанса групповой передачи. Во втором последующем событии планирования, весовые коэффициенты кодирования другого составного пакета данных тем самым могут быть адаптированы так, что составной пакет представляет собой линейную комбинацию, которая является линейно независимой для каждого приемного устройства из второго меньшего набора приемных устройств, от любого пакета данных, ранее принятого посредством приемного устройства во время сеанса групповой передачи.In this example, it can also be noted that as soon as one user has received a sufficient number of data packets, regular and composite data packets, and the rank of the corresponding matrix is complete, it is no longer necessary or even impossible to further increase the matrix rank of this receiving device. Therefore, only matrices of incomplete rank are considered when determining adaptive code weights, which ensures that the rank increases for the remaining receivers of the matrix of incomplete ranks. Assume that the coding weights of the composite data packet in the first scheduling event are adapted so that the composite packet is a linear combination that is linearly independent for each receiver from the first set of receivers, from any data packet previously received by the receiver in multicast session time. In a second subsequent scheduling event, the encoding weights of another composite data packet can thereby be adapted so that the composite packet is a linear combination that is linearly independent for each receiver from the second smaller set of receivers, from any data packet previously received by the receiver during a multicast session.

Естественно, в более реалистичном сценарии число пользователей и число пакетов данных зачастую больше, но вышеупомянутый упрощенный пример служит для того, чтобы иллюстрировать ключевые характеристики настоящего изобретения. В практических вариантах применения число пользователей/приемных устройств K может быть любым числом от двух до, возможно, ста и более.Naturally, in a more realistic scenario, the number of users and the number of data packets are often larger, but the above simplified example serves to illustrate key features of the present invention. In practical applications, the number of users / receivers K may be any number from two to, possibly, a hundred or more.

Обычно, линейная комбинация, например, двух обычных пакетов данных, таких как пакет A и пакет B, означает просто то, что пакеты комбинируются с равным взвешиванием, фактически используя один и тот же весовой коэффициент кодирования "1". Те обычные пакеты данных (такие как пакет C и пакет D), которые не рассматриваются в линейной комбинации, могут считаться имеющими весовой коэффициент кодирования "0".Typically, a linear combination of, for example, two conventional data packets, such as packet A and packet B, simply means that the packets are combined with equal weighting, effectively using the same encoding weight of “1”. Those conventional data packets (such as packet C and packet D) that are not considered in linear combination may be considered to have an encoding weight of “0”.

При определенных обстоятельствах, особенно когда группа групповой передачи включает в себя три или более пользователей, возможность выбирать вектор весовых коэффициентов, имеющий, по меньшей мере, два различных ненулевых весовых коэффициента кодирования, увеличивает (и в большинстве случаев гарантирует) возможность формировать составной пакет данных, который представляет собой новое линейно независимое кодирование обычных пакетов данных, отличный от любого пакета данных (обычного пакета данных или составного пакета данных), ранее принятого посредством каждого релевантного приемного устройства, являющегося частью выбранного набора приемных устройств, во время сеанса групповой передачи.Under certain circumstances, especially when a multicast group includes three or more users, the ability to select a weighting vector having at least two different non-zero encoding weights increases (and in most cases guarantees) the ability to form a composite data packet, which is a new linearly independent coding of ordinary data packets, different from any data packet (regular data packet or composite data packet) previously nyatogo by each relevant receiving device that is part of a selected set of receivers during the multicast session.

Рассмотрим передающее устройство с тремя обычными пакетами данных, которые должны быть переданы трем приемным устройствам/пользователям U1, U2 и U3. Таблица II ниже иллюстрирует пример возможного сценария передачи/повторной передачи согласно другому примерному варианту осуществления изобретения. Например, набор кодирования "01" означает, что первый обычный пакет умножается на весовой коэффициент кодирования 0, а второй обычный пакет умножается на весовой коэффициент кодирования 1, фактически означая, что только второй обычный пакет передается. Таким же образом, "01" для пользователя означает, что этот конкретный пользователь принял второй обычный пакет данных, тогда как "x" для пользователя означает, что информация не принята корректно этим пользователем.Consider a transmitter with three regular data packets that must be transmitted to three receivers / users U 1 , U 2 and U 3 . Table II below illustrates an example of a possible transmission / retransmission scenario according to another exemplary embodiment of the invention. For example, the encoding set “01” means that the first regular packet is multiplied by the encoding weight of 0, and the second regular packet is multiplied by the encoding weight of 1, effectively meaning that only the second regular packet is transmitted. In the same way, “01” for the user means that this particular user has received the second regular data packet, while “x” for the user means that the information has not been received correctly by that user.

Таблица IITable II TX #TX # НаборSet U1 U 1 U2 U 2 U3 U 3 КомментарииComments 1one 0101 0101 XX XX U1 принимает второй обычный пакет.U 1 receives a second regular packet. 22 1010 XX 1010 XX U2 принимает первый обычный пакет.U 2 receives the first regular packet. 33 11eleven XX XX 11eleven U3 принимает составной пакет.U 3 accepts the composite packet. 4four 1212 1212 XX XX Необходимо выходить за рамки поля {0,1} для того, чтобы находить новое линейно независимое кодирование: 12.It is necessary to go beyond the field {0,1} in order to find a new linearly independent coding: 12. 55 0101 XX XX U1 - это полный ранг, так что только U2 и U3 рассматриваются. Ни один не принимает.U 1 is the full rank, so only U 2 and U 3 are considered. None accept. 66 0101 -- XX 0101 U3 принимает второй обычный пакет.U 3 receives the second regular packet. 77 0101 0101 U1 и U3 - это полный ранг, так что только U2 рассматривается, U2 принимает второй обычный пакет.U 1 and U 3 are the full rank, so only U 2 is considered, U 2 receives the second regular packet.

Со ссылкой на таблицу III ниже, описывается еще один пример сценария передачи. В этом конкретном примере, рассмотрим передающее устройство с тремя обычными пакетами данных, которые должны быть переданы трем приемным устройствам/пользователям U1, U2 и U3.With reference to table III below, another example transmission scenario is described. In this particular example, consider a transmitter with three regular data packets that must be transmitted to three receivers / users U 1 , U 2 and U 3 .

Таблица IIITable III TX #TX # НаборSet U1 U 1 U2 U 2 U3 U 3 КомментарииComments 1one 001001 001001 XX XX U1 принимает третий обычный пакет.U 1 receives the third regular packet. 22 010010 XX 010010 XX U2 принимает второй обычный пакет.U 2 receives the second regular packet. 33 100one hundred XX 100one hundred XX U2 принимает первый обычный пакет.U 2 receives the first regular packet. 4four 101101 101101 XX XX Возможно, отправляется не 110 (поскольку ранг для U2 не увеличился бы), а 101 и 011 OK. U1 принимает составной пакет на основании весовых коэффициентов 101.Perhaps not 110 is sent (since the rank for U 2 would not increase), but 101 and 011 OK. U 1 receives a composite packet based on weights 101. 55 011011 XX XX 011011 U3 принимает составной пакет на основании весовых коэффициентов 011.U 3 receives a composite packet based on weights 011. 66 111111 XX XX 111111 U3 принимает составной пакет на основании весовых коэффициентов 111.U 3 receives the composite packet based on weights 111. 77 211211 XX 211211 XX Необходимо выходить за рамки поля {0,1} для того, чтобы находить новое линейно независимое кодирование: 211. U2 принимает составной пакет на основании весовых коэффициентов 211.It is necessary to go beyond the scope of the field {0,1} in order to find a new linearly independent coding: 211. U 2 receives a composite packet based on weighting factors 211. 88 110110 110110 -- XX U2 - это полный ранг, так что только U1 и U3 рассматриваются.U 2 is the full rank, so only U 1 and U 3 are considered. 99 001001 -- -- 001001 U1 и U2 - это полный ранг, так что только U3 рассматривается.U 1 and U 2 are the full rank, so only U 3 is considered.

Следует отметить из таблицы II, что каждый пользователь принимает только два различных пакета данных, которые могут быть составными пакетами данных, обычными пакетами данных или комбинацией обоих. Также может быть подтверждено, что каждый пользователь может определять эти два обычных пакета данных, поскольку предусмотрено то, что каждый пользователь в каждой передаче гарантированно принимает новую линейную комбинацию обычных пакетов данных. То же самое применимо к таблице I и таблице III.It should be noted from Table II that each user receives only two different data packets, which can be composite data packets, ordinary data packets, or a combination of both. It can also be confirmed that each user can define these two ordinary data packets, since it is envisaged that each user in each transmission is guaranteed to receive a new linear combination of the usual data packets. The same applies to table I and table III.

Как отмечено выше, специальная возможность адаптивно выбирать вектор весовых коэффициентов, имеющий, по меньшей мере, два различных ненулевых весовых коэффициента кодирования, увеличивает возможность всегда формировать составной пакет данных, который представляет собой новое линейно независимое кодирование обычных пакетов данных, отличный от любого пакета данных (обычного пакета данных или составного пакета данных), ранее принятого посредством каждого приемного устройства для всех или релевантного поднабора приемных устройств во время сеанса групповой передачи. При определенных обстоятельствах, особенно когда число пользователей является большим, это может быть важным, поскольку возможность передавать новые линейно независимые пакеты данных (обычные и/или составные пакеты данных) для каждого приемного устройства, по меньшей мере, в большей части событий передачи во время сеанса групповой передачи значительно повышает пропускную способность для надежной групповой передачи.As noted above, the special ability to adaptively select a weighting vector having at least two different nonzero coding weights increases the ability to always generate a composite data packet, which is a new linearly independent coding of ordinary data packets, different from any data packet ( conventional data packet or composite data packet) previously received by each receiver for all or a relevant subset of receivers in emya multicast session. In certain circumstances, especially when the number of users is large, this can be important, since the ability to transmit new linearly independent data packets (regular and / or composite data packets) for each receiver, at least in most of the transmission events during the session multicast transmission significantly increases throughput for reliable multicast.

В общем, посредством систематической передачи определенного числа передаваемых в режиме групповой передачи пакетов или общих пакетов данных (обычных и/или составных пакетов данных), которые являются линейно независимыми от любого передаваемого в режиме групповой передачи пакета данных (обычного пакета данных или составного пакета данных), ранее принятого посредством набора приемных устройств во время сеанса групповой передачи, достаточно отправлять просто N таких пакетов данных для того, чтобы извлекать все N обычных пакетов данных, таким образом получая максимальную пропускную способность. Тем не менее, если приемное устройство принимает больше N пакетов данных, которые основаны только на N обычных пакетов данных, по-прежнему возможно извлекать N обычных пакетов данных.In general, by systematically transmitting a certain number of packets transmitted in multicast mode or common data packets (regular and / or composite data packets) that are linearly independent of any multicast data packet (ordinary data packet or composite data packet) previously received by a set of receivers during a multicast session, it’s enough to send just N such data packets in order to retrieve all N ordinary data packets, thus getting maximum throughput. However, if the receiver receives more than N data packets that are based on only N regular data packets, it is still possible to retrieve N regular data packets.

По сравнению с традиционной групповой передачей ARQ, изобретение требует того, чтобы меньше передаваемых в групповом режиме пакетов данных отправлялось от передающего устройства в приемные устройства, чтобы обеспечивать корректный прием передаваемых пакетов данных. Изобретение предоставляет стратегию для надежной групповой передачи с детерминированными пределами на число пакетов, которое должно быть принято для декодируемости.Compared to traditional multicast ARQ, the invention requires that fewer multicast data packets are sent from the transmitter to receivers in order to ensure that the transmitted data packets are correctly received. The invention provides a strategy for reliable multicast with deterministic limits on the number of packets that must be received for decodability.

В примерном варианте осуществления изобретения также можно формировать несколько пакетов данных в данном событии планирования и передавать несколько составных пакетов в пакетной передаче. В таком событии планирования несколько составных пакетов данных обычно формируются с помощью одной информации обратной связи, так чтобы несколько составных пакетов данных зависели друг от друга (хотя каждый из них по-прежнему является линейно независимым от ранее принятых пакетов посредством каждого приемного устройства из релевантного набора приемных устройств, а также в пакетной передаче вышеприведенных передаваемых составных пакетов). Если это осуществляется систематически во множестве событий планирования, может быть возможным уменьшать объем служебных сигналов обратной связи, требуемых для передачи данного количества передаваемой в режиме групповой передачи информации.In an exemplary embodiment of the invention, it is also possible to form several data packets in a given scheduling event and transmit several composite packets in packet transmission. In such a planning event, several composite data packets are usually generated using the same feedback information, so that several composite data packets are dependent on each other (although each of them is still linearly independent from previously received packets by each receiver from a relevant set of receivers devices, as well as in packet transmission of the above transmitted composite packets). If this is done systematically in a plurality of scheduling events, it may be possible to reduce the amount of feedback overhead required to transmit a given amount of multicast information.

Для лучшего понимания изобретения, примерная полная процедура ARQ будет далее вкратце описана со ссылкой на блок-схему последовательности операций способа по фиг.3.For a better understanding of the invention, an exemplary complete ARQ procedure will now be described briefly with reference to the flowchart of FIG. 3.

На этапе S1, один или более пакетов данных отправляются от одного или более узлов в операции отправки, по меньшей мере, в два приемных узла. Каждый отдельный пакет данных предназначен для всех рассматриваемых приемных узлов, т.е. пакеты данных - это "передаваемые в режиме групповой передачи пакеты данных". Передача пакетов данных может осуществляться одновременно или последовательно, в зависимости от технологии передачи. На этапе S2, приемные узлы сохраняют соответствующие пакеты данных, которые корректно приняты (корректно демодулированы и декодированы согласно схеме FEC). На этапе S3, приемные узлы возвращают информацию пакетов, которые они приняли, в передающий(ие) узел(лы). На этапе S4, передающий узел формирует, если это выгодно, составной передаваемый в режиме групповой передачи пакет данных посредством использования сведений обратной связи о принимаемых пакетах данных от приемных узлов 110, 120 или альтернативно отправляет обычный передаваемый в режиме групповой передачи пакет данных. Составной передаваемый в режиме групповой передачи пакет данных обычно формируется на основании нескольких выбранных обычных передаваемых в режиме групповой передачи пакетов данных, которые должны быть (повторно) переданы. Например, число битов в составном передаваемом в режиме групповой передачи пакете преимущественно может быть меньше суммы числа битов частей пакетов, которые совместно кодированы. Передающий узел может формировать множество различных составных передаваемых в режиме групповой передачи пакетов для передачи, возможно, в комбинации с передачей обычных передаваемых в режиме групповой передачи пакетов данных, чтобы оптимизировать пропускную способность. На этапе S5, передающий узел передает составной передаваемый в режиме групповой передачи пакет данных или выбранный обычный передаваемый в режиме групповой передачи пакет данных во все приемные узлы. После приема составного передаваемого в режиме групповой передачи пакета данных приемные узлы декодируют, если возможно, составной передаваемый в режиме групповой передачи пакет данных и извлекают соответствующие передаваемые в режиме групповой передачи данные, которые ранее неизвестны, для соответствующего приемного узла. В процессе декодирования и извлечения, предпочтительно используются передаваемые в режиме групповой передачи пакеты данных, ранее декодированные согласно схеме FEC посредством приемного устройства.In step S1, one or more data packets are sent from one or more nodes in a send operation to at least two receiving nodes. Each separate data packet is intended for all considered receiving nodes, i.e. data packets are “multicast data packets”. Data packets can be transmitted simultaneously or sequentially, depending on the transmission technology. In step S2, the receiving nodes store the corresponding data packets that are correctly received (correctly demodulated and decoded according to the FEC scheme). In step S3, the receiving nodes return information of packets that they have received to the transmitting node (s). In step S4, the transmitting node generates, if advantageous, a composite data packet transmitted in multicast mode by using feedback information about received data packets from receiving nodes 110, 120, or alternatively sends a conventional multicast data packet. A composite multicast data packet is typically generated based on several selected conventional multicast data packets that must be (retransmitted). For example, the number of bits in a composite packet transmitted in multicast mode may advantageously be less than the sum of the number of bits of the packet parts that are jointly encoded. The transmitting node may form many different constituent packets transmitted in the multicast mode for transmission, possibly in combination with the transmission of conventional multicast packets of data to optimize throughput. In step S5, the transmitting node transmits a composite data packet transmitted in the multicast mode or a selected conventional multicast data packet transmitted to all receiving nodes. After receiving the composite data packet transmitted in the multicast mode, the receiving nodes decode, if possible, the composite data packet transmitted in the multicast mode and retrieve the corresponding data transmitted in the multicast transmission mode, which were previously unknown, for the corresponding receiving node. In the decoding and extraction process, multicast data packets previously decoded according to the FEC scheme by the receiver are preferably used.

В этом контексте, изобретение специально предназначается для формирования (кодирования) составных пакетов и определения (планирования) того, какие обычные пакеты данных использовать (и как) в каждом составном пакете данных. В этом смысле, формирование составного пакета данных может рассматриваться как совместная процедура планирования и кодирования. Это главным образом касается стороны передающего устройства, как проиллюстрировано на блок-схеме последовательности операций способа по фиг.4. На этапе S11, передающее устройство принимает информацию обратной связи, указывающую принимаемые пакеты данных, от приемных устройств. Как ранее упомянуто, ключевая характеристика изобретения состоит в том, чтобы формировать, по меньшей мере, один составной передаваемый в режиме групповой передачи пакет данных как взвешенную линейную комбинацию обычных пакетов данных на основании тщательно выбранного набора весовых коэффициентов кодирования, как указано на этапе S12 и S13. Весовые коэффициенты кодирования, по меньшей мере, для одного составного пакета данных адаптируются на этапе S12 на основании информации обратной связи о ранее принятых пакетах данных так, что составной пакет представляет собой новое кодирование обычных пакетов данных, линейно независимых от любого пакета данных, ранее принятого посредством каждого приемного устройства в релевантном наборе приемных устройств во время сеанса групповой передачи. Это означает, что весовые коэффициенты кодирования адаптивно выбираются в ответ на ранее принятые пакеты каждого приемного устройства через обратную связь, чтобы предоставлять новое линейно независимое кодирование обычных пакетов данных. На этапе S13, составной пакет данных формируется предпочтительно посредством умножения обычных пакетов данных на соответствующие адаптированные весовые коэффициенты кодирования. На этапе S14, формируемый составной пакет данных передается в приемные устройства. Как проиллюстрировано на последовательности операций полного ARQ на фиг.3, процедура предпочтительно повторяется до тех пор, пока все обычные пакеты в сеансе групповой передачи не переданы всем релевантным пользователям группы групповой передачи.In this context, the invention is specifically intended to formulate (encode) composite packets and determine (schedule) which conventional data packets to use (and how) in each composite data packet. In this sense, the formation of a composite data packet can be considered as a joint planning and coding procedure. This mainly relates to the side of the transmitting device, as illustrated in the flowchart of FIG. 4. In step S11, the transmitting device receives feedback information indicating received data packets from the receiving devices. As previously mentioned, a key characteristic of the invention is to form at least one composite multicast data packet as a weighted linear combination of conventional data packets based on a carefully selected set of encoding weights, as indicated in steps S12 and S13 . The coding weights for at least one composite data packet are adapted in step S12 based on the feedback information of previously received data packets so that the composite packet is a new encoding of conventional data packets linearly independent of any data packet previously received by each receiver in a relevant set of receivers during a multicast session. This means that the encoding weights are adaptively selected in response to previously received packets of each receiver via feedback to provide a new linearly independent encoding of conventional data packets. In step S13, the composite data packet is preferably formed by multiplying the conventional data packets by the respective adapted coding weights. In step S14, the generated composite data packet is transmitted to the receivers. As illustrated in the full ARQ flowchart of FIG. 3, the procedure is preferably repeated until all normal packets in a multicast session are transferred to all relevant multicast group users.

Дополнительно, несколько составных пакетов данных могут быть сформированы и переданы в данном событии планирования посредством повторения этапов S12-S14, как указано пунктирной линией на фиг.4. Это подробнее описано позже.Additionally, several composite data packets can be generated and transmitted in this scheduling event by repeating steps S12-S14, as indicated by the dashed line in FIG. 4. This is described in more detail later.

Обратная связь от приемных узлов в передающий узел предпочтительно может быть частью процедуры подтверждения приема (ACK). Сообщения обратной связи в типичном варианте могут составляться различными способами, например, в зависимости от используемых протоколов передачи, процедуры ARQ и т.д.Feedback from the receiving nodes to the transmitting node may preferably be part of an acknowledgment procedure (ACK). Feedback messages can typically be composed in various ways, for example, depending on the transmission protocols used, ARQ procedures, etc.

Различные способы и форматы кодирования могут использоваться с изобретением, как подробнее описано ниже.Various encoding methods and formats may be used with the invention, as described in more detail below.

Следует понимать, что при настоящем изобретении ничего не препятствует полной процедуре начаться на этапе S1 (см. фиг.3) посредством передачи составного пакета данных.It should be understood that with the present invention, nothing prevents the complete procedure from starting in step S1 (see FIG. 3) by transmitting a composite data packet.

Также следует отметить, что передачи могут осуществляться одновременно, если используется технология передачи, предоставляющая возможность параллельных передач, например, используется множественный доступ с ортогональным частотным разделением каналов (OFDMA), т.е. первый пакет и второй пакет отправляются параллельно, но по непересекающимся наборам OFDM-поднесущих. Повторная передача также может осуществляться одновременно.It should also be noted that transmissions can be carried out simultaneously if a transmission technology is used that allows parallel transmissions, for example, orthogonal frequency division multiple access (OFDMA) is used, i.e. the first packet and the second packet are sent in parallel, but over disjoint sets of OFDM subcarriers. Retransmission can also be carried out simultaneously.

В более математическом подходе, чтобы пояснить изобретение, ранее принятые передаваемые в режиме групповой передачи пакеты данных (обычные и/или составные пакеты данных) для каждого приемного устройства, могут быть описаны как линейная система уравнений на основании матрицы векторов весовых коэффициентов. Для ранее принятого составного пакета данных вектор весовых коэффициентов, обозначенный как ω, должен включать в себя набор весовых коэффициентов кодирования, тогда как для ранее принятого обычного пакета данных вектор весовых коэффициентов должен включать в себя один ненулевой весовой коэффициент кодирования. При событии кодирования и планирования, при формировании нового составного пакета данных для передачи в приемные устройства идея состоит в том, чтобы адаптивно выбирать весовые коэффициенты кодирования взвешенной линейной комбинации обычных пакетов данных на основании обратной связи ранее принятых пакетов данных так, что ранг должен увеличиваться для линейной системы уравнений каждого рассматриваемого приемного устройства. Увеличение ранга соответствует формированию новой линейно независимой строки в конкретной для каждого приемного устройства матрице векторов весовых коэффициентов, которая эквивалентна новому линейно независимому кодированию передаваемого в режиме групповой передачи пакета данных.In a more mathematical approach, in order to explain the invention, previously received multicast data packets (regular and / or composite data packets) for each receiver can be described as a linear system of equations based on a matrix of weight vector vectors. For a previously received composite data packet, the weight vector denoted by ω should include a set of coding weights, while for a previously received conventional data packet, the weight vector should include one non-zero coding weight. In a coding and scheduling event, when generating a new composite data packet for transmission to receivers, the idea is to adaptively select the coding weights of a weighted linear combination of conventional data packets based on the feedback of previously received data packets so that the rank should increase for a linear systems of equations for each receiver in question. The increase in rank corresponds to the formation of a new linearly independent row in a matrix of weight vectors specific for each receiver, which is equivalent to the new linearly independent encoding of a data packet transmitted in the multicast mode.

Теперь, при приеме посредством каждого пользователя одного или более передаваемых в режиме групповой передачи пакетов данных (обычных и/или составных пакетов данных) можно рассматривать их как систему линейных уравнений, в которой передаваемые в режиме групповой передачи пакеты данных известны, взвешивания известны, и каждый набор приемных устройств стремится решать свою линейную систему уравнений для того, чтобы определять и декодировать обычные пакеты данных. На стороне передающего устройства цель состоит в том, чтобы формировать (диспетчеризовать и кодировать) соответствующую систему уравнений, а на стороне приемного устройства цель состоит в том, чтобы решать (декодировать) линейную систему уравнений и извлекать обычные пакеты данных.Now, when each user receives one or more data packets transmitted in multicast mode (conventional and / or composite data packets), they can be considered as a system of linear equations in which data packets transmitted in multicast mode are known, weightings are known, and each the set of receivers seeks to solve its linear system of equations in order to determine and decode ordinary data packets. On the side of the transmitting device, the goal is to form (dispatch and code) the corresponding system of equations, and on the side of the receiving device, the goal is to solve (decode) the linear system of equations and extract ordinary data packets.

Если новый линейно независимый передаваемый в режиме групповой передачи пакет данных передается каждый раз так, что ранг последовательно увеличивается для каждого принимаемого пакета данных (для каждого пользователя, принимающего пакет данных) или, по меньшей мере, большинство раз, пропускная способность значительно повышается. В первом случае, когда новый линейно независимый передаваемый в режиме групповой передачи пакет данных передается каждый раз, декодируемость N обычных пакетов данных может быть гарантирована, когда просто N пакетов данных принято, поскольку матрица векторов весовых коэффициентов включает в себя N линейно независимых строк, из которых могут быть извлечены все N обычных пакетов данных. Поскольку ранг матрицы увеличивается для каждого принимаемого пакета данных, достаточно обеспечивать то, что все пользователи приняли только N пакетов данных, для того чтобы декодировать и извлекать все N обычных пакетов данных.If a new linearly independent multicast data packet is transmitted each time so that the rank is sequentially increased for each received data packet (for each user receiving the data packet) or at least most times, the throughput is significantly increased. In the first case, when a new linearly independent multicast data packet is transmitted each time, the decodability of N ordinary data packets can be guaranteed when just N data packets are received, since the matrix of weight vectors includes N linearly independent rows, of which all N regular data packets can be retrieved. As the matrix rank increases for each received data packet, it is sufficient to ensure that all users receive only N data packets in order to decode and retrieve all N ordinary data packets.

Кроме того, чтобы предоставлять то, что ранг увеличивается для всех или поднабора рассматриваемых приемных устройств, авторы изобретения выяснили, что иногда недостаточно использовать весовые коэффициенты, которые могут допускать только значения 0 и 1. Иногда, когда число приемных узлов является большим относительно числа обычных пакетов, которые предусмотрены для передачи, будет полезным использовать вектор весовых коэффициентов, который имеет, по меньшей мере, два различных ненулевых весовых коэффициента кодирования, как пояснено ранее.In addition, in order to provide that the rank increases for all or a subset of receivers in question, the inventors have found that sometimes it is not enough to use weights that can only allow values 0 and 1. Sometimes, when the number of receiving nodes is large relative to the number of regular packets that are provided for transmission, it will be useful to use a weighting vector that has at least two different non-zero weighting coding coefficients, as explained by it.

Отметим, что хотя линейная комбинация, в принципе, может быть выполнена с помощью обычной арифметики, приводя к переносу битов, которые должны быть сформированы для составного пакета, предпочтительно использовать показатель, который обеспечивает то, что длина составного пакета является практически такой же, как для обычных пакетов. Следовательно, арифметика на основании конечных полей предпочтительна и предполагается далее. Возможным типом арифметики является так называемая арифметика по модулю, но изобретение не ограничено ею. Также отметим, что операция линейного кодирования может быть выполнена для полного пакета данных, или альтернативно обычные пакеты данных делятся на несколько более управляемых подстрок, для которых выполняется одна операция линейного кодирования.Note that although a linear combination, in principle, can be performed using conventional arithmetic, leading to the transfer of bits that must be generated for the composite packet, it is preferable to use an indicator that ensures that the length of the composite packet is almost the same as for regular packages. Therefore, arithmetic based on finite fields is preferable and is assumed further. A possible type of arithmetic is the so-called modulo arithmetic, but the invention is not limited to it. Also note that a linear encoding operation may be performed for a complete data packet, or alternatively, conventional data packets are divided into several more manageable substrings for which one linear encoding operation is performed.

Отметим, что далее предполагается, что мы оперируем с любым типом арифметики, который предоставляет те же правила, что и традиционная арифметика, которая дает возможность формирования (планирования и кодирования) и решения (декодирования) линейной системы уравнений. Следовательно, без потери общности, уравнения далее записываются в традиционной арифметической системе обозначений.Note that it is further assumed that we operate with any type of arithmetic, which provides the same rules as traditional arithmetic, which enables the formation (planning and coding) and solution (decoding) of a linear system of equations. Therefore, without loss of generality, the equations are further written in the traditional arithmetic notation.

Во-первых, априорная информация каждого пользователя, т.е. ранее принятые общие передаваемые в режиме групповой передачи пакеты данных (обычные и/или составные пакеты данных), может быть описана как линейная система уравнений согласно следующему:Firstly, a priori information of each user, i.e. previously received common data packets transmitted in multicast mode (regular and / or composite data packets) can be described as a linear system of equations according to the following:

Figure 00000001
Figure 00000001

где dn - это значение n-го обычного пакета,

Figure 00000002
- это значение для mk-го общего передаваемого в режиме групповой передачи пакета данных для пользователя k,
Figure 00000003
- это весовой коэффициент для пользователя k и обычного пакета n и принимаемого общего передаваемого в режиме групповой передачи пакета данных mk пользователем k, Mk - это последний принимаемый пакет данных пользователем k, а N - это общее число обычных пакетов, которые должны быть переданы. Отметим, что каждый пользователь, возможно, принял различное число передаваемых в режиме групповой передачи пакетов данных, и для этого нужен индекс k в переменной Mk . where d n is the value of the nth regular packet,
Figure 00000002
is the value for the m k th total data packet transmitted in multicast mode for user k,
Figure 00000003
is the weight coefficient for user k and the usual packet n and the received total data packet transmitted in multicast mode m k by user k, M k is the last received data packet by user k, and N is the total number of ordinary packets that must be transmitted . Note that each user may have received a different number of data packets transmitted in multicast mode, and this requires the index k in the variable M k .

Теперь, чтобы упростить систему обозначений, можно записать (1) в матричной форме для пользователя k:Now, to simplify the notation system, we can write (1) in matrix form for user k :

Ck=WkD (2)C k = W k D (2)

Формирование (кодирование) и решение (декодирование) системы линейных уравнений, возможно, как указано ранее, выполняется с помощью обычной арифметики, "арифметики по модулю" или любой другой подходящей арифметики.The formation (coding) and solution (decoding) of a system of linear equations, possibly, as indicated earlier, is carried out using ordinary arithmetic, "modulo arithmetic" or any other suitable arithmetic.

Значения, которые весовые коэффициенты

Figure 00000004
могут допускать, в типичном варианте ограничиваются по числу. Дополнительно, изобретение не устанавливает специальным образом то, какие значения можно допускать для весовых коэффициентов, и они могут быть выбраны из произвольного набора, к примеру, {0,..., 3} или даже некоторого более мнимого произвольного набора, такого как {0, 1, 2, 3, 5, 7, 11, 13}. Чем больше число значений, которые могут быть допущены, тем большая степень свободы представляется, что помогает находить кодовый вектор, который может быть использован для того, чтобы формировать составной пакет данных. Кроме того, большее число пакетов влечет за собой большую степень свободы, что помогает находить кодовый вектор, который может быть использован для того, чтобы формировать составной пакет данных.Values that weights
Figure 00000004
may admit, are typically limited in number. Additionally, the invention does not specifically establish what values can be allowed for weights, and they can be selected from an arbitrary set, for example, {0, ..., 3} or even some more imaginary arbitrary set, such as {0 , 1, 2, 3, 5, 7, 11, 13}. The larger the number of values that can be allowed, the greater the degree of freedom that seems to help find a code vector that can be used to form a composite data packet. In addition, a larger number of packets entails a greater degree of freedom, which helps to find a code vector that can be used to form a composite data packet.

Тем не менее, алфавит для весовых коэффициентов кодовых векторов в типичном варианте должен быть достаточно большим, чтобы получать достаточную степень свободы для того, чтобы давать возможность всем рассматриваемым пользователям получать N линейно независимых уравнений. Однако алфавит не должен быть очень большим. Моделирование демонстрирует, что для K=20 пользователей, N=6 пакетов, где вероятности приема для пользователей являются независимыми, и каждая вероятность приема при этом допускается равной p=0,05, достаточен размер алфавита (или, эквивалентно, основание b) только в 3 элемента {0, 1, 2} (или, эквивалентно, основание b=3).However, the alphabet for the weighting coefficients of the code vectors in a typical embodiment should be large enough to obtain a sufficient degree of freedom to enable all the users in question to receive N linearly independent equations. However, the alphabet does not have to be very large. The simulation demonstrates that for K = 20 users, N = 6 packets, where the reception probabilities for users are independent, and each reception probability is assumed to be equal to p = 0.05, the alphabet size is sufficient (or, equivalently, base b) only in 3 elements {0, 1, 2} (or, equivalently, base b = 3).

Чтобы реализовать идею минимального значения для основания b (или, эквивалентно, минимального числа элементов в алфавите), мы знаем, что число кодовых слов bN должно быть больше, чем число, которое каждый из K пользователей принимает, в наихудшем случае, N различных передаваемых в режиме групповой передачи пакетов данных. Следовательно, условие состоит в том, что bN>N·K. Хотя это не идеальная оценка, тем не менее, она указывает, что b, N и K взаимосвязаны. Также обычно имеется зависимость от вероятности приема p, и при высокой вероятности приема есть высокая вероятность того, что несколько пользователей принимают один пакет данных.To realize the idea of the minimum value for the base b (or, equivalently, the minimum number of elements in the alphabet), we know that the number of code words b N must be greater than the number that each of K users accepts, in the worst case, N different transmitted in multicast data packet mode. Therefore, the condition is that b N > N · K. Although this is not an ideal estimate, it nevertheless indicates that b, N and K are interconnected. There is also usually a dependence on the probability of receiving p, and with a high probability of receiving, there is a high probability that several users receive one data packet.

Также отметим, что возможно то, что строка в Wk и кодовый вектор или вектор весовых коэффициентов содержат только один ненулевой элемент. Это эквивалентно отправке просто одного обычного пакета для общего передаваемого в режиме групповой передачи пакета данных. Изобретение предпочтительно использует арифметику конечных полей, которая позволяет использовать больше элементов, чем только "0" и "1". Когда число пользователей является большим и число обычных пакетов данных к передаче является небольшим, это гарантирует обнаружение новых линейных комбинаций.Also note that it is possible that a string in W k and a code vector or a weight vector contain only one nonzero element. This is equivalent to sending just one regular packet for a common multicast data packet. The invention preferably uses finite field arithmetic, which allows more elements to be used than just “0” and “1”. When the number of users is large and the number of conventional data packets to be transmitted is small, this ensures the discovery of new linear combinations.

В систематическом подходе, когда желательно находить новую линейную комбинацию каждый раз, базовая последовательность операций следующая:In a systematic approach, when it is desirable to find a new linear combination every time, the basic sequence of operations is as follows:

- Рассмотрение группы групповой передачи пользователей, где пользователи индексируются посредством k- Consideration of a group of group transmission of users, where users are indexed by k

- При N обычных пакетов данных для групповой передачи- For N ordinary multicast data packets

- Для каждого пользователя k, извлечение матрицы весовых коэффициентов Wk - For each user k, extracting the weight matrix W k

-

Figure 00000005
k выбор кодового вектора так, чтобы Rank(W'k)=Rank(Wk)+1, где
Figure 00000006
для тех k, где Rank(Wk)<N-
Figure 00000005
k select a code vector so that Rank (W ' k ) = Rank (W k ) +1, where
Figure 00000006
for those k where Rank (W k ) <N

- Формирование и отправка составного пакета на основании кодового вектора ω- Formation and sending of a composite packet based on the code vector ω

- Обновление всех матриц весовых коэффициентов на основании обратной связи приема.- Updating all weight matrices based on reception feedback.

Другая эквивалентная формулировка, также дающая в результате увеличение ранга, следующая:Another equivalent formulation, also resulting in an increase in rank, is as follows:

- Рассмотрение группы групповой передачи пользователей, где пользователи индексируются посредством k- Consideration of a group of group transmission of users, where users are indexed by k

- При N обычных пакетов данных для групповой передачи- For N ordinary multicast data packets

- Для каждого пользователя k, извлечение матрицы весовых коэффициентов Wk - For each user k, extracting the weight matrix W k

- Определение нуль-пространства для Wk и обозначение его как Ξk - Definition of a null space for W k and its designation as Ξ k

-

Figure 00000005
k выбор кодового вектора ω так, что
Figure 00000007
для тех k, где Rank(Wk)<N -
Figure 00000005
k the choice of the code vector ω so that
Figure 00000007
for those k where Rank (W k ) <N

- Формирование и отправка составного пакета на основании кодового вектора ω- Formation and sending of a composite packet based on the code vector ω

- Обновление всех матриц весовых коэффициентов на основании обратной связи приема.- Updating all weight matrices based on reception feedback.

Как пояснено ранее, другой способ формулирования этого состоит в том, чтобы заявлять, что весовые коэффициенты кодирования выбираются так, что каждый раз отправляется новое линейно независимое кодирование обычных пакетов данных.As explained previously, another way of formulating this is to claim that the encoding weights are selected such that a new linearly independent encoding of the ordinary data packets is sent each time.

Вышеупомянутая операция обеспечивает то, что любой пользователь, принимающий общий передаваемый в режиме групповой передачи пакет данных, всегда увеличивает свой ранг. Когда пользователь принял N пакетов данных групповой передачи, система уравнений должна иметь N линейно независимых строк, т.е. полный ранг. Следовательно, пользователь может декодировать все обычные пакеты данных, принимая только минимальное число общих передаваемых в режиме групповой передачи пакетов данных. Поскольку может отнимать больше времени для определенного пользователя то, чтобы принимать свои N пакетов данных групповой передачи, некоторые другие пользователи могут принимать свои требуемые N пакетов данных групповой передачи и затем некоторые последующие пакеты данных, которые являются избыточными и могут быть отброшены (или не приняты).The above operation ensures that any user receiving a general data packet transmitted in multicast mode always increases his rank. When the user has received N multicast data packets, the equation system must have N linearly independent lines, i.e. full rank. Therefore, the user can decode all the usual data packets, receiving only the minimum number of total data packets transmitted in the multicast mode. Since it may take more time for a specific user to receive their N multicast data packets, some other users may receive their required N multicast data packets and then some subsequent data packets that are redundant and may be discarded (or not received) .

Возможный подход для того, чтобы находить подходящий кодовый вектор ω, основан на гипотезе итерационных испытаний предварительных кодовых векторов ω. Например, выберем алфавит (т.е. поле) значений, которые могут допускать элементы кодового вектора ω. С учетом алфавита, упорядочим список со всеми возможными перестановками, т.е. список, имеющий bN вариантов кодового вектора (где b - это число элементов в поле, а N - это число обычных пакетов данных, которые должны быть переданы). Выполняем поиск по списку от начала до конца (или так далеко, как требуется) и по очереди назначаем каждый элемент в списке как вариант кодового вектора ω. Для каждого варианта кодового вектора ω проверяем то, удовлетворяется ли условие согласно алгоритму кодирования/планирования (т.е. ранг увеличивается или альтернативно ненулевой вектор проецирует ω на нуль-пространство) для всех пользователей с матрицами весовых коэффициентов неполного ранга. Если условие выполняется, выбираем вариант кодового вектора в качестве кодового вектора ω.A possible approach in order to find a suitable code vector ω is based on the hypothesis of iterative testing of preliminary code vectors ω. For example, we choose an alphabet (i.e., a field) of values that the elements of the code vector ω can admit. Given the alphabet, we order the list with all possible permutations, i.e. a list that has b N variants of the code vector (where b is the number of elements in the field, and N is the number of ordinary data packets to be transmitted). We search the list from beginning to end (or as far as required) and, in turn, assign each element in the list as a variant of the code vector ω. For each variant of the code vector ω, we check whether the condition is satisfied according to the coding / scheduling algorithm (i.e., the rank increases or alternatively a nonzero vector projects ω onto zero space) for all users with matrices of weight coefficients of incomplete rank. If the condition is fulfilled, we choose the variant of the code vector as the code vector ω.

Фактически, вариант кодового вектора может быть создан посредством прибавления значения "1" к предыдущему варианту кодового вектора, т.е. просто счетчика. Чтобы предоставлять подходящий набор значений для весовых коэффициентов, к примеру, от нуля до некоторого числа b-1, вариант кодового вектора может использовать и выполнять подсчет с основанием b, где каждая цифра должна соответствовать весовому коэффициенту.In fact, a variant of the code vector can be created by adding the value "1" to the previous variant of the code vector, i.e. just a counter. In order to provide a suitable set of values for weighting factors, for example, from zero to a certain number b-1, a variant of the code vector can use and perform counting with base b, where each digit must correspond to a weighting factor.

В качестве альтернативы подсчету в прямом направлении с основанием b для следующего варианта кодового вектора можно вместо этого проходить через все или набор слов с весовым коэффициентом "1", т.е. только один весовой коэффициент является ненулевым, а затем все или комбинации набора слов с весовым коэффициентом "2" и так далее. Идея здесь состоит в том, чтобы сохранять число на ненулевых элементах весового коэффициента максимально низким, чтобы минимизировать сложность кодирования и декодирования. По меньшей мере, для одного кодового вектора, тем не менее, имеется, по меньшей мере, два ненулевых весовых коэффициента кодирования в соответствии с изобретением.As an alternative to counting in the forward direction with base b for the next version of the code vector, you can instead go through all or a set of words with a weight factor of "1", i.e. only one weighting factor is nonzero, and then all or combinations of a set of words with a weighting factor of "2" and so on. The idea here is to keep the number on non-zero elements of the weight coefficient as low as possible in order to minimize the encoding and decoding complexity. For at least one code vector, however, there are at least two non-zero encoding weights in accordance with the invention.

В качестве альтернативы, может быть возможным определять кодовый вектор непосредственно из нуль-пространств матриц весовых коэффициентов. Для каждого пользователя k рассмотрим матрицу весовых коэффициентов Wk и определим ассоциированное нуль-пространство и обозначим его Ξk. Для каждого пользователя k теперь следует сформировать кодовый вектор ω с таким свойством, что он имеет ненулевую проекцию, по меньшей мере, на один из векторов в Ξk . Мы знаем, что, если кодовый вектор ω выбирается как одно из основания в Ξk, скажем, первый вектор нуль-пространства ξk , каждый должен иметь требуемую ненулевую проекцию для этого пользователя. Тем не менее, необходимо обеспечивать то, что это является истиной для всех или, по меньшей мере, для данного поднабора пользователей. Один способ, чтобы добиться этого, состоит в том, чтобы формировать суперпозицию по всему первому вектору нуль-пространства ξk в Ξk рассматриваемого пользователя. Тем не менее, необходимо не допускать, чтобы какой-либо вектор ξk отменялся посредством другого ξk вследствие суперпозиции. Если это не достигается, можно изменять весовые коэффициенты для суперпозиции или выбирать один или более ξk как не первый вектор в соответствующем нуль-пространстве Ξk. Следовательно, задача состоит в том, чтобы находить кодовый вектор ω так, что ξk •ω ≠ 0

Figure 00000005
k, где "•" - это скалярное произведение.Alternatively, it may be possible to determine the code vector directly from the null spaces of the weighting matrices. For each user k, consider the weighting matrix W k and define the associated null space and denote it by Ξ k . For each user k, now it is necessary to form a code vector ω with such a property that it has a nonzero projection onto at least one of the vectors in Ξ k . We know that if the code vector ω is chosen as one of the bases in Ξ k , say, the first vector of the zero-space ξ k , each must have the required non-zero projection for this user. However, it must be ensured that this is true for all, or at least for a given subset of users. One way to achieve this is to form a superposition over the entire first vector of the null space ξ k into Ξ k of the user in question. However, it must be prevented that any vector ξ k is canceled by another ξ k due to superposition. If this is not achieved, one can change the weighting coefficients for the superposition or choose one or more ξ k as not the first vector in the corresponding zero-space Ξ k . Therefore, the task is to find the code vector ω so that ξ k • ω ≠ 0
Figure 00000005
k, where "•" is a scalar product.

В качестве альтернативы или дополнения также возможно приближаться к идее с точки зрения оптимизации, поскольку есть множество различных вариантов кодового вектора ω, которые могут быть выбраны в каждом примере. Цель оптимизации предпочтительно должна состоять в том, чтобы гарантировать, что требуется только небольшое число операций кодирования и декодирования, т.е., в сущности, делать Wk настолько разреженным, насколько возможно. Такие критерии оптимизации для ω могут быть эвристическими согласно, но не только, следующему:As an alternative or addition, it is also possible to approach the idea from the point of view of optimization, since there are many different variants of the code vector ω that can be selected in each example. The optimization objective should preferably be to ensure that only a small number of encoding and decoding operations are required, i.e., in essence, make W k as sparse as possible. Such optimization criteria for ω can be heuristic according to, but not only the following:

- Минимизация ω•1, где 1 - это вектор-столбец из единиц или- Minimization of ω • 1, where 1 is a column vector of units or

- Минимизация набора ненулевых элементов в ω, или,- Minimization of the set of nonzero elements in ω, or,

- Минимизация ω • ωT, где T - это транспозиция вектор-матрицы.- Minimization of ω • ω T , where T is the transposition of the vector matrix.

На стороне передающего устройства, чтобы сохранять сложность максимально низкой, к примеру, при определении ранга, реализация этого алгоритма может использовать результаты и обработанные версии матриц весовых коэффициентов из предыдущего цикла вычисления. Например, при использовании результата Гауссова исключения, выполняемого для последних циклов,

Figure 00000008
- это новый Wk, если пакет успешно принят пользователем k. Вычисление ранга нового
Figure 00000009
для следующего цикла может быть основано на форме Гауссового исключения
Figure 00000009
из предыдущего цикла с измененным предварительным кодовым вектором ω.On the side of the transmitting device, in order to keep the complexity as low as possible, for example, when determining the rank, the implementation of this algorithm can use the results and processed versions of the weighting matrixes from the previous calculation cycle. For example, when using the result of a Gaussian exception performed for the last cycles,
Figure 00000008
is the new W k if the packet was successfully received by user k. New rank calculation
Figure 00000009
for the next cycle can be based on the form of a Gaussian exception
Figure 00000009
from the previous cycle with the modified preliminary code vector ω.

Аналогично стороне передающего устройства сторона приемного устройства может использовать результаты и обработанные версии матриц весовых коэффициентов из предыдущего приема передаваемого в режиме групповой передачи пакета данных. Например, может использоваться результат из предыдущего Гауссового исключения(й).Similarly to the side of the transmitting device, the side of the receiving device can use the results and processed versions of the matrices of weighting coefficients from the previous reception of the data packet transmitted in the multicast mode. For example, the result from the previous Gaussian exception (s) may be used.

Способы кодированияEncoding methods

Пример кодирования, подходящего для настоящего изобретения, предпочтительно основан на побитовом кодировании по схеме XOR вследствие его простоты. Операция XOR соответствует весовым коэффициентам кодирования в единицу, как пояснено ранее.An example encoding suitable for the present invention is preferably based on bitwise encoding according to the XOR scheme because of its simplicity. The XOR operation corresponds to coding weights of one, as previously explained.

Можно предположить множество различных способов для того, чтобы совместно XOR- кодировать и затем идентифицировать то, какие пакеты совместно кодированы.Many different ways can be suggested in order to jointly XOR-encode and then identify which packets are co-encoded.

Пример возможных форматов кодового кадра приводится со ссылкой на иллюстрации по фиг.5. В этом примере, два пакета данных (A) 1005 и (B) 1010 совместно кодированы, чтобы сформировать составной передаваемый в групповом режиме пакет 1015 данных. Рабочие данные могут быть подвергнуты операции XOR непосредственно, но средство идентификации того, какие отдельные пакеты кодированы совместно, должно быть предоставлено. В примерном способе кодирования по фиг.5, идентификаторы (к примеру, заголовки или поднаборы релевантной информации из отдельных заголовков пакета) участвующих совместно кодированных пакетов (здесь только два пакета показано, но идея может легко распространяться на большее количество пакетов) сообщаются в заголовке 1020 составного пакета. Идентификатор, например, может содержать адрес передающего устройства, адрес групповой передачи и порядковый номер пакета для каждого кодированного пакета. Кроме идентификаторов, заголовок составного пакета предпочтительно также сообщает формат составного передаваемого в режиме групповой передачи пакета, т.е. то, где пакеты размещены в составном передаваемом в режиме групповой передачи пакете. Например, если есть два пакета и один из пакетов содержит меньше битов, чем другой пакет, как на фиг.5, число битов, содержащихся в пакете с меньшим количеством битов, а также позиция первого бита более короткого пакета обычно также указывается. Когда число битов отличается, заполнение 1025 используется, как на фиг.5 для пакета B 1010. Поле формата заголовка 1020 составного пакета также может сообщать, что два пакета B и C конкатенированы один за другим (не показано) и затем кодированы, к примеру, с третьим пакетом A или дополнительными пакетами. Весь составной пакет, включающий в себя заголовок, затем предпочтительно кодируется согласно FEC.An example of possible code frame formats is provided with reference to the illustrations of FIG. 5. In this example, two data packets (A) 1005 and (B) 1010 are jointly encoded to form a composite multicast data packet 1015. Operational data can be XORed directly, but a means of identifying which individual packets are coded together must be provided. In the exemplary coding method of FIG. 5, identifiers (e.g., headers or subsets of relevant information from individual packet headers) of jointly coded packets participating (only two packets are shown here, but the idea can easily extend to more packets) are reported in the header 1020 of the composite package. The identifier, for example, may contain the address of the transmitting device, the multicast address and the sequence number of the packet for each encoded packet. In addition to identifiers, the header of the composite packet preferably also reports the format of the composite packet transmitted in multicast mode, i.e. where the packets are located in the composite multicast packet. For example, if there are two packets and one of the packets contains fewer bits than the other packet, as in FIG. 5, the number of bits contained in the packet with fewer bits, as well as the position of the first bit of the shorter packet is also usually indicated. When the number of bits is different, padding 1025 is used, as in FIG. 5 for packet B 1010. The header format field 1020 of the composite packet may also indicate that two packets B and C are concatenated one after another (not shown) and then encoded, for example, with the third package A or additional packages. The entire composite packet including the header is then preferably encoded according to FEC.

После корректного декодирования FEC и обнаружения корректного CRC 1030 иллюстрируемый заголовок составного пакета обеспечивает простую идентификацию того, какие пакеты кодированы вместе. Приемное устройство затем может использовать эту информацию для того, чтобы выбирать заранее известный пакет из хранилища декодированных пакетов данных и извлекать другой(ие) пакет(ы). Следует отметить, что заголовок составного пакета также может содержать другую информацию. Другая версия формата пакета (не показана), отличная от проиллюстрированной выше, должна сообщать заголовок составного пакета в общем широковещательном сообщении, т.е. в определенном типе внеполосных служебных сигналов, при кодировании рабочих данных нескольких пакетов. Еще один дополнительный способ кодирования (не показан) может заключать в себе подход идентификации вслепую, т.е. тестирование гипотезы кодированных сообщений, где и заголовки, и рабочие данные пакетов кодируются вместе, в сравнении с базой данных априорной информации и использованием CRC-проверки для того, чтобы тестировать допустимость тестирования гипотезы.After correctly decoding the FEC and detecting the correct CRC 1030, the illustrated composite packet header provides a simple identification of which packets are encoded together. The receiver may then use this information to select a previously known packet from the decoded data packet repository and retrieve the other packet (s). It should be noted that the header of the composite package may also contain other information. A different version of the packet format (not shown), other than the one illustrated above, should report the header of the composite packet in a general broadcast message, i.e. in a certain type of out-of-band service signals, when encoding the operational data of several packets. Another additional coding method (not shown) may involve a blind identification approach, i.e. testing the hypothesis of encoded messages, where both the headers and the operational data of the packets are encoded together, in comparison with the database of a priori information and using CRC-testing in order to test the validity of testing the hypothesis.

Настоящее изобретение не ограничено использованием XOR-операций при кодировании составных пакетов данных. XOR-операция - это линейное суммирование по полю F(2) с элементами {0, 1}. Как упомянуто выше, автор изобретения выяснил, что, когда число приемных устройств возрастает, становится важным расширять поле дополнительными элементами, чтобы обеспечивать то, что ранг для матрицы каждого приемного устройства может увеличиваться в каждой передаче. Следовательно, поле может быть расширено до 3 элементов {0, 1, 2}, четырех элементов {0, 1, 2, 3} и так далее. В общем, как известно в общей теории кодирования, поля должны иметь pm элементов, где p - это простое число, а m - это положительное целое число, чтобы быть четко определенным. Также известно, что поля одинакового размера являются изоморфными в том смысле, что не имеет значения, содержит ли поле различные элементы, скажем, {0, 1, 2} или {2, 3, 7}. В дополнение к идентификаторам (к примеру, заголовкам или поднаборам релевантной информации из отдельных заголовков пакета) участвующих совместно кодированных пакетов, значения векторов весовых коэффициентов, используемых, когда поле составляет больше, чем два элемента, как пояснено выше, предпочтительно также сообщаются в заголовке 1020 составного пакета.The present invention is not limited to the use of XOR operations in encoding composite data packets. XOR operation is a linear summation over the field F (2) with elements {0, 1}. As mentioned above, the inventor has found that when the number of receivers increases, it becomes important to expand the field with additional elements to ensure that the rank for the matrix of each receiver can increase in each transmission. Therefore, the field can be expanded to 3 elements {0, 1, 2}, four elements {0, 1, 2, 3} and so on. In general, as is known in the general coding theory, fields must have p m elements, where p is a prime and m is a positive integer in order to be clearly defined. It is also known that fields of the same size are isomorphic in the sense that it does not matter if the field contains various elements, say, {0, 1, 2} or {2, 3, 7}. In addition to identifiers (for example, headers or subsets of relevant information from individual packet headers) of the jointly coded packets involved, the values of the weighting vectors used when the field is more than two elements, as explained above, are preferably also reported in the composite header 1020 package.

Дополнительный пример операции кодирования, подходящей для использования в способе согласно изобретению, основан на операторе по модулю, оперирующем с сигнальными созвездиями, т.е. после FEC-кодирования и модуляции. Кодирование на символ сигнального созвездия рассматривается далее, и процедура может быть повторена для множества последовательных символов сигнального созвездия. Операция по модулю в этом примере выполняется и для действительной, и мнимой части независимо при обработке комплексных чисел и использует определение операции по модулю и следующее математическое наблюдение:An additional example of an encoding operation suitable for use in the method according to the invention is based on a modulo operator that operates with signal constellations, i.e. after FEC coding and modulation. The coding for the signal constellation symbol is discussed later, and the procedure can be repeated for a plurality of consecutive symbols of the signal constellation. The modulo operation in this example is performed for the real and imaginary parts independently when processing complex numbers and uses the modulo operation definition and the following mathematical observation:

((A+B) mod L - B) mod L = (A) mod L, ((A + B) mod L - B) mod L = (A) mod L ,

которое указывает, что сигнал B в форме действительных значений может быть наложен на сигнал A в форме действительных значений и обеспечивает неискаженное восстановление сигнала (до тех пор, пока сигнал A не превышает уровень квантования L), хотя амплитуда (и, следовательно, мощность) ограничивается в (нелинейно закодированном) составном сигнале.which indicates that signal B in the form of real values can be superimposed on signal A in the form of real values and provides undistorted restoration of the signal (as long as signal A does not exceed the quantization level L), although the amplitude (and therefore the power) is limited in a (non-linearly encoded) composite signal.

На практике, это может использоваться следующим образом. Передающее устройство имеет символы S1 и S2, которые в типичном варианте допускают различные значения. Например, в 16 QAM, Si

Figure 00000010
{-3,-1,1,3}+i{-3,-1,1,3}. Теперь, поскольку приемное устройство имеет сведения о последовательности данных D2(n), оно также имеет сведения о соответствующем символе S2 (для каждого S1). Затем для действительной части (и в равной степени для мнимой части) совместно кодированный сигнал в передающем устройстве следующий:In practice, this can be used as follows. The transmitter has the symbols S 1 and S 2 , which typically have different meanings. For example, in 16 QAM, S i
Figure 00000010
{-3, -1,1,3} + i {-3, -1,1,3}. Now, since the receiver has information about the data sequence D 2 (n), it also has information about the corresponding symbol S 2 (for each S 1 ). Then, for the real part (and equally for the imaginary part), the jointly encoded signal in the transmitter is as follows:

Figure 00000011
,
Figure 00000011
,

который затем принимается и уравнивается, т.е. компенсируется на предмет потерь в тракте передачи (при условии, что один масштаб используется и для принимаемого сигнала, и для сигнала, который вычитается) и комплексной фазы (при условии, что соответствующая синфазная ось и ось квадратурной фазы совмещены с сигналом, который вычитается), чтобы давать в результате принимаемый сигнал:which is then adopted and equalized, i.e. is compensated for losses in the transmission path (provided that one scale is used both for the received signal and for the signal that is subtracted) and the complex phase (provided that the corresponding in-phase axis and the axis of the quadrature phase are aligned with the signal that is subtracted), to result in a received signal:

Figure 00000012
Figure 00000012

где N(Re) - это член шума (и помех). Требуемый сигнал затем восстанавливается с помощью:where N (Re) is a member of noise (and interference). The desired signal is then restored using:

Figure 00000013
Figure 00000013

Кодирование также может осуществляться посредством квантования посредством более многомерной решетки, чем только одномерное квантование, как описано выше. В этом случае, квантование оперирует с вектором, а не скаляром.Coding can also be carried out by quantization using a more multidimensional lattice than only one-dimensional quantization, as described above. In this case, quantization operates on a vector, not a scalar.

Обычно, приемный узел может не иметь полной информации, требуемой для того, чтобы сразу полностью декодировать и извлекать собственные данные из составного передаваемого в режиме групповой передачи пакета данных, а должен ждать, чтобы принимать больше пакетов данных. Если это происходит, приемный узел может частично декодировать составной передаваемый в режиме групповой передачи пакет данных и сохранять результат, остаточный составной передаваемый в режиме групповой передачи пакет данных, для дополнительной обработки, когда дополнительная информация доступна. Это декодирование, для каждого приемного устройства, может быть выполнено посредством вычисления приведенной формы уровней строк в соответствии с текущей кодовой матрицей и осуществления обновленной приведенной формы уровней строк для каждого принимаемого нового пакета данных (обычного или составного). Альтернативно, составной передаваемый в режиме групповой передачи пакет данных сохраняется без попытки декодировать до тех пор, пока приемный узел не получил всю требуемую информацию. Информация, требуемая для декодирования основной части составного передаваемого в режиме групповой передачи пакета данных, может, например, содержаться в заголовке. Также это декодирование может быть выполнено посредством подхода приведенной формы уровней строк. Каждое приемное устройство, в сущности, заинтересовано в инвертировании кодовой матрицы (в пределах поля, которое оно использует) и умножения ее на принимаемые пакеты данных. Чтобы быть точным, это нужно сделать, в отношении операции кодирования, для каждой подстроки битов, на которые делится пакет данных.Typically, the receiving node may not have the full information required to immediately fully decode and extract its own data from the composite data packet transmitted in the multicast mode, but must wait to receive more data packets. If this happens, the receiving node can partially decode the composite multicast data packet and store the result, the residual multicast multicast data packet for additional processing when additional information is available. This decoding, for each receiver, can be accomplished by calculating the reduced form of line levels in accordance with the current code matrix and implementing an updated reduced form of line levels for each received new data packet (regular or composite). Alternatively, the composite multicast data packet is stored without trying to decode until the receiving node has received all the required information. The information required to decode the main part of the constituent multicast data packet may, for example, be contained in the header. Also, this decoding can be performed by the approach of the reduced form of line levels. Each receiving device, in essence, is interested in inverting the code matrix (within the field that it uses) and multiplying it by the received data packets. To be precise, this must be done, with respect to the encoding operation, for each substring of bits into which the data packet is divided.

Посредством использования обычных и составных пакетов данных и посредством разрешения передающему узлу (через информацию обратной связи) и приемному узлу использовать эту информацию, можно сокращать количество передач, требуемых для того, передавать определенный объем данных от одного узла в другой. Это увеличивает совокупную пропускную способность, а также пропускную способность отдельного пользователя (или эквивалентно, узла). Помимо этого, характеристики сквозной задержки улучшаются. Альтернативно, в зависимости от условий, уменьшенное количество передач может использоваться для того, чтобы повышать эффективность по мощности и энергии в системе связи с передающим устройством и несколькими приемными устройствами.By using conventional and composite data packets and by allowing the transmitting node (via feedback information) and the receiving node to use this information, it is possible to reduce the number of transmissions required to transfer a certain amount of data from one node to another. This increases the aggregate throughput as well as the throughput of an individual user (or equivalently, a node). In addition, end-to-end delay performance is improved. Alternatively, depending on the conditions, a reduced number of transmissions may be used to increase power and energy efficiency in a communication system with a transmitter and multiple receivers.

Следует понимать, что передающее устройство может использовать и применять всю доступную информацию обратной связи о принимаемых пакетах данных. В дополнение к информации обратной связи, поясненной выше, дополнительная информация, к примеру, информация по качеству обслуживания (QoS) и характеристики пакета данных, также может использоваться при формировании составных пакетов данных.It should be understood that the transmitting device can use and apply all available feedback information about received data packets. In addition to the feedback information explained above, additional information, for example, Quality of Service (QoS) information and data packet characteristics, can also be used in the formation of composite data packets.

Фиг.6 - это принципиальная блок-схема, иллюстрирующая систему для групповой передачи пакетов данных от передающего устройства нескольким пользователям согласно предпочтительному примерному варианту осуществления изобретения.6 is a schematic block diagram illustrating a system for multicast data packets from a transmitter to multiple users according to a preferred exemplary embodiment of the invention.

Модули и блоки, описанные ниже, в зависимости от выбранной реализации, могут рассматриваться как функциональные части передающего и/или приемного узла в системе связи и не обязательно как физически отличительные объекты. Подключения, таким образом, могут интерпретироваться как линии связи между функциональными частями и не обязательно физические подключения.The modules and blocks described below, depending on the chosen implementation, can be considered as functional parts of the transmitting and / or receiving node in the communication system and not necessarily as physically distinctive objects. Connections, therefore, can be interpreted as communication lines between functional parts and not necessarily physical connections.

Полная система основана на обмене данными передающим устройством 100 с определенным числом пользователей от 200-1 до 200-K через более или менее подверженные ошибкам каналы связи или линии связи.The complete system is based on the exchange of data by the transmitting device 100 with a certain number of users from 200-1 to 200-K through more or less error prone communication channels or communication lines.

Передающее устройство, такое как передающий узел 100, в основном содержит модуль 110 буфера данных, ACK-регистр 120, планировщик 130 групповой передачи, кодер 140 передаваемых в режиме групповой передачи пакетов, а также некоторую форму средства передачи, которое предоставляет необходимые функциональности для выполнения фактической групповой передачи.A transmitting device, such as a transmitting unit 100, mainly comprises a data buffer module 110, an ACK register 120, a multicast scheduler 130, an encoder 140 of multicast packets, and some form of transmission medium that provides the necessary functionality to perform the actual group transmission.

Передающее устройство также может содержать средство для обработки информации об одноадресной передаче (не показано).The transmitting device may also comprise means for processing unicast information (not shown).

Модуль 110 буфера данных временно хранит пакеты данных для последующей планирования/кодирования и передачи пользователям/приемным устройствам 200.The data buffer module 110 temporarily stores data packets for subsequent scheduling / coding and transmission to users / receivers 200.

Типично, как ранее пояснено, передающий узел 100 сначала передает один или более обычных пакетов данных. По мере того информация обратной связи становится доступной из приемных устройств, и составные передаваемые в режиме групповой передачи пакеты могут быть сформированы, передающий узел также может формировать и передавать один или более составных передаваемых в режиме групповой передачи пакетов данных.Typically, as previously explained, the transmitting node 100 first transmits one or more conventional data packets. As feedback information becomes available from the receivers, and the constituent packets transmitted in the multicast mode can be generated, the transmitting node can also form and transmit one or more constituent data packets transmitted in the multicast mode.

Планировщик 130 групповой передачи учитывает пакеты данных, которые постоянно размещаются в модуле 110 буфера данных, и также учитывает информацию ACK от различных приемных узлов, сохраненную в ACK-регистре 120.The multicast scheduler 130 takes into account the data packets that are constantly located in the data buffer module 110, and also takes into account the ACK information from the various receiving nodes stored in the ACK register 120.

По сути, планировщик 130 групповой передачи выполняет планирование обычных пакетов данных, доступных в модуле 110 буфера данных, посредством определения набора весовых коэффициентов кодирования на основании обратной связи ACK в ACK-регистре 120. Планировщик 130 групповой передачи сообщает кодеру 140 передаваемых в групповом режиме пакетов данных, который формирует или кодирует составной передаваемый в режиме групповой передачи пакет данных как взвешенную линейную комбинацию обычных пакетов данных на основании выбранных весовых коэффициентов кодирования. Эта так называемое совместное планирование и кодирование проиллюстрирована подробно на фиг.7. Планировщик 130 групповой передачи имеет модуль для определения/адаптации весовых коэффициентов так, что новое линейно независимое кодирование может быть сформировано, как требуется и когда требуется. Как указано ранее, это кодирование в конкретном варианте осуществления может быть основано на наборе весовых коэффициентов кодирования (этот набор весовых коэффициентов также упоминается как вектор кодирования), который включает в себя, по меньшей мере, два ненулевых весовых коэффициента кодирования.Essentially, the multicast scheduler 130 schedules the usual data packets available in the data buffer module 110 by determining a set of encoding weights based on the feedback of the ACK in the ACK register 120. The multicast scheduler 130 informs the encoder 140 of the multicast data packets that generates or encodes a composite multicast data packet as a weighted linear combination of conventional data packets based on the selected weights odirovaniya. This so-called joint scheduling and coding is illustrated in detail in FIG. The multicast scheduler 130 has a module for determining / adapting weights so that a new linearly independent coding can be generated as required and when required. As indicated earlier, this encoding in a particular embodiment may be based on a set of encoding weights (this set of weights is also referred to as an encoding vector), which includes at least two non-zero encoding weights.

Планировщик 130 групповой передачи в типичном варианте выполнен с возможностью обработки операций обычной/традиционной групповой передачи ARQ.The multicast scheduler 130 is typically configured to process regular / traditional multicast ARQ operations.

Вспомогательные сведения также могут использоваться для планирования. Дополнительная информация может включать в себя, но не только: требования по QoS для возможности обслуживать аспекты планирования по QoS, а также состояние отдельных пакетов, такое как значение времени существования.Supporting information can also be used for planning. Additional information may include, but not limited to: QoS requirements for being able to service QoS scheduling aspects, as well as the status of individual packets, such as the lifetime value.

Приемное устройство, такое как приемный узел 200, в основном содержит средство приема, которое предоставляет необходимую функциональность для осуществления фактического приема, декодер 210 передаваемых в режиме групповой передачи пакетов данных с функциональностью обратной связи, а также модуль 220 буфера данных. Модуль буфера данных обычно выполнен с возможностью сохранения пакетов данных, которые еще не доставлены в k приемных модулей.The receiving device, such as the receiving node 200, mainly comprises reception means that provide the necessary functionality for actual reception, a decoder 210 of multicast data packets with feedback functionality, and a data buffer module 220. A data buffer module is typically configured to store data packets that have not yet been delivered to k receive modules.

Когда составной пакет принят, декодер 210 приемного устройства 200 обычно идентифицирует то, какие пакеты кодированы вместе. Используя обычные передаваемые в режиме групповой передачи пакеты данных или составные передаваемые в режиме групповой передачи пакеты данных, или и то, и другое, сохраненные в модуле 220 буфера, декодер пытается декодировать составной передаваемый в режиме групповой передачи пакет, чтобы извлекать отдельные обычные пакеты данных. Декодер 210 также выполнен с возможностью выдачи и обработки сообщений обратной связи, в том числе сообщений по ARQ.When the composite packet is received, the decoder 210 of the receiver 200 typically identifies which packets are encoded together. Using conventional multicast data packets or multicast multicast data packets, or both stored in a buffer module 220, the decoder attempts to decode a multicast multicast packet to retrieve individual ordinary multicast packets. Decoder 210 is also configured to provide and process feedback messages, including ARQ messages.

После того как приемное устройство 200 успешно приняло передаваемый в режиме групповой передачи пакет данных (обычный пакет данных или составной пакет данных), оно отправляет ACK-сообщение передающему устройству 100, чтобы подтверждать то, что оно приняло пакет, сразу или с небольшой задержкой. Задержка может быть полезной, чтобы не занимать ресурсы и не тратить бесполезно энергии вследствие служебной информации каждого пакета обратной связи. Обновление предпочтительно достигается через средство ARQ приемного устройства и средство ARQ передающего устройства.After the receiver 200 has successfully received the multicast data packet (a regular data packet or a composite data packet), it sends an ACK message to the transmitting apparatus 100 to confirm that it has received the packet immediately or with a slight delay. A delay can be useful so as not to take up resources and not uselessly waste energy due to overhead information of each feedback packet. The update is preferably achieved through the ARQ means of the receiving device and the ARQ means of the transmitting device.

Кроме того, отметим, что приемное устройство 200 также может выступать в качестве передающего устройства, если данные затем отсылаются. То же самое применимо к передающему устройству 60, т.е. оно также может выступать в качестве приемного устройства для других данных.In addition, note that the receiving device 200 can also act as a transmitting device if the data is then sent. The same applies to the transmitter 60, i.e. it can also act as a receiver for other data.

Вышеописанные варианты осуществления приведены просто в качестве примеров, и следует понимать, что настоящее изобретение не ограничено ими. Дополнительные модификации, изменения и усовершенствования, которые сохраняют основополагающие принципы, раскрытые и заявленные в данном документе, находятся в пределах объема изобретения.The above described embodiments are merely exemplary, and it should be understood that the present invention is not limited to them. Additional modifications, changes and enhancements that retain the fundamental principles disclosed and claimed herein are within the scope of the invention.

ПРИЛОЖЕНИЕ AAPPENDIX A

Создано средство моделирования на основании алгоритма обязательности повышения ранга каждого передаваемого в режиме групповой передачи пакета данных для каждого пользователя, который увеличивается на один шаг в каждом цикле итерации.A modeling tool has been created on the basis of the obligatory algorithm for increasing the rank of each data packet transmitted in multicast mode for each user, which increases by one step in each iteration cycle.

Следующие конечные результаты моделирования представляют собой матрицы весовых коэффициентов для трех пользователей, которым пять передаваемых в режиме групповой передачи пакетов данных должны быть отправлены по i.i.d каналам со стиранием пакетов, где вероятность приема составляет p=0,1, а вектор весовых коэффициентов использует основание b=3. Отметим, что самое большее отдельная строка добавляется в каждом случае к данным матрицам, когда они создаются, и матрицы, показанные здесь, представляют собой случай первых пяти принимаемых передаваемых в режиме групповой передачи пакетов данных. Легко подтвердить, что каждая матрица весовых коэффициентов имеет полный ранг и что все кодированные пакеты данных могут быть извлечены для каждого пользователя.The following final simulation results are weighting matrices for three users to whom five multicast data packets should be sent via iid channels with packet erasure, where the probability of reception is p = 0.1, and the weighting vector uses the base b = 3. Note that at most a separate line is added in each case to these matrices when they are created, and the matrices shown here represent the case of the first five received data packets transmitted in multicast mode. It is easy to confirm that each weight matrix has a full rank and that all coded data packets can be retrieved for each user.

Figure 00000014
Figure 00000014

Дополнительное моделирование с другим числом пакетов и числом пользователей экспериментально подтвердило, что полный ранг может всегда достигаться при условии, что основание b вектора весовых коэффициентов выбирается достаточно большим для того, чтобы обслуживать достаточное число комбинаций, которые нужно проверить.Additional modeling with a different number of packets and the number of users has experimentally confirmed that a full rank can always be achieved provided that the base b of the weight vector is chosen large enough to serve a sufficient number of combinations that need to be checked.

Следует отметить, что производительность примерно составляет T~p, когда p≠1 для всех K, независимо от числа пакетов. Изобретение предоставляет оптимальную пропускную способность для полностью надежной групповой передачи, т.е. T=p, когда пропускная способность анализируется для бесконечного числа пакетов.It should be noted that the performance is approximately T ~ p when p ≠ 1 for all K, regardless of the number of packets. The invention provides optimal throughput for a fully reliable multicast, i.e. T = p when throughput is analyzed for an infinite number of packets.

Схема изобретения является детерминированно декодируемой, т.е. в отличие от фонтанного кодирования (FC), для нее достаточно принимать ровно такое же число кодированных пакетов, чтобы извлекать такое же количество обычных пакетов данных. Производительность FC, определенная посредством коэффициента 1+ε, зависит от числа пакетов, которые отправляются. FC требует большого количества пакетов, порядка 1000 и больше, для того чтобы обеспечивать низкое ε. Такой зависимости в предложенном изобретении нет.The scheme of the invention is determinably decoded, i.e. unlike fountain coding (FC ), it is enough for it to receive exactly the same number of encoded packets in order to extract the same number of regular data packets. FC performance, determined by a factor of 1 + ε, depends on the number of packets that are sent. FC requires a large number of packets, of the order of 1000 or more, in order to ensure low ε. There is no such dependence in the proposed invention.

Источники информацииInformation sources

1. J. W. Byers, M. Luby, M. Mitzenmacher, and A. Rege "A digital fountain approach to reliable distribution of bulk data. In Proceedings of ACM", SIGCOMM, стр. 56-67, 1998 г.1. J. W. Byers, M. Luby, M. Mitzenmacher, and A. Rege "A digital fountain approach to reliable distribution of bulk data. In Proceedings of ACM", SIGCOMM, pp. 56-67, 1998.

2. J. Byers, M. Luby, and M. Mitzenmacher, "A digital fountain approach to asynchronous reliable multicast", IEEE Journal on Selected Areas in Communications, 20(8), октябрь 2002 г.2. J. Byers, M. Luby, and M. Mitzenmacher, "A digital fountain approach to asynchronous reliable multicast", IEEE Journal on Selected Areas in Communications, 20 (8), October 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". Заявка на патент (США) 2006/0154603.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". Patent Application (United States) 2006/0154603.

4. P. Larsson, N. Johansson, "Multi-User ARQ", In conference proceedings of VTC2006spring, Melbourne, 7-10 мая 2006 г.4. P. Larsson, N. Johansson, "Multi-User ARQ", In conference proceedings of VTC2006spring, Melbourne, May 7-10, 2006.

5. Shen Yong, Lee Bu Sung, "XOR retransmission in multicast error recovery", (ICON 2000), Proceedings, IEEE International Conference on Networks, стр. 336-340, 2000 г.5. Shen Yong, Lee Bu Sung, “XOR retransmission in multicast error recovery”, (ICON 2000), Proceedings, IEEE International Conference on Networks, pp. 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 мая 1993 года, стр. 1113-1117, том 2.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, May 23-26, 1993, pp. 1113-1117, Volume 2.

7. M. 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. 5-ый том, 3 издание, 18-23 сентября 1994 года, стр. 781-785, том 3.7. M. 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. 5th volume, 3rd edition, September 18-23, 1994, pp. 781-785, volume 3.

Claims (29)

1. Способ планирования и кодирования пакетов данных для передачи в сеансе групповой передачи от передающего устройства в группу групповой передачи приемных устройств, включающую в себя, по меньшей мере, два приемных устройства в системе связи с групповой передачей с ARQ (запрос на автоматическую повторную передачу) для передачи данного объема передаваемой в режиме групповой передачи информации, в котором в каждом из множества событий планирования выполняются этапы, на которых:
- получают информацию обратной связи от упомянутых, по меньшей мере, двух приемных устройств, указывающую принимаемые пакеты данных;
- формируют, по меньшей мере, один составной пакет данных как взвешенную линейную комбинацию обычных пакетов данных на основании соответствующего вектора весовых коэффициентов, содержащего набор весовых коэффициентов кодирования;
- адаптируют для каждого из упомянутых, по меньшей мере, одного составного пакета данных упомянутые весовые коэффициенты кодирования упомянутого вектора весовых коэффициентов на основании упомянутой информации обратной связи так, что составной пакет представляет собой линейную комбинацию обычных пакетов данных, которая является линейно независимой, для каждого приемного устройства из тех приемных устройств упомянутой группы групповой передачи, которые по-прежнему должны принимать один или более передаваемых в режиме групповой передачи пакетов данных, от любого пакета данных, ранее принятого посредством приемного устройства во время упомянутого сеанса групповой передачи;
- передают посредством упомянутого передающего устройства упомянутый, по меньшей мере, один составной пакет данных в те приемные устройства упомянутой группы групповой передачи, которые по-прежнему должны принимать один или более передаваемых в режиме групповой передачи пакетов данных,
- при этом упомянутые весовые коэффициенты кодирования в каждом из упомянутого множества событий планирования адаптивно выбираются так, что для каждого приемного устройства, по меньшей мере, из набора упомянутых приемных устройств вектор весовых коэффициентов увеличивает ранг конкретной для приемного устройства матрицы векторов весовых коэффициентов для ранее принятых пакетов данных, если вектор весовых коэффициентов прибавляется к упомянутой матрице.
1. A method for scheduling and encoding data packets for transmission in a multicast session from a transmitting device to a multicast group of receiving devices, including at least two receiving devices in a multicast communication system with ARQ (automatic retransmission request) for transmitting a given amount of information transmitted in the multicast mode, in which, in each of the many planning events, the steps are performed in which:
- receive feedback information from the aforementioned at least two receiving devices indicating the received data packets;
- form at least one composite data packet as a weighted linear combination of conventional data packets based on the corresponding vector of weights containing a set of encoding weights;
- adapt for each of the said at least one composite data packet said coding weights of said weight vector based on said feedback information so that the composite packet is a linear combination of ordinary data packets that is linearly independent for each receiving devices from those receivers of said multicast group that still must receive one or more multicast transmissions Aci data packets from any of the data packet previously received by the receiver during said multicast session;
- transmit via said transmitter at least one composite data packet to those receivers of said multicast group, which still must receive one or more multicast data packets transmitted,
- wherein said coding weights in each of said plurality of planning events are adaptively selected so that for each receiving device, at least from the set of said receiving devices, the vector of weighting factors increases the rank of the matrix of weighting vectors specific for the receiving device for previously received packets data if the weight vector is added to the matrix.
2. Способ по п.1, в котором упомянутый сеанс групповой передачи задается для передачи N обычных пакетов данных, и N линейно независимых передаваемых в режиме групповой передачи пакетов данных, включающих в себя упомянутые составные пакеты данных, передаются в упомянутую группу групповой передачи, по меньшей мере, из двух приемных устройств во время упомянутого сеанса групповой передачи, чтобы гарантировать декодируемость всех N обычных пакетов данных.2. The method according to claim 1, wherein said multicast session is set to transmit N ordinary data packets, and N linearly independent multicast data packets including said composite data packets are transmitted to said multicast group, according to of at least two receivers during said multicast session to ensure decodability of all N ordinary data packets. 3. Способ по п.1, в котором упомянутые весовые коэффициенты кодирования в данном событии планирования адаптивно выбираются так, что составной пакет представляет собой линейную комбинацию линейно независимых обычных пакетов данных для каждого приемного устройства, по меньшей мере, из набора упомянутых приемных устройств, от любого обычного пакета данных и составного пакета данных, ранее корректно принятого посредством приемного устройства во время упомянутого сеанса групповой передачи.3. The method according to claim 1, wherein said coding weights in a given scheduling event are adaptively selected such that the composite packet is a linear combination of linearly independent conventional data packets for each receiver, from at least a set of said receivers, from any conventional data packet and composite data packet previously correctly received by the receiver during said multicast session. 4. Способ по п.3, в котором информация обратной связи, указывающая принимаемые пакеты данных, основана, по меньшей мере, на одном из принятого обычного пакета данных и принятого составного пакета данных.4. The method of claim 3, wherein the feedback information indicating the received data packets is based on at least one of the received conventional data packet and the received composite data packet. 5. Способ по п.4, в котором информация обратной связи основана на хронологии принятых пакетов данных во время упомянутого сеанса групповой передачи.5. The method of claim 4, wherein the feedback information is based on a history of the received data packets during said multicast session. 6. Способ по п.1, в котором упомянутый этап формирования, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных на основании вектора весовых коэффициентов, содержащего набор весовых коэффициентов кодирования, содержит этап, на котором умножают обычные пакеты на соответствующие весовые коэффициенты кодирования.6. The method according to claim 1, wherein said step of generating at least one composite data packet as a weighted linear combination of conventional data packets based on a weighting vector containing a set of encoding weights comprises a step of multiplying ordinary packets by corresponding coding weights. 7. Способ по п.6, в котором обычные пакеты делятся на подстроки, и упомянутый этап формирования, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных выполняется на уровне подстроки.7. The method according to claim 6, in which conventional packets are divided into substrings, and said step of forming at least one composite data packet as a weighted linear combination of conventional data packets is performed at the substring level. 8. Способ по п.1, в котором упомянутый составной пакет данных формируется из части рабочих данных обычных пакетов.8. The method according to claim 1, wherein said composite data packet is formed from a portion of the operational data of conventional packets. 9. Способ по п.1, в котором каждая конкретная для приемного устройства матрица векторов весовых коэффициентов для ранее принятых пакетов данных содержит весовые коэффициенты кодирования, каждый весовой коэффициент кодирования
Figure 00000015
является отдельным весовым коэффициентом, ассоциированным с обычным пакетом данных n для mk-го пакета данных, передаваемого в режиме групповой передачи, принимаемого посредством приемного устройства k, причем mk-й пакет данных, передаваемый в режиме групповой передачи, является обычным пакетом данных или составным пакетом данных, сформированным, по меньшей мере, из двух обычных пакетов данных.
9. The method of claim 1, wherein each receiver-specific matrix of weight coefficient vectors for previously received data packets comprises coding weights, each coding weight
Figure 00000015
is a separate weighting coefficient associated with a conventional data packet n for the m k th data packet transmitted in the multicast mode received by the receiver k, wherein the m k th data packet transmitted in the multicast mode is a normal data packet or a composite data packet formed from at least two conventional data packets.
10. Способ по п.1, в котором упомянутые весовые коэффициенты кодирования вектора весовых коэффициентов адаптивно выбираются посредством тестирования в каждом из упомянутого множества событий планирования предварительных векторов весовых коэффициентов до тех пор, пока не находится вектор весовых коэффициентов кодирования, который увеличивает ранг упомянутой матрицы векторов весовых коэффициентов.10. The method according to claim 1, wherein said weighting coefficients of the weighting vector encoding are adaptively selected by testing in each of said plurality of scheduling events preliminary weighting vectors until a coding weighting vector is found that increases the rank of said vector matrix weighting factors. 11. Способ по п.1, в котором упомянутые весовые коэффициенты кодирования вектора ω весовых коэффициентов адаптивно выбираются в каждом из упомянутого множества событий планирования посредством сначала вычисления для приемного устройства k нуль-пространства
Figure 00000016
в рациональной форме, соответствующей конкретной для приемного устройства матрицы, и последующего выбора любого требуемого вектора ξk, лежащего в нуль-пространстве
Figure 00000016
, для которого ω адаптивно выбирается так, что ξk·ω≠0∀k, где "·" - это скалярное произведение.
11. The method according to claim 1, wherein said weighting coefficients of the encoding of the vector ω of weighting factors are adaptively selected in each of said plurality of scheduling events by first computing a null space for the receiver k
Figure 00000016
in a rational form corresponding to the matrix specific for the receiving device, and the subsequent selection of any required vector ξ k lying in zero-space
Figure 00000016
for which ω is adaptively chosen so that ξ k · ω ≠ 0∀k, where "·" is the scalar product.
12. Способ по п.1, в котором упомянутые весовые коэффициенты кодирования вектора весовых коэффициентов адаптивно выбираются так, что конкретные для приемного устройства матрицы векторов весовых коэффициентов являются разреженными таким образом, чтобы сокращать число операций кодирования и декодирования.12. The method according to claim 1, wherein said weighting coefficients of the weighting vector encoding are adaptively selected so that the receiver-specific matrixes of weighting vectors are sparse so as to reduce the number of encoding and decoding operations. 13. Способ по п.1, в котором весовые коэффициенты кодирования составного пакета данных в первом событии планирования адаптированы так, что составной пакет представляет собой линейную комбинацию, которая является линейно независимой, для каждого приемного устройства из первого набора упомянутых приемных устройств, от любого пакета данных, ранее принятого посредством приемного устройства во время упомянутого сеанса групповой передачи, и весовые коэффициенты кодирования другого составного пакета данных во втором последующем событии планирования адаптированы так, что составной пакет представляет собой линейную комбинацию, которая является линейно независимой, для каждого приемного устройства из второго меньшего набора упомянутых приемных устройств, от любого пакета данных, ранее принятого посредством приемного устройства во время упомянутого сеанса групповой передачи.13. The method according to claim 1, wherein the encoding weights of the composite data packet in the first scheduling event are adapted so that the composite packet is a linear combination that is linearly independent for each receiver from the first set of said receivers from any packet data previously received by the receiver during the multicast session and coding weights of another composite data packet in the second subsequent plan event The adaptations are adapted so that the composite packet is a linear combination that is linearly independent, for each receiver from the second smaller set of said receivers, from any data packet previously received by the receiver during said multicast session. 14. Способ по п.1, в котором упомянутые, по меньшей мере, два приемных устройства содержат больше двух приемных устройств, и вектор весовых коэффициентов, по меньшей мере, одного составного пакета данных имеет, по меньшей мере, два различных ненулевых весовых коэффициента кодирования.14. The method according to claim 1, in which the said at least two receiving devices contain more than two receiving devices, and the vector of weights of at least one composite data packet has at least two different non-zero encoding weights . 15. Способ по п.1, в котором упомянутый этап формирования, по меньшей мере, одного составного пакета данных содержит этап, на котором формируют несколько составных пакетов данных на основании той же самой информации обратной связи, причем упомянутые несколько составных пакетов данных зависимы друг от друга.15. The method according to claim 1, wherein said step of generating at least one composite data packet comprises the step of generating several composite data packets based on the same feedback information, said several composite data packets being dependent on each other friend. 16. Способ по п.1, в котором упомянутый этап адаптации в данном событии планирования содержит этап, на котором адаптивно выбирают упомянутые весовые коэффициенты кодирования упомянутого вектора весовых коэффициентов так, что составной пакет представляет собой линейную комбинацию обычных пакетов данных, которая является линейно независимой от любого пакета данных, ранее принятого посредством каждого приемного устройства в наборе приемных устройств, который по-прежнему должен принимать, по меньшей мере, один передаваемый в режиме групповой передачи пакет данных во время упомянутого сеанса групповой передачи.16. The method according to claim 1, wherein said adaptation step in this planning event comprises a step of adaptively selecting said encoding weights of said weights vector so that the composite packet is a linear combination of ordinary data packets that is linearly independent of any data packet previously received by each receiver in a set of receivers that must still receive at least one multicast th transmit data packet during said multicast session. 17. Средство планирования и кодирования пакетов данных для передачи в сеансе групповой передачи от передающего устройства в группу групповой передачи приемных устройств, включающую в себя, по меньшей мере, два приемных устройства в системе связи с групповой передачей ARQ (запрос на автоматическую повторную передачу) для передачи данного объема передаваемой в режиме групповой передачи информации, при этом упомянутое средство выполнено с возможностью выполнения следующей последовательности операций в каждом множестве событий:
- получение информации обратной связи от упомянутых, по меньшей мере, двух приемных устройств, указывающей принимаемые пакеты данных;
- формирование, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных на основании соответствующего вектора весовых коэффициентов, содержащего набор весовых коэффициентов кодирования;
- адаптация для каждого из упомянутых, по меньшей мере, одного составного пакета данных, упомянутых весовых коэффициентов кодирования упомянутого вектора весовых коэффициентов на основании упомянутой информации обратной связи так, что составной пакет представляет собой линейную комбинацию обычных пакетов данных, которая является линейно независимой, для каждого приемного устройства из тех приемных устройств упомянутой группы групповой передачи, которые по-прежнему должны принимать один или более передаваемых в режиме групповой передачи пакетов данных, от любого пакета данных, ранее принятого посредством приемного устройства во время упомянутого сеанса групповой передачи;
- передача упомянутого, по меньшей мере, одного составного пакета данных в те приемные устройства упомянутой группы групповой передачи, которые по-прежнему должны принимать один или более передаваемых в режиме групповой передачи пакетов данных,
- при этом упомянутое средство выполнено с возможностью адаптивного выбора в каждом из упомянутого множества событий планирования весовых коэффициентов кодирования так, что для каждого приемного устройства, по меньшей мере, из набора упомянутых приемных устройств вектор весовых коэффициентов увеличивает ранг конкретной для приемного устройства матрицы векторов весовых коэффициентов для ранее принятых пакетов данных, если вектор весовых коэффициентов прибавляется к упомянутой матрице.
17. A means for scheduling and encoding data packets for transmission in a multicast session from a transmitter to a multicast group of receivers, including at least two receivers in an ARQ multicast communication system (automatic retransmission request) for transmitting a given amount of information transmitted in a multicast mode, wherein said means is configured to perform the following sequence of operations in each set of events:
- receiving feedback information from said at least two receiving devices indicating received data packets;
- the formation of at least one composite data packet as a weighted linear combination of conventional data packets based on the corresponding vector of weights, containing a set of encoding weights;
- adaptation for each of the at least one composite data packet, said coding weights of said weight vector based on said feedback information, so that the composite packet is a linear combination of ordinary data packets that is linearly independent for each a receiver of those receivers of said multicast group that still must receive one or more multicast transmissions giving data packets from any data packet previously received by the receiver during said multicast session;
- transmitting said at least one composite data packet to those receivers of said multicast group, which still must receive one or more multicast data packets transmitted,
- wherein said means is adapted to selectively select coding weighting coefficients in each of the plurality of events, so that for each receiving device, at least from the set of said receiving devices, the weighting vector increases the rank of the matrix of weighting vectors specific to the receiving device for previously received data packets, if the weight vector is added to the matrix.
18. Средство по п.17, в котором упомянутый сеанс групповой передачи задается для передачи N обычных пакетов данных, и упомянутое средство выполнено с возможностью передачи N линейно независимых передаваемых в режиме групповой передачи пакетов данных, включающих в себя упомянутые составные пакеты данных, в упомянутую группу групповой передачи, по меньшей мере, из двух приемных устройств во время упомянутого сеанса групповой передачи, чтобы гарантировать декодируемость всех N обычных пакетов данных.18. The tool according to claim 17, wherein said multicast session is defined for transmitting N conventional data packets, and said means is configured to transmit N linearly independent multicast data packets including said composite data packets to said a multicast group of at least two receivers during said multicast session to ensure decodability of all N ordinary data packets. 19. Средство по п.17, при этом упомянутое средство выполнено с возможностью адаптивного выбора в данном событии планирования весовых коэффициентов кодирования так, что составной пакет представляет собой линейную комбинацию обычных пакетов данных, которая является линейно независимой для каждого приемного устройства, по меньшей мере, из набора упомянутых приемных устройств, от любого составного пакета данных и, возможно, обычного пакета данных, ранее принятого посредством приемного устройства во время упомянутого сеанса групповой передачи, и информация обратной связи, указывающая принимаемые пакеты данных, основана, по меньшей мере, на принятом составном пакете данных и, возможно, принятом обычном пакете данных.19. The tool according to claim 17, wherein said tool is adapted to adaptively select encoding weights in a given scheduling event such that the composite packet is a linear combination of conventional data packets that is linearly independent for each receiver, at least from a set of said receiving devices, from any composite data packet and possibly a regular data packet previously received by the receiving device during said multicast session ni, and feedback information indicating received data packets is based at least on the received composite data packet and, possibly, the received conventional data packet. 20. Средство по п.17, при этом упомянутое средство выполнено с возможностью формирования упомянутого, по меньшей мере, одного составного пакета данных как взвешенной линейной комбинации обычных пакетов данных посредством умножения обычных пакетов на соответствующие весовые коэффициенты кодирования.20. The tool according to claim 17, wherein said tool is configured to form said at least one composite data packet as a weighted linear combination of conventional data packets by multiplying the conventional packets by respective coding weights. 21. Средство по п.17, при этом упомянутое средство выполнено с возможностью формирования упомянутого, по меньшей мере, одного составного пакета данных посредством деления обычных пакетов на подстроки и формирования упомянутой взвешенной линейной комбинации обычных пакетов данных на уровне подстроки.21. The tool according to claim 17, wherein said tool is configured to generate said at least one composite data packet by dividing the usual packets into substrings and forming said weighted linear combination of the usual data packets at the substring level. 22. Средство по п.17, при этом упомянутое средство выполнено с возможностью формирования упомянутого, по меньшей мере, одного составного пакета данных из части рабочих данных обычных пакетов.22. The tool according to claim 17, wherein said tool is configured to form said at least one composite data packet from a portion of the operational data of conventional packets. 23. Средство по п.17, при этом упомянутое средство выполнено с возможностью тестирования в каждом из упомянутого множества событий планирования предварительных векторов весовых коэффициентов до тех пор, пока не найден вектор весовых коэффициентов кодирования, который увеличивает ранг упомянутой матрицы векторов весовых коэффициентов.23. The tool according to claim 17, wherein said tool is configured to test preliminary weighting vectors in each of the plurality of planning events until an encoding weighting vector is found that increases the rank of said weighting matrix of vectors. 24. Средство по п.17, при этом упомянутое средство выполнено с возможностью адаптивного выбора в каждом из упомянутого множества событий планирования упомянутых весовых коэффициентов кодирования вектора ω весовых коэффициентов посредством сначала вычисления для приемного устройства k нуль-пространства
Figure 00000016
в рациональной форме, соответствующей конкретной для приемного устройства матрицы и последующего выбора любого требуемого вектора ξk, лежащего в нуль-пространстве
Figure 00000016
, для которого ω адаптивно выбирается так, что ξk·ω≠0∀k, где "·" является скалярным произведением.
24. The tool according to claim 17, wherein said means is adapted to selectively in each of the plurality of planning events of said coding weighting coefficients of the weighting vector ω by first computing a zero space for the receiver k
Figure 00000016
in a rational form corresponding to the matrix specific for the receiving device and the subsequent selection of any required vector ξ k lying in zero-space
Figure 00000016
for which ω is adaptively chosen so that ξ k · ω ≠ 0∀k, where "·" is the scalar product.
25. Средство по п.17, в котором упомянутое передающее устройство представляет собой передающий узел, а упомянутые приемные устройства представляют собой приемные узлы.25. The tool according to 17, in which said transmitting device is a transmitting node, and said receiving devices are receiving nodes. 26. Средство по п.17, при этом упомянутое средство реализуется в упомянутом передающем устройстве.26. The tool according to 17, wherein said tool is implemented in said transmitting device. 27. Средство по п.26, в котором упомянутое передающее устройство представляет собой передающий узел, содержащий модуль планирования групповой передачи для адаптации упомянутых весовых коэффициентов кодирования, и модуль кодирования составного пакета данных для формирования упомянутого, по меньшей мере, одного составного пакета данных.27. The tool according to p. 26, in which the aforementioned transmitting device is a transmitting node containing a group transmission scheduling module for adapting said encoding weights, and an encoding module of a composite data packet for generating said at least one composite data packet. 28. Средство по п.27, в котором упомянутый модуль планирования групповой передачи фактически выполнен с возможностью определения того, какие обычные пакеты данных использовать в упомянутом, по меньшей мере, одном составном пакете данных.28. The tool of claim 27, wherein said multicast scheduling module is actually configured to determine which conventional data packets to use in said at least one composite data packet. 29. Передающее устройство для использования в системе связи с групповой передачей с ARQ (запроса на автоматическую повторную передачу), причем упомянутое передающее устройство содержит средство по п.17. 29. A transmitting device for use in an ARQ multicast communication system (automatic retransmission request), said transmitting device comprising the means of claim 17.
RU2009124475/09A 2006-11-29 2006-11-29 Secure group transfer with linear independent coding of data packages RU2419997C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2009124475/09A RU2419997C2 (en) 2006-11-29 2006-11-29 Secure group transfer with linear independent coding of data packages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2009124475/09A RU2419997C2 (en) 2006-11-29 2006-11-29 Secure group transfer with linear independent coding of data packages

Publications (2)

Publication Number Publication Date
RU2009124475A RU2009124475A (en) 2011-01-10
RU2419997C2 true RU2419997C2 (en) 2011-05-27

Family

ID=44054088

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009124475/09A RU2419997C2 (en) 2006-11-29 2006-11-29 Secure group transfer with linear independent coding of data packages

Country Status (1)

Country Link
RU (1) RU2419997C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652418C1 (en) * 2014-05-16 2018-04-26 Хуавей Текнолоджиз Ко., Лтд. System and method of joint transmission in licensed and unlicensed ranges with using of fountain codes
US10536386B2 (en) 2014-05-16 2020-01-14 Huawei Technologies Co., Ltd. System and method for dynamic resource allocation over licensed and unlicensed spectrums

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652418C1 (en) * 2014-05-16 2018-04-26 Хуавей Текнолоджиз Ко., Лтд. System and method of joint transmission in licensed and unlicensed ranges with using of fountain codes
US10536386B2 (en) 2014-05-16 2020-01-14 Huawei Technologies Co., Ltd. System and method for dynamic resource allocation over licensed and unlicensed spectrums
US10873941B2 (en) 2014-05-16 2020-12-22 Huawei Technologies Co., Ltd. System and method for joint transmission over licensed and unlicensed bands using fountain codes

Also Published As

Publication number Publication date
RU2009124475A (en) 2011-01-10

Similar Documents

Publication Publication Date Title
US8667359B2 (en) Reliable multicast with linearly independent data packet coding
KR101323032B1 (en) Method and appaeatus for multicasting with feedback information
US7710908B2 (en) Method and arrangement for coding and scheduling in a retransmission communication system
EP2136473B1 (en) Method and system for transmitting and receiving information using chain reaction codes
EP1214793B9 (en) Group chain reaction encoder with variable number of associated input data for each output group code
EP2070240B1 (en) Method, device and software application for transmitting data packets in a communication system
KR20020042438A (en) Hybrid ARQ with parallel packet transmission
Badia et al. Markov analysis of selective repeat type II hybrid ARQ using block codes
KR20000048677A (en) Error detection scheme for arq systems
CN102239658B (en) Error control on-demand
Du et al. RLT Code Based Handshake‐Free Reliable MAC Protocol for Underwater Sensor Networks
CN102983952B (en) There is reliable multicast method and the device of linearly independent data packet coding
RU2419997C2 (en) Secure group transfer with linear independent coding of data packages
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
Haoliang et al. A network coding based DTN convergence layer reliable transport mechanism over interplanetary networks
Jeyasekar et al. Reliable multicast using rateless forward error correction and orthogonal-scheduling in MANET
WO2024061695A1 (en) Communication devices and methods
Pahlevani Hosein K. Nazari
Wang et al. EPEC: An Error Position Estimating Coding scheme in wireless networks
Wang et al. ePec-LDPC HARQ: An LDPC HARQ Scheme with Targeted Retransmission
Nekoui et al. A fountain code approach towards priority encoding transmission
KR101169126B1 (en) Method and appaeatus for multicasting with feedback information
WO2024120886A1 (en) First and second communication devices and methods
Wang et al. Retransmission in the network-coding-based packet network

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20191130