DSUMO Computing - Glossary

Introduction

Although DSUMO is by nature an implementation of distributed computing, its approach is necessarily different from other distributed architectures. As such, some new terms must be used to describe its components. Those terms are defined in this section.

Some terms are accompanied by the initialism that is used in other places in the DSUMO documentation (e.g. MT, MO, MF).

The DSUMO Platform

The DSUMO platform refers to the whole of DSUMO, from the point of view of one of DSUMO's users.

In the case of a computing user, they will see the DSUMO platform as being the APIs and web interface used to manage projects and microcompute functions, execute microcompute transactions, and retrieve results.

The owners of DSUMO-enabled websites will see the DSUMO platform mostly through its web interface, used to manage sites and view reports on utilization and income earned.

The DSUMO Architecture

The DSUMO architecture refers both to the topological layout of DSUMO (including its its microcompute nodes), as well as the design of the DSUMO Framework.

Microcompute Transaction (MT)

A microcompute transaction may be thought of as a "program" in typical programming terms. It is the logical container for any related microcompute operations.

When a MT is executed via the DSUMO API, a globally unique identifier (GUID) for that transaction is returned. That GUID is then used to retrieve results from, inspect the status of, or abort a MT.

Microcompute Operation (MO)

A microcompute operation represents the sum total of all data passed to and returned from a microcompute node, as well as the function(s) to be called on that microcompute node.

MOs are created as needed by the DSUMO platform, but are not addressable by the user directly. When utilizing the debug sandbox, globally unique identifiers assigned to each MO are made available for the purpose of tracing the execution of a MT.

Microcompute Function (MF)

A microcompute function is the body of a JavaScript function that is defined by the user of DSUMO computing via either the API or the web interface. These functions are not native JavaScript functions, and are called by the DSUMO Framework on a microcompute node.

Microcompute Node (MN)

A microcompute node is the computer on which microcompute operations are executed. More specifically, it is the JavaScript engine within the web browser of an arbitrary internet user.

A MN is not addressable by the user of DSUMO, nor is it known which MN will be responsible for executing a microcompute operation. Microcompute nodes are also ephemeral in the sense that their availability is not guaranteed, and when they are available the duration of their availability is not known in advance. DSUMO does track MNs, however, and attempts to match an MO with a MN that it estimates will have a sufficient duration of availability to allow that MO to run to completion. (If a MO does not complete due to the loss of a MN, it is restarted on a different MN).

Service Node (SN)

A service node is responsible for disseminating microcompute operations to microcompute nodes and handling some API calls. (In particular, see the section of the API documentation on microcompute transactions).

The DSUMO Framework

The DSUMO Framework is a collection of JavaScript objects which is loaded by every microcompute node and is accessible by every microcompute function.

The DSUMO Framework provides the interface which allows the developer of microcompute functions to leverage the distributed power of the DSUMO architecture.