Transaction-aware caching for access control metadata
AssigneeOracle International Corporation
InventorsDavid J. Long, David B. Pitfield
Life of this patent
Estimating the term…
Loading patent…
AssigneeOracle International Corporation
InventorsDavid J. Long, David B. Pitfield
Estimating the term…
Techniques are provided for performing transaction-aware caching of metadata in an electronic file system. A mechanism is described for providing transaction-aware caching that uses a cache hierarchy, where the cache hierarchy includes uncommitted caches associated with sessions in an application and a committed cache that is shared among the sessions in that application. Techniques are described for caching document metadata, access control metadata and folder path metadata. Also described is a technique for using negative cache entries to avoid unnecessary communications with a server when applications repeatedly request non-existent data.
A method for finding folder path metadata for a file that is managed by a database system, comprising the computer-implemented steps of:
A method for maintaining folder path metadata for a file in a cache hierarchy comprising the steps of:
A method for finding folder path metadata comprising the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Network architectures or network communication protocols for network security: for controlling access to devices or network resources
Protocols: specially adapted for file transfer, e.g. file transfer protocol [FTP]
Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions: in the application layer [OSI layer 7]
Database or file accessing: concurrency, e.g. lock management in shared database
Term end not estimated
The present invention relates to electronic file systems, and in particular to transaction-aware caching of file system metadata for electronic file systems.
Humans tend to organize information in categories. The categories in which information is organized are themselves typically organized relative to each other in some form of hierarchy. For example, an individual animal belongs to a species, the species belongs to a genus, the genus belongs to a family, the family belongs to an order, and the order belongs to a class.
With the advent of computer systems, techniques for storing electronic information have been developed that largely reflected this human desire for hierarchical organization. Conventional operating systems, for example, provide file systems that use hierarchy-based organization principles. Specifically, a typical operating system file system (“OS file system”) has folders arranged in a hierarchy, and documents stored in the folders. Ideally, the hierarchical relationships between the folders reflect some intuitive relationship between the meanings that have been assigned to the folders. Similarly, it is ideal for each document to be stored in a folder based on some intuitive relationship between the contents of the document and the meaning assigned to the folder in which the document is stored.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 is a block diagram of a system for managing files using a database system according to an embodiment of the invention;
FIG. 2 is a block diagram that illustrates the translation engine of FIG. 1 in greater detail;
A method and apparatus are described for transaction-aware caching for metadata. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
FIG. 1 is a block diagram that illustrates the architecture of a system 100 implemented according to an embodiment of the invention. System 100 includes a database server 105 that provides a database API through which a database application 112 can access data managed by database server 105. From the perspective of all entities that access data managed by database server 105 through the database API, the data managed by database server 105 is stored in relational tables that can be queried using the database language supported by database server 105 (e.g. SQL). Transparent to those entities, database server 105 stores the data to disk 108. According to one embodiment, database server 105 implements disk management logic that allows it to store the data directly to disk and thus avoid the overhead associated with the OS file system of operating system 104. Thus, database server 105 may cause the data to be stored to disk either by (1) making calls to the OS file system provided by operating system 104, or (2) storing the data directly to disk, thus circumventing operating system 104.
System 100 provides a translation engine 108 that translates I/O commands received from operating systems 104a and 104b into database commands that the translation engine 108 issues to database server 105. When the I/O commands call for the storage of data, translation engine 108 issues database commands to database server 105 to cause the data to be stored in relational tables managed by database server 105. When the I/O commands call for the retrieval of data, translation engine 108 issues database commands to database server 105 to retrieve data from relational tables managed by database server. Translation engine 108 then provides the data thus retrieved to the operating system that issued the I/O commands.