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.
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 a determining that the first physical display has 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 a determination that the third set of display data has 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
a determination that the third set of display data has 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.
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])
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.
/J.C.L./Examiner, Art Unit 2194
/JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195