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 1-16 are pending for examination.
Drawings
The drawings are objected to because the figures in page 7-14 contain letters that are not legible. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-16 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim language in the following claims is not clearly understood:
As per claim 1, line 6-7, it is unclear whether “logical clusters of resources” and “resources” are referring to a group of resources of “the plurality of resources” in line 3-4 (i.e. consistent term should be used with “the” or “said” if they are the same)
Line 11-12, it is unclear whether “a plurality of deployment option scores” are determined for “a logical cluster” of the plurality of logical cluster? (i.e. is a single score or plurality of scores determined for each logical cluster?)
Line 13, it is unclear whether “the deployment option score” is one of the “deployment option scores” in line 12 (i.e. consistent term should be used with “the” or “said” if they are the same)
As per claims 9 and 13, they have the same deficiencies as claim 1 above. Appropriate corrections are required.
As per claims 2-8, 10-12, 14-16, they depend from rejected claims and do not resolve the deficiencies thereof and are therefore rejected for at least the same reasons.
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 (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 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, 3-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sharma et al. US Patent 10,198,250 (hereafter Sharma) in view of Wiener et al. US Pub 2019/0306236 (hereafter Wiener).
As per claim 1, Sharma teaches the invention substantially as claimed including a method of optimized deployment of resources on cloud providers, the method comprising: determining an inter-relationship score for a relationship of each of a plurality of resources with each of remaining of the plurality of resources, based on attributes associated with each of the plurality of resources (col 7, line 3-34, determine affinity scores between the resources);
creating one or more logical clusters of resources, by clustering together resources based on the inter-relationship score for relationship of each of the plurality of resources with each of remaining of the plurality of resources, each of the one or more logical clusters comprising a set of resources of the plurality of resources (col 7, line 3-34, generate resource clusters based on the affinity scores for the mapped resources).
Sharma does not explicitly teach for a logical cluster of the plurality of logical clusters, determining a plurality of deployment option scores corresponding to a plurality of deployment options and a plurality of cloud providers, the deployment option score indicative of a feasibility of deploying the logical cluster on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options; and based on the plurality of deployment option scores, for each logical cluster of the plurality of logical clusters, selecting: a cloud provider from the plurality of cloud providers on which the logical cluster is deployed; and a deployment option from the plurality of deployment options using which the logical cluster is deployed.
However, Wiener teaches a logical cluster of the plurality of logical clusters, determining a plurality of deployment option scores corresponding to a plurality of deployment options and a plurality of cloud providers, the deployment option score indicative of a feasibility of deploying the logical cluster on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0007, 0053-0056, 0070-0077], obtain allocation efficiency scores from cloud service providers for the first service group (cluster), and the recommendation engine prioritize the cloud provider with deployment options (configurations including processing power, memory amount));
and based on the plurality of deployment option scores, for each logical cluster of the plurality of logical clusters, selecting: a cloud provider from the plurality of cloud providers on which the logical cluster is deployed; and a deployment option from the plurality of deployment options using which the logical cluster is deployed (para[0007, 0073-0077], based on the efficiency scores, configurations and the costs per unit of time, select an optimal cloud provider to deploy the first service group and migrate the first service group to the selected cloud service provider).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Wiener’s teaching to Sharma’s invention in order to provide a method to determine allocation efficiency of the service group and provide a real time recommendations of migration and/or optimization strategies to help the enterprise allocate its resources among cloud service providers in a more efficient manner (para[0005]).
As per claim 3, Sharma and Wiener teach the method of claim 1, and Wiener teaches wherein determining the plurality of deployment option scores for a logical cluster of the plurality of logical clusters comprises: determining a plurality of cost-factored deployment option scores corresponding to a plurality of combinations of the plurality of deployment options, the plurality of cloud providers, and an associated cost of deployment, the cost-factored deployment option indicative of a cost-feasibility of deploying the logical cluster on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0073-0077], select an optimal cloud provider to deploy the first service group to migrate based on the efficiency scores, configurations and the costs per unit of time);
determining a plurality of time-factored deployment option scores corresponding to a plurality of combinations of the plurality of deployment options, the plurality of cloud providers, and an associated time of deployment, the time-factored deployment option indicative of a time-feasibility of deploying the logical cluster on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0055-0059, 0073-0077], optimal cloud providers with different configurations are selected based on the time of deployment, taking short or long term usage (i.e. saving $X per month over the current costs for hosting this service group, or migrating to company X is cheaper now but more expensive later when exceed Y GB) into a consideration);
and determining the plurality of deployment option scores based on the plurality of cost-factored deployment option scores and the plurality of time-factored deployment option scores (para[0075-0077], selecting the most appropriate cloud provider based on the cost per unit of time, efficiency score, latency, uptime etc.).
As per claim 4, Wiener teaches for a logical cluster of the plurality of logical clusters, determining a plurality of non-functional requirements scores corresponding to a plurality of combinations of a plurality of non-functional requirements and the plurality of cloud providers, the non-functional requirements score indicative of a feasibility of deploying the logical cluster on a cloud provider of the cloud providers based on a non-functional requirement of the plurality of non-functional requirements (para[0061], determine migration likelihood score based on the performance and latency requirements when the first service group to different cloud provider);
and based on the plurality of non-functional requirements scores and the plurality of deployment option scores, for each logical cluster of the plurality of logical clusters, selecting: a cloud provider from the plurality of cloud providers on which the logical cluster is deployed; a deployment option from the plurality of deployment options using which the logical cluster is deployed; and a non-functional requirement from the plurality of non-functional requirements using which the logical cluster is deployed (para[0060-0067], migration likelihood scores for a service group is determined using one or more selected requirements regarding latency, security, performance, efficiency etc., and selecting one cloud service provider to serve as new host based on the likelihood score and the efficiency score).
As per claim 5, Wiener teaches wherein the plurality of non-functional requirements comprise: a scalability requirement, a security requirement, an availability requirement, a reliability requirement, a performance requirement, a monitoring-and-alerting requirement (para[0060-0067], considering latency, security, historical (monitoring/alerting), implications of hybrid or partial migration (scalability), current efficiency requirements are considered when determining the score).
As per claim 6, Wiener teaches further comprising: based on the plurality of deployment option scores, for each logical cluster of the plurality of logical clusters, selecting: a plurality of combinations of a cloud provider from the plurality of cloud providers and a deployment option from the plurality of deployment options, on which the logical cluster is deployed (para[0056-0060], recommend optimization of the first service group to one or more of the cloud service providers and their different resource configurations, thus representing the combinations of the cloud providers).
As per claim 7, Wiener teaches comprising: creating a plurality of workload groupings, by grouping together unique combinations of logical clusters of the one or more logical clusters (para[0029, 0052], identify a first service group, a group of computing modules, programs including email services, internet access, hosting websites or applications);
for a workload grouping of the plurality of workload groupings, determining a plurality of deployment option scores corresponding to a plurality of combinations of the plurality of deployment options and the plurality of cloud providers, the deployment option score indicative of a feasibility of deploying the workload grouping on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0007, 0053-0056, 0070-0077], obtain allocation efficiency scores from cloud service providers for the first service group (cluster), and the recommendation engine prioritize the cloud provider with deployment options (configurations including processing power, memory amount));
and based on the plurality of deployment option scores, for each workload grouping of the plurality of workload groupings, selecting: a cloud provider from the plurality of cloud providers on which the workload grouping is deployed; and a deployment option from the plurality of deployment options using which the workload grouping is deployed (para[0007, 0073-0077], based on the efficiency scores, configurations and the costs per unit of time, select an optimal cloud provider to deploy the first service group and migrate the first service group to the selected cloud service provider).
As per claim 8, Wiener teaches wherein determining the plurality of deployment option scores for a workload grouping of the plurality of workload groupings comprises: determining a plurality of cost-factored deployment option scores corresponding to a plurality of deployment options, a plurality of cloud providers, and an associated cost of deployment, the cost-factored deployment option score indicative of a cost-feasibility of deploying the workload grouping on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0073-0077], select an optimal cloud provider to deploy the first service group to migrate based on the efficiency scores, configurations and the costs per unit of time);
determining a plurality of time-factored deployment option scores corresponding to a plurality of deployment options, a plurality of cloud providers, and an associated time of deployment, the time-factored deployment option score indicative of a time-feasibility of deploying the workload grouping on a cloud provider of the plurality of cloud providers using a deployment option of the plurality of deployment options (para[0055-0059, 0073-0077], optimal cloud providers with different configurations are selected based on the time of deployment, taking short or long term usage (i.e. saving $X per month over the current costs for hosting this service group, or migrating to company X is cheaper now but more expensive later when exceed Y GB) into a consideration);
and determining the plurality of deployment option scores based on the plurality of cost-factored deployment option scores and the plurality of time-factored deployment option scores (para[0075-0077], selecting the most appropriate cloud provider based on the cost per unit of time, efficiency score, latency, uptime etc.).
As per claim 9, it is a system claim of claim 1 above, thus it is rejected for the same rationale.
As per claim 10, it is a system claim of claim 3 above, thus it is rejected for the same rationale.
As per claim 11, it is a system claim of claim 4 above, thus it is rejected for the same rationale.
As per claim 12, it is a system claim of claim 7 above, thus it is rejected for the same rationale.
As per claim 13, it is a non-transitory computer readable medium claim of claim 1 above, thus it is rejected for the same rationale.
As per claim 14, it is a non-transitory computer readable medium claim of claim 3 above, thus it is rejected for the same rationale.
As per claim 15, it is a non-transitory computer readable medium claim of claims 4 and 5 above, thus it is rejected for the same rationale.
As per claim 16, it is a non-transitory computer readable medium claim of claims 7 and 8 above, thus it is rejected for the same rationale.
Claim(s) 2 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sharma in view of Wiener as applied to claim 1 above, and further in view of Mohanty US Pub 2023/0065530 (hereafter Mohanty).
As per claim 2, Sharma and Wiener teach the method of claim 1, but they do not explicitly teach wherein the plurality of deployment options comprise: a virtual machine (VM) deployment, a container deployment, a Kubernetes deployment, a Managed Service deployment, and a Serverless deployment (para[0386, 0391], deployment mode includes Kubernetes, docker container, OpenShift, terraform, and also includes VM configuration for deployment);
and wherein the plurality of resources comprise: a runtime, a server, a RDBMS, a NoSQL, a dashboarding, and a service (para[0079, 0257, 0337, 0378-0381], microservices for development of the frontend and backend of the software product includes a service, a runtime, database server (NoSQL), relational database, dashboard).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Mohanty’s teaching to Sharma and Wiener’s invention in order to provide an architecture to facilitate definition, design, development, or deployment of an application based on a user action, which enables automated cloud-agnostic deployment of each of the plurality of microservices that are included in the software product without introducing delays and risks (para[0005-0012]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Jebbar et al. US Pub 2024/035241 teaches a method comprises selecting a test method for each configured instance in each call path associated with one group of call paths. Then it proceeds to choose the most suitable runtime framework deployment. The deployment options include container deployment, VM deployment, and the deployment using a configuration manager when no other option is available.
Wang et al. US Pub 2023/0029888 teaches determining and recommending an optimal compute resource configuration for a cloud-based resource (e.g., a server, a virtual machine, etc.) for migrating a customer to the cloud. The embodiments described herein utilize a statistically robust approach that makes recommendations that are more flexible and account for the full distribution of the amount of resource usage. Such an approach is utilized to develop a personalized rank of relevant recommendations to a customer.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TAMMY EUNHYE LEE whose telephone number is (571)270-7773. The examiner can normally be reached Mon, Tues, Thur 9PM-4PM.
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, Aimee Li can be reached at (571)272-4169. 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.
/TAMMY E LEE/Primary Examiner, Art Unit 2195