© 2008 Science Publications Incorporating Multiple Sources into AMTree Protocol

AMTree protocol is an active network based protocol that makes sending packets to receivers-after source migration-an efficient process. AMTree protocol was designed and tested for one mobile source sending to the multicast group. In this research we introduce a method that allows more than one mobile source to send to the multicast session. The results show that end-to-end latencies are minimized when more than one mobile source in the group compared to latencies for group with only one source.


INTRODUCTION
Multicast is communication between a single sender (or multiple senders) and multiple receivers on a network. Recently, more and more group communication applications (e.g., video-conferencing, online-gaming and long-distance education) have emerged with the increasing popularity of the Internet. To support such multi-user applications, multicast is considered as a very efficient mechanism since it uses some delivery structures (e.g., trees or meshes) to forward data from senders to receivers, aiming to reduce duplicate packets.
In traditional networks, the design of multicast protocols such as DVMRP [1] , MOSPF [2] , CBT [3] and PIM [4] was for fixed hosts in mind, hence, it faces some problems in mobile networks.
Active Network (AN) [5] is a paradigm for solving network problems. This paradigm uses the computational power at intermediate network nodes (routers, switches and hubs perform customized computations on the messages flowing through them) to facilitate processing of traffic passing through. There are two possible approaches to build active networks, programmable switches approach and capsule approach.
In programmable switches approach, programs are injected into the programmable active node separately from the actual data packets that traverse through the network. User would send the program to the network node (switch or router), where it would be stored and later executed when the data arrive at the node, processing that data. The data can have some information that would let the node decide how to handle it or what program to execute [6,7] .
In capsule approach, the program is integrated into every packet of data send to the network. Each message or capsule contains a program fragment that may or may not have some embedded data. When these capsules arrive at the active node, it interprets the programs and sends the embedded data depending on its interpretation of these programs [8] . This concept is similar to Postscript code, where actual data is embedded in program fragments that the printer understands. In this approach, each active node would have built-in a mechanism to load the encapsulated code, an execution environment to execute the code and a relatively permanent storage where capsules would retrieve or store information.
AMTree protocol [9] is an active network based approach to solve the problem of having mobile source in the multicast group. AMTree protocol is designed to solve some of the problems that may occur when there is a mobile source in the multicast group. AMTree takes advantage of the processing capabilities at routers which enable mobile source to continue sending packets to receivers after migration. This means that multicast tree can be maintained without much modification and incurs minimal packet latency. Hence, handoff latencies will be low and multicast tree is updated dynamically and efficiently. In AMTree a distributed location directory (LD) service assumed to be exists in the AN, which maintains the contact point of a given group, in this case the source. In AMTree protocol, the term core refers to the router with more than one subscriber to the multicast session. AMTree protocol was designed and tested for multicast session with one mobile source.
In this research we propose a method to allow more than one mobile source to send to the multicast group. We are using the capabilities of active networks to choose the appropriate node dynamically before multicasting the data along the tree.

