samtk: a toolkit for scalable adaptive multicast
DESCRIPTION
SAMTK: A Toolkit for Scalable Adaptive Multicast. Nobuo Kawaguchi Nagoya University. Background. Multi-point communication is one of the important objective of network usage. However, real-time SAM communication is not yet widely utilized. IP-Multicast is still not widely deployed. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/1.jpg)
SAMTK: A Toolkit for Scalable Adaptive Multicast
Nobuo Kawaguchi
Nagoya University
![Page 2: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/2.jpg)
Background• Multi-point communication is one of the
important objective of network usage.
• However, real-time SAM communication is not yet widely utilized.
• IP-Multicast is still not widely deployed.
• There are a lot of SAM related researches and technologies.– ALM, OM , Yoid, ESM, ...– But they are not used in real world..
![Page 3: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/3.jpg)
MotivationFill a gap between researchers
and real-world applications.
• It's hard to implement a whole real world multi-party application for SAM researchers to show feasibility.
• Application developers do not consider to develop their own application to adapt other SAM protocols.– vic, rat, ... Skype.
![Page 4: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/4.jpg)
SAMTK : a Toolkit for SAM
• Platform for both SAM researchers and application developers.
• Common API for SAM communication protocols.– Group management.– Multi-layered communication.
• Ease of application development.
• C++ , Qt, Multi-platform(Win /Mac /Linux/BSD)Currently ongoing development under Japanese Governmental Budget (2007/09).
![Page 5: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/5.jpg)
SAM Issues
• Group Management– Member Join/Leave, Scalability
• Traffic Management– How many packets can be sent
• Topology Management– How to route the traffic
![Page 6: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/6.jpg)
SAM Issues
• Group Management– Member Join/Leave, Scalability
• Traffic Management– How many packets can be sent
• Topology Management– How to route the traffic
SAMTKmanageshere
Plug-inmanageshere
![Page 7: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/7.jpg)
Design Choices of SAMTK
• Keep it simple, stupid– Do not design Group Management
• currently Web server (1000 line of php) based.• extensible design with XML.• P2P based could be introduced
• Multi-protocol support is important– not ideal IPv6 world
• Multi-platform & rich interface is important– to support many users.
Lessons from XCAST6 deployment/development
![Page 8: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/8.jpg)
Design Choices of SAMTK
• Keep it simple, stupid– Do not design Group Management
• currently Web server (1000 line of php) based.• extensible design with XML.• P2P based could be introduced
• Multi-protocol support is important– not ideal IPv6 world
• Multi-platform & rich interface is important– to support many users.
Lessons from XCAST6 deployment/development
Scalability for Number of GroupsScalability for Number of Groups
![Page 9: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/9.jpg)
Design Choices of SAMTK
• Keep it simple, stupid– Do not design Group Management
• currently Web server (1000 line of php) based.• extensible design with XML.• P2P based could be introduced
• Multi-protocol support is important– not ideal IPv6 world
• Multi-platform & rich interface is important– to support many users.
Lessons from XCAST6 deployment/development
Scalability for Number of GroupsScalability for Number of Groups
ALM/ Overlay with PluginALM/ Overlay with Plugin
![Page 10: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/10.jpg)
Design Choices of SAMTK
• Keep it simple, stupid– Do not design Group Management
• currently Web server (1000 line of php) based.• extensible design with XML.• P2P based could be introduced
• Multi-protocol support is important– not ideal IPv6 world
• Multi-platform & rich interface is important– to support many users.
Lessons from XCAST6 deployment/development
ALM/ Overlay with PluginALM/ Overlay with Plugin
Qt / C++ implementationQt / C++ implementation
Scalability for Number of GroupsScalability for Number of Groups
![Page 11: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/11.jpg)
OS (Windows / Mac / Linux / FreeBSD.. )
SAM Applications
XCAST6 IPv4
SAMTK Group Web Server(Apache / PHP)
XCAST Plugin ALM
Plugin
SAMTK Core Module
SAMTK Architecture
Protocol Interface
Group InterfaceGroup Management
Module
Application Interface
HTTP/XML
![Page 12: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/12.jpg)
Application Interface
Interface from applications
• SAMSocket : Multipoint socket class– Separation of send socket and receive socket– Underlined protocol can be choose through
plugin interface
• GroupAddress : Multipoint address class– Composed from member information– Currently identified through group URI
![Page 13: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/13.jpg)
SAMSocket subclasses
• SAMSendSocket– UDP based interface– Socket for Multipoint send
• SAMReceiveSocket– Socket for Multipoint reception
• management of several streams fromdifferent sources
– Qt Slot/Signal based handling
![Page 14: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/14.jpg)
Group Interface
• Several concepts of "Group" in SAM– Multicast group– Small group– Hybrid group... (Multicast - Unicast )
• We currently employ simple server-basedgroup management.– will implement p2p group management.
• Every group/member is identified through GroupURI / MemberURI
![Page 15: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/15.jpg)
Group Management Methods• getSAMGroupMemberList(GroupURI)• getSAMGroupMember(MemebrURI)• getSAMGroupInfo(GroupURI)• getSAMGroupAddress(GroupURI)• addGroup(newGroupURI, path)• deleteGroup(GroupURI)• addMember(GroupURI)• joinGroup(GroupURI, properties)• deleteMember(MemberURI)• setProperty(MemberURI, Key, Value)• deleteProperty(MemberURI, Key, Value)•
![Page 16: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/16.jpg)
Protocol Interface• Interface for protocol plugins
• Overlapping socket interface to Multi-Destination
• Multi-destination is passed by SAMGroupAddress
![Page 17: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/17.jpg)
Protocol API
• setGroup(GroupAddress )
• writeDatagram(char * , int, GroupAddress)
• readDatagram(char *, int, HostAddress)
• bool hasPendingDatagrams()
• bind(port)
![Page 18: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/18.jpg)
Multi-layered Communication
• Adaptation to the network.
• Participant node can choose their traffic class by itself.– Traffic class is shared by using Group Server
• Automatic adaptation is a research issue.– not implemented
![Page 19: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/19.jpg)
Multi-layered packet transmission
![Page 20: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/20.jpg)
DEMO
SAMDeskShare
• Mulitipoint Desktop sharing
SAMTrafficTester
• Multipoint traffic measurement
![Page 21: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/21.jpg)
SAMDeskShare• Multipoint sharing of desktop and audio
![Page 22: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/22.jpg)
SAMTrafficTester• Multipoint UDP traffic tester
• Based on iperf UDP mode
• Mesh communication– all connection is checked
• Draw a graph of Topology & Speed– utilize graphviz
![Page 23: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/23.jpg)
![Page 24: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/24.jpg)
Summary• SAMTK enables quick test/deployment of
a new multipoint communication protocols.
• Researchers take a benefit of real-worldapplication based on SAMTK.– easy to compare with other protocols.
• Application developer take a benefit ofmulti-protocol implementation.
![Page 25: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/25.jpg)
Comments!
• Please send comments to kawaguti @ nagoya-u.jp
• http://sourceforge.net/projects/samtk
• (currently not well documented )
• Documentation will come around Sep.
![Page 26: SAMTK: A Toolkit for Scalable Adaptive Multicast](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813bdc550346895da50815/html5/thumbnails/26.jpg)
Discussions
• How we define "Application Interface"
and "Protocol Interfaces"