用于向多个接收器多播多个数据包的方法与流程

文档序号:15576761发布日期:2018-09-29 05:40阅读:292来源:国知局

本发明涉及用于向蜂窝通信系统的小区中的多个接收器多播多个数据包的方法。



背景技术:

3gpp标准化方面的最近的发展涉及长期演进(lte)和高级长期演进(高级lte)电信网络和设备。还被称为4g(即第四代)移动通信标准的lte和高级lte是用于针对移动电话和数据终端的高速数据的无线通信的标准。lte和高级lte是gsm/edge(也被称为2g或2.5g)和umts/hspa(也被称为3g)网络技术的接任者,从而将不同的无线电接口与无线电接入网络和核心网络方面的演进和改进一起使用来增加容量和速度。

单小区点到多点传输(sc-ptm)是目前在3gpp标准化方面的发展下的传输技术。sc-ptm中的主要思想是:在一些情况下,能够将一个小区中的数据包从一个基站多播到连接到该基站的小区的多个接收器是有益的。这样的情况的示例包括向小区中的接收器多播具体的软件更新,在小区中的移动电话之间多播群组语音电话,在小区中的一组接收器之间共享视频或数据文件等。

3gpp标准化中的一些提议指定:在sc-ptm场景中,接收多播数据包或已经接收了多播数据包的ue可以向基站提供反馈。一个这样的提议是标题为“comparisonofunicastandsc-ptmonradioefficiency”的3gpptsg-ranwg2#89bis,r2-151395。所提出的反馈可以涉及信道状态信息,该信道状态信息可以由基站使用以适配所传输的多播数据包的调制和编码方案(mcs)。此外,ue反馈可以涉及关于由小区中的每一个接收器从该多播成功相应地不成功接收数据包的肯定确认(ack)和否定确认(nack)。基站向特定接收器重传数据包,nack已经被接收为作为该特定接收器的单播的反馈。在多播数据包之后传输的这样的数据包可以被称作修复数据包。

减少修复数据包的数目的一种方法是,最初基于以下将来自基站的冗余数据发送到小区中的接收器:如果需要的话,接收器可以计算丢失的数据包,这可以解除针对重新发送丢失分组的需要。

us6,278,716公开了用于向多个接收器多播数据的区块的方法,该区块包括第一区块和第二区块,第一区块包括k1≥1个数据包,第一区块的传输包括k1个数据包和h1≥0个修复包的初始传输以及响应于修复请求的附加修复包的一个或多个随后的传输。任何k1个数据包和修复包提供足够的信息以恢复该k1个数据包。第二区块是包括k2≥1个数据包的多播,第二区块的传输包括k2个数据包和h2≥0个修复包的初始传输,其中第二区块的任何k2个数据包和修复包提供足够的信息以恢复第二区块的k2个数据包。k2和h2中的任一个或两者分别与k1和h1不同。可以基于针对之前传输的区块所接收的修复请求的历史而计算修复包的数目h2。

该方法的缺点是,该执行要求大量的计算资源。因此,本公开的目的是描述计算上较不复杂的多播传输方法。



技术实现要素:

为了该目的,在一个方面,本公开呈现了用于向蜂窝通信系统的小区中的多个接收器多播多个原始数据包的方法,所述方法在蜂窝通信系统中包括以下步骤:

向所述小区中的所述多个接收器多播原始数据包集合和单个网络编码数据包,

其中所述原始数据包集合包括所述多个原始数据包中的数个原始数据包,

其中所述原始数据包集合中的原始数据包的数目取决于将数据包传输到所述小区中的所述多个接收器中的一个或多个的多播数据丢包率,以及

其中所述单个网络编码数据包是所述原始数据包集合中的两个或更多原始数据包的线性组合。

本公开的另一个方面涉及通信系统中的定义蜂窝通信系统的小区传输节点(例如,基站),所述传输节点被配置成向所述小区中的多个接收器多播多个原始数据包,所述传输节点包括:

处理器,被配置成用于定义要向所述小区中的所述多个接收器多播的原始数据包集合和单个网络编码数据包,

发射器,被配置成用于向所述小区中的所述多个接收器多播所述原始数据包集合和所述单个网络编码数据包;

其中所述原始数据包集合包括所述多个原始数据包中的数个原始数据包,

其中所述原始数据包集合中的原始数据包的数目取决于将数据包传输到所述小区中的所述多个接收器中的一个或多个的多播数据丢包率,以及

其中所述单个网络编码数据包是所述原始数据包集合中的两个或更多原始数据包的线性组合。

应当注意的是,多个原始数据包集合应当被正常地传输以向接收器提供完整的数据,以使得原始数据包集合相当于该完整数据的子集。可以针对要向接收器提供的完整数据的每一个子集将一个单个网络编码数据包添加到多播。

申请人已经认识到,将多于一个的网络编码数据包连同原始数据包集合一起发送极大地增加了计算复杂度。需要分别计算每个附加的网络编码数据包,并且要求发信号通知以指定网络编码数据包的线性组合。此外,对多个网络编码数据包的接收要求接收器执行许多计算以恢复原始数据包。

在所公开的方法中,仅有一个单个网络编码数据包与原始数据包集合一起被多播到小区中的多个接收器,从而减少基站和接收器两者中的资源上的计算负载。原始数据包未被网络编码并且可以在非确认模式中多播。

