throbber
Filed on behalf of Symantec Corporation
`
`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`VEEAM SOFTWARE CORPORATION
`Petitioner
`
`v.
`
`SYMANTEC CORPORATION
`Patent Owner
`
`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`DECLARATION OF MATTHEW D. GREEN IN SUPPORT OF
`PATENT OWNER’S REPLY TO PETITIONER’S OPPOSITION
`
`Symantec 2028
`Veeam v. Symantec
`IPR2013-00150
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`I, Matthew D. Green, declare as follows:
`
`I.
`
`Background and Qualifications
`
`1.
`
`I am submitting this declaration on behalf of Symantec Corporation. I
`
`have been retained as a technical expert in connection with the above-captioned
`
`action to study and provide my opinions on certain issues related to U.S. Patent
`
`No. 7,093,086 (“the ‘086 Patent”). I understand that Petitioner has submitted an
`
`Opposition to Symantec’s Motion to Amend the claims of the ‘086 Patent , along
`
`with a Declaration by Dr. Shenoy (Veeam Exhibit 1031) in Support of its
`
`Opposition on February 24, 2014. I have been asked to provide my opinions
`
`regarding Petitioner’s Opposition and the corresponding Declaration by Dr.
`
`Shenoy, which are set forth in detail in this declaration.
`
`2.
`
`My compensation as an expert is in no way dependent upon the results
`
`of any investigations I undertake, the substance of any opinion I express, or the
`
`ultimate outcome of this case. Barr Group bills Patent Owner for my time by the
`
`hour, plus reimbursement for travel and other out-of-pocket expenses incurred
`
`during my work on this matter. Barr Group and I are each compensated regardless
`
`of the facts I know or discover and/or the conclusions or opinions I reach. I have
`
`no personal or financial stake or interest in the outcome of this matter.
`
`2
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`3.
`
`An updated version of my curriculum vitae is attached as Appendix A
`
`to this declaration.
`
`4.
`
`I have used my education and my years of experience working in the
`
`field of software design, and my understanding of the knowledge, creativity, and
`
`experience of a person of ordinary skill in the art in forming the opinions expressed
`
`in this report.
`
`5.
`
`In my Declaration in Support of Patent Owner’s Motion to Amend, I
`
`have set forth my understanding of certain legal principles relating to patent claim
`
`construction and validity that I relied upon. I have also set forth what I believe to
`
`be a person of ordinary skill in the art of the subject matter of the ‘086 Patent,
`
`including the skillset, education, experience and knowledge such a person would
`
`have possessed. I have relied on these same principles and definitions in reaching
`
`my opinions in this declaration.
`
`II.
`
`The Backup Program
`
`6.
`
`I understand that it is Petitioner’s position that Patent Owner’s
`
`substitute claim 31 is unpatentable because Lim allegedly discloses the added
`
`feature of a “backup program” that “interfaces with a … virtual machine kernel.”
`
`Opp., pp. 8-9. To support its position, Petitioner relies on Lim’s disclosure of a
`
`graphical user interface as corresponding to the backup program. Lim, col. 26:41-
`
`3
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`49, Shenoy Opp. Dec. paras. 20-22. I will address these arguments in the
`
`following discussion.
`
`7.
`
`First, in my reading of Lim, nowhere have I seen any reference to a
`
`backup program. This is unsurprising, given that Lim focuses on the creation,
`
`management and deployment of virtual machines as I explained in para. 142 of my
`
`Declaration in Support of Patent Owner’s Motion to Amend.
`
`8.
`
`As for the GUI referred to by Petitioner and Dr. Shenoy, it is merely
`
`used to send a checkpoint request to the virtual machine monitor. Lim, col. 26:43-
`
`49; Shenoy Opp. Dec., para. 21. The virtual machine monitor (which Dr. Shenoy
`
`argues is – or could be made – separate from the GUI), would then generate the
`
`checkpoint and extract the state information. Lim, col. 6:45-52; col. 18:2-8,
`
`Shenoy Opp. Dec. paras. 21-22. However, nowhere does Lim state that the GUI is
`
`used to transfer the state vector to a remote virtual machine, which Dr. Shenoy
`
`points to as meeting the copy step (ii) in the ‘086 Patent claims. Shenoy Pet. Dec.
`
`paras. 16-17. When asked specifically whether the GUI is used to transfer the state
`
`vector to another machine, Dr. Shenoy could not state that it does so during his
`
`deposition. Shenoy 2nd Dep., 51:11-19.
`
`9.
`
`Moreover, as I have previously noted in paras. 134-36 of my
`
`Declaration in Support of Patent Owner’s Motion to Amend, the Lim patent does
`
`not describe an invention that is capable of capturing the state of a first virtual
`
`4
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`machine executing on a first computer system. This is because the Lim patent
`
`requires that the virtual machine execution be interrupted prior to capturing the
`
`state, and only when the state has been captured does the virtual machine resume.
`
`Lim, col. 11:12-20, col. 18:2-10. Dr. Shenoy acknowledges the existence of this
`
`interruption, and even discusses techniques to minimize the duration of the
`
`interruption (though not to eliminate it altogether). Shenoy Opp. Dec. para. 28. I
`
`discuss these techniques further below.
`
`10. As a consequence of the above, Lim does not disclose a backup
`
`program, let alone any program that performs both the capture and copy steps (i)
`
`and (ii) as required by substitute claim 31. Indeed, Figure 6 of the patent clearly
`
`indicates that the virtual machine continues to execute during capture. Dr. Shenoy,
`
`when asked about these programs, confirmed that the program of Figure 6
`
`describes an embodiment where the virtual machine continues executing. Shenoy
`
`1st Dep., 68:22-69:6, Shenoy 2nd Dep. 18:24-19:6. This is the embodiment to
`
`which the substitutes claims, including claim 31, are directed.
`
`11.
`
`I understand that Petitioner states that the added feature in substitute
`
`claim 31 is not supported by the ‘086 Patent. More specifically, Petitioner takes
`
`the position that the patent does not describe the backup program performing the
`
`capture step (i), and instead “the ‘086 Patent consistently describes that the
`
`capturing of the state is performed by the VM Kernel.” Petitioner’s Opposition, p.
`
`5
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`4. While it is true that the VM Kernel may generate the virtual machine image, the
`
`specification makes clear that the backup program initiates the capture step and
`
`cooperates with the VM kernel to get the information needed, which is consistent
`
`with the added limitation in substitute claim 31. For example, the ‘086 Patent
`
`specification states that “the backup program 42 may communicate the image data
`
`request to the VM kernel 18, indicating that the virtual machine image is desired,”
`
`thereby requesting “the current state of the virtual machine.” ‘086 Patent, col.
`
`11:32-40; col. 12:61-65. In response to this request, “the VM kernel 18 may
`
`generate a virtual machine image 40.” ‘086 Patent, col. 13:4-6. In addition, the
`
`‘086 Patent describes another embodiment in which the VM kernel provides the
`
`address location for the state information. ‘086 Patent, col. 11:66-12:3, col. 13:13-
`
`15. Under both embodiments, it is clear that the backup program interfaces with
`
`the VM kernel to perform the capture step as specified in the added feature of
`
`substitute claim 31. During his deposition, Dr. Shenoy also confirms that it is the
`
`backup program that causes these actions to occur in order to capture state in both
`
`of these embodiments of the ‘086 Patent. Shenoy 2nd Dep., 20:2 - 21:19.
`
`III. Li
`
`12.
`
`It is my understanding that Petitioner relies on a research paper
`
`entitled “Low-Latency, Concurrent Checkpointing for Parallel Programs” by Li et
`
`al. (“Li”) to fill in some gaps in Lim. Opp., p. 9-14.
`
`6
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`13.
`
`The Li paper describes four techniques for checkpointing memory in
`
`application processes while minimizing – although not eliminating – the
`
`interruption required for the checkpoint procedure to execute. Although Li does
`
`not refer to virtual machine technology or virtual machine kernels, Petitioners
`
`reference one or more of Li’s techniques as being obviously combinable with the
`
`Lim patent. The techniques in question describe a method for using a variant of
`
`copy-on-write technology to perform low-latency checkpointing of application
`
`processes. I will now provide a brief summary of Li.
`
`14.
`
`Li describes a mechanism that is designed to work exclusively on
`
`computer systems that contain multiple processors (CPUs). Li, p. 874. In the Li
`
`proposal, the application is temporarily halted, then resumed. Li, p. 875.
`
`Subsequent to this resumption, one processor performs additional processes
`
`relating to checkpointing the application (e.g., capturing of memory state, writing
`
`to disk) while other processors continue to execute the application being
`
`checkpointed. Li, p. 875.
`
`15. More precisely, the process of Li, p. 875 can be described as follows:
`
`15a. First, execution of the application is interrupted.
`
`15b. Subsequent to the interruption, CPU registers are saved and all
`
`memory pages associated with the main memory of the application
`
`7
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`– but excluding the operating system and other software – are
`
`marked read-only.
`
`15c. Following step (2), the application is resumed on a set of
`
`processors, while a separate processor initiates a copier thread that
`
`copies each page of the main application memory to a
`
`corresponding page in a new memory space.
`
`15d. The copier thread copies each page from the main application
`
`memory to the new memory space, subsequently marking the
`
`original memory pages read-write.
`
`15e.
`
`In the event that the application attempts to write to a read-only
`
`page in the main memory space, that page is immediately copied to
`
`the new memory space, and the page is re-marked read-write.
`
`15f. An additional thread may, either concurrently with the copier
`
`thread or after it has completed operation, write the duplicate
`
`memory pages to a file on disk.
`
`16. Before I address the arguments made regarding Li, I will first address
`
`several inaccuracies in Petitioner’s and Dr. Shenoy’s statements regarding Li. First,
`
`Dr. Shenoy notes that Li’s algorithm “executes concurrently with the target
`
`program executing on the underlying computer system to be checkpointed.”
`
`Shenoy Opp. Dec. para. 25 (emphasis added). However, Li does not checkpoint a
`
`8
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`computer system. As clearly noted in the introduction to the Li paper, Li only
`
`considers checkpointing of a single target program. Li, p. 874. One significant
`
`consequence of this design is that the Li checkpointing process may be ineffective
`
`on programs that depend on system data such as operating system state, including
`
`“open file pointers”. Li acknowledges that these programs are not “guaranteed to
`
`be recoverable”. Li, p. 876. In fact, the limitations of application-only
`
`checkpointing techniques exemplified by Li (including the loss of data not yet
`
`written to files) are among several deficiencies assigned to the prior art by the ‘086
`
`inventors. ‘086 Patent, col. 1:35-45.
`
`17. Dr. Shenoy also mischaracterizes the operation of the Li copy-on-
`
`write mechanism. He states that “[i]f an executing program tries to write to a page
`
`while its protection is set to read-only, the write takes place in the new address
`
`space instead of the frozen original memory space.” Shenoy Opp. Dec. para. 26
`
`(emphasis added). However, Li clearly describes the executing program writing to
`
`the original memory space, and not the new memory space. Li, p. 875. In his
`
`subsequent deposition, Dr. Shenoy acknowledges this as an error. Shenoy 2nd Dep.,
`
`116:12-117:1.
`
`18. While Dr. Shenoy refers to this misunderstanding as a “typo”, the
`
`distinction is fundamental to understanding the operation and limitations of the Li
`
`technique when compared with the ‘086 invention. Indeed, while Li and the ‘086
`
`9
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`Patent both use the term “copy-on-write”, this term can describe very different
`
`technological processes and, contrary to Dr. Shenoy’s analysis, the ‘086 Patent and
`
`Li use the term in different ways. Specifically, the ‘086 Patent teaches that a VM
`
`kernel may “create the memory COW to record subsequent updates to the
`
`memory”, and notes that as a result of this design, “the state of the [main] memory
`
`may remain constant even if the virtual machine continues executing.” ‘086 Patent,
`
`col. 11:58-62 (emphasis added). However, the Li paper states that subsequent
`
`updates will be recorded into the main memory, and it is in fact the new memory
`
`area that reflects the state of the program at the time it was checkpointed. Li, p.
`
`875. This is exactly the opposite of what is taught by the ‘086 Patent. Moreover, in
`
`Li, at least until the copier thread is finished, neither memory area is constant. To
`
`further explain the differences, I have provided an illustration of each invention in
`
`the figures below.
`
`10
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`Target program
`(Processor 1)
`
`Copier thread
`(Processor 2)
`
`(2) Target program
`writes updates to
`main memory area.
`When program
`attempts to write an
`uncopied page, it
`is interrupted until
`the page is copied.
`
`Updated page 1
`...
`...
`...
`...
`Original page N
`
`(1) Copier thread copies
`original pages to
`checkpoint memory area
`
`Target program
`main memory area
`(non-static, mix of original and
`updated memory pages)
`
`Copy of orig. page 1
`...
`...
`...
`...
`Copy of orig. page N
`
`Checkpoint area
`(copy of original memory)
`
`Figure 1: Depiction of the Li checkpointing process.
`
`Virtual Machine
`
`Original page 1
`...
`...
`...
`...
`Original page N
`
`(1) VM writes updates
`to new memory area.
`VM execution need not
`be interrupted when
`writing a page.
`
`Updated page 1
`...
`
`New memory area
`(only stores updated
`pages)
`
`VM main memory area
`(static, does not receive updates)
`
`Figure 2: Depiction of the '086 checkpointing embodiment.
`
`19. Unfortunately, Dr. Shenoy does not explain how his analysis might
`
`have proceeded given a correct characterization of Li. It is my opinion that, from
`
`an accurate understanding of Li, one of ordinary skill in the art would not conclude
`
`that the Li procedure is analogous to the ‘086 Patent invention. For example, a
`
`skilled artisan would recognize the potential for realizing substantial performance
`
`11
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`improvements by allowing the application (or virtual machine) to write directly to
`
`the new memory area as described in the ‘086 Patent, rather than halting the
`
`application so that a copier thread can duplicate the original page data as taught by
`
`Li. This is borne out by the experimental section of Li, much of which is devoted
`
`to analyzing the performance degradation caused by the resulting page faults and
`
`copy operations. Li, p. 877. It is, of course, understandable that Li would employ
`
`the design it uses, given that Li’s technology checkpoints user-space memory
`
`within a single application on a physical machine. However, a checkpointing
`
`process employing a VM kernel would have substantially more flexibility in re-
`
`allocating the location of subsequent application memory updates; indeed, the
`
`ability to rapidly and transparently re-map memory is a fundamental tool used by
`
`virtualization systems. This helps to explain why the ‘086 Patent invention is able
`
`to employ a different and more efficient procedure.
`
`20.
`
`Similar errors appear in Petitioner’s Opposition brief. For example,
`
`Petitioner reiterates that “[i]f a target program tries to write a page during the
`
`copying process the write is redirected to the new address space.” Opp. p. 12. This
`
`statement is attributed directly to Li, rather than to Dr. Shenoy’s declaration.
`
`Additionally, Petitioner states that Li “describes freezing the processor temporarily
`
`to complete a portion of the capturing”. Opp., p. 12. However, Li clearly teaches
`
`12
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`freezing the processor to initiate the capturing process, not to complete a portion of
`
`it. Li, p. 875.
`
`21. Having addressed these technical differences, I will now proceed to
`
`address the remaining arguments offered by Petitioner regarding Li.
`
`22.
`
`First, it is acknowledged by all parties that Li does not describe a
`
`process for backing up or even checkpointing virtual machines. Li is merely an
`
`application checkpointing mechanism intended for use on a limited subset of
`
`physical machines – namely, those with multi-processor capability, which was not
`
`universal at the time the ‘086 Patent was invented. Li, p. 874, Moreover, Li’s
`
`limited checkpointing procedure excludes all system state except for user-space
`
`memory used by the application and the processor registers. Li, p. 876. This
`
`effectively rules out programs that access files and interact with devices via the
`
`operating system; i.e., the most commonly-used software and effectively most of
`
`the state maintained by a virtual machine.
`
`23.
`
`For at least the reasons above, Li is similar to the Hipp reference in
`
`that both are concerned with capturing the state of an application at the expense of
`
`ignoring the state of the computer system for the sake of simplicity.
`
`24. Applying Li to the present matter therefore requires that we accept
`
`Petitioner’s claim that one of ordinary skill in the art would have been motivated to
`
`combine Li with the Lim patent. Petitioner and Dr. Shenoy’s argument for this
`
`13
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`combination can be summarized as follows: (1) both Li and Lim relate to
`
`checkpointing, (2) Li discloses checkpointing application processes, and a virtual
`
`machine monitor is also a process, and (3) Lim’s checkpoints require an
`
`interruption of the processor, therefore a skilled artisan would seek to minimize
`
`(though not eliminate) this interruption. Shenoy Opp. Dec., para. 28.
`
`25. While the first point is certainly true, it does not follow that the
`
`techniques of Li would be applied to a virtual machine monitor solely because the
`
`latter “is a process”. Indeed, the Lim patent does not describe applying its
`
`checkpointing techniques to the virtual machine monitor at all, but rather, it
`
`describes capturing state of the virtual machine itself. The difference is that the
`
`virtual machine monitor is a software component of the VM kernel that is
`
`responsible for executing and providing a hardware interface for virtual machines.
`
`Lim, col. 15-17. Performing the Li checkpoint on the virtual machine monitor
`
`would be unusual, since the monitor will likely contain substantially more state
`
`than just the memory of the virtual machine. Moreover, since virtual machine
`
`monitors frequently reference external state maintained by an operating system or
`
`kernel, such as file pointers and hardware states, Li’s techniques would not be
`
`appropriate and the state captured would not be sufficient to resume the virtual
`
`machine. Li, p. 876. Finally, the Lim patent explicitly describes the virtual machine
`
`monitor (or VM kernel) being involved in the checkpointing of the virtual
`
`14
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`machine, and references the advantages of performing this checkpointing using a
`
`virtual machine monitor (or VM kernel) rather than via an application process.
`
`Lim, col. 5:25-6:21.
`
`26. With reference to point (3) above, it is important to point out that one
`
`of ordinary skill in the art would not necessarily have been motivated to implement
`
`a process that reduces the interruption time, if the cost of implementing said
`
`process was to limit the invention to only working on specific multi-processor
`
`computers, while also explicitly excluding the use of file pointers and other critical
`
`operating system or kernel state. Lim specifically notes that the invention should
`
`be independent of the hardware used. Lim, col. 6:4-21, col. 16:62-64. Moreover,
`
`even when multiple processors are available, Li’s techniques would only reduce
`
`the interruption, not eliminate it. Nor would it even reduce the interruption to a
`
`level that is comparable with the various routine interruptions that occur during
`
`normal program execution (see Section VII). The ‘086 Patent, on the other hand,
`
`does not require such interruption regardless of whether a single or several
`
`processors are used.
`
`IV. The Capture of State While a Virtual Machine is Executing
`
`27.
`
`I understand that it is Petitioner’s position that Patent Owner’s
`
`substitute claims 32-34 are unpatentable over Lim in view of Li. Opp., pp. 8-14. I
`
`have addressed above the shortcomings of Li and the problems with such a
`
`15
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`combination. Here, I will address Petitioner’s and Dr. Shenoy’s arguments
`
`pertaining to the capture of state while the virtual machine is executing as it relates
`
`to those substitute claims.
`
`28.
`
`Specifically, I understand that it is Petitioner’s position that virtual
`
`machines cannot be executing continuously during the entire capturing step.
`
`Shenoy Opp. Dec., para. 10. Dr. Shenoy in particular notes that “to capture state
`
`one must stop, at least momentarily, a register from being updated while it is being
`
`‘captured’.” Id.
`
`29. One of ordinary skill in the art would understand that modern
`
`computers and operating systems do not “execute” programs in the literal sense
`
`that a single executing program continuously occupies every instruction cycle on a
`
`running processor. Instead, operating system and VM kernels routinely switch
`
`between different software tasks, including (but not limited to) the kernel itself,
`
`system management code, low-level drivers, other VMs, and other applications
`
`running on the system. The process of switching between tasks is known as a
`
`“context switch”, while the process of switching between two different running
`
`virtual machines is sometimes referred to as a “machine switch”.1
`
`1 Even machines that include multiple processors routinely perform context switches and machine
`switches during normal operation. Some machines may capture register state by switching future
`execution to use a different set of registers, while others may copy them into RAM.
`16
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`30. During these “context switches”, it is standard for the operating
`
`system to save the state of registers on the processor, sometimes dozens or
`
`hundreds of times per second.2 This operation is common to virtually all general
`
`purpose computers, virtualization kernels, and operating systems such as those
`
`referenced by the ‘086 Patent.3
`
`31.
`
`It is my understanding that patent claims are given their broadest
`
`reasonable interpretation according to one of ordinary skill in the art in light of the
`
`specification. One of ordinary skill in the art would therefore understand that
`
`phrases such as “the virtual machine continues to execute” (e.g., ‘086 Patent, col.
`
`11:50-51) cannot reasonably be interpreted to exclude standard computing
`
`overhead such as context or machine switches by the VM kernel. Nor could such a
`
`phrase exclude other routine processes (such as saving register state) that are
`
`common to normal execution of all software on a modern computing system, and
`
`particularly the exemplary systems referenced by the patent.
`
`2 Operating System Concepts by Silbershatz, Galvin and Gagne (2003 edition, John Wiley and Sons)
`describes context switches at p. 103: “Switching the CPU to another process requires saving the
`state of the old process and loading the saved state for the new process. This task is known as a
`context switch. The context of a process is represented in the PCB of a process, it includes the value
`of the CPU registers… When a context switch occurs, the kernel saves the context of the old
`process in its PCB and loads the saved context of the new process scheduled to run.”
`3 While there exist specialized processors/OS software that lack the ability to context switch, these
`are largely used in embedded devices (e.g., industrial controllers, appliances) and one of ordinary skill
`in the art would understand these computers/OS types to be orthogonal to the computers/OS types
`that are described in the ‘086 Patent.
`
`17
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`32.
`
`Instead, a skilled artisan would understand that an “executing” virtual
`
`machine in the sense of the ‘086 Patent is simply one that executes according to the
`
`plain language meaning of the term – i.e., a machine that continues to perform
`
`computation and input/output processing in the normal manner that it would if the
`
`capture/copy procedure were not taking place. This explicitly rules out capture
`
`procedures that interrupt the machine for non-standard operations and durations,
`
`i.e., prevent it from operating normally.
`
`33.
`
`The prior art – and particularly the Lim patent – explicitly disclose
`
`techniques in which the virtual machine’s execution is interrupted, potentially for a
`
`substantial period of time. For example, in the Lim patent, the virtual machine
`
`execution is (1) interrupted, at which point the machine (2) senses a checkpoint
`
`request, and (3) generates at least one checkpoint. Only subsequent to step (3) does
`
`the virtual machine resume executing. Lim, col. 6:45-50. Neither of steps 1, 2 or 3
`
`represent standard processes that occur during normal virtual machine execution.
`
`Step 3 in particular has the potential to be quite time consuming due to the
`
`substantial size of the virtual machine state. Lim, col. 23:56-62.
`
`34. Dr. Shenoy acknowledges this point, and agrees that the virtual
`
`machine of Lim ceases execution during the state capture process. He addresses the
`
`discrepancy only by noting that, in some embodiments, execution might not be
`
`interrupted “for the whole time”. Shenoy 2nd Dep., 37:1-17. Yet even within these
`
`18
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`embodiments, he is still able to identify cases – such as the construction of the
`
`initial S0 state vector – where the interruption might still be quite substantial.
`
`Shenoy 2nd Dep., 38:4-25.
`
`35. More fundamentally, while the duration of interruption is interesting,
`
`a skilled artisan would realize that the essential distinction between these
`
`inventions is not the quantitative duration of a specific interruption – which in the
`
`case of Lim might sometimes be short and might sometimes be long – but rather
`
`the qualitative fact that Lim features such an interruption, while the inventive
`
`contribution of the ‘086 Patent is to provide a means to explicitly avoid
`
`interruptions that would not be part of the normal machine execution.4
`
`36.
`
`This distinction has practical implications. In a production computing
`
`system, even the possibility of a significant interruption means that software may
`
`occasionally be unable to process requests in a timely fashion. This can have
`
`serious and negative implications in some computing areas e.g., computers that
`
`4 As Dr. Shenoy testifies, a physical machine with a fast processor may be used to emulate a
`virtual machine with a slower processor. Shenoy 2nd Dep., 56-58. As a concrete example,
`consider a 1GHz physical machine emulating a virtual machine with a 1MHz processor. With
`this clock disparity, 1000 clock cycles of the faster processor occur within each clock tick of the
`slower virtual processor. The resolution of the slower system would typically be related to the
`fastest system clock, which is usually the processor clock. Within this timeframe, it may be
`possible to switch the “slow” VM to using the new memory COW area and log for updates.
`Because this switch occurs between clock ticks of the slower virtual processor (i.e., it cannot
`resolve times between clock ticks), the slower virtual machine would not have been suspended
`and instead continued to execute (i.e., it never missed a clock cycle).
`19
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`perform rapid financial transactions or control medical devices.5 On such
`
`computers, it would be necessary to manually disable a backup system built on the
`
`pattern of Lim, lest the computer become non-responsive during critical
`
`operations. I do not believe the Lim and Li combination renders obvious claims
`
`32-34, for example, by describing the added feature where “the first virtual
`
`machine can continue executing during (i) and (ii).”
`
`37.
`
`Enabling non-interrupted capture (or capture and copy) was not
`
`simply a matter of changing some options in existing software, but required
`
`entirely new engineering to accomplish, particularly given that the state of a virtual
`
`machine is constantly changing as it executes. A person of ordinary skill in the art
`
`possessing a skillset consistent with that of a software developer would have opted
`
`to use pre-existing prior art techniques that require interruption or suspension of
`
`the virtual machine as this would have been easier than attempting to re-engineer
`
`existing software.
`
`38.
`
`The Lim and Li combination does not disclose a backup program for a
`
`virtual machine that allows the state of a virtual machine at a point in time to be
`
`captured and copied while the virtual machine continues executing. Indeed, these
`
`references are consistent with my understanding of the state of the art; a person of
`
`5 Examples also include web servers and databases, which must process request within a certain
`duration or the calling software will time the connection out.
`20
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`ordinary skill in the art would have been aware of the existence of prior art
`
`techniques dealing with capture of any state information of a virtual machine and
`
`that they allow for two possibilities: 1) explicit interruption of the VM (e.g.,
`
`through checkpointing techniques that require suspension),which negates the
`
`executing or continuing execution requirement of the substitute claims; or 2)
`
`capturing only a portion of the VM’s state at any single point in time, which would
`
`result in an inconsistent blurred state and faulty backups if used to extract
`
`additional information because it would necessarily occur at a different point in
`
`time when the state of the VM will have changed.
`
`V. Memory COW Area and Writing of Subsequent Updates to New
`Log/Memory COW Area After Capture
`
`39.
`
`I have addressed above certain positions by Petitioner and Dr. Shenoy
`
`with respect to the patentability of the substitute claims over Lim in combination
`
`with Li. With respect to the added features of claims 32 and 34 which are
`
`challenged by Petitioner, I will provide additional reasons that address Petitioner’s
`
`positions.
`
`40.
`
`I do not believe the Lim and Li combination renders obvious claims
`
`32 and 34, for example, by describing the added feature of a memory COW area,
`
`and the writing of subsequent updates to a new log or memory COW area such that
`
`the virtual machine can continue executing. Indeed, these references are consistent
`
`21
`
`

`

`Case IPR2013-00150
`U.S. Patent No. 7,093,086
`
`with my understanding of the state of the art and my conclusion that although a
`
`person of ordinary skill in the art would have been aware of the existence of copy-
`
`on-write techniques for checkpointing processes, such a person would have not
`
`created a structure (such as a memory COW area) in order to capture and copy the
`
`state of a virtual machine while it is executing.
`
`41.
`
`Petitioner and Dr. Shenoy argue that claim 32 is anticipated by the
`
`prior art, specifically Lim. This is surprising, as elsewhere in his report, Dr.
`
`Shenoy acknowledges that Lim does not provide a copy-on-write mechanism
`
`designed to eliminate (or even minimize) interruptions due to state capture. Shenoy
`
`Opp. Dec., para. 17-18, 28. Indeed, the need for such a mechanism is discussed at
`
`length in Dr. Shenoy’s declaration, when he proposes to combine Lim with Li in
`
`order to obtain such a mechanism. Shenoy Opp. Dec., paras. 24-28. While I have
`
`addressed the shortcomings of the Lim and Li combination elsewhere, I agree with
`
`Dr. Shenoy that a memory COW mechanism is a necessary precondition to
`
`“minimize [the interruption of execution] so that the virtual machine could execute
`
`for as long of a period as possible during checkpointing.” Shenoy Opp. Dec., para.
`
`24-28. Without such a mechanism in place, Lim cannot anticipate Claim 32.
`
`Hence it is not possible for Lim to create a memory COW area to capture writes to
`
`a memory of the first virtual machine, such that the first virtual machine can
`
`continue executing during (i) and (ii).
`
`22
`
`

`

`Case IPR2013-0

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket