1. An interest-driven data sharing server system, comprising: a processor; a memory connected to the processor and configured to store an interest-driven data sharing application; raw data storage configured to store raw data, where a portion of the raw data comprises unstructured data; metadata storage configured to store data description metadata describing the raw data; and report storage configured to store previously generated reports comprising previous reporting data and previous reporting data requirements; wherein the interest-driven data sharing application configures the processor to: receive a report specification, where the report specification comprises at least one reporting data requirement; locate at least one previously generated report stored in the report storage using the previously reporting data requirements and the at least one reporting data requirement; identify raw data stored in the raw data storage using the data description metadata and at least one of the reporting data requirements; calculate redundant data metadata using the located previously generated reports and the identified raw data, where the redundant data metadata identifies data common to the identified raw data and the previous reporting data in the located previously generated reports; determine modified reporting data requirements, where the modified reporting data requirements exclude the common data identified by the redundant data metadata; retrieve updated source data from the raw data storage using the modified reporting data requirements; and generate reporting data based on the updated source data and the previous reporting data contained in at least one of the at least one previously generated reports.