DETAILED ACTION
Claims 1-24 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 .
Response to Arguments
The Examiner thanks the Applicant for amending Claim 21 to correct informalities (Remarks p. 9). The objection to Claim 21 has been withdrawn.
The Examiner also thanks the Applicant for amending Claims 4-5, 12-13, and 20 in response to the 35 U.S.C. § 112 rejections (Remarks p. 9). The 35 U.S.C. § 112 rejections have been withdrawn.
Applicant’s arguments with regard to the 35 U.S.C. § 103 rejections (Remarks pp. 9-11) have been fully considered but are moot in view of the Examiner’s new ground of rejection based on added references to address Applicant’s amendments.
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.
Claims 1, 6-7, 9, 14-15, 17, and 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Dong (US 20130167146 A1) in view of Sherwin (US 20240354140 A1), Sherwin 2 (US 20240354139 A1), and Hu (US 20230050163 A1).
Regarding Claim 1, Dong teaches a method comprising:
receiving, by a hypervisor of a host system, hint metadata for a virtual computing instance (
Dong discloses, “Existing virtual machine monitors (sometimes referred to as "hypervisors") may schedule virtual central processing units of virtual machines among multiple physical processing units,” ¶ 0004,
“…Intrinsic cache hint filter 112 may provide virtual central processing unit context information, which may be referred to as "cache hints," to scheduler core 108, e.g., as indicated by arrow C. In various embodiments, virtual machine monitor 104 and/or scheduler core 108 may schedule and/or alter scheduling of virtual central processing units 100 among a plurality of physical processing units 102, as well as instantiate the virtual machines thereon, based at least in part on the received cache hints.,” ¶ 0019,
“For example, intrinsic cache hint filter 112 may receive, from a page sharing agent 114, e.g., at arrow D, information about memory pages that may be shared or potentially shared among multiple virtual central processing units 100. Page sharing agent 114 may be configured to compile page sharing statistics of one or more virtual central processing units 100,” ¶ 0024,
“In various embodiments, page sharing statistics compiled by page sharing agent 114 may include a page sharing ratio of two or more virtual central processing units or their respective virtual machines… a page sharing ratio between virtual machine A and virtual machine B may be 90%. Such a high percentage may suggest a desired cache hit rate if virtual central processing units of virtual machine A and virtual machine B are scheduled on the same physical processing unit,” ¶ 0025,
“For example, intrinsic cache hint filter 112 may determine that the virtual machine was initiated using a Linux template. Accordingly, intrinsic cache hint filter 112 may assign the virtual machine a GROUP ID of a group of virtual machines initiated with templates of a particular operating system, such as Linux, Windows XP.RTM., and so forth,” ¶ 0039,
“An average context similarity between a the virtual machine of which VCPU-prev is part and virtual machines of other virtual central processing units operated by the current physical processing unit may be calculated, e.g., by intrinsic cache hint filter 12. If the context similarity average is greater than a predetermined threshold, VCPU-prev may remain on the current physical processing unit and method 300 may proceed to block 304, which will be described below. However, if the similarity average is less than the predetermined threshold, then virtual machine monitor 104 and/or scheduler core 108 may consider whether to migrate VCPU-prev to another physical processing unit,” ¶ 0049.
The claimed “virtual computing instance” is mapped to a disclosed “virtual machine”.
The claimed “virtual processing unit” is mapped to the disclosed “virtual central processing units”.
The claimed “processing cores” is mapped to the disclosed “physical processing units”.
The claimed “hint metadata” is mapped to the disclosed “cache hint”, which is used in order to facilitate improved placement of virtual CPUs among the physical processing units. This is in light of paragraph 9 of the present application’s specification, which states that “This hint metadata may be provided statically prior to VM power-on and/or dynamically during VM runtime. The hypervisor can then schedule the workload on one or more of a plurality of heterogenous processing cores based on the hint metadata.”
The cache hints indicate a “computational nature” for the virtual machines, such as the type of operating system required. This is analogous to the claimed hint metadata indicating a computational nature, according to paragraph 17 of the present application’s specification, which states “VIM server 102 can assign, via VM tagging logic 202, a tag to a VM created/provisioned within host cluster 104 that includes static hint metadata indicating the computational nature, preferences, and/or requirements of the VM as a whole. For instance, the tag may indicate that the VM is high priority/compute-intensive, low priority/not compute-intensive, hybrid priority, an AI workload, etc.”
The claimed “computational need” is mapped to the disclosed “predetermined threshold” of “average context similarity” between a specified virtual machine and other virtual machines using the same physical processing unit. If the average context similarity is below this threshold, the VM is considered regarding whether it should be migrated to another physical processing unit.
The claimed “computational preference” is mapped to the disclosed “desired cache hit rate” of the virtual central processing units of a virtual machine. Virtual central processing units of a virtual machine can be scheduled based on the desired, or preferred, cache hit rate.);
and scheduling, by the hypervisor, at least one of one or more virtual processing units of the virtual computing instance on one or more of the plurality of (
Dong discloses, “…Intrinsic cache hint filter 112 may provide virtual central processing unit context information, which may be referred to as "cache hints," to scheduler core 108, e.g., as indicated by arrow C. In various embodiments, virtual machine monitor 104 and/or scheduler core 108 may schedule and/or alter scheduling of virtual central processing units 100 among a plurality of physical processing units 102, as well as instantiate the virtual machines thereon, based at least in part on the received cache hints,” ¶ 0019.),
Dong does not teach wherein the processing cores are heterogeneous, that the virtual computing instance runs on the hypervisor, or said scheduling comprising: scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when the hint metadata has first characteristics; and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when the hint metadata has second characteristics different from the first characteristics, the second part being different from the first part.
However, Sherwin teaches wherein the processing cores are heterogeneous (
Sherwin discloses, “Mapping virtual processor cores to heterogeneous physical processor cores. A device determines that a processor system has a heterogeneous set of processor cores,” Abstract.),
And that the virtual computing instance runs on the hypervisor (
PNG
media_image1.png
577
802
media_image1.png
Greyscale
Sherwin discloses, “many use an architecture comprising a hypervisor that has direct access to hardware, and that operates in a separate execution environment from all other software in the system; a host partition that executes a host OS and a host virtualization stack; and one or more guest partitions corresponding to VMs,” ¶ 0001, “As illustrated in example 100a, a hypervisor 109 executes directly on hardware 102. Hypervisor 109 allocates hardware resources (e.g., processor system 103, memory 104, I/O resources) into a plurality of partitions. In embodiments, these partitions include a host partition 110 within which a host OS (not illustrated) executes. In embodiments, these partitions also include guest partitions 111 within which guest OSs execute (e.g., guest partition 111a executing guest OS 112 to guest partition 111n executing guest OS 113, with an ellipsis indicating that hypervisor 109 could operate any number of guest partitions),” ¶ 0019.
As seen in FIG. 1A, each of the virtual machines corresponds to a guest partition, and runs on top of the hypervisor.).
Dong and Sherwin are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong to incorporate the teachings of Sherwin and provide wherein the processing cores are heterogeneous, that the virtual computing system runs on the hypervisor. Doing so would allow for improved scheduling decisions based on the type of processing core in the set of heterogeneous processing cores (Sherwin discloses, “Because the hypervisor exposed the first virtual processor core as an efficiency core and exposed the second virtual processor core as a performance core, a guest OS executing at the VM can make informed scheduling decisions, which can lead to enhanced user experiences, the efficient use of energy resources, a reduction in heat generation, and the avoidance of software faults,” ¶ 0016.).
Dong in view of Sherwin does not teach said scheduling comprising: scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when the hint metadata has first characteristics; and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when the hint metadata has second characteristics different from the first characteristics, the second part being different from the first part.
However, Sherwin 2 teaches said scheduling comprising: scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when having first characteristics; and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when having second characteristics different from the first characteristics, the second part being different from the first part (
Sherwin 2 discloses, “In embodiments, a guest OS (e.g., guest OS 112) manages the scheduling of processing tasks (e.g., processes, threads) at virtual cores based on whether those virtual cores are presented to the guest OS as performance cores or efficiency cores. For example, the guest OS may schedule a higher-priority and/or latency-sensitive workload to a performance core, and may schedule a lower-priority and/or latency tolerant workload to an efficiency core,” ¶ 0041.
Here in Sherwin 2, tasks are scheduled either on performance cores or efficiency cores, based on data indicating the level of priority or latency sensitivity for the workload.
After the combination of Dong in view of Sherwin, with Sherwin 2, the virtual processing units from Dong in view of Sherwin are scheduled either on performance cores or efficiency cores from Dong in view of Sherwin, as specified by Sherwin 2.).
Dong in view of Sherwin, and Sherwin 2 are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin to incorporate the teachings of Sherwin 2 and provide said scheduling comprising: scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when having first characteristics; and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when having second characteristics different from the first characteristics, the second part being different from the first part. Doing so would help improve the scheduling of the virtual processing units based on varying conditions that necessitate either performance cores or efficiency cores (Sherwin 2 discloses, “For example, the guest OS may schedule a higher-priority and/or latency-sensitive workload to a performance core, and may schedule a lower-priority and/or latency tolerant workload to an efficiency core,” ¶ 0041.).
Dong in view of Sherwin and Sherwin 2 does not teach scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when the hint metadata has first characteristics, and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when the hint metadata has second characteristics different from the first characteristics.
However, Hu teaches scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when the hint metadata has first characteristics, and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when the hint metadata has second characteristics different from the first characteristics (
Hu discloses, “Scheduling hints include priority, limits, affinity or fusibility. Priority is used to determine the order in which resource allocation plans 117, consumer arrays and consumer sets should be scheduled,” ¶ 0042.
Here, hint metadata in the form of scheduling hints includes priority.
After the combination of Dong in view of Sherwin and Sherwin 2, with Hu, the first characteristics and second characteristics from Sherwin 2 are explicitly incorporated in the hint metadata from Dong in view of Sherwin, as specified by Hu, so that scheduling of the virtual processing units can be done based on these settings.).
Dong in view of Sherwin and Sherwin 2, and Hu are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin and Sherwin 2 to incorporate the teachings of Hu and provide scheduling said at least one of one or more virtual processing units of the virtual computing instance on a first part of the plurality of heterogeneous processing cores when the hint metadata has first characteristics, and scheduling said at least one of one or more virtual processing units of the virtual computing instance on a second part of the plurality of heterogeneous processing cores when the hint metadata has second characteristics different from the first characteristics. Doing so would help improve the scheduling of the virtual processing units based on varying conditions (Hu discloses, “the plans including specific allocation plan attributes for the resources being requested and by having the resource scheduler allocate resources to the workload scheduler in accordance with the plans, performance and fragmentation problems caused by sporadic, frequent and unplanned interactions between the workload scheduler and the resource scheduler can be mitigated,” ¶ 0026.).
Claims 9 and 17 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 1. Therefore, Claims 9 and 17 are rejected for the same reason set forth in the rejection of Claim 1.
Regarding Claim 6, Dong in view of Sherwin, Sherwin 2, and Hu teaches the method of claim 1. Dong in view of Sherwin and Sherwin 2 teaches wherein the plurality of heterogeneous processing cores includes performance cores and efficiency cores, (
Sherwin discloses, “For example, if a first virtual processor core is associated with an efficiency core, topology presentation component 203 configures that first virtual processor core with a CPUID of a physical processor core model that is an efficiency core; if a second virtual processor core is associated with a performance core, topology presentation component 203 configures that second virtual processor core with a CPUID of a physical processor core model that is a performance core,” ¶ 0020.).
Dong and Sherwin are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong to incorporate the teachings of Sherwin and provide wherein the plurality of heterogeneous processing cores includes performance cores and efficiency cores, and wherein the virtual computing instance as a whole is scheduled on at least one of one or more of the performance cores and one or more of the efficiency cores. Doing so would allow for improved scheduling decisions based on the type of processing core in the set of heterogeneous processing cores (Sherwin discloses, “Because the hypervisor exposed the first virtual processor core as an efficiency core and exposed the second virtual processor core as a performance core, a guest OS executing at the VM can make informed scheduling decisions, which can lead to enhanced user experiences, the efficient use of energy resources, a reduction in heat generation, and the avoidance of software faults,” ¶ 0016.).
Dong in view of Sherwin and Sherwin 2 does not teach wherein the hint metadata indicates a priority level of the virtual computing instance as a whole, or wherein the virtual computing instance as a whole is scheduled in accordance with the priority level.
However, Hu teaches wherein the hint metadata indicates a priority level of the virtual computing instance as a whole, and wherein the virtual computing instance as a whole is scheduled in accordance with the priority level (
Hu discloses, “Scheduling hints include priority, limits, affinity or fusibility. Priority is used to determine the order in which resource allocation plans 117, consumer arrays and consumer sets should be scheduled,” ¶ 0042.
Here, priority of the hint metadata indicates scheduling priority.
After the combination of Dong in view of Sherwin and Sherwin 2, with Hu, the priority from Hu now describes the scheduling priority of the virtual computing instance from Dong in view of Sherwin and Sherwin 2. Said priority from Hu is now part of the hint metadata from Dong in view of Sherwin and Sherwin 2, and the virtual computing instance is scheduled based on the priority as specified by Hu.).
Dong in view of Sherwin, and Sherwin 2, and Hu are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin and Sherwin 2 to incorporate the teachings of Hu and provide wherein the hint metadata indicates a priority level of the virtual computing instance as a whole, and wherein the virtual computing instance as a whole is scheduled in accordance with the priority level. Doing so would allow for improved scheduling decisions in which higher priority virtual machines can be given access to resources when needed (Hu discloses, “Scheduling hints include priority, limits, affinity or fusibility. Priority is used to determine the order in which resource allocation plans 117, consumer arrays and consumer sets should be scheduled,” ¶ 0042.).
Claims 14 and 22 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 6. Therefore, Claims 14 and 22 are rejected for the same reason set forth in the rejection of Claim 6.
Regarding Claim 7, Dong in view of Sherwin, Sherwin 2, and Hu teaches the method of claim 1 wherein the plurality of heterogeneous processing cores includes specialized processing cores designed to perform a particular task, wherein the hint metadata indicates that the virtual computing instance as a whole is directed to the particular task, and wherein the virtual computing instance as a whole is scheduled on one or more of the specialized processing cores (
Sherwin discloses, “processor association component 202 keeps a ‘soft affinity’ for associating virtual efficiency cores with physical efficiency cores and for associating virtual performance cores with physical performance cores. In some embodiments, a soft affinity is a preference, but not a requirement, that virtual efficiency cores be associated with physical efficiency cores and that virtual performance cores be associated with physical performance cores,” ¶ 0030.
After the combination of Dong with Sherwin, the cache hints from Dong are used to indicate that a virtual computing instance as a whole is directed to use a specified set of physical efficiency cores and physical performance cores.).
Dong and Sherwin are both considered to be analogous to the claimed invention because they are in the same field of computer scheduling. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong to incorporate the teachings of Sherwin and provide wherein the plurality of heterogeneous processing cores includes specialized processing cores designed to perform a particular task, wherein the hint metadata indicates that the virtual computing instance as a whole is directed to the particular task, and wherein the virtual computing instance as a whole is scheduled on one or more of the specialized processing cores (Sherwin discloses, “Because the hypervisor exposed the first virtual processor core as an efficiency core and exposed the second virtual processor core as a performance core, a guest OS executing at the VM can make informed scheduling decisions, which can lead to enhanced user experiences, the efficient use of energy resources, a reduction in heat generation, and the avoidance of software faults,” ¶ 0016.).
Claims 15 and 23 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 7. Therefore, Claims 15 and 23 are rejected for the same reason set forth in the rejection of Claim 7.
Claims 2, 10, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Dong (US 20130167146 A1) in view of Sherwin (US 20240354140 A1), Sherwin 2 (US 20240354139 A1), Hu (US 20230050163 A1), Anand (US 20150169350 A1), and Gotsis (US 20230229609 A1).
Regarding Claim 2, Dong in view of Sherwin, Sherwin 2, and Hu teaches the method of claim 1. Dong in view of Sherwin, Sherwin 2, and Hu does not teach wherein the hint metadata includes a dynamic portion that indicates at least one of a computational nature, need, and/or and preference of a workload process that is executed in the virtual computing instance, and the dynamic portion of the hint metadata is dynamically determined while the virtual computing instance is running.
However, Anand teaches wherein the hint metadata includes a static portion that indicates at least one of a computational nature, need, and preference of the virtual computing instance as a whole,
and the static portion of the hint metadata is included in a first tag (
Anand discloses, “In this example, based on the high priority policy set of virtual machine A 110, the guest operating system 118 of the virtual machine A 110 will dispatch jobs to the primary threads of all of the 32 virtual processors 116 using all 32 physical processor cores when the virtual machines B 120 and C 130 are idle,” ¶ 0021, “It should be appreciated that the priority policy sets 114 may be static or dynamic. A static policy is one where a hypervisor, or other virtual machine manager, owns the static policy and notifies the virtual machines when their resource usage does not match the virtual machines’ assigned priority for a given situation, so that adjustments may be made. This policy only prioritizes workloads at the virtual machine level and does not consider the specifics of the workload in the virtual machine,” ¶ 0029.
The claimed “first tag” is mapped to the disclosed static “priority policy set”, where the hints used for scheduling apply specifically to the virtual machine.
This means that the policy set will be applied prior to the virtual computing instances being initialized and dispatched to be run.
After the combination of Dong in view of Sherwin, Sherwin 2, and Hu, with Anand, the cache hints from Dong now include a static portion that is set prior to the virtual computing instances being initialized.).
Dong in view of Sherwin, Sherwin 2, and Hu, and Anand are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, and Hu to incorporate the teachings of Anand and provide wherein the hint metadata includes a static portion that indicates at least one of a computational nature, need, and preference of the virtual computing instance as a whole, and the static portion of the hint metadata is included in a first tag, and the first tag is statically assigned to the virtual computing instance prior to initiation of the virtual computing instance. Doing so would allow for improved performance by adhering to the static policy (Anand discloses, “It should be appreciated that the priority policy sets 114 may be static or dynamic. A static policy is one where a hypervisor, or other virtual machine manager, owns the static policy and notifies the virtual machines when their resource usage does not match the virtual machines’ assigned priority for a given situation, so that adjustments may be made,” ¶ 0029.).
Dong in view of Sherwin, Sherwin 2, Hu, and Anand does not teach wherein the tag is provided by a virtual infrastructure management (VIM) server and received by the hypervisor, or that the tag is statically assigned to the virtual computing instance by the VIM server.
However, Gotsis teaches a command being provided by a virtual infrastructure management (VIM) server and received by the hypervisor, and that the command is statically assigned to the virtual computing instance by the VIM server (
Gotsis discloses, “Starting with block 302, hypervisor 102 of host system 200 can receive (from, e.g., a virtual infrastructure management server) a command to live migrate VM 104 from host system 200 to a destination host system,” ¶ 0026.
Here, a command is sent from the virtual infrastructure management (VIM) server to the hypervisor. Said command is then statically assigned to a virtual machine in order for the virtual machine to be migrated.
After the combination of Dong in view of Sherwin, Sherwin 2, Hu, and Anand, with Gotsis, the command from Gotsis is replaced by the tag from Dong in view of Sherwin, Sherwin 2, Hu, and Anand. Said tag is now sent from the virtual infrastructure management (VIM) server to the hypervisor, where it is then statically assigned to the virtual computing instance. Thus, the VIM server is responsible for statically assigning the tag to the virtual computing instance.).
Dong in view of Sherwin, Sherwin 2, Hu, and Anand, and Gotsis are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, Hu, and Anand to incorporate the teachings of Gotsis and provide wherein the tag is provided by a virtual infrastructure management (VIM) server and received by the hypervisor, and that the tag is statically assigned to the virtual computing instance by the VIM server. Doing so would allow for utilizing the VIM server to store the tags so that they can be used later when a virtual computing instance is initialized.
Claims 10 and 18 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 2. Therefore, Claims 10 and 18 are rejected for the same reason set forth in the rejection of Claim 2.
Claims 3, 11, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Dong (US 20130167146 A1) in view of Sherwin (US 20240354140 A1), Sherwin 2 (US 20240354139 A1), Hu (US 20230050163 A1), and Anand (US 20150169350 A1).
Regarding Claim 3, Dong in view of Sherwin, Sherwin 2, and Hu teaches the method of claim 1. Dong in view of Sherwin, Sherwin 2, and Hu does not teach wherein the hint metadata includes a dynamic portion that indicates at least one of a computational nature, need, and/or and preference of a workload process that is executed in the virtual computing instance, and the dynamic portion of the hint metadata is dynamically determined while the virtual computing instance is running.
However, Anand teaches wherein the hint metadata includes a dynamic portion that indicates at least one of a computational nature, need, and/or and preference of a workload process that is executed in the virtual computing instance, and the dynamic portion of the hint metadata is dynamically determined while the virtual computing instance is running (
Anand discloses, “It should be appreciated that the priority policy sets 114 may be static or dynamic… The dynamic policy, on the other hand, are owned by the individual virtual machines and represent the priorities of the workloads actually running in the virtual machine. The dynamic policy conveys the priorities of the workloads to the hypervisor based on which workloads are current executing in the virtual machine. The hypervisor may then grant or deny more resources, depending on the current relative priority of the other virtual machines,” ¶ 0029, and “As described previously, the hypervisor may monitor the resource utilization of the various virtual machines (VMs) executing on the data processing system 200 and may communicate such information to the guest operating systems of each of the logical partitions (LPARs) or VMs. The guest operating systems may comprise logic for ingesting such hint information from the hypervisor and adjusting their own thread scheduling operations to account for the availability, or lack of availability, of data processing system resources,” ¶ 0054.
This means that the hypervisor will communicate with the guest virtual machines to schedule virtual computing instances while the virtual computing instances are still being run, in contrast to the static approach.).
Dong in view of Sherwin, Sherwin 2, and Hu, and Anand are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, and Hu to incorporate the teachings of Anand and provide wherein the hint metadata includes a dynamic portion that indicates at least one of a computational nature, need, and/or and preference of a workload process that is executed in the virtual computing instance, and the dynamic portion of the hint metadata is dynamically determined while the virtual computing instance is running. Doing so would allow for improved performance by adjusting based on changing conditions (Anand discloses, “The dynamic policy conveys the priorities of the workloads to the hypervisor based on which workloads are current executing in the virtual machine. The hypervisor may then grant or deny more resources, depending on the current relative priority of the other virtual machines,” ¶ 0029.).
Claims 11 and 19 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 3. Therefore, Claims 11 and 19 are rejected for the same reason set forth in the rejection of Claim 3.
Claims 4-5, 12-13, and 20-21 are rejected under 35 U.S.C. 103 as being unpatentable over Dong (US 20130167146 A1) in view of Sherwin (US 20240354140 A1), Sherwin 2 (US 20240354139 A1), Hu (US 20230050163 A1), Anand (US 20150169350 A1), Feroz (US 20160162685 A1), and Da Silva (US 20140047440 A1).
Regarding Claim 4, Dong in view of Sherwin, Sherwin 2, Hu, and Anand teaches the method of claim 3. Dong in view of Sherwin, Sherwin 2, Hu, and Anand does not teach wherein the hint metadata is dynamically determined by an agent running within the virtual computing instance that: detects a launch of the workload process in the virtual computing instance; matches the workload process to an entry in a process list that is assigned to the virtual computing instance prior to initiation of the virtual computing instance; retrieves a second tag for the workload process from the matched entry, wherein the second tag indicates at least one of a computational nature, need, and preference of the workload process; determines a virtual processing unit of the virtual computing instance to which the workload process is mapped; and sends the tag and an identifier of the virtual processing unit to the hypervisor as the dynamic portion of the hint metadata.
However, Feroz teaches wherein the hint metadata is dynamically determined by an agent running within the virtual computing instance that:
detects a launch of the workload process (
Feroz discloses, “When an application is selected to be run in one of VMs 110, the file event associated therewith is detected by a thin agent 112 of the corresponding VM. Thin agent 112 is implemented as a file system filter driver in the guest operating system of the VM, that intercepts file events and passes them to SVM 115 via an inter-process communication channel depicted in FIG. 1 as multiplexer 122,” ¶ 0011, and “The method begins at step 302, when thin agent 112 detects a file event associated with launching of an application. Thin agent 112 pauses execution of this application at step 304 and transmits the file event to SVM 115 through multiplexer 122 at step 306. Thin agent 112 then waits for an allow or deny action before proceeding further with the application launch,” ¶ 0017.
This aligns with paragraph 20 of the present application’s specification, which states that “hypervisor 108 can identify the presence of the VM's dynamic tag and, in response, can inject a paravirtual guest agent into the VM that maintains a copy of the VM's process list.”);
matches the workload process to an entry in a process list that is assigned to the virtual computing instance prior to initiation of the virtual computing instance (
Feroz discloses, “At step 402, SVM 115 detects the file event as a result of the notification from thin agent 112 and generates a file signature of the application. At step 404, whitelist manager 155 compares the file signature to those stored in whitelist 156. If there is a match, whitelist manager 155 at step 420 generates an allow action and SVM 115 at step 422 communicates the allow action to thin agent 112 of VM 110 through multiplexer 122,” ¶ 0018.
The claimed “process list” is mapped to the disclosed “whitelist 156” that stores whitelisted processes for matching.
After the combination of Dong in view of Sherwin, Sherwin 2, Hu, and Anand, with Feroz, the process list from Feroz now stores entries assigned to virtual computing instances prior to their initiation.).
Dong in view of Sherwin, Sherwin 2, Hu, and Anand, and Feroz are both considered to be analogous to the claimed invention because they are in the same field of computer processes. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, Hu, and Anand to incorporate the teachings of Feroz and provide wherein the hint metadata is dynamically determined by an agent running within the virtual computing instance that: detects a launch of the workload process; matches the workload process to an entry in a process list that is assigned to the virtual computing instance prior to initiation of the virtual computing instance. Doing so would allow for increased integrity from verifying the processes (Feroz discloses, “An alternative approach known as whitelisting, where only well-known applications are given execution privileges, has been gaining momentum. The main challenge with adopting a whitelisting strategy is that as new applications emerge, many of their runtime behavior remain unknown. Before such unknown applications, which are referred to as ‘gray’ applications, can be added to the whitelist, their runtime behavior needs to be first examined and classified as being safe by the system administrator,” ¶ 0002.).
Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz does not teach wherein the agent retrieves a second tag for the workload process from the matched entry, wherein the second tag indicates at least one of a computational nature, need, and preference of the workload process; determines a virtual processing unit of the virtual computing instance to which the workload process is mapped; and sends the tag and an identifier of the virtual processing unit to the hypervisor.
However, Da Silva teaches wherein the agent retrieves a second tag for the workload process from the matched entry, wherein the second tag indicates at least one of a computational nature, need, and preference of the workload process (
Da Silva discloses, “The application, via an (Guest) Operating System Kernel call 51, communicates application performance metric or status information 60 to a kernel level process 42 that receives the performance information/status and relays it to the hypervisor of that host system… Example system calls 51 to the kernel layer include status information such as: call(Throughput, too low) or call(Latency, TOO_HIGH) referring to application process metrics 60 of the application run in the guest VM,” ¶ 0029.
The claimed “second tag” is mapped to the disclosed “application process metrics 60” that describe the computational characteristics of the process, such as whether the throughput is too low or the latency is too high. This is consistent with the specification, which states in paragraph 17 that “For instance, the tag may indicate that the VM is high priority/compute-intensive, low priority/not compute-intensive, hybrid priority, an AI workload, etc.”.);
determines a virtual processing unit of the virtual computing instance to which the workload process is mapped (
Da Silva discloses, “The application process 60 and O/S system performance/status data 61 are communicated to hypervisor process 35 via a system call into the Hypervisor process (‘hypercall’ 50). In one embodiment, the hypervisor process 35 may include a Device Emulation process (a standard virtualization component which is responsible for routing I/O requests in a hypervsor to the actual device that the I/O is destined for). One example and non-limiting format of the hypercall 50 is: call(Resource_name or status, value). Example hypercalls to the hypervisor process include: call(Source VM identifier, resource name or status, value),” ¶ 0030.
Here, Da Silva discloses an identifier of a virtual machine, thus mapping the VM to the workload process. After the combination of Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz, with Da Silva, this identifier is modified to point to an individual virtual processing unit of the VM, thus mapping the workload process to said individual virtual processing unit.);
and sends the tag and an identifier of the virtual processing unit to the hypervisor as the dynamic portion of the hint metadata (
Da Silva discloses, “The hypervisor 25 receives the (O/S) performance 61 and application performance metrics data 60 from the system calls 50 and may be stored and/or bundled with additional information such as hypervisor performance metrics data 63 at the cloud hypervisor 25,” ¶ 0027, and “The application process 60 and O/S system performance/status data 61 are communicated to hypervisor process 35 via a system call into the Hypervisor process (‘hypercall’ 50),” ¶ 0030.
The application process 60 includes the disclosed “application process metrics 60” that describe the computational characteristics of the process. Both of the application process 60 and O/S system performance/status data 61, mapped to second tag, include the “VM identifier”, and both are sent to the hypervisor via the hypercall. Both of the application process 60 and O/S system performance/status data 61 are also determined dynamically based on system calls.
After the combination of Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz, with Da Silva, the “VM identifier” is modified to point to an individual virtual processing unit of the VM, and Da Silva’s application process 60 and O/S system performance/status data 61 comprise the dynamic portion of the hint metadata from Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz.).
Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz, and Da Silva are both considered to be analogous to the claimed invention because they are in the same field of computer processes. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, Hu, Anand, and Feroz to incorporate the teachings of Da Silva and provide wherein the agent retrieves a second tag for the workload process from the matched entry, wherein the second tag indicates at least one of a computational nature, need, and preference of the workload process; determines a virtual processing unit of the virtual computing instance to which the workload process is mapped; and sends the tag and an identifier of the virtual processing unit to the hypervisor as the dynamic portion of the hint metadata . Doing so would allow for providing more information to the hypervisor to make informed decisions (Da Silva discloses, “The application process 60 and O/S system performance/status data 61 are communicated to hypervisor process 35 via a system call into the Hypervisor process (‘hypercall’ 50),” ¶ 0030.).
Claims 12 and 20 are a non-transitory computer readable storage medium claim (Claim 1 of Dong) and computer system claim (¶ 0062 of Dong), respectively, corresponding to the method Claim 4. Therefore, Claims 12 and 20 are rejected for the same reason set forth in the rejection of Claim 4.
Regarding Claim 5, Dong in view of Sherwin, Sherwin 2, Hu, Anand, Feroz, and Da Silva teaches the method of claim 4 wherein the hypervisor schedules the virtual processing unit for execution on one of the plurality of heterogeneous processing cores based on the second tag (
Sherwin discloses, “processor association component 202 keeps a ‘soft affinity’ for associating virtual efficiency cores with physical efficiency cores and for associating virtual performance cores with physical performance cores. In some embodiments, a soft affinity is a preference, but not a requirement, that virtual efficiency cores be associated with physical efficiency cores and that virtual performance cores be associated with physical performance cores,” ¶ 0030.
In addition, Da Silva also discloses, “The application process 60 and O/S system performance/status data 61 are communicated to hypervisor process 35 via a system call into the Hypervisor process (‘hypercall’ 50). In one embodiment, the hypervisor process 35 may include a Device Emulation process (a standard virtualization component which is responsible for routing I/O requests in a hypervsor to the actual device that the I/O is destined for). One example and non-limiting format of the hypercall 50 is: call(Resource_name or status, value). Example hypercalls to the hypervisor process include: call(Source VM identifier, resource name or status, value),” ¶ 0030.
After the combination of Dong with Sherwin, the hypervisor’s scheduling of virtual computing instances are done on heterogenous processing cores from Sherwin. After the combination of Dong in view of Sherwin, Sherwin 2, Hu, and Anand, with Feroz and Da Silva, the hypervisor’s scheduling is based on information stored in the second tag that is retrieved from Feroz and utilized in Da Silva.).
Dong and Sherwin are both considered to be analogous to the claimed invention because they are in the same field of computer scheduling. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong to incorporate the teachings of Sherwin and provide wherein the hypervisor schedules the virtual processing unit for execution on one of the plurality of heterogeneous processing cores. Doing so would allow for improved scheduling decisions based on the type of processing core in the set of heterogeneous processing cores (Sherwin discloses, “Because the hypervisor exposed the first virtual processor core as an efficiency core and exposed the second virtual processor core as a performance core, a guest OS executing at the VM can make informed scheduling decisions, which can lead to enhanced user experiences, the efficient use of energy resources, a reduction in heat generation, and the avoidance of software faults,” ¶ 0016.).
Dong in view of Sherwin, Sherwin 2, Hu, and Anand, and Feroz and Da Silva are both considered to be analogous to the claimed invention because they are in the same field of computer processes. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, Hu, and Anand to incorporate the teachings of Feroz and Da Silva and provide wherein the virtual processing unit is scheduled based on the second tag. Doing so would allow for improvement in resource management (Da Silva discloses, “…the kernel level process responsively generating a further hypercall relaying the application performance metric data to the host machine hypervisor; and, the host machine hypervisor delivering the application performance metric data and the system level performance data regarding the running virtual machine to a cloud controller for managing resources of the cloud computing environment,” ¶ 0014.).
Claims 13 and 21 are a non-transitory computer readable storage medium claim (Claim 1 of Dong) and computer system claim (¶ 0062 of Dong), respectively, corresponding to the method Claim 5. Therefore, Claims 13 and 21 are rejected for the same reason set forth in the rejection of Claim 5.
Claims 8, 16, and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Dong (US 20130167146 A1) in view of Sherwin (US 20240354140 A1), Sherwin 2 (US 20240354139 A1), Hu (US 20230050163 A1), and Agarwal (US 20210224077 A1).
Regarding Claim 8, Dong in view of Sherwin, Sherwin 2, and Hu teaches the method of claim 1. Dong in view of Sherwin, Sherwin 2, and Hu does not teach wherein the scheduling fails due to a lack of availability of appropriate processing cores on the host system, and wherein in response to this failure a virtual infrastructure management server migrates the virtual computing instance to another host system that can accommodate the virtual computing instance in accordance with the hint metadata.
However, Agarwal teaches wherein the scheduling fails due to a lack of availability of appropriate processing cores on the host system, and wherein in response to this failure a virtual infrastructure management server migrates the virtual computing instance to another host system that can accommodate the virtual computing instance in accordance with the hint metadata (
Agarwal discloses, “If a host has experienced a failure, as reported by a HA agent 121 running in that host (e.g., or by the HA agent not being able to send a heartbeat signal to HA master 133 at a prescribed time, thereby indicating a problem with a host on which that HA agent is installed), in step 307 a determination is made by virtualization manage 130 as to whether there are sufficient available resources within cluster 127 to spin up the VMs that are running in the failed host in another host within cluster 127. If there are sufficient available resources (‘Yes’ decision in step 307), then in step 310 the VMs of the failed host are migrated to another host in cluster 127 that can accommodate those VMs, and the process ends,” ¶ 0019.
After the combination of Dong in view of Sherwin, Sherwin 2, and Hu, with Agarwal, the migration of the VM to another host, from Agarwal, is determined based on the hint metadata from Dong in view of Sherwin, Sherwin 2, and Hu.).
Dong in view of Sherwin, Sherwin 2, and Hu, and Agarwal are both considered to be analogous to the claimed invention because they are in the same field of computer architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Dong in view of Sherwin, Sherwin 2, and Hu to incorporate the teachings of Agarwal and provide wherein the scheduling fails due to a lack of availability of appropriate processing cores on the host system, and wherein in response to this failure a virtual infrastructure management server migrates the virtual computing instance to another host system that can accommodate the virtual computing instance in accordance with the hint metadata. Doing so would allow the process to continue without the drawbacks of the original host failing. (Agarwal discloses, “a determination is made by virtualization manage 130 as to whether there are sufficient available resources within cluster 127 to spin up the VMs that are running in the failed host in another host within cluster 127. If there are sufficient available resources (‘Yes’ decision in step 307), then in step 310 the VMs of the failed host are migrated to another host in cluster 127 that can accommodate those VMs, and the process ends,” ¶ 0019.).
Claims 16 and 24 are a non-transitory computer readable storage medium claim (Claim 1 of Dong.) and computer system claim (¶ 0062 of Dong.), respectively, corresponding to the method Claim 8. Therefore, Claims 16 and 24 are rejected for the same reason set forth in the rejection of Claim 8.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Feng (US 20180165111 A1): Predictive Virtual Server Scheduling and Optimization of Dynamic Consumable Resources to Achieve Priority-based Workload Performance Objectives
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any 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 ANDREW SUN whose telephone number is (571)272-6735. The examiner can normally be reached Monday-Friday 8:00-5:00.
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, Aimee Li can be reached at (571) 272-4169. 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.
/ANDREW NMN SUN/Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195