论文学习笔记(二)

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.

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python可视化将多张图整合到一起(画布)

这周有点事忙着,没时间重温刚结束的Mathurcup数学建模,这两天也是再看了下,论文还是赶紧挺烂的,但比国赛又有进步(说起国赛又不得不抱怨了,基本其余省份都发了,但江西......哎)。哎&…

vue2,vue3,uniapp,小程序实现前端url生成二维码

最近遇到一个项目,api返回url地址,前端通过地址生成二维码。 话不多说直接上代码,亲测有效,希望能帮助大家,同时如果有更好的方法希望大家能够分享 1、第一步,在项目的utils文件夹下面创建一个weapp-qrco…

【韩老师零基础30天学会Java】01章

什么是程序? JavaEE企业版 示例1 public class Test{public static void main(String[] args){int res11;System.out.println("result"res);}}D:\Java\code>javac Test.javaD:\Java\code>java Test 缁撴灉2D:\Java\code>javac Test.javaD:\Java…

华为交换机实现不同VLAN内的互通配置(汇聚层设备作为网关)

背景如下: 如下图所示,PC1和PC2分别属于VLAN 2和VLAN 3,通过接入层设备DeviceB接入汇聚层设备DeviceA。PC3属于VLAN 4,通过接入层设备DeviceC接入汇聚层设备DeviceA。DeviceC不做任何配置,当做HUB即插即用。汇聚层设备…

SpringBoot旅游酒店系统源码免费分享+本地部署及介绍 - 幽络源

初步介绍 这是一套基于SpringBoot的旅游酒店系统,含有前台和后台,需要注意的是图片文件是存放于target中的,因此不建议删除这个临时目录。 原文及源码获取链接 > SpringBoot旅游酒店管理系统免费分享-幽络源 所需环境 JDK1.8、Maven、…

Java开发中的分布式锁使用教程

1. 基于ZooKeeper的分布式锁 1.1 引入依赖 在项目的pom.xml文件中添加以下依赖&#xff1a; <dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>latest</version> </dep…

zynq pl设计中断问题

问题 逻辑工程师vivado工具生成的pl hdf文件后,通过xilinx的工具解析的的dts文件,会出现中断号异常的问题。 原始问题肯定是硬件表现为通讯异常,此处以网口为例,则网口不通。 网口查询 uboot下网口信息 如下命令查询到 两个mac下对应的phy,地址分别为4和6,和硬件设计一…

Scala 的包及其导入

Scala使用包来创建用于模块化程序的命名空间。通过在Scala文件的顶部声明一个或多个包名称可以创建包&#xff0c;另一种声明包的方式是使用0&#xff0c;这种方式可以嵌套包&#xff0c;并且提供更好的范围与封装控制。对于包的导入&#xff0c;Scala与Java的区别之一便是&…

【MySQL】关于MySQL启动后mysqld_safe和mysqld进程

在mysql服务器启动后&#xff0c;有2个进程mysqld_safe和mysqld,这是为啥&#xff1f; # ps -ef | grep mysqld root 6488 3324 0 Sep03 pts/0 00:00:00 /bin/sh /mysqlsoft/mysql/bin/mysqld_safe --defaults-file/etc/my.cnf --usermysql mysql 7327 6488 0 Sep03 pts/0 0…

Rust @绑定(Rust@绑定)(在模式匹配的同时将值绑定到变量)

文章目录 Rust中的绑定基础概念示例&#xff1a;基本模式匹配 绑定的使用示例&#xff1a;范围匹配并绑定变量 深入探索绑定的好处示例&#xff1a;复杂数据结构中的应用 总结 附加 Rust中的绑定 Rust 语言以其强类型系统和内存安全的特性著称。在进行模式匹配时&#xff0c;R…

数据结构-图的概念

不存在空图现象,顶点集不能为空,边集可以为空 研究链接一个顶点的边有多少条非常有意义 无向图的度边的二倍 有向图的入度出度,度边数 有向图一致 重点 子图必须联通,尽可能多的边和结点 对于一个生成树,他有n个节点就有n-1条边 修路问题将各个村庄相连,由于经费有限,只能选择…

黑马程序员Redis学习【持续更新】

Redis基础 一、Redis入门 1.Redis简介 【1】为什么学习Redis Redis是一个基于内存的key-value结构数据库。「Remote Dictionary Service」的首字母缩写&#xff0c;也就是「远程字典服务-remote dictionary server」。 基于内存存储&#xff0c;读写性能高适合存储热点数据…

利用SEO在4个月内打造每月940美元的导航站

在软件开发领域&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;的潜力常常被人们低估&#xff0c;但它却能为网站增长带来显著效果。特别是在AI技术的加持下&#xff0c;你可以极大地加速流量增长并自动化大部分工作。本文将详细介绍一名Reddit用户如何在4个月内&#xf…

字节青训-数字字符串格式化

问题描述 小M在工作时遇到了一个问题&#xff0c;他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式&#xff0c;并且保留小数部分。小M还发现&#xff0c;有时候输入的数字字符串前面会有无用的 0&#xff0c;这些也需要精简掉。请你帮助小M编写程序&…

HER304-ASEMI轴向高效恢复二极管HER304

编辑&#xff1a;ll HER304-ASEMI轴向高效恢复二极管HER304 型号&#xff1a;HER304 品牌&#xff1a;ASEMI 封装&#xff1a;DO-27 特性&#xff1a;轴向高效恢复二极管 正向电流&#xff1a;3A 反向耐压&#xff1a;300V 恢复时间&#xff1a;35ns 引脚数量&#xf…

信息宣传投稿栽跟头不可怕,关键是你要能再站起来

在繁忙的市郊,一家的事业基层单位,这里汇聚了各路英才,每个科室都有自己的专长。然而,有一项任务,让这些精英们头疼不已——单位信息宣传投稿。 起初,大家对这项任务并不以为然,以为不过是小菜一碟。李科长甚至开玩笑说:“不就是写篇文章,投个稿嘛,我们这些笔杆子还怕这个?”…

iMeta | 复杂热图(ComplexHeatmap)可视化文章最新版,画热图就引它

复杂热图可视化 https://doi.org/10.1002/imt2.43 PROTOCOL ●2022年8月&#xff0c;德国癌症研究中心顾祖光在iMeta在线发表了题为“Complex heatmap visualization”的方法类文章。 ● 该研究系统性地介绍了 ComplexHeatmap R包在复杂热图可视化方面的特性和功能。 ● 第…

HTTP的了解

从输入 URL 到页面展示到底发生了什么&#xff1f;&#xff08;非常重要&#xff09; 类似的问题&#xff1a;打开一个网页&#xff0c;整个过程会使用哪些协议&#xff1f; 先来看一张图&#xff08;来源于《图解 HTTP》&#xff09;&#xff1a; 上图有一个错误需要注意&…

博弈论(所有情况最优解)——课堂笔记

博弈论(所有情况最优解)——课堂笔记|【博弈论】分割数游戏-CSDN博客https://blog.csdn.net/back_room/article/details/143464453?spm=1001.2014.3001.5501【博弈论】拍卖土地-CSDN博客

网络编程——TCP通信练习

目录 一、多发多收 二、接收和反馈 三、上传文件 四、解决上传文件名重复问题 五、上传文件多线程版 六、上传文件线程池版 七、B/S(接收浏览器的消息并打印) 一、多发多收 客户端&#xff1a;多次发送数据 服务器&#xff1a;接收多次数据&#xff0c;并打印 public cl…