Elsevier

Computer Science Review

Volume 39, February 2021, 100355
Computer Science Review

Review article
Modelling web-service uncertainty: The angel/daemon approach

https://doi.org/10.1016/j.cosrev.2020.100355Get rights and content

Abstract

A survey of our joint research work with Maria Serna on uncertain systems is presented in this paper. The study was originally motivated by a wish to understand the behaviour of a large web application when some of its component parts were subject to external attack (resulting in component degradation or even failure). In the absence of a priori failure information it is possible to constrain system behaviour between the best and worst possible outcomes.

Uncertain, multi-component systems can be modelled by orchestrations; an orchestration is a computation which operates in a globally-accessible, multi-user environment. When executed it calls a number of web-services and co-ordinates their responses. The behaviour of computations in web-environments can be highly uncertain: external web-services may be subject to periodic denial of service attacks and network failures, resulting in delayed, or even null, responses.

The reliability of an orchestration can be measured by assessing either the completeness of its behaviour (the number of computed results) or its response time (execution time). The behaviour of a system is assessed prior to execution (ex-ante) by modelling an unreliable web-environment as a parameterised uncertainty profile U. The parameters of U bound the extent of behavioural damage that can occur to an orchestration in a faulty environment. Informally speaking U provides a blurred snapshot of operating conditions. An uncertainty profile U can be assessed using a two player angel/daemon (ad) zero-sum game Γ(U): player a is motivated to maximise the behaviour of the orchestration whereas player d has the opposite intent. Uncertainty profiles have been applied to design a resilient matrix-product cloud application. The approach has also been applied to situations in social sciences, such as short-time macroeconomics (the IS-LM model) and voting games.

Section snippets

Programming in an uncertain world

From the 1940s until the 1970s computations were largely sequential and deterministic. Theories were developed to reason about such computations: Tony Hoare and Edsger Dijkstra constructed a logical basis for establishing the correctness of programs relative to their specifications. At the same time Juris Hartmanis and Richard Karp developed complexity theory for reasoning about the conceptual execution time of programs.

The development of computer networks resulted in an increase in the

Services and orchestrations

Consider a system which utilises a number of web services. Uncertainty can arise in two different ways;

  • 1.

    failure of system components may give rise to incomplete results.

  • 2.

    delay of components to respond may cause system slow down.

According to our joint work with Maria Serna, in order to analyse both situations two mathematical models have been devised; a multiset semantics is used to assess system functionality [11] while a “time”-based approach is used to assess system delays [3].

A service is a

Measuring resilience

Resilience is the “ability to be successful again in the face of adversity”; it is a key feature of the behaviour of large-scale web applications. In our work with Maria the resilience of an orchestration under stress is determined by measuring either the quality of its output or its response delay.

The quality of a publication can be measured in many different ways: for example, an image may be assessed by its resolution (a stressed service may publish only a thumb-nail image). In an extreme

Uncertainty profiles and a/d-games

Uncertainty profiles and a/d games provide the key techniques for analysing uncertain systems — see for example [1], [2]. We would like to point out that we start our joint work with Maria Serna in 2008 with [2].

Consider (informally) how environmental factors can impact on a large web application. Web environments often change very rapidly, making it difficult, if not impossible, to construct a meaningful record of historical events and their associated probabilities. Instead application users

Block matrix multiplication: stress and redundancy

Ever if Maria Serna was not directly involved in the content of this section we would like to present it as an off-spring of our fruitful collaboration.

A distributed matrix product algorithm may be implemented using cloud resources. However, the performance of an application running on a virtual machine in the cloud can be affected both by the way in which resources are allocated at run-time as well as by hardware contention issues [19], [20].

Divide and conquer algorithms decompose large scale

Extension to social applications

The ad approach combined with a stress model S (Definition 5) can be applied to other application areas, including short-term macroeconomic models [9], [26] and voting games [10], [27]. Maria Serna directly worked on both extensions.

Conclusions and open problems

