MultiPath HTTP:北大与华为合作部署FLEETY

news2024/11/23 5:08:04

当前的终端基本都能支持蜂窝网络和wifi网络,然而,不同的网络通路都不可避免的会出现信号不好或者其他因素引起的通路性能(吞吐量、时延等)下降。为了能够提升终端业务体验,很多不同的MultiPath方案被提出,其中,包括应用层的MultiPath HTTP,传输层的MultiPath TCP,MultiPath QUIC等等。

2023年Mobicom会议中有一篇关于MultiPath HTTP的文章,由北大与华为联合发表,名为"Experience: A Three-Year Retrospective of Large-scale Multipath Transport Deployment for Mobile Applications"。文章中所提出的基于MultiPath HTTP的方案FLEETY,从2019年9月开始,部署在142款不同的终端中,有156种不同的应用支持。截止到2022年1月,有约1000万用户使用到了FLEETY。在吞吐量增益维度,中值和平均值的增加值分别为82 Kbps和4.43 Mbps。在时延增益维度,增益不明显,其中,时延降低100ms的占比约5.32%,时延降低在30ms之内的占比约为49.97%。在功耗维度,对于大数据量的下载类业务增益明显。

FLEETY框架:

(1) Flow classifier:将不同的包(DNS、HTTP等)分发到不同的模块,HTTP数据包会分发到MPHTTP proxy模块。DNS数据包会同时往wifi和Cell通路发送以提升可靠性;

(2) MPHTTP proxy:在收到HTTP请求后,将数据包拆分为两个,分别从wifi和cell通路发送。MPHTTP proxy会根据wifi和cell通路的速率来确定分配到两条通路上的数据的大小,以保证两条通路的数据传输时延一致;

(3) Consistency verifier:通过扩展在wifi通路所发送数据包的尾部,以及扩展在cell通路所发送数据包头部,在接收端进行检测;

FLEETY性能:

FLEETY由于采用的是MultiPath HTTP技术,只需要终端侧的修改。相比于MultiPath TCP以及MultiPath QUIC等技术,它们都需要同时在终端侧以及服务端侧的修改。

从作者的实验结果看,FLEETY对于吞吐量有一定的增益,对时延增益不太明显。

MultiPath相关方案对于终端而言的另一个重要影响是功耗,从作者的实验结果看到,对于大文件下载业务,是可以很明显的降低功耗,约40%。但对于小数据量的业务,比如游戏和网页浏览,功耗是有一定的增加,分别是6.4%和1.4%。

论文原文链接:

Experience: A Three-Year Retrospective of Large-scale Multipath Transport Deployment for Mobile Applications | Proceedings of the 29th Annual International Conference on Mobile Computing and Networking

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

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

相关文章

(文章复现)考虑分布式电源不确定性的配电网鲁棒动态重构

参考文献: [1]徐俊俊,吴在军,周力,等.考虑分布式电源不确定性的配电网鲁棒动态重构[J].中国电机工程学报,2018,38(16):4715-47254976. 1.摘要 间歇性分布式电源并网使得配电网网络重构过程需要考虑更多的不确定因素。在利用仿射数对分布式电源出力的不确定性进行合…

Decoupled Multimodal Distilling for Emotion Recognition 论文阅读

Decoupled Multimodal Distilling for Emotion Recognition 论文阅读 Abstract1. Introduction2. Related Works2.1. Multimodal emotion recognition2.2. Knowledge distillation3. The Proposed Method3.1. Multimodal feature decoupling3.2. GD with Decoupled Multimodal …

【Gd2O3】Gd2O3栅极电介质增强GaN器件的可靠性

【Effects of Gd2O3 Gate Dielectric on Proton-Irradiated AlGaN/GaN HEMTs】 概括总结: 该研究探讨了质子辐射对使用Gd2O3作为栅极电介质的AlGaN/GaN高电子迁移率晶体管(HEMTs)的影响。通过对比肖特基栅极HEMTs和MOS-HEMTs在2 MeV质子辐射…

SOC内部集成网络MAC外设+ PHY网络芯片方案:MII/RMII 接口与 MDIO 接口

一. 简介 本文来了解一下常用的一种网络硬件方案:SOC内部集成网络MAC外设 PHY网络芯片方案。 其中涉及的 MII接口,RMII接口(MII接口与RMII接口二选一),MDIO接口,RJ45。 二. MII/RMII 接口,M…

数据挖掘|贝叶斯分类器及其Python实现

分类分析|贝叶斯分类器及其Python实现 0. 分类分析概述1. Logistics回归模型2. 贝叶斯分类器2.1 贝叶斯定理2.2 朴素贝叶斯分类器2.2.1 高斯朴素贝叶斯分类器2.2.2 多项式朴素贝叶斯分类器 2.3 朴素贝叶斯分类的主要优点2.4 朴素贝叶斯分类的主要缺点 3. 贝叶斯分类器在生产中的…

随便注【强网杯2019】

大佬的完整wp:buuctf-web-[强网杯 2019]随便注-wp_取材于某次真实环境渗透,只说一句话:开发和安全缺一不可-CSDN博客 知识点: 单引号字符型绕过堆叠注入 可以执行多条语句multi_query():该函数可能引发堆叠注入handler用法 mysql专属&#…

