论文学习笔记(二)

Requet: Real-Time QoE Metric Detection for Encrypted YouTube Traffic

摘要

开发并提出了一个系统的实时质量的经验度量检测加密流量-Request,这是适合于网络中间盒部署

Request介绍

Requet使用我们开发的检测算法来从加密流量的IP报头中识别视频和音频块。从块统计中提取的特征被用作机器学习算法的输入以预测QoE指标,具体地,

  • 缓冲器警告(低缓冲器、高缓冲器);
  • 视频状态(缓冲器增加、缓冲器衰减、稳定、停止);
  • 视频分辨率。

Request数据集

收集了一个大型的YouTube数据集,其中包含通过各种WiFi和LTE网络条件传输的各种视频资产,以评估性能。

Request实验结果

Requet在预测缓冲区低警告,视频状态和视频分辨率的准确性方面分别优于基线系统1.12倍,1.53倍和3.14倍。

Ⅰ 介绍

内容提供商、内容交付网络(CDN)和网络运营商都是互联网视频行业的利益相关者。他们希望监控用户视频体验质量(QoE)并加以改进,以确保用户参与度。内容提供商和CDN可以通过使用服务器端日志来测量客户端QoE指标,例如视频分辨率。

  1. 内容提供商(Content Provider): 内容提供商是指那些创建、拥有并发布网络内容的个人、组织或公司。他们可以是新闻网站、视频分享平台、社交媒体公司、在线游戏服务商等。内容提供商负责生成和更新内容,以供用户访问和消费。(内容)

  2. 内容交付网络(Content Delivery Network,CDN): 内容交付网络是一种分布式网络服务,它帮助内容提供商更高效地将内容分发到全球用户。CDN通过在世界各地部署服务器,将内容的副本存储在离用户更近的地方,从而减少数据传输延迟,提高内容加载速度,改善用户体验。当用户请求内容时,CDN会自动将用户重定向到最近的或负载最小的服务器。(软件)

  3. 网络运营商(Internet Service Provider,ISP): 网络运营商是指提供互联网接入服务的公司,它们负责构建和维护网络基础设施,包括光纤、电缆、无线信号等,以使个人和企业能够连接到互联网。网络运营商还负责管理网络流量,确保数据的顺利传输,并提供各种互联网服务套餐。(硬件)

客户端测量应用程序可以准确地报告QoE指标,例如播放器事件和视频质量水平

传统上,深度数据包检测(DPI)使运营商能够检查HTTP数据包流并提取视频会话信息以推断QoE指标

端到端加密的趋势不会影响客户端或服务器端的QoE监控,因为这些监控方法通常依赖于服务器日志或客户端应用程序来测量视频质量指标,如视频分辨率和播放事件。这些方法不涉及对数据包内容的解密,因此即使数据包被加密,仍然可以获取所需的信息。

Request模块

ChunkDetection算法;

块特征提取;

ML QoE预测模型。

研究方法过程

  1. 数据包跟踪被输入到请求的ChunkDetection算法中以确定音频和视频块。
  2. 然后在特征提取过程中使用块以获得基于块的特征。
  3. 来自训练数据的基于块的特征沿着对应的QoE度量一起被用于生成QoE预测模型。
  4. 为了进行评估,将来自测试数据集的流量跟踪馈送到经训练的QoE模型中,以生成预测的QoE度量。通过比较预测的QoE度量和地面实况标签来测量准确性。

分析过程(motivation)

最近的研究表明,(i)停顿事件对最终用户参与度的负面影响最大,(ii)更高的平均视频回放比特率可提高用户参与度[8,17]。

受这些发现的激励,Requet旨在提前预测当前视频分辨率和导致QoE受损的事件。这使得运营商能够主动供应资源[13,39]。请求预测一个较低的缓冲水平,这允许运营商提供网络资源以避免停滞事件。

Request解决的问题

Requet在视频会话期间以真实的时间预测当前视频分辨率。具体而言,Requet在更精细的尺度(144 p、240 p、360 p、480 p、720 p、1080 p)上预测视频分辨率,而先前的工作仅预测整个视频会话的两个或三个级别的视频分辨率[16、31、35]。

Request亮点

在两种不同的设置中收集轨迹:

