Method and system to implement directory reads for a database file system

US12001406B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12001406-B2
Application numberUS-202217877689-A
CountryUS
Kind codeB2
Filing dateJul 29, 2022
Priority dateJul 29, 2022
Publication dateJun 4, 2024
Grant dateJun 4, 2024

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.

Disclosed is an improved approach to access the contents of database file system. The contents of the database file system can be acquired and stored in a directory buffer. A parallel tree structure is used to retrieve directory contents quickly and in a consistent fashion.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: implementing a database file system (DBFS) where a plurality of files in a file system are stored in a database backend; receiving a first file system command to access a directory in the DBFS, the directory having multiple files of the plurality of files in the file system; constructing a node tree for the multiple files in the directory in response to the first file system command, wherein the node tree is constructed based on a table for the directory in the database backend having columns that hold metadata associated with the files; loading file contents for the files in the directory into a cache in response to the first file system command to access the directory, wherein the node tree references the file contents for the files in the cache; receiving a second file system command to access a file of the multiple files in the directory; and accessing, in response to the second file system command, the previously constructed node tree to identify file contents of the file in the cache based on a reference to the file contents for the file in the node tree. 2. The method of claim 1 , wherein the node tree is constructed as a red black tree. 3. The method of claim 1 , wherein an individual row in the table in the database backend corresponds to a specific file, and the individual row corresponds to a LOB that holds file content for the file. 4. The method of claim 3 , wherein the individual row comprises a pointer to a location for the LOB located outside of the table. 5. The method of claim 1 , wherein the DBFS provides an abstraction layer that is embodied as a mounted file system at a client location, and where the first file system command is translated into a database operation request that is processed at the database backend to handle the first file system command. 6. The method of claim 1 , wherein the node tree comprises nodes that correspond to the files in the directory, and where an individual node comprises a key and an offset associated with a specific file. 7. The method of claim 6 , wherein the file contents are loaded into a buffer in the cache and the offset is used to reference a location in the buffer for file system content for the specific file. 8. The method of claim 1 , wherein the node tree is walked to process the first file system command, wherein an iterative approach is taken to walk different portions of the node tree to process different subsets of the directory to implement the first file system command. 9. The method of claim 1 , wherein the node tree is not deleted until after a change to the directory or after a timeout threshold has been reached. 10. A system, comprising: a processor; a memory for storing a set of instructions; and wherein the a set of instructions, when executed by the processor cause a set of acts, the set of acts comprise: implementing a database file system (DBFS) where a plurality of files in a file system are stored in a database backend; receiving a first file system command to access a directory in the DBFS, the directory having multiple files of the plurality of files in the file system; constructing a node tree for the multiple files in the directory in response to the first file system command, wherein the node tree is constructed based on a table for the directory in the database backend having columns that hold metadata associated with the files; loading file contents for the files in the directory into a cache in response to the first file system command to access the directory, wherein the node tree references the file contents for the files in the cache; receiving a second file system command to access a file of the multiple files in the directory; and accessing, in response to the second file system command, the previously constructed node tree to identify file contents of the file in the cache based on a reference to the file contents for the file in the node tree. 11. The system of claim 10 , wherein the node tree is constructed as a red black tree. 12. The system of claim 10 , wherein an individual row in the table in the database backend corresponds to a specific file, and the individual row corresponds to a LOB that holds file content for the file. 13. The system of claim 12 , wherein the individual row comprises a pointer to a location for the LOB located outside of the table. 14. The system of claim 10 , wherein the DBFS provides an abstraction layer that is embodied as a mounted file system at a client location, and where the first file system command is translated into a database operation request that is processed at the database backend to handle the first file system command. 15. The system of claim 10 , wherein the node tree comprises nodes that correspond to the files in the directory, and where an individual node comprises a key and an offset associated with a specific file. 16. The system of claim 15 , wherein the file contents are loaded into a buffer in the cache and the offset is used to reference a location in the buffer for file system content for the specific file. 17. The system of claim 10 , wherein the node tree is walked to process the first file system command, wherein an iterative approach is taken to walk different portions of the node tree to process different subsets of the directory to implement the first file system command. 18. A computer program product embodied on a non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, performs: implementing a database file system (DBFS) where a plurality of files in a file system are stored in a database backend; receiving a first file system command to access a directory in the DBFS, the directory having multiple files of the plurality of files in the file system; constructing a node tree for the multiple files in the directory in response to the first file system command, wherein the node tree is constructed based on a table for the directory in the database backend having columns that hold metadata associated with the files; loading file contents for the files in the directory into a cache in response to the first file system command to access the directory, wherein the node tree references the file contents for the files in the cache; receiving a second file system command to access a file of the multiple files in the directory; and accessing, in response to the second file system command, the previously constructed node tree to identify file contents of the file in the cache based on a reference to the file contents for the file in the node tree. 19. The computer program product of claim 18 , wherein the node tree is constructed as a red black tree. 20. The computer program product of claim 18 , wherein an individual row in the table in the database backend corresponds to a specific file, and the individual row corresponds to a LOB that holds file content for the file. 21. The computer program product of claim 20 , wherein the individual row comprises a pointer to a location for the LOB located outside of the table. 22. The computer program product of claim 18 , wherein the DBFS provides an abstraction layer that is embodied as a mounted file system at a client location, and where the first file system command is translated into a database operation request that is processed at the database backend to handle the first file system command. 23. The computer program product of claim 18 , wher

Assignees

Inventors

Classifications

  • G06F16/185Primary

    Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11) · CPC title

  • G06F16/172Primary

    Caching, prefetching or hoarding of files · CPC title

  • Large Object storage; Management thereof · CPC title

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 US12001406B2 cover?
Disclosed is an improved approach to access the contents of database file system. The contents of the database file system can be acquired and stored in a directory buffer. A parallel tree structure is used to retrieve directory contents quickly and in a consistent fashion.
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/185. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 04 2024 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).