Prosecution Insights
Last updated: April 19, 2026
Application No. 18/470,779

PROFILE MATCHING FILTERS

Final Rejection §103§112
Filed
Sep 20, 2023
Examiner
HICKS, SHIRLEY D.
Art Unit
2168
Tech Center
2100 — Computer Architecture & Software
Assignee
Paypal Inc.
OA Round
4 (Final)
64%
Grant Probability
Moderate
5-6
OA Rounds
3y 2m
To Grant
99%
With Interview

Examiner Intelligence

Grants 64% of resolved cases
64%
Career Allow Rate
69 granted / 107 resolved
+9.5% vs TC avg
Strong +56% interview lift
Without
With
+56.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
38 currently pending
Career history
145
Total Applications
across all art units

Statute-Specific Performance

§101
10.7%
-29.3% vs TC avg
§103
51.1%
+11.1% vs TC avg
§102
24.2%
-15.8% vs TC avg
§112
12.3%
-27.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 107 resolved cases

Office Action

§103 §112
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 . Response to Amendments The action is responsive to the Applicant’s Amendment filed on 11/20/2025. Claims 1-20 are pending in the application. Claims 1-9, 11-16, and 18-20 are amended. Response to Arguments Applicant’s arguments with respect to the rejections of claims 1-20 have been fully considered. In view of the claim amendment filed, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made. Further, regarding the new limitations recited in claims 1-9, 11-16, and 18-20, it is submitted that they are properly addressed by the new ground of rejection. Furthermore, it is also submitted that all limitations in pending claims, including those not specifically argued, are properly addressed. The reason is set forth in the rejections. See claim analysis below for detail. Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. Claim 7 is rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claim 7 recites “receiving a second request to determine a presence of the data within the database” that is directed to new matter and fails to comply with the written description requirement. Claims 8-9 and 11-14 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claims 8-9 and 11-14 recite the terms “first data”, “second data” that is directed to new matter and fails to comply with the written description requirement. Claims 6, 11, and 20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claims 6, 11, and 20 recite “customized content” that is directed to new matter and fails to comply with the written description requirement. 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 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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Rubin et al. (US 20170070349 A1) in view of Gogoi (US Patent No. 11853288 B1) and Singh (US 20223000630 A1). Regarding Claim 1, Rubin discloses a system, comprising: a non-transitory memory; and one or more hardware processors coupled with the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising ([0077]-[0080]: FIG. 10 illustrates aspects of an example environment 1000): receiving a request to remove data corresponding to an attribute type (Fig. 6; [0055]-[0057]: As noted above, a user of a database system or other computer system may submit a request to remove an entry from a Bloom filter) and associated with a user account from a database ([0020]: The datastore 104 may include one or more databases that may be operated and maintained by a database system, which may process user requests to store or remove data from these databases and the datastore 104 as needed; [0029]: an entry may correspond to a user account identifier for a particular user of the computer system), wherein the request represents the data and indicates the attribute type ([0015]: Techniques described and suggested herein relate to the addition and removal of data (such as database entries) from a Bloom filter through use of functions that use, as input, the data that is either added or removed from the Bloom filter and an iteration value, which indicates whether the entry is being added or removed from the Bloom filter); accessing, based on the request, a filter corresponding to the attribute type (Fig. 6; [0057]: Once the database system has received the request to remove the entry from the Bloom filter, the database system may determine 604 whether the particular entry is present within the Bloom filter), wherein the filter comprises a data structure storing values that correspond to a first plurality of filter keys (Figs. 2-4; [0031]: It should be noted that while Bloom filters 206 are used extensively throughout the present disclosure for illustrative purposes, other probabilistic data structures may be used; [0006]: FIG. 3 shows an illustrative example of an environment in which a Bloom filter covering entries of key-value pairs of database attributes and values) and that represent a presence of different attribute values corresponding to the attribute type in the database ([0016]-[0017]: The output of this function may also be hashed and used to set a number of bits within the Bloom filter to indicate the presence of the function output within the Bloom filter). However, Rubin does not explicitly teach “wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter; generating a second plurality of filter keys based on performing a plurality of functions on the data, wherein each function from the plurality of functions is configured to map the data to a corresponding key in the second plurality of filter keys, and wherein the second plurality of filter keys is a particular subset of the first plurality of filter keys; accessing a plurality of values in the filter corresponding to the second plurality of filter keys; determining that the data exists as one of the different attribute values in the database based on the plurality of values; removing the data from the database and modifying the plurality of values corresponding to the second plurality of filter keys in the filter based on decrementing each of the plurality of values by one”. On the other hand, in the same field of endeavor, Gogoi teaches wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter (Figs. 3-4; [Col. 1, lines 35-67 – Col. 2, lines 1-20]: A multidimensional data structure can also be employed in combination with multiple levels… The instructions can also cause the processor to determine whether an input element is present or absent from a data store based on one or more values set in the array… The operations comprise determining two or more hashes of a data element with different hash functions, looking up data values in an array with array indices specified by the two or more hashes); generating a second plurality of filter keys based on performing a plurality of functions on the data (Figs. 3-4; [Col. 1, lines 44-55]: apply a predetermined modification to the data element to produce a modified element, invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash), wherein each function from the plurality of functions is configured to map the data to a corresponding key in the second plurality of filter keys (Fig. 2; [Col. 5, lines 43-57]: The array 200 comprises a number of data values or elements… Here, the bit array can represent present or absent with respect to a corresponding data set… to map to a visual concept; [Col. 5, lines 59-60]: The insertion component 202 is configured to save representations of data to the array 200), and wherein the second plurality of filter keys is a particular subset of the first plurality of filter keys (Figs. 3-4; [Col. 1, lines 44-55]: invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash… The instructions further cause the processor to apply the predetermined modification to the modified element to produce a second modified element); accessing a plurality of values in the filter corresponding to the second plurality of filter keys ([Col. 2, lines 9-43]: The operations comprise… looking up data values in an array with array indices specified by the two or more hashes, applying a predetermined modification to the data element producing the modified data element, classifying the data element as absent when any one of the data values is unset, and classifying the data element as present when all of the data values are set); determining that the data exists as one of the different attribute values in the database based on the plurality of values (Fig. 1; [Col. 4, lines 6-12]: By way of example, the customer can input a proposed username for access to online or mobile banking services provided by the bank server 100. The bank server 100 can store a large number of usernames that are reserved or in use by others. Rather than searching through all usernames in a data store to determine whether the proposed username is available, the enhanced filter system 104 can be employed to determine whether or not the username is present or absent from the data store); Additionally, Singh teaches removing the data from the database and modifying the plurality of values corresponding to the second plurality of filter keys in the filter based on decrementing each of the plurality of values by one ([0081]: The values of the counters at each of the obtained positions in the data structure can then be decremented—i.e., decreased by a value of one (1)—to remove the corporate credential from the counting Bloom filter. The entry for the removed corporate credential can then be removed (deleted) from the corresponding index). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Rubin to incorporate the teachings of Gogoi and Singh to include accessing a filter, generating a second plurality of filter keys, accessing a plurality of values in the filter corresponding to the second plurality of filter keys, and decrementing position values in the data structures. The motivation for doing so would be to enhance filter accuracy, as recognized by Gogoi ([Abstract] of Gogoi: Enhanced filter accuracy is disclosed with respect to determining whether a data element is present in a data store) and to decrement the values of the positions in the data structure to remove data from the data structure as recognized by Singh ([Abstract of Singh]: decrementing the values of the positions in the data structure representative of the second string of content to remove second data representative of the second string of content from the data structure). Regarding Claim 2, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Rubin further teaches wherein the request is associated with a deletion of the user account (Fig. 1, Fig. 6; [0024]-[0029]: Similarly, when a user, through its user client device 102, submits a request to remove an entry from one or more databases of the datastore 104… For this entry, there may be four possible states: account creation pending, account present, account deletion pending, and account deleted). Regarding Claim 3, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Rubin further teaches wherein the request is associated with an update to the user account (Fig. 1, Fig. 6; [0024]-[0029]: Similarly, when a user, through its user client device 102, submits a request to remove an entry from one or more databases of the datastore 104… For this entry, there may be four possible states: account creation pending, account present, account deletion pending, and account deleted). Regarding Claim 4, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Gogoi further teaches wherein the determining that the data exists in the database comprises a non-zero value ([Col. 3, lines 30-36]: When an element is added to the BF, some hash functions convert the element into a set of integers. These integers represent the indices of the bit array, and the bits at these indices are switch from an initial zero to one; [Col. 5, lines 45-51]: the array can be a bit array in which each element is represented as a binary choice such as one or zero or true or false. Here, the bit array can represent present or absent with respect to a corresponding data set). Regarding Claim 5, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Rubin further teaches wherein at least one of the modified plurality of values comprises a non-zero value (Fig. 1; [0020]-[0021]: Thus, the database system may add this output value to the Bloom filter 106, which may cause one or more bits of the Bloom filter 106 to change from a value of zero to a value of one). Regarding Claim 6, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Singh further teaches wherein the operations further comprise: subsequent to removing the data from the database, providing customized content on a user device associated with the user account ([0004]-[0006]: The method may further include determining, by the computing device, whether the user is permitted to access another application using the data structure having the second data representative of the second string of content removed). Regarding Claim 7, the combined teaching of Rubin, Gogoi, and Singh disclose the system of claim 1. Rubin further teaches wherein the operations further comprise: receiving a second request to determine a presence of the data within the database ([0005]: FIG. 2 shows an illustrative example of an environment in which an iterative query is performed to determine whether an entry is present within a Bloom filter in accordance with at least one embodiment); accessing the modified plurality of values in the filter based on the second plurality of filter keys; and determining that the data is absent within the database based on at least one of the modified plurality of values being a zero (Figs. 1-2; [0021]: The database system may query the Bloom filter 106 to determine whether this output value is present within the Bloom filter 106; However, if any of the bits corresponding to the output value are set to zero, then the output value may not be included within the Bloom filter 106 and, thus, the entry may not be within the datastore 104); Regarding Claim 8, Rubin discloses a method, comprising: receiving a request to update information associated with a user account (Fig. 6; [0055]-[0057]: As noted above, a user of a database system or other computer system may submit a request to remove an entry from a Bloom filter), wherein the information associated with the user account is stored in a database, and wherein the request is associated with replacing first data associated with the user account with second data ([0020]: The datastore 104 may include one or more databases that may be operated and maintained by a database system, which may process user requests to store or remove data from these databases and the datastore 104 as needed; [0029]: an entry may correspond to a user account identifier for a particular user of the computer system); accessing a filter corresponding to the database (Fig. 6; [0057]: Once the database system has received the request to remove the entry from the Bloom filter, the database system may determine 604 whether the particular entry is present within the Bloom filter), wherein the filter comprises a data structure storing values that correspond to a first plurality of filter keys (Figs. 2-4; [0031]: It should be noted that while Bloom filters 206 are used extensively throughout the present disclosure for illustrative purposes, other probabilistic data structures may be used; [0006]: FIG. 3 shows an illustrative example of an environment in which a Bloom filter covering entries of key-value pairs of database attributes and values) and that represent different attribute values associated with a plurality of user accounts ([0029]: As an illustrative example, an entry may correspond to a user account identifier for a particular user of the computer system); However, Rubin does not explicitly teach “wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter; generating a second plurality of filter keys based on performing a plurality of functions on first data, wherein each function from the plurality of functions is configured to map the first data to a corresponding key in the second plurality of filter keys, and wherein the second plurality of filter keys is a subset of the first plurality of filter keys; accessing a plurality of values in the filter based on the second plurality of filter keys. modifying the plurality of values corresponding to the second plurality of filter keys in the filter based on decrementing each of the plurality of values by a non-zero value.”. On the other hand, in the same field of endeavor, Gogoi teaches wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter (Figs. 3-4; [Col. 1, lines 35-67 – Col. 2, lines 1-20]: A multidimensional data structure can also be employed in combination with multiple levels… The instructions can also cause the processor to determine whether an input element is present or absent from a data store based on one or more values set in the array… The operations comprise determining two or more hashes of a data element with different hash functions, looking up data values in an array with array indices specified by the two or more hashes); generating a second plurality of filter keys based on performing a plurality of functions on first data (Figs. 3-4; [Col. 1, lines 44-55]: apply a predetermined modification to the data element to produce a modified element, invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash), wherein each function from the plurality of functions is configured to map the first data to a corresponding key in the second plurality of filter keys (Fig. 2; [Col. 5, lines 43-57]: The array 200 comprises a number of data values or elements… Here, the bit array can represent present or absent with respect to a corresponding data set… to map to a visual concept; [Col. 5, lines 59-60]: The insertion component 202 is configured to save representations of data to the array 200), and wherein the second plurality of filter keys is a subset of the first plurality of filter keys (Figs. 3-4; [Col. 1, lines 44-55]: invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash… The instructions further cause the processor to apply the predetermined modification to the modified element to produce a second modified element); accessing a plurality of values in the filter based on the second plurality of filter keys ([Col. 2, lines 9-43]: The operations comprise… looking up data values in an array with array indices specified by the two or more hashes, applying a predetermined modification to the data element producing the modified data element); and Additionally, Singh teaches modifying the plurality of values corresponding to the second plurality of filter keys in the filter based on decrementing each of the plurality of values by a non-zero value ([0081]: The values of the counters at each of the obtained positions in the data structure can then be decremented—i.e., decreased by a value of one (1)—to remove the corporate credential from the counting Bloom filter. The entry for the removed corporate credential can then be removed (deleted) from the corresponding index). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Rubin to incorporate the teachings of Gogoi and Singh to include accessing a filter, generating a second plurality of filter keys, accessing a plurality of values in the filter corresponding to the second plurality of filter keys, and decrementing position values in the data structures. The motivation for doing so would be to enhance filter accuracy, as recognized by Gogoi ([Abstract] of Gogoi: Enhanced filter accuracy is disclosed with respect to determining whether a data element is present in a data store) and to decrement the values of the positions in the data structure to remove data from the data structure as recognized by Singh ([Abstract of Singh]: decrementing the values of the positions in the data structure representative of the second string of content to remove second data representative of the second string of content from the data structure). Regarding Claim 9, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 8. Rubin further teaches further comprising: performing an action associated with the user account based on the second data (Fig. 2; [0037]: The database system may query the Bloom filter 208 to determine the current iteration value for the particular entry and, based at least in part on this iteration value, determine what actions need to be performed to indicate that the entry has been removed from the datastore 204 and from the Bloom filter 208). Regarding Claim 10, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 9. Rubin further teaches wherein the action comprises suspending the user account ([0029]: As an illustrative example, an entry may correspond to a user account identifier for a particular user of the computer system. For this entry, there may be four possible states: account creation pending, account present, account deletion pending, and account deleted (e.g., non-numerical iteration values)). Regarding Claim 11, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 9. Singh further teaches wherein the action comprises providing, based on the second data, customized content on a user device associated with the user account ([0004]-[0006]: The method may further include determining, by the computing device, whether the user is permitted to access another application using the data structure having the second data representative of the second string of content removed). Regarding Claim 12, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 8. Singh further teaches wherein the plurality of functions comprises a plurality of hash functions, and wherein each hash function of the plurality of hash functions is configured to generate a corresponding hash value based on the first data ([0078]: There may be a number, k, of different hash functions defined for the counting Bloom filter. Given an element input to each of the k hash functions, each hash function maps (or hashes) the element to one of the positions in the data structure). Regarding Claim 13, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 8. Singh further teaches further comprising: accessing a record associated with the user account within the database; and removing the first data from the record ([0081]: To remove a corporate credential (e.g., a password) from the counting Bloom filter, the positions in the data structure representative of the corporate credential can be retrieved or otherwise determined from the index corresponding to the counting Bloom filter… For example, a specific entry in the index storing the positions in the data structure representative of the corporate credential may be identified using a key (e.g., key-value pair). The values of the counters at each of the obtained positions in the data structure can then be decremented—i.e., decreased by a value of one (1)—to remove the corporate credential from the counting Bloom filter. The entry for the removed corporate credential can then be removed (deleted) from the corresponding index). Regarding Claim 14, the combined teaching of Rubin, Gogoi, and Singh disclose the method of claim 8. Singh further teaches further comprising: comparing each of the plurality of values against zero; and determining that the first data exists in the database based on the comparing ([0080]: If a value of one or more of the counters at these positions in the data structure is zero (0), the given credential is not in the counting Bloom filter. If the values of the counters at all of these positions in the data structure are larger than zero (0), the given credential is likely in the counting Bloom filter). Regarding Claim 15, Rubin discloses a non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising ([0077]-[0080]: FIG. 10 illustrates aspects of an example environment 1000; [0092]: The computer-readable storage medium may be non-transitory): receiving a request to update a user account (Fig. 6; [0055]-[0057]: As noted above, a user of a database system or other computer system may submit a request to remove an entry from a Bloom filter); wherein the request is associated with replacing a first an attribute value associated with the user account and corresponding to an attribute type with a second attribute value in a database ([0020]: The datastore 104 may include one or more databases that may be operated and maintained by a database system, which may process user requests to store or remove data from these databases and the datastore 104 as needed; [0029]: an entry may correspond to a user account identifier for a particular user of the computer system); selecting, from a plurality of filter, a particular filter that corresponds to the attribute type (Fig. 6; [0021]: The database system may query the Bloom filter 106 to determine whether this output value is present within the Bloom filter 106; [0057]: Once the database system has received the request to remove the entry from the Bloom filter, the database system may determine 604 whether the particular entry is present within the Bloom filter), wherein the particular filter includes a data structure storing values that correspond to a first plurality of filter keys [0006]: FIG. 3 shows an illustrative example of an environment in which a Bloom filter covering entries of key-value pairs of database attributes and values) and that indicates a presence of different attribute values corresponding to the attribute type in the database ([0016]-[0017]: The output of this function may also be hashed and used to set a number of bits within the Bloom filter to indicate the presence of the function output within the Bloom filter); However, Rubin does not explicitly teach “wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter; generating a set of filter keys based on applying a plurality of functions to the first attribute value associated with the user account, wherein each of the plurality of functions is configured to generate a corresponding key in the set of filter keys based on the first attribute value, and wherein the set of filter keys comprises two or more keys and is a subset of the plurality of filter keys; accessing a plurality of values that corresponds to the set of filter keys in the particular filter; and modifying the plurality of values corresponding to the set of filter keys in the particular filter based on decrementing each of the plurality of values”. On the other hand, in the same field of endeavor, Gogoi teaches wherein a presence of each attribute value in the different attribute values in the filter is represented by two or more values corresponding to two or more filter keys in the first plurality of filter keys in the filter (Figs. 3-4; [Col. 1, lines 35-67 – Col. 2, lines 1-20]: A multidimensional data structure can also be employed in combination with multiple levels… invoke at least one hash function with respect to a data element to produce a first hash of the data element, set a value in an array at an index specified by the first hash… The instructions can also cause the processor to determine whether an input element is present or absent from a data store based on one or more values set in the array… The operations comprise determining two or more hashes of a data element with different hash functions, looking up data values in an array with array indices specified by the two or more hashes); generating a set of filter keys based on applying a plurality of functions to the first attribute value associated with the user account (Figs. 3-4; [Col. 1, lines 44-55]: apply a predetermined modification to the data element to produce a modified element, invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash), wherein each of the plurality of functions is configured to generate a corresponding key in the set of filter keys based on the first attribute value (Fig. 2; [Col. 5, lines 43-57]: The array 200 comprises a number of data values or elements… Here, the bit array can represent present or absent with respect to a corresponding data set… to map to a visual concept; [Col. 5, lines 59-60]: The insertion component 202 is configured to save representations of data to the array 200), and wherein the set of filter keys comprises two or more keys ([Col. 2, lines 9-15]: The operations comprise determining two or more hashes of a data element with different hash functions) and is a subset of the plurality of filter keys (Figs. 3-4; [Col. 1, lines 44-55]: invoke the at least one hash function with respect to the modified element to produce a second hash of the modified element, and set a value in the array at an index specified by the second hash… The instructions further cause the processor to apply the predetermined modification to the modified element to produce a second modified element); accessing a plurality of values that corresponds to the set of filter keys in the particular filter (Fig. 1; [Col. 2, lines 9-43]: The operations comprise… looking up data values in an array with array indices specified by the two or more hashes; [Col. 4, lines 55-65]: A customer and bank can employ the enhanced filter system 104 in many scenarios to determine the presence or absence of an element… the customer can input a proposed username for access to online or mobile banking services provided by the bank server 100); Additionally, Singh teaches modifying the plurality of values corresponding to the set of filter keys in the particular filter based on decrementing each of the plurality of values ([0081]: The values of the counters at each of the obtained positions in the data structure can then be decremented—i.e., decreased by a value of one (1)—to remove the corporate credential from the counting Bloom filter. The entry for the removed corporate credential can then be removed (deleted) from the corresponding index). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Rubin to incorporate the teachings of Gogoi and Singh to include accessing a filter, generating a second plurality of filter keys, accessing a plurality of values in the filter corresponding to the second plurality of filter keys, and decrementing position values in the data structures. The motivation for doing so would be to enhance filter accuracy, as recognized by Gogoi ([Abstract] of Gogoi: Enhanced filter accuracy is disclosed with respect to determining whether a data element is present in a data store) and to decrement the values of the positions in the data structure to remove data from the data structure as recognized by Singh ([Abstract of Singh]: decrementing the values of the positions in the data structure representative of the second string of content to remove second data representative of the second string of content from the data structure). Regarding Claim 16, the combined teaching of Rubin, Gogoi, and Singh disclose the non-transitory machine-readable medium of claim 15. Rubin further teaches wherein the operations further comprise: generating a second set of filter keys based on performing the plurality of functions on the second attribute value ([0007] FIG. 4 shows an illustrative example of an environment in which digital signatures of key-value pairs of database attributes and values are added to a Bloom filter in accordance with at least one embodiment); accessing a second plurality of values that corresponds to the second set of filter keys in the particular filter; and incrementing each of the second plurality of values in the particular filter ([0016]-[0020]: At a later time, to remove this entry from the database for the first time, the database system may use the entry and increment the iteration value from zero to one to provide new inputs to the entry function… Further, to change the state of this entry within the Bloom filter, the a request may be submitted to the database system to increment the iteration value by one and generate a new function output, which may then be added to the Bloom filter to change the state of the entry). Regarding Claim 17, the combined teaching of Rubin, Gogoi, and Singh disclose the non-transitory machine-readable medium of claim 15. Rubin further teaches wherein the plurality of functions comprises a hash function ([0015]: To add a new entry to the Bloom filter, the database system may use the entry to be added and an initial iteration value of zero as inputs to an entry function. The output of this function may be hashed and this hash result may be used to set a number of bits within the Bloom filter from zero to one). Regarding Claim 18, the combined teaching of Rubin, Gogoi, and Singh disclose the non-transitory machine-readable medium of claim 15. Rubin further teaches wherein the operations further comprise: determining that each value in the plurality of values comprises a non-zero value ([0002]: Bloom filters have the inherent advantage of being memory efficient, as entries added to Bloom filters are hashed in a manner that the resulting value merely triggers bits within the Bloom filter from zero to one; [0015]-[0016]: The output of this function may be hashed and this hash result may be used to set a number of bits within the Bloom filter from zero to one). Regarding Claim 19, the combined teaching of Rubin, Gogoi, and Singh disclose the non-transitory machine-readable medium of claim 15. Rubin further teaches wherein the operations further comprise: suspending the user account based on the second attribute value ([0029]: As an illustrative example, an entry may correspond to a user account identifier for a particular user of the computer system. For this entry, there may be four possible states: account creation pending, account present, account deletion pending, and account deleted (e.g., non-numerical iteration values)). Regarding Claim 20, the combined teaching of Rubin, Gogoi, and Singh disclose the non-transitory machine-readable medium of claim 18. Singh further teaches wherein the operations further comprise: providing, based on the second attribute value, customized content on a user device associated with the user account ([0096]-[0100]: With reference to process 700 of FIG. 7, a user, such as user 508, may execute resource access application 424 on client device 502… Upon successful login to resource management services 424, at 704, resource access application 424 may retrieve a current corporate password data structure, such as, for example, counting Bloom filter 602 and index 604 of FIGS. 6A-6D… resource access application 424 may retrieve the data that represents the user's (user 508) corporate passwords (e.g., the user's salts from index 604)). Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHIRLEY D. HICKS whose telephone number is (571)272-3304. The examiner can normally be reached Mon - Fri 7:30 - 4:00. 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, Charles Rones can be reached on (571) 272-4085. 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. /S D H/Examiner, Art Unit 2168 /CHARLES RONES/Supervisory Patent Examiner, Art Unit 2168
Read full office action

