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 office action is in response to applicant’s amendment filed on 04/29/2026.
Claims 1-20 are pending and examined.
The amendment to specification is accepted.
Claims 2-3, 9-10 and 16 recite “the information characterizing…”. Applicant is advised to amend it to “the processor-readable information characterizing…” for better clarity.
Response to Arguments
Applicant’s arguments filed on 04/29/2026 have been fully considered.
Per 103 rejection, applicant’s arguments on claims 1 and 7 are moot in light of new grounds of rejection with new references applied.
The previously issued 101 abstract idea rejection is withdrawn in light of applicant’s amendment and argument.
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 1-4, 8-11 and 15-17 are rejected under 35 U.S.C. 103 as being unpatentable over Gefen et al. (US PGPUB 2021/0216444) hereinafter Gefen, in view of Nidugala et al. (US PGPUB 2023/0401144) hereinafter Nidugala.
Per claim 1, Gefen discloses a method, comprising: automatically performing the following steps, in response to a modification of software code of a given microservice of a plurality of microservices of at least one application: identifying, from a plurality of clusters of microservices, by a processor-based cluster identification module of a processor-based microservices testing manager, one or more clusters, each comprising the given microservice, affected by the modification; wherein the method is performed by the at least one processing device comprising a processor coupled to a memory (claim 1; paragraphs [0043][0045][0062]; a system with processor and memory; a method performed by software modules, identification of a microservice in a group of microservices whose code has been changed by a developer; identifying a group of microservices which are dependent on the modified microservice, i.e. these microservices are affected by the modified microservice); for one or more microservices in the identified one or more clusters, identifying, by the processor-based cluster identification module, using processor-readable information characterizing one or more microservices, one or more test cases that test the respective microservice in the identified one or more clusters; and automatically initiating, by the processor-based cluster identification module, an execution, by at least one processing device, of the identified one or more test cases, that test the one or more microservices in the identified one or more clusters (paragraph [0047]; claim 1; when the distances between the various microservices and the changed microservice are known (information characterizing one or more microservices), a test order may then be generated, the test order may identify a set of test cases performed for each of the various microservices).
While Gefen discloses identifying, by the processor-based cluster identification module, using processor-readable information characterizing one or more microservices, one or more test cases that test the respective microservice in the identified one or more clusters, Gefen does not explicitly teach processor-readable information characterizing one or more microservices tested by one or more test cases of a plurality of test cases, and test the one or more microservices in the identified one or more clusters to evaluate the modification and validate that the modification did not introduce issues into one or more of the plurality of microservices of the at least one application and that the plurality of microservices continues to function in an expected manner. However, Nidugala suggests identifying, using processor-readable information characterizing one or more microservices tested by one or more test cases of a plurality of test cases, one or more test cases that test the respective microservice in the identified one or more clusters (claim 8; paragraphs [0014][0015][0018][0021][0032]; maintain mappings between test cases and features(which correspond to software components), after execution of test cases, the mappings are updated; and use these mappings (processor-readable information characterizing one or more software components tested by one or more test cases) to select a set of test cases to test features (software components) affected by a code change); automatically initiating the identified one or more test cases, that test the one or more microservices in the identified one or more clusters, to evaluate the modification and validate that the modification did not introduce issues into one or more of the plurality of microservices of the at least one application and that the plurality of microservices continues to function in an expected manner (claim 8, paragraph [0014][0002]; execute the selected test cases to test features (software components) affected by a code change; the test cases are to validate the code change, to confirm that the feature worked properly and that the changes did not impact the overall functionality of the application). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention combine Gefen and Nidugala to identify one or more test cases to test affected components (microservices) based on the previous test data of the tested components (microservices), to ensure the correct test cases are selected to test the affected microservices, so the application works properly after the code change (for better software quality).
Per claim 2, Nidugala further suggests wherein the information characterizing the one or more microservices tested by the one or more test cases of the plurality of test cases is obtained by performing a test coverage analysis for the plurality of test cases (claim 8; paragraphs [0014][0015]; the system may use the relationships (information) between test cases and features as well as between source code and features to determine that a testing gap exists, a testing gap is when insufficient tests exist to fully validate the effects of a code change to the impacted features (test coverage analysis)).
Per claim 3, Nidugala further suggests wherein the information characterizing the one or more microservices tested by a given test case is stored as a value in a key-value pair associated with the given test case (claim 8; paragraphs [0014][0015][0032]; the system may use the relationships (information) between test cases and features as well as between source code and features to determine that a testing gap exists; storing the relationships in a database; i.e. storing a database, test case to feature/component mapping (key-value pair)).
Per claim 4, Gefen further suggests reporting one or more test case failures (paragraph [0013]; such embodiments may help to identify failed tests as soon as possible).
Claims 8-11 recite similar limitations as claims 1-4. Therefore, claims 8-11 are rejected under similar rationales as claims 1-4.
Claims 15-17 recite similar limitations as claims 1-4. Therefore, claims 15-17 are rejected under similar rationales as claims 1-4.
Claims 5, 12 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Gefen, in view of Nidugala, and in view of Bandlamudi et al. (US PGPUB 2024/0202177) hereinafter Bandlamudi.
Per claim 5, Gefen does not explicitly teach wherein the plurality of clusters of microservices is generated using a feature vector representation of respective microservices of the plurality of microservices, wherein the feature vector representation of a given microservice comprises a binary value for each of a plurality of microservice endpoints indicating whether the given microservice uses the respective microservice endpoint. However, Gefen discloses identifying a plurality of microservices affected by a code change of a given microservice. Bandlamudi further suggests (paragraph [0006]; generating an application graph, each node in the graph specifies a corresponding microservice and has corresponding microservice attribute information, and each edge between nodes specifies a microservice functionality between microservices of nodes connected by the edge (the given microservice uses the respective microservice endpoint); the microservices are represented as vector representations; compiling the vector representations into entries of a microservice index data structure). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention combine Gefen, Nidugala and Bandlamudi to represent the plurality of microservices as feature vectors, each feature vector contains binary attributes representing whether or not the given microservice uses the respective microservice endpoint, as storing microservice attributes as feature vectors makes attributes more searchable (see Bandlamudi, paragraph [0021]).
Claims 12 and 18 are rejected under similar rationales as claim 7.
Claims 7, 14 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gefen, in view of Nidugala, and in view of Gupta et al. (US patent 9032373) hereinafter Gupta.
Per claim 7, Gefen discloses selecting one or more test cases to test microservices, but does not explicitly teach wherein the execution of one or more test cases associated with a first cluster is performed in parallel with one or more test cases associated with a second cluster that does not overlap with the first cluster. However, Gupta suggests the above (Fig. 2; column 6, line 64- column 7, line 35; provisioning a plurality of test servers to conduct parallel testing using a plurality of test cases, each test server is provisioned with web services (microservices) for testing; each test server executes a test independently so they do not overlap each other). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention combine Gefen, Nidugala and Gupta to parallel test a plurality of test cases on a plurality of independent services containing microservices, this would increase test speed compared to serial testing of test cases.
Claims 14 and 20 are rejected under similar rationales as claim 7.
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 HANG PAN whose telephone number is (571)270-7667. The examiner can normally be reached 9 AM to 5 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, Chat Do can be reached at 571-272-3721. 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.
/HANG PAN/Primary Examiner, Art Unit 2193