21
University of Würzburg Distributed Systems Prof. Dr. P. Tran-Gia An Application-level Active Networks Based Architecture for the Performance Management of Peer-to- Peer Services H. deMeer and K. Tutschku OPENSIG 2001 Workshop: „Next Generation Network Programming“ London, 24./25. September 2001

H. deMeer and K. Tutschku

  • Upload
    neo

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

H. deMeer and K. Tutschku. An Application-level Active Networks Based Architecture for the Performance Management of Peer-to-Peer Services. OPENSIG 2001 Workshop: „Next Generation Network Programming“ London, 24./25. September 2001. Overview. What is Peer-to-Peer Networking? - PowerPoint PPT Presentation

Citation preview

Page 1: H. deMeer and K. Tutschku

University of WürzburgDistributed SystemsProf. Dr. P. Tran-Gia

An Application-level Active Networks Based Architecture for the Performance

Management of Peer-to-Peer Services

H. deMeer and K. Tutschku

OPENSIG 2001 Workshop: „Next Generation Network Programming“

London, 24./25. September 2001

Page 2: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Overview

What is Peer-to-Peer Networking?

Selected P2P Architectures

Resource and Performance Management of P2P Services Goals and Approaches

ALAN-based Architecture for P2P Performance Management ALAN superpeers superpeer implementation

Conclusion

Page 3: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Peer-to-Peer: Introduction

Tremendous industrial hype and strong research attention: Napster: 40 million user deployments in two years O’Reilly P2P conference, March 2001 / panel at InfoCom 2001 Typical applications:

– file sharing (Napster, Gnutella)

– group collaboration (Jxta [Sun], Groove)

– distributed storage (PAST/Farsite [Microsoft], Chord [MIT])

– distributed computation (SETI@home)

Page 4: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Peer-to-Peer: Features

Basic features: distributed architecture

– composed of voluntary and ad-hoc membership of peers

– symmetric roles (serving, downloading, routing) throughout system: servent = server + client

– weak connectivity: handles variable connectivity as the norm available at the edges of the Internet

Hope: instant services, no cost of administration, re-use of

resource quality and robustness scales with size of infrastructure

Many many challenges: trust, semantics, location, efficiency/performance,

operation, robustness

Page 5: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Selected P2P Applications - SETI@home

Purpose: uses idle CPU cycles on ordinary PCs for massively parallel analysis of

extraterrestrial radio signals

Architecture: central SETI@home server distributes data analyses done locally by SETI@home screen saver

Classification (according K. Kant): (scattered, organized, isolated, non_RT)

Similar architectures: Napster

Page 6: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Selected P2P Applications - Gnutella (1)

Purpose: distributed and anonymous file sharing

Servents operate completely without central control

Exploits unused storage on edge nodes

Characteristics: message broadcasting for node discovering and search requests; forming of overlay network; connecting: join the “several known hosts” user data transfer: store and forward using HTTP

Classification: (scattered, scattered, isolated, non_RT)

Page 7: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Selected P2P Applications - Gnutella (2)

flooding of PING/PONG messages; broadcasting range limited by TTL counter .

short time memory of messages already seen; prevents re-broadcasting; GUIDs to distinguish msg

G-NodeG-NodePingPing

PongPong

PingPing

Pin

gP

ing

Pin

gP

ing

Call-and-Response protocol mechanism: node discovery

G-NodeG-Node

Page 8: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Selected P2P Applications - Gnutella (3)

1) Node A asks Node B for data.

3) B forwards the request to its neighbors.4) These return any match- ing info.

5) B looks up source of request.

6) B returns matching info

G-NodeA

G-NodeA

G-NodeB

G-NodeB

G-NodeC

G-NodeC

G-NodeD

G-NodeD

Call-and-Response protocol mechanism: search query / download

2) B keeps a record that A initiated the request

Node A7) A may initiate download using HTTP

search: Query/Query-Response (flooding!) download: GET/PUSH. (direct transmission)

Page 9: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Selected P2P Applications - Gnutella (4)

Limitations/Difficulties: unstable/loose connectivity of the servents

performance management difficult

scalability: e.g. TTL=10, every node broadcasts to six others

msg; problem in huge networks

low TTL, low search horizon

denial-of-service attacks

Challenges: Robustness

– availability of resources; hard to predict the consequences of failures; administrative actions

Performance – bandwidth consumption; scalability; end-to-end quality-of-service;

overload / network planning

106

Page 10: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

P2P Resource/Performance Management

Goals: maximizes a peer’s utility to the overall system

while minimizing its potential threat increase stability introduce administrative rules

Problems to tackle: resource discovery/allocation reduction of synchronization traffic aggregation and self-organization simple overuse (e.g. freeloaders) bandwidth/latency/packet loss

