A system for routing different data types along different client-to-network connection paths. A connection utility, at the client, monitors a data type being transmitted. When a first data type is being transmitted, the connection utility selects a most optimal (or efficient) connection route for that data type. The connection utility then assigns a next connection route for a second data type with different characteristics and/or routing requirements than the first data type. Differences in routing path that are factored into the criteria for selection include: wired versus wireless, level of security, transfer protocol, connection cost, speed, etc.