贪婪的用户设备数据传输网络选择的制作方法

文档序号:26103741发布日期:2021-07-30 18:15阅读:52来源:国知局
贪婪的用户设备数据传输网络选择的制作方法

相关申请的交叉引用

本申请要求于2018年10月12日提交的美国临时申请no.62/745,063的优先权,该临时申请将出于所有目的通过引用合并于此。



背景技术:

为了提供最佳的区域覆盖范围,许多无线数据网络由多个数据传输节点(datatransportnode,dtn)组成,每个数据传输节点(dtn)覆盖一个地理区域或通常彼此相邻且重叠的子区域。因此,在任何特定时间,用户设备终端(ue)可以有机会连接到许多dtn。通常,所述ue一次只可以连接到任何特定无线接入技术(radioaccesstechnology,rat)的可用dtn中的一个。

根据用户的随机分布和对数据服务的不同需求,不同dtn具有不同的总的网络吞吐速度。相邻或重叠的网络可能具有截然不同的传输能力,例如吞吐量、延迟、其他并行连接的数量,且这些传输能力会随时间不断变化。

通常,用户希望有最佳体验。但是,同一区域中的两个用户,即使是使用相同的应用程序(例如,流视频应用程序)访问同一dtn提供商(例如相同的网络提供商),当所述两个用户分别连接到相邻的dtn时,也可能会体验到截然不同的性能,从而导致与连接到性能较优的dtn的用户相比,连接到性能较差的dtn的用户的体验较差。



技术实现要素:

本公开实施例的目的是:通过基于对哪个dtn将提供最佳或者至少足够性能的估计来选择使用多个可用dtn中的哪个,以提供更好的用户体验。所述目的可以是为涉及性能敏感的数据会话的用例,例如高清视频流、高性能游戏等,提供更好的用户体验。

根据本公开的多个实施例,一种由无线装置执行的方法包括:判定数据会话是否是性能敏感的,然后响应于所述数据会话是性能敏感的,选择数据传输节点(dtn)且使用所选的dtn执行所述数据会话。

根据本公开的多个实施例,一种装置包含处理器和存储有计算机编程指令的非暂时性计算机可读介质。所述计算机编程指令在由所述处理器执行时,引发所述装置执行判定数据会话是否是性能敏感的,并且响应于所述数据会话是性能敏感的,选择数据传输节点(dtn)并使用所选的dtn执行所述数据会话。

在一个实施例中,判定所述数据会话是否是性能敏感的包括:识别与所述数据会话有关的过程;使用已知过程的存储库判定上述过程是否可能产生性能敏感的数据会话;响应于判定上述过程可能产生性能敏感的数据会话,判定所述数据会话是性能敏感的。

在一个实施例中,判定所述数据会话是否是性能敏感的包括:监测由所述数据会话通信的数据量,响应于在预定时间内所述由所述数据会话通信的数据量大于预定第一阈值,或者响应于由所述数据会话通信的数据量达到预定量的时间小于第二阈值,判定所述数据会话是性能敏感的。

在一个实施例中,选择所述dtn包括:根据所述数据会话的性能需求选择所述dtn。

在一个实施例中,选择所述dtn包括从所述可用dtn的列表中选择所述dtn。

附图说明

图1示出了根据一个实施例的通信网络。

图2示出了根据一个实施例的用户设备(ue)的组成。

图3是示出根据一个实施例的选择和使用数据传输节点(dtn)的过程的流程图。

图4是示出根据一个实施例的判定数据会话是否是性能敏感的过程的流程图。

图5是示出根据一个实施例的选择和使用dtn来优化上行链路(uplink,ul)或下行链路(downlink,dl)性能的过程的流程图。

图6是示出根据一个实施例的数据会话优化过程的状态机图。

图7是示出根据一个实施例的生成可用dtn的列表的过程的流程图。

图8是示出根据一个实施例的从列表中选择dtn的过程的流程图。

图9是示出根据另一个实施例的从列表中选择dtn的过程的流程图。

图10是示出根据另一个实施例的从列表中选择dtn的过程的流程图。

图11是示出根据另一个实施例的从列表中选择dtn的过程的流程图。

图12是示出根据另一个实施例的从列表中选择dtn的过程的流程图。

具体实施方式

本公开涉及联网,尤其涉及无线联网。本公开的实施例涉及:可以连接到多个dtn的装置如何确定要连接到那些dtn中的哪一个。

根据各种实施例,用户装置,例如无线网络中的一个用户设备(ue),基于预测或估计所述多个dtn中的每一个dtn将如何满足所述用户装置正在执行或将要执行的数据会话的网络性能需求,选择连接多个dtn中的哪一个。

