Ex Parte CorrieDownload PDFPatent Trial and Appeal BoardMar 28, 201813460565 (P.T.A.B. Mar. 28, 2018) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE 13/460,565 04/30/2012 152569 7590 03/30/2018 Patterson & Sheridan, LLP 24 Greenway Plaza Suite 1600 Houston, TX 77046 FIRST NAMED INVENTOR Benjamin J. CORRIE 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 ATTORNEY DOCKET NO. CONFIRMATION NO. A828.02 7151 EXAMINER DARE, RYAN A ART UNIT PAPER NUMBER 2136 NOTIFICATION DATE DELIVERY MODE 03/30/2018 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): psdocketing@pattersonsheridan.com ipadmin@vmware.com P AIR_eOffice@pattersonsheridan.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte BENJAMIN J. CORRIE Appeal 2016-003321 1 Application 13/460,565 Technology Center 2100 Before MICHAEL J. STRAUSS, MONICA S. ULLAGADDI, and SHARON PENICK, Administrative Patent Judges. ULLAGADDI, Administrative Patent Judge. DECISION ON APPEAL Appellant seeks our review under 35 U.S.C. § 134(a) of the Examiner's final decision rejecting claims 1-20, which constitute all the claims pending in this application. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 Appellant identifies VMware, Inc. as the real party in interest. App. Br. 3. Appeal2016-003321 Application 13/460,565 STATEMENT OF THE CASE The present invention relates to a "managing memory of a runtime environment executing on a virtual machine." Abstract. Independent claim 1 is reproduced below, with emphasis added to a key limitation. 1. A method for managing memory of a runtime environment executing in a virtual machine, the method comprising: receiving, from a virtualization software that supports execution of the virtual machine, a target amount of memory to be reclaimed from the virtual machine; reclaiming a first portion of the target amount of memory from heap memory of the runtime environment, wherein the heap memory comprises guest physical memory reserved for and managed by the runtime environment; determining, by operation of a memory management agent in the runtime environment, a second portion of the target amount of memory to be reclaimed; identifying at least one guest physical memory page to be allocated as part of the runtime environment but external to the heap memory of the runtime environment, the one or more guest physical memory page having a size equal to the second portion of the target amount of memory to be reclaimed; and notifying a hypervisor that at least one machine memory page associated with the identified guest physical memory page can be re-claimed. THE REJECTION Claims 1-20 stand rejected under 35 U.S.C. § 102(e) as unpatentable over Ben-Yehuda et al. (US 2012/0233435 Al; pub. Sept. 13, 2012, hereinafter "Ben-Y ehuda"). Final Act. 3. 2 Appeal2016-003321 Application 13/460,565 ANALYSIS The Examiner finds Ben-Y ehuda discloses "identifying at least one guest physical memory page to be allocated as part of the runtime environment but external to the heap memory of the runtime environment," as recited in claim 1. Final Act. 3 (citing Ben-Yehuda i-fi-124--27, 30-34). The Examiner finds that Ben-Y ehuda teaches a "ballooning mechanism increases the size of the JVM [(Java Virtual Machine)] heap by taking memory that is outside the JVM heap and adding it to the JVM heap" and that "[t]he java balloon objects added to the JVM heap should be considered as being allocated as part of the runtime environment." Ans. 3. The Examiner further finds that the ballooning mechanism, via which java balloon objects are acquired or released, "change[ s] the size of the JVM heap" by "specifically allocating memory external to the heap memory of the runtime environment." Id. The Examiner also finds that "Ben-Yehuda does in fact teach first and second portions of memory to be reclaimed" and that, "Fig. 2, for example, shows heap free space 260 both at higher memory addresses and lower memory addresses than the Java Balloon Objects 210." Id. Appellant contends Ben-Yehuda fails to disclose "identifying at least one guest physical memory page to be allocated as part of the runtime environment but external to the heap memory of the runtime environment, the one or more guest physical memory page having a size equal to the second portion of the target amount of memory to be reclaimed," as recited in claim 1. App. Br. 8 (emphasis added). Appellant argues that The heap 222 for the NM, or the "Java heap," includes Java balloon objects 210, regular objects 200, and heap free space 3 Appeal2016-003321 Application 13/460,565 260. The Examiner contends there is a distinction between a "physical heap" and the "Java heap," but such distinction is not shown in Fig. 2 or taught by Ben-Yehuda. Ben-Yehuda describes only a single heap 222, which is a space in memory reserved by the NM (equivalent to the "Java heap"). The regular objects 200 are objects instantiated by the JVM, and are hence stored in the Java heap, not outside the Java heap. (See Ben-Yehuda, para. 0031). The heap free space 260 is part of the Java heap that can be used to store new objects. (Ben-Yehuda, para. 0031 ). Respectfully, it is submitted heap free space 260 is not free space external to the Java heap. Id. at 9 (bold emphasis omitted). We agree with Appellant. Ben-Y ehuda discloses "[a] java balloon refers to a portion of the heap 222 that is allocated to the java balloon objects 210 to reserve memory space for the hypervisor 112 or provide for the guest OS 124 unused memory 220" and "[t]he rest of the heap free space 260 may be made available for regular objects 200 instantiated by the NM (i.e., application 126) for other purposes." Ben-Yehuda i-f 31 (see also id. i-f 28 noting that the java balloon objects are a mechanism "to allocate some of the memory in the heap 222 to balloon objects"). Heap free space 260 is part of heap 222 and therefore, not "external to the heap memory of the runtime environment." See id. at Fig. 2. Accordingly, we do not concur in the Examiner's finding that Ben-Yehuda's teaching of"first and second portions of memory to be reclaimed" from "heap free space 260 both at higher memory addresses and lower memory addresses than the Java Balloon Objects 21 O" discloses allocating memory external to the heap memory of the runtime environment. Ans. 3. For the foregoing reasons, we determine that Appellant's arguments are persuasive to show error in the Examiner's findings with respect to 4 Appeal2016-003321 Application 13/460,565 independent claim 1, as well as independent claims 8 and 15, which recite commensurate limitations, and accordingly, the ultimate conclusion of obviousness. Accordingly, we do not sustain the rejections of claims 1, 8, and 15. The rejections of dependent claims 2-7, 9-14, and 16-20 do not remedy the deficiencies noted above with respect to the independent claims from which they depend. Accordingly, we do not sustain the rejections of claims 2-7, 9-14, and 16-20. DECISION The Examiner's decision to reject claims 1-20 is reversed. REVERSED 5 Copy with citationCopy as parenthetical citation