Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of managing a distributed, multi-tenant computing system comprising at least one processor and non-transitory storage media hosting a plurality of repositories designated for different respective computing system application-tenant combinations, the method comprising: receiving, from a client application running on a client device, a request for data to be obtained using a computing system application, the request being associated with a requesting computing system application-tenant combination that is based on a requesting tenant associated with the client application and the computing system application to be used in obtaining the data; determining, using the computing system, whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination; in response to a determination that there already is a repository designated for the requesting computing system application-tenant combination, handling the request for data using the already existing repository designated for the requesting computing system application-tenant combination; and in response to a determination that there is no existing repository designated for the requesting computing system application-tenant combination: dynamically and automatically creating at runtime a new repository designated for the requesting computing system application-tenant combination, without having to restart the computing system, dynamically and automatically configuring the new repository at runtime, without having to restart the computing system, and handling the request for data using the new repository following said dynamic and automatic configuring.
2. The method of claim 1 , wherein the determining is performed in connection with a naming scheme.
3. The method of claim 2 , wherein each said repository has a unique name by virtue of the naming scheme.
4. The method of claim 2 , wherein the naming scheme produces unique keys usable by the computing system application to access and/or determine the existence of the respective repositories, each said key being based on an indication of a way in which the respective repository is to be stored, an application identifier, and a tenant identifier.
5. The method of claim 4 , wherein permissible ways in which the repositories are storable include permanent and temporary storage types.
6. The method of claim 1 , wherein permissible ways in which the repositories are storable include permanent and temporary storage types.
7. The method of claim 6 , wherein the response to the determination that there is no existing repository designated for the requesting computing system application-tenant combination further comprises creating a new search index mapping, provided that the new repository is a permanent storage type repository.
8. The method of claim 7 , wherein created search index mappings are named and/or addressable using the same naming scheme as that used for the respective repositories.
9. The method of claim 7 , further comprising connecting the new search index mapping to a changes feed from the corresponding repository to enable continuous updating of the search index mapping.
10. The method of claim 1 , further comprising when the client application is a server-side application, relaying from a registry server to the client application an indication as to whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination in response to a direct query from the client application to the registry server.
11. The method of claim 1 , further comprising at least when the client device is external to the computing system's ecosystem, relaying from a registry server to the client application an indication as to whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination in response to a query from the client application to the registry server made via a load balancer.
12. The method of claim 1 , wherein the computing system application is a web application.
13. The method of claim 1 , wherein at least some of the repositories are NoSQL databases.
14. At least one non-transitory computer readable storage medium tangibly storing instructions that are performable to accomplish at least the method of claim 1 .
15. A distributed, multi-tenant computing system, comprising: processing resources including at least one processor and configured to enable a plurality of computing system applications to be performed; and non-transitory storage media hosting a plurality of repositories designated for different respective computing system application-tenant combinations; wherein the computing system is configured to at least: receive, from a client application running on a client device, a request for data to be obtained using at least one of said computing system applications, the request being associated with a requesting computing system application-tenant combination corresponding to a requesting tenant associated with the client application and the computing system application(s) to be used in obtaining the data; determine whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination; in response to a determination that there already is a repository designated for the requesting computing system application-tenant combination, handle the request for data using the already existing repository designated for the requesting computing system application-tenant combination; and in response to a determination that there is no existing repository designated for the requesting computing system application-tenant combination: (a) dynamically and automatically create and configure, at runtime, a new repository designated for the requesting computing system application-tenant combination, without having to restart the computing system and without having to restart the computing system application(s) to be used in obtaining the data, and (b) handle the request for data using the new repository following said dynamic and automatic configuring.
16. The system of claim 15 , wherein the repositories are accessible via a naming scheme.
17. The system of claim 16 , wherein the naming scheme produces unique keys usable by the computing system applications to access the repositories and/or determine whether individual ones of the repositories exist, each said key being based on (a) an indication of a way in which the respective repository is to be stored, (b) an application identifier, and (c) a tenant identifier.
18. The system of claim 15 , wherein permissible ways in which the repositories are storable include permanent and temporary storage types.
19. The system of claim 18 , wherein the response to the determination that there is no existing repository designated for the requesting computing system application-tenant combination further involves creating a new search index mapping, provided that the new repository is a permanent storage type repository.
20. The system of 19 , wherein at least some of the repositories are configured to generate a changes feed, and wherein search index mappings are connectable to changes feeds from corresponding repositories to enable updating of the search index mappings.
21. The system of claim 15 , further comprising a registry server that is configured to: (a) accept a direct query from the client application as to whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination and provide a response thereto, provided that the client application is a server-side application, and (b) respond to a query from the client application to the registry server made via a load balancer as to whether the non-transitory storage media already stores a repository designated for the requesting computing system application-tenant combination, at least when the client device is external to the computing system.
22. The system of claim 15 , wherein the computing system application is a web application and at least some of the repositories are NoSQL databases.
23. A distributed, multi-tenant computing system, comprising: processing resources including at least one processor; a plurality of tenant installations backed by virtual and/or physical machines and designated for respective tenants, each said tenant installation supporting at least one application and at least one repository accessible by and/or to the respective tenant, each said repository being designated for a different application-tenant combination; and a web application or service configured to receive a request for a document from a client application; wherein the processing resources cooperate to provide to the web application or service a response to the request for the document from the client application such that: when a determination is made that there is a repository already in existence for the specific combination of the tenant and the application involved in the request, that repository is used in responding to the request; and when a determination is made that there is not a repository already in existence for the specific combination of the tenant and the application involved in the request, a new repository is generated in cooperation with the processing resources dynamically and at computing system runtime, bootstrapping is performed for configuring the new repository dynamically and at computing system runtime, and that new repository is used in responding to the request.
24. The system of claim 23 , further comprising: a user management subsystem configured to provide to the web application or service a tenant identifier for the tenant associated with the client application; a registry configured to provide to the web application or service a server location for the tenant associated with the client application; and a provisioning subsystem configured to register tenants with the registry.
25. The system of claim 23 , wherein: the repositories are accessible via a naming scheme that produces unique keys usable in accessing the repositories and/or determining whether they exist, each said key being based on (a) an indication of a way in which the respective repository is to be stored, (b) an application identifier, and (c) a tenant identifier; permissible ways in which the repositories are storable include permanent and temporary storage types; the processing resources further cooperate to provide to the web application or service a response to the request for the document from the client application such that when the determination is made that there is not a repository already in existence for the specific combination of the tenant and the application involved in the request, a new search index mapping is created, provided that the new repository is a permanent storage type repository and not a temporary storage type repository; and the naming scheme also is used for search index mappings.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.