图1示出了根据一个实施例的通信网络100。网络100包括:广域网(wide-areanetwork,wan)102(例如,因特网),多个小区基站(cellularbasestation)104a和104b,wifi接入点(accesspoint,ap)108,以及连接到wan102的多个服务器114a和114b。然而,实施例不限于此。通信网络100运行,以允许多个用户设备(ue)120a、120b和120c与服务器114a和114b之间通信。每一个小区基站104a和104b中以及wifiap108可以作为一个或多个数据传输节点(dtn)运行。

第一基站104a提供多个小区(cells),用于与小区内的ue进行无线数据通信。在实施例中,所述小区被划分成扇区,每个扇区覆盖第一基站104a周围的一部分区域。第一基站104a(如图1所示)将其小区划分为三个扇区,每个扇区大约覆盖120度,其中只有一个扇区被显示。

图1中所示的第一基站104a的扇区包括三个小区:以800mhz运行的第一小区106a-08,以1800mhz运行的第二小区106a-18和以2100mhz运行的第三小区106a-21。扇区内的ue可以连接到该扇区内的任何一个小区;通常ue在任何一次连接中只能连接到这些小区中的一个小区。小区106a-08、106a-18和106a-21中的每个均构成dtn。

第二基站104b与第一基站104a相似,并且第二基站104b的扇区已在图1中示出,所述扇区提供了以800mhz工作的第四小区106b-08,以1800mhz工作的第五小区106b-18和以2100mhz工作的第六小区106b-21,以上三个小区各自构成dtn。

wifiap108提供了一个无线局域网(wlan)110,并且运行以允许wlan110(具有wifi能力)内的多个ue进行无线数据通信。虽然对于wifiap108只示出了一个wlan110,但具体实施例不限于此,且wifiap可提供多个可能处于不同频率(如在2.4ghz和5ghz)的wlan,其中每个wlan构成dtn。

第一ue120a在第一基站104a和第二基站104b的小区的覆盖范围内,且也在wifiap108的wlan110的覆盖范围内。因此,如果第一ue120a具有800mhz的小区能力,则第一ue120a可以使用第一和第四小区106a-08和108b-08进行无线通信;如果第一ue120a具有1800mhz的小区能力,则第一ue120a可以使用第二和第五小区106a-18和108b-18进行无线通信;如果第一ue120a具有2100mhz的小区能力,则第一ue120a可以使用第三和第六小区106a-21和108b-21进行无线通信;如果第一ue120a具有wifi能力,则第一ue120a可以使用wlan110进行无线通信。因此,在图1所示的示例中,第一ue120a可以拥有最多八个的可用dtn。一般来说,ue120a在任何时间只可以使用一个小区和(可选地)一个wifiap来通信。

第二ue120b仅在第一、第二和第三小区106a-08、106a-18和106a-21的覆盖内,并且因此,其可以仅使用这些小区通信,这取决于第二ue120b是否分别具有800mhz、1800mhz和2100mhz的小区能力,因此第二ue120b最多可以具有三个可用的dtn。第三ue120c仅在第四网络106b-08、第五网络106b-18和第六网络106b-21的覆盖范围之内,并因此可仅使用这些小区进行通信,这取决于第三ue120c是否分别具有800mhz、1800mhz或2100mhz的小区能力,因此,第三ue120c最多可具有三个可用的dtn。

第一、第二、和第三ue120a、120b、和120c可以各自包括手机、计算机、笔记本电脑、平板电脑、手持设备、手持机设备、智能电视、智能手表或其组合。在某些实施例中,ue终端是能够无线连接数据传输网络的设备。

第一ue120a获得的通信性能可以取决于第一ue120a使用哪个dtn来执行通信。例如,如果第二ue120b和第一基站104a的扇区中的其他ue使第一基站104a和wan102之间的连接饱和,第一ue120a可以能够通过使用第二基站104b的dtn而非第一基站104a的dtn来通信,获得更好的性能。在另一示例中,如果第二ue120b和第一基站104a的扇区中的其他ue在第一基站104a的第一小区106a-08中引起拥塞,则第一ue120a可以能够通过使用第一基站104a中的第二小区106a-18或第三小区106a-21而非使用第一基站104a中的第一小区106a-08通信来获得更好的性能。

上述情况同样适用于wifiap108。例如,如果wifiap108是一个酒店中的一个wifi接入点,则wlan110能否提供比第一基站104a和第二基站108b更好的性能可取决于酒店其他房客产生了多少wifi流量。

