Prosecution Insights
Last updated: April 19, 2026
Application No. 18/067,871

GENERATION OF DATA TRANSFORMATIONS USING FINGERPRINTS

Non-Final OA §101§103
Filed
Dec 19, 2022
Examiner
RYLANDER, BART I
Art Unit
2124
Tech Center
2100 — Computer Architecture & Software
Assignee
International Business Machines Corporation
OA Round
1 (Non-Final)
62%
Grant Probability
Moderate
1-2
OA Rounds
3y 10m
To Grant
77%
With Interview

Examiner Intelligence

Grants 62% of resolved cases
62%
Career Allow Rate
68 granted / 109 resolved
+7.4% vs TC avg
Moderate +15% lift
Without
With
+15.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 10m
Avg Prosecution
29 currently pending
Career history
138
Total Applications
across all art units

Statute-Specific Performance

§101
19.8%
-20.2% vs TC avg
§103
62.8%
+22.8% vs TC avg
§102
7.4%
-32.6% vs TC avg
§112
7.1%
-32.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 109 resolved cases

Office Action

§101 §103
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 submission of application on 12/19/2022. Claims 1-20 are presented for examination. 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 over 35 U.S.C. §101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Is the claim to a process, machine, manufacture or composition of matter? Claims 1-10 are directed to a method (i.e., a process); claims 11-15 are directed to a computer program product (i.e., a product); and claims 16-20 are directed to a computer system (i.e., a machine/apparatus); therefore, all pending claims are directed to one of the four categories of invention. Step 2A: Prong 1: Does the claim recite an abstract idea, law of nature, or natural phenomenon? Claim 1 recites the limitations of: determining, by one or more processors of a computer system, N source patterns respectively describing N different formats in which N sets of source data items are formatted, wherein each source pattern comprises an ordered sequence of source strings, wherein N ≥ 1, and wherein if N > 1 then the N different formats are mutually compatible – mental process (observation, evaluation, judgement) as a human mind can determine a number of source patterns describing a number of formats. determining, by the processor, a target format pattern describing a target format in which a plurality of target data items is formatted, wherein the target format differs from and is mutually compatible with each different format of the N different formats of the N source patterns, wherein the target format pattern comprises an ordered sequence of target strings – mental process (observation, evaluation, judgement) as a human mind can determine a target format pattern describing a target format. generating, by the one or more processors, N graphs respectively describing transformations of the N source patterns to the target pattern, wherein each graph comprises a plurality of transformation paths, resulting in N pluralities of transformation paths having been generated – mental process (observation, evaluation, judgement) as a human mind can generate a number of graphs describing the transformations to the target pattern. selecting, by on the one or more processors, from each plurality of transformation paths, a single transformation path, resulting in N single transformation paths having been selected – mental process (observation, evaluation, judgement) as a human mind can select a single transformation path from a plurality of transformation paths. which are abstract ideas. Step 2A: Prong 2: Does the claim recite additional elements that integrate the judicial exception into a practical application? The claim recites the additional elements of: A method for transforming one or more sets of source data having different formats into respective sets of target data having a same format – mere description of the intent of the claimed invention. As such, this merely identifies a field of use. See MPEP 2106.05(h). the N pluralities of transformation paths respectively correspond to the N source patterns, and wherein each transformation path of each graph transforms the source pattern to the target pattern in a manner that maps one or more portions of source strings in the source pattern to each target string of one or more target strings in the target pattern – description of the result of the abstract idea. As such, this merely describes a field of use. See MPEP 2106.05(h). The additional elements do 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? A method for transforming one or more sets of source data having different formats into respective sets of target data having a same format – mere description of the intent of the claimed invention. As such, this merely identifies a field of use. See MPEP 2106.05(h). the N pluralities of transformation paths respectively correspond to the N source patterns, and wherein each transformation path of each graph transforms the source pattern to the target pattern in a manner that maps one or more portions of source strings in the source pattern to each target string of one or more target strings in the target pattern – description of the result of the abstract idea. As such, this merely describes a field of use. See MPEP 2106.05(h). The additional elements do not amount to significantly more than the abstract idea. Therefore, the claim is not patent eligible. Independent claims 11 and 16 recite the same relevant limitations and a similar analysis applies. Claim 11 recites the additional elements of “A computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method for transforming one or more sets of source data having different formats into respective sets of target data having a same format” – components recited at a high level are construed as generic computer components used to implement the abstract idea. See MPEP 2106.05(f)(2). As such, the limitations do not integrate the abstract idea into a practical application. Nor to do they amount to significantly more. Claim 16 recites the additional limitations of “A computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement a method for transforming one or more sets of source data having different formats into respective sets of target data having a same format” – components recited at a high level are construed as generic computer components used to implement the abstract idea. See MPEP 2106.05(f)(2). As such, the limitations do not integrate the abstract idea into a practical application. Nor to do they amount to significantly more. Therefore, the independent claims are not patent eligible. A similar analysis applies to the dependent claims. Claims 2, 12, and 17 recite the additional elements of “the target pattern and each source format pattern are regular expressions” – description of the data merely identifies a field of use. See MPEP 2106.05(h). Claims 3, 13, and 18 recite the additional elements of “N = 1” - The specification recites “One or more processors of a computer system determine N source patterns respectively describing N different formats in which N sets of source data items are formatted.” (Specification, paragraph [0004].) Therefore, examiner is interpreting N=1 as referring to the number of source patterns. This is a description of a limitation on the data, as such, it merely identifies a field of use. See MPEP 2106.05(h)(iii). Claims 4, 14, and 19 recite the additional elements of “N ≥ 2” - description of a limitation on the data merely identifies a field of use. See MPEP 2106.05(h)(iii). Claims 5, 15, and 20 recite the additional elements of “converting, by the processor using computer software, n sets of source data items having respective n different formats of the N different formats into the target format, using respective n different single transformation paths of the N single transformation paths to perform said converting, wherein 2 ≤ n ≤ N” – mental process (observation, evaluation, judgement) as a human mind can convert the format of source data to a target format; and “storing, by the processor in the hardware data storage of the computer system, the converted n sets of source data items, which provides access to the converted n sets of source data items in the target format by multiple users of the computer system regardless of the n different formats in which the n sets of source data items were formatted before said converting” – storing data is insignificant, extra-solution activity. See MPEP 2106.05(g). Storing data is well-understood, routine, and conventional. See MPEP 2106.05(d)(II)(iv). Claim 6 recites the additional elements of “prior to said converting, generating the computer software by an Application Specific Integrated Circuit (ASIC)) designed only and specifically for generating the computer software, wherein specific features of transformation paths are built into the hardware of the ASIC” – computer components recited at a high level are construed as generic components used to implement the abstract idea. See MPEP 2106.05(f)(2) Claim 7 recites the additional elements of “removing all transformation paths having at least one redundant source string entity, which changes the plurality of transformation paths to a remaining one or more transformation paths” – mental process (observation, evaluation, judgement) as a human mind can remove redundant paths in a graph; and “selecting, by the one or more processors from the remaining one or more transformation paths, the single transformation path” – mental process (observation, evaluation, judgement) as a human mind can select a single path from a plurality of paths. Claim 8 recites the additional elements of “ranking the two or more transformation paths” – mental process (observation, evaluation, judgement) as a human mind can rank paths; and “selecting the highest ranked transformation path as the single transformation path” – mental process (observation, evaluation, judgement) as a human mind can select the highest ranked path. Claim 9 recites the additional elements of “ranking the two or more transformation paths” – mental process (observation, evaluation, judgement) as a human mind can rank paths; “transmitting the ranked two or more transformation paths to a user” – sending data is insignificant, extra-solution activity. See MPEP 2106.05(g). Transmitting data is well-understood, routine, and conventional. See MPEP 2106.05(d)(II)(i).; “receiving, from the user, the user’s selection of one transformation paths of the ranked two or more transformation paths as the single transformation path” – inputting data is insignificant, extra-solution activity. See MPEP 2106.05(g). Transmitting data is well-understood, routine, and conventional. See MPEP 2106.05(d)(II)(i).; . Claim 10 recites the additional elements of “randomly selecting a transformation path from the two or more transformation paths as the single transformation path” – mental process (observation, evaluation, judgement) as a human mind can randomly select a path. The additional elements do not integrate the abstract idea into a practical application. Nor do they amount to significantly more. Therefore, claims 1-20 are not patent eligible. 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. Claims 1-9, and 11-20 are rejected under 35 U.S.C. § 103 as being unpatentable over Singh, et al, (US 10,713,429 B2, Joining Web Data with Spreadsheet Data using Examples, herein Singh), and Gulwani, et al (Example Management for String Transformation, herein Gulwani). Regarding claim 1, Singh teaches a method for transforming one or more sets of source data having different formats into respective sets of target data having a same format (Singh, FIG. 21, and, column 23, line 45 “A method for integrating web data into a document.” PNG media_image1.png 645 859 media_image1.png Greyscale In other words, method is method, web data is one or more sets of source data of different formats, and, document is target data having a same format.), said method comprising: determining, by one or more processors of a computer system, N source patterns respectively describing N different formats in which N sets of source data items are formatted (Singh, column 1, line 35 “…the common data key to join the two sources (spreadsheet and webpage) might be in different formats, which requires writing additional logic to transform the data before performing the join.” And, column 2, line 28 “…the system comprising one or more processors…” In other words, two sources is N source patterns, different formats is N different formats, system is computer system and one or more processors is one or more processors.) , wherein each source pattern comprises an ordered [sequence of source strings] (Singh, column 4, line 54 “The first sub-task learns a program (e.g., a string transformation program) to transform input rows to URL strings that correspond to the webpages where the relevant data is present.” In other words, input rows is source pattern.), wherein N ≥ 1, and wherein if N > 1 then the N different formats are mutually compatible (Singh, column 6, line 1 “FIGS. lA and 1B illustrate an example (Example 1) of joining web data with relational data. In a first example scenario, a user wishes to retrieve current stock prices for hundreds of company symbols (Company column 102) as shown in data table (e.g., spreadsheet) 100 of FIG. lA. In an embodiment, given one example row in the table, the system automatically completes the URL and extracts the stock prices for other row entries 105 (shown in bold in rows 2-4 of the table).” And, column 7, line 10 “The more challenging part of this integration task is that the data from the web page 310 should be extracted based on the Date column in the input. Moreover, the format of the date in the web page 310 (e.g., "Nov. 3, 2016") is different from the format of the date in the spreadsheet 300 (e.g., "03, November"). In accordance an embodiment, the data extraction DSL of the system allows to learn a program that first transforms the date to the required format and then extracts the conversion rate element whose left sibling contains the transformed date value.” Examiner notes, the specification of the instant application recites “The N different formats of the N sets of source data items and the target format of the target data items are mutually compatible, meaning by definition herein that the data in each of the N sets of source data items and the data in the set of target data items are in a same class.” Therefore, examiner is interpreting that mutually compatible refers to classes such as “dates” or “addresses”. In other words, example row of stock prices is the class, and transforms the date to the required format is N different formats that are mutually compatible.) ; determining, by the processor, a target format pattern describing a target format in which a plurality of target data items is formatted (Singh, See above mapping. In other words, required format is target format, and different portions of “dates”, such as day, is a plurality of target data items.) , wherein the target format differs from and is mutually compatible with each different format of the N different formats of the N source patterns, wherein the target format pattern comprises an ordered sequence of target strings (Singh, column 7, line 50 “For example, in an embodiment, a user starts with some tabular data in a spreadsheet (405). The user can provide URL examples in a variety of ways. For example, a user can provide example URLs (410) simply as strings for cases where the URLs can be constructed completely using some transformations on the input data ( 405) and constant strings. In accordance with an embodiment, a URL String Synthesizer module 420 may be configured to automatically generate the URLs for the other inputs ( 405) in the spreadsheet.” In other words, URL is target format, user can provide example URLs (410) simply as strings is mutually compatible formats that is an ordered sequence of strings.); generating, by the one or more processors, N graphs respectively describing transformations of the N source patterns to the target pattern, wherein each graph comprises a plurality of transformation paths, resulting in N pluralities of transformation paths having been generated (Singh, FIG 15, and column 10, line 1 “The synthesis process 700 may take as input a set of n input-output examples { v,, o,} ,, and the three Boolean functions A,, "-c, and "-a that parameterize the search space, and returns a program that is consistent with the set of examples. In an embodiment, the process 700 may first use, for example, a GenDag procedure 704 to learn a Directed Acyclic Graph (DAG) consisting of all consistent programs for the first example.” “FIG. 14 illustrates an example process for intersecting two paths in two predicates graphs, according to one or more embodiments described herein.” PNG media_image2.png 175 973 media_image2.png Greyscale FIG. 15 In other words, learn a DAG is generate a graph showing transformation paths, and consistent programs are transformations of N source formats to the target format.) , wherein the N pluralities of transformation paths respectively correspond to the N source patterns, and wherein each transformation path of each graph transforms the source pattern to the target pattern in a manner that maps one or more portions of source strings in the source pattern to each target string of one or more target strings in the target pattern (Singh, See above mapping, and, column 3, line 49 “FIG. 9 illustrates an example process 900 for searching for a predicate program from a DAG. In an embodiment, the process 900 is for searching for a best (e.g., optimal) and consistent predicate program from the DAG learned by LearnPred.” and, column 3, line 62 “FIG. 15 illustrates an example of refining a path in a predicates graph using other examples, according to one or more embodiments described herein.” And column 11, line 57 “In an embodiment, the process 900 is considered a modification to the Dijkstra shortest path algorithm and uses a ranking scheme described in greater detail below to rank each atomic 60 program in the DAG.” In other words, multiple predicate programs are N transformation paths corresponding to N source patterns, and paths in a DAG is transformation paths of each graph.) ; and selecting, by the one or more processors from each plurality of transformation paths, a single transformation path, resulting in N single transformation paths having been selected (Singh, See above mapping, and, column 3, line 49 “FIG. 9 illustrates an example process 900 for searching for a predicate program from a DAG. In an embodiment, the process 900 is for searching for a best (e.g., optimal) and consistent predicate program from the DAG learned by LearnPred.” And, column 11, line 57 “In an embodiment, the process 900 is considered a modification to the Dijkstra shortest path algorithm and uses a ranking scheme described in greater detail below to rank each atomic 60 program in the DAG.” In other words, searching for a best program from the DAG and selecting the shortest path is selecting a single transformation path.). Thus far, the Singh does not explicitly teach sequence of source strings. Gulwani teaches sequence of source strings (Gulwani, column 12, line 23 “In an example, at a computing device, a method for transforming strings comprises: identifying, programmatically, a plurality of candidate example input strings from a dataset including a set of input strings;” In other words, set of input strings is sequence of source strings.) Both Singh and Gulwani are directed to transforming strings from one format to another, among other things. Singh teaches a method for transforming one or more sets of source data having different formats into respective sets of target data having a same format, said method comprising determining, by one or more processors of a computer system, N source patterns respectively describing N different formats in which N sets of source data items are formatted; but does not explicitly teach each source pattern is a sequence of source strings. Gulwani teaches each source pattern is a sequence of source strings. In view of the teaching of Singh, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Gulwani into Singh. This would result in a method for transforming one or more sets of source data having different formats into respective sets of target data having a same format, said method comprising determining, by one or more processors of a computer system, N source patterns respectively describing N different formats in which N sets of source data items are formatted wherein each source pattern is a sequence of source strings. One of ordinary skill in the art would be motivated to do this because transforming dataset formats from one form to another is time consuming and error prone. An automated way to perform the transformation would save time and money. (Gulwani, column 1, line 34 “Transforming alphanumeric strings in a dataset from one form to another can be a tedious, time-consuming, and error-prone process. Such datasets often include thousands or even millions of alphanumeric string entries. This can make it impossible to manually perform even basic data transformation operations, such as extractions, merges, and derivations. Still further, and perhaps even more difficult, is determining and generating the code necessary to make desired transformations.” Regarding claim 2, The combination of Singh and Gulwani teaches the method of claim 1, wherein the target pattern and each source format pattern are regular expressions (Singh, column 6, line 36 “In this second example, in accordance with at least one embodiment, the URL generator program first needs to learn regular expressions to extract the city-name and state from the address and then concatenate them appropriately with 40 some constant strings to get the desired URL.” In other words, needs to learn regular expressions is each source format pattern are regular expressions.). Regarding claim 3, The combination of Singh and Gulwani teaches the method of claim 1, wherein N = 1 (Singh, See mapping of claim 1. The specification of the instant application recites “One or more processors of a computer system determine N source patterns respectively describing N different formats in which N sets of source data items are formatted.” (Specification, paragraph [0004], line 1.)Therefore, examiner is interpreting N as referring to a number of formats. In other words, N=1 is one format, Singh teaches transforming source formats to target formats and doing so for only one format is necessarily accomplished when doing so for multiple formats.) . Regarding claim 4, The combination of Singh and Gulwani teaches the method of claim 1, wherein N ≥ 2 (Singh, See mapping of claim 1. And, column 2, line 18 “One embodiment of the present disclosure relates to a method for integrating web data into a document, the method comprising: learning a plurality of website addresses based on information about at least one website identified by a user; determining a data type to be extracted from a web page associated with the website based on an input data type from the user; and performing data extraction from a plurality of web pages associated with the plurality of website addresses based on the determined data type.” In other words, performing extraction from a plurality of web pages is the number of sources is greater than or equal to 2.). Regarding claim 5, The combination of Singh and Gulwani teaches the method of claim 4, said method further comprising: converting, by the processor using computer software, n sets of source data items having respective n different formats of the N different formats into the target format, using respective n different single transformation paths of the N single transformation paths to perform said converting, wherein 2 ≤ n ≤ N (Singh, see mapping of claim 1. And column 1, line 3 “Third, the common data key to join the two sources (spreadsheet and webpage) might be in different formats, which requires writing additional logic to transform the data before performing the join.” In other words, different formats is different formats, transform the data is transforming, and performing the join is converting.); and storing, by the processor in the hardware data storage of the computer system, the converted n sets of source data items, which provides access to the converted n sets of source data items in the target format by multiple users of the computer system regardless of the n different formats in which the n sets of source data items were formatted before said converting (Singh, abstract, line 1 “Provided are methods and systems for joining semi-structured data from the web with relational data in a spreadsheet table using input-output examples.” In other words, joining the semi-structured data with relational data in a spreadsheet table is storing, by the processor in the hardware data storage of the computer system, the converted n sets of source data items.). Regarding claim 6, The combination of Singh and Gulwani teaches the method of claim 5, said method further comprising: prior to said converting, generating the computer software by an Application Specific Integrated Circuit (ASIC)) designed only and specifically for generating the computer software, wherein specific features of transformation paths are built into the hardware of the ASIC (Singh, column 22, line 65 “In accordance with at least one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats.” In other words, implemented via Application Specific Integrated Circuits (ASICs) is generating by an Application Specific Integrated Circuit (ASIC).) Regarding claim 7, The combination of Singh and Gulwani teaches the method of claim 1, wherein said selecting from each plurality of transformation paths comprises: removing all transformation paths having at least one redundant source string entity, which changes the plurality of transformation paths to a remaining one or more transformation paths (Singh, column 14, line 41 “Referring to the example synthesis process 1100 shown in FIG. 11, the process 1100 may include three steps, in accordance with one or more embodiments. At step 1102, the process 1100 may use the first example to learn all 45 possible predicates for the target node in that example. At step 1104, the remaining examples may be used to refine the predicates learned at step 1102. At step 1106, the process 1100 may search for a subset of the refined predicates from step 1104 that satisfies the given examples and also generalizes well to the unseen inputs.” In other words, refine and search for a subset is removing transformation paths having at least one redundant entity.); and selecting, by the one or more processors, from the remaining one or more transformation paths, the single transformation path (Singh, column 11, line 57 “In an embodiment, the process 900 is considered a modification to the Dijkstra shortest path algorithm and uses a ranking scheme described in greater detail below to rank each atomic 60 program in the DAG.” In other words, searching for a best program from the DAG and selecting the shortest path is selecting a single transformation path.) Regarding claim 8, The combination of Singh and Gulwani teaches the method of claim 7, wherein the remaining one or more transformation paths comprises two or more transformation paths, and wherein said selecting from the two or more transformation paths comprises: ranking the two or more transformation paths; and selecting the highest ranked transformation path as the single transformation path (Singh, FIG. 9, and column 10, line 8 “The process 700 may then iterate over other examples, and intersects the corresponding DAGs to compute a DAG representing programs consistent with all examples. The process 700 may then return the top-ranked program in the DAG, according to an embodiment.” PNG media_image3.png 573 789 media_image3.png Greyscale FIG. 9 In other words, ranking is ranking the two or more transformation paths and return the top ranked program is selecting the highest ranked transformation path.). Regarding claim 9, The combination of Singh and Gulwani teaches the method of claim 7, wherein the remaining one or more transformation paths comprises two or more transformation paths, and wherein said selecting from the two or more transformation paths comprises: ranking the two or more transformation paths (Singh, See above mapping. In other words, ranking is ranking the two or more transformation paths.); transmitting the ranked two or more transformation paths to a user (Singh, column 24, line 25 “prompting the user to select a data element to be extracted from the web page associated with the website address,” In other words, prompting the user to select a data element is transmitting the ranked two or more transformation paths to a user.) ; receiving, from the user, the user’s selection of one transformation paths of the ranked two or more transformation paths as the single transformation path (Singh, column 24, line 28 “receiving, in response to the prompt, the selection of a data element to be extracted from the web page associated with the website address.” In other words, receiving, in response to the prompt is receiving form the user, and selection of a data element is user’s selection from the transformation paths.) .18. Claims 11-15 are “computer program computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method” claims that correspond to method claims 1-5, respectively. Otherwise, they are not patentably distinct. The combination of Singh and Gulwani teaches a computer program product (Singh, column 2, line 27 “Another embodiment of the present disclosure relates to a system for integrating web data into a document, the system comprising one or more processors and a non-transitory computer-readable medium coupled to the one or more processors having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations…” Therefore, claims 11-15 are rejected for the same reasons as claims 1-5, respectively. Claims 16-20 are “computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices” claims that correspond to method claims 1-5, respectively. Otherwise, they are the same. The combination of Singh and Gulwani teaches a computer system. (Singh, see above mapping.) Therefore, claims 16-20 are rejected for the same reasons as claims 1-5, respectively. Claim 10 is rejected under 35 U.S.C. §103 as being unpatentable over Singh, Gulwani, and Frejinger, E. (Random Sampling of Alternatives in a Route Choice Context, herein Frejinger). Regarding claim 10, The combination of Singh and Gulwani teaches the method of claim 7, wherein the one or more transformation paths comprises two or more transformation paths, and wherein said selecting from the two or more transformation paths comprises: Thus far, the combination of Singh and Gulwani does not explicitly teach randomly selecting a transformation path from the two or more transformation paths as the single transformation path. Examiner notes that randomly selecting a path from a plurality of paths is not explicitly described in the specification. The specification recites “Step 330 randomly selects the single transformation path from the at least two remaining transformation paths.” (Specification, paragraph [0101].). There is no other mention of randomly selecting a path in the specification. There is no specific definition of random. Nor does the specification describe how the random path is selected. Based on this, examiner is interpreting that a random walk algorithm teaches selecting a random transformation path. Frejinger teaches randomly selecting a transformation path from the two or more transformation paths as the single transformation path (Frejinger, page 5, paragraph 3, line 3 “We then describe a biased random walk algorithm that is used in this paper.” In other words, random walk algorithm is randomly selecting a path.) Both Frejinger and the combination of Singh and Gulwani are directed to graphs, among other things. The combination of Singh and Gulwani teach the method of claim 7, but does not explicitly teach randomly selecting a transformation path from the two or more transformation paths as the single transformation path. Frejinger teaches randomly selecting a transformation path from the two or more transformation paths as the single transformation path. In view of the teaching of Singh and Gulwani, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Frejinger into the combination of Singh and Gulwani. This would result in the method of claim 1 and randomly selecting a transformation path from the two or more transformation paths as the single transformation path. One of ordinary skill in the art would be motivated to do this because a stochastic approach to selecting paths is flexible and can be used in a wide range of problems. (Frejinger, page 5, paragraph 3, line 1 “In this section, we first present a general stochastic approach for generating paths (also described in Bierlaire and Frejinger, 2007b). The approach is flexible and can be used in various algorithms including those presented in the literature. We then describe a biased random walk algorithm that is used in this paper. This stochastic path generation approach is based on the concept of subpath where a subpath is a sequence of links.”) The prior art made of record and not used is considered pertinent to applicants disclosure: Bogatu, et al “Toward Automatic Dat Format Transformations: Data Wrangling at Scale” discloses automatic discovery of examples that can be used to synthesize format transformation programs. Gulwani, et al “Automating String Processing in Spreadsheets Using Input-Output Examples” discloses an interactive synthesis algorithm that can rank multiple solutions and has fast convergence. Rohan, et al “Design and Developing a Snaplogic Pipeline for Automating Batch Import of Records “ discloses various tools called snaps that can be integrated to process documents for a database. Wang, et al, “Extraction of fingerprint from regular expression for efficient prefiltering” discloses a weight scheme to extract a good fingerprint from a regular expression that indicates the regular expression uniquely. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to BART RYLANDER whose telephone number is (571)272-8359. The examiner can normally be reached Monday - Thursday 8:00 to 5:30. 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, Miranda Huang can be reached at 571-270-7092. 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. /Bart I Rylander/Examiner, Art Unit 2124 /MIRANDA M HUANG/Supervisory Patent Examiner, Art Unit 2124
Read full office action

Prosecution Timeline

Dec 19, 2022
Application Filed
Nov 07, 2023
Response after Non-Final Action
Feb 19, 2026
Non-Final Rejection — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12555002
RULE GENERATION FOR MACHINE-LEARNING MODEL DISCRIMINATORY REGIONS
2y 5m to grant Granted Feb 17, 2026
Patent 12530572
Method for Configuring a Neural Network Model
2y 5m to grant Granted Jan 20, 2026
Patent 12530622
GENERATING NEW DATA BASED ON CLASS-SPECIFIC UNCERTAINTY INFORMATION USING MACHINE LEARNING
2y 5m to grant Granted Jan 20, 2026
Patent 12493826
AUTOMATIC MACHINE LEARNING FEATURE BACKWARD STRIPPING
2y 5m to grant Granted Dec 09, 2025
Patent 12488318
EARNING CODE CLASSIFICATION
2y 5m to grant Granted Dec 02, 2025
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

1-2
Expected OA Rounds
62%
Grant Probability
77%
With Interview (+15.0%)
3y 10m
Median Time to Grant
Low
PTA Risk
Based on 109 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