Page 11: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

P2P Resource/Performance Management

Approaches: enhance P2P protocols:

– topology construction (JXTA) – sophisticated group multicasting (Lee et al., 2001)

accountability:– used in Free Haven project / Mojo Nation – restricting access: “micro payments”– selecting favored users: reputation system

superpeers:– Morpheus/KaZaA, Clip2’s Gnutella Reflector– Virtual Active Peer

• based on Application-Level Active Networks

Page 12: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

“Virtual Active Peer” Architecture

Superpeer: layering provides control capability facilitates limited topology management

Application-level Routing optimizes for different metrics (e.g. privacy, policies, latency) provides smart multicast, caching and replication capabilities

C C

P2P No d e

La ye rs

EEPAc tive N e two rking

Ele m e nt

Page 13: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Application Level Active Networks (ALAN)

proposed by Fry and Ghosh [1999]

active elements on application level

system consists of proxylets and EEPs: proxylets:

– dynamic code modules specifying the protocol handling– single copy stored on central server; identified by reference (URL)

EEPs:– execution environment for proxylets; located at strategic points– proxylets ctrl: load, run, modify, stop– dynamic deployment– system proxylets: routing, discovery, and error handling

Page 14: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

ALAN – Architecture

Execution Environment for Proxylets (EEP)

Monitor Interface

Protocol Server

Gnutella Active Peer Proxylet

Gnutella Ctrl Interface

Control Interface

Proxylet Server

Gnutella Mon.Interface

Peer

PeerSuper-peer

Proxylet

Page 15: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Superpeer Architecture

Application Optimization Layer: management of peer-to-peer relation on application level; using application level

performance metrics enforcement of connections with predictable performance

Virtual Control Cache: application-level aggregation capability facilitates differentiation

Network Optimization Layer: optimal mapping wrt. transport network capabilities enables dynamic traffic engineering

Gnutella Active Proxylet Application Optimization Layer

Virtual Ctrl Cache

Network Optimization Layer

Page 16: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Superpeer Architecture

Topology control: set-up of stable connec-

tions to other EEPs instantiation of new active

peers at other EEPs termination of Gnutella

connections distribution of announce-

ments (ping msg)

Gnutella Active Proxylet

Application Optimization Layer

Virtual Ctrl Cache

Network Optimization Layer

Topology Ctrl Policy CtrlPerformanceMonitoring

Policy control: user, network, or

servent based TTL / connectivity prioritization / localiza-

tion

Perf. Mon: query traffic ping/pong traffic robustness of

connectivity response time throughput

Page 17: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

P2P JTella Dependencies

GNUTellaConnection host, port

Router ConnectionList, HostCache

IncomingConnectionManager Router, ConnectionList, ConnectionData

OutgoingConnectionManager Router, ConnectionList, ConnectionData

KeepAliveThread ConnectionData

HostCache HostFeed

SearchMonitorSession MessageReceiver

OriginateTable

BoundedQueue messageQueue RouteTable queryhit

RouteTable query

RouteTable pings

Vector searchReceivers Vector pushReceivers

MessageReceiver NodeConnection

RouteMessage

Message esp. Ping-, Pong-, Push-, Query- and QueryReplyMessage

ServerSocket

HostCache StarterPool

Gnutella Proxylet (Application Optimization Layer)

Active Peer Proxylet: based on JTella 0.6 API full Gnutella routing capability layered architecture on-going implementation

Page 18: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Self-Organization

active peers topology control permits local self-organization e.g. accepting only peers with similar

response time

forming of zones of similar performance

proxylet ctrl permits initiation of new active peers

superpeer architecture able adapt to to spatially varying performance condition

Page 19: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Approach to the Management of Wireless Ad-hoc Networks

Wireless ad-hoc networks: highly distributed architecture

– weak relationship between participating nodes

– highly varying link performance constantly changing set of moving/dis-

appearing nodes highly dependent on routing

forming of zones of similar performance based on radio link performance metrics

Page 20: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

Conclusion & Outlook

P2P networking is a promising paradigm for services operating at the edges of the network

weak connectivity of P2P services challenges the resource and performance management

ALAN-based “Virtual Active Peer” approach combines the advantages of distributed and centralized ctrl architectures facilitates methods to increase service stability and service performance permits the forming of zones of equal performance

Outlook: performance management schemes require new models

– networks dynamics: what is best node to connect to? residual time of servents in the system?

– combined synchronization/user data traffic model?

Page 21: H. deMeer and K. Tutschku

Performance Management Architecture for P2P Services H. DeMeer / K.

Tutschku

University of Würzburg

Distributed Systems

End of talk

Thank you

Q & A