Prosecution Insights
Last updated: October 27, 2026
Application No. 19/340,196

MEMORY REGISTRATION FOR REMOTE DIRECT MEMORY ACCESS

Non-Final OA §DP
Filed
Sep 25, 2025
Priority
Feb 07, 2024 — IN 202411008293 +1 more
Examiner
CHAN, TRACY C
Art Unit
2138
Tech Center
2100 — Computer Architecture & Software
Assignee
Hewlett Packard Enterprise Development L.P.
OA Round
1 (Non-Final)
79%
Grant Probability
Favorable
1-2
OA Rounds
1y 5m
Est. Remaining
79%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
293 granted / 369 resolved
+24.4% vs TC avg
Minimal -0% lift
Without
With
+-0.5%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
10 currently pending
Career history
399
Total Applications
across all art units

Statute-Specific Performance

§101
5.5%
-34.5% vs TC avg
§103
58.8%
+18.8% vs TC avg
§102
8.0%
-32.0% vs TC avg
§112
14.9%
-25.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 369 resolved cases

Office Action

§DP
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Application This office action is in response to the Application filed on 09/25/2025. Claims 1-20 are presented for examination. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 21-40 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,436,902. Comparison of claims is shown in the table below as an example. Current application US 12,436,902 21 obtaining memory registration information from a memory server, the memory registration information comprising a key for a memory registration at the memory server, the memory registration information further comprising a location of a resource tracking entry for the memory registration; performing a remote direct memory access operation at the memory server using the key; and updating the resource tracking entry for the memory registration by directly writing to the location of the resource tracking entry.. 1 obtaining memory registration information from a memory server, the memory registration information comprising a key for a memory registration of a shared memory region of the memory server, the memory registration information further comprising a location of a resource tracking entry for the memory registration, the location of the resource tracking entry comprising a location within a tracking memory region of the memory server; accessing the shared memory region of the memory server by performing a remote direct memory access operation using the key; and updating the resource tracking entry for the memory registration by directly writing to the location within the tracking memory region of the memory server . 22, wherein the location of the resource tracking entry comprises a location within a tracking memory region 1 …the location of the resource tracking entry comprising a location within a tracking memory region of the memory server 23, wherein directly writing to the location of the resource tracking entry comprises performing an atomic compare-and-exchange operation at the location of the resource tracking entry. 2 wherein writing to the location within the tracking memory region of the memory server comprises performing an atomic compare-and-exchange operation at the location within the tracking memory region of the memory server 24, wherein the resource tracking entry comprises a status of the memory registration and a global reference count for the memory registration.. 3 wherein the resource tracking entry comprises a status of the memory registration and a global reference count for the memory registration.. 25, wherein the resource tracking entry comprises a binary word, first bits of the binary word indicate the status of the memory registration, and second bits of the binary word indicate the global reference count for the memory registration 4 wherein the resource tracking entry comprises a binary word, a first portion of the binary word indicating the status of the memory registration, a second portion of the binary word indicating the global reference count for the memory registration. 26, wherein updating the resource tracking entry for the memory registration comprises overwriting the binary word 5 wherein updating the resource tracking entry for the memory registration comprises overwriting the binary word 27, wherein obtaining the memory registration information comprises: searching a local resource cache of the compute node for the memory registration information; and requesting the memory registration information from the memory server in response to the memory registration information being unavailable in the local resource cache 7 wherein obtaining the memory registration information comprises: searching a local resource cache of the compute node for the memory registration information; and requesting the memory registration information from the memory server in response to the memory registration information being unavailable in the local resource cache 28, wherein obtaining the memory registration information further comprises: taking the memory registration information from the local resource cache in response to the memory registration information being available in the local resource cache 8 wherein obtaining the memory registration information further comprises: taking the memory registration information from the local resource cache in response to the memory registration information being available in the local resource cache 29, wherein requesting the memory registration information from the memory server comprises invoking a remote operation at the memory server. 9 wherein requesting the memory registration information from the memory server comprises sending a remote procedure call request to the memory server 30 creating a memory registration at a network interface card of the memory server; storing a resource tracking entry for the memory registration; and sending memory registration information to a compute node, the memory registration information comprising a key for the memory registration, the memory registration information further comprising a location of the resource tracking entry 10 creating a memory registration by registering a shared memory region of the memory server with a network interface card of the memory server; storing a resource tracking entry for the memory registration in a tracking memory region of the memory server; and sending memory registration information to a compute node, the memory registration information comprising a key for the memory registration and a location of the resource tracking entry, the location of the resource tracking entry comprising a location within the tracking memory region of the memory server 31 wherein the location of the resource tracking entry comprises a location within a tracking memory region 10 the location of the resource tracking entry comprising a location within the tracking memory region of the memory server 32 wherein the memory registration is for a shared memory region, and the tracking memory region and the shared memory region are both within a memory of the memory server 10 a memory registration by registering a shared memory region of the memory server with a network interface card of the memory server 33 wherein the resource tracking entry comprises a status of the memory registration and a global reference count for the memory registration 11 wherein the resource tracking entry comprises a status of the memory registration and a global reference count for the memory registration 34 wherein the resource tracking entry comprises a binary word, first bits of the binary word indicate the status of the memory registration, and second bits of the binary word indicate the global reference count for the memory registration 12 wherein the resource tracking entry comprises a binary word, a first portion of the binary word indicating the status of the memory registration, a second portion of the binary word indicating the global reference count for the memory registration 35 releasing the memory registration from the network interface card in response to the status of the memory registration being ready-to-release 13 unregistering the shared memory region from the network interface card in response to the status of the memory registration being ready-to-release 36 deallocating memory for the resource tracking entry. 14 after the unregistering of the shared memory region, deallocating memory for the resource tracking entry 37 wherein the releasing of the memory registration is performed by a background thread of the memory server 15 wherein the unregistering of the shared memory region is performed in the background of the memory server 38 a memory server configured to: create a memory registration at the memory server; store a resource tracking entry for the memory registration; and create memory registration information comprising a key for the memory registration and a location of the resource tracking entry; and a compute node configured to: obtain the memory registration information from the memory server; perform a remote direct memory access operation at the memory server using the key; and update the resource tracking entry for the memory registration by directly writing to the location of the resource tracking entry. 18 a memory server configured to: create a memory registration of a shared memory region of the memory server; store a resource tracking entry for the memory registration in a tracking memory region of the memory server; and create memory registration information comprising a key for the memory registration and a location of the resource tracking entry, the location of the resource tracking entry comprising a location within the tracking memory region of the memory server; and a compute node configured to: obtain the memory registration information from the memory server; access the shared memory region of the memory server by performing a remote direct memory access operation using the key; and update the resource tracking entry for the memory registration by directly writing to the location within the tracking memory region of the memory server. 39 wherein the location of the resource tracking entry comprises a location within a tracking memory region 18 …the location of the resource tracking entry comprising a location within the tracking memory region of the memory server 40 wherein the resource tracking entry comprises a binary word, first bits of the binary word indicate a status of the memory registration, and second bits of the binary word indicate a global reference count for the memory registration 19 wherein the resource tracking entry comprises a binary word, a first portion of the binary word indicating a status of the memory registration, a second portion of the binary word indicating a global reference count for the memory registration Appropriate action is required. Allowable Subject Matter Claims 21-40 would be allowable if rejections on the ground of double patenting are overcome. The following is an examiner’s statement of reasons for allowance: Frank (US20150039712A1) teaches registering a memory region for RDMA, providing a corresponding access key to a remote client, caching the key, and using the key for subsequent RDMA operations. However, Frank does not teach providing, as part of the memory registration information, a location of a resource tracking entry for that registration, together with the claimed compute-node update of that entry by directly writing to the supplied location. See Frank, Figs. 2–3. Forin (US6360220B1) teaches a memory registration cache having entries containing memory handles and in-use counters, returning an entry index with a memory handle, and using the index to decrement the entry’s counter after use. Forin also teaches removing unused entries and deregistering associated handles. However, these operations concern access to a local registration cache by threads or processes. Forin does not teach the claimed arrangement in which a memory server sends a compute node both a key for a registration at the memory server and a location of the corresponding resource tracking entry. Nor does Forin teach the claimed compute-node direct update of that entry in that arrangement. See Forin, Figs. 3–4 and 6–10. Neverovitch (US20220413743A1) teaches remote atomic operations on shared metadata using offsets, including metadata associated with file reference counts and counter arrays. However, the identified metadata does not provide the claimed relationship between a memory registration, its key, and a resource tracking entry whose location is supplied to a compute node in the memory registration information. See Neverovitch, Figs. 3, 5A–5B, and 6A. Shalev (US20170187496A1) teaches RDMA communications, remote memory access information, and atomic operations. Tsirkin (US20150089010A1) teaches registering memory for RDMA transfers during virtual-machine migration and deregistering memory after transfer. These teachings do not supply the claimed registration-information arrangement linking a registration key with the location of a resource tracking entry for the same registration. Venkataramani (US20220206852A1) teaches allocation and caching of pre-registered memory for RDMA, including assigning preregistered chunks to threads to facilitate lockless buffer acquisition. Its buffer-management teachings do not establish the claimed provision, from a memory server to a compute node, of the registration key and corresponding resource-tracking-entry location. See Venkataramani, Figs. 2A–4. The Bell and Bonachea Firehose paper, “A New DMA Registration Strategy for Pinning-Based High Performance Networks” (2003), teaches reference counts associated with pinned memory buckets, accounting for local RDMA operations and remote mappings, and deferred deregistration. However, it does not teach supplying the compute node with the claimed tracking-entry location and having the compute node directly update that entry in the claimed arrangement. See §3.2 and Table 1. The additional teachings of Messmer et al. (US20110093851A1), Fig. 1 and paragraphs [0022]–[0025], concerning atomically updated count and status fields, and US7549152B2, Figs. 4 and 6, concerning registration records and deferred cleanup, do not remedy these deficiencies. Regarding independent claims 21 and 38, the prior art considered does not teach or render obvious the claimed combination of obtaining, from a memory server, memory registration information comprising both a registration key and a location of a resource tracking entry for that registration; performing RDMA using the key; and updating the corresponding resource tracking entry by directly writing to its location. Regarding independent claim 30, the distinction resides in the claimed server-side combination of creating a memory registration at the server’s network interface card, storing a resource tracking entry for that registration, and sending a compute node memory registration information comprising both the registration key and the location of the corresponding resource tracking entry. Claim 30 does not require the compute node’s subsequent direct update. Although the references establish that registration caching, usage counting, remote atomic operations, and deferred cleanup were individually known, their teachings, considered individually and in combination, do not provide a sufficient basis for arranging those features in the particular relationships recited in independent claims 21, 30, and 38. In particular, the identified record does not sufficiently support modifying the registration-key exchange to include the corresponding tracking-entry location and, for claims 21 and 38, using that location for the compute node’s direct update. Accordingly, independent claims 21, 30, and 38, and claims 22–29, 31–37, and 39–40 depending therefrom, are allowable over the prior art considered. Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.” Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY C CHAN whose telephone number is (571)272-9992. The examiner can normally be reached on Monday - Friday 10 AM to 6 PM 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, TIM VO can be reached on (571)272-3642. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /TRACY C CHAN/ Primary Examiner, Art Unit 2138
Read full office action

