Multi-tenant infrastructure
First Claim
Patent Images
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
17 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 16, 17)
-
-
6. 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. - View Dependent Claims (7, 8, 9, 10)
-
-
11. 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. - View Dependent Claims (12, 13, 14, 15)
-
Specification