所公开的方法和传输节点提供在下述意义中的多播灵活性:原始数据包集合可以适应于不同的数据丢包率。通过例如取决于数据丢包率来确定原始数据包集合中的原始数据包的数目来实现灵活性。选择集合大小(即,原始数据包的数目),以使得在不要求要传输修复包的情况下,可以以一定的概率(需要或不需要与原始数据包一起多播的网络编码数据包)在多个接收器处从多播获得所有原始数据包。而网络编码数据包是被提前发送的数据包,响应于来自接收器的指示,发送修复包(如果必要的话)以获得从集合中丢失的数据包。

例如,如果小区中的多播数据丢包率相对高,原始数据包集合可以包括相对少的原始数据包以便保持在不要求修复包的情况下接收器可以对来自原始数据包集合的所有数据包进行解码的一定概率。在相反的情况下,其中小区中的多播数据丢包率相对低,原始数据包集合可以包括相对多的原始数据包以便实现高且高效的传输速率以及不要求修复包的一定概率。要注意的是,在上面的全部两个示例中,一个单个网络编码数据包与原始数据包集合被一起多播,从而产生了相对低的计算负担。

相应地,所公开的提议导致使得传输节点能够最优地平衡下行链路单播业务量(修复包)的数量和多播下行链路方向中所消耗的资源。

可以在多播接收器处从单独的数据丢失率得到小区中的多播数据丢失率,单独的数据丢失率被定义为在给定的小区中服务的特定接收器处所接收的不正确的多播包的数目和多播包的总数之间的比例。可以针对单独的多播接收器(例如,在特定时间间隔内、从多播会话的开始、在接收某总数的多播包后等)来评估该比例。然后,可以从每个多播接收器的这些单独的数据丢失率得到总体小区多播数据丢失率,作为例如在给定的小区中的所有多播接收器当中的最坏情况的多播数据丢失率,或在给定的小区中的多播接收器的平均值,或作为来自单独的多播数据丢失率的百分比。要注意的是,可以在多播发射器侧计算(例如,基于在多播数据会话结束时接收的nack和ack或针对修复包的请求)或在单独的多播接收器处计算小区中的每个多播接收器的单独的多播数据丢失率,并将其报告回至多播发射器。

应当注意的是,多播数据丢包率还可以包括链接到多播数据丢包的度量或估计。

多播发射器可以经由小区中的多播控制信道上的信令信息来提供多播数据集合的大小。

网络编码数据包可以在传输节点(例如,基站)处或者在电信网络中或连接到电信网络的实体中生成。

网络编码数据包这里被理解为包含原始数据包的组合(部分)的编码数据包,可以在接收器处从网络编码数据包解析原始数据包。在下文中,将讨论网络编码数据包的具体示例,但是应当领会的是,可以应用编码数据包的其他形式(例如,reed-solomon编码数据包)。

应当注意的是,网络编码数据包是原始数据包集合中的至少两个或更多(部分)原始数据包的线性组合。在其中不是原始数据包集合中的每个原始数据包必须由接收器来接收的情况下,这可能特别地有利。在示例中,可能是原始数据包集合包括十个原始数据包,并且至少前两个原始数据包必须由接收器来接收。然后,网络编码数据包只需是前两个数据包的线性组合。其中仅有一些原始数据包被保护的非均等错误保护可以针对某些应用(例如,多分辨率视频)有益。

网络编码包括产生两个或更多数据包(的至少有效载荷)的线性组合(例如,经由两个或更多数据包的按位xor操作),从而得到网络编码数据包。单个网络编码数据包从而表示两个或更多数据包的单个线性组合。要注意的是,不同的线性组合以及由此不同的网络编码数据包可以由两个或更多数据包的相同集合产生。而且,给定(相同)大小的两个或更多数据包的线性组合可以得到该给定大小的网络编码数据包。可以附加地包括开销信息(例如,开销位)以指示或发信号通知在产生网络编码数据包时产生的线性组合。

一般地,网络编码包c可以表达为两个或更多原始数据包p的线性组合:

c=a1p1+a2p2+a3p3+…

如果线性组合不同(即,如果编码系数不同或所涉及的数据包p不同),则网络编码数据包c不同。优选地,两个或更多网络编码数据包c的编码系数的向量是线性独立的。这促进了在例如接收器处从网络编码数据包c解析原始数据包p。

通过对足够数目的不同网络编码数据包c应用网络解码,可以解析在网络编码数据包中所表示的线性组合中包括的数据包p。

在本公开中,数据包可以包括有效载荷数据的任何区块(例如,整数位或字节)。出于传输有效载荷数据的目的,数据包典型地还具有附加的开销(位或字节),例如,头和/或尾比特。开销的示例包括数据包的指示(例如,包序列号)和/或数据包的(逻辑)信道的有效载荷目的地和/或有效载荷长度和/或错误校验(例如,crc)。本公开中的数据包从而包括:例如可能具有诸如用于通过电信网络的一部分来隧道传输ip包(例如,从网关(s-gw)到基站(enb))的gtp开销之类的附加开销的互联网协议(ipv4、ipv6)数据报、rlcpdu、以及如例如在基站(enb)和用户设备(ue)之间的无线(无线电)连接上使用的传输块。

对两个或更多数据包执行网络编码将被理解为:对两个或更多数据包中的每一个中的至少有效载荷数据执行网络编码,且不一定对这些数据包中的开销位或字节执行网络编码。

