##### Quick Links

- Home
- Getting Started
- Download
- Overview
- FAQ
- Documentation

##### Developers

- Building Rio

##### Sub Projects

- Rio Installers
- Rio QA
- Rio Substrates
- Rio Utilities
- Classdepandjar

##### Project Documentation

- Project Information

## Overview

#### Dynamic Deployment

Project Rio provides a model to dynamically instantiate, monitor & manage service components as described in an deployment descriptor called an OperationalString. The OperationalString provides context on service requirements, dependencies, associations and operational parameters. Rio Provisioning services additionally provide pluggable load distribution and resource utilization analysis mechanisms to effectively take use of resources on the network.

#### Dynamic Container

The Dynamic Container support in Rio is called a Cybernode. Cybernodes embrace the recognition that the network is composed of heterogeneous compute resources with multiple architectures, operating systems - all with different capabilities. The Cybernode provides a lightweight dynamic 'agent' turning heterogeneous compute resources into services available through the network. The Cybernode represents the capabilities of compute resource they run on through quantitative & qualitative mechanisms. Cybernode instances dynamically discover and enlist with Rio Provisioning services, and provide a lightweight container to instantiate mobile services.

#### Monitoring & Management

Key to keeping the dynamic service grid operating is to ensure services (and the tasks they are processing) are still running. Utilizing Fault Detection Policies, Rio provides the essential capability to detect existence of running and available services. If services become unavailable, or fail to meet processing requirements, the recovery of those services to available compute resources is enabled by provisioning mechanisms.

All application deployed services and Rio itself is managable using JMX, with notification support that includes an elegant peer-to-peer event model, allowing interested consumers to be notified of application and management specific events related to SLA enforcement, application deployment and service availability.

#### Service Beans

Developing services for use with Rio is simple. The approach is to provide a non-intrusive model that removes the complexity surrounding service development and deployment. Service development follows an elegant approach towards the development of dynamic services, using either a Plain Old Java Object (POJO) approach, or Rio's Jini Service Bean (JSB) model.

#### Quality of Service

Using the policy mechanisms available in Rio, services can have SLAs attached to them, ensuring operational criteria is met. The dynamic service's operational behavior can be monitored and dynamically scale it's environment up & down based on declarative attributes. In this way the service grid works with the Rio provisioning agents to dynamically size and provision the required services based on realtime operational demands.