`
`UNITED STATES PATENT TRIAL AND APPEAL BOARD
`
`1
`
`VEEAM SOFTWARE CORPORATION
`Petitioner,
`
`1
`
`23
`
`)
`)
`4
`) Case No.
`vs.
`5
`) IPR 2013-00150
`6 SYMANTEC CORPORATION
`)
`Patent Owner.
`7
`-
`-
`-
`-
`-
`8
`DEPOSITION OF PRASHANT SHENOY, Ph.D.
`9
`WASHINGTON, D.C.
`10
`NOVEMBER 8, 2013
`11
`12 The deposition of PRASHANT SHENOY, Ph.D. was
`13 convened on Friday, November 8, 2013, commencing
`14 at 9:40 a.m., at the offices of Sterne Kessler
`15 Goldstein & Fox, 1100 New York Avenue,
`16 Northwest, Washington, D.C., Suite 800, before
`17 Paula G. Satkin, Registered Professional
`18 Reporter and Notary Public.
`19
`20
`21
`22
`23
`24
`25
`
`-
`
`-
`
`-
`
`-
`
`-
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`516-608-2400
`
`Symantec 2017
`Veaam v. Symantec
`IPR2013-00150
`
`
`
`P. SHENOY
`2
`
`4
`
`A P P E A R A N C E S
`
`ON BEHALF OF THE PETITIONER:
`BYRON PICKARD, ATTORNEY AT LAW
`DANIEL BLOCK, ATTORNEY AT LAW
`Sterne Kessler Goldstein & Fox
`1100 New York Avenue, N.W.
`Washington, D.C. 20005
`202.371.2540
`bpickard@skgf.com
`dblock@skgf.com
`
`ON BEHALF OF PATENT OWNER:
`JOSEPH RICHETTI, ATTORNEY AT LAW
`HASSAN ALBAKARI, ATTORNEY AT LAW
`Bryan Cave
`1290 Avenue of the Americas
`New York, NY 10104-3300
`212.541.2000
`joe.richetti@bryancave.com
`hassan.albakari@bryancave.com
`
`3
`
`C O N T E N T S
`
`PRASHANT SHENOY, Ph.D.
`
`EXAMINATION
`
`BY MR. RICHETTI
`BY MR. PICKARD
`BY MR. RICHETTI
`
`4
`137
`140
`
`1
`
`23
`
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`1
`
`23
`
`45
`
`6
`7
`
`89
`
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`1
`P R O C E E D I N G S
`2 Whereupon--
`
`PRASHANT SHENOY, Ph.D.
`a witness, called for examination, having been
`first duly sworn, was examined and testified as
`follows:
`EXAMINATION BY COUNSEL FOR PATENT OWNER
`BY MR. RICHETTI:
`Q. Good morning, Dr. Shenoy.
`A. Good morning.
`Q. Good to see you again.
`Can you please state your name and
`address for the record?
`A.
`Prashant Shenoy, 6 Bixby Court,
`North Hampton, Massachusetts 01060.
`Q. Dr. Shenoy, you know that you're
`attending today's deposition with respect to a
`declaration you provided for Veeam; is that
`correct?
`Yes.
`A.
`And if you could just give me just
`Q.
`some briefly just background of how it came to
`be that you were providing this declaration in
`this proceeding?
`
`34
`
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`5
`
`1
`So I was contacted by the Veeam
`A.
`2
`attorneys through an expert witness firm asking
`3
`if I would be willing to provide some expert
`4
`testimony. They provided me with the background
`5
`of what the patent was about. It was in my area
`6
`of expertise. So I had a meeting with the
`7
`attorneys and they told me they were going to
`8
`file an IPI and they would like me to provide my
`9
`expert opinion on several matters on which I
`10
`submitted in the declaration.
`11
`Q.
`And you mentioned that when you
`12
`looked at the '086 patent and reviewed it you
`13
`realized that it was in your area of expertise;
`14
`is that fair? I'm trying to restate your
`15
`testimony; is that fair?
`16
`A.
`Yes.
`17
`Q. What would you consider that area
`18
`of your expertise?
`19
`A.
`Broadly speaking, virtualization
`20 machines.
`21
`And I believe in a prior
`Q.
`22
`deposition you might have mentioned that one of
`23
`your areas of expertise was distributed systems;
`24
`is that correct?
`25
`A.
`Yes. Distributed systems, as
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`2 (Pages 2 to 5)
`
`516-608-2400
`
`
`
`P. SHENOY
`6
`
`8
`
`1 machines; correct?
`2
`A.
`Yes.
`3
`Q.
`Can you just elaborate a little
`4
`bit on your experience with virtual machines?
`5
`A.
`So as I mentioned before, my broad
`6
`area of research is distributed and operating
`7
`systems. Over the past probably ten, maybe
`8
`13 years my research has focused on aspects of
`9
`operating and distributed systems that relate to
`10
`virtualization. We have had a number of
`11
`research projects in this area. We've
`12
`collaborated with industry with projects in this
`13
`area and we've done papers on it.
`14
`Q.
`And what's a virtual machine?
`15
`A.
`So it is somewhat broad term in
`16
`the art. Broadly speaking, a virtual machine
`17
`implements or emulates an interface, depending
`18
`on what interface it emulates you can have
`19
`different types of virtual machines. You have
`20
`the hardware interface or the hardware on the
`21
`computer system. You have what's called
`22
`hardware level virtualization and hardware
`23
`virtual machines. We emulate -- when you have
`24
`OS level or operating system level virtual
`25 machines. You can even have application level
`9
`
`1 well.
`2
`And where does virtualization or
`Q.
`3
`virtual machines fit within distributed systems,
`4
`if at all?
`5
`A. Distributed ion operating systems,
`6
`that's the broad area. With the context of this
`7
`area there are several sub disciplines;
`8
`virtualization and networking, virtualization
`9
`technologies used for various tasks fall as a
`10
`sub discipline within this broad area.
`11
`Q. With respect to the '086 patent,
`12
`if you could just generally briefly describe
`13 when you read it what was your impression? What
`14 was the technology being described?
`15
`A.
`So the '086 patent broadly deals
`16 with virtual machines and more specifically
`17
`deals with backup and disaster recovery of
`18
`virtual machines.
`19
`Q.
`And that's reflected right in the
`20
`title; correct, for the '086 patent where it
`21
`says disaster recovery and backup using virtual
`22 machines?
`23
`Yes.
`A.
`24
`And, Dr. Shenoy, if you could look
`Q.
`25
`at Veeam Exhibit 1002 and just let me know if
`
`7
`
`1
`you recognize that document.
`2
`A.
`Yes. I do recognize this
`3
`document.
`4
`And what is it?
`Q.
`5
`It is the declaration I provided.
`A.
`6
`And, Dr. Shenoy, I apologize for
`Q.
`7
`jumping around, but you've been deposed before;
`8
`correct?
`9
`Yes.
`A.
`10
`In fact, it's been in this
`Q.
`11
`proceeding. Just to go over some ground rules,
`12
`and I know we've spent a considerable amount of
`13
`time together already, but if there's ever a
`14 moment in time in which you don't understand my
`15
`question, please let me know. I appreciate the
`16
`courtesy and the patience you demonstrated at
`17
`the last deposition and obviously someone with
`18
`your experience, I might misstate things from
`19
`time to time and I appreciate you just
`20
`straightening me out if I go off course or try
`21
`to work together to kind of get through the
`22
`deposition; is that fair?
`23
`A.
`Yes. Thank you.
`24
`Q. Okay. So, Dr. Shenoy, you
`25 mentioned that you have expertise with virtual
`
`1
`virtual machines like Java virtual machines that
`2
`emulate and interface with an application.
`3
`Q.
`And how do you create a virtual
`4 machine?
`5
`MR. PICKARD: Objection. Lacks
`6
`foundation.
`7
`THE WITNESS: It would depend on
`8
`the context. I just mentioned three or four
`9
`different types of virtual machines. Depending
`10
`on what specifically you are looking at in terms
`11
`of the type of virtual machine, the procedures
`12
`to create it is somewhat different.
`13
`BY MR. RICHETTI:
`14
`Q.
`So is a common type of virtual
`15 machine when you create a machine both hardware
`16
`and operating system level. So you have almost
`17
`like a complete computer machine, but it's
`18
`really just virtual?
`19
`MR. PICKARD: Object to form.
`20
`THE WITNESS: So the specific type
`21
`of virtual machine you just referred to, it is
`22
`the virtual machine itself is emulating the
`23
`hardware. The operating system that's running
`24
`on it is not emulated. It is a real operating
`25
`system that just runs on the virtual machine,
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`3 (Pages 6 to 9)
`
`516-608-2400
`
`
`
`P. SHENOY
`10
`
`1
`which provides the abstraction of a physical
`2 machine by emulating it.
`3
`BY MR. RICHETTI:
`4
`Q.
`So working with that type of
`5
`virtual machine, how would you create that one?
`6
`A.
`So you would need to use one of
`7
`the many products that are available,
`8
`virtualization products, and using those
`9
`virtualization products you can create a new
`10
`virtual machine, which would be empty when you
`11
`create it.
`12
`And what types of software are you
`Q.
`13
`aware of that create these -- the type of
`14
`virtual machine you just described?
`15
`A.
`There are several different
`16
`products that are available on the market,
`17
`VMware is a company that sells a range of
`18
`products in this space. Microsoft also sells
`19
`virtualization products. There are some that
`20
`are freely available at no cost like XEN virtual
`21 machine, KVM, that are available as part of the
`22
`Linux operating system, which is free. There
`23
`are several others. These are some examples.
`24
`Q.
`And which ones have you worked
`25
`with in your career?
`
`12
`
`1
`You could use it for either one.
`A.
`2
`You mentioned about KVM. Is that
`Q.
`3
`the name product, the product of a name or is it
`4
`the company that makes it?
`5
`A.
`It stands for kernel virtual
`6 machine. It does virtualization technology that
`7
`is part of the Linux operating system. It is an
`8
`open source community generated technology.
`9
`Q. Now, with respect to the VM
`10
`products, you've mentioned there are two. One
`11
`that works on workstation and one that works on
`12
`a server?
`13
`Yes.
`A.
`14
`Can you just briefly describe the
`Q.
`15
`differences between the two systems?
`16
`A.
`So the virtual or VMware that runs
`17
`on a workstation, it requires an operating
`18
`system to be already running on the machine.
`19
`This operating system is typically known as the
`20
`host of the operating system and then the
`21
`virtualization product from VMware allows you to
`22
`create virtual machine that run on top of the
`23
`host operating system.
`24
`On the server side there are a few
`25
`different ways to run virtualization
`
`11
`A. Worked with VMware, XEN, X-E-N,
`that's how you spell it, KVM, an acronym.
`Q. Okay.
`A.
`I've used those.
`Q.
`And you mentioned you've used
`VMware products; is that correct?
`A.
`Yes.
`Q. What types of VMware products have
`you used?
`As part of our research we have
`A.
`used a few different products that they make.
`That is the workstation product, which you run
`on a typical PC. There is the ESX server
`product, which would run on servers. So at
`least those two.
`Q.
`And you mentioned you worked with
`virtualization products from XEN?
`A.
`Yes.
`Q. Which ones?
`A.
`So XEN is the name of the
`virtualization product. There is a different
`company that sells it. I'm not sure of the name
`of the company, but it refers to XEN.
`Q.
`Is that for a workstation or a
`server environment?
`
`13
`1
`technologies. The ESX product in particular
`2
`runs on what is referred to bare metal. So you
`3
`don't need an operating system to run. You can
`4
`run the virtual machine, monitor of the virtual
`5 machines kernels as it's referred to directly on
`6
`the physical machine. There are other products
`7
`that also run the servers that work like the
`8 workstation product. They need an operating
`9
`system to be running and they run on top.
`10
`Q.
`And for the workstation VMware
`11
`product, did it have a name?
`12
`A.
`So there are several different
`13
`variants of it that VMware sells. One is called
`14
`VMware Workstation is a product that is sold for
`15 MAC's operating system. So, therefore, it was
`16
`VMware Fusion. So I remember at least those
`17
`two.
`18
`Q.
`These are the two that you worked
`19 with; correct?
`20
`A.
`Those are the two that I worked
`21 with. Yes.
`22
`Q.
`And with respect to the ESX server
`23 which -- do you know which versions of the
`24
`server software you worked on?
`25
`A.
`I don't recollect the exact
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`4 (Pages 10 to 13)
`
`516-608-2400
`
`
`
`16
`the creation of the virtual machine through a
`software virtualization product such as ESX
`server is something that is going to be
`initiated by a user; is that fair?
`A.
`It could be a user or it could be
`a program that can create virtual machines, as
`well.
`
`P. SHENOY
`14
`1
`virtual numbers. All I can say is that we have
`2
`used it in our research for several years now.
`3
`Q.
`And by several years, I know you
`4 may not be able to give us an exact date, but
`5
`just an order of magnitude. Does that mean
`6
`within the last five years or you've been using
`7
`within the last ten years, the last 20 years?
`8
`A.
`At least for five years.
`9
`Q.
`So in working with, just as an
`10
`example, the ESX server VMware software, have
`11
`you had an opportunity to create a virtual
`12 machine?
`13
`The research project was my
`A.
`14
`graduate students. So we have created virtual
`15 machines together as part of the project.
`16
`Q.
`I'm sorry. So does that mean you
`17
`supervised it or did you actually create the
`18
`virtual machine?
`19
`A.
`I think supervised would be a more
`20
`reasonable way to put it.
`21
`Q. Okay. Is another name for these
`22
`virtual machine products called the virtual
`23 machine monitor? Are you familiar with that
`24
`term?
`25
`
`MR. PICKARD: Objection.
`
`1
`2
`3
`4
`5
`6
`7
`8
`Q. Okay. So we've talked about the
`9
`virtualization software such as VMware ESX
`10
`server allows you to create the virtual machine
`11
`and it allows you to manage the resources of the
`12
`virtual machine. Is there anything else that
`13
`the software permits you to do?
`14
`A.
`So I use the term manage very
`15
`broadly. It may well have a variety of
`16
`different things you could to do to manage
`17
`virtual machines. Just an example of these may
`18
`be pausing virtual machines, suspending them,
`19
`starting them. There are several different
`20
`functions the virtualization software might
`21
`provide. I put all of those under the
`22 management category.
`23
`Q.
`I appreciate that.
`24
`You mentioned pausing the machine.
`25 Why would you want to pause a virtual machine?
`17
`
`15
`
`1
`Compound.
`2
`THE WITNESS: I am familiar with
`3
`the term virtual machine monitor. I would not
`4
`say it's another name for all of those products.
`5
`At least the ESX server uses a virtual machine
`6 monitor.
`7
`BY MR. RICHETTI:
`8
`Q.
`And what does that mean to you,
`9
`virtual machine monitor?
`10
`A.
`The virtual machine monitor is a
`11
`piece of software that is emulating hardware and
`12 managing the virtual machines that are running
`13
`on top.
`14
`So is it fair to say that the
`Q.
`15
`virtualization software, just picking an example
`16
`of the one you used like the ESX server, has at
`17
`least two roles. There's the creation of the
`18
`virtual machine and then the management of the
`19
`virtual machine while it's operating?
`20
`A.
`Typically the creation is done by
`21
`a user. The virtual machine monitor would
`22
`perform the necessary steps to execute that
`23
`command. Once created the virtual machine
`24 monitor will manage the virtual machine.
`25
`Q.
`And so based on your experience,
`
`1
`It is an operation that is
`A.
`2
`supported by virtualization technologies
`3
`broadly. It is equal to in a laptop when you
`4
`close the lid of the laptop the operating system
`5
`pauses and then later on you can start working
`6 with the machine again. This provides a similar
`7
`function to pause the execution of the virtual
`8 machine for any reason that the user may want to
`9
`pause it for.
`10
`Q.
`So when you say pause, Dr. Shenoy,
`11
`are you saying it's more like when a computer
`12
`goes to sleep? Is that the analogy you're
`13
`drawing when you say you close the lid on the
`14
`laptop?
`15
`So pause could mean several
`A.
`16
`different things because it's a broad term.
`17
`There are different ways of pausing a virtual
`18 machine. Putting a computer to sleep would be
`19
`one of them, yes.
`20
`Q. What's another way that you could
`21
`pause a machine?
`22
`A.
`You could pause it, so there are
`23 many ways to pause a virtual machine. For
`24
`instance, you could pause it such that it stays
`25
`in memory and you can resume the memory. You
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`5 (Pages 14 to 17)
`
`516-608-2400
`
`
`
`20
`
`situation, if the device is turned off what
`happens?
`If you suspend to RAM, since data
`A.
`is still resident in RAM, hasn't been copied
`out, you simply switch off the physical machine,
`and all the contents of volatile memory are
`lost.
`
`P. SHENOY
`18
`1
`could pause it -- if you want to pause it for a
`2
`longer duration you could pause it so that you
`3
`could put the data on disk and resume it. Those
`4 would be two examples.
`5
`Q.
`And do those examples have names
`6
`or are they just generally fall under the pause
`7
`category?
`8
`There is a range of names that are
`A.
`9
`used in the art. So very broadly speaking,
`10
`there are terms like hibernate, suspend to disk,
`11
`suspend to RAM and others that are used in
`12
`different context.
`13
`Q.
`Can you explain to me what the
`14
`term hibernation means?
`15
`A.
`So it is somewhat broad term that
`16
`is used in operating systems. One specific way
`17
`to hibernate a virtual machine is to copy the
`18
`data of the virtual machine from memory to disk
`19
`and then if you want to start the virtual
`20 machine again you could copy that data back from
`21
`the disk back to memory, start the virtual
`22 machine.
`23
`And when you say "memory," are you
`Q.
`24
`referring to a specific type of memory? Is it
`25
`RAM, for instance?
`
`1
`2
`3
`4
`5
`6
`7
`8
`Is that why you mentioned
`Q.
`9
`previously that if you're going to hibernate for
`10
`a longer period of time you might want to
`11
`transfer the data to the disk, but if it's going
`12
`to be a shorter period of time you might just
`13
`suspend to RAM?
`14
`A.
`It depends on what the user is
`15
`trying to accomplish. If the user wants to
`16
`suspend for a short period and the machine
`17
`continues to be powered on, you can simply start
`18
`from that point on. If you want to start from
`19
`exactly where you left off on that virtual
`20 machine you could copy the memory contents to
`21
`disk and then copy it back when you unhibernate,
`22
`but if the contents of the virtual machine are
`23
`in disk you can also start the virtual machine
`24
`using what's known as a cold boot. You simply
`25
`boot up the virtual machine at that point.
`
`19
`1
`RAM is an example of memory, yes.
`A.
`2
`Q. Would it generally fall under the
`3
`category of volatile memory when you're
`4
`referring to the word memory?
`5
`A.
`In this specific context, yes, it
`6
`is volatile memory.
`7
`Q.
`You mentioned the concept of
`8
`suspending to disk. What's that?
`9
`A.
`Suspend -- the hibernate example I
`10
`just gave is a form of suspending to disk.
`11
`Q.
`And so in that situation before
`12
`the computer hibernates or goes to sleep data is
`13
`going to be copied from the memory to the disk;
`14
`correct?
`15
`A.
`Yes.
`16
`Q.
`And you mentioned suspend to RAM.
`17 What's that?
`18
`A.
`So suspend to RAM allows you to
`19
`pause the execution of the virtual machine, but
`20
`the data is kept in memory, unlike the previous
`21
`example where it's copied to disk and when you
`22
`start the virtual machine again you just use
`23
`that data that's been sticking around in memory
`24
`and just start the virtual machine.
`25
`Q.
`And so in the suspend to RAM
`
`21
`
`1
`Q. Dr. Shenoy, based on your
`2
`experience using virtualization products, can
`3
`you create multiple virtual machines within one
`4
`computer system, one physical computer?
`5
`A.
`If you're using hardware
`6
`virtualization, yes, you can.
`7
`Q.
`And just so I have an
`8
`understanding, we're talking about having one
`9
`physical computer that I'm working on, but yet I
`10
`can have multiple virtual machines that I could
`11
`be running different applications on; is that
`12
`fair? Can you explain that a little bit to me.
`13
`MR. PICKARD: Objection.
`14
`Compound.
`15
`THE WITNESS: Each virtual machine
`16
`if you're using hardware virtualization is
`17
`emulating a physical machine. It is a software
`18
`emulation of the hardware on the physical
`19 machine. You can create multiple virtual
`20 machines on a physical computer. Each virtual
`21 machine would get a portion of the resources
`22
`from the physical computer and within each
`23
`virtual machine you can run an operating system
`24
`and any application that you may wish to run.
`25
`BY MR. RICHETTI:
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`6 (Pages 18 to 21)
`
`516-608-2400
`
`
`
`P. SHENOY
`22
`1
`Q.
`You mentioned previously when we
`2 were discussing the '086 patent, Dr. Shenoy,
`3
`that it is generally directed to disaster
`4
`recovery and back ups using the virtual machine.
`5
`Do you recall that testimony?
`6
`A.
`Yes.
`7
`Q. What is backup software?
`8
`A.
`Backup software typically allows
`9
`you to take a copy of the data of whatever it is
`10
`you're trying to backup and put it on a
`11
`different machine or a different disk and if the
`12
`data gets corrupted due to hardware failure you
`13
`can go to that backup copy and restore that
`14
`data.
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`24
`
`1
`Relevance.
`2
`THE WITNESS: I have looked at
`3
`their web page. My understanding is they also
`4
`provide backup software for virtual machines.
`5
`BY MR. RICHETTI:
`6
`Q.
`And have you had any experience
`7 working with Symantec backup software systems?
`8
`MR. PICKARD: Objection.
`9
`Relevance.
`10
`THE WITNESS: I haven't used those
`11
`products, but as we have discussed previously, I
`12
`know about the bare metal restore product, for
`13
`instance. It would fall under that category.
`14
`BY MR. RICHETTI:
`15
`Q.
`Is it your understanding Symantec
`16
`provides software products -- backup software
`17
`products for virtual machines, as well?
`18
`MR. PICKARD: Objection.
`19
`Relevance.
`20
`THE WITNESS: I don't know much
`21
`about Symantec's line of products exactly what
`22
`they do and do not do.
`23
`BY MR. RICHETTI:
`24
`Q.
`That's fair. I was just asking.
`25
`I guess now would be a good time
`25
`
`And have you used backup software
`Q.
`systems in your research?
`A. We have used it more generally for
`backing up any and all of our data, which could
`include research data, as well.
`Q. What backup software products have
`you used?
`I would say we've used a range of
`A.
`backup products. There are some open source
`ones that come with the Linux operating system.
`There are commercial ones like CrashPlan that we
`23
`
`1
`use to backup data on our computers.
`2
`Q. Do you know the names of the open
`3
`source backup software programs you've used?
`4
`A.
`I think there is a utility called
`5
`TAR, T-A-R, that is used in Linux to create
`6
`backup copies of data. There are other
`7
`utilities like Glass 3 that also are backup
`8
`products.
`9
`And have you personally used those
`Q.
`10
`systems or is it generally you're supervising
`11
`students who may be using them or is it both?
`12
`A.
`In this case both.
`13
`Q.
`And which ones have you
`14
`specifically used?
`15
`A.
`All of those.
`16
`Q. Do you have any experience with
`17
`Veeam's software products?
`18
`MR. PICKARD: Objection.
`19
`Relevance.
`20
`THE WITNESS: I do not have any
`21
`experience using them.
`22
`BY MR. RICHETTI:
`23
`Q. Do you have an understanding of
`24 what their products are?
`25
`MR. PICKARD: Objection.
`
`1
`if I can direct your attention to the '086
`2
`patent, Dr. Shenoy. I believe it is
`3
`Exhibit 1001. Do you see that, sir?
`4
`A.
`Yes.
`5
`Q.
`I'm sure you've had more than one
`6
`opportunity to review this patent; is that
`7
`correct?
`8
`Yes.
`A.
`9
`If I could direct your attention
`Q.
`10
`to Figure 1.
`11
`A. Okay.
`12
`Q.
`Can you help me step me through
`13
`this figure, I'll actually point to some of the
`14
`components and I just want to make sure we're on
`15
`the same page about the various components; is
`16
`that fair?
`17
`I may have to look at the
`A.
`18
`specification in some of these cases, but yes.
`19
`Q.
`Just like we did the last time
`20 when we had the '299 patent in front of us,
`21
`always feel free. If there is anything I can do
`22
`to help point you to the relevant sections I
`23 would be more than happy to do so.
`24
`A.
`Sure.
`25
`Q.
`Computer system 10. What's that?
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`7 (Pages 22 to 25)
`
`516-608-2400
`
`
`
`P. SHENOY
`26
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`28
`
`storage. Yes.
`Q.
`And box number 36, it's labeled
`
`I/O?
`
`Yes.
`A.
`Q. What's that?
`A.
`So the specification says it may
`be any type of I/O device such as modems, I/O
`devices -- audio devices, video devices, it
`gives a list of the different input/output
`devices. It uses the word may, so it may be any
`of those, it may not be.
`Q. Okay. And there's a box VM 2,
`16B. Do you see that?
`A.
`Yes.
`Q.
`Is that referring to a second
`virtual machine within computer system 10?
`A.
`Yes.
`Q.
`And the box that says app 2, is it
`your understanding that that's just an
`application that's running or being emulated on
`virtual machine 2?
`A.
`Yes.
`Q.
`And then there's a box called
`virtual machine console 16C. Do you see that?
`A.
`Yes.
`
`1
`A.
`So that is depicting a physical
`2 machine which have several components that are
`3
`shown in the figure.
`4
`Q. Do you understand that to be a
`5
`physical computer as we were discussing it
`6
`earlier?
`7
`The figure has some additional
`A.
`8
`components such as the backup medium, which may
`9
`not fall under the category of a physical
`10 machine that we discussed earlier, but generally
`11
`speaking, the computer system would be a
`12
`physical machine.
`13
`Q.
`And Dr. Shenoy, do you see virtual
`14 machine 16A -- virtual machine 1, 16A?
`15
`A.
`Yes.
`16
`Q. What's your understanding of what
`17
`that is?
`18
`So this is a virtual machine that
`A.
`19
`is mimicking the hardware of a physical machine.
`20
`Q.
`And you see the box, application
`21
`1, number 28?
`22
`A.
`Yes.
`23
`Q. What's that?
`24
`A.
`So that would be an application
`25
`that a user is executing inside the virtual
`
`27
`
`1 machine.
`2
`And there's a box that's labeled
`Q.
`3
`0/S 30. Do you see that, sir?
`4
`A.
`Yes.
`5
`Q. What's that?
`6
`A.
`That's the operating system that's
`7
`executing inside the virtual machine.
`8
`Q.
`And CPU 32. Do you see that?
`9
`A.
`Yes.
`10
`Q. What's that?
`11
`A.
`That's a virtual processor that is
`12
`being used by the virtual machine to execute on,
`13
`emulated by the virtual machine.
`14
`Q.
`And there's a box 34 called
`15
`labeled storage. Do you see that?
`16
`A.
`Yes.
`17
`Q.
`And what's that?
`18
`A.
`So the specification says this
`19
`could be any type of a storage device such as
`20 memory, disk storage, tape storage, and so on.
`21
`It says it may include any of them.
`22
`Q.
`Right. So would this be
`23
`considered virtual storage since it's inside the
`24
`virtual machine?
`25
`A.
`It is labeled as a virtual
`
`29
`
`1
`Q. What's that?
`2
`A.
`So that's a virtual machine that
`3
`runs what's referred to as a console operating
`4
`system on this computer system.
`5
`Q. What's the console operating
`6
`system?
`7
`The console operating system is an
`A.
`8
`O/S using which the user can interact with the
`9
`computer system to manage the other virtual
`10 machine.
`11
`Q.
`And so in this figure virtual
`12 machine console 16C would allow the user to
`13 manage virtual machine 1, 16A and virtual
`14 machine 2, 16B?
`15
`A.
`That would be one of its
`16
`functions, yes.
`17
`Q.
`And then in that box there's a box
`18
`called backup program 42. Do you see that?
`19
`A.
`Yes.
`20
`Q. What's that?
`21
`A.
`It's a program that may be used to
`22
`backup data on the virtual machines.
`23
`Q.
`And in this instance, since it's
`24
`in virtual machine console 16C, would this
`25
`backup program be used to backup the data for
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`8 (Pages 26 to 29)
`
`516-608-2400
`
`
`
`P. SHENOY
`30
`virtual machine 1, 16A or virtual machine 2,
`16B?
`
`1
`2
`3
`The specification says it may be
`A.
`4
`used to do that.
`5
`Q.
`And is that your understanding of
`6 what this drawing depicts?
`7
`A.
`Yes.
`8
`Q.
`And I also noticed that there's a
`9
`backup program down in 22 and it's labeled 42,
`10
`as well. Do you see that?
`11
`A.
`Yes.
`12
`Q. Do you know what that's referring
`13
`14
`It may be a copy of the backup
`A.
`15
`program as it is stored on disk.
`16
`Q. Now, there's a box labeled VM
`17
`kernel 18. Do you see that?
`18
`A.
`Yes.
`19
`Q. What is it?
`20
`A.
`So the VM kernel is the piece of
`21
`software that allows management or enables
`22 management of the virtual machines that are
`23
`shown in the picture.
`24
`Q. Would it also enable creation of
`25
`virtual machine 1, 16A?
`
`to?
`
`31
`Those may be one of the functions
`A.
`supported by the kernel, yes.
`Q. Now, if I could direct your
`attention, Dr. Shenoy, to column 5, line 58,
`roughly, and you can feel free to read the whole
`paragraph that spills onto column 6 up to line
`2. And when you've had a chance to read that
`paragraph, if you could let me know that would
`be good.
`A. Okay.
`Q.
`And if I could direct your
`attention to column 5, line 61 is where it
`begins. The sentence begins "for example." Do
`you see that?
`A.
`Yes.
`Q.
`It says, "for example, a time
`division multiplex scheme may be used to assign
`time slots to each virtual machine." Do you see
`that? What does that mean to you?
`A.
`So as the previous sentence says,
`the VM kernel may schedule virtual machines.
`Time division multiplexing is an example of such
`a scheduling scheme and it says it may be used
`or there may be other things that could be used,
`as well.
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`32
`
`1
`And so just so I understand, is it
`Q.
`2
`saying that virtual machine 1 would get allotted
`3
`a certain period of time to use certain
`4
`resources and then virtual machine 2 would have
`5
`an allotted certain period of time and the VM
`6
`kernel would be managing that use of resources
`7
`on the physical computer?
`8
`A.
`So what is being described here is
`9
`processor scheduling, an allocation of
`10
`processors virtual machines. There may be other
`11
`ways to manage other resources, but this is
`12
`simply describing how virtual machines get
`13
`scheduled on the processor of the physical
`14 machine.
`15
`So tying that back to Figure 1 and
`Q.
`16
`our discussion, so would that be the VM kernel
`17
`would be managing the virtual processor 32 and
`18
`its ability to utilize the computer system 10's
`19 microprocessor?
`20
`A.
`So when the VM kernel schedules a
`21
`virtual machine for execution it starts
`22
`executing and it starts emulating the physical
`23
`processor using the resources of the
`24
`underlying physical -- rather the virtual
`25
`processor using the resources of the underlying
`33
`
`1
`physical machine.
`2
`Q.
`So can you have two virtual
`3 machines emulating at the same time?
`4
`A.
`If you have multiple processors on
`5
`the physical machine or multiple course you
`6
`could be emulating them concurrently.
`7
`Q.
`If you only have one processor
`8
`then you may have to come up with some scheme in
`9
`which the physical processor's resources are
`10
`allocated to the different virtual machines at
`11
`different times; is that fair?
`12
`A.
`If you only have one processor and
`13
`it doesn't support any form of trading
`14
`concurrently then you would have to take turns
`15
`scheduling each virtual machine on that
`16
`processor.
`17
`If I could direct your attention
`Q.
`18
`to the next sentence in column 5. It states,
`19
`"additionally, the VM kernel may handle the
`20
`suspending and resuming of virtual machines
`21
`responsive to suspend and resume commands." Do
`22
`you see that?
`23
`A.
`Yes.
`24
`Q. What does that refer to?
`25
`A.
`So it's saying that the virtual
`
`212-267-6868
`
`VERITEXT REPORTING COMPANY
`
`9 (Pages 30 to 33)
`
`516-608-2400
`
`
`
`P. SHENOY
`34
`1 machine kernel may support commands like
`2
`suspending virtual machine or resuming a virtual
`3 machine and implement those commands.
`4
`Q.
`Is it fair to say -- please
`5
`straighten me out if I'm wrong. Do all the
`6
`virtualization products that we were discussing
`7
`previously and that you're aware of, do they all
`8
`contain a VM kernel?
`9
`A. Not all of them.
`10
`Q.
`So some do, some don't?
`11
`A.
`Like if you have an application
`12
`level virtual machine like the Java virtual
`13 machine it would have something called a JVM,
`14 which typically would refer to as a VM kernel.
`15
`Q. Which virtualization products
`16 would have a VM kernel, based on your
`17
`experience?
`18
`A.
`An example may be the ESX server
`19
`product we discussed earlier. There may be
`20
`others, but that one would have a virtual
`21 machine kernel.
`22
`Q. What about the one you mentioned
`23
`about the VMware product that works on the
`24 workstation? Would that have a VM kernel?
`25
`A.
`So as is also mentioned in the
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`36
`
`If I could direct your attention
`Q.
`back to Figure 1, Dr. Shenoy, there's a box
`labeled hardware 20. What's that?
`A.
`The box refers to the hardware on
`the physical machine.
`Q.
`And there's a symbol that's
`labeled 22. I guess it's in the shape of a
`disk. What's that?
`A.
`It's a storage device such as a
`
`disk.
`
`And is this the computer system
`Q.
`storage device, like the physical storage
`device?
`Yes.
`A.
`And within the physical disk 22
`Q.
`there's a box labeled number 40 that says VM 1
`image. Do you see that, sir?
`A.
`Yes.
`Q. Do you know what that's referring
`
`to?
`
`As the specification, it says the
`A.
`kernel may write an image of a virtual machine
`to the storage device. In that case the VM
`image may be referring to the image, but it just
`says may.
`
`35
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`specification here, you would have a virtual
`kernel, virtual machine kernel in that context,
`but it would be running on a host operating
`system, which is not directly depicted in this
`figure. So you would have to assume that the VM
`kernel includes an operating system and the
`virtualization software in that case. The
`specification ref