Prosecution Timeline

Sep 25, 2025
Application Filed
Dec 10, 2025
Response after Non-Final Action
Oct 02, 2026
Non-Final Rejection mailed — §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12761825
DATA STORAGE METHOD, APPARATUS, STORAGE DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM
1y 8m to grant Granted Oct 13, 2026
Patent 12748704
SYSTEM, METHOD, AND APPARATUS FOR PROVIDING AN ADAPTIVE MEMORY ARCHITECTURE FOR AN ARTIFICIAL INTELLIGENCE ENVIRONMENT
2y 1m to grant Granted Sep 29, 2026
Patent 12730588
NVMe COMMAND COMPLETION MANAGEMENT FOR HOST SYSTEM MEMORY
1y 9m to grant Granted Sep 08, 2026
Patent 12730574
DATA PROCESSING METHOD, APPARATUS, AND SYSTEM
1y 8m to grant Granted Sep 08, 2026
Patent 12711064
TECHNOLOGIES FOR CONFIGURABLE CACHING, DEDUPLICATION, AND RATE LIMIT HANDLING
1y 7m to grant Granted Aug 18, 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

1-2
Expected OA Rounds
79%
Grant Probability
79%
With Interview (-0.5%)
2y 6m (~1y 5m remaining)
Median Time to Grant
Low
PTA Risk
Based on 369 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