Prosecution Insights
Last updated: October 22, 2026
Application No. 18/776,918

JOIN CONSTRAINTS FOR QUERY PROCESSING

Final Rejection §103
Filed
Jul 18, 2024
Examiner
HALM, KWEKU WILLIAM
Art Unit
2166
Tech Center
2100 — Computer Architecture & Software
Assignee
Snowflake Inc.
OA Round
4 (Final)
79%
Grant Probability
Favorable
5-6
OA Rounds
3m
Est. Remaining
92%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
209 granted / 264 resolved
+24.2% vs TC avg
Moderate +12% lift
Without
With
+12.4%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
25 currently pending
Career history
306
Total Applications
across all art units

Statute-Specific Performance

§101
8.3%
-31.7% vs TC avg
§103
62.5%
+22.5% vs TC avg
§102
18.6%
-21.4% vs TC avg
§112
8.4%
-31.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 264 resolved cases

Office Action

§103
DETAILED ACTION 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 Amendment 2. The Amendment filed on June 22nd 2026 has been entered. Claims 1, 4, 11 – 18 and 20 have been amended. Claims 1- 20 are currently pending. Response to Arguments 35 U.S.C. §101 3. Applicant's arguments, see Remarks pp. 7 -11, filed June 22nd 2026, with respect to the rejections of claims 1-20 under 35 U.S.C. §101 have been fully considered and they are persuasive. Applicant argues that the claims recite a specific improvement to database technology and integrate any alleged abstract idea into a practical application (Step 2A Prong 2). Applicant establishes his assertion by stating that he amended independent claims recite enforcing a join constraint policy that is attached to a portion of a first set of data of a shared dataset, where the join constraint policy restricts the join function from being executed on that portion, and where the join constraint policy is enforced at query compilation time of the first query. These functionalities address a problem arising in the realm of database systems and data clean rooms. As the specification explains, traditional data clean room solutions are "vulnerable to certain attack vectors, such as SQL injection attacks, where malicious actors can manipulate query templates to access sensitive data," and traditional solutions that rely on rigid query templates "can be overly restrictive, preventing full SQL support and complicating cross-platform data collaboration." The specification states that "[t]he policy is dynamically enforced at query compilation time, ensuring that the latest policy definitions are applied, thereby enhancing security and reducing susceptibility to attack vectors like SQL injection." The specification further explains that "[b]y attaching policies directly to the data (e.g., as columns in the dataset), the policies are enforced regardless of the query's origin, facilitating cross-platform data collaboration." These are improvements to the operation of a query processor and to the governance and security of a database system, not abstract concepts performed in the human mind. The claims do not recite functionalities that can be practically performed in the human mind (Step 2A Prong 1) The claim element of enforcing a join constraint policy "at query compilation time of the first query" is inextricably tied to the operation of a computerized query compiler. A human cannot perform query compilation of a database query, nor can a human enforce a policy attached to a column of a shared dataset at the time the query is compiled by a query processor. Examiner respectfully agrees. The “Receiving” and “Generating” step are part of an integrated query processing. These steps, together with the assessing, determining, and enforcing steps, form an integrated query processing operation that improves data security and governance, as described Examiner respectfully agrees The statutory rejection is withdrawn NOTE: A 35 U.S.C. §102 rejection was not examined by the Examiner therefore arguments pertaining to such a rejection is moot 35 U.S.C. §103 4. Applicant failed to address the statutory rejection of claims 1 – 6, 8, 13 – 16 and 18 - 20 under 35 U.S.C. §103. Applicant instead addressed the statutory rejection of claim 7, 9 - 12 and 17, however, such dependent claims inherit the statutory rejection of their base independent claims which applicant has not provided any cogent arguments to counter their thorough examination. In view of applicant’s omission, the aforementioned dependent claims still inherit the rejected base claims. Claim Rejections – 35 U.S.C. §103 5. 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. 6. The factual inquiries set forth in Graham v John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: a. Determining the scope and contents of the prior art b. Ascertaining the differences between the prior art and the claims at issue c. Resolving the level of ordinary skill in the pertinent art d. Considering objective evidence present in the application indicating obviousness or nonobviousness Claim 1 – 6, 8, 13 – 16 and 18 - 20 are rejected under 35 U.S.C. 103 as being unpatentable over Guthals et al. (United States Patent Publication Number 2024/0126751 ), hereinafter Guthals, in view of Bijon et al., (United States Patent Publication Number 20240303373) hereinafter Bijon-2 Regarding claim 1 Guthals teaches a computer system (Fig. 1, multi-tenant data management system [0025]) comprising: at least one hardware processor; (processor [0079]) and one or more computer storage media (storage media [0079]) containing instructions that, (set of instructions [0107]) when executed by (executed by [0093]) the at least one hardware processor, (processor [0079])cause the computer system (Fig. 1, multi-tenant data management system [0025]) to perform operations (perform any one or more of the methodologies [0107]) such as “operations” comprising: receiving a first query (Fig. 2A, (202A) obtaining a first query [0080]) directed towards a shared dataset (Fig. 1, (152) shared data space [0048], [0061] – [0063], [0073] and [0074]) in a data clean room, (data cleanroom [0061]) the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) comprising one or more functions; (query function [0049]) assessing (based on [0068]) such as “assessing” the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) to identify (to identify [0033]) that the one or more functions (query function [0049]) comprises at least a join function, the join function being a join function; (based on the query ( e.g., query function generated by the query generator 126), the data management system 160 correlates the data corpora 122 using a identifier, such as a common value, or common join key, hashed email (HEM) address, user ID, or any other common key or join that can be matched, or a non-personally identifying identifier [0068]) determining that (determining [0081]) the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) is configured to (configured to [0080]) join a first set of data (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] from the shared dataset (Fig. 1, (152) shared data space [0048], [0061] – [0063], [0073] and [0074]) with a second set of data (Fig. 1, (122B) data corpus 2 [0036]) using the join function; ( e.g., query function generated by the query generator 126), the data management system 160 correlates the data corpora 122 using a identifier, such as a common value, or common join key, hashed email (HEM) address, user ID, or any other common key or join [0068]) determining that (determining [0081]) a join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” is to be enforced (enforce [0074]) in relation to the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) based on (based on [0049]) determining that (determining [0081]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” is attached to (applied to [0073]) such as “attached to” at least a portion (subset of the data corpus 2 122B [0049]) of the first set of data (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] of the shared dataset, (Fig. 1, (152) shared data space [0048], [0061] – [0063], [0073] and [0074]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” restricting use (restricted access [0061]) of data values (personally identifiable information [0061]) stored (stored [0043]) in the portion(subset of the data corpus 2 122B [0049]) of the first set of data; (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] Guthals does not fully disclose inner join function; the join constraint policy restricting the join function from being executed on the portion of the first set of data ; the join constraint policy being enforced at query compilation time of the first query; parsing the first query during query compilation by a query compiler of the computer system to identify constituent parts of the first query; accessing metadata associated with the first set of data to identify whether a join constraint policy is attached to columns of the first set of data, the metadata including a file attached to one or more columns that defines the join constraint policy; determining that the join constraint policy is to be enforced in relation to the first query based on determining that the join constraint policy is attached to at least a portion of the first set of data of the shared dataset, the join constraint policy restricting use of data values stored in the portion of the first set of data, the determining that the join constraint policy is to be enforced comprises at least automatically validating at query compilation time that each column designated as a join key in a join operation complies with column-level restrictions defined by the join constraint policy, the validating comprising: identifying columns designated as join keys in the join function, evaluating whether the identified columns are permitted as join keys based on the column- level restrictions, and determining compliance based on the evaluation; Bijon-2 teaches inner join function; (inner join [0171]) the join constraint policy (an aggregation constraint policy determines it to be a group key, which would permit the query SELECT y, AVG(x) FROM foo GROUP BY 1 if y is a group key. [0165]) restricting the join function (inner join [0171]) from being executed on the portion of the first set of data; ( the aggregation constraint policy restricting output of data values stored in the first table. [0221]) the join constraint policy (an aggregation constraint policy determines it to be a group key, which would permit the query SELECT y, AVG(x) FROM foo GROUP BY 1 if y is a group key. [0165]) restricting the join function (inner join [0171]) being enforced at query compilation time ( The aggregation constraints can be enforced at different times when an aggregation policy function is executed; for example, the aggregation constraint (s) can be enforced at compile time, execution time, or the like. [0187]) of the first query; (first query [0221]) parsing (parses [0064]) the first query (the query [0072]) such as “first query” SEE EXAMPLE Fig. 17, (1702) a query directed toward a shared dataset [0213] during query compilation by a query compiler (the compiler analyzes a query parse tree to ensure that the rules are followed (e.g., the path in the tree from aggregation constrained data access to the root of the tree contains at least one aggregation operation (e.g., GROUP-BY operation).) SEE EXAMPLES of compilers in [0051],[0064], [0065] of the computer system (Fig. 28 computer system [0033], [0300]) to identify constituent parts (The constraint system 240 determines the columns associated with the data accessed by the constraint system 240 in response to a query. This can include columns and/or sub-columns from which the data was accessed. [0072]) of the first query; (the query [0072]) such as “first query” SEE EXAMPLE Fig. 17, (1702) a query directed toward a shared dataset [0213] accessing metadata associated with the first set of data (The configuration and metadata manager 222 uses metadata to determine which data files need to be accessed to retrieve data for processing a particular task or job. [0066], (metadata specifying prohibited rows or cell values [0246]) to identify whether a join constraint policy is attached to columns of the first set of data, (Fig. 17, (1706) determine whether an aggregation constraint is attached to table(s) [0213]) the metadata (metadata [0066], [0246]) including a file attached to one or more columns (the constraint system 240 generates a file that is attached to the identified columns. [0071]) that defines the join constraint policy; (aggregation constraint policy [0221]) such as “join constraint policy” determining that the join constraint policy is to be enforced in relation to the first query (ABS., enforces the aggregation constraint policy on the first query based on a context of the first query) (Fig. 17, (1710) enforce aggregation constraint in relation to query [0213]). based on determining that the join constraint policy is attached to at least a portion of the first set of data (Fig. 17, (1706) determine whether an aggregation constraint is attached to table(s) [0213]) of the shared dataset, (ABS., shared dataset) (Fig. 17, (1702) shared dataset [0213])the join constraint policy restricting use of data values stored in the portion of the first set of data, (the aggregation constraint policy restricting output of data values stored in the first table [0221]) SEE FIG. 12 (1231) NOT ALLOWED query the BP of persons born in 1961 AND diagnosed with Bell’s palsy in 1975 the determining that the join constraint policy is to be enforced(ABS., enforces the aggregation constraint policy on the first query based on a context of the first query) (Fig. 17, (1710) enforce aggregation constraint in relation to query [0213]) comprises at least automatically (trigger [0102], [0104], [0106], [0184]) validating (call and execute the VALIDATE_QUERY procedure [0248] - [0251]) at query compilation time (at compile time [0187]) that each column designated as a join key in a join operation complies with column-level restrictions (force a specific join order, perform uniqueness checks on join keys prior to applying any filters, and/or guide users to ensure that join keys are unique regardless of join order [0173]) defined by the join constraint policy, (aggregation constraint policy [0221]) such as “join constraint policy” the validating (call and execute the VALIDATE_QUERY procedure [0248] - [0251]) comprising: identifying columns designated as join keys in the join function, evaluating whether the identified columns are permitted as join keys based on the column- level restrictions, and determining compliance based on the evaluation; (In additional examples, join-key uniqueness on both sides of every JOIN operation is required ( e.g., column a is unique of foo, column c is unique over bar, column d is unique over bar, etc.) After all operations (e.g., joins/filters) are completed, the system checks whether any rows from a constrained table are still unique. If not, then the system has caught a join operation that amplifies the constrained table and emits a user error instead of output. [0214]) It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Guthals to incorporate the teachings of Bijon-2 whereby parsing the first query during query compilation by a query compiler of the computer system to identify constituent parts of the first query; accessing metadata associated with the first set of data to identify whether a join constraint policy is attached to columns of the first set of data, the metadata including a file attached to one or more columns that defines the join constraint policy; determining that the join constraint policy is to be enforced in relation to the first query based on determining that the join constraint policy is attached to at least a portion of the first set of data of the shared dataset, the join constraint policy restricting use of data values stored in the portion of the first set of data, the determining that the join constraint policy is to be enforced comprises at least automatically validating at query compilation time that each column designated as a join key in a join operation complies with column-level restrictions defined by the join constraint policy, the validating comprising: identifying columns designated as join keys in the join function, evaluating whether the identified columns are permitted as join keys based on the column- level restrictions, and determining compliance based on the evaluation. By doing so aggregation constraints, such as aggregation constraint policies, can comprise ( or refer to) a policy, rule, guideline, or combination thereof or, rule for limiting, for example, the ways that data can be aggregated or restricting to only aggregate data in specific ways according to a data provider's determinations (e.g., policies). Bijon-2 [0039] Claims 18 and 20 correspond to claim 1 and are rejected accordingly Regarding claim 2 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise applying (enforce [0074]) such as “applying” the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” to a table, (Fig. 1, (122A) data corpus 1, (122B) data corpus 2 [0036]) such as “table” the table (Fig. 1, (122A) data corpus 1, (122B) data corpus 2 [0036]) such as “table” comprising the first set of data, (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] wherein applying (enforce [0074]) such as “applying” the join constraint policy(data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” to the table (Fig. 1, (122A) data corpus 1, (122B) data corpus 2 [0036]) such as “table” causes (cause p0112]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” to be enforced (enforce [0074]) in response to any query (list of queries [0044]) that is executed against (executed [0049]) the table, (Fig. 1, (122A) data corpus 1, (122B) data corpus 2 [0036]) such as “table” wherein determining that (determining [0081]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” is to be enforced(enforce [0074]) comprises determining that (determining [0081]) the first query is to be executed on (executed on [0073])the table (first query on data corpus 1 122A [0099]) Claim 19 corresponds to claim 2 and is rejected accordingly Regarding claim 3 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise providing a native application (entity resolution and anonymization service [0061]) such as “native application” to a customer computing device, (computing device [0079]) the native application (entity resolution and anonymization service [0061]) such as “native application” configured to(configured [0061]) create (create [0061]) the data clean room, (“cleanroom” [0061]) and attach (protect personally identifiable information with restricted access [0061]) such as “attach” the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” onto the shared dataset (shared data space 152 [0061]) such that query functions (query function [0049])executed on (executed on [0073]) the shared dataset (shared data space 152 [0061])require the assessment of (determination that [0053]) such as “assessment” the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” to determine whether (determines whether [0044]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” is to be enforced (enforce [0074]) Regarding claim 4 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise receiving (receiving [0115]) allow join keys (common join key, or any other common key [0068]) such as “allow join key” from a customer computing device, (Fig. 4, computing device [0030]) such as a personal computer (PC), a laptop, a server, a mobile phone, a smart phone, a tablet computer, a netbook computer, an e-reader, a personal digital assistant (PDA), or a cellular phone etc [0038] and applying the allow join keys (common join key, or any other common key [0068]) such as “allow join key” to the join constraint policy, (legal restrictions [0034]; regulatory restrictions [0035]) such as “join constraints” the execution of (during the execution thereof by [0111]) the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) comprising checking (verify compliance [0059]) whether the (whether the [0068]) first data set (Fig. 1, (122A) data corpus 1 [0036]) is included (included [0046]) in the allow join keys (common join key, or any other common key [0068]) such as “allow join keys” Regarding claim 5 Guthals in view of Bijon-2 teaches the computer system of claim 4, Guthals as modified further teaches wherein the allow join keys (common join key, or any other common key [0068]) such as “allow join keys” enable the customer computing device (Fig. 4, computing device [0030]) such as a personal computer (PC), a laptop, a server, a mobile phone, a smart phone, a tablet computer, a netbook computer, an e-reader, a personal digital assistant (PDA), or a cellular phone etc [0038] to control (to control [0043]) the execution (execution thereof [0111]) of queries (queries [0058]) on individual columns (user names, user ids, emails, hashed emails, addresses, billing information, user preferences, user settings, user search histories, user viewing histories, user ratings, etc. For example, the data corpus 1 122A may include a listing of each video streamed by each user together with a time when each video was streamed, a location where each video was streamed, a number of times each video was streamed, any ratings submitted by a user associated with any videos streamed by the user, searches performed by the user, internet-based activities made by the user, electronic activities made by the user, purchases made by the user, language settings of the user including subtitles, captions, language tracks, and other data of the user [0040]) such as “individual columns” within the first set of data (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] Regarding claim 6 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise receiving deny join keys (data from a provider that has non-permitted purpose for correlation with another provider’s data [0044]) such as “deny join keys” from a customer computing device, (Fig. 4, computing device [0030]) such as a personal computer (PC), a laptop, a server, a mobile phone, a smart phone, a tablet computer, a netbook computer, an e-reader, a personal digital assistant (PDA), or a cellular phone etc [0038] and applying (enforce [0074]) such as “applying” the deny join keys (data from a provider that has non-permitted purpose for correlation with another provider’s data [0044]) such as “deny join keys” to the join constraint policy, (legal restrictions [0034]; regulatory restrictions [0035]) such as “join constraints” the execution of (execution thereof [0111]) the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) comprising checking whether the (whether the group of data is in [0068]) first data set (Fig. 1, (122A) data corpus 1 [0036]) is not included in the deny join keys (data from a provider that has non-permitted purpose for correlation with another provider’s data [0044]) such as “deny join keys” Regarding claim 8 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the output (search results [0045]) such as “output” to the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) is based on (based on [0049]) an execution of(execution thereof [0111]) the join function ( e.g., query function generated by the query generator 126), the data management system 160 correlates the data corpora 122 using a identifier, such as a common value, or common join key, hashed email (HEM) address, user ID, or any other common key or join [0068]) on data (own data [0081]) in the first set of data (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] that does not have the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” being enforced (in a default setting, the first query ( e.g., query function) generated by the query generator 1 126A has access to own data (the data corpus 1 122A of the data provider 1 120A in this example). Therefore, the query generator 1 126A does not need check with own rules ( data rules 1 124A in this example) when the default setting ( e.g., default rules in the data rules 1 124A) is implemented [0081]) Regarding claim 13 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise receiving (receiving [0061]) a second query (second query [0085]) that comprises another join function (by executing the query ( e.g., query function) on the data corpora 122 ( e.g., some or all of the data corpus 1122A and the data corpus 2 122B) from both of the data providers 120 [0062]) configured to (configured to [0080]) join the output (desire data [0036], [0037], [0055] – [0058], [0062]) of the first query (first query [0079]) with a third set of data; (own data [0034] – [0036], [0046], [0058], [0062], [0073], [0077], [0081] and [0088]) and enforcing (enforce [0074]) a membership constraint policy (minimum bin aggregation rule [0045]) such as “membership constraint policy” on the other join function (by executing the query ( e.g., query function) on the data corpora 122 ( e.g., some or all of the data corpus 1122A and the data corpus 2 122B) from both of the data providers 120 [0062]) based on(based on [0068]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” being included in(enforce [0074]) the output (desire data [0036], [0037], [0055] – [0058], [0062]) of the first query. (first query [0079]) Regarding claim 14 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise adding the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” to the output (desire data [0036], [0037], [0055] – [0058], [0062]) of the first query; (first query [0079]) receiving (receiving [0061]) a second query (second query [0085]) that comprises another join function (by executing the query ( e.g., query function) on the data corpora 122 ( e.g., some or all of the data corpus 1122A and the data corpus 2 122B) from both of the data providers 120 [0062]) configured to (configured to [0080])join the output (desire data [0036], [0037], [0055] – [0058], [0062]) of the first query (first query [0079]) with a third set of data; (own data [0034] – [0036], [0046], [0058], [0062], [0073], [0077], [0081] and [0088]) and enforcing (enforce [0074]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” on the other join function (by executing the query ( e.g., query function) on the data corpora 122 ( e.g., some or all of the data corpus 1122A and the data corpus 2 122B) from both of the data providers 120 [0062]) based on(based on [0068]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” being included in (enforce [0074])the output (desire data [0036], [0037], [0055] – [0058], [0062])of the first query (first query [0079]) Regarding claim 15 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the operations (perform any one or more of the methodologies [0107]) such as “operations” further comprise, prior to (the privacy requirements may include a requirement for a minimum number of user data to be disclosed in response to a search query [0045]) generating (generating [0049]) the output (desire data [0036], [0037], [0055] – [0058], [0062]) to the first query, (first query [0079]) determining whether (determine whether [0084]) another constraint type (privacy requirements [0045]) other than the join constraint policy(data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” is to be enforced (enforce [0074])in relation to the first query, (first query [0079]) and generating(generating [0049]) the output(desire data [0036], [0037], [0055] – [0058], [0062]) based on (based on [0068])the determination of whether (included privacy requirements [0045])the other constraint type ((privacy requirements [0045]) is to be enforced. (enforce [0074]) Regarding claim 16 Guthals in view of Bijon-2 teaches the computer system of claim 15, Guthals as modified further teaches wherein the other constraint type (privacy requirements [0045]) is an aggregation constraint, (minimum bin aggregation rule [0045]) a membership constraint, or a differential private policy constraint Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Guthals et al. (United States Patent Publication Number 2024/0126751 ), hereinafter Guthals, in view of Bijon et al., (United States Patent Publication Number 20240303373) hereinafter Bijon-2 and in further view of Biere et al. (United States Patent Number 8214382 ), hereinafter referred to as Biere. Regarding claim 7 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the output (search results [0045]) such as “output” to the first query(ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) based on (based on [0049]) the join constraint policy (data policy [0063], [0066] comprising data rules 1 and data rules 2 [0044] – [0049], [0051], [0054], [0063], [0065], [0069], [0071], [0081], [0088]) such as “join constraint policy” being enforced on(enforce [0074]) the first set of data (Fig. 1, (122A) data corpus 1 [0036]) such as customer data [0056] Guthals does not fully disclose comprises an indication of an error or failure to execute the query Biere teaches comprises an indication of an error or failure to execute the query (Fig. 4 (412) Reject the query when not in compliance with the constraints applying to data tables included in the query and constraints applying to the classification of the user Col 10 ln 58 – 62) see also Figs. 2 (212), 3 (312) It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Guthals in view of Bijon-2 to incorporate the teachings of Biere whereby an indication of an error or failure to execute the query. By doing so the particular client device 170 or user may be prohibited due to constraints on the client device 170 from executing the query as constructed and the query will not be executed. Biere Col 10 ln 65 – 67 and Col 11 ln 1 – 3. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Guthals et al. (United States Patent Publication Number 2024/0126751 ), hereinafter Guthals, in view of Bijon et al., (United States Patent Publication Number 20240303373) hereinafter Bijon-2 and in further view of Agee et al., (United States Patent Number 11947905) hereinafter Agee Regarding claim 9 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein receiving the first query(Fig. 2A, (202A) obtaining a first query [0080]) Guthals does not fully disclose comprises receiving a query template with editable fields filled by a customer computing device, the operations further comprising converting the query template into query syntax, assessing the first query comprising assessing the query syntax. Agee teaches comprises receiving a query template (script templates Col 2 ln 20 – 22) with editable fields (In operation 508, template builder 300 receives, through interface 200, a selection of data object 401 (a first test data object) from among objects 113 in metadata repository 110. In operation 510, template builder 300 receives, through interface 200, a selection of template component 411 (a first selected template component) from among the template components in template component library 106. Multiple template components may be selected. Template components simplify the insertion of text into candidate script template 420 for user 102,Col 6 ln 57 - 67) filled by a customer computing device, (User 102 uses interface 200 to perform a list of tasks 310, which include: (1 ) Select data object; (2) Enter template text; (3) Drag/drop template components; Col 5 ln 59 - 61) the operations (exemplary operations Col 6 ln 34) further comprising converting the query template into query syntax, (Each of these testing scenarios requires a specific template to be created with special syntax for the specific environment in which it is executed Col 3 ln 1 - 3) assessing the first query (the executable program comprises an SQL query Col 7 ln 62) comprising assessing the query syntax (special syntax for the specific environment in which it is executed Col 3 ln 1 - 3) It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Guthals in view of Bijon-2 to incorporate the teachings of Agee wherein receiving the first query comprises receiving a query template with editable fields filled by a customer computing device, the operations further comprising converting the query template into query syntax, assessing the first query comprising assessing the query syntax. By doing so this approach permits for example, a set of thousands of processing tasks to be changed with a few selections of metadata values by a template execution tool. This requires mere seconds, rather than hours or days for a user to test or otherwise process voluminous data sets. Agee Col 3 ln 50 - 55. Claims 10 – 12 are rejected under 35 U.S.C. 103 as being unpatentable over Guthals et al. (United States Patent Publication Number 2024/0126751 ), hereinafter Guthals, in view of Bijon et al., (United States Patent Publication Number 20240303373) hereinafter Bijon-2 and in further view of Cheng et al. (United States Patent Publication Number 20180232418) hereinafter Cheng Regarding claim 10 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals as modified further teaches wherein the first query(Fig. 2A, (202A) a first query [0080]) Guthals does not fully disclose comprises a request for a particular view, the view requiring the execution of the join function to generate a dataset for the particular view, the assessing of the first query comprising identifying that the first query comprises the request for the particular view, further assessing the request for the particular view to determine that the particular view requires the execution of the join function. Cheng teaches comprises a request for a particular view, (generate a temporary table [0040]) the view (Fig. 2 the temporary table [0040]) SEE EXAMPLE Fig. 3 requiring the execution of the join function (Fig. 2, (210) grouping of at least two tables [0040]) see “inner join” [0041] – [0042] to generate a dataset (Fig. 2, (240) data set [0042]) SEE EXAMPLE Fig. 3 for the particular view, (Fig. 2 the temporary table [0040]) the assessing (processing [0077]) such as “assessing” of the first query (select function [0042]) such as “first query” comprising identifying that the first query (select function [0042]) such as “first query comprises the request for(executes a select function [0042]) the particular view, (Fig. 2 the temporary table [0040]) SEE EXAMPLE Fig. 3 further assessing (processing [0077]) such as “assessing” the request for (executes a select function [0042]) the particular view (Fig. 2 the temporary table [0040]) SEE EXAMPLE Fig. 3 to determine that the particular view(Fig. 2 the temporary table [0040]) SEE EXAMPLE Fig. 3 requires the execution of (execution of [0046]) the join function (Fig. 2, (210) grouping of at least two tables [0040]) see “inner join”[0041] – [0042] It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Guthals in view of Bijon-2 to incorporate the teachings of Cheng wherein comprises a request for a particular view, the view requiring the execution of the join function to generate a dataset for the particular view, the assessing of the first query comprising identifying that the first query comprises the request for the particular view, further assessing the request for the particular view to determine that the particular view requires the execution of the join function. By doing so there is the gained efficiency of utilizing aspects of embodiments of the present invention to pull a result set equivalent to that pulled in a left out join, in a relational database. Cheng [0043] Regarding claim 11 Guthals in view of Bijon-2 and Cheng teaches the computer system of claim 10, Guthals as modified further teaches wherein the assessing (determining [0081]) such as “assessing” of the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) and the generating (generating [0030]) of the output (search results [0045]) such as “output” to the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) is performed on (performed by [0079]) a computing device (computing device [0030], [0079]) that generated (that generate [0039]0 the first query (ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) Regarding claim 12 Guthals in view of Bijon-2 and Cheng teaches the computer system of claim 10, Guthals as modified further teaches wherein the assessing (determining [0081]) such as “assessing” of the first query (determining [0081]) such as “assessing” and the generating(determining [0081]) such as “assessing” of the output (search results [0045]) such as “output” to the first query(ABS., first query) (first query [0026], [0028], [0079] - [0085], [0093] – [0100], [0102] and [0106]) is performed on (performed by [0079]) a computing device (computing device [0030], [0079]) that shares (desired to share their respective data corpora 122 [0061]) the shared dataset (shared data space 152 [0073]) into the data clean room (data cleanroom [0061]) Claim 17 is rejected under 35 U.S.C. 103 as being unpatentable over Guthals et al. (United States Patent Publication Number 2024/0126751 ), hereinafter Guthals, in view of Bijon et al., (United States Patent Publication Number 20240303373) hereinafter Bijon-2 and in further view of Cho et al. (United States Patent Number 12,210,526) hereinafter Cho Regarding claim 17 Guthals in view of Bijon-2 teaches the computer system of claim 1, Guthals does not fully disclose wherein the first query is a mix of a plurality of different types of joins, the operations further comprise determining whether the join constraint policy applies to each join operation of the plurality of different types of joins. Cho teaches wherein the first query (request for database operations Col 6 ln 21) such as “first query” is a mix of a plurality of different types of joins, (diverse join operations Col 3 ln 1) (certain types of join operations, such as an inner join Col 10 ln 45 – 55; UNION ALL Col 11 ln 10; anti-join Col 11 ln 17; left join Col 11 ln 19 – 24; full join (or full outer join) Col 11 ln 26 ) the operations (operations Col 3 ln 1) further comprise determining whether (determining whether Col 4 ln 2) the join constraint policy (constraints on a join Col 4 ln 59) such as “join constraint policy” SEE application of a “hyperedge” Col 14 ln 23 – 27 applies to each join operation (A hyper-edge places a constraint on a join, where the hyper-edge is represented by a set of values that includes a set of one or more constraints and an edge (as described above, a summary of a particular join operation).Col 14 ln 22 - 28) of the plurality of different types of joins. (diverse join operations Col 3 ln 1) (certain types of join operations, such as an inner join Col 10 ln 45 – 55; UNION ALL Col 11 ln 10; anti-join Col 11 ln 17; left join Col 11 ln 19 – 24; full join (or full outer join) Col 11 ln 26 ) It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Guthals in view of Bijon-2 to incorporate the teachings of Cho wherein the first query is a mix of a plurality of different types of joins, the operations further comprise determining whether the join constraint policy applies to each join operation of the plurality of different types of joins. By doing so the ability to define constraints also can save resources during query optimization, as well as potentially improving the quality of identified plans, since query optimizer resources can be concentrated on a more limited search space. Cho Col 5 ln 29 – 33 Conclusion 7. 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 date of this final action. 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. 8. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kweku Halm whose telephone number is (469)295- 9144. The examiner can normally be reached on 9:00AM - 5:30PM Mon - Thur. If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, Sanjiv Shah can be reached on (571) 272 - 4098. The fax phone number for the organization where this application or proceeding is assigned is 571-273- 8300. 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 http://pair-direct.uspto.gov. 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. /KWEKU WILLIAM HALM/Examiner, Art Unit 2166 /SANJIV SHAH/Supervisory Patent Examiner, Art Unit 2166
Read full office action