在一个实施例中,网络编码数据包是原始数据包集合中的数据包的线性组合,诸如每一个数据包的每一位的按位xor组合。网络编码数据包使得接收器能够计算来自该集合的任何丢失原始数据包,只要它是原始数据包集合中仅有的丢失数据包。在其中原始数据包集合中的每个数据包必须由接收器恰当地接收的情况下,该实施例是有利的。

在一个实施例中,方法和传输节点被布置成用于基于多播数据丢包率来确定蜂窝通信系统的基站(例如,enodeb)中的原始数据包集合中的原始数据包的数目。该实施例提供有利的位置,以用于灵活地确定小区中的数据丢失率以及取决于所确定的多播数据丢失率的集合中的原始数据包的数目。

在一个实施例中,方法和传输节点被布置成用于使用比用于多播集合的原始数据包的调制和编码速率低的调制和编码速率来多播网络编码数据包。应当领会的是,调制和编码速率可以取决于多播数据丢包率。该实施例是有利的,这是因为其在不降低原始数据包的传输效率和传输速率的情况下使得在接收器处成功接收网络编码数据包的概率增加。当成功接收到网络编码数据包时,任何单个的丢失原始数据包可以被解析,只要该原始数据包被用于网络编码数据包的生成。

在一个实施例中,方法和传输节点被布置成用于接收来自多个接收器中的一个或多个接收器的信息,以及在所接收的信息的基础上针对要向多个接收器多播的至少一个原始数据包集合来动态地确定多播数据丢包率。本实施例是有优势的,这是因为它考虑到动态地确定要被多播的至少一个原始数据包集合中的原始数据包的数目,使得针对修复包的需要最小化。该实施例使得在给定当前多播数据丢包率的情况下,原始数据包集合总是具有最优数目的原始数据包。

在一个实施例中,来自一个或多个接收器的信息涉及下述信息中的至少一个:(a)由多播先前原始数据包集合的数据包产生的从一个或多个接收器接收的信息,以及(b)由一个或多个接收器与定义小区的基站的其他连接产生的从一个或多个接收器接收的信息。由多播先前原始数据包集合的数据包产生的从一个或多个接收器接收的信息可以包括针对先前集合的丢失原始数据包的指示。如果检测到先前原始数据包集合中的高数目的丢失数据包,则基站可以确定:小区中的多播数据丢失率已经增加,并且因此应当减少下一个集合中的原始数据包的数目以针对该下一集合减少修复包的数目或者甚至避免修复包。涉及与多播并行存在的小区中的其他连接的接收器的信息还可以用于确定多播数据丢包率。

在后一种情况中,其中接收器具有与多播并行的活动单播会话,该单播会话可以用于得到多播数据丢失率,如下所述。首先,针对该活动单播会话,可以获得以下信息中的一个或多个:(i)可以从例如关于单播数据的接收的所接收的ack和/或nack消息测量数据丢失率,(ii)可以在例如接收信号水平、干扰水平、sinr、路径损耗等方面测量单播无线电条件,以及(iii)可以确定发射器和接收器之间的诸如例如发射功率、调制和编码方案、mimo传输模式等之类的单播传输模式的属性。第二,多播会话将最可能具有与如iii)的情况下的单播传输属性不同的传输属性。然而,基于离线实验、仿真等,针对如上面ii)中的无线电条件的范围,可以关于在给定多播和给定单播传输模式之间的数据丢失率中的偏移量来制作转换表。最后,通过将预定义的偏移(例如,来自离线转换表)应用到如上面i)中的所测量的单播数据丢失率,并且通过假设相同的无线电条件适用或基于多播连接的无线电条件的知识来校正无线电条件而基于如上面ii)中测量的单播无线电条件,可以得到给定接收器的多播数据丢失率。

在一个公开的实施例中,方法和传输节点被布置成用于:在向多个接收器多播原始数据包和单个网络编码数据包后,在多个接收器中的接收器处接收包括针对原始数据包集合中的k个丢失原始数据包的k-1个指示的信息。由于利用多播提前传输了网络编码数据包,所以否定确认较不频繁地发生,这是因为可以从网络编码数据包得到任意原始数据包(如果网络编码数据包被定义为来自该集合的所有原始数据包的组合,并且涉及该k-1个指示的修复包由接收器所接收)。

在一个公开的实施例中,方法和传输节点被布置成用于向该多个接收器中的接收器传输:

-对应于原始数据包集合中的丢失的k个数据包的k-1个原始数据包,其中该k-1个指示包含关于该丢失原始数据包的信息;

-k-1个网络编码数据包。

该实施例促进获得丢失原始数据包,尽管根据多播数据丢包率来定义集合大小,如果原始数据包仍在接收器处丢失的话。在该情况下,k-1个指示可以包括传输节点可以从其得到哪些原始数据包丢失的信息,并且然后将与k-1个指示相关联的修复包传输(例如,单播)到从其中获得(一个或多个)指示的接收器。另一个选项是,传输节点将作为修复包的一个或多个网络编码数据包(包含该集合的所有原始数据包的线性组合)传输到接收器,从而避免针对传输节点要知晓哪些原始数据包从多播集合中丢失的需要。有利地,作为修复包而传输的(一个或多个)网络编码数据包包括不同于用于单个网络编码数据包的组合的原始数据包的(一个或多个)线性组合,该单个网络编码数据包与原始数据包集合一起被提前发送。

