Multi-tenant, tenant-specific applications
AssigneeMicrosoft Technology Licensing, LLC
InventorsMorten Jensen, Thomas Hejlsberg, Michael Steven Hammond, Christopher Michael Rudolph, Kevin Martin Racer
Life of this patent
Estimating the term…
Abstract
Customizations, made at various levels in the customization channel, are saved as separate sets of customization deltas that are applied to a base computing system in order to generate a given solution. In a multi-tenant environment, groups of tenants access different solutions or customization deltas. The tenants are automatically grouped, based upon the solution or customization deltas that they access, and the deltas for those customizations are applied to the base system at runtime, for each group.
Claims18
A method performed by a computing system, the method comprising:
- identifying a computing solution that corresponds to a tenant associated with the computing system;
- obtaining a hierarchical set of a plurality of customization deltas corresponding to the computing solution, each customization delta comprising delta metadata that:
- is separate from base system metadata that defines a base computing system, and
- represents a different customization to the base system metadata to generate computing functionality of the computing solution;
- generating a runtime environment configured to provide the tenant with runtime access to the base computing system;
- receiving, through the base computing system in the generated runtime environment, a first request input from the tenant and is indicative of a request for first computing functionality in the runtime environment;
- in response to the first request input,
- identifying a first one of the customization deltas that corresponds to the first computing functionality;
- and
- modifying the base computing system in the runtime environment by applying the first customization delta to the base computing system;
- receiving, through the modified base computing system in the generated runtime environment, a second request input from the tenant and is indicative of a request for second computing functionality in the runtime environment;
- and
- in response to the second request input,
- identifying a second one of the customization deltas that corresponds to the second computing functionality;
- and
- applying the second customization delta to the modified base computing system in the runtime environment.
A computing system comprising:
- a processor;
- and
- memory storing instructions executable by the processor, wherein the instructions, when executed, configure the computing system to:
- identify a computing solution that corresponds to a tenant associated with the computing system;
- obtain a hierarchical set of a plurality of customization deltas corresponding to the computing solution, each customization delta comprising delta metadata that:
- is separate from base system metadata that defines a base computing system, and
- represents a different customization to the base system metadata to generate computing functionality of the computing solution;
- generate a runtime environment configured to provide the tenant with runtime access to the base computing system;
- receive, through the base computing system in the generated runtime environment, a first request input from the tenant and is indicative of a request for first computing functionality in the runtime environment;
- and
- in response to the first request input,
- identify a first one of the customization deltas that corresponds to the first computing functionality;
- and
- modify the base computing system in the runtime environment by applying the first customization delta to the base computing system in the runtime environment;
- receive, through the modified base computing system in the generated runtime environment, a second request input from the tenant and is indicative of a request for second computing functionality in the runtime environment;
- and
- in response to the second request input,
- identify a second one of the customization deltas that corresponds to the second computing functionality;
- and
- apply the second customization delta to the modified base computing system in the runtime environment.
Dependencies are inferred from the claim text.