Planar file system for organizing and linking large amounts of data

The planar file system addresses the challenge of organizing large heterogeneous data in HPC ecosystems by grouping data into tiers and defining relationships, enhancing data access and management efficiency.

DE102024119997A1Active Publication Date: 2025-06-18HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102024119997
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-15
Filing Date
2024-07-13
Publication Date
2025-06-18
Estimated Expiration
2044-07-13

AI Technical Summary

Technical Problem

Existing high-performance computing (HPC) storage ecosystems face challenges in organizing and establishing logical relationships between large amounts of heterogeneous data, requiring significant management overhead and lacking robust techniques for data organization.

Method used

A planar file system is introduced that groups data into tiers and defines relationships between layers, allowing users to configure orthogonal and nested sub-levels, with a planar file system manager to implement and manage these structures across parallel storage devices.

Benefits of technology

The planar file system simplifies the storage and grouping of large data sets, enabling efficient access and analysis by allowing operations on layers and relationships between them, facilitating concurrent access and reducing management complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computer-implemented method, in certain embodiments, comprises: receiving, from a user interface and at a planar file system manager executing on one or more processors, a configuration request for a planar file system comprising a plurality of levels and a plurality of level relationships, wherein the plurality of level relationships comprises a subplanar relationship between a level and a sub-level and an orthogonal relationship between two separate levels of the plurality of levels; configuring, by the planar file system manager, a storage environment to accommodate a planar file system based on the planar file system configuration request; receiving, from the user interface, a level operation request to perform an operation on a level of the planar file system, wherein the level operation request comprises a level identifier corresponding to the level;and performing the operation at the level based on the level operation request.;
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUNDAs the amount of data used for various scenarios in which the data is stored to be edited, analyzed, or otherwise used increases orders of magnitude over time, it may become increasingly difficult to organize the data. In the context of high performance computing (HPC) storage ecosystems, including, but not limited to, parallel file servers and file systems in which large amounts of heterogeneous data are created, techniques for organizing large amounts of heterogeneous data files often require a significant overhead and may not provide robust techniques for establishing logical relationships between the data.BRIEF DESCRIPTION OF THE DRAWINGSCertain embodiments discussed herein will be described with reference to the drawings listed below. However, the accompanying drawings illustrate only certain aspects or embodiments of the embodiments described herein by way of example and are not intended to limit the scope of the claims. FIG. 1 shows a block diagram of an example system for implementing a planar file system for organizing and linking large records, in accordance with one or more embodiments of this disclosure; FIG. 2 illustrates an overview of an example method for implementing a planar file system according to one or more embodiments disclosed herein; FIG. 3 illustrates an example planar file system 300 according to one or more embodiments of this disclosure; FIG. 4 shows an example planar file system 400 including example files, in accordance with one or more embodiments of this disclosure; FIG. 5A shows an example planar file system lookup table 500 in accordance with one or more embodiments disclosed herein; FIG. 5B illustrates an example directed acyclic graph of a planar file system according to one or more embodiments disclosed herein; FIG. 6 illustrates an example planar file system 600 that includes orthogonal relationships between planes, in accordance with one or more embodiments of this disclosure; and FIG. 7 shows a block diagram of a computing device according to one or more embodiments of this disclosure.DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTSAs storage, storage, computing, and network input / output activities become more and more complex and comprehensive for high performance computing applications, the amount of data generated, consumed, and / or otherwise used in such scenarios increases exponentially. This data may increase in the number of files as well as in the size of the files containing the data. Such data may include a large number (e.g., billions, billions, etc.) of heterogeneous files that may be linked together in a wide variety of and complex ways.Examples of scenarios in which such sets of data may be used include, but are not limited to: artificial intelligence, machine learning, automated vehicles, space research, search for out-of-ground lives, genetic engineering, deoxyribonucleic acid (DNA) modeling, computer biology, genetic modeling, environmental modeling, subatomic level experiments, etc. These large sets of data may be accessed by any number of computers of any type to perform various types of analyses and / or other operations.Data is often stored in a form of hierarchical file systems (HFS). Such file systems often include constructs and concepts such as global namespaces, local namespaces, file hierarchies and structures, etc. In other cases, data may be stored in an object-based storage system in which data is managed as individual objects, or in a block storage system in which data is managed as blocks within other data constructs (e.g., sectors, lanes, etc.). However, in such concepts, it may be difficult to handle large amounts of related data simultaneously or to put the data in relevant relationships using file system determinations.To at least solve the above-mentioned problems in data organization for large volumes of data, the embodiments disclosed herein provide techniques for grouping data into planar groups stored in planes and defining various relationships between the data using relationships between the planes.In one or more embodiments, a level as used herein refers to a logical storage construct for storing a group of related files. In one or more embodiments, a user may interact with a planar file system manager to define any number of levels for any number of planar file groups. In one or more embodiments, each planar file group is intended to store a contiguous set of files.In one or more embodiments, the user may also define any number of planar relationships between planes. In one or more embodiments, a plane may have any number of sub-planes. In one or more embodiments, a sub-level is to store a subset of the associated files of a planar file group or files stored in the level that have a sub-planar relationship, i.e., they are associated with files in the parent level, but not necessarily with files in other levels or sub-levels. In one or more embodiments, any number of sub-levels in a level may be configured. In addition, sub-levels may also have further sub-levels that contain part of the sub-level files, any number of interleaved levels of sub-levels being possible.In one or more embodiments, the sub-planes may be separated from each other within a plane. Additionally or alternatively, sub-planes within one plane may be related orthogonally to each other, which may mean that there is a logical relationship between the data in the sub-planes, but that the files of one sub-plane are not a subset of the files in the other sub-plane. Moreover, planes (e.g., those that are not sub-planes) may also be similarly orthogonally connected to each other.In one or more embodiments, a user may also specify the size of a layer, sub-layer, etc., the maximum individual file sizes that may exist within a layer, and / or other relevant parameters related to a layer's storage space, file size, etc. In one or more embodiments, such configuration details are provided to a planar file system manager.In one or more embodiments, once the user has provided the configuration details for the planar file system, including the various levels, sub-levels, and relationships, the planar file system manager may prepare any number of storage devices of any type to implement the planar file system as defined by the user. In one or more embodiments, preparing the memory may include creating a table containing each of the levels, sub-levels, and level relationships, as well as the location in the one or more storage devices at which the levels are to be located. In one or more embodiments, preparing the memory may also include formatting any number of storage devices having the different levels using the different level sizes specified by the user.In one or more embodiments, the storage underlying the planar file system is a parallel file system. In one or more embodiments, a parallel file system is a file system in which file data is distributed across any number of homogeneous or heterogeneous storage devices and that can be simultaneously accessed by any number of devices (e.g., computing devices). In one or more embodiments, when the planar file system manager uses a parallel file system as the underlying planar file system storage mechanism, the user defined planes may be similarly distributed across the various storage devices, utilizing the advantages of parallel file systems. Other types of storage devices and solutions may be used without departing from the scope of the embodiments disclosed herein.In one or more embodiments, levels, sub-levels, etc., as described above, may include data related to other data in some manner. In one or more embodiments, the levels, sub-levels, etc. may be edited as a whole or per file. For example, a user may configure any number of parameters (e.g., security, access control, encryption requests, etc.) for entire levels. Such permissions may be transmitted at sub-levels. In addition, additional parameters may be defined for sub-levels. For example, a layer of access rights may be configured for a particular group of users, but may not require encryption, while a sub-layer within the layer may have the same access rights (as part of the layer) but may require encryption.Files in levels and sub-levels may be identified by a file handle (e.g., a file name) and a level identifier (ID). A plane ID may be, for example, any alphanumeric character set that is unique to the plane. Thus, one layer may have a layer ID PL-A, another layer a layer ID PL-B, etc. In one or more embodiments, the layer IDs represent relationships between layers and sub-layers. For example, a plane PL-A may have a sub-plane PL-A1, which in turn may have a sub-plane PL-A1A.In one or more embodiments, level IDs may be used to perform operations on levels as a whole, and relationships between levels may be used to perform additional operations. For example, a user may specify a plane ID as an identifier of the file set to be analyzed for any purpose (e.g., to determine whether a particular area of the universum includes a planetary system that includes a star with particular features), and if the analysis yields a particular result (e.g., the star has the desired characteristics), the analysis may continue on a plane orthogonal thereto that includes files of atmospheric conditions on the planetarys of the planetary system that are used to determine whether one of the planetarys has an atmosphere that allows the planet to live.Certain embodiments of this disclosure may enable any number of levels and level relationships to be defined by a user. The levels may be used to store large amounts of related data and the relationships between the levels may be used to define relationships between the data. The layers may be organized into a planar file system that may be implemented on underlying storage technologies. Access to the planar file system may be by any number of relevant entities. The planar file system can facilitate the storage and grouping of large records.FIG. 1 shows a block diagram of an example system for implementing a planar file system for organizing and linking large records, in accordance with one or more embodiments of this disclosure. The system may include any number of computing devices, such as computing device A 100, computing device B 102, computing device C 104, computing device D 106, computing device E 108, and computing device N 110. The computing devices may be operatively connected to a planar file system manager 112. The planar file system manager 112 may be operatively connected to any number of storage devices (e.g., storage device A 114, storage device N 116). The storage devices (114, 116) may optionally be part of a parallel file system 118. Each of these components will be described below.In one or more embodiments as used herein, a computing device (e.g., 100, 102, 104, 106, 108, 110) may be a single computing device, a set of computing devices, a portion of one or more computing devices, or another physical, virtual, and / or logical grouping of computing resources. In one or more embodiments, a computing device is any device, portion of a device, or group of devices capable of electronically processing instructions, and may include, but are not limited to, one or more processors (e.g., components including circuitry) (not shown), memory (e.g., memory (e.g., random access memory (RAM)) (not shown), input and output device(s) (not shown), non-volatile memory hardware (e.g., solid state drives (SSDs), hard disk drives (HDDs) (not shown)), one or more physical interfaces (e.g., network ports, memory ports) (not shown), any number of other hardware components (not shown) and / or any combination thereof.Examples of computing devices include a server (e.g., a blade server in a blade server housing, a rack server in a rack, etc.), a desktop computer, a mobile device (e.g., a laptop computer, a smartphone, a personal digital assistant, a tablet computer, a vehicle computer system, and / or other mobile computing device), a storage device (e.g., a hard disk drive array, a fibre channel storage device, an Internet Small Computer Systems Interface (iSC) storage device, a tape storage device, a flash memory array, a network-connected storage device, etc.), a network device (e.g., switch, router, multi-layer switch, etc.), a virtual machine, a virtualized computing environment, a logical container (e.g., for one or more applications), an Internet of Things (IoT) device, an array of nodes with computing resources, a supercomputing device, a data center, or a portion thereof, and / or any other type of computing device with the foregoing requirements. In one or more embodiments, some or all of the foregoing examples may be combined to provide a system of such devices, or may be divided into separate logical devices, which may collectively be referred to as computing devices. Other types of computing devices may be used without departing from the scope of the embodiments described herein, such as the computing device shown in FIG. 7 and described below. The system may include any number and / or type of such computing devices in any arrangement and / or configuration without departing from the scope of the embodiments disclosed herein.In one or more embodiments, the memory (not shown) and / or the memory (not shown) of a computing device or system of computing devices may be and / or include one or more data stores for storing any number of data structures that store any amount of data (e.g., information). In one or more embodiments, a data store is any type of storage device and / or device (e.g., a file system, database, table collection, RAM, and / or other storage mechanism or medium) for storing data. In addition, the data store can comprise a plurality of different storage units and / or devices. The various storage units and / or devices may be of the same type or may be located in the same physical location.In one or more embodiments, any memory (not shown) and / or memory (not shown) of a computing device or system of computing devices may be considered in whole or in part as a non-transitory computer readable medium storing software and / or firmware.Such software and / or firmware may include instructions that, when executed by one or more processors (not shown) and / or other hardware (e.g., circuitry) of a computing device and / or system of computing devices, cause the one or more processors and / or other hardware components to perform operations according to one or more embodiments described herein.The software instructions may be in the form of computer readable program code for carrying out methods, processes, etc. of the embodiments described herein, and may be stored, for example, in whole or in part, temporarily, or permanently on a non-transitory computer readable medium such as a compact disc (CD), a digital versatile disc (DVD), a storage device, a floppy disk, a tape storage, a flash memory, a physical storage, or other non-transitory computer readable medium.Although six computing devices are shown in FIG. 1, one of ordinary skill in the art and having the benefit of this detailed description will recognize that the system may include any number of computing devices that is to be expressed by the three points between computing device E 108 and computing device N 110. All or a portion of the computing devices may be of the same type or different types of computing devices.In one or more embodiments, a computer (e.g., 100, 102, 104, 106, 108, 110) may be configured to execute any number of processes (not shown). As used herein, a process is any set of operations performed by execution of instructions by a processor of a computing device. A process may execute one or more threads, tasks, etc., generally to achieve a particular result. A process may consist wholly or partly of an application. An application may be software that performs any function. Examples of applications include high performance computing applications, biological gene modeling applications, real world simulations, astronomic data sampling, autonomous vehicle control, financial modeling, predictive analysis, machine learning / artificial intelligence applications, etc. A process may be part of a distributed application. In one or more embodiments, a distributed application is an application where processes may be executed on separate computing devices and / or separate processors. For example, a distributed application may include processes executing on separate computing devices at different physical locations (e.g., in separate data centers). Another example is that a distributed application may execute processes on separate processors, which may be part of the same computing device and / or separate computing devices. In one or more embodiments, a process is performed to generate or otherwise obtain one or more results. In some cases, the result obtained from a process may be an intermediate result. In one or more embodiments, an intermediate result is each result obtained from one process to be used by another process. For example, a distributed application process executing on one computer may achieve an intermediate result that is provided to another distributed application process executing on another computer for further execution of the application.In one or more embodiments, one or more of the computing devices shown in FIG. 1 (e.g., 100, 102, 104, 106, 108, 110) may be configured to perform various operations, analyses, targets, etc. In one or more embodiments, one or more of the computing devices (e.g., 100, 102, 104, 106, 108, 110) may be configured to perform such analyses, operations, etc., using large amounts of data (e.g., terabyte, petabyte, exabyte, zettabyte, etc.) or based on this data. Such large amounts of data may be in the form of a correspondingly large number of files (e.g., tens of thousands of hundred gigabyte or more audio / video files and / or multiple different types of other heterogeneous files of different sizes). Examples of scenarios in which computing devices (e.g., 100, 102, 104, 106, 108, 110) may be configured to use such large amounts of files include: artificial intelligence, machine learning, automated vehicles, space research, out-of-the-ground life search, genetic engineering, DNA modeling, computer biology, genetic modeling, environmental modeling, subatomic level experiments, weather modeling, etc.In one or more embodiments, the data processing devices (e.g., 100, 102, 104, 106, 108, 110) may be operatively connected to the planar file system manager 112 for storing and accessing large records. In one or more embodiments, the planar file system manager is a computing device of any type (see above). In one or more embodiments, the planar file system manager is configured to implement and manage one or more planar file systems. In one or more embodiments, a planar file system is a technique for organizing files by grouping data into groups of related files stored in planes and defining various relationships between the data using relationships between the planes.In one or more embodiments, a level as used herein refers to a logical storage construct for storing a group of related files. In one or more embodiments, a user may interact with planar file system manager 112 to define any number of levels for any number of planar file groups. In one or more embodiments, each level is dedicated to storing a related set of files. In one or more embodiments, a user may interact with the planar file system manager 112 using any suitable technique for interacting with a computing device, e.g., via one or more of the computing devices (e.g., 100, 102, 104, 106, 108, 110), by accessing a user interface via a network, etc.In one or more embodiments, a user may also interact with the planar file system manager 112 to define any number of planar relationships between levels. In one or more embodiments, the planes may be nested within one another, be discrete sub-planes, and / or be orthogonal to other planes.In one or more embodiments, nested level relationships are given when levels have sub-levels. In one or more embodiments, a plane may have any number of sub-planes. In one or more embodiments, a sub-level is to store a subset of the associated files of a planar file group stored in the level that have an additional level of interlace compared to the parent level of the sub-level. In one or more embodiments, any number of sub-levels in a level may be configured. In addition, sub-levels may also have other sub-levels that contain a portion of the sub-level files, thereby creating an interleaved relationship between any number of levels.In one or more embodiments, the sub-planes may be separated from each other, i.e., they are interconnected in that they are sub-planes of the same parent plane but are not in nested relationship to each other.In one or more embodiments, planes or sub-planes may be orthogonal to each other, which may mean that the files of the planes or sub-planes are logically connected to each other in some way, but that the files of one orthogonal connected plane or sub-plane are not a subset of the files of the other orthogonal connected plane or sub-plane.In one or more embodiments, a user may define not only the number of levels for a planar file system and the relationships between the levels, but also the size of a level, sub-level, etc., the maximum individual file sizes that may exist within a level, and / or other relevant parameters regarding storage space, file size, etc. of a level. A user may also define level locks to facilitate concurrent access, various destinations in data structures for level permissions, level security attributes, etc.In one or more embodiments, once a user has provided the configuration details for the planar file system, including the various levels, sub-levels, and relationships, the planar file system manager 112 may prepare any number of storage devices of any type to implement the planar file system as defined by the user. In one or more embodiments, preparing the memory may include generating a data structure including each of the levels, sub-levels, and level relationships, as well as the location in the one or more storage devices at which the levels are to be located. In one or more embodiments, preparing the memory may also include formatting any number of storage devices having the different levels using the different level sizes specified by the user.In one or more embodiments, the planar file system manager may prepare any number of data structures for performing file or file group lookups on the planar file system. In one or more embodiments, the lookup of files or file groups may be based at least in part on a level identifier (ID) and / or a file handle. Files in levels and sub-levels may be identified by a file handle (e.g., a file name) and a level ID. A plane ID may be, for example, any alphanumeric character set that is unique to the plane. Thus, one layer may have a layer ID of PL-A, another layer may have a layer ID of PL-B, etc. In one or more embodiments, the layer IDs represent relationships between layers and sub-layers. For example, a plane PL-A may have a sub-plane PL-A1that may have a sub-plane PL-A1A, and PL-A may be orthogonal to a plane having the plane ID PL-B. In one or more embodiments, in the context of discrete planes and / or orthogonally connected planes, a plane namespace defined by plane identifiers may facilitate the use of the same file handles in the different planes. In one or more embodiments, the data structures that may be used to look up data in a planar file system include, but are not limited to, tables (e.g., as shown in FIG. 5A ), directed acyclic graphs (DAGs) (e.g., as shown in FIG. 5B ), nested thin-matrix-based level indexes, etc.In one or more embodiments, levels, sub-levels, etc., as described above, may include contiguous data. In one or more embodiments, the layers, sub-layers, etc. may be edited as a whole (e.g., using a layer ID) or on a file basis (e.g., using a layer ID and a file handle). For example, a user may configure any number of parameters (e.g., security, access control, encryption requests, etc.) for entire levels. Such permissions may be transmitted at sub-levels. In addition, additional parameters may be defined for sub-levels. For example, a layer of access permissions may be configured for a particular group of users, but may not require encryption, while a sub-layer within the layer may have the same access permissions (as part of the layer) but may require additional encryption.In one or more embodiments, level IDs may be used to perform operations on levels as a whole, and relationships between levels may be used to perform additional operations. For example, a user may specify a plane ID as an identifier of the file set to be analyzed for any purpose (e.g., to determine whether a particular area of the universum includes a planetary system that includes a star with particular features), and if the analysis yields a particular result (e.g., the star has the desired characteristics), the analysis may proceed on a plane orthogonal to one another that includes files of atmospheric conditions on the planetarys of the planetary system that are used to determine whether one of the planetarys has an atmosphere that allows the planet to live.In one or more embodiments, the planar file system manager 112 may configure any number of planar file systems, and each of these planar file systems may be configured and / or otherwise accessible by any number of computing devices (e.g., 100, 102, 104, 106, 108, 110). For example, a planar file system storing a particular type of data may be made accessible by any number of separate computing devices that may use the data in different ways to perform various types of analyses, etc. In one or more embodiments, the levels and / or files stored therein may be manipulated by the users of the computing devices by issuing commands to the planar file system manager 112 that include the level IDs and / or file handles of the files in the planar file system.In one or more embodiments, the planar file system manager 112 configures a planar file system using any number of storage devices (e.g., storage device A 114, storage device N 116) of any type using any type of storage techniques, paradigms, etc. Although FIG. 1 shows two storage devices (114, 116), one skilled in the art and having benefit from this detailed description will recognize that the system may include any number of storage devices to be expressed by the three points between the storage device A 114 and the storage device N 116. All or a part of the storage devices may be of the same type or different types of storage devices.In one or more embodiments, the underlying planar file system storage is optionally a parallel file system 118, as indicated by the dashed line of the parallel file system 118 in FIG. 1. In one or more embodiments, the parallel file system 118 is a file system in which file data is distributed across any number of homogeneous or heterogeneous storage devices and which can be accessed by any number of devices (e.g., computing devices) simultaneously. In one or more embodiments, the user-defined levels may be similarly distributed across the various storage devices while utilizing parallel file system advantages when the planar file system manager 112 uses the parallel file system 118 as the underlying planar file system storage mechanism. The planar file system manager 112 may include and / or be operatively connected to a parallel file system manager (not shown) and operate in conjunction with the parallel system file manager to implement a planar file system on the parallel file system. Any other types of storage solutions (e.g., network file systems, distributed file systems, etc.) may be used without departing from the scope of the embodiments disclosed herein. A planar file system may be implemented as a logical construct, regardless of the underlying storage technologies used to store the planar file system files. Additionally or alternatively, a planar file system may be used as part of a technology for formatting storage devices (e.g., flash storage devices), where organization of formatting is based at least in part on the user-defined levels and level relationships, which may be referred to as relationship-configurable level formatting. In one or more embodiments, the relationships of a level format may be made reconfigurable at any time to change the relationships of the data sets in the context of such formats, which may occur, for example, when the amount of data stored is on the order of Petabytes or on a similar order and / or when an HPC application and / or a large data set is storedAlthough FIG. 1 shows a particular configuration of components, other configurations may be used without departing from the scope of the embodiments described herein. Although certain components are shown in FIG. 1 as being part of a same device, each of the components may be grouped into sets of one or more components that exist and may be executed as part of any number of separate and operatively connected devices. As another example, a single component may be configured to perform all or a portion of the functions performed by all or a portion of the components shown in FIG. 1. Accordingly, the embodiments disclosed herein should not be limited to the configuration of the components shown in FIG. 1.FIG. 2 illustrates an overview of an example method for implementing a planar file system, in accordance with one or more embodiments disclosed herein. The method may be performed at least partially by a planar file system manager (e.g., planar file system manager 112 shown in FIG. 1 ).While the various steps in the flowchart depicted in FIG. 2 are shown and described sequentially, some or all of the steps may be performed in different orders, some or all of the steps may be combined or omitted, and some or all of the steps may be performed in parallel with other steps of FIG. 2.In step 200, the method includes receiving a planar file system configuration request that includes a plurality of levels and a plurality of level relationships. For example, the planar file system configuration request may be received at a planar file system manager (e.g., the planar file system manager 112 of FIG. 1 ). In one or more embodiments, the planar file system configuration request is received by a user wishing to configure a planar file system to store large amounts of files. For example, an administrator operating on a high-performance computing application may attempt to configure a planar file system to store data to be analyzed by the high-performance computing application.A planar file system configuration request may include a request for any number of levels (e.g., ten, hundred, etc.). In one or more embodiments, the configuration request includes the planar file system defining the relationships between the levels to be configured. For example, the planar file system configuration request may indicate that a portion of the planes are to be in any number of nested plane relationships with each other, the planes have any number of sub-planes, some planes are orthogonal to each other, etc. The planar file system configuration request may indicate any other relevant information for the configuration of a storage file system without departing from the scope of the embodiments disclosed herein. Examples of other relevant information include, but are not limited to, the size of the layers and sub-layers, the maximum and / or minimum file size allowed in the layers, security parameters for the layers, access permissions for the layers, encryption requests for the layers, data repository policies for the layers, etc.The planar file system configuration request may be received via any technique with which a user may interact with a planar system file manager. For example, a user may access a user interface of the planar system file manager via a network connection.In step 202, the method includes preparing a storage environment to include a planar file system based on the configuration request for the planar file system. In one or more embodiments, a planar file system manager (e.g., planar file system manager 112 of FIG. 1 ) may prepare a storage environment to include a planar file system. In one or more embodiments, the preparation of the storage environment includes formatting any number of storage devices to be configured for storage of the layers (which may be referred to as layer formatting or formats), and finally all files to be stored in the layers. In one or more embodiments, the preparation of the storage environment includes instantiation of any number of data structures to map the organization of the planar file system and / or to perform lookups of files, levels, sub-levels, etc., included in the planar file system. In one or more embodiments, the preparation of the storage environment includes use of, or otherwise interact with, an underlying storage technology on which the planar file system is to be deployed.For example, the planar file system may be implemented using parallel file system technology, and the planar file system manager may interact with a parallel file system manager to implement the planar file system on an underlying parallel file system, for example, by distributing the layers across any number of homogeneous and / or heterogeneous storage devices. Also, level deduplication, level redundancy, level-indexed metadata management related to storage backup, restore operations, logical volumes, etc., may be performed in the context of the levels and sub-levels of a planar file system. Thus, the layers as implemented in a parallel file system may be accessible to any number of computing devices that may need to repeatedly access the data to perform various operations and analyses (e.g., climate modeling (e.g., for weather science studies), atomic / subatomic layer models, financial AI-based models, cybersecurity, scientific computations, etc.).Another example: A planar file system may be implemented with physical volumes, logical volumes, and volume groups. In one or more embodiments, a volume group is a collection of one or more physical devices, each device being referred to as a physical volume. In one or more embodiments, a logical volume is a virtual block device that can be used by a system or applications. In one or more embodiments, logical planar / sub-planar volumes can be created by installing a single planar file system in each logical volume in a volume group. For example, logical volumes may be created from physical disk volumes (e.g., hdisk 1, 2, 3). File systems (e.g., jfs, ext3, jfs2) could be installed in such logical volumes. Instead, for example, a planar file system may be installed in a set of three logical volumes (e.g., 1, 2, and 3), and a record-oriented relationship (e.g., orthogonal or logical superset:subset) may be established between the logical volumes. In one or more embodiments, logical planar volume groups may be created when planar file system-based level formatting is used in the logical volume groups. In one or more embodiments, the logical volume manager manages the level IDs corresponding to the logical volumes and the corresponding relationships. In one or more embodiments, if such logical volumes have other file systems such as jfs, ext3, etc., a relationship between the different logical volumes (and the data contained in the different logical volumes) cannot be established by file system techniques.In one or more embodiments, preparing the storage environment may include performing planar mounting. In one or more embodiments, planar mounting includes mounting an entire planar file system or a portion thereof (e.g., only a subset of the planar file system levels, sub-levels, etc.). Generally, in non-planar file systems, when a storage device including a file system is installed (e.g., a USB flash drive with a New Technology File System (NTFS)), the entire file system is suspended at a suspension point in an operating system. In a Linux operating system, such a file system can be suspended, for example, with the mount / dev / sda1 / mnt / media1" suspension command, which hangs the file system on the USB stick into the directory / mnt / media1. By accessing / mnt / media1, a user can thus access all directories and files in the file system of the USB stick. If a storage device (e.g., a USB flash drive) is instead formatted to include a planar file system, possibly with multiple level formats, in one or more embodiments, differential level mounting may be performed by planar file system determinations. Differential plane mounting may be used when only a portion of the file system is to be mounted. For example, a command to hang only a portion of a planar file system may be as follows: mount / sda2 / mnt / media1 {<optional Level IDs>}. In such an example, if the storage device indicated by / dev / sda2 includes a planar file system, a user has the ability to hang the entire planar file system or only a subset of the levels included therein. Thus, in one or more embodiments, different levels of a planar system may be treated differently for suspension purposes. For example, level security may be enforced so that some levels may be embedded using only password or multi-factor authentication, while other levels may be referred to as default levels that may be embedded without any security.In step 204, the method includes receiving a level operation request to perform an operation at a particular level of the planar file system. In one or more embodiments, the level operation request includes a level ID. In one or more embodiments, the planar operation request is received from a planar file system manager (e.g., the planar file system manager 112 of FIG. 1 ). A level operation request may be a request to perform one or more operations of any type on one or more levels or sub-levels of a planar file system. Examples of these include, but are not limited to: accessing one or more files stored in a level or sub-level (e.g., to perform an analysis of the data of the files); adding, changing, deleting, etc., attributes, features, configuration parameters, etc., of a level (e.g., access permissions, security parameters, repository policies, encryption policies, backup policies, etc.); adding, deleting, or changing levels; adding, deleting, or changing level relationships, etc.In step 206, the method includes performing the requested operation at one or more particular levels of the planar file system based on the request for the level operation. For example, a planar file system manager (e.g., planar file system manager 112 of FIG. 1 ) may perform the operation. For example, the level operation request may be a request to access all files (e.g., millions of files) in a level to use as input to a machine learning algorithm configured to generate one or more output results. Such a request can be simplified by the embodiments disclosed herein by requiring the request to indicate only the level ID for the level, rather than information about the specific files therein, which allows the planar file system manager to use the level ID to perform a lookup to obtain the level files. In one or more embodiments, the operation may be a store operation. The storage operations may include, but are not limited to, backup operations, replication operations, deduplizing operations, and / or Scheduler Recovery operations (e.g., failover, failover, recovery, etc.) that may be performed for records of planar or sub-planar or sub-planar granularity (e.g., for levels and / or sub-levels).FIG. 3 illustrates an example planar file system 300 according to one or more embodiments of this disclosure. The example shown in FIG. 3 and explained below is a simplified example, which is used only for explanatory purposes and is not intended to restrict the scope of the embodiments described here. Although the example shows certain aspects of the embodiments described herein, not necessarily all possible aspects of such embodiments are illustrated in this particular example.FIG. 3 shows an example of a planar file system 300. The planar file system 300 view shown in FIG. 3 may be a logical view illustrating the relationships between the levels of the planar file system 300, such as when the levels are actually distributed across any number of storage devices of a parallel file system. Additionally or alternatively, the planar file system 300 view shown in FIG. 3 may represent a physical view of the layout of the levels included therein as formatted on one or more storage devices.The exemplary planar file system 300 includes at the highest level two levels, PL-A and PL-B, representing the level IDs for the two levels. The other levels and sub-levels described in this example have level IDs following a similar naming convention as defined by a user who also specified the relationships between the levels (see below). The planar file system structure illustrated in FIG. 3 may have been configured and implemented for the user by a planar file system manager (e.g., the planar file system manager 112 of FIG. 1 )PL-A includes an interleaved sub-plane PL-A1 including two interleaved sub-planes PL-A11A and PL-A11B. The plane PL-A11A comprises a further interleaved sub-plane PL-A11A1. Thus, the files in PL-A11A1 may have a sub-planar relationship to the files of PL-A11A, which in turn may have a sub-planar relationship to the files of PL-A11, which in turn may have a sub-planar relationship to the files of PL-A1, which in turn may have a sub-planar relationship to the files of PL-A. The files of PL-A11B may have a sub-planar relationship to the files of PL-A11, but are otherwise separated from the files of PL-A11A and its nested sub-planes.The plane PL-A may also include a sub-plane PL-A1A. PL-A1A is in an orthogonal relationship to PL-A1, meaning that the files contained therein are logically interconnected in some way, but that the files stored in PL-A1A are not a sub-level of the files of PL-A1.The plane PL-A may also include a sub-plane PL-A1A-1. PL-A1A-1 is in an orthogonal relationship to PL-A1A, meaning that the files contained therein are logically interconnected in some way, but that the files stored in PL-A1A-1 are not a sub-plane of the files of PL-A1A.The plane PL-A may also include a sub-plane PL-A1A-1A. PL-A1A-1A is in an orthogonal relationship to PL-A1A-1, meaning that the files contained therein are logically interconnected in some manner, but that the files stored in PL-A1A-1A are not a sub-level of the files of PL-A1A-1.The plane PL-A may also include a sub-plane PL-A1A-1A0. PL-A1A-1A0 is in an orthogonal relationship to PL-A1A-1A, meaning that the files contained therein are logically interconnected in some manner, but that the files stored in PL-A1A-1A0 are not a sub-plane of the files of PL-A1A-1A.The plane PL-B may include a sub-plane PL-B1. The sub-plane files PL-B1 may be orthogonal to the sub-plane files PL-A1A-1, as shown in FIG. 3.FIG. 4 shows an example planar file system 400 including example files, in accordance with one or more embodiments of this disclosure. The example shown in FIG. 4 and discussed below is a simplified example, which is for explanatory purposes only and is not intended to limit the scope of the embodiments described herein. In addition, while the example shows certain aspects of the embodiments described herein, not all possible aspects of such embodiments may be shown in this particular example.Consider a scenario in which a user interacts with a planar file system manager to configure a planar file system implemented with an underlying parallel file system such that the data stored in the layers is stored distributed to any number of underlying heterogeneous storage devices. The user intends to use the planar file system to store any number of audio / video files and other related files that can be later accessed to analyze for a particular purpose.The planar file system manager may logically configure the parallel file system to include the planar layout shown in FIG. 4 comprising two levels PL-A1 and PL-B1 (e.g., the level IDs) based on the user's configuration request for the planar file system, where PL-A1 has a sub-level PL-A10 having a sub-level PL-A101. The user has specified in the planar file system configuration request the nested sub-plane relationships between PL-A1, PL-A10, and PL-A101, as well as an orthogonal relationship between PL-A1 and PL-B1.The user may then begin to store files in planar file system 400, and the files have relationships based on the level in which they are stored. The user can store the file Example.mp4 in the PL-A1 layer by sending a layer operation request for storing the file to the planar file system manager including the layer ID:file handle combination PL-A1:Example.mp4. Also, the user can store the file PL-B1: ConsolidatedFe.mov in PL-B1, the files PL-A10: Example.tiff, PL-A10: sample3.jpg and PL-A10: collection.zip in PL-A10, and the files PL-A101: metadata1.docx, PL-A101: features.mov and PL-A101: subset.pdf in PL-A101.Due to the planes in which they are stored, the files PL-A101:metadata1.docx, PL-A101:features.mov and PL-A101:subset.pdf in PL-A101 are each in a sub planar relationship to PL-A10:Example.tiff, and the files PL-A10:Example.tiff, PL-A10:sample3.jpg and PL-A10:collection.zip are in a sub planar relationship to PL-A1:Example.mp4. Also, PL-A1:Example.mp4 has an orthogonal relationship to PL-B1:ConsolidatedFe.mov because it is stored in PL-B1.FIG. 5A illustrates an example planar file system table 500 in accordance with one or more embodiments disclosed herein. Table 500 illustrates the files stored in planar file system 400 of FIG. 4, including the planar ID, file handle, file size, and level relationship level for each file. Thus, when a level operation request is received at a level file system manager, the level file system manager may access individual files (e.g., when the level operation request includes the level ID and the file handle), file groups in a level (e.g., when the level operation request includes a level ID), or files having some kind of relationship as shown in table 500 (e.g., the orthogonal relationship between PL-A1 and PL-B1).FIG. 5B shows an example of a planar file system lookup DAG 550. The DAG 550 may be organized as shown based on level IDs and used to perform searches in planar file systems, similar to the searches described above in the description of FIG. 5A.FIG. 6 illustrates an example planar file system 600 that includes orthogonal relationships between planes, in accordance with one or more embodiments of this disclosure. The example shown in FIG. 6 and explained below is a simplified example, which is used only for explanatory purposes and is not intended to restrict the scope of the embodiments described here. In addition, while the example shows certain aspects of the embodiments described herein, not all possible aspects of such embodiments may be shown in this particular example.Consider a scenario in which a research organization explores the possibility of lives on other planets. Any number of probes were sent in any number of directions and periodically sends back files containing various sensor values measured over time. As the probes are en route for years, decades, etc., an immense number of files may arise. To organize the files for analysis, a user in the research facility interacts with a planar file system manager to implement a planar file system. The user indicates that the planar file system is to include five levels, PI-A, PL-B, PL-C, PL-D, and PL-E, that the levels are orthogonal to each other in this order, and that any number of files can be stored in each level. The research organization has an HPC (High Performance Computing) solution to access the planar file system to perform a series of analyses in the search for lives.The first level, PL-A, contains high-rank data on the possibility of life forms in different galaxias. The second level, PL-B, contains files on the atmospheric conditions on planets in Galaxia. The third level, PL-C, contains files of temperature conditions on the planets. The fourth level, PL-D, contains files relating to the water conditions on the planet. The fifth level, PL-E, contains files containing information about the surface characteristics of planets.The orthogonal relationships between the five planes, represented by arrows in Figure 6, are configured by the user to control the flow of analysis by the research facility's HPC solution. Accordingly, the analysis is first performed on files in PL-A to determine whether one or more probes sending data are in a portion of the universum that may be capable of life. If the analysis is "yes", the analysis may continue with the orthogonally related PL-B to analyze the atmospheric conditions of planets in this portion of the universum to determine if they are conducive to life (e.g., the atmosphere of a planet contains ozone). If this analysis yields a "yes", the analysis can continue with the orthogonally related PL-C to investigate whether the temperature conditions on the planets are conducive to life. If this analysis is yes, the analysis may continue with the orthogonally related PL-D to analyze whether water is present on the planets in sufficient quantity to support life forms. If this analysis yields a "yes", the analysis may continue with the orthogonally related PL-E to analyze whether the surface characteristics of the planets (e.g., the number of vulcans, seismic activity, etc.) are within a range that favours the existence of life shapes. Thus, the search for lives on remote planets that requires the analysis of a large number of contiguous files is improved in that the analysis can be performed with a planar file system of orthogonally contiguous planes that each contain contiguous data. Although not shown in FIG. 6, taking PL-B as an example, there may be multiple sub-planes that are discrete subsets or orthogonally related and that may contain conclusions / analyses related to the above-mentioned problems stored as files. Such an example (e.g., for the additional multiple sub-planes that are discrete subsets or are orthogonal to each other) may apply within each plane (e.g., PL-A, PL-B, PL-C, PL-D, PL-E).FIG. 7 shows a block diagram of a computing device according to one or more embodiments of this disclosure. As described above, the embodiments described herein may be implemented using computing devices. For example, all or a portion of the components shown in FIG. 1 may be implemented at least in part using one or more computing devices. Computing device 700 may include one or more computer processors 702, non-persistent storage 704 (e.g., volatile memory such as RAM, cache memory, etc.), persistent storage 706 (e.g., a hard disk, an optical drive such as a CD drive or a DVD drive, a flash memory, etc.), a communication interface 712 (e.g., a Bluetooth interface, an infrared interface, a network interface, an optical interface, etc.), input devices 710, output devices 708, and numerous other elements (not shown) and functions. Each of these components will be described below.In one or more embodiments, the computer processor(s) 702 may be an integrated circuit for processing instructions. The computer processor(s) may / may be, for example, one or more cores or micro-cores of a processor. Processor 702 may be a general purpose processor configured to execute program code embodied in software executed on computing device 700. Processor 702 may be a special purpose processor in which certain instructions are incorporated into the processor design. Although only one processor 702 is shown in FIG. 7, computing device 700 may include any number of processors without departing from the scope of the embodiments disclosed herein.Computing device 700 may also include one or more input devices 710, such as a touch screen, keyboard, mouse, microphone, touchpad, electronic pen, motion sensor, or other type of input device. The input devices 710 may allow a user to interact with the computing device 700. In one or more embodiments, computing device 700 may include one or more output devices 708, such as a screen (e.g., a liquid crystal display (LCD), a plasma display, a touch screen, a cathode ray tube monitor (CRT), a projector, or other display device), a printer, external memory, or other output device. One or more of the output devices may be identical to or different from the input device(s). The input and output device(s) may be connected locally or remotely to the computer processor(s) 702, the non-persistent storage 704, and the persistent storage 706. There are many different types of computing devices, and the input and output device(s) mentioned above may take other forms. In some cases, multi-modal systems may allow a user to provide multiple types of input / output to communicate with computing device 700.Additionally, communication interface 712 may facilitate connecting computing device 700 to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) and / or to another device such as another computing device. The communication interface 712 may perform or facilitate the reception and / or transmission of wired or wireless communications using wired and / or wireless transmitting / receiving devices, including those that include an audio jack / plug(s), a microphone jack / plug(s), a universal serial bus (USB) port / plug, a Apple® Lightning® port / plug, an Ethernet port / plug, an optical fiber port / plug, a proprietary wired port / plug, a Bluetooth® wireless signal transmission, a BLE wireless signal transmission, a IBEACON® wireless signal transmission, a RFID wireless signal transmission, a near field wireless communication (NFC) signal transmission, DSRC (dedicated short range communication) wireless signal transmission, 802.11 WiFi (WLAN) wireless signal transmission, visible light communication (VLC) wireless interoperability for microwave access (WiMAX), IR communication radio signal transmission, PSTN (public switched telephone network) wireless integrated services digital network (ISDN) signal transmission, 3G / 4G / 5G / LTE cellular data network radio signal transmission, ad hoc network signal transmission, radio wave signal transmission, microwave signal transmission, infrared signal transmission, Visible light signal transmission, ultraviolet light signal transmission, radio signal transmission along the electromagnetic spectrum, or a combination thereof. Communication interface 712 may also include one or more global navigation satellite system (GNSS) receivers or transceivers used to determine the location of computing device 700 based on receiving one or more signals from one or more satellites associated with one or more GNSS systems. The GNSS systems include, but are not limited to, U.S. GPS, Russian Global Navigation Satellite System (GLONASS), Chinese BeiDou Navigation Satellite System (BDS), and European Galileo GNSS. There is no limitation to operation on a particular hardware device, and therefore the basic functions herein can be easily replaced with improved hardware or firmware devices when developed.The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media that can store, contain, or transmit instructions and / or data. A computer readable medium may be a non-transitory medium in which data may be stored and which does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include a magnetic disk or tape, optical storage media such as a CD or a DVD, flash memory, memory, or storage devices. A computer readable medium may store code and / or machine executable instructions that may represent a procedure, function, subroutine, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program instructions. A code segment may be coupled to another code segment or hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted in any manner, e.g., by sharing the memory, forwarding messages, forwarding tokens, transmission over the network, or the like.All or any portion of the components of computing device 700 may be implemented in circuitry. For example, the components may include electronic circuitry or other electronic hardware and / or be implemented using electronic circuitry that may include one or more programmable electronic circuitry (e.g., microprocessors, GPUs, DSPs, CPUs, and / or other suitable electronic circuitry) and / or may be implemented using computer software, firmware, or any combination thereof to perform the various operations described herein. In some aspects, the computer readable storage devices, media, and memory may include a wired or wireless signal including a bitstream and the like. Non-transitory computer readable storage media, however, expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.In the above description, numerous details are set forth as examples of embodiments described herein. Those skilled in the art (also having benefit of this disclosure) will understand that one or more embodiments described herein may be practiced without these specific details, and that numerous variations or modifications are possible without departing from the scope of the embodiments described herein. Certain details known to those skilled in the art may be omitted so as not to obscure the description.In the above description, specific details are set forth in order to provide a thorough understanding of the aspects and examples set forth herein. However, it will be apparent to one skilled in the art that the aspects may be practiced without these specific details. For clarity, the present technology may in some cases be represented as functional blocks, which may include devices, device components, steps, or routines in a method embodied in software, or combinations of hardware and software. Components other than those illustrated in the figures and / or described herein may also be used. For example, circuits, systems, networks, processes, and other components may be represented as components in the form of block diagrams in order not to unnecessarily complicate aspects. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be presented without unnecessary detail in order not to obscure aspects.Individual aspects may be described above as a process or method, which is presented as a flowchart, flowchart, dataflow diagram, structural diagram, or block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Moreover, the order of the operations can be rearranged. A process is completed when its operations are completed, but may include additional steps not included in a mapping. A process may correspond to a method, function, procedure, subroutine, subroutine, etc. If a process corresponds to a function, its completion may correspond to a return of the function to the calling function or to the main function.Methods and methods according to the examples described above may be implemented using computer-executable instructions stored on or otherwise available from computer-readable media. Such instructions may include, for example, instructions and data that cause or otherwise configure a general purpose computer, special purpose computer, or processing device to perform a particular function or group of functions. Portions of the computing resources used may be accessible via a network. The computer-executable instructions may be, for example, bins, instructions in intermediate formats such as assembly language, firmware, source code, etc. Examples of computer readable media that may be used to store instructions, information used, and / or information created during the methods of the described examples include magnetic or optical disks, flash memory, non-volatile memory USB devices, networked storage devices, etc.In the above description of the figures, each component described in a figure may correspond to one or more identically or similarly named and / or numbered components described in another figure in various embodiments described herein. For brevity, the descriptions of these components will not be repeated for each illustration. Thus, each individual embodiment of the components of each figure is incorporated by reference and is believed to optionally be present in any other figure with one or more like or similarly named and / or numbered components. Moreover, in accordance with various embodiments described herein, any description of the components of a figure is to be understood as an optional embodiment that may be implemented in addition to, in conjunction with, or in place of the embodiments described with respect to one or more identically or similarly named and / or numbered components in another figure.Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjective of an element (i.e., each substantive in the application). The use of ordinal numbers is not intended to imply a particular order of elements or to limit an element to a single element unless expressly stated, e.g., by the use of the terms "before", "after", "individually", and other such terms. Rather, the use of ordinal numbers serves to distinguish between the elements. For example, a first element is to be distinguished from a second element, and the first element may comprise more than one element and may follow (or precede) the second element in the order of the elements.As used herein, the term "operatively connected" or "operatively connected" means that there is a direct or indirect connection between elements / components / devices that allows the elements to interact with one another in any manner. The term "operatively connected" may refer to, for example, any direct (e.g., wired directly between two devices or components) or indirect (e.g., wired and / or wireless connections between any number of devices or components connecting the operatively connected devices). Thus, any path over which information can be transmitted can be considered an operative connection.Although the embodiments described herein have been described with respect to a limited number of embodiments, those skilled in the art having the benefit of this disclosure will recognize that other embodiments may be devised that do not depart from the scope of the embodiments disclosed herein. Accordingly, the scope of the embodiments described herein should be limited only by the appended claims.References included in the specificationThis list of documents cited by the applicant has been produced in an automated manner and is only included for the better information of the reader. The list is not part of the German patent application or utility model application. The DPMA does not take any adhesion for any faults or omissions.Cited Non-Patent LiteraturePL-A1: Example.mp4