一个特定有利的实施例包括多播作为修复包而发送的(一个或多个)网络编码数据包。在该情况下,每个接收器可以从修复包解析任意原始丢失数据包,使得发射器不需要精确地知晓哪个接收器丢失了哪个数据包。

如本领域技术人员将领会的那样,本发明的方面可以体现为系统、方法或计算机程序产品。相应地,本发明的方面可以采取以下形式:完全硬件实施例、软件实施例(包括固件、驻留软件、微代码等)或将软件和硬件方面组合的实施例,该软件和硬件方面在本文中一般可全部被称作“电路”、“模块”或“系统”。本公开中所描述的功能可以被实现为由计算机的微处理器执行的算法。此外,本发明的方面可以采取以下形式:体现在一个或多个计算机可读介质中的计算机程序产品,该一个或多个计算机可读介质具有体现(例如,存储)在其上的计算机可读程序代码。

可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于,电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或者前述的任何合适组合。计算机可读存储介质的更多具体示例(非穷尽的列表)将包括以下内容:具有一个或多个电线的电连接、便携式计算机盘、硬盘、固态驱动器、随机存取存储器(ram)、非易失性存储器设备、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式致密盘只读存储器(cd-rom)、光学存储设备、磁性存储设备或前述的任何合适组合。在本公开的上下文中,计算机可读存储介质可以是任何有形的介质,该有形的介质可以包含或存储由指令执行系统、装置或设备使用或关于指令执行系统、装置或设备的程序。

计算机可读信号介质可以包括具有体现在其中的计算机可读程序代码的传播数据信号,例如在基带中或作为载波的部分。这种传播信号可以采取各种形式中的任一种,其包括但不限于电磁、光学或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,该任何计算机可读介质不是计算机可读存储介质,并且可以对由指令执行系统、装置或设备使用或关于指令执行系统、装置或设备的程序进行传送、传播或传输。

可以使用任何适当的介质来传输体现在计算机可读介质上的程序代码,包括但不限于:无线(使用电磁和/或光辐射)、有线、光纤、电缆等、或前述的任何合适的组合。用于实施针对本发明的方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,其包括诸如java(tm)、smalltalk、c++或类似的面向对象的编程语言以及诸如“c”编程语言或类似编程语言之类的传统过程编程语言。计算机代码可以完全在用户的计算机上、部分在用户的计算机上、作为独立软件包、部分在用户的计算机上并且部分在远程计算机上、或者完全在远程计算机或服务器上执行。在后面的场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,该任何类型的网络包括局域网(lan)或广域网,或者可以做出到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。

参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图而在下面描述了本发明的方面。将理解的是,流程图图示和/或框图中的每个框、以及流程图图示和/或框图中的框的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供到通用计算机、专用计算机或其他可编程数据处理装置的处理器(特别是微处理器或中央处理单元(cpu))以生产机器,使得经由计算机、其他可编程数据处理装置或其他设备的处理器来执行的指令创造用于实现流程图和/或(一个或多个)框图框中所指定的功能/动作的部件。

这些计算机程序指令还可以被存储在计算机可读介质中,其可以指导计算机、其他可编程数据处理装置或其他设备以便以特定的方式运行,使得存储在计算机可读介质中的指令产生包括实现流程图和/或(一个或多个)框图框中所指定的功能/动作的指令的制造品。

计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤要在计算机、其他可编程装置或其他设备上执行以便产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或(一个或多个)框图框中所指定的功能/动作的过程。

附图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。在该方面,流程图或框图中的每个框可以表示模块、字段、或代码的部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。还应当注意的是,在一些可替换的实现中,框中所指出的功能可以不按附图中所指出的次序发生。例如,接连地示出的两个框实际上可以基本同时执行,或者框中所指出的功能有时可以按相反的次序执行,这取决于所涉及的功能。还将注意的是,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定的功能或动作的专用基于硬件的系统或专用硬件和计算机指令的组合来实现。

要注意的是,本发明涉及本权利要求中记载的特征的所有可能的组合。

附图说明

通过参考附图中所示出的示例性实施例,将更详细地解释本发明的各方面,在附图中:

图1是三代电信网络的示意性图示;

图2是根据所公开的实施例的定义针对多个接收器的小区的传输节点的示意性图示;

图3是指示根据所公开的实施例的在图2的传输节点处所采取的一些步骤的流程图;

图4是根据所公开的实施例的原始数据包集合和网络编码数据包的多播以及由接收器进行的其接收的示意性时间线;

图5和图6是指示针对多播原始数据包的多个集合的步骤的序列的时序图;

图7是要在所公开的多播方法中采用的一般系统(例如,基站或接收器)的示意性框图。

具体实施方式

图1示出了蜂窝电信系统1的示意性图示。电信系统1包括蜂窝无线电接入网络系统(在图1中还被指示为e-utran或(ut)ran)以及包含如下面进一步详细描述的各种元件或节点的核心网络系统。

在图1的电信系统中,出于简洁的目的,示意性地一起描绘了三代网络。架构和综述的更详细的描述可以在3gpp技术规范ts23.002“networkarchitecture”中找到,其内容通过引用以其整体被包括在本申请中。

图1的下面的分支表示gsm/gprs或umts网络。

