Global runtime layer
Aggregate, process, react to monitoring data
Relies on local per-device runtime mechanisms to provide monitoring data, implement control actions
Provides application interface that hides distributed implementation of runtime services
Example services
- High-level services
- Load balancing: replicate and/or migrate heavily used data objects when a disk becomes over-utilized
- Availability: replicate data from failed or failing component to restore required redundancy
- Plug-and-play: integrate new devices into the system
- Low-level services used to implement high-level global services
- Distributed directory tracks data and metadata objects
- Migration, replication, caching
- Inter-brick communication
- Distributed transactions