论文标题
Hector:使用不受信任的浏览器来提供Web应用程序
Hector: Using Untrusted Browsers to Provision Web Applications
论文作者
论文摘要
Web应用程序正在上升,并迅速发展为越来越成熟的本地替代品。这种破坏性趋势主要是由于达到平台独立和即时可部署性的驱动。最重要的是,Web浏览器为无缝浏览器到浏览器通信提供了用于分布式交互的机会。 在本文中,我们介绍了Hector,这是一个新颖的Web应用程序框架,将Web浏览器转换为以应用程序为中心的计算平台。 Hector可以向用户卸载应用程序逻辑,从而改善了较低潜伏期的用户体验,同时为服务提供商产生了更少的成本。按照功能 - 服务的编程范例,将应用程序分解为功能,以便可以有效地管理它们并以响应迅速,可扩展和轻量级的方式部署。如果客户端资源短缺或无反应的客户端,则执行又回到了传统的基于云的基础架构。 Hector将WebAssembly组合为以近速度计算的多语言计算,WEBRTC用于浏览器到浏览器通信和Intel Software Guard Extensions提供的信任执行,以便浏览器可以互相信任彼此的计算。我们通过实施数字助理以及推荐系统来评估Hector。我们的评估表明,与传统部署相比,Hector达到了低最终用户潜伏期,同时产生的成本较小。此外,我们表明Hector随着客户数量的增加线性缩放,并且可以很好地与无反应的客户端相处。
Web applications are on the rise and rapidly evolve into more and more mature replacements for their native counterparts. This disruptive trend is mainly driven by the attainment of platform-independence and instant deployability. On top of this, web browsers offer the opportunity for seamless browser-to-browser communication for distributed interaction. In this paper, we present Hector, a novel web application framework that transforms web browsers into a distributed application-centric computing platform. Hector enables offloading application logic to users, thereby improving user experience with lower latencies while generating less costs for service providers. Following the programming paradigm of Function-as-a-Service, applications are decomposed into functions so they can be managed efficiently and deployed in a responsive, scalable and lightweight fashion. In case of client-side resource shortage or unresponsive clients, execution falls back to a traditional cloud-based infrastructure. Hector combines WebAssembly for multi-language computations at near-native speed, WebRTC for browser-to-browser communication and trusted execution as provided by the Intel Software Guard Extensions so browsers can trust each other's computations. We evaluate Hector by implementing a digital assistant as well as a recommendation system. Our evaluation shows that Hector achieves lower end-user latencies while generating less costs than traditional deployments. Additionally, we show that Hector scales linearly with increasing client numbers and can cope well with unresponsive clients.