DETAILED ACTION
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-20 have been submitted for examination and are pending further prosecution by the United States Patent & Trademark Office.
Allowable Subject Matter
With respect to independent claim 1, the prior art of record does not teach or suggest, either solely or in combination, the limitations "determining a second accessibility weight for an application programming interface of the respective application programming interfaces based on how often the application programming interface is invoked with at least a subset of the respective application programming interfaces, and based on second respective accessibility weights of the respective first accessibility weights that are associated with at least the subset of the respective application programming interfaces; determining respective total accessibility weights for the respective microservices based on the first accessibility weights and the second accessibility weight; based on the respective total accessibility weights, determining at least one selected microservice of the group of microservices on which to perform chaos testing;" when considered in combination with the other limitations of claim 1.
With respect to independent claim 8, the prior art of record does not teach or suggest, either solely or in combination, the limitations "determining, by the system, a second accessibility weight for an application programming interface of the application programming interfaces based on how often the application programming interface is invoked with at least a subset of the application programming interfaces, and based on second respective accessibility weights of the respective first accessibility weights that are associated with at least the subset of the application programming interfaces; determining, by the system, respective total accessibility weights for the respective microservices based on the first accessibility weights and the second accessibility weight; based on the respective total accessibility weights, determining, by the system, a selected microservice of the microservices on which to perform chaos testing;" when considered in combination with the other limitations of claim 8.
With respect to independent claim 15, the prior art of record does not teach or suggest, either solely or in combination, the limitations "determining a second accessibility weight for an application programming interface of the application programming interfaces based on a frequency with which the application programming interface is invoked with at least a subset of the application programming interfaces, and based on second respective accessibility weights of the respective first accessibility weights that are associated with at least the subset of the application programming interfaces; determining respective total accessibility weights for the respective microservices based on the first accessibility weights and the second accessibility weight; and performing chaos testing on a selected microservice of the microservices based on the respective total accessibility weights." when considered in combination with the other limitations of claim 15.
Note, however, that claims 1-20 are rejected under 35 USC § 101 as being directed to an abstract idea.
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 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 1 recites a system for determining at least one microservice, selected from a group of microservices, on which to perform chaos testing based upon accessibility weights associated with the microservices. Under a broadest reasonable interpretation, claim 1 would fall under the category of mental processes as the claim features limitations performable as mental steps, with the assistance of pen & paper, but without additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea. An analysis of claim 1 according to the 2019 Revised Patent Subject Matter Eligibility test follows:
Step 1: Is the claim directed to a process, machine, manufacture or composition of matter?
Yes, claim 1 is directed to a system and, therefore, a machine.
Step 2A Prong 1: Does the claim recite an Abstract Idea, Law of Nature, or Natural Phenomenon?
Yes, claim 1 recites an abstract idea as the following limitations are performable as mental processes with the assistance of pen & paper: identifying respective first accessibility weights associated with at least some application programming interfaces of respective application programming interfaces exposed by respective microservices of a group of microservices of a microservice architecture; - A developer can manually determine first accessibility weights associated with some APIs, from a collection of APIs, exposed by a group of microservices by examining API call frequency in application logs; determining a second accessibility weight for an application programming interface of the respective application programming interfaces based on how often the application programming interface is invoked with at least a subset of the respective application programming interfaces, and based on second respective accessibility weights of the respective first accessibility weights that are associated with at least the subset of the respective application programming interfaces; - The developer can manually identify a second accessibility weight associated with a particular API, from the collection of APIs, whose execution matches the recited criteria by examining API call frequency in application logs; determining respective total accessibility weights for the respective microservices based on the first accessibility weights and the second accessibility weight; - The developer can manually derive total accessibility weights for the microservices by inputting the first accessibility weights and the second accessibility weight into an equation and solving the equation; based on the respective total accessibility weights, determining at least one selected microservice of the group of microservices on which to perform chaos testing; - The developer can select a microservice to chaos test based upon the calculated total accessibility weights.
Step 2A Prong 2: Does the Claim Recite Additional Elements That Integrate The Judicial Exception Into A Practical Application?
No. While claim 1 recites the additional elements of at least one processor and at least one memory that stores executable instructions which, when executed, perform operations of the claim, these additional elements collectively amount to using a computer as a tool for performing the abstract idea. Therefore, the additional elements do not integrate the abstract idea into a practical application. Claim 1 also recite the additional element of performing the chaos testing on the at least one selected microservice. However, this additional element amounts to an insignificant post-solution activity given that all preceding limitations recite operations for determining which microservice to chaos test. Thus, the additional element does not integrate the abstract idea into a practical application.
Step 2B: Does the Claim Recite Additional Elements That Amount To Significantly More Than The Judicial Exception?
No. While claim 1 recites the additional elements of at least one processor and at least one memory that stores executable instructions which, when executed, perform operations of the claim, these additional elements collectively amount to using a computer as a tool for performing the abstract idea. Therefore, the additional elements does not amount to significantly more than the abstract idea. Claim 1 also recite the additional element of performing the chaos testing on the at least one selected microservice. However, this additional element amounts to an insignificant post-solution activity given that all preceding limitations recite operations for determining which microservice to chaos test. The additional element is also a well-understood, routine, conventional activity (see US 10684940 B1, col. 5:9-29 for example). Thus, the additional element does not amount to significantly more than the abstract idea.
Claim 2 recites the additional elements of introducing a failure to a determined part of the microservice architecture; and measuring an ability of the microservice architecture to overcome the failure according to a defined criterion or a defined metric. However, these limitations essentially describe the process of chaos testing and, therefore, also amount to an insignificant post-solution activity. These additional element are also a well-understood, routine, conventional activity (see US 10684940 B1, col. 5:9-29 for example). Therefore, the additional elements do not integrate the abstract idea into a practical application and do not amount to significantly more than the abstract idea.
Claim 3 is also directed to the abstract idea as the normalization of total accessibility weights and subsequent selection of a microservice can be performed as mental steps by the developer. Claim 3 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 4 is also directed to the abstract idea as the selection of microservices can be performed as mental steps by the developer. Claim 4 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 5 is also directed to the abstract idea as the selection of microservices can be performed as mental steps by the developer. Claim 5 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 6 is also directed to the abstract idea as the selection of microservices can be performed as mental steps by the developer. Claim 6 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 7 is also directed to the abstract idea as the limitations merely elaborate upon limitations found abstract in claim 1 without incorporating additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claim 8 is rejected for substantially the same reasons given for analogous claim 1. Since claim 8 does not recite further additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, the claim is ineligible.
Claim 9 is also directed to the abstract idea as the developer can manually perform the assignment according to the recited condition. Claim 9 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 10 is also directed to the abstract idea as the developer can manually perform the refraining according to the recited condition. Claim 10 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 11 is also directed to the abstract idea as the developer can manually determine the first accessibility weights based upon user input data. Claim 11 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 12 is also directed to the abstract idea as the limitations merely elaborate upon limitations found abstract in claim 11 without incorporating additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claim 13 is also directed to the abstract idea as the limitations merely elaborate upon limitations found abstract in claim 11 without incorporating additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claim 14 is also directed to the abstract idea as the developer can manually perform the criticality analysis and refraining operations. Claim 14 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 15 is rejected for substantially the same reasons given for analogous claim 1. Since claim 15 does not recite further additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, the claim is ineligible.
Claim 16 is also directed to the abstract idea as the developer can manually mark APIs as critical. Claim 16 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 17 is also directed to the abstract idea as the developer can manually repeat the process of identifying a second accessibility weight. Claim 17 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Claim 18 is also directed to the abstract idea as the limitations merely elaborate upon limitations found abstract in claim 17 without incorporating additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claim 19 is also directed to the abstract idea as the limitations merely elaborate upon limitations found abstract in claim 17 without incorporating additional elements that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea.
Claim 20 is also directed to the abstract idea as the developer can determine the frequency of API invocation by manually analyzing logs that include the tracking information. Claim 20 does not recite additional element(s) that integrate the abstract idea into a practical application or amount to significantly more than the abstract idea, as the claim does not recite additional element(s), per se.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 10684940 B1 discloses an artificial intelligence (AI) system for facilitating development of failure-resistant microservices by identifying microservices sharing characteristics with a candidate microservice, building a failure model for the candidate microservice, executing fault-injection tests on the candidate microservice according to the failure model, and suggesting code changes to the identified microservices based upon test results. US 20200242254 A1 discloses a method and system for determining potential exposure of microservices and APIs to third-party libraries with known vulnerabilities by quantifying how often a microservice or API calls a vulnerable library and assigning an impact rating or weight based on the call count. EP 3971751 A1 discloses technology for identifying and prioritizing APIs with vulnerable code by calculating an API usage priority score based on the number and frequency of observed calls to vulnerable APIs. The NPL document "Gremlin: Systematic Resilience Testing of Microservices" proposes Gremlin, a framework for systematically testing the failure-handling capabilities of microservices. The NPL document "Service-Level Fault Injection Testing" proposes Filibuster, a tool for systematically identifying resilience issues early in the development of microservice applications.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GEOFFREY R ST LEGER whose telephone number is (571)270-7720. The examiner can normally be reached M-F (IFP) ~9:00-5:00 pm.
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, Hyung S Sough can be reached at 571-272-6799. 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.
/GEOFFREY R ST LEGER/Primary Examiner, Art Unit 2192