Current technologies that support live migration require that the virtual machine (VM) retain its IP network address. As a consequence, VM migration is oftentimes restricted to movement within an IP subnet or entails interrupted network connectivity to allow the VM to migrate. Thus, migrating VMs beyond subnets becomes a significant challenge for the purposes of load balancing, moving computation close to data sources, or connectivity recovery during natural disasters. Conventional approaches use tunneling, routing, and layer-2 expansion methods to extend the network to geographically disparate locations, thereby transforming the problem of migration between subnets to migration within a subnet. These approaches, however, increase complexity and involve considerable human involvement.
The contribution of our paper is to address the aforementioned shortcomings by enabling VM migration across subnets and doing so with uninterrupted network connectivity. We make the case that decoupling IP addresses from the notion of transport endpoints is the key to solving a host of problems, including seamless VM migration and mobility. We demonstrate that VMs can be migrated seamlessly between different subnets — without losing network state — by presenting a backward-compatible prototype implementation and a case study.
At Virginia Tech I have been involved with research to improve network throughput for Big Data applications operating over large bandwidth delay product links. The research has been published at IEEE GLOBECOM 2013.
The bandwidth utilization in traditional TCP protocols (e.g., TCP New Reno) suffers over high-latency and high-bandwidth links due to the inherent characteristics of TCP congestion control. Conventional methods of improving throughput cannot be applied per se for streaming applications. The challenge is exacerbated by “big data” applications such as with the Long Wavelength Array data that is generated at a rate of up to 4 terabytes per hour.
To improve bandwidth utilization, we introduce layer-4 relay(s) that enable the pipelining of TCP connections. That is, a traditional end-to-end connection is split into independent streams, each with shorter latencies, that are then concatenated (or cascaded) together to form an equivalent end-to-end TCP connection. This addresses the root cause by decreasing the latency over which the congestion-control protocol operates.
To understand when relays are beneficial, we present an analytical model, empirical data and its analyses, to validate our argument and to characterize the impact of latency and available bandwidth on throughput. We also provide insight into how relays may be setup to achieve better bandwidth utilization.
At Virginia Tech I have been involved with research to improve network throughput for Big Data applications operating over large bandwidth delay product links. The research has been published at ACM/IEEE Supercomputing 2012.
Saturating high capacity and high latency paths is a challenge with vanilla TCP implementations. This is primarily due to congestion-control algorithms which adapt window sizes when acknowledgements are received. With large latencies, the congestion-control algorithms have to wait longer to respond to network conditions (e.g., congestion), and thus result in less aggregate throughput. We argue that throughput can be improved if we reduce the impact of large end-to-end latencies by introducing layer-4 relays along the path. Such relays would enable a cascade of TCP connections, each with lower latency, resulting in better aggregate throughput. This would directly benefit typical applications as well as BIG DATA applications in distributed HPC. We present empirical results supporting our hypothesis.
The philosophy upon which the Internet was built places the intelligence close to the edge. As the Internet has matured, intermediate devices or middleboxes, such as ﬁrewalls or application gateways, have been introduced, thereby weakening the end-to-end nature of the network. As a result, applications must often modify their behavior to accommodate the middleboxes. This is is especially true in the case of transient failure of stateful devices.
The failure of a middlebox causes it to lose the state it maintained, causing the failure of the associated TCP connections. Rather than assign the responsibility for recovery to applications, we incorporate a mechanism called an isolation boundary into TCP itself to increase resilience. The isolation boundary maintains a small amount of state across TCP connections, thus enabling reconnection. Furthermore, it does so without breaking backward compatibility with existing TCP.
We present an implementation of the isolation boundary in the FreeBSD kernel and demonstrate its backward compatibility with TCP. We quantify the performance impact of the proposed mechanism on the establishment of new and resumed connections for both legacy and extended TCP stacks.
The growth of the Internet has ushered in and established the "Information Age." However, its success has also arguably increased the difficulty of incorporating innovative changes that are needed to develop further functionality for next-generation networked applications. From the transport perspective, the desired functionality includes (1) supporting multiple network paths, (2) providing transport over hybrid networks (e.g., using both packet- and circuit-switched networks), and (3) decoupling upper-layer services from end-point-naming semantics. The need for functionality — such as transport composability — has been reiterated in recent research and leads to an apparent dilemma: TCP, the ubiquitous transport protocol, neither admits such functionality in its present form nor does it seem possible to add it without substantial modifications. Furthermore, radical changes — whether through incompatible extensions or by creating a completely new protocol — will not be easily accepted.
In contrast to the apparent dilemma, we argue that a backward-compatible modification to TCP that supports increased functionality is possible without incurring significant burden in additional protocol exchange. The lightweight mechanism, built upon a set of TCP options, establishes an isolation boundary between TCP and the application. The boundary separates an application data stream from the TCP transport flow. Further, it provides for the establishment of a control channel that allows additional capabilities to be negotiated dynamically throughout the lifetime of the communication. In short, the mechanism provides a simple "hook" into TCP with which new features can be realized. This increases the freedom to evolve TCP while maintaining compatibility, thereby facilitating incremental adoption.
At Stanford University, I was partially responsible for maintaining the Ping End-to-end Reporting (PingER) infrastructure. I had setup a PingER archive site at NUST, Pakistan. In addition to that I had also setup a PingER-like infrastructure for the Pakistan Education Research Network (PERN) --- this infrastructure was aimed at providing a performance monitoring platform to coarsely measure end-to-end connectivity between the universities.
At Stanford University, I was partially responsible for maintaining the Ping End-to-end Reporting (PingER) infrastructure. I had setup a PingER archive site at NUST, Pakistan. In addition to that I had also setup a PingER-like infrastructure for the Pakistan Education Research Network (PERN) — this infrastructure was aimed at providing a performance monitoring platform to coarsely measure end-to-end connectivity between the universities.
I was actively involved in the design and development of a decision theoretic approach to detect anomalies in Internet paths using end-to-end performance measurements. The proposed algorithm detects significant events by monitoring the available bandwidth. Typical path characteristics are extracted from bandwidth estimates. A decision theoretic approach is then applied to detect events by comparing the observed measurements to the baseline model. The research was published as a SLAC Scientific Publication.
I also implemented three reporting tools for the presentation of PingER measurement results (see Toolbox at the WIKI e.g., PingER Metrics Motion Charts). I am also supporting graduate and undergraduate students in their research on the Trilateration Utility for Locating IP Hosts. The aim of this project is to develop an algorithm which employs PingER and Planetlab nodes deployed worldwide to determine the geolocation of a public network interface (/IP address) (see TULIP).
I have also been responsible for assisting Dr. Les Cottrell in compiling the annual reports for the International Committee for Future Accelerators — Standing Committee on Interregional Connectivity (ICFA-SCIC) Monitoring Working Group.
During my masters at Kyung Hee University, South Korea I developed and implemented a solution for (application layer) issues of intermittent connectivity for mobile/hand-held devices in wireless networks. This was primarily achieved by developing a programming library which provided seamless transition between online server components and offline stubs to the client applications in the face of varying network conditions such as fluctuating network bandwidth and disconnections.
At Kyung Hee University I also designed and developed a middleware architecture that extended Grid services to hand-held devices. The middleware addressed the issues of job delegation to selected services, support for offline processing and interaction with heterogeneous mobile devices. This was primarily achieved by outsourcing the resource intensive tasks from the mobile device to the middleware using the surrogate model.
As part of my senior design project at National University of Sciences and Technology, I designed, developed and implemented a distributed network analysis system for specialized analysis of ‘Voice over Internet Protocol’ (VoIP) traffic on a data network. Specialized analysis of SIP and H.323 standard was conducted by software developed in C using tools such as KDevelop and KDE/Qt for the Linux environment. The system is currently in use for monitoring, managing and authorizing service providers. This project was developed under an agreement reached between NUST and Pakistan Telecommunication Company Limited (PTCL) and is in use today.