On this pages we have developed our joint work with Maria Serna along 10 years, from 2007 to 2017. Now, we summarise the results and raise some open questions.

Programming has evolved from the development of codes designed to run on sequential machines in controlled environments to the orchestration of a set of remote, globally accessible services. The range of services now available includes news pages, email providers, storage facilities and cloud resources (see, for example, Section 2). The

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Prof. Joaquim Gabarro, was born in Barcelona (Spain) in 1953 and studied Physics and Computer Science, obtained his Ph.D. from Universitat Politècnicade Calatunya in 1983. From 1985 is Associate Professor (Profesor Titular) in Universitat Politècnica de Calatunya. Main research topics are Concurrency, Algorithms, Game Theory and Complexity.

References (44)

  • WehrmanI. et al.

    A timed semantics of orc

    Theoret. Comput. Sci.

    (2008)
  • ClintM. et al.

    Bounded site failures: An approach to unreliable grid environments

  • GabarroJ. et al.

    Analysing orchestrations with risk profiles and angel-daemon games

  • GabarroJ. et al.

    Analysing web-orchestrations under stress using uncertainty profiles

    Comput. J.

    (2014)
  • GabarroJ. et al.

    Computational aspects of uncertainty profiles and angel-daemon games

    Theory Comput. Syst.

    (2014)
  • GalbraithJ.K.

    The Age of Uncertainty

    (1977)
  • AkerlofG. et al.

    Animal Spirits

    (2009)
  • KnightF.

    Risk, Uncertainty and Profit

    (1921)
  • von NeumannJ. et al.

    Theory of games and economic behavior

    (1953)
  • GabarroJ. et al.

    Uncertainty in basic short-term macroeconomic models with angel-daemon games

    IJDATS

    (2017)
  • FragnitoG. et al.

    An angel-daemon approach to assess the uncertainty in the power of a collectivity to act

  • GabarroJ. et al.

    The computational complexity of qos measures for orchestrations

    J. Comb. Optim.

    (2017)
  • MisraJ. et al.

    Computation orchestration: A basis for wide-area computing

    Softw. Syst. Model.

    (2007)
  • KitchinD. et al.

    The orc programming language

  • HoareT. et al.

    A tree semantics of an orchestration language

  • StewartA. et al.

    Reasoning about orchestrations of web services using partial correctness

    Form. Asp. Comput.

    (2013)
  • McIverA. et al.

    Abstraction, Refinement and Proof for Probabilistic Systems

    (2005)
  • HoareC.

    Communicating Sequential Processes

    (1985)
  • KeenanA.

    Orchestrating high performance services : theory and practice

    (2015)
  • StewartA. et al.

    Uncertainty in the cloud: An angel-daemon approach to modelling performance

  • OsborneM.

    An Introductions to Game Theory

    (2004)
  • PapadimitriouC.H.

    Computational Complexity

    (1994)
  • Prof. Joaquim Gabarro, was born in Barcelona (Spain) in 1953 and studied Physics and Computer Science, obtained his Ph.D. from Universitat Politècnicade Calatunya in 1983. From 1985 is Associate Professor (Profesor Titular) in Universitat Politècnica de Calatunya. Main research topics are Concurrency, Algorithms, Game Theory and Complexity.

    Dr H.A. Stewart, was born in Portadown (U.K.) in 1960 and studied Mathematics and Computer Science at The Queen’s University of Belfast. He obtained his Ph.D. (also Q.U.B.) in 1986. From 1986 until 2016 he was a lecturer in Computer Science at Q.U.B. His main research interests are: program correctness; parallelism; semantics; parallel algorithms; web-based computation; game theory.

    This work was partially supported by MINECO, Spain and FEDER, Spain funds under grant GRAMM (TIN2017-86727-C2-1-R) and Generalitat de Catalunya, Agència de Gestió d’Ajuts Universitaris i de Recerca, Spain , under project 2017 SGR 786 (ALBCOM).

    View full text