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 .
Examiner notes the entry of the following papers:
Amended claims filed 5/26/2026.
Applicant arguments/remarks made in amendment filed 5/26/2026.
Claims 1-2, 5-6, and 8-20 are amended. Claim 7 is cancelled. Claims 1-6 and 8-20 are presented for examination.
Response to Arguments
Applicant presents arguments. Each is addressed.
Applicant argues “Applicant respectfully submits that the amended independent claim 1 meets the standard for patent eligibility under 35 U.S.C. § 101. The Applicant submits that the amended independent claims 11 and 16 recite features similar to those recited in the amended independent claim 1. (Remarks, page 16, paragraph 4, line 1.) Examiner agrees. The rejections under 35 U.S.C. § 101 are withdrawn.
Applicant argues “The Applicant has amended independent claim 1 to incorporate features of dependent claim 7. Therefore, The Applicant respectfully submits that the combination of Singh and Gulwani does not teach, suggest, or render obvious at least, for example, the features … as recited in amended independent claim 1.” (Remarks, page 17, paragraph 1, line 3.) However, Examiner notes that the limitations of original claim 7, are not the same as the limitations incorporated into newly amended claim 1. The original limitations of claim 7 recite
“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; and
selecting, by the one or more processors from the remaining one or more transformation paths, the single transformation path.”
whereas the limitations incorporated into claim 1 recite
“removing, by the one or more processors, a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths, wherein the set of transformation paths has at least one redundant source string entity”
Therefore, since the amendment is more than just the limitations of claim 7, new grounds of rejection can be used to address the limitations. The argument that the prior art does not teach the amended claim is moot in view of new grounds of rejection necessitated by amendment.
Applicant argues “However, Singh does not teach or suggest removing a set of transformation paths having at least one redundant source string entity from N pluralities of transformation paths…” of amended claim 1. (Remarks, page 18, paragraph 3, line 3.) The argument is moot in view of new grounds of rejection necessitated by amendment.
Applicant argues “Further, Singh does not teach or suggest generating a program code by discarding from a plurality of program codes, one or more program codes that are for an operation not included in the selected single transformation path.” (Remarks, page 19, paragraph 1, line 1.) The argument is moot in view of new areas of the cited art found that teach the amended claims.
Applicant argues “Therefore, the amended independent claim 1 is not taught, suggested, or rendered obvious over the combination of Singh and Gulwani.” (Remarks, page 19, paragraph 4, line 1.) The argument is moot in view of new grounds of rejection and new areas of the cited art found that teach the amended claim.
Applicant argues that “Further, the Applicant submits that the amended independent claims 11 and 16 recite, inter alia, features similar to those recited in the amended claim 1. Accordingly, the amended independent claims 11 and 15 are also not taught…” The argument is moot in view of new grounds of rejection and new areas of the cited art found that teach the amended claims. The dependent claims remain rejected at least for depending from rejected base claims.
Applicant argues “Further, each of the dependent claims 2-6, 8, 9, 12-15, and 17-20 separately recites subject matter not taught or suggested by any of the cited references, whether taken individually or in combination.” (Remarks, page 20, paragraph 2, line 1.) However, applicant does not present any evidence or argument, or describe “why” the cited references fail to teach the recited dependent claims. Without identifying at least, a reason why the cited references fail to teach the limitations of the claims, the rejection is deemed proper and maintained.h. Applicant argues “Further, the dependent claim 10 separately recites subject matter not taught or suggested by any of the cited references, whether taken individually or in combination. At least for these reasons, claim 10 is believed to be patentable.” (Remarks, page 20, paragraph 4, line 1.) However, applicant does not present any evidence or argument, or describe “why” the cited references fail to teach claim 10. Without identifying at least, a reason why the cited references fail to teach the limitations of claim 10, the rejection is deemed proper and maintained.
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-6, 8-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), Gulwani, et al (US 11,620,304 B2, Example Management for String Transformation, herein Gulwani), and Fan, et al (Adding Regular Expressions to Graph Reachability and Pattern Queries, herein Fan).
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.), the 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 of the N source patterns 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 N source patterns.),
N ≥ 1, and wherein if N > 1 then the N different formats are mutually compatible (Singh, column 6, line 1 “FIGS. 1A 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. 1A. 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 one or more processor, a target format pattern describing a target format in which a plurality of target data items is formatted (Singh, See above mapping. And, column 2, line 28 “…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…” In other words, one or more processors is one or more processors, 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, and 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 format pattern, wherein each graph of the N graphs 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.” And, column 21, line 34 “In a basic configuration (2101), the computing device (2100) typically includes one 35 or more processors (2110, 2150) and system memory (2120). A memory bus (2130) can be used for communicating between the one or more processors (2110, 2150) and the system memory (2120).”
PNG
media_image2.png
175
973
media_image2.png
Greyscale
FIG. 15
In other words, one or more processors is one or more processors, learn a DAG is generate a graph showing transformation paths, and consistent programs are transformations of N source formats to the target format pattern.), wherein
the N pluralities of transformation paths respectively correspond to the N source patterns, and wherein each transformation path of the plurality of transformation paths of each graph of the N graphs transforms a respective source pattern of the N source patterns to the target format pattern in a manner that maps one or more portions of the source strings in the respective source pattern to each target string of the target strings in the target format 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.” And, column 21, line 9 “As described above, the URL learning problem 10 may be framed in terms of learning syntactic string transformations and filters, whereas data extraction programs may be learned in a rich DSL that allows for data-dependent XPath expressions, in accordance with some embodiments. In other words, multiple predicate programs are N pluralities of transformation paths corresponding to respective source pattern of the N source patterns, and paths in a DAG is transformation path of the plurality of transformation paths of each graph of the N graphs, and string transformations is transforms a respective source pattern of the N source patterns to a target format pattern in a manner that maps one or more portions of the source strings to each target string in the target format pattern.) ;
[removing, by the one or more processors, a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths wherein the set of transformation paths has at least one redundant source string entity] ;
selecting, by the one or more processors from the remaining one or more 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 from the remaining one or more paths and, from prior mapping, for each source string, is resulting in N single transformation paths having been selected.);
generating, by the one or more processors, a program code by discarding one or more program codes from a plurality of program codes, wherein the one or more program codes are for an operation not included in the selected single transformation path (Singh, column 1, line 62 “On the other hand, there are efficient systems for wrapper induction, which is a technique to learn robust and generalizable extraction programs from a few labeled examples.” And, column 4, line 1 “FIG. 17 is a set of graphical representations illustrating example synthesis times and number of examples needed to learn URLs as string transformation programs, according to one or more embodiments described herein.” In other words, program is program code, learn is generating, transformation is transformation and learn…string transformation programs is generating a program code where the one or more program codes are for an operation not included in the selected single transformation path.); and
executing, by the one or more processors, the generated program code to convert the one or more sets of source data into the respective sets of target data (Singh, column 3, line 49 “FIG. 11 illustrates an example synthesis process for learning a program, according to one or more embodiments described herein. FIG. 12 illustrates an example process for transforming an HTML document into a predicates graph, according to one or more embodiments described herein. FIG. 13 illustrates an example input HTML document and corresponding predicates graph associated with the example process of FIG. 12, according to one or more embodiments described herein.” In other words, input HTML document and corresponding predicates graph is executing the program code to convert the one or more sets of source data into the respective sets of target data.).
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.”)
Thus far, the combination of Singh and Gulwani does not explicitly teach removing, by the one or more processors, a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths wherein the set of transformation paths has at least one redundant source string entity .
Fan teaches removing, by the one or more processors, a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths wherein the set of transformation paths has at least one redundant source string entity (Fan, Fig. 5,
PNG
media_image3.png
306
566
media_image3.png
Greyscale
In other words, redundant is redundant, and remove redundant edges in Qm is removing a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths. Examiner notes that the combination of Singh and Gulwani is used to teach the data transformation. Fan is used to teach removing edges from a graph based on redundancy. One or more processors is previously mapped. )
Both Fan and the combination of Singh and Gulwani are directed to regular expressions represented by graphs, among other things. The combination of Singh and Gulwani 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, the 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 of the N source patterns comprises an ordered sequence of source strings, N> 1, and if N > 1 then the N different formats are mutually compatible; determining, by the one or more processors, 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, and the target format pattern comprises an ordered sequence of target strings; generating, by the one or more processors, N graphs respectively describing transformations of the N source patterns to the target format pattern, wherein each graph of the N graphs comprises a plurality of transformation paths, resulting in N pluralities of transformation paths having been generated, the N pluralities of transformation paths respectively correspond to the N source patterns, and each transformation path of the plurality of transformation paths of each graph of the N graphs transforms a respective source pattern of the N source patterns to the target format pattern in a manner that maps one or more portions of the source strings in the respective source pattern to each target string of the target strings in the target format pattern; but does not explicitly teach removing a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths, wherein the set of transformation paths has at least one redundant source string entity. Fan teaches removing a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths, wherein the set of transformation paths has at least one redundant source string entity.
In view of the teaching of the combination 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 Fan into the combination of Singh and Gulwani. 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, the 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 of the N source patterns comprises an ordered sequence of source strings, N> 1, and if N > 1 then the N different formats are mutually compatible; determining, by the one or more processors, 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, and the target format pattern comprises an ordered sequence of target strings; generating, by the one or more processors, N graphs respectively describing transformations of the N source patterns to the target format pattern, wherein each graph of the N graphs comprises a plurality of transformation paths, resulting in N pluralities of transformation paths having been generated, the N pluralities of transformation paths respectively correspond to the N source patterns, and each transformation path of the plurality of transformation paths of each graph of the N graphs transforms a respective source pattern of the N source patterns to the target format pattern in a manner that maps one or more portions of the source strings in the respective source pattern to each target string of the target strings in the target format pattern; and removing a set of transformation paths from the N pluralities of transformation paths to obtain remaining one or more transformation paths, wherein the set of transformation paths has at least one redundant source string entity.
One of ordinary skill in the art would be motivated to do this to efficiently prune the graphs to increase speed and effectiveness of computation without increasing complexity. (Fan, abstract, line 1 “It is increasingly common to find graphs in which edges bear different types, indicating a variety of relationships. For such graphs we propose a class of reachability queries and a class of graph patterns, in which an edge is specified with a regular expression of a certain form, expressing the connectivity in a data graph via edges of various types. In addition, we define graph pattern matching based on a revised notion of graph simulation. On graphs in emerging applications such as social networks, we show that these queries are capable of finding more sensible information than their traditional counterparts. Better still, their increased expressive power does not come with extra complexity.”)
Regarding claim 2,
The combination of Singh, Gulwani, and Fan teaches the method of claim 1, wherein
the target format pattern and each source pattern of the N source patterns 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.” And, column 13, line 9 “In the example syntax 1000, "name" is a string, k is an integer, and
PNG
media_image4.png
10
10
media_image4.png
Greyscale
is an empty predicate, according to an embodiment. At the top-level, a program 1012 is a tuple containing a name 1014 and a list of predicates 1016. For example, in an embodiment, the name 1014 is the HTML tag, and the predicates 1016 are the constraints that the desired "target" nodes should satisfy.” In other words, needs to learn regular expressions is each target format pattern and each source format pattern are regular expressions.).
Regarding claim 3,
The combination of Singh, Gulwani, and Fan 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, Gulwani, and Fan 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, Gulwani, and Fan teaches the method of claim 4, further comprising:
converting, by the one or more processors using the generated program code, n sets of source data items of the 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 the 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 transformation, performing the join is converting, and two sources is 2 ≤ n ≤ N.) ; and
storing, by the one or more processors in a hardware data storage of the computer system, the converted n sets of source data items, wherein the storing 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 the 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, Gulwani, and Fan teaches the method of claim 5, further comprising:
prior to the converting, generating the program code by an Application Specific Integrated Circuit (ASIC) designed only and specifically for generating the program code, wherein specific features of the N single transformation paths are built into 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) Examiner notes the generating program code is previously mapped in claim 1.)
Regarding claim 8,
The combination of Singh, Gulwani, and Fan teaches the method of claim 1, wherein the remaining one or more transformation paths comprise two or more transformation paths, and the selecting from the two or more transformation paths comprises:
ranking the two or more transformation paths; and selecting a highest ranked transformation path from the ranked two or more transformation paths 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_image5.png
573
789
media_image5.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 from the ranked two or more transformation paths.).
Regarding claim 9,
The combination of Singh, Gulwani, and Fan teaches the method of claim 1, wherein
the remaining one or more transformation paths comprise two or more transformation paths, and the 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.) ; and
receiving, from the user, a selection of one transformation path 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.) .16. Claims 11-15 are 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, Gulwani, and Fan 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…” In other words, 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 is 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.) 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 not patentably distinct. The combination of Singh, Gulwani, and Fan 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, Gulwani, and Fan teaches the method of claim 1, wherein
the remaining one or more transformation paths comprise two or more transformation paths, and the selecting from the two or more transformation paths comprises
Thus far, the combination of Singh, Gulwani, and Fan 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, Gulwani, and Fan are directed to graphs, among other things. The combination of Singh, Gulwani, and Fan 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, Gulwani, and Fan, 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, Gulwani, and Fan. 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.”)
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 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