第一组通过WiFi网络从三家服务提供商(两家在美国,一家在印度)的笔记本电脑Web浏览器收集,第二组通过LTE蜂窝网络从Android移动终端上的YouTube应用程序收集。这与大多数先前的作品相反,这些作品依赖于模拟或仿真。

设计请求组件:

开发ChunkDetection,一种启发式算法,用于从IP报头中识别视频和音频块(第3节)。- 分析音频和视频块度量之间的相关性(例如,块大小、持续时间和下载时间)和各种QoE度量,并确定对QoE预测有用的基本的基于块的特征。具体来说,设计功能基于我们的观察,即音频块到达率与视频状态相关(第5节)。- 开发ML模型以真实的时间预测QoE指标:缓冲警告、视频状态和视频分辨率。

评估特征与结果

使用基于块的特征与先前工作中常用的基线IP层特征相比,证明预测准确性大幅提高。

对于通过WiFi网络设置网络浏览器,Requet预测低缓冲警告的准确率为92%,预测视频状态的准确率为84%,预测视频分辨率的准确率为66%,分别比现有基线系统提高了1.12倍、1.53倍和3.14倍。此外,Requet在预测低(144 p/240 p/360 p)或高分辨率(480 p/720 p/1080 p)时的准确率为91%,无论是在WiFi设置的Web浏览器中还是在LTE设置的YouTube应用程序中(第6节)。- 证明在实验室培训的Requet能够处理来自多个国家的不同操作员的不同长度的不可见剪辑。该评价比以前的工作更多样化

Ⅱ 背景和问题说明

视频剪辑是用可变比特率(VBR)编码来编码的,并且受到每个分辨率的最大比特率的限制。音频文件或剪辑的音轨通常以恒定比特率(CBR)编码。

视频状态和回放区域客户端使用播放缓冲区或客户端缓冲区(其最大值为缓冲区容量)来临时存储块以吸收网络变化。为了确保平滑回放和足够的缓冲级别,客户端使用HTTP GET请求逐块地请求视频剪辑。

视频状态特征

视频状态的四个选项是缓冲区增加、缓冲区衰减、停止或稳定状态。该度量允许确定用户的视频水平何时处于稳定状态的理想情况。视频状态还识别缓冲区衰减和停滞事件的发生,当操作员可能希望向该用户分配更多资源时,假定有足够的资源并且用户不受数据计划的限制。

视频分辨率

视频编码器同时考虑分辨率和目标视频比特率。因此,可以将较低的比特率与较高的分辨率相关联。人们可以争辩说,比特率是衡量视频质量的更准确的指标。但是,给定剪辑的较高分辨率通常会导致较高的比特率值。YouTube客户端以实时分辨率而不是播放比特率进行报告。因此,我们使用分辨率作为视频质量的指标。

块检查

以往工作

