Prosecution Insights
Last updated: July 17, 2026
Application No. 18/764,480

WRITE-ONLY SWAPPING OF MEMORY PAGES IN A COMPUTING ENVIRONMENT

Non-Final OA §103§112
Filed
Jul 05, 2024
Examiner
TALUKDAR, ARVIND
Art Unit
2132
Tech Center
2100 — Computer Architecture & Software
Assignee
Red Hat Inc.
OA Round
3 (Non-Final)
81%
Grant Probability
Favorable
3-4
OA Rounds
9m
Est. Remaining
85%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allowance Rate
456 granted / 566 resolved
+25.6% vs TC avg
Minimal +4% lift
Without
With
+4.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
32 currently pending
Career history
603
Total Applications
across all art units

Statute-Specific Performance

§101
2.4%
-37.6% vs TC avg
§103
82.1%
+42.1% vs TC avg
§102
5.2%
-34.8% vs TC avg
§112
3.2%
-36.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 566 resolved cases

Office Action

§103 §112
DETAILED ACTION Claims 1-3, 8-10, 13, 15-17 are amended. Claims 19-20 are canceled. Claims 21-22 are new. Claims 1-18, 21-22 are pending. Priority: 7/5/2024 Assignee: Red Hat 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 03/19/2026 has been entered. Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claim(s) 1-18, 21-22 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Note: In the Remarks, the Applicant does not mention the relevant specification paragraph(s) that recite the amendment(s). 1.Amended Claims 1,8,15 are rejected for reciting a limitation that is unsupported by the spec. Amended Claim 1 recites, ‘discarding the existing memory page from the virtual memory…., wherein the discarding involves removing contents of the existing memory page from the virtual memory without writing the contents to disk, without compressing the existing memory page, and without deduplicating the existing memory page’. Nowhere does the spec recite this limitation. Para-0007 of the spec recites, ‘Instead of writing the memory page to disk (e.g. by…. memory swapping)…., compressing the memory page (e.g., using zram), or deduplicating the existing memory page (e.g., by performing KSM), the contents of the existing memory page can be discarded’. The spec lacks explicit support to exclude the three specific features during discarding, the three features being, without writing….to disk, without compressing…., and without dedup. The spec does not demonstrate that the inventor was in possession to exclude this specific combination of features as a whole, during discarding, at the time of filing. Neither does the spec provide a clear reason to exclude the three features, such as explicitly listing the disadvantage(s) of each action, or demonstrating that the inventor envisioned an invention strictly without the three features. The recitation of the spec, ‘Instead of…., the contents can be discarded’ provides an option/alternative. But the claimed limitation, ‘wherein the discarding involves….without….’, is a strict limiting clause. In short, the limitation narrows the claim to exclude the three specific actions entirely. By forcibly converting an alternative into a mandatory exclusion (without original support), the limitation introduces new matter into the claim. The limitation recites a functional result (freeing space by discarding pages without disk write, compress, and dedupe) but lacks disclosure of the clear structural or functional details, such as specific algorithms, working examples or specific configurations that describe how the system selects the existing page whose contents are safe to permanently discard, and how it discards the contents and unmaps the page table entries without invoking the compression, dedup, and I/O subroutines. This lack of disclosure shows that the inventor did not possess ‘discarding’ by prohibiting compression, deduplication and disk writing, at the time of filing. Hence claim 1 is rejected for reciting a limitation that is unsupported by the spec. Claims 8,15 have the same issue. 2.Amended Claims 1-3,8-10,15-17 are rejected for reciting a limitation that is unsupported by the spec. Amended Claim 1 recites, ‘executing a process configured to access one or more memory pages in a virtual memory….’. The limitation describes a process/VM executing within its own allocated memory space. The spec does not recite this limitation. Fig. 1, Para-0013 of the spec recites, ‘The computing system 100 can execute processes 102a-c, such as virtual machines, applications….etc.’. And Fig. 3, Paras:0033-0037 disclose a system executing three processes each within their own memory space. Therefore the spec provides written description support of an initial, standard system where the processes/VMs are actively executing to perform memory management. On the other hand, amended claim 1 recites an initial system ‘executing a process’, and instantiating additional executing processes/VMs, as-needed, at a later time, a concept which is unsupported by the spec. The spec does not provide written description support for this concept, architecture and operation. For example, amended Claim 2 recites, ‘execute a second process’. And amended Claim 3 recites, ‘execute a set of processes’. But the spec does not describe how an executing process/VM or a set of executing processes/VMs are added to the initial system already ‘executing a process’. In other words, the spec fails to disclose the algorithm required to achieve the addition of an executing VM or a set of executing VMs at a later time. This lack of disclosure shows that the inventor did not possess addition of an executing process/VM or a set of executing processes/VMs at a later time, at the time of filing. In summary, reciting an initial system executing a process, and instantiating additional executing processes as needed, in a chronological sequence, recites an architecture, operation and a scope not originally described. Hence claims 1-3, recite new matter and are rejected for the same. Claims 8-10, 15-17 have the same issue. 3.Amended Claims 1,8,15 is rejected for reciting a limitation that is unsupported by the spec. Amended Claim 1 recites, ‘requesting, by the process, allocation of a new memory page to the virtual memory for use in writing data to the virtual memory’…….. ‘….fulfilling the request ….for use by the process in writing the data and …. ‘writing by the process, the data to the new memory page’. The spec does not recite these limitations. Fig. 3, Para-0034 of the spec recites, ‘At block 304, the processing device 202 can request, by a process 212 of the one or more processes 208, a new memory page 216.’ And Fig. 3, Para-0037 recites, ‘At block 310, the processing device 202 can allocate the new memory page 216 for the process 212 subsequent to discarding the existing memory page 218’. The last step 310 does not explicitly disclose writing the data to the new page. Furthermore, the request is a memory allocation request, not a write request which includes the write data. Therefore ‘writing by the process, the data….’, is an unverified extrapolation. The spec fails to support the scope of the amended limitations, making the limitations overly broad and encompassing subject matter not described. This shows that the applicant's possession of the claimed limitations at the time of filing was incomplete. Hence claim 1 is rejected for reciting limitations that are unsupported by the spec. Claims 8,15 have the same issue. The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim(s) 1-18, 21-22 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Note: In the Remarks, the Applicant does not mention the relevant specification paragraph(s) that recite the amendment(s). 1.Amended Claims 1,8,15 are rejected for reciting a limitation that is unclear, inconsistent and indefinite. Amended Claim 1 recites, ‘discarding the existing memory page…., wherein the discarding involves removing contents of…. page….without writing the contents to disk, without compressing the existing memory page, and without deduplicating the existing memory page’. The spec does not recite this limitation. The limitation is inconsistent and technically unsound because it explicitly lists the three actions the OS or hypervisor are not doing without disclosing how they are not doing them. It is well known in the art that the OS or hypervisor inherently performs RAM compression/zRAM and RAM deduplication/KSM as part of virtual memory management. It is unclear how these kernel operations are detected and prohibited. In addition, Para-0022 of the spec recites, ‘write-only swaps can be combined with other memory management techniques, such as memory swapping to the swap device 108 of the computing system 100.’ This discloses writing to disk. Therefore the limitation fails to define the scope of the claim with reasonable certainty. Though the limitation demands the feature of ‘discarding’, the spec in Paras:0007,0025,0038 simultaneously states that this feature causes inoperable consequences such as killing a process, or triggering a segmentation fault/crash. Hence it is unclear if the invention is claiming a definitive technical solution, or merely disclosing a paradoxical abstraction. The spec discloses that discarding can occur as an alternative, but the claim recites that it is mandatory. The spec describes the memory page as ‘discarded’ but implies it still exists in memory, as evidenced by the fact that a process can access it and trigger a page fault. So the claim language stating page is ‘discarded’ creates an ambiguity regarding the operational state of that page. The claim recites that contents are ‘removed’, which usually means wiped out. But because the spec teaches an OS behavior reliant on the discarded page causing a fault or being swapped later, the term ‘removed’ renders the claim scope ambiguous. Is it merely a pointer that is removed, or are the bits themselves zeroed out? In essence, the limitation is ambiguous and lacks sound technical basis. While negative limitations (‘without….’) are generally permissible, the limitation introduces ambiguity and excludes subject matter that lacks adequate support in the spec. Hence the limitation is indefinite and claim 1 is rejected. Claims 8,15 have the same issue. 2.Amended Claim 1 is rejected for reciting a limitation that is unclear, inconsistent and indefinite. Amended Claim 1 recites, ‘determining that a predefined memory consumption limit has been exceeded’. The spec does not recite this limitation. Para-0032 of the spec recites, ‘The processing device 202 can determine that a memory consumption limit 214 predefined for the memory device 204 has been exceeded by the one or more processes 208’. Fig. 3, step 306, Para-0035 also recites the same information. The spec explicitly links the violation to ‘the one or more processes’ that caused it. On the other hand, the claimed limitation simply states the limit was exceeded, without requiring the processing device to pinpoint which exact process is responsible for the overage. Hence claim 1 is rejected for reciting a limitation that is unclear, inconsistent and indefinite. Claims 8, 15 have the same issue. Note: This issue was mentioned in the previous O/A. But it is unresolved. Hence the rejection has been clarified and maintained. 3.Amended Claim 1 is rejected for reciting a limitation that is unclear, inconsistent, incorrect and indefinite. Amended Claim 1 recites, ‘after discarding the existing memory page from the virtual memory, fulfilling the request by allocating the new memory page to the freed space of the virtual memory….’. The spec does not recite this limitation. Fig. 3, Para-0037 of the spec recites, ‘At block 310, the processing device 202 can allocate the new memory page 216 for the process 212 subsequent to discarding the existing memory page 218’. That said, the limitation is unclear and technically unsound. The limitation is confusing virtual memory space with physical memory. In virtual memory systems, virtual address spaces are abstractions. Programs don't ‘discard’ pages to make room for new ones, they request new virtual addresses. Furthermore, reciting ‘allocate a new memory page into a freed space of the virtual memory’ is incorrect. Instead a new virtual address is mapped to a physical memory frame. Discarding (swapping or paging out) a page happens in physical RAM, not virtual memory, thereby a ‘free frame’ is created to store new data. A new page is allocated into physical memory, not the virtual address space. The OS’s MMU then updates the page table to point the virtual address to the new physical frame. Similarly, the amended limitation, 'discarding the existing memory page from the virtual memory to produce freed space in the virtual memory for the new memory page', is indefinite because ‘freed space’ is created in physical memory/RAM, not virtual memory. Since virtual memory is infinite (for user) and doesn't get ‘full’, but physical memory frames do, the limitation must recite, ‘discarding…. ….to produce freed space in physical memory for….’. Hence claim 1 is rejected for reciting a limitation that is unclear, incorrect and indefinite. 4.Amended Claims 2-3,9-10,16-17 are rejected for reciting a limitation that is unclear, ambiguous and indefinite. Claim 2 recites, ‘execute a second process’. And Claim 3 recites, ‘execute a set of processes’. The scope of amended claim 1 covers the execution of one process/VM accessing virtual memory assigned to it. As mentioned in the 112(a), the spec recites the execution of processes/VMs in a standard manner, but lacks written description support for the execution of an additional process/VM or a set of additional processes/VMs. A dependent claim must narrow the scope of the independent claim. Therefore in dependent claim 2, it is unclear if ‘a second execution process’ refers to the process of the independent claim, creating uncertainty about the claim's scope. In dependent Claim 3, it is unclear whether the ‘set’ refers to the same ‘a process’ already claimed, or a completely distinct/subsequent group of executing processes. Reciting ‘executing a set of processes’ is indefinite because the relationship between this new ‘set’ and ‘a process’ of the independent claim is not clearly delineated. Another conflicting scope issue in claim 2 is, ‘….the new memory page is a first memory page and the existing memory page is a second memory page’, ‘the process is a first process….’, and claim 3 which recites, ‘wherein the virtual memory includes a plurality of memory pages’. Terms used in dependent claims must map cleanly to the elements in the independent claim. Hence dependent claims 2-3 are rejected for broadening the scope and introducing ambiguous antecedent basis issues. Claims 9-10, 16-17 have a similar issue. 5.Claim 21 is rejected for reciting a limitation that is unclear, vague and indefinite. Claim 21 recites, ‘wherein the discarding involves marking the existing memory page as missing’. Neither the claim nor the spec define ‘missing’, what component performs the marking and where the marking is stored. The spec lacks the specific structures/steps needed to perform the function of ‘marking’. The written description cannot be commensurate in scope with the claims if it only describes a desired result rather than how to achieve it. Furthermore, amended Claim 15 previously recites ‘wherein the discarding involves removing contents of the existing memory page’. And Para-0007 of the spec recites, ‘if a process attempts to access the discarded memory page, a fault (e.g., a page fault) can be triggered that may kill the process’. This suggests that though the claim recites that the contents/data are discarded, the page still exists in memory. In other words, the spec fails to explicitly distinguish between an illegal memory access (fault and process is killed) and a valid swapped-out page (‘missing’). In essence, the claim language stating the contents are ‘removed’ and the page is ‘missing’ creates an ambiguity regarding the operational state and physical presence of the discarded page. Hence claim 21 is rejected. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-2, 4, 8-9, 11, 15-16, 18, 21 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Chen et al (20120110577) in view of Riel et al (20090172337) and Seo et al (20210200463). As per Claim 1, Chen discloses a system (Chen, [0006 - Fig. 1 shows an arrangement of a computer system 700 that implements virtualization]) comprising: a processing device (Chen, [Fig. 1: CPU 110]); a non-transitory memory device (Chen, [Fig. 1: memory 130]) comprising instructions (Chen, [0194 - computer readable storage medium suitable for storing electronic instructions]) that are executable by the processing device (Chen, [0012 - Executable files will be accessed by the guest OS from the virtual disk 240 or virtual memory 230, which will be portions of the actual physical disk 140 or memory 130 allocated to that VM]; [0007 - The code defining the VM will execute on the actual system hardware 100]) for causing the processing device to perform operations including: executing a process (Chen, [Figs. 1-2: VM 200/‘a process’ running on one VMM]; [0057 - Fig. 3 shows a resource request application executing on a VM. A balloon application 261 executes as a guest application 260 on VM 200; Since the balloon application is executing, it implies that VM 200 is executing/running]) configured to access one or more memory pages in a virtual memory (Chen, [Figs. 1-2: virtual memory 230]), wherein the virtual memory is assigned to at least the process (Chen, [0027 - When a guest operating system 220 is run on VM 200, the guest OS 220 treats virtual memory 230 as if it were the physical memory of a computer system. Thus guest OS 220 will create virtual memory address spaces/pages and map them into the virtual memory 230, thereby implying that the virtual memory is assigned to VM 200]), and wherein the virtual memory is associated with an underlying physical memory (Chen, [0006 – In Fig. 1, a VM 200/a process, which a ‘guest’, is installed on a host platform, which includes system hardware 100/hardware platform; Since Figs. 1-2 show when a VMM running only one VM, that VM uses the host's physical memory]; [0012 - Executable files are accessed by the guest OS from the virtual disk 240/virtual memory 230, which is memory 130 allocated to the VM]); requesting, by the process (Chen, [Figs. 1-3: VM 200]; [0057 - Fig. 3 shows a resource request application executing on a process/VM]), allocation of a new memory page to the virtual memory for use in writing data ([See 112(a)]) to the virtual memory (Chen, [0095 – In Fig. 6, step 602, balloon application 261, running on VM 200, receives allocation parameters. In step 604, it requests a memory allocation]; [0105 – In Fig. 7, step 701, the balloon application driver 225, included in the guest OS, sends allocation parameters to balloon application 261. The allocation parameters contain values for guest VM allocation such as allocation size and frequency of allocation accesses; Here ‘allocation size’ as an allocation parameter suggests the amount of space requested to perform a task like writing data]); determining that a predefined memory consumption limit has been exceeded (Chen, [0061 - VMM includes resource scheduler 601]; [0062 - The resource scheduler 601 characterizes the usage of a VM's guest physical memory]; [0182 – Fig. 14 shows method for controlling memory conditions inside a VM. In step 1402, resource scheduler 601 sets a target/predefined memory condition. In step 1406, resource scheduler 601 determines a memory condition in the VM; Since the claim does not define ‘memory consumption limit’ and how the ‘determination’ is made, the citation is a valid interpretation]); based on the request and determining that the predefined memory consumption limit (Chen, [Figs. 7, 14]; [018 – In Fig. 14, step 1408, resource scheduler 601 determines that the determined memory condition is outside/exceeds the bounds of the target memory condition]) has been exceeded: selecting an existing memory page in the virtual memory to be discarded (Chen, [0108 - Use the access bit of the page table entry to determine which pages are active and which are inactive]; [0170 - The frequency with which a page is paged-out is closely related to the age of that page at the time of page-out. The age of a page at page-out is a measurement of the amount of time between the last detected access to that page and the paging-out of the page]; [0177 - Analysis of the memory condition data shows that the guest operating system 220 is paging-out using a Least Recently Used/LRU paging technique]); discarding the existing memory page from the virtual memory to produce freed space in the virtual memory (Chen, [0146 – In Fig. 11, resource scheduler 601 changes the page table entry for the GPPN to indicate that the GPPN is unmapped]; [0063 - Resource scheduler 601 reclaims some of the physical memory from the inside of the VM by using the balloon application 261 to reduce the amount of guest physical memory used by the other applications 260]) for the new memory page (Chen, [Fig. 7: step 708, Adjust allocation?]; [0107 – In Fig. 7, in step 704, balloon application driver 225 sends 704 the GPPN to the resource scheduler 601. The GVPN is mapped to a GPPN, and this GPPN is sent from the balloon application driver 225 to the resource scheduler 601 so that the resource scheduler 601 can free physical memory allocated to the VM; This implies freeing virtual addresses because the OS/resource scheduler reclaims the physical RAM associated with them]), after discarding the existing memory page from the virtual memory (Chen, [0096 - If the allocation parameters indicate that the memory allocation of the balloon application 261 should be smaller, adjusting a memory allocation can include freeing a guest virtual memory allocation/existing page previously allocated by the guest operating system 220]), fulfilling the request by allocating the new memory page to the freed space of the virtual memory ([See 112(b)]) for use by the process in writing ([See 112(a)]) the data (Chen, [0109 – In Fig. 7, step 706, if the balloon application driver 225 determines that the allocation parameters should be adjusted, then it returns to step 701 to send the new application parameters to the balloon application 261, thereby implying allocating the new memory page to the freed space for writing because of the available memory]); writing, by the process, the data to the new memory page (Chen, [Claim 7 - When the balloon application increases the allocated amount of memory, writing a predetermined value to the page of newly allocated memory immediately following the allocating]). Riel further clarifies, discarding the existing memory page from the virtual memory to produce freed space in the virtual memory for the new memory page (Riel, [0035 – In Fig. 4A, the kernel processing continues at step 412 where the page frame is unmapped from virtual memory. At the next step 415, that page frame is added to a local free page pool]), wherein the discarding involves removing contents of the existing memory page (Riel, [0034 - A system call like POSIX madvise (MADVISE_DONTNEED) specifies that the application that is freeing the memory byte range expects that it will not access the specified range in the near future, thereby implying that the discarding involves removal of contents/data of the existing page]) from the virtual memory without writing the contents to disk, without ([See 112(a), 112(b)]) compressing the existing memory page, and without deduplicating the existing memory page (Riel, [0035 – In Fig. 4A, the O/S kernel side provides functionality for marking the recently released memory in response to the POSIX madvise (MADVISE_DONTNEED). That is, when the kernel recognizes this as recently freed memory, it tracks the page frames which have been marked as freed by placing these pages in a local free page pool; It is well known in the prior art that the system call madvise() when using the MADV_DONTNEED flag tells the kernel that the data in the specified virtual address range is no longer needed, allowing the OS to discard the page instantly without writing to disk, deduplicating, and compressing the page]); after discarding the existing memory page from the virtual memory (Riel, [0020 - Rather than recycling a page when no longer needed by a process/VM, the kernel records the page as available for reuse, thereby implying a discarded existing virtual memory page]), fulfilling the request by allocating the new memory page (Riel, [0047 - In Fig. 5A, step 506 comprises making a determination whether the memory request demands that one page frame be allocated. If at step 506 it is determined that one page frame need to be allocated, the process continues to step 509 to determine if the one page frame is available in a local memory pool that has been created for that requesting process; Since the claim does not recite how ‘allocating the new memory page to the freed space of the virtual memory’ is achieved, the citation is a valid interpretation]) to the freed space ([See 112(b)]) of the virtual memory (Riel, [0033 – Fig. 2 shows local free page pool 120, that comprise page frames that have been freed by a process]) for use by the process in writing the data (Riel, [0047 – In Fig. 5A, step 509, if it is determined that one page frame is available in the local memory pool, the process continues to step 512 where that page is removed. The requesting entity may immediately begin to use the memory page, as indicated at step 515]; [0049 – In Fig. 5B, step 559, if it is determined that one READ-only page is present in a local memory pool, then that page is removed from the free local memory pool as indicated at step 562. The process then proceeds to step 565 where the removed page frame is allocated both read and write access permissions, thereby implying that it can be used to write data]); write, by the process, the data to the new memory page (Riel, [0054 - If the process allocates the same virtual memory again, the kernel only needs to re-enable write access in order for the page frame to be reused for writing]); Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the local free page pool of Riel into the VM memory management of Chen for the benefit that when the kernel has marked memory page(s) as available for reuse, that same process may have immediate access to that page(s) again, without having to incur the system overhead of allocating a new page (Riel, 0018). Neither the spec nor the claim disclose how compression, dedup and I/O are prohibited when a page is discarded. Seo further discloses, wherein the discarding (Seo, [Figs. 1, 3-4]) involves removing contents of the existing memory page from the virtual memory (Seo, [0072 – In Fig. 3, step S122, intercepting at least one page before the at least one page is discarded by the activated kernel swap daemon from volatile memory 100]) without compressing the existing memory page (Seo, [Fig. 4: after steps S131,S132, first profit >= average profit? No, do not compress, thereby implying that compression is avoided]), without writing the contents to disk (Seo, [Fig. 4: Type of the intercepted page ? First page, delete the page; This implies that the space is marked as free and the data is overwritten/removed and writing to disk is avoided]), and without deduplicating the existing memory page (Seo, [0071 - When the intercepted page is the first page/clean page and the memory swap space is full, the first page is deleted from the memory swap space. The clean page is deleted because it is already stored in NVM/disk, thereby implying that deduplication is avoided]); Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the write-swapping of Seo into the VM memory management of Chen,Riel for the benefit of activating a kernel swap daemon and intercepting a page according to the occupancy rate of the volatile memory and discarding it from volatile memory without compressing, deduplication and writing to disk (Seo, Paras:0071-0074). As per Claim 2, the rejection of claim 1 is incorporated and Chen discloses, wherein the new memory page is a first memory page (Chen, [0083 – In Fig. 5B, the balloon application requests some guest virtual memory, and the guest OS 220A allocates at least one guest virtual page/new page]) and the existing memory page that is discarded is a second memory page (Chen, [0084 - In order to accommodate the allocation of the guest virtual pages of the balloon application, the guest OS 220A paged-out some of the guest virtual pages of the guest virtual memory address space 235A]; [0085 - As one of the GVPNs/memory page allocated to the balloon application is mapped to GPPN 239, the GPPN 239 may be paged-out/second page by resource scheduler 601]), wherein the process is a first process (Chen, [Fig. 5B: VM 200A]), and wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to (Chen, [Fig. 5A, 5B, 5C]), subsequent to discarding the second memory page (Chen, [0089 - As the GPPNs map to a shared PPN 134, the PPN to which the GPPN 239 previously mapped can be reclaimed by another VM]): execute a second process (Chen, [Fig. 5B: VM 200B]; [See 112(a)]), request, by the second process, access to the second memory page (Chen, [0089 - PPN 132A, which was previously mapped to by GPPN 232A, can now be assigned to VM 200B, thereby implying that the second process/second VM sent the request]); and send a signal to the second process indicating that the second memory page has been discarded in response to the second process requesting access to the second memory page (Chen, [0085 - GPPN 239 may be unmapped by setting the GPPN 239 to map to a null value]; [0066 - Resource scheduler 601 sends messages to balloon application 261 by sending a special virtual interrupt/signal]). As per Claim 4, the rejection of claim 1 is incorporated and Chen discloses, wherein the new memory page is a first memory page (Chen, [0083 – In Fig. 5B, the balloon application requests some guest virtual memory, and the guest OS 220A allocates at least one guest virtual page/new page]), and the existing memory page that is discarded is a second memory page (Chen, [0084 - In order to accommodate the allocation of the guest virtual pages of the balloon application, the guest OS 220A paged-out some of the guest virtual pages of the guest virtual memory address space 235A]; [0085 - As one of the GVPNs/memory page allocated to the balloon application is mapped to GPPN 239, the GPPN 239 may be paged-out/second page by resource scheduler 601]), wherein the process is a first process (Chen, [Fig. 5B: VM 200A]), and wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to subsequent to discarding the second memory page (Chen, [Fig. 5A-5C]): request, by a second process ([See 112(b)]), access to the second memory page (Chen, [0087 - As the GPPNs do not map to valid PPNs, the PPN to which GPPN 239 previously mapped can assigned to another VM, thereby implying that the other VM 200B/second process can make a request to access to the second memory page]); and send a segmentation fault to the second process in response to second process requesting access to the second memory page (Chen, [0085 - GPPN 239 may be unmapped by setting the GPPN 239 to map to a null value, thereby implying that the access by the second process will send a segmentation fault]). As per Claim 8, it is similar to claim 1 and therefore the same rejections are incorporated. As per Claim 9, it is similar to claim 2 and therefore the same rejections are incorporated. As per Claim 11, it is similar to claim 4 and therefore the same rejections are incorporated. As per Claim 15, it is similar to claim 1 and therefore the same rejections are incorporated. As per Claim 16, it is similar to claim 2 and therefore the same rejections are incorporated. As per Claim 18, it is similar to claim 4 and therefore the same rejections are incorporated. As per Claim 21, the rejection of claim 15 is incorporated and Chen discloses, wherein the discarding involves marking the existing memory page as missing (Chen, [0070 - The guest operating system 220A maintains a page table mapping the GVPNs to GPPNs. If a guest virtual memory page has been paged-out/discarded, instead of mapping to a GPPN, its page table entry may map to a location on the virtual disk 240A or may include some other indication that the page is not stored in guest physical memory. For example, a GVPN may be unmapped, and not map to either a valid GPPN or location on the virtual disk 240, thereby implying that the discarded page is marked as unmapped/missing]). Claim 22 is rejected under AIA 35 U.S.C. 103(a) as being unpatentable over Chen et al (20120110577) in view of in view of Riel et al (20090172337), Seo et al (20210200463) and Berry et al (5544349). As per Claim 22, the rejection of claim 8 is incorporated and Chen discloses, wherein the discarding (Chen, [0071 - A GPPN may be unmapped, and not map to either a valid PPN or location on the disk 140. Unmapped GPPNs are useful for reclaiming physical pages from a VM]) causes a subsequent access attempt to the existing memory page by one or more processes to trigger a fault that causes the one or more processes to be killed or restarted (Chen, [0026 – Frequently in order to page-in some data, the OS must first make room in the physical memory. One method for making room in the physical memory is by paging-out a page presently stored in the physical memory. Paging-out refers to the process of copying a page from the physical memory to another storage device and updating the page table accordingly. Subsequent access to that virtual memory address will then result in another page fault and the paging-in process will repeat, thereby implying that the process is restarted]). Berry further clarifies, wherein the discarding causes a subsequent access attempt to the existing memory page by one or more processes to trigger a fault (Berry, [Col. 4, lines 12-13 – In Fig. 4, in step 401, on encountering a page fault it must be determined whether there is the desired/existing page in the free list]) that causes the one or more processes to be killed or restarted (Berry, [Col. 4, lines 18-22 – In Fig. 4, if the page is in the free list then it must be determined if the page is compressed, via step 412. If the page is not compressed, then the page can be reclaimed via step 414 and the faulting application/process can resume/restart operation, via step 416]). Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the reduced paging of Berry into the VM memory management of Chen,Riel,Seo for the benefit of using certain used pages taken from an active process before being placed on the free list. Thereafter, for every page fault, the free list is first searched, thereby avoiding a physical page fault (Berry, Col. 4, lines 16-17). Claims 3, 10, 17 are rejected under AIA 35 U.S.C. 103(a) as being unpatentable over Chen et al (20120110577) in view of in view of Riel et al (20090172337), Seo et al (20210200463) and Bahirji et al (20200409576). As per Claim 3, the rejection of claim 1 is incorporated, and Chen,Riel,Seo disclose monitoring memory conditions in a virtualized environment. Bahirji further discloses, wherein the virtual memory includes a plurality of memory pages (Bahirji, [0244 - A memory pool table, each memory pool in the table representing memory pages related by common attributes, and each memory pool associated with a VM index, a per-page tracking table, each entry in the per-page tracking table to relate a memory page with VM indices of the memory pool table]), execute a set of processes (Bahirji, [0063 - The VM index is a n-bit field to index into a total of 2n possible VMs]; [0244 - To produce a per-VM memory aggregate using the respective VM index and output the per-VM memory aggregate for VMs related with the memory pages in the per-page tracking table]; [See 112(a)]), and wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to (Bahirji, [Figs. 2-4]), generate, for each memory page of the plurality of memory pages in the virtual memory (Bahirji, [0055 – In Fig. 3, memory page control circuitry 310 is used to monitor each page in memory device 304]; [0069 – In Fig. 4, the per-page tracking table 410 includes one entry for each physical page. Each entry identifies the memory pool index for the page of that entry. In a virtualized environment, the memory pool index includes the VM index/association with VM]; [0037 - Memory management device 104 provides mappings between virtual memory used by processes being executed, and the physical memory]), a least recently used (LRU) score (Bahirji, [Figs, 4, 6, 9]; [0094 – OS 804 uses Set_MemPool_Min_Priority (Non_Time_Critical_Priority) and Set_MemPool_Min_Priority (Time_Critical_Priority) messages 812]; [0066 - Using ranked pools allows the management software to swap pages out of a pool that provides the most benefit in terms of memory that is released when a page is swapped out]; [0097 - In a time-critical condition/LRU, processing circuitry 802 calculates memory recovery from fewer pools. For instance, if the non-time-critical priority threshold is 10, then memory pools with a priority value over 10 are evaluated to identify pages that could be relinquished, thereby implying the each to be relinquished page has a high LRU score; Since the claim does not define ‘LRU score’ and how it is determined, the citation is a valid interpretation]); generate, for each process in the set of processes, an out-of-memory (OOM) score (Bahirji, [0090 - When the system is about to enter into the low memory state, processing circuitry 802 notifies management software 804. The notification is based on a threshold amount of used memory. The processing circuitry 802 accurately determines the actual amount of memory used]; [0099 – In Fig. 9, after steps 902,904,906,908, in step 910, the amount of memory potentially released from pages is aggregated in the respective guest VM counter]; [0100 – In step 914, the report generated is sorted from highest to lowest. This first guest VM in the report is the one that would release the most memory upon swapping its pages, thereby implying that the VM with the lowest value has the highest OOM score]); select the existing memory page to discard (Bahirji, [0056 - The management software communicates with the memory page control circuitry 310 to determine which page/existing page to relinquish to relieve memory pressure]; [0092 – In Fig. 8, management software 804 responds with a request 811 to provide the list of memory pools that pages from them may be relinquished to free up memory. In a virtualized environment, the request 811 will be to obtain a list of memory pools with the associated guest VMs]) based on the LRU score for the existing memory page and on the QOM score for a corresponding process in the set of processes that is associated with the existing memory page (Bahirji, [0108 – In Fig. 11, at step 1106, each entry in the per-page tracking table is scanned and, for each entry: an amount of memory released if the memory page related with the entry is swapped is determined in step 1108, and the amount of memory for the respective VM related with the memory page related with the entry in the per-page tracking table is aggregated to produce a per-VM memory aggregate using the respective VM index]). Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the page tracking scheme Bahirji into the VM memory management of Chen,Riel,Seo for the benefit of the page tracking scheme providing an application programming interface to dynamically select a page to relinquish in order to reduce memory pressure (Bahirji, 0036). As per Claim 10, it is similar to claim 3 and therefore the same rejections are incorporated. As per Claim 17, it is similar to claim 3 and therefore the same rejections are incorporated. Claims 5-7, 12-14 are rejected under AIA 35 U.S.C. 103(a) as being unpatentable over Chen et al (20120110577) in view of Riel et al (20090172337), Seo et al (20210200463) and Aguilera et al (20230012693). As per Claim 5, the rejection of claim 1 is incorporated and Chen,Riel,Seo disclose monitoring memory conditions in a virtualized environment. Aguilera further discloses, wherein the new memory page is a first memory page (Aguilera, [0029 – In Fig. 3, VM 116 reallocates physical page ‘PP’ to the new process 119b; Here process 119b is executing on VM 116 itself]) and the existing memory page that is discarded is a second memory page (Aguilera, [0027 - VM 116 can have a process 119a executing. A physical page ‘PP’ is mapped to machine page ‘MP1’ managed by hypervisor 113. A respective bit in the shared bitmap 203 indicates that physical page PP is currently allocated to process 119a as a virtual page. Subsequently, the hypervisor 113 moves the machine page ‘MP1’ to swap device 109]), wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to discard the second memory page (Aguilera, [Figs. 1, 2A-2B, 3]) by: moving the second memory page to a swap device (Aguilera, [Fig. 1: swap device 109]; [0027 – In Fig. 3, subsequently, the hypervisor 113 moves the machine page ‘MP1’ to swap device 109. This could be done by hypervisor 113 in order free or reclaim pages in memory 106]); and discarding, by the swap device, the second memory page (Aguilera, [0031 - Hypervisor 113 could evaluate the shared bitmap 203 to determine that the contents of the physical page ‘PP’ stored in the swap device are for an unallocated physical page. In response, hypervisor 113 could discard the contents from swap device 109]). Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the swap device of Aguilera into the VM memory management of Chen,Riel,Seo for the benefit of eliminating unnecessary paging from the swap device to memory, so that the performance of the computing device is improved because time is not wasted by the hypervisor or virtual machines waiting on unnecessary paging from the swap device to memory, improving the overall latency of memory operations (Aguilera, 0011). As per Claim 6, the rejection of claim 1 is incorporated and Chen,Riel,Seo disclose monitoring memory conditions in a virtualized environment. Aguilera further discloses, wherein the process is a first process (Aguilera, [Fig. 1: first VM 116]), and wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to (Aguilera, [Figs. 1, 2A-2B, 4]), subsequent to moving the second memory page to the swap device (Aguilera, [0033 - In Fig. 4, step 403, hypervisor 113 swaps out the physical page from memory 106 of computing device 103 to the swap device 109]; [0034 - Then, at step 406, VM 116 deallocates a physical page of the VM]): request, by a second process (Aguilera, [0035 – In Fig. 4, step 409, VM 116 notifies hypervisor 113 that the physical page was deallocated at step 406]), access to the second memory page (Aguilera, [0036 – In Fig. 4, a new process 119 could begin execution and VM 116 could allocate one or more physical pages to process 119 for use as virtual pages by process 119; This implies that another VM 116 can send the access request because Fig. 1 shows multiple VMs]); and send, by the swap device, an error in response to the second process requesting access to the second memory page (Aguilera, [0037 – In Fig. 4, at step 416, VM 116 can access the physical page reallocated at step 413. Because the physical page was previously swapped out to the swap device 109 at step 403, the access will cause a page fault to occur, thereby implying sending an error in response to requesting access to the second memory page]). Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the swap device of Aguilera into the VM memory management of Chen,Riel,Seo for the benefit of eliminating unnecessary paging from the swap device to memory, so that the performance of the computing device is improved because time is not wasted by the hypervisor or virtual machines waiting on unnecessary paging from the swap device to memory, improving the overall latency of memory operations (Aguilera, 0011). As per Claim 7, the rejection of claim 1 is incorporated and Chen,Riel,Seo discloses monitoring memory conditions in a virtualized environment. Aguilera further discloses, wherein the memory device further comprises instructions that are executable by the processing device for causing the processing device to (Aguilera, [Figs. 1, 2A-2B, 3]), discard the existing memory page without swapping the existing memory page to another storage device (Aguilera, [0031 - Hypervisor 113 could evaluate the shared bitmap 203 to determine that the contents of the physical page ‘PP’ stored in the swap device are for an unallocated physical page. In response, hypervisor 113 could discard the contents from the swap device 109 instead of loading them into memory 106/another storage device]). Therefore it would have been obvious to a person of ordinary skill at the time of filing to incorporate the swap device of Aguilera into the VM memory management of Chen,Riel,Seo for the benefit of eliminating unnecessary paging from the swap device to memory, so that the performance of the computing device is improved because time is not wasted by the hypervisor or virtual machines waiting on unnecessary paging from the swap device to memory, improving the overall latency of memory operations (Aguilera, 0011). As per Claim 12, it is similar to claim 5 and therefore the same rejections are incorporated. As per Claim 13, it is similar to claim 6 and therefore the same rejections are incorporated. As per Claim 14, it is similar to claim 7 and therefore the same rejections are incorporated. Response to Arguments The Applicant's arguments filed on March 19, 2026 have been fully considered, but they are not persuasive. In an attempt to overcome the prior art, the amendments recite improper, inconsistent and/or unsupported subject matter. Amendments must always be supported by the spec. Applicant argues: ‘Claim 1 does not require the presence of a second process, nor is it limited to virtual machines’. (Rem, Pg. 11) Response: This argument is incorrect. The scope of a claim is determined by interpreting it in light of the spec, regardless of what the applicant argues. The spec does not provide written description support for the claim 1 limitations based on the claim 1 architecture. With reference to Fig. 1, Para-0013 of the spec recites, ‘The computing system 100 can execute processes 102 a-c, such as virtual machines, applications, one or more containers (e.g., on a single host), etc.’. And Para-0034 recites, ‘….the one or more processes 208 may be applications, multiple virtual machines, or multiple containers executing on a single host’. The spec provides written description support of an initial, conventional system where the processes/VMs are actively executing to perform memory management. Fig. 3, Paras:0033-0037 of the spec describes the full scope of the disclosure with three executing processes/VMs. On the other hand, amended claim 1 recites an initial system executing one process, and instantiates additional executing processes as needed, at a later time. Since the second executing process depends on and/or utilizes the results of the independent claim process, it strongly implies that the second executing process is added later in time in the timeline of the system’s execution. Therefore claim 1 recites an architecture, operation and a scope unsupported by the spec. Please see the 112(a). Also see the 112(b) because instantiating additional executing process(es)/VM(s) in a dependent claim, broadens the scope of dependent claim which is not permitted. Applicant further argues: ‘The Office Action….the specification does not recite the limitation of "determin[ing] that a predefined memory consumption limit has been exceed." Applicant….Paragraph [0032] clearly states that "the processing device 202 can…. exceeded by the one or more processes 208”.’ (Rem, Pg. 12) Response: This argument is incorrect. The amended limitation is inconsistent with the spec. The spec explicitly links the violation to ‘the one or more processes’ that caused it. On the other hand, the amended limitation simply states the limit was exceeded, without requiring the processing device to pinpoint which exact process is responsible for the overage. Please see the 112(b). The final amended an original correct limitation to recite an incorrect limitation. Accordingly the issue was pointed out in the previous O/A but it is unresolved. Applicant further argues: ‘On page 7, the Office Action….alleged…. specification does not recite…."request, by the process, allocation of a new memory page….for use in writing data’. (Rem, Pg. 13) Response: The spec lacks written description support for the amended limitation. The request is a memory allocation request which a command to the OS to reserve an X amount of memory which can be used to store variables, data structures, copy data, write data, read data etc. A write request includes the write data which clearly suggests ‘writing the data’. But since the request in claim 1 is not a write request, the above limitation and the last two write related limitations in claim 1 (‘after discarding….’, ‘writing…’), are unsupported. Please see the 112(a). Amendments must be clear and concise. Unnecessary verbiage adds bulk and inconsistencies, without enhancing clarity, value or impact. Applicant further argues:‘For example, claim 1 now involves "discarding the existing memory page…., wherein the discarding involves removing contents of the existing memory page….without writing….to disk, without compressing…., and without deduplicating….’. (Rem, Pg. 14) Response: The spec lacks written description support for the limitation. Please see the 112(a) and 112(b). The applicant improperly pieces together isolated limitations from separate paragraphs of the spec to form the limitation. By reciting what the process doesn't do, the applicant attempts to sidestep prior art. But the spec does not show that the inventor possessed ‘discarding’ w/o compression, w/o dedupe and w/o disk I/O at the time of filing. Applicant further argues: ‘But that is different from the claimed features because Riel's freed pages remain in physical memory, so that they are available for reuse; they are not discarded without possibility of recovery’. (Rem, Pg. 15) Response: This argument is incorrect. The spec describes the memory page as ‘discarded’ but implies it still exists in memory, as evidenced by the fact that a process can access it and trigger a page fault. The text highlights ‘swapping’ and recites that processes are ‘killed’ and ‘restarted’ upon accessing the discarded page. This suggests the page remains resident but maybe marked as unavailable for replacement, or remains stored in disk. The claim recites that contents are ‘removed’, which usually means wiped out. But because the spec teaches an OS behavior reliant on the discarded page causing a fault or being swapped later, the terms ‘removed’ and ‘discarded’ render the claim scope ambiguous regarding the physical presence of the discarded page. Therefore the spec aligns with Riel. That said, the combination of the prior art disclose the claimed requirement. Please see O/A. Examiner Notes: The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: 1.‘madvise(2) — Linux manual page’, Jul, 02, 2024 https://man7.org/linux/man-pages/man2/madvise.2.html#DESCRIPTION 2.‘Memory scheduler using guest-originated statistics’, US20200241902A1, Freche et al - To control memory allocation, an administrator can specify allocation parameters referred to as memory reservation, limit and shares (RLS) for each VM. Memory reservation provides a guarantee of a minimum amount of memory available to the VM, while memory limit puts an upper bound on the allocation. Memory shares set relative priority of VMs in their memory allocation…. 3.‘Memory ballooning related memory allocation techniques for virtual machines’, US11550729B2, Tsirkin et al - Memory ballooning is a dynamic memory management technique for virtual machines (VMs) to allow the host system to reclaim unused memory from certain VMs and allocate the reclaimed memory to other VMs. In one example, a VM may, via a balloon driver, release memory that is no longer being used to the hypervisor. The released memory may be placed in a reserved memory pool called a balloon…. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARVIND TALUKDAR whose telephone number is (303)297-4475. The examiner can normally be reached M-F, 10 am-6pm EST. 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, Hosain Alam can be reached at 571-272-3978. 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. Arvind Talukdar Primary Examiner Art Unit 2132 /ARVIND TALUKDAR/Primary Examiner, Art Unit 2132
Read full office action

