Wherehoo Server: An interactive location service for software agents and intelligent systems

With the exception of those applications expressly designed to correlate addresses with other data, primarily map or navigational services, popular Internet applications present the Internet as a dimensionless point lacking distance between people, the services with which they interact, and the information delivered by those services. The elimination of “distance” is often a positive feature that brings otherwise-segregated private and commercial entities together in a single, common “place. ” In this single place, opportunities for interaction with new trading partners and new sources of information are created. Often, however actions, needs and plans may be strongly affected by a person's current or target location and the resources available within a physical radius of that location. Even software agents, themselves intangible and without real physical locations, commonly represent people, places or things that are situated in the physical world. When information about the physical world was primarily distributed by physical means (e.g. manual delivery of telephone directories), logistical constraints ensured that local information propagated only within those regions in which it was useful. In the distance-free Internet, all information is by default distributed universally, without regard to its utility to the entire universe of users. Geographically-undifferentiated data may dilute Internet-borne resources to the point that they are no longer useful, as a once-welcomed “wealth of information” swells to unmanageable proportions. Part of our answer to this problem has been the creation of Wherehoo, a server and communications protocol that together comprise an interactive service for software agents and other small clients, binding digital representations of physical entities to the coordinates of their locations on Earth. The Wherehoo server facilitates software agents and embedded systems that either provide or query geographically-situated data. Accessible through a TCP socket connection, the service accommodates long-lived records (representing buildings or other permanent features) and transient records (representing short-lived events and objects in motion such as subway trains, travelers, or vehicles). The issues we consider in the design and optimization of the server's communications and architecture include: optimization for low bandwidth, intermittently-connected clients division of labor between server and client for search and filing tasks temporal encoding / data representation appropriate locations for physical data storage (in our server / in a server belonging to the client) server security / integrity of the data entrusted to a server privacy server self-management and the delegation of coverage areas by server location and capacity A Web interface to the Wherehoo server, and technical documentation are available at http://wherehoo.media.mit.edu Projects that presently or in the future will interact with the Wherehoo server include: Impulse http://agents.www.media.mit.edu/groups/agents/projects/impulse/ StreetWise http://agents.www.media.mit.edu/groups/agents/projects/impulse/streetwise/ MARI http://www.media.mit.edu/~gtewari/MARI/