Prosecution Insights
Last updated: April 17, 2026
Application No. 18/377,651

METHODS AND APPARATUS FOR DATA ENCAPSULATION FOR OPERATING SYSTEMS

Final Rejection §101§102
Filed
Oct 06, 2023
Examiner
KHATRI, ANIL
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
unknown
OA Round
2 (Final)
92%
Grant Probability
Favorable
3-4
OA Rounds
2y 6m
To Grant
99%
With Interview

Examiner Intelligence

Grants 92% — above average
92%
Career Allow Rate
961 granted / 1039 resolved
+37.5% vs TC avg
Strong +29% interview lift
Without
With
+29.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
13 currently pending
Career history
1052
Total Applications
across all art units

Statute-Specific Performance

§101
23.4%
-16.6% vs TC avg
§103
39.2%
-0.8% vs TC avg
§102
7.9%
-32.1% vs TC avg
§112
16.3%
-23.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1039 resolved cases

Office Action

§101 §102
Response to Amendment 1. This action is in response to the request for reconsideration filed on 7/18/2025. 2. Claims 1-20 are rejected under 35 U.S.C. 101 because this limitation as drafted is a process that recite the abstract idea of mental processes. Thus, limitations recite and fall within the “Mental Processes” grouping of abstract ideas. (please refer to office action mailed on 4/18/2025). 3. As per applicant’s request claims 1-7, 12-13, 15 and 17-20 has been considered but they are not persuasive (please refer to office action mailed on 4/18/2025). 4. Claim 8-11, 14 and 16 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. 5. Claim(s) 1-7, 12-13, 15 and 17-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Nilsen et al USPN 6, 081,665. In remarks applicant argues, encapsulating a plurality of program global data into a single type of data and instantiating the single type of data as a single global variable for use by an RTOS (real time operating system) of a computerized device. In response to an applicant’s arguments, It was noted that cited reference Nilsen et al fairly discloses encapsulating a plurality of program global data into a single type of data (column 24, line 42, the stack pointers are represented by C global variables declared as pointers. Access to stack data uses C pointer indirection, without enforcement of special read or write barriers. (See FIG. 64 and FIG. 65) b. Each time the task is preempted, the global variables representing the currently executing thread's stack pointers are saved by the run-time dispatcher in the thread's structure representation (See FIG. 53 and FIG. 44). Note the use of the GetSPOffset() macro (See FIG. 40); instantiating the single type of data as a single global variable for use by an RTOS (real time operating system) of a computerized device (see abstract, the invention is a method for use in executing portable virtual machine computer programs under real-time constraints. The invention includes a method for implementing a single abstract virtual machine execution stack with multiple independent stacks in order to improve the efficiency of distinguishing memory pointers from non-pointers. Further, the invention includes a method for rewriting certain of the virtual machine instructions into a new instruction set that more efficiently manipulates the multiple stacks. Additionally, using the multiple-stack technique to identify pointers on the run-time stack, the invention includes a method for performing efficient defragmenting real-time garbage collection using a mostly stationary technique. The invention also includes a method for efficiently mixing a combination of byte-code, native, and JIT-translated methods in the implementation of a particular task, where byte-code methods are represented in the instruction set of the virtual machine, native methods are written in a language like C and represented by native machine code, and JIT-translated methods result from automatic translation of byte-code methods into the native machine code of the host machine. Also included in the invention is a method to implement a real-time task dispatcher that supports arbitrary numbers of real-time task priorities given an underlying real-time operating system that supports at least three task priority levels. Finally, the invention includes a method to analyze and preconfigure virtual memory programs so that they can be stored in ROM memory prior to program) and (see fig 10, column 19, line 16, pointer variables that are visible to the garbage collector are known throughout this disclosure as "slow pointers". Slow pointers are typically represented by locations on the PERC pointer stack and by certain C-declared global variables identified as "root pointers"). Therefore, examiner interprets that reference fairly allows encapsulation of global data and variable used by real time operation system in a computer system. In remarks an applicant argues, execute an RTOS program; global data is required by the RTOS program to perform a function of the RTOS; utilize data indicative of a single reference to aggregated global data to access the particular global data; access the particular global data via the single reference to enable performance of the function. In response to an applicant’s arguments, It was noted that cited reference Nilsen et al fairly teaches execute an RTOS program (see abstract, column 39, line 21, obtains the operating system handle of the thread to be executed. This is represented by the handle field of the Thread object); global data is required by the RTOS program to perform a function of the RTOS (column 19, line 34, cach C function in the virtual machine implementation is identified as either preemptible or non-preemptible. Before calling a preemptible function, the caller must copy all of its essential fast pointers into slow pointers. When the called function returns, the caller must restore the values of these fast-pointer variables by copying from the slow-pointer variables in which their values were previously stored. Throughout this disclosure, we refer to preemptible functions as "slow functions" and to non-preemptible functions as "fast functions."); and (column 29, line 46, the PERC Virtual Machine describes the C function that interprets Java byte codes. This C function, illustrated in FIG. 68, is named pvm(). The single argument to pvm() is a pointer to a Method structure, which includes a pointer to the byte-code that represents the method's functionality. Each invocation of pvm() executes only a single method. To call another byte-code method, pvm() recursively calls itself. Note that pvm() is reentrant. When multiple Java threads are executing, each thread executes byte-code methods by invoking pvm() on the thread's run-time stack); utilize data indicative of a single reference to aggregated global data to access the particular global data; access the particular global data via the single reference to enable performance of the function (column 24, line 28, strict partitioning between fast and slow pointers, and requiring all heap memory access to be directed by way of heap access macros imposes a high overhead. Certain data structures are accessed so frequently that the PERC implementation treats them as special cases in order to improve system performance. In particular, the following exceptions are supported: 1. Note that the PERC stacks dedicated to representation of pointer and non-pointer data respectively are heap allocated. According to the protocols described above, every access to PERC stack data should be directed by way of heap access macros. Since stack operations are so frequent, we allow direct access to stack data using traditional C pointer indirection) and (column 53, line 62, the standard model for execution of Java byte-code programs assumes an execution model comprised of a single stack. Furthermore, the Java byte codes are designed to support dynamic loading and linking. This requires the use of symbolic references to external symbols. Resolving these symbolic references is a fairly costly operation which should not be performed each time an external reference is accessed. Instead, the PERC virtual machine replaces symbolic references with more efficient integer index and direct pointer references when the code is loaded). Therefore, examiner interpreted that reference fairly teaches and allows executing real-time operating system program and global data is required by the program to perform a function of the operating system to utilize data as inventor is concerned with. Conclusion THIS ACTION IS MADE FINAL. 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 Anil Khatri whose telephone number is (571)272-3725. The examiner can normally be reached M-F 8:30-5:00. 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, Wei Zhen can be reached at 571-272-3708. 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. /ANIL KHATRI/Primary Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Oct 06, 2023
Application Filed
Apr 15, 2025
Non-Final Rejection — §101, §102
Jul 18, 2025
Response Filed
Dec 18, 2025
Response after Non-Final Action
Jan 21, 2026
Final Rejection — §101, §102 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602211
PERMISSIONS AND NOTIFICATIONS FOR CONSTRUCT-MODIFICATION TAGS
2y 5m to grant Granted Apr 14, 2026
Patent 12596544
DEPLOYMENT OF UPDATES AT MULTIPLE SITES
2y 5m to grant Granted Apr 07, 2026
Patent 12596538
TRUST-BASED MODEL FOR DEPLOYING ISSUE IDENTIFICATION AND REMEDIATION CODE
2y 5m to grant Granted Apr 07, 2026
Patent 12596631
DIFFING PRIOR EXECUTIONS OF AN EXECUTABLE PROGRAM
2y 5m to grant Granted Apr 07, 2026
Patent 12591413
COMPUTER PROGRAM SPECIFICATION BUILDER
2y 5m to grant Granted Mar 31, 2026
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

3-4
Expected OA Rounds
92%
Grant Probability
99%
With Interview (+29.3%)
2y 6m
Median Time to Grant
Moderate
PTA Risk
Based on 1039 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month