(陆军工程大学通信工程学院,江苏 南京 210007)
近些年,移动用户对诸如视频等多媒体内容的下载需求日益增加[1-3]。本文将向网络请求内容的移动用户称为内容请求者,传统意义上,内容请求者直接从基站处下载内容,随着网络中内容请求者数目的增加,基站处的数据流量会显著增加。更糟糕的是,当内容请求者请求相同的内容时,基站需要重复响应这些相同的请求,而内容请求者请求相同内容的场景又十分常见,如教室里的学生下载同一学习资料。
一种有效的解决思路是合作内容下载[4-8],其核心思想是一些位置相邻的内容请求者形成一个簇,簇内成员采用终端直通(D2D,device-to-device)多播通信共享各自下载的内容。这种下载模式可以有效卸载基站的流量,缓解核心网络的压力。同时,内容请求者相距较近,信道质量较好,内容下载质量也会有所改善。合作内容下载的优势使其不仅广泛存在于蜂窝网络中,在车联网[9]和无人机自组网[10]中也很常见。然而,实现上述优势,需要解决以下几个问题。
1)设计一种有效的用户分簇机制来确保内容共享额外的资源消耗(如能量消耗)由簇内内容请求者共同承担。文献[4-8]的共同点是每个簇存在一个簇头。簇头首先从基站下载整个内容,然后通过D2D 多播通信的方式将下载的内容共享给簇内其他内容请求者,这导致内容共享额外消耗的资源由单个内容请求者独自承担。一种有效的解决方式是簇内每个内容请求者仅下载全部内容的一部分,轮流通过D2D 多播通信将所下载的内容共享给簇内其他内容请求者。这样一来,簇内内容请求者共同承担内容共享带来的额外资源消耗。
2)设计一种有效的激励机制来激励内容请求者间的相互合作。网络中的内容请求者一般是自私和理性的,这使内容请求者间D2D 链路的建立具有较大的机会性[11-12]。更重要的是,簇内内容共享可能会导致较大的时延,这使内容请求者并不情愿与其他内容请求者合作。定价[11,13]是一种常用且容易实现的激励方式,这种方式仅需要基站维持一个内容下载价格。内容请求者相互合作时,仅需要下载一部分内容,承担一部分价格。
3)设计一种有效的资源管理机制,在消耗尽可能少的资源的前提下保证高效的D2D 多播内容共享。内容请求者从基站处下载内容后,需要通过D2D 多播通信向簇内其他内容请求者共享内容。D2D 多播通信是传统蜂窝网络的补充。从提升网络频谱效率的角度出发,基站希望D2D 多播通信能够复用蜂窝用户的上行链路[2,14]。为了避免严重的干扰,一个蜂窝用户上行链路至多被一个簇复用,这就构成簇-蜂窝用户对。为协调干扰,链路调度和功率分配显得尤其重要。
此外,用户分簇、链路调度和功率分配之间相互耦合,三者需要联合优化。考虑干扰仅仅存在于单独的簇-蜂窝用户对中,因此首先针对单个簇-蜂窝用户对,获得最优的传输功率。然后,考虑内容请求者间的相互合作可以获得收益(如价格的降低),也会产生代价(如时延的增加),将用户分簇和链路调度联合问题建模为联盟形成博弈。
综上所述,本文的创新点总结如下。
1)针对内容下载问题,提出了一种新颖的合作内容下载机制,该机制可以有效分散内容共享额外的资源消耗。内容请求者形成不相交的簇。每个内容请求者下载一部分内容,并轮流向同簇内其他的内容请求者共享其所下载的内容,直到所有的内容请求者下载完所有的内容。
2)为激励内容请求者间的相互合作,提出了一种容易实现的定价方法,该方法仅需基站维持一个内容下载价格。基于此,在保证蜂窝用户性能的前提下,建模一个联合用户分簇、链路调度和功率分配的优化问题最小化内容请求者下载内容的总代价。
3)为了有效求解所建模优化问题,首先,针对单个簇-蜂窝用户对进行功率分配。然后,将用户分簇和链路调度联合问题建模为联盟形成博弈,每次联盟形成时,每个联盟复用提供最佳性能的蜂窝上行链路。最后,设计了一个联合优化算法,以较低的复杂度获得较优的解。
以蜂窝小区为例来说明基于D2D 多播通信的合作内容下载机制。如图1 所示,考虑一个单蜂窝小区,网络中存在Nm个请求相同内容的内容请求者和占用Nc条正交链路的Nc个蜂窝用户,内容请求者构成的集合Nm={m1,…,mi,…,},蜂窝用户构成的集合Nc={c1,…,cj,…,}。内容请求者相互合作,形成不相交的簇来下载内容。第一阶段,簇内内容请求者轮流占用无线资源从基站处下载内容;第二阶段,簇内内容请求者轮流复用蜂窝上行链路向簇内其他内容请求者共享内容。
图1 系统模型
每个簇复用一条蜂窝上行链路,复用的链路要能给簇带来最佳的性能,具体的链路调度过程在3.2 节会详细介绍。簇集合S={S1,…,Sk,…,SK},其中,K≤Nm为分簇数目。为了表示方便,将簇Sk表示为,其中,是集合的势。考虑准静态环境下的内容下载,即在整个内容下载过程中,用户的位置和请求的内容保持不变。当用户位置或请求内容发生变化时,簇重新形成以完成新的内容下载任务。
基站维持一个下载Lbit 内容的价格μ1。内容请求者合作下载内容时仅需要向基站支付一部分内容的价格。相比之下,内容请求者独立下载内容需要向基站支付整个内容的价格。然而,一方面,内容请求者相互合作时的时延性能可能会受影响;另一方面,当D2D 多播内容共享复用蜂窝上行链路时,内容请求者需要向蜂窝用户支付共享Lbit内容的价格μ2。这个价格为内容请求者合作时需要付出的额外代价。但是,簇内内容请求者可以共同承担这个价格。为有效激励内容请求者相互间的合作,本文设μ2<μ1。
以图1 中簇S1为例说明合作内容下载的过程。内容请求者m1、m2、m3和m4形成簇S1。首先,簇S1中每个内容请求者分别从基站处下载的内容,并向基站支付的价格。然后,每个内容请求者轮流复用蜂窝用户c3的上行链路,并通过D2D 多播通信向簇内其他内容请求者共享其所下载的内容。这个过程中,每个内容请求者只需要向蜂窝用户c3支付的价格。簇内内容共享完成后,每个内容请求者都能下载到完整的内容。
内容请求者既可以独立下载内容,也可以与其他内容请求者合作下载内容。本节从这2 种场景来具体分析内容请求者下载整个内容时的代价,该代价函数综合考虑了价格和时延。
值得注意以下几方面。1)代价函数未考虑多播内容共享时能量消耗对终端设备的影响,这是因为一方面,内容共享的能量消耗由簇内内容请求者共同承担;另一方面,相较于终端电池容量,多播的能量消耗很小。2)代价函数中的时延指传输时延,这是因为一方面,处理时延与内容分块编码方式、终端处理速度等因素息息相关,在建模过程中难以衡量;另一方面,较于处理时延,传输时延由用户分簇、链路调度和功率分配决定。
场景1。这种情况下,内容请求者独立从基站处下载内容,下载整个内容的时延为
其中,W是通信链路带宽,pB是基站的发送功率,是从基站到的信道功率增益,N0是加性高斯白噪声的功率谱密度。
其中,α和β分别是价格和时延的权重因子;λ是成形因子,旨在使时延的量纲与价格一致。
场景2。这种情况下,内容请求者与其他内容请求者合作下载内容。簇Sk中每个内容请求者仅需要下载bit 的内容。内容请求者轮流占用无线资源从基站处下载内容,簇Sk中所有内容请求者完成从基站处的内容下载所需要的时延为
从基站处下载内容后,每个内容请求者轮流复用一条蜂窝上行链路,通过D2D 多播通信向簇内其他内容请求者共享其所下载的内容。对,n≠n′而言,从的可达速率为
当簇Sk复用蜂窝用户cj的上行链路时,蜂窝用户cj的可达速率为
本文旨在优化簇集合S、复用关系x及内容请求者和蜂窝用户的发送功率最小化内容请求者的总代价。所建模的联合优化问题为
其中,约束条件C1指一个内容请求者至多进入一个簇;C2 指簇内所有的内容请求者构成了内容请求者集合;C3和C4 分别指一个簇至多复用一条蜂窝上行链路和一条蜂窝上行链路至多被一个簇复用;C5 指蜂窝用户的最小可达速率必须得以保证,Rth是蜂窝用户速率门限值;C6 和C7 分别指内容请求者和蜂窝用户的功率约束,其中,分别是内容请求者和蜂窝用户的最大发送功率。
当簇集合S 确定后,分簇数目K随之确定。优化问题(8)同时包含整数和连续变量,很难求解。考虑干扰仅存在于每一个簇-蜂窝用户对中,首先针对单个簇-蜂窝用户对进行功率分配,得到每个簇对应蜂窝上行链路的代价。然后,将用户分簇和链路调度联合问题建模为联盟形成博弈。每一次联盟时,每个簇复用提供最小代价的蜂窝上行链路。
本节以簇Sk和蜂窝用户cj为例,优化簇Sk内的内容请求者和蜂窝用户cj的发送功率。需要求解的优化问题为
给定簇Sk,的值取决于内容请求者从簇内其他内容请求者下载内容的时延,如式(6)所示。因此,优化问题的优化目标转化为。
簇内内容共享的本质是一个内容请求者到簇内其余内容请求者的D2D 多播通信,不同D2D 多播通信链路的功率优化相互独立。本节集中优化一条D2D 多播通信链路上的功率。假设该条D2D 多播通信链路的发送者为内容请求者,接收者为。考虑取决于从的可达速率,优化问题的优化目标可进一步转化为
引理1当且仅当时,式(10)所示的优化目标达到最大。
证明通过反证法证明该引理。假设当时,式(10)所示的优化目标达到最大。这种情况下,蜂窝用户cj可以减小发送功率。同时,式(10)所示的优化目标随的减小而增大,这与优化目标已经达到最大相矛盾。因此,假设不成立,引理1 成立。证毕。
本节将用户分簇和链路调度的联合问题建模为联盟形成博弈。博弈模型用一个三元组(Nm,V,S)表示,其中,Nm是博弈参与者集合;S是联盟结构,即簇集合;是联盟(簇)Sk的联盟值。每一次联盟形成时,每个联盟都复用提供最小联盟值的蜂窝上行链路。下文不再区分簇和联盟。
以内容请求者mi和联盟Sk为例,说明联盟形成过程。新联盟能否顺利形成取决于两方的意愿。一方面,只有当内容请求者mi加入联盟Sk的效用值不大于独立内容下载时的效用值,内容请求者mi才会愿意加入联盟Sk。将新联盟表示为Sk′=Sk∪{mi}。这个条件可以表示为
另一方面,只有当联盟Sk内原本内容请求者的效用值不受损伤,联盟Sk才会接受内容请求者mi。这个条件可以表示为
基于以上分析,本文提出一个联合联盟形成、链路调度和功率分配的优化算法。所提算法的整体框架如图2 所示,具体步骤如算法1 所示,算法1中用到的函数分别如算法2~算法4 所示。在算法2中,一次联盟形成(函数Coa_For())旨在从那些下标大于s且未进入联盟的内容请求者中搜索能够进入联盟的内容请求者。这种搜索方式可以减少重复搜索的次数。如果一个联盟不能成功复用一条蜂窝上行链路,或不能满足式(13)和式(14),则该联盟不能形成。对可用的蜂窝用户而言,如果蜂窝用户最优的发送功率不满足约束条件C7,那么该条链路不能被该联盟复用。
图2 联合优化算法的整体框架
算法4 中的步骤7)旨在优化蜂窝用户的发送功率,步骤12)旨在优化复用的蜂窝上行链路,即联盟St复用能提供最小联盟值的蜂窝上行链路,得到联盟对应形成的簇。从以上分析可以看出,算法1联合优化了用户分簇、链路调度和功率分配。算法1 中,函数Coa_For()返回的Pq和ϒq分别代表当内容请求者q开始联盟形成过程时对应的联盟结构和总代价。
算法1联合优化算法—主程序
算法2联合优化算法—联盟形成函数
算法3联合优化算法—一次联盟形成函数
算法4联合优化算法—效用计算函数
需要指出的是,所提算法复杂度较低,其由基站线下运行,多次迭代不会对内容请求者的时延性能产生较大的影响。此外,所提机制需要用户发送导频信息进行信道状态信息估计,并需要基站对整个内容下载过程进行调度。所提机制的整个调度过程如图3 所示。多次迭代和基站调度为所提机制额外的系统开销。幸运的是,网络中的用户都处在基站的控制之下,即用户需要时刻与基站保持联系以实现位置管理等功能。这样一来,基站只需要在其原先向用户广播的信息中增加少量的调度信息,就可以实现对整个内容下载过程的调度。
本节给出数值仿真结果来说明所提机制的性能。内容请求者均匀分布在一个200 m ×200 m 的单蜂窝小区中,基站处在小区的中央。每条传输链路的带宽B=180 kHz,加性高斯白噪声的功率谱密度N0=−174 dBm/Hz。考虑瑞利衰落信道,蜂窝链路的大尺度衰落因子设为3,D2D 链路的大尺度衰落因子设为2。内容请求者和蜂窝用户的最大发送功率设为23 dBm(约0.199 5 W),基站的发送功率设为46 dBm(约39.810 7 W)。以上参数设置均为D2D通信场景中常用的参数值。权重因子α和β分别设为0.5。除非特别说明,内容请求者的数目Nm=10。为了保证每个簇都能选到一个满意的蜂窝链路,蜂窝链路的数目不小于簇的数目。为此,蜂窝用户的数目Nc=10。
首先,给出特定场景下的仿真结果,内容请求者和蜂窝用户的位置如图4 所示。在此位置分布下,用户分簇、链路调度和功率分配的结果如下。簇集合S={{m1,m5},{m2},{m3,m4,m9,m10},{m6},{m7,m8}};簇{m1,m5}复用蜂窝用户c7的上行链路,簇{m3,m4,m9,m10}复用蜂窝用户c8的上行链路,簇{m7,m8}复用蜂窝用户c1的上行链路;簇内内容请求者采用最大发送功率进行内容共享。蜂窝用户c1与簇{m7,m8}共享上行链路时的发送功率均为0.011 4 W;蜂窝用户c7与簇{m1,m5}共享上行链路时的发送功率分别为0.118 8 W 和0.014 7 W;蜂窝用户c8与簇{m3,m4,m9,m10}共享上行链路时的发送功率为0.018 0 W、0.026 3 W、0.006 9 W 和0.015 9 W。可以看出,蜂窝用户的发送功率均满足功率约束。
从上述结果中可以看出,内容请求者m2和m6未与其他任何内容请求者形成簇。这是因为形成的簇需要满足约束条件,并能找到复用的蜂窝上行链路。内容请求者m2距基站较近、信道质量较好,其独立下载内容的代价比与任何内容请求者合作的代价都要小,即约束条件不满足。内容请求者m6距其他内容请求者距离较远、信道质量较差,其与任何内容请求者的合作都会影响它们的下载性能,即约束条件不满足。
图3 所提机制的整个调度过程
图4 内容请求者和蜂窝用户的位置
从簇和蜂窝链路之间的复用关系中可以看出,簇总是复用距其簇内成员较远且距基站较近的蜂窝用户的上行链路。这是因为这种情况下的蜂窝用户发送功率较小,给簇内内容请求者带来的干扰较小。
图5 和图6 分别给出了所提机制和传统机制下单个内容请求者代价和总代价的比较。传统机制下,所有内容请求者独立从基站下载内容,内容请求者的代价如式(2)所示。可以看出,无论是比较单个内容请求者的代价还是总代价,所提机制都优于传统机制(总代价降低了约37.15%)。从图5 可以看出,参与合作内容请求者的代价比传统机制下的代价小。综合图4 可以发现,这些参与合作的内容请求者距离基站较远,与基站之间的信道质量较差,这说明内容请求者之间的相互合作可以有效改善边缘内容请求者的内容下载质量。未参与合作的内容请求者m2和m6的代价与传统机制下的代价相同。
图5 单个内容请求者代价比较
图7 给出了不同μ1和μ2下,总代价随内容请求者数目的变化关系。可以看出,总代价随内容请求者数目的增加而增大,这与直观感受一致。同时,在值较大情况下的总代价小于值较小情况下的总代价。这是因为当值较大时,内容请求者向蜂窝用户支付的价格比较小,形成联盟的代价比较小。
图6 总代价的比较
图7 不同价格对所提机制性能的影响
图8 给出了不同成形因子λ下,总代价随内容请求者数目的变化关系。可以看出,λ值较小下的总代价小于λ值较大下的总代价。这是因为合作下载内容最大的劣势在于下载时延可能会增加。当λ值较小时,时延的权重因子较小,内容请求者之间相互合作可以带来较大的收益。根据式(13)和式(14)的联盟形成规则,联盟的形成对单个内容请求者和整体的性能都有利。
图9 和图10 给出了不同机制下的性能比较。所提机制采用一种简单易行的贪婪算法进行链路调度,将不考虑链路调度的方法纳入比较,用“分簇+功率”表示。同时,文献[15]研究了链路调度和功率分配联合问题,将此机制纳入比较,用“链路+功率”表示。该机制只是利用了文献[15]中算法的思路,而不是文献[15]中具体的算法。这是因为应用场景不同,算法的具体细节有所差异,文献[15]中的算法不能直接拿来比较。
图8 不同成型因子对所提机制性能的影响
图9 比较了当蜂窝用户数目为10,内容请求者的数目从2 增加到12 时不同机制的性能。可以看出,在降低内容请求者总代价上,所提机制优于另外2 种机制。同时,总代价随内容请求者数目的增加而增大。这是因为当内容请求者的数目增加时,簇内内容请求者的数目也随之增加,簇内内容共享的时延变大。时延的增加比价格的降低更具有主导性,导致总代价的增加。“链路+功率”的性能最差,尤其是当内容请求者数目较大时,这说明用户分簇在降低内容请求者总代价上具有主导作用。
图9 不同内容请求者数目下不同机制性能的比较
图10 比较了当内容请求者的数目为10,蜂窝用户的数目从10 增加到15 时不同机制的性能。可以看出,所提机制仍然优于另外2 种机制。同时,所提机制下的总代价随蜂窝用户数目的增加变化很小,证明了所提机制的稳健性。“链路+功率”下的总代价则随蜂窝用户数目的增加而减小,说明这种机制不具有稳健性。
图10 不同蜂窝用户数目下不同机制性能的比较
为改善用户内容下载性能,本文提出了一种基于D2D 多播通信的合作内容下载机制。该机制的核心思想是将内容请求者分成不相交的簇,簇内内容请求者相互合作完成内容下载。为充分发挥所提合作内容下载机制的优势,本文从用户分簇机制、用户激励机制和联合资源管理机制的设计3 个方面展开了研究。数值结果表明,所提机制在降低内容请求者总代价上优于其他机制。值得一提的是,所提机制不仅可以应用在蜂窝网络中,还将在车联网和无人机自组网中发挥重要作用。