Peer-to-Peer Management of Large-Scale Memory Sources (midterm)

660 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
660
On SlideShare
0
From Embeds
0
Number of Embeds
35
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Peer-to-Peer Management of Large-Scale Memory Sources (midterm)

  1. 1. XPeer Peer-to-Peer Management of Large-Scale Memory Sources Vincent Andrieu – Dr. Mark Roantree
  2. 2. Why is XPeer needed ? <ul><li>CDVP experiments so as to study the links between movie content and viewer reactions : </li></ul><ul><li>29 movies, 33 experiments, 44 persons and 8 sensors per experiment </li></ul><ul><li>Sensors data stored in XML files that CDVP needs to query </li></ul><ul><li>250 XML files ; more than 670 MB </li></ul><ul><li>Centralized XML database is not suitable </li></ul><ul><li>Spreading the XML files over several databases and querying them through a Peer-to-Peer (P2P) network. </li></ul>
  3. 3. Application design diagram P2P Network QueryPeers DataPeers (running on eXist servers (native XML databases))
  4. 4. Implementation <ul><li>XML Documents (DataPeers) gathered into clusters with keywords </li></ul><ul><ul><ul><li> ClusterPeer </li></ul></ul></ul><ul><li>Metadata stored in an Oracle database, containing info about all the peers </li></ul><ul><ul><ul><li> RepositoryPeer </li></ul></ul></ul><ul><li> 4 peer types : </li></ul><ul><ul><ul><li>DataPeer </li></ul></ul></ul><ul><ul><ul><li>QueryPeer </li></ul></ul></ul><ul><ul><ul><li>ClusterPeer </li></ul></ul></ul><ul><ul><ul><li>RepositoryPeer </li></ul></ul></ul>
  5. 5. Implementation Diagram
  6. 6. Launching <ul><li>Peers have a lot of attributes : </li></ul><ul><ul><ul><li>ID </li></ul></ul></ul><ul><ul><ul><li>Name </li></ul></ul></ul><ul><ul><ul><li>Description </li></ul></ul></ul><ul><ul><ul><li>Keywords </li></ul></ul></ul><ul><ul><ul><li>Oracle/eXist URLs and username/password to connect </li></ul></ul></ul><ul><ul><ul><li>Clusters they belong to </li></ul></ul></ul><ul><ul><ul><li>... </li></ul></ul></ul><ul><li>All this metadata is stored in the Oracle metabase. </li></ul><ul><li>When a peer is launched, the first thing it does is finding a repository peer (because it is connected to the metabase) so as to get his context, so as to know everything about itself. </li></ul><ul><li>If a repository peer can’t find any other repository peer, then it connects to the metabase </li></ul><ul><li>But if a non-repository peer can’t find a repository, it dies </li></ul>
  7. 7. JXTA platform <ul><li>The JXTA platform is an open source peer-to-peer protocol specification . </li></ul><ul><li>Logical layer over the network layer </li></ul><ul><li>The physical network configuration of the peer is transparent. All of them are in the same logical P2P network, even if they actually are in different physical networks. </li></ul><ul><li>Connection and disconnections are managed. </li></ul>
  8. 8. JXTA platform <ul><li>As a JVM is very heavy and several peers may run on the same machine, so the application was designed so as to allow several peers (even different types of peer) to run in the same process, over 1 JXTA Peer. </li></ul>ClusterPeer DataPeer DataPeer JXTA Platform RepositoryPeer QueryPeer JXTA Platform DataPeer QueryPeer ClusterPeer JXTA Platform P2P Network
  9. 9. Peer design
  10. 10. What’s next ? <ul><li>Caching systems (e.g. between ClusterPeer and DataPeer, between QueryPeer and ClusterPeer ) </li></ul><ul><li>Logical expressions or regexps for keywords (e.g. «cdvplex AND Shrek») </li></ul><ul><li>Dynamically set the keywords for clusters </li></ul>

×