DETAILED ACTION
Claims 1-20 are pending.
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 .
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references cited in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Response to Amendment
The Amendment filed 09/25/2026 has been entered. Claims 5, 11 and 12 have been amended. Claims 1-20 are pending in the present Office Action.
Claim Rejections - 35 USC § 102
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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-2, 6, 8-9, 13, 15, and 19 are rejected under 35 U.S.C. 102(a)(1) as
being anticipated by Katovich (International Pub. No. WO 2021/197564 A1).
Regarding claim 1, Katovich teaches A method comprising:
receiving, by a compositor within a host domain of a virtualization
environment ([0025] – “Referring to Figure 1 […] The apparatus 100 is configured for
efficiently displaying graphics on a plurality of displays generated from multiple
computer applications executing on one or more virtual machines.”; [0026] – “the
apparatus 100 includes a processor 102, a memory 104, a hardware compositor 108, a
display controller 110, and a plurality of display devices 112-1, 112-2, 122-3.”), a first
set of display data from a first guest virtual machine and a second set of display
data from a second set of display data from a second guest virtual machine
([0008] – ”The processor is further configured to execute a hypervisor, host a plurality of
virtual machines based on the hypervisor and send rendering commands from each
virtual machine of the plurality of virtual machines to the graphics processing unit. The
graphics processing unit is configured to generate the plurality of virtual display bitmaps
[…] Each virtual display bitmap of the plurality of virtual display bitmaps corresponds to
a different virtual machine of the plurality of virtual machines”; [0006] – “The plurality of
mapped bitmaps are sent to the hardware compositor. The hardware compositor is
configured to composite the plurality of mapped bitmaps and populate a framebuffer.”);
and
outputting, by the compositor, the first set of display data to a first physical
display, and the second set of display data to a second physical display ([0014] –
“The framebuffer is processed and each pixel region of the plurality of pixel regions is
presented on a corresponding display device of the plurality of display devices.”; [0041]
– “The hardware compositor 108 is configured to composite 140 an output of each virtual machine[…]”; [0042] – “a hardware based display controller 110 configured to
process 142 video content from the frame and present the video content on a plurality of
displays 112-1, 112-2, 112-3. The display controller 110 is configured to read 142 the
frame buffer 122, […], and present the processed framebuffer 122 data on the plurality
of display devices 112-1, 112-2, 112-3, where the data from each pixel region 124-1,
124-2, 124-3, is displayed on a corresponding display device in the plurality of display
devices […]” ).
Regarding claim 2, Katovich teaches The method of claim 1. Katovich further teaches
wherein outputting the first set of display data and the second set of display data
comprises:
responsive to determining that the first physical display is assigned to the
first guest virtual machine ([0036] – “As illustrated in Figure 1, each virtual display
bitmap 116-1, 116-2, 116-3 is associated with the corresponding virtual machine 114-1,
114-2, 114-3 for which it was generated.”), selecting the first physical display to
receive the first set of display data ([0006] – “The display controller is configured to
process the framebuffer and present each pixel region of the plurality of pixel regions on
a corresponding display device of the plurality of display devices”); and
responsive to determining that the second physical display is assigned to
the second guest virtual machine ([0036] – “As illustrated in Figure 1, each virtual
display bitmap 116-1, 116-2, 116-3 is associated with the corresponding virtual machine
114-1, 114-2, 114-3 for which it was generated”), selecting the second physical
display to receive the second set of display data ([0006] – “The display controller is
configured to process the framebuffer and present each pixel region of the plurality of
pixel regions on a corresponding display device of the plurality of display devices”).
Regarding claim 6, Katovich teaches The method of claim 1. Katovich further teaches
pre-processing at least the first set of display data prior to outputting the
first set of display data to the first physical display ([0038] – “the exemplary display
manager 118 is configured to process the virtual display bitmaps 116-1, 116-2, 116-3,
taking into account geometrical and visual properties of each virtual display bitmap 116-
1, 116-2, 116-3.”).
Regarding claim 8, Katovich teaches A computing system (apparatus 100),
comprising:
memory (memory 104);
at least one processor (processor 102); and
a compositor implemented within a host virtual machine (hardware
compositor 108), the compositor to:
receive a first set of display data from a first guest virtual machine of a
plurality of guest virtual machines and a second set of display data from a
second guest virtual machine of the plurality of guest virtual machines ([0008] –
”The processor is further configured to execute a hypervisor, host a plurality of virtual
machines based on the hypervisor and send rendering commands from each virtual
machine of the plurality of virtual machines to the graphics processing unit. The
graphics processing unit is configured to generate the plurality of virtual display bitmaps
[…] Each virtual display bitmap of the plurality of virtual display bitmaps corresponds to
a different virtual machine of the plurality of virtual machines”; [0006] – “The plurality of
mapped bitmaps are sent to the hardware compositor. The hardware compositor is
configured to composite the plurality of mapped bitmaps and populate a framebuffer.”);
and
output the first set of display data to a first physical display, and the
second set of display data to a second physical display ([0014] – “The framebuffer
is processed and each pixel region of the plurality of pixel regions is presented on a
corresponding display device of the plurality of display devices.”; [0041] – “The
hardware compositor 108 is configured to composite 140 an output of each virtual
machine[…]”; [0042] – “a hardware based display controller 110 configured to process
142 video content from the frame and present the video content on a plurality of
displays 112-1, 112-2, 112-3. The display controller 110 is configured to read 142 the
frame buffer 122, […], and present the processed framebuffer 122 data on the plurality
of display devices 112-1, 112-2, 112-3, where the data from each pixel region 124-1,
124-2, 124-3, is displayed on a corresponding display device in the plurality of display
devices […]”).
Claims 9, 13, 15, and 19 recite substantially the same limitations as those in claims 1-2
and 6 respectively. As such, claims 9, 13, 15, and 19 are rejected as being anticipated
by Katovich for the same reasons presented with respect to claims 1-2 and 6.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 3-4, 7, 10-11, 14, 16-17, and 20 are rejected under 35 U.S.C. 103 as
being unpatentable over Katovich (International Pub. No. WO 2021/197564 A1) in view
of Kerrigan et al. (U.S. Pub. No. 2020/0004488 A1), hereinafter Kerrigan.
Regarding claim 3, Katovich teaches The method of claim 1. Katovich further teaches
receiving a third set of display data from a third guest virtual machine ([0008] – ”The processor is further configured to execute a hypervisor, host a plurality of
virtual machines based on the hypervisor and send rendering commands from each
virtual machine of the plurality of virtual machines to the graphics processing unit. The graphics processing unit is configured to generate the plurality of virtual display bitmaps
[…] Each virtual display bitmap of the plurality of virtual display bitmaps corresponds to
a different virtual machine of the plurality of virtual machines”; [0006] – “The plurality of
mapped bitmaps are sent to the hardware compositor. The hardware compositor is
configured to composite the plurality of mapped bitmaps and populate a framebuffer”).
Katovich fails to expressly teach responsive to determining the first guest
virtual machine and the third guest virtual machine are assigned to the first
physical display, selecting the first set of display data over the third set of display
data for outputting to the first physical display.
However, Kerrigan teaches responsive to determining the first guest virtual
machine and the third guest virtual machine are assigned to the first physical
display ([0045] – “In FIG. 6, VM 1 has two displays (602a, 602b) pinned to it, leaving
one shared display 602c that the other guests can switch onto based on the current
focus”; [0025] – “The architecture of FIG. 2 includes multiple domains running as guest
VMs 240a, 240b, 240c, and 240d over a hypervisor 260.”), selecting the first set of
display data over the third set of display data for outputting to the first physical
display ([0045] – “Before the switch (600a), the graphical interface being displayed
across the three displays includes graphic data from VM1 extended across displays
602a and 602b […], and graphics data from VM 2 […] is shown on display 602c”).
Katovich and Kerrigan are considered to be analogous art to the claimed
invention because they are in the same field as the claimed invention of compositing
graphical data from virtual machines. Therefore, it would have been obvious to one of
ordinary skill in the art to have modified the methods of Katovich to incorporate the display selection technique of Kerrigan such that the display data of one virtual machine
is output to a physical display over another when multiple virtual machines are assigned
to the same physical display as taught by Kerrigan. Incorporating the methods of
Kerrigan may provide predictable display output and improve management of shared
display resources in a virtualized environment.
Regarding claim 4, the combination of Katovich in view of Kerrigan teaches The
method of claim 3.
Kerrigan further teaches further comprising:
responsive to determining that one or more switching conditions have
occurred ([0042] – “The extended mode provides a multi-monitor experience similar to
what one would expect using multiple monitors with a single desktop, but with the
advantages of having a keyboard-video-mouse (KVM)-style switch that could map all
monitors at once to a different machine with a simple hotkey. […] To get to other VMs,
the user can input CTRL+TAB (as an example) to rotate through VMs […].”), outputting
the third set of display data to the first physical display ([0043] – “Upon a VM
switch to another VM, for instance by toggling a hotkey, a different extended desktop is
shown (400b) spanning all three displays 402a-402c, depicting four application windows
of a second VM […]”; [0046] – “Thus, after the switch (600b), graphics data from VM 1
remains extended across displays 602a and 602b […], while graphics data from the
switched-to VM (VM 3) shows on display 602c [..]”).
It would have been obvious to one of ordinary skill in the art to have modified the
methods of Katovich to incorporate the switching condition of Kerrigan such that the shared physical displays can switch the presented display data from the multiple
assigned virtual machines as taught by Kerrigan. Incorporating the methods of Kerrigan
may improve user experience by reducing the strain on users’ focus of attention when
working in multiple domains (see Kerrigan: [0017]).
Regarding claim 7, Katovich teaches The method of claim 6. Katovich further teaches
wherein pre-processing the first set of display data comprises at least one of:
transforming the first set of display data into a format compatible with the
first physical display ([0038] – “the exemplary display manager 118 is configured to
process the virtual display bitmaps 116-1, 116-2, 116-3, taking into account geometrical
and visual properties of each virtual display bitmap 116-1,116-2,116-3. Geometrical and
visual properties include, but are not limited to, properties such as position, scale
rotation, and transparency, as well as other desired properties”); or
Kerrigan further teaches applying one or more display features to the first set
of display data ([0032] – “Based at least on the received window information, Mosaic
builds a graphical interface on the graphics device 270 (e.g. in 274e) from some or all
graphics data provided from the multiple domains. The graphical interface includes
graphics data from the one or more of the domains (240a – 240d) and, optionally,
graphics data not obtained from the domains, such as added marking that Mosaic may
place into the graphical interface for convenience or other reasons. Borders, shading,
animations, or the like may be placed by Mosaic over/in place of graphic data from the
domains.” As described with respect to Figs. 2 and 3 in paragraph [0024] of Kerrigan,
Mosaic stands for Multiple Operating System Application Interface Compositing.).
It would have been obvious to one of ordinary skill in the art to have modified the
methods of Katovich to incorporate the pre-processing of display data of Kerrigan such
that display features can be applied to the received display data as taught by Kerrigan.
Incorporating the methods of Kerrigan may reduce compositing time and provide
coherent display output, reducing user confusion (see Kerrigan: [0040]).
Claims 10-11, 14, 16-17, and 20 recite substantially the same limitations as those
recited in claims 3-4 and 7. As such, claims 10-11, 14, 16-17, and 20 are rejected as
being unpatentable over Katovich in view of Kerrigan for the same reasons presented
with respect to claims 3-4 and 7.
Claims 5, 12, and 18 are rejected under 35 U.S.C. 103 as being unpatentable
over Katovich in view of Kerrigan as applied to claims 3 and 4 above, and further in view
of Chen et.al (U.S. Pub. No. 2008/0077917 A1), hereinafter Chen.
Regarding claim 5, the combination of Katovich in view of Kerrigan teaches The
method of claim 4.
The combination of Katovich in view of Kerrigan fails to expressly teach wherein
the one or more switching conditions include at least one of the first physical display having completed outputting the first set of display data, a threshold period of time having passed since the first set of display data was output to the first physical display, or the third set of display data having a higher priority than the first set of display data.
However, Chen teaches wherein the one or more switching conditions
include at least one of
the third set of display data having a higher priority than the first set of display data ([0074] – “For each VM in the background, the VMM, after
intercepting the operations of the VM on the graphics card, does not convert the
operations to the real graphics card. Only with respect to the VM identified as in the
foreground, the VMM, after intercepting the operations of the VM on the graphics card,
converts the operations to the real graphics card […]”; [0075] – “When the VM1 in the
foreground operates the graphics card, the graphics card is brought in a state of
STATE1. Afterwards, the VM1 is identified as in the background and the VM2 is
identified as in the foreground due to switching.”; [0087] – “Also, it is dynamically
changed which one is in the foreground or background.”).
Chen is considered to be analogous art to the claimed invention because they
are in the same field as the claimed invention of sharing resources between virtual
machines. Therefore, it would have been obvious to one of ordinary skill in the art to
have modified the teachings of Katovich in view of Kerrigan such that the switching
condition as taught by Kerrigan is triggered by a virtual machine having priority as
taught by Chen. Incorporating the methods of Chen would ensure display quality and
undisturbed virtual resource management (see Chen: [0014]).
Claims 12 and 18 recite substantially the same limitations as claim 5. As such, claims
12 and 18 are rejected as being unpatentable over Katovich in view of Kerrigan, and
further in view of Chen for the same reasons presented with respect to claim 5.
Response to Arguments
Applicant's arguments, see pages 7-20 of the Remarks, filed 09/25/2026 have been fully considered but they are not persuasive. Regarding the rejections under 35 U.S.C. 102:
Applicant argues the references cited in the previous Office Action fail to teach by a compositor within a host domain of a virtualization environment as recited in claim 1.
Examiner disagrees. Katovich (International Pub. No. WO 2021/197564 A1) teaches by a compositor within a host domain of a virtualization environment ([0002] – “a single hardware computing platform, such as a system on chip (SoC), may be used to host several virtual machines (VM) to support multiple applications and display devices”; [0005] – “efficient multi-display two-dimensional (2D) compositing in virtualized environments executing within a single system-on-chip (SoC)”; [0048] – “The hypervisor is configured to host, at 202, a plurality of virtual machines on a single computing platform or apparatus”)
Although the compositor is not explicitly recited as being “within a host domain of a virtualization environment”, Katovich teaches the hardware compositor within the computing environment responsible for hosting the virtual machines (see Katovich: [0002]), and teaches the compositor residing in the host-side portion of the virtualization environment (see Katovich: FIG. 1). The applicant’s specification recites ([0011] – “a host VM (host domain) in a virtualization environment supports multiple physical displays that are served by guest VMs”). Therefore, one of ordinary skill in this art would recognize this hardware compositor located within a system on chip, as located within a host domain of a virtualization environment, since the system on chip is hosting a plurality of virtual machines as described in paragraphs [0002], [0005] and [0048] of Katovich.
Specific details regarding the references to teach the limitations as recited in claim 1 are provided in the rejection of claim 1 in the section titled Claim Rejections – 35 USC § 102 above.
Applicant argues the references cited in the previous Office Action fail to teach responsive to determining that the first physical display is assigned to the first guest virtual machine, selecting the first physical display to receive the first set of display data as recited in claim 2.
Examiner disagrees. Katovich (International Pub. No. WO 2021/197564 A1) teaches responsive to determining that the first physical display is assigned to the first guest virtual machine ([0035] – “virtual machines will produce visual content and the produced visual content is to be displayed on corresponding display devices”; [0036] – “As illustrated in Figure 1, each virtual display bitmap 116-1, 116-2, 116-3 is associated with the corresponding virtual machine 114-1, 114-2, 114-3 for which it was generated.”), selecting the first physical display to receive the first set of display data ([0006] – “The processor is configured to process a plurality of virtual display bitmaps and map each virtual display bitmap of the plurality of virtual display bitmaps with a corresponding hardware layer of a plurality of hardware layers to form a plurality of mapped bitmaps. Each hardware layer of the plurality of hardware layers is associated with a corresponding display of the plurality of display devices […] The display controller is configured to process the framebuffer and present each pixel region of the plurality of pixel regions on a corresponding display device of the plurality of display devices”)
Although the determining and selecting are not explicitly recited, Katovich teaches an association between display data and the virtual machine for which that display data was generated (see Katovich: [0036]), and teaches the disclosed association between the virtual machine and its virtual display bitmap determines the physical display on which that bitmap is presented (see Katovich: [0006]). Therefore, one of ordinary skill in this art would recognize this correspondence between VM-specific display data and a corresponding display, as a determination of assignment and selection of a physical display, since the relationship determines an assigned virtual machine and display data as described in paragraphs [0006] and [0035]-[0036] of Katovich.
Specific details regarding the references to teach the limitations as recited in claim 2 are provided in the rejection of claim 2 in the section titled Claim Rejections – 35 USC § 102 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Cowperthwaite et al. (U.S. Pub. No. 2005/0210158 A1) teaches a method for sharing a graphics device among multiple virtual machines such that only the output of one VM is displayed on a display device with the ability to context switch from one VM to another (see Abstract, [0002])
Cheng (U.S. Pub. No. 2024/0168785 A1) teaches a host-VM for display management using a compositor on the host to build the final image for local display (see Abstract, [0007], [0008], [0019])
Cheng et al. (U.S. Pub. No. 2013/0229421 A1) teaches a method for coordinating access to a shared physical display when multiple virtual machines need to display simultaneously at different resolutions and frame rates using a desktop compositor (see [0006], [0010], [0043])
Cowperthwaite et al. (U.S. Pub. No. 2023/0306552 A1) teaches a graphics processor that can serve more than one virtualized software environment at the same time using a virtual GPU display engine with a compositor on the host server operating system (see Abstract, [0438])
Edirisooriya (U.S. Pub. No. 2019/0179786 A1) teaches a system for direct memory access data transfers between virtual machines where the host virtual machine can be a system-on-a-chip (SoC) (see [0018], [0024])
THIS ACTION IS MADE FINAL. 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 nonprovisional extension fee (37 CFR 1.17(a)) 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 mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Julianne C. LaPointe whose telephone number is (571)270-5457. The examiner can normally be reached M - T: 7:30am - 5pm 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, Kevin Young can be reached at (571) 270-3180. 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.
/JULIANNE CATHERINE LAPOINTE/Examiner, Art Unit 2194 /KEVIN L YOUNG/Supervisory Patent Examiner, Art Unit 2194