A method for maintaining statistics on a remote server. The method includes
receiving statistics from client devices that are coupled to the remote
server. The statistics are associated with data on the remote server. The
remote server receives statistics either when a user accesses the data on
the remote server or when collected statistics associated with the data
previously downloaded into a cache on each client device is uploaded to
the remote server from each client device. The method also includes
updating the statistics on the remote server in response to either a user
access of the data on the remote server or a receipt of the collected
statistics from each client device; and downloading the updated statistics
to each client device.