Prosecution Insights
Last updated: April 19, 2026
Application No. 18/473,340

COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL PROGRAM AND ELECTRONIC CONTROL UNIT

Non-Final OA §102§103
Filed
Sep 25, 2023
Examiner
EWALD, JOHN ROBERT DAKITA
Art Unit
2199
Tech Center
2100 — Computer Architecture & Software
Assignee
DENSO CORPORATION
OA Round
1 (Non-Final)
76%
Grant Probability
Favorable
1-2
OA Rounds
3y 5m
To Grant
99%
With Interview

Examiner Intelligence

Grants 76% — above average
76%
Career Allow Rate
16 granted / 21 resolved
+21.2% vs TC avg
Strong +56% interview lift
Without
With
+55.6%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
24 currently pending
Career history
45
Total Applications
across all art units

Statute-Specific Performance

§101
11.1%
-28.9% vs TC avg
§103
56.6%
+16.6% vs TC avg
§102
13.1%
-26.9% vs TC avg
§112
13.9%
-26.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 21 resolved cases

Office Action

§102 §103
CTNF 18/473,340 CTNF 99329 DETAILED ACTION 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Claims 1-7 are pending in this application. Information Disclosure Statement The IDS filed on 9/25/2023 has been considered. Claim Rejections - 35 USC § 102 07-07-aia AIA 07-07 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 – 07-08-aia AIA (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. 07-15 AIA Claim (s) 1, 6, and 7 are rejected under 35 U.S.C. 102( a)(1 ) as being anticipated by Kobayashi et al. (US Pub. No. 2022/0237009 A1 hereinafter Kobayashi) . As per claim 1, Kobayashi teaches a communication control device that controls communication by a plurality of virtual machines operating on a computer (¶ [0039], “FIG. 1 is a schematic diagram illustrating an example of a communication apparatus 100 in which a plurality of virtual machines 1a to 1c operate.”) , the plurality of virtual machines including a master virtual machine and at least one slave virtual machine other than the master virtual machine (¶ [0044], “The back-end virtual network drivers 7b and 7c control communication between the virtual machine 1a in which the software switch 3 operates and other virtual machines 1b and 1c.” See also Fig. 1.) , the communication control device comprising: a physical communication driver that is provided in the master virtual machine and is configured to access a communication device communicating with an external device provided outside the computer and transmit and receive communication data relating to the communication between the master virtual machine and the external device (¶ [0041]-[0042], “The virtual machine 1a includes a software switch 3. The software switch 3 includes network drivers 4a and 4b, a forwarding processing unit 5, a forwarding/filtering database (FDB) 6, and back-end virtual network drivers 7b and 7c. The network drivers 4a and 4b control communication between the NIC 20 and the forwarding processing unit 5. The network drivers 4a and 4b read a frame (data) received by the NIC 20 and input the frame to the forwarding processing unit 5. Further, the network drivers 4a and 4b write a frame received from the forwarding processing unit 5 into the NIC 20.” See also Fig. 20.); a virtual communication device driver that is provided in each of the plurality of virtual machines and is configured to transmit and receive the communication data between each of the plurality of virtual machines (¶ [0044]-[0046], “The back-end virtual network drivers 7b and 7c control communication between the virtual machine 1a in which the software switch 3 operates and other virtual machines 1b and 1c. The virtual machine 1b includes a front-end virtual network driver 8b and an application/network stack (app/stack) 9b. The front-end virtual network driver 8b controls communication between the app/stack 9b and the software switch 3. The virtual machine 1c includes a front-end virtual network driver 8c and an application/network stack (app/stack) 9c. The front-end virtual network driver 8c controls communication between the app/stack 9c and the software switch 3.” See also Fig. 1.); and a relay unit that is provided in the master virtual machine and is configured to relay communication between each of the plurality of virtual machines and the external device (¶ [0041], “The virtual machine 1a includes a software switch 3. The software switch 3 includes network drivers 4a and 4b, a forwarding processing unit 5, a forwarding/filtering database (FDB) 6, and back-end virtual network drivers 7b and 7c.” ¶ [0049]-[0050], “FIG. 3 is a diagram illustrating an example of a Qbv-compatible software TSN switch 200-2 using a virtual machine 1d. The example of FIG. 3 illustrates a case in which the nodes 31a to 31c of FIG. 2 are consolidated as virtual machines 1e to 1g on one physical machine, and these virtual machines 1e to 1g are connected to a TSN switch (software TSN switch 200-2) implemented by the virtual machine 1d. In a case where the TSN switch is simply virtualized as illustrated FIG. 3, front-end virtual network drivers 8e to 8g of guest OSs (virtual machines 1e to 1g) and back-end virtual network drivers 7e to 7g of the software TSN switch 200-2 each execute Qbv processing.”), wherein: the computer includes a shared memory shared by each of the plurality of virtual machines (¶ [0068], “The example of FIG. 5 illustrates an example of data delivery performed in a manner in which the plurality of virtual machines 1l and 1m share the same physical memory area 46. Each virtual machine 1 can directly access the virtual memory 43 and the pseudo-physical memory 44, and manages mapping information (correspondence) between the virtual memory 43 and the pseudo-physical memory 44. The virtual machine monitor 2 manages mapping information of the physical memory (machine memory) 45 and the pseudo-physical memory 44.”); the virtual communication driver virtually transmits and receives the communication data via the shared memory (¶ [0057]-[0060], “In FIG. 4, processing in each of the front-end virtual network drivers 8e to 8g of FIG. 3 is separated into back-end processing units Tx_be and Rx_be related to TSN and other front-end processing units Tx_fe and Rx_fe. A part related to TSN is processed by back-end virtual network drivers 7i to 7k of a software TSN switch 200-3. Tx_be executes transmission processing including Qbv processing of each of virtual machines 1i to 1k…Tx_fe and Rx_fe execute frame delivery processing between each of the virtual machines 1i to 1k and the software TSN switch 200-3.” ¶ [0068], “Data delivery between the virtual machines 1 is implemented by issuing the hypercall described above. The example of FIG. 5 illustrates an example of data delivery performed in a manner in which the plurality of virtual machines 1l and 1m share the same physical memory area 46.”); and in a case where the relay unit receives the communication data transmitted from the slave virtual machine, the relay unit executes a reception process in which the communication data is received according to the destination of the communication data or a transmission process in which the communication data is transmitted to the external device via the communication driver (¶ [0048]-[0050], “FIG. 2 illustrates an example of a Qbv-compatible TSN switch 200 using normal hardware. In FIG. 2, the TSN switch 200 includes three network interfaces 21a to 21c. The network interfaces 21a to 21c are connected to network interfaces 32a to 32c of nodes 31a to 31c, respectively. Each of the network interfaces 32a to 32c executes transmission processing (Tx) and reception processing (Rx). The transmission processing (Tx) is compatible with IEEE 802.1Qbv, and determines a frame transmission timing according to preset schedule information (Qbv). FIG. 3 is a diagram illustrating an example of a Qbv-compatible software TSN switch 200-2 using a virtual machine 1d. The example of FIG. 3 illustrates a case in which the nodes 31a to 31c of FIG. 2 are consolidated as virtual machines 1e to 1g on one physical machine, and these virtual machines 1e to 1g are connected to a TSN switch (software TSN switch 200-2) implemented by the virtual machine 1d. In a case where the TSN switch is simply virtualized as illustrated FIG. 3, front-end virtual network drivers 8e to 8g of guest OSs (virtual machines 1e to 1g) and back-end virtual network drivers 7e to 7g of the software TSN switch 200-2 each execute Qbv processing.” See also para. 0104, 0108, and 0154-0155.). As per claim 2, Kobayashi teaches the device of claim 1. Kobayashi also teaches further comprising: a virtual communication channel module that is configured to transmit and receive communication data by accessing shared memory, wherein: the virtual communication driver is mounted on the virtual communication channel module (¶ [0048]-[0050], “FIG. 2 illustrates an example of a Qbv-compatible TSN switch 200 using normal hardware. In FIG. 2, the TSN switch 200 includes three network interfaces 21a to 21c. The network interfaces 21a to 21c are connected to network interfaces 32a to 32c of nodes 31a to 31c, respectively. Each of the network interfaces 32a to 32c executes transmission processing (Tx) and reception processing (Rx). The transmission processing (Tx) is compatible with IEEE 802.1Qbv, and determines a frame transmission timing according to preset schedule information (Qbv). FIG. 3 is a diagram illustrating an example of a Qbv-compatible software TSN switch 200-2 using a virtual machine 1d. The example of FIG. 3 illustrates a case in which the nodes 31a to 31c of FIG. 2 are consolidated as virtual machines 1e to 1g on one physical machine, and these virtual machines 1e to 1g are connected to a TSN switch (software TSN switch 200-2) implemented by the virtual machine 1d. In a case where the TSN switch is simply virtualized as illustrated FIG. 3, front-end virtual network drivers 8e to 8g of guest OSs (virtual machines 1e to 1g) and back-end virtual network drivers 7e to 7g of the software TSN switch 200-2 each execute Qbv processing.” See also para. 0089-0090.). As per claim 6, it is a non-transitory computer readable storage medium claim comprising similar limitations to claim 1, so it is rejected for similar reasons. Kobayashi also teaches a non-transitory computer readable storage medium (¶ [0201], “The program executed by the computer is an installable or executable file, is recorded in a computer-readable storage medium such as a CD-ROM, a memory card, a CD-R, or a digital versatile disc (DVD), and is provided as a computer program product.”). As per claim 7, it is an electronic control unit claim comprising similar limitations to claim 1, so it is rejected for similar reasons. Kobayashi also teaches a computer and a plurality of virtual machines operating on the computer (¶ [0039], “FIG. 1 is a schematic diagram illustrating an example of a communication apparatus 100 in which a plurality of virtual machines 1a to 1c operate. The example of FIG. 1 illustrates a case where a switch function is implemented by the virtual machine 1a operating on a host processor 10.”) . Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim (s) 3 is rejected under 35 U.S.C. 103 as being unpatentable over Kobayashi . As per claim 3, Kobayashi teaches the device of claim 1. Kobayashi also teaches wherein: the computer includes a register that is configured to store a flag indicating whether or not a reception interrupt of communication data has occurred for each of the plurality of virtual machines (¶ [0120], “The notification information DB 306 includes the type of the hypercall, information indicating a notification destination virtual machine, information notified by using each hypercall, and the like.” ¶ [0126], “As described above, in the communication apparatus 100 according to the first embodiment, a task (for example, the input processing unit 301, the output processing unit 302, and the like) stores notification information notified to the notification destination virtual machine 1 via the virtual machine monitor 2 in the storage unit (in the embodiment, the notification information DB 306) after execution of predetermined processing.” Examiner Note: The reception interrupt information is stored in the notification DB which corresponds to a storage unit of the computer as shown by in the citation above. One of ordinary skill in the art would recognize that a register is one example of a storage unit of the computer. Thus, the storing of the reception interrupt in the notification information DB of Kobayashi reads upon the storing of the notification of the reception interrupt in a register as claimed in the instant application. ¶ [0132], “In a case of the interrupt (hypercall), similarly to the first embodiment, an input processing unit 301/output processing unit 302 registers the notification information in a notification information DB 306.” See also para. 0180); and in a case where the communication data is transmitted and received between the plurality of virtual machines, the virtual communication driver of a transmission machine, which is a virtual machine transmitting the communication data among the plurality of virtual machines, writes the communication data to the shared memory (¶ [0078], “Specifically, when a frame is transmitted from the virtual machine 1 to another virtual machine 1, the transmission source virtual machine 1 writes the frame on a shared memory shared with the destination virtual machine 1, and issues the hypercall to the destination virtual machine 1. As a result, the destination virtual machine 1 can detect that the frame has been written on the shared memory and read the frame from the shared memory.”) and updates the flag corresponding to the reception machine, which is a virtual machine receiving the communication data among the plurality of virtual machines, to a state indicating that the reception interrupt has occurred (¶ [0078], “Thereafter, when the destination virtual machine 1 reads the frame, the hypercall is issued to notify the transmission source virtual machine 1 of completion of frame reading. As described above, the hypercall is also used when a notification of some events is made between the virtual machines 1.” ¶ [0089], “The input processing unit 301 corresponds to Tx_be and Rx of the back-end virtual network driver 7 in FIG. 4. Once a frame is received from the virtual machine 1i, the virtual machine 1j, or the NIC 20 via the input buffer 303, the input processing unit 301 refers to header information to determine a transfer destination network port, and writes the frame in the corresponding transfer buffer 304. The input processing unit 301 issues the hypercall to the virtual machine monitor 2 to notify the transmission source virtual machine 1 of completion of the frame transfer processing. The virtual machine monitor 2 notifies the transmission source virtual machine 1 designated by the hypercall of completion of the transfer processing.”), and the virtual communication driver of the reception machine reads and receives the communication data written to shared memory in a case where the flag corresponding to the reception machine is updated to a state indicating that the reception interrupt has occurred (¶ [0074], “To deliver data from the virtual machine 1l to the virtual machine 1m, the virtual machine 1l maps a page (the virtual memory area 48l or the pseudo-physical memory area 47l) in which data is written to a page of the virtual machine 1m, such that the virtual machine 1m can refer to the data. After the data delivery is completed (the virtual machine 1m reads the data), the virtual machine 1m issues a hypercall (unmap) to unmap the pseudo-physical memory area 47m and the physical memory 46.” ¶ [0090], “The output processing unit 302 corresponds to Tx and Rx_be of the back-end virtual network driver 7 in FIG. 4. The output processing unit 302 receives a frame from the transfer buffer 304 and delivers the frame to the virtual machine 1 (or the NIC 20) via the output buffer 305. Finally, the output processing unit 302 issues the hypercall to the virtual machine monitor 2 in order to notify the destination virtual machine 1 that the frame has been written in the output buffer 305. The virtual machine monitor 2 notifies the destination virtual machine 1 designated by the hypercall that the frame has been transferred. Upon receiving the notification, the destination virtual machine 1 reads the frame from the output buffer 305.”) . 07-22-aia AIA Claim (s) 4-5 are rejected under 35 U.S.C. 103 as being unpatentable over Kobayashi as applied to claim 1 above, and further in view of Kawai (US Pub. No. 2013/0258901 A1) . As per claim 4, Kobayashi teaches the device of claim 1. Kobayashi teaches the virtual communication driver includes a filter and the filter that is implemented by software (¶ [0041], “The software switch 3 includes network drivers 4a and 4b, a forwarding processing unit 5, a forwarding/filtering database (FDB) 6, and back-end virtual network drivers 7b and 7c.” ¶ [0059], “Rx_be executes reception processing of each of the virtual machines 1i to 1k. In Rx_be, IEEE 802.1Qci (filtering processing), IEEE 802.1CB (redundancy processing), and the like can be executed, but the present invention is not limited thereto.”). Kobayashi teaches a generic filtering process but fails to teach filtering data based on the destination virtual machine. However, Kawai teaches a filter that passes the communication data addressed to a predetermined virtual machine among the received communication data and discards other communication data (¶ [0056], “The filtering unit 5 applies a filtering process to the received data according to the virtual network identification information that has been set up. A destination MAC confirming unit 33 and a VLAN ID confirming unit 34 are examples of the filtering unit 5.” ¶ [0063]- [0064], “The filtering unit further determines whether a destination address of the header of the received data is identical with an address set for a communication interface apparatus. Such a configuration allows the received data to be filtered in accordance with the destination address of the received data.”). Kobayashi and Kawai are considered to be analogous to the claimed invention because they are in the same field of communicating data between VMs. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify filtering process of Kobayashi with the filtering process of Kawai to arrive at the claimed invention. The motivation to modify Kobayashi with the teachings of Kawai is that applying a filtering process to communication data allows communication data to be sent to the correct virtual machine avoiding scenarios where a virtual machines receives unnecessary or incorrect data (See Kawai para. 0056 or 0059.). As per claim 5, Kobayashi and Kawai teach the device of claim 4. Kobayashi teaches wherein: the filter included in the communication driver of the master virtual machine passes communication data addressed to all the slave virtual machines (¶ [0041], “The software switch 3 includes network drivers 4a and 4b, a forwarding processing unit 5, a forwarding/filtering database (FDB) 6, and back-end virtual network drivers 7b and 7c.” ¶ [0057]-[0059], “In FIG. 4, processing in each of the front-end virtual network drivers 8e to 8g of FIG. 3 is separated into back-end processing units Tx_be and Rx_be related to TSN and other front-end processing units Tx_fe and Rx_fe. A part related to TSN is processed by back-end virtual network drivers 7i to 7k of a software TSN switch 200-3…Rx_be executes reception processing of each of the virtual machines 1i to 1k. In Rx_be, IEEE 802.1Qci (filtering processing), IEEE 802.1CB (redundancy processing), and the like can be executed, but the present invention is not limited thereto.” ¶ 0153]-[0154], “That is, the respective virtual machines 1 refer to the same FDB 120. Mapping between the virtual FDB 93 and the FDB 120 is performed, for example, when the communication apparatus 100-2 (switch) is initialized…The FDB 120 (virtual FDB 93) includes information for determining a transfer destination of the frame. Specifically, the information for determining the transfer destination includes information such as an identifier of a transfer destination network port (network interface or virtual machine 1), a MAC address, a VLAN ID, and the last transmission time.”) . Conclusion 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Han et al. (US Patent No. 12,517,749 B2) , Yamaura et al (US Patent No. 11,018,986 B2) , and Shultz et al. (US Patent No. 7,181,744 B2) all teach communicating between virtual machines via drivers and shared memory . Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOHN ROBERT DAKITA EWALD whose telephone number is (703)756-1845. The examiner can normally be reached Monday-Friday: 9:00-5:30 ET. 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, Lewis Bullock can be reached at (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 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. /J.D.E./Examiner, Art Unit 2199 /LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199 Application/Control Number: 18/473,340 Page 2 Art Unit: 2199 Application/Control Number: 18/473,340 Page 3 Art Unit: 2199 Application/Control Number: 18/473,340 Page 4 Art Unit: 2199 Application/Control Number: 18/473,340 Page 5 Art Unit: 2199 Application/Control Number: 18/473,340 Page 6 Art Unit: 2199 Application/Control Number: 18/473,340 Page 7 Art Unit: 2199 Application/Control Number: 18/473,340 Page 8 Art Unit: 2199 Application/Control Number: 18/473,340 Page 9 Art Unit: 2199 Application/Control Number: 18/473,340 Page 10 Art Unit: 2199 Application/Control Number: 18/473,340 Page 11 Art Unit: 2199 Application/Control Number: 18/473,340 Page 12 Art Unit: 2199 Application/Control Number: 18/473,340 Page 13 Art Unit: 2199 Application/Control Number: 18/473,340 Page 14 Art Unit: 2199
Read full office action

Prosecution Timeline

Sep 25, 2023
Application Filed
Mar 06, 2026
Non-Final Rejection — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602267
DYNAMIC APPLICATION PROGRAMMING INTERFACE MODIFICATION TO ADDRESS HARDWARE DEPRECIATION
2y 5m to grant Granted Apr 14, 2026
Patent 12572377
TRANSMITTING INTERRUPTS FROM A VIRTUAL MACHINE (VM) TO A DESTINATION PROCESSING UNIT WITHOUT TRIGGERING A VM EXIT
2y 5m to grant Granted Mar 10, 2026
Patent 12547465
METHOD AND SYSTEM FOR VIRTUAL DESKTOP SERVICE MANAGER PLACEMENT BASED ON END-USER EXPERIENCE
2y 5m to grant Granted Feb 10, 2026
Patent 12536041
SYSTEM AND METHOD FOR DETERMINING MEMORY RESOURCE CONFIGURATION FOR NETWORK NODES TO OPERATE IN A DISTRIBUTED COMPUTING NETWORK
2y 5m to grant Granted Jan 27, 2026
Patent 12524281
C²MPI: A HARDWARE-AGNOSTIC MESSAGE PASSING INTERFACE FOR HETEROGENEOUS COMPUTING SYSTEMS
2y 5m to grant Granted Jan 13, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
76%
Grant Probability
99%
With Interview (+55.6%)
3y 5m
Median Time to Grant
Low
PTA Risk
Based on 21 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month