DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to the Preliminary Amendment filed 2/10/2025.
Claims 2-22 are newly added.
Claim 1 has been cancelled.
Claims 2-22 are pending and have been considered below.
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.
Claim 9 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim does not fall within at least one of the four categories of patent eligible subject matter because the apparatus appears reasonable to interpret by one of ordinary skill in the art as a software component. Applicant is respectfully suggested to include at least a processor in the apparatus to overcome the software rejection.
Claims 10-15 directly depend on claim 9 and therefore are rejected for the same reason given for claim 9 above.
Claims 2-22 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more:
Regarding claim 2, the claim recites “identifying multiple transformations to be performed on an input dataset” and “generating a node in a directed acyclic graph defining the transformation”, “selecting two or more execution engines to be used to perform the sequence of transformations”, and “generating code implementing the sequence of transformations based on the directed acyclic graph, the code comprising a machine learning algorithm” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A.
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements (1) “providing the code to the selected execution engine” and (2) “executing the code including the machine learning algorithm using the selected execution engine.” The additional element (1) is merely insignificant extra solution activity of gathering data of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional element does not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g). The additional element (2) fails to meaningfully limit the claim because it does not require any particular application of the judicial exception and is, at least, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. See MPEP § 2106.05(f). The additional element recites only the idea of “executing” without details on how this is accomplished. The claim omits any details as to how the “machine learning” solves a technical problem, and instead recites only the idea of a solution or outcome. Therefore, the additional element attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not integrate the judicial exception into a practical application because this type of recitation is equivalent to the words “apply it.”
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional element (1) is merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d). The additional element (2) does not require any particular application of the judicial exception and is, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. The analysis under Step 2A, Prong Two is carried through to Step 2B. Therefore, the additional element attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not provide significantly more because this type of recitation is equivalent to the words “apply it.” Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Regarding claims 3-8 recite limitations merely relate to the use of the judicial exception to a particular technology environment or field of use. Thus, do not integrate the judicial exception into a practical application. See MPEP 2106.05(h). So, under step 2B, these limitations merely recite the technology environment or field of use at a high level of generality. Thus, do not amount to significantly more than the judicial exception. See MPEP 2106.05(d). Therefore, none of the additional elements recite an inventive concept, thus, the claimed invention is patent ineligible under 35 USC 101.
Regarding claim 9, the claim recites “identifying multiple transformations to be performed on an input dataset” and “generating a node in a directed acyclic graph defining the transformation”, “selecting two or more execution engines to be used to perform the sequence of transformations”, and “generating code implementing the sequence of transformations based on the directed acyclic graph, the code comprising a machine learning algorithm” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements (1) “an apparatus comprising at least one processing device” (2) “providing the code to the selected execution engine” and (3) “executing the code including the machine learning algorithm using the selected execution engine.” The additional element (1) is merely instructions to implement the abstract idea on a computer, or merely uses a computer, with instructions, as a tool to perform the abstract idea according to MPEP 2106.05(f), thus, not indicative of an integration into a practical application. The additional element (2) is merely insignificant extra solution activity of gathering data of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional element does not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g). The additional element (3) fails to meaningfully limit the claim because it does not require any particular application of the judicial exception and is, at least, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. See MPEP § 2106.05(f). The additional element (3) recites only the idea of “executing” without details on how this is accomplished. The claim omits any details as to how the “machine learning” solves a technical problem, and instead recites only the idea of a solution or outcome. Therefore, the additional element (3) attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not integrate the judicial exception into a practical application because this type of recitation is equivalent to the words “apply it.”
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, as to the additional element (1), the courts have identified that receiving data or data gathering is well-understood, routine, conventional activity. See MPEP 2106.05(d). The additional element (2) is merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d). The additional element (3) does not require any particular application of the judicial exception and is, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. The analysis under Step 2A, Prong Two is carried through to Step 2B. Therefore, the additional element attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not provide significantly more because this type of recitation is equivalent to the words “apply it.” Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Regarding claims 10-15 recite limitations merely relate to the use of the judicial exception to a particular technology environment or field of use. Thus, do not integrate the judicial exception into a practical application. See MPEP 2106.05(h). So, under step 2B, these limitations merely recite the technology environment or field of use at a high level of generality. Thus, do not amount to significantly more than the judicial exception. See MPEP 2106.05(d). Therefore, none of the additional elements recite an inventive concept, thus, the claimed invention is patent ineligible under 35 USC 101.
Regarding claim 16, the claim recites “identifying multiple transformations to be performed on an input dataset” and “generating a node in a directed acyclic graph defining the transformation”, “selecting two or more execution engines to be used to perform the sequence of transformations”, and “generating code implementing the sequence of transformations based on the directed acyclic graph, the code comprising a machine learning algorithm” as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitation as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A.
Under Prong 2, Step 2A, the judicial exception is not integrated into a practical application. The claim recites the following additional elements (1) “a non-transitory computer readable medium storing computer readable program code and one or more processors” (2) “providing the code to the selected execution engine” and (3) “executing the code including the machine learning algorithm using the selected execution engine.” The additional element (1) are merely instructions to implement the abstract idea on a computer, or merely uses a computer, with instructions, as a tool to perform the abstract idea according to MPEP 2106.05(f), thus, not indicative of an integration into a practical application. The additional element (2) is merely insignificant extra solution activity of gathering data of the abstract idea which does not integrate the judicial exception into a practical application. Accordingly, the additional element does not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g). The additional element (3) fails to meaningfully limit the claim because it does not require any particular application of the judicial exception and is, at least, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. See MPEP § 2106.05(f). The additional element (3) recites only the idea of “executing” without details on how this is accomplished. The claim omits any details as to how the “machine learning” solves a technical problem, and instead recites only the idea of a solution or outcome. Therefore, the additional element (3) attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not integrate the judicial exception into a practical application because this type of recitation is equivalent to the words “apply it.”
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, as to the additional element (1), the courts have identified that receiving data or data gathering is well-understood, routine, conventional activity. See MPEP 2106.05(d). The additional element (2) is merely insignificant extra solution activity of gathering data and the courts have identified gathering data, storing data, and outputting the result is well-understood, routine and conventional activity (Berkheimer v. HP, Inc., 881 F.3d 1360, 1368, 125 USPQ2d 1649, 1654 (Fed. Cir. 2018)), thus, cannot amount to an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101. See MPEP 2106.05(d). The additional element (3) does not require any particular application of the judicial exception and is, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception. The analysis under Step 2A, Prong Two is carried through to Step 2B. Therefore, the additional element attempts to cover any solution to the identified problem of transforming dataset with no restriction on how the transformation is accomplished and no description of the mechanism for accomplishing the transformation, and does not provide significantly more because this type of recitation is equivalent to the words “apply it.” Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Regarding claims 17-22 recite limitations merely relate to the use of the judicial exception to a particular technology environment or field of use. Thus, do not integrate the judicial exception into a practical application. See MPEP 2106.05(h). So, under step 2B, these limitations merely recite the technology environment or field of use at a high level of generality. Thus, do not amount to significantly more than the judicial exception. See MPEP 2106.05(d). Therefore, none of the additional elements recite an inventive concept, thus, the claimed invention is patent ineligible under 35 USC 101.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 2-22 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 20180150528 to Shah in view of U.S. Pub. No. 20190121673 to Gold.
Per claims 2, 9, and 16, Shah teaches a method comprising:
identifying a sequence of transformations to be performed, which includes:
identifying multiple transformations to be performed on an input dataset (see at least paragraph [0021] “Transformation determination 130 may identify or otherwise obtain the source data schema 110 and target data format 120 (and/or target data schema) in order to compare the source data schema and target data format and/or schema to determine one or more transformations to be applied to data object 112 to transform the data object into target data format 120…”); and
for each transformation, generating a node in a directed acyclic graph defining the transformation (see paragraph [0024] “…a graph may be generated representing the transformations and other operations which may be provided via an interface to users…”; see also at least paragraph [0057] “...In some embodiments, the ordering of transformations may be constructed like a directed acyclic graph (DAG) to prevent code generation errors resulting in infinite loops or other inescapable states from occurring…”);
selecting two or more execution engines to be used to perform the sequence of transformations (see at least paragraph [0021] “Transformations to effect these different features may be correspondingly selected (e.g., transformations to rewrite, insert, or modify headers or metadata information, transformations to apply different delimiters, etc.). Differences in the source data schema 110 and a target data schema may indicate transformations to aggregate, combine, group, split, separate, rearrange, or restructure the location of data values (e.g., changing the mapping of data values to columns, combining values from fields into a single field, or relationalize or de-relationalize the form of data values)…”); and
for each of the two or more selected execution engines:
generating code implementing the sequence of transformations based on the directed acyclic graph (see at least paragraph [0023] “…The determined transformations may be identified to code generation 140 which may generate code in a coding language or script to execute the transformations of the workflow…”), the code comprising a machine learning algorithm;
providing the code to the selected execution engine (see at least paragraph [0024] “The stored or modified code may be provided to transformation execution 150 which may compile, interpret, or otherwise perform the code to apply the determined transformations to data object 112. The transformation into target data format 120 and/or schema may result in one or multiple transformed data objects 120 being created…”); and
executing the code including the machine learning algorithm using the selected execution engine (see at least paragraph [0024] “The stored or modified code may be provided to transformation execution 150 which may compile, interpret, or otherwise perform the code to apply the determined transformations to data object 112. The transformation into target data format 120 and/or schema may result in one or multiple transformed data objects 120 being created…”).
Shah does not explicitly teach
code comprising a machine learning algorithm.
Gold teaches an analogous art relates to data transformation, comprising:
a machine learning algorithm transforms dataset (see at least paragraph [0164] “…The analytics application (422) may include artificial intelligence or machine learning components, components that transform unstructured data into structured or semi-structured data, big data components, and many others…”).
It would have been obvious for a person of an ordinary skilled in the art as of the effective filing date of the claimed invention to modify the teaching of Shah to incorporate the teaching of Gold to transform dataset using machine learning. One would have been motivated to use machine learning to transform dataset in order to improve performance and prediction accuracy.
Per claims 3, 10, and 17, Shah further teaches:
wherein the directed acyclic graph represents logic used to implement the sequence of transformations and is not tied to any particular execution engine (see at least paragraph [0058] “…each transformation may be mapped to a particular function or class in the code library and the mapped function or class may be copied into the source code file generated to perform the transformation(s)…”).
Per claims 4, 11, and 18, Shah further teaches:
wherein: each node in the directed acyclic graph represents one or more operations to be performed in order to implement the associated transformation; and the nodes are ordered in a specific sequence to define the sequence of transformations (see at least FIG. 6).
Per claims 5, 12, and 19, Shah further teaches
wherein the code generated using the directed acyclic graph for one of the two or more selected execution engines is different than the code generated using the directed acyclic graph for another of the two or more selected execution engines (see at least paragraph [0058] “…each transformation may be mapped to a particular function or class in the code library and the mapped function or class may be copied into the source code file generated to perform the transformation(s)…”).
Per claims 6, 13, and 20, Shah further teaches:
wherein the directed acyclic graph includes multiple nodes that identify at least one of: loading data from one or more source data files; preparing the data for processing; identifying features of the data; feeding the identified features into a machine learning pipeline; and updating a package that encapsulates the sequence of transformations (see at least paragraph [0032] “… the ETL service may provide clients with the resources to create, maintain, and orchestrate data loading jobs that take one or more data sets, perform various transformation operations, and store the transformed data for further processing (e.g., by one or more of data processing service(s)). The ETL service may access a data catalog generated by ETL service 220 in order to perform an ETL operation (e.g., a job to convert a data object from one file type into one or more other data objects of a different file type)…”).
Per claims 7, 14, and 21, Shah further teaches:
wherein each node in the directed acyclic graph is digitally signed (see at least paragraph [0039] “…ETL service 220 may implement access or control policies for data catalogs (e.g., to limit access to a data catalog to authorized users). ETL service 220 may implement data retention or life cycle policies to determine how long data catalogs (or older versions of data catalogs) are maintained. ETL service 220 may handle the provisioning of storage resources in data for creating new data catalogs. ETL service 220 may also perform load balancing, heat management, failure recovery, and other resource management techniques (e.g., implement durability requirements) to ensure the availability of data catalogs for clients”).
Per claims 8, 15, and 22, Shah further teaches:
wherein the sequence of transformations to be performed is defined based on information obtained using one or more interfaces (see at least FIG. 6).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US20220121880 relates to transforming datasets.
US20170091673 relates to transforming datasets.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHILLIP H NGUYEN whose telephone number is (571)270-1070. The examiner can normally be reached Monday-Friday 9:00AM-5:00PM.
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, Wei Zhen can be reached at (571) 272-3708. 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.
/PHILLIP H NGUYEN/Primary Examiner, Art Unit 2191