

|
Overview
This is the alpha implementation of LCC : a two-level clustered overlay multicast architecture (LCC) to provide scalable, efficient and
robust multicast distribution service to end users.
LCC provides library to handle different useful application-layer functions. However, it is first designed to address topology-aware construction, so focus is set on two
major processes : Locating and Clustering.
- Locating process: aims to direct newcomers to the “nearest” cluster before they receive data on the delivery
tree. A newcomer initiates the locating process by sending a 'Localization Request' to a randomly selected cluster
leader (boot node). According to its location-information knowledge, the boot node selects a few cluster
leaders (the queried nodes) that it considers to be close to the newcomer. It asks them to probe
the newcomer, and gets each queried node's answer. Then, it suggests to the newcomer the possible closest nodes.
By iteratively sending 'Localization Request' messages to the closest nodes (the requested nodes), the newcomer is able to gradually locate nodes that are close by. Each requested node uses a
selection criterion to limit the number of nodes probing the newcomer, hence minimizing the locating overhead.
The locating process ends by proposing one or more nearby cluster leaders
- Clustering process: The clustering process is initiated by every node
once the locating process terminates. On the basis of their locating result, nodes are partitioned into clusters of
nodes. A maximum distance, Rmax, defines the interval in which other nodes are considered “nearby”. This interval
is called the cluster leader's scope, and defines the clustering criterion. During the clustering process, a node decides
at which level it will join the overlay. If it creates its own cluster, it joins the “top-level” topology and starts an
inter-cluster mesh construction. Otherwise, it becomes a cluster member and joins an intra-cluster mesh in order to
derive its delivery tree.
Papers
- Mohamed Ali Kaafar, Thierry Turletti, walid
Dabbous, “A Locating-First Approach for Scalable Overlay multicast “, in Proceedings of IEEE IWQoS, New Haven,CT, USA, June 2006. download
- Mohamed Ali Kaafar, Thierry Turletti, "Scalable Overlay Scheme for Application multicast", in Proceedings of IEEE INFOCOM st. Workshop, Barcelona,
April 2006.
Implementation
The LCC implementation is divided in 4 major components + a few minors.
The Ctrl, DataTree, InterCluster and LccFunc modules are the major parts of the library.
- LccFunc: Entry point of the LCC process. Bootstrap the service (RP). Initial node is considered as the RP. Next joins are simple members.
- Ctrl: Control message implementation exchanged by LCC nodes, both during the locating process and distribution time.
- DataTree: Delivery time, implements socket and buffer functionnalities. The MeshTree protocol is here.
- InterCluster: Defines the role of each node in the LCC topology.
release 1.0
Browse complete source codes
(for your reference)
Installation
The code has been tested under Linux Os, Other extensions are under developpement and test. A Windows distribution will be available later. Check out this page!
A config file is already proposed. Type "make" to install.
In the LCC distribution, some test scripts are provided. Theses tools are wrappers of common MBone conferencing applications : vic and rat, vlc (Vlc is still under test).
You need to get these original tools installed before you run different scripts in the test dir. Once you choose your favorite tool, run its corrspondant wrapper as: p2px RP/session_name:port. This intiates the RP service. Newcomers should run the same process. If nodes are on a local multicast-enabled network, the p2p service will not run, only the specified multicast address would be used in this case.
Contact
If you encounter any problems or you have some comments, please mail to
the author
- Mohamed Ali Kaafar (mohamed.kaafar@sophia.inria.fr)
|