Prosecution Insights
Last updated: April 19, 2026
Application No. 18/736,193

STORAGE DATA STRUCTURES FOR USE WITH LARGE-SCALE VOLUMETRIC MODELS

Non-Final OA §102§103
Filed
Jun 06, 2024
Examiner
LE, JOHNNY TRAN
Art Unit
2614
Tech Center
2600 — Communications
Assignee
Foresight Spatial Labs Corporation
OA Round
1 (Non-Final)
67%
Grant Probability
Favorable
1-2
OA Rounds
2y 9m
To Grant
0%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
2 granted / 3 resolved
+4.7% vs TC avg
Minimal -67% lift
Without
With
+-66.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
32 currently pending
Career history
35
Total Applications
across all art units

Statute-Specific Performance

§101
6.1%
-33.9% vs TC avg
§103
65.9%
+25.9% vs TC avg
§102
16.7%
-23.3% vs TC avg
§112
8.3%
-31.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 3 resolved cases

Office Action

§102 §103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Information Disclosure Statement The information disclosure statement (IDS) submitted on 6/10/2024 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement has been considered by the examiner. Specification 1 The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification. Claim Rejections - 35 USC § 102 2 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 3 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. 4 Claim(s) 1-3, 6, 8, 10, 12-17, and 19-20 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Murray et al. (US 20230022985 A1). 5 Regarding claim 1, Murray teaches a method, comprising: receiving an input data set corresponding to a volumetric model generating a linear bounded volume hierarchy (BVH) from the input data set ([0043] reciting “In some examples, a derivative 3D rendering acceleration data structure such as a boundary volume hierarchy (BVH), voxel hierarchy, spatial grid, etc. may be determined for each shard.”; [0034] reciting “In order to display a laminate or 2D image of a given object to a user, example embodiments may include receiving information from the user device (e.g., a viewpoint, viewing position, or orientation) which may be used to determine or generate a laminate.”; [0058] reciting “FIG. 12 illustrates a collection of 2D laminates 1212 of the example 3D model 302 generated by the example model viewer 202 of FIG. 2.”); generating, for individual attributes of nodes at different levels of detail in the linear BVH, an attribute shard file ([0028] reciting “The laminate assembler 208 continues to send individual tiles and composite tiles to the tile compositors 212a to 212n until all tiles originally generated by the tile generators 206a to 206n are combined into a single 2D composite tile, referred to as a laminate, as will be explained below in conjunction with FIGS. 9-11.”; [0034-0035] reciting “his process may include several steps, which may include (i) determining a viewpoint position/orientation with respect to the 3D model, (ii) determining which shard(s) are visible from the determined position, (iii) generating a plurality of processing tasks for generating 2D images of the visible shard(s), (iv) combining the generated 2D images into a single image to be presented to the viewing device. These steps are discussed in further detailed below. First, a position, orientation, or other spatial orientation data of the viewing device requesting the laminate may be determined.”); receiving a request to execute one or more operations on a portion of the volumetric model ([0005] reciting “The example method includes determining, by executing an instruction with a processor, a viewpoint location of a viewpoint corresponding to a viewing device, the viewpoint location being in a reference frame of a 3D model”); determine, from the request, a geometric area of the portion of the volumetric model ([0042] reciting “Each processing task may include rendering a visible shard. In some examples, this may include performing a 3D rendering operation based on the determined viewpoint location, such as ray tracing, rasterization, or other such operations that project 3D geometric shapes onto two dimensions.”), a level of detail, and one or more attributes associated with the request ([0028] reciting “The laminate assembler 208 continues to send individual tiles and composite tiles to the tile compositors 212a to 212n until all tiles originally generated by the tile generators 206a to 206n are combined into a single 2D composite tile, referred to as a laminate, as will be explained below in conjunction with FIGS. 9-11.”; [0034-0035] reciting “his process may include several steps, which may include (i) determining a viewpoint position/orientation with respect to the 3D model, (ii) determining which shard(s) are visible from the determined position, (iii) generating a plurality of processing tasks for generating 2D images of the visible shard(s), (iv) combining the generated 2D images into a single image to be presented to the viewing device. These steps are discussed in further detailed below. First, a position, orientation, or other spatial orientation data of the viewing device requesting the laminate may be determined.”); retrieve one or more respective attribute shard files based on the one or more attributes; and causing the one or more operations to be executed based on the one or more respective shard attribute files ([0042] reciting “A subscriber completing the rendering task may receive an identifier of a shard that must be rendered, and responsively retrieve the triangles that make up the shard from the database. The subscriber may then perform a ray tracing operation, to determine a color and depth for each pixel. The ray tracing operation may be understood as sending out a ray starting at the viewpoint location, passing through each pixel that will be displayed. The ray may pass through the pixel and contact a triangle of the shard being rendered.”). 6 Regarding claim 2, Murray teaches the method of claim 1 (see claim 1 rejection above), wherein the volumetric model includes an object represented by at least one of a block model, voxels, or a point cloud ([0028] reciting “FIG. 7 illustrates the example 3D model 302 occupying a plurality of voxels 710.”). 7 Regarding claim 3, Murray teaches the method of claim 1 (see claim 1 rejection above), wherein the one or more attributes are represented by at least one of a string identification, a red, green, and blue (RGB), a boolean, or a scalar ([0035] reciting “Where the system includes multiple users viewing a given model on multiple devices, an ID of a particular viewing device or user account may be used to identify the user, determine one or more permissions or security actions available, or to allow one or more available features (e.g., bookmarking, note taking, object or component manipulation, etc.).”). 8 Regarding claim 6, Murray teaches the method of claim 1 (see claim 1 rejection above), wherein the one or more operations include at least one of a rendering operation ([0024] reciting “In operation, 2D renderings of the 3D model files are displayed on the viewing devices 114 via the network 116…”; [0042] reciting “Each processing task may include rendering a visible shard. In some examples, this may include performing a 3D rendering operation based on the determined viewpoint location, such as ray tracing, rasterization, or other such operations that project 3D geometric shapes onto two dimensions.”) or a computational solid geometry workload ([0029] reciting “However it should be understood that any object for which an intersection with a ray may be determined can be used, including polygons, boundary representations (B-reps or BREPS), constructive solid geometry (CSG) trees, cones, etc. (e.g., model primitives).”). 9 Regarding claim 8, Murray teaches the method of claim 1 (see claim 1 rejection above), wherein the input volumetric model is an updated version of an original model that refers to the original model ([0029] reciting “At a high level, examples disclosed herein may include taking a large 3D model file (or many 3D models) and breaking the 3D model file into smaller components referred to as shards that can be processed independently to determine a 2D laminate image to be displayed to a given user or viewing device…In some examples there may be hundreds, thousands, millions, or more triangles that represent a given model. The number and density of triangles may be changed to allow for greater or lesser resolution of the 3D model. For instance, a simple 3D model may have fewer triangles than a more complex model, to allow for greater definition of the contours of the complex model.”). 10 Regarding claim 10, Murray teaches a processor, comprising: one or more circuits to ([0005] reciting “The example method includes determining, by executing an instruction with a processor, a viewpoint location of a viewpoint corresponding to a viewing device, the viewpoint location being in a reference frame of a 3D model;”): generate a tree structure for a plurality of hierarchies corresponding to levels of detail for a volumetric model ([0029] reciting “However it should be understood that any object for which an intersection with a ray may be determined can be used, including polygons, boundary representations (B-reps or BREPS), constructive solid geometry (CSG) trees, cones, etc. (e.g., model primitives).”; [0044] reciting “As the surrogate primitives are created they may be recursively, progressively grouped with other primitives into a hierarchical tree structure.”); generate, at each level of the plurality of hierarchies, a plurality of shards corresponding to individual attributes for nodes of the volumetric model ([0029] reciting “At a high level, examples disclosed herein may include taking a large 3D model file (or many 3D models) and breaking the 3D model file into smaller components referred to as shards that can be processed independently to determine a 2D laminate image to be displayed to a given user or viewing device. In practice, this may first include processing the 3D model to generate a plurality of triangles or other polygons, which is sometimes referred to as tessellation.”); store the plurality of shards ([0032] reciting “Once the shards are determined, they may be stored in a database for later use. FIGS. 5 and 6 show that the number, size, density, and other characteristics of the triangles 410 may differ within a shard and across shards of the represented object.”); and provide, responsive to a request, a set of shards based on a selectively specified region of the volumetric model ([Abstract] reciting “The visible shard determiner determines a visible shard set of the 3D model based on the viewpoint location.”). 11 Regarding claim 12, Murray teaches the processor of claim 10 (see claim 10 rejection above), wherein the tree structure includes a linear bounded volume hierarchy ([0043] reciting “In some examples, a derivative 3D rendering acceleration data structure such as a boundary volume hierarchy (BVH), voxel hierarchy, spatial grid, etc. may be determined for each shard.”; [0044] reciting “3D rendering acceleration data structures such as a BVH may reduce the number of ray-triangle (or other geometric primitive) intersection tests that must be performed against a single ray in a ray tracing or scan line rasterization.”). 12 Regarding claim 13, Murray teaches the processor of claim 10, wherein the request is associated with a request to render a portion of the volumetric model, wherein the one or more processing units are further to (see claim 10 rejection above): retrieve one or more shards of the plurality of shards associated with the portion of the volumetric model ([0042] reciting “A subscriber completing the rendering task may receive an identifier of a shard that must be rendered, and responsively retrieve the triangles that make up the shard from the database.”; [0051] reciting “In operation, the tile generators 206a to 206n generate 2D tiles for the viewpoint 804 based on the visible shard set 820 shown in FIG. 8. More specifically, one or more of the tile generators 206a to 206n retrieve the first, second, third, fourth, fifth, and sixth shards 521, 522, 523, 524, 525, 526, the from the database 218 of FIG. 2.”); and cause the one or more shards to be streamed to a client device associated with the request ([0029] reciting “At a high level, examples disclosed herein may include taking a large 3D model file (or many 3D models) and breaking the 3D model file into smaller components referred to as shards that can be processed independently to determine a 2D laminate image to be displayed to a given user or viewing device.”). 13 Regarding claim 14, Murray teaches the processor of claim 10 (see claim 10 rejection above), wherein the request is associated with a request to perform one or more constructive solid geometry operations between two models including at least one of intersection, union, merge, subtraction, cutting or filtering ([0044] reciting “As the surrogate primitives are created they may be recursively, progressively grouped with other primitives into a hierarchical tree structure. Intersections performed top-down against this tree structure effectively and efficiently enable culling of entire branches of the tree. This eliminates substantial numbers of leaf geometric primitives against which intersection tests must be performed”). 14 Regarding claim 15, Murray teaches the processor of claim 10 (see claim 10 rejection above), wherein the volumetric model includes at least one of a block model, a point cloud, or a mesh ([0029] reciting “The triangles may be two dimensional (2D) with respect to the plane defined by their vertices, or may be understood as 3D with respect to a reference frame, may have a set size or variable size, and when combined may form a mesh or surface that follows the contours of the 3D model”). 15 Regarding claim 16, Murray teaches the processor of claim 10 (see claim 10 rejection above), wherein the processor is comprised in at least one of: system for performing simulation operations; system for performing digital twin operations; system for rendering graphical output ([0047] reciting “It should be understood and appreciated that generating and communicating 2D laminates of the 3D model 302 is more efficient than transmitting all the data that makes up the 3D model and rendering/re-rendering the 3D model for different viewpoints”); system implemented at least partially in a data center; or system implemented at least partially using cloud computing resources ([0047] reciting “In other words, it is easier to store all the 3D model data at one or more server locations (e.g., in the cloud)”). 16 Claim 17 has similar limitations as of claim 10, therefore it is rejected under the same rationale as claim 10. 17 Claim 19 has similar limitations as of claim 12, therefore it is rejected under the same rationale as claim 12. 18 Claim 20 has similar limitations as of claim 16, therefore it is rejected under the same rationale as claim 16, with the addition of the limitation from claim 20 “…a system for performing constructive solid geometry (CSG) operations…” being taught by Murray ([0029] reciting “However it should be understood that any object for which an intersection with a ray may be determined can be used, including polygons, boundary representations (B-reps or BREPS), constructive solid geometry (CSG) trees, cones, etc. (e.g., model primitives).”). Claim Rejections - 35 USC § 103 19 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 20 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. 21 Claim(s) 4-5, 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Murray et al. (US 20230022985 A1) as of claim 1, in view of Drabinski et al. (US 20230215091 A1). 22 Regarding claim 4, Murray teaches the method of claim 1 (see claim 1 rejection above), wherein the linear BVH is a tree structure ([0044] reciting “As the surrogate primitives are created they may be recursively, progressively grouped with other primitives into a hierarchical tree structure. Intersections performed top-down against this tree structure effectively and efficiently enable culling of entire branches of the tree.”), further comprising: permuting leaves to form a spatial partition ([0043] reciting “In some examples, a derivative 3D rendering acceleration data structure such as a boundary volume hierarchy (BVH), voxel hierarchy, spatial grid, etc. may be determined for each shard.”; [0044] reciting “As the surrogate primitives are created they may be recursively, progressively grouped with other primitives into a hierarchical tree structure. Intersections performed top-down against this tree structure effectively and efficiently enable culling of entire branches of the tree. This eliminates substantial numbers of leaf geometric primitives against which intersection tests must be performed.”; and 23 Murray does not explicitly teach determining a tree height; selecting a lowest level of detail; … and generating a parent node for the set. 24 Drabinski teaches determining a tree height ([0380] reciting “These, in turn, are also grouped and enclosed within other larger bounding volumes in a recursive fashion, eventually resulting in a tree structure with a single bounding volume, represented by the root node, at the top of the tree.”; [1033] reciting “In addition, the treelet data structure indicates the number of starting points and the maximum number of progressions up the tree from the leaf nodes, sometimes referred to as the “path length”, where the “path” is the schedule of nodes a given thread visits when progressing up the tree.”); selecting a lowest level of detail ([0721] reciting “To address this issue, one embodiment of the invention uses the compressed nodes only at the lowest level of the BVH. This provides an advantage of the higher BVH levels running at optimal performance (i.e., they are touched as often as boxes are large, but there are very few of them), and compression on the lower/lowest levels is also very effective, as most data of the BVH is in the lowest level(s).”); … and generating a parent node for the set ([Abstract] reciting “…bounding volume hierarchy (BVH) processing logic to update a BVH responsive to changes associated with leaf nodes of the BVH, the BVH processing logic comprising: treelet generation logic to arrange nodes of the BVH into a plurality of treelets, the treelets including a plurality of bottom treelets and a tip treelet…”; [0516] reciting “Ray traversal circuitry 5102 traverses each ray through nodes of a BVH, working down the hierarchy of the BVH (e.g., through parent nodes, child nodes, and leaf nodes) to identify nodes/primitives traversed by the ray.”). 25 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Murray) to incorporate the teachings of Drabinski to provide method for determining the fundamentals of a specific tree like height and partitions, while utilizing the tree taught by Murray. Doing so would allow data reduction for the tree structure as stated by Drabinski ([Abstract] recited). 26 Regarding claim 5, Murray teaches the method of claim 1 (see claim 1 rejection above), but does not explicitly teach wherein a child address within the linear BVH is implied from a parent address based on a branching factor and an offset. 27 Drabinski teaches wherein a child address within the linear BVH is implied from a parent address based on a branching factor and an offset ([0535-0536] reciting “In one embodiment, node_info is written at the launch of reads and the address/tag is calculated as follows for the reads requests…(Note: The Child offset on the node is always with respect to Current BVH Root Node)”; [0600] reciting “In one implementation, each stack entry in the short traversal stack 5203 includes an offset to a node, miscellaneous information such as the node type (internal, primitive, instance etc.) as well as one bit that indicates if this child is the last (farthest) intersected child node in a parent node.”). Doing so would allow data reduction for the tree structure as stated by Drabinski ([Abstract] recited). 28 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Murray) to incorporate the teachings of Drabinski to provide a method that can provide a child address to be implied from a parent based on a branching factor and offset based on the type of tree structure provided by Murray. Doing so would allow data reduction for any various tree structures as stated by Drabinski ([Abstract] recited). 29 Regarding claim 9, Murray teaches the method of claim 1 (see claim 1 rejection above), and although Murray could teach wherein the geometric area of the portion of the volumetric model is based on a virtual camera position ([0061] reciting “The transparent background may allow a display device to superimpose the provided image onto a local camera image or view, such that the object in the image, laminates, or shards appears to be located within the camera field of view.”), Drabinski teaches this limitation more clearly. 30 Drabinski teaches wherein the geometric area of the portion of the volumetric model is based on a virtual camera position ([0687] reciting “One embodiment of the invention performs path tracing to render photorealistic images, using ray tracing for visibility queries. In this implementation, rays are cast from a virtual camera and traced through a simulated scene.”). 31 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Murray) to incorporate the teachings of Drabinski to provide a clearer method to obtain a virtual camera position for the volumetric model taught by Murray. Doing so would allow data reduction for any various tree structure as stated by Drabinski ([Abstract] recited). 32 Claim(s) 7, 11, and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Murray et al. (US 20230022985 A1) as of claims 1 and 10, in view of Kochar et al. (US 20240232022 A1). 33 Regarding claim 7, Murray teaches the method of claim 1 (see claim 1 rejection above), but does not explicitly teach wherein at least two of the one or more attribute shard files are arranged within a common shared partition. 34 Kochar teaches wherein at least two of the one or more attribute shard files are arranged within a common shared partition ([0066] reciting “Additionally or alternatively, a respective group of shard files within a partition of the set of partitions may include a first shard file representative of metadata for the partition and one or more additional shard files representative of the respective group of data files for the partition. In some cases, the file includes an aggregated format file. In some examples, the data management system 405 may map the set of data files in the file including the set of partitions to individual files capable of being exported to application. Additionally or alternatively, each partition of the set of partitions is associated with a same node at the data management system 405.”). 35 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Murray) to incorporate the teachings of Kochar to provide a method that can arrange the shard files like the ones taught by Murray based on a common or same shared partition. Doing so would support online access as stated by Kochar ([0043] recited). 36 Regarding claim 11, Murray teaches the processor of claim 10, wherein the one or more processing units are further to (see claim 10 rejection above), but does not explicitly teach to identify a first partition for a first portion of the plurality of shards; identify a second partition for a second portion of the plurality of shards; and cause the first portion of the plurality of shards to be stored in the first partition and the second portion of the plurality of shards to be stored in the second partition. 37 Kochar teaches to identify a first partition for a first portion of the plurality of shards ([Abstract] reciting “The data management system may then generate, in response to the request, a file including a set of partitions including respective groups of shard files that correspond to respective groups of data files from among the set of data files. In some examples, a respective group of shard files within a partition of the set of partitions may include a first shard file representative of metadata for the partition and one or more additional shard files representative of the respective group of data files for the partition.”); identify a second partition for a second portion of the plurality of shards; and cause the first portion of the plurality of shards to be stored in the first partition and the second portion of the plurality of shards to be stored in the second partition ([0045] reciting “In some examples, there may be two types of shards in a partition: the first shard 280 or shard 0 is the metadata shard includes metadata about the partition associated with the shard that the partition belongs to and a second shard file 285. Assuming the N files can be laid out in a single shard and also assuming a block size of B bytes, FIG. 2 depicts the layout of the files within a single shard.”). 38 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Murray) to incorporate the teachings of Kochar to provide a method that can identify specific partitions from the shards taught by Murray, while also making sure that they are stored within their specific partition. Doing so would allow the generation of a backup request as stated by Kochar ([Abstract] recited). 39 Claim 18 has similar limitations as of claim 11, therefore it is rejected under the same rationale as claim 11. Conclusion 40 Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOHNNY TRAN LE whose telephone number is (571)272-5680. The examiner can normally be reached Mon-Thu: 7:30am-5pm; First Fridays Off; Second Fridays: 7:30am-4pm. 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, Kent Chang can be reached at (571) 272-7667. 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. /JOHNNY T LE/ Examiner, Art Unit 2614 /KENT W CHANG/ Supervisory Patent Examiner, Art Unit 2614
Read full office action

Prosecution Timeline

Jun 06, 2024
Application Filed
Jan 06, 2026
Non-Final Rejection — §102, §103 (current)

AI Strategy Recommendation

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

Prosecution Projections

1-2
Expected OA Rounds
67%
Grant Probability
0%
With Interview (-66.7%)
2y 9m
Median Time to Grant
Low
PTA Risk
Based on 3 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month