如上所述,由基站104a和104b提供的每个小区和由wifiap108提供的每个wlan可以被视为一个数据传输节点(dtn)。在实施例中,诸如第一ue120a、第二ue120b或第三ue120c之类的ue可以进行操作,以为ue所进行的一个通信操作(例如,数据会话)选择出可能具有最佳性能的可用dtn,从而为ue的用户提供更好的体验。

图2示出了根据实施例的一个用户设备(ue)200的组件。ue200可以被包括在图1的ue120a、120b和120c中的任何一个或全部中。ue200包括应用处理器202、基带处理器204、非易失性(non-volatile,nv)存储器206、动态随机访问存储器(dynamicrandomaccessmemory,dram)208、输入/输出(input/output,i/o)接口210、小区rf收发器212、小区天线214、wifirf收发器216和wifi天线218,它们全部可以经由总线260彼此通信。ue200能够通过dtn(例如图1的小区基站104a和104b以及wifiap108)无线连接到一个或多个数据传输网络。

应用处理器202执行诸如电子邮件客户端、网络浏览器和视频应用之类的应用。应用处理器202还可以执行对ue200的管理活动。应用处理器202可以利用nv存储器206和dram208,它们之一或两者可以包括存储有软件(例如,计算机编程指令)和数据的非暂时性计算机可读介质。

基带处理器204执行基带信号处理,并且还可以在应用处理器202与rf收发器212和216之间通信信息。基带处理器210可以将软件和数据存储在nv存储器206和dram208中。在一个实施例中,对于小区通信和wifi通信中的每一个,可能存在单独的基带处理器。

小区rf收发器212包括小区rf发送器和小区rf接收器。小区rf收发器212被配置为通过小区天线214将从基带处理器204接收的第一信息发送到小区dtn,并且将从小区dtn通过小区天线214接收的第二信息提供给基带处理器204。

wifirf收发器216包括wifirf发送器和wifirf接收器。将wifirf收发器216配置为通过wifi天线218将从基带处理器204接收的第三信息发送到wifidtn,并将通过wifi天线218从wifidtn接收的第四信息提供给基带处理器204。

i/o接口210的输入接口从用户接收信息,/o接口210的输出接口向用户输出信息。输入接口可以包括键盘、小键盘、鼠标、触摸屏、麦克风等中的一个或多个。输出接口可以包括显示装置、触摸屏、扬声器等中的一个或多个。i/o接口210可以也包括外部装置的接口。

如本文所述,ue200的许多功能可以以硬件或软件来实现。哪些功能在软件中实现,哪些功能在硬件中实现会根据对设计施加的约束而有所不同。约束条件可以包括设计成本、制造成本、上市时间、功耗、可用的半导体技术等中的一项或多项。

如本文所述,各种各样的电子装置、电路、固件、软件及其组合可用于实现ue200的组件的功能。此外,ue200可包括为简洁起见而省略的其他组件,例如存储接口、时钟发生器电路、电源电路等。

ue200可以寻求访问特定的主机(例如,诸如youtube.com之类的视频流主机),并且可以有多于一个的可用的dtn,ue200可以通过所述可用的dtn连接到主机。当ue200(通过使用应用程序或通过网络浏览器)访问主机时,创建了数据会话。实施例涉及判定所述数据会话是否对应于性能敏感的数据会话(例如包括大象流的数据会话,如下文所述),并且涉及通过从ue200当前可用的多个dtn中选择可为数据会话提供更高的性能的dtn,从而为性能敏感的数据会话提供更好的性能。

图3示出了根据一个实施例的选择和使用数据传输节点的过程300。过程300可以由诸如图1的ue120a之类的ue执行。

在s302,过程300判定要执行的数据会话是否是性能敏感的数据会话,也就是,判定所述数据会话的下行链路和/或上行链路的性能不足是否会导致不良的用户体验。性能敏感的数据会话可包括例如:视频流数据会话(尤其是高分辨率视频流),其中较差的下行链路性能可能会导致出现视频中的伪像或视频卡顿;游戏数据会话,其中较差的上行链路或下行链路性能可能会使所述游戏玩家相比于其他玩家处于劣势。

过程300可通过查询数据库或通过监视数据会话或者这两者,来判定数据会话是否是性能敏感的。过程300可以使用例如图4所描述的过程402,来做出此判定。

在s304,当数据会话是性能敏感的时,过程300进行到s306;否则,过程300进行到s308。

