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 .
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 mental process without significantly more.
Independent claim 1 recites:
“1. A computer system comprising:
one or more computer processors;
one or more computer readable storage media; and
computer readable code stored collectively in the one or more computer readable storage media, with the computer readable code including data and instructions to cause the one or more computer processors to perform at least the following operations, which are performed during a live data replication process that includes moving logical records in a replication pipeline from a source database to a target database via one or more components:
reading a raw record from a log entry;
obtaining a logical record by converting the raw record read from the log entry;
moving the logical record in the replication pipeline so that a next component receives the logical record;
in response to obtaining or receiving the logical record, updating metadata in sorted hashmaps; and
detecting a data discrepancy between the obtained logical record and the moved logical record by analyzing the updated metadata.”
Independent Claims 8 and 15 recite similar subject matter.
The independent claims are directed towards a mental process because the elements of reading, obtaining via conversion, moving, updating, and detecting may be performed by a human being with pen and paper or a generic machine.
The claims contain additional elements in the form of “one or more computer processors,” (claims 1, 8, and 15) and “one or more computer readable storage media” (claims 1 and 8).
This judicial exception is not integrated into a practical application because the claimed additional elements do not appear to improve the processing of a computer, require the use of a specific machine, effect a transformation or reduction of a particular article to a different state or thing, or provide a technological solution to a technological problem.
The “one or more computer processors” and “one or more computer readable storage media” are recited at a high level of generality. They appear to be generic computing hardware elements. The recitation of generic hardware is little more than using a computer to perform an abstract idea, see MPEP 2106.05(f)(2).
It is noted that none of the additional elements appear to improve the processing of a computer, require the use of a specific machine, effect a transformation or reduction of a particular article to a different state or thing, or provide a technological solution to a technological problem. As such, none of the additional elements appear to integrate the judicial exception into a practical application.
None of the additional elements are sufficient to amount to significantly more than the judicial exception, in part or in whole.
The recitation of generic hardware of the “one or more computer processors” and “one or more computer readable storage media” is little more than using a computer to perform an abstract idea, see MPEP 2106.05(f)(2).
None of the additional elements, in part or in whole, appear to improve the processing of a computer, require the use of a particular machine, effect a transformation or reduction of a particular article to a different state or thing, or add a specific limitation other than what is well understood, routine, or conventional. As such, none of the additional elements appears to be, in part or in whole, significantly more than the judicial exception.
Dependent claims 2-7, 9-14, and 16-20 are similarly rejected under 35 USC 101 as being directed towards a mental process.
Regarding claims 2, 9, and 16, “Sending an alert to a user via a communications system,” does not appear to integrate the mental process into a practical application. Displaying an output of a data analysis by displaying the integrated extracted source data is insignificant post-solution activity (see MPEP 2106.05(g)(3)). “Sending an alert to a user via a communications system” does not appear to improve the processing of a computer, require the use of a specific machine, effect a transformation or reduction of a particular article to a different state or thing, or provide a technological solution to a technological problem. As such, none of the additional elements appear to integrate the judicial exception into a practical application.
Similarly, displaying an output of a data analysis by “sending an alert via a communications system” is insignificant extra-solution activity and is well known (see MPEP 2106.05(g)((3). This element, in part or in whole, does not appear to improve the processing of a computer, require the use of a particular machine, effect a transformation or reduction of a particular article to a different state or thing, or add a specific limitation other than what is well understood, routine, or conventional. As such, none of the additional elements appears to be, in part or in whole, significantly more than the judicial exception.
The remaining dependent claims, 3-7, 10-14, and 17-20 appear to be directed towards additional data definitions and data analysis steps that do not appear to include additional elements that incorporate the claimed subject matter into a practical application. The dependent claims also do not include additional elements that, in part or in whole, appear to be significantly more than the abstract idea.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-5, 8-12, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Bhushan et al. (US Pre-Grant Publication 20201/0051021) in view of Kaspa et al. (US Pre-Grant Publication 2022/0374442).
As to claim 1, Bhushan teaches a computer system comprising:
one or more computer processors (see Bhushan paragraph [0008]);
one or more computer readable storage media (see Bhushan paragraph [0008]); and
computer readable code stored collectively in the one or more computer readable storage media, with the computer readable code including data and instructions to cause the one or more computer processors to perform at least the following operations, which are performed during a live data replication process that includes moving logical records in a replication pipeline from a source database to a target database via one or more components (see Bhushan paragraphs [0071]-[0072]. Bhushan moves data from a source to a target):
reading a raw record from a log entry (see Bhushan paragraph [0019]. Bhushan collects source data that needs to be verified against one another. It is noted that, in paragraph [0021], this source data is converted into a spreadsheet file entry. Thus, the original source data collection, before conversion, is “raw”);
obtaining a logical record by converting the raw record read from the log entry (see Bhushan paragraph [0021]. The collected course data is converted into “spreadsheet files.” This is a conversion from a “raw data record” as originally collected to a “logical record” that is in a format for processing);
moving the … record in the replication pipeline so that a next component receives the … record (see Bhushan paragraphs [0065], [0067], and [0071]-[0072]. The operations of Bhushan occur in a replication pipeline);
in response to obtaining or receiving the logical record, updating metadata in sorted hashmaps (see Bhushan paragraph [0008], generally. Also see Figure 3 paragraphs [0058]-[0059] and paragraphs [0071]-[0072]. Specifically, Bhushan at [0058]-[0059] and in Figure 3 shows that metadata from the converted spreadsheets may be placed into hashmaps); and
detecting a data discrepancy between the obtained logical record and the moved logical record by analyzing the updated metadata (see Bhushan paragraph [0008], generally. Also see Figure 3 paragraphs [0058]-[0059] and paragraphs [0071]-[0072]. Paragraph [0071]-[0072] show implementing the verification process of Figure 3 in a data processing pipeline. Paragraphs [0058]-[0059] and [0071]-[0072] describe how hashmaps are compared to identify data discrepancies. An error message is output if the hashmaps are not identical).
Bhushan does not explicitly teach:
moving the logical record in the replication pipeline so that a next component receives the logical record;
Kaspa teaches:
moving the logical record in the replication pipeline so that a next component receives the logical record (see paragraph [0022] and [0028] and Figures 1B and 1C. Data is ingested, transformed, and moved through various tables and components downstream until it reaches a target destination).
It would have been obvious to one of ordinary skill in the art before the earliest filing date of the invention to have modified Bhushan by the teachings of Kaspa because both references are directed towards replicating data from a source to a target database. Kaspa merely adds to Bhushan additional user interface elements that gives a user greater awareness and control of the replication process, which will improve user responsiveness and ability to manage any issues that arise in the replication process.
As to claim 2, Bhushan as modified teaches the computer system of claim 1, wherein the computer readable code further includes the data and the instructions to cause the one or more computer processors to perform the following further operations, which are performed during the live data replication process:
generating an alert about the detected data discrepancy (see Bhushan paragraph [0058]); and
sending the alert to a user via a communications system (see Bhushan paragraph [0058]).
As to claim 3, Bhushan as modified by Kaspa teaches the computer system of claim 1, wherein the computer readable code further includes the data and the instructions to cause the one or more computer processors to perform the following further operations:
identifying a stage within the replication pipeline at which the data discrepancy occurs (see Kaspa paragraphs [0027] and [0029]-[0030]. Kaspa shows that a node, or component, of the pipeline may be identified as the source of the problem); and
using the identified stage, identifying a root cause of the data discrepancy (see Kaspa paragraphs [0029]-[0030]. Kaspa shows that recommendations may be provided to a user to specifically resolve any source of an anomaly).
As to claim 4, Bhushan teaches the computer system of claim 3, wherein the identifying the root cause of the data discrepancy includes identifying the root cause without impacting performance measurements of the live data replication process and without impacting a completion of the live data replication process (see Kaspa paragraphs [0027] and [0029]-[0030]. The identification of the root cause does not impact performance measurements in Kaspa and may occur in real-time).
As to claim 5, Bhushan as modified by Kaspa teaches the computer system of claim 3, wherein the identifying the root cause of the data discrepancy includes identifying the root cause without performing a data comparison between the source database and the target database (see Kaspa paragraphs [0027] and [0029]-[0030]. No data comparison is performed between the source database and target database is Kaspa. Additionally, as noted in Bhushan paragraphs [0071]-[0072], no comparison between the source and target table data is used to identify a discrepancy).
As to claims 8 and 15, see the rejection of claim 1.
As to claims 9 and 16, see the rejection of claim 2.
As to claims 10 and 17, see the rejection of claim 3.
As to claims 11 and 18, see the rejection of claim 4.
As to claims 12 and 19, see the rejection of claim 5.
Claims 6-7, 13-14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Bhushan et al. (US Pre-Grant Publication 20201/0051021) in view of Kaspa et al. (US Pre-Grant Publication 2022/0374442), and further in view of Rodriguez et al. (US Pre-Grant Publication 2018/0357330).
As to claim 6, Bhushan teaches the computer system of claim 1, wherein the computer readable code further includes the data and the instructions to cause the one or more computer processors to perform the following further operations:
determining that the logical record does not exist in a first hash map (see Bhushan paragraphs [0051]-[0052]. The steps occur in sequence. The system adds a record to the hash map only if the record does not yet exist in the hash map); and
based on the logical record not already existing in the first hash map, inserting the logical record as an entry into the first hash map, the first hash map including entries having respective log positions and log entry identifiers, each log entry identifier including primary key values (see Bhushan paragraphs [0039]-[0040] and Figure 4, elements 406 and 412, which show the contents of a hashmap)
…
wherein the inserting the logical record includes inserting the logical record so that log positions of the entries in the first hash map are in increasing order (see Bhushan paragraphs [0039]-[0040]).
Bhushan does not explicitly teach:
a record type, and a transaction identifier, and
the record type indicating an insert, an update, or a delete operation,
Rodriguez teaches:
a record type, and a transaction identifier (see Rodriguez paragraph [0081]), and
the record type indicating an insert, an update, or a delete operation (see Rodriguez paragraph [0081]),
It would have been obvious to one of ordinary skill before the earliest filing date of the invention to have modified Bhushan by the teachings of Rodriguez because both are directed towards indexing data using hashmaps. Ridriguez simply provides to Bhushan additional fields of data that may be referenced by a hashmap which will give Bhushan additional data with which to verify discrepancies. This will increase the ability of Bhushan to ensure that data integrity is maintained through a replication process.
As to claim 7, Bhushan teaches the computer system of claim 1, wherein the computer readable code further includes the data and the instructions to cause the one or more computer processors to perform the following further operations:
determining that the logical record exists in a first hash map (see paragraph [0058] and Figure 3. A first hashmap is generated before a second hashmap. Also see paragraphs [0071]-[0072], in which hashmaps from pairs of data sources are compared); and
based on the logical record existing in the first hash map, updating information in a second hash map (see paragraph [0058] and Figure 3. A first hashmap is generated before a second hashmap. Also see paragraphs [0071]-[0072], in which hashmaps from pairs of data sources are compared),
wherein the first hash map includes entries having respective log positions and log entry identifiers, each log entry identifier including primary key values (see Bhushan paragraphs [0039]-[0040] and Figure 4, elements 406 and 412, which show the contents of a hashmap)
…
wherein the second hash map includes entries having respective log positions and states, each state including a state identifier and a state name (see Bhushan Figure 4 and paragraph [0042]).
Bhushan does not explicitly teach:
a record type, and a transaction identifier, and
the record type indicating an insert, an update, or a delete operation,
Rodriguez teaches:
a record type, and a transaction identifier (see Rodriguez paragraph [0081]), and
the record type indicating an insert, an update, or a delete operation (see Rodriguez paragraph [0081]),
It would have been obvious to one of ordinary skill before the earliest filing date of the invention to have modified Bhushan by the teachings of Rodriguez because both are directed towards indexing data using hashmaps. Ridriguez simply provides to Bhushan additional fields of data that may be referenced by a hashmap which will give Bhushan additional data with which to verify discrepancies. This will increase the ability of Bhushan to ensure that data integrity is maintained through a replication process.
As to claims 13 and 20, see the rejection of claim 6.
As to claim 14, see the rejection of claim 7.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES D ADAMS whose telephone number is (571)272-3938. The examiner can normally be reached M-F, 9-5:30 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Neveen Abel-Jalil can be reached at 571-270-0474. 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.
/CHARLES D ADAMS/ Primary Examiner, Art Unit 2152