针对gsm/gprs网络,无线电接入网络(ran)系统包括多个传输节点,该多个传输节点包括基站(bsc和bts的组合),其未在图1中单独示出。核心网络系统包括网关gprs支持节点(ggsn)、服务gprs支持节点(sgsn,针对gprs)或移动交换中心(msc,针对gsm,未在图1中示出)和归属位置寄存器(hlr)。hlr包含接收器2(例如,移动站ms)的订阅信息。

针对umts无线电接入网络(utran),无线电接入网络系统还包括连接到多个基站(nodeb)的无线电网络控制器(rnc),其也未在图1中单独示出。在核心网络系统中,ggsn和sgsn/msc连接到hlr,hlr包含接收器2(例如,用户设备ue)的订阅信息。

图1中的电信系统的上面的分支表示下一代网络,该下一代网络通常指示为长期演进(lte)系统或演进分组系统(eps)。

指示为e-utran的无线电接入网络系统包括传输节点(演进的nodeb、enodeb或enb),其未在图1中单独示出,从而为接收器2(例如,用户设备ue)提供蜂窝无线接入。核心网络系统包括pdn网关(p-gw)和服务网关(s-gw)。eps的e-utran经由分组网络连接到s-gw。出于发信号通知的目的,s-gw连接到归属订户服务器hss和移动性管理实体mme。hss包括针对接收器2的订阅简档库spr。

针对gprs、umts和lte系统,核心网络系统一般连接到进一步的分组网络3,例如互联网。

eps网络的一般架构的进一步的信息可以在3gpp技术规范ts23.401“gprsenhancementsforevolveduniversalterrestrialradioaccessnetwork(e-utran)access”中找到。

图2是如图1中所描绘的电信网络1中的传输节点20(例如,基站)的示意性图示。基站20包括计算机系统和发射器/接收器。基站的细节在图7中示出。

基站20定义多个小区c。三个用户设备ue1、ue2和ue3在小区21中示出。

电信网络1可以具有针对ue的数据。基站20使用单小区点到多点传输(sc-ptm)向ue提供数据。该数据可以涉及各种类型的服务,例如语音、视频或文件传输。sc-ptm使用多播传输向ue提供数据包。通过从基站20到ue1、ue2和ue3的箭头来示出该多播传输。应当领会的是,小区21可以包含更多的ue并且基站20可以在其他小区中执行相同或不同的sc-ptm。

图3描绘了示出用于使用sc-ptm向多个接收器(例如,ue1、ue2和ue3)多播多个数据包的方法的电信网络1中的步骤的流程图。在一个实施例中,由图2的基站2来执行所述步骤中的一个或多个。

步骤s30涉及确定包含ue1、ue2和ue3的小区21中的多播数据丢包率。该估计是涉及多播传输中未由ue正确地接收的数据包数目的度量。多播数据丢包率优选地是动态确定的度量以考虑小区中变化的条件。该估计可以从直接反馈中获得,该直接反馈关于从经由ue1、ue2和ue3与小区中的基站的其他连接而接收的多播传输和/或信息中(不)正确地接收的数据包。这些连接优选地与本文所公开的多播传输并行地存在,使得所接收的信息使得能够实现多播数据丢包率的足够准确的确定。

如下面将进一步详细讨论的,多播方法需要传输数据包集合中的完整的数据(多个数据包)。用于使得基站20能够动态地确定多播数据丢包率的信息可以从错误消息中获得,针对在当前集合之前多播的原始数据包集合,该错误消息已经被接收。这一点在步骤s34中示出。例如,从该多个用户设备ue1、ue2、ue3接收的nack消息的数目可以是多播数据丢包率的度量。

在步骤s31中,定义了原始数据包p的集合s,其中根据步骤s30中所确定的多播数据丢包率来选择集合s中的原始数据包p的数目。集合s包含至少两个数据包p。

在步骤s32中,基于集合s的至少两个原始数据包p来生成网络编码数据包c。网络编码数据包c是至少两个数据包p的线性组合,并且相当于例如原始数据包p的每一位的按位xor组合。还可以应用诸如reed-solomon(里的-所罗门)编码数据包之类的其他类型的编码包。

在步骤s33中,向小区21中的ue1、ue2和ue3多播原始数据包p的集合和单个网络编码数据包c。网络编码数据包c与集合s的原始数据包p被提前传输。已经从集合s中接收除了一个原始数据包之外所有的原始数据包的ue可以使用网络编码数据包c和正确接收的原始数据包p来解析丢失原始数据包p。如果网络编码数据包c是包括丢失原始数据包p的原始数据包p的线性组合,则丢失原始数据包可以是集合s的任意数据包p。

将领会的是,假设多播数据丢包率已经确定针对当前多播的足够精确,集合s中的多于一个原始数据包p将不被接收的概率应当相当小。例如,如果小区21中的多播数据丢包率相对高,则数据包的集合s可以包括相对少的原始数据包p以保持用户设备ue1、ue2、ue3可以对来自数据包的集合s的所有数据包进行解码的一定概率。在相反的情况下,其中小区21中的多播数据丢包率相对低,集合s可以包括相对多的原始数据包p以达到高且高效的传输速率,同时仍达到可以在用户设备ue1、ue2、ue3处获得集合s的所有原始数据包p的较高的概率。要注意的是,在上面的两个示例中,单个网络编码数据包c与原始数据包p的集合被一起多播,从而产导致相对低的计算负担。

