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 .
Response to Amendment
The amendment filed 02/02/2026 has been entered. Claims 1, 11 and 17 have been amended. Claims 1-20 are currently pending in the instant application.
Response to Arguments
Applicant’s arguments, see pages 7-9, filed 02/02/2026, with respect to the rejection(s) of claim(s) 1-20 under 35 U.S.C. 102 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Periyagaram et al (US 20210303522). Periyagaram teaches the amended limitations as seen in the current rejection below.
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.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Popovich et al (US 2021/0405879) in view of Periyagaram et al (US 20210303522).
Regarding claim 1,
Popovich discloses:
1. A system, comprising: at least one processor; and at least one memory that stores executable instructions that, when executed by the at least one processor, facilitate performance of operations, comprising: identifying a file system, wherein the file system comprises a group of files ([0024] In an aspect, the components 110, 120, 130 can be associated with a computing node and/or other computing device associated with a data storage system (e.g., a file storage system, an object storage system, etc.). Also or alternatively, the components 110, 120, 130 can be associated with a dedicated data mover device that facilitates movement of datasets between different data storage systems associated with the data mover device. ); based on an attribute applicable to the file system, determining a dataset identifier representative of the file system ([0033] With reference next to FIG. 4, a block diagram of a system 400 that facilitates metadata assignment for a dataset 10 in accordance with various aspects described herein is illustrated. Repetitive description of like elements employed in other embodiments described herein is omitted for brevity. As shown by FIG. 4, system 400 includes a dataset management component 410, which can assign a dataset identifier and/or other metadata to a given dataset. In an aspect, a dataset identifier can be a globally unique set of identifying data that is assigned to a dataset 10 at the time the dataset 10 is defined.; for respective files represented in the group of files, allocating the dataset identifier and allocating respective file identifiers ([0035] The dataset identifier associated with a given dataset 10 as shown by FIG. 4 can further include a revision identifier, which can be used to identify individual versions or revisions of a dataset. For instance, a database tree identifier as described above can be used in combination with a revision identifier to identify and distinguish between different dataset versions that are derived from the same baseline transfer.; and copying the group of files to an object store with respective object names corresponding to the respective files, wherein the copying comprises, for the respective files, assigning the dataset identifier to respective object names and assigning the respective file identifiers to the respective object names. ([0056] During a baseline replication, global file identifiers can be generated on a source system and propagated to mapping databases on respective target systems. A local-to-global mapping can subsequently be used for incremental synchronization, e.g., such that a file 40 modified on a source system can be represented via the global file identifier and sent to a target system. Similarly, a global-to-local mapping can be used for incremental synchronization on target systems, e.g., to find a local destination file on which to record the differential. In an aspect, a file storage system can maintain both of the above mappings, while in the case of a file-to-object or object-to-file replication these mappings can be omitted if objects are named after their corresponding global file identifiers.
Popovich does explicitly teach assigning a logical version identifier to respective object names for a current version of the file system, assigning the dataset identifier to respective object names for a prior version of the file system,
Periyagaram teaches assigning a logical version identifier to respective object names for a current version of the file system, assigning the dataset identifier to respective object names for a prior version of the file system, ([0269] FIG. 5 illustrates an example of a block container 500 used to represent a data instance in accordance with some embodiments. As shown in FIG. 5, block container 500 may include a graph (e.g., an acyclic graph such as a directed acyclic graph or a balanced directed acyclic graph) of logical extent nodes 502-1 through 502-3 (collectively “logical extent nodes 502,” “logical extents 502,” or “nodes 502”). In the illustrated graph, node 502-1 is a root node, node 502-2 is a child node of node 502-1, and node 503-3 is a child node of node 502-2. [0270] The graph of logical extents is associated with and represents a data instance. In the illustrated example, a data instance identifier (data ID) 506 is mapped to root node 502-1 to associate a data instance having the data ID 506 to the root node 502-1 and consequently to the graph of logical extents 502. Data ID 506 may be any suitable unique identifier and may be produced in any suitable way. For example, container utilization system 404 may generate or receive data ID 506. Container utilization system 404 may map the data ID 506 to root node 502-1 in any suitable way.
Accordingly, it would have been obvious to one of ordinary skill in the art before the
effective filing date of the claimed invention to have modified the teachings of Popovich to include assigning a logical version identifier to respective object names for a current version of the file system, assigning the dataset identifier to respective object names for a prior version of the file system, as taught by Periyagaram. It would be advantageous to improve the performance of in-memory computing such as, for example, having computations occur as close to the data as possible as taught by Periyagaram [0178].
Regarding claim 2, Popovich in view of Periyagaram teaches The system of claim 1, Popovich further teaches wherein the operations further comprise: in response to a determination that a file of the group of files exceeds a defined object store size threshold, dividing the file into corresponding chunks that do not exceed the defined object store size threshold, wherein the copying of the group of files to the object store comprises copying the corresponding chunks to the object store. ([0047] Turning next to FIG. 6, a diagram 600 of an example handshake procedure that can be performed by a handshake component 110, e.g., a handshake component 110 of system 100 or system 500, and a target storage system 20 is illustrated. Repetitive description of like elements employed in other embodiments described herein is omitted for brevity. In an aspect as shown by diagram 600, each system that can replicate and/or receive datasets according to various aspects as described herein can maintain an index, database, listing, and/or other information pertaining to the datasets the system contains. This index can include, among other information, dataset histories for respective stored datasets, e.g., on a per-dataset tree basis.
Regarding claim 3, Popovich in view of Periyagaram teaches The system of claim 1, Popovich further teaches wherein the copying of the group of files to the object store comprises copying a baseline replication of the file system to the object store. ([0067] At 1004, the device can determine (e.g., by the dataset analysis component 120) whether a first version of the dataset (e.g., dataset 10B) is present at the remote storage system. If a first version of the dataset is not present at the remote storage system, method 1000 can return to 1002 for processing of additional datasets. In contrast, if a first version of the dataset is present at the remote storage system, method 1000 can instead continue to 1006.)
Regarding claim 4, Popovich in view of Periyagaram teaches The system of claim 1, Popovich further teaches wherein the copying of the group of files to the object store comprises copying an incremental replication of the file system to the object store. ([0070] At 1010, the device can transfer (e.g., by an incremental transfer component 130) a differential between the first version of the dataset and the second version of the dataset to the remote storage system.)
Regarding claim 5, Popovich in view of Periyagaram teaches The system of claim 4, Popovich further teaches wherein the copying of the incremental replication of the file system to the object store comprises copying a copy-on-write incremental replication of the file system to the object store. ([0039] B) Dataset type, which can be defined by the data formats of the source and target systems and/or the type of transfer associated with the dataset. By way of example, a dataset designated for a copy replication from a file storage system to an object storage system can be given the type FILE_ON_OBJECT_COPY, a dataset designated for a backup replication from a file storage system to an object storage system can be given the type FILE_ON_OBJECT_BACKUP, and a dataset designated for transfer between two file storage systems can be given the type FILE_ON_FILE. Other dataset types are also possible.
Regarding claim 6, Popovich in view of Periyagaram teaches The system of claim 5, Popovich further teaches, wherein the group of files comprises a current group of files, and wherein the copying of the copy-on-write incremental replication comprises: determining changed files in the current group of files relative to a prior version of the group of files in the object store, and determining unchanged files in the current group of files relative to the prior version of the group of files in the object store; copying the changed files from the file system to a current version of the group of files in the object store, wherein the attribute applicable to the file system corresponds to a respective version of the group of files; and generating a pointer from the unchanged files from the prior version of the group of files in the object store to the current version of the group of files in the object store. ([0005] In an aspect, a data storage system is described herein. The data storage system can include a memory that stores executable components and a processor that executes the executable components stored in the memory. The executable components can include a handshake component that establishes a connection with a target storage system to facilitate an initial transfer of a dataset from the data storage system to the target storage system. The executable components can further include a dataset analysis component that, in response to the target storage system indicating via the connection that a first version of the dataset is present at the target storage system, compares the first version of the dataset to a second version of the dataset as stored on the data storage system. The executable components can additionally include an incremental transfer component that, in response to the dataset analysis component determining that the second version of the dataset is more recent than the first version of the dataset, transfers a differential between the first version of the dataset and the second version of the dataset to the target storage system, the differential including less than all of the second version of the dataset.
Regarding claim 7, Popovich in view of Periyagaram teaches The system of claim 6, Popovich further teaches wherein the generating the pointer from the unchanged files comprises assigning, for respective unchanged files of the unchanged files, respective pointers in the prior version of the group of files, and wherein the respective pointers point to respective parts of the current version of the group of files. ([0041] D) Local system database history, which can include a listing of respective versions of a dataset stored by a given system and/or other information. Examples of dataset histories that can be created and used for incremental replication are described in further detail below with respect to FIGS. 6-7.)
Regarding claim 8, Popovich in view of Periyagaram teaches The system of claim 4, Popovich further teaches wherein the operations further comprise: in response to a determination that a version of the group of files is to be deleted from the object store, determining a pointer, between the version of the group of files and another version of the group of files in the object store, the other version being other than the version and the other version referencing the version of the group of files to be deleted; moving a file corresponding to the pointer to the other version of the group of files; and deleting the version of the group of files from the object store. ([0065] Briefly returning to FIG. 1 and with further reference to FIGS. 8-9, the incremental transfer component 130 can utilize global and/or local file identifiers associated with respective files 40 of a dataset 10 in building a differential between dataset 10A as stored on system 100 and dataset 10B as stored on the target storage system 20. For instance, the incremental transfer component can create the differential by determining global file identifiers for respective files that were changed (e.g., added, removed, modified, etc.) between the dataset version represented by dataset 10B and the dataset version represented by dataset 10A. These identified files can then be added to the differential according to their respective global file identifiers.)
Regarding claim 9, Popovich in view of Periyagaram teaches The system of claim 1, Popovich further teaches wherein the copying of the group of files to the object store comprises copying the group of files to a corresponding bucket in the object store.( [0019] As noted above, a data mover can be utilized to transfer datasets between different storage systems. As used herein, the term “dataset” refers to a collection of data (as stored in files, objects, or the like) that is designated for transferal between different locations. By way of example, a data mover can be used to transfer a dataset from a file storage system to another file storage system, an object storage system (e.g., a cloud storage system), and/or any other suitable location(s).
Regarding claim 10, Popovich in view of Periyagaram teaches The system of claim 1, Popovich further teaches wherein the object store comprises a cloud-based object store. ([0019] As noted above, a data mover can be utilized to transfer datasets between different storage systems. As used herein, the term “dataset” refers to a collection of data (as stored in files, objects, or the like) that is designated for transferal between different locations. By way of example, a data mover can be used to transfer a dataset from a file storage system to another file storage system, an object storage system (e.g., a cloud storage system), and/or any other suitable location(s).
Claims 11-20 are rejected using similar reasoning seen in the rejection of claims 1-10 due to reciting similar limitations but directed towards different statutory categories.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SAMUEL SHARPLESS whose telephone number is (571)272-1521. The examiner can normally be reached M-F 7:30 AM- 3:30 PM (ET).
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, ALEKSANDR KERZHNER can be reached at 571-270-1760. 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.
/S.C.S./Examiner, Art Unit 2165
/ALEKSANDR KERZHNER/Supervisory Patent Examiner, Art Unit 2165