Prosecution Insights
Last updated: October 23, 2026
Application No. 19/201,416

HYBRID CLUSTERING FOR STREAMING GRAPHS

Final Rejection §103
Filed
May 07, 2025
Examiner
ELLIS, MATTHEW J
Art Unit
2152
Tech Center
2100 — Computer Architecture & Software
Assignee
Beijing Zitiao Network Technology Co., Ltd.
OA Round
2 (Final)
70%
Grant Probability
Favorable
3-4
OA Rounds
1y 11m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 70% — above average
70%
Career Allowance Rate
230 granted / 331 resolved
+14.5% vs TC avg
Strong +30% interview lift
Without
With
+30.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
12 currently pending
Career history
354
Total Applications
across all art units

Statute-Specific Performance

§101
12.7%
-27.3% vs TC avg
§103
59.2%
+19.2% vs TC avg
§102
14.0%
-26.0% vs TC avg
§112
6.0%
-34.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 331 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA and is in response to communications filed on 7/30/2026 in which claims 1-20 are presented for examination. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, 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-2, 5, 7-10, 12-13, 16, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chishti et al. US 20200226124 A1 (hereinafter referred to as “Chishti”) in view of Kafai et al. US 20170316081 A1 (hereinafter referred to as “Kafai”) and further in view of Sen et al. US 20220414156 A1 (hereinafter referred to as “Sen”). As per claim 1, Chishti teaches: A computing system, comprising: processing circuitry and memory storing instructions that, when executed, cause the processing circuitry to implement a hybrid graph clustering service configured to: receive transaction updates from a graph update client, each transaction update indicating a change in state of a subgraph of a graph (Chishti, [00202] – As yet another example, if the vertices of the streaming graph represent merchants and consumers partaking in credit card transactions, the edge source(s) 220 can correspond to one or more credit reporting agency servers that track the credit card transactions between the merchants and consumers), wherein the graph is a streaming graph that includes a plurality of nodes and a plurality of edges, each of the plurality of nodes representing an entity in a network (Chishti, [0022] – A fraud detection engine and the vertices of the streaming graph correspond to consumers and merchants, the updated vertex values 125 can be a fraudulent transaction probability, a malicious entity probability, etc. [0027] – The terms vertex and node are equivalent and can be used interchangeably); for each of the transaction updates: send the transaction update to a full clustering queue (Chishti, Fig. 1 item 130 shows a full clustering queue with update batches 110 and compute functions 115 in between. [0026] and fig. 4 also explicitly mentions a “Global Queue”); perform subgraph clustering on the subgraph of the graph based on the transaction update, to thereby assign partial-clustering-updated community IDs to each node in the subgraph (Chishti, [0022] – The graph updater 215 can be structured to compute (e.g., with the compute operation 110) any number(s) and/or types of vertex values 125 for each vertex (or some subset of one or more vertices) of the streaming graph, wherein a subset of vertices is interpreted as a subgraph. [0025] – The thread scheduler 310 of the illustrated example assigns (or, in other words, schedules) one or more execution threads to implement the processing of the graph updater 215 (e.g., to implement the update operation 110 and the compute operation 115) on corresponding groups of one or more edges in the output batch of edges 325 (which may be reordered or not based on one or more criteria, as described in further detail below). For example, the thread scheduler 310 may assign edges of the batch of edges 315 successively to respective edge groups each containing up to a threshold number of edges (e.g., 4 edges, 400, edges, 4000 edges, etc.), and further assign the respective edge groups to corresponding execution threads, wherein edge groups are interpreted as community IDs); Chishti doesn’t explicitly teach generating a list of community IDs, however, Kafai teaches: update a community list with the partial-clustering-updated community IDs for each node in the subgraph, wherein the community list includes each respective node and an associated community ID of a community to which the respective node was assigned by a clustering operation (Kafai, [0026] – Based on feedback from the stream analyzer 320, the data structure updater 310 may add a new node and corresponding edges to a nearest neighbor graph, add new members to a cluster list, include the classification results in the classification data structure, etc., wherein the cluster list is interpreted as a list of community IDs); and output the updated community list including the partial-clustering-updated community IDs (Kafai, fig. 4 – Classification data structure 406. [0018] – The user interface 140 may include a graphical user interface (GUI) to provide a visual presentation of a data structures representative of the stream analytics herein [0026] – Stream analyzer 320 may analyze corresponding data structure to output results (e.g., to the user interface 140). For example, using the video stream example, the stream analyzer 320 may identify each and every individual in view of a camera at a given moment, classify individuals into a subclass (e.g., male or female), identify a number of unique individuals (e.g., clustering or person count), reidentification by matching individuals recognized from different cameras and/or at different times/locations, and hubness analysis to identify hub data objects and perform hubness reduction for the video stream); update the community list with the full-clustering-updated community IDs for each node in the graph (Kafai, [0026] – Based on feedback from the stream analyzer 320, the data structure updater 310 may add a new node and corresponding edges to a nearest neighbor graph, add new members to a cluster list, include the classification results in the classification data structure, etc.). It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Chishti’s invention in view of Kafai in order to include a classification of the new data into a particular class; this is advantageous because clustering of data is advantageous for grouping similar items for data collection and management (Kafai, column 29, lines 44-49). Chishti as modified with Kafai doesn’t explicitly teach a copy of the graph, however, Sen teaches: perform full-graph clustering on all nodes of a graph copy based on the transaction updates in the full clustering queue, to thereby generate full-clustering-updated community IDs for each node in the graph and wherein the graph copy is a copy of the graph (Sen, [0045] – A data service D.sub.n 142 may be a data center, a cluster, a group of clusters, or a machine. A data service D.sub.n 142 may store a complete copy of graph database 130 or only one or more portions of graph database); and It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Chishti’s invention as modified in view of Shrivastava in order to include graph copies; this is advantageous because it allows another version of the graph to be modified freely without losing the source, and this is a common practice in versioning (Sen, paragraph [0046]). As per claim 2, Chishti as modified teaches: The computing system of claim 1, wherein the processing circuitry is further configured to initialize the hybrid graph clustering service at least in part by: reading the graph from a distributed file system (Sen, [0038] - computing system 100 includes … a distributed data service. [0065] – File management); and performing the clustering operation on the graph to thereby generate the community list (Kafai, [0024] – The stream analytics manager 240 may perform incremental clustering). As per claim 5, Chishti as modified teaches: The computing system of claim 1, wherein the subgraph clustering and the full-graph clustering are performed concurrently (Chishti, [0029] – Due to the random order of edges originating from the same vertex in an update batch, it is possible that when executed in parallel (e.g., such as with OpenMP®), multiple threads are assigned the task of updating the edges for the same vertex). As per claim 7, Chishti as modified teaches: The computing system of claim 1, wherein each node is mapped to a respective memory container and when the transaction update indicates adding new nodes to the graph, the new nodes are mapped to the memory containers whose respective nodes have been deleted (Sen, [0028] – An image may be modified by writing a new graph primitive to the graph database and then rebuilding the image, wherein modification of data in this way is interpreted as mapping memory into a container that previously contained existing data). As per claim 8, Chishti as modified teaches: The computing system of claim 1, wherein the graph and the community list are periodically written to the distributed file system (Chishti, [0038] – The graph update analyzer 315 monitors (e.g., periodically, based on one or more events, etc.) incoming batches of edges and adaptively decides whether to reorder the batches). As per claim 9, Chishti as modified teaches: The computing system of claim 1, wherein the processing circuitry is further configured to transition from a first graph clustering service to a second graph clustering service, at least in part by: initializing the second graph clustering service using graph metadata loaded from a checkpoint file (Sen, [0041] – Data is ingested into graph database 130 and stored in a graph 132. Graph 132 includes a client C.sub.i sub-graph 136 for each client C.sub.i of a number of clients of graph database 130. Client C.sub.i sub-graph 136 contains a client C.sub.i ingestion configuration metadata 134); sending to a queue the transaction updates received from the graph update client during initialization of the second graph clustering service (Sen, [0025] – An ingestion configuration establishes the ingestion pipeline and defines the manner in which the ingestion pipeline is to operate); updating the second graph clustering service with the transaction updates in the queue (Sen, [0025] – A loading or updating of data from one or more source of truth data sources into a portion of a graph database may be referred to as an ingestion. Data can be consumed by or updated in a distributed graph database by establishing an ingestion pipeline between a machine, cluster, or data center on which at least a portion of the graph database resides and the source of truth data sources); and starting the second graph clustering service and turning off the first graph clustering service (Sen, [0023] – Additionally, different clusters or machines may have different deployment schedules, so to avoid errors, propagation of deployment schedule changes requires detailed and complete knowledge of all of the machines or clusters to which the changes apply or do not apply). As per claim 10, Chishti teaches: The computing system of claim 1, wherein the processing circuitry is further configured to perform a runtime graph query on the updated community list to thereby compute a graph query result and output the graph query result (Chishti, [0038] – A runtime approach can be beneficial because, for streaming graphs, it may not be possible to have knowledge of the entire graph in advance). Claims 12-13, 16, and 18-19 are directed to a method performing steps recited in claims 1-2, 5, 7-10 with substantially the same limitations. Therefore, the rejections made to claims 1-2, 5, 7-10 are applied to claims 12-13, 16, and 18-19. Claim 20 is directed to a system performing steps recited in claim 5 with substantially the same limitations. Therefore, the rejection made to claim 5 is applied to claim 20. Claims 3-4, and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Chishti in view of Kafai in view of Sen and further in view of Fedoryszak et al. US 20200250249 A1 (hereinafter referred to as “Fedoryszak”). As per claim 3, Chishti as modified doesn’t teach a Louvain community detection algorithm, however, Fedoryszak teaches: The computing system of claim 1, wherein the subgraph clustering comprises updating the nodes and the edges of the subgraph of the graph based on the transaction update and computing the partial-clustering-updated community IDs based on the subgraph of the graph using a Louvain community detection algorithm (Fedoryszak, [0014] – Where the clustering algorithm includes a Louvain algorithm). It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Chishti’s invention as modified in view of Fedoryszak in order to include graph copies; this is advantageous because it allows the system to compute similarity of entities (Fedoryszak, paragraph [0014]). As per claim 4, Chishti as modified with Fedoryszak teaches: The computing system of claim 1, wherein the full-graph clustering comprises performing a batched update of the nodes and the edges of the graph copy based on the transaction updates of the full clustering queue and computing the full-clustering-updated community IDs based on the graph copy using the Louvain community detection algorithm (Fedoryszak, [0014] – partition the filtered similarity graph according to a clustering algorithm to detect the first cluster group, where the clustering algorithm includes a Louvain algorithm). Claims 14-15 are directed to a method performing steps recited in claims 3-4 with substantially the same limitations. Therefore, the rejections made to claims 3-4 are applied to claims 14-15. Claims 6 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Chishti in view of Kafai in view of Sen and further in view of Mermoud et al. US 20210303598 A1 (hereinafter referred to as “Mermoud”). As per claim 6, Chishti as modified doesn’t go into detail about time or expiration of data, however, Mermoud teaches: The computing system of claim 1, wherein each node has a timer or counter that initializes when the node is updated, and after a preset time or count has elapsed, the node is marked for deletion (Mermoud, [0083] – As certain device attributes disappear from observation, it may also be possible for CLB 602 to prune their corresponding nodes from the concept graph/lattice. In one embodiment this can be achieved by CLB 602 simply tracking the last time a certain value had been recorded or observed, comparing that value to an expiration threshold, and removing the corresponding node(s) from the graph). It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Chishti’s invention as modified in view of Mermoud in order to include an expiration threshold; this is advantageous because it allows the system to clean up old data to maintain relevance (Mermoud, paragraph [0083]). Claim 17 is directed to a method performing steps recited in claim 6 with substantially the same limitations. Therefore, the rejection made to claim 6 is applied to claim 17. Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Chishti in view of Kafai in view of Sen and further in view of Puzic et al. US 20240232394 A1 (hereinafter referred to as “Puzic”). As per claim 11, Chishti as modified doesn’t explicitly teach a risk query, however, Puzic teaches: The computing system of claim 10, wherein the runtime graph query is a risk query (Puzic, [0059] – Temporarily storing the retrieved user information assets associated with the user identification in the miscellaneous database 136 may allow retrieval of such data in view of a subsequent identity risk query), and the processing circuitry is further configured to: block a requested action by a user based on the graph query result for the risk query (Puzic, [0068] – The local server 152 may block access to the user account whenever the user of the user account attempts to access the user account and during the attempt to access the user account or some other security action that would be apparent to one of skill in the art in possession of the present disclosure). It would have been obvious for one of ordinary skill in the art prior to the effective filing date of the claimed invention to modify Chishti’s invention as modified in view of Puzic in order to identify a risk query; this is advantageous because this may result in providing the retrieved user information assets or an identity risk score generated from the retrieved user information assets to a recipient (for example, the local server 152 or any other external computer system) sooner so that the recipient may act on such user information assets in a quicker manner, thereby preventing account takeover sooner than later (Puzic, paragraph [0046]). Response to Arguments Rejection of claims under 112(b) is withdrawn due to Applicant’s amendments made to the claims. Applicant’s other arguments filed 7/30/2026 have been fully considered but they are not persuasive. Applicant’s arguments begin on page 9 of Remarks where there are a total of 1 specific arguments. Each specific argument is addressed below. Argument: Applicant argues in Remarks beginning on page 9 that the prior art of record doesn’t adequately teach partial and full graph operations such as clustering and updating. Specifically, Chisti doesn’t make a distinction between subgraph updates and full-graph update operations. In Response: Further search and consideration of Chisti shows in [0022] – The graph updater 215 can be structured to compute (e.g., with the compute operation 110) any number(s) and/or types of vertex values 125 for each vertex (or some subset of one or more vertices) of the streaming graph. However, even if there wasn’t a clear distinction, if multiple updates can occur in a graph, then a spectrum of updates can occur throughout the graph whether that’s full or partial. In other words, it’s inherent that if multiple items can be updated within a set of items, then all of the items can be updated unless explicitly prevented for some reason. The only other way this could be distinct from a spectrum of updates is the queue limitation for grouping updates. However, Chisti teaches batches of updates as well as a queue in which edges are buffered. Specification [0002], [0011]-[0012] describe these terms where it uses the term “batch” for updating the items in the graph. Therefore, based on a broadest reasonable interpretation in view of the specification, Chisti as modified teaches the limitations of the claims. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Kim et al., “TurboFlux: a Fast Continuous Subgraph Matching System for Streaming Graph Data”, SIGMOD 2018, DOI: https://doi.org/10.1145/3183713.3196917, dated Jun. 2018. Chawla et al. US 20150356626 A1 teaches processing streams of data from a plurality of data sources, and processing the streams of data from the plurality of data sources includes performing data enriching and generating a sub-graph for incorporation into a cognitive graph (Abstract). 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 nonprovisional extension fee (37 CFR 1.17(a)) 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. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to the current examiner working on this case, name: Matthew Ellis, telephone number: (571)270-3443, email: matthew.ellis@uspto.gov, normal business hours Monday-Friday 8AM-5PM EST. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kavita Stanley can be reached on (571) 272-8352. 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. October 6, 2026 /MATTHEW J ELLIS/Primary Examiner, Art Unit 2153
Read full office action

Prosecution Timeline

May 07, 2025
Application Filed
Apr 30, 2026
Non-Final Rejection mailed — §103
Jul 30, 2026
Response Filed
Oct 08, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769781
SYSTEMS AND METHODS FOR MATCHING DATA ENTITIES
2y 1m to grant Granted Oct 20, 2026
Patent 12769732
LLM AGENT THAT GENERATES A STANDARDIZED DATA MODEL FROM NON STANDARDIZED DATA
1y 5m to grant Granted Oct 20, 2026
Patent 12755318
SYSTEMS AND METHODS OF MATCHING CUSTOMIZABLE DATA TRANSACTION REQUESTS
1y 3m to grant Granted Oct 06, 2026
Patent 12737392
Generating Machine Learning Model Prompts for Analyzing Collections of Unstructured Data
1y 3m to grant Granted Sep 15, 2026
Patent 12694070
VERIFICATION METHOD AND SYSTEM IN ARTIFICIAL NEURAL NETWORK ARRAY
3y 7m to grant Granted Jul 28, 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

3-4
Expected OA Rounds
70%
Grant Probability
99%
With Interview (+30.3%)
3y 5m (~1y 11m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 331 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