DETAILED ACTION
Claims 1, 3-8 are pending in the current application.
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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 1/14/26 has been entered.
Response to Arguments
Applicant's arguments filed 1/14/26 have been fully considered but they are not persuasive.
Applicant argues that (Argument 1; Remarks pg. 5 lines 5-7) that the claims do not fall within the abstract idea mental processing grouping, (Argument 2; Remarks pg. 6 lines 21-24) that the claims integrate the claimed subject matter into a practical application, (Argument 3; Remarks pg. 9-12) the cited prior art does not disclose paring the input source code by extracting primary constructs from a segment of the input source code in accordance with a predefined abstraction model while retaining a remaining segment of the input source code, (Argument 4; Remarks pg. 9 lines 12-16) that the prior art does not disclose generating an intermediate representation of the input source code by initializing an intermediate language file containing one or more of a configuration section, a parameter section a constant section and a workflow section, and populating the intermediate language file with the primary constructs and the retained segments of the input source code, and (Argument 5; Remarks pg. 10 lines 29-32) that the prior art of Singh is not properly combinable with Choudhary
With respect to applicant’s argument examiner respectfully disagrees. As to argument 1, while claims that cannot be practically performed in the human mind are ones that cannot be an abstract idea mental process the claim language does not specify how it reaches that level or one that is complex task that requires collaboration between many skilled developers. While source code translation can reach a level of that complexity or impracticality it can also be as simple as a one line program being translated to another language and thus viewed as currently claimed as something that is still practically performed in the human mind and thus an abstract idea. This same logic can be applied to the analysis of the source code to identify and remove extract primary constructs from the source code in accordance to a predefined/provided abstraction model as this can be viewed as the mental analysis of the source code as compared with a provided abstraction model to identify and remove/extract primary constructs from the written source code. It is also noted that the claims do not include any limitations dealing with the abstraction model being formalized to include the commonalities of constructs as they exist across multiple vendor codebases and thus not viewed as an element in analysis. While the new limitation dealing with the generating an intermediate representation does include element that would not be considered an abstract idea mental process element with the initializing an intermediate language file limitation this element as seen in full detail below in the rejection is viewed as an additional element akin to an apply it type limitation that does not integrate the abstract idea into a practical application and does not recite significantly more and thus viewed that the claims still recite and are directed to an abstract idea mental process.
As to argument 2, while an improvement can be used to show the integration of an abstract idea into a practical application simply stating that the claims recite an improvement is not enough to show this. The specification must provide sufficient detail such that one of ordinary skill in the art would recognize the improvement and the claims must reflect the improvement in the technology where the claims cover a particular solution to the problem as opposed to merely claiming the idea of a solution or outcome. Where at least the claims in this case are viewed as being directed to the idea of a solution instead of coving the particulars of the solution to the problem and thus viewed that the claims are still directed to an abstract idea mental process. It is also noted that the criticality of an element on its own is not an element/limitation that are indicative of integration of an abstract idea into a practical application or significantly more where and thus still viewed that the packaging the output source code in a code repository as currently claimed as being insignificant extra solution activity information that does not integrate the abstract idea into a practical application, where for this limitation it is also noted that the claim does not include any limitation in the body of the claim dealing with actual migration of the claimed elements either.
As to argument 3, Choudhary [0017] lines 1-4, [0018] lines 1-5, [0022] lines 1-8, [0024] lines 1-4, [0025] lines 7-20, [0035] lines 1-15, [0036] lines 1-11, [0037] lines 1-10, [0039] lines 1-14, [0040] lines 1-11, [0055] lines 1-6, [0073] lines 3-5 and [0044] lines 1-5; which shows the parsing of the source code into a tokenized format where the source code is received and pre processed to generate an intermediate representation that can including parsing and extracting information/construct data from the received source code to form the IR representation and then further analysis is performed to tokenize variables/constructs associated with this generated IR, viewed as other type of extraction of information from source code, for the generation of the abstract syntax tree where the tokens and the source code is then further parsed and in light of associated context free grammar and associated rules by an abstraction tree generator to generate the abstract syntax tree, viewed as a type of predefined abstraction model where the source code in analyzed and constructs/data is extracted/removed/tokenized for/according to the abstract syntax tree/abstraction model. Where the abstraction model representation/abstract syntax tree represent workflow associated with the source code, that can identify relationship between the different operation and where the node information of the abstract tree show/represent flow of data as input from one node feeds as input into other nodes of the tree thus showing/defining a type of flow from one or more data source nodes to data consumer nodes and where the operations can include operations performed on the data thus viewed as having a type of data manipulation unit and rules that when executed rule/control the action associated with the operation thus viewed as including execution plan for controlling the execution of data manipulation/operation units.
As to argument 4, the teachings of Choudhary [0025] lines 7-20, [0027] lines 1-8, [0028] lines 1-13, [0029] lines 1-9, [0030] lines 1-11, [0036] lines 1-11 [0041] lines 1-10, [0043] lines 1-4, [0045] lines 15-25 and [0046] lines 1-10 which shows the generation/initialization of a structured file from the traversal of the abstract syntax tree that is in a knowledge graph specific language closer to natural language representation of an operation that an operation written in a computer language thus viewed as a type of intermediate representation of source code in an intermediate language file where the file is filled/populated with sections/nodes that can be associated with variables, constants and represent the source code workflow where the structured file is generated/populated based on translated of elements from the abstract syntax tree representation where the abstract syntax tree representation being based on the IR tokens and IR representation of source code, viewed as types of extracted and retained information of source code from the generated abstract syntax tree being used to generate/populated the intermediate language file.
As to argument 5, In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, the teachings of Singh Col. 2 lines 31-35 state that the IR representation can be lower level compiled representation or natural language representation, that in light of the structed file being in a knowledge graph specific language that can be close to natural language representation seen in Choudhary [0045] lines15-25 being its intermediate representation thus equivalent to Singh’s intermediate representation and with Singh Col. 1 lines 31-38 motivation improve the efficiency of translating code from one source code to another viewed as properly combinable with motivation.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims are 1, 3-8 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
As to claim 1 it recites “extracting primary constructs” in line 6 however it is unclear what a primary construct is. From the claim language it is unclear if primary constructs are a specific type of construct, or are they any construct that indicated in accordance with the abstraction model which is how it is currently being interpreted The applicant’s specification [0030] provide some examples of what can be extracted but seen as non-limiting examples of what constructs can be extracted as primary constructs as well so appropriate clarification is required.
Claims 3-8 depend from claim 1 and do not overcome the issue above and thus rejected under the same reasoning.
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 and 3-8 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the abstract idea. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below.
Step 1: Claims 1, 3-8 are claims that are directed to a process, machine, manufacture or composition of matter.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
Claim 1: The limitation of “parsing the input source code by extracting primary constructs from a segment of the input source code in accordance with a predefined abstraction model while retaining a remaining segment of the input source code, the abstraction model defining flow of data from one or more data sources to a data consumer and structured to include one or more workflows, each of the one or more workflows including one or more data manipulation units and one or more execution plans for controlling execution of the one or more data manipulation units,” “generating an intermediate representation of the input source code by … and populating the intermediate language file with the primary constructs and the retained segment of the input source code” and “generating output source code by formatting the intermediate representation into the output source code compatible with a selected one of the one or more target platforms,” as drafted, is a process that, but for the recitation of generic computing components, limitation adding the words “apply it” or equivalent and insignificant extra solution activity information, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can mentally perform with the aid of pen and paper and based on mental analysis, observation and judgment to determine from analysis of the source code to parse and extract specific information from the input source code to generate and populate an intermediate representation of the input source code based on an abstraction model data information to base the intermediate representation on. Additionally, a person can mentally perform mental observation, judgment and analysis with the aid of pen and paper and format/convert intermediate representation into output source code for a selected target platform. Therefore, the claims recite an abstract idea,
The claims have been identified to recite an abstract idea, Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception.
Step 2A Prong 2:
Claim 1: The abstract idea is not integrated into a practical application. In particular the claims recite the following additional element “A computer-implemented method for automatically migrating data management code from one or more source platforms to one or more target platforms, the method comprising,” and “an intermediate language file containing one or more of a configuration section, a parameters section, a constant section, and a workflow section” which are merely recitations of generic computing components and functions merely applying the abstract idea using the generic computing components and functions, which does not integrate the abstract idea into a practical application. Additionally, the claim recites the following additional elements of “initializing an intermediate language file” which fails to meaningfully limit the claim because it does not require any particular application of the recited “initializing,” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Further, the claim recite the following additional elements of “receiving input source code compatible with at least one of the one or more source platforms” and “packaging the output source code in a code repository for deployment to a runtime environment on the selected one of the one or more target platforms” which is merely the recitation of insignificant extra solution activity information akin to receiving data and storing data in memory, which does not integrate the abstract idea into a practical application.
Therefore, “Do the claims recite additional elements that integrate the abstract idea into a practical application? No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that claim, 1 not only recite an abstract idea but that the claims are directed to the abstract idea as the abstract idea has not been integrated into practical application.
Step 2B:
Claim 1: The claims do not include additional elements, alone or in combination that are sufficient to amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “A computer-implemented method for automatically migrating data management code from one or more source platforms to one or more target platforms, the method comprising,” and “an intermediate language file containing one or more of a configuration section, a parameters section, a constant section, and a workflow section” amount to no more than generic computing components merely apply the abstract idea. Additionally, the limitation of “initializing an intermediate language file” does not require any particular application of the recited evaluation and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Further the additional elements of “receiving input source code compatible with at least one of the one or more source platforms” and “packaging the output source code in a code repository for deployment to a runtime environment on the selected one of the one or more target platforms” which are merely the recitation of insignificant extra solution activity information akin to receiving data and storing data in memory. Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions as well-understood, routine and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. receiving and transmitting data over a network and ii. storing and retrieving information in memory where the receiving input source code limitation is akin to receiving data over a network and the packaging the output source code in a code repository limitation is akin to storing that data/code information in memory/code repository. The recitations of generic computer instruction and computer components to apply the judicial exception, and merely receiving and storing data do not amount to significantly more, thus, cannot provide an inventive concept.
Therefore, “Do the claims recite additional elements that amount to significantly more than the abstract idea? No, these additional elements, alone or in combination, do not amount to significantly more than the abstract idea.
Having concluded analysis within the provided framework, claim 1 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 3 it recite additional elements of “wherein the retained segment of the input source code includes expression code for direct execution on the selected one of the one or more target platforms” which is a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 3 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 3 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 3 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 4 it recites additional abstract idea elements of “comprising optimizing the intermediate representation based on one or more sets of optimization rules before formatting the optimized intermediate representation into the output source code compatible with the selected one of the one or more target platforms” as drafted is a process that but for the recitation of generic computer components and insignificant extra solution activity information, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example. A person can with the aid of pen and paper think about, observer, judge and evaluate to mentally optimize the intermediate representation based on a set of rules. Additionally, claim 4 recites the additional elements of “an optimizer” ” which are merely recitations of generic computing components and functions merely applying the abstract idea using the generic computing components and functions, which does not integrate the abstract idea into a practical application. Moreover, claim 4 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 4 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 4 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 5 it recites additional elements of “wherein the optimization rules are based on an evaluation of trade- offs between performance and execution cost of the output source code” which is a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 5 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 5 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 5 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 6 it recites additional elements of “wherein the abstraction model is formalized in YAML file format and wherein the intermediate representation is stored in one or more YAML files” which is a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 6 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 6 also fail both Step 2A prong 2, thus the claim is directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 6 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 7 it recites additional elements of “iteratively formatting the intermediate representation into addition output source codes compatible with additional ones of the one or more target platforms and packaging the additional output source codes for deployment on the additional ones of the one or more target platforms” which is a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 7 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 7 also fail both Step 2A prong 2, thus the claim is directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 7 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 8 it recites additional elements of “wherein the input source code is ETL source code and wherein the abstraction model is an ETL abstraction model” which is a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 8 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 8 also fail both Step 2A prong 2, thus the claim is directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 8 does not recite patent eligible subject matter under 35 USC 101.
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.
Claim 1 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary et al. (Pub. No. US 2022/0067538 A1), in view of Singh et al. (Patent No. US 11,775,271 B1) and further in view of Wang et al. (Pub. No. US 2015/0347119 A1) .
As to claim 1 Choudhary discloses a computer-implemented method for automatically migrating data management code from one or more source platforms to one or more target platforms, the method comprising: receiving input source code compatible with at least one of the one or more source platforms (Choudhary [0006] lines 1-5 and [0067] lines 1-7; which shows the ability to receive source code that can be platform specific source code thus viewed as input source code compatible with at least one source platform);
parsing the input source code, by extracting primary constructs from a segment of the input source code in accordance with a predefined abstract model while retaining a remaining segment on the input source code the abstraction model defining flow of data from one or more data sources to a data consumer and structured to include one or more workflows, each of the one or more workflows including one or more data manipulation units and one or more execution plans controlling execution of the one or more data manipulation units (Choudhary [0017] lines 1-4, [0018] lines 1-5, [0022] lines 1-8, [0024] lines 1-4, [0025] lines 7-20, [0035] lines 1-15, [0036] lines 1-11, [0037] lines 1-10, [0039] lines 1-14, [0040] lines 1-11, [0044] lines 1-5 [0055] lines 1-6, and [0073] lines 3-5; which shows the parsing of the source code into a tokenized format where the source code is received and pre-processed to generate an intermediate representation that can including parsing and extracting information/construct data from the received source code to form the IR representation and then further analysis is performed to tokenize variables/constructs associated with this generated IR, viewed as other type of extraction of information from source code thus having both extracted segments and segments that are not extracted/manipulated and thus remain, for the generation of the abstract syntax tree where the tokens and the source code is then further parsed and in light of associated context free grammar and associated rules by an abstraction tree generator to generate the abstract syntax tree, viewed as a type of predefined abstraction model where the source code in analyzed and constructs/data is extracted/removed/tokenized for/according to the abstract syntax tree/abstraction model thus also have source code elements that remain. Where the abstraction model representation/abstract syntax tree represent workflow associated with the source code, that can identify relationship between the different operation and where the node information of the abstract tree show/represent flow of data as input from one node feeds as input into other nodes of the tree thus showing/defining a type of flow from one or more data source nodes to data consumer nodes and where the operations can include operations performed on the data thus viewed as having a type of data manipulation unit and rules that when executed rule/control the action associated with the operation thus viewed as including execution plan for controlling the execution of data manipulation/operation units);
generating an intermediate representation of the input source code by initializing an intermediate language file containing one or more of a configuration section, a parameter section, a constant section, and a workflow section, and populating the intermediate language file with the primary constructs and the retained segments of the input source code (Choudhary [0025] lines 7-20, [0027] lines 1-8, [0028] lines 1-13, [0029] lines 1-9, [0030] lines 1-11, [0036] lines 1-11 [0041] lines 1-10, [0043] lines 1-4, [0045] lines 15-25 and [0046] lines 1-10; which shows the generation/initialization of a structured file from the traversal of the abstract syntax tree that is in a knowledge graph specific language that is closer to natural language representation of an operation that an operation written in a computer language thus viewed as a type of intermediate representation of source code in an intermediate language file where the file is filled/populated with sections/nodes that can be associated with variables, constants and represent the source code workflow, thus viewed as the intermediate file including section/elements for at least one of a configuration, parameter, constant or workflow section where the structured file is generated/populated based on translated of elements from the abstract syntax tree representation being traversed where the abstract syntax tree representation being based on the IR tokens and IR representation of source code, viewed as types of extracted and retained information of source code seen above from the generated abstract syntax tree being used to generate/populated the intermediate language file and thus viewed that the generated intermediate representation of the input source code includes element/constructs that had been extracted/manipulated tokenized into another form and other elements/constructs of the source code that had not been, thus retained typed segments of the source code)
Choudhary does not specifically disclose generating output source code by formatting the intermediate representation into the output source code compatible with a selected one of the one or more target platforms.
However, Singh discloses generating output source code by formatting the intermediate representation into the output source code compatible with a selected one of the one or more target platforms (Singh Col. 7 lines 2-5, Col. 8 lines 26-34 and Col. 9 lines 28-42; which shows being able to process/format the intermediate representation to generate output source code for a target high programming language where the target langue is one specified/selected by the developer, where the specifics of the intermediate representation generated by the abstraction model are seen specifically disclosed in the teachings of Choudhary above).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Singh showing the ability to translate intermediate representation of source code into another target source code format, from the generating of intermediate representation of Choudhary for the purpose of improve the efficiency of translating code from one source code to another as taught by Singh Col. 1 lines 31-38.
Choudhary as modified by Singh does not specifically disclose packaging the output source code in a code repository for deployment to a runtime environment on the selected one of the one or more target platforms.
However, Wang discloses packaging the output source code in a code repository for deployment to a runtime environment on the selected one of the one or more target platforms (Wang [0023] lines 7-23, [0024] lines 11-20, [0031] lines 1-5, [0032] lines 1-12, [0051] lines 1-7 and claim 4; which shows the specifics for application/source code that is developed, viewed as including a type of new/updated source code and is able to package that code for deployment in a target environment that the app will run, viewed as a runtime environment, where the deployment can be targeted to specific devices/environments/platforms, where the package code/application is in a persistent repository, viewed as a type of code repository ).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Wang showing the ability to automatically package source code for deployment, from the generating of intermediate representation and formatting into output source code of Choudhary as modified by Singh for the purpose increasing the efficiency and effectiveness of developing, updating, packaging and deploying application source code, as taught by Wang [0023] lines 1-14.
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh and Wang as applied to claim 1 above, and further in view of Sikdar (Pub. No. US 2004/0148415 A1).
As to claim 3 Choudhary as modified by Singh and Wang does not specifically disclose wherein the retained segment of the input source code includes expression code for direct execution on the selected one of the one or more target platforms.
However, Sikdar discloses wherein the retained segment of the input source code includes expression code for direct execution on the selected one of the one or more target platforms (Sikdar claim 5; which shows how the direct execution parser is able to parse code to determine/retain code portions can be directed to a specific code execution engine, viewed as target platform).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Sikdar showing the ability to parse code for execution on a target environment into the parsing code of Choudhary as modified by Singh and Wang, for the purpose of being able to provide further detail for the user for use being able to identify and parse specific data for a target environment, as taught by Sikdar [0007] lines 1-10.
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh and Wang as applied to claim 1 above, and further in view of Vick et al. (Pub. No. US 2015/0046912 A1).
As to claims 4 Choudhary as modified by Singh and Wang do not specifically disclose comprising optimizing the intermediate representation based on one or more sets of optimization rules before formatting the optimized intermediate representation into the output source code compatible with the selected one of the one or more target platforms.
However, Vick discloses comprising optimizing the intermediate representation based on one or more sets of optimization rules before formatting the optimized intermediate representation into the output source code compatible with the selected one of the one or more target platforms (Vick [0047] lines 1-7 and [0048] lines 1-5; which shows being able to generate an optimized intermediate representation of the code base on various strategies/rules before the final outputting/formalizing the intermediate representation for output code, which in light of the teachings of Singh above shows the specifics of outputting the source code compatible with a selected/target language platform).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Vick showing the ability to optimize an intermediate representation based on a set of rules/strategies into the generation of an intermediate representation of Choudhary as modified by Singh and Wang for the purpose of increasing optimization of code by removing useless code portions, as taught by Vick [0047] lines 1-7.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh, Wang and Vick as applied to claim 4 above, and further in view of MacDonald et al. (Pub. No. US 2022/0244993 A1).
As to claim 5, Choudhary as modified by Singh, Wang and Vick do not specifically disclose wherein the optimization rules are based on an evaluation of trade-offs between performance and execution cost of the output source code.
However, MacDonald discloses wherein the optimization rules are based on an evaluation of trade-offs between performance and execution cost of the output source code (MacDonald [0032] lines 1-9; which shows that optimization technique/rules includes a balance between cost to run/execute the application source code and the performance).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of MacDonald showing the specific optimization rules based on cost and performance into the optimization of intermediate representation of Choudhary as modified by Singh, Wang and Vick for the purpose of improving optimization customization be being able to take into account cost and performance information with optimizing information as taught by MacDonald [0032] lines 1-9.
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh and Wang as applied to claim 1 above, and further in view of Shteyman et al. (Patent No. US 11,093,227 B1).
As to claim 6, Choudhary as modified by Singh and Wang do not specifically disclose wherein the abstraction model is formalized in YAML file format and wherein the intermediate representation is stored in one or more YAML files.
However, Shteyman discloses wherein the abstraction model is formalized in YAML file format and wherein the intermediate representation is stored in one or more YAML files (Shteyman Col. 16 lines 45-49; which shows the intermediate format compiler, viewed as tied to the abstraction model seen specifically disclosed above in the teachings of Choudhary, shows the files generated can be in well know formats such as a YAML file).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Shteyman showing the specific of the intermediate format being a YAML into the intermediate representation of Choudhary as modified by Singh and Wang for the purpose increasing customization of being able to provide a plurality of intermediate representation to use in well-known formats for further use, as taught by Shteyman Col. 15 lines 45-49.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh and Wang as applied to claim 1 above, and further in view of Halambi et al. (Pub. No. US 2015/0089484 A1).
As to claim 7 Choudhary as modified by Singh and Wang do not specifically disclose comprising iteratively formatting the intermediate representation into additional output source codes compatible with additional ones of the one or more target platforms and packaging the additional output source codes for deployment on the additional ones of the one or more target platforms.
However, Halambi discloses comprising iteratively formatting the intermediate representation into additional output source codes compatible with additional ones of the one or more target platforms and packaging the additional output source codes for deployment on the additional ones of the one or more target platforms (Halambi [0055] lines 1-4; which shows iterating over the intermediate representation to generate/output optimized code, which in light of the teachings of Singh above and further clarified by Singh Col. 19 lines 7-10 show the specifics of output of source code for one or more target programming languages from intermediate representation analysis/transformation for a target languages/platforms and thus together would show iteratively formatting the intermediate representation into additional output source codes compatible with additional ones of the one or more target platforms and packaging the additional output source codes for deployment on the additional ones of the one or more target platforms).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Halambi showing the specifics of interactively formatting the intermediate code into the intermediate code formatting of Choudhary as modified by Singh and Wang for the purpose of being able to increase effectiveness of code by further optimizing the generated code, as taught by Halambi [0055] lines 1-4.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Choudhary, Singh and Wang as applied to claim 1 above, and further in view of Baghani et al. (Patent No. US 11,397,794 B1).
As to claim 8 Choudhary as modified by Singh and Wang do not specifically disclose wherein the input source code is ETL source code and wherein the abstraction model is an ETL abstraction model.
However, Baghani discloses wherein the input source code is ETL source code and wherein the abstraction model is an ETL abstraction model (Baghani Col. 5 lines 19-21 and Col. 13 lines 21-34; which shows that the code that forms the abstract model can be ETL code thus viewed as ETL source code and ETL abstraction model ).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings or Baghani showing the specifics of ETL format into the abstract representation of code seen in Choudhary as modified by Singh and Wang for the purpose of increasing adaptability of the code environment to handle additional code as well including ETL code, as taught by Baghani Col. 13 lines 21-34
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRADFORD F WHEATON whose telephone number is (571)270-1779. The examiner can normally be reached Monday-Friday 8:00-5:00 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Chat Do can be reached at 571-272-3721. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/BRADFORD F WHEATON/Examiner, Art Unit 2193