# US 11,907,177 B2 · Scalable framework for managing concurrent accesses to database file systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,177 B2
- Document ID: US11907177B2
- Status: Granted
- Kind: B2
- Application number: 17/387,718
- Filed: 2021-07-28
- Published: 2022-05-26
- Granted: 2024-02-20
- Earliest claimed: 2020-11-23
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Parthasarathy Elangadu Raghunathan; Shishir Mathur; Shubha Bose; Aurosish Mishra
- Web page: https://patentgrep.com/patent/US11907177B2

## CPC

- G06F 16/196: {Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo file systems (dedicated interfaces to storage systems G06F3/0601)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 11/3409: {for performance assessment}
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/18: File system types
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A manager file system (MFS) runs as a user space file system. The MFS, implemented using an OS process, exposes a mount point as a communication endpoint to the single process. Mounting, unmounting, and changing configuration of individual database file systems (DBFSs) are done by overloading extended attributes on the mount point. The MFS services all DBFSs mounted at different mount points registered to the single process of the MFS and ensures optimal resource utilization among the DBFSs in the single process while guaranteeing resource isolation.

## Claims

### Claim 1

A method comprising:
mounting within an operating system at a first mount point a first database file system (DBFS), wherein a client process handles file system commands directed to the first mount point, wherein the first DBFS comprises one or more first database connections to a first database server managing access to a first database that stores files for the first DBFS, wherein said client process rises a first set of mount point threads dedicated to servicing said file system commands directed to the first mount point;
mounting within the operating system at a second mount point a second DBFS, wherein the client process handles file system commands directed to the second mount point, wherein the second DBFS comprises one or more second database connections to a second database server managing access to a second database that stores files for the second DBFS, wherein said client process comprises a second set of mount point threads dedicated to servicing said file system commands directed to the second mount point;
wherein memory accessed by said first set of mount point threads is isolated from said second set of mount point threads and memoir accessed by said second set of mount point threads is isolated from said first set of mount point threads;
the operating system receiving a first file system command directed to said first mount point;
a first mount point thread of said first set of mount point threads servicing said first file system command using a database connection of said one or more first database connections;
the operating system receiving a second file system command directed to said second mount point; and
a second mount point thread of said second set of mount point threads servicing said second file system command using a database connection of said one or more second database connections.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
mounting within the operating system a manager file system (MFS) at an MFS mount point;
the operating system receiving a first file system command directed to the MFS mount point;
in response to the operating system receiving the first file system command directed to the MFS mount point, mounting at the first mount point the first DBFS;
the operating system receiving a second file system command directed to the MFS mounting point; and
in response to the operating system receiving the second file system command directed to the MFS mounting point, mounting at the second mount point the second DBFS.

### Claim 3 (depends on 2)

The method of claim 2, wherein the first file system command directed to the MFS mount point and the second file system command directed to the MFS mount point are overloaded file system commands.

### Claim 4 (depends on 2)

The method of claim 2, wherein the MFS is implemented using the client process.

### Claim 5 (depends on 2)

The method of claim 2, wherein the MFS manages a plurality of DBFSs.

### Claim 6 (depends on 1)

The method of claim 1, further comprising maintaining a global mount data structure storing context data of each mount point.

### Claim 7 (depends on 1)

The method of claim 1, wherein resources of the first mount point are isolated from resources of the second mount point.

### Claim 8 (depends on 7)

The method of claim 7, further comprising redistributing the resources between the first mount point and the second mount point.

### Claim 9

One or more non-transitory computer-readable storage media storing one or more sequences of program instructions which, when executed by one or more computing devices, cause:
mounting within an operating system at a first mount point a first database file system (DBFS), wherein a client process handles file system commands directed to the first mount point, wherein the first DBFS comprises one or more first database connections to a first database server managing access to a first database that stores files for the first DBFS wherein said client process comprises a first set of mount point threads dedicated to servicing said file system commands directed to the first mount point;
mounting within the operating system at a second mount point a second DBFS, wherein the client process handles file system commands directed to the second mount point, wherein the second DBFS comprises one or more second database connections to a second database server managing access to a second database that stores files for the second DBFS wherein said client process comprises a second set of mount point threads dedicated to servicing said file system commands directed to the second mount point;
wherein memory accessed by said first set of mount point threads is isolated from said second set of mount point threads and memory accessed by said second set of mount point threads is isolated from said first set of mount point threads;
the operating system receiving a first file system command directed to said first mount point;
a first mount point thread of said first set of mount point threads servicing said first file system command using a database connection of said one or more first database connections; and
the operating system receiving a second file system command directed to said second mount point;
a second mount point thread of said second set of mount point threads servicing said second file system command using a database connection of said one or more second database connections.

### Claim 10 (depends on 9)

The one or more non-transitory computer-readable storage media of claim 9, wherein the one or more sequences of program instructions which, when executed by the one or more computing devices, further cause:
mounting within the operating system a manager file system (MFS) at an MFS mount point;
the operating system receiving a first file system command directed to the MFS mount point;
in response to the operating system receiving the first file system command directed to the MFS mount point, mounting at the first mount point the first DBFS;
the operating system receiving a second file system command directed to the MFS mounting point; and
in response to the operating system receiving the second file system command directed to the MFS mounting point mounting at the second mount point the second DBFS.

### Claim 11 (depends on 10)

The one or more non-transitory computer-readable storage media of claim 10, wherein the first file system command directed to the MFS mount point and the second file system command directed to the MFS mount point are overloaded file system commands.

### Claim 12 (depends on 10)

The one or more non-transitory computer-readable storage media of claim 10, wherein the MFS is implemented using the client process.

### Claim 13 (depends on 10)

The one or more non-transitory computer-readable storage media of claim 10, wherein the MFS manages a plurality of DBFSs.

### Claim 14 (depends on 9)

The one or more non-transitory computer-readable storage media of claim 9, wherein the one or more sequences of program instructions which, when executed by the one or more computing devices, further cause maintaining a global mount data structure storing context data of each mount point.

### Claim 15 (depends on 9)

The one or more non-transitory computer-readable storage media of claim 9, wherein resources of the first mount point are isolated from resources of the second mount point.

### Claim 16 (depends on 15)

The one or more non-transitory computer-readable storage media of claim 15, wherein the one or more sequences of program instructions which, when executed by the one or more computing devices, further cause redistributing resources between the first mount point and the second mount point.
