Upload
andrew-edwards
View
218
Download
0
Embed Size (px)
Citation preview
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
2
ContentsContents
1. Introduction
• Whiteboard overview and background
• Problem statement
2. Underlying Protocols
3. Implementation
4. Evaluation
5. Conclusion
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
4
Existing WhiteboardsExisting Whiteboards
MSN Messenger Whiteboard
Coccinella
MBONE Whiteboard
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).
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
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
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)
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.
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).
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.
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
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.
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
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)
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
17
Whiteboard Data FormatWhiteboard Data Format
whiteboard commandwhiteboard command
ID - sequence numberID - sequence number
timestamptimestamp
18
Whiteboard tools & canvasWhiteboard tools & canvas
19
Whiteboard in actionWhiteboard in action
20
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
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
23
Network for the TestNetwork for the Test
ROUTER 1 ROUTER 2
SUBNET 1
SUBNET 2
SUBNET 3
SUBNET 4
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
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
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.
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
28
Router’s forwarding timeRouter’s forwarding time
eth0 eth1 Forward time = teth1 – teth0
Running two instances of Ethereal to monitor eth0
and eth1
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
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
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.
32
Thank YouThank You
Q & AQ & A