一种基于D2D通信的内容请求响应方法与流程

文档序号:12069074阅读:222来源:国知局
本公开涉及网络通信
技术领域
:,具体是一种基于D2D通信的内容请求响应方法。
背景技术
::随着智能手机和平板电脑等移动智能设备的迅速普及以及新兴的社会媒体应用程序的迅速增长,思科公布的数据显示,移动数据流量从2014年至2019年将预计以57%的速率进行增长,2019年将会有超过115亿的移动智能设备。人们对数据内容的需求日趋增长,现有的以主机为中心的传统IP网络结构已难以满足当前Internet的发展需求。由于传统的蜂窝网络基础设施仍是针对移动内容访问和投递的基础通信平台,因此,如何支持移动内容通信量的爆炸性的增长成为未来基于5G移动蜂窝系统设计的一个关键研究问题。为了适应不断增长的内容访问需求,人们提出一种未来互联网设计思路,让内容本身成为网络通信的主体单元,将网络通信模式从关注“在哪”转变为关注“是什么”。即不再关注内容存储位置,而仅关心内容本身的方式,成为未来互联网设计的重要模式。其基本原理是:让网络基础设施变成内容感知的。在这种情况下,网络能够智能地执行基于内容的操作,如:内容解析/查询、交付和缓存等。随着移动内容对象被缓存在移动网络中,内容请求的投递延迟被大大减少。在现有通信基础设施下,基站(Basestation,以下简称BS)通过移动通信交换中心与其无线电覆盖区中移动智能设备之间进行信息传递。最近,设备到设备(Device-to-device,以下简称D2D)通信技术的发展,使得移动智能设备间的直接通信变成了可能,通过该方式进行内容的获取,没有通过蜂窝网(包括基站)进行投递的数据流量。同时,新兴的移动智能设备(如智能手机)通常具有较高的计算能力、较大的缓存能力、较长的电池寿命、精确的GPS定位功能和异构的无线接口(比如:WiFi和蓝牙等)。这些特性允许移动智能设备在内容分发中发挥更积极的作用,而不是简单地只会使用移动数据的设备。一个典型的应用实例是,基于D2D的流量卸载(trafficoffloading)。在该应用中,一些相对较小的移动内容对象能够被移动智能设备所携带,并且直接将内容散播给附近感兴趣的消费者,在数据层面没有涉及到蜂窝网的基础设施。在这种情况下,移动智能设备能被视为移动网络中不可分割的一部分,对其它客户端提供资源贡献。虽然通过D2D的通信方式来支持内容交付,可以有效地节省了昂贵的蜂窝网频谱资源,但是目前这种网络通信模式下还存在下述问题:(1)基于现有蜂窝网络基础设施和D2D通信技术,如何实现内容请求、内容解析、内容分配和内容投递的过程。(2)如何使得存储内容的移动智能设备、请求内容的移动智能设备和基站三方能相互合作,有效地降低移动智能设备获得所请求内容的延迟,减轻基站通讯带宽压力。(3)如何进行内容存储,充分发挥邻居资源作用实现负载分担,最大化地减轻基站通讯带宽压力。技术实现要素:针对上述部分问题,本公开提供一种基于D2D通信的内容请求响应方法,在所述方法中,基站优先选择将节点发出的内容请求转发给节点的邻居节点处理,在没有邻居节点或者在邻居节点不能及时处理的情况下,将发出内容请求的节点与服务器相连。相应地,作为发出内容请求的节点优先从邻居节点获取请求的内容,在不能从邻居节点获取请求的内容时,才通过基站从服务器获取;而作为存储了所请求内容的节点在接收基站转发的邻居节点对内容的请求后,主动与其建立连接发起D2D通信。一种基于D2D通信的内容请求响应方法,所述方法应用于基站,包括下述步骤:S101、接收来自节点对内容发出的请求;S102、通过查找内容解析表获取节点集合,所述节点集合中的节点携带所述请求对应的内容;S103、从所述节点集合中查找邻居节点,所述邻居节点距离发出请求的节点最近;若找到这样的邻居节点,执行步骤S104;否则,执行步骤S105;S104、将所述请求发送给找到的邻居节点,由该邻居节点主动与发出请求的节点发起D2D通信,实现将所述请求对应的内容进行传输;S105、将发出请求的节点与互联网相连,使发出请求的节点从服务器中获取所请求的内容;S106、接收节点是否存储所请求内容的消息;在节点确定存储所请求内容的情况下,基站更新所述内容解析表;所述内容解析表用于记录移动内容映射的标识符、内容的缓存位置。一种基于D2D通信的内容请求响应方法,所述方法应用于节点,包括下述步骤:S201、向基站发送对内容的请求;S202、接受邻居节点的主动连接进行D2D通信,获取所请求的内容;或者在没有邻居节点连接的情况下,通过基站与互联网相连,从服务器获取所请求的内容;S203、向基站发送其关于是否存储请求的内容的决定消息。一种基于D2D通信的内容请求响应方法,所述方法应用于节点,包括下述步骤:S211、接收基站转发的请求;S212、主动与发出请求的节点建立连接发起D2D通信,实现将所述请求对应的内容进行转发。与现有技术相比,本公开方法能够有效地降低移动智能设备获得所请求内容的延迟,减轻基站通讯带宽压力。为支持这种内容请求响应方法,节点在自身存储内容,以有效实现负载分担,缓解基站的通讯带宽压力。附图说明图1是本发明的网络模型场景图;图2是本发明的内容解析表(CRT)的格式说明图;图3是本发明的未处理请求表(PRT)的格式说明图;图4是本发明的潜在用户寻找示意图;图5是本发明的主要通信过程说明图。具体实施方式下面结合图1-图5对本公开方法进行阐述。本公开中的网络模型如图1所示,由基站BS、服务器和节点(如:移动智能设备)组成的网络,其中:在基站BS覆盖范围内,节点集合为N。服务器中存储的内容集合为C。内容的属性包括标号(ID)、体积和定价。具体来讲,每个内容都有其特定的ID,固定的体积和相应的定价,且定价与体积无关,定价是由产生该内容的内容源所决定的。每个节点Ni都有一个大小固定的有限缓存空间,可以存储一些内容。存储了内容的节点可以通过D2D的方式向其它节点转发存储的内容,赚取一些费用。赚取的费用,一方面可以弥补自己请求内容的花费,另一方面可以用来购买其它自己感兴趣的内容。这里涉及的费用管理机制,可以由基站统一管理,由基站对每个节点的费用进行统一管理:每个节点都有一个初始费用值,当一个节点成功地请求到一个内容时,基站BS将会根据该请求节点是通过基站还是邻居节点服务获得所请求内容的方式、以及内容的定价,将请求节点的总费用值进行更新,即请求前的费用值减去请求该内容的花费;若请求节点是通过邻居节点以D2D的方式获得请求内容时,基站BS在收到请求节点的ACK回复表明请求节点收到了内容,因此会向提供服务的节点的总费用值加上提供本次服务的盈利。基站BS的基本特点是:(1)每个基站BS都有其特定的覆盖范围,(2)能接收和处理由节点所发出的内容请求,协助节点间建立通信连接。节点的特点是:(1)发出内容请求,(2)接收感兴趣的内容,(3)存储内容,(4)受基站BS调度,向其它节点发送所请求的内容。服务器的特点是:为通过基站接入到互联网的节点提供内容请求服务,其是内容源。基站BS维护内容解析表(Contentresolutiontable,以下简称CRT),所述内容解析表记录了移动内容映射的标识符、内容的缓存位置,如图2所示。节点在存储内容时,会做存储决策,本公开提出的存储决策与内容流行度相关,因此节点在发出内容请求的同时,会发出关于自身存储内容的信息摘要(Contentinformationabstract,以下简称CIA),基站BS向节点返回所请求内容的内容流行度以及信息摘要中相应内容的内容流行度。节点接收到内容流行度后,根据存储决策,确定是否存储所请求的内容,并把这一决定反馈给基站BS,基站BS会更新内容解析表。所述内容流行度为将所有内容按照请求的数量进行排名后,根据内容的排名确定所述内容在排名位置上被请求的概率。内容流行度计算:网络的内容和它相应的被请求频率遵循类Zipf分布。通常,大约有20%的内容可以占到80%的访问量,我们尽可能地希望这20%的内容在设备中进行存储,通过D2D的方式进行扩散/分发,减少客户通过基站BS从服务器中进行下载的次数。同时,对于节点而言,更希望能存储访问量大的内容,获得更多的盈利。假定用户对内容的请求是相互独立的,且该请求遵循类Zipf分布。基站BS可以知道其覆盖范围内所有用户发出的内容请求。在一段时长内,基站BS收到了一些内容请求,M代表所有被请求的内容所构成的集合,将这些内容按照被请求的数量进行排序,用流行度PM(i)表示针对排名为i的内容的请求概率:目α为类Zipf分布的偏斜值。在一个实施例中,当基站BS在收到节点Ni所发出的请求内容Cj的消息后,先在内容解析表(CRT)中找出携带内容Cj的节点的集合N′,再根据GPS定位技术,获取到节点Ni和集合N′中的节点的位置信息,最后,查找节点Ni的通信范围内是否有携带内容Cj的节点。按照查询结果(即请求者Ni的邻居中是否缓存了内容Cj)将具体的通信过程分为以下两类:第一类,当没有满足条件的邻居节点时,由基站BS将节点Ni与互联网相连接,从服务器中获取所请求的内容Cj。节点Ni在收到所请求的内容Cj后,向基站BS发送一个ACK回复,表示已经收到了内容Cj。第二类,当有满足条件的邻居节点时,基站BS在这些节点中找出距离节点Ni最近的邻居节点Nk。基站BS将节点Ni针对内容Cj的请求发送给节点Nk,Nk主动与节点Ni建立连接,将Ni的地址作为内容Cj的目的地,发起D2D通信,实现内容Cj的转发。节点Ni在收到所请求的内容Cj后,向基站BS发送一个表示已经收到内容Cj的ACK回复。优选地,基站BS建立一张未处理请求表(Pendingrequesttable,以下简称PRT),用于存储基站BS将内容请求直接分配给请求者附近携带所请求内容的节点的记录。所述未处理请求表的结构如图3所示,每条记录中的项包括:发出请求的节点ID、所请求的内容ID、请求分配给特定节点的ID、分配开始时间、最迟收到ACK时间。其中,最迟收到ACK时间可以根据分配开始时间与设定的时间阈值δ求得,用于判断发出请求的节点是否在规定时间内收到所请求的内容。这里的未处理请求表,也可以不用最迟收到ACK时间这一项,而直接使用设置的时间阈值δ来倒计时。针对上述找到的邻居节点Nk,基站BS在所述未处理请求表中增加一条关于节点Ni请求内容Cj且被交付给节点Nk进行处理的记录,该记录在基站BS收到请求者发出的ACK后可以删除,或者进行已处理标记。在第二类情况中,存在邻居节点Nk不能及时响应的情况,为了保证用户请求响应,基站BS设定了一个特定的时间阈值δ,从基站BS在未处理的内容请求表(PRT)中产生记录开始,在δ时间内,如果基站BS没有收到节点Ni发出的ACK回复,基站BS会将这个未处理的请求发送给原始的内容源进行解决,而不是继续依赖基于机会的D2D方式进行内容分发。由本实施例可以看出:对于基站BS中的基础设施来说,通过把内容存储在移动智能设备中的方式,让设备间通过D2D的方式进行内容的分发,可以减少基站BS直接对请求者所请求内容的响应,增大基站BS的可用带宽。即尽量在满足用户需求的情况下,减少用户直接通过基站BS从服务器中获得内容的数量,节省下来的带宽可以用在用户通话等方面,不仅可以减少蜂窝网昂贵的频谱资源,也可以降低基础设施的压力。在一个实施例中,节点依据使自身收益最大化的原则判断是否存储请求的内容。收益目标:基于上述系统模型和节点的特点,在一个特定的基站BS的覆盖范围内,我们希望该范围内的节点总收益最大。收益实现:为了实现收益目标,我们使用贪心算法。希望通过实现每个节点的收益最大来实现该基站BS覆盖范围内节点的总收益最大。假定该基站BS的覆盖范围内的节点集合为N,表示第i个节点Ni的收益,则我们希望实现:为了实现收益目标,我们希望每个最大。为了使最大,我们应该尽力保证节点Ni中所存储的内容为邻居节点提供内容服务的机会较多且所存储的内容的定价较高,即所存储的内容被周围邻居节点请求的概率和内容的定价综合较大,并且自身所请求的内容尽量通过D2D的方式从邻居节点处获得,降低获取内容所花费的成本。前者告诉我们,节点Ni所缓存的内容被邻居请求的概率和内容的定价对该节点的获利程度有着十分重要的影响。因此,选择什么样的内容进行存储,成为节点Ni能否获得较高收益的决定性因素。问题形式化:对于任一内容Cj都有定价和体积这两个属性,对于任一节点Ni都有有限的存储空间这一属性。对于节点Ni,在其工作时长T时间段内,已经存储了n1个内容,当有n2个新请求的内容到来时,构成了有n1+n2个内容的集合C′。那么节点Ni如何在这n1+n2个内容中重新选择存取的内容,从而使得自己此刻预计的收益最大。为了解决上述问题,可以将它归约为经典的0~1背包问题。节点Ni的存储空间可以看作背包的容量,每个内容的定价和体积可以分别看作物品的价值和重量。因此,节点Ni如何在这n1+n2个内容中重新选择存取的内容,从而使得自己此刻预计的收益最大问题可以看成实现:在不超过背包固定的有限容量条件下,如何在这n1+n2个物品中选出使得背包目前预计收益最大的物品集合。为了更符合实际的通讯情况,我们也考虑了将新来的内容替换进节点Ni所需的费用ω。则节点Ni的预计收益最大化可以表示为:s.t.其中,表示集合C′中第k个内容的预计收益值;xk表示节点Ni是否存储第k个内容,若xk=1,则表示存储第k个内容;若xk=0,则表示不存储第k个内容;表示集合C′中第k个内容的大小,LNi表示节点Ni的缓存空间大小。然而,0~1背包问题是典型的NP-hard问题,为了求解该问题且能快速地做出决策,我们使用了一种启发式算法进行求解。过程如下:1)针对这n1+n2个内容,按照它们在节点Ni中被请求的概率和其定价,分别计算出每个内容k的预计收益值2)按照的大小对这些内容进行降序排序。3)最后,按照这个顺序,节点Ni逐个将内容存储在缓存中,直到发生以下2种情况才能终止:a)节点Ni的缓存中不能再容纳下一个内容;b)该n1+n2个内容全部存储完毕。内容预计收益值的计算:预计收益值计算:在上述算法中,节点Ni如何计算出集合C′中每个内容k的预计收益值成为求解的关键。我们假定集合C′中第k个内容的定价为第k个内容在节点Ni中被请求的概率为由基站BS规定的通过D2D方式获得某一内容时只需要支付内容定价的τ%,则此时节点Ni存储第k个内容的预计收益值为:请求概率计算:节点Ni中存储的第k个内容C′k的请求概率是指节点Ni存储了内容C′k后,节点Ni的邻居节点在最近的一段时间内请求内容C′k,且被基站BS分配给节点Ni进行处理的概率。首先,节点Ni应该找到内容C′k的潜在用户的集合H,即会向Ni请求内容C′k的节点集合。节点Ni的邻居将来会不会向Ni请求内容C′k,不仅要看该邻居自身是否存有内容C′k,还应看该邻居的邻居中是否含有内容C′k。如图4所示,假若节点Ni存储了其邻居Nk发来的内容C′k,同时Np的邻居Na中也存储了内容C′k。当节点Np向基站BS发送针对内容C′k的请求后,基站BS根据内容解析表(CRT)中存储的信息摘要,找出节点Na和Ni,从图中可以看到节点Np与节点Ni之间的距离DNpi与节点Np和节点Na之间的距离DNpa满足DNpi<DNpa,根据基站BS的请求响应策略得知,基站BS会安排节点Ni向节点Np提供转发内容C′k的服务。因为默认距离近的邻居节点能提供更可靠的服务。因此,在节点Ni的邻居中找出所有满足以下条件的节点作为集合H中的元素:①没有存储内容C′k,且其邻居中也没有存储内容C′k的邻居节点;②没有存储内容C′k,邻居中有携带内容C′k的节点,但对该节点来说,其余存储内容C′k的节点到它的距离均没有节点Ni到它的距离近。再根据内容C′k的流行度计算出节点Ni的邻居中会向Ni请求内容Cj的概率:存储决策:当节点Ni请求到其感兴趣的内容Cj时,根据所提出的启发式算法,我们按照节点Ni的剩余存储空间大小将存储决策分为下面两种情况:(1)若节点Ni的剩余缓存空间RLNi不小于新请求到的内容Cj的大小SCj,即满足RLNi≥SCj,在缓存空间允许的情况下,将所有的内容都存放进取,此时就能获得最大的预计收益值。因此,节点Ni直接对内容Cj进行存储。此时,节点Ni在给基站BS回复ACK的同时需要告知基站BS这一情况,由基站BS将这一信息存储在内容解析表(CRT)中。(2)若节点Ni的剩余缓存空间RLNi小于新请求到的内容Cj的大小SCj,即满足RLNi<SCj,此时节点Ni的剩余缓存已满或不足以缓存内容Cj,节点Ni收到内容Cj后,需要进行权衡,决定是否存储内容Cj。此时,就需要将节点Ni中已存储的内容的预计收益值与新收到的内容Cj的预计收益值进行比较,选择出此刻能使节点Ni获得的预计收益值最大的内容集合。假定此时在节点Ni中缓存了n1个内容的集合为CNi。按照本公开所提出的计算预计收益值的方法计算出集合CNi中每个内容的预计收益值以及内容Cj的预计收益值。对CNi中每个内容按照所求出的预计收益值(k=1,2,…,n1)进行排序。φNi表示集合CNi中对应位置的内容的预计收益值。然后,对节点Ni中的内容按照各自计算出的预计收益值进行排序。使用X表示节点Ni中所存储的内容的预计收益值的最小值集合,该集合中最初只有节点Ni中所存储的内容的预计收益值的最小值一个值,使用sum(X)表示最小值集合中元素值的和,用表示最小值集合中各元素所对应的内容大小的和,用表示内容Cj的大小。执行下述判断:(1)若则不存储内容Cj;(2)若并且则直接用内容Cj替换节点Ni的缓存中集合X所对应的内容;(3)若并且(3.1)若还存在不属于集合X的预计收益值,则从不属于集合X的预计收益值中选取一个最小值加入到集合X中,再返回上述(1)判断;(3.2)若不存在不属于集合X的预计收益值,则不存储内容Cj。当节点Ni决定存储内容Cj的时候,需要向基站BS回复ACK的同时告知基站BS这一情况,由基站BS将这一信息存储在内容解析表(CRT)中。从上述收益最大化决策过程看出:一方面,节点在做存储决策时,综合考虑了内容流行度、内容定价、内容大小以及自身剩余缓存,通过在节点存储内容以实现基站的负载分担,缓解基站的通讯带宽压力。另一方面,节点在获取内容时,虽然一个节点请求的内容可以通过基站接入互联网从服务器中获得,也可以从携带其请求内容的邻居节点获得,但是从基站获得请求的内容相对从邻居节点获得请求的内容需要支付的费用较大,因为从邻居节点获得请求的内容支付会打一定的折扣。因此,节点都愿意通过支付较少费用的方式来获得所请求的内容。即节点Ni更希望通过其邻居节点Nk处获得所需的内容Cj而不是通过基站接入互联网从服务器中获得所请求的内容,且从邻居Nk处获得内容的速度比通过基站接入从服务器获得的速度快。这种存储决策方式为通过设备到设备(D2D)的方式提供内容分发和共享提供了动机,确保了存储内容的节点、请求内容的节点和节点所在的基站三方的利益,促进了网络的良性循环。在一个实施例中,具有所请求内容的节点会接收到基站BS转发的邻居节点的请求,主动与发出请求的节点建立连接发起D2D通信,实现将所述请求对应的内容进行传输,赚取费用。针对基站、节点之间对内容的请求响应过程如图5所示,该过程包括下述步骤:步骤1、当节点Ni想要获取所感兴趣的内容Cj时,先向其所在的基站发出对内容Cj的请求,同时告知该BS自身所存储的内容信息摘要(CIA);其中,节点Ni为网络模型节点集合中任一节点,内容Cj为服务器上内容集合中的任一内容。步骤2、基站BS在收到节点Ni所发出的请求内容Cj的消息和Ni的内容信息摘要(CIA)表后,先在内容解析表(CRT)中查找出所有携带内容Cj的节点的集合N′,再根据GPS定位技术,获取到节点Ni和集合N′中的节点的位置信息,最后,查找节点Ni的通信范围内是否有携带内容Cj的节点。步骤3、当没有满足条件的邻居节点时,由基站BS将节点Ni与互联网相连接,从服务器中获取所请求的内容Cj,基站BS在给节点Ni返回内容Cj的同时,告知内容Cj和Ni所发出的内容信息摘要(CIA)表中每个内容所对应的流行度。步骤4、当有满足条件的邻居节点时,基站BS在这些节点中,找出距离节点Ni最近的邻居节点Nk,再在未处理请求表(PRT)中产生一条关于节点Ni请求内容Cj且被交付给节点Nk进行处理的记录。同时,基站BS将节点Ni针对内容Cj的请求发送给节点Nk,交由节点Nk处理,并给节点Ni发送消息告知内容Cj和Ni所发出的内容信息摘要(CIA)表中每个内容所对应的流行度。节点Nk主动与节点Ni建立连接,将Ni的地址作为内容Cj的目的地址,发起D2D通信,实现内容Cj的传输。步骤5、节点Ni收到所请求的内容Cj以及由基站BS返回的内容Cj和内容信息摘要(CIA)表中的内容的流行度后,根据自身剩余缓存信息、内容Cj的内容流行度、已存储内容的内容流行度、内容大小、内容定价以及内容请求概率,判断是否存储内容Cj。步骤6、节点Ni在收到所请求的内容Cj后,向基站BS发送一个ACK回复,表示已经收到了内容Cj。若节点Ni决定存储内容Cj,在给基站BS回复ACK的同时或者单独向基站发送消息,告知基站BS这一决定。步骤7、基站BS在收到节点Ni所发出的ACK回复后,进行检查,若节点Ni愿意存储内容Cj,更新内容解析表(CRT)。进一步地,可以包括步骤8、若属于D步骤中通过D2D的方式进行内容Cj的传输时,BS在收到节点Ni所发出的ACK回复后,将未处理的内容请求表(PRT)中关于节点Ni的这条记录删除,但这不是一个必须步骤。此外,从基站BS在未处理的内容请求表(PRT)中产生记录开始,在设定的δ时间内,如果基站BS没有收到节点Ni发出的ACK回复,基站BS会将这个未处理的请求发送给原始的内容源进行解决,而不是继续依赖基于机会的D2D方式进行内容分发,以保证用户请求响应不延迟。步骤9、至此完成了针对节点Ni请求内容Cj的整个通信过程。以上所述,仅为本公开的较佳实施例,并不用以限制本公开,凡是依据本公开的技术实质对以上实施例所做的任何细微修改,等同替换和改进,均应包含在本公开技术方案的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1