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 .
This action is responsive to the communication filed 4/12/2023.
Claims 1-20 are presented for examination.
Examiner Notes
Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirely as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Based on the statements from Applicant’s specification, particularly, “A computer readable storage medium, as that term is used in the present disclosure, is not to be construed as storage in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through a fiber optic cable, electrical signals communicated through a wire, and/or other transmission media” from [0053], the claimed “a computer readable storage medium” from claim 8 is interpreted as excluding transitory signal per se, and thus claim 8 is not rejected under 35 U.S.C 101 for signal per se issue.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 4/12/2023. The submissions are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Objections
Claims 2-7, 9-14 and 16-20 are objected to because of the following informalities:
“a processing unit management system” at last line of claim 2 should be: the processing unit management system (note: last line of claim 1 already includes “a processing unit management system”).
Each of claims 9 and 16 is objected under the same reason set forth in the objection of claim 2 above.
Claims 3-7, 10-14 and 17-20 are rejected for failing to cure the deficiency from their respective parent claim by dependency.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
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.
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 of this title, 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 1, 8 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Chopra et al. (US 20240241978 A1, hereafter Chopra) in view of Das et al. (US 20070041384 A1).
Regarding to claim 1, Chopra discloses: A computer-implemented method for global vertical auto-scaling for processing units (see [0039] and [0068]; “perform seamless scaling up and down with little to no intervention on the part of a user (with this functionality, as demand grows, containers may eliminate the need to add more servers or allocate more resources in a costly way)” and “a combination of microservices make applications easier to scale and faster to develop, (iv) each microservice may be updated, deployed, and scaled to meet demand for specific functions of an application”), the method comprising:
periodically learning one or more functions, based on resource consumption metrics samples of processing units; using the one or more functions to obtain a predicted maximal resource consumption value per resource and a predicted minimal resource consumption value per resource for a processing unit (see [0016], [0140]; “obtain and track information (e.g., computing resource utilization data (or key performance metrics) of microservices) regarding the microservices of the data protection module (e.g., 112, FIG. 1 ), (ii) based on (i) and for each microservice, derive a continuous average resource utilization value for each microservice with respect to each resource (described below), (iii) based on (i) and for each microservice, derive a minimum and a maximum resource utilization values for each microservice with respect to each resource”. Also see [0147]-[0148] and [0150]; “the peaks and valleys of daily CPU utilization data of microservice X (where the data shows lots of peaks and valleys), which is obtained at every 15 minutes”, “metrics that are collected historically and (ii) average, minimum, and maximum resource utilization values for each microservice)”);
determining a global priority of the processing unit, wherein the global priority determines a rank of the processing unit in an order of precedence for getting resources (see [0031]; “a “workload” is a physical or logical component configured to perform certain work functions. Workloads may be instantiated and operated while consuming computing resources allocated thereto … Examples of a workload may include (but not limited to): a data protection workload, a VM, a container, a NAS, a database, an application, a collection of microservices, a file system (FS), small workloads with lower priority workloads (e.g., FS data, operating system (OS) data, etc.), medium workloads with higher priority (e.g., VM with FS data, network data management protocol (NDMP) data, etc.), large workloads with critical priority (e.g., mission critical application data)”);
using the predicted resource consumption values for vertical auto-scaling of the processing unit by a processing unit management system (see [0016]; “resource utilization levels of each resource may be derived, in which the resource utilization levels include an average, a minimum, and a maximum resource utilization values. Thereafter, based on the resource utilization levels, health of the first and second microservices may be identified … an issue (e.g., workload mismatch between microservices) that is occurred due to a recent surge in resource utilization levels of a microservice may be resolved proactively (without affecting the entire architecture and the data protection module) by taking a preventive action (e.g., performing workload redistribution, reducing the quantity of unnecessary REST API calls, performing workload placement collaboration, etc.)”. Also see [0176]-[0177]; “ a preventive action may be, for example (but not limited to) … modifying (e.g., adding, removing, etc.) resources allocated to a microservice (for example, to ensure highly available microservices), modifying a predetermined maximum resource utilization value threshold (e.g., increasing a predetermined maximum CPU utilization value threshold from 70% to 88% so that Microservice A can take more workloads)”).
Chopra does not discloses:
calculating a prioritized predicted consumption value per resource for the processing unit, based on the global priority, the predicted maximal resource consumption value, and the predicted minimal resource consumption value; and
using the prioritized predicted consumption value for vertical auto-scaling of the processing unit by a processing unit management system.
However, Das discloses: A computer-implemented method for global vertical auto-scaling for processing units:
determining a global priority of the processing unit, wherein the global priority determines a rank of the processing unit in an order of precedence for getting resources (see [0094], [0102]; “Supports ONU prioritization in bandwidth allocation based upon user-configurable weights” and “excess bandwidth (bandwidth available in a DBA cycle, after all ONUs have been offered their min-SLA values) is divided up among contending ONUs in proportion to their weights using a weighted max-min fair policy. The weight assignments thus allow for a relative prioritization among ONUs, when offering excess bandwidth to contending ONUs”)
calculating a prioritized [predicted] consumption value [per resource] for the processing unit, based on the global priority, the [predicted] maximal resource consumption value, and the [predicted] minimal resource consumption value; and using the prioritized [predicted] consumption value for vertical auto-scaling of the processing unit by a processing unit management system (see [0095]-[0106]; “when using a weighted max-min fairness strategy, bandwidth is allocated to entities in order of increasing demand, normalized by weight, such that no entity receives more than its demand and excess bandwidth is shared among entities with unsatisfied demands, in proportion to their weight(s)”, “By default, the ONU weight is assigned to be equal to its Minimum-Bandwidth value specified in its SLA configuration”, “The ONU weights can also be automatically assigned to be equal to the average of its Minimum SLA-bandwidth and Maximum SLA-bandwidth”. Also see [0112]; “our inventive algorithm divides the remaining bandwidth available in the cycle fairly among ONUs with unsatisfied demands in a weighted max-min fair operation, to produce dynamic grants for the ONUs”. In addition, see [0148]-[0153]; “Consequently, each ONU receives excess bandwidth substantially proportional to its weight. This results in grants of 91 Mbps for ONUs 2 through 5; grants of 182 Mbps for ONUs 6 and 7; and a grant of 273 Mbps for ONU 8”).
It would have been obvious to one with ordinary skill, in the art before the effective filing date of the claim invention, to modify the dynamic resource allocation processes based on predicted maximum and minimum consumption values from Chopra by including dynamic resource allocation processes based on weighted max-min fairness strategy from Das, and thus the combination of Chopra and Das would disclose the missing limitations from Chopra, since “using a weighted max-min fairness strategy, bandwidth is allocated to entities in order of increasing demand, normalized by weight, such that no entity receives more than its demand and excess bandwidth is shared among entities with unsatisfied demands, in proportion to their weight(s)” (see [0097] from Das).
Regarding to Claim 8, Claim 8 is a product claim corresponds to method Claim 1 and is rejected for the same reason set forth in the rejection of Claim 1 above (note: also see claim 11 from Chopra for the claimed limitations related to “A computer program product for … the program instructions executable to”).
Regarding to Claim 15, Claim 15 is a system claim corresponds to method Claim 1 and is rejected for the same reason set forth in the rejection of Claim 1 above (note: also see claim 19 and [0226]-[0227] from Chopra for the claimed limitations related to “the computer system comprising one or more processors … for execution by at least one of the one or more processors, the program instructions executable to”).
Allowable Subject Matter
Claims 2-7, 9-14 and 16-20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Each of claims 2, 9 and 16 contains allowable subject matter. Such allowable subject matter is “extrapolating, from the prioritized predicted consumption value, a resource requirement value per resource and a resource consumption limit value per resource for the processing unit” in conjunction with the rest of the limitations at claims (note: each of claims 2, 9 and 16 depends on claims 1, 8 and 15 respectively, and thus when Examiner indicates the allowable subject matter in conjunction with the rest of the limitations at claim for each of claims 2, 9 and 16, such “the rest of the limitations” include the limitations from each of claims 1, 8 and 15 respectively).
For each of the claims 2, 9 and 16, the claimed invention requires five different resource value parameters for each resource, i.e., claimed “predicted maximal resource consumption value”, claimed “predicted minimal resource consumption value”, claimed “prioritized predicted consumption value”, claimed “resource requirement value” and claimed “resource consumption limit value”; in addition the claimed invention further requires certain particular relationships among these five different resource value parameters: claimed “prioritized predicted consumption value” is calculated based on at least the claimed “predicted maximal resource consumption value” and the claimed “predicted minimal resource consumption value”, the claimed “resource requirement value” and claimed “resource consumption limit value” are extrapolated or determined based on claimed “prioritized predicted consumption value”. Under these required relationships, the pair of claimed “resource requirement value” and claimed “resource consumption limit value” should be not interpreted differently from the pair of claimed “predicted maximal resource consumption value” and claimed “predicted minimal resource consumption value”, at least they are required to indicate different meanings for the resource usage parameters. Without these required relationships described above, the “predicted minimal resource consumption value” can be interpreted as the “resource requirement value” since a minimal resource consumption value is reasonable to be interpreted as the requirement value for the resource usage and the “predicted maximal resource consumption value” can be interpreted as “resource consumption limit value” since a maximal resource consumption value indicates a consumption limit for the resource usage. However, the claimed invention under these required resource usage parameter relationships requires such five different resource usage parameters at the computing environment or system for performing resource vertical scaling operations and particular or specific determinations on such five particular or specific resource usage parameters, i.e., determining claimed “prioritized predicted consumption value” based on the claimed global priority, maximal resource value and minimal resource value, and then determining such certain related threshold values based on such claimed “prioritized predicted consumption value” instead of certain predetermined threshold values.
The remaining claims, not specifically mentioned, also contain such allowable subject matter because they are dependent upon the claims mentioned above.
The followings are some related prior art references:
De Capoa et al. (US 20220035668 A1) discloses: resource allocation is tributed according to comparison of the minimum/maximum future consumption with low/high verification thresholds (see [0097]) and setting the low/high verification thresholds of each of the computing resources to a sum of the workload metrics of the computing resource multiplied by a low/high scaling factor (see [0098]).
Tsunoda et al. (US 8495221 B1) discloses: identify a cost of one or more types of service, a predicted maximum per-client storage space, a predicted latency, and a predicted average or minimum bandwidth and priority values can be used to weight the metrics and determine an overall score (e.g., by summing the weighted metrics) for each service provider (see lines 48-3 of cols. 5-6).
Sebbah et al. (US 20170195410 A1) discloses: resources are dynamically assigned to resource consumers on an on-demand basis (see [0034]) and several resource constraints include: requiring a number of resource consumers that are assigned to a particular pair of resources being below a maximum load for the particular pair of resources (see [0068]), requiring that no resource consumers be assigned to a minimum number of a subset of the pairs of resources, wherein each pair of the subset includes a same resource (see [0094], [0097]).
Shabah et al. (US 20230153142 A1) discloses: a periodical re-organization can exploit real-time resource requirement values depending on the real resource consumption values observed for the virtualized elements (application nodes) already placed (see [0389]).
Castelli et al. (US 10481794 B1) discloses: When provisioning storage, a storage administrator must ensure that each application receives an adequate amount of space, while maintaining or improving performance of a data storage system. Typically, requirements of an application includes a type of disk, a type of a storage tier, a type of RAID level, performance of the application, an initial storage capacity required by the application, and an amount of storage space required for potential growth of the application data (see lines 56-3 of cols. 4-5) and the current technique provides a user of a data storage system (e.g., a storage administrator) a suitability value of a storage pool that changes dynamically based on changes such as growth of application data, an amount of storage space consumed by applications and a number of new applications created in the data storage system (see lines 45-65 of col. 5).
Cardosa et al. (US 9424094 B2) discloses: assigning performs resource allocation for and deployment of the virtual machine to the target physical server based on capabilities of the target physical server and a plurality of virtual machine resource requirements, the plurality of virtualization parameters comprise a minimum parameter for a minimum amount of resources required for a particular virtual machine to operate, a maximum parameter for a maximum limit for resource allocation for the particular virtual machine and a shares parameter for shares allocation of multiple different spare resources between contending virtual machines, and the shares parameter comprises weight information for allocation of processing resources based on a utility priority of applications operating on virtual machines and at least one resource affinity for the contending virtual machines based on application usage of each particular resource, wherein the at least one resource affinity is based at least partially on the minimum parameter and the maximum parameter, and the allocation of processing resources based on the utility priority of applications operating on a virtual machine comprises using the shares parameter of contending virtual machines to determine a processing cycle ratio for distributing processing cycles between different utility priority applications operating on the contending virtual machines (see claim 1).
Tariq et al. (US 20230071281 A1) discloses: The stabilization threshold can help determine whether the processing workload value exceeds an acceptable value. Stability detector 112 can send a signal to the scaling engine and resource optimization engine. Those two components can start to compare various resource usage data (e.g., the resource efficiency, etc.) and make corresponding decisions such as upscaling, outscaling, and resource redistribution (see [0032]).
Chen et al. (US 20220360539 A1) discloses: determine, based on the change amount of the first model parameter value, whether the first model parameter is stable; and if the change amount of the first model parameter value is less than a preset threshold, determine that the first model parameter is stable (see [0057])
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZHI CHEN whose telephone number is (571)272-0805. The examiner can normally be reached on M-F from 9:30AM to 5:30PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, April Y Blair can be reached on 571-270-1014. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center and Private PAIR to authorized users only. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/Zhi Chen/
Patent Examiner, AU2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196