The usage and service options of a public network generally differ from a private (enterprise and home) network and consequently, the two networks are often configured differently. The existence of such networks motivates our need to improve support and management of nomadic users who frequently roam between them. Using a real-world public network as a case study, we discuss this problem in detail and describe a solution that allows client devices to dynamically configure themselves to adapt to the local network configuration. In addition to supporting mobility, we describe how our solution also provides fail-over mechanisms for providing a highly available service; load balancing and location services. Furthermore, our solution can be used to scale networks that are deployed in a large setting. We discuss in detail the various issues that need to be dealt with for achieving true device-level mobility; pointing out several unsolved problems in this area. The algorithms and software proposed in this paper have been implemented, are deployed, and are currently being used in a real-world public network that is operational at the Crossroads Mall in Bellevue, Washington.