Systems and methods for supporting multiple database server versions on a database machine

US9898490B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9898490-B2
Application numberUS-201414313984-A
CountryUS
Kind codeB2
Filing dateJun 24, 2014
Priority dateSep 20, 2013
Publication dateFeb 20, 2018
Grant dateFeb 20, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described herein for supporting multiple versions of a database server within a database machine comprising a separate database layer and storage layer. In an embodiment, the database layer includes compute nodes each hosting one or more instances of a database server. The storage layer includes storage nodes each hosting one or more instances of a storage server, also referred to herein as a “cell server.” In general, the database servers may receive data requests, such as SQL queries, from client applications and service the requests in coordination with the cell servers of the storage layer.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by a storage node, a request from a database server, wherein the storage node comprises a cell server and a plurality of offload groups, wherein the database server is associated with a database version, wherein each offload group of said plurality of offload groups comprises respective one or more offload servers of a plurality of offload servers, wherein the request comprises information indicating a particular database version, and wherein each offload server of said plurality of offload servers is configured to service requests from a respective database version; and processing the request by: retrieving one or more data blocks from a storage device; selecting a particular offload group of the plurality of offload groups based on one or more characteristics associated with the request, wherein at least one characteristic comprises said particular database version; causing the one or more data blocks to be processed by the particular offload group; and sending data from the one or more data blocks to the database server once said one or more data blocks are processed by the particular offload group; wherein the method is performed by one or more computing devices. 2. The method of claim 1 , wherein the request identifies one or more operations to be performed on the one or more data blocks by the particular offload group. 3. The method of claim 1 , wherein the one or more characteristics further includes a database session associated with the request. 4. The method of claim 1 , wherein the one or more characteristics further includes a user generating the request. 5. The method of claim 1 , further comprising: wherein the request is a first request, the database server is a first database server, the one or more data blocks are one or more first data blocks, and the particular offload group is a first particular offload group; receiving, by the storage node, a second request from a second database server; and processing the second request by: retrieving one or more second data blocks; determining, based on one or more characteristics associated with the second request, whether the request is associated with the first particular offload group or a second particular offload group; responsive to determining that the second request is associated with the second particular offload group, causing the one or more second data blocks to be processed by the second particular offload group; and sending data from the one or more second data blocks to the second database server once said one or more data blocks are processed by the second particular offload group. 6. The method of claim 1 , wherein the particular offload group is associated with a protected set of memory. 7. The method of claim 1 , wherein the one or more data blocks represent a plurality of rows of a database table, and wherein causing the one or more data blocks to be processed by the particular offload group comprises filtering one or more of the plurality of rows of the database table. 8. A non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause: receiving, by a storage node, a request from a database server, wherein the storage node comprises a cell server and a plurality of offload groups, wherein the database server is associated with a database version, wherein each offload group of said plurality of offload groups comprises respective one or more offload servers of a plurality of offload servers, wherein the request comprises information indicating a particular database version, and wherein each offload server of said plurality of offload servers is configured to service requests from a respective database version; and processing the request by: retrieving one or more data blocks from a storage device; selecting a particular offload group of the plurality of offload groups based on one or more characteristics associated with the request, wherein at least one characteristic of said one or more characteristics comprises the said particular database version; causing the one or more data blocks to be processed by the particular offload group; and sending data from the one or more data blocks to the database server once said one or more data blocks are processed by the particular offload group. 9. The non-transitory computer-readable medium of claim 8 , wherein the request is a smart request identifying operations to be performed by the particular offload group. 10. The non-transitory computer-readable medium of claim 8 , wherein the one or more characteristics further includes a database session associated with the request. 11. The non-transitory computer-readable medium of claim 8 , wherein the one or more characteristics further includes a user generating the request. 12. The non-transitory computer-readable medium of claim 8 , wherein the request is a first request, the database server is a first database server, the one or more data blocks are one or more first data blocks, and the particular offload group is a first particular offload group; and wherein the instructions include instructions that, when executed by said one or more processors, causes: receiving, by the storage node, a second request from a second database server; and processing the second request by: retrieving one or more second data blocks; determining, based on one or more characteristics associated with the second request, whether the request is associated with the first particular offload group or a second particular offload group; responsive to determining that the second request is associated with the second particular offload group, causing the one or more second data blocks to be processed by the second particular offload group; and sending data from the one or more second data blocks to the second database server once said one or more data blocks are processed by the second particular offload group. 13. The non-transitory computer-readable medium of claim 8 , wherein the particular offload group is associated with a protected set of memory. 14. The non-transitory computer-readable medium of claim 8 , wherein the one or more data blocks represent a plurality of rows of a database table, and wherein causing the one or more data blocks to be processed by the particular offload group comprises filtering one or more of the plurality of rows of the database table. 15. The method of claim 1 , wherein the particular offload group is configured with debugging functionality. 16. The non-transitory computer-readable storage medium of claim 8 , wherein the particular offload group is configured with debugging functionality.

Assignees

Inventors

Classifications

  • Tablespace storage structures; Management thereof · CPC title

  • Design, administration or maintenance of databases · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9898490B2 cover?
Techniques are described herein for supporting multiple versions of a database server within a database machine comprising a separate database layer and storage layer. In an embodiment, the database layer includes compute nodes each hosting one or more instances of a database server. The storage layer includes storage nodes each hosting one or more instances of a storage server, also referred t…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/2282. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).