具体实施方式
下文将参考附图更完整地描述本发明的一些实施方式,在附图中示出了一些但非全部的实施方式。实际上,本发明的各个实施方式可以许多不同的形式实现并且不应该被解释为受限于本文阐述的实施方式;然而,这些实施方式被提供使得此公开满足适用的法律要求。在整个说明书中相同的参考标号指向相似的元件。
如本文中所使用的,术语“数据”、“内容”、“信息”和相似的术语可互换使用以指向能够根据各个示例性实施方式被发送、接收、显示和/或存储的数据。因此,任意这些术语的使用不应该限制公开的精神和范围。而且,当计算设备在本文中被描述为从另一计算设备接收数据时,将理解数据可直接从另一计算设备接收或者可经由一个或多个中间计算设备(例如,一个或多个服务器、中继器、路由器、网络接入点、和/或基站等)间接接收。
如在本申请中所使用的,术语“电路装置”指所有的下列各项:(a)仅硬件电路实现,例如,在仅模拟和/或数字电路装置中实现;以及(b)电路装置和软件(和/或固件)的组合,例如(如果适用):(i)处理器的组合或(ii)处理器/软件的一部分(包括一起工作以使装置(例如,移动电话或服务器执行各种功能的数字信号处理器、软件和存储器);及(c)需要软件或固件用于操作(即使软件或固件物理上不存在)的电路装置,例如微处理或微处理器的一部分。
“电路装置”的此定义适用于此术语在本申请中的全部使用。作为又一实施例,如在本申请中所使用的,术语“电路装置”还将覆盖仅一个处理器(或多个处理器)或处理器的一部分和它的(或它们的)配套软件和/或固件的实现。术语“电路装置”还将覆盖例如(如果适用于)具体元件、用于移动电话的基带集成电路或应用处理器集成电路或服务器中的相似集成电路装置、蜂窝网络设备、或另一网络设备。
图1示出了可应用一些示例性实施方式的示例性场景。在图1的实施例中,3个用户设备(UE)UE 106、UE 108和UE 110可能对文件(例如,电影)感兴趣,文件可经由接入点102被下载。接入点102可例如包括LTE系统的演进节点B(eNB)。UE 106、108和110可形成由覆盖区域104表示的D2D集群和相应的多播组。接入点102可例如经由蜂窝链路将文件多播至覆盖区域104内的多播组。
在多播过程中,第四UE(UE 112)可能如路径114所示进入D2D集群的覆盖区域104。UE 112可能对正被多播的文件感兴趣。然而,等到UE 112进入覆盖区域104中,文件的一部分(例如x%)可能已经被多播至多播组中的UE。
包括当前LTE协议的现有协议不允许UE 112加入多播组并且作为多播组成员从接入点102接收文件的剩余部分(例如,剩余的100-x%)。在这方面,例如,在当前LTE协议下,仅应用层可保持服务文件的所有分组。低协议层的分组数据单元(PDU)因成功地将分组发送或转发至高层而在一段时间之后被释放。如果文件从不同的无线承载器被发送至UE 112(例如,UE 112在加入多播组之前通过单播丢失的文件的第一x%,在加入多播组之后通过多播的文件的最后的100-x%),UE 112可仅在应用层重组分组。然而,在当前LTE(演进的LTE)协议中,eNB中的用户平面协议仅取决于分组数据汇聚协议(PDCP)层。eNB被绑定至应用层,因为应用层通过互联网结束。由此,在当前协议下,UE 112无法通过不同的无线承载器接收来自接入点102的文件的丢失部分,因为UE 112无法重组文件。如此,当前协议不方便多播至可能在发起多播之后加入多播组的后加入设备。
本文公开的示例性实施方式可通过方便后加入设备(例如,UE112)在发起多播至多播组的现有成员之后加入多播组的情况下的多播解决当前协议的缺陷。现在参考图2,示出了根据一些示例性实施方式的用于方便多播服务的系统200。将理解,系统200以及其他附图中的说明均设置有实施方式的实施例并且不应该被解释为以任何方式使公开的范围或精神变窄。在这方面,公开的范围除了本文所示出和描述的这些之外还包括许多潜在的实施方式。如此,尽管图2示出了用于方便多播服务的系统的配置的一个实施例,还可使用许多其它配置来实现本发明的实施方式。
系统200可包括接入点202,接入点202可提供对网络(未示出)的接入。在这方面,接入点102可被配置为提供对一个或多个无线网络(例如,蜂窝网络、无线局域网络、和/或无线城域网等)、一个或多个有限网络或它们的组合的接入,在一些实施方式中可提供对互联网的接入。通过实施例,接入点202可提供对采用一个或多个移动接入机制(例如,长期演进(LTE)、先进LTE(LTE-A)、时分同步码分多址接入(TD-SCDMA)、宽带码分多址接入(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、和/或通用分组无线业务(GPRS)等)的网络的接入。
如此,通过实施例,接入点202可包括用于蜂窝网络的接入点,例如基站、基站收发器、节点B、和/或演进节点B(eNB)等。在本文所述的一些示例性实施方式中,接入点102可包括被配置为提供对LTE网络(例如,LTE网络、先进LTE网络、或使用LTE技术的一些其它当前或未来实现的网络)的接入。然而,将理解,实施方式不限于在使用LTE技术的蜂窝网络中的实现。在这方面,可根据在当前被实现或在可支持多播和D2D通信的未来被开发的无线网络技术、协议或标准采用本文公开的接入点202或其它设备和装置的示例性实施方式。
尽管被显示为单个实体,但是在一些示例性实施方式中,接入点202还可包括一个或多个支持网络节点或其它实体。而且,归因于根据各种示例性实施方式的接入点202的功能可在一些示例性实施方式中由多个装置执行,所述多个装置可协调以提供归因于接入点201的功能。
图3示出了根据一些示例性实施方式的接入点202的框图。在这方面,图3示出了可包括接入点202或可在接入点202上实现的装置,该装置被配置为执行本文所述的接入点202的功能的至少一些。然而,将注意到,下面关于图3示出和描述的部件、设备或元件可能不是强制的,因此一些部件、设备或元件可在某些实施方式中被省略。附加地,一些实施方式可包括参考图3示出和描述的部件、设备或元件之外的其它或不同的部件、设备或元件。
现在参考图3,接入点202可包括处理电路装置310或与处理电路装置310通信,处理电路装置310可被配置为执行根据本文中公开的示例性实施方式的动作。处理电路装置310可被配置为根据一个或多个示例性实施方式执行数据处理、应用执行和/或其它处理和管理服务。在一些实施方式中,接入点202或处理电路装置310可被实现为芯片或芯片组或者包括芯片或芯片组。换言之,接入点202或处理电路装置310可包括具有结构组件(例如,基板)上的材料、部件和/或配线的一个或多个物理封装(例如,芯片)。结构组件可提供物理强度、尺寸保留、和/或其上包括的部件电路装置的电互作用的限制。接入点202或其一部分(例如,处理电路装置310)因此可在一些情况下被配置为在单个芯片上实现本发明的实施方式或者被实现为单个“片上系统”。如此,在一些情况下,芯片或芯片组可构成用于执行用于提供本文所述功能的一个或多个操作的装置。
在一些示例性实施方式中,处理电路装置310可包括处理器312,并且在一些实施方式(例如,图3所示的实施方式)中还可包括存储器314。处理电路装置310可与通信接口318通信或控制通信接口318。如此,处理电路装置310可被实现为电路芯片(例如,集成电路芯片),电路芯片(例如,具有硬件、软件或硬件和软件的组合)被配置为执行本文所述的操作。然而,在一些实施方式中,处理电路装置310可被实现为服务器、计算机、工作站或其它计算设备的一部分。
通信接口318可包括用于能够与其它设备和/或网络通信的一个或多个接口机制。在一些情况下,通信接口318可以是任何装置,例如以硬件或硬件和软件的组合实现且从网络接收数据和/或向网络发送数据的设备或电路装置、和/或与处理电路装置310通信的任何其它设备或模块。通过实施例,通信接口318可通过无线接口(例如,链路204)将数据多播至设备208和/或后加入设备210。在这方面,通信接口318可包括例如与无线通信网络通信的一个天线(或多个天线)和支持硬件和/或软件、和/或通信调制解调器或用于经由电缆、数字用户线(DSL)、通用串行总线(USB)、以太网或其它方法支持通信的其它硬件/软件。
在一些示例性实施方式中,存储器314可包括一个或多个非暂时存储设备,例如可以是固定或可移除的易失性和/或非易失性存储器。存储器314可被配置为存储信息、数据、应用、指令等以使接入点202实现根据一个或多个示例性实施方式的各种功能。例如,存储器314可被配置为缓存用于由处理器312处理的输入数据。附加或可选地,存储器314可被配置为存储由处理器312执行的指令。作为又一可选方式,存储器314可包括可存储各种文件、内容或数据集的一个或多个数据库。在存储器314的内容当中,应用可被存储用于由处理器312执行以实现与每个对应应用相关联的功能。在一些情况下,存储器314可例如经由总线与处理器312通信用于在接入点202的部件之间传递信息。
处理器312可以多个不同的方式实现。例如,处理器312可被实现为各种处理装置,例如微处理器或其它处理元件、协处理器、控制器或包括集成电路装置(例如,ASIC(特定用途集成电路装置)、FPGA(现场可编程门阵列)等)的各种其它计算或处理设备中的一个或多个。在一些示例性实施方式中,处理器312可被配置为执行存储在存储器314中或处理器312可存取的指令。如此,不管由硬件配置还是由硬件和软件的组合配置,处理器312可代表能够执行根据本发明的实施方式的操作且由此被配置的实体。因此,例如,当处理器312被实现为ASIC、FPGA等时,处理器312可被特别配置有用于进行本文所述的操作的硬件。可选地,作为另一实施例,当处理器312被实现为软件指令的执行器时,指令可特别配置处理器312以执行本文所述的一个或多个操作。
在一些示例性实施方式中,处理器312(或处理电路装置310)可被实现为多播传送控制器320。如此,多播传送控制器320可被实现为各种装置,例如,电路装置、硬件、包括存储在计算机可读介质(例如,存储器314)上且由处理设备(例如,处理器312)执行的计算机可读程序指令的计算机程序产品、或它们的一些组合。多播传送控制器320可以能够与一个或多个的存储器314或通信接口318通信以可根据需要访问、接收和/或发送数据以执行本文所述的多播传送控制器320的功能中的一个或多个。
再次参考图2,系统200还可包括多个通信设备、例如设备208和后加入设备210。这些设备可被实现为被配置为与接入点202接口以获得网络接入(例如,通过蜂窝联接)的任意类型的计算设备且通过D2D通信彼此通信。通过非限制性实施例,设备208和/或后加入设备210可分别被实现为移动通信设备,例如移动电话、个人数字助理(PDA)、智能电话、平板计算设备、寻呼机、笔记本电脑、便携式游戏机、或各种其它手持或便携通信设备、计算设备、内容生成设备、内容消耗设备、或它们的组合。
图4示出了根据一些示例性实施方式用于方便多播服务的装置402的框图,其中多播服务可根据一些示例性实施方式包括设备208或在设备208上和/或在后加入设备210上被使用。如此,装置402可被配置为执行本文所述的设备208和/或后加入装置210的至少一些功能。然而,将注意到,下面参考图4示出和描述的部件、设备或元件可以不是强制的并且因此可被某些实施方式中被省略。附加地,一些实施方式还可包括关于图4示出和描述的部件、设备或元件之外的不同部件、设备或元件。
现在参考图4,装置402可包括处理电路装置410或与处理电路装置410通信,处理电路装置410可被配置为执行本文公开的示例性实施方式的动作。处理电路装置410可被配置为根据一个或多个示例性实施方式执行数据处理、应用执行和/或其它处理和管理服务。在一些实施方式中,装置402或装置402的一部分或部件(例如,处理电路装置410)可被实现为或包括芯片或芯片组。换言之,装置402或处理电路装置410可包括具有结构组件(例如,基板)上的材料、部件和/或配线的一个或多个物理封装(例如,芯片)。结构组件可提供物理强度、尺寸保留、和/或其上包括的部件电路装置的电互作用的限制。装置402或处理电路装置410可因此在一些情况下被配置为在单个芯片上实现本发明的实施方式或被配置为单个“片上系统”。如此,在一些情况下,芯片或芯片组可构成用于执行用于提供本文所述功能的一个或多个操作的装置。
在一些示例性实施方式中,处理电路装置410可包括处理器412,并且在一些实施方式(例如,图4所示的实施方式)中还可包括存储器414。处理电路装置410可与用户接口416和/或通信接口418通信或控制用户接口416和/或通信接口418。如此,处理电路装置410可被实现为电路芯片(例如,集成电路芯片),电路装置芯片被配置(例如,有硬件、软件或硬件和软件的组合)以执行本文所述的操作。
用户接口416(如果实现)可与处理电路装置410通信以接收用户接口416处用户输入的指示和/或向用户提供声音、视觉、机械或其它输出。如此,用户接口416可包括例如键盘、鼠标、操纵杆、显示器、触摸屏、麦克风、扬声器和/或其它输入/输出机构。
通信接口418可包括用于能与其它设备和/或网络通信的一个或多个接口机制。在一些情况下,通信接口418可以是任何装置,例如以硬件或硬件和软件的组合实现且被配置为从网络接收数据和/或向网络发送数据的设备或电路装置、和/或与处理电路装置410通信的任何其它设备或模块。通过实施例,通信接口418可被配置为能接收由接入点202多播(例如,经由链路204)的数据。通过实施例,通信接口418可支持(例如,经由D2D链路214)与另一装置402、设备208、和/或后加入设备210等的D2D通信。在这方面,通信接口418可包括例如与无线通信网络通信的一个天线(或多个天线)和支持硬件和/或软件、和/或通信调制解调器或用于经由电缆、数字用户线(DSL)、通用串行总线(USB)、以太网或其它方法支持通信的其它硬件/软件。
在一些示例性实施方式中,存储器414可包括非暂时存储设备,例如可以是固定或可移除的易失性和/或非易失性存储器。存储器414可被配置为存储信息、数据、应用、指令等以使装置402实现根据一个或多个示例性实施方式的各种功能。例如,存储器414可被配置为缓存用于由处理器412处理的输入数据。附加或可选地,存储器414可被配置为存储由处理器412执行的指令。作为又一可选方式,存储器414可包括可存储各种文件、内容或数据集的一个或多个数据库。在存储器414的内容中,应用可被存储用于由处理器412执行以实现与每个对应应用相关联的功能。在一些情况下,存储器414可例如经由总线与处理器412通信用于在装置402的部件之间传递信息。
处理器412可以多个不同的方式实现。例如,处理器412可被实现为各种处理装置,例如微处理器或其它处理元件、协处理器、控制器或包括集成电路装置(例如,ASIC(特定用途集成电路装置)、FPGA(现场可编程门阵列)等)的各种其它计算或处理设备中的一个或多个。在一些示例性实施方式中,处理器412可被配置为执行存储在存储器414中或处理器412可存取的指令。如此,不管由硬件配置还是由硬件和软件的组合配置,处理器412可代表能够执行根据本发明的实施方式的操作且由此被配置的实体(例如,物理地在电路装置(处理电路装置410形式)中实现)。因此,例如,当处理器412被实现为ASIC、FPGA等时,处理器412可被特别配置有用于进行本文所述的操作的硬件。可选地,作为另一实施例,当处理器412被实现为软件指令的执行器时,指令可特别配置处理器412以执行本文所述的一个或多个操作。
在一些示例性实施方式中,处理器412(或处理电路装置410)可被实现为、包括或控制多播接收管理器420。如此,多播接收管理器420可被实现为各种装置,例如,电路装置、硬件、包括存储在计算机可读介质(例如,存储器414)上且由处理设备(例如,处理器412)执行的计算机可读程序指令的计算机程序产品、或它们的一些组合。多播接收管理器420可以能够与一个或多个的存储器414、用户接口416或通信接口418通信以可根据需要访问、接收和/或发送数据以执行本文所述的多播接收管理器420的功能中的一个或多个。
再次参考图2,在一些示例性实施方式中,多播传送控制器320被配置为使接入点202将数据(例如,文件、源数据、未格式化的数据、视频数据、语音数据、和/或多媒体数据等)多播至多播组的成员。在这方面,接入点102可通过蜂窝链路或其它无线链路(例如,图2所示的链路204)将数据多播至多播组的成员。多播组的成员可例如包括多个设备208。由此,与设备208相关联的多播接收管理器420可被配置为管理由接入点202多播的数据的接收。3个这种设备208通过实施例在图2中示出。然而,将理解,多播组可包括任意数量n个设备,其中n大于或等于2。设备208可附加地为D2D集群(如D2D覆盖区域206所表示的)的成员。在这方面,D2D集群中的设备可经由一个或多个D2D链路214通信,如图2所示。
一个或多个后加入设备210可能想要正被多播至设备208的相同数据,并且可能在D2D覆盖区域206内。在这方面,例如,后加入设备210可包括移动通信设备,并且可在发起多播之后如路径212所示进入D2D覆盖区域。作为另一实施例,后加入设备210可能在发起多播的时候已经在D2D覆盖区域206内,但是可能未请求数据直到发起多播之后。
多播传送控制器320在一些示例性实施方式中被配置为确定是否将后加入设备210添加到多播组用于接收正在进行的多播。此决定可例如至少部分基于D2D测量报告做出,该D2D测量报告报告后加入设备210与一个或多个设备208之间的D2D链路条件。
在后加入设备210被添加至多播组用于接收正在进行的多播的情况下,一些示例性实施方式的多播传送控制器320被配置为使后加入设备210加入多播组的指示被发送至在后加入设备210加入多播组之前参与到多播中的设备208。所述指示可以指明后加入设备开始参与到多播中的点使得多播接收管理器420可以能够确定在后加入设备210开始参与到多播中之前多播且后加入设备210将不通过多播进行接收的数据部分。
在一些示例性实施方式中,多播传送控制器320可标记在后加入设备210加入多播组之前在多播中被成功发送的最后的数据部分(例如,分组)。在这方面,多播传送控制器320可例如存储或标注在后加入设备210加入多播组之前在多播中被成功发送的最后的数据部分的索引值。在一些示例性实施方式中被发送至设备208的后加入设备210加入多播组的指示可包括所标记的最后的数据部分的指示。例如,根据一些示例性实施方式中,多播传送控制器320可标记最后完成的PDCP序列号(SN)和超帧号(HFN)并且响应于后加入设备210加入多播组而将最后完成的PDCP序列号(SN)和超帧号(HFN)多播至包括后加入设备210的多播组的成员。
多播传送控制器320可附加地执行一个或多个操作以在后加入设备210加入多播组之后准备继续多播。例如,多播传送控制器320可调整PDCP发送窗口以从所标记的PDCP SN+1开始。多播传送控制器320还可重置无线链路控制(RLC)发送窗口、PDCP SN和与多播相关联的定时器中的一个或多个。
多播传送控制器320可由此继续使接入点202将数据多播至包括后加入设备的多播组的成员。在这方面,数据的多播可从后加入设备210加入多播组的点开始,后加入设备210丢失在后加入设备210开始参与到多播中之前多播的数据部分。
与设备208相关联的多播接收管理器420可接收后加入设备210加入多播组的指示。多播接收管理器420可至少部分基于指示确定后加入设备在发起多播之后加入多播组。响应于该确定,多播接收管理器420可使用接收的指示来标记后加入设备210开始参与到多播中的点(例如,SN或其它数据序列号)。在标记此点的过程中,多播接收管理器420可例如存储或标注在后加入设备210加入多播组之前在多播中被成功发送的最后的数据部分的索引值(例如,SN的索引值或与最后发送的数据部分对应的其它数据序列号)。在标记此点的过程中,多播接收管理器420可通过跨层交互从PDCP层追踪该点并且在应用层中标记该点。例如,多播接收管理器420可通过跨层交互追踪点至应用层SN并且在应用层SN中标记该点。多播接收管理器420还可重置RLC接收窗口和与多播相关联的定时器使得在后加入设备210开始参与到多播中之后多播的数据可与可对接入点202处的RLC发送窗口和定时器做出的调整同步。
在加入多播组之后,与后加入设备210相关联的多播接收管理器420可设置接收参数以对应于多播中后加入设备210加入多播组的点。例如,后加入设备210的PDCP接收窗口可被设置为从所标记的SN+1开始。在这方面,在接入点202将所标记的SN多播至具有后加入设备210已经加入多播组的指示的多播组中的设备的实施方式中后加入设备210可存取所标记的SN。后加入设备210可由此经由多播接收加入多播组之后多播的数据部分。
多播传递控制器320可选择设备208中的一个或多个以经由D2D链路214上的D2D通信发送在后加入设备210加入多播组之前多播的数据部分。在这方面,多播传送控制器320可在所选择的设备208与后加入设备210之间分配用于D2D通信的资源以将该数据部分发送至后加入设备210。
多播传送控制器320可选择一个或多个设备208以在多播完成之前将数据的丢失部分发送至后加入设备210,使得后加入设备210可在多播正在进行时经由D2D通信接收数据的丢失部分。可选地,多播传送控制器320可选择一个或多个设备208以在多播完成之后将数据的丢失部分发送至后加入设备210,使得后加入设备210直到多播完成才经由D2D通信接收数据的丢失部分。一些示例性实施方式的多播传送控制器320被配置为基于正被多播的数据类型和/或链路条件确定在多播完成之前还是之后选择设备208。例如,如果数据与时间敏感服务相关和/或如果存在相对高的延迟,多播传送控制器320可在多播完成之前选择设备208以通过接入点202多播剩余的数据时经由D2D通信将数据的剩余部分发送至后加入设备210来减少后加入设备210接收整个数据所花费的时间。
与被选择为将数据的丢失部分发送至后加入设备210的设备208相关联的多播接收管理器420至少部分基于后加入设备210开始参与到多播中的标记点,确定待发送至后加入设备210的数据部分。例如,如果仅一个设备208被选择,则多播接收管理器420可确定在后加入设备210开始参与到多播中之前多播的整个数据部分。这部分可由第一数据部分至所标记的数据部分(例如,SN=1至SN标记)限定。
如果多个设备208被选择以将数据的丢失部分发送至后加入设备210,则多播接收管理器420可基于划分用于将丢失的数据部分发送至后加入设备210的责任的一个或多个准则,划分在后加入设备210开始参与到多播中之前多播的数据部分。例如,根据一些示例性实施方式,所选择的设备208的多播接收管理器420可按如下划分责任:
(1)在后加入设备210开始参与到多播中之前多播的数据的丢失部分可在设备的应用层中被表示成从SN=1至SN标记的部分。所选择的设备208的数量可被表示成N。由此,数据的丢失部分可被划分成N个部分:1~SN1、SN1~SN2…SNN-1~SN标记。
(2)所选择的设备208可根据一些准则负责每个部分。例如,集群中具有最小设备标识符的设备208可负责将第一部分1~SN1发送至后加入设备210;集群中具有第二最小设备标识符的设备208可负责将第二部分SN1~SN2发送至后加入设备210等等。
(3)每个部分可根据任一准则具有相同的长度或不同的长度。例如,长度可与从对应的设备208至后加入设备210的D2D信道质量成正比。
在多个设备208被选择且将丢失的数据部分发送至后加入设备210的责任在所选择的设备208之间被划分的实施方式中,如果设备208中的一个没有从接入点202接收到多播分组(例如,设备未确认“NACK”接收分组),则设备中已经确认(例如,“ACK”)接收分组的一个可被接入点202分派为在将丢失数据的该部分发送至后加入设备210之前经由D2D通信将分组重新发送至NACK的设备。其它ACK的设备可经由D2D通信丢失将数据的对应部分发送至后加入设备210。
在由多播设备正在进行多播时将丢失的数据部分发送至后加入设备210的一些示例性实施方式中,所选择的设备208可只要有机会就发送丢失的数据部分。假设从接入点202至每个设备的误块率相同并且被表示成“BLER”并且在后加入设备210加入之前集群中存在N个设备208,用于文件填补的机会的概率为
如果BLER=0.1且N=3,则P填补机会=87.48%。
因此,根据一些示例性实施方式在多播正在进行时丢失的数据部分的发送显著地减少延迟,并且可能对时间敏感服务的多播应用是有利的。
图5示出了根据一些示例性实施方式可交换以方便多播服务的信号的示例性信令图。在这方面,图5示出了单个设备被选择为在多播完成之后将文件的丢失部分发送至后加入设备的示例性信令图。图5的实施例可在实现LTE技术(例如,LTE、先进LTE、其它现在或未来的LTE技术的变型)的蜂窝网络中实现。
在图5的实施例中,存在参与到从eNB 510多播下载文件的UE集群(UE1 502、UE2 504和UE3 506)。UE1 502、UE2 504和UE3506可由此包括设备208的实施方式。eNB 510可相似地包括接入点202的实施方式。在图5的实施例中,可假设如果UE没有接收到分组而集群中的其它UE成功地接收到分组,可触发从ACK的UE至NACK的UE的经由D2D通信的NACK分组的集群内重新发送。此外,在图5的实施例中,eNB 510处理包括D2D资源分配的集中调度。
在操作512,eNB 510将文件的分组多播至参与到多播组中的原始UE,UE1 502、UE2 504和UE3 506。在操作514,后到达设备UE4 508可能对文件感兴趣并且可能将下载文件的请求发送至eNB510。在操作514时,文件的一部分已经成功地由集群下载。操作516可包括eNB 510发现UE4 508在集群覆盖内并且分配探测资源用于UE4 508探测集群中的其它UE。操作518可包括集群中UE与UE4508之间的集群探测和测量。在操作520,UE4 508可基于探测将测量报告发送至eNB 510。eNB 510可在操作522基于测量报告决定将UE4 508添加到集群和多播组。
操作524可包括eNB 510制作最近成功发送的PDCP SN和HFN。ENB还可在操作526将所标记的SN和HFN多播至集群(现在包括UE4 508)中的UE。所标记的SN和HFN的多播可附加地包括UE4508的加入集群通知,加入集群通知可包括集群ID(标识符)、UE4508的UE ID、资源授权、和/或集群UE数目等。
操作528可包括eNB 510调整PDCP发送窗口以从所标记的SN+1开始。操作530可包括eNB 510重新建立RLC以及重置其RLC发送窗口和定时器。操作532可包括UE4 608基于在操作526的发送中接收的指示调整PDCP接收窗口以从所标记的SN+1开始。操作534可包括UE1 502、UE2 504和UE3 506基于在操作526中的发送中接收的指示找到和标记应用层的对应SN。操作536可包括UE1502、UE2 504和UE3 506执行RLC重新建立以及重置它们的RLC接收窗口和定时器。
操作538可包括eNB 510继续将文件的从UE4 608加入多播组时多播的文件点(例如,从所标记的PDCP SN+1)继续的分组多播到包括后加入UE4 608的更新集群。操作540可任选地包括UE(例如,ACK的UE)经由D2D通信将分组发送至没有接收到分组的UE(例如,NACK的UE)。
在文件的多播已经完成之后,UE 510可从原始集群选择UE来经由D2D通信将文件的丢失部分(例如,在UE4 608加入集群之前多播的文件部分)发送至UE4 608。操作544可包括eNB 510将收发器分派和资源授权发送至所选择的UE(在实施例中为UE3 506)。
响应于选择和资源授权,UE3 506在操作546可找到所标记的应用层SN并且经由与UE4 608的D2D链路开始发送从所标记的SN开始的文件。操作548可包括UE4 508在应用层中重组文件。例如可在操作546进行时执行操作548。
图6示出了根据一些示例性实施方式的可被交换以方便多播服务的信号的另一示例性信令图。在这方面,图6示出了多个设备被选择为在多播完成之前将文件的丢失部分发送至后加入设备的示例性信令图。图6的实施例可在实现LTE技术(例如,LTE、先进LTE、或其它的LTE技术的当前或未来的变型)的蜂窝网络中实现。
在图6的实施例中,存在参与到将文件从eNB 610多播下载的UE集群(UE1 602、UE2 604和UE3 606)。UE1 602、UE2 604和UE3 606可由此包括设备208的实施方式。eNB 610可相似地包括接入点202的实施方式。在图5的实施例中,可假设如果UE没有接收到分组而集群中的其它UE成功地接收到分组,可触发从ACK的UE至NACK的UE的经由D2D通信的NACK分组的集群内重新发送。此外,在图5的实施例中,eNB 610处理包括D2D资源分配的集中调度。
在操作612,eNB 610将文件的分组多播至参与到多播组中的原始UE,UE1 602、UE2 604和UE3 606。在操作614,后到达设备UE4 608可能对文件感兴趣并且可能将下载文件的请求发送至eNB610。在操作614时,文件的一部分已经成功地被集群下载。操作616可包括eNB 610发现UE4 608在集群覆盖内并且分配探测资源用于UE4 608探测集群中的其它UE。操作618可包括集群中的UE与UE4608之间的集群探测和测量。在操作620,UE4 608可基于探测将测量报告发送至eNB 610。eNB 610可在操作622基于测量报告决定将UE4 608添加至集群和多播组。
操作624可包括eNB 610标记最近成功发送的PDCP SN和HFN。eNB 610还可在操作626将所标记的SN和HFN多播至集群(现在包括UE4 608)中的UE。所标记的SN和HFN的多播可附加地包括UE4 608的加入集群通知,加入集群通知可包括集群ID(标识符)、UE4 608的UE ID、资源授权、和/或集群UE数目等。
操作628可包括eNB 610调整PDCP发送窗口以从所标记的SN+1开始。操作630可包括eNB 610重新建立RLC和重置其RLC发送窗口和定时器。操作632可包括UE4 608基于在操作626的发送中接收的指示调整其PDCP接收窗口以从所标记的SN+1开始。操作634可包括UE1 602、UE2 604和UE3 606基于在操作626的发送中接收的指示找到和标记应用层的对应SN。操作636可包括UE1602、UE2 604和UE3 606执行重新建立并且重置对应的RLC接收窗口和定时器。
操作638可包括eNB 610继续将文件的从UE4 608加入多播组时多播的文件点(例如,从所标记的PDCP SN+1)继续的分组多播至包括后加入UE4 608的更新集群。操作638的多播可包括分组“分组X”的多播。UE1 602可在操作640NACK分组X的接收,而UE2604、UE3 606和UE4 608可分别在操作642-646ACK分组X的接收。
在操作648,eNB 610选择一个ACK的UE(除了UE4)608将去往UE1 602的分组X重新发送至失败的UE并且调度相应的资源。在图6的实施例中,UE2 604被选择为将分组X重新发送至UE1 602。操作648还可包括eNB 610选择除了UE4 608之外的其余的ACK的UE以经由D2D通信在UE4 608加入多播组之前多播的文件的对应负责部分发送至UE4 608并且调度相应的资源。操作648还可包括eNB 610多播收发器分派和资源授权。
操作650可包括UE2 604基于操作648的发送经由D2D通信将分组X重新发送至UE1 602。操作652可包括UE3 606将其在UE4608加入多播组之前多播的文件部分的负责部分经由D2D通信发送至UE4 608。在操作656,UE3 604可向eNB 610确认其已经完成将其负责的文件部分发送至UE4 608使得eNB 610不继续调度用于将UE3 604的负责部分发送至UE4 608的资源。
在操作658,可完成文件的多播。如果UE4 608未经由D2D通信接收到在UE4 608加入多播组之前多播的文件的所有丢失部分,操作660可包括eNB 610调度用于eNB1 602和eNB2 604的D2D资源以经由D2D通信完成将它们负责的文件部分发送至UE4 608。响应于操作660的信令和资源授权,UE1 602和UE2 604可在操作662将它们负责的文件部分发送至UE4 608。每个未完成的UE可继续将其负责的部分发送至UE4 608直到完成其负责部分的发送。当UE1602和UE2 604完成它们负责部分的发送时,它们可分别如操作666和664所示向eNB 610发送确认。
UE4 608可通过组合由多播接收的文件部分和经由D2D通信从UE1 602、UE2 604和UE3 606接收的部分在应用层重组文件。
现在参考图7,图7示出了根据一些示例性实施方式的用于方便多播服务的示例性方法的流程图。在这方面,图7示出了可在设备208处执行的操作。参考图7示出和描述的操作可例如在处理电路装置410、处理器412、存储器414、通信接口418或多播接收管理器420中的一个或多个的帮助和/或控制下执行。操作700可包括接收多播至多播组成员的数据。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作700的装置。操作710可包括至少部分基于在多播数据期间接收的指示,确定后加入设备在发起多播之后加入多播组。处理电路装置410、处理器412、存储器414和/或多播接收管理器420可例如提供用于执行操作710的装置。操作720可包括至少部分基于接收的指示制作后加入设备开始参与到多播中的点。处理电路装置410、处理器412、存储器414和/或多播接收管理器420可例如提供用于执行操作720的装置。操作730可包括至少部分基于所标记的点,确定数据中将发送至后加入设备的部分。所确定的部分可包括在后加入设备开始参与到多播中之前多播的数据中的至少一部分。操作730的确定还可基于多少个设备已经被多播数据的接入点选择为将在后加入设备加入多播组之前多播的数据部分发送至后加入设备。处理电路装置410、处理器412、存储器414和/或多播接收管理器420可例如提供用于执行操作730的装置。操作740可包括使数据中的确定的部分经由设备到设备连接被发送至后加入设备。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作740的装置。
现在参考图8,图8示出了根据一些示例性实施方式的用于方便多播服务的另一示例性方法的流程图。在这方面,图8示出了可在接入点202处执行的操作。参考图8示出和描述的操作可例如在处理电路装置310、处理器312、存储器314、通信接口318或多播传送控制器320的帮助下和/或控制下执行。操作800可包括使数据被多播至多播组的成员。处理电路装置310、处理器312、存储器314、通信接口318和/或多播传送控制器320可例如提供用于执行操作800的装置。操作810可包括响应于后加入设备在发起读博之后加入多播组,使后加入设备加入多播组的指示被发送至多播组的成员。处理电路装置310、处理器312、存储器314、通信接口318和/或多播传送控制器320可例如提供用于执行操作810的装置。操作820可包括继续使数据被多播至包括后加入设备的多播组的成员。处理电路装置310、处理器312、存储器314、通信接口318和/或多播传送控制器320可例如提供用于执行操作820的装置。操作830可包括选择在后加入设备加入多播组之前参与到多播中的多播组的成员中的至少一个成员以经由设备到设备通信将在后加入设备加入多播组之前多播的数据中的部分发送至后加入设备。操作830可在多播的结束之前或之后被执行。处理电路装置310、处理器312、存储器314、通信接口318和/或多播传送控制器320可例如提供用于执行操作830的装置。操作840可包括分配用于设备到设备通信的资源。处理电路装置310、处理器312、存储器314、通信接口318和/或多播传送控制器320可例如提供用于执行操作840的装置。
现在参考图9,图9示出了根据一些示例性实施方式的用于方便多播设备的又一示例性方法的流程图。在这方面,图9示出了可在后加入设备210处执行的操作。参考图9示出和描述的操作可例如在处理电路装置410、处理器412、存储器414、通信接口418或多播接收管理器420中的一个或多个的帮助下和/或控制下执行。操作900可包括加入正在进行多播的多播组。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作900的装置。操作910可包括接收对已经加入多播时多播的数据中的点的指示。例如,指示可包括PDCP序列号或在多播中发送的最后一个分组的其它指示。处理电路装置410、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作910的装置。操作920可包括设置接收参数以与加入多播时多播中的点对应。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作920的装置。
操作930可包括接收在加入多播组之后被多播的多播数据。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作930的装置。操作940可包括经由设备到设备通信从多播组的一个或多个成员接收在加入多播组之前多播的数据。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作940的装置。操作950可包括通过组合经由多播接收的部分与经由设备到设备通信接收的部分来重组数据。操作950可例如在应用层中执行。处理电路装置410、处理器412、存储器414、通信接口418和/或多播接收管理器420可例如提供用于执行操作940的装置。
图7至图9是根据本发明的示例性实施方式的系统、方法和程序产品的流程图。将理解,流程图的每个块、流程图中块的组合可由例如硬件、固件、处理器、电路装置和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备的各种装置实现。例如,上面描述的过程的一个或多个可由计算机程序指令实现。在这方面,实现上述过程的计算机程序指令可由实现本发明实施方式的装置的存储设备存储并且由装置中的处理器执行。将理解,任何这种计算机程序指令可被装载到计算机或其它可编程装置(例如,硬件)上以生产机器,使得所得到的计算机或其它可编程装置提供在流程块中列出的功能的实现。这些计算机程序指令还可被存储在非暂时的计算机可读存储存储器中,可指导计算机或其它可编程装置以具体的方式操作使得存储在计算机可读存储器中的指令产生制造物件,这些计算机程序指令的执行实现在流程图块中列出的功能。计算机程序指令还可被装载到计算机或其它可编程装置上以使一系列操作在计算机或其它可编程装置上执行以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令提供用于实现在流程图块中列出的功能。
由此,流程图的块支持用于执行特定功能的装置的组合和用于执行特定功能的操作的组合。还将理解,流程图的一个或多个块、流程图中块的组合可由基于专用硬件的计算机系统执行,该继续安吉系统执行特定的功能、或专用硬件和计算机指令的组合。
发明所属领域的技术人员将想到本文中产生的本发明的许多修改和其它实施方式,其中本发明具有在前面的描述和相关的附图中给出教导的益处。因此,将理解,本发明不限于所公开的特定实施方式,并且其它实施方式用于包括在所附权利要求的范围内。而且,尽管前面的描述和相关的附图在元件和/或功能的某些示例性组合的上下文下描述了示例性的实施方式,但是应该理解元件和/或功能的不同组合可由替换的实施方式提供而不背离所附权利要求的范围。在这方面,例如,还可想到如可在所附权利要求的一些中阐述的不同于上面明确描述的元件和/或功能的组合。尽管在本文中采用特定的术语,但是它们仅以一般和描述性的意义使用而非用于限制。