应当使单个网络编码数据包c可以由用户设备ue1、ue2和ue3正确地解码的可能性最优。为了该目的,基站20可以用比数据包的集合s的原始数据包p更鲁棒的方式来传输网络编码数据包c。特别地,基站20可以选择用于网络编码数据包c的调制和编码方案mcs,该调制和编码方案mcs与用于原始数据包p的传输的mcs不同。可以针对网络编码数据包将调制和编码速率设置更低,以增加可以在多播中涉及的每一个用户设备处正确地接收网络编码数据包c的概率。当网络编码数据包c被成功接收时,可以解析任何单个丢失原始数据包p,只要原始数据包p被使用在网络编码数据包c的生成中。

应当注意的是,网络编码数据包c不需要是集合s中的所有原始数据包p的线性组合。对于某些情况,网络编码数据包c只需是一些原始网络编码数据包的线性组合,其正确的检测比对于集合s内的其他原始数据包p更重要。其中仅有一些原始数据包被保护的非均等错误保护可以针对某些应用(例如,多分辨率视频)有益。

步骤s34指示由基站20从多播传输中所涉及的一个或多个用户设备接收的反馈信息。步骤s34可以是可选的。尽管网络编码数据包c有效,从用户设备接收反馈信息,所述用户设备不能从集合s解析所有的原始数据包p。例如,用户设备可能还未接收到来自集合s的两个或更多原始数据包p。反馈信息可以或可以不指示集合s的哪个或哪些原始数据包仍是丢失的。再次,如果集合s的只有一个原始数据包p丢失,基站20没有接收到反馈信息,从而节省无线资源。

步骤s35指示,响应于接收到步骤s34的反馈信息,将一个或多个修复包r从基站20传输到一个或多个用户设备的可选步骤。如果服务(诸如例如,语音服务或视频服务)不要求所有原始数据包p由用户设备获得,则可以不需要修复包r。修复包r可以被单播到所选择的用户设备或被多播到原始数据包p的集合s被传输到的多个用户设备中的两个或更多(例如,所有)用户设备。将参考图5和6进一步详细讨论这些选项。

图4是根据所公开的实施例的原始数据包集合和网络编码数据包的多播以及由接收器进行的其接收的示意性时间线。在图4中,假设集合大小s根据多播数据丢包率被定义成由三个原始数据包p1、p2和p3组成。从enb向enb的小区中的三个ue(ue1、ue2和ue3)多播原始数据包。生成网络编码数据包c,其中c=p1+p2+p3。原始数据包p1的多播使得数据包p1在t=2处由ue1和ue2而不是ue3来接收。原始数据包p2的多播使得数据包p2在t=3处由u1和u3而不是ue2来接收。原始数据包p3的多播使得数据包p3在t=4处由ue1和ue3而不是ue2来接收。由ue进行的对原始数据包p的接收中的可能性由enb和ue之间的无线电路径上变化的条件产生。网络编码数据包c可以在enb处生成或者可以从电信网络1中或连接到电信网络1的其他实体被接收。网络编码数据包c还由所有ue多播或接收(例如,由于在enb处针对网络编码数据包c的传输来选择更鲁棒的传输)。

当处理在ue中接收到的传输时,由于ue1已经接收到该集合的所有原始数据包的p1、p2和p3,网络编码数据包c对于ue1无用。相应地,ue1不向enb发送任何反馈。ue3可以经由多播接收p2和p3并且可以使用p2和p3从网络编码数据包c中解析原始数据包p1。因此,ue3也不需要向enb发送任何反馈。ue2丢失多于一个原始数据包,并因此ue2将nack与关于哪些数据包丢失的信息发送到enb。应当注意的是,在该情况下,两个原始数据包丢失,但是ue2只需发送包含仅丢失包p2或p3中之一的信息的一个nack。然后enb将经由例如单播传输将p2或p3中的任一个发送到ue2,使得ue2可以通过使用网络编码数据包c来解析其他原始数据包。如果ue2丢失全部三个原始数据包p1、p2、p3,则其nack反馈将已包含至少两个丢失原始数据包的信息。因此,如果ue在集合s结束后丢失k个原始数据包p,则nack消息包含k-1个丢失原始数据包的信息。原始数据包x4是原始数据包的下一个集合s的原始数据包。

图5和图6是指示用于从传输节点(例如,基站)向接收器ue1、ue2和ue3多播原始数据包p的多个集合s的步骤的序列的时序图。

步骤s50涉及针对原始数据包p的集合s1的步骤s51中的下一个多播来确定多播数据丢包率。步骤s50还可以包含生成作为集合s1的至少两个原始数据包p的线性组合的网络编码数据包c1。

在步骤s51中,向ue1、ue2和ue3多播集合s1的原始数据包p和网络编码数据包c1。当处理多播传输时,假设ue2发现了即使ue2利用网络编码数据包c1也不能从集合s1中解析所有的数据包p。

因此,在步骤s52中,ue2将来自集合s1的一个或多个丢失原始数据包p的指示传输到传输节点。该指示可以包含可以不获得集合s1的哪些原始数据包p的信息。如参考图4所提及的那样,应当少报告一个丢失原始数据包,只要网络编码数据包c1已经被正确地接收。

