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 .
DETAILED ACTION
This is the initial office action based on the application submitted on September 18, 2024.
Claims 1-24 are pending.
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 .
Specification
The disclosure is objected to because of the following informalities:
In Paragraph [0079], “when the payloads include one or more mismatch” should read “when the payloads include one or more mismatches”
In Paragraph [0079], “the differences identified by during the comparison” should read “the differences identified during the comparison”.
In Paragraph [0082], “hardware processors, causes performance of any” should read “hardware processors, cause performance of any”.
Claim Objections
Claim 17 is objected to because of the following informalities:
Claim 17 recites “A non-transitory computer readable medium comprising instructions that, when executed by one or more hardware processes, causes performance of operations comprising”. It should read “A non-transitory computer readable medium comprising instructions that, when executed by one or more hardware processors, cause performance of operations comprising”.
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-24 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 Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 1 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 1 is directed to a system, which is a machine, and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 1 recites the limitations:
identifying a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments;
identifying a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments […];
cleansing the first payload and the second payload by identifying a set of one or more elements for exclusion;
comparing elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload;
excluding the set of one or more elements; and
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
storing a plurality of payloads generated by a plurality of software environments;
[…] wherein the second software environment comprises a modified version of the first software environment;
generating a report indicating the differences.
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments. The limitation (b) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments. The limitation (c) in the context of the claim encompasses a human observing, evaluating, and judging elements of the first payload and second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to cleanse identify a set of one or more elements for exclusion. The limitation (d) in the context of the claim encompasses a human observing and evaluating respective elements of the first payload and the second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to compare elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload. The limitation (e) in the context of the claim encompasses a human evaluating and judging the identified set of one or more elements in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to exclude the set of one or more elements. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The processor and computer-readable data storage device are used as a tool to perform the identifying, cleansing, comparing, and excluding steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) are mere data gathering/storing/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/storing/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/storing/outputting. See MPEP § 2106.05(g).
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (4) merely indicates a field of use or technological environment in which the judicial exception is performed. Although the additional element (4) limits the identified judicial exceptions (a), (b), (c), (d), and (e), this type of limitation merely confines the use of the abstract idea to a particular technological environment, namely, evaluating and comparing information associated with different versions of a software environment. Thus, the additional element (4) fails to add an inventive concept to the claims. See MPEP § 2106.05(h).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized storing and retrieving information in memory as well-understood, routine, and conventional computer functions when claimed in a merely generic manner. Additionally, MPEP § 2106.05(g) recognizes outputting a report of the results of data analysis as insignificant post-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to store information in memory and generate or output the results of data processing in a report. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (8) is at best mere instructions to “apply” the abstract ideas, which cannot provide an inventive concept. Therefore, the additional element does not meaningfully limit the claim because employing generic computer functions to execute an abstract idea, even when limiting the use of the abstract idea to one particular technological environment, does not add significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Claims 2-8 are dependent on Claim 1, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 1.
Claim 2 recites the limitation:
selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting; and
performing the comparing after executing the selected one or more preprocessing operations without performing unselected preprocessing operations.
Claim 3 recites the limitation:
selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload; and
reformatting the first payload or the second payload using the first schema.
Claim 4 recites the limitation:
selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload; and
validating the first payload and the second payload using the first syntax.
Claim 5 recites the limitation:
selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload, wherein individual cleanse lists of the plurality of cleanse lists identify elements of the first payload and the second payload for exclusion from the comparing.
Claim 6 recites the limitation:
wherein identifying the set of one or more elements for exclusion comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements.
Claim 7 recites the limitation:
removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements.
Claim 8 recites the limitation:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure.
Claims 2-5 and 7 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)).
Claim 6 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea.
Claim 8 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea.
Thus, Claims 2-8 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 1-8 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 9 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 9 is directed to a method, which is a process (a series of steps or acts), and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 9 recites the limitations:
identifying a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments;
identifying a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments […];
cleansing the first payload and the second payload by identifying a set of one or more elements for exclusion;
comparing elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload;
excluding the set of one or more elements; and
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
storing a plurality of payloads generated by a plurality of software environments;
[…] wherein the second software environment comprises a modified version of the first software environment;
generating a report indicating the differences.
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments. The limitation (b) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments. The limitation (c) in the context of the claim encompasses a human observing, evaluating, and judging elements of the first payload and second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to cleanse identify a set of one or more elements for exclusion. The limitation (d) in the context of the claim encompasses a human observing and evaluating respective elements of the first payload and the second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to compare elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload. The limitation (e) in the context of the claim encompasses a human evaluating and judging the identified set of one or more elements in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to exclude the set of one or more elements. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The processor and computer-readable data storage device are used as a tool to perform the identifying, cleansing, comparing, and excluding steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) are mere data gathering/storing/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/storing/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/storing/outputting. See MPEP § 2106.05(g).
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (4) merely indicates a field of use or technological environment in which the judicial exception is performed. Although the additional element (4) limits the identified judicial exceptions (a), (b), (c), (d), and (e), this type of limitation merely confines the use of the abstract idea to a particular technological environment, namely, evaluating and comparing information associated with different versions of a software environment. Thus, the additional element (4) fails to add an inventive concept to the claims. See MPEP § 2106.05(h).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized storing and retrieving information in memory as well-understood, routine, and conventional computer functions when claimed in a merely generic manner. Additionally, MPEP § 2106.05(g) recognizes outputting a report of the results of data analysis as insignificant post-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to store information in memory and generate or output the results of data processing in a report. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (8) is at best mere instructions to “apply” the abstract ideas, which cannot provide an inventive concept. Therefore, the additional element does not meaningfully limit the claim because employing generic computer functions to execute an abstract idea, even when limiting the use of the abstract idea to one particular technological environment, does not add significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Claims 10-16 are dependent on Claim 9, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 9.
Claim 10 recites the limitation:
selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting; and
performing the comparing after executing the selected one or more preprocessing operations without performing unselected preprocessing operations.
Claim 11 recites the limitation:
selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload; and
reformatting the first payload or the second payload using the first schema.
Claim 12 recites the limitation:
selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload; and
validating the first payload and the second payload using the first syntax.
Claim 13 recites the limitation:
selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload, wherein individual cleanse lists of the plurality of cleanse lists identify elements of the first payload and the second payload for exclusion from the comparing.
Claim 14 recites the limitation:
wherein identifying the set of one or more elements for exclusion comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements.
Claim 15 recites the limitation:
removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements.
Claim 16 recites the limitation:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure.
Claims 10-13 and 15 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)).
Claim 14 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea.
Claim 16 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea.
Thus, Claims 10-16 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 9-16 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 17 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 17 is directed to a non-transitory computer-readable medium, which is an article of manufacture, and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 17 recites the limitations:
identifying a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments;
identifying a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments […];
cleansing the first payload and the second payload by identifying a set of one or more elements for exclusion;
comparing elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload;
excluding the set of one or more elements; and
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
storing a plurality of payloads generated by a plurality of software environments;
[…] wherein the second software environment comprises a modified version of the first software environment;
generating a report indicating the differences.
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments. The limitation (b) in the context of the claim encompasses a human observing and evaluating information associated with the plurality of payloads in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to identify a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments. The limitation (c) in the context of the claim encompasses a human observing, evaluating, and judging elements of the first payload and second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to cleanse identify a set of one or more elements for exclusion. The limitation (d) in the context of the claim encompasses a human observing and evaluating respective elements of the first payload and the second payload in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to compare elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload. The limitation (e) in the context of the claim encompasses a human evaluating and judging the identified set of one or more elements in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to exclude the set of one or more elements. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The processor and computer-readable data storage device are used as a tool to perform the identifying, cleansing, comparing, and excluding steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) are mere data gathering/storing/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/storing/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/storing/outputting. See MPEP § 2106.05(g).
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (4) merely indicates a field of use or technological environment in which the judicial exception is performed. Although the additional element (4) limits the identified judicial exceptions (a), (b), (c), (d), and (e), this type of limitation merely confines the use of the abstract idea to a particular technological environment, namely, evaluating and comparing information associated with different versions of a software environment. Thus, the additional element (4) fails to add an inventive concept to the claims. See MPEP § 2106.05(h).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
a processor
a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations
The additional elements (1) and (2) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional elements:
storing a plurality of payloads generated by a plurality of software environments;
generating a report indicating the differences.
The additional elements (3) and (5) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized storing and retrieving information in memory as well-understood, routine, and conventional computer functions when claimed in a merely generic manner. Additionally, MPEP § 2106.05(g) recognizes outputting a report of the results of data analysis as insignificant post-solution activity. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to store information in memory and generate or output the results of data processing in a report. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Also, the claim recites the additional element:
[…] wherein the second software environment comprises a modified version of the first software environment;
The additional element (8) is at best mere instructions to “apply” the abstract ideas, which cannot provide an inventive concept. Therefore, the additional element does not meaningfully limit the claim because employing generic computer functions to execute an abstract idea, even when limiting the use of the abstract idea to one particular technological environment, does not add significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Claims 18-24 are dependent on Claim 17, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 17.
Claim 18 recites the limitation:
selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting; and
performing the comparing after executing the selected one or more preprocessing operations without performing unselected preprocessing operations.
Claim 19 recites the limitation:
selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload; and
reformatting the first payload or the second payload using the first schema.
Claim 20 recites the limitation:
selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload; and
validating the first payload and the second payload using the first syntax.
Claim 21 recites the limitation:
selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload, wherein individual cleanse lists of the plurality of cleanse lists identify elements of the first payload and the second payload for exclusion from the comparing.
Claim 22 recites the limitation:
wherein identifying the set of one or more elements for exclusion comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements.
Claim 23 recites the limitation:
removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements.
Claim 24 recites the limitation:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure.
Claims 18-21 and 23 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)).
Claim 22 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they do not require any particular application of the judicial exception and are, at best, the equivalent of merely adding the words “apply it” (or an equivalent) to the judicial exception (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea.
Claim 24 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea.
Thus, Claims 18-24 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 17-24 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 7, 9, 15, 17, and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1).
Regarding Claim 1, Helder teaches:
A system comprising a processor and a computer-readable data storage device storing program instructions that, when executed by the processor, cause the system to perform operations comprising (Col. 9, Lines 45-54, “For example, as shown in FIG. 5, the computing system (500) [a system] may include one or more computer processor(s) (502) [a processor], associated memory (504) (e.g., random access memory (RAM), cache memory, flash memory, etc.), one or more storage device(s) (506) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory stick, etc.), and numerous other elements and functionalities. The computer processor(s) (502) may be an integrated circuit for processing instructions." Col. 10, Lines 9-18, "Software instructions in the form of computer readable program code to perform embodiments of the invention may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium [a computer-readable data storage device storing program instructions]. Specifically, the software instructions may correspond to computer readable program code that when executed by a processor(s), is configured to perform embodiments of the invention [cause the system to perform operations].”):
storing a plurality of payloads generated by a plurality of software environments (Col. 6, Lines 20-30, “In one or more embodiments of the invention, the comparison, the result data sets involved in the comparison, and/or the request (104) that triggered the old response (106) and the new response are stored in the repository (140) [storing a plurality of payloads]. The counters in comparison tool A (124A) may be queried and the retrieved counts stored in the repository (140). Specifically, the counts, the comparison, the result data sets involved in the comparison, and/or the request (104) that triggered the old response (106) and the new response [payloads generated by a plurality of software environments] may be stored as one or more log files (i.e., Log File A (142), Log File B (144)) in the repository (140) (emphasis added).)”;
identifying a first payload of the plurality of payloads generated by a first software environment of the plurality of software environments (“Col. 2, Lines 57-67, Col. 3, Lines 1-5, Service A: Old Version (122A1) [a first software environment] receives a request (104) as input and generates an old response (106) [a first payload] (emphasis added). Request (104) is received from client (102). The content in the request (104) and/or the old response (106) may have any format including, for example, HTML, XML, Scala, and/or JSON. Moreover, the content of the request (104) and/or the old response (106) may include date, time, HTTP method, path, status codes, user ID, client application ID, the client's country, language, user agent, IP address, GPS coordinates, etc. The old response (106) may include a result data set that is structured (i.e., the result data set has fields suitable for parsing) and/or data that is unstructured (i.e., bitmap image) (emphasis added). The result data set may include strings, color values, GPS coordinates, financial values, Boolean values, hyperlinks, etc. The result data set forms at least part of the old response (106) to the request (104).”);
identifying a second payload of the plurality of payloads generated by a second software environment of the plurality of software environments, wherein the second software environment comprises a modified version of the first software environment (Col. 3, Lines 33-39, "In one or more embodiments of the invention, the system (100) includes Service A: New Version (122A2) [a second software environment]. Those skilled in the art, having the benefit of this detailed description, will appreciate that Service A: New Version (122A2) and Service A: Old Version (122A1) are different versions (i.e., an older version and a newer version, such as Version 1.0 and 1.1) of the same service [the second software environment comprises a modified version of the first software environment] (emphasis added)." Col. 3, Lines 55-58, "In one or more embodiments of the invention, Service A: New Version (122A2) inputs both the request (104), or some modification thereof, and the old response (106), and generates a new response [a second payload] (not shown) to the request (104)." Col. 7, Lines 30-35, "In STEP 210, the new version of the service generates a new response to the request. The new response includes a result data set with structured and/or unstructured data. The result data set may include strings, financial values, GPS coordinates, color values, Boolean values, and/or any other element.");
[…] identifying a set of one or more elements for exclusion (Col. 5, Lines 50-52, "A whitelist identifies what differences or discrepancies are acceptable, and/or what fields should not be compared.");
comparing elements of the first payload with respective elements of the second payload, wherein the comparing determines differences between the elements of the first payload and corresponding elements of the second payload (Col. 5, Lines 32-39, "In the case of structured data (discussed above), the comparison may take place on a field-by-field basis. In other words, the data value in a field of one result data set [elements of the first payload] may be compared with the data value in the corresponding field of the other result data set [corresponding elements of the second payload]. In one or more embodiments of the invention, the comparison may identify which result data set has additional fields or fewer fields than expected." Col. 7, Lines 38-41, "Specifically, the result data sets of the old response and the new response are compared to identify differences and/or discrepancies between the result data sets [determines differences between the elements of the first payload and corresponding elements of the second payload] (emphasis added).");
generating a report indicating the differences (Col. 6, Lines 32-38, "The analytic module (150) is configured to aggregate the data from the files (142, 144) in the repository (140), and subsequently generate reports, graphs, and/or alerts [generating a report]. The reports and graphs may be used to identify the types of clients and/or the types of requests that trigger result data sets with the most, the least, or some range of differences/discrepancies [indicating the differences].").
Helder fails to teach:
cleansing the first payload and the second payload by [...]
excluding the set of one or more elements; and
However, Li teaches:
cleansing the first payload and the second payload by [...] (Col. 5, Lines 10-17, "The assertion field filter process 230 performs two principal functions. It uses assertion field definitions from the assertion field definition file 212 to filter out fields that are not of interest in expected and actual response resource objects [cleansing the first payload and the second payload], and extracts a subset of the fields in response objects that are of interest. The assertion field filter provides filtered expected response resource objects 260 and filtered actual response resource objects 262 [cleansing the first payload and the second payload] to the result assertor process 232.")
excluding the set of one or more elements; and (Claim 9, "The method of claim 1, wherein said actual responses and said expected responses respectively comprise actual and expected response objects having a plurality of fields, and wherein said method further comprises filtering out fields that are not of interest from said actual and expected response objects to provide filtered actual and expected response objects, and said comparing comprises comparing said filtered actual and expected response objects [excluding the set of one or more elements] (emphasis added)." Col. 5, Lines 10-15, "The assertion field filter process 230 performs two principal functions. It uses assertion field definitions from the assertion field definition file 212 to filter out fields that are not of interest in expected and actual response resource objects, and extracts a subset of the fields in response objects that are of interest.")
Helder and Li are considered to be analogous to the claimed invention because they are in the same field of automated software testing and analysis of software-generated responses. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Helder to incorporate the teachings of Li to have:
cleansing the first payload and the second payload by [...]
excluding the set of one or more elements; and
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the field-filtering technique of Li into the web-service comparison system of Helder to remove fields identified as irrelevant to the comparison from both response data sets, thereby enabling the comparison to focus on only the fields of interest withing a generalized testing framework that can be readily changed for different functionalities or different web services, avoiding the burden associated with hard-coded test cases (Li, Col. 4, Lines 14-27).
Regarding Claim 7, the rejection of Claim 1 is incorporated. Helder fails to teach:
wherein excluding the set of one or more elements comprises: removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements.
However, Li teaches:
wherein excluding the set of one or more elements comprises: removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements (Claim 9, "The method of claim 1, wherein said actual responses and said expected responses respectively comprise actual and expected response objects having a plurality of fields, and wherein said method further comprises filtering out fields that are not of interest from said actual and expected response objects to provide filtered actual and expected response objects, and said comparing comprises comparing said filtered actual and expected response objects (emphasis added)." Col. 5, Lines 10-15, "The assertion field filter process 230 performs two principal functions. It uses assertion field definitions from the assertion field definition file 212 to filter out fields that are not of interest in expected and actual response resource objects, and extracts a subset of the fields in response objects that are of interest." Col. 7, Lines 16-23, "The assertion filter filters out fields that are not of interest from the expected response resource object, and passes the filtered expected response resource object 260 to the results assertor 232. In the present example the “id” and “email” fields are of interest and are retained in the filtered response resource object passed to the results assertor. The other fields are not of interest and are removed by the assertion field filter.").
Helder and Li are considered to be analogous to the claimed invention because they are in the same field of automated software testing and analysis of software-generated responses. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Helder to incorporate the teachings of Li to have:
wherein excluding the set of one or more elements comprises: removing one or more elements from the first payload and the second payload along with values corresponding to the one or more elements
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the field-filtering technique of Li into the web-service comparison system of Helder to remove fields identified as irrelevant to the comparison from both response data sets, thereby enabling the comparison to focus on only the fields of interest withing a generalized testing framework that can be readily changed for different functionalities or different web services, avoiding the burden associated with hard-coded test cases (Li, Col. 4, Lines 14-27).
Claims 9 and 15 are method claims corresponding to the system claims hereinabove (Claims 1 and 7 respectively). Therefore, Claims 9 and 15 are rejected for the same reasons set forth in the rejections of Claims 1 and 7 respectively.
Claims 17 and 23 are non-transitory computer-readable medium claims corresponding to the system claims hereinabove (Claims 1 and 7 respectively). Therefore, Claims 17 and 23 are rejected for the same reasons set forth in the rejections of Claims 1 and 7 respectively.
Claims 2, 10, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1), and further in view of Gorelik (US Patent Application Publication No. US 20150356094 A1).
Regarding Claim 2, the rejection of Claim 1 is incorporated. Helder further teaches:
and performing the comparing after executing the selected one or more preprocessing operations without performing unselected preprocessing operations (Col. 9, Lines 15-17, "Then, comparison (460) may be performed using old response (440) and modified new response (455).").
The combination of Helder and Li fails to teach:
wherein the operations further comprise: based on a profile of the first payload or a profile of the second payload […]
[…] selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting;
However, Gorelik teaches:
wherein the operations further comprise: based on a profile of the first payload or a profile of the second payload […] (Paragraph [0007], "This is achieved, at least in part, by performing an automatic inventory of all files, and by capturing the lineage, format, and profile of each file in a metadata repository.")
[…] selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting (Paragraph [0010], "Automatic format discovery and format registry, format validation, and format change detection can be employed to determine the format of each file in the Data Lake and a parser suitable to parse that format (emphasis added). The detected format and the associated parser for each file can be recorded in the repository." Paragraph [0022], "The method further includes analyzing a first file having an unknown format to determine a distribution of the respective delimiters, and determining a respective score for each of the parsers. The score can represent a likelihood that the parser will successfully parse the first file given the distribution and identified delimiters of the parser. The method also includes ordering the parsers according to the respective scores, and applying each parser to the first file according to the order until the first file is successfully parsed.");
Helder, Li, and Gorelik are considered to be analogous to the claimed invention because they are in the same field of automated software analysis. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder and Li to incorporate the teachings of Gorelik to have:
wherein the operations further comprise: based on a profile of the first payload or a profile of the second payload […]
[…] selecting one or more preprocessing operations from a set of preprocessing operations including: formatting, validating, and sorting;
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the profile and format based preprocessing selection techniques of Gorelik into the software-response comparison system of Helder and Li so that each payload could be processed using techniques appropriate to its particular format before comparison, thereby improving processing efficiency by avoiding unnecessary parser already associated with the file format (Gorelik, Paragraph [0024]).
Claim 10 is a method claim corresponding to the system claim hereinabove (Claim 2). Therefore, Claim 10 is rejected for the same reasons set forth in the rejection of Claim 2.
Claim 18 is a non-transitory computer-readable medium claim corresponding to the system claim hereinabove (Claim 2). Therefore, Claim 18 is rejected for the same reasons set forth in the rejection of Claim 2.
Claims 3, 4, 11, 12, 19, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1) and Gorelik (US Patent Application Publication No. US 20150356094 A1), and further in view of Singh01 (US Patent Application Publication No. US 20070005613 A1).
Regarding Claim 3, the rejection of Claim 2 is incorporated. The combination of Helder, Li, and Gorelik fails to teach:
wherein the formatting comprises: selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload;
and reformatting the first payload or the second payload using the first schema.
However, Singh01 teaches:
wherein the formatting comprises: selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload (Claim 11, "a plurality of schemas for different types of messages, each schema pointing to one of said handlers and containing a grammar definition for one or more fields of a message." Paragraph [0007], "A parser examines the message and determines an appropriate schema for the particular format of message received." Paragraph [0008], "In one embodiment, the parser can load a root schema corresponding to the format of message detected, such as an ISO 8583 financial message.");
and reformatting the first payload or the second payload using the first schema (Paragraph [0007], "The present invention provides a parse/build engine that can handle multi-format messages. The engine converts the messages in different formats into a common format, and the common format message is then processed by a business service application (emphasis added). The common format is a canonical message format that is referred to as an internal message format herein. A parser examines the message and determines an appropriate schema for the particular format of message received. The schema is a data structure in a schema registry that includes a grammar structure for the received format as well as pointers to handlers for converting the different fields of the message into the internal message format using the grammar structure (the "grammar" can include field sequence, field type, length, character encoding, optional and required fields, etc.) (emphasis added)." Paragraph [0153-0156], "FIG. 17 depicts a simplified flowchart 1600 of a method for parsing an input message stream 1010 according to one embodiment of the present invention. In step 1602, a schema for the message is determined. The schema corresponds to a data format that the input message stream 1010 is composed in. In step 1604, any handlers for the message definition object are determined from the pointers in the schema. In step 1606, the handlers for each field are attached to the field. In step 1608, the handler translates the fields of the message. A handler for each field is invoked. The handlers use the field definitions in the schema to translate values of the fields into the IMF.").
Helder, Li, Gorelik, and Singh01 are considered to be analogous to the claimed invention because they are in the same field of automated processing, testing, and analysis of computer-generated data having different formats. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder, Li, and Gorelik to incorporate the teachings of Singh01 to have:
wherein the formatting comprises: selecting a first schema of a plurality of schemas based on a file type of the first payload and the second payload;
and reformatting the first payload or the second payload using the first schema.
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the format-specific schema and selection techniques of Singh01 into the combined system of Helder, Li, and Gorelik so that payloads having different file formats could be processed using a schema appropriate to their particular format before comparison, thereby enabling a single parse/build engine to handle messages in multiple formats by converting them into a common format for subsequent processing (Singh, Paragraph [0007-0008]).
Regarding Claim 4, the rejection of Claim 2 is incorporated. The combination of Helder and Li fails to teach:
and validating the first payload and the second payload using the first syntax
However, Gorelik teaches:
and validating the first payload and the second payload using the first syntax (Paragraph [0023], "A particular parser is determined to have successfully parsed a particular file if one or more of the following occur: the particular parser generates a correct schema for the particular file and the particular parser generates schema element values that conform to a correct schema for the particular file." Paragraph [0024], "In some implementations, the method further includes creating an association of the format of the first file with the parser that successfully parsed the first file. Additionally, the method can include determining that a format of a second file matches the format of the association, and using the parser of the association to parse the second file.").
Helder, Li, and Gorelik are considered to be analogous to the claimed invention because they are in the same field of automated software analysis. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder and Li to incorporate the teachings of Gorelik to have:
and validating the first payload and the second payload using the first syntax
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the profile and format based preprocessing selection techniques of Gorelik into the software-response comparison system of Helder and Li so that each payload could be processed using techniques appropriate to its particular format before comparison, thereby improving processing efficiency by avoiding unnecessary parser already associated with the file format (Gorelik, Paragraph [0024]).
The combination of Helder, Li, and Gorelik fails to teach:
wherein the validating comprises: selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload;
However, Singh01 teaches:
wherein the validating comprises: selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload (Paragraph [0007], "A parser examines the message and determines an appropriate schema for the particular format of message received. The schema is a data structure in a schema registry that includes a grammar structure for the received format as well as pointers to handlers for converting the different fields of the message into the internal message format using the grammar structure (the "grammar" can include field sequence, field type, length, character encoding, optional and required fields, etc.)." Claim 11, "a plurality of schemas for different types of messages, each schema pointing to one of said handlers and containing a grammar definition for one or more fields of a message.");
Helder, Li, Gorelik, and Singh01 are considered to be analogous to the claimed invention because they are in the same field of automated processing, testing, and analysis of computer-generated data having different formats. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder, Li, and Gorelik to incorporate the teachings of Singh01 to have:
wherein the validating comprises: selecting a first syntax of a plurality of syntaxes based on a file type of the first payload and the second payload;
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the format-specific schema and selection techniques of Singh01 into the combined system of Helder, Li, and Gorelik so that payloads having different file formats could be processed using a schema appropriate to their particular format before comparison, thereby enabling a single parse/build engine to handle messages in multiple formats by converting them into a common format for subsequent processing (Singh, Paragraph [0007-0008]).
Claims 11 and 12 are method claims corresponding to the system claims hereinabove (Claims 3 and 4 respectively). Therefore, Claims 11 and 12 are rejected for the same reasons set forth in the rejections of Claims 3 and 4 respectively.
Claims 19 and 20 are non-transitory computer-readable medium claims corresponding to the system claims hereinabove (Claims 3 and 4 respectively). Therefore, Claims 19 and 20 are rejected for the same reasons set forth in the rejections of Claims 3 and 4 respectively.
Claims 5, 13, and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1), and further in view of Zimmermann (US Patent Application Publication No. US 20200137097 A1).
Regarding Claim 5, the rejection of Claim 1 is incorporated. Helder further teaches:
[...] wherein individual cleanse lists of the plurality of cleanse lists identify elements of the first payload and the second payload for exclusion from the comparing (Col. 5, Lines 48-54, "In one or more embodiments of the invention, the tolerances and/or threshold(s) may be identified in whitelist (152) or a blacklist (not shown). A whitelist identifies what differences or discrepancies are acceptable, and/or what fields should not be compared (emphasis added). A blacklist is the reverse of a whitelist, and identifies what differences or discrepancies are not acceptable, and/or what fields should be compared.").
The combination of Helder and Li fails to teach:
wherein identifying the set of one or more elements for exclusion comprises: selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload [...]
However, Zimmermann teaches:
wherein identifying the set of one or more elements for exclusion comprises: selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload [...] (Paragraph [0178], "The incoming data to for the platform 500 to process may belong to multiple tenants. Each tenant may provide data from one or more sources." Paragraph [0179], "Detection policy selection may also be configurable per source (emphasis added).")
Helder, Li, and Zimmermann are considered to be analogous to the claimed invention because they are in the same field of automated analysis and filtering of computer-generated data. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder and Li to incorporate the teachings of Zimmermann to have:
wherein identifying the set of one or more elements for exclusion comprises: selecting a first cleanse list of a plurality of cleanse lists based on a source of the first payload or the second payload [...]
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the source-based policy selection technique of Zimmermann into the response-filtering system of Helder and Li so that the appropriate exclusion rules could be selected according to the source of the payload, thereby enabling detection policies to be configured independently for different data sources (Zimmermann, Paragraph [0178-0179]).
Claim 13 is a method claim corresponding to the system claim hereinabove (Claim 5). Therefore, Claim 13 is rejected for the same reasons set forth in the rejection of Claim 5.
Claim 21 is a non-transitory computer-readable medium claim corresponding to the system claim hereinabove (Claim 5). Therefore, Claim 21 is rejected for the same reasons set forth in the rejection of Claim 5.
Claims 6, 14, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1), and further in view of Singh02 (US Patent Application Publication No. US 20190130306 A1).
Regarding Claim 6, the rejection of Claim 1 is incorporated. Helder fails to teach:
[…] set of one or more elements for exclusion […]
However, Li teaches:
[…] set of one or more elements for exclusion […] (Col. 4, Lines 43-45, "The assertion field definition file 212 specifies which of the fields are of interest and should be considered, and which can be ignored." Col. 5, Lines 10-15, "The assertion field filter process 230 performs two principal functions. It uses assertion field definitions from the assertion field definition file 212 to filter out fields that are not of interest in expected and actual response resource objects, and extracts a subset of the fields in response objects that are of interest (emphasis added).")
Helder and Li are considered to be analogous to the claimed invention because they are in the same field of automated software testing and analysis of software-generated responses. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Helder to incorporate the teachings of Li to have:
[…] set of one or more elements for exclusion […]
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the field-filtering technique of Li into the web-service comparison system of Helder to remove fields identified as irrelevant to the comparison from both response data sets, thereby enabling the comparison to focus on only the fields of interest withing a generalized testing framework that can be readily changed for different functionalities or different web services, avoiding the burden associated with hard-coded test cases (Li, Col. 4, Lines 14-27).
The combination of Helder and Li fails to teach:
wherein identifying the set of one or more elements [...] comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements.
However, Singh02 teaches:
wherein identifying the set of one or more elements [...] comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements (Paragraph [0021], "In some examples, one or more machine learning datasets may be used to identify data elements for comparison. For instance, one or more machine learning datasets may be used to identify a source data element and a target data element for comparison. In some examples, the system may attempt to recognize a pattern of one or more of the data elements. If the pattern matches a pre-stored pattern, the system may further analyze the data. If not, the system may identify the pattern as a new pattern and may request further instructions.").
Helder, Li, and Singh02 are considered to be analogous to the claimed invention because they are in the same field of automated analysis and comparison of computer-generated data. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder and Li to incorporate the teachings of Singh02 to have:
wherein identifying the set of one or more elements [...] comprises applying a trained machine learning model to the first payload or the second payload to compute the set of one or more elements.
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the machine-learning-based identification of data elements of Singh02 into the response-filtering system of Helder and Li so that data elements used for comparison could be identified automatically using learned data, thereby reducing the computing resources needed for data processing and reconciliation through the use of machine learning (Singh02, Background).
Claim 14 is a method claim corresponding to the system claim hereinabove (Claim 6). Therefore, Claim 14 is rejected for the same reasons set forth in the rejection of Claim 6.
Claim 22 is a non-transitory computer-readable medium claim corresponding to the system claim hereinabove (Claim 6). Therefore, Claim 22 is rejected for the same reasons set forth in the rejection of Claim 6.
Claims 8, 16, and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Helder (US Patent No. US 9424172 B1) in view of Li (US Patent No. US 9419884 B1), and further in view of Dolinina (US Patent Application Publication No. US 20140075242 A1).
Regarding Claim 8, the rejection of Claim 1 is incorporated. The combination of Helder and Li fails to teach:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure.
However, Dolinina teaches:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure (Paragraph [0015], "The automated testing tool can parse and import data from these various input types to determine which tests to run for a particular target test product. Then, the automated testing tool can execute the tests for the desired target test products, and validate responses from the target test product. The automated testing tool can also generate XML and JUnit test results. The automated testing tool can perform simultaneous parallel testing of multiple target test products or of multiple aspects of a single target test product." Paragraph [0024], "The test runner 108 can run the same test file 106 in parallel with different parameters from one configuration file. The test runner 108 can use new configuration sections with required parameters for each of the parallel threads for parallel tests.").
Helder, Li, and Dolinina are considered to be analogous to the claimed invention because they are in the same field of automated software analysis and testing of software-generated responses. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Helder and Li to incorporate the teachings of Dolinina to have:
wherein storing a plurality of payloads comprises receiving the plurality of payloads from a multithreaded computing infrastructure.
The modification would have been obvious because one of ordinary skill in the art would have been motivated to incorporate the parallel-threat testing technique of Dolinina into the web-service comparison system of Helder and Li to so that multiple test executions and their resulting responses could be generated concurrently, thereby enabling simultaneous parallel testing of multiple target test products or multiple aspects of a single target test product (Dolinina, Paragraph [0015, 0024]).
Claim 16 is a method claim corresponding to the system claim hereinabove (Claim 8). Therefore, Claim 16 is rejected for the same reasons set forth in the rejection of Claim 8.
Claim 24 is a non-transitory computer-readable medium claim corresponding to the system claim hereinabove (Claim 8). Therefore, Claim 24 is rejected for the same reasons set forth in the rejection of Claim 8.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. They are as follows:
Agarwal (US 2017/0068582 A1) discloses a system that receives a source and a metadata layer that describes the source. The source may comprise source records with fields containing source data, and the metadata layer may include metadata comprising at least one of a field data type, a field data length, a field description, or a record length. The processor may further validate the metadata layer against the source and write results to a log. The processor may further be configured for transforming the source records into transformed records for a load ready file. The processor may further balance a number of records in the source against a number of transformed records in the load ready file to generate a transformation failure rate.
Zheng (US 2009/0157725 A1) discloses a system and method for expressing XML schema validation using Java in a declarative manner is disclosed. In one embodiment of the present invention a method for processing information comprises defining a schema validation using metadata stored in a database and building a memory model using the metadata. Input data for validation is received in a validation engine, which validates the input data by executing a Java program in the validation engine using the input data and the metadata. An output is generated from the validation engine that identifies the input data as being validated or not validated.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MD KAMRUZZAMAN whose telephone number is (571) 272-8415. The examiner can normally be reached Monday-Friday 9:30 am - 5:30 pm.
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.
/M.K./Examiner, Art Unit 2191
/QING CHEN/Primary Examiner, Art Unit 2191