在s306,过程300选择一个可能为数据会话提供最佳性能的数据传输节点(dtn),然后使用所选的dtn执行数据会话。过程300可使用例如图5所示的过程506来选择dtn。当所述数据会话终止时,过程300结束。

在s308,过程300使用ue在过程300开始时所连接到的dtn来执行数据会话。如果ue在过程300开始时未连接到dtn,则过程300可以通过使用本文所述的任何一个选择dtn的过程,或使用本领域已知的过程,来选择一个dtn。

在图3所示的实施例中,在s308,当数据会话终止时,过程300结束,但是实施例不限于此。在一实施例中,在s308,在过程300已经执行了预定时间的数据会话之后,过程300进行到s302并重新判定数据会话是否是性能敏感的。

图4示出了根据实施例的判定数据会话是否是性能敏感的数据会话的过程402。过程402可以被用于图3的过程300的s302中。

在s404,过程402识别出与数据会话相关联的一个过程。识别与数据会话相关联的过程可以包括确定与正在执行数据会话的应用程序相关联的唯一标识符。例如,用于视频流的应用程序可以具有第一唯一标识符,用于执行ip电话(voiceoverip,voip)的应用程序可以具有第二唯一标识符,视频聊天应用程序可以具有第三唯一标识符,依此类推。例如,可以通过识别执行数据会话的过程,识别过程所属的应用程序以及从操作系统获得与所述应用程序相关联的唯一标识符,来确定唯一标识符。

在s406,过程402使用唯一标识符检查已知过程的存储库,来判定过程是否可能产生性能敏感的数据会话。可以使用分析技术(例如机器学习)来创建已知过程的存储库,以测量应用程序比遍历网络的其他数据会话具有相对更高的数据需求和/或相对更长的持续时间的可能性。例如,视频流应用程序可能比典型过程具有更高的数据需求。另一方面,例如,sms、ip电话和物联网应用程序比典型过程具有更高数据需求的可能性较小。

如果唯一标识符在已知过程的存储库中与需要数据吞吐量大于第一阈值的可能性或持续时间大于第二阈值的可能性相关联,则判定所述过程可产生性能敏感的数据会话。

已知过程的存储库还可以指示出,过程是否可能在上行链路通信、下行链路通信或这两者中产生具有比一般性能需求更高的性能需求的数据会话。

具有高于常见的性能需求的数据会话可以被视作“大象流”。具有不高于常见的性能需求的数据会话,可以被视作“标准流”。

在s408,当已知过程的存储库显示过程可能产生大象流时,过程402进行到s416;否则,过程402进行到s410。

在s410,过程402将与过程相关联的数据会话初始时设定为不是性能敏感的,即,作为标准流。

在s412,过程402在执行数据会话时监测与所述过程相关联的数据会话中正在传输的数据。上行链路、下行链路或者这两者都可被监测。在一个实施例中,可监测在一个预定时间段内数据会话中通信的数据量。在另一个实施例中,可监测数据会话通信预定数据量的时间。

在一个实施例中,与一个不在已知过程的存储库中的过程相关的一个或多个数据会话被监测,由此监测所得的信息被累积,直到已经监测的所述过程的数据会话达到预定数量。一旦监测到与所述过程相关联的数据会话达到所述预定数量,就使用监测而得的信息来判定所述过程是否可能与性能敏感的数据会话相关联,并且将所述判定与所述过程关联地存储在已知过程的存储库中。

在s414,过程402判定由数据会话通信的数据量(例如在预定时间段内通信的数据量)是否超出了阈值。所述阈值可以是静态的或动态的。如果所述数据量超过预定阈值,则在s414,过程402进行到s416;否则,过程402进行到s412。

在s416,过程402将与过程相关联的数据会话指定为性能敏感的,即,大象流。在一个实施例中,过程402可根据在s406中查询的已知过程的存储库中的信息,或者根据在s412中监测到的上行链路和/或下行链路数据的数量,将数据会话指定为上行链路性能敏感、下行链路性能敏感或两者都性能敏感。然后,过程402退出。

一旦数据会话被指定为是性能敏感的(例如指定为大象流),则数据会话将保留所述设定,直到所述数据会话被明确终止或直到其由空闲超时终止为止。例如,在一个实施例中,任何空闲时间达到20秒的数据会话都被视为终止。与终止的数据会话相同的过程相关或与终止的数据会话具有相同的目的地的数据包被视为新数据会话的一部分。

图5为根据一个实施例的用于选择和使用dtn来优化上行链路(ul)或下行链路(dl)性能的过程506。过程506可以用于图3的过程300中的s306中。

