DETAILED ACTION
The Examiner acknowledges the applicant's submission of the amendment dated 1/30/2026.
REJECTIONS BASED ON PRIOR ART
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 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.
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-27 are rejected under 35 U.S.C. 103 as being unpatentable over Yang et al (US 10,795,583) in view of Ebata (US 2009/0198946) and Dong et al (US 2023/0281049).
Regarding Claim 21, Yang teaches a storage system (shown on Fig. 1) comprising:
a plurality of nodes (tiers 340 of Fig. 3) comprising a plurality of data objects (data objects corresponding to virtual machine files, C14 L39-52) stored thereon; and
a storage maintenance system (data center server 130 of Fig. 1) in operable communication with the plurality of nodes via a network,
wherein the storage maintenance system comprises:
one or more processors (processor 115-4 of Fig. 1); and
a memory (memory 120-4 of Fig. 1) that stores computer executable instructions that, when executed by the one or more processors, direct the storage maintenance system to at least:
determine performance data of a first data object of the one or more data objects (step 1430 of Fig. 14);
correlate the first data object with a first performance category based on the performance data (step 1525 of Fig. 15B – based on the performance data, a performance category/tier is selected); and
generate a change determination for the first data object based on the first performance category (step 1530 of Fig. 15B, it is determined if any data object/virtual machine file must be changed); and
modify storage of one or more data objects of the one or more data objects within the plurality of nodes based on the change determination (step 1535 of Fig. 15B).
However, the cited prior art does not explicitly teach wherein the one or more data objects maintain a non-accessed state during the modification of the storage of the one or more data objects within the plurality of nodes without requiring authorization to access the data comprised by the one or more applications.
Ebata teaches wherein one or more data objects maintain a non-accessed state during the modification of the storage of the one or more data objects within the plurality of nodes without requiring authorization to access the data comprised by the one or more applications (Paragraph 0275, the non-accessed state corresponding to an I/O stoppage during migration).
It would have been obvious to a person having ordinary skill in the art at the time the invention was filed to have implemented the non-accessed state of Ebata for the modification of the storage of the one or more data objects within the plurality of nodes of the cited prior art in order to maintain a consistent state during migration.
Further, the cited prior art does not explicitly teach to determine performance data of a first data object of the one or more data objects by analyzing behavior of one or more applications associated with the first data object without directly accessing data comprised by the one or more applications.
Dong teaches to determine performance data of a first data object of one or more data objects by analyzing behavior of one or more applications associated with the first data object without directly accessing data comprised by the one or more applications (see the data for the applications of Fig. 3, where performance data of the data objects comprising the application are determined by analyzing behavior, such as a read/write ratio, of applications, and application data is not directly accessed).
It would have been obvious to a person having ordinary skill in the art at the time the invention was filed to have implemented the determining of Dong in the cited prior art in order to reduce load on the computing element storing the application.
Regarding Claim 22, the cited prior art teaches the storage system of claim 21, wherein the computer executable instructions to modify the storage of the one or more data objects within the plurality of nodes based on the change determination, when executed by the one or more processors, direct the storage maintenance system to:
modify a storage arrangement of the first data object within the plurality of nodes based on the change determination (the arrangement is modified at step 1535 of Fig. 15B based on the determination of step 1530), wherein to modify the storage arrangement of the first data object comprises one of:
moving the first data object from a first node to a second node, wherein the plurality of nodes comprises the first node and the second node (step 1535 of Fig. 15B);
copying the first data object; or
de-duplicating the first data object.
Regarding Claim 23, the cited prior art teaches the storage system of claim 21, wherein the computer executable instructions to generate the change determination for the first data object, when executed by the one or more processors, direct the storage maintenance system to:
generate a prediction for performance data of the one or more data objects if the change determination is executed (“AutoTiering may also consider…predicted performance,” C3 L5-15); and validate the change determination based on the prediction indicating that execution of the change determination improves a workload performance of the storage system (validation is performed after the data is migrated and step 1430 of Fig. 14 is executed).
Regarding Claim 24, the cited prior art teaches the storage system of claim 21, wherein: the computer executable instructions to correlate the first data object with the first performance category based on the performance data, when executed by the one or more processors, direct the storage maintenance system to:
determine that the first data object is associated with a first application type (step 1525 of Fig. 15B, where the virtual machine file is associated with a tier/application type); and
the computer executable instructions to generate the change determination for the first data object based on the first performance category, when executed by the one or more processors, direct the storage maintenance system to:
generate the change determination for the first data object based on the first data object being associated with the first application type (step 1535 of Fig. 15B).
Regarding Claim 25, the cited prior art teaches the storage system of claim 21, wherein the computer executable instructions, when executed by the one or more processors, direct the storage maintenance system to:
receive, responsive to modifying the storage of the one or more data objects within the plurality of nodes based on the change determination, feedback on workload performance of the storage system (feedback corresponding to the new received responses at step 1425 of Fig. 14 after the data object is modified);
determine second performance data of the first data object subsequent to the feedback; correlate the first data object with a second performance category based on the second performance data (step 1430 of Fig. 14);
determine a second change determination based on correlation of the first data object with the second performance category (step 1530 of Fig. 15B); and
modify the storage of the one or more data objects within the plurality of nodes based on the second change determination (step 1535 of Fig. 15B).
Regarding Claim 26, the cited prior art teaches the storage system of claim 21, wherein the storage maintenance system comprises a prediction component (“AutoTiering may also consider both…predicted performance,” C3 L5-15) and the computer executable instructions, when executed by the one or more processors, direct the storage maintenance system to:
determine a first application associated with the first data object (in order to calculate performance of a virtual machine at step 1430 of Fig. 14, a first application such as application 310 of Fig. 3, which is associated with the first data object, is determined); and
predict, by the prediction component, an application type of the first application (step 1525 of Fig. 15B, where the virtual machine file is associated with a tier/application type) based on at least one of:
the first performance data of the first data object (step 1525 of Fig. 15B is based on performance data as shown at step 1520 of Fig. 15B); or
the first performance category of the first data object,
wherein prediction of the application type is performed by the prediction component without direct access to data comprised in the first application (step 1525 of Fig. 15B uses the matrix generated at step 1520 of Fig. 15B, and therefore does not directly access data comprised in the first application).
Regarding Claim 27, the cited prior art teaches the storage system of claim 21, wherein the storage maintenance system comprises a change determination component and the computer executable instructions, when executed by the one or more processors, direct the storage maintenance system to:
determine, by the change determination component, one or more workloads associated with the first data object (workloads corresponding to the range of workloads on respective tiers);
compare, by the change determination component, the first performance data of the first data object to the one or more workloads (step 1525 of Fig. 15B, a comparison of the workload to the performance data is made);
identify, by the change determination component, an issue based on the comparison (step 1530 of Fig. 15B, there is an issue if a virtual machine to be migrated); and
generate, by the change determination component, the change determination based on the issue identified by the comparison (“Yes” at step 1535 of Fig. 15B).
Claims 28, 30, 33-35, 37, 38, and 40 are rejected under 35 U.S.C. 103 as being unpatentable over Yang et al (US 10,795,583) in view of Dong et al (US 2023/0281049).
Regarding Claim 28, Yang teaches a computing apparatus (shown on Fig. 1) comprising:
a computer readable storage medium (memory 120-4 of Fig. 1);
computer executable instructions stored on the computer readable storage medium; and one or more processors (processor 115-4 of Fig. 1) coupled to the computer readable storage medium and configured to execute the computer executable instructions to direct the computing apparatus to at least:
obtain performance data associated with one or more applications associated with data objects stored within a storage system (performance data is obtained at step 1430 of Fig. 14 for a virtual machines, which is associated with applications 310 as shown on Fig. 3, C13 L21-35, storage system corresponding to storage pool 135 of Fig. 1, data objects corresponding to virtual machine files, C14 L39-52);
determine that a modification is required for storage of the one or more data objects based on the performance data of the one or more applications (based on the calculated performance data, used at least at step 1520 of Fig. 15B, modification/migration of one or more data objects to different storage is determined at step 1530 of Fig. 15B); and
cause the storage system to execute the modification, wherein the modification comprises modifying storage of the one or more data objects within the storage system without requiring authorization to access the data comprised by the one or more applications (at step 1535, migration/modification may be executed “from one storage tier to another,” C21 L29-39).
However, the cited prior art does not explicitly teach to obtain performance data associated with one or more applications associated with one or more data objects stored within a storage system by analyzing behavior of the one or more applications associated with the one or more data objects without directly accessing data comprised by the one or more applications.
Dong teaches to obtain performance data associated with one or more applications associated with one or more data objects stored within a storage system by analyzing behavior of the one or more applications associated with the one or more data objects without directly accessing data comprised by the one or more applications (see the data for the applications of Fig. 3, where performance data of the data objects comprising the application are obtained by analyzing behavior, such as a read/write ratio, of applications, and application data is not directly accessed).
It would have been obvious to a person having ordinary skill in the art at the time the invention was filed to have implemented the determining of Dong in the cited prior art in order to reduce load on the computing element storing the application.
Regarding Claim 30, the cited prior art teaches the computing apparatus of claim 28, wherein the computer executable instructions to determine the modification is required for storage of the one or more data objects based on the performance data of the one or more applications, when executed by the one or more processors, direct the computing apparatus to:
predict, using an analytical model, an application type of the one or more applications without accessing data of the one or more applications (step 1525 of Fig. 15B, where the virtual machine file is associated with a tier/application type); and
determine that the modification is required for storage of the one or more data objects based on the application type of the one or more applications (modification is required if the determination at step 1530 of Fig. 15B is “Yes”).
Regarding Claim 33, the cited prior art teaches the computing apparatus of claim 28, wherein:
the computer executable instructions, when executed by the one or more processors, direct the computing apparatus to:
determine an application type for the one or more applications based on the performance data (step 1525 of Fig. 15B, where the virtual machine file is associated with a tier/application type); and
the computer executable instructions to determine that the modification is required for storage of the one or more data objects based on the performance data of the one or more applications, when executed by the one or more processors, direct the storage maintenance system to:
determine that the modification is required for storage of the one or more data objects based on the application type of a respective application of the one or more applications (modification is determined to be required at the “Yes” determination at step 1530 of Fig. 15B).
Regarding Claim 34, the cited prior art teaches the computing apparatus of claim 28, wherein the computer executable instructions, when executed by the one or more processors, direct the computing apparatus to:
compare the performance data of the one or more applications to a performance threshold for a performance category; and assign the one or more applications with the performance category based on the performance data exceeding the performance threshold (steps 1520 and 1525 of Fig. 15B, where a matrix is used to determine if performance data exceeds the threshold); and the computer executable instructions to determine that the modification is required for storage of the one or more data objects based on the performance data of the one or more applications, when executed by the one or more processors, direct the storage maintenance system to:
determine that the modification is required for storage of the one or more data objects based on the one or more applications being assigned to the performance category (modification is determined to be required at the “Yes” branch of step 1535 of Fig. 15B, the performance category assigned at step 1525 of Fig. 15B).
Regarding Claim 35, Yang teaches a method for automatically modifying storage of a plurality of applications within a storage system to improve performance of the storage system, the method comprising:
identifying a plurality of applications having data objects stored across a plurality of nodes within the storage system (applications 310 of Fig. 3, which use input/output commands to access data objects, C13 L36-45, nodes corresponding to tiers 340 of Fig. 3);
determining a first performance category for a first application of the plurality of applications (each virtual machine, running applications as shown on Fig. 3, has a performance category/tier determined at step 1525 of Fig. 15B); and
changing a functioning of the storage system relative to the data objects associated with the first application based on the first performance category, wherein changing the functioning of the storage system relative to the data objects associated with the first application is performed without requiring authorization to access the data of the first application (at step 1535, migration/modification may be executed “from one storage tier to another” based on the first performance category, C21 L29-39, thereby changing a functioning of the storage system relative to the data objects associated with the first application).
However, the cited prior art does not explicitly teach determining a first performance category for a first application of the plurality of applications by analyzing behavior of the first application without directly accessing data comprised by the first application.
Dong teaches determining a first performance category for a first application of the plurality of applications by analyzing behavior of the first application without directly accessing data comprised by the first application (see the data for the applications of Fig. 3, where performance data of the data objects comprising the application are obtained by analyzing behavior, such as a read/write ratio, of applications, and application data is not directly accessed, and the category corresponding to the tier determined at steps 204 and 206 of Fig. 2).
Regarding Claim 37, the cited prior art teaches the method of claim 35, wherein the method further comprises:
determining a modification to the functioning of the storage system relative to the data objects associated with the first application based on the first performance category (step 1525 of Fig. 15B – based on the performance data of an application, a performance category/tier is selected); and
generating a prediction of performance of the storage system if the modification is executed (“AutoTiering may also consider…predicted performance,” C3 L5-15); and
wherein changing the functioning of the storage system relative to the data objects associated with the first application based on the first performance category includes performing the modification to the functioning of the storage system relative to the data objects associated with the first application based on the prediction (steps 1530 and 1535 of Fig. 15B).
Regarding Claim 38, the cited prior art teaches the method of claim 35, wherein changing the functioning of the storage system relative to the data objects associated with the first application based on the first performance category comprises:
determining that the data objects associated with the first application are stored on a first node of the plurality of nodes; and generating a copy of the data objects associated with the first application based on the first performance category onto a second node within the plurality of nodes (step 1535 of Fig. 15B, data is copied from a first node to a second node based on a determination of the performance category).
Regarding Claim 40, the cited prior art teaches the method of claim 35, wherein determining the first performance category for the first application of the plurality of applications comprises: determining performance data of the first application (step 1430 of Fig. 14); assigning the first application to the first performance category based on the performance data (step 1525 of Fig. 15B); and predicting an application type of the first application based on the performance data of the first application and other applications assigned to the first performance category (“AutoTiering may also consider…predicted performance,” C3 L5-15).
Claim 32 is rejected under 35 U.S.C. 103 as being unpatentable over Yang et al (US 10,795,583) in view of Dong et al (US 2023/0281049) and Sabiun et al (US 2024/0211319).
Regarding Claim 32, the cited prior art teaches the computing apparatus of claim 28, wherein:
the performance data of the one or more applications comprises current performance data of the one or more applications (current performance data corresponding to “current score,” C10 L1-14); and the computer executable instructions to determine that the modification is required for storage of the one or more data objects based on the performance data of the one or more applications, when executed by the one or more processors, direct the computing apparatus to:
determine historical performance data for the one or more applications (“historical score,” C10 L1-14);
determine that the modification is required for storage the one or more data objects based on the current performance data to the historical performance data (C10 L1-14).
However, the cited prior art does not explicitly teach to:
compare the current performance data to the historical performance data of the one or more applications.
Sabiun teaches to compare current performance data to historical performance data of the one or more applications (Paragraph 0202).
It would have been obvious to a person having ordinary skill in the art at the time the invention was filed to have implemented the comparison of Sabiun for the determination of modification in the cited prior art to obtain precise data (Paragraph 0202 of Sabiun).
ARGUMENTS CONCERNING NON-PRIOR ART REJECTIONS/OBJECTIONS
Double Patenting
Applicant’s terminal disclaimer filed 1/30/2026 has overcome the examiner’s double patenting rejection, and thus the rejection has been withdrawn.
ARGUMENTS CONCERNING PRIOR ART REJECTIONS
Rejections - USC 102/103
Applicant’s argument that the cited prior art fails to teach the claims as amended has been considered and is persuasive. Thus, the prior rejection has been withdrawn. However, a new rejection has been made as noted above.
CLOSING COMMENTS
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 extension fee 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 date of this final action.
STATUS OF CLAIMS IN THE APPLICATION
The following is a summary of the treatment and status of all claims in the application as recommended by M.P.E.P. ' 707.07(i):
SUBJECT MATTER CONSIDERED ALLOWABLE
Claims 29, 31, 36, and 39 contain allowable subject matter as noted in the Non-Final Rejection mailed 1/30/2026.
CLAIMS REJECTED IN THE APPLICATION
Per the instant office action, claims 21-28, 30, 32-34, 37, 38, and 40 have been rejected in the application.
DIRECTION OF FUTURE CORRESPONDENCES
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Mark Giardino whose telephone number is (571) 270-3565 and can normally be reached on M-F 9:00-5:00- 5:30pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Mr. Jared Rutz can be reached on 571-272-5535. The fax phone number for the organization where this application or proceeding is assigned is (571) 273-8300.
/MARK A GIARDINO JR/Primary Examiner, Art Unit 2135