Transcript Slide 1

What is JDivvy?
JDivvy is an addition to the Java collection framework which
allows data to be distributed across a network of JVMs. The
developer can use the API as if it were a standard Sun
implementation of the map interface.
Java
Application
JConsole
Node Console
Map
1. Initial State
2.Client (C) connects to a known Node (N2)
RMI
Clients connecting to the system
JDivvy
Client
Library
RMI
What does JDivvy offer over a normal Java Map?
• No limitation on size
• Sharable data over two or more JVMs
• Data Redundancy
• Persistent data storage
• Aggregation of the data with pluggable custom aggregators and filters
• Unified management via a single console
• Security to prevent unauthorised access to your data
Aggregation
Persistence
Replication
Who would benefit from JDivvy?
• Industries which require vast amounts of data to be
• processed where high performance is a necessity – i.e.
• Analysis of market trends in banking.
• Industries operating on a international scale who require a
• consistent view of data across locations globally.
Preventing Data Inconsistency – one key having two
different values
4. Node (N2) tells all Nodes about Client (C)
3. Node (N2) tells Client (C) about all nodes
JDivvy prevents data inconsistency by using a sophisticated
‘putcheck’ algorithm. ‘putcheck’ uses threads to check each
node in parallel to discover if a value is present in the map,
and if so replaces it. If the value is not found, the object is
stored in the node with the most free space, evenly
distributing the load on each node.
JDivvy can utilise the processing power of the nodes
using Aggregation
Redistributing data if a node failure occurs
1. Initial State
2. Node (N3) fails
3. Node (N2) sends “ping”
to Node (N3) – this fails
To increase the speed at which data is processed calculations
which are to be carried out on the entire map can be
processed on each node in parallel and the partial results
combined at the end.
All nodes are manageable by a single console on one
machine
6. Node (N4) tells Node (N2)
to replicate its data to Node
(N4)
5. Node (N4) distributes data
from N3 it was replicating
4. Node (N2) discovers
Node(N4) as next Node –
distributes new Topology
Redistributing data when a node is shutdown
1. Initial State
2. Node (N3) starts shutdown –
distributes data to other nodes
3. Node (N3) completes
shutdown, Node (N2) backs
up data on Node (N4)
•View node status
•information
•View nodes direct
•replicated store
•Perform Map
•operations on any
•node
Scott Congreve
Patrick Galvin
Paul Skelton
Alan Spinks
Professor Peter Linington