throbber
1209
`
`UNITED STATES DISTRICT COURT
`SOUTHERN DISTRICT OF TEXAS
`HOUSTON DIVISION
`
`WESTERNGECO LLC
`
`VS.
`
`ION GEOPHYSICAL
`
`CORPORATION, FUGRO
`GEOTEAM,
`INC., ET AL
`
`*X—*X~*X-*
`
`O9—CV—l827
`
`Houston, Texas
`
`7539 a.m.
`
`July 27, 2012
`
`JURY TRIAL
`
`Volume 5
`
`BEFORE THE HONORABLE KEITH P. ELLISON
`UNITED STATES DISTRICT JUDGE
`
`APEEARANES:
`
`U300\JCHCH4>LOPOF4
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`FOR THE PLAITIFF:
`
`16
`
`17
`
`18
`
`19
`
`Lee L. Kaplan
`SMYSER, KAPLAN & VESELKA, LLP
`700 Louisiana, Suite 2300
`Houston, Texas 77002
`713.221.2300
`
`Gregg F. LoCascio
`KIRKLAND & ELLIS LLP
`
`20
`
`655 Fifteenth Street Northwest
`
`Washington, DC 20005
`202.879.5290
`
`21
`
`22
`
`23
`
`Sarah Tsou
`Timothy K. Gilman
`KIRKLAND & ELLIS LLP
`24 Citigroup Center
`153 East 53rd Street
`
`25 New York, New York 10022
`212.446.6435
`
`‘§RE?E§;§PY1cERTIFY
`$WE3~'
`
`
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit’2108, pg. 1
`PGSVWNESTERNGECO
`|PR2014~00688
`
`WESTERNGECO Exhibit 2108, pg. 1
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Redirect~Triantafyllou/By Mr. LoCascio
`
`1498
`
`1
`
`claims that pertain to your testimony?
`
`2 A”
`
`Yes,
`
`I think it does.
`
`3
`
`M. LOCASCIO: No further questions, Your
`
`4 Honor.
`
`03:02:32
`
`5
`
`6
`
`7
`
`THE COURT: Okay. Anything further?
`
`MR. PIERCE: No.
`
`THE COURT: Okay. Thank you. You're free to
`
`8 go.
`
`Thank you.
`
`03:02:39
`
`9
`
`10
`
`Do you wish to call another witness?
`
`MR. LOCASCIO: We do. At this time,
`
`11 WesternGeco calls Dr. John Leonard. Bring him up.
`
`12
`
`THE COURT: Why don't we take back some of the
`
`13 things we gave the last witness.
`
`03:03:16
`
`14
`
`15
`
`16 up here.
`
`MR. LOCASCIO: Sure.
`
`THE COURT: Yes, sir.
`
`If you'd make your way
`
`17
`
`18
`
`19
`
`MR. ARNOLD: Are we clear up here?
`
`CASE MANAGER: Yes.
`
`THE COURT: We're going to have you in the seat
`
`03:03:24
`
`20 nearest me, sir.
`
`21
`
`Before you take your seat, Mrs. Loewe will
`
`22 administer the oath.
`
`23
`
`THE CASE MANAGER:
`
`Do you solemnly swear that
`
`24 the testimony you are about to give in the matter now
`
`03:03:30
`
`25 before the Court will be the truth,
`
`the whole truth and
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 2
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 2
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`1499
`
`nothing but the truth?
`
`THE WITNESS:
`
`I do.
`
`THE COURT: Have you been in the courtroom for
`
`a while.
`
`THE WITNESS: Yes .
`
`THE COURT: You know the drill,
`
`then. Okay.
`
`Try to speak into the mike.
`
`M. GILMAN:
`
`I know it's late in the day, so
`
`I'll try to move quickly, Your Honor.
`
`THE COURT:
`
`Thank you.
`
`M. GILMAN:
`
`For its next witness, WesternGeco
`
`calls Dr. John Leonard, who is a professor at MIT.
`
`Dr. Leonard is a specialist in navigation and robotics,
`
`with an emphasis on underwater vehicles. We heard a little
`
`bit with the last two witnesses how some of the defendant's
`
`products work.
`
`Dr. Leonard is here to talk about the
`
`source code that's used,
`
`the computer programs that are
`
`used inside of that —— those product and what information
`
`is being passed back and forth in those products.
`
`Permission to approach the witness.
`
`THE COURT : Yes. You don't need to ask
`
`permission.
`
`03:03:40
`
`03:03:49
`
`03:04:06
`
`03:04:17
`
`00xiOWLNJ>toDOF4
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 3
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 3
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct—Leonard/By Mr. Gilman
`
`JOHN LEONARD,
`
`1500
`
`after having been first cautioned and duly sworn, testified
`
`as follows:
`
`BY MR. GILMAN:
`
`DIRECT EXAMINATION
`
`Q.
`
`Good afternoon, Dr. Leonard.
`
`A.
`
`Good afternoon.
`
`Q. Would you please introduce yourself to the jury.
`
`A.
`
`My name's John Leonard, and I'm a professor at MIT.
`
`Q. What do you do at MIT?
`
`A.
`
`I perform research in robotics, and I teach
`
`mechanical engineering.
`
`Q. What kind of education do you have to get to where
`
`you are today?
`
`A.
`
`Undergraduate degree is in electrical engineering
`
`from the University of Pennsylvania, and my Ph.D. is from
`
`the University of Oxford.
`
`Q. What did you study in both of those schools?
`
`A.
`
`So electrical engineering as an undergrad, and then I
`
`focused in robotics, and my Ph.D. is in engineering
`
`science from Oxford.
`
`Q. What was the topic of your thesis for your Ph.D.
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`03:03:46
`
`03:05:03
`
`03:05:11
`
`03:05:25
`
`23
`
`studies?
`
`24
`
`25
`
`03:05:38
`
`A.
`
`I worked on the problem of how a robot can build a
`
`map and concurrently use that map to navigate. And so,
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@ao1.com
`
`WESTERNGECO Exhibit 2108, pg. 4
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 4
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Di'rect—Leonard/By Mr. Gilman
`
`1501
`
`that involved a lot of advanced work in source code and
`
`Kalman filtering and a lot of the algorithms related to
`
`that.
`
`Q.
`
`So if we could take a look at your —- some of the
`
`slides that you put together.
`
`Starting off with your first slide,
`
`Leonard 1, could you describe what it is that you do today
`
`at MIT, what areas do you focus your research on?
`
`An
`
`Yeah. This is a slide I give in talks to give sort
`
`after quick overview in the interests of time of some of
`
`my background.
`
`So the topics and pictures from underwater
`
`vehicle vehicles,
`
`the Arctic, worked on mine-hunting for
`
`the Navy, and also as the team leader for MIT's entry in
`
`something called the DARPA Urban Challenge, which is ~— we
`
`built a self—driving car and drove it in traffic. And so,
`
`my research generally addresses these problems of mapping,
`
`navigation and control of autonomous vehicles, with a
`
`special focus on underwater vehicles.
`
`THE COURT: At MIT, are you in a research
`
`position, or do you also have teaching responsibilities?
`
`THE WITNESS: Yes.
`
`I'm a faculty member, so I
`
`have teaching responsibilities.
`
`THE COURT: Are you an assistant professor or
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`03:05:54
`
`03:06:11
`
`03:06:25
`
`03:06:41
`
`24
`
`an associate?»
`
`03:06:48
`
`25
`
`THE WITNESS:
`
`I'm a full professor.
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 5
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 5
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct—LeonaroZ/By Mr. Gilman
`
`1502
`
`H300\JChLNd>LUPOF4
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`03:06:57
`
`03:07:10
`
`03:07:19
`
`THE COURT: Full professor. Thank you.
`
`THE WITNESS:
`
`I teach measurement,
`
`instrumentation, robotics, design, historically
`
`programming, even some -— lots of topics.
`
`THE COURT: Okay.
`
`Thank you.
`
`THE WITNESS:
`
`Sure.
`
`BY MR. GILMAN:
`
`Q.
`
`A.
`
`How long have you been a full professor at MIT?
`
`Let's see.
`
`I was promoted to full professor in --
`
`sorry —— '96, assistant. Let's see. Yeah, about, 2005 I
`
`became -— let's see, yeah.
`
`2005,
`
`I think. Yeah.
`
`Q.
`
`And how long overall have you been investigating
`
`these type of research problems,
`
`these type of engineering
`
`problems?
`
`A.
`
`Pretty much since I object started my Ph.D.
`
`in 1997.
`
`So 25 years.
`
`I think I became a full professor in 2006.
`
`MR. GILMAN:
`
`If we could go to the second
`
`18
`
`slide.
`
`19
`
`BY MR. GILMAN:
`
`03:07:34
`
`20
`
`Q.
`
`Now,
`
`I understand that you're here to discuss source
`
`21
`
`code.
`
`22
`
`23
`
`24
`
`25
`
`03:07:51
`
`Could you explain what source code is?
`
`AM
`
`Yeah.
`
`Source code is the instructions inside a
`
`computer to implement a piece of software, and it's
`
`written in what we call a human readable computer language
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 6
`PGS V. WESTERNGECO
`|PR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 6
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonarcl/By Mr . Gilman
`
`1503
`
`CO~JCfiLfl¢>U0POF4
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`you'll hear C, C Plus Plus, other languages,
`
`JAVA, PASCAL.
`
`And another thing that source code has its coments, which
`
`are sort of text written, not for the computer to
`
`interpret, but for one programmer to sort of specify or to
`
`communicate to another.
`
`And so,
`
`in examining a piece of source
`
`code,
`
`like the complex software systems in this case,
`
`the
`
`comments actually give a lot of information.
`
`Q.
`
`A.
`
`And is this an example at the bottom of this slide?
`
`Yes. This is the first example from my favorite
`
`programming book, and it's just a program that prints out
`
`"Hello World." And what you can point and want to pull up
`
`there is where you see the slash star, a simple C program
`
`to print out "hello world star slash," that's an example
`
`of a comment. And we'll see coments later in the
`
`presentation.
`
`And then below that and is a function that
`
`pretty much just prints out "Hello world," it has other
`
`things,
`
`like semicolons and back slashes and things that
`
`we don't see in our normal sort of —— in normal documents,
`
`so —— but a programmer can sort of read that as a sort of
`
`language.
`
`Q.
`
`Why would a programmer put in these things that you
`
`call coments into their computer code?
`
`A.
`
`So comments are really important in software
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`03:08:12
`
`03:08:23
`
`03:08:40
`
`03:08:51
`
`03:09:03
`
`WESTERNGECO Exhibit 2108, pg. 7
`PGSVWNESTERNGECO
`|PR2014~00688
`
`WESTERNGECO Exhibit 2108, pg. 7
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . Gilman
`
`1504
`
`development.
`
`They sort of specify how code works, and
`
`sometimes it's important to write coments, not just for
`
`other programers to look and understand your code, but
`
`even yourself. You might come back two years later to a
`
`piece of code you haven't looked at, and it helps lay out
`
`what the variables are, what the goals of the code are.
`
`Q.
`
`If we could go to your next slide. Can you describe
`
`what specific code you looked at for your investigation in
`
`this case?
`
`A.
`
`Yes.
`
`So I was asked to investigate three pieces of
`
`software for this case.
`
`So the ORCA system and the
`
`lateral controller, and those both run on the ship. And
`
`then the DigiFIN software, which runs on the actual
`
`DigiFINs, one of which is over there across the room.
`
`Q.
`
`As part of the research that you do, do you use
`
`source code yourself?
`
`00\JONLN¢>toDOF4
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`A.
`
`Yes.
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Q. What times of source code do you work in?
`
`A.
`
`So for our robots, we have to write a lot of complex
`
`software, and we typically use the language of C and C
`
`Plus Plus. And in my career, years ago, I wrote big
`
`complex programs with tens of thousands of lines of code
`
`of C, and more recently I manage graduate students and
`
`postdocs that create many tens of thousands of lines of
`
`code in these languages to control robots.
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`03:09:19
`
`03:09:33
`
`03:09:52
`
`03:10:02
`
`03:10:19
`
`WESTERNGECO Exhibit 2108, pg. 8
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 8
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct—Leonard/By Mr. Gilman
`
`1505
`
`Q. What did you do to analyze the source code that's at
`
`issue in this case?
`
`A.
`
`So we looked at the code on two computers provided by
`
`ION.
`
`Q.
`
`And how long did you spend looking at the code on the
`
`computers?
`
`A.
`
`So because of the sensitive nature of the material,
`
`we could only look at the code at a law office in Houston.
`
`So flew down, spent a few days selecting which code that
`
`we could what's called produce.
`
`So we printed out selected pages of the
`
`code, and then I was able to subsequently look at those
`
`printed pages to do a more detailed investigation of the
`
`flow of information in the software.
`
`Q.
`
`How did you choose what pages to produce and to
`
`continue investigating?
`
`A.
`
`Yes.
`
`So before I traveled to Houston, I was provided
`
`with some user manuals and other documentation. And from
`
`that,
`
`I sort of —— that sort of informed what we could --
`
`what we —— sorry. That informed what I chose to produce
`
`or select when I was down in Houston.
`
`Q.
`
`And what did you do with the source code after you
`
`produced it and took it back with you back to Boston?
`
`A.
`
`So I analyzed the code to try to deduce how it works
`
`with respect to the lateral control, with also an emphasis
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`1 2 3 4 5 6 7
`
`1O
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`WESTERNGECO Exhibit 2108, pg. 9
`PGSVWNESTERNGECO
`|PR2014~OO688
`
`03:10:30
`
`03:10:45
`
`03:10:58
`
`03:11:13
`
`03:11:31
`
`WESTERNGECO Exhibit 2108, pg. 9
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct~Leonard/By Mr. Gilman
`
`1506
`
`l
`
`2
`
`on the flow of information between the different modules.
`
`Q.
`
`So just walking through these three parts with
`
`respect to the DigiFIN, how much of the source code did
`
`you end up bringing back with you?
`
`03:11:45
`
`A.
`
`Okay.
`
`So the —— for the DigiFIN and the lateral
`
`controller, we were able to print out all the code, an
`
`order of hundreds of pages to represent that. But ORCA's
`
`a lot bigger.
`
`It has other functions that aren't
`
`specifically connected to a lateral control, and so ORCA
`
`03:12:04
`
`actually is 3.8 million lines of computer code. And so,
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`03:12:19
`
`03:12:31
`
`informed by the documents and —— that I had, we selected
`
`the sort of subset that relates to the Kalman filter,
`
`the
`
`calculating streamer separations,
`
`things that are relevant
`
`in this case.
`
`Q.
`
`And in addition to this source code, you said you
`
`also looked at some of the depositions and some of the
`
`documentations in the case?
`
`A.
`
`Yes.
`
`I looked at —— there were a few,
`
`like, for
`
`example, an internal ION presentation that —— and an
`
`internal ION document that explained some of the
`
`calculations and also the depositions of a couple of the
`
`key programmers.
`
`23
`
`Q.
`
`If we could turn to the next slide, let's start with
`
`24
`
`25
`
`03:12:44
`
`the DigiFIN itself first.
`
`Based on your investigation, how does the
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 10
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 10
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . G1’ lman
`
`1507
`
`DigiFIN work?
`
`A.
`
`Okay.
`
`So this slide gives an overview of the
`
`components of the DigiF1N.
`
`So we —— so source code is a
`
`way to really look and see what's actually going on inside
`
`these devices. And so, I think in a complex system like
`
`this, it's really important to do this, and I feel a
`
`certain privilege that I had the chance to do this. And
`
`I —— the goal is —— the nice thing is the source code
`
`really tells the story, so there's no debate what —— the
`
`source code, if it has a formula, that's what it's doing.
`
`So let me back up a little bit.
`
`So what
`
`is a DigiFIN? You've seen it here in the courtroom.
`
`It
`
`has hardware and software. Hardware has sensors, sensors
`
`to measure temperature, depth, wing angle, pitch and roll.
`
`So pitch is this direction, so if the plane is taking off
`
`it pitches up. Roll is this angle, and the —— so those
`
`are the sensors.
`
`It also has a motor which controls the fin
`
`angle. And it has what we call a microcontroller.
`
`A
`
`microcontroller is a special type of microprocessor that's
`
`designed to interface with sensors and what we call
`
`actuators.
`
`So the motor is an example of an actuator.
`
`And so, it's just a -— it's a computer
`
`that runs in what we call an embedded system.
`
`The
`
`computer's sort of embedded inside the DigiFIN. And it
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`1 0
`
`0\JO\LN¢>toDJ
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`WESTERNGECO Exhibit 2108, pg. 11
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`03:12:59
`
`03:13:16
`
`03:13:35
`
`03:13:50
`
`03:14:07
`
`WESTERNGECO Exhibit 2108, pg. 11
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct~Leonard/By Mr . Gilman
`
`1508
`
`1 handles this interaction with the sensors and the motor.
`
`2 Q.
`
`There's an embedded little computer inside the
`
`3 DigiFIN?
`
`4 A.
`
`Yes.
`
`03:14:20
`
`5 Q.
`
`Is that true for each of the DigiEINs that's in our
`
`6
`
`system?
`
`7 A”
`
`Yes.
`
`8 Q.
`
`So if you have an array of a hundred DigiFINs,
`
`there
`
`9 are a hundred little computers spread out?
`
`03:14:27
`
`10 A”
`
`Yes, a hundred microcontrollers.
`
`11
`
`12
`
`THE COURT: Are those what we call local ones?
`
`THE WITNESS: Yes. That's a —— yes,
`
`I would
`
`13 interpret that as a local controller. But that's --
`
`14 BY MR. GILMAN:
`
`03:14:39
`
`15 Q.
`
`In terms of the —— some of the specific software
`
`16
`
`that's run on these local computers in each DigiFIN, if we
`
`17
`
`could turn to the next slide?
`
`18 A”
`
`Right. Well, actually, can I just stay on this, and
`
`19
`
`I forget to mention one thing in relation to the software.
`
`03:14:53
`
`20 Q.
`
`Please.
`
`21 A”
`
`I mentioned the hardware, so the software is written
`
`22
`
`in the C language, which is one I've used extensively in
`
`23 my career.
`
`24
`
`It also has a bit of what's known as
`
`03:15:04
`
`25
`
`assembly language, which is kind of lower level form of
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 12
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 12
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . Gi lman
`
`1509
`
`03:15:21
`
`03:15:36
`
`computer software,
`
`that sort of handles talking to the
`
`motor and the sensors. And the software in terms of a
`
`quick summary of what it does, it receives the FIN
`
`comands and controls the motor to achieve those desired
`
`requested FIN angles.
`
`And it also checks for some out of bounds
`
`conditions,
`
`is it too shallow, does it roll too much,
`
`should it —— and there's something called the back off
`
`algorithm where it will back off FIN angle if the
`
`microprocessor program thinks that it's possibly
`
`interfering with the depth control.
`
`Q.
`
`And with respect to that backup algorithm,
`
`I believe,
`
`is that one of the specific features you looked at in some
`
`00~JCHCHtoNJF4
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`detail?
`
`03:15:48
`
`15
`
`A.
`
`Yes.
`
`So here on the next demonstrative here's some
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`03:16:09
`
`03:16:23
`
`examples of those comment things I told you early in my
`
`hello world program, so the slash star, star slash. And
`
`these are throughout the code. And so, here's some
`
`examples of the actual code that runs on the DigiFIN.
`Q.
`So these are the actual files that you got from ION's
`
`computer?
`
`A.
`
`Yes,
`
`these are example pages from the many hundreds,
`
`thousands of pages. But in particular,
`
`these are examples
`
`from the smaller subset of files that relate to the
`
`DigiFIN.
`
`Johnny c. Sanchez, RMR, CRR - jCscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 13
`PGS V. WESTERNGECO
`IPR2014-00688
`
`WESTERNGECO Exhibit 2108, pg. 13
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct ~Leonarcl/By Mr . Gilman
`
`1510
`
`O3
`
`:16:
`
`39
`
`O3:
`
`16:
`
`54
`
`03:
`
`17:
`
`10
`
`O3:
`
`17
`
`:29
`
`O3:
`
`17
`
`:44
`
`00\JCHLflJ>LUPOF4
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Q.
`
`And from these particular files what did you find out
`
`the backup algorithm works on the DigiFIN?
`
`A.
`
`So the way —— in general if you —— the DigiFINs as
`
`it's performing the lateral control, it's turning the wing
`
`angle to generate a sideways force. And based on it will
`
`say you either need to move to the left, you need to move
`
`to the right.
`
`But if for some reason the DigiFIN rolls,
`
`then the force component that it's generating is not just
`
`going to be horizontal, but it's going to have some
`
`vertical aspects as well.
`
`So the basic sort of baseline back off
`
`algorithm will seek to bring the FIN back to a natural
`
`position, so that it doesn't interfere with the depth
`
`control.
`
`So that's the back off algorithm.
`
`But then on top of that there's something
`
`called the depth aware back off algorithm, where using the
`
`target depth that's transmitted to the DigiFIN, it has
`
`some sort of logic, it makes decisions.
`
`It says, well, if
`
`I'm —— if I'm.rolled and the forced component I'm
`
`generating has some vertical component to it, but that's
`
`actually helping me keep the right depth,
`
`then I'm not
`
`going to back off.
`
`I'm just going to —— I'm just going to
`
`stay with the current command.
`
`Q.
`
`And this code is being run in the little computer
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 14
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 14
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct ~Leonard/By Mr . Gilman
`
`1511
`
`¢>0)DJF4
`
`that's on each DigiFIN?
`
`A”
`
`Yes.
`
`Q.
`
`And so,
`
`throughout the entire array all these little
`
`computers are working at the same time, doing their own
`
`03:18:03
`
`5
`
`little thing that's coordinated?
`
`6 A.
`
`Yes,
`
`they're sent commands from the lateral
`
`7 controller. And we'll get to that a little bit later in
`
`8
`
`terms of the flow of information to the DigiFlNs.
`
`9 Q.
`
`So if we turn to your next slide and that was the
`
`03:18:15
`
`10
`
`just the DigiFIN code,
`
`the next part of the code that you
`
`11
`
`looked at was the ORCA code?
`
`12 A.
`
`Yes.
`
`So shown here in the yellow outline box is the
`
`13 ORCA system. Now, ORCA runs on a work station on the
`
`14
`
`ship.
`
`It runs in an operating system known as Lenox,
`
`03:18:34
`
`15 perhaps some may not have heard of Lenox, but it's just an
`
`16 alternative to Windows or the McIntosh operating system.
`
`17
`
`It's a free version of the Unix operating system.
`
`So
`
`18
`
`that's the operating system.for the ORCA computer, and
`
`19 next we'll talk a bit about its ORCA.
`
`03:18:49
`
`20 Q. What computer language was the ORCA's software
`
`21 written in?
`
`22
`
`THE COURT: Let me caution you. Try to slow
`
`23 down just a little bit.
`
`24
`
`THE WITNESS:
`
`ORCA is written in a C
`
`03:18:59
`
`25 programming language.
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 15
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 15
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct—LeonarCZ/By Mr . Gilman
`
`1 5 12
`
`03m9n2
`
`BY MR. GILMAN:
`
`OOQOWUW»-!>-(,«)[\)l—‘
`
`Q.
`
`If you turn to the next slide, one of the things
`
`we've heard about a few times so far is a Kalman filter.
`
`Before we get into the coded, specifically could you just
`
`say in general what a Kalman filter is?
`
`A”
`
`Sure. Let me backtrack a little bit in that sense.
`
`ORCA is a big complex program with many components, but as
`
`I mentioned I was asked to investigate the interaction
`
`9 with the lateral controller, so that -- the documentation
`
`03m929
`
`l0 indicated for us to focus on something called the NCN,
`
`the
`
`ll network control node. And the NCN implements the Kalman
`
`12
`
`filter.
`
`13
`
`So that's what I've chosen to go into some
`
`14 detail here about the Kalman filter because it's important
`
`033944
`
`15
`
`to its operation with respect to the lateral control.
`
`16 Q.
`
`What in general is a Kalman filter? How do they
`
`17 work?
`
`18 Au
`
`So a Kalman filter is an algorithm.that produces
`
`l9 estimates for a system that changes over time, a system
`
`o3n9w9
`
`20
`
`that moves, by combining measurements from.your sensors
`
`21 with predictions from a dynamic novel. And so, it has
`
`22
`23
`
`these two key aspects of prediction and then updating.
`V
`In the actual ORCA software they use the
`
`24 word adjustment, prediction and adjustment.
`
`It's the same
`
`039038
`
`25 prediction and updating. And these happen repeatedly over
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 16
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 16
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . Gi lman
`
`1513
`
`03:20:35
`
`CD~JCHCH¢>C0D0F4
`
`times. Each time new measurements, so there's a
`
`prediction cycle and an update prediction and update.
`
`Q.
`
`Are all Kalman filters the same?
`
`A.
`
`No,
`
`there's a basic Kalman filter algorithm that was
`
`published in 1960. And Kalman filters are used in a wide
`
`variety of systems. And for particular systems, one has
`
`to sort of choose the right way to implement it, which
`
`is -— varies greatly system by system.
`
`Q.
`
`So let's look at the specific Kalman filter that's
`
`03:20:51
`
`10
`
`used in ORCA and maybe we can move along and go to slide
`
`11
`
`number 9.
`
`03:21:10
`
`03:21:25
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`A.
`
`Yes.
`
`So what I'm.first going to do is focus on that
`
`prediction step in ORCA. Okay? And I've attempted to
`
`create a simple example to just try to explain the essence
`
`of what's going on here. But what we can do in a slide or
`
`two is then couple that simple example to exactly what's
`
`happening in the ORCA software.
`
`So here, we have —— so the —— as I
`
`mentioned we have this cyclic process that repeats,
`
`prediction and update, prediction and update. And so, at
`
`the beginning of each cycle we have a prior position. We
`
`have a previously estimated position for -— you'll hear
`
`the term node.
`
`So like the DigiFINs are one example of
`
`nodes, different elements along the array.
`
`So each almost
`
`03:21:43
`
`25
`
`is a node.
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 17
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 17
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —LeonarcZ/By Mr. Gilman
`
`1514
`
`And so, we have a prior position from our
`
`03:22:01
`
`03:22:20
`
`03:22:38
`
`03:22:52
`
`K)03~JChLNJ>L050F4
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`last cycle and the prediction step in ORCA takes that
`
`prior position and it adds on to it the elapsed time
`
`multiplied by the speed. And that gives you your
`
`predicted position.
`
`Q.
`
`And where specifically in the source code is this
`
`calculation done?
`
`A.
`
`If we go to the next slide.
`
`So here is an excerpt.
`
`So four lines out of that 3.8 million lines of code, and
`
`it has —— actually five lines we have a coment.
`
`So it's
`
`a state.
`
`So the word state just refers to the things
`
`you're estimating.
`
`So state in this case is the position
`
`and the velocity of the nodes. And we're concerned here
`
`with the horizontal plane.
`
`So we have —- we have position
`
`in the north, south direction, and position in the east,
`
`west direction, and then we have their velocity.
`
`So
`
`velocity in the north, south direction, velocity in the
`
`west, east direction.
`
`Q.
`
`And those north, south and east, west directions, how
`
`are they expressed in the source code?
`
`A.
`
`Sure. That's latitude and longitude.
`
`And so let me
`
`come back to that in a second.
`
`So I think because we have
`
`a demonstrative. But I'll just explain if we move one
`
`24
`
`forward now.
`
`03:23:07
`
`25
`
`So what I'm showing here is taking some
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 18
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 18
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct—Leonard/By Mr . Gilman
`
`1515
`
`¢>LUPOP4
`CO\JO\LN
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`variables in the code, which is a little hard to interpret
`
`I'm sure. But just to try to really connect it right back
`
`to the actual source code, here are some variables we have
`
`S dot lack, plus DT and star means times, multiply in a
`
`computer, S dot lat dot, L—ArT—D—O—T.
`
`And so there
`
`there's three variables. And the S dot lat dot is your
`
`prior position. Your —— S dot lat is your prior position,
`
`DT is your change in time, and lat —— S dot lat dot is
`
`your speed.
`
`And that's how —— the prior positions are
`profligate forward in time from the previous time step up
`
`to the current time step.
`
`And if we go to the next slide here I just
`
`a little reminder for those that might not have seen it,
`
`you know, so that the names you just saw LAT and LON, lat
`
`and LON, are -- come from latitude and longitude. And so,
`
`latitude is -— represents your north, south position on
`
`the globe and longitude -- lines of longitude, your east,
`
`19
`
`west.
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`So here's an example.
`
`I'm hoping to catch
`
`a plane tonight to Boston. And we're here in Houston and
`
`you can see the latitude and longitudes for Boston and
`
`Houston just as some examples.
`
`Q.
`
`So if we go back to the previous slide, this box with
`
`the top, this is from the actual source code that you got
`
`03:23:33
`
`03:23:56
`
`03:24:11
`
`03:24:27
`
`03:24:43
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO EXhibit2108, pg. 19
`PGSVWNESTERNGECO
`|PR2014~O0688
`
`WESTERNGECO Exhibit 2108, pg. 19
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Di'rect—LeonarcZ/By Mr . Gilman
`
`1516
`
`00~JONLNJ>L0B0F4
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`03:24:54
`
`03:25:07
`
`03:25:26
`
`03:25:40
`
`03:25:57
`
`from ION's computer?
`
`A.
`
`Yes.
`
`Q. Where was this source code running?
`
`A.
`
`This runs in ORCA.
`
`Q.
`
`And going forward past the latitude and longitude,
`
`how does the overall —— if you go to the next slide —— how
`
`does the overall Kalman filter then use these predicted
`
`positions?
`
`A.
`
`So what I attempted to do here was to just —— I have
`
`sort of an illustrative example.
`
`So a simple example of
`
`how the Kalman filter works.
`
`So we've color coded it so
`
`the yellow is the prediction we just talked about. And
`
`we're also going to get a measurement in blue, and then
`
`from that we're going to compute an update, which we're
`
`going to show in green.
`
`Now,
`
`I'm sure you're familiar if you're
`
`driving down the highway and you're at a certain position,
`
`say you're driving at 60 miles an hour, and let's say
`
`30 minutes later, you know, you might -— what would be
`
`your predicted position if you —— so if you just take --
`
`just take speed times direction and add that to your
`
`position, you get your new position.
`
`And so, here I just chose an example to
`
`where we let's say we're moving at 5 feet per second and
`
`you've heard about this 10 second cycle between the shots
`
`Johnny C. Sanchez, RMR, CRR ~ jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 20
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 20
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . Gi lman
`
`1517
`
`03:26:16
`
`03:26:31
`
`03:26:47
`
`03:27:00
`
`1
`
`and the streamer arrays.
`
`So if we had a previous position
`
`CO~JCHLN¢>L0B3
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`and then we were a previous velocity, and we take 5 feet
`
`per second,
`
`times lO seconds is 50 feet, that's our
`
`prediction for this little example. And that's the yellow
`
`arrow.
`
`Q.
`
`So here where you're showing the Kalman filter and
`
`ORCA, you're also showing a measured position?
`
`A.
`
`Yes.
`
`So the second half of the cycle,
`
`the updating
`
`step takes information from actual measurements.
`
`Q.
`
`Why can't you just rely on the measurements as to
`
`where things actually are in the system?
`
`A.
`
`Okay. Well, you might be able to produce a system
`
`that tried to only use the current measurements, but this
`
`Kalman filter based system that incorporates the
`
`predictions, is superior in a couple of ways, and greatly
`
`superior in my expert opinion.
`
`And I'll give some illustrations of how
`
`that might work.
`
`So first, let me just show that -- let's
`
`suppose we have a measurement.
`
`I think —- why don't we go
`
`to the next demonstrative and come back to this.
`
`Q. What type of measurements are going into the position
`
`determination in ORCA?
`
`A.
`
`Okay.
`
`So ORCA takes multiple types of measurements
`
`for example, compass data, acoustic ranging data,
`
`some GPS
`
`03:27:14
`
`25
`
`based measurements.
`
`Johnny C. Sanchez, RMR, CRR — jcscourtreporter@aol.com
`
`WESTERNGECO Exhibit 2108, pg. 21
`PGS V. WESTERNGECO
`IPRZO14-00688
`
`WESTERNGECO Exhibit 2108, pg. 21
`PGS v. WESTERNGECO
`IPR2014-00688
`
`

`
`Direct —Leonard/By Mr . Gilman
`
`1518
`
`03:27:30
`
`03:27:47
`
`03:28:06
`
`03:28:19
`
`I thought I would just review the basic
`
`principal of acoustic ranging because it's just so
`
`important for this type of system.
`
`So here's an example
`
`of a bat. And a bat uses sonar to navigate. That's
`
`acoustic ranging. And let's say that a bat sends out a
`
`sound pulse, and it bounces off say the wall and comes
`
`back to the back. And this is a little more than 5 feet,
`
`but let's say we're 5 feet away.
`
`So in air sound travels at about one foot,
`
`it goes one foot distance every one thousandth of a
`
`second.
`
`So one foot per millisecond. And if the bat
`
`knows the time that elapses between, it sends out a sound
`
`and when it receives the echo, say it's 10 milliseconds,
`
`the bat can say oh,
`
`the sound traveled 10 feet and it went
`
`both ways.
`
`I can divide that by two and get 5 feet away
`
`00~JOWLND0NOP4
`
`10
`
`ll
`
`12
`
`13
`
`14
`
`15
`
`16
`
`to the wall.
`
`17
`
`18
`
`19
`
`20
`
`21
`
`So that principle of acoustic ranging is
`
`happening with the streamer arrays with sound going
`
`between different devices along the —— in the system. And
`
`typically those are one way travel times.
`
`So just sound
`
`going from one node to another.
`
`22
`
`Q.
`
`How accurate are these acoustic ranges when used
`
`23
`
`under water?
`
`24
`
`25
`
`03:28:33
`
`A.
`
`Okay.
`
`So with any measurement there's some
`
`uncertainty no measurement is perfect. And the —— for
`
`Johnny C. Sanchez, RMR, CRR — jcs

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