Master's Thesis Colloquium

Exploring the Potential of Distributed Computing using Web Technologies

Stefan Dühring,531721
20th June,Berlin

Lesson Learned

Overview

Theory
Analysis
Development
Conclusion
Background

Background

Background

Motivation

increasing connectivity

Background

Goal

  • "Provide an overview about 
     different aspects of Distributed 
     Computing using Web Technologies"
  • "Create a prototype based on the  
     gained knowledge"

Theory

Theory

Foundation

distributed computing
web technologies

Theory

Network Types

  • client-server
  • peer-to-peer

Theory

Consolidation

  • grid computing
  • volunteer computing

Theory

Algorithms

embarrassingly parallel

Theory

Environments

"The Ubiquitous Web will provide people with
 access whenever and wherever they find
 themselves, with applications that
 dynamically adapt to the user's needs,
 device capabilities and environmental
 conditions."

- Philipp Hoschka,
  Ubiquitous Web Domain Leader

Theory

Web Standards

communication

Source:  Jimmy Lee

Theory

Engine

processing

Analysis

Analysis

Browser Based Computing

architecture

Analysis

Comparison

additional challenges

Analysis

Perspectives

motivation

Analysis

Business

unreliable resources

Analysis

Security

untrusted execution

Analysis

User Experience

performance constraints

Analysis

Green Computing

optimized cooling / conversion

Analysis

Ad-Hoc Mobile

system > browser

Analysis

Science

existing networks

Analysis

Graphics

balanced in-/output

Analysis

Diversity

heterogeneous systems

Analysis

Resources

peer assisted delivery

Development

Development

Requirements

  • users control their resources
  • data are only shared temporary
  • tasks should be universal accessible
  • modular structure for customization

Development

Concept

universal distributed assistance (udias)

Development

Demonstration

Development

Components

dataflow

Development

Tools

webpack

Development

Libraries

WebTorrent

Development

Implementation: Task

meta / work

Development

API endpoints

Implementation: Service

GET /tasks/{type}.{environment}.js

Development

Suppliant & Patron

Implementation: App

Development

Commands

Implementation: CLI

Conclusion

Conclusion

Evaluation

Decentral

Conclusion

Outlook

Specifications

Questions

Network Types

topologies

Details

Adapation

code transformation

Details

C/C++  =>  LLVM  =>  Emscripten  =>  JavaScript

Details

Related

1996: first paper

1997: theSkyNet

1999: first volunteering computing

2009: only standard web technologies

2010: distributed decryption (Web Workers)

2011: GridBee for BOINC Tasks (localStorage)

2014: Muskeetpeer (WebRTC - DataChannels)

Collaboration

gamification

Details

Trends

combine services

Details

Made with Slides.com