Multi-tenant infrastructure
AssigneeSAP Portals Israel Ltd.
InventorAriel Tammam
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing a multi-tenant infrastructure. In one aspect, a method includes establishing a plurality of tenant containers for a plurality of tenants, each tenant container being a logical separation of data and functionality for a multi-tenant application, each tenant container being isolated from the other tenant containers. A request is received from a client device. The request is determined to be associated with one of the tenant containers. The request is directed to the tenant container associated with the request.
Claims17
A method performed by a system of one or more computers, the method comprising:
- establishing a plurality of tenant containers for a plurality of tenants of a multi-tenant application implemented on a multi-tenant infrastructure based on a dependency injection framework, the multi-tenant infrastructure implemented in a plurality of libraries of executable software being grouped based on the dependency injection framework, each tenant container being a logical separation of data and functionality for a multi-tenant application, each tenant container being isolated from the other tenant containers;
- receiving a first request from a first client device;
- determining that the first request is associated with a first tenant container of the tenant containers;
- directing the first request to the first tenant container associated with the first request;
- in response to directing the first request to the first tenant container associated with the first request, executing, with a single thread, the multi-tenant application using the first tenant container and the first request;
- receiving a second request different from the first request from a second client device;
- determining that the second request is associated with a second tenant container of the tenant containers that is different than the first tenant container;
- directing the second request to the second tenant container associated with the second request;
- and
- in response to directing the second request to the second tenant container associated with the second request, executing, with the single thread executing the multi-tenant application for the first tenant container, the multi-tenant application using the second tenant container and the second request.
A system of one or more computers configured to perform operations comprising:
- establishing a plurality of tenant containers for a plurality of tenants of a multi-tenant application implemented on a multi-tenant infrastructure based on a dependency injection framework, the multi-tenant infrastructure implemented in a plurality of libraries of executable software being grouped based on the dependency injection framework, each tenant container being a logical separation of data and functionality for a multi-tenant application, each tenant container being isolated from the other tenant containers;
- receiving a first request from a first client device;
- determining that the first request is associated with a first tenant container of the tenant containers;
- directing the first request to the first tenant container associated with the first request
- in response to directing the first request to the first tenant container associated with the first request, executing, with a single thread, the multi-tenant application using the first tenant container and the first request;
- receiving a second request different from the first request from a second client device;
- determining that the second request is associated with a second tenant container of the tenant containers that is different than the first tenant container;
- directing the second request to the second tenant container associated with the second request;
- and
- in response to directing the second request to the second tenant container associated with the second request, executing, with the single thread executing the multi-tenant application for the first tenant container, the multi-tenant application using the second tenant container and the second request.
A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
- establishing a plurality of tenant containers for a plurality of tenants of a multi-tenant application implemented on a multi-tenant infrastructure based on a dependency injection framework, the multi-tenant infrastructure implemented in a plurality of libraries of executable software being grouped based on the dependency injection framework, each tenant container being a logical separation of data and functionality for a multi-tenant application, each tenant container being isolated from the other tenant containers;
- receiving a first request from a first client device;
- determining that the first request is associated with a first tenant container of the tenant containers;
- directing the first request to the first tenant container associated with the first request;
- in response to directing the first request to the first tenant container associated with the first request, executing, with a single thread, the multi-tenant application using the first tenant container and the first requests;
- receiving a second request different from the first request from a second client device;
- determining that the second request is associated with a second tenant container of the tenant containers that is different than the first tenant container;
- directing the second request to the second tenant container associated with the second request;
- and
- in response to directing the second request to the second tenant container associated with the second request, executing, with the single thread executing the multi-tenant application for the first tenant container, the multi-tenant application using the second tenant container and the second request.
Dependencies are inferred from the claim text.