The software operating in mobile devices 150 may be configured to analyze the available communication networks based on their signal strength and other factors, including their security, cost, speed, reliability and signal stability, and switch their communication mode for accessing the data server 131, accordingly.