Patentable/Patents/US-9697379
US-9697379

Database virtualization

PublishedJuly 4, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.

Patent Claims
26 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A computer system, the computer system comprising: a directory service, the directory service maintaining data that associates logical server names with one or more databases hosted on computer hardware; one or more processors; system memory coupled to the one or more processors, the system memory storing instructions that are executable by the one or more processors; and the one or more processors executing the instructions stored in the system memory to perform the following: receive a client request, the client request regarding data in a database, the client request conveyed in conjunction with a logical server name and a logical database name, the database included in the one or more databases; and determine a location of the database using the directory service based on the logical server name and the logical database name.

Plain English Translation

A computer system implements database virtualization. A directory service stores data that links logical database server names to physical databases on hardware. When a client requests data from a database, specifying a logical server and database name, the system uses the directory service to find the physical location (server and database) corresponding to that logical name. The system then retrieves data from the physical database to service the client request.

Claim 2

Original Legal Text

2. The computer system of claim 1 , further comprising the one or more processors executing the instructions to select a network device to service the client request based on a load balancing algorithm.

Plain English Translation

In the database virtualization system, the system selects a network device to handle a client's database request. This selection is based on a load balancing algorithm to distribute the workload across multiple available devices, ensuring no single device is overwhelmed with client requests. This improves performance and availability by preventing bottlenecks.

Claim 3

Original Legal Text

3. The computer system of claim 1 , further comprising the one or more processors executing the instructions to forward communications between the client and the network device.

Plain English Translation

The database virtualization system forwards communications between a client and a selected network device, after the load balancer has made its selection. This forwarding allows the client to interact with the physical database without needing to know its actual physical location. The network device acts as an intermediary, relaying requests and responses.

Claim 4

Original Legal Text

4. The computer system of claim 1 , further comprising one or more servers hosting one or more master databases, the one or more master databases including authentication and authorization information regarding the one or more databases, and further comprising the one or more processors executing the instructions to act as a proxy between a client and a database, the database selected from among the one or more databases, including: establish a connection with the client; receive a logical server name and logical database name; authenticate the client via authentication information included in a master database, the master database selected from among the one or more master databases; determine a physical server and user database associated with the logical server name and the logical database name; and establish a connection with the physical server for use in accessing the user database.

Plain English Translation

The database virtualization system includes master databases storing authentication and authorization information for all databases. The system acts as a proxy: it establishes a connection with a client, receives logical server and database names, authenticates the client using the master database, determines the corresponding physical server and user database, and then establishes a connection with the physical server to allow the client to access the user database.

Claim 5

Original Legal Text

5. The computer system of claim 1 , further comprising the one or more processors executing the instructions to determine partitions of physical databases that include the database based on data in a data structure.

Plain English Translation

In the database virtualization system, physical databases can be partitioned. The system determines which partitions of the physical databases contain the requested database. This determination is based on data stored in a data structure that maps logical databases to specific physical database partitions, allowing for efficient data access across distributed databases.

Claim 6

Original Legal Text

6. The computer system of claim 1 , further comprising the one or more processors executing the instructions to act as a proxy between the client and the database.

Plain English Translation

The database virtualization system acts as a proxy between a client and a database. The system handles the communication between the client, which uses logical names, and the underlying physical database. This hides the physical location and details of the database from the client, providing an abstraction layer.

Claim 7

Original Legal Text

7. A processor implemented method for use at a network device, the network device communicatively connected to a directory service and to one or more databases, the one or more databases hosted on computer hardware, the method for determining the location of a database, the database included in the one or more databases, the method comprising: receiving a client request, the client request regarding data in the database, the client request conveyed in conjunction with a logical server name and a logical database name; and determining a location of the database through reference to the directory service and based on the logical server name and the logical database name, the directory service maintaining data that associates logical server names with the one or more databases.

Plain English Translation

A method, implemented on a network device, locates a database using database virtualization. When a client requests data, specifying a logical server and database name, the device uses a directory service to find the physical location of the database. The directory service stores the mappings between logical server names and the actual physical databases. The device then uses the determined physical location to access the data.

Claim 8

Original Legal Text

8. The method of claim 7 , wherein determining a location of the database comprises determining a physical server associated with the logical server name.

Plain English Translation

In the method for locating a database, determining the location involves finding the specific physical server associated with the logical server name provided in the client request. The directory service is consulted to map the logical server name to a physical server address, which is then used to establish a connection and retrieve data.

Claim 9