Prosecution Timeline

Sep 20, 2023
Application Filed
Oct 23, 2024
Non-Final Rejection — §103, §112
Dec 13, 2024
Interview Requested
Jan 16, 2025
Examiner Interview Summary
Jan 16, 2025
Applicant Interview (Telephonic)
Jan 30, 2025
Response Filed
Apr 25, 2025
Final Rejection — §103, §112
May 16, 2025
Interview Requested
May 22, 2025
Applicant Interview (Telephonic)
May 22, 2025
Examiner Interview Summary
Jun 30, 2025
Response after Non-Final Action
Jul 31, 2025
Request for Continued Examination
Aug 07, 2025
Response after Non-Final Action
Aug 19, 2025
Non-Final Rejection — §103, §112
Oct 01, 2025
Interview Requested
Oct 17, 2025
Applicant Interview (Telephonic)
Oct 17, 2025
Examiner Interview Summary
Nov 20, 2025
Response Filed
Mar 19, 2026
Final Rejection — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596682
SYSTEM AND METHOD FOR OBJECT STORE FEDERATION
2y 5m to grant Granted Apr 07, 2026
Patent 12499102
HIERARCHICAL DELIMITER IDENTIFICATION FOR PARSING OF RAW DATA
2y 5m to grant Granted Dec 16, 2025
Patent 12499146
MACHINE LEARNING AND NATURAL LANGUAGE PROCESSING (NLP)-BASED SYSTEM FOR SYSTEM-ON-CHIP (SoC) TROUBLESHOOTING
2y 5m to grant Granted Dec 16, 2025
Patent 12405818
BATCHING WAVEFORM DATA
2y 5m to grant Granted Sep 02, 2025
Patent 12380126
DISCOVERY OF SOURCE RANGE PARTITIONING INFORMATION IN DATA EXTRACT JOB
2y 5m to grant Granted Aug 05, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
64%
Grant Probability
99%
With Interview (+56.3%)
3y 2m
Median Time to Grant
High
PTA Risk
Based on 107 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month