Prosecution Insights
Last updated: April 19, 2026
Application No. 18/364,327

TECHNIQUES FOR TELEMETRY DATA COMPARISON FOR REGRESSION DETECTION

Final Rejection §103
Filed
Aug 02, 2023
Examiner
LYONS, ANDREW M
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Oracle International Corporation
OA Round
2 (Final)
74%
Grant Probability
Favorable
3-4
OA Rounds
2y 6m
To Grant
90%
With Interview

Examiner Intelligence

Grants 74% — above average
74%
Career Allow Rate
338 granted / 459 resolved
+18.6% vs TC avg
Strong +16% interview lift
Without
With
+16.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
23 currently pending
Career history
482
Total Applications
across all art units

Statute-Specific Performance

§101
14.2%
-25.8% vs TC avg
§103
57.3%
+17.3% vs TC avg
§102
14.5%
-25.5% vs TC avg
§112
6.0%
-34.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 459 resolved cases

Office Action

§103
–DETAILED ACTION This Action is a response to the reply filed 16 September 2025. Claims 1, 8, 15-16, 18 and 20 are amended; no claims are canceled or newly added. Claims 1-20 remain pending for examination. In view of the amendments and the remarks, and given further consideration, the rejections under 35 U.S.C. § 101 are withdrawn. 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 . Information Disclosure Statement The information disclosure statements (IDS) submitted on 10 July 2025 and 15 September 2025 are being considered by the examiner. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. § 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-4, 6-11 and 13-18 are rejected under 35 U.S.C. § 103 as being unpatentable over Ocariza, Jr. et al., U.S. 2019/0310931 A1 (“Ocariza”) in view of Ross, Joseph Ari, U.S. 11,403,157 B1 (“Ross”). Regarding claim 1, Ocariza teaches: A method for curing defects in software applications (Ocariza, e.g., ¶17, “automatically determine performance regression causes …”), the method comprising: receiving, from a first tracer executing on a web page application and configured to obtain telemetry data and to log tracing data for a first instance ofthe web page application via a span interface, a first tracing log comprising information regarding a first plurality of spans, wherein each span of the first plurality of spans is associated with a corresponding event of the web page application (Ocariza, e.g., ¶22, “execution timelines are generated using the different versions of the application when interacting with a web application … system 102 performs an execution trace, which may record a series of function calls that form call trees … trees include function calls, such as asynchronous function calls … executed during a series of user interactions with the application …” See also, e.g., FIG. 3A, showing old execution timeline 300 which provides function call information associated with each call (event), amd ¶¶23-27, describing the collection of at least total response time (telemetry data). Further, see also that ¶22 describes that computer system 102 performs an execution trace to record series of function calls (i.e. a span interface obtaining telemetry data and logging tracing data comprising information regarding pluralities of spans)); generating, from the first tracing log, a first logical tree that comprises a first plurality of nodes, wherein each node comprises attributes of a respective span of the first plurality of spans, and wherein a first subset of the first plurality of nodes is arranged to represent a first chronological order of execution of events within the first instance of the web page application, and wherein a first additional node of the first plurality of nodes is outside of the first chronological order (Ocariza, e.g., FIG. 8A, showing a first logical tree comprising a first plurality of nodes arranged to represent a first chronological order of events within the first instance (old version), wherein one or more of the nodes may occur outside a particular chronological order); receiving, from a second tracer configured to log tracing data for a second instance of the web page application, a second tracing log comprising information regarding a second plurality of spans, wherein each span of the second plurality of spans is associated with a corresponding event of the web page application (Ocariza, e.g., ¶22, “execution timelines are generated using the different versions of the application when interacting with a web application … system 102 performs an execution trace, which may record a series of function calls that form call trees … trees include function calls, such as asynchronous function calls … executed during a series of user interactions with the application …” See also, e.g., FIG. 3B, showing new execution timeline 304 which provides function call information associated with each call (event)); generating, from the second tracing log, a second logical tree that comprises a second plurality of nodes, wherein each node comprises attributes of a respective span of the second plurality of spans, and wherein a second subset of the second plurality of nodes is arranged to represent a second chronological order of execution of events within the second instance of the web page application, and wherein a second additional node of the second plurality of nodes is outside of the second chronological order (Ocariza, e.g., FIG. 8B, showing a second logical tree comprising a second plurality of nodes arranged to represent a second chronological order of events within the second instance (new version), wherein one or more of the nodes may occur outside a particular chronological order); extracting, from nodes of the first logical tree and the nodes of the second logical tree, a set of spans, the extracting comprising: identifying, (i) a correspondence between a first node in the first logical tree and a second node in the second logical tree, wherein the correspondence indicates that the first node and the second node are associated with a same type of span and (ii) a first difference between a first attribute of the first node and a second attribute of the second node (Ocariza, e.g., ¶52, “function findCriticalGraph assumes that the pair of nodes (rold, rnew) represents matching nodes … findMatchingNodes algorithm, which outputs an array of M node pairs, with each pair representing matching nodes between the children of node rold and the children of node rnew in line 4 where the response time difference is at least the minimum response time difference u …” See also, e.g., ¶¶53-54, distinguishing between a first scenario wherein a new function is present in vnew and second scenario wherein a node in vold and vnew match (are the same function). Examiner’s note: matching nodes are a correspondence between a first node in a first tree (old) and a second node in a second tree (new), i.e., the same function (see ¶45), representative of a same type of span, wherein the attribute is response time having a measurable difference. Applicant provides examples of same span type including being associated with element rendering or a user interaction; these are representative of certain function calls (i.e., a function called in response to a user clicking on a button). Ocariza describes examples of function calls (¶22) as those executed in response to user interactions with the application’s interface. That the function calls are of a same type is consistent with them being of a same span type as set forth in the claim and explained in the response); identifying, (i) a plurality of common nodes between the first subset of the first plurality of nodes and the second subset of the second plurality of nodes, and (ii) a second difference between the first chronological order and the second chronological order (Ocariza, e.g., ¶39, “determining pairs of matching functions in the execution timelines … even considering some top-level functions may change in order or new functions may be introduced …” ¶56, “main matching algorithm used, which finds the longest common subsequence (LCS) … LCS preserves the order in which the functions are called even in cases where the same function is called in multiple, non-consecutive instances and considers the possibility of function calls being added and removed across versions …”); extracting one or more spans based on the first difference between the first attribute of the first node and the second attribute of the second node and the second difference between the first chronological order and the second chronological order (Ocariza, e.g., ¶51, “timeline comparison processor 202 iterates through the timelines to generate critical path graphs … Each critical graph generated from each comparison is placed in the set of critical graphs C … critical graph follows the call path to the performance regression causes … call graph of functions needed to reach the performance regression causes is depicted in critical graph 900 …” Examiner’s note: the matching algorithms disclosed in the preceding limitations determines which nodes are extracted, wherein the nodes are consistent with and correspond with their respective spans, and wherein the node functions are called in different orders in the old and new telemetry arrays, as discussed above); and generating a [] report of the set of spans, wherein errors are confirmed based at least in part on the [textual] report (Ocariza, e.g., ¶51, “timeline comparison processor 202 outputs the critical path graphs and the root nodes of the critical path graphs.” See also, e.g., ¶66, “embodiments perform automated comparisons of execution timelines to determine performance regression causes …”). Ocariza does not more particularly teach that the generated report of the set of spans is a textual report. However, Ross does teach: [wherein the report is a] textual report [of the set of spans] (Ross, e.g., FIG. 13 and 17:26-35, “results of a trace analysis … an identified trace 1302 has been determined to be correlated to a highest error rate … shows that ‘payment: /payment/execute’ is the most downstream endpoint that is contributing to the alert … display an identified infrastructure element 1304 that is likely to be causing the alert …” Examiner’s note: the methods disclosed in Ross pertain to comparing traces to identify a trace or subtrace that is the most likely cause of an error. The GUI of FIG. 13 represents a combination of graphical and textual description of the determined trace) for the purpose of providing informative visualizations and additional information regarding application performance issues and alerts (Ross, e.g., 16:50-17:45). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for trace-based software performance regression analysis using execution timelines as taught by Ocariza to provide that the generated report of the set of spans is a textual report because the disclosure of Ross shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for application endpoint performance regression analysis to provide that the generated report of the set of spans is a textual report for the purpose of providing informative visualizations and additional information regarding application performance issues and alerts (Ross, Id.). Claims 8 and 15 are rejected for the reasons given in the rejection of claim 1 above. Examiner notes that with respect to claim 8, Ocariza further teaches: A system comprising: a non-transitory computer-readable medium storing computer-executable program instructions; and a processing device communicatively coupled to the non-transitory computer-readable medium for executing the computer-executable program instructions, wherein executing the computer-executable program instructions configures the processing device to perform operations (Ocariza, e.g., ¶68, “computer system 101 includes … processor 1001 coupled with bus 1005 … memory coupled to bus 1005 for storing information and instructions to be executed by processor 1001 …” See also, e.g., ¶72, “a non-transitory computer-readable storage medium for use by … instruction execution system, apparatus … contains instructions for controlling a computer system to perform a method described by the particular embodiments …”) comprising: [[[the method of claim 1]]]; and with respect to claim 15, Ocariza further teaches: A non-transitory computer-readable storage medium storing computer-executable program instructions, wherein when executed by a processing device, the computer-executable program instructions cause the processing device to perform operations (Ocariza, e.g., ¶72, “a non-transitory computer-readable storage medium for use by … instruction execution system, apparatus … contains instructions for controlling a computer system to perform a method described by the particular embodiments …”) comprising: [[[the method of claim 1]]]. Regarding claim 2, the rejection of claim 1 is incorporated, and Ocariza further teaches: identifying, from the extracted spans, a software defect in the second instance of the web page application (Ocariza, e.g., ¶38, “Identification of the function utf as the performance regression …”); and responsive to identifying the software defect, correcting the software defect in the second instance of the web page application (Ocariza, e.g., ¶38, “… allow a user to search for the software commit that added the new function calls to utf in the source code, which would help the user who developed the change further localize the regression at the source code level and eventually come up with a fix to the regression …”). Regarding claim 3, the rejection of claim 1 is incorporated, and Ocariza further teaches: wherein the attributes include one or more of: a type of error associated with the span, a timestamp, a duration of the span, a type of operation, a type of event, a parent span of the span, and a child span of the span (Ocariza, e.g., FIGS. 3A-3B, wherein each span includes at least a duration, a type of operation/event, and parent/child spans (if any)). Regarding claim 4, the rejection of claim 1 is incorporated, and Ocariza further teaches: determining, from the identified spans, the first difference and the second difference to be greater than a predetermined threshold (Ocariza, e.g., ¶52, “function findCriticalGraph assumes that the pair of nodes (rold, rnew) represents matching nodes … findMatchingNodes algorithm, which outputs an array of M node pairs, with each pair representing matching nodes between the children of node rold and the children of node rnew in line 4 where the response time difference is at least the minimum response time difference u …” Examiner’s note: Ocariza also considers whether a node in the new timeline is not present in the old timeline, while a plurality of other nodes, including a largest common subsequence, are present in both timelines. The new node without the matching ancestor is determined as critical with an execution time greater than the minimum response time difference (see ¶29). That is, a plurality of nodes executes in a different order (old timeline lacks the new function) with a threshold difference in execution time represented by the changed order); and receiving, from a third tracer configured to log tracing data for a third instance of the web page application, a third tracing log comprising information regarding a third plurality of spans, wherein each span of the third plurality of spans is associated with a corresponding event of the web page application (Ocariza, e.g., ¶31, “timeline comparison processor 202 receives the old timelines, new timelines, and a set of parameters. The set of old timelines [] are execution timelines from application v1 104-1. A set of new timelines [] are execution timelines from another version of the application …” Examiner’s note: at least one of the old and new timelines represents a third timeline from a first old timeline and a second new timeline). Claims 9-11 and 16-18 are rejected for the additional reasons given in the rejections of claims 2-4 above. Regarding claim 6, the rejection of claim 1 is incorporated, and Ross further teaches: wherein the textual report includes a comparison of the second logical tree and the second logical tree (Ross, e.g., FIG. 13 and 17:26-35, “results of a trace analysis … an identified trace 1302 has been determined to be correlated to a highest error rate … shows that ‘payment: /payment/execute’ is the most downstream endpoint that is contributing to the alert … display an identified infrastructure element 1304 that is likely to be causing the alert …” Examiner’s note: the methods disclosed in Ross pertain to comparing traces to identify a trace or subtrace that is the most likely cause of an error. The GUI of FIG. 13 represents a combination of graphical and textual description of the determined trace). Regarding claim 7, the rejection of claim 1 is incorporated, and Ocariza further teaches: identifying an additional difference between an additional attribute of the first node and an additional attribute of the second node; and ignoring the additional difference based on attribute type (Ocariza, e.g., ¶32, “A critical graph represents a new timeline, but with nodes that are considered irrelevant to the performance regressions being filtered out …” See also, e.g., ¶41, “extraneous event handlers that may be triggered by the user while interacting with the application, such as in the case of the function hover …” See also, e.g., ¶42, “performance varies from execution to execution … comparison of an old timeline and a new timeline may show extraneous performance regressions … multiple pairs of timelines often need to be generated and compared …” See also, e.g., ¶48, “Nodes representing anonymous functions may be removed … often provide little valuable information to a user and, more importantly, the functions make the approach more susceptible to false positives since the approach might mistake two different anonymous functions to be the same …” Examiner’s note: anonymous functions will be filtered out (ignored) even if the differences thereof exceed the attribute difference threshold otherwise considered). Claims 13-14 are rejected for the additional reasons given in the rejections of claim 6-7 above. Claims 5, 12 and 19-20 are rejected under 35 U.S.C. § 103 as being unpatentable over Ocariza in view of Ross, and in further view of Mola, Jordi, U.S. 2021/0216438 A1 (“Mola”). Regarding claim 5, the rejection of claim 1 is incorporated, but Ocariza in view of Ross does not more specifically teach that the second web page application instance is a simulation of the first web page application instance. However, Mola does teach: wherein the second instance of the web page application is a simulation of the first instance of the web page application (Mola, e.g., ¶55, “debugging component 109 leverages the emulation component 111 in order to emulate execution of code of … application(s) 112, based on execution state data obtained from at least one execution trace …”) for the purpose of determining trace differences among the outputs of live and emulated instances of application variations for robust testing and analysis (Mola, e.g., ¶¶55-60). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system and method for trace-based software performance regression analysis using execution timelines as taught by Ocariza in view of Ross to provide that the second web page application instance is a simulation of the first web page application instance because the disclosure of Mola shows that it was known to those of ordinary skill in the pertinent art to improve a system and method for trace differential analysis to provide that the second web page application instance is a simulation of the first web page application instance for the purpose of determining trace differences among the outputs of live and emulated instances of application variations for robust testing and analysis (Mola, Id.). Claims 12 and 19 are rejected for the additional reasons given in the rejection of claim 5 above. Regarding claim 20, the rejection of claim 19 is incorporated, and Ocariza further teaches: wherein when executed by a processing device, the computer-executable program instructions cause the processing device to perform operations comprising: identifying an additional difference between an additional attribute of the first node and an additional attribute of the second node; and ignoring the additional difference based on attribute type (Ocariza, e.g., ¶32, “A critical graph represents a new timeline, but with nodes that are considered irrelevant to the performance regressions being filtered out …” See also, e.g., ¶41, “extraneous event handlers that may be triggered by the user while interacting with the application, such as in the case of the function hover …” See also, e.g., ¶42, “performance varies from execution to execution … comparison of an old timeline and a new timeline may show extraneous performance regressions … multiple pairs of timelines often need to be generated and compared …” See also, e.g., ¶48, “Nodes representing anonymous functions may be removed … often provide little valuable information to a user and, more importantly, the functions make the approach more susceptible to false positives since the approach might mistake two different anonymous functions to be the same …” Examiner’s note: anonymous functions will be filtered out (ignored) even if the differences thereof exceed the attribute difference threshold otherwise considered). Response to Arguments In the Remarks, Applicant Argues: Claim 1, as amended, integrates any judicial exception into a practical application thereof; in particular, the Specification (¶¶2, 32, 101-104, 118) describes improvements to computer or other technology, and the claim recites these improvements (Resp. at 11-15). The improvements comprise extracting particular sets of spans, generating a textual report based on the sets of spans, and confirming errors based at least in part on the textual report (id. at 14-15). The other independent claims recite similar subject matter; in view of the foregoing, the claims should be deemed eligible (id. at 15). Examiner’s Response: After further consideration of the claims in view of the amendments and the remarks, Examiner has withdrawn the rejections under 35 U.S.C. § 101. Applicant Further Argues: Claim 1, as amended, distinguishes over Ocariza, as Ocariza does not teach or suggest extracting a set of spans from nodes of a first logical tree and a second logical tree, and is silent regarding spans that are associated with a corresponding event of the web page application (Resp. at 15-16). Ocariza does not teach or suggest extracting one or more spans based on the first difference between the first attribute of the first node and a second attribute of the second node and the second difference between the first and the second chronological order (id. at 16). More particularly, Ocariza (¶52) describes a findMatchingNodes algorithm that outputs an array of node pairs representing matching nodes between the children of node rold and rnew, but this does not teach that a correspondence between a first node in the first logical tree and a second node in the second logical tree indicates that the first node and the second node are associated with a same type of span (id.). Accordingly, claim 1 and its dependent claims should be deemed allowable; claims 8 and 15 recite similar subject matter and these and their dependent claims should be deemed allowable for similar reasons (id.). Examiner’s Response: As discussed in the rejection, Ocariza discloses extracting a set of spans from a first and second logical tree that correspond to the same type of span (i.e., a same type of function / event call) and have differences in response time (difference between first and second attributes of the first and second nodes) and in call order (differences in first and second chronological order). In view of the foregoing, Examiner maintains the rejections under 35 U.S.C. § 103 consistent with the new grounds set forth in full above. 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. Examiner has identified particular references contained in the prior art of record within the body of this action for the convenience of Applicant. Although the citations made are representative of the teachings in the art and are applied to the specific limitations within the enumerated claims, the teaching of the cited art as a whole is not limited to the cited passages. Other passages and figures may apply. Applicant, in preparing the response, should consider fully the entire reference as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art and/or disclosed by Examiner. Examiner respectfully requests that, in response to this Office Action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application. When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 C.F.R. 1.111(c). Examiner interviews are available via telephone and video conferencing using a USPTO-supplied web-based collaboration tool. Applicant is encouraged to submit an Automated Interview Request (AIR) which may be done via https://www.uspto.gov/patent/uspto-automated-interview-request-air-form, or may contact Examiner directly via the methods below. Any inquiry concerning this communication or earlier communication from Examiner should be directed to Andrew M. Lyons, whose telephone number is (571) 270-3529, and whose fax number is (571) 270-4529. The examiner can normally be reached Monday to Friday from 10:00 AM to 6:00 PM ET. If attempts to reach Examiner by telephone are unsuccessful, Examiner’s supervisor, Wei Mui, can be reached at (571) 272-3708. Information regarding the status of an application may be obtained from the Patent Center system. For more information about the Patent Center system, see https://www.uspto.gov/patents/apply/patent-center. If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call (800) 786-9199 (in USA or Canada) or (571) 272-1000. /Andrew M. Lyons/Primary Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Aug 02, 2023
Application Filed
Jun 13, 2025
Non-Final Rejection — §103
Aug 29, 2025
Examiner Interview Summary
Aug 29, 2025
Applicant Interview (Telephonic)
Sep 16, 2025
Response Filed
Jan 05, 2026
Final Rejection — §103
Feb 27, 2026
Interview Requested
Mar 16, 2026
Examiner Interview Summary
Mar 16, 2026
Applicant Interview (Telephonic)
Apr 08, 2026
Request for Continued Examination
Apr 12, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602311
METHOD, DEVICE, SYSTEM, AND COMPUTER PROGRAM FOR COVERAGE-GUIDED SOFTWARE FUZZING
2y 5m to grant Granted Apr 14, 2026
Patent 12602203
INTEGRATION FLOW DESIGN GUIDELINES VALIDATOR
2y 5m to grant Granted Apr 14, 2026
Patent 12596542
GENERATING AND DISTRIBUTING CUSTOMIZED EMBEDDED OPERATING SYSTEMS
2y 5m to grant Granted Apr 07, 2026
Patent 12585465
DYNAMIC PROJECT PLANNING FOR SOFTWARE DEVELOPMENT PROJECTS
2y 5m to grant Granted Mar 24, 2026
Patent 12585453
SYSTEMS AND METHODS FOR UPDATING WITNESS SLED FIRMWARE
2y 5m to grant Granted Mar 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
74%
Grant Probability
90%
With Interview (+16.1%)
2y 6m
Median Time to Grant
Moderate
PTA Risk
Based on 459 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month