http://eprints.eemcs.utwente.nl/22286/01/imc140-drago.pdf
本文观点基于以上paper
相信不是所有同学都了解Dropbox,先做一个简单知识普及,Dropbox是一个提供同步本地文件的网络存储在线应用。支持在多台电脑多种操作中自动同步。并可当作大容量的网络硬盘使用。
在展开之前先回答一个问题,我们为什么要关系Dropbox?随着云计算框架越来越多的进入开发者和用户的事业,对文件、数据同步传输的要求也越来越多,越来越高。我们有必要对行业内比较流行的数据同步协议进行分析和借鉴。
由于Dropbox不是公开协议,论文中采用了一个SSL拦截的方式对其进行了分析。下面对几个比较重要的知识点逐一记录。
距离对Dropbox性能有显著的影响
We highlight that Dropbox performance is mainly driven by the distance between clients and storage data-centers.
另外短数据传输加上一个perchunk确认机制,非常影响吞吐
In addition, short data transfer sizes coupled with a perchunk acknowledgment mechanism impair transfer throughput, which is as little as 530kbits/s on average.
怎么分析STL/SSL传输
a Linux PC running the Dropbox client was instructed to use a Squid proxy server under our control. On the latter, the module SSL-bump4 was used to terminate SSL connections and save decrypted traffic flows. The memory area where the Dropbox application stores trusted certificate authorities
was modified at run-time to replace the original Dropbox Inc. certificate by the self-signed one signing the proxy server.
每一个上传trunk都有一确认消息
Each chunk store operation is acknowledged by one OK message.
Dropbox有三种控制协议
(i) Notification,(ii) meta-data administration, and (iii) system-log servers.
Notification Protocol
TCP长连到notifyX.dropbox.com,notification connection没有加密。在这个长连的TCP上执行HTTP Comet,即Long-Polling操作。
Meta-data Information Protocol
一个典型的同步过程从发送meta消息到meta数据服务器开始,后跟一批通过Amazon服务器进行的store或retrieve操作。随着数据块被成功交换,客户端发送消息到meta数据服务器来完成的交易。
同步协议容易造成小包的传输
(i) the synchronization protocol sending and receiving file deltas as soon as they are detected; (ii) the
primary use of Dropbox for synchronization of small files constantly changed, instead of periodic (large) backups.
通过分析发现TCP慢启动和确认对性能影响最大
Moreover, flows achieve lower throughput as the number of chunks increases. TCP start-up times and application-layer sequential acknowledgments are two major factors limiting the throughput, affecting flows with a small amount of data and flows with a large number of chunks, respectively. In both cases, the high RTT between clients and data-centers amplifies the effects.
Flows carrying a small amount of data are limited by TCP slow start-up times.
Flows with more than 1 chunk have the sequential acknowledgment scheme (Fig. 1) as a bottleneck, because the mechanism forces clients to wait one RTT (plus the server
reaction time) between two storage operations.
Flows with more than 50 chunks, for instance, always last for more than 30s, regardless of their sizes. Considering the RTT in Campus 2, up to one third of that (5-10s)
is wasted while application-layer acknowledgments are transiting the network.
最终给出了作者们的建议,如何来优化Dropbox的传输
即:
1. 设置最小数据块限制,减少大量小块数据同步
2. 使用延迟确认,用pipeline方式减少顺序确认带来的网络空闲 Using delayed ack, pipelining chunks to remove the effects of sequential acknowledgments;
3. 存储靠近用户,减少传输延迟
Our measurements clearly indicate that the applicationlayer protocol in combination with large RTT penalizes the system performance. We identify three possible solutions to remove the identified bottlenecks:
1. Bundling smaller chunks, increasing the amount of data sent per storage operation. Dropbox announced in April 2012, implements a bundling mechanism, which is analyzed in the following;
2. Using a delayed acknowledgment scheme in storage operations, pipelining chunks to remove the effects of sequential acknowledgments;
3. Bringing storage servers closer to customers, thus improving the overall throughput.
相关推荐
OMERO(Open Microscopy Environment Remote Object Model)是一个开源的平台,用于存储、管理和分析显微镜图像数据。它为科学家提供了一个强大的工具,可以处理大量的生物成像数据。而omero-dropbox库则充当了OMERO...
通过对"dropBox-Esty-Nechama-master"的源代码分析,我们可以深入了解如何利用Java SDK高效地与Dropbox服务进行集成,这对于任何希望在自己的应用中集成云存储功能的开发者来说都是宝贵的学习资源。
为了确保营销代理协议书的安全存储和团队成员之间的便捷协作,可能需要使用云存储服务和协作工具,比如Google Drive、Dropbox或Microsoft Teams等,这些工具可以跨越物理距离地协调团队工作。 以上知识点是基于房...
此外,如果涉及大量的协议管理,可能还需要使用文档管理系统,如SharePoint或Dropbox,来存储、分享和追踪文件版本。 在数字化农业的趋势下,IT技术可以帮助优化养殖流程,例如通过物联网设备监测鸽子的生长环境、...
通过Dropbox River插件,开发者或数据分析师可以实时同步Dropbox上的文件和目录,使得这些数据可以在ElasticSearch中进行全文搜索、数据分析和快速访问。这对于团队协作、文档管理和云存储数据的分析具有重要意义。...
在MATLAB开发中,"dropboxPathm"是一个与Dropbox API集成的脚本,用于获取当前用户在计算机上的Dropbox文件夹路径。...在实际应用中,这样的功能可以广泛应用于数据分析、模型保存、实验结果备份等多个领域。
【描述分析】 描述中的“标签框”可能指的是 tagbox 的界面元素,它可能是用于分类、标记或组织项目的工具。结合标题,我们可以推测 tagbox 是一个利用 Dropbox 实现项目列表管理,并支持同步的应用程序或框架,旨在...
通过以上分析可以看出,虽然原始文件的内容与IT行业直接关联不大,但是我们可以从中挖掘出很多IT应用和技术支持点。这些技术不仅可以用于改善文档管理和业务流程,还可以提升整体的工作效率和安全性。
6. **云存储**:考虑到文件的共享和协作,云存储服务如Google Drive、OneDrive或Dropbox提供了方便的解决方案。它们允许用户在线存储、同步和访问文件,便于团队成员之间的合作。 7. **版本控制**:在处理协议书这...
标题中的“automatic-bills-downloader-...通过分析这个项目,我们可以深入学习Android应用开发的各个方面,包括网络通信、文件存储、用户界面设计以及第三方服务的集成,对于提升Java和Android开发技能非常有帮助。
在实际操作中,可能需要使用到各种工具和技术来处理这些文件,例如使用Excel进行数据整理和分析,使用PDF阅读器查看和打印合同,使用云存储服务(如Google Drive或Dropbox)共享和备份文件,甚至使用专门的项目管理...
全球甲烷河(GRiMe) 一个实现Emily甲烷问题的回购协议。 附加功能包括分析流水中甲烷全球数据集的功能和脚本。设置此仓库仅包含脚本和示例数据。 数据,分析,图形等保存在本地的保管箱文件夹中。 要使用此软件包中...
值得注意的是,这是一个开源项目,由特定的作者创建,并遵循GPL许可协议,这意味着源代码对公众开放,允许用户查看、修改和分发代码,符合开源社区的标准和精神。 **标签:“JavaScript”** 由于标签中提到...
标题中的“資金操作表.zip”表明这是一个包含有关资金操作的文档的压缩文件。...在协作环境中,版本控制工具(如Git)和文档共享平台(如Google Drive或Dropbox)也可能被用于团队间的文档管理和协同编辑。
其核心技术包括操作系统(如Android TV、WebOS等)、互联网连接、以及各种接口和协议支持(如Wi-Fi、蓝牙、HDMI等)。智能电视的发展推动了客厅娱乐的变革,用户可以通过语音控制、手机遥控等方式实现便捷操作,享受...
3. **数据共享**:在IT领域,如果需要与团队共享这些文件,可以使用云服务(如Google Drive、OneDrive或Dropbox)或者通过电子邮件附件发送。对于大文件,可能需要使用文件传输协议(FTP)或者通过协作平台(如...
- **网络传输协议**:在发送这类文档时,可以使用FTP(文件传输协议)、SFTP(安全文件传输协议)等协议来保证文件传输的安全性和完整性。 #### 4. 电子签名与认证 - **电子签名技术**:为了确保文档的真实性和有效...
在IT支持下,这些步骤可以通过电子邮件、云协作平台(如Google Drive、Dropbox)和在线会议工具(如Zoom、Teams)进行高效沟通和文件共享。 4. **项目管理**:项目管理工具如Asana、Trello或Jira可以帮助跟踪项目的...
《无线配件及内容递送应用的同步:深入分析与探讨》 在当今信息化社会中,无线配件和内容递送应用的同步技术已经成为我们日常生活和工作中不可或缺的一部分。它们为我们的移动设备提供了极大的便利,使得数据传输、...
- 网盘同步:云存储服务如百度网盘、Dropbox等,如果上传或下载文件时网络不稳定,断点续传能保证文件完整传输。 - 移动设备备份:在手机备份到电脑或者云服务时,如果中途中断,可以继续未完成的部分。 4. 实现...