一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用边缘计算系统的视频内容流比特率选择以改进用户体验的制作方法

2022-07-11 02:58:09 来源:中国专利 TAG:

decision under risk.”econometrica.47(4):263-291。这种不满常常发生在消费流内容的用户中。据观察,人们可能不需要更高的流内容的分辨率,但是一旦提高了分辨率,人们便会反对降低分辨率。
7.流数据的稳定性是用户喜欢的另一个特征。例如,当用户设备在移动网络中移动时(例如,用户设备从一个网络单元移动到另一个网络单元),用户设备的比特率可能快速改变。例如,如果用户设备从网络流量少的网络单元移动到网络流量多的另一个网络单元,则用户可用的比特率可能会快速降低。对于这种情况,用户设备可能无法先验地适应网络流量的变化,并且可能只能以接受比特率降低的方式来响应。类似地,当用户设备移动到网络流量较少的网络单元时,如果比特率的增加仅持续很短的时间,则比特率的增加可能产生不好的结果。随着第五代(5g)无线技术的出现和/或毫米波电磁波谱或更小的波长谱(例如,可见光谱)的使用,网络单元变得更小,因此比特率的波动成为更加亟待解决的问题。
8.5g无线网络架构的出现旨在将数据通信速度提高到其前身(第四代(4g)无线技术)的三倍,使得智能应用能够部署在网络的边缘计算系统上,同时使得智能应用能够(通过5g多址边缘计算(mec)基础设施)知道用户(例如,客户端)设备的位置和任何网络拥塞。这种智能应用可以用于控制用户设备的比特率的分配,并且可以优化流数据的公平性、稳定性和效率。此外,该应用可以被设计成当用户正在消费流内容时,通过减少或防止损失厌恶来改善用户体验。该应用还可以被设计成当用户从一个网络单元移动到相邻网络单元时,改善用户体验。
9.在服务器(例如,与部署在5g无线网络架构内的边缘计算系统之一相关联的服务器)上实现abr管理算法使得以更精确的方式满足公平性、稳定性和效率的要求成为可能,因为不同于安装在用户设备上的客户端软件应用,服务器软件应用可以完全了解网络流量。此外,服务器软件应用可以通过基于所有时间、日期和季节的历史网络流量模式来预测网络流量,从而解决与损失厌恶相关联的用户不满。
10.此外,在服务器上实现abr并在进入高度拥塞的网络单元之前预载视频点播(vod)分组可以使得与用户设备从一个网络单元移动到另一个网络单元相关联的比特率的变化变得平滑,下面将对此进行进一步的描述。
11.根据所公开的实施例,提供了一种用于向设备提供数据的方法,包括接收设备的位置,确定与该位置相关联的网络单元,确定该网络单元处和其他网络单元处的网络流量,从该设备接收对数据流的请求,以及通过基于与传输到位于该网络单元内的其他设备的流式传输相关联的多个比特率和在其他网络单元处的网络流量来选择数据流的比特率,来优化净用户满意度,其中净用户满意度是用户满意度的平均值。
12.根据另一个公开的实施例,提供了一种系统,该系统包括通信地耦合到一个或多个设备的一个或多个边缘计算系统。该系统包括至少一个用于执行操作的边缘计算系统。这些操作包括接收设备的位置,确定与该位置相关联的网络单元,确定该网络单元处和相邻网络单元处的网络流量,从该设备接收对数据流的请求,以及通过基于与传输到位于该网络单元内的其他设备的流式传输相关联的多个比特率和该相邻网络单元处的网络流量来选择数据流的比特率,来优化净用户满意度,其中净用户满意度是用户满意度的平均值。
13.根据另一个公开的实施例,提供了一种非暂时性计算机可读介质。该非暂时性计算机可读介质包括指令,当该指令被至少一个处理器执行时,使得该至少一个处理器执行
操作。这些操作包括接收设备的位置,确定与该位置相关联的网络单元,确定该设备的运动矢量,确定该网络单元处和该设备正移往的相邻网络单元处的网络流量,从该设备接收对数据流的请求,以及通过基于该网络单元处的网络流量和相邻网络单元处的网络流量选择数据流的比特率来优化用户满意度。
14.前面的一般描述和下面的详细描述仅仅是示例性和解释性的,而不是对权利要求的限制。
附图说明
15.附图不一定是成比例的或详尽的。相反,其重点通常是说明本文所描述的实施例的原理。并入本说明书并构成其一部分的这些附图示出了根据本公开的几个实施例,并且与详细描述一起用于解释本公开的原理。在附图中:
16.图1是根据本公开实施例的用于控制用户设备的比特率的分配的示例系统;
17.图2是根据本公开实施例的网络单元的示例地图,该网络单元具有为每个单元估计的预期平均网络流量;
18.图3a示出了根据本公开实施例的可以由边缘计算系统服务的网络单元的区域;
19.图3b示出了根据本公开实施例的、在与可以由边缘计算系统服务的网络单元对应的陆地区域上跨越的移动设备;
20.图4示出了影响网络内各种用户设备的比特率分配的示例因素;
21.图5a示出了根据本公开实施例的示例比特率曲线图,其中比特率是关于时间的函数;
22.图5b示出了根据本公开实施例的各种因素与用户满意度的示例函数;以及
23.图6示出了根据本公开实施例的用于确定用户设备的比特率的示例过程。
具体实施方式
24.现在将详细参考关于附图讨论的示例性实施例。在一些情况下,在所有附图和以下描述中将使用相同的附图标记来指代相同或相似的部分。除非另有定义,否则技术和/或科学术语所代表的含义均为本领域普通技术人员通常理解的含义。对所公开的实施例进行了足够详细的描述,以使本领域技术人员能够实践所公开的实施例。应当理解,可以利用其他实施例,并且可以在不脱离所公开的实施例的范围的情况下对其进行修改。因此,材料、方法和示例仅是说明性的,并不意味着是限制性的。
25.所公开的实施例涉及通过内容递送网络(cdn)流式传输多媒体内容的系统,例如直播频道(例如,新闻频道、体育频道、电影频道等)。广播系统可以流式传输实况电视广播或服务点播内容(例如,电影)。本公开描述了用于基于关于网络流量的可用信息来控制流内容的比特率分配的系统和方法的各方面。本文描述的实现使用边缘计算系统来确定由边缘计算系统服务的用户设备的比特率分配。
26.在边缘计算系统处实现比特率分配算法提高了比特率分配的公平性、稳定性和效率。该算法可以访问关于由边缘计算系统服务的网络单元的网络流量的信息。网络流量信息可以包括基于所有时间、日期和季节的历史网络流量模式的网络流量的预测。被实现为一个或多个软件应用的比特率分配算法可以解决与损失厌恶相关联的用户不满,并且可以
被配置为减少用户不满。此外,当在边缘计算系统级实现时,这些算法可以使得与用户设备从一个网络单元移动到另一个网络单元相关联的比特率的任何变化变得平滑。这种平滑可以通过向如下移动设备临时分配额外的带宽量来实现:该移动设备正在从网络流量少的网络单元合并到拥塞的网络单元。这种设备被称为“进入流量”,在没有获得额外带宽量的情况下,该设备可能需要突然降低其比特率。
27.根据本公开,如图1所示,系统100可以包括云系统105、边缘计算系统130和用户设备150。云系统105的设备可以通信地连接到边缘计算系统130,并且边缘计算系统130可以通信地连接到用户设备150。例如,图1示出了通信连接到设备151的边缘计算系统131、以及通信连接到设备152和153的边缘计算系统132。在示例实施例中,用户121可以操作设备151,用户122可以操作设备152,用户123可以操作设备153。在各种实施例中,用户设备150可以是位于各种网络单元中的移动设备。如这里所使用的,除非另有说明,网络单元可以是由与该网络单元相关联的一个固定位置收发器服务的陆地区域。
28.移动设备150可以与收发器通信以接收流数据。在一些实施例中,一个以上的收发器用于给定的网络单元,并且在一些情况下,一个收发器可以服务几个网络单元。收发器可以发送和接收数据,并且可以是蜂窝塔、蜂窝基站等。对于5g网络,收发器可以覆盖对应于一个城市街区、几个城市街区等的陆地区域。例如,收发器可以覆盖小的陆地区域(例如,四分之一平方公里、一平方公里、几平方公里、几十平方公里等),并且包括低功率、短程无线传输系统(基站)来覆盖这样小的地理区域。在某些情况下,移动网络可能包括几种规模的通信。例如,除了让收发器覆盖本地网络单元之外,更大、更强的(全球)收发器也可以覆盖网络单元组。在某些情况下,与较小的收发器相比,较大的全球收发器可以向用户设备递送较低的比特率。在各种实施例中,各种收发器(例如,几个较小的收发器和几个较大的全球收发器)可以服务于可能重叠的陆地区域。本地收发器可以连接到与这样的收发器相关联的边缘计算系统(例如,如图1所示的系统130)。在示例实施例中,一个边缘计算系统和一个收发器可以服务于网络单元,并且在一些其他实施例中,一个以上的边缘计算系统和/或一个以上的收发器可以服务于该网络单元。或者,必要时,单个边缘计算系统和/或收发器可以覆盖一个以上的网络单元。在一些情况下,网络单元的大小可以根据网络单元中的网络流量来动态调整。例如,如果网络单元经历的流量较少,则该网络单元可以被扩展。在一些情况下,如果网络单元经历的流量较多,则多个收发器和/或边缘计算系统可以用于该网络单元。
29.在各种实施例中,边缘计算系统(例如,系统131)可以是能够向多个用户设备150发送数据的多址边缘计算(mec)系统。在示例实施例中,系统131可以包括由系统131的一个或多个处理器执行的网络自适应比特率应用146。应用146可以确定通信连接到系统131的每个用户设备(例如,用户设备151)的比特率分配。应用146可以通过分析网络单元中的流量并通过优化体验质量(qoe)目标来确定比特率分配,该目标包括数据流的公平性、损失厌恶和稳定性(即,数据流比特率不随时间显著改变的要求)。应当注意,当用户设备151连接到系统131并且位于与系统131相关联的网络单元(这里称为第一网络单元)中时,应用146可以被配置为确定用户设备151的比特率分配。当用户设备151移动到与不同的边缘计算系统(例如,边缘计算系统132)相关联的另一个网络单元(这里称为第二网络单元)时,abr服务器160可以被配置成向系统132发送当设备151在第一网络单元中时所使用的设备151的
比特率分配。当设备151从第一网络单元移动到第二网络单元时,系统132可以使用这样的信息来为设备151提供类似的比特率分配。随后,系统132的应用146可以被配置成修改用户设备151的分配比特率。在各种情况下,边缘计算系统130和abr服务器160的自适应比特率应用146被配置成当用户121从第一网络单元移动到第二网络单元时向用户121提供最佳质量的体验。
30.云系统105可以包括一个或多个服务器,用于与边缘计算系统130通信,以及用于分析流量数据和与用户偏好相关的数据。在示例实施例中,图1示出了通信服务器110、网络分析服务器120、自适应比特率选择服务器160(abr服务器160)以及内容和观看行为分析服务器170(cvba服务器170)。服务器120可以收集关于网络流量的信息,并将网络流量信息发送给abr服务器160。此外,网络分析服务器120可以被配置为预测网络单元上的网络流量,并确定网络单元内的流量模式。由服务器120确定的信息可以被发送到服务器160,用于确定边缘计算系统(例如,系统131)的比特率选择策略。
31.该策略可以包括连接到边缘计算系统131的用户设备(例如,设备151)的比特率分配规则。比特率分配规则可以包括建议时间间隔,在该时间间隔期间,向用户设备151流式传输数据的比特率是恒定的或接近恒定的(这样的时间段也被称为稳定期)。在某些情况下,稳定期可以包括比特率基本不变的时间间隔。例如,稳定期可以对应于比特率波动小于百分之十、百分之二十等的时间间隔。在一些情况下,稳定期可以取决于内容的类型(例如,内容是否是直播流、视频点播等)、内容的体裁、用户设备的屏幕尺寸等。此外,稳定期可能取决于邻域边缘中的网络流量。除了确定边缘计算系统131的稳定期之外,比特率选择策略可以包括基于设备151所在的网络单元(即,设备151的网络单元)中的流量以及设备151的网络单元的相邻网络单元中的流量来建议用户设备151的比特率分配。在一些情况下,可以考虑设备151的网络单元的最近相邻网络单元,而在其他情况下,可以考虑其他网络单元(例如,与最近相邻网络单元相邻的单元)。在一些情况下,对于移动中的移动设备,当确定向移动的移动设备流式传输数据的比特率选择策略时,可以考虑移动用户设备151的速度(速度方向和速度大小两者)。例如,如果移动设备正在稳定地南行,则离设备151的南行方向上的网络单元的流量可以被考虑用于确定比特率选择策略。
32.在各种实施例中,服务器160可以将选择策略传输给服务器110,并且服务器110可以将该选择策略分发给边缘计算系统130。例如,服务器110可以向边缘计算系统131分发选择策略142a,向边缘计算系统132分发选择策略142b。在各种实施例中,可以以重复的时间间隔周期性地进行边缘选择策略的分发,或者可以根据需要分发策略。例如,服务器110可以根据需要为每个边缘计算系统向服务器160请求选择策略。选择策略可能由于季节变化、天气、与道路建设相关的变化等而发生改变。
33.在各种实施例中,服务器120可以执行时间序列分析,用于在考虑到一年中的季节、一周中的日子、一天中的时间等的基础上估计给定时间段中特定边缘计算系统的网络流量,下面将对此进行进一步的描述。例如,服务器120可以分析时间序列数据和由cvba服务器170提供的数据,并且估计给定网络单元和给定时间段内的用户数量和估计流量。服务器120可以将数据分析传输给服务器160,以便于确定一个或多个边缘计算系统130的选择策略。在一些情况下,服务器160可以执行服务器120的功能,并且服务器120可能不存在于云系统105中。
34.如上所述,云系统105还可以包括cvba服务器170。服务器170可以被配置为收集每个用户设备的观看和行为分析。在一些情况下,当用户登录用户账户以接收流数据时,服务器170可以收集用户设备的每个用户账户的观看和行为分析。在一个示例实施例中,服务器170可以收集用户观看的内容的历史、用户观看倾向、预计用户会请求流数据的日期、星期、或月份的时间、预计用户观看视频或收听音频的持续时间、基于比特率变化的用户反馈(例如,如果由于比特率的降低而视频的分辨率改变为更低的分辨率时,用户停止观看视频流,则这种用户行为可以表示用户对分辨率损失特别敏感)。在示例实施例中,边缘计算系统(例如,系统131)可以周期性地收集(缓存)数据144,并且经由服务器110将数据144发送到服务器120、160和170。数据144可以被收集并从系统131发送到服务器110-170的频率可以取决于季节、一周中的某一天、一天中的某个时间等。数据144可以包括关于由系统131管理的网络单元内的用户设备150的数量的信息、网络单元的当前流量以及与流数据相关的信息(例如,各种数据流的名称、比特率或位置,或者消费数据流的预估剩余时间)。关于流数据的信息可以用于预测网络单元内的未来流量。例如,如果用户121消费数据流的时间还剩余10分钟,则服务器120可以使用该信息来预测用户121在接下来的10分钟内会消耗网络流量。
35.在各种实施例中,服务器110-170可以包括一个或多个处理器、用于存储编程指令的存储器、以及用于修改编程指令和控制服务器的各种参数的接口。
36.在各种实施例中,系统100可以包括至少一个数据库111,用于存储各种用户相关信息,包括例如与用户消费的流数据相关的元数据,以及任何其他相关用户数据。例如,其他相关用户数据可以包括服务器110的各种用户的简档数据,该简档数据可以包括用户多媒体偏好、用户认证信息或任何其他用户相关信息(例如,到其他用户的链接等)。数据库111可以被边缘计算系统130和服务器110-170访问。在一些情况下,数据库111可以存储与特定网络单元的网络流量相关的或与由于用户连接到给定的边缘计算系统而引起的网络流量相关的统计数据。这种统计数据可以包括网络单元或边缘计算系统的总网络流量、网络单元内(或连接到边缘计算系统)的用户数量、网络单元内(或连接到边缘计算系统)的用户数量的标准偏差、流入/流出网络单元的流量等。在各种实施例中,可以计算一天中的不同时间、不同的周、月、季等的统计数据。
37.系统100可以包括数据系统106,数据系统106可以包括用于向用户设备150传送各种内容145(例如,音乐、视频等)的内容递送网络(cdn)180,以及用于促进从数据库112选择内容145并将内容145发送到cdn 180的服务器190。在各种实施例中,cdn 180可以使用适当的编码算法(例如,http直播流(hls)、基于http的运动图像专家组(mpeg)动态自适应流(mpeg dash)等)来对内容145进行编码。在一些情况下,数据系统106可以不与云系统105相关联。例如,云系统105可以分析网络流量数据和用户偏好,并且使用服务器110-170来确定比特率选择策略,并且数据系统106的cdn 180可以用于将内容145传送到边缘计算系统130。在示例实施例中,云105可以由第一商业实体控制,而数据系统106可以由第二商业实体控制。或者,数据系统106可以是云系统105的一部分。
38.如前所述,图1示出了用户设备150可以通信地连接到边缘计算系统130,并且边缘计算机系统130可以通信地连接到云系统105和数据系统106。在示例实施例中,来自用户设备(例如,设备151)的请求141可以被传输到边缘计算系统131。请求141可以包括设备151对
内容的请求。请求141可以包括内容标识信息、用户设备的参数(例如,设备的屏幕尺寸、设备是移动设备还是静态设备等)、用户的账户信息以及用户设备的最后(或当前)比特率分配。在各种实施例中,请求141可以包括对清单文件143的请求,如图1所示。
39.清单文件143可以被边缘计算系统发送到用户设备(例如,边缘计算系统131可以将清单文件143发送到用户设备151,如图1所示)。在示例实施例中,可以从设备151传输一个以上的请求141,并且可以从系统131向设备151传送一个以上的清单文件143。请求141的频率可以取决于设备151使用的播放器的类型、设备151请求的内容的类型等。例如,对于实况数据流,请求141可以在数据流被发送到用户设备151时产生。在示例实施例中,请求141可以对应于内容145的一部分,清单文件143可以对应于内容145的一部分的一组片段。例如,清单文件143可以包含对内容145的片段的引用,该片段是以单个所选比特率编码而成的,其中所选比特率可以由边缘计算系统131的应用146来确定。比特率的选择可以取决于内容的类型,并且可以被确定以防止由于比特率损失以及与用户进入和退出网络单元相关联的比特率波动而导致的用户不满。另外,确定比特率还能促进不同设备150的比特率的公平性。abr服务器160可以促进对所选比特率的进一步确定。例如,当用户设备151从一个网络单元转移到另一个网络单元时,abr服务器160可以促进内容145的比特率的平滑改变。
40.在各种实施例中,请求141可以被发送到服务器190,并且服务器190可以向边缘计算系统131发送信息147,该信息147可以被系统131使用以产生一个或多个清单文件143。此外,服务器190可以请求数据库112将内容145上传到cdn 180。或者,系统131可以使用信息147从cdn 180下载内容145。在示例实施例中,服务器190可以经由请求141来接收内容识别信息,并且向边缘计算系统131发送信息147,该信息147包括到内容145的链接。服务器190可以包括至少一个处理器,用于执行各种任务,例如从边缘计算系统130接收数据141,在数据被加密的情况下解密数据141,分析数据141(例如,确定用户设备正在请求哪种类型的多媒体,经由系统131认证用户设备150,等等),以及促进对用户设备150所请求的多媒体内容145的检索。cdn 180可以从数据库112获得内容,对内容进行加密和/或编码,并将加密的内容发送到一个或多个边缘计算系统130。
41.系统131可以被配置为从cdn 180下载内容145的至少一部分,将内容145的下载部分分成一个或多个片段,并将片段存储在与系统131相关联的存储器中。另外,系统131可以被配置成创建具有到片段的链接的清单文件143。在各种实施例中,应用146可被配置成创建清单文件143并管理与对应于内容145的一部分的片段相关联的数据。应用146还可被配置成以选定的比特率对片段进行编码,创建清单文件143,该清单文件143引用以选定的比特率编码而成的片段,和/或在将内容145的片段发送到用户设备151之前对这些片段进行加密。在各种实施例中,当编码内容145的片段并创建清单文件143时,应用146可以考虑策略142a,以及用户设备151的网络单元和相邻网络单元的网络的当前状态(例如,网络流量)。与网络的当前状态相关的数据148(例如,相邻网络单元和/或任何其他相关网络单元的网络流量)可以从服务器110传输到计算系统131。基于计算系统131可用的带宽和策略142a,系统131的应用146可以使用数据148来选择内容145的片段的比特率。
42.用户设备151可以接收内容145的一部分,使用回放应用(这里称为播放器)播放所接收的部分,并且在播放内容145的一部分时,向系统131提交另一请求141。在各种实施例中,设备151的播放器可以与标准清单文件兼容,并且可以被配置成从边缘计算系统131检
索内容145的片段。除了播放内容145之外,设备151的播放器可以报告当前比特率和其他设备参数(例如,设备的屏幕大小、与用户121相关联的账户等)作为请求141的一部分。
43.在一些情况下,当内容145的一部分可以被预加载到用户设备151上时(即,当内容不是实况数据流时),如果为设备151分配的比特率足够大到能够预加载数据段,则设备151的播放器可以被配置为预加载内容145的数据段。由于自适应比特率应用146被配置成控制设备151的比特率分配和内容145的数据段的比特率,因此应用146可以控制在内容145的回放期间可以预加载多少片段。在示例实施例中,应用146可以被配置成当设备151移动到高度拥塞的网络单元中时,增加分配给设备151的比特率,从而使得在设备151进入拥塞的网络单元之前就能够预加载内容145的多个数据段。
44.在一个示例实施例中,内容145可以被发送到系统131,并准备被发送到用户设备151。在一些情况下,当内容145是例如视频点播时,内容145可以被上传到系统131,并被分成如上所述的片段。可选地,当内容145对应于直播流数据时,内容145可以被连续发送到系统131,并且随后被发送到用户设备151。另外,系统131可以被配置成创建对应于与内容145的直播流数据相关联的不同片段的多个清单文件。在示例实施例中,边缘计算系统131可以从服务器160获得比特率选择策略142a,使用应用146来确定每个设备的比特率,并将内容145发送到设备151。首先,内容145从cdn 180被发送到系统131,并且cdn 180可以编码内容145并且发送针对不同比特率和视频格式而编码的内容145的多个副本。应用146可以基于为内容145的片段所选择的比特率来选择已编码内容145的特定副本。
45.在一些实施例中,由应用146选择的比特率可以被呈现为可允许的比特率范围,并且在一些情况下,应用146可以允许边缘计算系统131改变比特率,使得设备151的平均比特率处于可允许的比特率范围内,或者对应于可允许的比特率值。比特率范围可以由应用146确定。在各种实施例中,系统131可以通过在与开始和结束观看节目的时间相对应的时间窗口内对服务的比特率进行平均来估计平均比特率。在一些情况下,时间窗口可以由应用146预先确定,并且可以是一分钟、两分钟、十分钟、半小时、一小时等。在一些实施例中,时间窗口的持续时间可以取决于用户(例如,用户121)消费的视频的类型。
46.或者,基于从服务器170获得的信息,边缘计算系统131可以确定预期用户121消费内容145的预期持续时间,并且基于该时间,计算平均比特率。在一些情况下,服务器170可以基于设备151的位置、一天中的时间、网络流量信息(可以由服务器120传输给服务器170)等来估计预期设备151的用户121观看视频或收听音频的持续时间,这两者都可以由内容145来表示。
47.如前所述,自适应比特率应用146可以将为用户设备151选择的比特率传输给abr服务器160。如果用户设备151正在从一个网络单元移动到另一个网络单元,则这种比特率的传输可能是重要的。例如,当用户设备151移动通过各种网络单元时,各种边缘计算系统可以被配置成发送内容145。在一些情况下,各种网络单元可以被配置为重叠,使得在重叠位置,几个边缘计算系统(例如,系统131和132)可以被配置为向用户设备151流传输数据。在示例实施例中,当设备151位于重叠位置时,一个边缘计算系统(例如,系统131)可以被配置成生成第一清单文件,并且系统132可以被配置成生成第二清单文件。用户设备151的播放器可以使用第一清单文件来播放流数据,而第二清单文件可以用于在回放之前预加载流数据的片段。应当注意,用户设备151的播放器可以支持多个清单文件的队列。此外,一旦来
自先前的清单文件的流数据的片段被上传到用户设备151上,那么设备151的播放器可以从系统131或系统132发出对后续清单文件的请求。通过使用重叠的网络单元,系统100可以支持位于重叠位置的设备的增加的比特率,从而允许用户设备在进入拥塞的网络单元时缓存流数据。如前所述,abr服务器160可以用于将关于用户设备151的比特率分配的信息从一个网络单元传输到另一个网络单元。例如,如果用户设备151在第一网络单元中具有第一比特率,并且正在进入由例如边缘计算系统132管理的第二网络单元,则abr服务器160可以将关于第一比特率的信息传输给系统132的应用146,以确保为用户设备151的用户121提供顺畅的流体验。例如,系统132可以被配置成在从第一网络单元到第二网络单元的过渡期期间使用用户设备151的第一比特率。过渡时期可以是持续预定持续时间(例如,30秒、1分钟、几分钟等)的一段时间。
48.在一些实施例中,abr服务器160可以被配置成提供策略142a和142b,而关于由计算系统131管理的第一网络单元中的第一比特率的信息可以被直接传输到管理第二网络单元的计算系统132。例如,当设备151从第一网络单元移动到第二网络单元时,设备151可以提交请求141。请求141可以包含指示第一比特率(即,在第一网络单元中使用的比特率)的数据。在这种情况下,计算设备132可以考虑在请求141中获得的第一比特率、来自abr服务器160的策略142b以及第二网络单元的当前网络流量,来确定第二比特率。在示例实施例中,在从第一网络单元到第二网络单元的过渡期期间,第二比特率可以与第一比特率相同。
49.在一些情况下,服务器170可以确定内容145可以对应于用户(例如,用户121)可以完整消费的特定节目(例如,用户正在等待的节目,例如体育赛事)。关于用户121正在消费的内容145的类型的这种信息也可以影响对预期用户121消费内容145的时长的估计。在一些情况下,当确定内容145是用户121的喜爱内容时,服务器170可以向应用146提供关于用户对内容145的喜爱度的指示,并且应用146可以在确定用户121的用户设备151的比特率时考虑该指示。在一些实施例中,当经由请求141请求内容时,请求141可以包括用户的信息(例如,对不同类型的内容的偏好)、关于用户习惯的信息(例如,用户121在坐地铁通勤期间观看体育节目)等。当确定用户121的用户设备151的比特率时,应用146可以考虑该信息。
50.在各种实施例中,数据系统106的数据库112可以存储与不同的流内容相关的数据。在一些情况下,数据库112可以存储与内容的编码相关的信息。例如,如果找到了视频流的编码,该编码能够适应该流并保持恒定目标视频质量(vq)、或者将目标vq保持在一个范围的值内,则这种编码可以被存储在数据库112中。如图1所示,该优选编码可以经由数据147或者作为数据145的一部分被传输给边缘计算系统(例如,系统131),并且可以被应用146用于对内容145的片段进行编码。允许边缘计算系统131提供广播的编码可能是有益的,以便向用户设备150提供具有选定的比特率的片段。边缘计算系统131处的进一步处理减少了cdn 180的计算负荷。例如,在一些情况下,cdn 180可能服务于数千或数百万用户设备,并且要求cnd 180对每个请求的内容进行编码可能导致内容传输产生延迟。或者,考虑到边缘计算系统131仅服务于有限数量的设备(例如,一个设备、十个设备、一百个设备、几千个设备或几万个设备),而这些设备可以大约同时发起对内容的请求,那么边缘计算系统131可以具有足够的处理能力来为所有内容接收用户设备150编码内容。
51.图2示出了具有各种网络单元(例如,网络单元211)的网络单元200的示例地图,包括网络流量的指示。可以使用网络流量的任何合适的指示。例如,在图2中,网络流量的指示
由针对每个小区示出的移动设备的数量来表示。如前所述,服务器120可以收集关于网络流量的信息,并将网络流量信息发送给abr服务器160。在各种实施例中,服务器120可以进一步被配置成预测未来的网络流量。例如,曲线图215示出了在一周中选定的一天期间的作为时间的函数的预期流量。服务器120可以使用任何合适的手段来预测这一天中的网络流量。例如,服务器120可以访问先前多天收集的网络流量的数据,并通过对先前多天的网络流量的数据求平均来获得给定一天的网络流量的估计值。例如,可以收集与先前的多个星期天的网络流量相关的数据并进行平均,以获得星期天的网络流量的估计值。在某些情况下,可能会使用更复杂的方法,如时间序列分析或机器学习算法。在一个示例实施例中,当预测未来网络拥塞时,可以使用季节性自回归综合移动平均(sarima)方法来识别每日、每周和季节性模式。
52.在一些情况下,网络流量可能受到特定事件的影响,并且服务器120可以解决这样的事件。例如,如果周日有特定事件(例如,音乐会),这样的事件可以修改常规网络流量,并且可以通过分析具有类似事件的先前的多个周日的网络流量来解决。
53.在某些情况下,网络流量可能取决于不可预测的事件(例如,交通堵塞、道路事故、由于天气、飓风、龙卷风、火灾、地震等造成的拥堵)。在一些情况下,网络流量可能落后于物理流量(例如,与道路拥堵相关的道路流量),并且可以通过分析物理流量来预测。例如,服务器120可以被配置成分析道路上的交通情况(例如,可以识别道路交通堵塞),并且基于关于交通堵塞的信息(例如,关于汽车移动多快的信息)来估计网络流量。
54.如图2中的曲线图215所示,服务器120可以估计几个时间点(例如,网络流量可能经历相应峰值225、226和227的时间点t1、t2和t3)。例如,峰值225可以对应于早晨通勤时间,峰值226可以对应于午餐时间,峰值227可以对应于晚餐时间之后的晚上。应当注意,每个网络单元可能经历其独特的流量模式。例如,峰值227可能出现在与住宅区相关联的网络单元中,但可能不出现在商业区中。此外,可以理解,预期流量可以因不同日期、不同周、不同月份等而发生变化。引起网络流量的进一步变化的可能原因是天气模式、区域内的人口变化以及道路、商业设施、商店、博物馆、公园等的开放或关闭。
55.在各种实施例中,系统100可以被配置成向每个应用提供数据,系统100可以是具有多路接入边缘计算系统130的4g或5g网络系统。在这种配置中,网络拥塞可以由边缘计算系统131确定,而不一定由服务器120确定。例如,服务器120可以被配置为预测网络流量,但是关于正在进行的网络流量的信息可以被边缘计算系统131获得。在一些情况下,边缘计算系统131可以将关于系统131观察到的网络流量的信息传输给服务器120以供进一步处理。例如,服务器120可以存储从系统131获得的网络流量相关信息,并使用该信息来进一步预测网络流量。在各种实施例中,通过保存不同时间的网络流量数据,可以使用现代时间序列算法来预测给定网络单元的流量的每小时趋势、每天趋势和季节趋势。在某些情况下,不同设备的网络流量可能会有所不同。例如,静态大屏幕设备的网络流量可能不同于移动设备的网络流量。
56.图3a示出了一个示例实施例,其中计算系统131可以服务区域321中的设备,并且计算系统132可以服务区域323中的设备。例如,系统131可以从/向移动设备151接收/发送数据,并且系统132可以从/向移动设备152接收/发送数据。如图3a所示,区域321和323可以覆盖多个网络单元200。
57.在各种实施例中,服务器120可以通过分析网络单元200内的流动(flow)311来预测网络流量。网络流量中的流动可以对应于用户设备150的物理移动,并且可以通过分析设备150的移动来进一步分析网络流量中的流动。例如,如果道路上存在汽车拥堵,则可以预测这种拥堵会沿着道路移动。可以使用任何合适的方法来分析交通流动(例如,使用交通流动理论的模型,如nagel-schreckenberg模型,使用交通方程等)。
58.除了分析整体交通流之外,服务器120可以被配置成跟踪各个用户设备的运动。例如,图3b示出了正在沿着道路340移动的用户设备151和正在沿着铁路轨道346移动的用户设备152。用户设备151和152可以与其各自的边缘计算系统131和132通信,其中边缘计算系统131和132可以收集关于设备151和152的位置信息并将该位置信息传输给服务器120。服务器120可以被配置成分析设备151和152的运动,并预测这些设备的未来位置。例如,服务器120可以预测设备152可能继续沿着铁路轨道346移动,并且设备151可能继续沿着道路340移动。服务器120可以通过基于设备的速度外推用户设备151和152的位置来预测用户设备151和152的未来位置,和/或服务器120可以基于历史观察数据来预测设备运动。例如,如果设备151频繁地从点a移动到点b,如图3b所示,则服务器120可以推断设备151可能会沿着道路340前进并到达拥堵区域342。类似地,服务器120可以推断设备152可能会沿着铁路轨道346前进并到达拥挤区域342。在各种实施例中,网络单元351和352可能具有较少的网络流量,并且服务器120可以将网络流量信息传输给各自的计算系统131和132。系统131可以确定设备151可以使用高比特率bd1,系统132可以确定设备152可以使用高比特率bd2。与位于拥塞区域342附近的网络单元相关联的边缘计算系统可以确定区域342中的设备只可使用低比特率bd3。在各种实施例中,边缘计算系统130可以与服务器120和abr服务器160交换网络流量信息,以确定不同网络单元中的用户设备可以使用什么比特率。如图3b所示,用户设备可以与边缘计算系统131和132交互,并且计算系统131和132可以与服务器160和120交互。因此,系统100的所有设备都可以使用关于用户设备151和152的位置的信息,如图1所示。
59.而在一些实施例中,系统131的应用146可以确定使用比特率bd1来向用户设备151提供高分辨率视频流,在替换实施例中,知道用户设备151将进入只可使用bd3比特率的拥塞区域342,应用146可以被配置为向用户设备151提供比特率bd3支持的视频流的分辨率。这种方法可以防止设备151的用户在用户设备151进入比特率为bd3的区域342时体验分辨率损失。在替换实施例中,应用146可以确定比特率bd4(图3b中未示出),该比特率bd4可以小于bd1但大于bd3。当以bd4的比特率向用户设备151提供视频数据时,应用146可以预加载视频流的一些数据,使得当用户设备151进入区域342时,不会经历视频数据分辨率的降低。在各种实施例中,视频点播内容可以被预加载,而直播流只有在用户设备151上延迟播放时才能被预加载。在一些实施例中,应用146可以被配置为为设备151的视频流选择比特率bd4和缓存足够量的数据,使得视频分辨率不会随着用户设备151经过拥塞区域342而降低。在其他情况下,取决于比特率bd1、bd3和bd4的值,应用146可以被配置成将用户设备从以比特率bd4接收视频数据缓慢地转换到以比特率bd5接收数据(例如,比特率bd5可以对应于网络单元353,如图3b所示)。与以bd1的高分辨率向用户设备提供视频流、然后当用户设备151进入区域342时将分辨率急剧降低到bd3、然后当用户设备151进入网络单元353时将分辨率提高到bd5相反,从bd4到bd5的这种缓慢转变可以提高用户满意度。
60.应当注意,具有集中式服务器120和160可能是有利的,因其可以控制到与不同设备的网络流量和比特率相关的各种边缘计算系统的信息的整体传输。例如,类似于设备151,可以在考虑到设备151和152的位置、设备151和152的运动以及其他因素(例如,用户121(如图1所示)和用户122观看的节目的类型、用户121和122的简档等)的基础上分配设备152的比特率。在各种实施例中,服务器170可以维护关于用户121和122的偏好的信息,并且这种信息可以进一步用于修改用户设备151和152的比特率,以向用户121和122提供最大满意度。
61.应当注意,关于如何为不同用户分配比特率的各种考虑是相互依存的,并且迭代过程可以用于获得最大的净用户满意度。净用户满意度可以是通过对用户满意度进行平均而计算出的数值。如前所述,用户满意度可以由数值来表示,该数值可以是取决于下面结合图4描述的各种因素的函数。用户满意度可以受到公平性约束的制约,从而得到优化,该公平性约束包括向各种用户设备提供比特率的公平分配。
62.图4示出了可能影响用户满意度的各种因素。这些因素可以被服务器120、170、abr服务器160和/或边缘计算系统的应用146控制。如先前关于图2和图3所解释的,服务器120可以是网络分析服务器,其被设计成预测网络流量并收集网络流量的信息。服务器120可以收集关于一组网络单元(例如,如图2和3所示的小区200)的网络流量的信息,并将关于网络流量的信息传输给边缘计算系统(例如,系统131)。在各种实施例中,服务器120也可以将网络流量信息传输给abr服务器160和cvba服务器170,如图4中相关箭头所示。abr服务器160可以被配置为从服务器120和170收集信息,并为与给定边缘计算系统通信的用户设备(例如,与系统131通信的设备151)选择最佳比特率选择策略,以优化用户满意度。如图4所示,边缘计算系统131的应用146还用于通过确定用户设备的分配比特率以及数据流的比特率来控制用户满意度。
63.用户满意度可以是用户体验质量的数字度量,并且可以取决于下面概述并在图4中示出的几个关键因素。第一个因素(这里称为公平性401)可能要求边缘计算系统131所服务的网络单元中的所有设备(具有相同屏幕尺寸)的平均比特率是相同的。在各种实施例中,可以给第一因素分配数值。例如,当第一因素为零时,观察到低公平性(例如,不同设备的比特率差异很大),而当第一因素为一百时,观察到高公平性(例如,所有设备的(平均)比特率是相同的)。平均比特率可以通过对一分钟、几分钟、十分钟、一小时等时间段内的比特率进行平均而计算得出。abr服务器160可以为用户设备150的用户121-123确定公平性401的值以及用户满意度受公平性401影响的程度。
64.用户121-123可能期望来自内容分发系统的公平性,并且如果没有观察到公平性,则可能不会加入内容分发网络。在一些实施例中,公平性的最佳测量可能不是通过比特率而是通过发送到用户设备150的流数据的质量实现的。例如,用户121-123可能期望边缘计算系统131所服务的网络单元中的所有设备(具有相同屏幕尺寸)都具有同等平均质量的流数据。应当注意,不同设备的流数据质量可能相同,但比特率可能不同。例如,对于收听音频的用户设备,声音的质量可能与播放视频文件的另一设备的声音质量相同。音频的比特率可能低于视频的比特率。在一些情况下,不包含帧间显著变化的一些视频流(例如,对应于新闻节目的视频内容)可以具有与包含帧间显著变化的视频流(例如,对应于动作电影的视频内容)相同的视频质量,而其所需的比特率明显更低。例如,新闻节目可以使用第一种类
型的编码,动作电影可以使用第二种类型的编码,其中新闻节目和动作电影的视频质量(以适当的度量进行评估)可以是相同的。然而,第一编码使用的比特率可以显著小于第二编码使用的比特率。
65.可以使用任何合适的方法来确定目标视频质量。例如,客观测试可以通过找到原始内容和已编码内容之间的差异来计算由于编码导致的视频流的失真量。称为信噪比(snr)的一种简单而常见的方法是客观测量的一个很好的例子,其通过将编码引起的失真表示为噪声来量化失真。客观测试可以因不同的数字内容而异,并且可以包括频谱失真(sd)、均方根误差(rmse)、均方误差(mse)、峰值信噪比(psnr)和分段信噪比(segsnr)。应当注意,可以对图像/视频质量评估度量(iqa)执行任何其他合适的测试,其可以包括确定已编码视频流的结构相似性度量(ssim)、或视频多方法评估融合(vmaf)度量、或流视频质量度量(svq)、或平均帧qp度量。
66.如上所述,公平性因素401可以暗示网络单元内任何设备的视频流(或音频)的平均分辨率可以保持不变。因此,可以选择不同设备的比特率,使得网络单元中所有设备的平均分辨率都相同。在一些情况下,对于一些设备,可以基于设备的屏幕类型或屏幕尺寸来限制比特率。在一些情况下,可能没有严格遵守公平性401。例如,刚刚加入网络单元的用户设备可以暂时接收到较高的比特率,以平滑地进行从高比特率到较低比特率的比特率转换。在一些实施例中,较短的观看会话可以比较长的观看会话接收更大的比特率,因为较短的会话可以减少网络流量。在一些情况下,静态设备(即,电视机等非移动设备)可以接收更高的比特率。
67.第二个因素(这里称为稳定性402)可能要求流数据的质量不会由于网络流量的变化而快速改变。例如,如果视频质量(例如,视频分辨率)快速地从高到低变化(例如,在一分钟、几分钟、五分钟等时间内),则用户满意度可能较低。在一些情况下,当分辨率变化高达5%时,这种变化可能会导致用户满意度降低。稳定性402可以对各种用户造成不同的影响。例如,设备151的用户121可能对不稳定的比特率非常不满意,而设备152的用户122几乎不受不稳定的比特率的影响。
68.在各种实施例中,可以分配数值给第二因素。例如,当第二因素为0时,观察到低稳定性(例如,比特率可能随时间急剧变化),而当第二因素为100时,观察到高稳定性(例如,比特率与时间的函数大多是恒定的)。可以通过计算一分钟、几分钟、十分钟、一小时等时间段内的比特率变化来计算比特率的变化。cvba服务器170可以为用户设备150的用户121-123确定稳定性402的值以及用户满意度受稳定性402影响的程度。在各种情况下,应用146可以被配置成当在视频会话期间增加的比特率使得观看会话十分稳定(即,稳定性因素402高)时,增加用户设备(例如,设备151)的比特率。应当注意,第二因素提供了关于用户设备151的比特率稳定性的相当简化的指示,并且可以使用指示比特率随时间而发生的变化的其他更精确的度量。例如,可以使用比特率与时间的函数的时间导数,以及基于时间导数而计算出的各种统计量。例如,可以使用给定时间段上的时间导数的平均值、给定时间段上的时间导数的标准偏差等。在一些情况下,当设备151从一个网络单元移动到另一个网络单元时(例如,当设备151进入拥塞的网络单元,同时以比分配给该拥塞的网络单元的比特率更高的比特率来消费流内容时),设备(例如,设备151)的比特率可以被配置为在给定的时间段(之前也称为稳定期)内不发生显著改变(即,时间导数的平均值可以大约为零)。第三个
因素(这里称为比特率降低403)可能要求流数据的质量不会随时间而下降(或者不会随时间显著下降)。例如,如果流数据的质量下降,用户满意度可能会显著下降。在一些情况下,更为优选的可能是向用户提供比在流会话开始时可以提供给用户的高质量流数据质量更低的流数据,以避免在稍后将流数据的质量从高质量降低到较低质量时用户产生不满。在各种实施例中,当预测比特率稍后不太可能降低时,可以增加设备的比特率。例如,如果服务器120和160预测(基于关于网络流量的信息)在一分钟、五分钟、十分钟等时间窗口内不需要降低比特率,则边缘计算系统131的应用146可以增加用户设备的比特率。要求比特率的稳定性的时间窗口可以是关于会话类型(例如,视频点播会话、线性电视等)的函数、关于内容类型(例如,新闻、体育、电影等)的函数或关于用户行为的函数(例如,在给定的时间段内观看单个电视节目的用户可能要求比特率在该给定的时间段内保持稳定,而观看视频剪辑的用户可能不要求比特率在较长的时间段内保持稳定)。
69.在各种实施例中,可以分配数值给第三因素。例如,当第三因素为0时,观察到较大幅度的比特率降低(例如,比特率可能随时间变化很大),而当第三因素为100时,没有观察到比特率降低(当第三因素为100时,比特率可能增加)。cvba服务器170可以为用户设备150的用户121-123确定比特率降低403的值以及用户满意度受比特率降低403影响的程度。
70.第四因素(此处称为平滑过渡404)可能要求当移动设备从一个网络单元过渡到另一个网络单元时,流数据的质量不会迅速改变。流数据的质量的任何快速下降都可能导致低用户满意度(即,显著的用户不满)。类似地,当从拥塞的网络单元移动到流量较少的网络单元时,优选的方法是缓慢地提高流数据的质量。与其他因素类似,可以分配数值给第四因素。例如,当第四因素为0时,比特率可能快速变化,当第四因素为100时,可能观察不到比特率变化。cvba服务器170可以为用户设备150的用户121-123确定比特率变化404的值以及用户满意度受比特率变化404影响的程度。
71.图5a示出了几个曲线图501、502和503,其显示了比特率与时间的函数。例如,曲线图502示出了比特率b2围绕比特率值b发生多次波动的比特率。这种波动可能导致低稳定性因素402。曲线图503可以示出比特率b3在比特率降低之后升高。比特率b3的降低可能导致低比特率降低因素403。由于低因素402和403,曲线图502和503的情况可能导致低用户满意度。另一方面,由于稳定性因素402的高值和因素403的高值,曲线图501可能使得用户满意度更高。如曲线图501所示,即使比特率b1可能低于b(与曲线图502和503中比特率b2和b3高于b的一些区域相反),曲线图501的用户满意度可能更高。
72.图5b示出了用户满意度的示例,用户满意度可以具有分配的数值,且可以取决于结合图4描述的因素401-404。在示例实施例中,用户满意度的值可以根据各种因素(例如,如图5b所示的因素402和403)的值而发生改变。例如,当因素402的值为f1并且因素403的值为f2,用户满意度的值可以是s,如图5b所示。在各种实施例中,服务器120、160和170以及边缘计算系统130的应用146一起可以被配置为优化每个网络单元的净用户满意度,对于给定的网络单元,该净用户满意度可以是该单元内所有用户满意度的平均值(或加权平均值)。可以使用任何合适的方法来选择加权平均的权重。例如,较大的静态设备的权重可能大于较小的移动设备的权重。在一些情况下,可以基于用户(例如,用户121)向内容服务提供商支付的情况来选择权重。
73.图6示出了根据本公开实施例的用于向用户设备提供比特率的示例过程600。在过
程600的步骤611,系统100(如图1所示)可以被配置成使用例如服务器120来确定网络流量,如前所述。在示例实施例中,可以将关于网络流量的至少一些信息经由服务器110从边缘计算系统传输到服务器120。例如,如图1所示,包括网络流量信息的数据144可以由系统131经由服务器110传输到服务器120。在示例实施例中,服务器120还可以用于预测未来时间的网络流量。所确定的网络流量可以被传输到服务器160,用于确定选择策略142a或142b,如图1所示和先前所述。此外,在步骤611,所预测的网络流量和选择策略可以被传输到边缘计算系统130之一。例如,如图1所示,策略142a可以被传输到边缘计算系统131。
74.在步骤612,边缘计算系统(例如,系统131)可以被配置为确定系统131每单位时间可处理的流数据的量(边缘计算系统131的流数据比特率)。流数据比特率的确定取决于系统131的硬件(例如,系统131可使用的处理器的数量、系统131可使用的存储器容量、与系统131相关联的一个或多个收发器的带宽等)。此外,流数据比特率可能受到系统131的软件(例如,应用146)的影响。在各种实施例中,在步骤612,系统131可以基于系统131的总的流数据比特率和连接到系统131的用户设备的数量来确定总的流数据比特率和分配给不同用户设备150的比特率。此外,可以将关于当时(季节、月份、星期几等)连接的设备的数量的历史数据考虑在内。
75.在步骤613,边缘计算系统(例如,系统131)可以从用户设备(例如,设备151)接收对数据流的请求,并且该请求可以由系统131转发给服务器190以获得所请求的数据。
76.在步骤615,系统100可以使用服务器120来估计设备151的未来位置。例如,如果设备151正在沿着一段道路(例如,高速公路)行进,或者如果设备151的用户121正在使用公共交通工具(例如,火车、公交车等),则可以预测设备151的一些未来位置。例如,如果设备151正从点a行进到点b(如图3b所示),则可以预测设备151的未来位置会在设备151行进的道路340沿线。或者,可以使用一个或多个边缘计算系统130来估计设备151的未来位置,并且可以将估计的未来位置从一个边缘计算系统传输到另一个边缘计算系统。边缘计算系统131可以预测设备151将进入区域342,如图3b所示。这种信息可以被传输到系统132。
77.在步骤617,系统100可以被配置成使用服务器170来估计用户121的用户数据消费。例如,服务器170可以确定用户在使用公共交通工具从点a行进到点b(如图3b所示)时通常会消费30分钟的特定电视节目的视频。然后服务器170可以向abr服务器160和/或边缘计算系统131的应用146传输典型的消费模式(对于特定时间和特定用户)。在一些情况下,服务器170可以确定用户设备的用户(例如,设备152的用户122)仅观看小视频剪辑。这种信息可以被传输到系统131的应用146,用于进一步确定如何为不同的用户设备分配比特率。此外,在步骤617,如上所定义的,应用146可以基于用户消费模式、内容类型等来计算稳定期。
78.或者,在步骤617,系统100可以被配置为使用边缘计算系统(例如,系统131)来从用户(例如,用户121)接收包含用户的观看模式以及用户的典型通勤和/或典型位置(或多个位置)的简档。另外,计算系统131可以从数据系统106获得关于设备151所请求的内容的细节,例如内容的类型(例如,电影、新闻等)、标题、体裁、内容的持续时间等等。然后服务器170可以基于内容细节(例如,内容的类型)来帮助确定比特率选择策略142a。
79.在步骤619,当可以进行预加载时,应用146可以确定内容145的一些片段可以被预加载到用户设备(例如,用户设备151)。在示例实施例中,这种预加载可以用于允许设备151在不显著降低比特率的情况下穿过拥塞区域(例如,如图3b所示的区域342),因此不会降低
流数据的质量。
80.在步骤621,应用146可以被配置成确定内容145的片段的比特率。例如,基于关于网络流量和预期的未来网络流量的信息,应用146可以被配置成确定用于编码内容145的片段的比特率。此外,应用146还可以被配置成确定用户设备150的比特率调度,以最大化净用户满意度,下面将对此进行进一步的描述。
81.用户设备(例如,设备151)的比特率调度为设备151确定比特率的时间依赖性。在最大化净用户满意度的同时,应用146可以被配置为尝试优化(即,最大化)每个用户(例如,用户121-123,如图1所示)的用户满意度。然而,在示例实施例中,如果一个用户(例如,用户123)的用户满意度的小下降可能导致用户121和122的用户满意度显著增加,则有必要降低用户123的用户满意度,以实现总体最大净用户满意度。因此,给定设备的比特率不一定是恒定的,而是可以随着时间发生细微的改变。可以为每个用户设备确定比特率随时间的这种变化(即,比特率调度),以优化所有用户的满意度。由于增加/减少的流量、系统131的硬件维护或可能影响连接到系统131的用户设备的比特率的任何其他因素,比特率可能随时间而改变。基于关于网络拥塞、用户消费模式等的信息,比特率调度不仅能够确定当前时间的比特率分配,还能确定未来时间的比特率分配。应用146可以根据最新接收到的关于网络流量、用户偏好等的信息,来周期性地重新评估用户设备150的比特率分配。应用146可以通过选择设备150的比特率来优化净用户满意度。在各种实施例中,应用146可以被配置为优化位于给定网络单元的设备150的净用户满意度。为了优化净用户满意度,应用146可以使用如上所述的因素401-404的组合以及关于网络流量的信息。例如,可以通过最大化数据流的稳定性、最小化用户设备的比特率损失、提供从一个网络单元到另一个网络单元的平滑的比特率过渡以及为位于网络单元中的用户设备150提供相等的比特率来最大化用户满意度。在各种实施例中,优化用户满意度可以包括优化用户满意度的平均值,其中可以在一段时间(例如,一分钟、几分钟、十分钟、一小时等)内计算平均值。在各种实施例中,净用户满意度可以是用户121-123的用户满意度的平均值。
82.在各种实施例中,应用146可以被配置成基于提供给用户设备151的过去的比特率来确定用户设备(例如,设备151)的未来比特率调度。例如,应用146可以被配置成记录用户设备151的比特率历史,并且使用该比特率历史作为附加信息,来提高用户满意度。例如,比特率历史可用于确保用户设备151的比特率在未来不会显著降低(即,因素403高(小幅比特率降低))。在示例实施例中,如果用户设备151刚刚从相邻网络单元移动到网络单元中,则设备151的比特率可以与先前单元中使用的比特率相同,以保持从一个网络单元到另一个网络单元时的比特率的平滑过渡。在用户设备151在网络单元中发起流会话的情况下,设备151可以获得与位于该网络单元中的(具有与用户设备151相同的屏幕尺寸的)其他用户设备相同的比特率分配。
83.类似于可能依赖于时间的比特率调度,用于编码用户设备151的内容145的比特率作为时间的函数而变化。应用146可以基于网络流量、预测的网络流量或与设备151的移动相关的其他因素来确定作为时间的函数的比特率。例如,如果设备151正在从由边缘计算系统131管理的第一网络单元移动到由边缘计算系统132管理的第二网络单元,则系统132的应用146可以为设备151提供与在第一网络单元中为用户设备151提供的比特率相同的比特率。另外,应用146可以为用户设备151提供与在第一网络单元中为用户设备151提供的比特
率相同的比特率。
84.在步骤623,边缘计算系统130可以向用户设备150提供内容145的片段的清单文件143(如图1所示),并且用户设备150的播放器可以检索该片段以供回放。
85.还应当注意,边缘计算系统的应用146可以用于最大化净用户满意度,应用146也可以被配置为高效地分配比特率,即应用146可以被配置为向位于给定网络单元中的设备150提供该网络单元的所有(或大部分)可用比特率。
86.此外,在一些实施例中,用户121的比特率分配可以取决于用户121消费的内容的类型。例如,如果用户121正在下载工作相关的文件,并且用户122正在玩视频游戏,则应用146可以被配置成为用户121分配比用户122更大的比特率。在另一实施例中,如果用户122正在流式传输视频数据,并且用户121正在下载文件,则用户122的比特率可以被配置得更高。
87.应当注意,服务器120-170的一些(或全部)操作可以由边缘计算系统130完成。在示例实施例中,边缘计算系统131可以使用可以执行服务器120-170的操作的任何合适的软件应用,并且使用应用146为位于系统131服务的区域(例如,网络单元)中的设备分配比特率。
88.在各种实施例中,系统131可以经由服务器120-170与其他边缘计算系统(例如,系统132)交换信息,以获得相邻网络单元处的网络流量、选择策略和用户偏好。在各种实施例中,可以经由服务器120-170在计算系统131和132之间交换任何合适的信息。
89.这里描述的用于优化净用户满意度的各种方法仅仅是说明性的,并且可以使用其他方法。在各种情况下,因素401-404可以影响净用户满意度。随着用户观看习惯的改变、网络条件的改变以及每个屏幕类型和尺寸的分配比特率的改变,可以变换优化净用户满意度的方法。此外,应当注意,使用边缘计算系统实现比特率分配可以实现瘦客户端的使用。此外,当在服务器或边缘计算系统上实现时,比特率分配算法可以与播放任何合适的视频格式(例如,hls、hss或dash)的任何合适的播放器一起工作。
90.所公开的系统和方法可以适用于各种数据流服务,并且可以适应不同的传送基础设施。例如,所公开的系统和方法可以与多种编码、加密和打包技术一起使用。所公开的方法可以与多种打包技术一起使用,例如通用媒体应用格式(cmaf)、mpeg-dash、http直播流(hls)等等。此外,所公开的系统和方法可以独立于客户端使用的流模式。此外,所公开的系统和方法可以与任何版本的一个或多个http和缓存协议一起工作。
91.如上所述,如图1所示,系统100可以包括各种设备,例如处理器、存储器设备和各种用户设备(例如,设备150)。例如,用户设备150可以包括被配置成执行根据本公开实施例的一个或多个操作的一个或多个计算设备。例如,用户设备150可以包括台式计算机、笔记本电脑、服务器、移动设备(例如,平板电脑、智能手机等)、机顶盒、游戏设备、可穿戴计算设备或另一种类型的计算设备。用户设备150可以包括被配置为执行存储在存储器中的软件指令的一个或多个处理器,例如用户设备150中包括的存储器,其用于执行实现与请求内容、接收内容和播放内容相关的功能的操作。用户设备150可以被配置用于有线和/或无线通信,并且可以包括软件,该软件由处理器执行时执行互联网相关的通信(例如,tcp/ip)和内容显示过程。例如,用户设备150可以执行生成和显示界面的浏览器软件,该显示界面包括包含在用户设备150中或连接到用户设备150的显示设备上的内容。用户设备150可以执
行一个或多个应用,这些应用允许用户设备150通过系统100与组件通信,并且经由用户设备150中包括的显示设备在界面中生成和显示内容。例如,用户设备150可以显示媒体播放器以输出从边缘计算系统131接收的内容。
92.所公开的实施例不限于用户设备150的任何特定配置。例如,客户端设备150可以是移动设备,其存储和执行应用以执行请求、接收和播放内容的操作。在某些实施例中,用户设备150可以被配置为执行与位置服务(例如gps位置)相关的软件指令。例如,用户设备150可以被配置成确定地理位置,并向边缘计算系统131提供位置数据和对应于该位置数据的时间戳数据。
93.如上所述,如图1所示,系统100可以包括云系统105、数据系统106和边缘计算系统130。服务器110-170、cdn 180和服务器190(这里称为服务器110-190,因为cdn 180可以包括一个或多个服务器)可以包括执行存储和提供内容的操作的一个或多个计算系统。服务器110-190可以包括数据库,该数据库包括内容,例如视频或电影。服务器110-190还可以包括处理器,该处理器执行用户设备150、用户设备150的用户的认证功能,和/或基于客户端id和/或安全令牌解析客户端身份。在一些实施例中,服务器110-190可以包括被配置成以不同格式编码内容和打包内容的处理器。此外,服务器110-190可以包括解析url的处理设备。在一些实施例中,服务器110-190可以包括多个核心处理器,以同时处理多个操作和/或流。例如,服务器190可以包括并行处理单元,以同时处理多个用户设备150的请求。
94.数据库111和112可以包括一个或多个配置有适当软件的计算设备,以执行向服务器110提供内容的操作。数据库111-112可以包括例如oracle
tm
数据库、sybase
tm
数据库或其他关系数据库或非关系数据库,例如hadoop
tm
序列文件、hbase
tm
或cassandra
tm
。在说明性实施例中,数据库111(或数据库112)可以包括计算组件(例如,数据库管理系统、数据库服务器等),其被配置成接收和处理对存储在数据库的存储器设备中的数据的请求,并提供来自数据库的数据。
95.数据库111可以被配置成收集和/或维护与用户账户和用户偏好相关联的数据。例如,数据库111可以存储关于用户权限的信息。数据库111可以从各种来源(包括例如在线资源)收集数据。
96.网络系统100可以包括各种计算组件之间的任何类型的连接。例如,网络系统100可以促进经由网络连接的信息交换,网络连接可以包括互联网连接、局域网连接、近场通信(nfc)或使得能够在系统100的组件之间发送和接收信息的其他一个或多个合适的连接。在一些实施例中,系统100的一个或多个组件可以通过一个或多个专用通信链路直接通信。
97.如上所述,边缘计算系统131可以向用户设备151发送内容。系统131可以将内容存储在本地存储器中,例如与系统131相关联的缓存基础设施、本地代理和/或http缓存能力。在一些实施例中,系统131可以执行诸如路由内容、解析域系统、处理内容请求以及创建与用户设备150的会话以进行内容传送的功能。系统131可以从其他计算系统(例如,如图1所示的服务器110-170)中获得信息,为用户设备150安排信息,并将其传送给用户设备150。在这样的实施例中,系统131可以被配置成并行处理多个流,例如向多个用户设备150提供不同的数据流。此外,系统131可以被配置成向用户设备150提供认证凭证。例如,系统131可以在会话启动时提供安全cookie或等同的认证技术。
98.在一些实施例中,边缘计算系统131可以采取服务器、通用计算机、大型计算机或
这些组件的任意组合的形式。在其他实施例中,边缘计算系统131可以是虚拟机。系统131可被配置成直接或经由网络连接与一个或多个数据库(例如数据库111和112)以及系统100的其他元件通信。
99.系统131可以包括一个或多个存储设备,其被配置为存储由系统131的处理器使用的指令,以执行与所公开的实施例相关的功能。例如,存储器存储设备可以存储软件指令。
100.在一些实施例中,系统131的处理器可以包括一个或多个已知的处理设备,例如但不限于来自intel
tm
制造的pentium
tm
或xeon
tm
系列、amd
tm
制造的turion
tm
系列的微处理器,或者来自其他制造商的各种处理器中的任何一种。然而,在其他实施例中,处理器可以是被耦合和配置成执行根据本公开的功能的多个设备。例如,处理器可以包括多个协处理器,每个协处理器被配置成运行特定的边缘计算系统131操作,例如浮点运算、图形、信号处理、字符串处理、密码术或i/o接口。在一些实施例中,处理器可以包括现场可编程门阵列(fpga)、中央处理单元(cpu)、图形处理单元(gpu)等。
101.应当理解,为了描述的方便,这里已经定义了网络系统100的组件的配置和功能。只要指定的功能及其关系被适当地执行,就可以定义替代配置。替代物(包括本文所描述的物体的等同物、延伸物、变体、偏差等)将是显而易见的。这种替代物被包含在所公开的实施例的范围和精神内。
102.前面的描述是为了说明的目的而给出的,而不是穷尽的,并且不限于所公开的精确形式或实施例。考虑到所公开的实施例的说明书和实践,实施例的修改和改编将是显而易见的。例如,虽然某些组件已经被描述为彼此耦合,但是这些组件可以彼此集成或者以任何合适的方式分布。
103.此外,尽管本文已经描述了说明性实施例,但是范围包括基于本公开的、具有等同元素、修改、省略、组合(例如,跨越各种实施例的方面)、改编和/或变更的任何和所有实施例。权利要求中的元素将基于权利要求中使用的语言被广义地解释,并且不限于在本说明书中或在申请过程中描述的例子;这些例子应被解释为非排他性的。此外,可以以任何方式修改所公开的方法的步骤,包括重新排序步骤和/或插入或删除步骤。
104.根据详细的说明书,本公开的特征和优点是显而易见的,因此,所附权利要求旨在涵盖包含于本公开的真实精神和范围内的所有系统和方法。如本文所用,不定冠词“一个”和“一”表示“一个或多个”。类似地,复数术语的使用不一定表示多个,除非给定的上下文中对此已有明确规定。诸如“和”或“或”的词语是指“和/或”,除非另有明确指示。此外,由于通过研究本公开,很容易想到许多修改和变化,所以不希望将本公开限制于所示出和描述的确切构造和操作,因此,可以采取的所有合适的修改和等同物都包含在本公开的范围内。
105.考虑到本文所公开的实施例的说明书和实践,其他实施例将是显而易见的。说明书和示例仅被认为是示例,所公开的实施例的真实范围和精神由所附权利要求指出。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献