Prosecution Timeline

Show 1 earlier event
Jun 20, 2025
Non-Final Rejection mailed — §103
Sep 02, 2025
Response Filed
Oct 01, 2025
Final Rejection mailed — §103
Dec 22, 2025
Request for Continued Examination
Jan 10, 2026
Response after Non-Final Action
Mar 23, 2026
Non-Final Rejection mailed — §103
Jun 22, 2026
Response Filed
Sep 10, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12762099
DATA STORAGE SYSTEM WITH AUTOMATED CORRECTION OF REFERENCE COUNTS IN ADDRESSING STRUCTURE TO AVOID CAPACITY LEAKAGE
2y 9m to grant Granted Oct 13, 2026
Patent 12743455
SYSTEM AND METHOD FOR INFORMATION RECOMMENDATION
2y 4m to grant Granted Sep 22, 2026
Patent 12743408
DEVICE ORDER DATA STORAGE METHOD AND APPARATUS, AND DEVICE ORDER DATA QUERY METHOD AND APPARATUS
1y 7m to grant Granted Sep 22, 2026
Patent 12681645
USING ARTIFICIAL INTELLIGENCE (AI) FOR RECONCILIATION OF MIGRATED INFORMATION
2y 11m to grant Granted Jul 14, 2026
Patent 12681935
METHOD FOR LARGE-SCALE SET SIMILARITY JOINS
1y 11m to grant Granted Jul 14, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

5-6
Expected OA Rounds
79%
Grant Probability
92%
With Interview (+12.4%)
2y 6m (~3m remaining)
Median Time to Grant
High
PTA Risk
Based on 264 resolved cases by this examiner. Grant probability derived from career allowance 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