ENABLING MULTI-TENANT VIRTUAL SERVERS IN A CLOUD SYSTEM
Methods and systems for generating and executing a database process are described. One example method includes receiving a request at the virtual server according to the infrastructure protocol, the infrastructure protocol configured to perform actions on virtual server resources; determining an application associated with the request; and performing one or more actions associated with the request using a set of application resources associated with the application.
1 . A computer-implemented method for performing actions on an application on a virtual server in a cloud system using an infrastructure protocol, the method executed by one or more processors, the method comprising:
receiving a request at the virtual server according to the infrastructure protocol, the infrastructure protocol configured to perform actions on virtual server resources;
determining an application associated with the request; and
performing one or more actions associated with the request using a set of application resources associated with the application.
2 . The method of claim 1 , wherein receiving the request is performed by a communication proxy separate from the virtual server.
3 . The method of claim 1 , further comprising:
identifying one or more tenants associated with the virtual server in the cloud system;
determining one or more network addresses, each network address uniquely associated with one of the one or more tenants;
identifying a particular network address associated with the request; and
determining a particular tenant associated with the particular network address,
wherein the application is associated with the particular tenant.
4 . The method of claim 3 , further comprising:
identifying a requested resource associated with the request, the requested resource associated with the application and the particular tenant and identified in the request in a generic format; and
transforming the request to identify the requested resource in a format specific to the particular tenant.
5 . The method of claim 4 , wherein the requested resource is a database table and transforming the request comprises transforming a table name associated with the database table into a table name specific to the particular tenant.
6 . The method of claim 4 , wherein the requested resource is a web page and transforming the request comprises transforming a Uniform Resource Locator (URL) associated with the web page into a URL specific to the particular tenant.
7 . The method of claim 3 , wherein the determined network address is an Internet Protocol (IP) address.
8 . The method of claim 1 , further comprising providing usage statistics associated with the application resources.
9 . The method of claim 8 , wherein providing usage statistics associated with the application resources includes providing at least one of: requests per second, memory usage, or concurrent connections.
10 . The method of claim 8 , wherein providing usage statistics associated with the application resources includes updating a standard file system location that indicates usage statistics for a virtual server.
11 . The method of claim 8 , wherein providing usage statistics associated with the application resources includes providing Simple Network Management Protocol (SNMP) messages that indicate the usage statistics.
12 . A 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:
receiving a request at the virtual server according to the infrastructure protocol, the infrastructure protocol configured to perform actions on virtual server resources;
determining an application associated with the request; and
performing one or more actions associated with the request using a set of application resources associated with the application.
13 . The computer storage medium of claim 12 , wherein receiving the request is performed by a communication proxy separate from the virtual server.
14 . The computer storage medium of claim 12 , wherein the operations further comprise:
identifying one or more tenants associated with the virtual server in the cloud system;
determining one or more network addresses, each network address uniquely associated with one of the one or more tenants;
identifying a particular network address associated with the request; and
determining a particular tenant associated with the particular network address,
wherein the application is associated with the particular tenant.
15 . The computer storage medium of claim 14 , wherein the operations further comprise:
identifying a requested resource associated with the request, the requested resource associated with the application and the particular tenant and identified in the request in a generic format; and
transforming the request to identify the requested resource in a format specific to the particular tenant.
16 . The computer storage medium of claim 15 , wherein the requested resource is a database table and transforming the request comprises transforming a table name associated with the database table into a table name specific to the particular tenant.
17 . The computer storage medium of claim 16 , wherein the requested resource is a web page and transforming the request comprises transforming a Uniform Resource Locator (URL) associated with the web page into a URL specific to the particular tenant.
18 . The computer storage medium of claim 12 , wherein the operations further comprise providing usage statistics associated with the application resources.
19 . The computer storage medium of claim 18 , wherein providing usage statistics associated with the application resources includes:
providing at least one of: requests per second, memory usage, or concurrent connections;
updating a standard file system location that indicates usage statistics for a virtual server; and
providing Simple Network Management Protocol (SNMP) messages that indicate the usage statistics.
20 . A system of one or more computers configured to perform operations comprising:
receiving a request at the virtual server according to the infrastructure protocol, the infrastructure protocol configured to perform actions on virtual server resources;
determining an application associated with the request; and
performing one or more actions associated with the request using a set of application resources associated with the application.
21 . The system of claim 20 , wherein receiving the request is performed by a communication proxy separate from the virtual server.
22 . The system of claim 20 , wherein the operations further comprise:
identifying one or more tenants associated with the virtual server in the cloud system;
determining one or more network addresses, each network address uniquely associated with one of the one or more tenants;
identifying a particular network address associated with the request; and
determining a particular tenant associated with the particular network address,
wherein the application is associated with the particular tenant.
23 . The system of claim 22 , wherein the operations further comprise:
identifying a requested resource associated with the request, the requested resource associated with the application and the particular tenant and identified in the request in a generic format; and
transforming the request to identify the requested resource in a format specific to the particular tenant.
24 . The system of claim 23 , wherein the requested resource is a database table and transforming the request comprises transforming a table name associated with the database table into a table name specific to the particular tenant.
25 . The system of claim 23 , wherein the requested resource is a web page and transforming the request comprises transforming a Uniform Resource Locator (URL) associated with the web page into a URL specific to the particular tenant.
26 . The system of claim 21 , wherein the operations further comprise providing usage statistics associated with the application resources.
27 . The system of claim 26 , wherein providing usage statistics associated with the application resources includes:
providing at least one of: requests per second, memory usage, or concurrent connections;
updating a standard file system location that indicates usage statistics for a virtual server; and
providing Simple Network Management Protocol (SNMP) messages that indicate the usage statistics.