BUILDING EFFICIENT AND RELIABLE SOFTWARE-DEFINED NETWORKS