Prosecution Insights
Last updated: May 29, 2026
Application No. 17/898,904

SECURE ACCESS OF VIRTUAL MACHINE MEMORY SUITABLE FOR AI ASSISTED AUTOMOTIVE APPLICATIONS

Final Rejection §102§103
Filed
Aug 30, 2022
Priority
Aug 03, 2018 — provisional 62/714,634 +1 more
Examiner
NGUYEN, VAN H
Art Unit
2100
Tech Center
2100 — Computer Architecture & Software
Assignee
Nvidia Corporation
OA Round
2 (Final)
89%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 89% — above average
89%
Career Allowance Rate
763 granted / 855 resolved
+34.2% vs TC avg
Strong +18% interview lift
Without
With
+18.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
15 currently pending
Career history
874
Total Applications
across all art units

Statute-Specific Performance

§101
7.0%
-33.0% vs TC avg
§103
44.1%
+4.1% vs TC avg
§102
36.1%
-3.9% vs TC avg
§112
2.6%
-37.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 855 resolved cases

Office Action

§102 §103
DETAILED ACTION 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This action is responsive to the amendment filed 10/07/2025. Claims 1-20 are pending in this application. Specification 2. The specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant's cooperation is requested in correcting any errors of which applicant may become aware in the specification. The cross reference related to the application cited in the specification must be updated (i.e., update the relevant status, with PTO serial numbers or patent numbers where appropriate). Correction is required. Double Patenting 3. The non-statutory 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 non-statutory obviousness-type 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); and 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 non-statutory 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 § 2146 et seq. 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 filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual 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/apply/applying-online/eterminal-disclaimer. Claims 1-20 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-20 of U.S. patent number 11429419. Although the conflicting claims are not identical, they are not patentably distinct from each other because U.S. patent number 11429419 teaches or suggests every element of the instant application. Instant Application U.S. patent number 11429419 1. A method comprising: recording information indicating receipt, by a host controller, of a notification of a storage event, by a virtual machine (VM), of data in memory allocated to the VM in response to a command from a virtual machine manager (VMM) of a request for read access to the data stored in the memory, validating, by the host controller using the information indicating the receipt of the notification that the request for the read access is responsive to the storage event; and providing, by the host controller and in response to the command, the VMM with the read access to the data based at least on the validating of the request for the read access 1. A method comprising: receiving, by a host controller firmware, a notification from a virtual machine (VM) in association with data stored in a memory comprised in a computing device and allocated to the VM, the notification defining one or more values; receiving a command from a virtual machine manager (VMM), the command indicating a memory address corresponding to the data in the memory; reading the data from the memory address based on the receiving of the command; validating, by the host controller firmware, the data read from the memory address based at least on determining the data read from the memory represents content that includes the one or more values defined by the notification; providing, by the host controller firmware, the VMM with access to the data read from the memory address based on the content including the one or more values; and sending a command completion event to the VMM indicating the data read from the memory address is validated. As to the remaining claims 2-20, they are also rejected under obvious type double patenting as stated in claim 1 above. Claim Rejections - 35 USC § 102 4. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention. Claims 1-8, 10-14, and 16-19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Rajagopal et al. (US 20070055837). It is noted that any citations to specific, pages, columns, paragraphs, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP 2123. As to claim 16: Rajagopal teaches a system (Fig.2 and [0038]: system 200 ... a Virtual Machine Monitor (VMM) 201, a Virtual Machine (VM) 210, and memory 270, and a Memory Controller 260... a plurality of Virtual Machines) comprising: one or more processing units to provide a virtual machine manager (VMM) with read access to data in memory allocated to a virtual machine (VM) based at least on a host controller validating, using a record of a storage event, by the VM, of the data in the memory, that a request for the read access by a command from the VMM is responsive to the storage event ([0014:] Typically, a Virtual Machine Monitor (VMM) may be a thin layer of software running on a computer responsible for creating, configuring, and managing VMs; [0016]: the allocation request may be received by a Virtual Machine Monitor (VMM). In one embodiment, the VMM may be a privileged piece of software, firmware, or combination thereof, that is responsible for creating, configuring, and managing a number of VMs. It may, in one embodiment, have complete access to the whole of system memory, and some or all system resources. The VMM may be responsible for controlling and monitoring access from the VMs to these resources; [0025]: if the VMM is monitoring multiple VMs, each VM may need to be made aware that the allocated memory portion is protected. In another embodiment, each VM may be isolated and substantially unaware of each other. In one specific embodiment, each of the Process Page Tables for each VM, if the embodiment includes a memory portion at a page level of granularity, may be configured to generate a page fault when a write is attempted to the memory portion; [0042] In another embodiment, the VMM 201 may also include a Validation Agent 225. The Validation Agent may be capable of validating that the Guest Software Agent 220 is not corrupted and authorized to allocate memory portions, as described above in reference to Block 120 of FIG. 1. The Validation Agent, in one embodiment, may also be capable of altering and configuring the Register Source List 230. The Validation Agent may, in one embodiment, edit the Register Source List to correlate memory portions with authorized Guest Software Agents). As to claim 17: Rajagopal teaches the record is generated in response to the host controller receiving a notification sent by the VM responsive to the storage event ([0035] and [0043-0044]). As to claim 18: Rajagopal teaches the record indicates a quantity of at least one of: one or more notifications of storage events received by the host controller from the VM, wherein the validating is based at least on the quantity of notifications of storage events received by the host controller from the VM; or one or more requests sent by the host controller to the VMM for the VMM to process one or more commands from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM ([0025-0026] and [0040-0042]). As to claim 19: Rajagopal teaches the system comprises at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for generating or presenting virtual reality (VR) content; a system for generating or presenting augmented reality (AR) content; a system implemented using a robot; or a system incorporating one or more virtual machines ([0014], [0016], and [0025]). As to claim 1: Rajagopal teaches a method comprising: recording information indicating receipt, by a host controller, of a notification of a storage event, by a virtual machine (VM), of data in memory allocated to the VM ([0016:] the allocation request may be received by a Virtual Machine Monitor (VMM). In one embodiment, the VMM may be a privileged piece of software, firmware, or combination thereof, that is responsible for creating, configuring, and managing a number of VMs. It may, in one embodiment, have complete access to the whole of system memory, and some or all system resources. The VMM may be responsible for controlling and monitoring access from the VMs to these resources; [0025]: if the VMM is monitoring multiple VMs, each VM may need to be made aware that the allocated memory portion is protected. In another embodiment, each VM may be isolated and substantially unaware of each other. In one specific embodiment, each of the Process Page Tables for each VM, if the embodiment includes a memory portion at a page level of granularity, may be configured to generate a page fault when a write is attempted to the memory portion); in response to a command from a virtual machine manager (VMM) of a request for read access to the data stored in the memory, validating, by the host controller using the information indicating the receipt of the notification that the request for the read access is responsive to the storage event ([0040]: In one embodiment, VMM 201 may include a Registered Source List 230 and a Confirmation Agent 250. In another embodiment, the VMM may also include a Validation Agent 225. The VMM may be capable of protecting and controlling access to memory portions. In one embodiment, the VMM may be capable of receiving a request to allocate memory from the Guest Software Agent 220, as described above in reference to Block 110 of FIG. 1. The VMM may also be capable of marking the allocated memory portion as protected from access, such as, for example memory reads and writes, as described above in reference to Block 130 of FIG. 1; [0041]: In one embodiment of the VMM 201, the Registered Source List may be capable of correlating code images or other code identifiers with authorized memory portions. The Confirmation Agent 250 may be capable of determining whether or not a Guest Software Agent 220 is permitted to access a memory portion; [0042] In another embodiment, the VMM 201 may also include a Validation Agent 225. The Validation Agent may be capable of validating that the Guest Software Agent 220 is not corrupted and authorized to allocate memory portions, as described above in reference to Block 120 of FIG. 1. The Validation Agent, in one embodiment, may also be capable of altering and configuring the Register Source List 230. The Validation Agent may, in one embodiment, edit the Register Source List to correlate memory portions with authorized Guest Software Agents) ; and providing, by the host controller and in response to the command, the VMM with the read access to the data based at least on the validating of the request for the read access (([0040]: the VMM may also include a Validation Agent 225. The VMM may be capable of protecting and controlling access to memory portions. In one embodiment, the VMM may be capable of receiving a request to allocate memory from the Guest Software Agent 220, as described above in reference to Block 110 of FIG. 1. The VMM may also be capable of marking the allocated memory portion as protected from access, such as, for example memory reads and writes, as described above in reference to Block 130 of FIG. 1; [0041]: In one embodiment of the VMM 201, the Registered Source List may be capable of correlating code images or other code identifiers with authorized memory portions. The Confirmation Agent 250 may be capable of determining whether or not a Guest Software Agent 220 is permitted to access a memory portion; [0042] In another embodiment, the VMM 201 may also include a Validation Agent 225. The Validation Agent may be capable of validating that the Guest Software Agent 220 is not corrupted and authorized to allocate memory portions, as described above in reference to Block 120 of FIG. 1.; see also, Fig.2). As to claim 2: Rajagopal teaches the host controller comprises an I/O host controller to a host system. ([0045]). As to claim 3: Rajagopal teaches the information corresponds to a quantity of at least one of: one or more notifications received by the host controller from the VM, wherein the validating is based at least on the quantity of notifications received by the host controller from the VM; or one or more requests sent by the host controller to the VMM responsive to at least the notification from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM ([0025-0026] and [0040-0042]). As to claim 4: Rajagopal teaches the host controller is comprised in at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for generating or presenting virtual reality (VR) content; a system for generating or presenting augmented reality (AR) content; a system implemented using a robot; or a system incorporating one or more virtual machines ([0014], [0016], and [0025]). As to claim 5: Rajagopal teaches the request for the read access is responsive to the host controller forwarding the notification, received by the host controller from the VM, to the VMM ([0020] and [0026-0028]). As to claim 6: Rajagopal teaches the information represents a virtual function identifier (VF ID), and the validating includes comparing, using the information, the VF ID to an identifier received in the command ([0018-0019] and [0040-0042]). As to claim 7: Rajagopal teaches the information represents a slot identifier (ID), and the validating includes comparing, using the information, the slot ID to an identifier received in the command ([0018-0019] and [0040-0042]). As to claim 8: Rajagopal teaches the command is a read command generated by the VMM and comprises a memory address and a data size to be read using the memory address, and the validating includes determining the data size matches a memory size indicated by the information ([0030] and [0040-0042]). As to claim 10: Rajagopal teaches one or more processors (Abstract) comprising: one or more circuits ([0093]) to: generate, using a host controller, a record of an event, the event corresponding to a storage event, by a virtual machine (VM) of storing data in memory allocated to the VM ([0016:] the allocation request may be received by a Virtual Machine Monitor (VMM). In one embodiment, the VMM may be a privileged piece of software, firmware, or combination thereof, that is responsible for creating, configuring, and managing a number of VMs. It may, in one embodiment, have complete access to the whole of system memory, and some or all system resources. The VMM may be responsible for controlling and monitoring access from the VMs to these resources; [0025]: if the VMM is monitoring multiple VMs, each VM may need to be made aware that the allocated memory portion is protected. In another embodiment, each VM may be isolated and substantially unaware of each other. In one specific embodiment, each of the Process Page Tables for each VM, if the embodiment includes a memory portion at a page level of granularity, may be configured to generate a page fault when a write is attempted to the memory portion); in response to a request from a virtual machine manager (VMM) for read access to the data stored in the memory, validate, using the host controller and the record that the request for the read access is responsive to the storage event ([0040]: In one embodiment, VMM 201 may include a Registered Source List 230 and a Confirmation Agent 250. In another embodiment, the VMM may also include a Validation Agent 225. The VMM may be capable of protecting and controlling access to memory portions. In one embodiment, the VMM may be capable of receiving a request to allocate memory from the Guest Software Agent 220, as described above in reference to Block 110 of FIG. 1. The VMM may also be capable of marking the allocated memory portion as protected from access, such as, for example memory reads and writes, as described above in reference to Block 130 of FIG. 1; [0041]: In one embodiment of the VMM 201, the Registered Source List may be capable of correlating code images or other code identifiers with authorized memory portions. The Confirmation Agent 250 may be capable of determining whether or not a Guest Software Agent 220 is permitted to access a memory portion; [0042] In another embodiment, the VMM 201 may also include a Validation Agent 225. The Validation Agent may be capable of validating that the Guest Software Agent 220 is not corrupted and authorized to allocate memory portions, as described above in reference to Block 120 of FIG. 1. The Validation Agent, in one embodiment, may also be capable of altering and configuring the Register Source List 230. The Validation Agent may, in one embodiment, edit the Register Source List to correlate memory portions with authorized Guest Software Agents); and provide, by the host controller and in response to the request for the read access, the VMM with the read access to the data based at least on the validating of the request for the read access ([0040]: the VMM may also include a Validation Agent 225. The VMM may be capable of protecting and controlling access to memory portions. In one embodiment, the VMM may be capable of receiving a request to allocate memory from the Guest Software Agent 220, as described above in reference to Block 110 of FIG. 1. The VMM may also be capable of marking the allocated memory portion as protected from access, such as, for example memory reads and writes, as described above in reference to Block 130 of FIG. 1; [0041]: In one embodiment of the VMM 201, the Registered Source List may be capable of correlating code images or other code identifiers with authorized memory portions. The Confirmation Agent 250 may be capable of determining whether or not a Guest Software Agent 220 is permitted to access a memory portion; [0042] In another embodiment, the VMM 201 may also include a Validation Agent 225. The Validation Agent may be capable of validating that the Guest Software Agent 220 is not corrupted and authorized to allocate memory portions, as described above in reference to Block 120 of FIG. 1; see also, .). As to claim 11: Rajagopal teaches the one or more circuits are to generate the record is in response to the host controller receiving a notification sent by the VM responsive to the storing of the data in the memory (Fig.2 and [0040-0041]). As to claim 12: Rajagopal teaches the record corresponds to a quantity of at least one of: one or more notifications of storage events received by the host controller from the VM, wherein the one or more circuits are to validate that the request for the read access is responsive to the storage event based at least on the quantity of notifications of storage events received by the host controller from the VM; or one or more requests sent by the host controller to the VMM for the VMM to process one or more commands from the VM, wherein the validating is based at least on the quantity of requests sent by the host controller to the VMM ([0025-0026] and [0040-0042]). As to claim 13: Rajagopal teaches the one or more circuits are comprised in at least one of: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for generating or presenting virtual reality (VR) content; a system for generating or presenting augmented reality (AR) content; a system implemented using a robot; or a system incorporating one or more virtual machines ([0014], [0016], and [0025]). As to claim 14: Rajagopal teaches the one or more circuits are to validate that the request for the read access is responsive to the storage event is based at least on the host controller determining at least one of a virtual function identifier in the record or a slot identifier in the record matches the request ([0041-0042]). Claim Rejections - 35 USC § 103 5. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102 of this title, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made. Claims 9, 15, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Rajagopal et al. in view of Harriman (US 20160224474). As to claims 9, 15, and 20: Rajagopal teaches the data comprises a request by the VM for connection capabilities of an entity based at least on a connection of the entity to the host controller ([0014-0016]). Rajagopal, however, does not explicitly teach, Harriman teaches the notification represents a doorbell event for the request ([0024-0025]). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Rajagopal with Harriman because it would have provided the enhanced capability for extending an ability of a VMM to directly assign VMs to hardware to improve power and performance of a VM and a computing system. Response to Arguments 6. Applicant's arguments filed 10/07/2025 have been fully considered but are deemed to be moot in view of the new ground(s) of rejection necessitated by Applicant's amendments. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 extension fee 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 date of this final action. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAN H. NGUYEN whose telephone number is (571) 272-3765. The examiner can normally be reached on Monday- Friday from 9:00AM to 5:30 PM. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, LEWIS BULLOCK, can be reached at telephone number (571) 272-3759. 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 Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center or Private PAIR to authorized users only. Should you have questions about access to Patent Center or the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form. /VAN H NGUYEN/ Primary Examiner, Art Unit 2199
Read full office action

Prosecution Timeline

Aug 30, 2022
Application Filed
Jul 10, 2025
Non-Final Rejection mailed — §102, §103
Oct 07, 2025
Response Filed
Jan 13, 2026
Final Rejection mailed — §102, §103
Apr 06, 2026
Request for Continued Examination
Apr 10, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12639109
JOB PROCESSING SYSTEM AND METHOD BASED ON CLOUD SERVICE
3y 0m to grant Granted May 26, 2026
Patent 12632294
SERVICE SCHEDULING USING STATIC AND DYNAMIC SERVICE AFFINITIES
2y 12m to grant Granted May 19, 2026
Patent 12632295
EDGE FRAMEWORK ON CONSTRAINED DEVICE
2y 7m to grant Granted May 19, 2026
Patent 12625718
METHOD FOR CREATING NETWORK SERVICE NS AND RELATED APPARATUS
2y 8m to grant Granted May 12, 2026
Patent 12625740
SYSTEM AND METHOD FOR SMART SUBSCRIPTION TO CLOUD BASED SERVICES
2y 8m 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
89%
Grant Probability
99%
With Interview (+18.5%)
3y 3m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 855 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