DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 21-40 of this US application are presented for examination.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 21-40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding claim 21:
Step 1:
Claim 21 recites “A method”. The claim recites a series of steps and therefore is a process.
Step 2A Prong One:
Claim 21 recites the limitation “generating” which specifically recites “generating a snapshot of a file system;” This limitation are processes that, under their broadest reasonable interpretation, covers performance of the limitation in the mind, but for the recitation of generic computer components. That is nothing in the claim element precludes the step from practically being performed in a human mind or with the aid of pen and paper. For example, “generating” in the context of this claim encompasses a user mentally, and with the aid of pen and paper generating a snapshot of a file system. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, then it falls within the “Mental Processes” grouping of abstract ideas (concepts performed in the human mind including an observation, evaluation, judgment and opinion).
Step 2A Prong Two: The judicial exception is not integrated into a practical application. The claim 21 recites the limitation “storing the snapshot to an object storage;” and “enabling access to the snapshot by a computing environment,” The limitations amount to a data gathering step which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)). The claim also recites the limitations “the file system comprises a plurality of devices and a plurality of buckets, and each bucket in the plurality of buckets is configured to manage a portion of the file system.” The limitations amount to selecting a particular data source or type of data to be manipulated (see MPEP 2106.05(g)).
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim 21 recites the limitation “storing the snapshot to an object storage;” and “enabling access to the snapshot by a computing environment,” The limitations amount to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim 22 is dependent on the claim 21 and includes all the limitations of claim 21. Therefore, claim 22 recites the same abstract idea of claim 21. The claim also recites the additional limitation “each bucket is associated with a group of devices selected from the plurality of devices.” The limitation amounts to no more than mere instructions to apply the exception using generic computer components (See MPEP 2106.05(f)). The claim is not patent eligible.
Claim 23 is dependent on the claim 22 and includes all the limitations of claim 21. Therefore, claim 23 recites the same abstract idea of claim 21. The claim also recites the additional limitation “each group of devices comprises a plurality of devices that cooperate to manage the bucket.” The limitation amounts to no more than mere instructions to apply the exception using generic computer components (See MPEP 2106.05(f)). The claim is not patent eligible.
Claim 24 is dependent on the claim 22 and includes all the limitations of claim 21. Therefore, claim 24 recites the same abstract idea of claim 21. The claim also recites the additional limitation “no two buckets are associated with an identical group of devices” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 25 is dependent on the claim 21 and includes all the limitations of claim 21. Therefore, claim 25 recites the same abstract idea of claim 21. The claim also recites the additional limitation “generating the snapshot comprises generating the snapshot independently at each bucket” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 26 is dependent on the claim 25 and includes all the limitations of claim 21. Therefore, claim 26 recites the same abstract idea of claim 21. The claim also recites the additional limitation “storing the snapshot comprises storing snapshot data from a plurality of buckets concurrently.” The limitation amounts to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim 27 is dependent on the claim 26 and includes all the limitations of claim 21. Therefore, claim 27 recites the same abstract idea of claim 21. The claim also recites the additional limitation “a state of storing the snapshot is determined according to a slowest-performing bucket” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 28 is dependent on the claim 21 and includes all the limitations of claim 21. Therefore, claim 28 recites the same abstract idea of claim 21. The claim also recites the additional limitation “the snapshot enables reconstruction of the file system independent of an originating environment” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Regarding claims 29 and 37:
Step 1:
Claim 29 recites “A method”. The claim recites a series of steps and therefore is a process.
Claim 37 recites “A system”. The claim recites the system comprising a processor and a plurality of devices and therefore is a machine.
Step 2A Prong One:
Claims 29 and 37 recite the limitations “generating” and “determining” which specifically recites “generating a snapshot configuration tree according to a plurality of snapshots of a file system;” and “determining changes to the file system according to the snapshot configuration tree;” These limitations are processes that, under their broadest reasonable interpretation, covers performance of the limitation in the mind, but for the recitation of generic computer components. That is, other reciting a “plurality of devices” and a “processor”, nothing in the claim element precludes the step from practically being performed in a human mind or with the aid of pen and paper. For example, “generating” and “determining” in the context of this claim encompasses a user mentally, and with the aid of pen and paper generating a snapshot tree according to a plurality of snapshots of a file system and determining changes to the file system according to the snapshot tree. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, then it falls within the “Mental Processes” grouping of abstract ideas (concepts performed in the human mind including an observation, evaluation, judgment and opinion).
Step 2A Prong Two: The judicial exception is not integrated into a practical application. The claims 29 and 37 recite the limitation “storing the changes to the file system in a backend object storage,” The limitation amounts to a data gathering step which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)). The claims also recite the limitation “wherein the file system comprises a plurality of buckets distributed across a plurality of devices.” The limitation amounts to selecting a particular data source or type of data to be manipulated (see MPEP 2106.05(g)).
Step 2B: The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claims 29 and 37 recites the limitation “storing the changes to the file system in a backend object storage,” The limitations amount to well‐understood, routine, and conventional functions, e.g. storing information in memory (See MPEP 2106.05(d)). As discussed above, the additional elements of using a “plurality of devices” and a “processor” to perform the steps amounts to no more than mere instructions to apply the exception using generic computer components (See MPEP 2106.05(f)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claims are not patent eligible.
Claim 30 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 30 recites the same abstract idea of claim 29. The claim also recites the additional limitation “each bucket independently determines changes associated with the snapshot” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 31 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 31 recites the same abstract idea of claim 29. The claim also recites the additional limitation “storing a final object to the backend object storage, wherein the final object comprises metadata describing stored snapshot data.” The limitation amounts to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim 32 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 32 recites the same abstract idea of claim 29. The claim also recites the additional limitation “the changes are stored in one or more buffers.” The limitation amounts to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim 33 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 33 recites the same abstract idea of claim 29. The claim also recites the additional limitation “the snapshot configuration tree is traversed to determine a sequence of snapshots” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 34 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 34 recites the same abstract idea of claim 29. The claim also recites the additional limitation “determining whether multiple changes correspond to a same object” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 35 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 35 recites the same abstract idea of claim 29. The claim also recites the additional limitation “when a more up-to-date change for the object is identified, only the more up-to-date change is stored in the backend object storage.” The limitation amounts to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim 36 is dependent on the claim 29 and includes all the limitations of claim 29. Therefore, claim 36 recites the same abstract idea of claim 29. The claim also recites the additional limitation “at least one data file is aggregated into a buffer when the data file is less than a pre-determined size” which further elaborates on the abstract idea and therefore, does not amount to significant more. The claim is not patent eligible.
Claim 37 is rejected under the same rationale as claim 29.
Claim 38 is rejected under the same rationale as claim 31.
Claim 39 is rejected under the same rationale as claim 33.
Claim 40 is dependent on the claim 37 and includes all the limitations of claim 37. Therefore, claim 40 recites the same abstract idea of claim 37. The claim also recites the additional limitation “to aggregate data into one or more buffers prior to storage in the backend object storage.” The limitation amounts to well‐understood, routine, and conventional functions, e.g. storing and retrieving information in memory (See MPEP 2106.05(d)). The claim is not patent eligible.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 21 and 25-26 are rejected under 35 U.S.C. 102(a)(2) as anticipated by Kathpal et al. (US 2018/0300203, hereinafter “Kathpal”) or, in the alternative, under 35 U.S.C. 103 as obvious over Harter et al. (US 10,430,378, hereinafter “Harter”).
Regarding claim 21, Kathpal teaches A method, comprising:
generating a snapshot of a file system (Kathpal, [0083]: In block B172, the LW backup module 148 takes snapshots for each of the nodes including all the alive nodes of the configuration server 132.);
storing the snapshot to an object storage (Kathpal, [0083]: discussing about the metadata for the snapshots is stored with the snapshots at a storage location so that it is accessible to module 150 and the restore module 152); and
enabling access to the snapshot by a computing environment, wherein: the file system comprises a plurality of devices and a plurality of buckets (Kathpal, [0048]: In one aspect, to facilitate access to storage devices 110, a storage operating system of storage system 108 “virtualizes” the storage space provided by storage devices 110. The storage system 108 can present or export data stored at storage devices 110 to server systems 104 and VMM 121 as a storage volume or one or more qtree sub-volume units including logical unit numbers (LUNs). [0083]: A snapshot is a “point in time” copy of the active file system that uses the storage LUNs for storing data on behalf of the database cluster nodes. [0107]: discussing about generating a snapshot of all logical objects used by all active nodes of the plurality of logical partitions to store the plurality of replicas of the database. Examiner interprets that the one or more qtree sub-volume units or logical unit numbers (LUNs) as claimed plurality of buckets, and the plurality of nodes as claimed plurality of devices.), and
each bucket in the plurality of buckets is configured to manage a portion of the file system (Kathpal, [0126]: System 224 is illustratively embodied as a dual processor storage system executing a storage operating system 230 that preferably implements a high-level module, such as a file system, to logically organize information as a hierarchical structure of named directories, files and special types of files called virtual disks (hereinafter generally “blocks”) on storage devices 110/212.).
Assuming, arguendo, that Kuroiwa does not explicitly teach each bucket in the plurality of buckets is configured to manage a portion of the file system.
However, Harter teaches each bucket in the plurality of buckets is configured to manage a portion of the file system (Harter, column 7 lines 7-13: In the example shown, each of the workers 502 and 504 is running two containers, each associated with a corresponding file on NFS server 510. For each container, an associated file system instance (in the example the “ext4” file system is used) and loopback are used to treat each NFS file as a virtual block device, which can be mounted and unmounted as a root file system for a running container.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal with the teaching about the network file system (NFS) of Harter because it would significantly reduce hardware redundancy, lowers administrative overhead, and allows seamless, simultaneous collaboration across diverse operating systems.
Regarding claim 25, Kathpal in view of Harter teaches wherein generating the snapshot comprises generating the snapshot independently at each bucket (Kathpal, [0082]: In block B170, the LW backup module 148 captures the existing cluster topology. The LW backup module 148 captures the mapping between shards and nodes, the nodes and the LUNs of the storage system 108, file system for each LUN and the database details (e.g. a database name, version, health of the various nodes or any other details). [0083]: A snapshot is a “point in time” copy of the active file system that uses the storage LUNs for storing data on behalf of the database cluster nodes.).
Regarding claim 26, Kathpal in view of Harter teaches wherein storing the snapshot comprises storing snapshot data from a plurality of buckets concurrently (Kathpal, [0107]: One method includes capturing a topology of the distributed database cluster prior to a first backup phase of a backup operation; generating a snapshot of all logical objects used by all active nodes of the plurality of logical partitions to store the plurality of replicas of the database…).
Claims 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Kathpal in view of Harter and further in view of Nehse (US 2008/0120462).
Regarding claim 22, Kathpal in view of Harter teaches the method of claim 21 as discussed above. Kathpal in view of Harter does not explicitly teach wherein each bucket is associated with a group of devices selected from the plurality of devices.
Nehse teaches wherein each bucket is associated with a group of devices selected from the plurality of devices (Nehse, [0029]: A sub-device group 320 may include from one to sixteen physical devices; however, all devices must be the same class of storage.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal and Harter with the teaching about the sub-device group of Nehse because it allows more user flexibility in designing the system for various data storage needs and also allows more memory device capacity to be utilized (Nehse, [0058]).
Regarding claim 23, Kathpal in view of Harter and Nehse teaches wherein each group of devices comprises a plurality of devices that cooperate to manage the bucket (Nehse, [0028]: A device group 310 may be assigned to multiple logical volumes 330, which include a plurality of LUNs 330a-330n that have varying sizes and RAID levels, where `n` is any integer value and is not representative of any other value `n` described herein. The maximum number of logical volumes 330 assigned to device group 310 depends on the size of logical volumes 330 and the number of sub-device groups 320 within device group 310.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal and Harter with the teaching about the sub-device group of Nehse because it allows more user flexibility in designing the system for various data storage needs and also allows more memory device capacity to be utilized (Nehse, [0058]).
Claim 24 is rejected under 35 U.S.C. 103 as being unpatentable over Kathpal in view of Harter, in view of Nehse and further in view of Zhang et al. (US 2019/0097890, hereinafter “Zhang”).
Regarding claim 24, Kathpal in view of Harter and Nehse teaches the method of claim 22 as discussed above. Kathpal in view of Harter and Nehse does not explicitly teach wherein no two buckets are associated with an identical group of devices.
Zhang teaches wherein no two buckets are associated with an identical group of devices (Zhang, [0073]: The nodes are divided into two node partitions, also referred to as node clusters, with each partition including a distinct subset of the network nodes. Nodes 322-1, 322-4, 322-7, and 322-8 form a node cluster 326-1 controlled by controller 330-1. Nodes 322-2, 322-3, 322-5, 322-6, and 322-9 form a node cluster controlled by controller 330-2.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal, Harter and Nehse with the teaching about the distinct subset of Zhang because it would be minimizing a total amount of traffic connecting nodes within each of the first and second node clusters to the one or more networks (Zhang, [0005]).
Claim 27 is rejected under 35 U.S.C. 103 as being unpatentable over Kathpal in view of Harter and further in view of Adkins et al. (US 2012/0066278, hereinafter “Adkins”).
Regarding claim 27, Kathpal in view of Harter teaches the method of claim 26 as discussed above. Kathpal in view of Harter does not explicitly teach wherein a state of storing the snapshot is determined according to a slowest-performing bucket.
Adkins teaches wherein a state of storing the snapshot is determined according to a slowest-performing bucket (Adkins, [0017]: Moreover, the coordinated synchronization among the nodes produces a consistency snapshot at the rate of the slowest performing node in the cluster to the point of errant nodes hindering the production of a consistency snapshot.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal and Harter with the teaching about the file management of Adkins because it would reduce communication overhead and reduces the effects of an errant or slow performing node (Adkins, [0018]).
Claim 28 is rejected under 35 U.S.C. 103 as being unpatentable over Kathpal in view of Harter and further in view of Adkins et al. (US 2008/0288546, hereinafter “Adkins ’546”).
Regarding claim 28, Kathpal in view of Harter teaches the method of claim 21 as discussed above. Kathpal in view of Harter does not explicitly teach wherein the snapshot enables reconstruction of the file system independent of an originating environment.
Adkins ’546 teaches wherein the snapshot enables reconstruction of the file system independent of an originating environment (Adkins ’546, [0035]: Afterward, the rollback operation restores the file system back to a previous point in time that corresponds to the snapshot image. [0039]: File system user interface 308 receives input or commands from a user to access and control the file system. The user may utilize file system user interface 308 to, for example, create snapshots of the file system, as well as perform rollback operations to restore the file system to a previous point in time snapshot image.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the method for a distributed database cluster of Kathpal and Harter with the teaching about restoring the file system of Adkins ’546 because it would prevent corruption of data in the file system during performance of rollback operations (Adkins ’546, [0036]).
Claims 29-35 and 37-40 are rejected under 35 U.S.C. 103 as being unpatentable over Aron et al. (US 2016/0034507, hereinafter “Aron”) in view of Kathpal.
Regarding claim 29, Aron teaches A method, comprising:
generating a snapshot configuration tree according to a plurality of snapshots of a file system (Aron, [0045]: FIG. 3A illustrates the file system metadata tree 201(1) of FIG. 2 after distributed storage system 100 creates a snapshot of a “current” view. Creating a snapshot of a particular view effectively creates a clone of that view. To create a snapshot of the current view, the distributed metadata manager 110 creates two copies of the root node associated with each view component of the current view.);
determining changes to the file system according to the snapshot configuration tree (Aron, [0045]: As shown in FIG. 3A, the snapshot may be associated with a particular time (2 PM), indicating that the snapshot is a snapshot of the file system metadata taken at that particular time. [0047]: FIG. 3B illustrates modifying metadata associated with a particular metadata key in the current view, after a snapshot has been created. After creating a snapshot, nodes with at least three different treeIDs exist.).
Aron does not explicitly teach storing the changes to the file system in a backend object storage, wherein the file system comprises a plurality of buckets distributed across a plurality of devices.
Kathpal teaches storing the changes to the file system in a backend object storage, wherein the file system comprises a plurality of buckets distributed across a plurality of devices (Kathpal, [0048]: In one aspect, to facilitate access to storage devices 110, a storage operating system of storage system 108 “virtualizes” the storage space provided by storage devices 110. The storage system 108 can present or export data stored at storage devices 110 to server systems 104 and VMM 121 as a storage volume or one or more qtree sub-volume units including logical unit numbers (LUNs). [0083]: discussing about a snapshot is a “point in time” copy of the active file system that uses the storage LUNs for storing data on behalf of the database cluster nodes. The metadata for the snapshots is stored with the snapshots at a storage location so that it is accessible to module 150 and the restore module 152. [0107]: discussing about generating a snapshot of all logical objects used by all active nodes of the plurality of logical partitions to store the plurality of replicas of the database. Examiner interprets that the one or more qtree sub-volume units or logical unit numbers (LUNs) as claimed plurality of buckets, and the plurality of nodes as claimed plurality of devices.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Regarding claim 30, Aron in view of Kathpal teaches wherein each bucket independently determines changes associated with the snapshot (Kathpal, [0060]: The configuration information is updated when there are metadata changes for the cluster, such as adding a shard. [0084]: After the snapshots are taken, the backup module 138 again captures the cluster node topology for validation to ensure that the process captures any change in topology since Phase 1 of the backup operation was initiated.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Regarding claim 31, Aron in view of Kathpal teaches storing a final object to the backend object storage, wherein the final object comprises metadata describing stored snapshot data (Kathpal, [0060]: The configuration information is updated when there are metadata changes for the cluster, such as adding a shard. [0084]: After the snapshots are taken, the backup module 138 again captures the cluster node topology for validation to ensure that the process captures any change in topology since Phase 1 of the backup operation was initiated.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Regarding claim 32, Aron in view of Kathpal teaches wherein the changes are stored in one or more buffers (Kathpal, [0056]: The data file 123C for a write request is also initially stored at the cache of the primary node 120. The cache that stores the operation log 123B and the data file 123C is periodically flushed to persistent storage (e.g. 110, FIG. 1A) after a certain duration (e.g. 60 seconds) or when the cache has reached a certain capacity level. [0083]: A snapshot is a “point in time” copy of the active file system that uses the storage LUNs for storing data on behalf of the database cluster nodes. The snapshot is a persistent point in time (PPT) image that enables quick recovery of data. The metadata for the snapshots is stored with the snapshots at a storage location so that it is accessible to module 150 and the restore module 152, as described below.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Regarding claim 33, Aron in view of Kathpal teaches wherein the snapshot configuration tree is traversed to determine a sequence of snapshots (Aron, [0008]: The method also includes identifying a first root node in the file system metadata tree associated with the view. The method further includes traversing the file system metadata tree from the first root node to a first leaf node associated with the metadata key. [0045]: FIG. 3A illustrates the file system metadata tree 201(1) of FIG. 2 after distributed storage system 100 creates a snapshot of a “current” view. Creating a snapshot of a particular view effectively creates a clone of that view. To create a snapshot of the current view, the distributed metadata manager 110 creates two copies of the root node associated with each view component of the current view.).
Regarding claim 34, Aron in view of Kathpal teaches determining whether multiple changes correspond to a same object (Kathpal, [0060]: The configuration information is updated when there are metadata changes for the cluster, such as adding a shard. [0084]: After the snapshots are taken, the backup module 138 again captures the cluster node topology for validation to ensure that the process captures any change in topology since Phase 1 of the backup operation was initiated.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Regarding claim 35, Aron in view of Kathpal teaches wherein when a more up-to-date change for the object is identified, only the more up-to-date change is stored in the backend object storage (Kathpal, [0089]: discussing about a new snapshot is created for the modified LUN corresponding to the primary node in each shard. The backup metadata is updated to point to the snapshot for any restore workflows.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Claim 37 is rejected under the same rationale as claim 29.
Claim 38 is rejected under the same rationale as claim 31.
Claim 39 is rejected under the same rationale as claim 33.
Regarding claim 40, Aron in view of Kathpal teaches wherein the processor is configured to aggregate data into one or more buffers prior to storage in the backend object storage (Kathpal, [0056]: The data file 123C for a write request is also initially stored at the cache of the primary node 120. The cache that stores the operation log 123B and the data file 123C is periodically flushed to persistent storage (e.g. 110, FIG. 1A) after a certain duration (e.g. 60 seconds) or when the cache has reached a certain capacity level. [0083]: A snapshot is a “point in time” copy of the active file system that uses the storage LUNs for storing data on behalf of the database cluster nodes. The snapshot is a persistent point in time (PPT) image that enables quick recovery of data. The metadata for the snapshots is stored with the snapshots at a storage location so that it is accessible to module 150 and the restore module 152, as described below.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron with the teaching about the distributed database cluster of Kathpal because it would store backups in a space efficient manner to optimally use shared storage space (Kathpal, [0035]).
Claim 36 is rejected under 35 U.S.C. 103 as being unpatentable over Aron in view of Kathpal and further in view of Botes et al. (US 2018/0260125, hereafter referred to as “Botes”).
Regarding claim 36, Aron in view of Kathpal teaches the method of claim 29 as discussed above. Aron in view of Kathpal does not explicitly teach wherein at least one data file is aggregated into a buffer when the data file is less than a pre-determined size.
Botes teaches wherein at least one data file is aggregated into a buffer when the data file is less than a pre-determined size ([0432]: discussing about resynchronization after an outage may be based on accumulated changes, such as by limits on the accumulated size of a short-term map; [0546]: Data objects may be any size unit of data within a storage system (4106). For example, data objects (4153A-4153N, 4157) may each be a logical extent, where logical extents may be some specified size, such as 1 MB, 4 MB, or some other size.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the tree-based distributed file system of Aron and Kathpal with the teaching the pre-determined size of Botes because it may reduce the total data transferred during a resynchronization (Botes, [0437]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Bachar et al. (US 2013/032580) discloses that illustrated embodiments seek to provide a file system snapshot for preserving the state of a file system (e.g., a container of nodes) in a file system table at a single point in time. Finely grained snapshot are required for preserving the state of a file system (e.g., a container of nodes) per request.
Hayes et al. (US 9,087,012) discloses that a storage grid includes a first cluster, a second cluster, and a third cluster. Each of the first cluster, the second cluster and the third cluster is configured to store an amount of data ranging from a portion of a copy of the data to a full copy of the data.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHONG H NGUYEN whose telephone number is (571)270-1766. The examiner can normally be reached Monday-Friday, 8:30am-5pm EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ajay Bhatia can be reached at (571) 272-3906. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/PHONG H NGUYEN/ Primary Examiner, Art Unit 2156
July 21, 2026