Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition F. Astha Ekadiyanto (franziskus.ekadiyanto@stud.uni-due.de)
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 2of 34
WHY P2P? Client-Server poses the single point of failure threat Cost related to scale because servers need to be reliable More and more computing power are available in the internet waiting to be harnessed Users and computing power are distributed in nature 3of 34
The Network is the service provider A network of services among group-peers. Winter Semester 2013/14 Lecturer: 4of 34
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 5of 34
P2P Overlay using JXTA (Architecture) Platform Layer (JXTA Core) encapsulates minimal and essential primitives that are common to P2P networking Services Layer includes network services that may not be absolutely necessary for a P2P network to operate, but are common or desirable in the P2P environment Applications Layer includes implementation of integrated applications Winter Semester 2013/2014 6of 34 Lecturer:
JXTA Architecture: Key Aspects Three essential aspects of the JXTA architecture distinguish it from other distributed network models: The use of XML documents to describe network resources Abstraction of pipes to peers, and peers to endpoints without reliance upon a central naming/addressing authority such as DNS A uniform peer addressing scheme (peer IDs) Winter Semester 2013/2014 7of 34 Lecturer:
JXTA Network Organization The JXTA network is an ad hoc, multi-hop, and adaptive network composed of connected peers Connections in the network may be transient, and message routing between peers is nondeterministic Peers may join or leave the network at any time, and routes may change frequently Winter Semester 2013/2014 8of 34 Lecturer:
JXTA Network Organization - 2 The organization of the network is not mandated by the JXTA framework, but in practice four kinds of peers are typically used: Minimal peer can send and receive messages, but does not cache advertisements or route messages for other peers. Suitable for: PDA, cell phone, etc Simple peer can send and receive messages, and will typically cache advertisements, but does not forward any discovery requests. Most peers are likely to be simple peers Rendezvous peer like any other peer, maintains a cache of advertisements, also forward discovery requests to help other peers discover resources Relay peer maintains information about the routes to other peers and routes messages to peers Winter Semester 2013/2014 9of 34 Lecturer:
Rendezvous peers Any simple peer can configure itself as a rendezvous peer A peer can be configured to use one or more rendezvous peers Each rendezvous peer maintains a list of other known rendezvous peers and also the peers that are using it as a rendezvous Req 2 JXTA Peer R2 Rendezvous Req 3 JXTA Peer C (Uses R2) Internet Req 1 Req 3 Req 2 JXTA Peer A (Uses R1) JXTA Peer R1 Rendezvous (knows R2 and R3) JXTA Peer R3 Rendezvous Winter Semester 2013/2014 JXTA Peer B (Uses R1) 10 of 34 Lecturer:
Firewalls and NATs A peer outside the firewall cannot establish a connection directly with a peer behind the firewall. For JXTA peers to communicate with each other across a firewall, the following conditions must exist: At least one peer in the peer group inside the firewall must be aware of at least one peer outside of the firewall The peer inside and the peer outside the firewall must be aware of each other and must support HTTP The firewall has to allow HTTP data transfers JXTA Peer C Relay Internet JXTA Peer A Winter Semester 2013/2014 JXTA Peer B 11 of 34 Lecturer:
Platform: JXTA Technology Sing Li, JXTA 2: A high-performance, massively scalable P2P network, http://www.ibm.com/developerworks/java/library/j-jxta2/, Nov. 2003. Winter Semester 2013/14 Lecturer:
The JXTA Protocol Stack Winter Semester 2013/2014 13 of 34 Lecturer:
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 14 of 34
Service Oriented Computing in Groupwares Focus on Behavior Customizable Implementation Flexibility (Task-Technology Fit) on: Communication Media selection Types of shared information object Types of Collaboration Coordination Types of Awareness Information Style of Conference Management X. Xu, Y. Fan, and Z. Chen, Research on a Service-Oriented Approach to Groupware Design, International Conference on Information Management, Innovation Management and Industrial Engineering, Los Alamitos, CA, USA: IEEE Computer Society, 2008, pp. 150-155. Winter Semester 2013/14 Lecturer: 15 of 34
Groupware Service Approach I. Jorstad, S. Dustdar, and D.V. Thanh, A Service Oriented Architecture Framework for Collaborative Services, wetice, Los Alamitos, CA, USA: IEEE Computer Society, 2005, pp. 121-125. X. Xu, Y. Fan, and Z. Chen, Research on a Service-Oriented Approach to Groupware Design, International Conference on Information Management, Innovation Management and Industrial Engineering, Los Alamitos, CA, USA: IEEE Computer Society, 2008, pp. 150-155. Winter Semester 2013/14 Lecturer: 16 of 34
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 17 of 34
Platform Challenge How a service can be implemented on the P2P Network to alleviate single point of failure problem and provide high degree of reliability/scalability Winter Semester 2013/14 Lecturer:
Service Provisioning Scheme User3 User2 User1 Discover & Init Groupware Services Peer Group Broker Service Service request Serve Deploy Services Agent Services Serve Search Deploy Services Agent Agent Serve New Services Relay Agent Winter Semester 2013/14 Existing Services Lecturer: 19 of 34
Methods for fault tolerance in service provision Any peer that are willing to share their resources should run an Agent Service and publish it into the P2P Network Brokers are responsible for maintaining fault tolerance in service provisioning. Brokers are standard service located in every rendezvous peers. Brokers share services advertisements as well as provisioning advertisements. Provisioning Advertisements are special messages that are maintained by the PeerGroup Broker. Provisioning is performed based on the following methods: Method Advance Provisioning Backtracking User s provisioning strategy Goals Ensure all resources/services are available at the same time Replace failed/unavailable resources/services User specify their own provisioning/recovery strategy Winter Semester 2013/14 Lecturer: 20 of 34
Provisioning Protocol Start Provisioning Client Broker Agent Service Description (request) Send multiple requests (n) Receive multiple offers (m) [m<n] Evaluate Service Description (request) Reply( ) Check Service Description Evaluate Reply Begin negotiation with first x best offers Select best offer Negotiation Phase Inform Reply(ACK) Adjust/make new offer Send confirmation reply Deploy Service Consume Service Deployed (ACK) Deployed (ACK) Status Updates Winter Semester 2013/14 Lecturer:
Maintenance Protocol Client Broker Agent Evaluate Recovery Service Failure Stop Provisioning Service Failure( ) If Recovery not possible If Recovery possible Initiate Provisioning Service Recovered( ) Deployed (ACK) Consume Service End Session/ Stop Provisioning Service Description( ) End Service(Service Desc.) Service Ended (ACK) Service Ended (ACK) Winter Semester 2013/14 Lecturer:
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 23 of 34
Video Conferencing Scenario RTP Distributor A2 User C RTP Distributor A1 RTP Distributor B User A P2P Overlay User B 24 of 34
Video Conferencing Scenario RTP Distributor C1 User C RTP Distributor C2 User A P2P Overlay User B 25 of 34
RTP DISTRIBUTOR Network RTP SessionManager DataSource Network Processor DataSource SessionManager JPEG_RTP Network Participants List addtarget () Network 26 of 34
Video Conferencing Sequence Start RTP Distributor Server Overlay Client RTP Distributor Service Desc. Deployed (ACK) Service Provisioning Start Transmission RTP Participant Request() RTP Distributor ID Register Target() RTP Winter Semester 2013/14 Lecturer:
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 28 of 34
Synchronization as Basic Building Block Groupware Application Scenarios Logical Operations Object Manipulations Shared Objects/Context XML Data Synchronization Services P2P Overlay Network 29 of 34
Differential Synchronization Algorithm Neil Fraser, Differential Synchornization, Google, https://neil.fraser.name/writing/sync/ 30 of 34
Differential Synchronization Topology Neil Fraser, Differential Synchornization, Google, https://neil.fraser.name/writing/sync/ 31 of 34
Differential Synchronization Topology P2P Overlay Neil Fraser, Differential Synchornization, Google, https://neil.fraser.name/writing/sync/ 32 of 34
CONTENTS Why P2P? The P2P Overlay Network (JXTA) Service Oriented Computing A Platform for Service Provisioning Groupware Service Applications Video Conferencing Synchronization as the basic building block of P2P groupware Services Extensions 33 of 34
Scenario/Application Logic Overlay Services Internet Winter Semester 2013/14 Scenario/ Application Logic Overlay Services Lecturer: 34 of 34 Web Service Connectors/ Cloud Interfacing Web Service Connectors/ Cloud Interfacing Transport Service 1 Transport Service 3 Transport Service 4 Connector Proxy Services Transport Service 1 Transport Service 2 Transport Service 4 Connector Proxy Services Services Extensions Cloud/Web Service Extended Resource Sharing
Q & A Thank you for your attention Winter Semester 2013/14 Lecturer: 35 of 34