NuNet is building a framework that will be able to provide globally distributed computing power and storage for decentralized networks. We believe that there is a tremendous amount of unused latent computing resources available in the world that can be put to good use by enabling interoperability between owners of data, computing resources, and computational processes that demand them.

We are designing a flexible network that connects computing supply with demand from a variety of different sources to multiple types of endpoints. The platform envisions encompassing mobile consumer devices, edge computing and IoT devices, personal computers, servers, and data centers. NuNet will enable intelligent automation of workflow designs among its components, and unlock new business models to individuals, organizations, researchers, and socially beneficial projects.

For a broad introduction to NuNet’s vision and ambition, see these slides and the video below:

Today we are launching two applications that demonstrate the main aspects of the NuNet platform currently in development: NuNet Network Status (live at https://stats.nunet.io) and NuNet Platform Demo Application (live at https://demo.nunet.io).

This article demonstrates how they relate to NuNet’s conceptual and software architecture.

Conceptual architecture — interoperability layer

Conceptually, NuNet acts as a layer of interoperability (API of APIs) between computational processes and physical infrastructures:

The upper layer in the diagram consists of AI agents, UI interfaces, open, proprietary databases and algorithms — everything that allows to perform global computing tasks. SingularityNET’s global AI network and DAIA’s decentralized AI technologies are the first frameworks which NuNet is integrating into the platform, but the vision and technology are not limited by them.

The lowest layer consists of actual physical machines which run computing processes — server farms, clouds, PCs, game consoles, mobile phones, etc. Currently, most of the world computing load is run on public and private clouds. However, global computing load is shifting from the ‘center’ of networks (public / private clouds and server farms) to the ‘edge’ (mobile devices and IoT). Advances in autonomous technologies and robotics (including connected and self-driving cars) promises to put even more computing power on the road, near end users, and data sources.

We envision the NuNet platform acting as a middle layer, which will enable the computational reflection and tokenomic mechanisms needed for algorithms and AI agents to discover and execute themselves on decentralized hardware devices, which are owned and operated by different individuals — including mobile phones and, in the future, autonomous robots and cars.

Software architecture — API of APIs

Architecturally, NuNet provides a collection of open APIs covering different functionalities of the platform (including, but not limited to, resource and data description, discovery, algorithm ingestion, process validation, telemetry, provenance, workflow aggregation, and reputation) and the mechanism of orchestration between them. This API of APIs will ensure interoperability between users of the platform:

Compute providers — owners of PCs, mobile phones and server farms, willing to contribute idle cycles of their devices for community projects or in exchange for NuNet tokens. Compute providers may also include decentralized frameworks, such as Golem, iExec, SOMN, and others.

Data providers —owners and operators of databases willing to open up their data for usage by AI and algorithms, using decentralized data exchange protocols, such as Ocean Protocol. Data and compute providers will retain control over who will be able to use their data, as well as specify conditions of usage (e.g. free for socially beneficial projects and compensated in NuNet tokens for all other usages).

Consumers — individuals and organizations willing to execute end-tasks on the platform, usually using AI algorithms and data provided by NuNet’s technology partners or by proprietary sources.

AI Service providers are the actual providers of the algorithms and their logic, which NuNet will run on the distributed hardware provided by the compute providers. SingularityNET’s AI services will be the first to be able to run on NuNet’s infrastructure.

Finally, network operators provide special kinds of algorithms and AI, which enable the functionality and operation of the platform itself. Network operators will be able to earn tokens for the usage of their services and AI algorithms on the platform, just like other AI service providers.

NuNet will encourage the evolution of the API of APIs, in order to provide the interoparabilty demanded by users, technical partners, and the changing realities of global computing. The NuNet Foundation will sustain open and fair usage of the platform, and support the growth of the ecosystem by coordinating research and coding activities of platform developers and integrate the OSS of technology partners. In the beginning, the core team will develop all components needed to bootstrap the platform. However, the medium and long term goal of NuNet Foundation is to concentrate on core platform development, in terms of APIs and tokenomic mechanisms, leaving other component development to partners and users.

With respect to its long term development strategy, NuNet is going to develop its API of APIs in an iterative use-case based manner. The NuNet Foundation will carefully select actual use-cases which will be used to introduce new and advanced existing APIs. In this way, the platform will be operational and scalable from day one for selected use-cases. When a reasonable number of use-cases have been added to the NuNet platform, the API of APIs will reach maturity for generic use-cases, after which NuNet Foundation will concentrate solely on the sustainability and coordination of the platform.

Community betas

As indicated in the beginning, NuNet is releasing community betas of two distinct, yet related applications, which together demonstrate the main aspects of the platform. Both applications are released on the basis of open source (MIT) licences.

Network Status

The NuNet Network Status app is live at https://stats.nunet.io. It displays real-time statistics about all computational processes executed on the network and their telemetry information. Also, the application tracks the number of successful and failed processes, registered consumers, and hardware devices, as well as the amount of NuNet tokens paid by consumers to hardware providers for executing their computing tasks.

Source code, issue tracking and commenting is available at https://gitlab.com/nunet/nunet-network-status.

The following telemetry metrics are tracked for each process:

Total CPU : processor work used to complete a computational process. The metric is measured in MTicks (million ticks) and shows how much a CPU time was used during the execution of a measured process.

: processor work used to complete a computational process. The metric is measured in MTicks (million ticks) and shows how much a CPU time was used during the execution of a measured process. MaxRAM : the largest RAM utilization in megabytes that occurred during execution of a measured computational process. It indicates a minimum RAM requirement for running the process.

: the largest RAM utilization in megabytes that occurred during execution of a measured computational process. It indicates a minimum RAM requirement for running the process. RAM : memory used by a computational process, measured in megabyte seconds (MBs). The metric is calculated by adding spot RAM usages sampled every second for the entire time of execution and indicates how much memory the process actually consumed (as opposed to maximum memory requirement measured by MaxRam).

: memory used by a computational process, measured in megabyte seconds (MBs). The metric is calculated by adding spot RAM usages sampled every second for the entire time of execution and indicates how much memory the process actually consumed (as opposed to maximum memory requirement measured by MaxRam). Time : the real time of the process execution measured in seconds.

: the real time of the process execution measured in seconds. NET : the sum of data transferred and received via network interfaces during process execution, in kilobytes (KB);

: the sum of data transferred and received via network interfaces during process execution, in kilobytes (KB); NetTime: the average amount of data transferred and received via network interfaces during process execution, in kilobytes per second (KB/s);

Viewers are able to dynamically select the time range of interest for which aggregated statistics are calculated. Aggregated statistics include current network capacity (i.e. the sum of dedicated capacities of all hardware devices and execution environments registered to the network), aggregate usage of this capacity during selected time range, and network activity graphs.

NuNet Platform Demo Application

The NuNet platform demo application is live at https://demo.nunet.io. Source code, issue tracking, and commenting is available at https://gitlab.com/nunet/nunet-demo. It is the first application actually running on the demo platform — and all computations executed by the users of it are reflected on the NuNet Network Status page as separate computational processes.

Application logic

The business logic that the demo application implements is a simple dog chasing game, where users can upload a photo via mobile phone camera or desktop browser, and submit it for analysis by a pipeline of two SingularityNET services:

a) object detection, which detects if a dog exists in the picture (see the service on SingularityNET marketplace) and

b) dog breed detection, which identifies a dog by its breed (see the service on SingularityNET marketplace).

The demo simulates a situation, where there are two devices registered by compute providers on the platform, and each device is suitable for running one of the processes of the pipeline. Owners of these devices require certain amounts of NTXd (NuNet demo) tokens to cover their costs of computing.

All users receive 50NTXd on first login which allow them to run certain number of tasks on the platform. The application rewards a user with additional NTXd tokens if a dog breed is recognized in the submitted picture. After each successful task completion, a user will be able to run more computational tasks on the network and pay hardware providers accordingly. Users are also able to share the results of the game on their favorite social networks from within the app.

Registered users will be able to access the complete history of their activity on the network, submitted pictures, results, amounts of tokens paid to hardware providers for each task, and token balances. NuNet’s telemetry API will provide the required real time data, as partially demonstrated by the consumer perspective implemented in demo app.