Intel CorporationDownload PDFPatent Trials and Appeals BoardJul 8, 20212020002767 (P.T.A.B. Jul. 8, 2021) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 15/718,655 09/28/2017 Mihir Patel D146634-US 2533 88032 7590 07/08/2021 Jordan IP Law, LLC 12501 Prosperity Drive, Suite 401 Silver Spring, MD 20904 EXAMINER KIM, DONG U ART UNIT PAPER NUMBER 2196 NOTIFICATION DATE DELIVERY MODE 07/08/2021 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): admin@jordaniplaw.com info@jordaniplaw.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte MIHIR PATEL, RYAN KERN, DILIP SHIVARAJU, EMAD ATTIA, and COREY GOUGH Appeal 2020-002767 Application 15/718,655 Technology Center 2100 Before ALLEN R. MacDONALD, JEREMY J. CURCURI, and DAVID J. CUTITTA II, Administrative Patent Judges. CURCURI, Administrative Patent Judge. DECISION ON APPEAL STATEMENT OF THE CASE Pursuant to 35 U.S.C. § 134(a), Appellant1 appeals from the Examiner’s decision to reject claims 1–21. We have jurisdiction under 35 U.S.C. § 6(b). We REVERSE. 1 We use the word Appellant to refer to “applicant” as defined in 37 C.F.R. § 1.42(a). Appellant identifies the real party in interest as Intel Corporation. Appeal Br. 3. Appeal 2020-002767 Application 15/718,655 2 CLAIMED SUBJECT MATTER The claims are directed to “[d]ynamic platform feature tuning based on virtual machine runtime requirements.” Spec., Title. Claim 1, reproduced below, is illustrative of the claimed subject matter: 1. A system to manage virtual machines, comprising: a cloud server platform, the cloud server platform including a substrate and logic coupled to the substrate, wherein the logic is to: configure one or more first logical cores associated with a first virtual machine of the cloud server platform, wherein the configuration of the one or more first logical cores is based at least in part on one or more first feature settings; determine one or more active feature settings that are specific to an active application associated with an active virtual machine based at least in part on application runtime requirements, wherein the active feature settings are different than the first feature settings; assign the one or more active feature settings to the active virtual machine in response to the application runtime requirements; configure one or more active logical cores associated with the active virtual machine of the cloud server platform, wherein the configuration of the one or more active logical cores is based at least in part on the one or more active feature settings; and a power supply to provide power to the cloud server platform. REFERENCES The prior art relied upon by the Examiner is: Name Reference Date Galal US 2010/0199277 A1 Aug. 5, 2010 Jayamohan US 2012/0084777 A1 Apr. 5, 2012 Min US 2018/0088997 A1 Mar. 29, 2018 Appeal 2020-002767 Application 15/718,655 3 REJECTIONS Claims 1, 3–5, 8, 10, 12, 14, 16, 18, and 19 are rejected under 35 U.S.C. § 102(a)(2) as anticipated by Jayamohan. Final Act. 4–11. Claims 2, 9, 13, and 17 are rejected under 35 U.S.C. § 103 as obvious over Jayamohan and Min. Final Act. 12–15. Claims 6, 7, 11, 15, and 20 are rejected under 35 U.S.C. § 103 as obvious over Jayamohan and Galal. Final Act. 15–18. Claim 21 is rejected under 35 U.S.C. § 103 as obvious over Jayamohan, Min, and Galal. Final Act. 18–26. OPINION The Anticipation Rejection of Claims 1, 3–5, 8, 10, 12, 14, 16, 18, and 19 by Jayamohan The Examiner finds Jayamohan describes all limitations of claim 1. Final Act. 4–8. In particular, the Examiner finds Jayamohan describes determine one or more active feature settings that are specific to an active application associated with an active virtual machine based at least in part on application runtime requirements, wherein the active feature settings are different than the first feature settings; assign the one or more active feature settings to the active virtual machine in response to the application runtime requirements; as recited in claim 1. Final Act. 5–6 (citing Jayamohan ¶¶ 28, 58, 65, 70); see also Ans. 3–8 (citing Jayamohan ¶¶ 11, 25, 28, 49, 58, 63, 65, 70). Appellant presents the following principal arguments: Appellant respectfully submits that the Examiner has not established that the cited reference discloses operations to “assign the one or more active feature settings to the active Appeal 2020-002767 Application 15/718,655 4 virtual machine in response to the application runtime requirements,” as recited in claim 1. For example, FIG. 4 of Jayamohan appears to discuss assigning features to each virtual machine without regard to the active application. Further, paragraphs [0016–0017] of Jayamohan appears to make clear that first, “features” are assigned to “each of multiple processor cores;” second, there is a “record of the features and associated feature properties” that is maintained; and only later, each application is then scheduled “based at least in part on the features supported by the processor cores.” Appeal Br. 11. Similarly, paragraph [0070] Jayamohan appears to discuss choosing a virtual machine with an appropriate set of already assigned features from the “record of features.” The Examiner has cited to virtual machine control module 122 as controlling the features of virtual cores 116 of Jayamohan. Appellant respectfully submits, however, that the Examiner has failed to show any portion of Jayamohan where the virtual machine control module 122 controls the features of virtual cores 116 “in response to the application runtime requirements,” as recited in claim 1. Instead, paragraph [0030] of Jayamohan appears to show that virtual machine control module 122 controls the features of virtual cores 116 in response to “both the number of virtual cores 116 in virtual machine 108 and the number of physical cores 106 that support the particular feature.” Appeal Br. 12. Appellant respectfully submits that choosing a virtual machine for an application based on a pre-existing “record of features” is quite different from the claimed operations to “assign the one or more active feature settings to the active virtual machine in response to the application runtime requirements,” as recited in claim 1. Appeal Br. 13; see also Reply Br. 5–7. Appeal 2020-002767 Application 15/718,655 5 We review the appealed rejections for error based upon the issues identified by Appellant, and in light of the arguments and evidence produced thereon. Ex parte Frye, 94 USPQ2d 1072, 1075 (BPAI 2010) (precedential). Appellant’s Specification discloses “feature settings may be determined based at least in part on the application runtime requirements.” Spec. ¶ 26. Appellant’s Specification further discloses: In some implementations, the application runtime requirements may include one or more of an indication of latency sensitivity, or an indication of a data reference pattern, the like, and/or combinations thereof. The data reference pattern may include an indication of whether the active application 122 accesses memory in a random or sequential manner. For example, operation 304 might determine whether the active application 122 is a streaming application. The active feature settings 134 may include one or more of idle power state settings, execution power state settings, or pre-fetch settings, the like, and/or combinations thereof. Spec. ¶ 27. Appellant’s Specification further discloses “the determined feature settings may be assigned to the associated virtual machine.” Spec. ¶ 28. Thus, we interpret the limitations: determine one or more active feature settings that are specific to an active application associated with an active virtual machine based at least in part on application runtime requirements, wherein the active feature settings are different than the first feature settings; assign the one or more active feature settings to the active virtual machine in response to the application runtime requirements; as recited in claim 1 as requiring determining one or more active feature settings based on application runtime requirements, and then assigning the Appeal 2020-002767 Application 15/718,655 6 one or more active feature settings to the active virtual machine in response to the application runtime requirements. See Spec. ¶¶ 26–28. Jayamohan discloses Different processor cores in a computing device can support different features. In one or more embodiments, the features supported by each of multiple physical processor cores of a computing device are identified. A set of one or more features of the multiple physical processor cores to make available to virtual processor cores of the virtual machine are determined based at least in part on both the one or more features supported by each of the multiple physical processor cores and a number of virtual processor cores of the virtual machine. In additional embodiments, a multi-level scheduling model is used. An operating system level scheduler of an operating system schedules multiple applications for execution on multiple processor cores, and a user level scheduler of an application schedules application threads of that application for execution on one or more of the multiple processor cores. Jayamohan, Abstract. Jayamohan further discloses “whether a particular feature is made available to virtual cores 116 is based on both the number of virtual cores 116 in virtual machine 108 and the number of physical cores 106 that support the particular feature.” Jayamohan ¶ 30. Jayamohan further discloses “[t]his multi-level scheduler model can leverage the asymmetric nature of the processor cores, scheduling application threads for execution based on the features supported by the processor cores.” Jayamohan ¶ 61. Jayamohan further discloses “[p]rocessor cores 604(1), . . . , 604(m) can be, for example, physical cores 106(1), . . . , 106(x) or virtual cores 116(1), . . . , 116(y) of FIG. 1.” Jayamohan ¶ 62. Appeal 2020-002767 Application 15/718,655 7 Jayamohan further discloses: In one or more embodiments, user level scheduler 614 selects particular ones of processor cores 604 on which application threads 616 will be executed. The processor cores selected by user level scheduler 614 can be based at least in part on the record of features and associated feature properties maintained by feature catalog manager 608. For example, user level scheduler 614 may schedule application threads 616 for execution on processor cores 604 that support particular features (e.g., support hardware AES encryption/decryption), may schedule application threads for execution on processor cores 604 that support a particular feature having less than a threshold access latency, and so forth. Jayamohan ¶ 70. Based on these disclosures in Jayamohan, we interpret Jayamohan as describing scheduling application threads for execution based on supported features of the processor cores, which may be virtual cores, and “whether a particular feature is made available to virtual cores 116 is based on both the number of virtual cores 116 in virtual machine 108 and the number of physical cores 106 that support the particular feature.” Jayamohan ¶ 30 (emphasis added). Thus, Jayamohan does not describe determining one or more active feature settings based on application runtime requirements, and then assigning the one or more active feature settings to the active virtual machine in response to the application runtime requirements, as required by claim 1 because Jayamohan assigns features to virtual cores in a different way—in Jayamohan, “whether a particular feature is made available to virtual cores 116 is based on both the number of virtual cores 116 in virtual machine 108 and the number of physical cores 106 that support the particular feature.” Jayamohan ¶ 30 (emphasis added). Appeal 2020-002767 Application 15/718,655 8 We, therefore, do not sustain the Examiner’s rejection of claim 1. We also do not sustain the Examiner’s rejection of claims 3–5, which depend from claim 1. For the same reasons discussed above when addressing claim 1, Jayamohan also does not describe the subject matter of independent claim 8. See Final Act. 11 (“As per claims 8 and 10, these are method claims corresponding to the system claims 1, 4 and 5. Therefore, these are rejected based on similar rationale.”) We, therefore, do not sustain the Examiner’s rejection of claim 8. We also do not sustain the Examiner’s rejection of claim 10, which depends from claim 8. For the same reasons discussed above when addressing claim 1, Jayamohan also does not describe the subject matter of independent claim 12. See Final Act. 11 (“As per claims 12 and 14, these are computer readable storage medium claims corresponding to the system claims 1, 4 and 5. Therefore, these are rejected based on similar rationale.”) We, therefore, do not sustain the Examiner’s rejection of claim 12. We also do not sustain the Examiner’s rejection of claim 14, which depends from claim 12. For the same reasons discussed above when addressing claim 1, Jayamohan also does not describe the subject matter of independent claim 16. See Final Act. 11 (“As per claims 16, 18 and 19, these are apparatus claims corresponding to the system claims 1, 3, 4 and 5. Therefore, these are rejected based on similar rationale.”) We, therefore, do not sustain the Examiner’s rejection of claim 16. Appeal 2020-002767 Application 15/718,655 9 We also do not sustain the Examiner’s rejection of claims 18 and 19, which depend from claim 16. The Obviousness Rejection of Claims 2, 9, 13, and 17 over Jayamohan and Min The Examiner does not find Min cures the deficiency of Jayamohan. See Final Act. 12–15. We, therefore, do not sustain the Examiner’s rejection of claims 2, 9, 13, and 17. The Obviousness Rejection of Claims 6, 7, 11, 15, and 20 over Jayamohan and Galal The Examiner does not find Galal cures the deficiency of Jayamohan. See Final Act. 15–18. We, therefore, do not sustain the Examiner’s rejection of claims 6, 7, 11, 15, and 20. The Obviousness Rejection of Claim 21 over Jayamohan, Min, and Galal The Examiner does not find Min or Galal cures the deficiency of Jayamohan. See Final Act. 18–26. We, therefore, do not sustain the Examiner’s rejection of claim 21. CONCLUSION The Examiner’s rejections are reversed. Appeal 2020-002767 Application 15/718,655 10 DECISION SUMMARY In summary: Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1, 3–5, 8, 10, 12, 14, 16, 18, 19 102 Jayamohan 1, 3–5, 8, 10, 12, 14, 16, 18, 19 2, 9, 13, 17 103 Jayamohan, Min 2, 9, 13, 17 6, 7, 11, 15, 20 103 Jayamohan, Galal 6, 7, 11, 15, 20 21 103 Jayamohan, Min, Galal 21 Overall Outcome 1–21 REVERSED Copy with citationCopy as parenthetical citation