1. A method for upgrading a first tenant of a plurality of tenants in a provider-tenant system where a provider communicates with the plurality of tenants over a network, the method comprising: associating an initial set of data structures specific to the first tenant with a first tenant template; determining whether a first data structure is specific to the first tenant; associating, when the first data structure is determined to be specific to the first tenant, the first data structure with a second tenant template; and upgrading the first tenant based on a difference between the first and second tenant templates.