Faculty of Computer Science | Institute of Systems Architecture | Chair of Computer Networks
Flexible Data Distribution Policy Language and Gateway Architecture - - PowerPoint PPT Presentation
Flexible Data Distribution Policy Language and Gateway Architecture - - PowerPoint PPT Presentation
Faculty of Computer Science | Institute of Systems Architecture | Chair of Computer Networks Flexible Data Distribution Policy Language and Gateway Architecture Josef Spillner, Alexander Schill mailto:josef.spillner@tu-dresden.de
# 2 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Background: Storage Services
3 months limit; tariff choice utility billing backup/sync
- vs. storage
web access
- nly
proprietary client file size limit institutional pricing: progressive/ degressive
# 3 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Background: Storage Service Integration
# 4 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Background: Controller Configuration (1)
# 5 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Background: Controller Configuration (2)
# 6 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Background: Storage Service Gateways
# 7 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Cloud Storage Engine (ClouSE) [mysqld] (in my.cnf) clouse_cloud_data_url=\ s3://s3.amazonaws.com CREATE TABLE clouse_t (
- bject_name, object_id,
...); SecCSIE database entries CREATE TABLE providers ( name varchar(50), username varchar(50), ...); CREATE TABLE fragments ( encryption tinyint(1), ...);
Deficiencies
NubiSave configuration files [parameter] server = 10.0.2.5 remotedir = /home/store [properties] redundancy = 49 matchmakerURI = local:80 Main shortcomings
- no interoperability between
configuration approaches
- no capturing of intended policies
and higher-level configuration
- no extensibility towards advanced
storage processing outside of the controller/gateway scope
# 8 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Introducing FlexDDPL
Conf table Conf files Conf base Flex DDPL instance Processing components Flexible Data Distribution Policy Language
- primarily targeting storage controllers, gateways and associated tools
- capturing higher-level policies
- mapping onto concrete configuration directives of processing components
Language design
- separation of syntax and rule/scope vocabulary
- extensible through vocabulary and scope application
- declarative with imperative (verbial) elements
Flex DDPL grammar Flex DDPL vocabul.
# 9 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
FlexDDPL Syntax
FlexDDPL Syntax Elements+Vocabulary (full EBNF grammar: see paper) scopes → applied in contexts (e.g. user database) ~user !negation T:22:00-06:00 @group fragment mime:message/rfc822 rules → applied to targets (e.g. storage provider) store control adapt FlexDDPL Syntax Example adapt scaleimage control redundancy 200% fragment { store region europe @developers { adapt compress } } Observations
- rules arguments entirely
determined by targets
- scopes can be arbitrarily
combined, re-ordering assumed to follow
# 10 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
FlexDDPL Vocabulary
Rule targets (imperative/verbial) store
- cloud storage service selection
- sign-up, if present
- matches on non-functional
properties in descriptions control
- client-side storage controller
- weighted dispersion, if present
- redundancy and recovery
adapt
- data adaptation, if present
- dismissal as specialisation
Scopes (declarative) ~user, @group, T:*, mime:*
- evaluated by suitable sensor
- further candidates: privacy:*
and size:* !negation
- logically applicable to the above
- relies on boolean scopes
fragment
- can appear once or more
- relates to the dispersion
- is boolean per fragment
# 11 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Storage Gateway with FlexDDPL
# 12 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Language Evaluation
# 13 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Gateway Evaluation: NubiSave Controller
# 14 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Gateway Evaluation: Integration
NubiSave configuration Flex DDPL instance Online Service Sign-up Tool configuration Apache WebDAV configuration AdaptiveSyncer configuration Implementation and integration
- open source components around user-space file systems (FUSE)
Configuration reload
- NubiSave has hot-pluggable configuration
- web server needs reload, other tools pick up changes on next invocation
<Directory /storage/scope%SCOPE%> Dav On require user %USER%
Custom parser and processor
# 15 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Gateway Evaluation: Measurements
Experiment setup
- user database with 1000 entries, on Intel i5 quad-core notebook, 4 GB RAM
Experiment execution
- FlexDDPL document with 1000 users, one NubiSave filesystem mount for each
- Measurements with shell commands: time & free
# 16 LatinCloud, 26.11.2012 Flexible Data Distribution Policy Language and Gateway Architecture
- J. Spillner & A. Schill
Summary
Further Material: nubisave.org
- NubiSave optimal cloud storage controller - web pages, git repository, ...
flexcloud.eu
- EU/ESF-funded project: Flexible Service Architectures for Cloud Computing
Results
- FlexDDPL: flexible policy language to capture cloud storage requirements
- Characteristics: rigid structure, portability, extensibility
- Storage gateway using the NubiSave controller and a FlexDDPL parser
Open Issues and Next Steps
- standardisation of vocabulary
- reference parser and processor for FlexDDPL
- less resource-consuming reference implementation