Original Legal Text

9. The method of claim 7 , wherein receiving a client request comprises receiving a client request from a load balancer, the load balancer having selected the network device to service the request based on a load balancing algorithm.

Plain English Translation

In the method for locating a database, the client request is received from a load balancer. The load balancer chooses the network device to handle the request based on a load balancing algorithm. This ensures that the processing load is distributed efficiently across multiple network devices.

Claim 10

Original Legal Text

10. The method of claim 7 , further comprising acting as a proxy between a client and the database.

Plain English Translation

The method for locating a database includes acting as a proxy between a client and the database. The network device handles communication, hiding the physical database details from the client and allowing the client to interact using logical names. This proxy functionality simplifies database access for the client.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein acting as a proxy between a client and the database comprises: establishing a connection with the client; authenticating the client via authentication information included in another database; and establishing a connection with the determined location of the database for use in accessing data contained in the database.

Plain English Translation

When acting as a proxy in the method for locating a database, the steps include: establishing a connection with the client, authenticating the client using authentication information stored in another database (like a master database), and establishing a connection with the actual physical database location to access the requested data. This secures and manages the database connection.

Claim 12

Original Legal Text

12. The method of claim 7 , wherein receiving a client request comprises receiving a database connection string, the database connection string including the logical server name and the logical database name.

Plain English Translation

When receiving a client request in the method for locating a database, the request includes a database connection string. This connection string contains the logical server name and the logical database name, which the system uses to look up the physical database location in the directory service.

Claim 13

Original Legal Text

13. The method claim 7 , wherein determining a location of the database comprises determining one or more partitions of physical databases that include the database.

Plain English Translation

When determining the location of a database in the method for locating a database, the method determines one or more specific partitions of physical databases that contain the requested database. This allows for efficient retrieval of data even when the data is spread across multiple physical partitions of a database.

Claim 14

Original Legal Text

14. A processor implemented method for use at a network device, the network device communicatively connected to a directory service and to one or more databases, the one or more databases hosted on computer hardware, the method for processing a database statement directed to a database, the database included in the one or more databases, the method comprising: establishing a connection with a client; establishing a connection with a logical database of the client by determining a location of the logical database based on a logical server name and a logical database name included in a client request, the location determined through reference to the directory service, the directory service maintaining data that associates the logical server name with a database hosted on computer hardware; parsing a database statement from the client to identify how to implement the database statement; and forwarding the database statement to the logical database.

Plain English Translation

A method, implemented on a network device, processes a database statement for database virtualization. It establishes a connection with a client and then connects to a logical database. The location of the logical database is found using a directory service, based on the logical server and database names in the client request. The method parses the database statement to understand what action the client wants to perform and then forwards the statement to the physical database for execution.

Claim 15

Original Legal Text

15. The method of claim 14 , wherein parsing a database statement from the client to identify how to implement the database statement comprises determining that the database statement requests creation of a new database.

Plain English Translation

When parsing a database statement in the method for processing a database statement, the method determines that the client is requesting the creation of a new database. This involves recognizing the specific database statement as a "create database" command.

Claim 16

Original Legal Text

16. The method of claim 15 , further comprising: assigning the new database to a physical server; and updating the directory service to map the new database to the logical database.

Plain English Translation

In the method for processing a database statement, after determining that a new database needs to be created, the method assigns the new database to a specific physical server and then updates the directory service. This update maps the logical database name to the newly assigned physical server, ensuring that future requests to the logical database are routed correctly.

Claim 17

Original Legal Text

17. The method of claim 14 , wherein parsing a database statement comprises determining if the database statement is included in a predetermined set of database language statements.

Plain English Translation

When parsing a database statement in the method for processing a database statement, the method checks if the statement is one of a predefined set of database management statements. This allows the system to identify specific actions, such as creating or deleting databases and users, and handle them appropriately.

Claim 18

Original Legal Text

18. The method of claim 17 , wherein determining if the database statement is included in a predetermined set of database language statements comprises determining if the database statement is one of: a statement to create a database, a statement to delete a database, a statement to create a login, a statement to delete a login, a statement alter a login, a statement to create a user, a statement to delete a user, or a statement to alter a user.

Plain English Translation

In the method for processing a database statement, the predetermined set of database language statements that are checked include: a statement to create a database, a statement to delete a database, a statement to create a login, a statement to delete a login, a statement to alter a login, a statement to create a user, a statement to delete a user, or a statement to alter a user. Recognizing these statements allows the system to manage database infrastructure changes.

