Gray Computing: A Framework for Computing with Background JavaScript Tasks

Website visitors are performing increasingly complex computational work on the websites' behalf, such as validating forms, rendering animations, and producing data visualizations. In this article, we explore the possibility of increasing the work offloaded to web visitors' browsers. The id...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on software engineering Vol. 45; no. 2; pp. 171 - 193
Main Authors Pan, Yao, White, Jules, Sun, Yu, Gray, Jeff
Format Journal Article
LanguageEnglish
Published New York IEEE 01.02.2019
IEEE Computer Society
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Website visitors are performing increasingly complex computational work on the websites' behalf, such as validating forms, rendering animations, and producing data visualizations. In this article, we explore the possibility of increasing the work offloaded to web visitors' browsers. The idle computing cycles of web visitors can be turned into a large-scale distributed data processing engine, which we term gray computing. Past research has looked primarily at either volunteer computing with specialized clients or browser-based volunteer computing where the visitors keep their browsers open to a single web page for a long period of time. This article provides a comprehensive analysis of the architecture, performance, security, cost effectiveness, user experience, and other issues of gray computing distributed data processing engines with heterogeneous computing power, non-uniform page view times, and high computing pool volatility. Several real-world applications are examined and gray computing is shown to be cost effective for a number of complex tasks ranging from computer vision to bioinformatics to cryptology.
ISSN:0098-5589
1939-3520
DOI:10.1109/TSE.2017.2772812