+ All Categories
Home > Documents > 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

Date post: 05-Jan-2016
Category:
Upload: merry-martina-butler
View: 213 times
Download: 1 times
Share this document with a friend
Popular Tags:
17
1 HyperCast Brief overview Jorg Liebeherr University of Virginia
Transcript
Page 1: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

1

HyperCastBrief overview

Jorg Liebeherr

University of Virginia

Page 2: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

2

HyperCast Project

• HyperCast is a set of protocols for large-scale overlay networks (P2P networks)

Research Questions:• How to maintain a very large overlay network that supports

… large number of peers… that spuriously join and leave … in a network that is dynamically changing ?

• How to build applications in such a network?

Page 3: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

3

Overlay Network

• An overlay network is a logical network on top of a substrate network (Internet, ad-hoc wireless network, etc. )

• Data is transmitted between neighbors in the overlay• Overlay network can support services not available in the substrate network

Page 4: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

4

HyperCast Overlay Topologies

HyperCast builds application-layer overlay networks

Applications self-organize to form a given overlay topology

Data is forwarded along the edges of the overlay topology

Hypercube

Delaunaytriangulation

Spanning tree(for mobile ad hoc)

Page 5: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

5

Network of overlay sockets

• An overlay network is a collection of overlay sockets

Internet

Overlaysocket

Application

Overlaysocket

Application

ApplicationOverlaysocket

Application

ApplicationOverlaysocket

Application

Page 6: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

6

Overlay Socket

• Socket-based API

• Supports different semantics for transport of data

• Supports different overlay topologies

• Supports different protocols in substrate network (UDP unicast, UDP multicast, TCP, or SSH tunnels)

• Implementation in Java

Overlay Socket

Forwarding Engine Message Store

Overlay Socket Interface

Sta

tist

ics

Inte

rfa

ce

Messages ofthe OverlayProtocol

ApplicationReceiveBuffer

Overlay Node

Node Adapter Socket Adapter

ApplicationMessages

Application Program

Substrate Network (e.g., Internet)

Page 7: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

8

Message Formats

PayloadOverlay

messageheader

Extension ... Extension

Version(4 bits)

DMode(4 bits)

Traffic Class(8 bits)

Extension Type(8 bits)

Overlay Message Length(16 bits)

Flow Label(16 bits)

Source Logical Address(variable)

LA Size(8 bits)

Hop Limit(16 bits)

Previous Hop Logical Address(variable)

Destination Logical Address(only if DMode=0x3, variable)

Loosely modeled after IPv6 minimal header with extensions

Page 8: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

9

Socket Based API

//Generate the configuration object OverlaySocketConfig ConfObj = OverlaySocketConfig.createOLConfig("hypercast.xml");

//Create an overlay socket I_OverlaySocket socket=ConfObj.createOverlaySocket(null);

//Join an overlay socket.joinOverlay();

//Create a message OL_Message msg = socket.createMessage(byte[] data);

//Send the message to all members in overlay network socket.sendToAll(msg);

//Receive a message from the socket OL_Message msg = socket.receive();

//Extract the payload byte[] data = msg.getPayload();

//Generate the configuration object OverlaySocketConfig ConfObj = OverlaySocketConfig.createOLConfig("hypercast.xml");

//Create an overlay socket I_OverlaySocket socket=ConfObj.createOverlaySocket(null);

//Join an overlay socket.joinOverlay();

//Create a message OL_Message msg = socket.createMessage(byte[] data);

//Send the message to all members in overlay network socket.sendToAll(msg);

//Receive a message from the socket OL_Message msg = socket.receive();

//Extract the payload byte[] data = msg.getPayload();

• Tries to stay close to Socket API for UDP Multicast

• Program is independent of overlay topology

Page 9: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

10

Hypercast Software: Demo Applications

Distributed Whiteboard Multicast file transfer

Data aggregation in P2P Net: CS757 Homework

Page 10: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

12

Video Streaming over Internet

Page 11: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

13

Video-streaming in ad-hoc network

Page 12: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

14

AlertVideo stream

Overlay networks and Information Management

• An application can be a member of many overlay networks• Access to information is provided through dynamically created

overlay networks

File

message

Page 13: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

15

Application: Emergency Response Network

Capstone Project in SIE Dept for Arlington County

(B. Horowitz, S. Patek)

Page 14: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

16

Summary

• HyperCast is software for application layer overlay networks• Overlay socket is a programming interface for overlay

networks:– Independent of type of overlay network– Independent of type of substrate network

• Intensive experimental testing in local and wide-area tesbeds• Several proof-of-concept applications.• Currently extended to wireless sensor networks (for US Army)

HyperCast web site: http://hypercast.orgDesign documents, download software, user manualRelease of Java implementation under Library GNU license.

Page 15: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

17

Local Area Experiments

• Experimental Platform: Centurion cluster at UVA (cluster of 300 Linux PCs) – 2 to 100 PCs– 1 to 100 members per PC

2 to 10,000 overlay members

Switch 8

Switch 9

Switch 11

Switch 10

Switch 4

Switch 5

Switch 6

Switch 7

Switch 3

Internet

centurion149-167centurion183centurion253-255

centurion246centurion250centurion251

centurion249centurion252

centurion168-182centurion164-187

centurion188-211

centurion228-247centurion128-147

Gigabit Ethernet

Page 16: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

18

How long does it take to add M members to an overlay network of N members ?

Experiment: Adding Members

M+N members

Tim

e to

Co

mp

lete

(se

c)

Page 17: 1 HyperCast Brief overview Jorg Liebeherr University of Virginia.

19

Experiment: Throughput of Multicasting

Number of Members N

Bandwidth bounds

Measuredvalues

Ave

rag

e th

rou

gh

pu

t

(Mb

ps)

100 MB bulk transfer for N=2-100 members (1 node per PC) 10 MB bulk transfer for N=20-1000 members (10 nodes per PC)


Recommended