在步骤s53中,传输节点传输(例如,单播)与在步骤s52被报告丢失的丢失原始数据包相对应的一个或多个修复包r1。一旦丢失原始数据包安全地到达ue2处,ue2可以使用一个或多个修复包r1、在步骤s51中利用多播而接收到的网络编码数据包c1和原始数据包p(如果有的话)来从集合s1中解析所有原始数据包p。

在步骤s54中,传输节点使用步骤s52中接收的反馈信息来确定多播数据丢包率。新确定的多播数据丢包率可以使得传输节点决定:要传输的集合s2中的原始数据包p的数目应当相对于集合s1中的原始数据包p的数目被减少。再次,作为集合s2的至少两个原始数据包p的线性组合而生成网络编码数据包c2。

在步骤s55中,传输节点向ue多播集合s2的原始数据包p和网络编码数据包c2。传输节点不接收集合s2的丢失原始数据包p的任何指示。

然后,例如计时器到期后,传输节点可以再次针对步骤s56中要传输的数据包的新集合s3来确定多播数据丢包率。例如,由于集合s2的所有原始数据包p由ue接收,因此传输节点可以决定:集合s3应当具有与集合s2相同的大小。可替换地,传输节点可以增加s3的集合大小以增加资源使用的效率。再次,步骤s56还可以涉及作为集合s3的两个或更多原始数据包p的线性组合的网络编码数据包c3的生成。

在步骤s57中,向ue多播集合s3的原始数据包p和网络编码数据包。

应当领会的是,一些步骤可以颠倒并且一些步骤甚至可以从图5的序列中省略。例如,步骤s53中的(一个或多个)修复包的传输可以与确定集合大小s2和网络编码数据包c的步骤s54同时发生或在步骤s54之后发生。

如上面所指出的,如果ue不必需要接收所有的数据包,则接收丢失包的指示和/或修复包的传输的步骤s52和s53可以省略。诸如语音服务或视频服务之类的一些服务不要求每一个原始数据包p由ue接收。另一个可替换方案是,类似于s52的(一个或多个)步骤仅用于确定多播数据丢包率,而不是如步骤s53中那样发送修复包。

应当进一步注意的是,不必在每次新集合s被多播到ue时确定多播数据丢包率,如图5中所示的那样。确定多播数据丢包率的频率可以由传输节点来确定或可以由网络来设置。数据丢包率的确定可以遵循在多播传输中所涉及的接收器处改变通信条件的动态性。例如,如果传输节点识别出多播数据丢包率相对恒定,则确定可以较不频繁。如果传输节点确定多播数据丢包率在某范围之外变化,则可以更频繁地执行确定。

现在参考图6,步骤s60涉及数据包p的集合s1的多播,其中传输节点已经做出了对多播数据丢包率的非常保守的估计,并因此较小的集合大小。例如,步骤s60可以涉及对要被传输的完整数据的原始数据包最先的集合的多播。还多播网络编码数据包c1。

在步骤s61中,在没有来自ue的关于丢失数据包的任何反馈的情况下,针对集合s2来确定新的、较不保守的集合大小。相应地,集合s2大于集合s1。还生成网络编码数据包c2。

在步骤s62中,向ue多播集合s2的原始数据包p和网络编码数据包c2。

在步骤s63中,ue2和ue3两者提供具有集合s2的丢失原始数据包p的指示的反馈。

确定许多ue即使在提前提供的网络编码数据包c2的协助下也不能够对原始数据包进行解码,传输节点可以在步骤s64中生成进一步的网络编码数据包c2'作为修复包r。网络编码数据包c2'也是集合s2的原始数据包p的线性组合。用于网络编码数据包c2'的该线性组合与网络编码数据包c2的线性组合不同。如果c2和c2'的线性组合是对集合s2的所有原始数据包p的组合,则网络编码数据包c2和c2'可以在编码系数a方面不同。在该情况下,假设每个ue已经指示丢失了集合s2的一个原始数据包p,传输节点不需要精确地知晓集合s2的哪个原始数据包p丢失。

在步骤s65中,传输节点向ue多播网络编码数据包c2'作为修复包r。针对ue1,网络编码数据包c2'是无用的,由于在利用或不利用在步骤s62中提前多播的网络编码数据包c2的情况下,ue1已经能够解析集合s2的所有原始数据包p。ue2和ue3现在可以使用利用步骤s62的多播接收的网络编码数据包c2和c2'以及任何原始数据包p来解析至少再一个原始数据包。如果ue2和/或ue3仍不能解析集合s2的所有原始数据包p,可以重复步骤s63和s64。在步骤s64中,丢失数据包然后可以作为网络编码数据包c2''(再次与c2和c2'不同的线性组合)或作为其本身的丢失数据包p被再次提供。应当注意的是,可以利用与提前多播的网络编码数据包c2相同的mcs来多播包括c2'和/或c2''的修复包r。应当注意的是,不必向ue多播(一个或多个)修复包r,但该(一个或多个)修复包r还作为单播被传输到专用ue。

在步骤s66中,在步骤s63中的丢失数据包的指示的基础上确定多播数据丢包率。相应地,可以减少原始数据包p的下一个集合s3的集合大小。此外,生成网络编码数据包c3。在步骤s67中,向ue多播集合s3的原始数据包p和网络编码数据包。

