Prosecution Insights
Last updated: October 27, 2026
Application No. 19/198,994

Systems and Methods for Rendering Large-Scale Data Visualizations

Final Rejection §103
Filed
May 05, 2025
Priority
Jul 26, 2024 — provisional 63/676,240 +2 more
Examiner
SHAH, VAISHALI
Art Unit
2156
Tech Center
2100 — Computer Architecture & Software
Assignee
Salesforce Inc.
OA Round
2 (Final)
57%
Grant Probability
Moderate
3-4
OA Rounds
2y 0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 57% of resolved cases
57%
Career Allowance Rate
136 granted / 237 resolved
+2.4% vs TC avg
Strong +53% interview lift
Without
With
+52.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
21 currently pending
Career history
263
Total Applications
across all art units

Statute-Specific Performance

§101
18.5%
-21.5% vs TC avg
§103
58.5%
+18.5% vs TC avg
§102
2.9%
-37.1% vs TC avg
§112
15.8%
-24.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 237 resolved cases

Office Action

§103
DETAILED ACTION In response to communication filed on 14 August 2026, claims 7-8 and 16-17 are canceled. Claims 21-23 are added. Claims 1, 3, 6, 10-11, 15 and 19-20 are amended. Claims 1-6, 9-15 and 18-23 are pending. 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 Arguments Applicant’s arguments, see “Remarks Concerning Interpretation”, filed on 14 August 2026, have been carefully considered. Based on claim amendments, the claim interpretation section has been updated below for newly added claims. Applicant’s arguments, see “Remarks Concerning Objections”, filed on 14 August 2026, have been carefully considered. Based on claim amendments, the claim objections have been withdrawn. Applicant’s arguments, see “Remarks Concerning Rejections Under 35 U.S.C. § 101”, filed on 14 August 2026, have been carefully considered. Based on claim amendments and persuasive remarks filed, the claim rejections have been withdrawn. Applicant’s arguments, see “Remarks Concerning Rejections Under 35 U.S.C. § 103”, filed on 14 August 2026, have been carefully considered. The arguments are related to newly added claim limitations and are addressed in the rejection below. Claim Interpretation Claims 22 recites “using a machine learning model”. These claim limitations appear to be citing intended use in terms of what the machine learning model is used for. Examiner suggests amending the claim to recite the functionality performed by the claimed method, instead of reciting what the claim elements are used for. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 3, 5, 13, 15 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Jain et al. (US 2023/0267175 A1, hereinafter “Jain”) in view of Blaas (US 2021/0026862 A1, hereinafter “Blaas”) further in view Gavvala et al. (US 2024/0103848 A1, hereinafter “Gavvala”). Regarding claim 1, Jain teaches A method of visualizing large-scale datasets, (see Jain, [0052] “maps labeled training data and unlabeled training data to a reduced-dimension data space that can be used for visualization of the dataset”; [0004] “the large datasets collected”; [0038] “The present disclosure provides systems and methods for”) performed at a computer system that includes a plurality of processors and memory, (see Jain, [0177] “system 1700 includes a computer system 1702 having a computer processor 1710 and associated memory 1714”; [0186] “storing computer instructions executable by one or more processors in a computing environment”) the plurality of processors including a central processing unit (CPU) processor and… (see Jain, [0177] “one or more computer systems with central processing units executing instructions”) having multiple processing cores, (see Jain, [0177] “central processing units executing instructions”) the method comprising: (see Jain, [0038] “The present disclosure provides systems and methods for”). obtaining an initial dataset for rendering a data visualization, the initial dataset including a plurality of data points (see Jain, [0089] “The dataset corresponding to an area of interest selected in the visualization interface 114 is then evaluated by the automated selection model 116 to identify high value data points”; [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”; [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) that is spatially distributed in the data visualization and each data point has a respective spatial location in the data visualization; (see Jain, [0108] “an example of a 2D representation 500 of a dataset is provided. In this embodiment, each labeled example and unlabeled example from an input dataset is represented by a data point in 2D space”). … generating a data structure, including: (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). … subdividing a bounding region of the data visualization… satisfies a set of one or more criteria; and (see Jain, [0108] “Positive examples (examples that are labeled as positive for the category) are represented by dots of one color, negative examples represented by dots of a second color, and unlabeled examples are represented by dots of a third color… area 502 includes mostly positive examples with few unlabeled and negative examples, area 504 includes mostly negative examples with few unlabeled and positive examples, and area 506 includes mostly unlabeled examples”). … a respective initial subset of data points, of the plurality of data points,… (see Jain, [0057] “mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54… to identify data points to label”) a spatial location of a respective data point in the data visualization; (see Jain, [0108] “an example of a 2D representation 500 of a dataset is provided. In this embodiment, each labeled example and unlabeled example from an input dataset is represented by a data point in 2D space”). … to the respective initial subset of data points… (see Jain, [0057] “mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54… to identify data points to label”) to obtain a respective reduced subset of data points, wherein the respective reduced subset of data points has a fewer number of data points than the respective initial subset of data points and… (see Jain, [0057] “can involve multiple iterations of mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54 to a reduced-dimension data space, using the reduced-dimension data space to identify data points to label, labeling the identified data points through manual labeling, automated labeling, or a combination thereof”; [0122] “identifies examples of interest for labeling and verification by using a reduced-dimension space to identify unlabeled data points that are in areas with no, or few, labeled data points”). … the respective initial subset of data points (see Jain, [0057] “mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54… to identify data points to label”). … to obtain the respective reduced subset of data points… (see Jain, [0107] “the reduced-dimension representation of a dataset”) a respective kernel (see Jain, [0187] “The sequence of operations described herein can be interrupted, suspended, or otherwise controlled by another process, such as an operating system, kernel”) for calculating distances for data points… (see Jain, [0124] “the selection model determines the distance 905 from data point 902 to data point 904”) and labeling a respective data point reduced-dimension data space… (see Jain, [0053] “the reduced-dimension data space may be used to select data points for automated labeling, human labeling”). obtaining… a reduced dataset comprising a plurality of reduced subsets of data points… (see Jain, [0057] “can involve multiple iterations of mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54 to a reduced-dimension data space, using the reduced-dimension data space to identify data points to label, labeling the identified data points through manual labeling, automated labeling, or a combination thereof”; [0122] “identifies examples of interest for labeling and verification by using a reduced-dimension space to identify unlabeled data points that are in areas with no, or few, labeled data points”). … the reduced dataset… (see Jain, [0107] “the reduced-dimension representation of a dataset”; [0056] “may perform dimension reduction on a dataset and input the entire reduced-dimension dataset or algorithmically selected portions of the dataset for evaluation by a selection model”) in aggregated form; (see Jain, [0107] “the reduced-dimension representation of a dataset”; [0056] “may perform dimension reduction on a dataset and input the entire reduced-dimension dataset or algorithmically selected portions of the dataset for evaluation by a selection model”). generating, by the CPU processor, the data visualization according to data in the reduced dataset; and (see Jain, [0052] “maps labeled training data and unlabeled training data to a reduced-dimension data space that can be used for visualization of the dataset, such as a 2D or 3D representation of a dataset. ML model training system 50 may include a visualization interface 72 that provides a graphical user interface for viewing the reduced-dimension dataset”; [0177] “one or more computer systems with central processing units executing instructions”). causing display, by the CPU processor, of the data visualization on a graphical user interface (see Jain, [0052] “maps labeled training data and unlabeled training data to a reduced-dimension data space that can be used for visualization of the dataset, such as a 2D or 3D representation of a dataset. ML model training system 50 may include a visualization interface 72 that provides a graphical user interface for viewing the reduced-dimension dataset”). Jain does not explicitly teach a graphics processing unit (GPU) processor; dynamically generating a data structure, recursively subdividing bounding region into a plurality of nodes until each node; allocating a respective initial subset of data points to each node of the plurality of nodes according to a spatial location of a respective data point; for each node of the plurality of nodes, recursively applying a linearization algorithm to the respective initial subset of data points corresponding to the respective node; wherein recursively applying the linearization algorithm includes: transferring the plurality of nodes, including the respective initial subset of data points in each node, from the CPU processor to the GPU processor; parallel processing each node of the plurality of nodes via a respective processing core of the multiple processing cores of the GPU processor to obtain the respective reduced subset of data points for each node, including executing by the respective processing core, of the multiple processing cores, of the GPU processor a respective kernel for calculating distances for the linearization algorithm and labelling a respective data point according to its node; obtaining by the GPU processor; reduced subsets of data points from the plurality of nodes; transferring the reduced dataset from the GPU processor to the CPU processor; browser application. However, Blaas discloses binary tree structure and teaches dynamically updating routines (see Blaas, [0305] “routines to be updated dynamically by other processes”). recursively dividing the space into a plurality of nodes until each node (see Blaas, [0151]-[0152] “the root node can be thought of as representing the entire data space. The individual leaf nodes correspond to the individual co-ordinate points identified by the co-ordinate records. Every branch node (i.e. internal node) can be thought of as representing a splitting plane that divides the space into two-parts, referred to as subspaces. Each branch node therefore has a left and a right sub-tree (that corresponds to a subspace), with points to the left of the splitting plane being located on the left sub-tree of that node and points to the right of the splitting plane being located on the right sub-tree… this tree structure is constructed using a canonical method in which the splitting planes are axis-oriented, with their orientation cycling with each level of recursion”). allocating points in the set to each node of the plurality of nodes according to points within a subspace (see Blaas, [0169] “the root node of the tree corresponds to all of the points in the set, each branch node then corresponds a subset of the points (i.e. the points contained within a subspace defined by one or more splitting planes), and each leaf node contains a single point”). for each node of the plurality of nodes, recursively applying a linearization algorithm to the points within a subspace corresponding to the respective node… (see Blaas, [0172] “A recursive splitting process is then implemented in which the co-ordinate records are recursively sorted into further sub-groups that each correspond to node of the tree (i.e. the points within a subspace that is defined by a split value)”; [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) wherein recursively applying the linearization algorithm includes: (see Blaas, [0172] “A recursive splitting process is then implemented in which the co-ordinate records are recursively sorted into further sub-groups that each correspond to node of the tree (i.e. the points within a subspace that is defined by a split value)”; [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”). … the plurality of nodes, including subsets of points… in each node, (see Blaas, [0169] “the leaf nodes include the co-ordinate data of the points, whilst each branch/internal node defines the splitting axis of the chosen splitting plane and split value/location along that axis. In practice, the root node of the tree corresponds to all of the points in the set, each branch node then corresponds a subset of the points (i.e. the points contained within a subspace defined by one or more splitting planes), and each leaf node contains a single point”). parallel processing each node of the plurality of nodes… (see Blaas, [0224] “processing of each of the nodes associated with the following bounding boxes”; [0280] “Processor 1504 may be implemented using mainframe, distributed processor, multi-core, parallel… architecture”) for each node, (see Blaas, [0224] “processing of each of the nodes associated with the following bounding boxes”) the linearization algorithm… (see Blaas, [0150] “This data represents the co-ordinate records as a linearized binary tree space-partitioning data structure”) according to its node; (see Blaas, [0172] “that each correspond to node of the tree (i.e. the points within a subspace that is defined by a split value)”). data points from the plurality of nodes; (see Blaas, [0169] “the root node of the tree corresponds to all of the points in the set, each branch node then corresponds a subset of the points (i.e. the points contained within a subspace defined by one or more splitting planes), and each leaf node contains a single point”) – there are plurality of nodes). browser application (see Blaas, [0286] “computer system 1502 may implement a web browser 1536”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of dynamic update, recursively dividing into plurality of nodes, allocating data points to each node, linearization algorithm, browser application, balance geometric fidelity, root node, subdivide subset of data points, parallel processing, processing the nodes to determine number of data points, cease to subdivide, storing data points, threshold values, grouping the data points, updating data visualization and binary data structure as being disclosed and taught by Blaas, in the system taught by Jain to yield the predictable results of splitting the data effectively (see Blaas, [0161]-[0162] “the space representation of the eight points/co-ordinate records in which the space has been split into two subspaces… The data within the array is therefore sorted so that the points/co-ordinate records in each section of the array are effectively split again into further sections that correspond to the four subspaces defined by the two split values”). The proposed combination of Jain and Blaas does not explicitly teach a graphics processing unit (GPU) processor; transferring the respective initial subset of data points in each node, from the CPU processor to the GPU processor; via a respective processing core of the multiple processing cores of the GPU processor including executing by the respective processing core, of the multiple processing cores, of the GPU processor obtaining by the GPU processor; transferring the reduced dataset from the GPU processor to the CPU processor. However, Gavvala discloses plurality of processor types and teaches … a graphics processing unit (GPU) processor (see Gavvala, [0050] “may also support… with one or more GPU s (Graphics Processing Units)”). transferring instructions and data from the CPU processor to the GPU processor; (see Gavvala, [0050] “may transfer instructions and data… by the GPUs 260… from CPUs 205”). via a respective processing core of the multiple processing cores of the GPU processor… (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”; [0050] “, GPUs 260 may include one or more hardware-accelerated processing cores”) including executing by the respective processing core, of the multiple processing cores, of the GPU processor (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”; [0050] “, GPUs 260 may include one or more hardware-accelerated processing cores”). supported by the GPU processor (see Gavvala, [0050] “may also support… with one or more GPU s (Graphics Processing Units)”). transferring instructions and data from the GPU processor to the CPU processor (see Gavvala, [0050] “may transfer instructions and data… by the GPUs 260 to… CPUs 205”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of plurality of processor types, streams, threshold number, CPU, GPU, transfers between CPU and GPU and processing core as being disclosed and taught by Gavvala, in the system taught by the proposed combination of Jain and Blaas to yield the predictable results of effectively delegating computational tasks (see Gavvala, [0021] “Implementing computing systems that span multiple processing components… computational tasks may be delegated to a specific processing component of an IHS, such as to a hardware accelerator l8Sa-n that may include one or more programmable processors that operate separate from the main CPUs”). Claims 15 and 20 incorporate substantively all the limitations of claim 1 in a system (see Jain, [0177] “system 1700 includes a computer system 1702 having a computer processor 1710 and associated memory 1714. Computer processor 1710 may be an integrated circuit for processing instructions”) and computer-readable medium form (see Jain, [0177] “a computer-readable medium (e.g., one or more computer systems with central processing units executing instructions embodied on one or more computer-readable media) where the instructions are configured to perform at least some of the functionality associated with embodiments of the present invention… system 1700 includes a computer system 1702 having a computer processor 1710 and associated memory 1714. Computer processor 1710 may be an integrated circuit for processing instructions”) and are rejected under the same rationale. Regarding claim 3, the proposed combination of Jain, Blaas and Gavvala teaches wherein: the plurality of processors including a first processor (see Jain, [0186]-[0187] “may comprise a non-transitory computer readable medium storing computer instructions executable by one or more processors in a computing environment… can execute on a single processor or multiple processor” – there are plurality of processors) having a first processor type (see Gavvala, [0037] “one or more processing resources such as a Central Processing Unit (CPU)”) and a second processor (see Jain, [0186]-[0187] “may comprise a non-transitory computer readable medium storing computer instructions executable by one or more processors in a computing environment… can execute on a single processor or multiple processor” – there are plurality of processors) having a second processor type; and (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”). dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure includes: (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”) using the first processor (see Jain, [0186]-[0187] “may comprise a non-transitory computer readable medium storing computer instructions executable by one or more processors in a computing environment… can execute on a single processor or multiple processor” – there are plurality of processors) with the first processor type (see Gavvala, [0037] “one or more processing resources such as a Central Processing Unit (CPU)”) when the initial dataset comprises data (see Jain, [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) that arrives in streams or partial batches; and (see Gavvala, [0050] “for performing streaming”). dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”) using both the first processor (see Jain, [0186]-[0187] “may comprise a non-transitory computer readable medium storing computer instructions executable by one or more processors in a computing environment… can execute on a single processor or multiple processor” – there are plurality of processors) with the first processor type (see Gavvala, [0037] “one or more processing resources such as a Central Processing Unit (CPU)”) and the second processor (see Jain, [0186]-[0187] “may comprise a non-transitory computer readable medium storing computer instructions executable by one or more processors in a computing environment… can execute on a single processor or multiple processor” – there are plurality of processors) with the second processor type (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”) when the initial dataset (see Jain, [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) exceeds a threshold number (see Gavvala, [0068] “exceeds a specified threshold”) of data points (see Jain, [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”). The motivation for the proposed combination is maintained. Regarding claim 5, the proposed combination of Jain, Blaas and Gavvala teaches wherein dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure includes: (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). assigning the bounding region of (see Blaas, [0182] “The bounding box associated with the root node is defined as being a bounding box which encompasses all of the items of co-ordinate data”) the data visualization (see Jain, [0086] “that can be used for visualization of the dataset”) to a root node of the data structure; (see Blaas, [0182] “The bounding box associated with the root node is defined as being a bounding box which encompasses all of the items of co-ordinate data”). subdividing (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”) the initial dataset (see Jain, [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) into a predefined number of initial nodes according to boundaries of the bounding region, wherein each initial node comprises a respective subset of data points and the predefined number is greater than one; (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”). processing the initial nodes in parallel, including determining a respective number of data points for a respective initial node: (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”; [0169] “the root node of the tree corresponds to all of the points in the set, each branch node then corresponds a subset of the points (i.e. the points contained within a subspace defined by one or more splitting planes), and each leaf node contains a single point”; [0280] “Processor 1504 may be implemented using mainframe, distributed processor, multi-core, parallel… architecture”). in accordance with a determination that (a) the respective number of data points for the respective initial node (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”) does not exceed a first threshold number: (see Jain, [0154] “below a threshold level”) ceasing to subdivide the respective subset of data points for the respective initial node; and (see Blaas, [0154] “Each subdivision therefore splits the space into two sub-spaces which contain approximately an equal number of points (i.e. with approximately half the points in one sub space and approximately half in the other), and the recursive splitting of the space stops when the number of points in each sub-space is equal to one”). storing the respective subset of data points on the computer system; and (see Blaas, [0197] “Where a tree structure is stored as in an array as a linearized tree, this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”). in accordance with a determination that (c) the respective number of data points for the respective initial node (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”) exceeds a first threshold value: (see Jain, [0077] “is above a threshold or another criterion”). subdividing the respective number of data points into the predefined number of child nodes according to respective boundaries of the respective initial node; and (see Blaas, [0194] “the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)… bounding boxes associated with the child nodes for which the root node is a parent. That is to say the original bounding box associated with the parent node is divided into two halves based on the split value which in this case is the line at x=4.5. Hence for one of the child node the bounding box will be the box between the points: (0,0), (4.5,0), (4.5, 9) and (0,9) whereas for the other child node the bounding box would be the box between the points (4.5,0), (9,0), (9,9) and (4.5, 9)”). repeating the steps of processing and determining until (see Jain, [0105] “Various steps may be repeated”; [0060] “The iterative process… can continue until a stopping condition is met”) (e) the respective number of data points for a respective child node (see Blaas, [0194] “the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)… bounding boxes associated with the child nodes for which the root node is a parent. That is to say the original bounding box associated with the parent node is divided into two halves based on the split value which in this case is the line at x=4.5. Hence for one of the child node the bounding box will be the box between the points: (0,0), (4.5,0), (4.5, 9) and (0,9) whereas for the other child node the bounding box would be the box between the points (4.5,0), (9,0), (9,9) and (4.5, 9)”) does not exceed the first threshold number (see Jain, [0154] “below a threshold level”). The motivation for the proposed combination is maintained. Regarding claim 13, the proposed combination of Jain, Blaas and Gavvala teaches further comprising storing each data point (see Blaas, [0157] “generating a tree for an exemplary set of points”) of the initial dataset (see Jain, [0089] “The dataset corresponding to an area of interest selected in the visualization interface 114 is then evaluated by the automated selection model 116 to identify high value data points”; [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”; [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) in a binary data format in the data structure (see Blaas, [0150] “This data represents the co-ordinate records as a linearized binary tree space-partitioning data structure”). The motivation for the proposed combination is maintained. Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Jain, Blaas and Gavvala in view of Myers et al. (US 2003/0079005 A1, hereinafter “Myers”). Regarding claim 2, the proposed combination of Jain, Blaas and Gavvala teaches wherein dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure includes: (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). determining a plurality of data segments for the initial dataset (see Jain, [0070] “implements an iterative process that uses labeled training data 122 to identify potentially high-value unlabeled text segments to label and, in some cases, to identify potentially mislabeled data items for correction”; [0084] “the labeled training data 122 is used to identify potentially high-value unlabeled text segments to label and, in some cases, to identify potentially mislabeled text segments”) according to a plurality of spatial regions of the data visualization such that each data segment corresponds to a respective spatial region; and for each data segment: (see Jain, [0152] “Turning briefly to FIG. 13A, this figure depicts a portion of a reduced-dimension data space 1300 that includes a set of data points, each data point representing a labeled example (e.g., a labeled text segment) or an unlabeled example (e.g., an unlabeled text segment)”). applying a machine learning model… (see Jain, [0063] “a machine learning (ML) model training system 102 for training ML models”) for the respective data segment (see Jain, [0152] “Turning briefly to FIG. 13A, this figure depicts a portion of a reduced-dimension data space 1300 that includes a set of data points, each data point representing a labeled example (e.g., a labeled text segment) or an unlabeled example (e.g., an unlabeled text segment)”) so as to balance geometric fidelity (see Blaas, [0153] “in order to produce a generally balanced tree structure, in which each subspace contains approximately the same number of points”) of the respective spatial region of the data visualization… (see Jain, [0152] “Turning briefly to FIG. 13A, this figure depicts a portion of a reduced-dimension data space 1300 that includes a set of data points, each data point representing a labeled example (e.g., a labeled text segment) or an unlabeled example (e.g., an unlabeled text segment)”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach to determine an optimum number of nodes with real-time performance. However, Myers discloses optimize real time performance and teaches to determine an optimum number of nodes (see Myers, [0090] “on optimizing the number of nodes”) with real-time performance (see Myers, [0016] “to optimize real time performance”; [claim 1] “to optimize real time performance”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of optimum number of nodes and real-time performance as being disclosed and taught by Myers, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of optimizing performance (see Myers, [0040] “the improved network of the present invention may take into account the characteristics of the application from which the data originates to improve effectiveness in improving performance. It should also be noted that, while the embodiments discussed herein optimize network routing performance metrics including latency and throughput, other routing metrics may also be optimized using the present invention”). Claims 4, 12 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Jain, Blaas and Gavvala in view of Yahyavi Firouz Abadi et al. (US 2020/0104324 A1, hereinafter “Yahyavi”). Regarding claim 4, the proposed combination of Jain, Blaas and Gavvala of data points (see Jain, [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach wherein the threshold number of data points is one million data points. However, Yahyavi discloses a tree corresponding to the dataset and teaches wherein the threshold number of data points is one million data points (see Yahyavi, [0013] “Each level includes a portion of the number of data points organized into at least one tile, or node”; [0040] “the total number of points loaded in all those tiles remains below the 1 million data point threshold”; [0035] “the maximum number of data points is one million data points”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of threshold of one million data points, minimum data points and maximum data points as being disclosed and taught by Yahyavi, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of effectively processing large datasets (see Yahyavi, [0013] “A method and system for processing large datasets having large numbers of rows of data (also referred to as data points) are described. A tree corresponding to the dataset is generated. The tree has a plurality of levels. Each level includes a portion of the number of data points organized into at least one tile, or node”). Regarding claim 12, the proposed combination of Jain, Blaas and Gavvala teaches wherein the set of one or more criteria includes at least two of: (see Jain, [0108] “Positive examples (examples that are labeled as positive for the category) are represented by dots of one color, negative examples represented by dots of a second color, and unlabeled examples are represented by dots of a third color… area 502 includes mostly positive examples with few unlabeled and negative examples, area 504 includes mostly negative examples with few unlabeled and positive examples, and area 506 includes mostly unlabeled examples”). a first criterion that specifies… (see Jain, [0108] “Positive examples (examples that are labeled as positive for the category) are represented by dots of one color, negative examples represented by dots of a second color, and unlabeled examples are represented by dots of a third color… area 502 includes mostly positive examples with few unlabeled and negative examples, area 504 includes mostly negative examples with few unlabeled and positive examples, and area 506 includes mostly unlabeled examples” – there are plurality of criteria). a second criterion that specifies… (see Jain, [0108] “Positive examples (examples that are labeled as positive for the category) are represented by dots of one color, negative examples represented by dots of a second color, and unlabeled examples are represented by dots of a third color… area 502 includes mostly positive examples with few unlabeled and negative examples, area 504 includes mostly negative examples with few unlabeled and positive examples, and area 506 includes mostly unlabeled examples” – there are plurality of criteria). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach a minimum number of data points in a node (Min Nodes); a maximum number of data points in a node (Max Nodes). However, Yahyavi discloses a tree corresponding to the dataset and teaches a minimum number of data points in a node (Min Nodes); (see Yahyavi, [0034] “has a single tile and may hold the fewest number of data points”). a maximum number of data points in a node (Max Nodes); (see Yahyavi, [0013] “Each level includes a portion of the number of data points organized into at least one tile, or node… The portion of the tile(s) requested includes not more than the maximum number of data points determined”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of threshold of one million data points, minimum data points and maximum data points as being disclosed and taught by Yahyavi, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of effectively processing large datasets (see Yahyavi, [0013] “A method and system for processing large datasets having large numbers of rows of data (also referred to as data points) are described. A tree corresponding to the dataset is generated. The tree has a plurality of levels. Each level includes a portion of the number of data points organized into at least one tile, or node”). Regarding claim 21, the proposed combination of Jain, Blaas and Gavvala wherein the plurality of data points comprises (see Jain, [0089] “The dataset corresponding to an area of interest selected in the visualization interface 114 is then evaluated by the automated selection model 116 to identify high value data points”; [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”; [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach data points comprises at least one million data points. However, Yahyavi discloses a tree corresponding to the dataset and teaches at least one million data points (see Yahyavi, [0039] “the maximum number of data points may be one million, two million, or three million data points up to tens of millions of data points or more”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of threshold of one million data points, minimum data points and maximum data points as being disclosed and taught by Yahyavi, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of effectively processing large datasets (see Yahyavi, [0013] “A method and system for processing large datasets having large numbers of rows of data (also referred to as data points) are described. A tree corresponding to the dataset is generated. The tree has a plurality of levels. Each level includes a portion of the number of data points organized into at least one tile, or node”). Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Jain, Blaas and Gavvala further in view of Xing et al. (US 2014/0282562 A1, hereinafter “Xing”). Regarding claim 6, the proposed combination of Jain, Blaas and Gavvala teaches wherein dynamically (see Blaas, [0305] “routines to be updated dynamically by other processes”) generating the data structure includes: (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). assigning the bounding region to a root node of the data structure; (see Blaas, [0182] “The bounding box associated with the root node is defined as being a bounding box which encompasses all of the items of co-ordinate data”). subdividing (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”) the initial dataset (see Jain, [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) into a predefined number of initial nodes according to boundaries of the bounding region, wherein each initial node corresponds to a respective subset of data points and the predefined number is greater than one; (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”). … the initial nodes… (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”) the initial nodes (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”). for a respective initial node: determining a respective number of data points for the respective initial node; (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”; [0169] “the root node of the tree corresponds to all of the points in the set, each branch node then corresponds a subset of the points (i.e. the points contained within a subspace defined by one or more splitting planes), and each leaf node contains a single point”). in accordance with a determination that the respective number of data points in the respective initial node (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”) does not exceed a first threshold number: (see Jain, [0154] “below a threshold level”). labeling respective data points (see Jain, [0053] “the reduced-dimension data space may be used to select data points for automated labeling, human labeling”) of the respective initial node; and (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”). storing data corresponding to the respective subset of data points on the computer system; and (see Blaas, [0197] “Where a tree structure is stored as in an array as a linearized tree, this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”). in accordance with a determination that the respective number of data points in the respective initial node (see Blaas, [0197] “this provides a straightforward means for determining the exact number of points that are contained within a bounding box associated with any node in the tree”) exceeds a first threshold number: (see Jain, [0077] “is above a threshold or another criterion”). subdividing the respective initial node into child nodes; determining a respective number of data points for a respective child node; and (see Blaas, [0194] “the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)… bounding boxes associated with the child nodes for which the root node is a parent. That is to say the original bounding box associated with the parent node is divided into two halves based on the split value which in this case is the line at x=4.5. Hence for one of the child node the bounding box will be the box between the points: (0,0), (4.5,0), (4.5, 9) and (0,9) whereas for the other child node the bounding box would be the box between the points (4.5,0), (9,0), (9,9) and (4.5, 9)”). … the respective child node in accordance with a determination that the respective number of data points in the respective child node (see Blaas, [0194] “the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)… bounding boxes associated with the child nodes for which the root node is a parent. That is to say the original bounding box associated with the parent node is divided into two halves based on the split value which in this case is the line at x=4.5. Hence for one of the child node the bounding box will be the box between the points: (0,0), (4.5,0), (4.5, 9) and (0,9) whereas for the other child node the bounding box would be the box between the points (4.5,0), (9,0), (9,9) and (4.5, 9)”) exceeds the first threshold number (see Jain, [0154] “below a threshold level”). The proposed combination of Jain and Blaas does not explicitly teach adding the initial node in a queue that is configured to process in sequence; and en-queuing the respective child node. However, Xing discloses node queues and teaches adding the node in a queue that is configured to process (see Xing, [0017] “When a thread desires to add a node to the queue, two observations may be made with respect to the state of a predecessor node of the newly-added node”) in sequence; and (see Xing, [0045] “determine if the predecessor node has changed based on comparing the first state to the second state, and set ordering in the queue based on the determination”). en-queuing the node (see Xing, [0047] “enqueuing the at least one new node to the queue”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of adding nodes to the queues as being disclosed and taught by Xing, in the system taught by the proposed combination of Jain and Blaas to yield the predictable results of efficiently managing nodes and their ordering in the queue (see Xing, [0018] “The processing module may be to execute at least one thread desiring to enqueue at least one new node to the queue, enqueue the at least one new node to the queue, a first state being observed based on information in the tail identifying a predecessor node when the at least one new node is enqueued… and set ordering in the queue based on the determination”). Claims 9-11, 14, 18-19 and 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Jain, Blaas and Gavvala further in view of Crabtree et al. (US 2025/0378537 A1, hereinafter “Crabtree”). Regarding claim 9, the proposed combination of Jain, Blaas and Gavvala teaches wherein recursively applying the linearization algorithm includes (see Blaas, [0172] “A recursive splitting process is then implemented in which the co-ordinate records are recursively sorted into further sub-groups that each correspond to node of the tree (i.e. the points within a subspace that is defined by a split value)”; [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) dynamically… (see Blaas, [0305] “routines to be updated dynamically by other processes”) of the linearization algorithm (see Blaas, [0172] “A recursive splitting process is then implemented in which the co-ordinate records are recursively sorted into further sub-groups that each correspond to node of the tree (i.e. the points within a subspace that is defined by a split value)”; [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) according to data characteristics (see Jain, [0065] “each training example (e.g., each item of text, each image, each audio segment) is embedded as a feature vector that represents the features of the example. Various embeddings known or developed in the art may be used based, for example, on the type of training data, the characteristics of the embedding and other factors”; [0048] “the 512 dimension feature vectors representing the text segments in a dataset may be reduced to a 2D representation, a 3D representation, or another reduced-dimension representation of the dataset, with the reduced-dimension representation including labeled data points representing the labeled text segments and unlabeled data points representing the unlabeled text segments”) of the initial subset of data points (see Jain, [0057] “mapping an input dataset that contains a set of labeled training data 52 (potentially as augmented by prior iterations) and a subset of unlabeled training data 54… to identify data points to label”) The proposed combination of Jain, Blaas and Gavvala does not explicitly teach dynamically adjusting a tolerance level. However, Crabtree discloses data processing and teaches adjusting a tolerance level (see Crabtree, [0131] “the system can dynamically adjust the segmentation parameters”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of tolerance level, tolerance value, cleaning raw data and quadtree as being disclosed and taught by Crabtree, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of improving the quality of coherence of data (see Crabtree, [0181] “The generated point clouds can be further processed and refined using techniques like noise reduction and surface reconstruction to improve their quality and coherence. These point clouds serve as intermediate representations that can be integrated into the overall system for generating scene continuity”). Claim 18 incorporate substantively all the limitations of claim 9 in a system form and is rejected under the same rationale. Regarding claim 10, the proposed combination of Jain, Blaas and Gavvala teaches further comprising: after displaying the data visualization on the browser application, receiving a user interaction with a first portion of the data visualization; in response to receiving the user interaction: (see Jain, [0110] “A visualization interface (e.g., visualization interface 72, visualization interface 114, or other visualization interface) can include tools to allow a user to select a data point from the graphical representation of the reduced-dimension dataset. Thus, a selection of a target data point can be received (step 404). Based on the selection of a data point”). retrieving or identifying a first subset of data points falling within the first portion of the data visualization; (see Jain, [0110] “Based on the selection of a data point, the user is presented with the text segment (or other data item) represented by the data point (step 406) and provided with the option to label the data point”). grouping the first subset of data points (see Blaas, [0159] “the points/co-ordinate records that lie to the left of the splitting plane are grouped in the left-hand side of the array (i.e. the left-hand sub-tree), whilst the points/co-ordinate records that lie to the right of the splitting plane are grouped in the right-hand side of the array”) into a first set of one or more segments; (see Jain, [0084] “The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”) extracting features for each segment of the first set of one or more segments; (see Jain, [0084] “The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”; [0048] “each text segment is represented by a feature vector having 512 dimensions, then the 512 dimension feature vectors representing the text segment”). inputting the extracted features into a machine learning model and (see Jain, [0097] “the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”; [0056] “ML model training system 50 may perform dimension reduction on a dataset and input the entire reduced-dimension dataset or algorithmically selected portions of the dataset for evaluation by a selection model”) receiving from the machine learning model a final set of labeled data… (see Jain, [0104] “the model training system can output a final set of labeled data”) for each segment of the first set of one or more segments; and (see Jain, [0048] “each text segment is represented by a feature vector having 512 dimensions, then the 512 dimension feature vectors representing the text segments in a dataset”). applying the linearization algorithm to (see Blaas, [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) each segment, of the first set of one or more segments,… (see Jain, [0084] “The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”) for each segment and obtaining a reduced subset of data points, wherein the reduced subset of data points has fewer data points than the first subset of data points; (see Jain, [0084] “a subset of unlabeled text segments 107 (e.g., unlabeled text segments 132 selected for each iteration at random or according to another selection scheme) to create an input dataset that is input into a dimension reduction component 112. According to some embodiments, ML model training system 102 inputs the labeled training data 122 and unlabeled text segments 132 as embedded into numerical representations into a UMAP algorithm or other algorithm for dimension reduction to generate a reduced-dimension data space that comprises reduced-dimension representations of the labeled and unlabeled text segments. The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”; [0117] “a user interacting with a visualization interface selects area 504 (FIG. 5) for evaluation, then the examples represented by the data points in area 504 (e.g., the labeled and unlabeled text segments represented by the data points in area 504) are mapped to the reduced-dimension representation of the selected area for evaluation by the selection model”). generating an updated data visualization according to (see Blaas, [0121] “providing real-time updating of the first view A in response to a user selection”) data in the reduced subset of data points; and (see Jain, [0084] “a subset of unlabeled text segments 107 (e.g., unlabeled text segments 132 selected for each iteration at random or according to another selection scheme) to create an input dataset that is input into a dimension reduction component 112. According to some embodiments, ML model training system 102 inputs the labeled training data 122 and unlabeled text segments 132 as embedded into numerical representations into a UMAP algorithm or other algorithm for dimension reduction to generate a reduced-dimension data space that comprises reduced-dimension representations of the labeled and unlabeled text segments. The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”; [0117] “a user interacting with a visualization interface selects area 504 (FIG. 5) for evaluation, then the examples represented by the data points in area 504 (e.g., the labeled and unlabeled text segments represented by the data points in area 504) are mapped to the reduced-dimension representation of the selected area for evaluation by the selection model”). causing display of (see Jain, [0110] “displayed in visualization interface 72”) an updated data visualization on (see Blaas, [0121] “providing real-time updating of the first view A in response to a user selection”) a browser application (see Blaas, [0286] “computer system 1502 may implement a web browser 1536”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach a respective tolerance value; according to the respective tolerance value. However, Crabtree discloses data processing and teaches a respective tolerance value (see Crabtree, [0129] “With the hash values assigned to each segment”). according to the respective tolerance value (see Crabtree, [0129] “With the hash values assigned to each segment”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of tolerance level, tolerance value, cleaning raw data and quadtree as being disclosed and taught by Crabtree, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of improving the quality of coherence of data (see Crabtree, [0181] “The generated point clouds can be further processed and refined using techniques like noise reduction and surface reconstruction to improve their quality and coherence. These point clouds serve as intermediate representations that can be integrated into the overall system for generating scene continuity”). Claim 19 incorporate substantively all the limitations of claim 10 in a system form and is rejected under the same rationale. Regarding claim 11, the proposed combination of Jain, Blaas and Gavvala teaches wherein: the initial dataset comprises a dataset of examples… (see Jain, [0089] “The dataset corresponding to an area of interest selected in the visualization interface 114 is then evaluated by the automated selection model 116 to identify high value data points”; [0048] “an input dataset (referred to a labeled data points) and data points representing the unlabeled examples from the input dataset (referred to as unlabeled data points herein)”; [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”). the method includes… (see Jain, [0038] “The present disclosure provides systems and methods for”) generating the data structure (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach raw data; and performing data cleaning on the dataset of the raw data prior to generating the data structure. However, Crabtree discloses data processing and teaches raw data; and (see Crabtree, [0221] “Once the raw data is obtained, the method applies a series of cleaning techniques”). performing data cleaning on the dataset of the raw data prior to data transformation for training (see Crabtree, [02221] “Once the raw data is obtained, the method applies a series of cleaning techniques… After cleaning, the method proceeds to step 1003 with data transformation to convert the data into a suitable format for training the scene generation models”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of tolerance level, tolerance value, cleaning raw data and quadtree as being disclosed and taught by Crabtree, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of improving the quality of coherence of data (see Crabtree, [0181] “The generated point clouds can be further processed and refined using techniques like noise reduction and surface reconstruction to improve their quality and coherence. These point clouds serve as intermediate representations that can be integrated into the overall system for generating scene continuity”). Regarding claim 14, the proposed combination of Jain, Blaas and Gavvala teaches wherein the data structure comprises… (see Jain, [0097] “the labeled and unlabeled examples in the input dataset may be embedded as feature vectors or other data structures that have a large number of dimensions”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach a quadtree data structure. However, Crabtree discloses data processing and teaches a quadtree data structure (see Crabtree, [0128] “Methods such as… quadtree decomposition… can be used”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of tolerance level, tolerance value, cleaning raw data and quadtree as being disclosed and taught by Crabtree, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of improving the quality of coherence of data (see Crabtree, [0181] “The generated point clouds can be further processed and refined using techniques like noise reduction and surface reconstruction to improve their quality and coherence. These point clouds serve as intermediate representations that can be integrated into the overall system for generating scene continuity”). Regarding claim 22, the proposed combination of Jain, Blaas and Gavvala teaches subdividing (see Blaas, [0193] “In the case of the initial root node, this bounding box will correspond to the entire area where incidents might be recorded. For nodes at subsequent level, these bounding boxes are defined recursively by the split values associated with their parent node… the bounding box associated with the root node would correspond to the entire area with corners at points (0,0), (0,9), (9,9) and (9,0)”) the initial dataset (see Jain, [0096] “starting with an input dataset that comprises an initial set of labeled examples and an initial set of unlabeled examples”) into a plurality of data segments, each data segment comprising a respective subset of data points and corresponding to a respective spatial region of the data visualization; and (see Jain, [0124] “depicts a portion of a reduced-dimension data space 900 that includes a set of data points, each data point representing a labeled example (e.g., a labeled text segment) or an unlabeled example (e.g., an unlabeled text segment)… the selection model selects the examples represented by unlabeled data point 902 and unlabeled data point 906 as the dataset of interest for labeling”; [0142] “a reduced-dimension data space 1100 that includes a set of data points, each data point representing a labeled example (e.g., a labeled text segment) or an unlabeled example (e.g., an unlabeled text segment)”). using a machine learning model,… (see Jain, [0063] “a machine learning (ML) model training system 102 for training ML models”) for each data segment (see Jain, [0084] “The reduced-dimension data space includes data points representing the labeled text segments from the input dataset (labeled data points) and data points representing the unlabeled examples from the input dataset (unlabeled data points)”) according to a spatial density (see Blaas, [0144] “operation may be performed until desired bit density is reached”). The proposed combination of Jain, Blaas and Gavvala does not explicitly teach assigning, a tolerance value. However, Crabtree discloses data processing and teaches assigning… a tolerance value for each segment (see Crabtree, [0129] “With the hash values assigned to each segment”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of tolerance level, tolerance value, cleaning raw data and quadtree as being disclosed and taught by Crabtree, in the system taught by the proposed combination of Jain, Blaas and Gavvala to yield the predictable results of improving the quality of coherence of data (see Crabtree, [0181] “The generated point clouds can be further processed and refined using techniques like noise reduction and surface reconstruction to improve their quality and coherence. These point clouds serve as intermediate representations that can be integrated into the overall system for generating scene continuity”). Regarding claim 23, the proposed combination of Jain, Blaas, Gavvala and Crabtree teaches wherein parallel (see Blaas, [0280] “Processor 1504 may be implemented using mainframe, distributed processor, multi-core, parallel… architecture”) processing each node of the plurality of nodes (see Blaas, [0224] “processing of each of the nodes associated with the following bounding boxes”) via the respective processing core of the multiple processing cores of the GPU processor includes: (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”; [0050] “, GPUs 260 may include one or more hardware-accelerated processing cores”). applying, (see Blaas, [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) by the respective processing core of the GPU processor, (see Gavvala, [0021] “computational tasks may be delegated to a specific processing component of an IHS, such as… that may include one or more programmable processors that operate separate from the main CPUs… such hardware accelerators 185a-n may include… GPUs (Graphics Processing Units)”; [0050] “, GPUs 260 may include one or more hardware-accelerated processing cores”) the linearization algorithm on (see Blaas, [0155] “the binary tree used to structure the co-ordinate data is stored in a linearized form”) a per-data segment basis, (see Jain, [0047]-[0048] “each item of labeled training data and each item of unlabeled training data… each text segment”) according to the tolerance value that is assigned to (see Crabtree, [0129] “With the hash values assigned to each segment”) each data segment of the plurality of data segments (see Jain, [0047]-[0048] “each item of labeled training data and each item of unlabeled training data… each text segment”). The motivation for the proposed combination is maintained. Citation of Relevant Prior Art The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US Publication No. US 2021/0233192 A1 (Manamohan et al.) teaches a Merkle tree that is built based on, e.g., one million data points, can be sufficiently challenged with a maximum of about twenty to twenty one hashes. US Publication No. US 2022/0300528 A1 (Reymond et al.) teaches available parameters can be adjusted easily and by the leveraging of output quality and memory usage according to the invention, the method does not require specialized hardware for high-quality visualizations even where data sets are containing millions of data points. 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 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. Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAISHALI SHAH whose telephone number is (571)272-8532. The examiner can normally be reached Monday - Friday (7:30 AM to 4:00 PM). 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, AJAY BHATIA can be reached at (571)272-3906. 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. /VAISHALI SHAH/Primary Examiner, Art Unit 2156
Read full office action

Prosecution Timeline

May 05, 2025
Application Filed
Apr 30, 2026
Non-Final Rejection mailed — §103
Jul 30, 2026
Response Filed
Sep 29, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748785
SYSTEM TO ASSIST USERS OF A SOFTWARE APPLICATION
1y 4m to grant Granted Sep 29, 2026
Patent 12695597
Methods and Systems for a Heterogeneous Multi-Chain Framework
2y 1m to grant Granted Jul 28, 2026
Patent 12681954
SPACE PARTITIONING METHOD FOR DATABASE TABLE, DEVICE AND STORAGE MEDIUM
5y 2m to grant Granted Jul 14, 2026
Patent 12681976
SYSTEM AND METHOD FOR DOCUMENT METADATA ANALYSIS AND GENERATION
2y 3m to grant Granted Jul 14, 2026
Patent 12675443
SYSTEM AND METHOD FOR PERFORMING CONTEXT AWARE OPERATING FILE SYSTEM VIRTUALIZATION
5y 2m to grant Granted Jul 07, 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
57%
Grant Probability
99%
With Interview (+52.9%)
3y 5m (~2y 0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 237 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