Planar file system for organizing and correlating large data sets

By introducing a flat file system into the high-performance computing storage ecosystem, the complexity problem of organizing and managing a large number of heterogeneous data files is solved, and the logical relationship between data is effectively defined and managed, which improves data storage and operation efficiency.

CN119884064AActive Publication Date: 2025-04-25HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202410700030.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-15
Filing Date
2024-05-31
Publication Date
2025-04-25
Estimated Expiration
2044-05-31

AI Technical Summary

Technical Problem

In the high-performance computing (HPC) storage ecosystem, organizing and managing large amounts of heterogeneous data files has become complicated, and prior art is difficult to effectively create logical relationships between data.

Method used

By introducing a planar file system, data is grouped into planes constructed by logical storage, and various relationships between data are defined using relationships between planes. Users can define planes, subplanes, and their relationships, and configure parameters such as storage space and file size.

Benefits of technology

This technology simplifies the storage and grouping of large data sets, improves the definition and management efficiency of logical relationships between data, supports striped storage of parallel file systems, and enhances the operation ability of large amounts of related data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119884064A_ABST
    Figure CN119884064A_ABST
Patent Text Reader

Abstract

The invention relates to a planar file system for organizing and correlating large data sets. In some embodiments, a computer-implemented method includes receiving, at a planar file system manager executing on one or more processors, a planar file system configuration request including a plurality of planes and a plurality of planar relationships from a user interface, the plurality of plane relations comprise a sub-plane relation between planes and sub-planes and an orthogonal relation between two independent planes in the plurality of planes; configuring, by the planar file system manager, the storage environment to include the planar file system based on the planar file system configuration request; receiving, from the user interface, a plane operation request for performing an operation on a plane of the plane file system, the plane operation request including a plane identifier corresponding to the plane; and performing the operation on the plane based on the plane operation request.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] As the amount of data for various scenarios where data is stored for operation, analysis, or other use grows by orders of magnitude over time, organizing data may become increasingly difficult. As an example, in the context of a high performance computing (HPC) storage ecosystem (including but not limited to parallel file servers and file systems that generate large amounts of heterogeneous data), techniques for organizing large amounts of heterogeneous data files often require significant management overhead and may not provide robust techniques for creating logical relationships between data. BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Certain embodiments discussed herein will be described with reference to the drawings listed below. However, the drawings only illustrate certain aspects or implementations of the embodiments described herein by way of example and are not meant to limit the scope of the claims.

[0003] Figure 1 illustrates a block diagram of an example system for implementing a flat file system for organizing and correlating large data sets in accordance with one or more embodiments of the present disclosure;

[0004] Figure 2 illustrates an overview of an example method for implementing a flat file system according to one or more embodiments disclosed herein;

[0005] Figure 3 illustrates an example flat file system 300 according to one or more embodiments of the present disclosure;

[0006] Figure 4 illustrates an example flat file system 400 including example files according to one or more embodiments of the present disclosure;

[0007] Figure 5A An example flat file system lookup table 500 is shown according to one or more embodiments disclosed herein;

[0008] Figure 5B An example of a flat file system lookup directed acyclic graph is shown according to one or more embodiments disclosed herein;

[0009] Figure 6 illustrates an example plane file system 600 including orthogonal relationships between planes according to one or more embodiments of the present disclosure; and

[0010] Figure 7 A block diagram of a computing device according to one or more embodiments of the present disclosure is illustrated. DETAILED DESCRIPTION

[0011] As storage, memory, computation, and network input / output (IO) activities corresponding to high performance computing applications become increasingly complex and large-scale, the amount of data generated, consumed, and / or otherwise used in such scenarios is growing exponentially. Such data may grow in both the number of files comprising the data and / or the size of such files. Such data may include large numbers (e.g., billions, trillions, etc.) of heterogeneous files that may be interrelated in any of a variety of diverse and complex ways.

[0012] Examples of scenarios in which such large amounts of files may be used include, but are not limited to: artificial intelligence, machine learning, self-driving vehicles, space exploration, search for extraterrestrial life, genetic engineering, deoxyribonucleic acid (DNA) modeling, computational biology, genetic modeling, environmental modeling, subatomic level experiments, etc. Such large amounts of data may be accessed by any number of any type of computing devices to perform various types of analysis and / or any other operations.

[0013] Data is often stored in some form of hierarchical file system (HFS). Such file systems often include constructs and concepts such as global namespaces, local namespaces, file hierarchies, and structures. Other times, data may be stored using object-based storage schemes, where data is managed as discrete objects, or using block storage, where data is managed as blocks within other data constructs (e.g., sectors, tracks, etc.). However, such concepts can make it difficult to operate on large amounts of related data simultaneously, or to organize data into related relationships as specified by the file system.

[0014] To address at least the above-mentioned issues regarding data organization of large amounts of data, embodiments disclosed herein provide techniques for grouping data into plane groups stored in planes and defining various relationships between data using relationships between planes.

[0015] In one or more embodiments, as used herein, a plane refers to a logical storage construct for storing groups of related files. In one or more embodiments, a user can interact with a flat file system manager to define any number of planes for any number of flat file groups. In one or more embodiments, each flat file group is intended to store a related set of files.

[0016] In one or more embodiments, the user can also define any number of plane relationships between planes. In one or more embodiments, a plane can have any number of sub-planes. In one or more embodiments, a sub-plane is intended to store a subset of related files of a group of plane files stored in a plane or files with a sub-plane relationship, which means that these files are related to files in the parent plane, but not necessarily to files in other planes or sub-planes. In one or more embodiments, any number of sub-planes can be configured in a plane. In addition, a sub-plane can also have further sub-planes that include files that are part of the sub-plane, wherein any number of nested levels of sub-planes are possible.

[0017] In one or more embodiments, sub-planes within a plane may be discrete from one another. Additionally or alternatively, sub-planes within a plane may be orthogonally related to one another, which may mean that there is a logical relationship between the data in the sub-planes, but the files in one sub-plane are not subsets of the files in another sub-plane. Additionally, planes (e.g., not sub-planes) may also be similarly orthogonally related.

[0018] In one or more embodiments, the user may also define the size of the planes, sub-planes, etc., define the maximum single file size that may exist within a plane, and / or define any other relevant parameters related to the plane's storage space, file size, etc. In one or more embodiments, such configuration details are provided to the flat file system manager.

[0019] In one or more embodiments, once a user has provided the configuration details of the flat file system (including the various planes, sub-planes, and relationships), the flat file system manager can prepare any number of storage devices of any type to implement the user-defined flat file system. In one or more embodiments, preparing the storage can include generating a table that includes each of the planes, sub-planes, and plane relationships and the location in one or more storage devices where the planes will be located. In one or more embodiments, preparing the storage can also include formatting any number of storage devices with the various planes using the various plane sizes specified by the user.

