Our techniques allow us to incorporate humans into computing processes. We envisage new emerging, dynamic ensembles of distributed systems of machine-based computing elements (software and hardware) and human-based computing elements in which both software/hardware and humans are the basic computing elements interconnected via different types of networks. Such emerging distributed systems could help us dealing with complex problems that cannot be solved by software/hardware only. However, several challenging research questions must be solved in order to support the development of complex applications atop these systems.
Our computing model aims at providing techniques to cover different layers ranging from modeling to runtime management. The following figure outlines layers in the Vienna Elastic Computing Model (VieCOM). Each layer represents research problems that need to be addressed.
An application is said to be elastic if it has the capability to deal with limited resources effectively for serving virtually unlimited requests while maintaining the Quality of Service (QoS). Traditionally, we have seen this elastic computing model being applied to cloud of SBS. However, the concept of elasticity can also be applied to hybrid clouds consisting of machine-based computing elements and human-based computing elements. The principles of elastic processes define various facets of elasticity that capture process dynamics. The elastic properties of applications are multi-dimensional. The following figure depicts our concept of multi-dimensional elasticity, classified into resource, quality, and cost and benefits. During run-time, these elastic metrics are measured. The measured metrics can then be used to reason about adaptive actions needed to achieve a certain degree of required elasticity.
- We support multi-dimensional elasticity by considering the principles of elastic processes and taking into account different dimensions of elasticity.
- We utilize service-oriented computing techniques and concepts to virtualize machine-based and human-based computing elements under the service model and to provision them under different forms of cloud systems.
- We support an end-to-end approach, from modeling to execution. VieCOM aims at providing techniques to cover different layers ranging from modeling to runtime management.