Advances, Systems and Applications
Component | Description | Sub-repository |
---|---|---|
 | Platform’s core components |  |
Controller | Allows the developer to observe and control the running components (either Cloudlets, Drivers, Resources, etc.) | Mosaic-node |
Component hub | Intermediates communication between the components, and other various needed services (eg. logs) | Mosaic-node |
Resource allocator | Resource provisioner based on existing credentials | Included in PTC |
Execution engine | Container: Component responsible for instantiating linux containers (LXC) from mosaic bundles (containing all required data for running an application) | Mosaic-execution-engine |
 | Agent: Running inside the Containers providing application setup, startup and monitoring | Mosaic-execution-engine-agent |
Naming service | Allows the registration of new components and their discovery by other components | Mosaic-node |
Deployer | A Python RPC implementation based on JSON-RPC2, providing introspection, Unix socket based protocol, standard Http protocol support and a simple CLI application implementing the protocol | mjsrpc2 |
Packager | Packaging utilities and repositories | Mosaic-packages-repositories |
Scheduler & Scaler | Scheduling and scaling components | Mosaic-scheduler |
Credentials service | Provides secure access to various credentials or secret tokens needed by various libraries or components to access external resources | Mosaic-credentials-service |
mOS | mOSAIC operating system: the system includes the platform’s core services | Mosaic-mos |
 | Deployable COTS and Drivers |  |
RabbitMQ component | Customized variant of RabbitMQ which makes it behave like a managed component | Mosaic-components-rabbitmq |
Riak component | Customized variant of Riak which makes it behave like a managed component | Mosaic-components-riak-kv |
CouchDB component | Customized variant of CouchDB which makes it behave like a managed component | Mosaic-components-couchdb |
HTTP Gateway component | Intermediates HTTP requests between clients on the Internet and components handling those requests. Provides routing and load balancing | Mosaic-components-httpg |
mHTTP Gateway component | Routes HTTP messages on queue and enable access to a key value store. Renders HTML pages | Mosaic-components-mhttpgw |
AMQP driver component | Message Queue driver for the AMQP protocol | Mosaic-java-platform |
Riak driver component | Key value driver for the Riak component | Mosaic-java-platform |
HDFS driver component | Distributed File System driver for Hadoop | Mosaic-java-drivers-hdfs |
MySQL component | A component for handling (starting/stopping) a MySQL database engine | Mosaic-components-mysql |