使用提出的解决方案,ue接收单个集合中的所有包的概率从(1-p)f增加到(1-p)f+fp(1-p)f-1,其中p是丢失原始数据包的概率,并且f是集合s的大小。为了说明,如果以概率0.9正确地接收的原始数据包,并且如果该原始数据包被分成三个原始数据包的集合(f=3),则ue立刻正确地接收所有原始数据包的概率从72.9%增加到97.2%,以利用每个集合发送一个网络编码包为代价。

图7是图示示例性数据处理系统的框图,该示例性数据处理系统可以作为图2中所示出的传输节点的一部分(诸如基站)而使用。

数据处理系统70可以包括通过系统总线73耦合到存储器元件72的至少一个处理器71。因此,数据处理系统70可以将程序代码存储在存储器元件72内。进一步地,处理器71可以执行经由系统总线73从存储器元件72访问的程序代码。在一个方面,数据处理系统70可以被实现为适用于存储和/或执行程序代码的计算机。然而,应当领会的是,数据处理系统70可以以包括处理器和存储器的任何系统的形式来实现,该任何系统能够执行本说明书内描述的功能。

存储器元件72可以包括一个或多个物理存储器设备,诸如例如本地存储器74以及一个或多个大容量存储设备75。本地存储器可以涉及一般在程序代码的实际执行期间使用的(一个或多个)随机存取存储器或其他非持久性存储器设备。大容量存储设备75可以被实现为硬盘驱动器或其他持久性数据存储设备。数据处理系统70还可以包括一个或多个高速缓存存储器(未示出),其提供了对至少一些程序代码的暂时性存储,为了减少必须在执行期间从大容量存储设备75取回程序代码的次数。

被描绘为输入设备76和输出设备77的输入/输出(i/o)设备可以可选地耦合到数据处理系统70。输入设备的示例可以包括但不限于,例如,键盘、诸如鼠标之类的指点设备、触摸屏等等。输出设备的示例可以包括但不限于,例如,监视器或显示器、扬声器等等。输入设备76和/或输出设备77可以直接地或通过介入i/o控制器来耦合到数据处理系统70。网络适配器78还可以耦合到数据处理系统70以使得其能够通过介入专用或公共网络而变得耦合到其他系统、计算机系统、远程网络设备、和/或远程存储设备。网络适配器78可以包括用于接收由所述系统、设备、和/或网络传输到所述数据处理系统70的数据的数据接收器以及用于将数据传输到所述系统、设备和/或网络的数据发射器。调制解调器、电缆调制解调器和以太网卡是不同类型的网络适配器的示例,该不同类型的网络适配器可以与数据处理系统70一起使用。

如图7中所画的那样,存储器元件72可以存储应用79。应当领会的是,数据处理系统70可以进一步执行操作系统(未示出),该操作系统可以促进应用的执行。以可执行程序代码形式实现的应用可以由数据处理系统70(例如,处理器71)来执行。响应于执行应用79,数据处理系统70可以被配置成执行如在本申请中进一步详细公开的一个或多个操作。

在一个方面,例如,数据处理系统70可以表示如图2中所示出的传输节点或表示为接收器。在该情况下,应用29可以表示客户端应用,该客户端应用在被执行时配置数据处理系统70以执行本文中参考传输节点或接收器描述的各种功能。传输节点的示例包括提供蜂窝无线接入的电信网络1的基站,例如nodeb或enb。用户设备可以包括但不限于:个人计算机、便携式计算机、移动电话等等。

要注意的是,已经在要执行的步骤方面描述了该方法,但是不应解释为下述内容:所描述的步骤必须按所描述的精确次序和/或一个接一个地执行。本领域技术人员可以想象以改变步骤的次序和/或并行地执行步骤以便达到等效的技术结果。

本文中使用的术语仅出于描述特定实施例的目的,并且不意图于限制本发明。如本文中所使用的,除了上下文另行明确地指示之外,单数形式“一”、“一个”和“该”还意图包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所声明的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或附加。

下面的权利要求中的所有部件或步骤加功能元件的对应特征、材料、动作和等同物意图包括用于执行与如具体要求保护的其他所要求保护的元件组合的功能的任何结构、材料或动作。出于说明和描述的目的,已经呈现了本发明的描述,但是本发明的描述并不意图是穷尽的或限制于以所公开的形式的本发明。在不脱离本发明的范围和精神的情况下,许多修改和变型将对本领域普通技术人员显而易见。实施例被选择和描述以便最好地解释本发明和实际申请的原理,并使得本领域其他普通技术人员能够针对具有如适合于预期的特定用途的各种修改的各种实施例来理解本发明。

本发明的各种修改可以被实现为供计算机系统或处理器使用的程序产品,其中该程序产品的(一个或多个)程序定义实施例(包括本文中描述的方法)的功能。在一个实施例中,(一个或多个)程序可以被包含在各种非暂时性计算机可读存储介质(一般被称为“储存器”)上,其中,如本文中使用的,表达“非暂时性计算机可读存储介质”包括所有计算机可读介质,唯一例外是暂时性传播信号。在另一个实施例中,(一个或多个)程序可以被包含在各种暂时性计算机可读存储介质上。说明性的计算机可读存储介质包括但不限于:(i)信息被永久地存储在其上的不可写存储介质(例如,计算机内的只读存储器,诸如可由cd-rom驱动器读取的cd-rom盘、rom芯片或任何类型的固态非易失性半导体存储器);以及(ii)可变更的信息被存储在其上的可写存储介质(例如,闪速存储器、磁盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取半导体存储器)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1