whiteboard: a distributed application over xcast whiteboard: a distributed application over xcast...

32
WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan [email protected] Committee: Prof. Kanchana Kanchanasut Dr. Yasuo Tsuchimoto Dr. Sumanta Guha AI3 research presentation - 2006.04.20

Upload: andrew-edwards

Post on 27-Mar-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

WHITEBOARD: A DISTRIBUTEDAPPLICATION OVER XCAST

WHITEBOARD: A DISTRIBUTEDAPPLICATION OVER XCAST

Justinus [email protected]

Justinus [email protected]

Committee:Prof. Kanchana Kanchanasut

Dr. Yasuo TsuchimotoDr. Sumanta Guha

Committee:Prof. Kanchana Kanchanasut

Dr. Yasuo TsuchimotoDr. Sumanta Guha

AI3 research presentation - 2006.04.20AI3 research presentation - 2006.04.20

Page 2: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

2

ContentsContents

1. Introduction

• Whiteboard overview and background

• Problem statement

2. Underlying Protocols

3. Implementation

4. Evaluation

5. Conclusion

Page 3: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

3

Whiteboard: a computer software application that simulates actual whiteboards, allowing one or more people to write or draw images on a simulated canvas.This is a common feature of many virtual meeting, collaboration, and instant messaging applications.

(from: wikipedia)

1. Introduction1. Introduction

Page 4: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

4

Existing WhiteboardsExisting Whiteboards

MSN Messenger Whiteboard

Coccinella

MBONE Whiteboard

Page 5: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

5

Methods used by existing WhiteboardsMethods used by existing Whiteboards

The two methods widely used by those existing whiteboards:

•Unicast: information is sent from one point to another point. A whiteboard having many destinations means sending multiple similar packets!

•Multicast: information is sent from one point to a set of other points (one packet sent to a group of destinations at one time), but with the need of additional routing protocols (an overhead).

Page 6: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

6

Problem StatementProblem Statement

• Whiteboards normally involved a small number of users, hence Multicast will be wasteful.

What to do with this problem:

• Develop a whiteboard over an alternative protocol

Page 7: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

7

What Network Protocol to Use?What Network Protocol to Use?

Based on the problem statement:

•Unicast is wasteful for numbers of users because it is sending similar packets to multiple destinations.

•Multicast is wasteful for small groups communication because of the routing mechanism.

Another protocol that may solve this? XCAST

Page 8: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

8

XCASTXCAST

XCAST (eXplicit Unicast): a multi-destination delivery system in the network. Information is sent from one point to a set of other points, with multiple destination addresses in each single packet.

(a regular IP packet contains only one source address and one destination address)

Page 9: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

9

Why XCAST?Why XCAST?

1. XCAST works on routers with existing Unicast routing information. There is no need for additional routing protocol like Multicast which can lead to a delivery time overhead.

2. Participants are unique and identified clearly by individual IP addresses, therefore individual access lists, policies and accounting can be implemented.

Page 10: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

10

But …But …

XCAST has some disadvantages and limitations:

•Overhead in packet header size, because of the multi-destination entries•More header processing on the fly•Limited number of destinations (logically maximum 9 for IPv4, 127 for IPv6)•XCAST packets cannot be fragmented into smaller MTUs (Maximum Transmission Units).

Page 11: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

11

XCAST6 LimitationsXCAST6 Limitations

• XCAST packets cannot be fragmented, meaning each packet must not exceed MTU (Maximum Transmission Unit) size.

• MTU = the largest possible packet size that a network can transmit at a time (in this case Ethernet = 1500 bytes). If exceeds then MTU on the network will divide into smaller packets. But this is not possible for XCAST because of its header structure.

Page 12: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

12

XCAST PacketXCAST Packet

header dest. add. data

MTU 1500 bytes

header dest. add. data

The more # of destinations the less data space

40 bytes

Page 13: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

13

What to do with MTU limitWhat to do with MTU limit

• Total size of maximum 1500 includes: XCAST packet header, destination addresses in the extension header and data payload.

• Longer data payload is split into smaller chunks at the application level implementation, before forming to packets.

• Small chunks’ size must also reserve space for destination addresses.

Page 14: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

14

2. Implementation2. Implementation

• The latest version of MBONE’s Multicast whiteboard program has many bugs and the libraries used in the source code are outdated. Originally works on IPv4.

• The implementation of XCAST Whiteboard still follow the MBONE’s whiteboard mechanisms and routines.

