Intent to share: enhancing Android inter-component communication for distributed devices

Intent to share: enhancing Android inter-component communication for distributed devices
复制标题

分享意图:增强分布式设备的Android组件间通信

DOI:
10.1145/3197231.3197245
复制
发表时间:
2018
期刊:
Proceedings of the 5th International Conference on Mobile Software Engineering and Systems
影响因子:
--
通讯作者:
Tilevich, Eli
Tilevich, Eli
中科院分区:
--
文献类型:
--
作者:
Cruz, Breno Dantas;Tilevich, Eli

文献摘要

相似文献

视频流、游戏和健康监控等不同领域的数据密集型应用越来越多地要求移动设备之间直接共享数据。然而,开发分布式数据共享功能会在移动代码库中引入低级、脆弱且难以维护的代码。为了协调编程便利性和性能效率的目标,我们提出了一种新的中间件框架,该框架增强了Android平台的组件模型,以支持无缝和高效的设备间数据共享。我们的框架提供了一个熟悉的编程接口,扩展了无处不在的Android组件间通信(ICC),从而降低了学习曲线。与基于RPC范式的中间件平台不同,我们的编程抽象要求移动应用程序开发人员考虑并明确表达数据传输模式,因此将延迟视为头等设计问题。我们的性能评估表明,与定制实现相比,使用我们的框架产生的性能开销很少。通过提供保留组件封装的可重用编程抽象,我们的框架使Android设备能够在组件级别有效地共享数据,为新兴的分布式移动应用程序的开发提供强大的构建块。
Data-intensive applications in diverse domains, including video streaming, gaming, and health monitoring, increasingly require that mobile devices directly share data with each other. However, developing distributed data sharing functionality introduces low-level, brittle, and hard-to-maintain code into the mobile codebase. To reconcile the goals of programming convenience and performance efficiency, we present a novel middleware framework that enhances the Android platform's component model to support seamless and efficient inter-device data sharing. Our framework provides a familiar programming interface that extends the ubiquitous Android Inter-Component Communication (ICC), thus lowering the learning curve. Unlike middleware platforms based on the RPC paradigm, our programming abstractions require that mobile application developers think through and express explicitly data transmission patterns, thus treating latency as a first-class design concern. Our performance evaluation shows that using our framework incurs little performance overhead, comparable to that of custom-built implementations. By providing reusable programming abstractions that preserve component encapsulation, our framework enables Android devices to efficiently share data at the component level, providing powerful building blocks for the development of emerging distributed mobile applications.