implemented keep alive ping; android background service exits when main app exits; multi-processing background thread exist when main app exist (for windows primarily)