可动态扩大通信链接吞吐量的拥塞控制方法_2

文档序号:9252691阅读:来源:国知局
部分。
[0036]在所附图样中:
[0037]图1A系统地介绍了两个主要实体,包含由可变下载会话数和拥塞控制器组成的典型多会话下载控制器。
[0038]图1B系统地介绍了挂起片段的缓冲列表;
[0039]图2为示例会话控制器产生的决策进程流程图;
[0040]图3为用于实施图4流程选定策略的进程流程图。
[0041]图4为另一个拥塞控制器进程的流程图,该控制器用于决定优化线路使用的最佳策略;
[0042]图5中所示原理图演示了如何使用多个流实现更好性能;
[0043]图6所示图表显示了使用单个流获得的实际结果。
[0044]首选实施例的详细说明
[0045]本发明介绍了一种可使用拥塞控制机制有效控制多个连接吞吐量、进而减少与单个流相关问题的方法。
[0046]以下说明及图样中将涉及到下列缩略语:
[0047]CSC-当前下载会话计数
[0048]TSC-目标下载会话计数=当前链接总量
[0049]PSC-先前会话计数
[0050]⑶S-当前下载速度
[0051]PDS-先前下载速度
[0052]以下说明中将用到下列术语:
[0053]块-由起始和结束偏差确定的长度可变数据部分;
[0054]片段-具有预定义长度的数据部分;片段可以包括单个块或将进程分成多个块。
[0055]可以由一个或多个会话使用一个或多个范围请求下载每个块。另外,可以并行下载多个块。
[0056]当前片段(CF)-当前请求的片段;
[0057]活动片段(AF)-正在下载的片段;
[0058]挂起片段(PF)-在播放器请求之前已下载的片段;
[0059]目标完成片段(TCF)-期望完成的下一个片段的序列号(顺序编号);
[0060]挂起片段计数(PFC)-挂起片段的数量;
[0061]活动挂起片段数(APC);
[0062]最后挂起片段(LPF)。
[0063]下载会话-用于控制块数据从URL (统一资源定位符)到另一客户端的传输的逻辑实体。例如:客户端与http://www.youtube, com/之间的HTTP连接。下载会话由其连接和持续时间定义。
[0064]自适应会话-用于下载整个片段或长度可变的预定义片段块的会话;
[0065]渐进式会话-用于下载没有预定义片段的长度可变文件块的会话;
[0066]总下载速度-在一定时间间隔内从所有会话中获得的总数据(字节数)除以时间间隔。
[0067]策略-并发下载会话数及其目标下载持续时间。
[0068]每个策略具有以下属性:
[0069]a.currentStrategyBest,由以下定义
[0070]If(currentDownloadSpeed>currentStarategyBest){
[0071]currentStarategyBest = currentDownloadSpeed ;
[0072]}Else{
[0073]currentStrategyBest = currentStrategyBest- (currentStrategyBest-currentAverageSpeed)/20);
[0074]}
[0075]b.currentStrategyfforse,由以下定义:
[0076]If(currentDownloadSpeecKcurrentStarategyfforse){
[0077]currentStarategyfforse = currentDownloadSpeed ;
[0078]}Else{
[0079]currentStarategyfforse = currentStarategyfforse+(currentAverageSpeed-currentStarategyfforse)/20 ;
[0080]}
[0081]c.currentStrategyMax,由当前策略(自最后将其选为活动后)测得的最大下载速度定义。
[0082]d.currentStrategyMin,由当前策略(自最后将其选为活动后)测得的最小下载速度定义。
[0083]本发明提供一种并行使用可变流数以随时扩大链接吞吐量的通用机制(无论所下载内容及其播放速度如何)。
[0084]图1A系统地介绍本发明示例实施例的主要实体。会话控制器(100)(集成到客户端应用程序的软件模块或作为客户端设备制造商所提供的操作系统/固件一部分的软件)负责管理和监控URL(130)的可变下载会话数(110),其中,用于决定并发会话数、各会话持续时间和/或片段大小的策略由拥塞控制器(120)决定。
[0085]该会话控制器使缓冲器保持当前片段以及挂起片段列表(此列表初始为空),如示意图1B所示。
[0086]图2所示为示例会话控制器产生的决策进程流程图。它以接收来自播放器下载指定文件的请求为起点(200)。该会话先根据文件类型检查所请求文件应以渐进性会话下载还是自适应会话下载(即,如果文件为预分成给定大小的片段)(205)。其假定控制器知道清单文件/播放列表文件并知道如何检索当前质量等级。
[0087]如果下载模式已确定为自适应,即已预定义片段大小,则该进程将检查加速是否未开始第I个活动片段以及剩下的下载时间是否大于某个阈值(210)。如果符合这两个条件,则将为活动片段开始片段加速(220)(图3)。
[0088]该会话控制器将检查目标完成片段是否已完成(230),S卩,进程当前等待的片段将完成下载。如已完成,则该进程将根据以下公式计算所允许下载的并发片段数(不会影响单个片段的下载速度):
[0089]允许的并发数=(最后完成片段的下载时间/最后完成的片段持续时间)* (挂起片段数+1)。
[0090]TCF(进程当前等待的片段)将递增(250)。如果以下条件为真时,该进程随后检查是否应添加挂起片段(260): (LPF运行超过10ms I | LPF已完成)&& (PFCXMaxPendingFragments)&&(允许的并发数〉APC+1) | | (APC〈允许的并发数+1)&&(LPF剩余时间〈LPF片段持续时间 /(PFC+ 安全系数))I I (LPF 进度% >100-100/(PC+3)),其中,MaxPendingFragments为最大挂起片段数。无需检索超过最大数,因为数据没有用。
[0091]这些条件可确保仅在当前下载已至少完成当前策略定义的特定持续时间百分比(提高安全系数,以免根据随机波动进行决策)或片段大小定义的特定字节计数百分比时才可开始下一个下载任务。
[0092]挂起片段随后将定义(添加)为活动(270)且该进程随后将等待维护间隔(280)并返回至(210) ο
[0093]使用TCP协议(或HTTP)时,总下载速度可能受TCP内部拥塞控制影响,具体取决于因中断而发回的数据包数量。
[0094]如果下载模式已确定为渐进式,则第一个会话由具有无穷大持续时间片段的默认策略定义(225)。
[0095]图3为用于实施图4流程选定策略的流程图。可按每个预定义时间间隔调用图3中的进程,该进程可以确保CSC(当前会话计数)等于图4中的进程所确定的计数,并且调用图4中的进程以在任何给定时间使用可用带宽。该进程可以测量当前下载速度、将其与当前测得的下载速度比较并确定应运行的并发会话数以及每个会话的持续时间。<
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1