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 .
The Application number 18/919,944 filed on 10/18/2024 has been considered. Claims 1-20 are pending.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 10/18/2024 is being considered by the examiner.
Claim Rejections - 35 USC § 102
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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1, 3-4, 7-8, 10-11, 14-15 and 17-18 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Chen et al. (CN 117729533, see IDS provided translation filed on 10/18/2024, hereinafter Chen).
Regarding claim 1, Chen discloses a computer-implemented method comprising:
processing, at one or more first devices and using a first encryption key generated for the one or more first devices, a first plurality of input records to generate a first plurality of encrypted records partitioned into a plurality of groups, each group including one or more encrypted records having a group prefix, each group of encrypted records stored on a data repository and keyed using the group prefix (¶ [n0107]; i.e. cloud 220 uses key B to encrypt n pieces of private information y to obtain a B-encrypted data set, ¶ [n0161]-[n0163]; i.e. the cloud 220 may divide the large amount of ciphertext included in the B-encrypted data set into multiple buckets or groups identified by hash prefixes);
receiving, from a second device, a second plurality of encrypted records, each encrypted based on a second encryption key generated for the second device, and accompanied by a prefix provided by the second device: encrypting the second plurality of encrypted records based on the first encryption key to create a second plurality of doubly encrypted records (¶ [n0109]; i.e. the mobile phone 210 uses the key A to encrypted m pieces of private information x to obtain an A-encrypted data set, ¶ [n0116]; i.e. the mobile phone 210 sends a query request to the cloud 220, where the query includes the A-encrypted data set, ¶ [n0119]; i.e. cloud 220 uses key B to re-encrypted the A-encrypted data set to obtain a double AB-encrypted data set, ¶ [n0189]-[n0194]; i.e. the mobile phone constructs a relationship dictionary 1 between the hash value prefixes and the A-encrypted data set and sends the relationship dictionary 1 to the cloud);
querying, using the prefix provided by the second device as a database key, the data repository to fetch a group of encrypted records (¶ [n0199]-[0200]; i.e. the cloud 220 queries the target bucket corresponding to the hash value prefix);
generating a data structure encoded to indicate a presence of each encrypted record of the group of encrypted records fetched from the data repository (¶ [n0201]-[n0206]; i.e. generating only the ciphertext in the target bucket to send to the mobile phone); and
transmitting the second plurality of doubly encrypted records and the data structure to the second device, the second device using the second plurality of doubly encrypted records and the data structure to determine whether at least one of the second plurality of encrypted records is included in one group of the plurality of groups of encrypted records (¶ [n0121]; i.e. the cloud 220 sends the double AB-encrypted data set and the B-encrypted data set to the mobile phone, ¶ [n0125], [n0137]-[n0138]; i.e. the mobile phone compares the data sets to obtain a comparison result, ¶ [n0201]-[n0206]; i.e. the cloud 220 sends the ciphertext only found in the target bucket to the mobile phone).
Regarding claim 3, Chen discloses the computer-implemented method of claim 2, further comprising: capturing live updates to the first plurality of input records using at least one data pipeline coupled to the one or more databases of the data repository, wherein the at least one data pipeline is driven by a distributed publish-subscribe messaging protocol (¶ [n0093]-[n0095], [n0098]).
Regarding claim 4, Chen discloses the computer-implemented method of claim 3, further comprising: streaming the live updates to the one or more databases at the data repository via the at least one data pipeline (¶ [n0093]-[n0095], [n0098]).
Regarding claim 7, Chen discloses the computer-implemented method of claim 1, wherein each input record is hashed using a hashing algorithm, and wherein the data structure comprises a bloom filter (¶ [n0161]-[n0163]).
Regarding claim 8, Chen discloses one or more computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
processing, using a first encryption key generated for the one or more computers, a first plurality of input records to generate a first plurality of encrypted records partitioned into a plurality of groups, each group including one or more encrypted records having a group prefix, each group of encrypted records stored on a data repository and keyed using the group prefix (¶ [n0107]; i.e. cloud 220 uses key B to encrypt n pieces of private information y to obtain a B-encrypted data set, ¶ [n0161]-[n0163]; i.e. the cloud 220 may divide the large amount of ciphertext included in the B-encrypted data set into multiple buckets or groups identified by hash prefixes);
receiving, from a second device, a second plurality of encrypted records, each encrypted based on a second encryption key generated for the second device, and accompanied by a prefix provided by the second device: encrypting the second plurality of encrypted records based on the first encryption key to create a second plurality of doubly encrypted records (¶ [n0109]; i.e. the mobile phone 210 uses the key A to encrypted m pieces of private information x to obtain an A-encrypted data set, ¶ [n0116]; i.e. the mobile phone 210 sends a query request to the cloud 220, where the query includes the A-encrypted data set, ¶ [n0119]; i.e. cloud 220 uses key B to re-encrypted the A-encrypted data set to obtain a double AB-encrypted data set, ¶ [n0189]-[n0194]; i.e. the mobile phone constructs a relationship dictionary 1 between the hash value prefixes and the A-encrypted data set and sends the relationship dictionary 1 to the cloud);
querying, using the prefix provided by the second device as a database key, the data repository to fetch a group of encrypted records (¶ [n0199]-[0200]; i.e. the cloud 220 queries the target bucket corresponding to the hash value prefix);
generating a data structure encoded to indicate a presence of each encrypted record of the group of encrypted records fetched from the data repository (¶ [n0201]-[n0206]; i.e. generating only the ciphertext in the target bucket to send to the mobile phone); and
transmitting the second plurality of doubly encrypted records and the data structure to the second device, the second device using the second plurality of doubly encrypted records and the data structure to determine whether at least one of the second plurality of encrypted records is included in one group of the plurality of groups of encrypted records (¶ [n0121]; i.e. the cloud 220 sends the double AB-encrypted data set and the B-encrypted data set to the mobile phone, ¶ [n0125], [n0137]-[n0138]; i.e. the mobile phone compares the data sets to obtain a comparison result, ¶ [n0201]-[n0206]; i.e. the cloud 220 sends the ciphertext only found in the target bucket to the mobile phone).
Regarding claim 10, see claim 3 above for the same reasons of rejections.
Regarding claim 11, see claim 4 above for the same reasons of rejections.
Regarding claim 14, see claim 7 above for the same reasons of rejections.
Regarding claim 15, Chen discloses a computer system comprising one or more computer processors configured to perform operations comprising:
processing, using a first encryption key generated for one or more computer processors, a first plurality of input records to generate a first plurality of encrypted records partitioned into a plurality of groups, each group including one or more encrypted records having a group prefix, each group of encrypted records stored on a data repository and keyed using the group prefix (¶ [n0107]; i.e. cloud 220 uses key B to encrypt n pieces of private information y to obtain a B-encrypted data set, ¶ [n0161]-[n0163]; i.e. the cloud 220 may divide the large amount of ciphertext included in the B-encrypted data set into multiple buckets or groups identified by hash prefixes);
receiving, from a second device, a second plurality of encrypted records, each encrypted based on a second encryption key generated for the second device, and accompanied by a prefix provided by the second device: encrypting the second plurality of encrypted records based on the first encryption key to create a second plurality of doubly encrypted records (¶ [n0109]; i.e. the mobile phone 210 uses the key A to encrypted m pieces of private information x to obtain an A-encrypted data set, ¶ [n0116]; i.e. the mobile phone 210 sends a query request to the cloud 220, where the query includes the A-encrypted data set, ¶ [n0119]; i.e. cloud 220 uses key B to re-encrypted the A-encrypted data set to obtain a double AB-encrypted data set, ¶ [n0189]-[n0194]; i.e. the mobile phone constructs a relationship dictionary 1 between the hash value prefixes and the A-encrypted data set and sends the relationship dictionary 1 to the cloud);
querying, using the prefix provided by the second device as a database key, the data repository to fetch a group of encrypted records (¶ [n0199]-[0200]; i.e. the cloud 220 queries the target bucket corresponding to the hash value prefix);
generating a data structure encoded to indicate a presence of each encrypted record of the group of encrypted records fetched from the data repository (¶ [n0201]-[n0206]; i.e. generating only the ciphertext in the target bucket to send to the mobile phone); and
transmitting the second plurality of doubly encrypted records and the data structure to the second device, the second device using the second plurality of doubly encrypted records and the data structure to determine whether at least one of the second plurality of encrypted records is included in one group of the plurality of groups of encrypted records (¶ [n0121]; i.e. the cloud 220 sends the double AB-encrypted data set and the B-encrypted data set to the mobile phone, ¶ [n0125], [n0137]-[n0138]; i.e. the mobile phone compares the data sets to obtain a comparison result, ¶ [n0201]-[n0206]; i.e. the cloud 220 sends the ciphertext only found in the target bucket to the mobile phone).
Regarding claim 17, see claim 3 above for the same reasons of rejections.
Regarding claim 18, see claim 4 above for the same reasons of rejections.
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 2, 9 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Chen et al. (CN 117729533, see IDS provided translation filed on 10/18/2024, hereinafter Chen) in view of Shang et al. (US 2024/0111810 hereinafter Shang).
Regarding claim 2, Chen discloses the computer-implemented method of claim 1.
Chen does not explicitly disclose wherein the data repository comprises one or more databases configured to conduct transactions using an append-only file persistence mechanism.
However, Shang discloses wherein the data repository comprises one or more databases configured to conduct transactions using an append-only file persistence mechanism (¶ [0044]-[0047]).
Therefore, it would have been obvious to one of ordinary skill in the art before effective filing date of the claimed invention to combine Chen and Shang in order to improve efficiency and overhead cost in cloud and database management (Shang, ¶ [0002]-[0005]).
Regarding claim 9, see claim 2 above for the same reasons of rejections.
Regarding claim 16, see claim 2 above for the same reasons of rejections.
Claims 5-6, 12-13 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chen et al. (CN 117729533, see IDS provided translation filed on 10/18/2024, hereinafter Chen) in view of Eldridge et al. (US 7,272,815 hereinafter Eldridge).
Regarding claim 5, Chen discloses the computer-implemented method of claim 3.
Chen does not explicitly disclose further comprising: incorporating information from at least one offline database by executing one or more batch jobs to backfill the one or more databases of the data repository based on the information from the at least one offline database.
However, Eldridge discloses incorporating information from at least one offline database by executing one or more batch jobs to backfill the one or more databases of the data repository based on the information from the at least one offline database (col. 3, lines 54-59, col. 63, lines 6-53).
Therefore, it would have been obvious to one of ordinary skill in the art before effective filing date of the claimed invention to combine Chen and Eldridge in order to record changes of the computing objects by maintaining current and historical versions of the computing objects (Eldridge, col. 3, lines 14-53).
Regarding claim 6, Chen in view of Eldridge discloses the computer-implemented method of claim 5, further comprising: responsive to a portion of the information from the at least one offline database being invalid, transmitting an alert to the at least one offline database without incorporating the portion of the information in the one or more databases of the data repository (Eldridge, col. 63, lines 45-53).
Regarding claim 12, see claim 5 above for the same reasons of rejections.
Regarding claim 13, see claim 6 above for the same reasons of rejections.
Regarding claim 19, see claim 5 above for the same reasons of rejections.
Regarding claim 20, see claim 6 above for the same reasons of rejections.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHI D NGUY whose telephone number is (571)270-7311. The examiner can normally be reached Monday-Friday 9-5 ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Joseph P Hirl can be reached at (571)272-3685. 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.
/C.D.N/Examiner, Art Unit 2435
/JOSEPH P HIRL/Supervisory Patent Examiner, Art Unit 2435