Title: DDBS and P2P
1DDBS and P2P JXTA JuxMem
2DDBS vs P2P
3Architecture Priniciples
4Some research issues
5JXTA a specification for P2P computing
- Open platform for P2P programming
- Common functionalities
- Language, OS, network
- Set of interoperable protocols (XML)?
- Open source project
- http//www.jxta.org
6JXTA architecture
JXTA Applications
SunJXTA Applications
Community JXTA Applications
Sun JXTAServices
JXTA Shell
Community JXTA Services
JXTA Services
- Indexing
- Searching
- File sharing
Peer Commands
Peer Monitoring
Peer Groups
Peer Pipes
JXTA Core
Security
Security
Any Peer on the Expanded Web
7JXTA virtual network
Project JXTA virtual network
Peer
Peer
Peer
Peer
Peer
Peer
Peer
Peer
Virtual mapping
TCP/IP
Physical network
NAT
HTTP
Firewall
Physical Network
8JXTA protocols stack (2/2)?
Pipe Binding Protocol
Peer Discovery Protocol
Peer Info Protocol
Peer Resolver Protocol
Peer Rendezvous Protocol
Peer Endpoint Protocol
9Peers
- A peer
- Unique identifier (UUID)?
- Adressable independently of its location
(firewalls, NAT)? - Multiple Peer endpoint address (TCP, HTTP,
etc.)? - Peer types
- Edge send/receive cache
- Rendezvous fwd requests
- Relay routing cache firewall support
10Peer groups
- Why Peer Groups?
- Provide a group identity (common interest)
- Create secure protected domains
- Scope peer operations (discovery, search,
communications)? - Enable monitoring
NetPeerGroup
PeerGroupA
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
PeerGroupB
11Advertisements
- Every resource is represented by an advertisement
- Peer
- Peer group
- Pipe
- Service
- Content
- Peer status
PeerGroup Advertisement lt?xml
version"1.0"?gt lt!DOCTYPE jxtaPGAgt ltjxtaPGAgt ltG
IDgt urnjxta uuid- BCBCDEABDBBBABEABBBABA
000000 lt/GIDgt ltMSIDgt urnjxtauuid- BFEFDEDFBA
BAFRUDBACE00000001 lt/MSIDgt ltNamegt My
Group lt/Namegt ltDescgt This group is to be used
for my own testing lt/Descgt lt/jxtaPGAgt
12Network services
- Peer services peergroup services
- Implement protocols
- Service invocation
- Not specified by JXTA
- Can be dynamically loaded
- Code retrieved at run-time
- Applications
- Use several services
13JXTA core standard protocols
- Core protocol
- Endpoint Routing Protocol
- Transport protocols used underneath (TCP, TLS,
HTTP, etc)? - Resolver protocol generic RPC
- Standard protocols
- Peer discovery protocol
- Discovering resources
- Rendezvous protocol
- Management of the JXTA network
- Peer Information protocol
- Pipe binding protocol
- Resolution of virtual channels (pipes)?
14API of a service
- Init( Group, assignedID, ModuleImplAdvertisement
)? - startApp( args )?
- stopApp()?
- getImplAdvertisement()?
- getInterface()?
- specific API
15Lookup mechanisms in P2P systems
- Peers have high churn rate
- Based on DHTs (Chord, Pastry, Tapestry, etc)?
- Efficient
- But costly to maintain a consistent distributed
index - Based on crawling (Gnutella, KaZaA, etc)
- Expensive
- But do not have any maintenance cost
- Hybrid approach loosely-consistent DHT
16Organization of a JXTA overlay
- Type of peer involved
- Edge peer
- Rendezvous peer
- Concept of peer view (PV)?
- Ordered list of known rendezvous peers
- Peer view protocol for the discovery of other
- rendezvous peers
- Structured overlay
- Loosely-Consistent DHT between rendezvous peers
- Mechanism for ensuring convergence of the PV
across rendezvous peers - Key point for the efficient of the
loosely-consistent DHT - Fallback mechanism limited-range walker
17Time for the PV to converge across rendezvous
peers?
- Testbed up to 580 nodes
- Rennes (161), Bordeaux (44), Orsay (185),
Toulouse (50), Sophia (100) and Lyon (40)? - Logical overlay
- n rendezvous peers (n 2, 10, 80, 160, 580)?
- No delay between startup
- Initial topology simple link between rendezvous
peers - Duration up to 2 hours
18Conclusion JXTA technology today
- Enhanced network and J2SE platform
- Mature, stable, secure, scalable platform.
- 2.0 spec, code, demos, docs, and tutorials
on-line - Public virtual network in place
- Release 2.5.x
- JXTA-C and JXME implementations available
- JXTA-C better on some points than JXTA-J2SE
- JXTA-C 2.5.2 JXME 2.1.2
- Community projects industrial choice
19JuxMem a grid data sharing service build using
P2P techniques
20(No Transcript)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26(No Transcript)
27Idea an Hybrid Approach
- DSM systems consistency and transparent access
- P2P systems scalability and high dynamicity
28Overview of JuxMems architecture
- Based on JXTA (Sun Microsystems), a generic
framework for custom P2P services and
applications - Basic concepts peer, peer group, advertisement
- Specifies a set of protocols for inter-peer
interaction
Juxmem group
Cluster group C
Cluster group A
Cluster group B
29(No Transcript)
30(No Transcript)
31(No Transcript)
32(No Transcript)
33Managing Shared Data Blocks
- Allocate a memory block create a data group
- Data blocks replicated on providers
- Data blocks identified by the ID of the peer
group - Transparent access for clients via data ID
- Consistency
- Current model Entry Consitency
- Simultaneous updates of replicas (logical
multicast)? - Clients are not notified of updates
34The big picture of JuxMem layers
3
?
2
1
35The big picture of juk layers
Module mémoire (niveau haut)?
2
3
Module publication et découverte
Module mémoire (niveau bas)?
Module communication
Pipe service
Discovery service
Module service
1
Resolver service
Rendezvous service