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
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 6/15/26 has been entered.
In amendments dated 6/15/26, Applicant amended claims 1 and 11, canceled no claims, and added no new claims. Claims 1-20 are presented for examination.
Objections
Clams 1 and 11 are objected to because of the following informality: the last limitation recites “a change” but the sixth limitation also recites “a change” to the antecedent basis of the “a change” in the last limitation is unclear.
Rejections under 35 U.S.C. 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 mental processes without significantly more. Independent claims 1 and 11 each recites determining a set of hash functions for mapping elements in a first data table to a first invertible bloom filter and mapping elements in a second data table to a second invertible bloom filter; generating, using the set of hash functions, the first invertible bloom filter corresponding to the first data table and the second invertible bloom filter corresponding to the second data table; generating a third invertible bloom filter by subtracting the second invertible bloom filter from the first invertible bloom filter, wherein each of the three invertible bloom filters comprises a plurality of indexed cells; identifying a first indexed cell of the third invertible bloom filter, the first indexed cell associated with a first index based on the third invertible bloom filter; computing one or more indices corresponding to the first indexed cell using the set of hash functions based on a sum of elements of the first indexed cell; determining, based on the one or more computed indices, whether the first indexed cell in the third invertible bloom filter is a cell associated with a change between the first data table and the second data table, wherein determining that the first indexed cell is not associated with the change does not use a hashSum of the first indexed cell; and instructing synchronization of the first data table and the second data table responsive to determining that the first indexed cell in the third invertible bloom filter is a cell associated with a change. Determining a set of hash functions is evaluating and a mental process; generating a bloom filter is applying the hash functions and is a mental process per Personalweb Technologies LLC v. Google 8 F.4th 1310, 2021 U.S.P.Q.2d 853 (Fed. Cir. 2021); generating a bloom filter by subtracting another bloom filter from a first bloom filter is a mathematical calculation; identifying a cell is evaluating and a mental process; computing indices using hash functions is a mental process per Personalweb Technologies LLC v. Google 8 F.4th 1310, 2021 U.S.P.Q.2d 853 (Fed. Cir. 2021); determining whether a first indexed cell is associated with a change between two tables is evaluating and a mental process; and instructing synchronization of first and second data tables responsive to a determination is executing software involving evaluation and is a mental process. These claims do not recite any additional elements. Claim 11 recites a non-transitory computer readable medium which is a generic component of a computer. Examiner notes specification paragraph 0003 describes the prior art of database synchronization as costly and involving scanning and copying records which may have a high bandwidth consumption, and paragraph 0005 describes how the invention addresses these drawbacks. Applicant noted in his Remarks page 12 that paragraph 0054 describes how the determining whether an indexed cell is associated with a change can skip the step of checking the hashSum field, and it appears the details of this technique are described in paragraphs 0051-0057. Not all the steps in paragraph 0005 or paragraphs 0051-0057 are claimed and the claims do not recite synchronizing the first and second tables, plus the recited steps do not recite a particular improvement in any technology or function of a computer per MPEP 2106.04(d) and do not recite any unconventional steps in the invention per MPEP 2106.05(a). Therefore, the recited mental processes are not integrated into a practical application. Taking the claims as a whole, the claims still recite no additional elements and the non-transitory computer readable medium is still a generic computer component. The generating and determining steps are recited broadly. Thus the claims do not include additional elements that are sufficient to amount to significantly more than the recited mental processes.
Claims 2 and 12 each recites determining a second total count of elements in a second indexed cell of the third invertible bloom filter, the second indexed cell associated with a second index (determining a count of elements is evaluating and a mental process); and responsive to the second total count of elements being equal to a pre-determined value, determining that the second indexed cell in the third invertible bloom filter is not associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining a cell is not associated with a change is also evaluating and a mental process). Claims 3 and 13 each recites identifying the change by decoding the third invertible bloom filter (decoding a bloom filter is routine and conventional per Dirac et al (US 10,970,629 columns 7-8 lines 65-6) and Zhang et al (US 20200387491 paragraph 0029). Claims 4 and 14 each recites determining a second total count of elements in a second indexed cell of the third invertible bloom filter, the second indexed cell associated with a second index (determining a count is evaluating and a mental process); responsive to the second total count of elements being equal to a pre-determined value, reading a second sum of elements in the second indexed cell (reading a sum of elements is recited broadly and amounts to receiving data across a network per specification paragraphs 0020-021 and figure 1); computing one or more indices corresponding to the determined second sum of elements (computing indices is computing data and a mental process accomplishable in the human mind or on paper); comparing the second index with each computed index corresponding to the determined second sum of elements (comparing indexes is comparing data and a mental process); and responsive to the second index matching one of the computed indices corresponding to the second sum of elements, determining the second indexed cell in the third invertible bloom filter as a candidate cell associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining that a cell is associated with a change between filters is evaluating and a mental process).
Claims 5 and 15 each recites determining a third total count of elements in a third indexed cell of the third invertible bloom filter, the third indexed cell associated with a third index (determining a count is evaluating and a mental process); determining that the second indexed cell is identical to the third indexed cell except that the second total count of elements has an opposite value of the third total count of elements (determining that cells are identical is evaluating and a mental process); and determining that the second indexed cell is not a cell associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining that a cell is not associated with a change between filters is evaluating and a mental process). Claims 6 and 16 each recites determining one or more indexed cells of the third invertible bloom filter, each of the one or more indexed cells associated with one of the computed indices corresponding to the determined second sum of elements (determining a cell is evaluating and a mental process); reading a total count of elements and a sum of elements in each determined indexed cells (reading a count is recited broadly and amounts to receiving data across a network per specification paragraphs 0020-021 and figure 1); and responsive to both of the total count of elements and the sum of elements of one determined indexed cell being equal to zero, determining that the second indexed cell is not a cell associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining that a cell is not associated with a change between bloom filters is evaluating and a mental process).
Claims 7 and 17 each recites decoding the first and second invertible bloom filters using the set of hash functions to obtain the first and second data tables (decoding bloom filters using hash functions is routine and conventional per Dirac et al (US 10,970,629 columns 7-8 lines 65-6) and Zhang et al (US 20200387491 paragraph 0029); determining whether the first and second data tables comprise an element corresponding to the second sum of elements (determining if tables comprise an element is evaluating and a mental process); and responsive to neither of the first and second data tables comprising the element corresponding to the second sum of elements, determining that the second indexed cell is not a cell associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining that a cell is not associated with a change between bloom filters is evaluating and a mental process). Claims 8 and 18 each recites decoding the first and second invertible bloom filters using the set of hash functions to obtain the first and second data tables (decoding bloom filters using hash functions is routine and conventional per Dirac et al (US 10,970,629 columns 7-8 lines 65-6) and Zhang et al (US 20200387491 paragraph 0029); determining whether the first and second data tables comprise an element corresponding to the second sum of elements (determining if tables comprise an element is evaluating and a mental process); and responsive to both of the first and second data tables comprising the element corresponding to the second sum of elements, determining that the second indexed cell is associated with the change between the first invertible bloom filter and the second invertible bloom filter (determining that a cell is associated with a change between bloom filters is evaluating and a mental process).
Claims 9 and 19 each recites wherein each indexed cell of each invertible bloom filter comprises: an index, sum of elements mapped to the respective index, and total count of elements mapped to the respective index (a cell comprising data is a mental process accomplishable in the human mind or on paper). Claims 10 and 20 each recites synchronizing the second data table with the first data table based on the determined cell associated with the change between the first data table and the second data table (synchronizing tables means keeping or storing records between tables in a consistent fashion and is recited broadly and amounts to storing data which is routine and conventional activity per the list of said activities in MPEP 2106.05(d) part II).
Relevant Prior Art
During his search for prior art, Examiner found the following references to be relevant to Applicant's claimed invention. Each reference is listed on the Notice of References form included in this office action:
Lin (CN110232095 A) teaches data synchronization by detecting a source data table, constructing a Bloom filter with said source table and a target table to determine data to be synchronized in the target table, does not teach a third invertible Bloom filter from subtracting a second from a first invertible Bloom filter, computing indices corresponding to an indexed cell, or determining a change in a cell using a third invertible Bloom filter (Abstract); and
Gentili, "Set Reconciliation and File Synchronization Using Invertible Bloom Lookup Tables," teaches a synchronization between files using Invertible Bloom Lookup Tables (IBLT), teaches hash functions for Bloom filters and Set Reconciliation for differences in sets as creating a third IBLT by subtracting a first IBLT from a second IBLT (page 26), does not teach data synchronization between database tables or determining a change in a cell based on a third IBLT (Chapters 2-4 pages 15-66).
Responses to Applicant’s Remarks
Regarding rejections of claims 1-20 under 35 U.S.C. 101 for reciting mental processes without significantly more, Applicant’s arguments have been considered but are not persuasive. On pages 12-13 Applicant discusses the Ex Parte Desjardins case and asserts the claims recite a technical solution to a technological problem. Examiner notes the claims in the Ex Parte Desjardins case disclosed an improvement in machine learning software but the present claims do not disclose such an improvement. The present claims recite limitations that are broad and lack details about how the invention performs each step which may show an improvement, such as how the invention identifies a first indexed, how the invention computes one or more indices corresponding to the first indexed cell using the set of hash functions, and how the invention determines whether the first indexed cell is associated with a change between the first and second data tables such that the determining does not use a hashSum of the first indexed cell. MPEP 2106.04(d)(1) states “if the specification sets forth an improvement in technology, the claim must be evaluated to ensure that the claim itself reflects the disclosed improvement.
That is, the claim includes the components or steps of the invention that provide the improvement described in the specification. The claim itself does not need to explicitly recite the improvement described in the specification (e.g., 'thereby increasing the bandwidth of the channel').”
Inquiry
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRUCE M MOSER whose telephone number is (571)270-1718. The examiner can normally be reached M-F 9a-5p.
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, Boris Gorney can be reached at 571 270-5626. 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.
/BRUCE M MOSER/Primary Examiner, Art Unit 2154 9/17/26