Documente Academic
Documente Profesional
Documente Cultură
Ekaterina Chtcherbina
Siemens AG, Corporate Technology Munich
Thomas Wieland
Siemens AG, Munich University of Applied Sciences, Coburg
1
High-level agenda
Introduction ! Peer-to-Peer Computing ! The Project JXTA ! JXTA Concepts ! JXTA Protocols ! "Hello JXTA-World"
!
Distributed Search
Auctions
Collaboration
Resource sharing
10
Blackboards
11
Building facilities (sensor equipment) Collaboration work support (development tools, data sharing) Medicine (effective collaboration, file sharing, distributed data processing) Building site automatization Business & entertainment communication support Cars (driver support, location based services, car tracking)
12 Siemens CT, Chtcherbina/Wieland, 2002
Peer-to-Peer Computing
13
Traditional P2P network definition (comp. sc. encyclopedia): A type of network in which each workstation has equivalent capabilities and responsibilities. This differs from client/server architectures, in which some computers are dedicated to serving others. Our P2P network definition: An adaptive, self-configuring network which does not rely on central servers. The peers in a P2P network are devices that can act as both servers and clients (servents).
14 Siemens CT, Chtcherbina/Wieland, 2002
15
Dynamic environment, unstable connectivity, infrastructureless Issues: addressing, service discovery & advertisement, dynamic service composition, connection mgt., routing
17
Distributed networking technologies such as DCOM, CORBA and Web Services currently rely on a priori known directory servers (registry, naming server, UDDI, etc.)
2. Client Database Server 3.
18 Siemens CT, Chtcherbina/Wieland, 2002
1.
Service
Distributed auto-configuration technologies such as Jini also rely on directory servers such as UPnP are more suitable for infrastructureless environments
Peer Peer Peer Peer
19
Peer
Siemens CT, Chtcherbina/Wieland, 2002
Special Features
! !
P2P networks scale well with increasing numbers of users Multiple distributed copies of of frequently accessed resources Peers can appear and vanish spontaneously Behaviour is less predictable
20 Siemens CT, Chtcherbina/Wieland, 2002
Nondeterministic
! !
Metadata/Interoperability
! !
When are they essentially independent ? Encapsulation? Privacy? Trust? Who is out there ? How do I reach them ?
Discovery
! !
! ! !
22
Security Issues
!
Authentication
!
The process of determining whether or not some entity is in fact who that entity declares itself to be. Process of giving an authenticated entity permissions to do some action or access some resource
Authorization
!
! !
Memberships and groups are dynamic People do not trust each other
! !
! ! ! ! ! ! !
Unpredictable network latencies Firewalls and other barriers No central services (especially no directory) Individuals can cause local damage that spreads Every peer may run run different software Code may be mobile Complex systems: hard to understand
24 Siemens CT, Chtcherbina/Wieland, 2002
Solutions
!
A trusts B, B trusts C, so A can also trust C Users exchange their public keys and encrypt messages with their private keys Enrich by reputations
Assign reputations to entities Allow others to retrieve reputations Use reputation to build trust relationships Example: eBay
25
May be installed on each peer Drawbacks: Block all traffic on port, not application; generally static rulesets Essential for mobile code systems! E.g. in Java/JVM, .NET/CLR
26 Siemens CT, Chtcherbina/Wieland, 2002
Sandboxes
! !
27
on the organization of the peers within the network to route requests ! Optimization focuses on the reduction of the diameter (no. of hops, round trip time) of the graph representing the distributed network
28 Siemens CT, Chtcherbina/Wieland, 2002
Content addressable networks: distributed hash table. Content (or pointer to content) is stored in assigned peers " not a practical approach for content described by multiple attributes Publish/subscribe networks: peers agree on a certain query and advertisement template. Content based routing.
29 Siemens CT, Chtcherbina/Wieland, 2002
Hybrid Search
Hybrid approach: locally centralized + globally decentralized + publish/subscribe (e.g. JXTA Search)
Super Peer
Peer C
Peer A
Relay Peer
Mobile Peer
31
Peer-to-Peer Systems
!
P2P platforms
!
Messaging frameworks
!
Distributed computing
! !
Collaboration
!
File sharing
! ! !
Others
!
32
Project JXTA
33
What is JXTA?
conceptual framework for Peer-to-Peer applications
!
serves as a specification, an effort to create a common platform for building distributed services and applications neither a standalone Peer-to-Peer application nor a concrete framework implementation! But: Sun has provided a reference implementation (in Java) which incorporates the specified components Napster, Gnutella, Freenet & Co. provide users with limited ability to share resources and are unable to share data with other, similar applications 34 Siemens CT, Chtcherbina/Wieland, 2002
Started as a research project at Sun Microsystems by Chief Scientist Bill Joy First official release of a Java reference implementation in April 2001 Since then put under an open-source license
The name JXTA is derived from the word juxtapose, meaning to place two entities side-by-side or in close proximity. By choosing this name, the development team at Sun recognized that P2P solutions would always exist alongside the current client/server solutions, rather than replacing them completely.
Brendon Wilson
35 Siemens CT, Chtcherbina/Wieland, 2002
Key Assumptions
!
! ! ! ! !
Allow for absolute heterogeneity of peers Highly unreliable & changing network environment Asynchronous,Unreliable,Uni-directional transport Idempotent protocol exchanges No protocol state Applications to build their own security & encryption models
36 Siemens CT, Chtcherbina/Wieland, 2002
Technology
!
JXTA technology is based on XML, Java technology, and key concepts of UNIX operating system Transmitted information is packaged as messages
!
Messages define an XML envelop to transfer any kind of data JXTA protocols can be implemented in C, C++, Perl, or any other programming language
37
JXTA Concepts
38
JXTA Architecture
Application Level JXTA Services
Components
JXTA Platform
peers pipe peer groups discovery peer groups membership
pipes
Core Services
resolver
Key Aspects
XML documents (advertisements) used to describe network resources ! Abstraction of pipes to peers, and peers to endpoints
!
!
Peer
Pipes
Point-to-point pipe
Peer A Peer B
Propagate pipe
Peer B Peer A Peer C Peer E Peer D
42 Siemens CT, Chtcherbina/Wieland, 2002
Advertisements
! ! !
Peer advertisement: Comprises name, ID, endpoints, etc. Peer group advertisement: name, ID, decription, specification Pipe advertisement: ID, pipe type
43 Siemens CT, Chtcherbina/Wieland, 2002
Kinds of peers
Minimal peer ! Simple peer ! Rendevour peer ! Relay peer
!
44
Security in JXTA
!
Usual issues
!
Confidentiality, integrity, availability - authentication, access control, encryption, secure communication, etc.
! ! !
Developing more concrete and precise security architecture is an ongoing project JXTA does not mandate certain security polices, encryption algorithms or particular implementations! JXTA 1.0 provides Security Primitives:
! ! ! !
crypto library (MD5, RC4, RSA, etc.) Pluggable Authentication Module (PAM) password-based login transport security mechanism modeled after SSL/TLS
45
Security Model
!
! !
! !
XML messages allow meta data such as credentials, digests,certificates Credential a token when presented in a message uniquely identifies the sender, helps verify the senders right to send a message to the endpoint Credential default mechanism, Applications to implement mechanisms for better security Need to establish trust among peers
46
Summary
47
! !
P2P is not a new concept, but it offers new possibilities P2P applications ! Sharing of files and other resources ! Distributed computation ! Instant messaging ! Self-configuring compound services P2P applications need a standard open platform P2P networking does not suit to all application scenarios ! No QoS guarantee (variable connectivity)
! Hybrid solutions
48
JXTA An open-source framework and launching pad for p2p systems Aims to be Interoperable, platform independent and ubiquitous Peers are required to implement a low over-head stack of six JXTA protocols that standardize
! ! ! !
Challenges
! ! !
Peer discovery Self organization into peer groups Peer-to-peer Communication Peer monitoring
Naming & Binding services Security & Trust models Solutions to overcome limitations on NAT gateways & firewalls
49 Siemens CT, Chtcherbina/Wieland, 2002
Thanks
Stay tuned for more details to come ! Any Questions?
!
50