1. A method for distributing one or more services for processing knowledge data, the method comprising: providing a plurality of electronic document repositories, wherein each of the plurality of electronic document repositories is configured to store electronic documents and comprises at least one electronic document that is created or accessed by an individual; monitoring users' activities with one or more of the plurality of electronic documents; providing a primary server for at least one of the services for processing the knowledge data gathered from the electronic document repositories, wherein the knowledge data is processed according to a type of repository from which the knowledge data is gathered, wherein the primary server comprises one or more work queues, each of which is associated with at least one of the one or more services; providing a plurality of secondary servers, each secondary server configured for (i) scanning the contents of a respective one of the electronic document repositories, (ii) gathering of the knowledge data related to at least one scanned electronic document from respective electronic document repositories according to a schedule, and (iii) transmitting the gathered knowledge data to the primary server; determining, at the primary server, affinities of users to one or more of the knowledge data based on the monitored activities including calculating a weighting factor for a user based on the user's monitored activities and gathered knowledge data; and notifying the user when the weighting factor is above a predetermined threshold.