[0020] In one or more embodiments, the underlying storage of the flat 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 striped across any number of homogeneous or heterogeneous storage devices and can be accessed concurrently by any number of entities (e.g., computing devices). In one or more embodiments, when a flat file system manager uses a parallel file system as the underlying storage mechanism for the flat file system, user-defined planes can be striped across various storage devices in a similar manner while also obtaining the benefits provided by the parallel file system. Any other type of underlying storage device and solution may be used without departing from the scope of the embodiments disclosed herein.

[0021] In one or more embodiments, planes, sub-planes, etc., as described above, may include data that is related to other data in some way. In one or more embodiments, planes, sub-planes, etc. may operate as a whole or on a per-file basis. As an example, a user may configure any number of parameters (e.g., security, access control, encryption requirements, etc.) to the entire plane. Such permissions may flow down to the sub-planes. In addition, the sub-planes may have additional parameters defined. As an example, a plane may be configured to have access rights for a certain group of users, but without requiring encryption, while a sub-plane within a plane may have the same access rights (as part of the plane), but with encryption requirements.

[0022] Files in planes and sub-planes may be identified by a file handle (e.g., a file name) and a plane identifier (ID). As an example, a plane ID may be any set of alphanumeric characters unique to that plane. Thus, a plane may have a plane ID of PL-A, another plane may have a plane ID of PL-B, and so on. In one or more embodiments, a plane ID represents a relationship between a plane and a sub-plane. As an example, a plane PL-A may have a sub-plane PL-A1, which may have a sub-sub-plane PL-A1A.

[0023] In one or more embodiments, the plane ID can be used to perform operations on the entire plane, and the relationships between planes can be used to perform additional operations. As an example, a user can provide a plane ID as an identifier for a set of files that will be analyzed for any purpose (e.g., for determining whether a particular region of the universe has a planetary system that includes a star with particular properties), and if the analysis produces a particular result (e.g., the star has the desired properties), the analysis can continue to an orthogonally related plane that includes files related to atmospheric conditions on the planets of the planetary system, which will be used to determine whether any of the planets have an atmosphere that is conducive to the planet being able to host life.

[0024] Certain embodiments of the present disclosure may allow a user to define any number of planes and plane relationships. Planes may be used to store large related data sets, and relationships between planes may be used to define relationships between data. Planes may be organized into a flat file system that may be implemented on underlying storage technology. A flat file system may be accessed by any number of related entities. A flat file system may simplify the storage and grouping of large data sets.

[0025] Figure 1 A block diagram of an example system for implementing a flat file system for organizing and interrelating large data sets according to one or more embodiments of the present disclosure is illustrated. 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 operably connected to a flat file system manager 112. The flat file system manager 112 may be operably 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 is described below.

[0026] In one or more embodiments, as used herein, a computing device (e.g., 100, 102, 104, 106, 108, 110) may be any single computing device, a group of computing devices, a portion of one or more computing devices, or any other physical, virtual, and / or logical grouping of computing resources. In one or more embodiments, a computing device is any device, a portion of a device, or any collection of devices capable of electronically processing instructions, and may include, but is not limited to, any of the following: one or more processors (e.g., components including circuits) (not shown), memory (e.g., random access memory (RAM)) (not shown), one or more input and output devices (not shown), non-volatile storage hardware (e.g., solid state drive (SSD), hard disk drive (HDD) (not shown)), one or more physical interfaces (e.g., network ports, storage ports) (not shown), any number of other hardware components (not shown), and / or any combination thereof.

[0027] Examples of computing devices include, but are not limited to, servers (e.g., blade servers in blade server chassis, rack servers in racks, etc.), desktop computers, mobile devices (e.g., laptop computers, smart phones, personal digital assistants, tablet computers, automotive computing systems, and / or any other mobile computing devices), storage devices (e.g., disk drive arrays, Fibre Channel storage devices, Internet Small Computer System Interface (iSCSI) storage devices, tape storage devices, flash storage device arrays, network attached storage devices, etc.), network devices (e.g., switches, routers, multilayer switches, etc.), virtual machines, virtualized computing environments, logical containers (e.g., for one or more applications), Internet of Things (IoT) devices, node arrays of computing resources, supercomputing devices, data centers or any portion thereof, and / or any other type of computing device having the foregoing requirements. In one or more embodiments, any or all of the foregoing examples may be combined to create a system of such devices, or may be divided into separate logical devices, which may be collectively referred to as computing devices. Other types of computing devices (e.g., Figure 7 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.

[0028] In one or more embodiments, the storage device (not shown) and / or memory (not shown) of a computing device or computing device system may be and / or include one or more data repositories for storing any number of data structures (which store any number of data (e.g., information)). In one or more embodiments, a data repository is any type of storage unit and / or device (e.g., a file system, a database, a collection of tables, RAM, and / or any other storage mechanism or medium) for storing data. Further, a data repository may include multiple different storage units and / or devices. Multiple different storage units and / or devices may or may not be of the same type or may or may not be located in the same physical location.

[0029] In one or more embodiments, any storage (not shown) and / or memory (not shown) of a computing device or computing device system may be considered, in whole or in part, as a non-transitory computer-readable medium that stores software and / or firmware.

[0030] Such software and / or firmware may include instructions that, when executed by one or more processors (not shown) and / or other hardware (e.g., circuits) of a computing device and / or computing device system, cause the one or more processors and / or other hardware components to perform operations in accordance with one or more embodiments described herein.

[0031] The software instructions may be in the form of computer-readable program code for executing the methods, processes, etc. of the embodiments described herein, and may, by way of example, be stored 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 disk, a tape storage device, a flash memory device, a physical memory, or any other non-transitory computer-readable medium).

[0032] although Figure 1 Six computing devices are shown, but persons of ordinary skill in the relevant art having the benefit of the detailed description will understand that the system may include any number of computing devices, and the three dots between computing device E 108 and computing device N 110 are intended to convey this. All or any portion of the computing devices may be the same type or different types of computing devices.

