Virtual Private Network (VPN) is the traditional approach for an end-to-end secure connection between two endpoints. But conventional VPN solutions are intended for wired networks with high-speed, highly reliable connections. In a mobile environment, connections are less reliable. This affects traditional VPN performance resulting in frequent application failure, data loss and reduced productivity. MobiVPN bridges the gap between what users and applications expect from a wired network and the realities of mobility. In this work, system design for a caching model is developed, and modifications to the OpenVPN software is implemented to make disruptions in the VPN transparent to the applications. MobiVPN is able to provide 1) persistency to application despite long unavailability of network connection using caching and freeze TCP techniques; with negligible throughput penalty when there is no disconnections due to extra computation overhead, and 2) improved TCP performance when disconnections occur up to 9.88% increase in throughput.