An expert proxy server is described that is coupled to a number of wireless devices
through a wireless network, and to a number of server computer systems through
an external network such as, for example, the Internet. The expert proxy server
acts as an agent for a wireless device by providing a service for the wireless
device. Specifically, the expert proxy server determines that a service is to be
provided to the wireless device. Next, the expert proxy server identifies an application
that provides the service and then communicates with the identified application
that provides the service. The expert proxy server compiles the results of the
communication with the application and then transmits the compilation to the wireless
device over the wireless network. Thus, the relatively smaller bandwidth of the
wireless network is preserved by transmitting a minimal amount of information over
the wireless network while leaving more extensive communications to occur over
higher bandwidth external networks. Also, since the extensive processing occurs
at the expert proxy server rather than at the wireless device, the application
on the wireless device may be simplified and smaller as compared to the supporting
applications on the expert proxy server thereby preserving the limited memory and
processing capability of the wireless device.