在s510,过程506判定是否性能敏感的数据会话(例如大象流)被指定为ul性能敏感的和/或ul性能敏感的。当所述数据会话被指定为ul性能敏感并且不是dl性能敏感时,在s510,过程506进行到s512u。当所述数据会话已经被指定为dl性能敏感并且不是ul性能敏感时,在s510,过程506进行到s512d。当数据会话已经被指定为既dl性能敏感又ul性能敏感时,在s510,过程506进行到s512b。

在一个不具有s512b的实施例中,当数据会话已经被指定为既ul性能敏感又dl性能敏感时,过程506可以使用预定的平局决胜规则(tie-breakingrule)来决定要进行到s512u和s512u中的哪一个。

在一个实施例中,当尚未将数据会话指定为ul或dl性能敏感时,过程506可以使用预定的默认规则来决定要进行到s512u、s512d和s512b(如果存在的话)中的哪一个。

在s512u,过程506以ul最优化的方式执行数据会话,例如通过为ul数据流执行图6的过程612。随后,过程506结束。

在s512d,过程506以dl最优化的方式执行数据会话,例如通过为dl数据流执行图6的过程612。随后,过程506结束。

在s512b,过程506可执行针对结合ul性能和dl性能的聚合性能进行优化后的数据会话。例如,在一个实施例中,所述数据会话可以具有ul性能目标和dl性能目标,并且所述数据会话可以被优化以满足这两个性能目标。在另一实施例中,数据会话可以具有针对ul性能和dl性能中的每一个的权重,并且所述数据会话可针对ul性能和dl性能的总和进行优化,其中ul性能和dl性能各自通过各自的权重进行缩放(scaled)。

图6示出了根据一个实施例的用于对ul性能敏感、dl性能敏感或对这两个性能都敏感的数据会话进行数据会话优化的过程612的状态机图。可以将过程612用于图5的过程506的s512u(通过针对ul数据流进行优化),s512d(通过针对dl数据流进行优化)和s512b(通过针对ul+dl聚合数据流进行优化)中的任何一个或全部中,或者可用于针对结合了ul和dl性能的聚合性能进行优化。

在s620,过程612生成可用数据传输节点(dtn)的列表。所述列表可以包括使用不同的rat、位于不同的基站或接入点等的不同频率上的dtn。然后,过程612过渡到s622。

在s622,过程612从可用dtn的列表中选择dtn,并且如果所选的dtn不是执行过程612的装置当前连接的dtn,则过程612连接到所选的dtn以便执行数据会话。在一个实施例中,过程612可以选择具有下述最高可能性的可用dtn:根据数据会话对哪个敏感而提供最高dl性能(对于dl性能敏感的数据会话)、最高ul性能(对于ul性能敏感的数据会话)或组合性能(对ul和dl性能都敏感的数据会话)。在另一个实施例中,过程612可以选择可提供足够性能的可用dtn。

多个dtn可满足在s622所用的选择标准。例如,可能存在一个dtn为其提供最高相关性能的平局(tie),或者可能存在多个可提供足够性能的dtn。在实施例中,当多个dtn满足所述选择标准时,过程612使用一种“好邻居”策略来从所述多个dtn中选择一个dtn。当从满足所述选择标准的多个dtn中选择出一个dtn时,所述“好邻居”策略寻求使该选择可对无线网络的其他用户造成的负面影响最小化。例如,由于无线电网络的大多数用户处在小区覆盖半径的边缘,所以当满足选择标准的两个dtn在不同的频带中运行并且较低的频带提供较大的地理覆盖范围时,过程612可选择具有较高频带的dtn,以便不将具有较低频带的dtn的功用降低到可能只能使用具有较低频带的dtn的较远用户。

在s622,一旦选择了dtn,则过程612过渡到s624。

在s624,过程612启动会话计时器,然后过渡到s626。

过程612保持在s626,只要会话计时器的值小于或等于预定值n且正在优化的数据会话没有终止,就增量会话计时器。当所述数据会话终止时,所述过程612过渡到s628。当所述会话计时器的值大于预定值n并且所述数据会话仍处于活动状态时,过程612过渡到s620,以重新评估当前dtn是否可能是所述数据会话的最佳dtn。

在s628,过程602结束会话计时器,然后退出。

图7示为根据一个实施例的用于生成可用dtn列表的过程720。过程720可用于图6的过程612中的s620中。

在s722,过程720接收可用dtn的列表,所述可用dtn的列表为执行过程720的装置可附接到的dtn的列表。所述可用dtn的列表可以是由装置生成,所述装置用于在所述装置可用的数据传输网络中探测所述装置可以连接到的dtn。在实施例中,由过程720接收到的可用dtn的列表是通过本领域中已知的方法生成的。

在s724,过程720可以精炼可用dtn列表。可以通过例如根据dtn的特性来限制列表中的dtn来精炼dtn的列表,其中所述dtn的特性可以是例如信道质量指示(channelqualityindication,cqi)、信号对干扰加噪声比(signaltointerferenceplusnoiseratio,sirn)、接收信号强度指示(receivedsignalstrengthindication,rssi)、参考信号接收功率(referencesignalreceivedpower,rsrp)、参考信号接收质量(referencesignalreceivedquality,rsrq)、信道大小、吞吐量、调制和编码方案(modulationandcodingscheme,mcs)、往返时间(roundtriptime,rtt)或其他延迟、块(block)失败对成功率、信道大小等。在实施例中,过程720可以将所述列表精炼为仅包括下述dtn:具有优于预定阈值的特性,或者接收到的可用dtn列表中的预定上百分位数中。例如,在一个实施例中,过程720可以将接收到的可用dtn列表精炼为仅包括rtt小于60毫秒和/或吞吐量为每秒5兆位的dtn。

还可根据优选的无线电接入技术(radioaccesstechnologies,rat)、优选的运营商、dtn是否支持载波聚合、小区id模式、优选的频带或子通道等,来精炼接收到的可用dtn列表。

在s726,过程720可通过根据随机数生成器(randomnumbergenerator,rng)或伪随机数生成器(pseudo-randomnumbergenerator,prng)的输出对精炼后的可用dtn列表进行随机化。通过使所述列表随机化,过程720使得使用相同或相似实施例的不同装置更有可能选择不同的dtn来执行相似的数据会话。

图8是根据一个实施例的使用被动模式采样从可用dtn列表中选择一个dtn的过程822。部分过程822(例如s806)可以用于图6的过程612的s622中。例如,当执行的不是性能敏感的数据会话时,可以在图6的过程612的s622之前执行过程822的其他部分(例如,s804)。

在s804,当装置执行过程822未执行数据传输时,过程822对可用dtn列表中的一个或多个dtn进行微速测试。微速测试在测试的数据路径中可以使用或可以不使用内容服务器。所述微速测试的目标可以直接在移动网络中,也可以在移动网络(例如因特网)的外部。微速测试可以包括但不限于:通过发送和/或接收空数据包来测量dtn的rtt延迟或半rtt延迟,或通过发送数据包来测量dtn的吞吐量能力。在一个实施例中,执行过程822的装置与先前连接的dtn断开连接并连接到所要测试的dtn,以便执行微速测试。

在实施例中,从微速测试收集的信息还包括由执行微速测试的其他装置收集到的信息,所述其他装置将它们从它们各自的微速测试中收集的信息发送给执行过程822的装置。

在一个实施例中,通过测量在可见的(对ue可见)dtn上发送的数据包的传递性能来评估dtn传输能力,以确定每个dtn的传输能力(例如,最大吞吐量、最低延迟等)。所述数据包在ue终端和内容服务器(例如,流视频服务器或游戏服务器)之间传输。被发送/接收的数据量越高,吞吐量的预测便可越准确。为了节约例如处理速度或总体数据消耗之类的资源,可以发送有限数量的数据包,因为可以不必对每个dtn的性能都进行高准确度评估。相反,实施例可以寻求确定dtn是否可能比其相邻的dtn性能更好。

例如,在0.25秒的测试间隔中,可以估计出第一dtn具有50kbps的吞吐量,并且可以估计出第二dtn具有100kbps的吞吐量。如果每个dtn都经过了几秒钟的测试,它们的总体吞吐量可能会比0.25秒的运算显示的结果高得多。然而,很有可能的是:吞吐量的估计值为100kbps的第二dtn的真实速度大于吞吐量的估计值为50kbps的第一dtn的真实吞吐量。因此,如果ue连接到第二(100kbps)dtn,则ue可能会体验到最佳性能。

在s806,过程822使用从微速测试收集的信息从可用dtn列表中选择一个dtn。在一个实施例中,过程822选择第一dtn,如使用从微速测试收集的信息所确定的,所述第一dtn满足目标性能阈值(即,应提供足够的性能),所述目标阈值可以是预定的或者可以是与dtn被选择用于的数据会话相关联的。在一个实施例中,过程822根据dtn被选择用于的数据会话是否对dl性能、ul性能或对dl和ul性能均敏感来选择具有最高的dl性能、ul性能,或聚合ul/dl测量性能的小区,如使用从微速测试收集的信息所确定的。性能可使用延时,ul吞吐量,dl吞吐量等或其组合而测得。然后,过程822退出。

图9示出了根据一个实施例的用于从可用dtn列表中选择dtn的过程922。过程922可用于图6的过程612的s622中。在进行数据会话优化的同时可执行过程922的一个或多个部分。

在s902,过程922判定装置当前用来执行正在优化的数据会话的dtn是否正在提供足够的性能。过程922可以通过测量数据会话的统计数据(例如延迟或吞吐量)来实现上述判定。在一个实施例中,可以通过监测执行数据会话优化的过程中的一个指标,例如来自视频流应用程序的停顿指标(stallindicator),来判定当前所用的dtn是否正在提供足够的性能。

如果当前使用的dtn正在提供足够的性能,在s902,过程922进行到s908;否则,过程922进行到s904。

在s904,过程922对可用dtn列表中的一个或多个dtn(当前正在使用的dtn除外)执行微速测试,如上文关于图8的s804所描述。

在一个实施例中,过程922可以使用数据会话的各个部分来执行可用dtn的微速测试,并且测量在执行所述部分时达到的性能。例如,过程922可以在第一dtn上执行一个视频数据会话的前0.25秒以评估第一dtn的性能,在第二dtn上执行所述视频数据会话的第二个0.25秒以评估第二dtn的性能,以此类推,由此寻求在寻求执行数据会话的新dtn时继续提供数据会话。

在s906,过程922使用从微速测试收集到的信息从可用dtn列表中选择dtn,如关于图8的s806所述。然后,过程922退出。

在实施例中,可以使用用于选择新dtn的其他技术来代替关于s904和s906所描述的技术。例如,在一个实施例中,s904和s906可以:由图10中的s1004和s1006替代(即,使用dtn各个指标和性能的计算可用于选择dtn),由图11中的s1104和s1106替代(即,历史性能信息可用于选择dtn),由图12中的s1204和s1206替代(即,可以随机选择dtn)等等。

在s908,过程922选择当前使用的dtn作为所选的dtn。然后,过程922退出。

图10所示为根据一个实施例的用于从可用dtn列表中选择dtn的过程1022。过程1022不使用测试,而是使用与dtn相关联的一个或多个指标,以从可用dtn中作出一个“最佳猜测”选择。过程1022可用于图6的过程612的s622中。

在s1004,过程1022对可用dtn列表中的各个dtn执行相应的计算,以确定哪个dtn最可能提供所需的性能。各个计算使用dtn的各个性能中的一种或多于一种的组合,所述性能例如信道质量指示(cqi)、信号对干扰加噪声比(sirn)、接收信号强度指示(rssi)、参考信号接收功率(rsrp)、参考信号接收质量(rsrq)、信道大小、吞吐量、调制和编码方案(mcs)、往返时间(rtt)或其他延迟、块失败对成功率、信道大小、无线电接入技术(rat)、dtn是否由优选运营商运营以及dtn是否支持载波聚合等。

在一个实施例中,具有较高计算结果的dtn更可能提供所需的性能。根据要优化的数据会话,所需的性能可以是ul性能、dl性能或两者的聚合。所需的性能可以是例如低延迟、高吞吐量或其组合。

在s1006,过程1022从可用dtn列表中选择具有最佳计算结果(例如,最高结果)的dtn作为所选的dtn。然后,过程1022退出。

图11为根据一个实施例的使用历史性能信息从可用dtn列表中选择一个dtn的过程1122。过程1122可以被用于图6的过程612的s622中。

在s1102,过程1122可以可选地接收来自另一个装置的可用dtn列表中的各个dtn的历史性能信息。所述另一装置可以是网络(执行过程1122的装置是其一部分)的一个网络元素,其中所述网络元素被设置为存储和分发关于dtn的历史性能信息。由所述网络元素存储和分发的历史性能信息可以由所述网络元素生成或由所述网络元素从一个或多个其他装置接收。

在s1104,过程1122针对可用dtn列表中的每个dtn,确定dtn的历史性能。过程1122使用由执行过程1122的装置所累积的dtn的历史性能信息和在s1102接收的任何dtn历史性能信息,来确定可用dtn列表中的各dtn的历史性能。所述历史性能信息可以包括先前的微速测试的结果,先前的用户生成的会话的监测结果等。在一个实施例中,过程1122使用可用dtn列表中的各个dtn的对应标识符,以在可用历史性能信息中寻找各个dtn的对应信息。