MATERIALS AND METHODS
AMTree protocol was designed for one source in mind. We investigate the possibility of having more than one source in one multicast session.
The main idea in this research is to have a node to act as a main core. The function of the main core is to provide transparency to the receivers. In other words, the receivers will deal with the main core as the only source in the multicast tree.
To choose the main core, each mobile source should be registered in the location directory before building the multicast tree. The main core will be chosen dynamically by finding the appropriate node in the path between two sources. The main core in this research will be chosen based on hops. First, we get the number of hops in the path between both sources. After getting the number of hops in the path we chose the main core as follows: • If the number of hops is odd then the main core node will be ((no. of hops+1)/2) • If the number of hops is even then we chose one of these nodes (no. of hops/2) or (no. of hops/2+1) Fig. 1 shows an example of a multicast tree with two mobile sources and main core.
Each receiver wants to join the multicast group will send a join message to its local router. If the router is not subscribed to the session yet, then it forwards the  Fig. 1: AMTree with two mobile sources and main core join message upstream towards the main core using the shortest path. If the join message encountered by subscribed router before it reaches the main core, then this router discards the join message and sends acknowledgement message downstream to the receiver. In this case this receiver is a member of the multicast group.
If one of the sources migrates to a new location then it sends a message to the main core to announce its new address (its Care of Address). The main core will remain intact in case the number of hops from new location to the main core is less or equal to the number of hops from the main core to the old location of that source before migration. If the number of hops in the new path is greater than the old one then a new node will be chosen to act as a main core to the multicast session. In this case the old main core should subscribe to the new main core to avoid tree modifications.
After source migration and only in case of changing the main core, an optimization process may be required by some receivers. This could happen when some receivers notice an increase in end-to-end latency. The optimization process is a process of finding a new shortest path from the receiver to the new main core.
Each receiver notices an increase in end-to-end latency makes a request to its local router to invoke optimization process. The local router then sends a discovery message to the main core's new address. In each router in the path a check is performed to determine whether it is subscribed to the multicast group, if not, then a session state is created and the router now is subscribed to the group. If the encountered router is subscribed then no computation is required.
We have tested our algorithm after re-simulating AMTree protocol. We have tested AMTree protocol and the proposed method on a network of 50 node mesh topology with degree ranging from one to six with average three. The data rate of interconnecting links between active routers is set to 10 Mb/s. The wireless links have a data rate of 2 Mb/s. Bit errors at the wireless link are assumed to be handled by a data link layer protocol. Each base station is assumed to manage a cell and overlapping of cells means there are no silent areas. The mobile source controls the time of handoff, meaning the time of handoff and the duration of the handoff procedure can be measured. The mobile source migrates randomly to any of the receiver's subnet. Hence, the migrations are not necessarily local. There is only one ongoing session in any moment and the packets generated by the sources are of size 1024 bytes at rate one packet per second.
The performance studied was on two mobile sources and varying number of receivers, ranging from 10 to 50 and ten simulation runs were done and results averaged.

RESULTS AND DISCUSSION
In this section we compare the results of AMTree with multiple sources to results of AMTree with one source. The parameters we compared are: the number of cores, end-to-end latency before and after handoff and end-to-end latency after optimization process.
The number of cores in AMTree with more than one source is greater than or equal to the number of cores in AMTree with only one source. This is due to having the main core in the tree along with other cores. Fig. 2 shows the results.
We measured end-to-end latency in AMTree with one mobile source and with two mobile sources before handoff. As can be seen from Fig. 3, a lower end-to-end latency observed for most of the receivers for two mobile sources compared to the end-to-end latency for the receivers in the case of only one source. This is due  Fig. 3: End-to-end latency before handoff process to having the main core in a point nearer to most of the receivers. The opposite is for the multicast group with only one mobile source, where the contact point is the source's local router which it could be quite far from the receivers.
After mobile source migrates to a new location, the end-to-end latency for some receivers observed to be increased because of changing the main core. Fig. 4 shows the results.
In Fig. 5, we can see the end-to-end latency after requesting for the optimization process by those receivers which noticed an increased in the latency. The end-to-end latency decreased because of finding new shortest path to the new main core's location.

CONCLUSION
In this research we proposed a method to have more than one mobile source in AMTree protocol. The idea is to have a node to be a main core for mobile sources. By using the main core, the transparency is provided to the receivers because the receivers will contact directly with the main core. The results Receiver identification Latency Fig. 4: End-to-end latency after handoff process Latency Receiver identification Fig. 5: End-to-end latency after optimization process achieved by applying this method in AMTree with multiple sources showed minimized end-to-end latencies before and after handoff and also after optimization process.
This research can be extended by testing more sources to the tree and see how efficient the protocol will be when having more sources and whether we need to develop a new optimization technique or just use the current technique.