What is Vertical Handover?Implementing Vertical Handover Projects using NS2?
In Vertical handover , to maintain effective communication in a network automatic fall over take place from one technology to other technology.Vertical handover refers to a network node changing the type of connectivity.We assist research scholars in implementing Vertical Handover Simulation using NS2.
Reasons for vertical handover Vs horizontal handover:
- Usage of multiple IP address.
- Usage of multiple network interfaces.
- Usage of multiple network connections.
- Usage of different access technologies.
- Usage of multiple QoS parameters.
Major features of vertical handover:
Vertical handover technically has the following three features.
- Resource management.
- Mobility engineering.
- Service management.
Architecture of vertical handover:
Sample code for vertical handover simunaltion ns2;
bind("ssmult_", &ssmult_);
 	bind("bval_", &bval_);
 	bind("ca_", &ca_);
	bind("ho_", &ho_); //AG
 	bind_bool("printStatus_", &printStatus_);
 	bind_bool("conservative_", &conservative_);
 	bind_bool("ecn_", &ecn_);
	stop();
 			return TCL_OK;
 		}
		if (strcmp(argv[1],"ho")==0) { //AG
                        ho_=1;
                        return TCL_OK;
                } 
 	}
   	if ((argc == 3) && (SndrType_ == 1)) {
 		// or do we need an FTP type app? 
				decrease_rate ();		
 		}
 	}
	printf("%5.2f %d\n", now, seqno_ - nck->seqno);
 	if (printStatus_) {
 		printf("time: %5.2f rate: %5.2f\n", now, rate_);
 		double packetrate = rate_ * rtt_ / size_;
	double mult = (now-last_change_)/rtt_ ;
 	if (mult > 2) mult = 2 ;
 
	rate_ = rate_ + (size_/rtt_)*mult ;
	double maximumrate = (maxrate_>size_/rtt_)?maxrate_:size_/rtt_ ;
	maximumrate = (maximumrate>rcvrate)?rcvrate:maximumrate;
	rate_ = (rate_ > maximumrate)?maximumrate:rate_ ;
	if (ho_) {//AG
                rate_= rcvrate;
                rate_ = (rate_ > maxrate_)?maxrate_:rate_ ;
                printf("tfrc:cc ho_ %d\n", conservative_);
        }
        else {	
		rate_ = rate_ + (size_/rtt_)*mult ;
		double maximumrate = (maxrate_>size_/rtt_)?maxrate_:size_/rtt_ ;
		maximumrate = (maximumrate>rcvrate)?rcvrate:maximumrate;
		rate_ = (rate_ > maximumrate)?maximumrate:rate_ ;
	}
 	
         rate_change_ = CONG_AVOID;  
         last_change_ = now;
Journal Support for NS2 Projects:(Vertical Handover Simulation NS2)