面试题:JVM 调优

一、JVM 参数设置 1. tomcat 的设置 vm 参数 修改 TOMCAT_HOME/bin/catalina.sh 文件,如下图 JAVA_OPTS"-Xms512m -Xmx1024m" 2. springboot 项目 jar 文件启动 通常在linux系统下直接加参数启动springboot项目 nohup java -Xms512m -Xmx1024m -jar…

动态内存管理-错题合集讲解

空指针的解应用操作(错误信息合集) 越界访问 首先我们上一个代码,看看这个的代码的问题 这个代码的问题显而易见 ,就是在循环里面,产生了越界访问的问题,这里你开辟了10个整形空间,但是从0-1…

谈谈MVCC机制

在MySQL中,MVCC(多版本并发控制)是InnoDB存储引擎使用的并发控制机制。它提供对数据的并发访问,并确保多用户环境中数据的一致性和隔离性。 InnoDB通过“Undo log”存储每条记录的多个版本,提供历史记录供读取&#x…

Python数据结构与算法——数据结构(链表、哈希表、树)

目录 链表 链表介绍 创建和遍历链表 链表节点插入和删除 双链表 链表总结——复杂度分析 哈希表(散列表) 哈希表介绍 哈希冲突 哈希表实现 哈希表应用 树 树 树的示例——模拟文件系统 二叉树 二叉树的链式存储 二叉树的遍历 二叉搜索树 插入 查询 删除 AVL树 …

后端SpringBoot+Mybatis 查询订单数据库奇怪报错加一

排错过程: 看报错意思是SQL语句存在错误,然后使用图形化工具运行这个SQL语句 其实这里稍微细心想一下就能发现问题,但是当时没深入想,就觉得order表前加了数据库名字影响不大,所以感觉SQL语句是没问题的,然…

Java6升级至Java8常用新特性

目录 Java 8 常用新特性1、Lambda 表达式2、方法引用2.1 静态方法引用2.2 特定对象的实例方法引用2.3 特定类型的任意对象的实例方法引用2.4 构造器引用 3、接口中的默认方法4、函数式接口4.1 自定义函数式接口4.2 内置函数式接口 5、Date/Time API6、Optional 容器类型7、Stre…

【Qt】窗口

目录 一、概述二、菜单栏(QMenuBar)三、工具栏(QToolBar)四、状态栏(QStatusBar)五、浮动窗口六、对话框 一、概述 Qt窗口是通过QMainWindow类来实现的。 QMainWindow是一个为用户提供主窗口程序的类&…

程序数据模型由OS还是硬件架构决定?

文章目录 前言硬件架构的作用OS的作用编译器的角色OS的数据模型参考 前言 在文章 1>>32的结果是1还是0 中提到了数据模型 L P 64 LP64 LP64 ,并提出这个数据模型主要是由 U n i x Unix Unix 以及类 U n i x Unix Unix 的操作系统使用居多,例如…

SpringBoot 缓存预热

简介&#xff1a; SpringBoot集合RedisUtil和 CommadnLinRunner实现缓存预热 一、新建一个缓存抽象类 在redis模块里面 新建 /*** 缓存抽象类*/ Component public abstract class AbstractCache {// 初始化缓存public void initCache() {}public <T> T getCache(Strin…

虚拟现实(VR)项目的开发工具

虚拟现实&#xff08;VR&#xff09;项目的开发涉及到多种工具&#xff0c;这些工具可以帮助开发者从建模、编程到最终内容的发布。以下是一些被广泛认可的VR开发工具&#xff0c;它们覆盖了从3D建模到交互设计等多个方面。北京木奇移动技术有限公司&#xff0c;专业的软件外包…

PySpark的学习

一. 什么是PySpark 使用过的bin/pyspark 程序 , 要注意 , 这个只是一个 应用程序 , 提供一个 Python 解释器执行环境来运行 Spark 任务 现在说的 PySpark, 指的是 Python 的运行类库 , 是可以在 Python 代码中 :import pyspark PySpark 是 Spark 官方提供的一个 Python …

MP设置动态表名

Mybatis设置动态表名 Mybatis设置动态表名1.动态表名插件2.传递表名3.注意事项 Mybatis设置动态表名 1.动态表名插件 MybatisPlus中提供了一个动态表名的插件&#xff1a;https://baomidou.com/pages/2a45ff/#dynamictablenameinnerinterceptor 插件的部分源码如下&#xff…

【SpringCloud】Eureka注册中心

目 录 一.Eureka的结构和作用二.搭建 eureka-server1. 创建 eureka-server 服务2. 引入 eureka 依赖3. 编写启动类4. 编写配置文件5. 启动服务 三.服务注册1. 引入依赖2. 配置文件3. 启动多个user-service实例 四.服务发现1. 引入依赖2. 配置文件3. 服务拉取和负载均衡 总结 假…

【MATLAB源码-第24期】基于matlab的水声通信中海洋噪声的建模仿真,对比不同风速的影响。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 水声通信&#xff1a; 水声通信是一种利用水中传播声波的方式进行信息传递的技术。它在水下环境中被广泛应用&#xff0c;特别是在海洋科学研究、海洋资源勘探、水下军事通信等领域。 1. **传输媒介**&#xff1a;水声通信利…