现有的使用组块的工作要么研究每个会话的QOE度量[31]而不是实时预测QOE度量,要么缺乏对组块检测机制的洞察[16、28、42]。通常,有两种识别块的方法:(I)将从客户端到服务器的具有非零有效负载的分组识别为HTTP请求[31]和(Ii)使用空闲周期(例如,900ms被用来分离Netflix业务流中的块。

ChunkDetect算法

我们首先描述捕获块行为的指标。然后,我们开发了块检测,这是一种启发式算法,使用块度量从IP级跟踪中识别单独的音频和视频块。用于从加密的流量跟踪中识别块。提取IP报头中的源/目的IP地址、端口、协议和有效负载大小,并将其用作ML QOE预测模型的输入。使用块度量从IP级跟踪中识别单独的音频和视频块

块度量

我们根据终端设备上记录的事件的时间戳为块定义了以下度量:

  • Start_Time:发送HTTP GET请求以获取块的时间戳。
  •  TTFB:Time To First Byte(TTFB),定义为从发送HTTP GET请求到收到该请求后的第一个数据包之间的持续时间。
  •  Download_Time:第一个接收到的数据包和下一个HTTP GET请求之前的最后一个接收到的数据包之间的持续时间。
  •  Slack_Time:上一次收到数据包和下一次HTTP GET请求之间的持续时间。
  •  Chunk_Duration:两个连续HTTP GET请求之间的时间间隔。流中最后一个块的结尾由流的结尾标记。注意,在标准中将称为段持续时间的不同概念定义为段的回放持续时间[6]。对于给定的块,Chunk_Duration仅在稳定状态期间等于片段持续时间。
  • 块大小:在Download_Time期间从IP地址接收的数据量(IP数据包负载大小的总和),该IP地址是HTTP GET请求的目标,用于标记块的开始。

计算块大小

在IP流中检测到GET请求之后,通过将流中所有下行链路分组的有效载荷大小相加来计算块大小,直到检测到下一个GET(第17-22行)。两个连续GET请求之间的组中的最后一个下行链路分组标记块下载的结束。然后,块下载时间变为组中第一个和最后一个下行链路分组之间的时间戳差。

GET请求大小和块大小在DetectAV(第7行)中用于将数据块分成音频块、视频块或后台流量(第8-11行)。

数据集

每个会话包括(i)IP报头跟踪和(ii)由我们在数据采集中的视频标记过程生成的QoE度量地面实况标签

Request框架设计

视频状态标记过程:将每个时间窗口与四种视频状态之一相关联:缓冲区增加、缓冲区衰减、稳定状态和停滞。Requet使用它的ChunkDetection组件(第3节)将跟踪转换为块,然后使用它的特征提取组件提取相关的特征。

模型:随机森林

使用sklearn包在Python中构建RF分类器。我们将模型配置为具有200个估计器,熵选择标准和每棵树的最大特征数设置为自动。

分析过程:我们选择RF有以下原因。首先,基于决策树的ML分类算法在类似问题中显示出更好的结果[16,30,35,37,47,51],其中RF在该类中表现出最佳性能[30,47,51]。其次,在我们的数据集上,前馈神经网络和RF的精度大致相同。第三,RF可以用简单的规则来实现,用于真实的实时分类,非常适合于中间盒中的实时资源供应。

块分析

1.检查各种块度量(音频或视频;块大小;块持续时间;有效速率,我们将其定义为块大小超过块持续时间; TTFB;下载时间;和松弛时间)与QoE度量(缓冲区级别,视频状态和分辨率)之间的相关性。

继续论文7,12

论文引用

Gutterman C, Guo K, Arora S, et al. Requet: Real-time QoE metric detection for encrypted YouTube traffic[J]. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 2020, 16(2s): 1-28.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908561.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

临街矩阵乘以自己转置的含义

总结: 临街矩阵* 邻接矩阵转置的(i,j) 位置表示有多少种线路从元素A跳转一条边最终落到元素j的路线. 这个也叫1_degree.

JavaEE-多线程初阶(3)

目录 1.线程的状态 1.1 NEW、RUNNABLE、TERMINATED 1.2 TIMED_WAITING 1.3 WAITING 1.4 BLOCKED 2.多线程带来的风险-线程安全(重点) 2.1 观察线程不安全的现象 2.2 分析产生该现象的原因 2.3 产生线程安全问题的原因 2.3.1 抢占式执行&#x…

江协科技STM32学习- P35 硬件I2C读写MPU6050

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

学习虚幻C++开发日志——定时器

官方文档:虚幻引擎中的Gameplay定时器 | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 定时器 安排在经过一定延迟或一段时间结束后要执行的操作。例如,您可能希望玩家在获取某个能力提升道具后变得无懈可击,…

【简道云 -注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

【表格解决问题】EXCEL行数过多,WPS如何按逐行分别打印多个纸张中

1 问题描述 如图:我的表格行数太多了。打印在一张纸上有点不太好看 2 解决方式 Step01:先选中你需要打印的部分,找到【页面】->【打印区域】->【设置打印区域】 Step02:先选中一行,找到【插入分页符】 Step0…

提高交换网络可靠性之链路聚合

转载请注明出处 该实验为链路聚合的配置实验。 1.改名,分别将交换机1和交换机2改名为S1,S2,然后查看S1,S2的STP信息。以交换机1为例👇。 2.交换机S1,S2上创建聚合端口,将端口加入聚合端口。以S…

SpringMVC笔记 一万字

此笔记来自于B站尚硅谷 文章目录 一、SpringMVC 简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖 3、配置web.xmla>默认配置方式b>扩展配置方式 4、创建请求…

【Hive sql面试题】找出连续活跃3天及以上的用户

表数据如下: 要求:求出连续活跃三天及以上的用户 建表语句和插入数据如下: create table t_useractive(uid string,dt string );insert into t_useractive values(A,2023-10-01 10:10:20),(A,2023-10-02 10:10:20),(A,2023-10-03 10:16…

livp是什么格式文件?这几款软件可以轻松处理!

今天,我们要探讨的是一种可能相对陌生但又颇具特色的文件格式——LIVP。它通常与某些特定的软件或设备相关联,比如某些品牌的相机或视频编辑软件。LIVP文件往往包含了丰富的图像或视频信息,以及与之相关的元数据(如拍摄时间、地点…

贪心算法---java---黑马

贪心算法 1)Greedy algorithm 称之为贪心算法或者贪婪算法,核心思想是 将寻找最优解的问题分为若干个步骤每一步骤都采用贪心原则,选取当前最优解因为未考虑所有可能,局部最优的堆叠不一定得到最终解最优 贪心算法例子 Dijkstra while …

基于vue框架的的留守儿童帮扶管理系统c2691(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:留守儿童,帮扶活动,申请记录,帮扶机构,帮扶进度,帮扶人,申请加入记录,参与帮扶记录,地区信息 开题报告内容 基于Vue框架的留守儿童帮扶管理系统开题报告 一、研究背景与意义 在现代化进程中,随着城乡经济差异的不断扩大&a…

MySQL数据库迁移到DM8数据库

1. 达梦新建zsaqks库 2. 打开DM数据迁移工具 3. 新建工程 4. 迁移 - 右击 - 新建迁移 下一步 5. 选择迁移方式 6. MySQL数据源 请输入MySQL数据库信息 7. DM数据库目的 请输入达梦数据库信息 8. 迁移选项 保持对象名大小写(勾选) 9. 指定模式 指定是从数据源复制对象。 10.…

关于电脑蓝屏的那些解决方案--总有一款适合你

目录 背景内存检测硬盘检测拆机除尘上硅脂查看蓝屏日志--计算机管理1796事件进入bios启用安全启动状态创建转储期间出错失败蓝屏crystaldiskinfo查找BitLocker 恢复密钥关闭cpu-c步骤一:进入BIOS设置步骤二:找到CPU C-state设置步骤三:关闭CP…

HTML 语法规范——代码注释、缩进与格式、标签与属性、字符编码等

文章目录 一、代码注释1.1 使用注释的主要目的1.2 使用建议二、标签的使用2.1 开始标签和结束标签2.2 自闭合标签2.3 标签的嵌套2.4 标签的有效性三、属性四、缩进与格式4.1 一致的缩进4.2 元素单独占用一行4.3 嵌套元素的缩进4.4 避免冗长的行五、字符编码六、小结在开发 HTML…

项目一:使用 Spring + SpringMVC + Mybatis + lombok 实现网络五子棋

一:系统展示: 二:约定前后端接口 2.1 登陆 登陆请求: GET /login HTTP/1.1 Content-Type: application/x-www-form-urlencodedusernamezhangsan&password123登陆响应: 正常对象:正常对象会在数据库中存储&…

从 vue 源码看问题 — vue 初始化都做了什么事?

前言 最近想要对 Vue2 源码进行学习,主要目的就是为了后面在学习 Vue3 源码时,可以有一个更好的对比和理解,所以这个系列暂时不会涉及到 Vue3 的内容,但是 Vue3 的核心模块和 Vue2 是一致的,只是在实现上改变了方式、…

如何在BSV区块链上实现可验证AI

​​发表时间:2024年10月2日 nChain的顶尖专家们已经找到并成功测试了一种方法:通过区块链技术来验证AI(人工智能)系统的输出结果。这种方法可以确保AI模型既按照规范运行,避免严重错误,遵守诸如公平、透明…

MATLAB——矩阵操作

内容源于b站清风数学建模 数学建模清风老师《MATLAB教程新手入门篇》https://www.bilibili.com/video/BV1dN4y1Q7Kt/ 目录 1.MATLAB中的向量 1.1向量创建方法 1.2向量元素的引用 1.3向量元素修改和删除 2.MATLAB矩阵操作 2.1矩阵创建方法 2.2矩阵元素的引用 2.3矩阵…

SQL基础—2

1.左外连接查询(left join on) A - A∩B 左外连接查询两张表条件都满足的数据,以及左边表(A表)存在的数据(以左边表为主查询表)。 A - A∩B (A和A交B)。 示例:使用左外连接将dept表作为主查询表,查询员工编号、员工姓…