# Concepts

Algorithms are executed at the vantage6-node. The node receives a computation task from the vantage6-server. The node will then retrieve the algorithm, execute it and return the results to the server.&#x20;

Algorithms are shared using [Docker images](https://docs.docker.com/get-started/#what-is-a-container-image) which are stored in a [Docker image registry](https://old-docs.vantage6.ai/installation/server/docker-registry) which is accessible to the nodes. In the following sections we explain the fundamentals of algorithm containers.

[input-and-output](https://old-docs.vantage6.ai/algorithm-development/concepts/input-and-output "mention")\
Interface between the node and algorithm container

[wrappers](https://old-docs.vantage6.ai/algorithm-development/concepts/wrappers "mention")\
Library to simplify and standardized the node-algorithm input and output

[child-containers](https://old-docs.vantage6.ai/algorithm-development/concepts/child-containers "mention")\
Creating subtasks from an algorithm container

[networking](https://old-docs.vantage6.ai/algorithm-development/concepts/networking "mention")\
Communicate with other algorithm containers and the vantage6-server

[cross-language](https://old-docs.vantage6.ai/algorithm-development/concepts/cross-language "mention")\
Cross language data serialization

[package-and-distribute](https://old-docs.vantage6.ai/algorithm-development/concepts/package-and-distribute "mention")\
Packaging and shipping algorithms<br>
