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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 5/27/2026 has been entered.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 10-18 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because the broadest reasonable interpretation of the claimed “simulator” is recited functionally with no structure for performing any operation other than an “an in-browser rendering engine configured for operation” and “an in-browser physics engine configured for operation” and while such simulator is run with respect to “the client computer”, the client computer is not required to implement the simulator as recited, as rather the “in-browser physics engine is configured to” be able to “run that version on the client computer”, but the simulator can be so configured without actual implementation such as through software programming configuration, such that the simulator and such engines may be considered purely software processing engines and thus the claims are directed toward software, per se. Thus the claims are to similar to “examples of claims that are not directed to any of the statutory categories” such as “[p]roducts that do not have a physical or tangible form” as there are no claimed structure recitations. See MPEP 2106.03(I). Note that the Examiner has determined that such “engine configured for operation” and such “configured for” recitations for the engines does not invoke any 35 U.S.C. 112(f) interpretation of the claims as they fail the three-prong test for such application. Additionally, the Specification does not provide any disclosure of such engines as comprising necessarily an embodiment wherein the engine is a specially programmed processing unit operating on some computing hardware. Rather the engines are disclosed as software engines that would be necessary to run on some type of computing hardware such as a client device operating a browser, but the engines themselves are only disclosed as purely software in the Specification. Note that claim 18 further recites “there is provided an accessible memory and a plurality of 3D objects stored in the accessible memory,” however, this does not provide any structure for the simulator to actually perform any of the recited functions, and thus claim 18 is also directed toward software, per se. Thus the claims are directed toward a product claim to a software program that does not also contain at least one structural limitation (such as a “means plus function” limitation) has no physical or tangible form, and thus does not fall within any statutory category. See MPEP 2106.03(I). The Examiner suggests amending the claim to recite “… (3-Dimensional) 3D object simulator implemented by a client computer” and then in line 11, “the client” such that it would then be clear that the claim is to a method implemented by a computer where the method is defined by the function and configuration of the software engines being implemented by the client computer and run on the client computer.
Response to Arguments
Applicant’s arguments, see “REMARKS”, filed 5/27/2026, with respect to the double patenting rejections applied to claims 1, 19 and 20 have been fully considered and are persuasive. The rejection of these has been withdrawn. The Examiner agrees that the claims of application 18245118 do not provide the in-browser limitations of the current claims and do not contain similar limitations regarding the multi-threading technique. Furthermore given that such multi-threading technique and other limitations are not found in the prior art as explained below then the claims of application 18245118 cannot be rendered obvious in view of prior art. Thus the double patenting rejections are withdrawn.
Applicant’s arguments, see “REMARKS”, filed 9/30/2026, with respect to the rejections under 35 U.S.C. 103 using a combination of Kokkevis and McKegney have been fully considered and are persuasive. The rejections of the claims have been withdrawn.
The Examiner agrees that Kokkevis and McKegney fail to teach the newly added claim limitations as none provide the step of simulating wholly in-browser the 3D object using a multi-threading technique in the in-browser physics engine in which the physics engine simulation operations are divided out into multiple threads and the multiple physics engine simulation operations are processed in parallel and compiling a plurality of thread versions of a plurality of thread configurations, and on start of simulation, determining from the plurality of thread versions the version of thread configuration that is most suited to the client computer and running that version on the client computer. Applicant argues that while multi-threading is generally known and disclosed in the prior art, the prior art does not utilize the type of multi-threading required by the claims where the physics calculations are able to be simulated more efficiently through such compilation of thread versions and selection at startup. The Examiner agrees that the cited prior art fails to teach or suggest such limitations as more fully explained below.
Allowable Subject Matter
Claims 1-6, 9, and 19-20 are allowed.
The following is an examiner’s statement of reasons for allowance as well as reasons for indicating allowable subject matter: the prior art of record fails to teach or suggest the respective claim limitations when considered as a whole.
Regarding claims 1 and 19, the instant claims all recite embodiments of in-browser simulation of 3D objects. The claims each require an "in-browser physics engine" and "in-browser rendering engine" operating wholly in-browser where the simulating wholly in-browser of the 3D object is "using a multi-threading technique in the in-browser physics engine in which the physics engine simulation operations are divided out into multiple threads and the multiple physics engine simulation operations are processed in parallel" and "compiling a plurality of thread versions of a plurality of thread configurations, and on start of simulation, determining from the plurality of thread versions the version of thread configuration that is most suited to the client computer and running that version on the client computer."
Note that claim 10 requires similarly "in which the in-browser physics engine is configured to support multi-threading in which the physics engine simulation operations are divided out into multiple threads and the multiple physic engine simulation operations are processed in parallel; and in which the in-browser physics engine is configured to, on start of simulation, determine from a plurality of thread versions of a plurality of compiled versions of thread configurations, the version of thread configuration that is most suited to a client computer, and run that version on the client computer" such that this requires such compiling and selection from a plurality of thread versions that are compiled and used in selecting the thread version to run on the client computer. Thus this subject matter is indicated as allowable as in claims 1 and 19 and as explained below, however as explained above claim 10 and its progeny are not allowable as it is directed toward non-statutory subject matter.
Regarding the above limitations, the Examiner is unable to find any teaching or suggestion of such a feature where an in-browser physics engine operates to compile a plurality of thread versions for physics operations that are to be processed in parallel and then selecting from among such compiled threads based on the version that is most suited to the client computer. Rather, the prior art only supports the concept of using a client computer to select a certain version of a program or certain modules or operation modes based on programs or modules that are best suited to a client computer. Furthermore, while the prior art teaches the concept of multi-threading and applications of multi-threading can be applied to physics calculations or other calculations, there is no prior art which teaches or suggests to use the claimed multi-threading technique which specifically compiles a plurality of thread versions of physics simulation operation which can then be determined and selected from at a start of a simulation.
Thus for example Kokkevis teaches in paragraph 0058 that a frame rate for a physics engine may be specified based on what is "supported by GPU 320" such that physics calculation threads could be compiled and supplied based in a manner that is best suited to the client device. However, Kokkevis does not detail such multi-threading in which a plurality of thread versions are determined from multiple threads of divided physics simulation operations and thus cannot determine from any plurality of such thread versions which is most suited to a client computer.
McKegney also teaches physics simulation operations and also teaches multi-threading as explained in the previous rejection in the context of wholly in-browser rendering and simulation of 3D objects. McKegney teaches with regard to selection of processing operations to utilize the capabilities of the current platform, teaching "when the 3D runtime engine 210 1 invokes the loading of the 3D project data for a given embedded 3D project, the hardware detector 234 can detect the capabilities of the current platform and load the appropriate version of the data. For example, certain texture sizes, compression formats, and/or shader features might be selected based on the current platform detected." (see paragraph 0047). Thus at least the concept of changing the processing of the program in view of the client device best supported to process the 3D object is taught. However, McKegney does not teach or suggest that the multi-threading technique compiles a plurality of thread versions determined from multiple threads of divided physics simulation operations and thus cannot determine from any plurality of such thread versions which is most suited to a client computer.
Miller (US PGPUB No. 20130120368) also teaches a system for 3D object modeling and simulation operations performed in a browser-based environment and teaches platform compatibility tied to 3D modeling components (see Miller, paragraph 0043 teaching "3D modeling engine 278 may be platform-specific and can be provided in different formats for different operating systems. In some embodiments, the 3D modeling engine 278 utilizes graphics functions provided as a part of the browser application 276 or externally to the browser application 276. For example, the 3D modeling engine 278 may use cross-platform APIs for efficiently rendering graphics such as OpenGL®. More specifically, the 3D modeling engine 278 may interpret model data, which may include descriptions of various 3D and/or 2D shapes that make up the corresponding 3D model (stored in any suitable format including a proprietary format defined specifically for 3D model data), and invoke various functions of the OpenGL API for drawing lines, points, and other basic primitives to efficiently generate raster images"). However, Miller does not provide any teaching or suggestion of a multi-threading technique which compiles a plurality of thread versions determined from multiple threads of divided physics simulation operations and thus cannot determine from any plurality of such thread versions which is most suited to a client computer.
Brebner (US PGPUB No. 20200004759) more specifically teaches techniques relating to multi-threading and compiling alternatives at runtime, teaching an engine that handles physics (see Brebner, paragraph 0085 teaching "the design of the underlying C++ engine of the application system 100 may be built around a multi-threaded game style engine. This multi-threaded game style engine may marshal resources, cache media and data, manage textures, and handle sound, network traffic, animation features, physics for moving objects and shaders") and describes multiple versions of runtime code for controlling operations (see paragraph 0615-0617 teaching "isual editing environment and the code execution engine may work cooperatively to enable a plurality of versions of runtime code, such as a compiled output of the digital content asset control code created and/or edited in the visual editing environment using the domain-specific declarative language. In embodiments, the visual editing environment may be written using the domain-specific declarative language as is used to create and/or edit the plurality of runtime versions of the digital content asset" and " the system may support producing different types of runtime versions, such as preview versions, portal versions, and the like. A preview runtime version generated with the system may enable a user to preview one or more behaviors of the digital content asset. A preview version may be a limited functionality version that, when the runtime is executed, exhibits a portion of the behaviors of the digital content asset based on, for example, a subset of available statements of the domain-specific declarative language" and "generated code may be shared with different runtime versions, such as the portal runtime version. The portal runtime version may be compiled with an LLVM compiler and the like"). Thus in general Brebner teaches code execution can be affected at various levels and compiled differently and served as different versions, and that multi-threading operations can be performed in such a system, there is no teaching or suggestion of the claimed feature of the multi-threading technique which compiles a plurality of thread versions determined from multiple threads of divided physics simulation operations and thus cannot determine from any plurality of such thread versions which is most suited to a client computer.
Thus while the prior art supplies teachings related to parallel execution of physics threads, platform/client compatibility/suitability, and device-dependent adaptation, there is no teaching or suggestion of a multi-threading technique which compiles a plurality of thread versions determined from multiple threads of divided physics simulation operations and thus such teachings do not determine from any plurality of such thread versions which is most suited to a client computer. Thus claims 1-6, 9, and 19-20 are allowed, and claims 10-18 contain allowable subject matter.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SCOTT E SONNERS whose telephone number is (571)270-7504. The examiner can normally be reached Mon-Friday 9-5.
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, Xiao Wu can be reached at (571) 272-7761. 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.
/SCOTT E SONNERS/Examiner, Art Unit 2613
/XIAO M WU/Supervisory Patent Examiner, Art Unit 2613