Prosecution Timeline

Show 1 earlier event
Sep 10, 2025
Non-Final Rejection mailed — §103, §112
Dec 08, 2025
Applicant Interview (Telephonic)
Dec 08, 2025
Examiner Interview Summary
Dec 09, 2025
Response Filed
Jan 28, 2026
Final Rejection mailed — §103, §112
Mar 19, 2026
Request for Continued Examination
Mar 24, 2026
Response after Non-Final Action
Jul 01, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675312
PSEUDO-RANDOM WAY SELECTION
2y 0m to grant Granted Jul 07, 2026
Patent 12664102
MEMORY MANAGEMENT
1y 8m to grant Granted Jun 23, 2026
Patent 12657135
METHODS AND APPARATUS FOR INFLIGHT DATA FORWARDING AND INVALIDATION OF PENDING WRITES IN STORE QUEUE
1y 8m to grant Granted Jun 16, 2026
Patent 12639231
MULTI-LEVEL CACHE DATA TRACKING AND ISOLATION
3y 8m to grant Granted May 26, 2026
Patent 12625647
STORAGE DEVICE AND PREFETCH METHOD THEREOF
2y 6m to grant Granted May 12, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
81%
Grant Probability
85%
With Interview (+4.0%)
2y 9m (~9m remaining)
Median Time to Grant
High
PTA Risk
Based on 566 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month