Mobility management, which includes location management and handoff management, is essential in cellular wireless networks to provide service to mobile users. Location management enables call delivery to mobile users, while handoff management maintains the connectivity of ongoing calls while users move between cells. In next generation networks, mobile users will avail themselves with terminals capable of accessing wireless networks employing multiple technologies, thus making the task of mobility management more challenging. This paper reviews recent developments in location management, and surveys methods for handoff management between heterogeneous systems. Methods for inter-system handoffs in packet-switched inter-networks are discussed according to the protocol layer in which the handoffs take place, i.e., network layer, transport layer, and application layer. Open problems for mobility management in future wireless networks are also presented.