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 .
Claims 1-20 are presented for examination.
Claim Objections
Claim 16 is objected to because of the following informalities: The claim recites "personalization data associated with a plurality recipients" – "a plurality recipients" lacks proper grammatical structure (missing "of"), making it unclear if it means "a plurality of recipients." Also, the phrase "communicate the plurality personalized content" is grammatically incorrect (missing "of" before "personalized"), rendering it indefinite as the scope of what is being communicated is unclear. Appropriate correction is required.
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.
Claim 3, and 8-15 are 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.
Claim 3 recites the limitation "generating the content in the second programming language based on the second abstract syntax tree." "The content" lacks clear antecedent basis because in Claim 1, "content" is introduced as the original input ("content generated using a first programming language"), but here it refers to generating something in the second language (implying transpiled/output content). This ambiguity makes it unclear which "content" is being generated, rendering the claim indefinite.
Claim 8 recites the limitation "provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language" is grammatically ambiguous due to the duplicate "to," making it unclear whether the provision is to the delivery agent, to the entity, or both; this renders the claim indefinite because the intended recipient(s) of the transpiled content and substitution data cannot be ascertained. For the purpose of examination, examiner will treat this limitation as providing to the delivery agent.
Claim 14 recites the limitation "provide the second personalization data to the delivery agent." "The second personalization data" has antecedent from "obtain second personalization data," but the claim generates "second substitution data" based on it, then provides "the second personalization data" instead. This inconsistency creates ambiguity about what is actually provided (personalization vs. substitution data), rendering the claim indefinite due to unclear scope. For the purpose of examination, examiner correlates personalization data with the substitution data.
Dependent Claim 9-13 and 15 are also rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to cure the deficiencies of its independent claim.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations …”, “a delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations …” in Claim 16.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Claim 1 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “generating, …, a first abstract syntax tree based on the content in the first programming language; transpiling, …, the content to a second programming language supported by a delivery agent to generate transpiled content by at least, for nodes of the first abstract syntax tree: converting the nodes of the first abstract syntax tree to nodes of a second abstract syntax tree; determining a set of variable names, the set of variable names corresponding to variables associated with the nodes of the first abstract syntax tree; and generating substitution data associated with the set of variable names based on the personalization data associated with the set of recipients and the first abstract syntax tree” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “a transpilation tool,” “a journey management service,” “a delivery agent,” and “obtaining, …, content generated using a first programming language supported by a journey management service; obtaining, …, personalization data associated with a set of recipients,” “providing, …, the transpiled content and the substitution data to the delivery agent”. The additional elements “a transpilation tool,” “a journey management service,” “a delivery agent,” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “obtaining, …, content generated using a first programming language supported by a journey management service; obtaining, …, personalization data associated with a set of recipients,” “providing, …, the transpiled content and the substitution data to the delivery agent” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “a transpilation tool,” “a journey management service,” “a delivery agent,” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “obtaining, …, content generated using a first programming language supported by a journey management service; obtaining, …, personalization data associated with a set of recipients,” “providing, …, the transpiled content and the substitution data to the delivery agent,” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 2 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “wherein converting the nodes of the first abstract syntax tree to the nodes of the second abstract syntax tree further includes converting an operation in a first syntax of the first programming language represented by a first node of the first abstract syntax tree to a plurality of operations in a second syntax of the second programming language represented by a plurality of nodes in the second abstract syntax tree” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Claim 3 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “wherein transpiling the content to generate the transpiled content further includes generating the content in the second programming language based on the second abstract syntax tree” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Claim 4 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “wherein the set of variable names are determined based on an operation represented by a node of the first abstract syntax tree and a location of the node within the first abstract syntax tree” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Claim 5 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “wherein generating the substitution data further comprises computing an output of a node of the first abstract syntax tree based on the personalization data” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Claims 6 further define the “substitution data’ as part of the “generating” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
Claim 7 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “generate a set of rendered content for delivery to the set of recipients by at least rendering the set of rendered content based on the transpiled content and the substitution data” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “the delivery agent,” which is merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application. Further, 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 are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 8 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “transpile, …, the content from the first programming language to a second programming language by: generating a first abstract syntax tree based on the content in the first programming language; and generating, …, transpiled content by at least converting the first abstract syntax tree to a second abstract syntax tree associated with the second programming language,” “generate, …, substitution data by at least traversing the first abstract syntax tree and determining results associated with a set of variables of the first abstract syntax tree based on the personalization data,” “wherein the transpiled content and the substitution data causes the delivery agent to generate personalized content and to communicate the personalized content over a network to a remote computing device of the recipient” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “non-transitory computer-readable medium,” “a processing device”, “a transpilation tool,” “a delivery agent,” “a transpilation listener,” “a substitution listener,”, “a remote computing device” and “retrieve, from a data store, content in a first programming language,” “retrieve, from the data store, personalization data associated with a recipient”, “provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language”. The additional elements “non-transitory computer-readable medium,” “a processing device”, “a transpilation tool,” “a delivery agent,” “a transpilation listener,” “a substitution listener,”, “a remote computing device” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “retrieve, from a data store, content in a first programming language,” “retrieve, from the data store, personalization data associated with a recipient”, “provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “non-transitory computer-readable medium,” “a processing device”, “a transpilation tool,” “a delivery agent,” “a transpilation listener,” “a substitution listener,”, “a remote computing device” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “retrieve, from a data store, content in a first programming language,” “retrieve, from the data store, personalization data associated with a recipient”, “provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claims 9 further define the “first node” as part of the “generating” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
Claim 10 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “wherein converting the first abstract syntax tree to the second abstract syntax tree further includes converting the first node to a plurality of nodes of the second abstract syntax tree representing a plurality of conditional statements to perform an operation of the first conditional statement” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
Claims 11 further define the “Variable” as part of the “determining” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
Claims 12 further define the “Variable” and “result” as part of the “determining” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
Claim 13 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “generate rendered content based on the transpiled content and the substitution data” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “processing device”, “delivery agent,” and “transmit the rendered content to the recipient”. The additional elements “processing device”, “delivery agent,” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “transmit the rendered content to the recipient”does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “processing device”, “delivery agent,” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “transmit the rendered content to the recipient” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 14 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “generate, …, second substitution data by at least traversing the first abstract syntax tree and determining results associated with the set of variables of the first abstract syntax tree based on the second personalization data” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “processing device”, “delivery agent,” “Substitution listener” and “obtain second personalization data associated with a second recipient”, “provide the second personalization data to the delivery agent”. The additional elements “processing device”, “delivery agent,” “Substitution listener” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “obtain second personalization data associated with a second recipient”, “provide the second personalization data to the delivery agent” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “processing device”, “delivery agent,” “Substitution listener” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “obtain second personalization data associated with a second recipient”, “provide the second personalization data to the delivery agent” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 15 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “where the second rendered content is generated based on the second personalization data” as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “delivery agent,” and “wherein providing the second personalization data to the delivery agent causes the delivery agent to transmit second rendered content to the second recipient”. The additional elements “delivery agent,” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “wherein providing the second personalization data to the delivery agent causes the delivery agent to transmit second rendered content to the second recipient” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “delivery agent,” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “wherein providing the second personalization data to the delivery agent causes the delivery agent to transmit second rendered content to the second recipient” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 16 as drafted, recite a process that, under its broadest reasonable interpretation, covers steps 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 “generating transpiled content by at least converting a first abstract syntax tree to a second abstract syntax tree, wherein the first abstract syntax tree is based on the content and represents a first syntax of the first programming language and the second abstract syntax tree represents a second syntax of a second programming language,” “generating substitution data by at least traversing the first abstract syntax tree based on personalization data associated with a plurality recipients”, “generating a plurality of personalized content based on the transpiled content and the substitution data to communicate the plurality personalized content over a network to remote computing devices of the plurality recipients”. as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claims recites the following additional elements “a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations,” “delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations” and “obtaining content in a first programming language”, “obtaining the transpiled content and the substitution data”. The additional elements “a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations,” “delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations” are merely instructions to implement an abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The additional element “obtaining content in a first programming language”, “obtaining the transpiled content and the substitution data” does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
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 “a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations,” “delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional element “obtaining content in a first programming language”, “obtaining the transpiled content and the substitution data” the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claim 17 further defines the “first programming language” as part of the “obtaining” function which does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application. Further, the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claims 18 further define the “second programming language” as part of the “generating” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
Claim 19 further defines the “templating programming language” as part of the “obtaining” function which does nothing more than add insignificant extra solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application. Further, the courts have identified gathering data and displaying the output of the abstract idea is well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claims cannot provide an inventive concept. Thus, the claims are not patent eligible.
Claims 20 further define the “generating” function set forth in the claims from which they depend, thus, are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1, 3-7, 16-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Araya (US 20140282444 A1) in view of Michael (US 9026903 B1) further in view of Phelan (US 20120191546 A1).
Regarding Claim 1, Araya teaches
A method comprising:
obtaining, by a transpilation tool, content generated using a first programming language supported by a journey management service ([0037], " Source grammar set 106 and target grammar set 108 may be loaded into a grammar compositor which would combine the at least some of the constituent grammars of the source grammar set 106 and the target grammar set 108 into a composite grammar stored in composite grammar storage 116.") Examiner Comments: Araya teaches obtaining source code (content) in a first programming language (source grammar) for transformation, which corresponds to the claimed obtaining of content in a first language by a transpilation tool; this maps because the grammar compositor processes the input code as part of the transpilation setup.
generating, by the transpilation tool, a first abstract syntax tree based on the content in the first programming language ([0040], "An abstract syntax tree generator may take input from the rules 112, the composite grammar 116, and the source code analyzer 120 and will generates an abstract syntax tree for storage in abstract syntax tree storage 130.") Examiner Comments: Araya teaches generating an AST (first abstract syntax tree) from the source code (content) in the source grammar (first programming language), which matches the claimed generation step as it uses the AST as the core representation for transformation.
transpiling, by the transpilation tool, the content to a second programming language supported by a delivery agent to generate transpiled content by at least, for nodes of the first abstract syntax tree ([0041], "Accordingly, abstract syntax tree transformer 132 may traverse the abstract syntax tree in storage 130 and according to the annotations as it traverses the nodes, and subject to user preferences 124 and conditions 126 apply the transformations.") Examiner Comments: Araya teaches transpiling by transforming the AST nodes to produce code in the target grammar (second programming language), which teaches the transpiling step as it involves node-by-node processing to generate transpiled content.
converting the nodes of the first abstract syntax tree to nodes of a second abstract syntax tree ([0042], "As the transformation rules are closed over the composite grammar, and the transformation preserves the equivalence of the functionality or evolves it, the new transformed AST code is functionally equivalent to the previous AST or it is an evolution of it, containing some of its pieces in a different subset of the composite grammar, and might be having a different semantic.") Examiner Comments: Araya teaches converting and transforming the initial AST into a new transformed AST (second abstract syntax tree), which teaches node conversion as part of preserving or evolving semantics during transformation.
Araya did not specifically teach
obtaining, by the transpilation tool, personalization data associated with a set of recipients;
determining a set of variable names, the set of variable names corresponding to variables associated with the nodes of the first abstract syntax tree;
and generating substitution data associated with the set of variable names based on the personalization data associated with the set of recipients and the first abstract syntax tree;
and providing, by the transpilation tool, the transpiled content and the substitution data to the delivery agent.
However, Michael teaches
determining a set of variable names, the set of variable names corresponding to variables associated with the nodes of the first abstract syntax tree (Col 6: ln 15 - 26, "Jsselect uses “i” as a counter to keep track of the number of iterations performed on the input parameter “result.message.”");
and generating substitution data associated with the set of variable names based on the personalization data associated with the set of recipients and the first abstract syntax tree (Col 5: ln 30-35, " Another example of a custom attribute is jscontent. During execution, custom attribute jscontent indicates to interpreter 109 to substitute the content of HTML element in template 201 with a value of input data 108 specified in protocol buffer message 218. For example,<span jscontent=“snippet.text”></span>."; Col 3: ln 1-11, “Input data 108 is data content that client 106 requests from web server 104”; Col 7: ln 40-52, “AST 208 includes nodes that are expression nodes and control nodes. An expression node may include text that is included inside HTML tags in template file 202. A control node may include an HTML tag, processing instructions, such as an arithmetic or logical expressions, a complex data structure, a custom attribute, a function call or call to another AST 208”) Examiner Comments: Michael teaches generating substitution data by inserting data values into placeholders associated with variable names, based on input data (personalization), which maps as it uses the AST structure to determine where substitutions occur.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Araya and Michael did not specifically teach
obtaining, by the transpilation tool, personalization data associated with a set of recipients;
providing, by the transpilation tool, the transpiled content and the substitution data to the delivery agent.
However, Phelan teaches
obtaining, by the transpilation tool, personalization data associated with a set of recipients ([0045], "Information on subscribers includes at least an email address, subscriber demographic information, subscriber preferences and subscriber email and internet behaviors (e.g., actions with emails such as read/deleted/forwarded, social networking activity, abandoned ecommerce shopping carts, or other tracked user activities on websites).");
providing, by the transpilation tool, the transpiled content and the substitution data to the delivery agent ([0047], "The email marketing system campaign manager email sending engine sends the message to the subscribers through the use of segmentation queries created and stored in the database.") Examiner Comments: Phelan teaches providing the generated content (transpiled and substituted) to a delivery system (email sending engine as delivery agent), which teaches this limitation as it involves transmitting the final personalized content for batch delivery.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Regarding Claim 3, Araya, Michael and Phelan teach
The method of Claim 1.
Araya teaches wherein transpiling the content to generate the transpiled content further includes generating the content in the second programming language based on the second abstract syntax tree ([0044], "A typical example of a report is to generate source code in the target grammar. In this case, the abstract syntax tree is traversed and corresponding source code is generated.") Examiner Comments: Araya teaches generating the target code (content in second language) by traversing the transformed AST (second abstract syntax tree), which directly teaches this limitation.
Regarding Claim 4, Araya, Michael and Phelan teach
The method of Claim 1.
Araya did not specifically teach
wherein the set of variable names are determined based on an operation represented by a node of the first abstract syntax tree and a location of the node within the first abstract syntax tree.
However, Michael teaches
wherein the set of variable names are determined based on an operation represented by a node of the first abstract syntax tree and a location of the node within the first abstract syntax tree (Col 6: ln 15-26, "Jsselect uses “i” as a counter to keep track of the number of iterations performed on the input parameter “result.message.”") Examiner Comments: Michael teaches determining variable names (e.g., 'i' for index) based on operations (loops) and node locations (position in array/loop), which maps as variable assignment depends on AST node context.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 5, Araya, Michael and Phelan teach
The method of Claim 1.
Araya did not specifically teach
wherein generating the substitution data further comprises computing an output of a node of the first abstract syntax tree based on the personalization data.
However, Michael teaches
wherein generating the substitution data further comprises computing an output of a node of the first abstract syntax tree based on the personalization data (Col 5: ln 30-35, " During execution, custom attribute jscontent indicates to interpreter 109 to substitute the content of HTML element in template 201 with a value of input data 108 specified in protocol buffer message 218.“) Examiner Comments: Michael teaches computing node outputs (e.g., substitution results) based on input data fields (personalization data), which teaches this as node evaluation uses data to determine inclusion/substitution.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 6, Araya, Michael and Phelan teach
The method of Claim 1.
Araya did not specifically teach
wherein the substitution data include a structure data object.
However, Michael teaches
wherein the substitution data include a structure data object (Col 4: ln 25-31, "A compiler (not shown) compiles the data structure defined in “.proto” file into a protocol buffer. During execution, the protocol buffer may be used as a protocol buffer message.") Examiner Comments: Michael teaches substitution data as structured protocol buffer objects (structured data objects), which directly teaches this limitation.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 7, Araya, Michael and Phelan teach
The method of Claim 1.
Araya and Michael did not specifically teach
wherein the method further includes causing the delivery agent to generate a set of rendered content for delivery to the set of recipients by at least rendering the set of rendered content based on the transpiled content and the substitution data.
However, Phelan teaches
wherein the method further includes causing the delivery agent to generate a set of rendered content for delivery to the set of recipients by at least rendering the set of rendered content based on the transpiled content and the substitution data ([Abstract], " An email campaign manager sends a personalized message to at least one selected subscriber over the network based on the rule whereby, the selected subscriber receives the message as a result of having particular status for actions with prior emails."; [0047], " The email marketing system campaign manager 106 email sending engine 112 sends the message to the subscribers through the use of segmentation queries created and stored in the database 110.") Examiner Comments: Phelan teaches causing the email engine (delivery agent) to render and deliver personalized content to subscribers (recipients) based on templates and profile data (transpiled content and substitution), which maps as it generates and sends batch emails.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Regarding Claim 16, Araya teaches
A system comprising: a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations comprising: obtaining content in a first programming language ([0037], " Source grammar set 106 and target grammar set 108 may be loaded into a grammar compositor which would combine the at least some of the constituent grammars of the source grammar set 106 and the target grammar set 108 into a composite grammar stored in composite grammar storage 116");
generating transpiled content by at least converting a first abstract syntax tree to a second abstract syntax tree, wherein the first abstract syntax tree is based on the content and represents a first syntax of the first programming language and the second abstract syntax tree represents a second syntax of a second programming language ([0042], "As the transformation rules are closed over the composite grammar, and the transformation preserves the equivalence of the functionality or evolves it, the new transformed AST code is functionally equivalent to the previous AST or it is an evolution of it, containing some of its pieces in a different subset of the composite grammar, and might be having a different semantic.").
Araya did not specifically teach
generating substitution data by at least traversing the first abstract syntax tree based on personalization data associated with a plurality recipients;
and a delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations comprising: obtaining the transpiled content and the substitution data;
and generating a plurality of personalized content based on the transpiled content and the substitution data to communicate the plurality personalized content over a network to remote computing devices of the plurality recipients.
However, Michael teaches
generating substitution data by at least traversing the first abstract syntax tree based on personalization data associated with a plurality recipients (Col 5: ln 30-35, " Another example of a custom attribute is jscontent. During execution, custom attribute jscontent indicates to interpreter 109 to substitute the content of HTML element in template 201 with a value of input data 108 specified in protocol buffer message 218. For example,<span jscontent=“snippet.text”></span>."; Col 3: ln 1-11, “Input data 108 is data content that client 106 requests from web server 104”; Col 7: ln 40-52, “AST 208 includes nodes that are expression nodes and control nodes. An expression node may include text that is included inside HTML tags in template file 202. A control node may include an HTML tag, processing instructions, such as an arithmetic or logical expressions, a complex data structure, a custom attribute, a function call or call to another AST 208”) Examiner Comments: Michael teaches generating substitution data by inserting data values into placeholders associated with variable names, based on input data (personalization), which maps as it uses the AST structure to determine where substitutions occur.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Araya and Michael did not specifically teach
and a delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations comprising: obtaining the transpiled content and the substitution data;
and generating a plurality of personalized content based on the transpiled content and the substitution data to communicate the plurality personalized content over a network to remote computing devices of the plurality recipients.
However, Phelan teaches
and a delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations comprising: obtaining the transpiled content and the substitution data ([0045], "Information on subscribers includes at least an email address, subscriber demographic information, subscriber preferences and subscriber email and internet behaviors (e.g., actions with emails such as read/deleted/forwarded, social networking activity, abandoned ecommerce shopping carts, or other tracked user activities on websites).");
and generating a plurality of personalized content based on the transpiled content and the substitution data to communicate the plurality personalized content over a network to remote computing devices of the plurality recipients ([0047], "The email marketing system campaign manager email sending engine sends the message to the subscribers through the use of segmentation queries created and stored in the database.") Examiner Comments: Phelan teaches providing the generated content (transpiled and substituted) to a delivery system (email sending engine as delivery agent), which teaches this limitation as it involves transmitting the final personalized content for batch delivery.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Regarding Claim 17, Araya, Michael and Phelan teach
The system of Claim 16.
Araya did not specifically teach
wherein the first programming language includes a templating programming language supported by a journey management service.
However, Michael teaches
wherein the first programming language includes a templating programming language supported by a journey management service (Col 4: ln 4-11, "Template typically includes formatted code, such as HTML markup code, processing instructions, expressions and custom attributes that are interpreted by template building module.") Examiner Comments: Michael teaches a templating language with custom attributes (first programming language) for content generation, supported by the system (journey management service).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 18, Araya, Michael and Phelan teach
The system of Claim 17.
Araya did not specifically teach
wherein the second programming language include a delivery agent programming language supported by a delivery agent.
However, Michael teaches
wherein the second programming language include a delivery agent programming language supported by a delivery agent (Col 8: ln 16-35, " when interpreter 109 retrieves input data 108 from a protocol buffer message 218, interpreter 109 retrieves input data 108 using the memory offset representation, which, in an embodiment, is more efficient. Code generator 226 converts template 201 into a template class 210. In an embodiment, template class 210 has the same name as template 201.") Examiner Comments: Michael teaches converting to executable code (second language, e.g., compiled class) supported by the interpreter/renderer (delivery agent).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 19, Araya, Michael and Phelan teach
The system of Claim 18.
Araya did not specifically teach
wherein the templating programming language provides additional functionality relative to the delivery agent programming language.
However, Michael teaches
wherein the templating programming language provides additional functionality relative to the delivery agent programming language (Col 4: 59-67, "Each custom attribute includes template processing directives. In a non-limiting example, custom attributes may include, as explained in further detail below, jsimport, jstemplate, jscontent, jsselect, jsvar and jsif, to name only a few.") Examiner Comments: Michael teaches the template language has additional directives (functionality) like conditionals and loops not native to plain HTML (delivery agent language).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 20, Araya, Michael and Phelan teach
The system of Claim 16.
Araya and Michael did not specifically teach
wherein generating the plurality of personalized content based on the transpiled content and the substitution data further comprises rendering the plurality of personalized content.
However, Phelan teaches
wherein generating the plurality of personalized content based on the transpiled content and the substitution data further comprises rendering the plurality of personalized content ([0017], "The email message system further includes an email campaign manager containing program code which when executed by the processor in the server causes the server to perform operations of sending a personalized message to at least one selected subscriber over the network based on the marketer user created rule. As a result, the selected subscriber receives the sent personalized message as a result of having particular status information for that subscriber's actions with prior emails") Examiner Comments: Phelan teaches rendering personalized content by substituting into templates for multiple subscribers, which maps as it generates batch outputs.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Claim(s) 2 is/are rejected under 35 U.S.C. 103 as being unpatentable over Araya (US 20140282444 A1) in view of Michael (US 9026903 B1) and Phelan (US 20120191546 A1) further in view of Garza (US20140282373A1).
Regarding Claim 2, Araya, Michael and Phelan teach
The method of Claim 1.
Araya, Michael and Phelan did not specifically teach
wherein converting the nodes of the first abstract syntax tree to the nodes of the second abstract syntax tree further includes converting an operation in a first syntax of the first programming language represented by a first node of the first abstract syntax tree to a plurality of operations in a second syntax of the second programming language represented by a plurality of nodes in the second abstract syntax tree.
However, Garza (US20140282373A1) teaches
wherein converting the nodes of the first abstract syntax tree to the nodes of the second abstract syntax tree further includes converting an operation in a first syntax of the first programming language represented by a first node of the first abstract syntax tree to a plurality of operations in a second syntax of the second programming language represented by a plurality of nodes in the second abstract syntax tree ([0029], “The parser 306 may create an artifact library 310 and/or create a source abstract syntax tree (AST) 308”; [0032], "For example, some legacy programming languages, such as COBOL, provide a single assignment statement that will populate multiple variables with the same value. When a target language does not support this operation, the portion of the AST 308 for that particular assignment statement may be transformed to expand the single assignment statement to multiple assignment statements compatible with the target language.") Examiner Comments: Garza teaches transforming a single assignment operation (first node in source AST) into multiple assignment operations (plurality of nodes in target AST) to ensure compatibility during language migration, which directly maps to the claimed conversion as it expands one syntactic construct to several in the target syntax.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya, Michael and Phelan’s teaching into Garza’s in order to enable migration of legacy code to modern languages by expanding unsupported constructs during AST transformation, ensuring functional equivalence and compatibility across programming languages by parsing the source code of an existing computer program and generating a source abstract syntax tree from the parsed source code (Garza [Summary]).
Claim(s) 8-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Araya (US 20140282444 A1) in view of Michael (US 9026903 B1) and Phelan (US 20120191546 A1), further in view of Bhatnagar (US 20220414325 A1).
Regarding Claim 8, Araya teaches
A non-transitory computer-readable medium storing executable instructions embodied thereon that, as a result of being executed by a processing device, cause the processing device to:
transpile, by the transpilation tool, the content from the first programming language to a second programming language by: generating a first abstract syntax tree based on the content in the first programming language ([0040], " An abstract syntax tree generator may take input from the rules 112, the composite grammar 116, and the source code analyzer 120 and will generates an abstract syntax tree for storage in abstract syntax tree storage 130.");
and generating, by a transpilation listener, transpiled content by at least converting the first abstract syntax tree to a second abstract syntax tree associated with the second programming language ([0041], "Accordingly, abstract syntax tree transformer may traverse the abstract syntax tree in storage and according to the annotations as it traverses the nodes, and subject to user preferences and conditions apply the transformations."; [0042], "As the transformation rules are closed over the composite grammar, and the transformation preserves the equivalence of the functionality or evolves it, the new transformed AST code is functionally equivalent to the previous AST or it is an evolution of it, containing some of its pieces in a different subset of the composite grammar, and might be having a different semantic.")) Examiner Comments: Araya teaches transpiling with AST conversion, where the transformer acts as a listener-like process during traversal.
Araya did not specifically teach
retrieve, from a data store, content in a first programming language;
retrieve, from the data store, personalization data associated with a recipient;
generate, by a substitution listener, substitution data by at least traversing the first abstract syntax tree and determining results associated with a set of variables of the first abstract syntax tree based on the personalization data;
and provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language, wherein the transpiled content and the substitution data causes the delivery agent to generate personalized content and to communicate the personalized content over a network to a remote computing device of the recipient.
However, Michael teaches
generate, by a substitution listener, substitution data by at least traversing the first abstract syntax tree and determining results associated with a set of variables of the first abstract syntax tree based on the personalization data (Col 5: ln 30-35, " Another example of a custom attribute is jscontent. During execution, custom attribute jscontent indicates to interpreter 109 to substitute the content of HTML element in template 201 with a value of input data 108 specified in protocol buffer message 218. For example,<span jscontent=“snippet.text”></span>."; Col 3: ln 1-11, “Input data 108 is data content that client 106 requests from web server 104”; Col 7: ln 40-52, “AST 208 includes nodes that are expression nodes and control nodes. An expression node may include text that is included inside HTML tags in template file 202. A control node may include an HTML tag, processing instructions, such as an arithmetic or logical expressions, a complex data structure, a custom attribute, a function call or call to another AST 208”) Examiner Comments: Michael teaches generating substitution data by traversing the AST and evaluating variables/custom attributes based on input data (personalization), which maps as the interpreter acts as a substitution listener during runtime.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Araya and Michael did not specifically teach
retrieve, from a data store, content in a first programming language;
retrieve, from the data store, personalization data associated with a recipient;
provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language, wherein the transpiled content and the substitution data causes the delivery agent to generate personalized content and to communicate the personalized content over a network to a remote computing device of the recipient.
However, Phelan teaches
retrieve, from a data store, personalization data associated with a recipient ([0045], "Information on subscribers includes at least an email address, subscriber demographic information, subscriber preferences and subscriber email and internet behaviors (e.g., actions with emails such as read/deleted/forwarded, social networking activity, abandoned ecommerce shopping carts, or other tracked user activities on websites).");
provide, to a delivery agent, the transpiled content and the substitution data to an entity associated with the second programming language, wherein the transpiled content and the substitution data causes the delivery agent to generate personalized content and to communicate the personalized content over a network to a remote computing device of the recipient ([0047], "The email marketing system campaign manager 106 email sending engine 112 sends the message to the subscribers through the use of segmentation queries created and stored in the database 110.") Examiner Comments: Phelan teaches providing personalized content and data to the delivery engine, causing generation and network communication to recipients, which maps as it handles batch personalized delivery.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Araya, Michael and Phelan did not specifically teach
retrieve, from a data store, content in a first programming language.
However, Bhatnagar teaches
retrieve, from a data store, content in a first programming language ([0043], " a template management system 100 with universal components according to the present subject matter. In the present disclosure, a template can comprise a computer-compiled HTML web page. According to some embodiments, a template can comprise a number of components, such as body, sections, rows, columns, blocks, and subblocks. The template, with its data schemas that define the structure and content of it, can be stored in a relational database, e.g., the MySQL database.") Examiner Comments: Bhatnagar teaches retrieving template content from a data store in a templating format (first language), which maps as it involves loading templates for processing.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya, Michael and Phelan’s teaching into Bhatnagar’s in order to enhance the system with efficient pre-rendering and placeholder filling for scalable email delivery, reducing computation during batch personalization by enabling facilitating efficient computer aided management of template files and improving computer and network speeds, so that universal content can be the section that comprises sub-components or the block that comprises sub-blocks (Bhatnagar [Summary/Background]).
Regarding Claim 9, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 8.
Araya did not specifically teach
wherein a first node of the first abstract syntax tree represents a first conditional statement included in the content.
However, Michael teaches
wherein a first node of the first abstract syntax tree represents a first conditional statement included in the content (Col 5: ln 50-60, "A combination of custom attributes jsif and jscontent may specify conditions when specific template sections may be omitted or hidden in the valid HTML document.") Examiner Comments: Michael teaches AST nodes for conditional statements (jsif), which maps directly as it represents conditionals in the template content.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 10, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 9. Araya teaches wherein converting the first abstract syntax tree to the second abstract syntax tree further includes converting the first node to a plurality of nodes of the second abstract syntax tree representing a plurality of conditional statements to perform an operation of the first conditional statement ([0027], "Transformations may be chained. Specifically, a user may determine that a series of transformations should be applied to an abstract syntax tree generated from source code."; [0042], “As the transformation rules are closed over the composite grammar, and the transformation preserves the equivalence of the functionality or evolves it, the new transformed AST code is functionally equivalent to the previous AST or it is an evolution of it, containing some of its pieces in a different subset of the composite grammar, and might be having a different semantic”) Examiner Comments: Araya teaches converting a single construct (node) to multiple chained operations (plurality of nodes) for equivalence, which maps as it applies to conditional operations.
Regarding Claim 11, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 10.
Araya did not specifically teach
wherein a variable of the set of variables indicates a result of a conditional statement of the plurality of conditional statements based on the personalization data.
However, Michael teaches
wherein a variable of the set of variables indicates a result of a conditional statement of the plurality of conditional statements based on the personalization data (Col 5: ln 50-60, "A combination of custom attributes jsif and jscontent may specify conditions when specific template sections may be omitted or hidden in the valid HTML document.") Examiner Comments: Michael teaches variables indicating conditional results (e.g., inclusion/omission) based on input data (personalization), which maps as conditions evaluate data to set variable outcomes.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya’s teaching into Michael’s in order to enable semantic-preserving transformation of templating code with variable substitution for personalized content, allowing compatibility across different rendering environments while optimizing for data binding in dynamic HTML generation by performing an action based on the determined node type using several compiled template objects generated from several templates in the template file (Michael [Summary]).
Regarding Claim 12, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 11.
Araya, Michael, and Phelan did not specifically teach
wherein the variable and the result are included in the substitution data.
However, Bhatnagar teaches
wherein the variable and the result are included in the substitution data ([0051], "Upon receiving a designation of the universal component, template management server can save its component data in a relational database. [...] Furthermore, the component data can comprise various component attributes that define the content and format of the universal component, e.g., the text, image, font size, and/or colors.") Examiner Comments: Bhatnagar teaches including computed results (from conditions) and variables in substituted component data, which maps as universal components handle dynamic substitutions.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya, Michael and Phelan’s teaching into Bhatnagar’s in order to enhance the system with efficient pre-rendering and placeholder filling for scalable email delivery, reducing computation during batch personalization by enabling facilitating efficient computer aided management of template files and improving computer and network speeds, so that universal content can be the section that comprises sub-components or the block that comprises sub-blocks (Bhatnagar [Summary/Background]).
Regarding Claim 13, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 8.
Araua and Michael did not specifically teach
wherein instructions further include instructions, that, as a result of being executed by the processing device, cause the processing device to: cause the delivery agent to generate rendered content based on the transpiled content and the substitution data; and cause the delivery agent to transmit the rendered content to the recipient.
However, Phelan teaches
wherein instructions further include instructions, that, as a result of being executed by the processing device, cause the processing device to: cause the delivery agent to generate rendered content based on the transpiled content and the substitution data; and cause the delivery agent to transmit the rendered content to the recipient ([0044], " an email sending engine 112 which when activated by the marketer selects a segmented group of subscribers or customers 116, 118 to send a series of emails 114") Examiner Comments: Phelan teaches generating and transmitting rendered personalized content, which maps as the engine processes and sends based on templates and data.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Regarding Claim 14, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 13.
Araya and Michael did not specifically teach
wherein instructions further include instructions, that, as a result of being executed by the processing device, cause the processing device to: obtain second personalization data associated with a second recipient; generate, by the substitution listener, second substitution data by at least traversing the first abstract syntax tree and determining results associated with the set of variables of the first abstract syntax tree based on the second personalization data; and provide the second personalization data to the delivery agent.
However, Phelan teaches
wherein instructions further include instructions, that, as a result of being executed by the processing device, cause the processing device to: obtain second personalization data associated with a second recipient; generate, by the substitution listener, second substitution data by at least traversing the first abstract syntax tree and determining results associated with the set of variables of the first abstract syntax tree based on the second personalization data; and provide the second personalization data to the delivery agent ([0051], "Dynamic Segments allow marketers to define business rules that dictate how a population of subscribers can be automatically segmented. [...] Subscribers are added or removed based on unique information tied to their profile.") Examiner Comments: Phelan teaches handling multiple recipients with individual personalization data and substitutions, which maps as dynamic segments process per-recipient data.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Regarding Claim 15, Araya, Michael, Phelan and Bhatnagar teach
The medium of Claim 14.
Araya and Michael did not specifically teach
wherein providing the second personalization data to the delivery agent causes the delivery agent to transmit second rendered content to the second recipient, where the second rendered content is generated based on the second personalization data.
However, Phelan teaches
wherein providing the second personalization data to the delivery agent causes the delivery agent to transmit second rendered content to the second recipient, where the second rendered content is generated based on the second personalization data ([Claim 1], " an email campaign manager containing program code which when executed by the processor in the server causes the server to perform operations of sending a personalized message to at least one selected subscriber over the network based on the marketer user created rule whereby the selected subscriber receives the sent personalized message as a result of having particular status information for that subscriber's email or internet behaviors.") Examiner Comments: Phelan teaches generating and transmitting individual rendered content based on per-recipient data, which maps as it supports batch personalization for multiple recipients.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Araya and Michael’s teaching into Phelan’s in order to enhance scalability and user engagement in digital communication systems by incorporating personalization data for targeted messaging to multiple recipients by providing campaign manager containing program code providing a server to perform operations of sending a personalized message to subscribers over a network based on a client marketer user created rule (Phelan [Summary]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMIR SOLTANZADEH whose telephone number is (571)272-3451. The examiner can normally be reached M-F, 9am - 5pm ET.
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 Mui 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.
/AMIR SOLTANZADEH/Examiner, Art Unit 2191