Prosecution Insights
Last updated: April 19, 2026
Application No. 18/493,955

SYSTEMS AND METHODS TO USE NON-THREAD SAFE APIS IN THREADED PROGRAMS USING THREAD-SAFE INTERFACES

Non-Final OA §103
Filed
Oct 25, 2023
Examiner
WALTON, CHESIREE A
Art Unit
3624
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
DELL PRODUCTS, L.P.
OA Round
1 (Non-Final)
30%
Grant Probability
At Risk
1-2
OA Rounds
3y 5m
To Grant
58%
With Interview

Examiner Intelligence

Grants only 30% of cases
30%
Career Allow Rate
63 granted / 211 resolved
-22.1% vs TC avg
Strong +29% interview lift
Without
With
+28.6%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
52 currently pending
Career history
263
Total Applications
across all art units

Statute-Specific Performance

§101
38.8%
-1.2% vs TC avg
§103
48.9%
+8.9% vs TC avg
§102
4.7%
-35.3% vs TC avg
§112
5.6%
-34.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 211 resolved cases

Office Action

§103
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 . Notice to Applicant Claims 1- 20 have been examined in this application. This communication is the first action on the merits. No Information Disclosure Statement (IDS) has been filed to date. Claim Rejections - 35 USC § 103 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 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. 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-5, 7-12, 14-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Puthillathe et al., US Publication No. 20220114027A1, [hereinafter Puthillathe], in view of Daloze et al., US Publication No. 20170277467A1, [hereinafter Daloze], in further view of Szabó et al., "Vulkan in C# for Multi-Platform Real- Time Graphics," 2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA), Košice, Slovenia, 2020, pp. 687-692 [hereinafter Szabo]. Regarding Claim 1, Puthillathe teaches An Information Handling System (IHS) comprising: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory having program instructions stored thereon that, upon execution by the at least one processor, cause the IHS to: (Puthillathe Abstract- An Information Handling System (IHS) includes multiple hardware devices, and a Baseboard Management Controller (BMC) in communication with the hardware devices. The BMC includes executable code to cause the BMC to receive a message associated with a non-registered hardware device that is not registered to be managed by the BMC in which the message formatted according to a native protocol of the BMC.”) Puthillathe teaches metadata objects and the feature is expounded upon by Daloze: create a plurality of objects comprising at least one non-thread-safe object (Daloze Par. 5- Creating the objects includes allocating, for each object, storage based on a shape assigned to the object. The storage includes separate, non-reusable storage locations. Each storage location corresponds to a field of the object. The shape includes a sharing status and a mapping of each field of the object to a storage location. The instructions further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects includes setting the sharing status of the shape assigned to each shared object to indicate that the object is shared.; Par. 42-43-Lost field definitions, in some unsafe object representations, may occur when concurrent updates of field definitions for an object can lead to only one of the fields being added. Such a problem may appear when two threads simultaneously start to derive a new shape from an object's original shape (e.g., where access to the shape pointer is unsynchronized to avoid interfering with compiler optimizations).”) ; Puthillathe and Daloze are directed to information handling systems. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon object creation of Puthillathe, as taught by Daloze, by utilizing additional classification analysis with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe with the motivation of improving performance (Daloze Par. 17). Puthillathe in view of Daloze fail to teach the following feature taught by Szabo: generate a thread-safe interface associated with the non-thread-safe object (Szabo Sec III -Swap-Chain is the resource that let us present our rendered images on the user's screen or window. The way of presenting can differ between platforms and the used window or UI frameworks as well. In OpenGL, the creation of the Swap-Chain was completely hidden from us inside the UI frameworks. In Vulkan, we must construct the Swap-Chain manually…A rendering thread should be started after initialization and the graphics jobs must be executed on this thread. Consequently, the rendering can be executed in an “infinite” while cycle. The condition of the cycle can be the testing of a CancellationTokenSource. When the user is closing the application, the UI control can thread-safely signal to the rendering thread through the CancellationTokenSource to stop its work after the current frame. Lastly, because the UI events and the rendering execute on different threads, we must pass the user events onto the rendering thread in a thread-safe way. We used a ConcurrentQueue to collect user events on the UI thread and the rendering thread can thread-safely read the events from this Queue at the beginning of the new frame.”) ; and when a task request is received from a multi-threaded process, the thread-safe interface generates a single thread to perform a task with the non-thread-safe object, the task being associated with the task request. (Szabo Sec Vi Section B-“In our C# application we can create the Primary Command Buffer, its Pool and its Secondary Command Buffers and their Pools during initialization (or at the beginning of the frame's rendering) from a single thread. We must create a unique Pool for each of our Command Buffers to avoid inconsistent usage from multiple threads. After allocating the Pools and Buffers into an array we can use the Parallel. For function in C# to parallelly iterate through these Buffers. We do not modify the values themselves, but the resources they are identifying. This means, we can use a simple array instead of Concurrent Collections. All the threads will be synchronized at the end of the Parallel. For call, therefore we can safely assume that all the Secondary Command buffers have been constructed and they can be executed in the Primary Command Buffer.”) Puthillathe and Daloze are directed to information handling systems. Szabo improves upon the system handling. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze, as taught by Szabo, by streamlining processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze with the motivation of improving multithreaded applications (Szabo Sec. V). Regarding Claim 2, Claim 9 and Claim 15, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 1, wherein the instructions, upon execution, cause the IHS to…, The thread-safe interfacing method of claim 8, further comprising…, and The memory storage device of claim 14, wherein the instructions, upon execution, cause the IHS to… Puthillathe in view of Daloze fail to teach the following feature taught by Szabo: generate a plurality of Desktop Bus (D-Bus) objects comprising the plurality of objects. (Szabo Sec III - To have a surface we need a graphics window first. On Linux we could get a window using SDL or X Window Library, but these libraries don't provide a complete user interface solution with controls and components, just a window for graphics presentation. We've chosen the open-source Avalonia library to support the easy creation of cross-platform windows and user interfaces. The window's handle can be acquired through the Window class's PlatformImpl property. While the library is supported on Windows, Linux and Mac, Mac doesn't have a concept of Window handles so Avalonia is useable with Vulkan only on Windows and Linux systems. Because we're acquired a pointer to the whole window, not just a control of the window, the Swap-Chain will overwrite the graphics of the complete window and will render above all other controls. Therefore, in Avalonia we need multiple windows if we want to provide a graphics view and UI controls as well. Avalonia uses the X Window Library in the background, so we need to use VkXlibSurfaceCreateInfoKHR for the Vulkan Surface creation.”) Puthillathe and Daloze are directed to information handling systems. Szabo improves upon the system handling. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze, as taught by Szabo, by streamlining processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze with the motivation of improving multithreaded applications (Szabo Sec. V). Regarding Claim 3, Claim 10 and Claim 16, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 2, wherein the IHS …, The thread-safe interfacing method of claim 9, wherein the D-Bus objects are configured…, and The memory storage device of claim 15, wherein the IHS comprises… …comprises a Baseboard Management Controller (BMC) (Puthillathe Abstract - An Information Handling System (IHS) includes multiple hardware devices, and a Baseboard Management Controller (BMC) in communication with the hardware devices. The BMC includes executable code to cause the BMC to receive a message associated with a non-registered hardware device that is not registered to be managed by the BMC in which the message formatted according to a native protocol of the BMC.”) Regarding Claim 4, Claim 11 and Claim 17, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 3, wherein the multi-threaded process …, The thread-safe interfacing method of claim 10, wherein the multi-threaded process…, and The memory storage device of claim 16, wherein the multi-threaded process comprises… …comprises a firmware of the BMC. (Puthillathe Par. 19 -FIG. 1 is a block diagram of examples of several hardware devices of an Information Handling System (IHS), according to one embodiment of the present disclosure. Particularly, IHS 100 includes one or more processor(s) 102 coupled to system memory 104 via system interconnect 106. System interconnect 106 may include any suitable system bus. System memory 104 may include multiple software and/or firmware modules including firmware (F/W) 108, basic input/output system (BIOS) 110, server operating system (OS) 112, and/or application(s) 114. Software and/or firmware module(s) stored within system memory 104 may be loaded into processor(s) 102 and executed during operation of IHS 100.”) Regarding Claim 5, Claim 12 and Claim 18, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 4, …, The thread-safe interfacing method of claim 10, further comprising…, and The memory storage device of claim 17, … wherein the firmware is built using a C++17 version, or newer version, compiler conforming to an ISO/IEC 14882 standard for the C++ programming language. (Puthillathe Par. 19 -FIG. 1 is a block diagram of examples of several hardware devices of an Information Handling System (IHS), according to one embodiment of the present disclosure. Particularly, IHS 100 includes one or more processor(s) 102 coupled to system memory 104 via system interconnect 106. System interconnect 106 may include any suitable system bus. System memory 104 may include multiple software and/or firmware modules including firmware (F/W) 108, basic input/output system (BIOS) 110, server operating system (OS) 112, and/or application(s) 114. Software and/or firmware module(s) stored within system memory 104 may be loaded into processor(s) 102 and executed during operation of IHS 100.”) Regarding Claim 7 and Claim 20, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 1, wherein the instructions, upon execution, cause the thread-safe interface to…, and The memory storage device of claim 14, wherein the instructions, upon execution, cause the thread-safe interface to… Puthillathe in view of Daloze fail to teach the following feature taught by Szabo: process the task request comprising at least one of a command, instruction, or a request for data from the non-thread-safe object. (Szabo Intro - To achieve incredible performance growth, you must reimplement Your application as a multi-threaded application. In OpenGL You can only use one execution thread at a time to communicate with the GPU. In contrast, Vulkan enables the parallel building of GPU commands and even the submission of these commands from multiple threads to the GPU.; Sec V- Another way of multi-threaded use of the GPU is to submit Command Buffers to the graphics processors through multiple Queues parallelly. Queues are the resources that can receive and schedule Command Buffers on the GPU. A graphics device can have multiple Queues. Submitting work into multiple Queues can result in better scheduling or even parallel execution of multiple jobs on the GPU. However, if these jobs are dependent on each other (which is usually the case), then we must synchronize between them and synchronization can easily slow down multi-threaded applications.”) Puthillathe and Daloze are directed to information handling systems. Szabo improves upon the system handling. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze, as taught by Szabo, by streamlining processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze with the motivation of improving multithreaded applications (Szabo Sec. V). Regarding Claim 8, Puthillathe teaches A thread-safe interfacing method for non-thread-safe objects, the method comprising: (Puthillathe Abstract- An Information Handling System (IHS) includes multiple hardware devices, and a Baseboard Management Controller (BMC) in communication with the hardware devices. The BMC includes executable code to cause the BMC to receive a message associated with a non-registered hardware device that is not registered to be managed by the BMC in which the message formatted according to a native protocol of the BMC.; Par. 22-26”) Puthillathe teaches metadata objects and the feature is expounded upon by Daloze: creating a plurality of objects comprising at least one non-thread-safe object; (Daloze Par. 5- Creating the objects includes allocating, for each object, storage based on a shape assigned to the object. The storage includes separate, non-reusable storage locations. Each storage location corresponds to a field of the object. The shape includes a sharing status and a mapping of each field of the object to a storage location. The instructions further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects includes setting the sharing status of the shape assigned to each shared object to indicate that the object is shared.; Par. 42-43-Lost field definitions, in some unsafe object representations, may occur when concurrent updates of field definitions for an object can lead to only one of the fields being added. Such a problem may appear when two threads simultaneously start to derive a new shape from an object's original shape (e.g., where access to the shape pointer is unsynchronized to avoid interfering with compiler optimizations).”) ; Puthillathe and Daloze are directed to information handling systems. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon object creation of Puthillathe, as taught by Daloze, by utilizing additional classification analysis with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe with the motivation of improving performance (Daloze Par. 17). Puthillathe in view of Daloze fail to teach the following feature taught by Szabo: generating a thread-safe interface associated with the non-thread-safe object; (Szabo Sec III -Swap-Chain is the resource that let us present our rendered images on the user's screen or window. The way of presenting can differ between platforms and the used window or UI frameworks as well. In OpenGL, the creation of the Swap-Chain was completely hidden from us inside the UI frameworks. In Vulkan, we must construct the Swap-Chain manually…A rendering thread should be started after initialization and the graphics jobs must be executed on this thread. Consequently, the rendering can be executed in an “infinite” while cycle. The condition of the cycle can be the testing of a CancellationTokenSource. When the user is closing the application, the UI control can thread-safely signal to the rendering thread through the CancellationTokenSource to stop its work after the current frame. Lastly, because the UI events and the rendering execute on different threads, we must pass the user events onto the rendering thread in a thread-safe way. We used a ConcurrentQueue to collect user events on the UI thread and the rendering thread can thread-safely read the events from this Queue at the beginning of the new frame.”) ; and when a task request is received from a multi-threaded process, generating, by the thread-safe interface, a single thread to perform a task with the non-thread-safe object, the task being associated with the task request (Szabo Sec Vi Section B-“In our C# application we can create the Primary Command Buffer, its Pool and its Secondary Command Buffers and their Pools during initialization (or at the beginning of the frame's rendering) from a single thread. We must create a unique Pool for each of our Command Buffers to avoid inconsistent usage from multiple threads. After allocating the Pools and Buffers into an array we can use the Parallel. For function in C# to parallelly iterate through these Buffers. We do not modify the values themselves, but the resources they are identifying. This means, we can use a simple array instead of Concurrent Collections. All the threads will be synchronized at the end of the Parallel. For call, therefore we can safely assume that all the Secondary Command buffers have been constructed and they can be executed in the Primary Command Buffer.”) Puthillathe and Daloze are directed to information handling systems. Szabo improves upon the system handling. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze, as taught by Szabo, by streamlining processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze with the motivation of improving multithreaded applications (Szabo Sec. V). Regarding Claim 14, Puthillathe teaches A memory storage device having program instructions stored thereon that, upon execution by one or more processors of a client Information Handling System (IHS), cause the client IHS to: (Puthillathe Abstract- An Information Handling System (IHS) includes multiple hardware devices, and a Baseboard Management Controller (BMC) in communication with the hardware devices. The BMC includes executable code to cause the BMC to receive a message associated with a non-registered hardware device that is not registered to be managed by the BMC in which the message formatted according to a native protocol of the BMC.; Par. 19-20; Par. 23; ”) Puthillathe teaches metadata objects and the feature is expounded upon by Daloze: create a plurality of objects comprising at least one non-thread-safe object (Daloze Par. 5- Creating the objects includes allocating, for each object, storage based on a shape assigned to the object. The storage includes separate, non-reusable storage locations. Each storage location corresponds to a field of the object. The shape includes a sharing status and a mapping of each field of the object to a storage location. The instructions further include detecting that the program is initiating a second concurrent thread of execution, and designating a subset of objects as shared objects. Designating the subset of objects as shared objects includes setting the sharing status of the shape assigned to each shared object to indicate that the object is shared.; Par. 42-43-Lost field definitions, in some unsafe object representations, may occur when concurrent updates of field definitions for an object can lead to only one of the fields being added. Such a problem may appear when two threads simultaneously start to derive a new shape from an object's original shape (e.g., where access to the shape pointer is unsynchronized to avoid interfering with compiler optimizations).”) ; Puthillathe and Daloze are directed to information handling systems. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon object creation of Puthillathe, as taught by Daloze, by utilizing additional classification analysis with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe with the motivation of improving performance (Daloze Par. 17). Puthillathe in view of Daloze fail to teach the following feature taught by Szabo: generate a thread-safe interface associated with the non-thread-safe object (Szabo Sec III -Swap-Chain is the resource that let us present our rendered images on the user's screen or window. The way of presenting can differ between platforms and the used window or UI frameworks as well. In OpenGL, the creation of the Swap-Chain was completely hidden from us inside the UI frameworks. In Vulkan, we must construct the Swap-Chain manually…A rendering thread should be started after initialization and the graphics jobs must be executed on this thread. Consequently, the rendering can be executed in an “infinite” while cycle. The condition of the cycle can be the testing of a CancellationTokenSource. When the user is closing the application, the UI control can thread-safely signal to the rendering thread through the CancellationTokenSource to stop its work after the current frame. Lastly, because the UI events and the rendering execute on different threads, we must pass the user events onto the rendering thread in a thread-safe way. We used a ConcurrentQueue to collect user events on the UI thread and the rendering thread can thread-safely read the events from this Queue at the beginning of the new frame.”) ; and when a task request is received from a multi-threaded process, the thread-safe interface generates a single thread to perform a task with the non-thread-safe object, the task being associated with the task request (Szabo Sec Vi Section B-“In our C# application we can create the Primary Command Buffer, its Pool and its Secondary Command Buffers and their Pools during initialization (or at the beginning of the frame's rendering) from a single thread. We must create a unique Pool for each of our Command Buffers to avoid inconsistent usage from multiple threads. After allocating the Pools and Buffers into an array we can use the Parallel. For function in C# to parallelly iterate through these Buffers. We do not modify the values themselves, but the resources they are identifying. This means, we can use a simple array instead of Concurrent Collections. All the threads will be synchronized at the end of the Parallel. For call, therefore we can safely assume that all the Secondary Command buffers have been constructed and they can be executed in the Primary Command Buffer.”) Puthillathe and Daloze are directed to information handling systems. Szabo improves upon the system handling. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze, as taught by Szabo, by streamlining processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze with the motivation of improving multithreaded applications (Szabo Sec. V). Claims 6, 13 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Puthillathe et al., US Publication No. 20220114027A1, [hereinafter Puthillathe], in view of Daloze et al., US Publication No. 20170277467A1, [hereinafter Daloze], in further view of Szabó et al., "Vulkan in C# for Multi-Platform Real- Time Graphics," 2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA), Košice, Slovenia, 2020, pp. 687-692 [hereinafter Szabo], and in further view of Goetz et al., US Patent No. 10209970B2, [hereinafter Goetz] Regarding Claim 6, Claim 13 and Claim 19, Puthillathe in view of Daloze in further view of Szabo teach The IHS of claim 1, wherein the instructions, upon execution, cause the IHS to…, The thread-safe interfacing method of claim 9, further comprising…, and The memory storage device of claim 14, wherein the instructions, upon execution, cause the IHS to… Puthillathe in view of Daloze in further view of Szabo fail to teach the following feature taught by Goetz: generate a lambda function comprising the thread-safe interface. (Goetz Col 1 - FIG. 1 shows an illustration of supporting compatibility checking in a programming language environment in accordance with various embodiments of the invention. As shown in FIG. 1, an expression, e.g. a lambda expression 101, can be supported in a programming language environment 100, e.g. using the Java™ programming language. Lambda expressions 101 can be anonymous methods, which are aimed at addressing the “vertical problem,” or bulky syntax, by replacing the machinery of anonymous inner classes with a syntactically lighter-weight mechanism. The general syntax of the lambda expression 101 can include an argument list 111 and a body 112.”) Puthillathe, Daloze and Szabo are directed to information handling systems. Goetz improves upon the programming. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have improve upon processing of Puthillathe in view of Daloze in further view of Szabo, as taught by Goetz, by additional computer processing with a reasonable expectation of success of arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make the modification to the teachings of Puthillathe in view of Daloze in further view of Szabo with the motivation of i compatibility checking in a programming language environment (Goetz Abstract). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: US Publication No. 11262991B1 to Pritchett- Abstract-“ A method for thread-safe development of a computer program configured for parallel thread execution comprises maintaining a digital record of read or write access to a data object from each of a plurality of sibling threads executing on a computer system. Pursuant to each instance of read or write access from a given sibling thread, an entry comprising an indicator of the access type is added to the digital record. The method further comprises assessing the thread safety of the read or write access corresponding to each entry in the digital record and identifying one or more thread-unsafe instances of read or write access based on the assessment of thread safety.” Any inquiry concerning this communication or earlier communications from the examiner should be directed to Chesiree Walton, whose telephone number is (571) 272-5219. The examiner can normally be reached from Monday to Friday between 8 AM and 5 PM. If any attempt to reach the examiner by telephone is unsuccessful, the examiner’s supervisor, Patricia Munson, can be reached at (571) 270-5396. The fax telephone numbers for this group are either (571) 273-8300 or (703) 872-9326 (for official communications including After Final communications labeled “Box AF”). Another resource that is available to applicants is the Patent Application Information Retrieval (PAIR). Information regarding the status of an application can be obtained from the (PAIR) system. Status information for published applications may be obtained from either Private PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, please feel free to contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). Applicants are invited to contact the Office to schedule an in-person interview to discuss and resolve the issues set forth in this Office Action. Although an interview is not required, the Office believes that an interview can be of use to resolve any issues related to a patent application in an efficient and prompt manner. Sincerely, /CHESIREE A WALTON/ Examiner, Art Unit 3624
Read full office action

Prosecution Timeline

Oct 25, 2023
Application Filed
Feb 06, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591903
SELF-SUPERVISED SYSTEM GENERATING EMBEDDINGS REPRESENTING SEQUENCED ACTIVITY
2y 5m to grant Granted Mar 31, 2026
Patent 12561640
METHOD AND SYSTEM TO STREAMLINE RETURN DECISION AND OPTIMIZE COSTS
2y 5m to grant Granted Feb 24, 2026
Patent 12555047
SYSTEMS AND METHODS FOR FORMULATING OR EVALUATING A CONSTRUCTION COMPOSITION
2y 5m to grant Granted Feb 17, 2026
Patent 12518292
HIERARCHY AWARE GRAPH REPRESENTATION LEARNING
2y 5m to grant Granted Jan 06, 2026
Patent 12333460
DISPLAY OF MULTI-MODAL VEHICLE INDICATORS ON A MAP
2y 5m to grant Granted Jun 17, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

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
30%
Grant Probability
58%
With Interview (+28.6%)
3y 5m
Median Time to Grant
Low
PTA Risk
Based on 211 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