Cresco Framework
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Cresco is a free and open source edge computing framework.

Quick Start

Cresco Framework Core

  • Cresco-Agent: The main runtime which manages the loading of Cresco Plugins and logging.
  • Cresco-Agent-Controller-Plugin: The main communications plugin for the Cresco Framework which establishes channels for message passing between agents in a tiered system. At this time this plugin is required for operation.

Cresco Framework Optional Plugins

  • Cresco-SysInfo-Plugin: This plugin provides computational resource utilization for the machine hosting the Cresco Agent as messages sent back to a Global Controller.

Cresco Framework Example Plugins

Cresco Agent Topology

Cresco agents, through their Cresco-Agent-Controller-Plugin, arrange themselves into a hierarchy of a global, with a single controller, regions, each with a single regional controller, and a set of agents inside a region. The following diagram illustrates this hierarchy:

This topology allows for distributed control, meaning that an agent controls its plugins, a region controls its agents and the global controls the regions over which it is in charge.

Getting Started

Getting started with Cresco is fairly simple, with steps as follows:

  1. Download/update/confirm a Java Runtime Environment (JRE, Java Runtime) 1.7 or greater.
  2. Download the latest agent build and latest agent-controller plugin build
  3. Modify the configuration files for the agent and plugins (please refer to the wiki for configuration information)
  4. Run the agent with java jar cresco-agent-<version>.jar -f <agent configuration file>

Further Reading

For a more in-depth explanation of Cresco, you can read the author's dissertation.

Why the name Cresco?

  • Proto-Indo-European *ker ("to grow").
  • Old Armenian սերիմ (serim, "be born") and սերեմ (serem, "bring forth")
  • Latin creare ("become visible, multiply, augment")