1. A distributed search system comprising: a central server having an index of data, wherein said index of data is also available on a plurality of computing devices in a distributed computing network, said plurality of computing devices being distinct from said central server, each said computing device having a cache in which said computing device automatically stores data generated during the course of said computing device's access to another computing network distinct from said distributed computing network; computer program code stored in a memory of at least one of said plurality of computing devices for periodically and automatically scanning said cache of said computing device, for automatically and periodically generating said index of data based on data in said cache folder, and for automatically and periodically transmitting said index of said data to said central server; a plurality of first clients connected to said distributed computing network, wherein each of said first clients has access to a copy of said index of data; and a plurality of second clients connected to said distributed computing network, wherein one or more of said first clients receive a plurality of search requests from at least one of said second clients, and fulfill said requests by searching said copy of said index of data.