• Development under C language. Operating system: Linux

Page 15: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

15

The Program’s FlowThe Program’s Flow

canvas drawingcanvas drawing

incoming drawcommands from

remote users

incoming drawcommands from

remote users

outgoing drawcommands toremote users

outgoing drawcommands toremote users

receiving socket(listening)

receiving socket(listening)

sending socketsending socket

The Network(LAN / Internet)

Page 16: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

16

Combining Tcl/Tk and CCombining Tcl/Tk and C

Tcl/Tk canvas code

(Tcl/Tk script)

XCAST6 socket(C code)

single C code

C compiler

XCAST6 whiteboardexecutable binary

xwbd.c & xwbd.h

gcc –o xwbd xwbd.c

./xwbd

Page 17: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

17

Whiteboard Data FormatWhiteboard Data Format

whiteboard commandwhiteboard command

ID - sequence numberID - sequence number

timestamptimestamp

Page 18: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

18

Whiteboard tools & canvasWhiteboard tools & canvas

Page 19: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

19

Whiteboard in actionWhiteboard in action

Page 20: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

20

Page 21: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

21

3. Evaluation3. Evaluation

1. Distinguish response time of XCAST6 Whiteboard and MBONE Multicast Whiteboard

2. Router’s forwarding time between XCAST6 and Multicast

3. Bandwidth consumption

Page 22: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

22

Evaluation ProcessEvaluation Process

• Design a network for the test.

• Collect byte sizes of all whiteboard commands.

• Determine maximum number of destinations.

• RTT (Round Trip Time) method to obtain response time between sender and receiver(s).

• Obtain router’s forwarding time with Ethereal

• Bandwidth measurement

Page 23: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

23

Network for the TestNetwork for the Test

ROUTER 1 ROUTER 2

SUBNET 1

SUBNET 2

SUBNET 3

SUBNET 4

Page 24: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

24

Data Sizes of Whiteboard CommandsData Sizes of Whiteboard Commands

Commands Sizes

Line 51 – 66 bytes

Arrow 95 – 98 bytes

Rectangle 66 – 67 bytes

Oval 66 – 67 bytes

Delete 18 – 19 bytes

Move 22 – 23 bytes

Fill 33 – 35 bytes

Page 25: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

25

Possible number of destinationsPossible number of destinations

header destination addresses 95 bytes data

MTU 1500 bytes

40 bytes

Up to 78 destination addresses

In this remaining space

Page 26: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

26

Response TimeResponse Time

• Response time = the time taken by a sender to send a whiteboard command to a receiver.

• Previously NTP (Network Time Protocol) method was used but it did not give good accuracy as response time in the testbed is in a matter of milliseconds.

• RTT (Round Trip Time) value divided by 2 is the best known value for the response time assuming the symmetric route path.

Page 27: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

27

Average Response TimeAverage Response Time

0

1

2

3

4

5

6

7

8

9

1 5 10 15 20 25 30 35 40 45 50 55 60 65 70

number of destinations

aver

age

resp

on

se t

ime

(ms.

)

XCAST6

Multicast

Page 28: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

28

Router’s forwarding timeRouter’s forwarding time

eth0 eth1 Forward time = teth1 – teth0

Running two instances of Ethereal to monitor eth0

and eth1

Page 29: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

29

Router’s Forwarding TimeRouter’s Forwarding Time

0

10

20

30

40

50

60

70

80

90

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

number of destinations

rou

ter

forw

ard

ing

tim

e (m

icro

seco

nd

s)

XCAST6

Multicast

Page 30: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

30

Bandwidth ConsumptionBandwidth Consumption

0

2

4

6

8

10

12

1 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75

number of destinations

ban

dw

idth

(kb

ps)

XCAST6

Multicast

Page 31: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

31

ConclusionConclusion

1. XCAST6 whiteboard is effective for a group of 20 or less in terms of response time, regardless the amount of bandwidth. An XCAST6 group of 5 or less will consume less bandwidth than Multicast.

2. Router’s forwarding time between XCAST6 and Multicast differs by microseconds. No significant overhead cost difference in the router.

3. Whiteboard packets are infrequently transmitted. A more frequent transmission of XCAST6 applications such as video and audio stream may show significant difference.

Page 32: WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST WHITEBOARD: A DISTRIBUTED APPLICATION OVER XCAST Justinus Andjarwirawan st101562@ait.ac.th Justinus Andjarwirawan

32

Thank YouThank You

Q & AQ & A