`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 1 of 68
`
`EXHIBIT 4
`
`REDACTED VERSION OF
`
`DOCUMENT SOUGHT TO
`
`BE SEALED
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 2 of 68
`gafifli$§n'm9ri%2834'BLF D°C%§H&e%§r.1A
`tfilillfig/sofijés8g13y Page 2 Of 6%ecember 5, 2018
`
`
`
`UN TE) STATES DISTRICT COURT
`
`
`
`NORTHERN DISTRICT OF
`
`CALIFORNIA
`
`SAN JOSE DIVISION
`
`IN RE PERSONAL WEB TECHNOLOGIES
`
`LLC, ET AL., PATENT LITIGATION
`
`CASE NO.
`
`5:18-MD—O2834—BLF
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`CASE NO.
`
`5:18-CV-00767-BLF
`
`AMAZON.COM,
`
`INC., et al.,
`
`V.
`
`Plaintiffs,
`
`PERSONAL WEB TECHNOLOGIES, LLC,
`
`et al.,
`
`Defendants.
`
`PERSONAL WEB TECHNOLOGIES, LLC
`
`and LEVEL 3 COMMUNICATIONS,
`LLC,
`
`Counterclaimants,
`
`V.
`
`
`
`
`
`AMAZON.COM,
`INC. And AMAZON Wfifi
`SERVICES,
`INC.,
`
`Counterdefendants.
`
` VVVVVVVVVVVVVVVVVVVVVVVVVVVV
`
`CONFIDENTIAL - FOR ATTORNEYS' EYES ONLY
`
`VIDEOTAPED 30(B)(6) DEPOSITION UPON ORAL EXAMINATION
`
` OF SETH WILLIAM MARKLE
`
`
`9:23 A.M.
`
`DECEMBER 5, 2018
`FENWICK AND WEST LLP
` ENUE
`II9I SECOND AV:
`lOTH FLOOR
`
`SEATTLE, WASHINGTON
`
`
`
`REPORTED BY:
`
`
`JUDY BONICELLI, CCR 2322
`
`
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 3 of 68
`g9:fi%v%i$§n'mgi%2834'BLF D00”€P.§H&.%fi§u'.1AtfiiJ§9ys0llyjés84£i~iy Page 3 0f 5%ecembers, 2018
`
`A.
`
`C—o—t—t—o—n.
`
`Q.
`
`Okay. And to your knowledge,
`
`is there a
`
`head of product management at AWS for CloudFront?
`
`MR. HAACK:
`
`Same objection, sorry.
`
`Go ahead.
`
`THE WITNESS:
`
`I don't know.
`
`BY MR. SHERMAN:
`
`Q.
`
`Is Craig Cotton,
`
`to your knowledge, a
`
`director of product management?
`
`MR. HAACK: Objection.
`
`Scope.
`
`
`THE WITNESS:
`
`I believe so. He's a
`
`director of product management. Yeah.
`
`THE REPORTER:
`
`Product?
`
`
`THE WITNESS: Management.
`
`I don't know
`
`what his formal
`
`job title is.
`
`BY MR. SHERMAN:
`
`Q.
`
`So as far as CloudFront is concerned, a
`
`potential user of CloudFront could sign up with
`
`Amazon for CloudFront and not for S3;
`
`is that
`
`correct?
`
`MR. HAACK: Objection.
`
`Scope and ——
`
`Go ahead.
`
`THE WITNESS:
`
`Can you define "sign up"?
`
`BY MR. SHERMAN:
`
`Q.
`
`Become a customer.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`32
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 4 of 68
`§§fi%i%§n'mfiki%2834'BI-F DOCUE'JSHJélfiQ'JAtfiiJEgsOllyjés8éili~iy Page 4 0f 5%ecembers, 2018
`
`A.
`
`Yes,
`
`
`I believe so.
`
`Q.
`
`So members of the public are offered the
`
`opportunity to become customers of S3; fair?
`
`A.
`
`Yes.
`
`Q.
`
`Members of the public are offered the
`
`opportunity to become customers of CloudFront?
`
`A.
`
`Yes.
`
`Q.
`
`And the way that the S3 technology is
`
`presented and organized, you do not have to become a
`
`customer of S3 in order to become a customer and
`
`utilize CloudFront,
`
`true?
`
`MR. HAACK: Objection.
`
`Sorry. Objection.
`
`Scope and compound.
`
`
`THE WITNESS:
`
`I believe that is true, you
`
`do not have to be an S3 customer to be a CloudFront
`
`customer.
`
`BY MR. SHERMAN:
`
`Q.
`
`Now, multi—part upload, you're familiar
`
`with those?
`
`A.
`
`Yes.
`
`Q.
`
`A multi—part upload involves the uploading
`
`of data in S3, correct?
`
`A.
`
`Q.
`
`It involves the uploading of data to S3.
`
`To S3,
`
`thank you. And it's limited to
`
`uploading data to S3?
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`33
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 5 of 68
`g9:fi%v%i$§n'mgi%2834'BLF DOCUE'JSHJéfiQ'JAtfiiJEe‘ijOllyjés84£i~iy Page 5 0f 5%ecembers, 2018
`
`A.
`
`Q.
`
`What do you mean by "limited to"?
`
`No other features other than it's used to
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`upload data to S3?
`
`A.
`
`Yes.
`
`Q.
`
`It's not used for any other functionality
`
`or feature to your knowledge?
`
`A.
`
`The "it" here is the multi—load upload
`
`API?
`
`Q.
`
`Yes.
`
`A.
`
`Okay, yes.
`
`Q.
`
`And so let me see if I can get a cleaner Q
`
`and A on this. Multi—part upload functionality,
`
`multi—part upload features, are not used for any
`
`purpose other than the uploading of data to S3,
`
`correct?
`
`MR. HAACK: Objection.
`
`Compound. Vague.
`
`Go ahead.
`
`THE WITNESS:
`
`You can download the data
`
`you've uploaded Via multi—part.
`
`BY MR. SHERMAN:
`
`Q.
`
`And when you say "you," can download,
`
`the
`
`"you" would be the customer that is doing or has
`
`done the upload?
`
`A.
`
`Q.
`
`That's right.
`
`And those are the only persons or entities
`
`34
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 6 of 68
`§§fi%i%§n'flfiki%2834'BI-F DOCUE'JSfi‘JéfiQ'JAtE'JEe‘ijOllyjés8éili~iy Page 6 0' 5%ecembers, 2018
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`authorized to download the data on the multi—part
`
`upload?
`
`A.
`
`Customers can allow other customers to
`
`download data.
`
`You don't have to be the uploader to
`
`
`
`download data necessarily.
`
`Q.
`
`Now when you say "necessarily," why do you
`
`choose that qualifier?
`
`A.
`
`S3 has a permissions model, and I can
`
`designate my objects as publicly readable,
`
`for
`
`example, which would give the opportunity for
`
`anybody to download my data if I want it as a
`
`customer.
`
`I have that choice as a customer.
`
`Q.
`
`And to your knowledge,
`
`in what
`
`circumstances is that feature utilized?
`
`In what
`
`circumstances do customers make that choice?
`
`MR. HAACK: Objection. Vague.
`
`Compound.
`
`Go ahead.
`
`THE WITNESS:
`
`The choice specifically for
`
`public? That was a for instance.
`
`THE REPORTER:
`
`I'm sorry,
`
`I didn't get
`
`your answer.
`
`BY MR. SHERMAN:
`
`Q.
`
`Public readability.
`
`I'm sorry. Let's
`
`back up. Clarify Judy's question.
`
`A.
`
`
`So I was asking a clarifying question
`
`35
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 7 of 68
`g9:fi%v%i$§n'mgi%2834'BLF DOCUE'JSHJéfiQ'JAtfiiJEe‘ijOllyjés8éifiy Page 7 0f 5%ecembers, 2018
`
`
`about whether he was asking specifically about
`
`customer use cases for publicly readable data.
`
`If
`
`customers,
`
`for instance, want to broadly share the
`
`data that they have.
`
`Q.
`
`In circumstances where customers want to
`
`broadly share the data —— strike that.
`
`When you say "to broadly share the data
`
`they have," you mean the data they uploaded using
`
`the multi-part upload process?
`
`A.
`
`Yes.
`
`Q.
`
`
`Do Amazon customers use 83 interfaces to
`
`upload data?
`
`MR. HAACK: Objection. Vague.
`
`
`THE WITNESS: What do you mean by
`
`"interface"?
`
`BY MR. SHERMAN:
`
`Q.
`
`Customized applications that Amazon has
`
`created.
`
`A.
`
`Q.
`
`Yeah, yes.
`
`And these interfaces,
`
`these customized
`
`interfaces,
`
`those use command messages that are
`
`customized to SB, correct?
`
`MR. HAACK: Objection. Vague.
`
`
`THE WITNESS: What is a "command message"?
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`36
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 8 of 68
`g9:fi%v%i%%mgi%2834'BLF D00”&.§H&e%fi§u'.1AtfiiJ§9ys0llyjés8éili~iy Page 8 0f 5%ecembers, 2018
`
`BY MR . SHERMAN:
`
`Q.
`
`A.
`
`Okay.
`
`I think I would have to speculate how
`
`successful Amazon would be without the existence
`
`every web browsers.
`
`Q.
`
`Okay, fair enough.
`
`So when you indicated
`
`there are customers of S3 and there are web
`
`browsers, Amazon —— in order to become a customer of
`
`S3, a person or a business entity would need to get
`
`onboarded in some fashion, sign a contract and terms
`
`of use and things of that nature, right?
`
`MR. HAACK: Objection.
`
`Scope.
`
`THE WITNESS:
`
`I believe there is a terms
`
`of service that you agree to ——
`
`BY MR. SHERMAN:
`
`Okay.
`
`—— when you decide to use Amazon as a
`
`Q.
`
`A.
`
`product.
`
`Q.
`
`Okay. That is one thing that a customer
`
`would need to get onboarded on, correct?
`
`A.
`
`Yes.
`
`Q.
`
`Now,
`
`to go back to that big picture
`
`
`division I was talking about earlier, when you said,
`
`sure,
`
`there are customers of S3 and there are web
`
`browsers,
`
`to your knowledge,
`
`there is no
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`44
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 9 of 68
`gafiflil§nfl£ii£2834BLF DOCUE'JSHJefifiQ'JAtE'JEe‘ijOllyjés8flli~iy Page 9 0' 5%ecember5, 2018
`
`precondition that in order to operate as a web
`
`browser one has to be an S3 customer, correct?
`
`A.
`
`Q.
`
`A.
`
`Q.
`
`Correct. There is no precondition.
`
`There is no precondition?
`
`That's right.
`
`Okay. Web browsers —— Amazon
`
`presumptively knows or has the ability to know each
`
`of its customers as part of the on boarding process,
`
`terms of service, and the like, correct?
`
`MR. HAACK: Objection.
`
`Scope.
`
`
`THE WITNESS: What do you mean by "know"?
`
`BY MR. SHERMAN:
`
`Q.
`
`Has a terms of service executed, have a
`
`credit card on file, have a payment history, have
`
`software developers work with REST interfaces and
`
`API applications,
`
`things of that nature.
`
`A.
`
`I don't know if every customer has a
`
`credit card on file.
`
`Q.
`
`Okay. But
`
`in order to be a web browser
`
`that is receiving the service of downloads from 83,
`
`one does not need to have a terms of use with
`
`Amazon, correct?
`
`A.
`
`Q.
`
`That's right, you don't need to.
`
`Okay.
`
`
`Can I refer to those -- will you
`
`understand if from time to time today I refer to
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`45
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 10 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuwfifldéfifiih ti'agy93é%é/6%iy Page 10 0f 5§ecembers, 2018
`
`those web browsers as anonymous browsers?
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`A.
`
`Q.
`
`A.
`
`Okay.
`
`Okay?
`
`Uh—huh.
`
`Q.
`
`I realize there's probably a bunch of
`
`different ways of doing it, but that's one fair way.
`
`A.
`
`Q.
`
`Okay.
`
`So going back to the REST API, do
`
`anonymous browsers accessing S3 objects use the REST
`
`API?
`
`A.
`
`Q.
`
`A.
`
`Q.
`
`A.
`
`Use S3 as REST API,
`
`is that the question?
`
`Yes.
`
`Sometimes.
`
`Okay.
`
`
`In what circumstances?
`
`
`If there is an object that is publicly
`
`available and then it can be presented as a URL that
`
`can be accessed by a web browser, by an anonymous
`
`web browser.
`
`Q.
`
`Are anonymous web browsers capable of
`
`accessing S3 parts using the REST API?
`
`MR. HAACK: Objection. Vague.
`
`THE WITNESS: What do you mean by "apart,"
`
`in this case?
`
`BY MR. SHERMAN:
`
`Q.
`
`As its defined in the multi—part upload
`
`46
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 11 of 68
`C§efilev§iii§rfimif<i§834'BLF Docut‘fifldéfigil. Afii'ggy93é%é/6%1y Page 11 0' 5§ecember 5, 2018
`
`API.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`A.
`
`Anonymous browsers can access the bytes
`
`contained in a multi—part part, yes.
`
`Q.
`
`How?
`
`A.
`
`Via a range request on the object that the
`
`part belongs to. Actually,
`
`let me ask a clarifying
`
`question. You're talking about after the upload has
`
`completed in the ——
`
`Q.
`
`No, no.
`
`A.
`
`Q.
`
`During the upload?
`
`Yes.
`
`A.
`
`So the question is,
`
`for an in—flight
`
`upload can an anonymous browser access the contents
`
`of a part that has previously been uploaded?
`
`Q.
`
`A.
`
`
`Yes. May I consult the API here?
`
`Sure.
`
`
`I don't think there is a way to
`
`download a part in full while the multi—part upload
`
`is in progress.
`
`Can I dog—ear this?
`
`MR. HAACK: Yes, that's fine.
`
`THE WITNESS: Okay.
`
`BY MR. SHERMAN:
`
`Q.
`
`So you used the phrase "in—flight upload"
`
`a few moments --
`
`A.
`
`
`In flight multi—part upload.
`
`47
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 12 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuwfifldéfifiih ti'agy93é%é/6%iy Page 12 0' 5§ecembers, 2018
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Q.
`
`A.
`
`Yeah.
`
`Yeah.
`
`Q.
`
`Okay.
`
`So for an in—flight multi—part
`
`upload, can Amazon's customer access the contents of
`
`a part that has previously been uploaded?
`
`A.
`
`No,
`
`I don't think so.
`
`Q.
`
`Does a part have a URL associated with it?
`
`MR. HAACK: Objection. Vague.
`
`
`THE WITNESS:
`
`A URL like in terms Of a
`
`standard of URL?
`
`BY MR. SHERMAN:
`
`Q.
`
`A.
`
`Yes.
`
`I don't think so. Let me check.
`
`I don't
`
`think there is any URL associated with a part after
`
`it's been uploaded.
`
`Q.
`
`Now, are you familiar with the term
`
`"namespace"?
`
`A.
`
`Yeah.
`
`Q.
`
`A.
`
`What is namespace?
`
`Namespace is typically a label assigned to
`
`a collection of entities,
`
`resources, et cetera,
`
`often to disambiguate other resources with the same
`
`name but that are unrelated.
`
`Q.
`
`And this collection of entities and
`
`resources would be kept
`
`in what Amazon refers to as
`
`48
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 13 of 68
`C§efilev§iiii§rfimflifiié834'BLF Docuwfiiiidé’ififiil. Afii'fil%y9¥%§g/6%iy Page 13 0f 61§ecember 5,2018
`
`between objects and parts?
`
`I—
`
`—— — Q
`
`And so is it fair to say that as far as S3
`
`.
`
`is concerned,
`
`the significance of parts is their
`
`usefulness in multi—part upload?
`
`MR. HAACK: Objection. Vague.
`
`MR. SHERMAN:
`
`I'll rephrase.
`
`BY MR. SHERMAN:
`
`Q.
`
`What else, if anything, within 83 are
`
`parts used for?
`
`A.
`
`Q.
`
`A.
`
`Parts are used for multi—part uploads.
`
`Right. Anything else?
`
`No.
`
`Q.
`
`So in terms of —— excuse me.
`
`A.
`
`Sorry,
`
`
`I'm getting some glare off the
`
`table.
`
`
`Can I put a piece of blank paper right
`
`there.
`
`Q.
`
`A.
`
`Sure. Are you talking about right there?
`
`Right by your laptop is that right
`
`triangle. That would be great.
`
`Q.
`
`A.
`
`
`Is that good?
`
`Yes,
`
`that might have to move as the sun
`
`
`
`OW
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`51
`
`Network Deposition Services, Inc. 0 networkdepo.com 0 866—NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 14 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuafifldéfifiih ti'agy93é%é/6%iy Page 14 0f 5§ecembers, 2018
`
`moves.
`
`Q.
`
`Sure.
`
`So what needs to happen to
`
`configure a bucket
`
`to serve files as portions of web
`
`pages?
`
`MR. HAACK: Objection. Vague.
`
`THE WITNESS:
`
`Sorry, directly?
`
`So the
`
`anonymous browser talks to SB directly?
`
`BY MR. SHERMAN:
`
`Q.
`
`Yes.
`
`A.
`
`When you say "serve files as portions of
`
`web pages"
`
`Q.
`
`Let me back up. What needs to happen from
`
`the standpoint of the customer to configure a bucket
`
`to serve files as portions of web pages?
`
`MR. HAACK:
`
`Same objection. Vague.
`
`THE WITNESS:
`
`So just to be clear what you
`
`mean by a file as a portion of a web page, you're
`
`referring to things like images that might be
`
`embedded in the web page?
`
`BY MR. SHERMAN:
`
`Q.
`
`Yeah,
`
`I'm talking about any type of data,
`
`video, audio,
`
`text, databases.
`
`A.
`
`Okay.
`
`The data would need to —— these are
`
`anonymous browsers that you're referring to?
`
`Q.
`
`No,
`
`
`I'm talking about from the standpoint
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`52
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 15 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docut‘tfifldéfifiih ti'agy93é%é/6%iy Page 15 0f 5§ecembers, 2018
`
`of the customer.
`
`A.
`
`To be served as web pages to anonymous
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`browsers?
`
`Q.
`
`Correct.
`
`A.
`
`The —— if we're talking about embedded
`
`content like you described,
`
`then the object would
`
`have to be readable by anonymous browsers, which
`
`would involve setting up permissions on the object
`
`that permitted access without authentication and
`
`authorization.
`
`Q.
`
`S3 customers don't have to use S3 to serve
`
`their web page assets, correct?
`
`MR. HAACK: Objection. Vague.
`
`
`THE WITNESS:
`
`Is there an assumption there
`
`that S3 customers have web pages?
`
`BY MR. SHERMAN:
`
`Q.
`
`Yes.
`
`A.
`
`So you're saying if someone is an S3
`
`customer and they have a web page, must they use S3
`
`for that?
`
`Q.
`
`A.
`
`Yes. Correct.
`
`No.
`
`Q.
`
`They can use Cloudflare,
`
`they could use
`
`Akamai,
`
`they could use the customer's own server?
`
`A.
`
`They ——
`
`53
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 16 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuwfifldéfifiih ti'agy93é%é/6%iy Page 15 0f 5§ecembers, 2018
`
`THE REPORTER:
`
`I'm sorry.
`
`"They can use
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Cloudflare,
`
`they can use"
`
`BY MR. SHERMAN:
`
`Q.
`
`Akamai,
`
`they could use the customer's own
`
`server, correct?
`
`A.
`
`Yes.
`
`And what was Raspberry Pi?
`
`A computer in their house.
`
`It's a type of
`
`Q.
`
`A.
`
`computer.
`
`Q.
`
`Oh, okay.
`
`In order for an 83 customer
`
`with a web page that wishes to serve —— to use 83 to
`
`serve its web page assets,
`
`that customer would need
`
`to take certain affirmative steps, correct?
`
`A.
`
`Yes.
`
`Q.
`
`They'd need to configure their buckets in
`
`a particular way, right?
`
`A.
`
`Yes.
`
`Q.
`
`How?
`
`A.
`
`There is,
`
`
`I think,
`
`two types of
`
`configurations that customers would want to hear.
`
`If we're talking about these sorts of embedded
`
`assets,
`
`images, videos, et cetera,
`
`then those
`
`objects need to be accessible publicly.
`
`S3 also
`
`offers a feature that they call Websites which
`
`allows you to run your website off of S3. There is
`
`54
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 17 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF DOCUHH'PEdéfifiilA ti'agy93é%é/6%ly Page 17 0f 5§ecembers, 2018
`
`Q.
`
`A.
`
`
`
`In what instances,
`
`to your knowledge?
`
`I'm one.
`
`I'm one.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Q.
`
`Oh, okay. And those customers that are S3
`
`customers that do not have Websites, what is your
`
`understanding of those customers' business purposes,
`
`generally,
`
`in being an S3 customer but yet not
`
`possessing, utilizing, serving a website?
`
`MR. HAACK: Objection.
`
`Scope. Compound.
`
`Vague.
`
`THE WITNESS:
`
`I do not know of customers
`
`other than myself.
`
`
`I use it for backups.
`
`BY MR. SHERMAN:
`
`Q.
`
`Is it your understanding that using S3 for
`
`backups is a prominent feature of S3?
`
`MR. HAACK: Objection.
`
`Scope and vague.
`
`THE WITNESS:
`
`I wouldn't call it a feature
`
`as much as a use case.
`
`BY MR. SHERMAN:
`
`Q.
`
`As much as —— what do you mean when you
`
`say, "as a use case"?
`
`A.
`
`It's like saying is going to Starbucks a
`
`feature of your car.
`
`THE REPORTER:
`
`I'm sorry. You'll have to
`
`go back.
`
`
`"It's like saying going to Starbucks is a
`
`feature of your car."
`
`58
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 18 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docut‘tfifldéfifiih ti'agy93é%é/6%iy Page 18 0f 5§ecembers, 2018
`
`
`THE WITNESS: Right.
`
`It's something you
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`use your car for, and your car is probably really
`
`well—suited to that, but it's not a feature of the
`
`car.
`
`BY MR. SHERMAN:
`
`Q.
`
`Okay, well ——
`
`A.
`
`So it's something that a lot of customers
`
`use S3 for. And S3 is well—suited for that case.
`
`
`
`Q.
`
`A.
`
`Q.
`
`ahead.
`
`For backup?
`
`For backup.
`
`What other use cases is S3 suited for?
`
`MR. HAACK: Objection.
`
`Scope, but go
`
`THE WITNESS:
`
`S3 is well—suited for
`
`backup, archival, big data use cases,
`
`so
`
`something —— this is another buzzword —— data lake
`
`
`
`we call it internally.
`
`THE REPORTER:
`
`Lake?
`
`
`
`BY MR. SHERMAN:
`
`Q.
`
`Data lake?
`
`L—a—k—e?
`
`A.
`
`L—a—k—e.
`
`To allow customers to analyze
`
`their datasets.
`
`Some customers use it for media
`
`distribution.
`
`Some customers use S3 as a queue.
`
`Some customers use S3 as a file system,
`
`some -- with
`
`varying success.
`
`59
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 19 of 68
`
`Cé‘efileéfiiiéa aifié834'BLF DOCUWS'PEdéfifiilA ti'agy93é%é/6%1y Page 19 0f 5§ecembers, 2018
`
`Q.
`
`And serving assets that are part of a web
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`page is also a use case?
`
`A.
`
`Yes. Yes.
`
`Q.
`
`What are the steps in configuring a bucket
`
`to serve a web page file on SB?
`
`MR. HAACK: Objection. Vague.
`
`THE WITNESS: Are you asking about our
`
`Website feature that we discussed or an embedded
`
`piece of content like a JPEG that can appear in a
`
`web page?
`
`BY MR. SHERMAN:
`
`Q.
`
`A.
`
`The former.
`
`
`
`I'm going to consult the developer guide.
`
`So there are a couple ways to do it.
`
`You can do it
`
`
`via the SDK or you can do it via the console. Would
`
`you like me to describe the steps through the
`
`console?
`
`Q.
`
`Yes. Yes.
`
`A.
`
`Okay,
`
`so through the console —— so,
`
`I
`
`mean,
`
`the first thing you would do is create a
`
`website configuration for your bucket which
`
`specifies a number of resources that are useful when
`
`serving websites.
`
`So oftentimes when you visit a
`
`website, www.example.com, what you're actually
`
`viewing is the contents of a file called index.html.
`
`6O
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 20 of 68
`
`Cé‘efileéfiiiéa aifié834'BLF Docut‘fifldéfigil. A ti'agy93é%é/6%iy Page 20 0' 5§ecember 5, 2018
`
`THE REPORTER: Called?
`
`THE WITNESS:
`
`Index.html, but that
`
`wouldn't appear in your URL, right?
`
`The web server
`
`knows what the index page is. And so you would
`
`specify the name of your object that represents the
`
`index page. When you try to access a page that
`
`doesn't exist, you would have a page that shows up
`
`that indicates that the page you tried to access
`
`isn't present.
`
`So that could be called like an
`
`error page or it's sometimes called the 404 page,
`
`which is an issue 3 response code.
`
`It looks like
`
`you can specify subdomains that you want to allow to
`
`route to your web page.
`
`So www.example.com and
`
`example.com can both be treated similarly.
`
`And it looks like there is a configuration
`
`for some redirects.
`
`So if one file is accessed,
`
`they can serve another one in its place. And so
`
`it's that sort of configuration to configure like
`
`how you want 83 to behave as a kind of web server in
`
`that case for a browser.
`
`BY MR. SHERMAN:
`
`Q.
`
`Are you familiar with the phrase "web page
`
`base file"?
`
`A.
`
`Q.
`
`No, no.
`
`"Base file"?
`
`Yes.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`61
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 21 of 68
`
`C§efilex§iiii§rfi a;8%834'BLF DOCUHH'Hdéfiéal. A ti'3.%y93é%§g/6%iy Page 21 0' 61§ecember 5,2018
`
`
`
`OW
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`Q.
`
`
`
`Does this API have any material that is
`
`not expressly contained in the HTTP spec?
`
`A.
`
`What do you mean by "material"?
`
`Q.
`
`Any functionality, any performance.
`
`MR. HAACK: Objection.
`
`Compound.
`
`
`THE WITNESS:
`
`I think you're asking if
`
`someone read the HTTP spec if they would be
`
`surprised with some of the behavior with S3.
`
`The
`
`
`answer is I don't know.
`
`BY MR. SHERMAN:
`
`Q.
`
`
`I'm not talking about surprise.
`
`I'm
`
`talking about whether the HTTP spec contains all the
`
`information that's resident in this API.
`
`MR. HAACK: Objection. Vague.
`
`Go ahead.
`
`THE WITNESS:
`
`NO.
`
`BY MR. SHERMAN:
`
`Q.
`
`A.
`
`Okay. What's not? What's not
`
`in it?
`
`There is a lot of things that aren't
`
`necessarily specified in the HTTP spec that S3 has
`
`65
`
`Network Deposition Services, Inc. 0 networkdepo.com 0 866—NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 22 of 68
`
`Cé‘efileéfiiiéa aifié834'BLF Docut‘tfifldéfifiih ti'agy93é%é/6%1y Page 22 0f 5§ecembers, 2018
`
`added when communicating with S3.
`
`Do you want me to
`
`give a concrete example?
`
`Q.
`
`Yes.
`
`A.
`
`I'm going to go pull up the documentation
`
`for PUT.
`
`So,
`
`for example,
`
`there is headers that you
`
`can put on certain requests to elicit certain
`
`behavior with your storage.
`
`The example I've turned
`
`to here is on an object upload.
`
`You can specify via
`
`a header which storage class you wish that object to
`
`reside in.
`
`That storage class indicates certain
`
`properties of the storage that are beneficial for
`
`various use cases, might have different price
`
`points, and so that particular upload will be
`
`resident in that particular storage class.
`
`So the
`
`fact that there is a header is within the HTTP spec
`
`
`but the particulars of the header are an extension.
`
`Q. Well,
`
`is this a customization of the HTTP
`
`protocol?
`
`MR. HAACK: Objection. Vague.
`
`THE WITNESS: What do you mean by
`
`"customization"?
`
`BY MR. SHERMAN:
`
`Q.
`
`A.
`
`In addition to, more than.
`
`
`
`It's an extension.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`66
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 23 of 68
`
`Cé‘efileéfiiiéa aifié834'BLF Docuwfifldfigfl A ti'agy93é%é/6%1y Page 23 0' 5§ecember 5, 2018
`
`
`
`
`”erence between an
`
`Amazon's position on the di
`
`extension versus custom protocol that I've been
`
`asking you about, where Amazon's representative said
`
`
`
`"like a mega hcadcr whore know web browser would
`
`know even how to parse what is coming across the
`
`wire.‘ Amazon's representative's words, right?
`
`A.
`
`Yes.
`
`Q.
`
`So then would an anonymous browser know
`
`how to parse what is coming across the wire on these
`
`multi—part response elements?
`
`Same way Amazon's
`
`representatives used that phrase.
`
`A.
`
`So first,
`
`this is a mutation operation
`
`that we're talking about,
`
`initiating a multi—part
`
`upload versus a read—only operation, right? That is
`
`not a common operation to have an anonymous actor
`
`doing. And it is not a common operation to be doing
`
`anonymously from a web browser.
`
`The web browser,
`
`in
`
`this particular case,
`
`I believe, would parse the
`
`response and render the XML that you see in the
`
`response.
`
`It might not be the intended behavior
`
`that is expected but the browser would parse this
`
`response and show this XML to the user, most
`
`browsers.
`
`Q. What's the very next topic in the manual
`
`you have in front of you?
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`75
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 24 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuwfiifidfigfl A ti'agy93é%é/6%iy Page 24 0' 5§ecember 5, 2018
`
`A.
`
`
`After the "Initiate"?
`
`Q.
`
`Yes.
`
`A.
`
`Says upload part is the header.
`
`Q.
`
`And we're still in the multi—part upload,
`
`correct?
`
`A.
`
`Yeah.
`
`Q.
`
`Okay. And then the section after that,
`
`upload part—copy, correct?
`
`A.
`
`Yes.
`
`Q.
`
`Now there are requests, syntax. Yeah,
`
`there are a number of headers.
`
`If I could just sort
`
`of point to where I'm going with this,
`
`I suspect
`
`it's the same.
`
`A.
`
`Q.
`
`Okay.
`
`Yeah.
`
`So request, syntax, we're on
`
`page —— of this document, page 310, page 1540 of the
`
`Bates page,
`
`so it requests syntax PUT/object name,
`
`and it goes down with X—AMZ—copy, et cetera.
`
`You
`
`see that box there, correct?
`
`A.
`
`I do.
`
`Q.
`
`So as to the commands in this box —— as to
`
`the headers in this box, are any of these headers
`
`defined in HTTP?
`
`A.
`
`No -- well, sorry. Host, date,
`
`I think
`
`authorization.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`76
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 25 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docut‘fifldéfigil. A ti'agy93é%é/6%iy Page 25 0f 5§ecember 5, 2018
`
`Q.
`
`A.
`
`Q.
`
`A.
`
`Q.
`
`Okay.
`
`Right.
`
`I actually figured that one out too.
`
`Okay.
`
`Okay.
`
`So other than host, date, and
`
`authorization?
`
`A.
`
`The ones prefixed with X—AMZ— are not
`
`in
`
`the HTTP specification.
`
`Q.
`
`Okay. And on the next page,
`
`there is a
`
`chart showing conditional headers with a header
`
`beginning with X—AMZ—copy—source—it—match.
`
`Do you
`
`see that?
`
`A.
`
`Yes.
`
`Q.
`
`Okay. And that box begins with, "the
`
`following conditional headers are based on the
`
`
`object that the X—AMZ—copy—sourco header specifics";
`
`correct?
`
`A.
`
`Q.
`
`That precedes the box, yes.
`
`Okay.
`
`Now,
`
`there is a column captioned
`
`"Description."
`
`Do you see that?
`
`A.
`
`Yes.
`
`Q.
`
`And that column captioned Description
`
`describes what,
`
`the functionality of these commands?
`
`A.
`
`Q.
`
`Yes. Yes.
`
`Sorry, of these headers.
`
`
`Of those headers, excuse me.
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`77
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 26 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docut‘fifldéfigil. A ti'agy93é%é/6%iy Page 25 0f 5§ecember 5, 2018
`
`This functionality has nothing to do with
`
`HTTP, correct?
`
`MR. HAACK: Objection. Vague.
`
`BY MR. SHERMAN:
`
`Q.
`
`I'll rephrase. This functionality is not
`
`found in or defined in HTTP, correct?
`
`MR. HAACK: Objection, vague.
`
`THE WITNESS:
`
`The reason I'm hesitating
`
`here,
`
`so HTTP does define if match/if none match,
`
`but in the context of copy source,
`
`I believe the
`
`answer would be yeah, it's not
`
`in the HTTP.
`
`BY MR. SHERMAN:
`
`Q.
`
`And the headers that we were just talking
`
`about,
`
`the X—AMZ—copy—source—it—match and the ones
`
`that follow ——
`
`A.
`
`Uh—huh.
`
`Q.
`
`—— those commands,
`
`those headers, excuse
`
`me, are not used in downloading, correct?
`
`A.
`
`I
`
`think so.
`
`
`I mean.
`
`Q.
`
`A.
`
`You agree with me?
`
`Yeah,
`
`I would —— well, do you want me to
`
`go through and look at every GET command in here to
`
`see if ——
`
`Q.
`
`
`Let me make it easier.
`
`These commands are
`
`used in uploading not
`
`in downloading, right?
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`78
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 27 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docuwfifldéfifiih ti'agy93é%é/6%iy Page 27 0' 5§ecembers, 2018
`
`A.
`
`Yes.
`
`Sorry, let me caveat that.
`
`They are
`
`
`
`used when creating a multi—part object,
`
`in these
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`cases, copy source,
`
`the object is already uploaded
`
`so the user is not —— depending on your definition
`
`of upload —— is not actively transferring bytes to
`
`S3 but rather copying data that is already present.
`
`Q.
`
`A.
`
`As part of the uploading process?
`
`As part of the uploading process, but I'm
`
`not transferring those bytes again because they're
`
`already in S3.
`
`Q.
`
`
`It has nothing to do with the downloading
`
`process, correct?
`
`A.
`
`Correct.
`
`Q.
`
`The multi—part upload process is not
`
`defined in HTTP,
`
`is it?
`
`A.
`
`I don't believe so.
`
`Q.
`
`A.
`
`
`Do you agree?
`
`Yes.
`
`Q.
`
`Now, what are the ways in which a customer
`
`communicates with S3 to do a multi—part upload,
`
`other than potentially using the multi—part upload
`
`API?
`
`A.
`
`So the question is whether you can
`
`interact with a multi-part upload in some fashion
`
`other than what is documented in these set of
`
`79
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 28 of 68
`
`Cé‘efileéfiiiéa aifié834'BLF Docut‘fifldfigfl A ti'agy93é%é/6%1y Page 28 0' 5§ecember 5, 2018
`
`sections that we're looking at?
`
`Q.
`
`Let me try it differently. Multi—part
`
`upload,
`
`the use of a multi—part upload API is one
`
`method for an Amazon customer to perform a
`
`multi—part upload, correct?
`
`A.
`
`Yes.
`
`Q.
`
`Use of the SB console is one way for an
`
`Amazon customer to perform a multi—part upload,
`
`correct?
`
`A.
`
`So the first thing you said was the API,
`
`the second thing you said was the console, right?
`
`Q.
`
`Yes.
`
`A.
`
`So the console uses the API so it's just
`
`layers on top of the same thing.
`
`The SDK uses the
`
`
`
`
`
`2O
`
`21
`
`22
`
`23
`
`24
`
`25
`
`API,
`
`
`
`the CL: uses the API.
`
`So these are all
`
`
`
`
`things —— like the AP: is the entry point for S3.
`
`These other access mechanisms are layers on top of
`
`that that customers use to simplify their lives.
`
`Q.
`
`I
`
`think you've saved us both a few more
`
`questions on it when you say that these other access
`
`mechanisms are layers on top of that that customers
`
`use to simplify their lives.
`
`A.
`
`Most customers,
`
`some customers.
`
`Q.
`
`Sure, but this has nothing to do with
`
`anonymous browser usage, correct?
`
`80
`
`Network Deposition Services, Inc. 0 networkdepo.com o 866-NET—DEPO
`
`
`
`Case 5:18-md-02834-BLF Document 348-1 Filed 01/18/19 Page 29 of 68
`
`Cé‘efileéfiiiéfi aifié834'BLF Docut‘fifldéfigil. A ti'agy93é%é/6%ly Page 29 0f 5§ecember 5, 2018
`
`MR. HAACK: Objection, vague.
`
`THE WITNESS: Correct.
`
`BY MR. SHERMAN:
`
`Q.
`
`I want to ask you some questions as part
`
`of the multi—part upload process on assembling
`
`parts.
`
`A.
`
`Q.
`
`Okay.
`
`Okay?
`
`The effect of the assembly of parts
`
`as part of the multi—part upload is to —— results in
`
`an uploaded object, correct?
`
`MR. HAACK: Objection, vague.
`
`THE WITNESS:
`
`Should we talk about the
`
`definition of an unloaded object?
`
`BY MR. SHERMAN:
`
`Q.
`
`A.
`
`Go ahead, please.
`
`I would call an uploaded object an object
`
`that a customer can later perform a GET on and see
`
`as in a list result.
`
`Q.
`
`And see ——
`
`A.
`
`In a list result,
`
`the list —— I think in
`
`the API it would be called GET bucket but it's