[0065] Files PL-A10:Example.tiff, PL-A10:sample3.jpg and PL-A10:collection.zip in PL-A10 as well as the files PL-A101:metadata1.docx, PL-A101:features.mov and PL-A101:subset.pdf

[0065]

Claims

An apparatus comprising: one or more processors and one or more non-transitory computer readable media having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to: receive a planar file system configuration request comprising a plurality of levels and a plurality of level relationships from a user interface and at a planar file system manager executing on the one or more processors, wherein the plurality of level relationships comprises a sub-planar relationship between a level and a sub-level and an orthogonal relationship between two separate levels of the plurality of levels; configure, by the planar file system manager, a storage environment to hold a planar file system based on the planar file system configuration request; receiving from the user interface a level operation request for performing an operation at a level of the planar file system, the level operation request comprising a level identifier corresponding to the level; and performing the operation at the level based on the level operation request.The apparatus of claim 1, wherein the storage environment comprises a parallel file system.The apparatus of claim 2, wherein the plurality of layers are distributed across a plurality of storage devices of the parallel file system.The apparatus of claim 2, wherein the operation performed based on the level operation request comprises invoking one or more level locks to facilitate concurrent access to one or more of the plurality of levels for a plurality of computing devices.The apparatus of claim 1, wherein the operation performed based on the planar operation request is performed at least in part using a directed acyclic graph (DAG) for planar file system lookup.The apparatus of claim 1, wherein the operation performed based on the level operation request is a change of an attribute of the level applied to a plurality of sub-levels of the level.The apparatus of claim 1, wherein the operation performed based on the planar operation request is a store operation.A computer-implemented method comprising: receiving a planar file system configuration request comprising a plurality of levels and a plurality of level relationships from a user interface and at a planar file system manager executing on one or more processors, the plurality of level relationships comprising a sub-planar relationship between a level and a sub-level and an orthogonal relationship between two separate levels of the plurality of levels; configuring, by the planar file system manager, a storage environment to hold a planar file system based on the planar file system configuration request; receiving from the user interface a level operation request to perform an operation on a level of the planar file system, the level operation request comprising a level identifier corresponding to the level; and performing the operation at the level based on the level operation request.The computer-implemented method of claim 8, wherein the storage environment comprises a parallel file system.The computer-implemented method of claim 9, wherein the plurality of layers are distributed across a plurality of storage devices of the parallel file system.The computer-implemented method of claim 8, wherein the operation performed based on the planar operation request is performed at least in part using a lookup data structure for the planar file system.The computer-implemented method of claim 8, wherein the operation performed based on the level operation request is a change of an attribute of the level applied to a plurality of sub-levels of the level.The computer-implemented method of claim 8, wherein the operation performed based on the level operation request is a change of an attribute of a sub-level of the level, and wherein the operation is not applied to the level.The computer-implemented method of claim 8, wherein the method of configuring the storage environment further comprises formatting one or more storage devices to hold the planar file system.A non-transitory computer readable medium storing programming for execution by one or more processors, the programming comprising instructions to: receive a planar file system configuration request comprising a plurality of levels and a plurality of level relationships from a user interface and at a planar file system manager executing on one or more processors, the plurality of level relationships comprising a sub-planar relationship between a level and a sub-level and an orthogonal relationship between two separate levels of the plurality of levels; configure, by the planar file system manager, a storage environment to hold a planar file system based on the planar file system configuration request; receiving from the user interface a level operation request for performing an operation at a level of the planar file system, the level operation request comprising a level identifier corresponding to the level; and performing the operation at the level based on the level operation request.The non-transitory computer readable medium of claim 15, wherein the storage environment comprises a parallel file system, and wherein the plurality of layers are distributed across a plurality of storage devices of the parallel file system.The non-transitory computer readable medium of claim 15, wherein the operation performed based on the planar operation request is performed at least in part using a lookup data structure for the planar file system.The non-transitory computer readable medium of claim 15, wherein the operation performed based on the level operation request is a modification of an attribute of the level applied to a plurality of sub-levels of the level.The non-transitory computer readable medium of claim 15, wherein the operation performed based on the level operation request is a change of an attribute of a sub-level of the level, and wherein the operation is not applied to the level.The non-transitory computer readable medium of claim 15, wherein the non-transitory computer readable medium for configuring the storage environment comprises further instructions for formatting one or more storage devices to hold the planar file system.

Citation Information

Patent Citations

  • Namespace management in distributed storage systems

    US20150278397A1

  • Using a tree structure to segment and distribute records across one or more decentralized, acyclic graphs of cryptographic HASH pointers

    US20200067713A1

  • Methods and systems for ordering operations on a file system having a hierarchical namespace

    US20230147552A1

  • Graph-organized file system

    US20230334093A1