Ex Parte Shani et alDownload PDFPatent Trials and Appeals BoardJun 26, 201914787380 - (D) (P.T.A.B. Jun. 26, 2019) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. FILING DATE 14/787,380 10/27/2015 146568 7590 ENTIT SOFTWARE LLC 500 Westover Drive #12603 Sanford, NC 27330 06/28/2019 FIRST NAMED INVENTOR Inbar Shani 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. 90091219 6522 EXAMINER KIM, SISLEY NAHYUN ART UNIT PAPER NUMBER 2196 NOTIFICATION DATE DELIVERY MODE 06/28/2019 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): software.ip.mail@microfocus.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte INBAR SHANI, SIGAL MAON, and AMICHAI NITSAN Appeal2018-003416 Application 14/787,380 Technology Center 2100 Before DENSIE M. POTHIER, WSTIN BUSCH, and NORMAN H. BEAMER, Administrative Patent Judges. BUSCH, Administrative Patent Judge. DECISION ON APPEAL Pursuant to 35 U.S.C. § 134(a), Appellants appeal from the Examiner's decision to reject claims 1 and 3-20, which constitute all the claims pending in this application. We have jurisdiction over the pending claims under 35 U.S.C. § 6(b ). We affirm-in-part. CLAIMED SUBJECT MATTER Appellants' disclosed and claimed invention generally relates to "modifying an application process that is responsible for initiating a virtual machine (e.g., DVM), pre-loading system classes that are used by applications, and/or initiating other processes." Spec. ,r 14. More Appeal2018-003416 Application 14/787,380 specifically, the disclosed and claimed modification involves including a hook framework in the application process, "which can be executed upon initiation of the virtual machine and can insert a hook on the virtual machine to access data associated with an application via the hook." Spec. ,r 14; see Spec. ,r,r 23-24. When an application is loaded, a new virtual machine can be initiated, which also may be hooked by the hook that was previously inserted. Spec. ,r 23. Claims 1, 9, and 12 are independent claims. Claim 1 is reproduced below: 1. A non-transitory computer-readable medium storing machine-readable instructions executable by a processing resource to: execute an application process based on an initialization instruction, wherein the application process includes instructions associated with a hook framework; initiate a virtual machine by the application process; execute the instructions associated with the hook framework upon initiation of the virtual machine to insert a hook on the virtual machine; initiate a nascent process configured to initiate an additional instance of the virtual machine based on a request to load an application, wherein the additional instance of the virtual machine is hooked via the hook inserted on the virtual machine; and collect, by the hook, data from a service, and pass the collected data to the application run in the additional instance of the virtual machine. REJECTIONS Claims 1, 3-6, 8-11, and 17-19 stand rejected under 35 U.S.C. § 103 as obvious in view of McKenzie (US 2013/0155083 Al; June 20, 2013) and Zhu (US 2013/0036470 Al; Feb. 7, 2013). Final Act. 2-20. 2 Appeal2018-003416 Application 14/787,380 Claim 7 stands rejected under 35 U.S.C. § 103 as obvious in view of McKenzie, Zhu, and Sharp (US 2012/0089980 Al; Apr. 12, 2012). Final Act. 20-22. Claims 12 and 13 stand rejected under 35 U.S.C. § 103 as obvious in view of McKenzie and Chess (US 2008/0270199 Al; Oct. 30, 2008). Final Act. 22-26. Claims 14--16 and 20 stand rejected under 35 U.S.C. § 103 as obvious in view of McKenzie, Chess, and Zhu. Final Act. 26-32. ANALYSIS CLAIMS 1, 3---6, 8-11, AND 17-19 The Examiner rejects claims 1, 3---6, 8-11, and 17-19 as obvious in view of McKenzie and Zhu. Final Act. 2-20. Appellants argue these claims as a group. Therefore, we select independent claim 1 as representative of these claims. 37 C.F.R. § 4I.37(c)(l)(iv). The Examiner finds McKenzie teaches every limitation recited in representative claim 1, except McKenzie does not teach "collect, by the hook, data from a service, and pass the collected data to the application run in the additional instance of the virtual machine," recited in claim 1. Final Act. 2-5. The Examiner finds Zhu teaches these limitations, and the Examiner provides a rationale for combining Zhu's cited teachings with McKenzie's cited teachings. Final Act. 5-7 (citing Zhu ,r,r 25-28, 48, Abstract). Of particular note with respect to Appellants' arguments related to McKenzie, the Examiner finds McKenzie teaches or suggests the initiating "a nascent process configured to initiate an additional instance of the virtual machine based on a request to load an application, wherein the additional instance of the virtual machine is hooked via the hook inserted on 3 Appeal2018-003416 Application 14/787,380 the virtual machine" step, as recited in claim 1. Final Act. 4--5 (citing McKenzie ,r,r 71, 76, 96); Ans. 3-5 (citing McKenzie ,r,r 71, 76, 140, Figs. 2-3). The Examiner further finds McKenzie's disclosure of a control virtual machine initiating an additional instance of a virtual machine to execute an application by loading an image and running the control program that controls the additional instance teaches the disputed limitation. Ans. 4-- 5. Appellants argue McKenzie fails to teach the initiating a nascent process step recited in claim 1 and Zhu fails to teach the collecting data step. Appeal Br. 6-9; Reply Br. 2-7. More specifically, Appellants argue neither McKenzie's control program nor McKenzie's hypervisor teaches the recited nascent process because the claims recite the nascent process is configured to initiate an additional instance of the virtual machine on which the hook was inserted. Appeal Br. 6-8; Reply Br. 2--4 (arguing that, McKenzie initiates a new virtual machine, not an "additional instance" of the already- initiated virtual machine already on which the hook was inserted). Appellants contend Zhu fails to teach the collecting data by the hook step because Zhu' s cited security virtual machine is a special virtual machine distinct from any other virtual machine and, therefore the security virtual machine is not an additional instance of the virtual machine on which the hook was inserted. Appeal Br. 8; Reply Br. 5-7. We begin by addressing Appellants' arguments regarding Zhu. Notably, the Examiner relies on McKenzie for initiating an additional instance and the limitations related to inserting a hook on a virtual machine. See Final Act. 2-5. The Examiner finds Zhu teaches collecting data by a hook installed on a virtual machine. Final Act. 5---6. Thus, the Examiner 4 Appeal2018-003416 Application 14/787,380 relies on the combination of McKenzie and Zhu for the entirety of the collecting limitation because the Examiner finds McKenzie teaches the recited virtual machine being an additional instance of the virtual machine. The Examiner explains that it is the proposed combination-i.e., incorporating Zhu' s disclosure of monitoring/intercepting traffic between virtual machines in order to inspect all traffic into McKenzie's disclosure of starting a new virtual machine with a hook point-that suggests the collecting data step. Ans. 6-7. Appellants argument that Zhu' s security virtual machine fails to teach or suggest an additional instance of the virtual machine on which the hook was inserted does not address the Examiner's rejection. In other words, Appellants' arguments of Zhu's alleged deficiency is an individual attack on the Zhu whereas the rejection is based on a combination of McKenzie and Zhu and, therefore, not persuasive of error. In re Keller, 642 F.2d 413, 426 (CCPA 1981); see In re Merck & Co., 800 F.2d 1091, 1097 (Fed. Cir. 1986) (the test for obviousness is whether the combination of references, taken as a whole, would have suggested the patentee's invention to a person having ordinary skill in the art). Accordingly, we agree with the Examiner that the proposed combination of McKenzie and Zhu teaches or suggests the collecting data by the hook step recited in representative claim 1. Next, we address Appellants' argument that McKenzie fails to teach or suggest the "initiate a nascent process" step. Appellants' argument focuses on the fact that McKenzie creates new virtual machines rather than an additional instance of an existing virtual machine on which a hook has been inserted. Appeal Br. 6-8; Reply Br. 3-5. 5 Appeal2018-003416 Application 14/787,380 McKenzie discloses a "control program," which is also referred to as "a control operating system, a control domain, domain O or domO" and "may be executed within a control virtual machine or domO virtual machine, may be executed by the hypervisor, or may be executed by an operating system executing the hypervisor." McKenzie ,r 76. McKenzie's control program allows an administrator to manage and configure the virtual machines running on a processor, including starting new virtual machines and interfacing "with programs and applications executing within the context of a virtual machine." McKenzie ,r 76; see McKenzie ,r,r 81, 96. More specifically, McKenzie's hypervisor may load "a virtual machine image to create a virtual machine." McKenzie ,r 71. The control program also can monitor the virtual machines and intercept a request initiated from a program. McKenzie ,r 96. More specifically, McKenzie discloses a "control virtual machine may be configured to monitor or intercept any communication initiated by a user or program via another virtual machine," such as "system calls, hypercalls, interrupts, or other messages." McKenzie ,r 97. In certain embodiments, "some or all of the virtual machines 232 are configured to pass all or specific types of communications through the control virtual machine 232A or hypervisor, whereupon the control virtual machine 232A can intercept at least some of these communications." McKenzie ,r 97. McKenzie further discloses embodiments in which "the control virtual machine initiates a paravirtualized driver in the guest OS to interface with an I/0-type API" ( application programming interface) and "may provide an interrupt service routine to handle interrupts." McKenzie ,r 140. 6 Appeal2018-003416 Application 14/787,380 We disagree with Appellants' assertion that McKenzie's does not teach or suggest its control program can initiate an additional instance of the virtual machine on which a hook was inserted. Appellants' Specification explains that "[h ]ooking can include altering a behavior of an application and/or collecting data associated with the application by intercepting data passed between software components" and "hooking can refer to various techniques to monitor, alter, and/or otherwise gain control of an application." Spec. ,r 9. "Hooking an application can include injecting a library including an executable hooking instruction into the application prior to the application executing and/or injecting an executable hooking instruction into the application during runtime of an OS and/or during execution of functions of the application." Spec. ,r 9. As discussed above, McKenzie describes a control program that has the ability to start, configure, and monitor virtual machines. See McKenzie ,r,r 71, 7 6, 81, 96. McKenzie's control program can also intercept program calls on the virtual machines it is monitoring. McKenzie ,r,r 96-97. Further, McKenzie discloses that, in some embodiments, some or all of the virtual machines are configured to pass all or some communications through the control virtual machine and the control virtual machine may initiate a driver on the guest OS ( of the virtual machines) to interface with a control program I/0 API and the control program provides an interrupt service routine to handle the interrupts. McKenzie ,r 140. Based on Appellants' description of "hooking" and McKenzie's cited disclosures, we agree with the Examiner that McKenzie at least suggests hooking each of the virtual machines ( other than a control virtual machine) by inserting a hook ( e.g., the driver initiated 7 Appeal2018-003416 Application 14/787,380 on the guest OS or other mechanism suggested by the disclosure of monitoring and controlling the virtual machines). Moreover, we agree with the Examiner that McKenzie's disclosure of creating virtual machines by loading a virtual machine image, McKenzie ,r 71, at least suggests the virtual machines McKenzie's hypervisor or control program creates may be an additional instance of an already-started virtual machine because a subsequently created virtual machine may be started from the same virtual machine image as a previously created virtual machine. Moreover, McKenzie suggests that the control program or hypervisor controls and monitors each of the virtual machines in the same way and, therefore, we agree that McKenzie at least suggests a hook inserted on a virtual machine created by loading a virtual machine image would be the same hook inserted on a virtual machine previously-created by loading that same image. In light of McKenzie's disclosure that virtual machines may be created by loading a virtual machine image, we are not persuaded by Appellants' argument that McKenzie fails to teach, or at least suggest, creating multiple instances of a virtual machine. To the extent Appellants' arguments are based on an assertion that McKenzie's control virtual machine, or Zhu's security virtual machine, needs to create an additional instance of the virtual machines that McKenzie's control program monitors, we disagree. Rather, we understand the rejection to find that McKenzie's control program may initiate a first virtual machine to run applications by loading a virtual machine image to create that virtual machine. When creating that virtual machine, the image may already include the hook, or the control program may execute additional instructions that, insert a hook ( e.g., a driver initiated on the 8 Appeal2018-003416 Application 14/787,380 virtual machine's guest OS) so that it can monitor and control that virtual machine. At some later time, when another virtual machine needs to be created to run another application, the control program may initiate another process that creates a new virtual machine. Similarly, the control program may create an additional virtual machine by loading the same virtual machine image with the same hook that was inserted on the first virtual machine. For these reasons, we sustain the Examiner's rejection of claim 1 as obvious in view of McKenzie and Zhu. We also sustain the rejection of independent claim 9 ( which recites commensurate limitations) and claims 3- 6, 8, 10, 11, and 17-19 (which ultimately depend from one of claims 1 and 9) for the same reasons because Appellants did not argue these claims separately with particularity. CLAIM7 The Examiner rejects claim 7 as obvious in view of McKenzie, Zhu, and Sharp. Final Act. 20-22. Appellants argue only that Sharp does not cure the alleged deficiencies of McKenzie and Zhu and, therefore, claim 7 is allowable based on its dependency from claim 1. Appeal Br. 10. Because we find no deficiency in the Examiner's rejection of claim 1 as obvious in view of McKenzie and Zhu, we also sustain the Examiner's rejection of claim 7. CLAIMS 12 AND 13 The Examiner rejects claims 12 and 13 as obvious in view of McKenzie and Chess. Final Act. 22-26. The Examiner finds McKenzie discloses each limitation recited in independent claim 12, except the Examiner finds McKenzie does not disclose "wherein the additional instance 9 Appeal2018-003416 Application 14/787,380 of the virtual machine is created by duplication the virtual machine on which the hook has been inserted." Final Act. 22-25. The Examiner finds Chess discloses this limitation. Final Act. 25 ( citing Chess ,r,r 51, 53). The cited portions of Chess describe "creat[ing] and configure[ing] a VM [(virtual machine)] image for a new domain, copy[ing] files from domain Oto another domain, start[ing] a process in[] another domain, and [controlling] the mapping of physical resources to virtual resources." Chess ,r 51. Chess describes scrubbing images previously used to run a process of the process data so the image can be reused by future processes. Chess ,r 52. Chess discloses that it is sufficient to "pre-create a small number of images" and the image management subsystem may dynamically add images, if needed. Chess ,r 53. New processes may be created inside these pre-created images by populating the image-i.e., copying the files necessary to run that process from domain Oto the created image. Chess ,r 53. Appellants reference their argument regarding claim 1 and argue McKenzie fails to teach the portion of the initiating a nascent process step that is commensurate in scope to the initiating a nascent process step recited in claim 1. Appeal Br. 10-11. For the reasons discussed above, we are not persuaded by this argument. Appellants also argue Chess fails to teach duplicating a virtual machine. Appeal Br. 11. Specifically, Appellants argue Chess does not refer to duplicating a virtual machine and simply describes creating virtual machines using a newly created image and copying files to be used by the new virtual machine between domains. Appeal Br. 11 ( citing Chess ,r 51 ). Appellants argue Chess's creation and configuration of a virtual machine image for a new domain provides no indication of duplicating a virtual 10 Appeal2018-003416 Application 14/787,380 machine on which a hook was inserted. Appeal Br. 11. Appellants note claims 12 and 13 were rejected under a different combination and the Examiner did not respond to this argument in the Answer. Reply Br. 7-8. We agree with Appellants. We see no disclosure in Chess's cited portions that teach or suggest duplicating a virtual machine on which a hook was inserted. Chess describes scrubbing an image of process data for processes that previously ran on a particular image. Chess ,r 52. To the extent the Examiner relies on Chess's disclosure that images may be reused that already include a hook, that is not apparent from the cited disclosures and the Examiner provides insufficient explanation or evidence to support such a finding. Although, as discussed above, we find McKenzie at least suggests reusing an image to create an additional instance of a virtual machine, McKenzie does not necessarily teach or suggest "duplicating" the instance of the virtual machine already initiated. To the extent McKenzie's images used to create new virtual machines may already include the hook and, therefore, creating new virtual machines from the image would teach duplicating a virtual machine on which a hook was inserted, we cannot say on this record. The Examiner does not find McKenzie teaches this limitation and it is not apparent from the Examiner's findings that the proposed combination would provide this suggestion. Furthermore, Chess suggests "scrubbing" an image before reusing it, such that, even to the extent McKenzie's disclosure suggests creating an additional instance having the same hook, the Examiner's proposed combination would lead to using a scrubbed image that no longer includes the hook. 11 Appeal2018-003416 Application 14/787,380 For the reasons discussed herein, we do not sustain the rejection of claims 12 and 13 as obvious in view of McKenzie and Chess. CLAIMS 14 AND 15 The Examiner rejects claims 14 and 15, which directly depend from claim 12, as obvious in view of McKenzie, Chess, and Zhu. Final Act. 26- 30. With respect to these claims, Appellants argue Zhu does not cure the deficiencies of McKenzie and Chess identified with respect to independent claim 12. Appeal Br. 7. The Examiner does not rely on Zhu to cure the deficiencies identified with respect to McKenzie and Zhu. See Final Act. 26-30. Therefore, for the same reasons discussed above with respect to claim 12, we do not sustain the Examiner's rejection of claims 14 and 15 as obvious in view of McKenzie, Chess, and Zhu. CLAIMS 16 AND 20 The Examiner rejects claims 16 and 20, which depend directly from claims 1 and 9, respectively, as obvious in view of McKenzie, Zhu, and Chess. Final Act. 30-32. With respect to these claims, Appellants argue Chess does not cure the deficiencies of McKenzie and Zhu identified with respect to claims 1 and 9. Appeal Br. 12. Appellants also argue Chess fails to teach or suggest the step of creating the additional instance of the virtual machine "by duplicating the virtual machine on which the hook has been inserted," as recited in claims 16 and 20, for the same reasons asserted with respect to claim 12, which recites a commensurate limitation. Appeal Br. 13. For the same reasons discussed above with respect to claim 12, and because claims 16 and 20 recite a commensurate limitation, we do not sustain the Examiner's rejection of claims 16 and 20 as obvious in view of McKenzie, Zhu, and Chess. 12 Appeal2018-003416 Application 14/787,380 DECISION We affirm the Examiner's decision to reject claims 1, 3-11, and 17-19 under 35 U.S.C. § 103. We reverse the Examiner's decision to reject claims 12-16 and 20 under 35 U.S.C. § 103. 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-IN-PART 13 Copy with citationCopy as parenthetical citation