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 . This office action is in response to the amendment filed on 01/18/2026 and RCE filed 02/10/2026. Claims 1-2 & 4-20 are currently pending in the filing of 01/18/2026, and also the same claims 01/18/2026 were pending in the previous filing of 07/11/2025. Presently, no claims have been cancelled and no claims have been added.
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 02/10/2026 has been entered.
Response to Applicant’s Amendments / Arguments Regarding 35 U.S.C. § 103
The applicant’s remarks, on pages 6-9 of the response / amendment, the applicant argues the features which allegedly distinguish over the previously cited references cited in the 35 U.S.C. § 103 rejections.
Applicant’s arguments have been considered but are moot in view of the new ground(s) of rejection.
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, 5-6, 9, 14, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over US 20210097202 to Datta et al. (hereinafter Datta), in view of US 20160299924 to Fujimoto et al. (hereinafter Fujimoto), in view of US 9128823 to Shilane et al. (hereinafter Shilane).
Regarding claim 1, Datta teaches,
A computer-implemented method, comprising: (Abstract teaches a PUT function that manipulates and stores data (figs. 5a&5b), and a GET function that retrieves and restores the manipulated data to its original form. (figs. 6a&6b)
receiving a request to transfer a file from a computing device to a file storage device; (fig. 11 and [0148] teaches at 1102 the object storage service 160 of fig. 1. Fig. 1 teaches storage service 160, client devices 102, and code execution system 120. See also fig. 5a client 102a submits put object call with input data.)
determining a (fig. 11 at 1106 and [0160] teach determining portions of data to be obfuscated.)
replacing the (fig. 11 at 1108 and [0153] teach obfuscating portions of the data, where obfuscating may include portions of the content being scrambled in a pseudo random method.) (See also, discussion of Shilane, which is further discussed below.)
generating a data object indicative of an original value of each byte of the random subset of bytes in the file; ([0153-154] teaches using a token mapped to the content.)
encrypting the data object with a first key to generate an encrypted data object; ([0153] and claims 10-10 teaches using one or more of replacing the portion of the content with a token, encrypting the portion, scrambling content with pseudo random method.)
generating a legend data object comprising a location array defining a location of the original value of each byte of the random subset of bytes in the file; ([0153-156] teach the mapping of the replaced portion of data, including the mapping of the tokens. Abstract, figs. 5a&5b, and [0042] teaches modification data store 164 and object data store 168, and the storage of the manipulated data using a PUT to place data for storage (e.g., after modification / manipulation) and GET to retrieve data, where figs. 5 teach PUT and figs. 6 teach GET. [0042] teaches storage of the data as storage of the output of the task (manipulated data) not the raw data provided by the client. See also POST and HEAD for partial modifications and retrievals.)
storing the ([0153] teaches encryption key controlled by management service. [0154] teaches that token, used to replace portion of data, is mapped to the token and the key.)
providing the randomly modified file and the legend data object to the file storage device. (fig. 11 at 1110 and [0156] teach providing the selectively obfuscated input data as an output. [0156] teaches information may be stored at object storage service, different object storage service, or different storage devices.)
Datta fails to teach encrypting the encryption key with another key and storing the encrypted key with a legend / index,
However, Fujimoto teaches,
encrypting the first key with a second key to generate an encrypted first key; ([0088-89] teaches a server that encrypts an index key to generate an encrypted index key, where the index is used to search the database.)
storing the encrypted first key and the encrypted data object in the legend data object; and ([0089] teaches associates the encrypted index key 1222 with the encrypted index 1221, and records them in the index database 122.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta with the added ability to wrap / encrypt the encryption key for the legend / index, as taught by Fujimoto, for the purpose of increasing security by encrypting a key that is used to decrypt an index key.
Datta and Fujimoto fail to explicitly teach generating random data based on a file percentage parameter and replacing the data where the amount of data to be replaced is based on the file percentage parameter,
However, Shilane teaches,
generating random data based on a file percentage parameter; (fig. 3a&3b & Col. 8, line 51 to Col. 9, line 21 (37), teaches random data being used to replace data, where a data management module 111 determines a percentage of data to replace with random data, where the percentage may be randomly chosen or predetermined, as discussed further below. Col. 5, lines 17-23 (22), teaches generating the random data. Col. 6, lines 13-18 (26), teach modifying the blocks by writing the random data to blocks.) (Applicant’s printed publication at [0060-63] and [0100] describes the selection of N number of bytes for replacement based on a percentage parameter, and replacing this N number of bytes with random data.)
determining a random subset of bytes in the file based on the file percentage parameter, wherein a location of each byte in the random subset of bytes is determined based on a number of bytes in the random data; (Abstract & fig. 3a, 302, teaches modifying tracks selected at random. fig. 3a&3b & Col. 8, line 51 to Col. 9, line 21 (37), teach “synthetic data generation client 101 determines a percentage of tracks to modify at data management module 111. Data management module 111 can determine this percentage at random, from one or more predetermined percentage(s) …” See also discussion of fig. 3a, at least operations 302-303 in Col. 9, line 22-58 (38-39) teaching the details of the selection and replacement, including random selection of tracks. Examiner asserts that the percentage determines how much data is to be replaced and then replaces with random data, as shown in figs 3a-3b. Col. 2. lines 47-60 (13), teaches the blocks \ tracks being bytes of data.)
replacing the random subset of bytes in the file with the random data to generate a randomly modified file; (Abstract, teaches modifying tracks selected at random. fig. 3a&3b & Col. 8, line 51 to Col. 9, line 21 (37), teach the beginning of the replacement process using random data and percentage. See specifically, Fig. 3a, 301-305.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta and Fujimoto with the added ability to generate random data and select data at random based on percentage parameter to replace that percentage of data using the generated random data, as taught by Shilane, for the purpose of increasing security by anonymizing data by replacing data with random data.
Regarding claim 5, Datta, Fujimoto, and Shilane teach,
The computer-implemented method of claim 1, further comprising:
determining the file percentage parameter based on a pseudorandom number generator.
(Shilane, Col. 8, lines 52-56, teaches selecting the percentage at random or a predetermined percentage that is input by a person such as an administrator.)
Regarding claim 6, Datta, Fujimoto, and Shilane teach,
The computer-implemented method of claim 1, further comprising:
determining the file percentage parameter based on a user input. (Shilane, Col. 8, lines 52-56, teaches selecting the percentage at random or a predetermined percentage that is input by a person such as an administrator.)
Regarding claim 9, Datta, Fujimoto, and Shilane teach,
A computing apparatus comprising at least one processor and at least one non-transitory memory having computer-coded instructions stored thereon, the computer-coded instructions configured to, in execution with the at least one processor, cause the computing apparatus to: (Datta, [0169] teaches a non-transitory storage.)
receive a request to transfer a file from a computing device to a file storage device;
generate random data based on a file percentage parameter;
determine a random subset of bytes in the file based on the file percentage parameter, wherein a location of each byte in the random subset of bytes is determined based on a number of bytes in the random data;
replace the random subset of bytes in the file with the random data to generate a randomly modified file;
generate a data object indicative of an original value of each byte of the random subset of bytes in the file;
encrypt the data object with a first key to generate an encrypted data object;
generate a legend data object comprising a location array defining a location of the original value of each byte of the random subset of bytes in the file;
encrypt the first key with a second key to generate an encrypted first key;
store the encrypted first key and the encrypted data object in the legend data object; and
provide the randomly modified file and the legend data object to the file storage device.
Claim 9 is rejected using the same basis of arguments used to reject claim 1 above.
Regarding claim 14, Datta, Fujimoto, and Shilane teach,
The computing apparatus of claim 9, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
Datta teaches,
provide a graphical user interface to the computing device, wherein the graphical user interface allows a user to select a file for decryption ([0004] teaches an interface used to designate data and to select methods GET (to unmask) to be applied to the data, where [0153] teaches the portions of data that are replaced may be encrypted and/or replaced with token / random number.)
Fujimoto teaches,
([0088-89] teaches the second key that is used to encrypt and decrypt another key.)
Regarding claim 16, Datta, Fujimoto, and Shilane teach,
A computer program product comprising at least one non-transitory, computer-readable storage medium including instructions that, upon execution by at least one processor, configure the computer program product to: (Datta, [0169] teaches a non-transitory storage.)
receive a request to transfer a file from a computing device to a file storage device;
generate random data based on a file percentage parameter;
determine a random subset of bytes in the file based on the file percentage parameter, wherein a location of each byte in the random subset of bytes is determined based on a number of bytes in the random data;
replace the random subset of bytes in the file with the random data to generate a randomly modified file;
generate a data object indicative of an original value of each byte of the random subset of bytes in the file;
encrypt the data object with a first key to generate an encrypted data object;
generate a legend data object comprising a location array defining a location of the original value of each byte of the random subset of bytes in the file;
encrypt the first key with a second key to generate an encrypted first key;
store the encrypted first key in the legend data object; and
provide the randomly modified file and the legend data object to the file storage device.
Claim 16 is rejected using the same basis of arguments used to reject claim 1 above.
Claims 2 and 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20180139213 to Shin et al. (hereinafter Shin).
Regarding claim 2, Datta, Fujimoto, and Shilane teach,
The computer-implemented method of claim 1, wherein:
Datta teaches,
the computing device is a first computing device; and (Fig. 1 client devices 102, and code execution system 120)
the randomly modified file is configured to be decryptable, from the file storage device, at a second computing device during a checkout procedure (Fig. 1 teaches storage service 160, client devices 102, and code execution system 120. [0034] teaches that clients (“second computing device”) may read, write, modify, and delete data objects, each of which represents a set of data associated with an identifier (an “object identifier” or “resource identifier”) that can be interacted with as an individual resource. Fig. 6 teaches the GET function that retrieves the modified / manipulated / obfuscated portions of the data object, where fig. 11 and [0153] teaches that the portions data object obfuscation may include one or more of encryption, replacing with pseudo random data, and replacing with tokens.)
Datta, Fujimoto, and Shilane fail to teach a file that is decryptable using an index / legend,
However, Shin teaches,
the ([0112] teaches two devices passing encrypted messages, and decrypting is performed using a key in an index (“legend”). )
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Shin, which also teaches encrypted information (Abstract), and also teaches decrypting the information using a key from an index ([0112]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to decrypt data using information (e.g., key) in an index, as taught by Shin, for the purpose of increasing security by using encryption and increasing computational efficiency by providing a way to easily find a key.
Regarding claim 17 Datta, Fujimoto, Shilane, and Shin teach,
The computer program product of claim 16, wherein:
the computing device is a first computing device; and
the randomly modified file is configured to be decryptable, from the file storage device, at a second computing device during a checkout procedure based at least in part on the legend data object.
Claim 17 is rejected using the same basis of arguments used to reject claim 2 above.
Regarding claim 18, Datta, Fujimoto, Shilane, and Shin teach,
The computer program product of claim 17, wherein the instructions, upon execution by the at least one processor, further configure the computer program product to:
perform a decryption operation comprising: (Datta, Abstract teaches a PUT function that manipulates and stores data (figs. 5a&5b), and a GET function that retrieves and restores the manipulated data to its original form. (figs. 6a&6b)
decrypting the first key using the second key; (Fujimoto, [0077] teaches decrypting a key with another key. As discussed in the rejection of claim 1, [0088-89] teaches the encryption of a key using another key, where the encrypted key encrypts an index.)
decrypting the encrypted data object using the first key to obtain the random subset of bytes of the file; (Datta, Abstract, [0099-100] and figs. 6a&6b teach retrieving and restoring the manipulated data in response to a GET function. Examiner notes that the encryption performed in [0153] and fig. 11 has to be decrypted in order to restore the manipulated data. [0148] teaches that step 1102 of fig. 11 is performed due to a PUT function.)
obtaining the location array from the legend data object; and
restoring the file by replacing the random data of the randomly modified file with the random subset of bytes of the file based on the location array. (Datta, fig. 11 and [0153-156] teach the mapping / index that is used to point to the locations of the object data / non-manipulated data that has been replaced, in response to the PUT function in [0148] and 1102 of fig. 2. Examiner notes that the mapping / index is used in the GET function to find the object data, which has been replaced.)
Regarding claim 19, Datta, Fujimoto, Shilane, and Shin teach,
The computer program product of claim 18, wherein:
the decryption operation is performed by the second computing device as a subprocess of the file checkout procedure. (Datta, figs. 6a&6b, Abstract, and [0096] teach the GET function that restores the manipulated data. Fig. 1 teaches storage service 160, client devices 102, and code execution system 120. [0034] teaches that clients (“second computing device”) may read, write, modify, and delete data objects, each of which represents a set of data associated with an identifier (an “object identifier” or “resource identifier”) that can be interacted with as an individual resource. Fig. 6 teaches the GET function that retrieves the modified / manipulated / obfuscated portions of the data object, where fig. 11 and [0153] teaches that the portions data object obfuscation may include one or more of encryption, replacing with pseudo random data, and replacing with tokens)
Claim 4 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20240020408 Chauhan et al. (hereinafter Chauhan).
Regarding claim 4, Datta, Fujimoto, and Shilane teach,
The computer-implemented method of claim 1, further comprising:
Datta, Fujimoto, and Shilane fail to explicitly teach using a policy to determine percentage parameter,
However, Chauhan teaches,
determining the file percentage parameter based on a file transfer policy. (Abstract teaches data masking rules. [0011] teaches percentage of portions of data that are masked, where rules are used to determine the percentage.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Chauhan, which also teaches masking portions of data ([0011]), and further teaches rules that determine the percentage of data that is masked ([0011]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to determine a percentage of data to mask / obfuscate based on a policy, as taught by Chauhan, for the purpose of increasing security and weighing security with the computational efficiency by not encrypting all information.
Regarding claim 7, Datta, Fujimoto, and Shilane teach,
The computer-implemented method of claim 6, further comprising:
Datta, Fujimoto, and Shilane fail to explicitly teach using a policy to determine percentage parameter,
Chauhan teaches,
applying a file transfer policy to the user input to generate the file percentage parameter. (Chauhan, Abstract teaches data masking rules. [0011] teaches percentage of portions of data that are masked, where rules are used to determine the percentage.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]). with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Chauhan, which also teaches masking portions of data ([0011]), and further teaches rules that determine the percentage of data that is masked ([0011]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to determine a percentage of data to mask / obfuscate based on a policy, as taught by Chauhan, for the purpose of increasing security and weighing security with the computational efficiency by not encrypting all information.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20200026876 to Garg et al. (hereinafter Garg).
Regarding claim 8, Datta, Fujimoto, Shilane, and Garg teach,
The computer-implemented method of claim 6, further comprising:
Datta, Fujimoto, and Shilane fail to explicitly teach providing a graphical interface to allow the user to provide the input,
Garg teaches,
in response to the request to transfer the file, providing a graphical user interface to the computing device, wherein the graphical user interface allows a user to provide the user input. (Garg, [0021] and fig. 1 teach privacy settings being implemented, where interface 108 may be used to enter user data. Abstract teaches data masking rules. [0011] teaches percentage of portions of data that are masked, where rules are used to determine the percentage.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Garg, which also teaches obfuscation of a proportion of data (Abstract), and additionally teaches a user selecting the proportion level of data to obfuscate (Abstract & [0004]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to have a user determine the proportion of data that is obfuscated, as taught by Garg, for the purpose of increasing security through obfuscation while also increasing computational efficiency by limiting the amount of obfuscation based on a user selection.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20190068558 to Jindal (hereinafter Jindal).
Regarding claim 10, Datta, Fujimoto, and Shilane teach,
The computing apparatus of claim 9, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
Datta, Fujimoto, and Shilane fail to teach encrypting a legend before sending the legend to another device,
However, Jindal teaches,
encrypt the legend data object using the second key prior to providing the legend data object to the file storage device. (Jindal, claim 3 and [0007-8] teaches encrypting index before sending.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Jindal, which teaches replacing data with random data and encrypting legends / indexes (Abstract & [0007-8]), and additionally teaches encrypting an index before transmitting the index to another device ([0007-8]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to transmit an index to another device in a secure format, as taught by Jindal, for the purpose of increasing security by encrypting data sent over a network.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20140189364 to Kolesnikov (hereinafter Kolesnikov).
Regarding claim 11, Datta, Fujimoto, and Shilane teach,
The computing apparatus of claim 9, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
(Datta, [0153-156] teach the mapping of the replaced portion of data, including the mapping of the tokens. Abstract, figs. 5a&5b, and [0042] teaches modification data store 164 and object data store 168, and the storage of the manipulated data using a PUT to place data for storage (e.g., after modification / manipulation) and GET to retrieve data, where figs. 5 teach PUT and figs. 6 teach GET. [0042] teaches storage of the data as storage of the output of the task (manipulated data) not the raw data provided by the client. See also POST and HEAD for partial modifications and retrievals.)
Datta, Fujimoto, and Shilane fail to teach encrypting a location array using a first key,
However, Kolesnikov teaches,
encrypt the location array using the first key. ([0030] teaches database and key arrays that are both encrypted and stored in the index, and the use of different keys.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Kolesnikov, which also teaches encryption of indexes (Abstract & [0030]), and additionally teaches encrypting multiple arrays within an index ([0030]) and the use of different keys. One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to encrypt an array included within the index with a key, as taught by Kolesnikov, for the purpose of increasing security by utilizing different keys to encrypt different portions of data, as is well known in the art.
Claims 12-13 are rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20200322041 to Chao et al. (hereinafter Chao).
Regarding claim 12, Datta, Fujimoto, and Shilane teach,
The computing apparatus of claim 9, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
determine the random subset of bytes in the file
(Shilane, fig. 3a, operations 302-303 and Col. 9, line 22-58 (38-39) teaching the details of the selection and replacement, including random selection of tracks.)
Datta, Fujimoto, and Shilane fail to teach using a random walk in a random selection,
However, Chao teaches,
determine the random (Claim 13 teaches selecting using a random walk. See also [0008])
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta and Shilane, which teach the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted and using randomness to make the selections of the portions to be replaced, Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Chao, which also teaches random selection (related to primary \ above reference) (Abstract & [0005]), and additionally teaches making random selections using a random walk ([0008] and claim 13). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to use a random walk when making random selections, as taught by Chao, for the purpose of increasing security by randomly replacing data by using random selections of portions of data by using a random walk, which also increases computational efficiency by obfuscating / replacing and encrypting only a portion of the data.
Regarding claim 13, Datta, Fujimoto, Shilane, and Chao teaches,
The computing apparatus of claim 12, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
initialize the random integer walk at a random location in the file, wherein the random location is determined based on at least one of a user input, a file transfer policy, or a pseudorandom number generator. (Shilane, fig. 3a, operations 302-303 and Col. 9, line 22-58 (38-39) teaching the details of the selection and replacement, including random selection of tracks. Col. 8, lines 52-56, teaches selecting the percentage at random or a predetermined percentage that is input by a person such as an administrator.) (Chao, Claim 13 teaches selecting using a random walk. See also [0008]. Claim 17 teaches the use of pseudorandom selection.)
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of US 20220116214 to Jentzsch et al. (hereinafter Jentzsch).
Regarding claim 15, Datta, Fujimoto, and Shilane teach,
The computing apparatus of claim 14, wherein the computer-coded instructions, when executed by the at least one processor, further cause the computing apparatus to:
Fujimoto teaches,
at the computing device, provide user access to the second key (Fujimoto, [0088-89] teaches the second key that is used to encrypt the first key.)
Datta, Fujimoto, and Shilane fail to teach providing access to the second key after biometric verification,
However, Jentzsch teaches,
at the computing device, provide user access to the (Jentzsch, [0033] teaches user may access keys in custody key vault 290 after being authenticated through one or more verification techniques, such as biometrics. See also fig. 3, custody key vault 290)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted (figs. 5a&5b and [0148-156]), with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Jentzsch, which also teaches a protected key (fig. 3, custody key vault 290), and additionally teaches providing the second key after biometric verification ([0033]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, and Shilane with the added ability to protect a key by requiring biometric verification before the key is provided, as taught by Jentzsch, for the purpose of increasing security by preventing access without biometric verification.
Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Datta, in view of Fujimoto, in view of Shilane, in view of Shin, in view of Jentzsch.
Regarding claim 20, Datta, Fujimoto, Shilane, and Shin teach,
The computer program product of claim 18, wherein the instructions, upon execution by the at least one processor, further configure the computer program product to:
Fujimoto teaches,
at the second computing device, provide user access to the second key ([0088-89] teaches the second key that is used to encrypt the first key.)
Datta, Fujimoto, Shilane, and Shin fail to teach providing access to the second key after biometric verification,
However, Jentzsch teaches,
at the second computing device, provide user access to the (Jentzsch, [0033] teaches user may access keys in custody key vault 290 after being authenticated through one or more verification techniques, such as biometrics.)
Before the effective filing date of the invention, it would have been obvious to one of ordinary skill in the art to combine the teachings of Datta, which teaches the selection of portions of data that are then obfuscated with tokens / random data, where the replaced portions of data are then encrypted, with Fujimoto, which also teaches a database with a legend / index that is searchable (Abstract), which teaches a second key that is used to encrypt a first key, where the second key is protected from access, which also teaches a database with a legend / index that is searchable (Abstract), and additionally teaches encrypting the index key with another key ([0088-89]), with Shilane, which also teaches selection of portions of data that are replaced with obfuscated (Abstract, fig. 3a&3b, & Col. 8, line 51 to Col. 9, line 21), and additionally teaches modifying tracks selected at random (Abstract & fig. 3a, 302 which is random) and generating random data for the replacement (Col. 5, lines 17-23), with Shin, which also teaches encrypted information (Abstract), and also teaches decrypting the information using a key from an index ([0112]), with Jentzsch, which also teaches a protected key (fig. 3, custody key vault 290), and additionally teaches providing the second key after biometric verification ([0033]). One of ordinary skill in the art would have been motivated to perform such an addition to provide Datta, Fujimoto, Shilane, and Shin with the added ability to protect a key by requiring biometric verification before the key is provided, as taught by Jentzsch, for the purpose of increasing security by preventing access without biometric verification.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRIAN WILLIAM AVERY whose telephone number is (571) 272-3942. The examiner can normally be reached on 9AM-5PM.
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, Farid Homayounmehr can be reached on (571) 272-3739.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/B.W.A./
/JASON K GEE/Primary Examiner, Art Unit 2495