Claim 19

Original Legal Text

19. The method of claim of 17 , wherein determining if the database statement is included in a predetermined set of database language statements comprises determining that the database statement is included in the predetermined set of database language statements; and further comprising sending one or more additional requests to one or more of: the logical database and a master database to fulfill the client request, the master database including authentication and authorization information regarding the one or more databases.

Plain English Translation

In the method for processing a database statement, if the database statement is included in the predetermined set, the method sends additional requests to the logical database or a master database. These additional requests, which may include authentication or authorization checks, ensure that the client is allowed to perform the requested action. The master database stores authentication and authorization information about all databases.

Claim 20

Original Legal Text

20. The method of claim 14 , further comprising receiving the client request from a load balancer, the load balancer having selected the network device to service the request based on a load balancing algorithm.

Plain English Translation

In the method for processing a database statement, the client request comes from a load balancer. The load balancer chooses the network device to handle the request based on a load balancing algorithm, distributing the processing load across multiple devices.

Claim 21

Original Legal Text

21. A computer system, the computer system comprising: a directory service, the directory service maintaining data that associates logical server names with one or more databases hosted on computer hardware; one or more processors; system memory coupled to the one or more processors, the system memory storing instructions that are executable by the one or more processors; and the one or more processors executing the instructions stored in the system memory to perform the following: establish a connection with a client; establish a connection with a logical database of the client by determining a location of the logical database based on a logical server name and a logical database name included in a client request, the location determined through reference to the directory service; parse a database statement from the client to identify how to implement the database statement; and forward the database statement to the logical database.

Plain English Translation

A computer system provides database virtualization. A directory service stores data associating logical server names with physical databases. The system establishes a connection with a client, then connects to a logical database by finding its physical location using the directory service based on the logical server and database names in the client's request. It parses the database statement from the client and forwards it to the physical database for execution.

Claim 22

Original Legal Text

22. The computer system of claim 21 , further comprising the one or more processors executing the instructions to receive the client request, the client request including the logical server name and the logical database name.

Plain English Translation

In the database virtualization system, the client request includes the logical server name and the logical database name. This information is essential for the system to look up the physical location of the requested database in the directory service.

Claim 23

Original Legal Text

23. The computer system of claim 21 , wherein the one or more processors executing the instructions to establish a connection with the client comprises the one or more processors executing the instructions to: negotiate connection parameters with the client; and authenticate the client.

Plain English Translation

When the database virtualization system establishes a connection with the client, it negotiates connection parameters and authenticates the client. This ensures a secure and authorized connection before any data is accessed or commands are executed.

Claim 24

Original Legal Text

24. The computer system of claim 21 , wherein the one or more processors executing the instructions to parse a database statement comprises the one or more processors executing the instructions to determine if the database statement is included in a predetermined set of database language statements.

Plain English Translation

When parsing a database statement in the database virtualization system, the system determines if the statement is in a predefined set of database language statements. This allows the system to recognize and handle specific administrative actions.

Claim 25

Original Legal Text

25. The computer system of claim 21 , wherein the one or more processors executing the instructions to determine if the database statement is included in a predetermined set of database language statements comprises the one or more processors executing the instructions to determine that the database statement is not included in a predetermined set of database language statements; and further comprising the one or more processors executing the instructions to: receive a response from the logical database; and forward the response to the client.

Plain English Translation

In the database virtualization system, if the database statement is NOT in the predefined set, the system receives a response from the physical database after forwarding the statement, and then forwards that response back to the client. This allows the system to handle standard database queries and operations without special processing.

Claim 26

Original Legal Text

26. The computer system of claim 21 , wherein the one or more processors executing the instructions to determine if the database statement is included in a predetermined set of database language statements comprises the one or more processors executing the instructions to determine that the database statement is included in a predetermined set of database language statements; and further comprising the one or more processors executing the instructions to fulfill the client request based on the database statement by performing at least one of: send a request to a master database; update a master database; and create a new logical database on a physical database.

Plain English Translation

In the database virtualization system, if the database statement IS in the predefined set, the system fulfills the client's request by performing actions such as sending a request to a master database for authentication, updating the master database, or creating a new logical database on a physical database. This allows the system to manage database infrastructure changes through virtualization.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 8, 2015

Publication Date

July 4, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Database virtualization” (US-9697379). https://patentable.app/patents/US-9697379

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-9697379. See llms.txt for full attribution policy.