Oracle America, Inc. v. Google Inc.
Filing
509
DECLARATION of RUCHIKA AGRAWAL in Opposition to #496 MOTION in Limine No. 5, #494 MOTION in Limine No. 3, #492 MOTION in Limine No. 1, #493 MOTION in Limine NO. 2, #495 MOTION in Limine No. 4 filed byGoogle Inc.. (Attachments: #1 Exhibit 1-1, #2 Exhibit 1-2, #3 Exhibit 1-3, #4 Exhibit 1-4, #5 Exhibit 1-5, #6 Exhibit 1-6, #7 Exhibit 1-7, #8 Exhibit 1-8, #9 Exhibit 1-9, #10 Exhibit 1-10, #11 Exhibit 1-11, #12 Exhibit 1-12, #13 Exhibit 2-1, #14 Exhibit 2-2, #15 Exhibit 2-3, #16 Exhibit 2-4, #17 Exhibit 2-5, #18 Exhibit 2-6, #19 Exhibit 2-7, #20 Exhibit 2-8, #21 Exhibit 2-9, #22 Exhibit 2-10, #23 Exhibit 2-11, #24 Exhibit 2-12, #25 Exhibit 2-13, #26 Exhibit 2-14, #27 Exhibit 2-15, #28 Exhibit 2-16, #29 Exhibit 2-17, #30 Exhibit 3-1, #31 Exhibit 3-2, #32 Exhibit 3-3, #33 Exhibit 3-4, #34 Exhibit 3-5, #35 Exhibit 3-6, #36 Exhibit 3-7, #37 Exhibit 3-8, #38 Exhibit 3-9, #39 Exhibit 3-10, #40 Exhibit 3-11, #41 Exhibit 4-1, #42 Exhibit 4-2, #43 Exhibit 4-3, #44 Exhibit 5-1, #45 Exhibit 5-2, #46 Exhibit 5-3, #47 Supplement 5-4)(Related document(s) #496 , #494 , #492 , #493 , #495 ) (Kamber, Matthias) (Filed on 10/7/2011)
EXHIBIT 2-11
Highly Confidential - Attorneys' Eyes Only
1
UNITED STATES DISTRICT COURT
2
NORTHERN DISTRICT OF CALIFORNIA
3
SAN FRANCISCO DIVISION
4
5
-------------------------
6
ORACLE AMERICA, INC.,
)
7
Plaintiff,
)
8
vs.
) No. CV 10-03561 WHA
9
GOOGLE, INC.,
) VOLUME I
10
11
Defendant.
)
-------------------------
12
13
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
14
15
Videotaped Deposition of ROBERT VANDETTE,
16
taken at 42 Chauncy Street, Boston,
17
Massachusetts, commencing at 10:02 a.m.,
18
Wednesday, September 7, 2011, before
19
Jill Shepherd, RPR, MA-CSR No. 148608,
20
NH-CSR No. 128, CA-CSR No. 13275, CLR,
21
and Notary Public.
22
23
24
25
PAGES 1 - 124
Page 1
Veritext National Deposition & Litigation Services
866 299-5127
EXHIBIT 2-11
Highly Confidential - Attorneys' Eyes Only
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
preserve the objection. I don't believe
this was produced to Oracle, but perhaps you
can confirm that after this deposition and
we can take it off line.
Q. Are you familiar -- have you seen this
presentation before?
A. (Witness reviewing document).
MS. AGRAWAL: Objection. Form.
MR. FRANCIS: I would note that
this presentation is cited in Oracle's claim
charts.
MS. AGRAWAL: The video?
MR. FRANCIS: So you should be
familiar with it.
MS. AGRAWAL: The video or the
actual presentations?
MR. FRANCIS: Both, I believe.
MS. AGRAWAL: All right. Let's
take it off line.
A. (Witness reviewing document).
I may have seen a presentation similar
to this. I can't confirm that this is the
exact content that I have seen or whether I
read through the entire presentation.
Q. Okay. Just for a second, jump to slide 11,
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
Q. All I asked if you see this third line, and
if you understand what it seems to be
saying. I'm not asking if you agree with
it.
A. I do not agree with -MS. AGRAWAL: You've got to let me
object. The court reporter has to be able
to take it down. Sorry.
Objection. Form.
A. I do see it and I do not agree with it.
Q. Have you run any tests to determine what
percentage of the time the CPU spends
executing byte codes as opposed to natively
compiled code?
MS. AGRAWAL: Objection. Form.
A. I have performance analysis in the past on
our own virtual machines, and it very much
depends on the byte codes and the program
that you are running whether it spends
little or a lot of time in the JIT -- or in
executing byte codes, I'm sorry.
Q. Maybe we can clarify just a little bit.
Your performance report is measuring
the performance of the Dalvik Virtual
Machine, but not Android operating system
Page 42
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
there's a diagram that's labeled "Dalvik
Trace JIT Flow"?
A. Okay.
Q. Have you seen this before?
A. No, I have not.
Q. Now looking at slide five, the third point
that's listed here, it says, "Typically,
less than a third of time spent in the
interpreter."
Do you see that?
A. This is very subjective.
Doing what?
Q. Do you understand generally what it means?
I'm not asking if you agree, but do you
understand what it's saying here?
A. I would just like to come to your point -MS. AGRAWAL: Objection. Form.
A. -- with the data on this slide that shows
that running the checkers, that you're
running 93 percent of the time in JIT code
cache. So you are using almost 100 percent
of the CPU when you are running checkers, so
how do you conclude, then, that one-third of
the time you are, on average, in
interpreter?
Page 44
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
overall -MS. AGRAWAL: Objection. Form.
Q. -- is that correct?
MS. AGRAWAL: Objection. Form.
A. It's difficult to answer that question
because the Dalvick Virtual Machine is part
of the Android operating system, so which
part are you -Q. Is it part of the prior Android operating
system?
MS. AGRAWAL: Objection. Form.
A. My report states that I disabled much of the
Android platform so the CPU was available
for executing these benchmarks, so...
Q. In a normal environment, is much of the
Android platform disabled?
MS. AGRAWAL: Objection. Form.
A. In the normal Android platform, there is
many Dalvick Virtual Machines running, which
could have interfered with my results.
Q. In a normal environment, is there anything
other than a Dalvik Virtual Machine running
on the Android operating system?
MS. AGRAWAL: Objection. Form.
A. It's running on top of the Linux kernel, but
Page 43
Page 45
12 (Pages 42 - 45)
Veritext National Deposition & Litigation Services
866 299-5127
EXHIBIT 2-11
Highly Confidential - Attorneys' Eyes Only
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
Q. I'm not asking you for a specific number.
Give me a general ballpark figure.
MS. AGRAWAL: Objection. Form.
A. You are asking me to describe changes or
incremental performance improvements in
groups that I really wasn't involved in.
Q. Turning to page eight, paragraph 28 of your
report, you discuss the modifications that
you made to conduct your experiments; is
that correct?
A. Yes.
Q. And you created these modifications based on
what you were told by Professor Mitchell and
Peter Kessler; is that correct?
MS. AGRAWAL: Objection. Form.
A. Yes. We discussed the functionality, and
Peter I both looked through the sources to
try to find out how to properly disable this
functionality, and we came to a consensus.
Q. It appears that you attempted two out of
three possible scenarios here?
A. That's correct.
MS. AGRAWAL: Sorry, objection.
Form.
Q. The first scenario in paragraph 28 is
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
A. It would impact the results potentially,
since I'd be adding additional functionality
to Dalvick that it doesn't currently have.
Q. It would, however, be technically possible
for someone to do so?
MS. AGRAWAL: Objection. Form.
A. Let's see. It may be technically possible
to build a system that does quickening
without side tables, but it would involve
adding additional overhead that Dalvick
doesn't currently have.
Q. In paragraph 36, you state that you did not
try running the trace compiler; is that
correct?
A. Oh, paragraph -- sorry. That is correct,
for the same reason that we didn't do the
quickening alone.
Q. What is the trace compiler?
MS. AGRAWAL: Objection. Form.
A. That is Dalvick's implementation of a JIT.
Q. Are you saying that for your performance
benchmark regarding the '104 patent you had
to disable the JIT?
MS. AGRAWAL: Form.
A. That's correct.
Page 82
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
building side tables, but not quickening
instructions, and the second scenario is not
building side tables or quickening
instructions; is that correct?
A. That's correct.
Q. Is there a third possibility of not building
side tables, but building quickening
instructions?
MS. AGRAWAL: Objection. Form.
A. The quickening was dependent upon the side
table for its implementation in order to
avoid, you know, any possible error in the
results. We did not want to substantially
modify Dalvick in order to try to attempt
that. We wanted to restrict our changes to
just simple commenting out of code that
would provide the before and after.
Q. So if it got too complicated, you did not
attempt it?
MS. AGRAWAL: Objection. Form.
A. It's not an issue of complication. It's an
issue of possibly altering the Dalvick to
the point where I wouldn't be measuring what
I wanted to measure.
Q. It would be --
Page 84
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
Q. Do you understand that the JIT is not part
of the accused functionality of the '104
patent?
MS. AGRAWAL: Objection. Form.
A. I'm not certain that it isn't somehow
involved in some of the claims, but we
focused on turning off the functionality in
a mode that was possible.
Q. If, in fact, JIT is not part of the accused
functionality, then wouldn't disabling it
affect the performance of this benchmark?
MS. AGRAWAL: Objection. Form.
A. I do believe that the numbers would be
slightly different; however, the overhead of
having to re-resolve all of the classes,
fields, and methods is a fixed overhead that
the JIT could not compensate for. So I
believe the performance reduction or
degradation would still be substantial.
Q. Despite fixed overhead, you are referring to
other aspects of the benchmarking programs
might execute faster if the JIT was enabled;
is that correct?
MS. AGRAWAL: Objection. Form.
A. They would be severely diminished by the
Page 83
Page 85
22 (Pages 82 - 85)
Veritext National Deposition & Litigation Services
866 299-5127
EXHIBIT 2-11
Highly Confidential - Attorneys' Eyes Only
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
JIT compiler?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. I understand that HotSpot method-based JIT
compiler and Android is a trace-based JIT
compiler.
Q. If Android was using a method-based JIT
compiler, is it your belief that it would
infringe the patent?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. You'd have to show me and my team the
implementation in order to determine that.
Q. Does HotSpot practice -- strike that.
Does the HotSpot Just-In-Time compiler
practice the '205 patent?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. It's my understanding that this patent was
issued around the time of early Java, but we
had alternative -- we had a -- you know, a
pre-computer HotSpot compiler, so it's hard
to say. My guess, I would believe it would.
Q. The current HotSpot Just-In-Time compiler
practices the '205 patent?
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
-Xint:fast mode and the -Xint:jit mode for
the interpreter versus the JIT-enabled
results.
Q. Paragraph 49, you say, "These tests show the
performance difference that JIT provides
above and beyond interpreter only"; is that
correct?
A. Yes.
Q. Is the accused functionality the entire JIT
or only a specific portion within the JIT?
MS. AGRAWAL: Objection. Form.
A. As I understand it, it's the technique used
to store the results of the JIT and such.
If you are unable to store the results of
the trace JIT, you wouldn't have a JIT;
therefore, disabling the JIT is comparable
to disabling the patent.
Q. Are there other ways to store the results of
the JIT?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. I don't know. You are asking: Are there
other ways to store the results that are not
infringing? Is that what you are asking me?
Q. I'm asking you: Is the only way to
Page 98
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
MS. AGRAWAL: Objection. Form,
beyond the scope, and calls for a legal
conclusion.
A. From my understanding, I believe it does.
Q. Did you try comparing the performance of a
current HotSpot Just-In-Time compiler with
one that existed before the '205 patent?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. From my report, I measured the current
HotSpot implementation.
Q. Looking at page 18 of your report, the chart
here is entitled "Android CaffeineMark JIT
Improvement Results."
Does this reflect the difference
between running Android with and without a
JIT?
MS. AGRAWAL: Objection. Form.
I also just note for the record that
we produced this to Google in color, and so
this isn't the original that was -- the
report wasn't what was given to Google; but
you can answer the question.
A. The command that I used to execute is in the
report. It's on paragraph 49. I used
Page 100
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
implement a JIT is by using the '205 patent?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. I don't know.
Q. If there was a way to implement a JIT
without practicing the '205 patent, would it
make sense to benchmark the performance
between that JIT and the current Android JIT
that Oracle alleges infringes the '205
patent?
MS. AGRAWAL: Objection. Form,
beyond the scope.
A. You are asking me to speculate on something
which I have already stated that I don't
know how you would do. So, again, the
answer is, I don't know.
Q. In paragraph 53, you say, "Before starting
each benchmark run, the script cleans out
the dalvik-cache."
Do you see that?
A. Yes.
Q. What is in the dalvik-cache?
MS. AGRAWAL: Objection. Form.
A. The dalvik-cache contains an optimized
version of the dex file, and if you run --
Page 99
Page 101
26 (Pages 98 - 101)
Veritext National Deposition & Litigation Services
866 299-5127
EXHIBIT 2-11