DETAILED ACTION
Claims 19-38 are presented for examination. Applicant has cancelled claims 1-18 and added new claims 19-38.
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 .
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they do not include the following reference signs mentioned in the description: In Fig. 2, hypervisor 505, virtual machines 520, 530, 540 (pages 13-15) and a first shared memory 508a, a second shared memory 508b (page 14). Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Examiner note: the above reference signs/numbers are from Fig. 5. Applicant is directed to page 19, lines 19-20 of the instant application’s specification for example how to fix the problem.
The drawings are objected to because in Figs. 5 and 6, “Sever VM 520” should be “Server VM 520”.
Multiple drawings are difficult to see with text blurred. Applicant should review each drawing to correct the problem.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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 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 19-20 and 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Ahmed et al. (US 2016/0328254 A1).
As to claim 19, Mittal teaches a display apparatus for vehicle (“system 1200 that uses a SoC to increase the computing power of the example system 800”; see Fig. 12 and paragraph [0100], and “FIG. 8 shows, in block diagram form, an example system 800 for using multiple control displays to control displaying applications on a dashboard screen in a vehicle”; paragraph [0077]), the display apparatus comprising:
a first display and a second display implemented in a vehicle (One or more graphical user interfaces can be provided in a number of display areas such as display areas A 114, display area B 116, and display area C 118; see Fig. 1 and paragraph [0046]);
a first signal processing device (the first SoC A 1201; see Fig. 12) comprising a first processor (Guest OS) configured to perform signal processing for the first display (Control display A; Fig. 12) and the second display (control display B; Fig. 12 and “The multi-window display controller 1214 in the first SoC 1201 can display application menus on control display A 805 and control display B 807”; paragraph [0103]); and
a second signal processing device (SoC B 1202; see Fig. 12) comprising a second processor (Guest OS 1208, 1210) configured to perform signal processing for a third display (display 1223 of dashboard screen 222; see Fig. 12), wherein:
the first processor is configured to execute first and second virtual machines (VM 1203 and 1205) on a hypervisor in the first processor (hypervisor A 1211; Fig. 12 and paragraph [0102]), and
the first virtual machine in the processor is configured to, based on the first signal processing device being operated as a master signal processing device among the first signal
processing device and the second signal processing device, send requests for launching applications for divided processing of requests (Requests for launching applications from the two control displays 805 and 807 can be routed via the DVI cable 1213 to the second SoC 1202, wherein the multi-window display controller 1215 can process the requests; paragraph [0103]. Since SoC A 1201 initiates transferring request to SoC B1202 and is therefore interpreted as being “master”).
Mittal does not clearly teach the first processor is configured to execute the third virtual machine, and share at least some of data with the second signal processing device for divided processing of data even though Mittal teaches sending request to the second signal processing device.
However, Mittal teaches the SoC 202 can include a number of virtual machines, for example, virtual machine A 205 and virtual machine B 207 (paragraph [0052]). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention that the number of virtual machines could be 3 virtual machines instead of 2 virtual machines.
Ahmed teaches, in the same field of endeavor, one of a plurality of virtual machines is a master/primary VM, and other virtual machines are secondary (“The processing system may include a multi-core processor. The processing system may be configured to provide virtualization for a first guest operating system in a first core or cores of the multi-core processor. The processing system may also be configured to provide virtualization for a second guest operating system in a second and different core or cores of the multi-core processor (i.e., any core not allocated to the first guest operating system). The first guest operating system may be configured for high reliability operation. The virtualization prevents operations of the second guest operating system from disrupting the high reliability operation of the first guest operating system”; paragraph [0032] and “Hypervisor 402 may be integrated with a bootloader or work in conjunction with the bootloader to help create the multi-core processing environment 400 during boot. The system firmware (not shown) can start the bootloader (e.g., U-Boot) using a first CPU core (core 0). The bootloader can load the kernel images and device trees from a boot partition for the guest OSs. Hypervisor 402 can then initialize the data structures used for the guest OS that will run on core 1. Hypervisor 402 can then boot the guest OS for core 1. Hypervisor 402 can then switch to a hypervisor mode, initialize hypervisor registers, and hand control over to a guest kernel. On core 0, hypervisor 402 can then do the same for the guest that will run on core 0 (i.e., initialize the data structures for the guest, switch to the hypervisor mode, initialize hypervisor registers, and hand off control to the guest kernel for core 0). After bootup, the distinction between a primary core and a secondary core may be ignored”; paragraph [0065]).
Ahmed also teaches data from one virtual machine sent to other virtual machine for divided processing of data (In an exemplary embodiment, multiple separate screens such as cluster display 426 can be provided with the system such that each screen contains graphical output from one or more of the domains 408-414. One set of system peripherals (e.g., an ECU, a Bluetooth module, a hard drive, etc.) may be used to provide one or multiple screens using a single multi-core system on a chip”; paragraph [0071] and “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the teaching of Ahmed to the system of Mittal because Ahmed teaches a method that support communication between two guest operating systems running in different domains by using shared memory for such communications (paragraph [0076]), and prevents operations of the second guest operating system or any other operating system from disrupting the high reliability operation of the first guest operating system (paragraph [0004]).
As to claim 20, Mittal as modified by Ahmed teaches the display apparatus of claim 19, wherein the second processor is configured to execute a server virtual machine configured to, based on the second signal processing device being operated as a master signal processing device among the first signal processing device and the second signal processing device (see Mittal: Requests for launching applications from the two control displays 805 and 807 can be routed via the DVI cable 1213 to the second SoC 1202, wherein the multi-window display controller 1215 can process the requests; paragraph [0103], i.e., the second SoC is interpreted as a server, and the VM executed on the server is a server VM), share at least some of data with the first signal processing device for divided processing of data (see Ahmed: “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]).
As to claim 22, Mittal as modified by Ahmed teaches the display apparatus of claim 19, wherein:
the first processor (see Mittal: the first SoC A 1201; see Fig. 12) is configured to execute the first and second virtual machines on the hypervisor in the processor (see Mittal: VM 1203 and 1205; see Fig. 12 and paragraph [0102]),
the second virtual machine (see Mittal: VM 1203) is operated for the first display (see Mittal: Control display A; Fig. 12 and paragraph [0102]).
Mittal as modified by Ahmed does not teach the first processor is configured to execute the third virtual machine, and the third virtual machine is operated for the second display.
However, Mittal teaches the SoC 202 can include a number of virtual machines, for example, virtual machine A 205 and virtual machine B 207 (paragraph [0052]).
It would have been obvious to one of ordinary skill in the art that the number of virtual machines could be 3 virtual machines instead of 2 virtual machines, and the third virtual machine is operated for the Control display B/ the second display.
As to claim 23, Mittal as modified by Ahmed teaches the display apparatus of claim 22, wherein the first virtual machine is configured to: receive, from a sensor implemented in the vehicle, wheel speed sensor data of the vehicle, process the wheel speed sensor data, and transmit the processed wheel speed sensor data to at least one of the second virtual machine, the third virtual machine, or the second signal processing device (“Display content from various vehicle subsystems may be displayed on each of displays 210, 220, and 230 simultaneously. For example, instrument cluster display 220 is shown displaying engine control unit (ECU) information (e.g., speed, gear, RPMs, etc.)”; paragraph [0033] and “vehicle control 315 is connected to one or more Local Interconnect Networks (LIN) 317, vehicle sensors 319, and/or Controller Area Networks (CAN) 321. LIN 317 may follow the LIN protocol and allow communication between vehicle components. Vehicle sensors 319 may include sensors for determining vehicle telemetry. For example, vehicle sensors 319 may be one or more of gyroscopes, accelerometers, three dimensional accelerometers, inclinometers, etc. CAN 321 may be connected to vehicle control 315 by a CAN bus. CAN 321 may control or receive feedback from sensors within the vehicle. CAN 321 may also be in communication with electronic control units of the vehicle”; paragraph [0046]. The above paragraphs disclose the vehicle speed information is obtained by sensor and transmitted to the OS/virtual machine to process and finally displayed in the control display).
Claims 21, 24-27, 29-31 and 35 are rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Ahmed et al. (US 2016/0328254 A1) further in view of Li (CN 111949398 A – English translation is provided by USPTO).
As to claim 21, Mittal as modified by Ahmed does not teach the display apparatus of claim 19, wherein the first virtual machine is configured to: read capability information or resource information of the second signal processing device, and operate, based on the capability information or the resource information of the second signal processing device, any one of the second signal processing device or the first signal processing device as a master signal processing device.
However, Li teaches read capability information or resource information of the second signal processing device (determining a source virtual machine and a target virtual machine according to the received resource occupancy rate sent by each virtual machine; page 3, 5th paragraph), and operate, based on the capability information or the resource information of the second signal processing device, any one of the second signal processing device or the first signal processing device as a master signal processing device (receiving the to-be-calculated task sent by the source virtual machine; and determining the target virtual machine to be scheduled according to the task to be calculated; the task to be calculated comprises the resource currently needed to be called by the source virtual machine; page 3, 7th paragraph. The target VM is a master signal processing device because the target VM is selected based on the read resource information.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the teaching of Li to the system of Mittal as modified by Ahmed because Li teaches a resource scheduling method and device, which can solve the problem that the whole resource cannot be fully used in the existing technology, so as to reduce the utilization rate of the resource (page 3, 3rd paragraph).
As to claim 24, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 21, wherein the first virtual machine is configured to:
transmit, to the second signal processing device, an access message for access to a
deserializer network (see Ahmed: The first guest operating system may be configured for high reliability operation (e.g., receiving safety-related information from and ECU and generating graphics information using the received information); paragraph [0036]) and (see Mittal: The hardware abstraction API guest client 315 can also receive requests to display frame buffers representing he background image 217 and one or more driving-critical applications 215. The hardware abstraction API guest client 315, after receiving all the request display requests, can send the requests to a hardware abstraction API server 321; paragraph [0063]), and
operate, based on an access allowance message for access to the deserializer network not
being received from the second signal processing device, the first signal processing device as the
master signal processing device (see Ahmed: The first guest operating system may be configured for high reliability operation. The virtualization prevents operations of the second guest operating system from disrupting the high reliability operation of the first guest operating system.; paragraph [0032]. Thus, the first device/first guest OS is the master device).
As to claim 25, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 21, wherein the first virtual machine is configured to:
transmit, to the second signal processing device, an access message for access to a
deserializer network (see Mittal: Requests for launching applications from the two control displays 805 and 807 can be routed via the DVI cable 1213 to the second SoC 1202; paragraph [0103]), and
operate, based on an access allowance message for access to the deserializer network
being received from the second signal processing device, any one of the second signal
processing device or the first signal processing device as the master signal processing device
based on the capability information or the resource information of the second signal processing
device (see Mittal: wherein the multi-window display controller 1215 can process the requests; paragraph [0103]. Since SoC A 1201 initiates transferring request to SoC B1202 and is therefore interpreted as being “master”).
As to claim 26, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 21, wherein the first virtual machine is configured to:
determine whether a server virtual machine in the second signal processing device is
driven based on protocol information received from an outside of the display apparatus (see Mittal: The control display B 807, which can similarly be a touchscreen tablet, can include a menu of applications, for example, a GPS 1109, a map 1111, a books reader 1113, and a restaurant searching application 1119; paragraph [0097] and Requests for launching applications from the two control displays 805 and 807 can be routed via the DVI cable 1213 to the second SoC 1202; paragraph [0103]), and
operate, based on the server virtual machine in the second signal processing device not
being driven, the first signal processing device as the master signal processing device (see Mittal: wherein the multi-window display controller 1215 can process the requests; paragraph [0103]. Since SoC A 1201 initiates transferring request to SoC B1202 and is therefore interpreted as being “master”.).
As to claim 27, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 21, wherein the first virtual machine is configured to:
determine whether resources of the second signal processing device are sharable based
on the capability information or the resource information of the second signal processing
device (see Ahmed: Hypervisor 402 may support communication between two guest operating systems running in different domains. As described above, shared memory is used for such communications. When a particular physical memory range is specified in the device tree of two guests, that memory range is mapped to both cores and is accessible as shared memory. For interrupts between guest OSs, an interrupt controller is used to assert and clear interrupt lines. According to an exemplary embodiment, the device tree for each virtual device in the kernel has a property “doorbells” that describes what interrupts to trigger for communication with the other core. The doorbell is accessed using a trapped memory page, whose address is also described in the device tree.; paragraph [0076]), and
share, based on the resources being sharable, at least some of processed data with the
second signal processing device (see Ahmed: “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]).
As to claim 29, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 19, wherein the first virtual machine is configured to:
receive, from the second signal processing device, capability information or resource
information of a plurality of virtual machines driven in the second signal processing device (see Li: determining a source virtual machine and a target virtual machine according to the received resource occupancy rate sent by each virtual machine; page 3, 5th paragraph), and
control, based on the capability information or the resource information of the plurality of
virtual machines, any one of the plurality of virtual machines driven in the second signal
processing device (receiving the to-be-calculated task sent by the source virtual machine; and determining the target virtual machine to be scheduled according to the task to be calculated; the task to be calculated comprises the resource currently needed to be called by the source virtual machine; page 3, 7th paragraph).
As to claim 30, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 19, wherein:
the first virtual machine in the first processor is configured to write camera data in a first
shared memory and transmit some of the camera data to the second signal processing device (see Mittal: The first operating system can run driving-critical applications, for example, instrument cluster applications, advanced driver-assistance systems (ADAS), and exterior view camera, radar, or other sensor-based applications; paragraph [0068] and [0098]) and (see Ahmed: “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]),
the second processor operates a server virtual machine configured to write the received
some of the camera data in a second shared memory (see Ahmed: Hypervisor 402 may support communication between two guest operating systems running in different domains. As described above, shared memory is used for such communications. When a particular physical memory range is specified in the device tree of two guests, that memory range is mapped to both cores and is accessible as shared memory. For interrupts between guest OSs, an interrupt controller is used to assert and clear interrupt lines. According to an exemplary embodiment, the device tree for each virtual device in the kernel has a property “doorbells” that describes what interrupts to trigger for communication with the other core; paragraph [0076]), and
the second processor executes a guest virtual machine configured to (i) process at least
some of the data written in the second shared memory and (ii) write the processed data in the
second shared memory (The doorbell is accessed using a trapped memory page, whose address is also described in the device tree. On the receiving end, the interrupt is cleared using the trapped memory page. This enables interrupt assertion and handling without any locking and with relatively low overhead compared to traditional device interrupts; paragraph [0076], and On the video side, a buffer page may be populated by a FB client and, when a user space fills a page, a signal IRQ can be provided to the compositor. The compositor can then get the page from shared memory and provide it to any user space processes waiting for a new frame. In this way, native HMI domain 412 can act as a server for the purpose of graphics and as a client for the purpose of input handling. Inputs (e.g., touch screen inputs, button inputs, etc.) are provided by the native HMI 412 domain's event output 468 to the appropriate event input 460, 462, 464. Frame buffers are filled by the domains 408, 410, 414 and their FB clients 454, 456, 458 provide the frame buffer content to the native HMI domain using frame buffer video 452.; paragraph [0078]).
As to claim 31, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 30, wherein the second virtual machine in the first processor is configured to display an image on the display based on the data written in the second shared memory (see Ahmed: applications on high reliability domain 408 may create graphics for spaces A on the display 426. Such graphics content may be provided to FB client 454 and then to FB video 452 via shared memory 424; paragraph [0078]).
As to claim 35, Mittal as modified by Ahmed and Li teaches the display apparatus of claim 30, wherein:
the first virtual machine in the first processor is configured to write, in the first shared
memory, some of the camera data to be transmitted to the second processor (see Mittal: The first operating system can run driving-critical applications, for example, instrument cluster applications, advanced driver-assistance systems (ADAS), and exterior view camera, radar, or other sensor-based applications; paragraph [0068] and [0098]) and (see Ahmed: “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]), and
the guest virtual machine in the second processor is configured to (i) perform object
detection for the received camera data and (ii) write data from which an object has been detected
in the second shared memory (The doorbell is accessed using a trapped memory page, whose address is also described in the device tree. On the receiving end, the interrupt is cleared using the trapped memory page. This enables interrupt assertion and handling without any locking and with relatively low overhead compared to traditional device interrupts; paragraph [0076], and On the video side, a buffer page may be populated by a FB client and, when a user space fills a page, a signal IRQ can be provided to the compositor. The compositor can then get the page from shared memory and provide it to any user space processes waiting for a new frame. In this way, native HMI domain 412 can act as a server for the purpose of graphics and as a client for the purpose of input handling. Inputs (e.g., touch screen inputs, button inputs, etc.) are provided by the native HMI 412 domain's event output 468 to the appropriate event input 460, 462, 464. Frame buffers are filled by the domains 408, 410, 414 and their FB clients 454, 456, 458 provide the frame buffer content to the native HMI domain using frame buffer video 452.; paragraph [0078]).
Claim 28 is rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Ahmed et al. (US 2016/0328254 A1) and Li (CN 111949398 A – English translation is provided by USPTO) further in view of Mishra et al. (Master-Slave Group Based Model For Co-ordinator Selection, An Improvement of Bully Algorithm – cited in the IDS).
As to claim 28, Mittal as modified by Ahmed and Li does not teach wherein the first virtual machine is configured to: transmit, based on the first signal processing device being the master signal processing device, an authority transfer message to a server virtual machine in the second processor, and change, based on an acknowledgement message being received from the server virtual machine in the second processor, the second signal processing device to the master signal processing device.
However, Ahmed teaches in one embodiment, the distinction between a primary core and a secondary core may be ignored and hypervisor may treat the two cores equally (paragraph [0065]).
Mishra teaches in a system including multiple nodes, including a master node and multiple slave nodes, for executing multiple processes, a method to elect/change a master node based on performance status (abstract page 458, section III. Proposed approach).
Given the teaching of Ahmed and Mishra above, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the concept of electing new master leader/device taught by Mishra to the system of Mittal as modified by Ahmed and Li because Mishra teaches a method that avoiding the crash down of the system when the master node is corrupted.
Claims 32-34 are rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Ahmed et al. (US 2016/0328254 A1) and Li (CN 111949398 A – English translation is provided by USPTO) further in view of Agarwal et al. (CN 112015516 A – English translation is provided by USPTO).
As to claim 32, Mittal as modified by Ahmed and Li does not teach the display apparatus of claim 30, wherein the first virtual machine in the first processor is configured to create a command queue for distributed processing of the data.
However, Agarwal teaches the first virtual machine in the first processor is configured to create a command queue for distributed processing of the data (A virtual interface and one or more virtual command queues are assigned to each client, instead of being competes with other clients to insert a failure instruction into a single physical command queue through a management program. The virtual interface and one or more virtual command queues are assigned to each client, rather than generating a request to be captured by the managed program; page 4, 4th paragraph).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the teaching of Agarwal to the system of Mittal as modified by Ahmed and Li because Agarwal teaches techniques for effectively allowing simultaneous access to resources in a computing system and a virtual interface and one or more virtual command queues are assigned to each guest, rather than competing with other execution contexts to insert a failure instruction into a single physical command queue which overcome the low performance in the prior art (abstract).
As to claim 33, Mittal as modified by Ahmed, Li and Agarwal teaches the display apparatus of claim 32, wherein the command queue comprises at least one of command type information, buffer ID information, or buffer address information (see Agarwal: In the virtual command queue system 100, one or more virtual command queues are assigned to each execution context 110. Each execution context 110 may issue instruction to one or more virtual command queues, instead of issuing a disable instruction through the hyper management program 115. In one embodiment, a virtual command queue is implemented in a combination of a register in a memory mapped input/output (MMIO) space and a physical queue (in particular a visitor dynamic random access memory (DRAM) space) in a memory; page 5, 3rd paragraph).
As to claim 34, Mittal as modified by Ahmed, Li and Agarwal teaches the display apparatus of claim 30, wherein the first virtual machine in the processor is configured to create command queues corresponding to a number of virtual machines for distributed processing of the data (see Agarwal: The virtual interface and one or more virtual command queues are assigned to each client; page 4, 4th paragraph).
Claims 36-37 are rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Li (CN 111949398 A – English translation is provided by USPTO).
As to claim 36, Mittal teaches a display apparatus for vehicle (“system 1200 that uses a SoC to increase the computing power of the example system 800”; see Fig. 12 and paragraph [0100], and “FIG. 8 shows, in block diagram form, an example system 800 for using multiple control displays to control displaying applications on a dashboard screen in a vehicle”; paragraph [0077]), the display apparatus comprising:
a first display and a second display implemented in a vehicle (One or more graphical user interfaces can be provided in a number of display areas such as display areas A 114, display area B 116, and display area C 118; see Fig. 1 and paragraph [0046]);
a first signal processing device (the first SoC A 1201; see Fig. 12) comprising a first processor (Guest OS) configured to perform signal processing for the first display (Control display A; Fig. 12) and the second display (control display B; Fig. 12 and “The multi-window display controller 1214 in the first SoC 1201 can display application menus on control display A 805 and control display B 807”; paragraph [0103]); and
a second signal processing device (SoC B 1202; see Fig. 12) comprising a second processor (Guest OS 1208, 1210) configured to perform signal processing for a third display (display 1223 of dashboard screen 222; see Fig. 12), wherein:
the first processor is configured to execute first and second virtual machines (VM 1203 and 1205) on a hypervisor in the first processor (hypervisor A 1211; Fig. 12 and paragraph [0102]), and
the first virtual machine in the processor is configured to, based on the first signal processing device being operated as a master signal processing device among the first signal
processing device and the second signal processing device, send requests for launching applications for divided processing of requests (Requests for launching applications from the two control displays 805 and 807 can be routed via the DVI cable 1213 to the second SoC 1202, wherein the multi-window display controller 1215 can process the requests; paragraph [0103]. Since SoC A 1201 initiates transferring request to SoC B1202 and is therefore interpreted as being “master”).
Mittal does not clearly teach the first processor is configured to execute the third virtual machine, and the first virtual machine is configured to: determine capability information or resource information of the second signal processing device, and operate, based on the capability information or the resource information of the second signal processing device, any one of the second signal processing device or the first signal processing device as a master signal processing device.
However, Mittal teaches the SoC 202 can include a number of virtual machines, for example, virtual machine A 205 and virtual machine B 207 (paragraph [0052]). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention that the number of virtual machines could be 3 virtual machines instead of 2 virtual machines.
Li teaches read capability information or resource information of the second signal processing device (determining a source virtual machine and a target virtual machine according to the received resource occupancy rate sent by each virtual machine; page 3, 5th paragraph), and operate, based on the capability information or the resource information of the second signal processing device, any one of the second signal processing device or the first signal processing device as a master signal processing device (receiving the to-be-calculated task sent by the source virtual machine; and determining the target virtual machine to be scheduled according to the task to be calculated; the task to be calculated comprises the resource currently needed to be called by the source virtual machine; page 3, 7th paragraph. The target VM is a master signal processing device because the target VM is selected based on the read resource information.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the teaching of Li to the system of Mittal because Li teaches a resource scheduling method and device, which can solve the problem that the whole resource cannot be fully used in the existing technology, so as to reduce the utilization rate of the resource (page 3, 3rd paragraph).
As to claim 37, Mittal as modified by Li teaches the display apparatus of claim 36, wherein capability information or resource information is received from the second signal processing device (see Li: determining a source virtual machine and a target virtual machine according to the received resource occupancy rate sent by each virtual machine; page 3, 5th paragraph) and (see Mittal: Fig. 12 teaches VMs are executed on SoC B).
Claim 38 is rejected under 35 U.S.C. 103 as being unpatentable over Mittal et al. (US 2020/0219469 A1 – cited in the IDS) in view of Li (CN 111949398 A – English translation is provided by USPTO) further in view of in view of Ahmed et al. (US 2016/0328254 A1).
As to claim 38, Mittal as modified by Li does not teach the display apparatus of claim 36, wherein the first virtual machine is configured to: determine whether resources of the second signal processing device are sharable based on the capability information or the resource information of the second signal processing device, and share, based on the resources being sharable, share at least some of processed data with the second signal processing device.
However, Ahmed teaches, in the same field of endeavor, determine whether resources of the second signal processing device are sharable based on the capability information or the resource information of the second signal processing device, and share, based on the resources being sharable, share at least some of processed data with the second signal processing device (In an exemplary embodiment, multiple separate screens such as cluster display 426 can be provided with the system such that each screen contains graphical output from one or more of the domains 408-414. One set of system peripherals (e.g., an ECU, a Bluetooth module, a hard drive, etc.) may be used to provide one or multiple screens using a single multi-core system on a chip”; paragraph [0071] and “Different screens may be controlled by different domains. For example, the cluster display 426 may primarily be controlled by high reliability domain 408. Despite this control, views from domains 410, 414 can be shown on the cluster display 426. A shared memory 424 may be used to provide the graphic views from the domains 410, 414 to the domain 408”; paragraph [0072]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply the teaching of Ahmed to the system of Mittal as modified by Li because Ahmed teaches a method that support communication between two guest operating systems running in different domains by using shared memory for such communications (paragraph [0076]), and prevents operations of the second guest operating system or any other operating system from disrupting the high reliability operation of the first guest operating system (paragraph [0004]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Narayan et al. (US 2020/0218443 A1) teaches systems and methods for using multiple control displays to control displaying applications on a dashboard screen in a vehicle are described. The applications can be non-driving-critical applications running in an operating system installed on a computing device embedded in the vehicle. The computing device is connected to the dashboard screen, a first control display and a second control display. A controlling application in the operating system can populate the first control display and the second control display with different menus, and display one or more of the non-driving-critical applications in a single display area or multiple display areas depending on user inputs from the first control display and the second control display.
Barnes et al. (US 2021/0219002 A1) teaches in-vehicle entertainment (IVE) systems can have a centralized architecture to improve heat dissipation characteristics and weight and/or size of the IVE systems. A centralized system for providing in-vehicle entertainment to passengers on a commercial passenger vehicle includes a printed circuit board (PCB) in a housing locatable in a structure in the commercial passenger vehicle and a plurality of display panels and microcontrollers located in a rear portion of the structure. Each microcontroller is communicably connected to one display panel and the PCB. The PCB includes a processor configured to decode audio and/or video content and to operate a plurality of virtual machines that correspond to and perform operations such as playback functionality related to the plurality of display panels.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DIEM K CAO whose telephone number is (571)272-3760. The examiner can normally be reached Monday-Friday 8:00am-4:00pm.
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, April Blair can be reached at 571-270-1014. 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.
/DIEM K CAO/Primary Examiner, Art Unit 2196
DC
February 6, 2026