`Case 5:18—md-02834-BLF Document 348-6 Filed 01/18/19 Page 1 of 113
`
`REDACTED VERSION OF
`
`EXHIBIT 13D
`EXHIBIT 13D
`REDACTED VERSION OF
`DOCUMENT SOUGHT TO
`BE SEALED
`
`DOCUMENT SOUGHT TO
`
`BE SEALED
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 2 of 113
`
`Supplemental Infringement Contentions
`RESTRICTED CONFIDENTIAL - CONTAINS SOURCE CODE MATERIAL
`
`Claim Chart for Amazon S3 for U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`1. A computer-implemented
`the method
`method,
`comprising:
`(A) for a first data item comprising
`a first plurality of parts,
`
`Plaintiff believes that Amazon S3, in combination with replication and multi-part uploads,
`operates on first data item comprising a plurality of parts.
`
`When performing a multipart upload, Amazon S3 automatically generates a hash to identify and
`retrieve the data being uploaded.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`Objects greater than 5GB in size require the use of the multipart upload API.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`The source-code references are exemplary in nature. The evidence includes butis not limited to the classes, methods and structures
`referenced herein. PersonalWeb reserves the right to supplement
`these contentions with further discovery.
`
`iManage\1881010.1
`
`1
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000989
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 3 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`Common Response Headers
`
`The following table describes response headers that are common to most AWS S3 responses.
`
`Description
`
`|
`
`Content-Length
`
`The length in bytes of the body in the response.
`Type:
`String
`Default: None
`
`Connection
`
`specifies whether the connection to the server is open or closed.
`Type: Enum
`Valid Values: open | close
`Default: None
`
`Date
`
`ETag
`
`The date and time Amazon S3 responded, for example, Wed, 01 Mar 2009
`12:00:00 GMT.
`Type: String
`Default: None
`
`The entity tag is a hash of the object. The ETag only reflects changes to the
`contents of an object, not its metadata. The ETag is determined when an object
`is created. For objects created by the PUT Object operation and the POST Object
`the ETag is a quoted, 32-digit hexadecimal string representing the
`operation,
`digest of the object data. For other objects, the ETag may or may not be an
`MDS digest of the object data.If the ETag is not an MD5 digest of the object data,
`it will contain one or more non-hexadecimal characters and/or will consist of less
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAvernAe
`
`Tha nama of tha carver that crastad tha racnanca
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\181010.1
`
`2
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000990
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 4 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`S3 performs multipart uploads through the generation and use of a an “ETag”, which is a MD5
`it is a MD5 hash, see “common response headers” graphic
`hash (because it is a PUT operation,
`above,) of the data-part, which is required for a later request to complete the multipart upload
`and for Amazon S3 to concatenate the parts together to form a single object.
`And once combined, Amazon S3
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`responds with an ETag that uniquely identifies the combined data.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`Multipart uploading is a three-step process: You initiate the upload, you upload the object parts, and after
`you have uploaded all the parts, you complete the multipart upload. Upon receiving the complete multipart
`from the uploaded parts, and you can then access the
`request, Amazon S3 constructs the object
`just as you would any other object in your bucket.
`
`upload
`
`object
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`Parts Upload Step
`
`Parts Upload
`
`When uploadinga part,
`
`in addition to the upload ID, you must specify a part number. You can choose
`any part number between 1 and 10,000. A part number uniquely identifies a part and its position in the
`If you upload a new part using the samepart number as a previously uploaded
`object you are uploading.
`part, the previously uploaded part is overwritten. Whenever you upload a part, Amazon S3 returns an
`ETag header in its response. For each part upload, you must record the part number and the ETag value.
`You need to include these values in the subsequent request to complete the multipart upload.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`iManage\1881010.1
`
`3
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000991
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 5 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Multipart Upload Completion (or Abort)
`
`When you complete a multipart upload, Amazon S3 creates an object by concatenating parts in ascending
`order based on the part number. If any object metadata was provided in the initiate multipart upload
`request, Amazon S3 associates that metadata with the object. After a successful complete request, the
`parts no longer exist. Your complete multipart upload request must include the upload ID and a list of
`includes an ETag that uniquely
`both part numbers and corresponding ETag values. Amazon S3 response
`identifies the combined object data. This ETag will not necessarily be an MD5 hash of the object data.
`You can optionally abort the multipart upload. After aborting a multipart upload, you cannot upload any
`part using that upload ID again. All storage that any parts from the aborted multipart upload consumed
`is then freed. If any part uploads were in-progress, they can still succeed orfail even after you aborted.
`To free all storage consumed by all parts, you must abort a multipart upload only after all part uploads
`have completed.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`* Note: It is our current understanding that the individual parts uploaded with PUT or POST
`object operations necessarily have an ETag that is the MDS hash ofthe object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`not necessarily be an MDS hash ofthe object data.”
`
`iManage\1881010.1
`
`4
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000992
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 6 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Request
`The following PUT request uploadsa part (part number1) in a multipart upload. The request
`the upload ID that you get in response to your Initiate Multipart Upload request.
`
`includes
`
`PUT
`
`/my-movie.m2ts?partNumber=1
`éuploadId=VCVsb2FkIE1EIGZvciBlbZZpbm
`HTTP/1.1
`cncyBteS1itb3ZpZS5tMnRzIHVwbG9hZR
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`10485760
`Content-Length:
`Content-MD5:
`pUNXr/BjKK5G2UKvaRRrOA==
`Authorization:
`AWS
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`
`***part data omitted***
`
`Sample Response
`The response includes the ETag header. You need to retain this value for use when you send the Complete
`Multipart Upload request.
`
`HTTP/1.1 200 OK
`x-amz-id-2:
`VvaglLuByRx9e6j50nimru9p04ZVKnJ2027/C1NPcfTWAtRP£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`"b54357faf0632cce46e942fa68356b38"
`ETag:
`Content-Length:
`0
`Connection:
`keep-alive
`Server:
`AmazonS3
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`5
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000993
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 7 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Complete Multipart Upload
`
`Description
`
`This operation completes a multipart upload by assembling previously uploaded parts.
`You first initiate the multipart upload and then uploadall parts using the Upload Parts operation (see
`you call this operation
`Upload Part (p. 171)). After successfully uploading all relevant parts of an upload,
`to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending
`order by part numberto create a new object.
`In the Complete Multipart Upload request, you must provide
`the parts list. You must ensure the parts list is complete, this operation concatenates the parts you provide
`in the list. For each part in the list, you must provide the part number and the ETag header value,
`returned
`after that part was uploaded.
`
`Processing of a Complete Multipart Upload request could take Several minutes to complete. After Amazon
`it sends an HTTP response header that specifies a 200 OK response.
`S3 begins processing the request,
`While processing is in progress, Amazon S3 periodically sends whitespace characters to keep the
`from timing out. Because a request could fail after the initial 200 OK response has been sent,
`connection
`is important that you check the response body to determine whether the request succeeded.
`
`it
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`6
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000994
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 8 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Request Elements
`
`Name
`
`CompleteMultipartUpload
`
`Description
`Container for the request.
`
`Required
`
`Yes
`
`Ancestor: None
`Type: Container
`Children: One or more Part elements
`
`Part
`
`Container for elements related to a particular previously
`uploaded
`part.
`
`CompleteMultipartUpload
`Ancestor:
`Type: Container
`Children: PartNumber, ETag
`
`PartNumber
`
`Part number that identifies the part.
`
`ETag
`
`Type:
`
`Ancestor: Part
`Integer
`Entity tag returned when the part was uploaded.
`
`Ancestor: Part
`
`Type: String
`
`Yes
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000995
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 9 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Syntax
`
`/ObjectName?uploadid=Uploadid HTTP/1.1
`POST
`BucketName.s3.amazonaws.com
`Host:
`Date: Date
`Content-Length:
`Authorization:
`
`Size
`Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETaq>ETag</ETag>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`8
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000996
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 10 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Response Elements
`
`Name
`
`Description
`
`CompleteMultipartUploadResult
`
`Container for the response
`Type: Container
`Children: Location, Bucket, Key, ETag
`Ancestors: None
`
`Location
`
`Bucket
`
`Key
`
`ETag
`
`The URI that identifies the newly created object.
`Type: URI
`Ancestors:
`
`CompleteMultipartUploadResult
`The nameof the bucket that contains the newly created object.
`
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`The object key of the newly created object.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`Entity tag that identifies the newly created object's data.
`Objects with different object data will have different entity
`tags. The entity tag is an opaque string.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`9
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000997
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 11 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Request
`
`The following Complete Multipart Upload request specifies three parts in the
`element.
`
`CompleteMultipartUpload
`
`?uploadId=AAAsb2FkIE1LEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIR
`
`/example-object
`POST
`HTTP/1.1
`RwbG9hZA
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`391
`Content-Length:
`Authorization:
`AWS
`
`AAbbcyBtZXNzYWd1RRRpZ251ZCBieSB1bHZpbmc=
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>1</PartNumber>
`<ETag>"a54357aff£0632cce46d942af68356b38"</ETag>
`</Part>
`<Part>
`<PartNumber>2</PartNumber>
`<ETag>"0c78aef83f66abclfale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`<ETag>"acbdl8db4cc2f85cedef654fccc4a4d8"</ETag>
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`10
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000998
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 12 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Response
`
`The following response indicates that an object was successfully
`
`assembled.
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`UuaglLuByRx9e6j50nimru9p04ZVKnJ20z7/C1INPcfTWAtRPf£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`close
`Connection:
`Server:
`AmazonS3
`
`<?xml version="1.0"
`encoding="UTF-8"?>
`<CompleteMultipartUploadResult
`xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
`
`<Location>http:
`//Example-Bucket.s3.amazonaws.com/Example-Object</Location>
`<Bucket>Example-Bucket</Bucket>
`<Key>Example-Object</Key>
`<ETag>"3858f62230ac3c915£300c664312c11f-9"</ETag>
`</CompleteMultipartUploadResult>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`11
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000999
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 13 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`(al) applying a first function to
`each part of said first plurality of
`parts to obtain a
`corresponding
`part value for each part of said first
`plurality of parts, wherein each
`of said first plurality of parts
`part
`
`iManage\1881010.1
`
`As discussed abovein step (A), Amazon
`in combination with replication and multi-part
`uploads, applies a first function to each part of said first plurality of parts to obtain a
`part value (ETag) for each part of said first plurality of parts. Where each part of
`corresponding
`said first plurality of parts comprises a corresponding sequence of bits, and wherein the part
`value for each particular part of said first plurality of parts is based, at least in part, on the
`corresponding bits in the particular part. And where wherein twoidentical parts will have the
`U.S. Patent No. 7,945,544
`12
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001000
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 14 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`Amazon Simple Storage Service (S3)
`same part value as determined using said first
`first hash function.
`
`function, wherein said first function comprises a
`
`When performing a multipart upload, Amazon $3 automatically generates a hash to identify and
`retrieve the data being uploaded.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`Objects greater than SGB in size require the use of the multipart upload API.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`CLAIM 1 ‘544 PATENT
`
`comprises a corresponding
`sequence of bits, and wherein the
`part value for each particular part
`of said first plurality of parts is
`based, at least in part, on the
`corresponding bits in the particular
`part, and wherein twoidentical
`parts will have the same part value
`as determined using said first
`function, wherein said first
`function comprises a first hash
`
`function;
`
`and
`
`iManage\1881010.1
`
`13
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001001
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 15 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`Common Response Headers
`
`The following table describes response headers that are common to most AWS S3 responses.
`
`Description
`
`|
`
`Content-Length
`
`The length in bytes of the body in the response.
`Type:
`String
`Default: None
`
`Connection
`
`specifies whether the connection to the server is open or closed.
`Type: Enum
`Valid Values: open | close
`Default: None
`
`Date
`
`ETag
`
`The date and time Amazon S3 responded, for example, Wed, 01 Mar 2009
`12:00:00 GMT.
`Type: String
`Default: None
`
`The entity tag is a hash of the object. The ETag only reflects changes to the
`contents of an object, not its metadata. The ETag is determined when an object
`is created. For objects created by the PUT Object operation and the POST Object
`the ETag is a quoted, 32-digit hexadecimal string representing the
`operation,
`digest of the object data. For other objects, the ETag may or may not be an
`MDS digest of the object data.If the ETag is not an MD5 digest of the object data,
`it will contain one or more non-hexadecimal characters and/or will consist of less
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAvernAe
`
`Tha nama of tha carver that crastad tha racnanca
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\181010.1
`
`14
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001002
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 16 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`S3 performs multipart uploads through the generation and use of a an “ETag”, which is a MD5
`it is a MD5 hash, see “common response headers” graphic
`hash (because it is a PUT operation,
`above,) of the data-part, which is required for a later request to complete the multipart upload
`and for Amazon S3 to concatenate the parts together to form a single object.
`And once combined, Amazon S3
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`responds with an ETag that uniquely identifies the combined data.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`Multipart uploading is a three-step process: You initiate the upload, you upload the object parts, and after
`you have uploaded all the parts, you complete the multipart upload. Upon receiving the complete multipart
`from the uploaded parts, and you can then access the
`request, Amazon S3 constructs the object
`just as you would any other object in your bucket.
`
`upload
`
`object
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`Parts Upload Step
`
`Parts Upload
`
`When uploadinga part,
`
`in addition to the upload ID, you must specify a part number. You can choose
`any part number between 1 and 10,000. A part number uniquely identifies a part and its position in the
`If you upload a new part using the samepart number as a previously uploaded
`object you are uploading.
`part, the previously uploaded part is overwritten. Whenever you upload a part, Amazon S3 returns an
`ETag header in its response. For each part upload, you must record the part number and the ETag value.
`You need to include these values in the subsequent request to complete the multipart upload.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`iManage\1881010.1
`
`15
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001003
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 17 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Multipart Upload Completion (or Abort)
`
`When you complete a multipart upload, Amazon S3 creates an object by concatenating parts in ascending
`order based on the part number. If any object metadata was provided in the initiate multipart upload
`request, Amazon S3 associates that metadata with the object. After a successful complete request, the
`parts no longer exist. Your complete multipart upload request must include the upload ID and a list of
`includes an ETag that uniquely
`both part numbers and corresponding ETag values. Amazon S3 response
`identifies the combined object data. This ETag will not necessarily be an MD5 hash of the object data.
`You can optionally abort the multipart upload. After aborting a multipart upload, you cannot upload any
`part using that upload ID again. All storage that any parts from the aborted multipart upload consumed
`is then freed. If any part uploads were in-progress, they can still succeed orfail even after you aborted.
`To free all storage consumed by all parts, you must abort a multipart upload only after all part uploads
`have completed.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`* Note: It is our current understanding that the individual parts uploaded with PUT or POST
`object operations necessarily have an ETag that is the MDS hash ofthe object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`not necessarily be an MDS hash ofthe object data.”
`
`iManage\1881010.1
`
`16
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001004
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 18 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Request
`The following PUT request uploadsa part (part number1) in a multipart upload. The request
`the upload ID that you get in response to your Initiate Multipart Upload request.
`
`includes
`
`PUT
`
`/my-movie.m2ts?partNumber=1
`éuploadId=VCVsb2FkIE1EIGZvciBlbZZpbm
`HTTP/1.1
`cncyBteS1itb3ZpZS5tMnRzIHVwbG9hZR
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`10485760
`Content-Length:
`Content-MD5:
`pUNXr/BjKK5G2UKvaRRrOA==
`Authorization:
`AWS
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`
`***part data omitted***
`
`Sample Response
`The response includes the ETag header. You need to retain this value for use when you send the Complete
`Multipart Upload request.
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`VvaglLuByRx9e6j50nimru9p04ZVKnJ2027/C1NPcfTWAtRP£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`"b54357faf0632cce46e942fa68356b38"
`ETag:
`Content-Length:
`0
`Connection:
`keep-alive
`Server:
`AmazonS3
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`17
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001005
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 19 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Complete Multipart Upload
`
`Description
`
`This operation completes a multipart upload by assembling previously uploaded parts.
`You first initiate the multipart upload and then uploadall parts using the Upload Parts operation (see
`you call this operation
`Upload Part (p. 171)). After successfully uploading all relevant parts of an upload,
`to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending
`order by part numberto create a new object.
`In the Complete Multipart Upload request, you must provide
`the parts list. You must ensure the parts list is complete, this operation concatenates the parts you provide
`in the list. For each part in the list, you must provide the part number and the ETag header value,
`returned
`after that part was uploaded.
`
`Processing of a Complete Multipart Upload request could take Several minutes to complete. After Amazon
`it sends an HTTP response header that specifies a 200 OK response.
`S3 begins processing the request,
`While processing is in progress, Amazon S3 periodically sends whitespace characters to keep the
`from timing out. Because a request could fail after the initial 200 OK response has been sent,
`connection
`is important that you check the response body to determine whether the request succeeded.
`
`it
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`18
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001006
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 20 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Request Elements
`
`Name
`
`CompleteMultipartUpload
`
`Description
`Container for the request.
`
`Required
`
`Yes
`
`Ancestor: None
`Type: Container
`Children: One or more Part elements
`
`Part
`
`Container for elements related to a particular
`uploaded
`part.
`
`previously
`
`Yes
`
`CompleteMultipartUpload
`Ancestor:
`Type: Container
`Children: PartNumber, ETag
`
`PartNumber
`
`Part number that identifies the part.
`
`ETag
`
`Type:
`
`Ancestor: Part
`Integer
`Entity tag returned when the part was uploaded.
`
`Ancestor: Part
`Type: String
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`19
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001007
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 21 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Syntax
`
`/ObjectName?uploadid=Uploadid HTTP/1.1
`POST
`BucketName.s3.amazonaws.com
`Host:
`Date: Date
`Content-Length:
`Authorization:
`
`Size
`Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETaq>ETag</ETag>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`20
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001008
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 22 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Response Elements
`
`Name
`
`Description
`
`CompleteMultipartUploadResult
`
`Container for the response
`Type: Container
`Children: Location, Bucket, Key, ETag
`Ancestors: None
`
`Location
`
`Bucket
`
`Key
`
`ETag
`
`The URI that identifies the newly created object.
`Type: URI
`Ancestors:
`
`CompleteMultipartUploadResult
`The nameof the bucket that contains the newly created object.
`
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`The object key of the newly created object.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`Entity tag that identifies the newly created object's data.
`Objects with different object data will have different entity
`tags. The entity tag is an opaque string.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`21
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001009
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 23 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Request
`
`The following Complete Multipart Upload request specifies three parts in the
`element.
`
`CompleteMultipartUpload
`
`?uploadId=AAAsb2FkIE1LEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIR
`
`/example-object
`POST
`HTTP/1.1
`RwbG9hZA
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`391
`Content-Length:
`Authorization:
`AWS
`
`AAbbcyBtZXNzYWd1RRRpZ251ZCBieSB1bHZpbmc=
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>1</PartNumber>
`<ETag>"a54357aff£0632cce46d942af68356b38"</ETag>
`</Part>
`<Part>
`<PartNumber>2</PartNumber>
`<ETag>"0c78aef83f66abclfale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`<ETag>"acbdl8db4cc2f85cedef654fccc4a4d8"</ETag>
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`U.S. Patent No. 7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001010
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 24 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Sample Response
`
`The following response indicates that an object was successfully
`
`assembled.
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`UuaglLuByRx9e6j50nimru9p04ZVKnJ20z7/C1INPcfTWAtRPf£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`close
`Connection:
`Server:
`AmazonS3
`
`<?xml version="1.0"
`encoding="UTF-8"?>
`<CompleteMultipartUploadResult
`xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
`
`<Location>http:
`//Example-Bucket.s3.amazonaws.com/Example-Object</Location>
`<Bucket>Example-Bucket</Bucket>
`<Key>Example-Object</Key>
`<ETag>"3858f62230ac3c915£300c664312c11f-9"</ETag>
`</CompleteMultipartUploadResult>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\1881010.1
`
`23
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001011
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 25 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`(a2) obtaining a first value for the
`first data item, said first value
`
`As discussed above in step (al), Amazon S3, in combination with replication and multi-part
`uploads, obtainsa first value (ETag) for the first data item, said first value obtained by applying
`
`24
`
`U.S. Patent No. 7,945,544
`
`iManage\1881010.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001012
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 26 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`obtained by applying a second
`function to the part values of said
`first plurality of parts of said first
`data item, said second function
`comprising a second hash
`function;
`
`Amazon Simple Storage Service (S3)
`a second function to the part values of said first plurality of parts of said first data item, said
`second function comprising a second hash function.
`
`When performing a multipart upload, Amazon $3 automatically generates a hash to identify and
`retrieve the data being uploaded.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`Objects greater than SGB in size require the use of the multipart upload API.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`iManage\1881010.1
`
`25
`
`U.S. Patent No.
`
`7,945,544
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00001013
`
`
`
`Case 5:18-md-02834-BLF Document 348-6 Filed 01/18/19 Page 27 of 113
`
`U.S. PATENT NO. 7,945,544
`Issued May17, 2011
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`Common Response Headers
`
`The following table describes response headers that are common to most AWS S3 responses.
`
`Description
`
`|
`
`Content-Length
`
`The length in bytes of the body in the response.
`Type: