基于站点的服务器选择的制作方法_3

文档序号:9439536阅读:来源:国知局
样点存储。
[0089] 存储与服务器相关联的历史数据可能是不高效的。例如,至少部分地基于客户端 已经收集的历史数据,客户端可W确定开始比特率应该是多少、W及从哪个服务器请求比 特率文件。使用图1中示出的实施例作为示例,客户端122可W接收包括针对比特率文件 的服务器136和服务器138的U化在内的U化列表。客户端122可W从服务器136请求比 特率文件的2秒块,并且存储客户端接收该2秒块所花费的秒数。客户端122随后可W开 始从服务器138下载2秒块,并且存储所观察到的吞吐量。然后,客户端122可W被提供W 针对新比特率文件的新U化列表,该新U化列表包括服务器137和服务器138,而不包括服 务器136。如果历史数据仅与特定服务器相关联,则客户端122不能估计针对服务器137的 吞吐量,即使服务器136和服务器137处于相同站点。另外,客户端122不可W基于与服务 器138相关联存储的历史数据来确定开始比特率,因为不存在与服务器137相关联的历史 数据。不幸的是,客户端122还可W尝试从服务器137下载比特率文件,即使与服务器136 相关联的历史数据示出与服务器137处于相同站点的服务器136具有比服务器138更低的 吞吐量。运个问题在存在大量服务器并且客户端被提供W每个U化列表中的不同服务器时 被放大。在本公开中,仅与特定服务器相关联的历史吞吐量数据被称为基于服务器的历史 数据。
[0090] 3. 1基于站点的历史数据
[0091] 基于站点的历史数据包括客户端在特定时间量中从服务器接收的数据量。但是, 该历史数据与服务器所位于的站点而不是服务器本身相关联。客户端可W使用基于站点的 历史数据来精确估计客户端尚未使用的其他服务器的吞吐量。另外,通过收集基于站点的 历史数据,客户端可W减少其存储器使用并且可更快地计算更精确的估计;在基于站点的 实施方式中,如果估计模型需要一定数目的数据点,则客户端仅需要一组所需要的数目的 数据点。
[0092] 客户端可W使用基于站点的历史数据来精确估计客户端尚未使用的其他服务器 的吞吐量。基于站点的历史数据是针对整个站点的吞吐量数据的集合。即使吞吐量数据可 能不是从特定站点处的每个服务器接收的,但是客户端可W使用针对特定站点的所有服务 器的基于站点的历史数据(鉴于站点处的所有服务器被预期具有类似的吞吐量)。
[0093] 客户端可W通过收集基于站点的历史数据更快地计算出更精确的估计。在基于站 点的实施方式中,由于针对站点的所有历史数据可W被包括在相同数据集中,所W估计可 W更快地收敛。相反,在基于服务器的实施方式中,相同站点中的每个服务器仍然必须提供 充足的吞吐量信息,来给出相关或者有用的估计。另外,站点的吞吐量中的任何变化将被更 快地反映在估计中,因为整个吞吐量数据被存储在相同的历史数据集中。
[0094] 在基于客户端站点的历史数据可W使用图1中示出的实施例描述的实施例中,对 于每个服务器上的一个或多个比特率文件,客户端122被提供W包括服务器136和服务器 138的U化的U化列表。客户端122可W从服务器136请求比特率文件的2秒块,并且可W基于2秒块的大小存储客户端接收2秒块花费的时间。客户端122然后可W从服务器138 下载2秒块,并且存储所观察到的吞吐量。随后,客户端122可W被提供W针对新的一组 比特率文件的新U化列表,该U化列表包括服务器137和服务器138而不包括服务器136。 如果历史数据是基于站点的,则客户端122可W正确地估计服务器137的吞吐量,因为服务 器136和服务器137应该具有相似的性能。因此,客户端122可W基于所存储的与站点146 和148二者相关联的历史数据来确定开始比特率。另外,客户端122也可W不尝试从服务 器137下载新比特率文件或者新比特率文件的一部分,如果与站点146相关联的历史数据 示出服务器137所属于的站点146比服务器138所属于的站点148更低的吞吐量。运种解 决方案的优点在位于每个站点的服务器的数目增加时被放大。
[00巧]4.0基于历史数据估计吞吐量
[0096] 不正确地估计吞吐量会降低用户的体验质量。例如,如果客户端至少部分地基于 历史数据估计开始比特率低于实际的可用吞吐量,则用户至少最初将被呈现W较低质量的 视频。但是,如果客户端估计开始比特率高于实际的可用吞吐量,则客户端至少最初将会花 很长时间来缓冲足够的数据W开始回放。
[0097] 不幸的是,吞吐量数据可能是有噪声的,运意味着吞吐量的单独实例可能比正常 感知的大或者小,并且多个因素可W确定客户端和服务器之间的吞吐量,任何数目的条件 可W临时或者永久性地改变吞吐量。
[0098] 在实施例中,统计方法可W被用来降低噪声从而更精确地估计吞吐量。在实施例 中,移动平均可W被用来估计吞吐量。其他实施例可W实现估计吞吐量的其他方法(例如, 内插函数、核函数、平滑函数)。在下面的部分中,吞吐量数据被看作包括大于零的实数的无 界序列的数据流。例如,如果客户端在0. 5秒中接收到1兆比特的数据块,则吞吐量可W被 表示为2 (其是2兆比特/秒的简写)。每个测量出的所观察到的吞吐量数据可W被当作流 中的新数据点。
[0099] 4. 1历史平均
[0100] 在实施例中,历史平均被用来估计吞吐量。历史平均可W使用较小的存储器,并且 可W在恒定时间0(1)内被计算出来。历史平均将流中的最新输入的数据点X。、和前一历史 平均为H。1作为参数,其中n是流中到目前为止的采样数目:
阳102] 4. 2指数平滑-自适应方法 阳103] 数据流的特性会随着时间变化。例如,移动客户端设备可W从一个网络下载特定 比特率文件,然后从另一网络下载另一比特率文件。作为具体示例,假设用户首先观看连 接到无线路由器的电话上的电影,并且随后观看连接到蜂窝网络时的相同电话上的另一电 影。在运种情况下,优选的是向最近的吞吐量数据赋予更大的权重,因为从一个站点感知的 带宽会基于哪个互联网服务提供商正被使用而大幅变化。
[0104] 因此,在指数函数被用于估计吞吐量的实施例中,该函数使用较小的存储器并且 可W在恒定时间0(1)中被计算出来。指数函数将流中最新输入的数据点X。、阿尔法参数 a、W及指数函数的前一结果E。I作为参数: 阳 105]En(a,Xn) = (a)Xn+(l-a)Eni
[0106] 在W上的指数平滑函数中,a是0到1之间的数,从而使得更大的a具有赋予最 近的采样的更大的权重。使用指数平滑,客户端可W基于参数a更精确地估计随时间逐渐 变化、或者急剧变化的演进流。
[0107] 所W,在利用移动客户端的示例中,估计吞吐量根据客户端改变其在网络拓扑中 的位置而自适应地改变。另外,a也可W是基于采样流的拉普拉斯或梯度、或者指数函数 的输出改变的函数。
[0108] 4. 3核密度估计器化呢)
[0109] 在实施例中,诸如核密度估计之类的数据挖掘技术可W被用来提高估计吞吐量的 精确度。因此,历史数据可W被表示为概率密度函数(PDF),并且流中的每个新数据点也可 W被表示为新PDF而不仅仅是流中的离散数据点。
[0110] 替代地,基于直方图分析的估计可W被使用;但是,在一些实施例中,使用基于直 方图的分析可能需要更多存储器,并且还可能需要一次W上的数据传递(morethanone passoverthedata)。例如,作为计算直方图的常用的预处理步骤,整个数据的初始传递 被执行,W确定域的跨度。另外,一些基于直方图的方法使用确定直方图中的每个柱的大小 的另一预处理步骤,运通常需要数据集的一次W上传递。 阳111] 核密度估计器(K呢)是估计随机变量的PDF的非参数函数。核密度估计是数据平 滑方案,其中有关人口的推论是基于有限的数据采样的。特别地,KDE严重依赖于采样,而 不知道实际的底层分布的先验知识。另外,KDE随着采样数目的增加而变得更加精确。 [0112]PDF是描述随机变量具有特定值的可能性的函数。随机变量落在特定区域的概率 由该随机变量在该区域上的密度的积分给出。PDF在每个地方都是非负的,并且其在整个域 上的积分等于1。例如,在正态分布中,有50%的机率随机变量小于或等于零,因为正态分 布下有50%的面积被包括在负无穷和零之间。 阳113] 在实施例中,在n个采样上的具有核函数K、和带宽h的KDE可W被定义为:
[0115] 在W上邸E中,h可W是大于零的任意数,但是可W基于包括核K在内的任意数目 的因素而被调节。替代地,如下面讨论的,h可W是由数据流参数化的函数。K可W是任何 核,例如,K可W是高斯核、一致核(uni化rmkernel)、或者抛物线核,但是从实用观点看,选 择有界核(例如,抛物线核、=权重(triwei曲t)核、余弦核)在计算上有利,尽管不要求核 的范围在所有实例中都是非负的。
[0116] 尽管使用邸E在很多方面是有利的(一些已经在上面列举),但是随着采样数目n 的增多,存储数据流并且计算K呢变得更加昂贵。具体地,存储数据流所需的空间、W及邸E 的计算代价随着采样大小线性增加。所W,KDE难W实时计算,尤其是对于随着历史数据持 续增长而不断增长的数据流。
[0117] 4. 3. 1M-Kernel实施方式
[0118] 在实施例中,可W使用M-Kernel实施方式。M-Kernel实施方式通过保留最后m个 条目降低了计算代价和存储器代价,其中m小于n。M-Kernel是具有平均数Xp、带宽皆':>、W及权重cf的核。M-Kernel的总和估计n个经处理元素之后的邸E:
阳120] 使得:
[0122] 术语X*可W是任何合并运算符,包括n个元素中的m个元素W外的元素的历史平 均或者指数加权和。 阳123] 例如,如果流中的数据点是4、3、2、1,其中4是流中被接收的最后数字,m等于3, 并且皆"等于1,则流的M-Kernel等于:
[01巧]另外,如果流中的下一个数据点是5,则M-Kernel等于:
[0127] 进一步地,如果流中的下一个数据点是6,则
1.5等于料,则:
[0129] 在该示例中,m+3个元素狂*、m、和n)可W被要求停留在存储器中,从而停留在 M-Kernel中。因此,M-Kernel可W对n个元素的KED进行实时近似。 阳130] 但是,M-Kernel方法做出了在所有情况下都不可能为真的若干统计假设。例如, M-Kernel方法要求:璋"9为常数,运会导致更大的数值误差。另外,通常的正态分布被用于K, 但是存在可W用来减少计算时间的其他核。 阳131] 4. 3. 2优化的M-Kernel实施方式 阳132] 在实施例中,可W使用优化的M-Kernel。例如,K可W是可W比其他核更快计算的 抛物线核,因为运算符是简单的乘法和加法运算:
阳134] 另外,为了减少数值误差,采样和M-Kernal二者的带宽可W为:
[0136] 从而使得是至少部分地基于m个采样的估计标准偏差。因此,在优化的实施 例中可W是:
[0138] W上的优化的M-Kernel函数可W进一步减少计算代价并且最小化统计误差。
[0139] 4. 3. 3用于演进数据的修改后的邸ES 阳140] 如W上讨论的,数据流可W随时间变化。因此,在实施例中,可W将KED、M-Kernal、 或者优化的M-Kernal与W上讨论的指数平滑函数相结合。例如,优化后的M-Kernel可W被修改为结合指数平滑:
[0142] 4. 4示例性的基于站点且基于估计吞吐量的U化选择处理的概述
[0143] 图5示出了根据一个实施例的确定从哪个服务器下载比特率文件的示例性的基 于站点且基于估计吞吐量的处理。尽管图5示出了根据一个实施例的示例步骤,但是其他 实施例可W省去、添加、重新排序、和/或修改所示出的任何步骤。
[0144] 出于示出清楚示例的目的,可W使用图1示出的实施例作为参考来描述图5。但 是,可W使用其他网络布置来执行其他实施例。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1