TOWARDS PROGRAMMABLE NETWORKS