所述历史性能信息可以包括装置先前使用的dtn的性能指标。所述历史性能信息可以包括经常使用的网站(例如,流行的视频流网站)的特定性能信息,或多个经常使用的dtn中的每一个dtn的经常使用的网站的特定性能信息。所述网站、dtn或其组合的历史性能信息可以包括一周中每一天和/或一天的多个部分中每个部分的单独条目。所述历史性能信息可以包括单独的ul性能信息和dl性能信息。

在一个实施例中,执行过程1122的装置随时间累积历史性能数据。在一个实施例中,装置保持跟踪历史表现信息的年龄并且使用所述信息的年龄来确定何时进行新的测量。

在s1106,过程1122从可用dtn列表中选择具有最高历史性能的dtn。当被优化的数据会话主要对dl性能敏感时,选择具有最佳历史dl性能的dtn。当被优化的数据会话主要对ul性能敏感时,选择具有最佳历史ul性能的dtn。当被优化的数据会话对ul和dl性能均敏感时,使用ul和dl组合性能的测量值来选择dtn。性能可以通过延迟、吞吐量、总数据容量等中的一项或多项来测量。随后,过程1122退出。

图12为根据一个实施例的用于从可用dtn列表中随机选择dtn的过程1222。过程1222可以被用在图6的过程612的s622中。

在s1204,过程1222随机地(或伪随机地)对可用dtn列表进行重新排序(例如,混洗)。在s1206,过程1222选择重新排序后的可用dtn列表中的第一dtn作为所选的dtn。然后,过程1222退出。

在另一个实施例中,过程1222使用随机或伪随机数生成器来生成一个在1到可用dtn列表长度的范围内的整数n,然后选择可用dtn列表的第n个元素作为所选的dtn。然后,过程1222退出。

实施例包括用户装置,特别是无线用户装置,例如用户设备(ue),其根据每个可用dtn的预测能力(提供性能敏感的数据会话所需性能的能力),来选择要连接和使用的dtn,从而尝试优化性能敏感的数据会话的性能。所选的dtn可能不是拥塞最少的dtn,可能没有最高的信号强度或rsrp,并且通常可能不是网络运营商希望用户装置使用的dtn。不同于用户装置根据例如最佳信号强度(忽略了dtn的实际可用容量)来探测可用的传输网络,所描述的系统和方法建议用户装置直接探测可用的传输网络,并基于测量的性能能力,特别是基于测量的与寻求到了最佳网络性能的数据会话相关的性能能力,来决定可以使用哪个传输网络。

实施例避免了负载平衡。在实施例中,用户装置探测可用的传输网络,并基于性能测量来决定使用哪个传输网络(与ue基于ue探测最佳信号强度连接到lte网络相反)。本系统和方法是贪婪的,因为它优先考虑单个用户装置的最大可能性能,而不是考虑与其他用户共享资源。

实施例具有在扩展会话期间的周期性检查,以允许用户装置周期性地检查最初确定的“最佳dtn”是否仍在提供足够或最佳的性能,并允许用户装置在需要时切换dtn。所述过程可主要用于上行链路和下行链路连接,以找到最佳信道。

实施例不限于单个数据传输技术,可以存在一种网络的混合,所述网络包括但不限于无线电接入技术和wifi。

尽管实施例针对特定示例进行了描述,但是实施例不受这些示例的限制。例如,本领域技术人员应认识到,贪婪地确定使用哪个dtn来使用户装置自身的数据会话性能最大化,在不脱离本发明范围或精神的情况下,可以根据多种其他算法和过程来执行。

一旦用户装置与特定dtn建立连接,会话计时器就开始监测连续会话的长度。例如,视频流会话通常比下载小文件附件的时间更长。由于用户的随机分布和对数据服务的不同需求,与最初计算的“最佳”dtn相比,一个不同的dtn可能会成为更佳的连接。每当一个会话被发现为未终止时,计数器就会增加。如果计数器变得大于阈值“n”,则返回至“检查可用dtn”并重新探测最快的可用dtn。这可以允许用户装置周期性地检查原始计算的最佳dtn是否仍在最佳地运行,并允许用户设备在需要时切换dtn。

尽管本文中图示和描述出了本公开的几个实施例,但是在不脱离本发明的精神和范围的情况下可进行许多改变。例如,应认识到,本公开可以用于无线网络、有线网络、光纤网络和同轴网络中的单独一个或其组合。因此,本发明的范围不局限于任何公开的实施例。

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