Title: Folie 1
1Architecture Concept for a Distributed Database
and Data Management System for Disadvantaged
Communication Networks MCC 2008,
23.09.2007 Thomas Nitsche On behalf of Norman
Jansen and Marc Spielmann FGAN/FKIE
2Outline
- Introduction Challenges of Tactical
Communication Networks - Object-Oriented Data Model
- Local Object Bases
- Replication
- Data Management and Configuration Rules
- Implementation
- Conclusion
31) Introduction Network Enabled Capabilities
- Provide a global information grid (GIG)
connecting all participating elements
Sensors
Actors
GIG
Command Control
- Aim
- Provide relevant data in timely manner ? CROP
- Requires Full integration of tactical level
4Restrictions of the Tactical Level
- Low bandwidth, Fragmented networks
- Limited capabilities of mobile devices
5Restrictions of the Tactical Level
- Low bandwidth, Fragmented networks
- Limited capabilities of mobile devices
DB
DB
DB
DB
DB
DB
- ? Redundancies are necessary to provide
continuous, system-wide availability of functions
and information - Store data locally at different network nodes
- Minimize data exchanged ? provide relevant data
on demand
6Object-Oriented Data Model
Represent military units as objects
7Object-Oriented Data Model (2)
- Objects represent military units, positions,
etc. - Unique object identifier (OID)
- Some attributes
position
absPt59
BN
8Object-Oriented Data Model (2)
- Objects represent military units, positions,
etc. - Unique object identifier (OID)
- Some attributes
- Object graph set of objects connected by links
position
absPt61
BN_CmdPost
unit
commandPost
position
absPt59
BN
9Object-Oriented Data Model (2)
- Objects represent military units, positions,
etc. - Unique object identifier (OID)
- Some attributes
- Object graph set of objects connected by links
- Pathes used to navigate
- E.g. commandPost.position ? absPt61
position
absPt61
BN_CmdPost
unit
commandPost
position
absPt59
BN
10Object-Oriented Data Model (2)
- Objects represent military units, positions,
etc. - Unique object identifier (OID)
- Some attributes
- Object graph set of objects connected by links
- Pathes used to navigate
- E.g. commandPost.position ? absPt61
- Data category mnemonic identifier for OID
- E.g. BlueForce ? BN
11Object-Oriented Data Model (2)
- Objects represent military units, positions,
etc. - Unique object identifier (OID)
- Some attributes
- Object graph set of objects connected by links
- Pathes used to navigate
- E.g. commandPost.position ? absPt61
- Data category mnemonic identifier for OID
- E.g. BlueForce ? BN
position
absPt61
BN_CmdPost
unit
commandPost
position
BlueForce
absPt59
BN
- Object modifications only allowed by owner ?
cloning
12Local Object Bases
- Local Object Bases (LOB)
- Private database for each user (unit,
organisation, role, ) - Holds data objects (currently) relevant for user
- LOBS are logical entities ? can be shared by one
physical DB - Assumption Applications and LOB of each user
reside one same network node
Data replication
13Initialization of Local Object Bases
- Initialization phase
- Special component (initializer) controls
initialization of LOBs - Transfer initial data (and configuration rules)
to LOBs - Until LOBs have well-defined initial state
- Deployment phase
- Data is replicated among (regular) LOBs
Communication
Local DB access
Replication (Disadvantaged communication)
Initialization (Broadband, stable)
14Replication Update
- Update mechanism
- Employs primary copy method
- Each object is owned by some LOB (? primary copy)
- If owner modifies object changes are propagated
asynchronously
BN
Coy2
(1) Write (modify own position)
(2) Update (propagate changed attribute)
15Replication Update (2)
- Update mechanism
- Employs primary copy method
- Each object is owned by some LOB (? primary copy)
- If owner modifies object changes are propagated
asynchronously - Advantages
- Large bandwidth reduction read and write are
local operations - No inconsistencies due to concurrent
modifications possible - Disadvantages
- Objects (local copies) can temporarily be
out-dated - Modification only allowed for own objects ?
cloning necessary - ? Suited for disadvantaged networks
16Replication Subscribe/Download
- Subscribe to arbitrary data of a unit
(publisher) - Further bandwidth reduction
- Subscription data category filter (?
fine-grained subset of LOB) - Download (pull) updates (current state) only on
subscribers request (? allows prioritization)
17Data Management
- Replication mechanism
- Provides flexible technical basis for replicating
data objects - TODO Specify relevant data (What data is to be
replicated and when?) - Data management
- For initialization
- For controlling the replication between LOBs
- Allows administrator to easily
- Specify the information needs of units
- Configure the system
- Adapt to changing situations in network centric
operations - ? Configuration rules
18Configuration Rules
- Configuration rules
- Describe relevant information according to
certain operational situation - First approach
- Which data objects are to be replicated from
which LOBs - How data is manipulated (e.g., aggregated)
- How objects are integrated into own LOB
- Two sets per LOB Configuration rules for
- Initialization phase
- Initializer sends config. rules to each LOB
- Each LOB configures its replication according
these rules - Each LOB reads initial data according to config.
rules - Deployment phase
- Exchange data objects according to config. rules
19Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
position
BlueForce
BlueForce
BN
absPt61
Co
absPt62
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
20Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
position
BlueForce
BlueForce
BN
absPt61
Co
absPt62
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
21Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
position
BlueForce
BlueForce
BN
absPt61
Co
absPt62
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
22Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
position
BlueForce
BlueForce
BN
absPt61
Co
absPt62
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
23Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
BlueForce
BlueForce
BN
absPt61
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
24Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
BlueForce
BlueForce
BN
absPt61
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
position
Co
absPt62
25Configuration Rules (2) Subscription
- Subscription rules describe which data is to be
replicated - DestCategory SUBSCRIBE( Publisher, Category,
Filter) - Example
- BlueForceChild SUBSCRIBE( LOB(BN), BlueForce, e
position)
LOB(Co)
LOB(BN)
position
BlueForce
BlueForce
BN
absPt61
commandPost
unit
commandPost
unit
position
BN_CmdPost
absPt59
BlueForce Child
position
Co
absPt62
26Configuration Rules (3) Modification
- Modification rules describe how data should be
modified - MODIFY( Trigger, Operation, DestCategory)
- Example
- MODIFY( BlueForceChild0, BlueForceChild1,
- geometricMean,
- BlueForce)
LOB(BN)
Objects
Operations
geometricMean
BN_CmdPost
absPt61
BlueForce
BN
absPt59
BlueForce Child1
BlueForce Child0
Co1
absPt71
absPt73
Co2
Co1_CmdPost
absPt72
Co2_CmdPost
absPt74
27Configuration Rules (3) Modification
- Modification rules describe how data should be
modified - MODIFY( Trigger, Operation, DestCategory)
- Example
- MODIFY( BlueForceChild0, BlueForceChild1,
- geometricMean,
- BlueForce)
LOB(BN)
Objects
Operations
geometricMean
BN_CmdPost
absPt61
BlueForce
BN
absPt59
BlueForce Child1
BlueForce Child0
Co1
absPt71
absPt73
Co2
(1) update of a position by replication
Co1_CmdPost
absPt72
Co2_CmdPost
absPt74
28Configuration Rules (3) Modification
- Modification rules describe how data should be
modified - MODIFY( Trigger, Operation, DestCategory)
- Example
- MODIFY( BlueForceChild0, BlueForceChild1,
- geometricMean,
- BlueForce)
LOB(BN)
Objects
Operations
geometricMean
BN_CmdPost
absPt61
BlueForce
BN
absPt59
(2) read
BlueForce Child1
BlueForce Child0
Co1
absPt71
absPt73
Co2
Co1_CmdPost
absPt72
Co2_CmdPost
absPt74
29Configuration Rules (3) Modification
- Modification rules describe how data should be
modified - MODIFY( Trigger, Operation, DestCategory)
- Example
- MODIFY( BlueForceChild0, BlueForceChild1,
- geometricMean,
- BlueForce)
LOB(BN)
Objects
Operations
geometricMean
BN_CmdPost
absPt61
(3) read
BlueForce
BN
absPt59
BlueForce Child1
BlueForce Child0
Co1
absPt71
absPt73
Co2
Co1_CmdPost
absPt72
Co2_CmdPost
absPt74
30Configuration Rules (3) Modification
- Modification rules describe how data should be
modified - MODIFY( Trigger, Operation, DestCategory)
- Example
- MODIFY( BlueForceChild0, BlueForceChild1,
- geometricMean,
- BlueForce)
LOB(BN)
Objects
Operations
(4) modify
geometricMean
BN_CmdPost
absPt61
BlueForce
BN
absPt59
BlueForce Child1
BlueForce Child0
Co1
absPt71
absPt73
Co2
Co1_CmdPost
absPt72
Co2_CmdPost
absPt74
31Implementation
- Experimental service-oriented network-based C2IS
(PLATO) - PLATO system contains general framework for
building services
- Based on service framework implemented
distributed CROP management service and
initializer - First set of configuration rules in XML
32Conclusion
- Introduced concept of local object bases (LOBs)
- Model for OO distributed DB system
- Data objects are stored partially redundant in
LOBs - Each LOB manages data relevant for one user
- Replication mechanism (subscribe/download-method)
- Adapted to requirements of tactical networks
- Specify precisely which data objects to replicate
- Reduces communication costs
- Data Management mechanisms
- Configuration rules for LOBs
- Control initialization and replication during
runtime - Future work
- Develop formal language for config. rules
- Simple enough for admin vs. sufficiently
expressive
33Conclusion
- Introduced concept of local object bases (LOBs)
- Model for OO distributed DB system
- Data objects are stored partially redundant in
LOBs - Each LOB manages data relevant for one user
- Replication mechanism (subscribe/download-method)
- Adapted to requirements of tactical networks
- Specify precisely which data objects to replicate
- Reduces communication costs
- Data Management mechanisms
- Configuration rules for LOBs
- Control initialization and replication during
runtime - Future work
- Develop formal language for config. rules
- Simple enough for admin vs. sufficiently
expressive
Questions? jansen, spielmann_at_fgan.de