Ex Parte ClarkDownload PDFPatent Trial and Appeal BoardSep 29, 201612416415 (P.T.A.B. Sep. 29, 2016) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. 12/416,415 36378 7590 VMWARE, INC. DARRYL SMITH FILING DATE 0410112009 10/03/2016 3401 Hillview Ave. PALO ALTO, CA 94304 FIRST NAMED INVENTOR Jonathan CLARK 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. A304 4360 EXAMINER BUKHARI, SIBTE H ART UNIT PAPER NUMBER 2449 NOTIFICATION DATE DELIVERY MODE 10/03/2016 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): ipteam@vmware.com ipadmin@vmware.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte JONATHAN CLARK Appeal2013-006696 Application 12/416,415 Technology Center 2400 Before JASON V. MORGAN, TRENTON A. WARD, and NORMAN H. BEAMER, Administrative Patent Judges. WARD, Administrative Patent Judge. DECISION ON APPEAL Appellant appeals under 35 U.S.C. § 134(a) from the Examiner's Final Rejection of claims 1-16 and 20-23, which constitute all the claims pending in this application. Appeal Br. 1. Claims 1 7-19 have been cancelled. Id. at 26. The real party in interest identified by Appellant is VMware, Inc. Appeal Br. 3. We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM. Appeal2013-006696 Application 12/416,415 STATEMENT OF THE CASE The References and Rejections on Appeal Claims 1, 9-11, 21, and 22 under 35 were rejected under 35 U.S.C. § 103 as being unpatentable over Dhawan et al. (US 2007/0079307 Al; pub. April 5, 2007) ("Dhawan") and Bacher (US 2010/0162252 Al; pub. June 24, 2010) ("Bacher"). Claim 2 was rejected under 35 U.S.C. § 103(a) as unpatentable over Dhawan, Bacher, and Rosu et al. (US 2006/0230407 Al; pub. Oct. 12, 2006) ("Rosu"). Claims 3-8 and 12-14 were rejected under 35 U.S.C. § 103(a) as unpatentable over Dhawan, Bacher, and Chauffour et al. (US 2005/0005006 Al; pub. Jan. 6, 2005) ("Chauffour"). Claims 15-16, 20, and 23 were rejected under 35 U.S.C. § 103(a) as unpatentable over Dhawan and Rueda et al. (US 2002/0112076 Al; pub. August 15, 2 002) ("Rueda"). The Claimed Invention The claimed invention is directed to a system in which one or more processes are offloaded from one virtual machine running on one host computer to another virtual machine running on another host computer so that load balancing can be performed on a per process level and physical servers supporting the virtual machines can be more optimally utilized. Spec., Abstract. The method involves migrating one or more processes from a virtual machine running on a first host computer to a second host computer, including replicating the virtual machine on the second host computer, terminating the migrated processes from the virtual machine running on the first host computer, and terminating all user-level processes 2 Appeal2013-006696 Application 12/416,415 running on the replicated virtual machine other than the migrated processes. Id. Claimed Subject Matter Independent claim 1 under appeal is illustrative and is reproduced below (emphasis added): 1. In a computer system having virtual machines instantiated on one or more host computers, a method for offloading one or more user-level processes running on a guest operating system that is running in a first virtual machine, said method comprising: identifying some but not all of the user-level processes running on the guest operating system of the first virtual machine to be offloaded; replicating the first virtual machine to create a second virtual machine, the second virtual machine having a guest operating system running therein that is replicated from the guest operating system of the first virtual machine and user- level processes running on the guest operating system of the second virtual machine that are replicated from all of the user- level processes running on the guest operating system of the first virtual machine, including some that are to be offloaded and remaining user-level processes that are not to be offloaded; terminating the user-level processes running on the guest operating system of the first virtual machine that were identified for offloading while continuing to execute all of the remaining user-level processes running on the guest operating system of the first virtual machine; and terminating all of the user-level processes running on the guest operating system of the second virtual machine that were replicated from the remaining user-level processes running on the guest operating system of the first virtual machine while continuing to execute the user-level processes running on the guest operating system of the second virtual machine that were replicated from the user-level processes running on the guest 3 Appeal2013-006696 Application 12/416,415 operating system of the first virtual machine that were identijzed for offloading. Appellant's Contentions 1. Appellant contends the Examiner erred in rejecting claims 1, 9- 11, 21, and 22 because Dhawan in view of Bacher fails to teach or suggest terminating, on a first virtual machine, processes identified for offloading while continuing to execute remaining processes, and vice versa for processes replicated on a second virtual machine. Appeal Br. 11. 2. Appellant also contends that the Examiner erred in rejecting claims 1, 9-11, 21, and 22 because Dhawan in view of Bacher fails to teach or suggest replicating both "processes to be offloaded" and "remaining processes." Appeal Br. 13. 3. Appellant further contends that the Examiner erred in rejecting claims 15-16; 20; and 23 because Dhawan in view of Rueda fails to teach or suggest the claim limitation requiring a first virtual machine running on first host computer and a second virtual machine running on a second host computer to have different MAC addresses. Appeal Br. 1 7. ANALYSIS We have reviewed the Examiner's rejections in light of Appellant's contentions that the Examiner has erred. We disagree with Appellant's arguments. We adopt as our own (1) the findings and reasons set forth by the Examiner in the action from which this appeal is taken and (2) the reasons set forth by the Examiner in the 4 Appeal2013-006696 Application 12/416,415 Examiner's Answer in response to Appellant's Appeal Brief As described below, we concur with the conclusions reached by the Examiner. A. Obviousness Rejections Based on (1) Dhawan and Bacher, (2) Dhawan, Bacher, and Rosu, and (3) Dhawan, Bacher, and Chaujfour 1. Whether Dhawan in view of Bacher fails to teach or suggest the claimed terminating steps Appellant contends the Examiner erred in rejecting claims 1, 9-11, 21, and 22 because Dhawan in view of Bacher fails to teach or suggest: (1) on a first virtual machine, terminating processes identified for offloading while continuing to execute remaining processes; and (2) on a second virtual machine, terminating processes replicated from the remaining processes while continuing to run replicated processes that were identified for offloading. Appeal Br. 12. Specifically, Appellant argues that a person of ordinary skill in the art reviewing the cited portions of Bacher would "understand that the process (present as a 'process stub') in the first platform (i.e., first kernel of the first system) and its duplicate in the second platform (i.e., second kernel of the second system) are simultaneously terminated in response to the 'event trigger to terminate the process."' Id. (emphasis added). The Examiner disagrees and responds that Appellant's interpretation of a process stub running on the first platform as a process itself running on the first platform is not accurate. Ans. 4. We agree. Bacher discloses a hybrid system 100 for shifting workloads across platforms, such as by duplicating the processes on system K to system U. Bacher i-fi-157, 64. As the Examiner notes in the Answer (Ans. 4), Bacher discloses that 5 Appeal2013-006696 Application 12/416,415 A process stub of the process resides in the system K to represent, within the kernel K, the duplicate process executing in the system U but the process stub does not waste clock cycles of the system K as being excluded from scheduling. Bacher i-f 66 (emphasis added). Therefore, as described by the Examiner, through the "process stub" the kernel K manages the duplicate process running in the system U but does not waste clock cycles of the system K because it is excluded from scheduling. Ans. 4 (citing Bacher i-f 66). Therefore, we are not persuaded by Appellant's argument that the process stub is the process itself running on the first platform. Appellant further argues that Bacher fails to teach continuing to run the offloaded process on the second system because Appellant argues that Bacher teaches simultaneously terminating the process on the first platform and the second platform in response to an event trigger to terminate the process. Appeal Br. 12. Contrary to Appellant's argument, Bacher discloses "stopping scheduling the process in the first platform responsive to receiving a signal from the second kernel indicating that the second platform schedules and executes the duplicate process in the second platform." Bacher i-f 8 (emphasis added). Thus, in Bacher, the first process on the first platform is stopped based on a signal that the second platform has begun execution of the duplicate process. See id. Therefore, we are not persuaded of error in the Examiner's finding that Dhawan in view of Bacher teaches the claimed "terminating the user-level processes running on the guest operating system of the first virtual machine that were identified for offloading." Furthermore, we are not persuaded by Appellant's argument that Bacher teaches simultaneously terminating the process on the first platform and the duplicate process on the second platform. As discussed, above 6 Appeal2013-006696 Application 12/416,415 Bacher describes a "process stub" on the first platform and a duplicate process on the second platform. See Ans. 4 (citing Bacher i-f 66). Bacher discloses that after execution of duplicate process an event trigger may provide a "notification by the kernel U [the second platform] that the duplicate process had been halted." Bacher i-f 68. In response to this event trigger, Bacher discloses that "the kernel K [on the first platform] terminates the process stub for the system U binary code in the system K and subsequently signals the kernel U to terminate the duplicate process on the system U." Bacher i-f 69 (emphasis added). Thus, Bacher teaches terminating the process stub on the first platform (system U), as the execution of the original process on the first platform (system U) has already been terminated. See Bacher i-fi-1 66---69. As the Examiner identifies, Appellant's proposed simultaneous termination is not practical because if the original process is to be terminated, it would be impractical for Bacher to teach duplicating the original process first and then terminating both the original process and its duplicate. Ans. 4. This is also contrary to Bacher's disclosure regarding the duplicate process and its process stub. See Bacher i-fi-1 68---69. Accordingly, we are not persuaded of error in the Examiner's finding that Dhawan in view of Bacher teaches these limitations of claim 1. 2. Whether Dhawan in view of Bacher fails to teach or suggest replicating both ''processes to be offloaded" and "remaining " processes Appellant contends that the Examiner erred in rejecting claims 1, 9- 11, 21, and 22 because Dhawan in view of Bacher fails to teach or suggest replicating both "processes to be offloaded" and "remaining processes." Appeal Br. 13. Specifically, Appellant argues that the disclosure in Dhawan regarding hot cloning relied upon by the Examiner "does not teach what 7 Appeal2013-006696 Application 12/416,415 processes to transfer" and Dhawan is silent about what processes might be loaded into the carrier VM in the first place Id. at 14 (emphasis omitted). The Examiner responds that Appellant's arguments are irrelevant because the claimed step of replicating is reasonably interpreted as replicating all the running processes. Ans. 6. We agree. Claim 1 requires replicating "all of the user-level processes running on the guest operating system of the first virtual machine" (emphasis added). Dhawan's hot cloning teaches replicating all of the processes from a first virtual machine to a second virtual machine. See Dhawan i-f 20 (describing that in hot cloning, "a clone of the VM is created in the next participating physical host in the migration path."). As claim 1 requires "all of the user-level processes" to be replicated, we are not persuaded of error in the Examiner's reliance upon Dhawan's hot cloning to teach this replication. See Ans. 5-6. Based on the foregoing, we sustain the Examiner's rejection of claims 1, 9-11, 21, and 22. Appellant relies upon the same arguments as those made against claims 1, 9-11, 21, and 22 in disputing the rejections of claims 2-8 and 12-14. Br. 17. As with claims 1, 9-11, 21, and 22 we are unpersuaded equally of error and sustain the rejection of claims 2-8 and 12- 14. B. Obviousness Rejection Based Dhawan and Rueda The Examiner rejects claims 15-16, 20, and 23 as unpatentable over Dhawan in view of Rueda. Final Action 17-22. Appellant argues that the Examiner erred in rejecting claim 15 because (1) Rueda makes no mention of virtual machines and (2) contrary to Rueda, Dhawan requires maintaining 8 Appeal2013-006696 Application 12/416,415 the same MAC and IP address in both a virtual machine and a migrated virtual machine. Appeal Br. 18-19. First, as to Appellant's argument that Rueda fails to teach a virtual machine but instead discloses only physical computers, the Examiner responds that the rejection does not rely upon Rueda alone. Ans. 7. The Examiner states that claim 15 is rejected over Dhawan in view of Rueda, and the rejection relies upon Dhawan for its teachings regarding virtual machines, not Rueda. Id. We are not persuaded by Appellant's argument that the rejection is improper simply because Rueda fails to disclose virtual machines. Second, Appellant argues that Dhawan cannot be properly combined with Rueda to teach the claim 15 recitation that "the first virtual machine and the second virtual machine share the same IP address and have different MAC addresses." Appeal Br. 18. Appellant argues that Rueda requires that each of the different IP addresses of the client machine be associated with a unique MAC address. Id. at 19 (citing Rueda i-fi-1283-84). Appellant further argues that, in contrast to Rueda, Dhawan requires maintaining the same MAC and IP address in both the virtual machine and the migrated virtual machine. Id. (citing Dhawan i-f 14). The Examiner responds that Appellant has not analyzed the particular combination of Dhawan and Rueda set forth in the Final Office Action. Ans. 9. In the Final Office Action, the Examiner stated that "given the suggestion by Dhawan for transferring payload using the same IP and MAC addresses and the teachings by Rueda for mapping IP sockets to different MAC addresses" it would have been obvious to combine these teachings by "modifying the load transfer to allow load transfer to a different MAC address using mapping tables." Final Action 19. 9 Appeal2013-006696 Application 12/416,415 We note that the cited disclosure in Rueda provides that a table is constructed and the fields in the table are chosen to provide a specific mapping of an IP socket (IP address and port number) to a MAC address. Rueda i-f 282. In accordance with the Examiner's rejection, this mapping table in Rueda would be implemented into the Dhawan system. See Ans. 9. Therefore, although Dhawan teaches maintaining the same MAC and IP address in both the virtual machine and the migrated virtual machine, in accordance with the Examiner's rejection, it would have been obvious to one of skill in the art to modify Dhawan with Rueda's mapping table for mapping IP sockets to different MAC addresses. See id. In view of the cited disclosures, we are not persuaded of error in the Examiner's combination of Dhawan virtual machine migration with Rueda' s mapping table to teach the claim 15 recitation that "the first virtual machine and the second virtual machine share the same IP address and have different MAC addresses." Based on the foregoing, we sustain the Examiner's rejection of claims 15- 16, 20, and 23 as unpatentable over Dhawan in view of Rueda. DECISION The Examiner's decision rejecting claims 1-16 and 20-23 is affirmed. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(l )(iv). AFFIRMED 10 Copy with citationCopy as parenthetical citation