[0033] In one or more embodiments, a computing device (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 executing instructions by a processor of a computing device. A process may generally execute one or more threads, tasks, etc. to achieve a defined result. A process may be all or part of an application. An application may be software designed to perform any function. Examples of applications include, but are not limited to, high-performance computing applications, biological gene modeling applications, real-world simulations, astronomical 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 in which a process may be executed on a separate computing device and / or a separate processor. As an example, a distributed application may include a process executed on a separate computing device at a different physical location (e.g., in a separate data center). As another example, a distributed application may execute a process on a separate processor, which may be part of the same computing device and / or a separate computing device. In one or more embodiments, a process is executed to generate or otherwise obtain one or more results. In some cases, the result obtained by the process may be an intermediate result. In one or more embodiments, an intermediate result is any result obtained by a process that is to be used by another process. As an example, a process of a distributed application executing on one computing device may execute to obtain an intermediate result, and the intermediate result may be provided to another process of the distributed application executing on another computing device for further execution of the application.

[0034] In one or more embodiments, Figure 1 Any one or more of the computing devices (e.g., 100, 102, 104, 106, 108, 110) shown in the figure can be configured to perform different operations, analyses, objectives, etc. In one or more embodiments, any one or more of the computing devices (e.g., 100, 102, 104, 106, 108, 110) can be configured to use a large amount of data (e.g., terabytes, petabytes, exabytes, zettabytes, etc.) or otherwise perform such analysis, operations, etc. based on the large amount of data. Such a large amount of data can exist as a corresponding large amount of files (e.g., tens of thousands of gigabytes or more of audio / video files and / or other heterogeneous files of several different types with different sizes). Examples of scenarios in which the computing devices (e.g., 100, 102, 104, 106, 108, 110) can be configured to perform using such a large amount of files include, but are not limited to: artificial intelligence, machine learning, autonomous vehicles, space exploration, search for extraterrestrial life, genetic engineering, DNA modeling, computational biology, genetic modeling, environmental modeling, subatomic level experiments, weather modeling, etc.

[0035] In one or more embodiments, to store and access large data sets, computing devices (e.g., 100, 102, 104, 106, 108, 110) can be operably connected to a flat file system manager 112. In one or more embodiments, the flat file system manager is any type of computing device (discussed above). In one or more embodiments, the flat file system manager is configured to implement and manage one or more flat file systems. In one or more embodiments, a flat file system is a technique for organizing files by grouping data into related file groups stored in planes and defining various relationships between the data using relationships between planes.

[0036] In one or more embodiments, as used herein, a plane refers to a logical storage structure for storing groups of related files. In one or more embodiments, a user can interact with the flat file system manager 112 to define any number of planes for any number of flat file groups. In one or more embodiments, each plane is intended to store a related set of files. In one or more embodiments, a user can interact with the flat file system manager 112 using any suitable technology for interacting with a computing device, such as via one or more computing devices (e.g., 100, 102, 104, 106, 108, 110), by accessing a user interface via a network, etc.

[0037] In one or more embodiments, the user can also interact with the plane file system manager 112 to define any number of plane relationships between planes. In one or more embodiments, planes can have nested relationships, can be discrete sub-planes, and / or be orthogonally related to other planes.

[0038] In one or more embodiments, a nested plane relationship is a relationship when a plane has sub-planes. In one or more embodiments, a plane can have any number of sub-planes. In one or more embodiments, a sub-plane is intended to store a subset of related files of a group of plane files stored in a plane, and the related files have some additional level of interrelationship with respect to the parent plane of the sub-plane. In one or more embodiments, any number of sub-planes can be configured in a plane. In addition, a sub-plane can also have further sub-planes that include a portion of the files of the sub-plane, thereby creating a nested relationship of any number of planes.

[0039] In one or more embodiments, sub-planes may be discrete from each other, which means that as long as they are sub-planes of the same parent plane, they are related but not nested with each other.

[0040] In one or more embodiments, planes or sub-planes may be orthogonally related to each other, which may mean that the files of the planes or sub-planes are logically related in some manner, but the files of one orthogonally related plane or sub-plane are not a subset of the files of another orthogonally related plane or sub-plane.

[0041] In one or more embodiments, in addition to defining the number of planes of the flat file system and the relationships between the planes, the user may also define the size of the planes, sub-planes, etc., define the maximum single file size that may exist within a plane, and / or define any other relevant parameters related to the plane's storage space, file size, etc. The user may also define plane locks to facilitate concurrent access, various provisions in data structures for plane privileges, plane security attributes, etc.

[0042] In one or more embodiments, once the user has provided the configuration details of the flat file system (including the various planes, sub-planes, and relationships), the flat file system manager 112 can prepare any number of any type of storage devices to implement the user-defined flat file system. In one or more embodiments, preparing the storage can include generating a data structure that includes each of the planes, sub-planes, and plane relationships and the location in one or more storage devices where the planes will be located. In one or more embodiments, preparing the storage can also include formatting any number of storage devices with the various planes using the various plane sizes specified by the user.

[0043] In one or more embodiments, a flat file system manager may prepare any number of data structures for performing a search for a file or group of files on a flat file system. In one or more embodiments, a search for a file or group of files may be performed based at least in part on a plane identifier (ID) and / or a file handle. Files in planes and sub-planes may be identified by a file handle (e.g., a file name) and a plane ID. As an example, a plane ID may be any set of alphanumeric characters unique to that plane. Thus, a plane may have a plane ID of PL-A, another plane may have a plane ID of PL-B, and so on. In one or more embodiments, a plane ID represents a relationship between a plane and a sub-plane. As an example, a plane PL-A may have a sub-plane PL-A1, which may have a sub-sub-plane PL-A1A, and PL-A may be orthogonally related to a plane having a plane ID of PL-B. In one or more embodiments, in the context of discrete planes and / or orthogonally related planes, a plane namespace defined by a plane identifier may facilitate the use of the same file handle in different planes. In one or more embodiments, data structures that may be used to perform data searches in a flat file system include, but are not limited to, tables (e.g., such as Figure 5A ), directed acyclic graphs (DAGs) (e.g., Figure 5B ), nested sparse matrix-based flat indexing, etc.

[0044] In one or more embodiments, planes, sub-planes, etc. may include related data as described above. In one or more embodiments, planes, sub-planes, etc. may be operated as a whole (e.g., using a plane ID) or on a per-file basis (e.g., using a plane ID and a file handle). As an example, a user may configure any number of parameters (e.g., security, access control, encryption requirements, etc.) for the entire plane. Such permissions may flow down to the sub-planes. In addition, the sub-planes may have additional parameters defined. As an example, a plane may be configured to have access rights for a certain group of users, but without requiring encryption, while a sub-plane within a plane may have the same access rights (as part of the plane), but with additional encryption requirements.

[0045] In one or more embodiments, the plane ID can be used to perform operations on the entire plane, and the relationships between planes can be used to perform additional operations. As an example, a user can provide a plane ID as an identifier for a set of files that will be analyzed for any purpose (e.g., determining whether a particular region of the universe has a planetary system that includes a star with particular properties), and if the analysis produces a particular result (e.g., the star has the desired properties), the analysis can continue to an orthogonally related plane that includes files related to atmospheric conditions on the planets of the planetary system, which will be used to determine whether any of the planets have an atmosphere that is conducive for the planet to host life.

[0046] In one or more embodiments, the flat file system manager 112 can configure any number of flat file systems, and each such flat file system can be configured for any number of computing devices (e.g., 100, 102, 104, 106, 108, 110) and / or otherwise accessible by any number of computing devices. As an example, a flat file system storing a particular type of data can be accessed by any number of independent computing devices, which can use the data in different ways to perform different types of analysis, etc. In one or more embodiments, the flat file system and / or the files stored therein can be operated by a user of a computing device providing a command to the flat file system manager 112 that includes a flat ID and / or a file handle of a file in the flat file system.

[0047] In one or more embodiments, the flat file system manager 112 configures the flat file system using any number of any type of storage devices (e.g., storage device A 114, storage device N 116) based at least in part on configuration details received from one or more users, using any type of storage technology, paradigm, etc. Figure 1 Two storage devices (114, 116) are shown, but one of ordinary skill in the relevant art having the benefit of the detailed description will appreciate that the system may include any number of storage devices, and the three dots between storage device A 114 and storage device N 116 are intended to convey this. All or any portion of the storage devices may be the same type or different types of storage devices.

[0048] In one or more embodiments, the underlying storage of the flat file system is optionally a parallel file system 118, such as Figure 1In one or more embodiments, the parallel file system 118 is a file system in which file data is striped across any number of homogeneous or heterogeneous storage devices and can be accessed concurrently by any number of entities (e.g., computing devices). In one or more embodiments, when the flat file system manager 112 uses the parallel file system 118 as the underlying storage mechanism of the flat file system, the user-defined planes can be striped across various storage devices in a similar manner, while also obtaining the benefits provided by the parallel file system. The flat file system manager 112 may include and / or be operably connected to a parallel file system manager (not shown), and operate in conjunction with the parallel system file manager to implement the flat file system on the parallel file system. Any other storage solution type (e.g., network file system, distributed file system, etc.) may be used without departing from the scope of the embodiments disclosed herein. The flat file system may be implemented as a logical construct regardless of the underlying storage technology used to store files of the flat file system. Additionally or alternatively, the flat file system may be used as part of a technology for formatting a storage device (e.g., a flash storage device), wherein the organization of the formatting is based at least in part on user-defined planes and plane relationships, which may be referred to as relationship-configurable plane formatting. In one or more embodiments, the relationships in the flat format can be made reconfigurable at any time to modify the relationships of the data sets in the context of such a format, for example, when the amount of data stored is in the petabyte range or similar and / or when storing HPC applications and / or large data sets.

[0049] Although Figure 1 A specific configuration of components is shown, but other configurations may be used without departing from the scope of the embodiments described herein. Figure 1 Certain components are shown as part of the same device, but any component may be grouped into a collection of one or more components that may exist and execute as part of any number of independent and operably connected devices. As another example, a single component may be configured to perform the operations performed by Figure 1 All or any part of the functions performed by all or any part of the components shown in the figure. Therefore, the embodiments disclosed herein should not be limited to Figure 1 The component configuration shown in .

[0050] Figure 2 An overview of an example method for implementing a flat file system according to one or more embodiments disclosed herein is illustrated. The method may be implemented at least in part by a flat file system manager (e.g., Figure 1 The flat file system manager 112 shown in FIG. 1 is used to execute the file system.

[0051] Although Figure 2 The various steps in the flowchart shown in are presented and described in sequence, but some or all of the steps may be performed in a different order, some or all of the steps may be combined or omitted, and some or all of the steps may be combined or omitted. Figure 2 The other steps are executed in parallel.

[0052] In step 200, the method includes receiving a flat file system configuration request including a plurality of planes and a plurality of plane relationships. As an example, the flat file system configuration request may be received at a flat file system manager (e.g., Figure 1 In one or more embodiments, the flat file system configuration request is received from a user who is attempting to configure a flat file system for storing a large number of files. As an example, an administrator working on a high performance computing application may seek to configure a flat file system to store data to be analyzed by the high performance computing application.

[0053] A flat file system configuration request may include a request for any number of planes (e.g., dozens, hundreds, etc.). In one or more embodiments, the flat file system configuration request includes a definition of the relationship between the planes to be configured. As an example, a flat file system configuration request may specify that a portion of a plane is related in any number of nested plane relationships, that a plane has any number of sub-planes, that some planes are orthogonally related to each other, etc. The flat file system configuration request may specify any other relevant information for configuring 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 planes and sub-planes, the maximum and / or minimum file size allowed in a plane, security parameters of a plane, access rights for a plane, encryption requirements for a plane, data retention policies for a plane, etc.

[0054] The flat file system configuration request can be received via any technology that a user interacts with the flat system file manager. As an example, a user can access a user interface of the flat system file manager through a network connection.

[0055] In step 202, the method includes preparing the storage environment to include a flat file system based on a flat file system configuration request. In one or more embodiments, a flat file system manager (e.g., Figure 1The flat file system manager 112 of the present invention may prepare a storage environment to include a flat file system. In one or more embodiments, preparing the storage environment includes formatting any number of storage devices that are to be configured to store the planes and any files that are ultimately to be stored in the planes (this may be referred to as flat formatting or formatting). In one or more embodiments, preparing the storage environment includes instantiating any number of data structures for mapping the organization of the flat file system and / or for performing lookups of files, planes, sub-planes, etc. included in the flat file system. In one or more embodiments, preparing the storage environment includes using or otherwise interacting with the underlying storage technology on which the flat file system is to be deployed.

[0056] As an example, a flat file system can be implemented using parallel file system technology, and a flat file system manager can interact with a parallel file system management entity to implement a flat file system on an underlying parallel file system by, for example, striping the plane across any number of homogeneous and / or heterogeneous storage devices. Similarly, plane deduplication, plane redundancy, plane index metadata management, etc., related to storage backup, recovery operations, logical volumes, etc., can be performed in the context of planes and sub-planes of a flat file system. Thus, a plane implemented on a parallel file system can be accessed by any number of computing devices that may need to repeatedly access data to perform various operations and analyses (e.g., climate modeling (e.g., for weather science research), atomic / subatomic level models, AI-enabled models in the financial field, network security, scientific computing, etc.).

[0057] As another example, a flat file system can be implemented using 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 of which is 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 by an application. In one or more embodiments, a flat / sub-plane logical volume that establishes a relationship can be created by installing a single-plane flat file system in each logical volume in a volume group. For example, a logical volume can be created from a physical disk volume (e.g., hdisk1, 2, 3). In such a logical volume, a file system (e.g., jfs, ext3, jfs2) can be installed separately. Alternatively, as an example, in a set of three logical volumes (e.g., 1, 2, and 3), a flat file system can be installed, and a data set-oriented relationship (e.g., orthogonal or logical superset: subset) can be established between the logical volumes. In one or more embodiments, when a flat formatting based on a flat file system is used in a logical volume group, a flat logical volume group that establishes a relationship can be created. In one or more embodiments, a logical volume manager maintains a flat ID and a corresponding relationship corresponding to a logical volume. In one or more embodiments, when such logical volumes have other file systems (such as jfs, ext3, etc.), it may not be possible to establish a relationship between different logical volumes (and data included in different logical volumes) through file system technology.

[0058] In one or more embodiments, preparing the storage environment may include performing a flat mount. In one or more embodiments, a flat mount includes mounting the entire flat file system or any portion thereof (e.g., only a subset of a plane, a sub-plane, etc. of a flat file system). Typically, for a non-flat file system, when a storage device including a file system (e.g., a USB flash drive with a New Technology File System (NTFS)) is mounted, the entire file system is mounted at a mount point in the operating system. For example, in a Linux operating system, such a file system may be mounted using the mount command "mount / dev / sda1 / mnt / media1", which mounts the file system on the USB flash drive to the / mnt / media1 directory. Thus, by accessing / mnt / media1, a user can access all directories and files in the file system of the USB flash drive. In one or more embodiments, if a storage device (e.g., a USB flash drive) is alternatively formatted to include a flat file system that may have multiple flat formats, a differential flat mount may be performed by the flat file system provisions. A differential flat mount may be used when only a portion of a file system is mounted. As an example, a command for mounting only a portion of a flat file system may be as follows: mount / sda2 / mnt / media1{<optional planar IDs>}. In this example, if the storage device indicated by / dev / sda2 includes a flat file system, the user may have the option of mounting the entire flat file system, or only a subset of the planes therein. Thus, in one or more embodiments, different planes of a flat file system may be treated differently for mounting purposes. As an example, plane security may be implemented such that some planes may only be mounted using a password or multi-factor authentication, while other planes may be designated as default planes that may be mounted without any security.

[0059] In step 204, the method includes receiving a plane operation request for performing an operation on a specific plane of the flat file system. In one or more embodiments, the plane operation request includes a plane ID. In one or more embodiments, the plane operation request is sent by a flat file system manager (e.g., Figure 1 The plane operation request may be a request for performing any one or more operations of any type on any one or more planes or sub-planes of the flat file system. Examples include, but are not limited to: accessing one or more files stored in a plane or sub-plane (e.g., for performing analysis of the data of the file); adding, modifying, deleting, etc., attributes, characteristics, configuration parameters, etc. of a plane (e.g., access rights, security parameters, retention policies, encryption policies, backup policies, etc.); adding, deleting, or modifying a plane; adding, deleting, or modifying a plane relationship, etc.

[0060] In step 206, the method includes performing the requested operation on one or more specific planes of the flat file system based on the plane operation request. As an example, the flat file system manager (e.g., Figure 1 The flat file system manager 112 of the present invention may perform the operation. As an example, a plane operation request may be a request for accessing all files (e.g., millions of files) in a plane for use as input to a machine learning algorithm configured to produce one or more output results. Through the embodiments disclosed herein, such requests may be simplified by requesting only the plane ID of a specified plane rather than information about specific files therein, which allows the flat file system manager to perform a lookup using the plane ID to obtain the files of the plane. In one or more embodiments, the operation may be a storage operation. The storage operation may include, but is not limited to, backup operations, replication operations, deduplication operations, and / or disaster recovery operations (e.g., fail over, fail back, recovery, etc.), which may be performed on a plane or a sub-plane or a sub-plane granularity data set (e.g., for a plane and / or a sub-plane).

[0061] Figure 3 An example flat file system 300 is illustrated in accordance with one or more embodiments of the present disclosure. Figure 3 The examples shown in and discussed below are simplified examples intended for explanation purposes only and are not intended to limit the scope of the embodiments described herein. In addition, although this example illustrates certain aspects of the embodiments described herein, all possible aspects of such embodiments may not be illustrated in this particular example.

[0062] Figure 3 An example flat file system 300 is shown. Figure 3 The view of the flat file system 300 shown in can be a logical view representing the relationship between the planes of the flat file system 300, such as when the planes are actually striped across any number of storage devices of the parallel file system. Additionally or alternatively, Figure 3 The view of a flat file system 300 shown in FIG. 3 may represent a physical view of the layout of planes in the flat file system formatted on one or more storage devices.

[0063] The example flat file system 300 includes two planes at the highest level, PL-A and PL-B, which are the plane IDs of the two planes. Other planes and sub-planes described as part of this example will have plane IDs that follow similar naming conventions defined by the user, who also specifies the relationship between the planes (described below). Figure 3 The structure of the flat file system shown in may have been implemented by a flat file system manager (e.g., Figure 1 The flat file system manager 112) is configured and implemented by the user.

[0064] PL-A includes a nested sub-plane PL-A1, which includes two nested sub-planes PL-A11A and PL-A11B. Plane PL-A11A includes a further nested sub-plane PL-A11A1. Therefore, files in PL-A11A1 can have sub-plane relationships with files in PL-A11A, files in PL-A11A can have sub-plane relationships with files in PL-A11, files in PL-A11 can have sub-plane relationships with files in PL-A11, and files in PL-A11 can have sub-plane relationships with files in PL-A1, and files in PL-A1 can have sub-plane relationships with files in PL-A. Files in PL-A11B can have sub-plane relationships with files in PL-A11, but are otherwise discrete from files in PL-A11A and its nested sub-planes.

[0065] Plane PL-A may also include a sub-plane PL-A1A. PL-A1A has an orthogonal relationship with PL-A1, which means that the files therein are logically related to each other in some way, but the files stored in Pl-A1A are not sub-planes of the files of PL-A1.

[0066] Plane PL-A may also include a sub-plane PL-A1A-1. PL-A1A-1 has an orthogonal relationship with PL-A1A, which means that the files therein are logically related to each other in some way, but the files stored in Pl-A1A-1 are not sub-planes of the files of PL-A1A.

[0067] Plane PL-A may also include a sub-plane PL-A1A-1A. PL-A1A-1A has an orthogonal relationship with PL-A1A-1, which means that the files therein are logically related to each other in some way, but the files stored in Pl-A1A-1A are not sub-planes of the files of PL-A1A-1.

[0068] Plane PL-A may also include sub-planes PL-A1A-1A0. PL-A1A-1A0 has an orthogonal relationship with PL-A1A-1A, which means that the files therein are logically related to each other in some way, but the files stored in Pl-A1A-1A0 are not sub-planes of the files of PL-A1A-1A.

[0069] The plane PL-B may include a sub-plane Pl-B1. Figure 3 As shown in , the file sub-plane PL-B1 can have an orthogonal relationship with the file sub-plane PL-A1A-1.

[0070] Figure 4 An example flat file system 400 including example files is illustrated in accordance with one or more embodiments of the present disclosure. Figure 4 The examples shown in and discussed below are simplified examples intended for explanation purposes only and are not intended to limit the scope of the embodiments described herein. In addition, although this example illustrates certain aspects of the embodiments described herein, all possible aspects of such embodiments may not be illustrated in this particular example.

[0071] Consider a scenario where a user has interacted with a flat file system manager to configure a flat file system implemented using an underlying parallel file system such that data stored in the flat file system is stored in a striped manner across any number of underlying heterogeneous storage devices. The user intends to use the flat file system to store any number of audio / video files and other files related thereto that can be accessed later for analysis for some purpose.

[0072] Based on the user's flat file system configuration request, the flat file system manager can logically configure the parallel file system to include Figure 4 The plane layout shown in FIG. 1 includes two planes PL-A1 and PL-B1 (e.g., plane ID), wherein PL-A1 has a sub-plane PL-A10, which has a sub-plane PL-A101. The user specifies the nested sub-plane relationship between PL-A1, PL-A10, and PL-A101 and the orthogonal relationship between PL-A1 and PL-B1 in the plane file system configuration request.

[0073] The user can then start storing files in the flat file system 400, and the files will have a relationship based on the planes in which they are stored. The user can store the file Example.mp4 in the plane PL-A1 by providing a plane operation request for storing the file to the flat file system manager, the plane operation request including the plane ID: file handle combination PL-A1:Example.mp4. Similarly, the user can store the file PL-B1:ConsolidatedFeature.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.

[0074] Files PL-A101:metadata1.docx, PL-A101:features.mov, and PL-A101:subset.pdf in PL-A101 each have a sub-plane relationship with PL-A10:Example.tiff, and files PL-A10:Example.tiff, PL-A10:sample3.jpg, and PL-A10:collection.zip have a sub-plane relationship with PL-A1:Example.mp4 by virtue of the planes in which they are stored. Additionally, PL-A1:Example.mp4 has an orthogonal relationship with PL-B1:ConsolidatedFeature.mov because it is stored in PL-B1.

[0075] Figure 5A An example flat file system lookup table 500 is shown according to one or more embodiments disclosed herein. Table 500 represents a table that is shown as being stored in Figure 4 The flat file system manager 400 includes a plane ID, a file handle, a file size, and a plane relationship level for each file. Thus, when a plane operation request is received at the flat file system manager, the flat file system manager can access a single file (e.g., when the plane operation request includes the plane ID and the file handle), a group of files in a plane (e.g., when the plane operation request includes the plane ID), or files with a certain relationship, as represented in table 500 (e.g., an orthogonal relationship between PL-A1 and PL-B1).

[0076] Figure 5B An example of a flat file system lookup DAG 550 is shown. DAG 550 can be organized based on flat IDs as shown, and can be used to perform lookups in a flat file system, similar to the above in Figure 5A The lookup discussed in the description of .

[0077] Figure 6 An example flat file system 600 including orthogonal relationships between planes is illustrated in accordance with one or more embodiments of the present disclosure. Figure 6 The examples shown in and discussed below are simplified examples intended for explanation purposes only and are not intended to limit the scope of the embodiments described herein. In addition, although this example illustrates certain aspects of the embodiments described herein, all possible aspects of such embodiments may not be illustrated in this particular example.

[0078] Consider a scenario where a research organization investigates the possibility of life on other planets. Any number of probes have been sent out in any number of directions, and the probes periodically send back files with various sensor readings over time. As the probes travel for years, decades, etc., there may be a large number of files. In order to organize the files for analysis, a user of the research organization interacts with a flat file system manager to implement a flat file system. The user specifies that the flat file system will include five planes, Pl-A, PL-B, PL-C, PL-D, and PL-E, which are orthogonally related in that order, and any number of files can be stored in each plane. The research organization has a high performance computing (HPC) solution that is used to access the flat file system to perform a series of analyses as part of the search for life.

[0079] The first plane PL-A includes high-level data on the likelihood of life forms in various star systems. The second plane PL-B includes files related to atmospheric conditions on planets in the star system. The third plane PL-C includes files related to temperature conditions on planets. The fourth plane PL-D includes files related to water conditions on planets. The fifth plane PL-E includes files related to surface feature information on planets.

[0080] like Figure 6 As shown by the arrows in the figure, the orthogonal relationships between the five planes are configured by the user to inform the analysis process performed by the research organization's HPC solution. Therefore, the analysis is first performed using the files in PL-A to determine whether the one or more detectors sending data are within the part of the universe where life may exist. If the analysis result is "yes", the analysis can continue to the orthogonally related PL-B to analyze the atmospheric conditions of the planets in this part of the universe to determine whether they are conducive to life (for example, the atmosphere of the planet includes ozone). If the analysis result is "yes", the analysis can continue to the orthogonally related PL-C to analyze whether the temperature conditions on the planet are conducive to life. If the analysis result is "yes", the analysis can continue to the orthogonally related PL-D to analyze whether there is a sufficient amount of water on the planet to support life forms. If the analysis result is "yes", the analysis can continue to the orthogonally related PL-E to analyze whether the surface characteristics of the planet (for example, the number of volcanoes, seismic activity, etc.) are within the range that is conducive to supporting life forms. Therefore, by being able to perform analysis using a flat file system of orthogonally related planes (each plane includes related data), the search for life on distant planets, which involves the analysis of a large number of related files, is improved. Despite Figure 6It is not shown in the figure, but taking PL-B as an example, there may be multiple sub-planes, which are discrete subsets or orthogonally related, and may have inferences / analysis related to the aforementioned problems stored as files. Such examples (e.g., examples of additional multiple sub-planes as discrete subsets or orthogonally related) may be applicable to each plane (e.g., PL-A, PL-B, PL-C, PL-D, PL-E).

[0081] Figure 7 A block diagram of a computing device according to one or more embodiments of the present disclosure is illustrated. As discussed above, the embodiments described herein may be implemented using a computing device. For example, Figure 1 All or any part of the components shown in can be implemented at least in part using one or more computing devices. Computing device 700 may include one or more computer processors 702, non-permanent storage device 704 (e.g., volatile memory, such as random access memory (RAM), cache memory, etc.), permanent storage device 706 (e.g., hard disk, optical drive such as compact disk (CD) drive or digital versatile disk (DVD) drive, flash memory, etc.), communication interface 712 (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), input device 710, output device 708 and many other elements (not shown) and functions. Each of these components is described below.

[0082] In one or more embodiments, the one or more computer processors 702 may be integrated circuits for processing instructions. For example, the one or more computer processors may be one or more cores or micro-cores of a processor. The processor 702 may be a general-purpose processor configured to execute program code included in software executed on the computing device 700. The processor 702 may be a special-purpose processor in which certain instructions are incorporated into the processor design. Although in Figure 7 Only one processor 702 is shown, but computing device 700 may include any number of processors without departing from the scope of the embodiments disclosed herein.

[0083] The computing device 700 may also include one or more input devices 710, such as a touch screen, a keyboard, a mouse, a microphone, a touch pad, an electronic pen, a motion sensor, or any other type of input device. The input device 710 may allow a user to interact with the computing device 700. In one or more embodiments, the 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 (CRT) monitor, a projector, or other display device), a printer, an external storage device, or any other output device. One or more of the output devices may be the same or different from the one or more input devices. One or more input and output devices may be locally or remotely connected to one or more computer processors 702, non-permanent storage devices 704, and permanent storage devices 706. There are many different types of computing devices, and the one or more input and output devices may take other forms. In some instances, a multi-mode system may allow a user to provide multiple types of input / output to communicate with the computing device 700.

[0084] Further, the communication interface 712 can facilitate connecting the 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 another device (such as another computing device). The communication interface 712 can perform or facilitate the reception and / or transmission of wired or wireless communications using wired and / or wireless transceivers, including using an audio jack / plug, a microphone jack / plug, a universal serial bus (USB) port / plug, Ports / plugs, Ethernet ports / plugs, Fiber optic ports / plugs, Proprietary wired ports / plugs, Wireless signal transmission, BLE wireless signal transmission, Wireless signal transmission, RFID wireless signal transmission, near field communication (NFC) wireless signal transmission, dedicated short range communication (DSRC) wireless signal transmission, 802.11 WiFi wireless signal transmission, WLAN signal transmission, visible light communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), IR communication wireless signal transmission, public switched telephone network (PSTN) signal transmission, integrated services digital network (ISDN) signal transmission, 3G / 4G / 5G / LTE cellular data network wireless 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, wireless signal transmission along the electromagnetic spectrum, or some combination thereof. The communication interface 712 may also include one or more global navigation satellite system (GNSS) receivers or transceivers for determining the location of the computing device 700 based on one or more signals received from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, GPS of the United States, Global Navigation Satellite System (GLONASS) of Russia, BeiDou Navigation Satellite System (BDS) of China, and Galileo GNSS of Europe. There is no restriction to operate on any particular hardware arrangement and thus as hardware or firmware arrangements evolve, the basic features herein may be readily substituted for improved hardware or firmware arrangements.

[0085] The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing or carrying one or more instructions and / or data. Computer-readable media may include non-transient media, in which data may be stored and does not include carrier waves and / or transient electronic signals propagated wirelessly or via a wired connection. Examples of non-transient media may include, but are not limited to, disks or tapes, optical storage media such as CDs or DVDs, flash memories, memories, or memory devices. Codes and / or machine-executable instructions may be stored on computer-readable media, and the codes and / or machine-executable instructions may represent any combination of processes, functions, subroutines, programs, routines, subroutines, modules, software packages, classes, or instructions, data structures, or program statements. A code segment may be coupled to another code segment or hardware circuit by passing and / or receiving information, data, independent variables, parameters, or memory contents. Information, independent variables, parameters, data, etc. may be passed, forwarded, or transmitted by any suitable means (including memory sharing, message passing, token passing, network transmission, etc.).

[0086] All or any portion of the components of computing device 700 may be implemented in circuits. For example, the components may include and / or may be implemented using electronic circuits or other electronic hardware, which may include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and / or other suitable electronic circuits), and / or may include and / or be implemented using computer software, firmware, or any combination thereof to perform the various operations described herein. In some aspects, computer-readable storage devices, media, and memories may include wired or wireless signals including bit streams, etc. However, when referred to, non-transitory computer-readable storage media explicitly excludes media such as energy, carrier signals, electromagnetic waves, and the signals themselves.

[0087] In the above description, many details are set forth as examples of the embodiments described herein. Those skilled in the art (who also benefit from this disclosure) will appreciate that one or more of the embodiments described herein may be practiced without these specific details, and that many changes or modifications may be made without departing from the scope of the embodiments described herein. Certain details known to those of ordinary skill in the art may be omitted to avoid obscuring the description.

[0088] Specific details are provided in the description above to provide a thorough understanding of the aspects and examples provided herein. However, it will be appreciated by those of ordinary skill in the art that these aspects can be practiced without these specific details. For clarity of explanation, in some instances, the present technology may be presented as including functional blocks, which may include devices, device components, steps or routines in methods embodied in software, or a combination of hardware and software. In addition to the components shown in the figures and / or described herein, additional components may also be used. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form, so as not to obscure these aspects in unnecessary details. In other instances, known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary details, so as to avoid obscuring these aspects.

[0089] The above can describe the individual aspects as a process or method depicted as a flow chart, flow diagram, data flow diagram, structure diagram or block diagram. Although the flow chart can describe the operation as a sequential process, many operations can be performed in parallel or simultaneously. In addition, the order of the operation can be rearranged. When the operation of the process is completed, the process terminates, but there may be other steps not included in the figure. The process may correspond to a method, function, flow, subroutine, subprogram, etc. When the process corresponds to a function, the termination of the process may correspond to the function returning to the calling function or main function.

[0090] The process and method according to the above-mentioned example can be implemented using computer executable instructions stored in a computer readable medium or otherwise obtained from a computer readable medium. Such instructions may include, for example, instructions and data that make a general-purpose computer, a special-purpose computer, or a processing device perform a specific function or a functional group or otherwise configure a general-purpose computer, a special-purpose computer, or a processing device to perform a specific function or a functional group. The part of the computer resources used can be accessed through a network. Computer executable instructions can be, for example, binary files, intermediate format instructions (such as assembly language, firmware, source code, etc.). Examples of computer readable media that can be used to store instructions, information used, and / or information created during the method according to the described example include disks or optical disks, flash memories, USB devices equipped with non-volatile memory, networked storage devices, etc.

[0091] In the above description of the drawings, in the various embodiments described herein, any component described with respect to a drawing may be equivalent to one or more identically or similarly named and / or numbered components described with respect to any other drawing. For the sake of brevity, the description of these components may not be repeated for each drawing. Therefore, each embodiment of the components of each drawing is incorporated by reference and is assumed to be optionally present in each other drawing with one or more identically or similarly named and / or numbered components. In addition, according to the various embodiments described herein, any description of the components of the drawings should be interpreted as an optional embodiment, which can be implemented as a supplement, combination or replacement of the embodiments described with respect to the corresponding one or more identically or similarly named and / or numbered components in any other drawing.

[0092] Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as adjectives for elements (i.e., any noun in the application). The use of ordinal numbers does not imply or create any particular order of elements, nor does it limit any element to only a single element, unless explicitly disclosed, such as by using the terms "before," "after," "single," and other such terms. Rather, ordinal numbers are used to distinguish elements. For example, a first element is different from a second element, and a first element may contain more than one element and be after (or before) a second element in the ordering of elements.

[0093] As used herein, the phrase "operably connected" or "operably coupled" means that there is a direct or indirect connection between elements / components / devices that allows the elements to interact with each other in some manner. For example, the phrase "operably connected" can refer to any direct connection (e.g., a direct wired connection between two devices or components) or indirect connection (e.g., a wired and / or wireless connection between any number of devices or components that connect operably coupled devices). Thus, any path that information can take can be considered an operable connection.

[0094] Although the embodiments discussed herein have been described with respect to a limited number of embodiments, those skilled in the art who have benefited from this disclosure will appreciate that other embodiments may be designed 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.

Claims

1. A device comprising: one or more processors; as well as One or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to: receiving, at a flat file system manager executed on the one or more processors, from a user interface a flat file system configuration request including a plurality of planes and a plurality of plane relationships, wherein the plurality of plane relationships include a sub-plane relationship between a plane and a sub-plane and an orthogonal relationship between two independent planes of the plurality of planes; configuring, by the flat file system manager, a storage environment to include a flat file system based on the flat file system configuration request; receiving, from the user interface, a plane operation request for performing an operation on a plane of the flat file system, wherein the plane operation request includes a plane identifier corresponding to the plane; and The operation is performed on the plane based on the plane operation request.

2. The device according to claim 1, wherein: The storage environment includes a parallel file system.

3. The device as claimed in claim 2, wherein: The plurality of planes are striped across a plurality of storage devices of the parallel file system.

4. The device according to claim 2, wherein: The operations performed based on the plane operation request include invoking one or more plane locks to facilitate concurrent access to one or more of the plurality of planes by a plurality of computing devices.

5. The device according to claim 1, wherein: The operations performed based on the flat operation requests are performed at least in part using a flat file system lookup directed acyclic graph (DAG).

6. The device according to claim 1, wherein: The operation performed based on the plane operation request is a modification of a property of the plane, and the modification is applied to multiple sub-planes of the plane.

7. The device of claim 1, wherein: The operation performed based on the plane operation request is a storage operation.

8. A computer-implemented method comprising: receiving, at a flat file system manager executed on one or more processors, from a user interface a flat file system configuration request including a plurality of planes and a plurality of plane relationships, wherein the plurality of plane relationships include a sub-plane relationship between a plane and a sub-plane and an orthogonal relationship between two independent planes of the plurality of planes; configuring, by the flat file system manager, a storage environment to include a flat file system based on the flat file system configuration request; receiving, from the user interface, a plane operation request for performing an operation on a plane of the flat file system, wherein the plane operation request includes a plane identifier corresponding to the plane; and The operation is performed on the plane based on the plane operation request.

9. The computer-implemented method of claim 8, wherein: The storage environment includes a parallel file system.

10. The computer-implemented method of claim 9, wherein: The plurality of planes are striped across a plurality of storage devices of the parallel file system.

11. The computer-implemented method of claim 8, wherein: The operations performed based on the flat operation requests are performed at least in part using a flat file system lookup data structure.

12. The computer-implemented method of claim 8, wherein: The operation performed based on the plane operation request is a modification of a property of the plane, and the modification is applied to multiple sub-planes of the plane.

13. The computer-implemented method of claim 8, wherein: The operation performed based on the plane operation request is a modification of an attribute of a sub-plane of the plane, and wherein the operation is not applied to the plane.

14. The computer-implemented method of claim 8, wherein: To configure the storage environment, the method further includes formatting one or more storage devices to include the flat file system.

15. A non-transitory computer readable medium storing a programming program for execution by one or more processors, the programming program comprising instructions for: A flat file system configuration request including a plurality of planes and a plurality of plane relationships is received from a user interface at a flat file system manager executing on the one or more processors, wherein: The plurality of plane relationships include a sub-plane relationship between a plane and a sub-plane and an orthogonal relationship between two independent planes in the plurality of planes; configuring, by the flat file system manager, a storage environment to include a flat file system based on the flat file system configuration request; receiving, from the user interface, a plane operation request for performing an operation on a plane of the flat file system, wherein the plane operation request includes a plane identifier corresponding to the plane; as well as The operation is performed on the plane based on the plane operation request.

16. The non-transitory computer readable medium of claim 15, wherein: The storage environment includes a parallel file system, and wherein the plurality of planes are striped across a plurality of storage devices of the parallel file system.

17. The non-transitory computer readable medium of claim 15, wherein: The operations performed based on the flat operation requests are performed at least in part using a flat file system lookup data structure.

18. The non-transitory computer readable medium of claim 15, wherein: The operation performed based on the plane operation request is a modification of a property of the plane, and the modification is applied to multiple sub-planes of the plane.

19. The non-transitory computer readable medium of claim 15, wherein: The operation performed based on the plane operation request is a modification of an attribute of a sub-plane of the plane, and wherein the operation is not applied to the plane.

20. The non-transitory computer readable medium of claim 15, wherein: To configure the storage environment, the non-transitory computer-readable medium further includes instructions for formatting one or more storage devices to include the flat file system.

Citation Information

Patent Citations

  • Blockchain-based verification framework

    CN112262558A

  • File management system and file management method for applying hierarchy file system using flat file system

    KR1020120018974A

  • Systems and methods for separating units of information manageable by a hardware / software interface system from their physical organization

    US20050055380A1

  • Service oriented flat file system

    US20160299927A1

  • Independent storage architecture

    US6795824B1