`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 1 of 97
`Case 5:18—md-02834-BLF Document 340-6 Filed 01/09/19 Page 1 of 97
`
`EXHIBIT 2E
`EXHIBIT 2E
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 2 of 97
`
`Claim Chart for Amazon S3 for U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 comprising:
`method,
`(A) for a first data item comprising
`a first plurality of parts,
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that
`Amazon
`in combination with replication and multi-part uploads, operates on a 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 SGB in size require the use of the multipart upload API.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`iManage\181010.1
`
`1
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006159
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 3 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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.
`
`Name
`
`Content-Length
`
`Description
`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 whenan 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,
`MD5 digest of the object data. For other objects,
`the ETag may or may not be an
`MD5 digest of the object data. If the ETag is not an MD5 digestof the object data,
`characters and/or will consist of less
`
`it will contain one or more non-hexadecimal
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAwernAw
`
`Tha nama of tha carver that craatad tha
`
`racnanea
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\181010.1
`
`2
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006160
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 4 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`hash (becauseit is a PUT operation,it is a MD5 hash, see “common response headers” graphic
`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: Youinitiate 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
`upload request, Amazon S3 constructs the object from the uploaded parts, and you can then access the
`just as you would any other object in your bucket.
`object
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`Parts Upload Step
`
`Parts Upload
`
`When uploading a 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 same part numberas a previously
`object you are uploading.
`uploaded
`the previously uploaded partis overwritten. Whenever you upload a part, Amazon S3 returns an
`part,
`ETag headerin its response. For each part upload, you must record the part number and the ETag value.
`You needto include these values in the subsequent request to complete the multipart upload.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`iManage\181010.1
`
`3
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006161
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 5 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 providedin the initiate multipart upload
`request, Amazon S3 associates that metadata with the object. After a successful complete request,
`parts no longer exist. Your complete multipart upload request must include the upload ID and a list of
`both part numbers and corresponding ETag values. Amazon S3 response includes an ETag that uniquely
`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 consumedbyall parts, you must abort a multipart upload only after all part uploads
`have completed.
`
`the
`
`(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 of the object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`not necessarily be an MDS hashofthe object data.”
`
`iManage\181010.1
`
`4
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006162
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 6 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 number 1) 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
`cncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`10485760
`Content-Length:
`Content-MD5:
`pUNXr/BjJKK5G2UKvaRRrOA==
`Authorization:
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`AWS
`
`***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.
`
`VvaglLuByRx9e6j50nimru9p04ZVKnJ202z7/C1NPcfTWAtRPf£TaOFg==
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`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\181010.1
`
`5
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006163
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 7 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`Upload Part (p. 171)). After successfully uploading all relevant parts of an upload, you call this operation
`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
`it is important that you check the response body to determine whether the request succeeded.
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`6
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006164
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 8 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`
`None
`Ancestor:
`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
`
`Ancestor: Part
`Integer
`Type:
`Entity tag returned when the part was uploaded.
`
`Ancestor: Part
`Type: String
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006165
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 9 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 2011
`
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Syntax
`
`/ObjectName?uploadid=UploadiId HTTP/1.1
`POST
`Host:
`BucketName.s3.amazonaws.com
`Date: Date
`Size
`Content-Length:
`Authorization: Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETaq>ETagq</ETag>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`8
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006166
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 10 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 name of 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\181010.1
`
`9
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006167
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 11 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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>"a54357af£0632cce46d942af68356b38"</ETag>
`</Part>
`<Part>
`<PartNumber>2</PartNumber>
`<ETag>"0c78aef83f66abclfale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`8db4cc2f85cedef654fccc4a4d8"</ETag>
`<ETag>"acbdl1
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`10
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006168
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 12 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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:
`UuaglLuByRx9e6j50nimru9p04ZVKnJ2027/C1INPcfTWAtRPfTaOFg==
`656c76696e6727732072657175657374
`X-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`Connection:
`close
`Server:
`AmazonS3
`
`<?xml version="1.0"
`encoding="UTF-8"?>
`xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
`<CompleteMultipartUploadResult
`
`<Location>http:
`//Example-Bucket.s3.amazonaws.com/Example-Object</Location>
`<Bucket>Example-Bucket</Bucket>
`<Key>Example-Object</Key>
`<ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>
`</CompleteMultipartUploadResult>
`
`(al) applyinga first function to
`each part of said first plurality of
`parts to obtain a corresponding
`part value for each partof said first
`plurality of parts, wherein each
`part of said first plurality of parts
`comprises a
`sequence of bits, and wherein the
`corresponding
`
`iManage\181010.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`As discussed above in step (A), and though a review of Defendant’s source code is necessary to
`confirm, Plaintiff believes that Amazon S3,
`in combination with replication and multi-part
`uploads, applies a first function to each part of said first plurality of parts to obtain a
`corresponding part value (ETag) for each part of said first plurality of parts. Where each part of
`said first plurality of parts comprises a corresponding sequenceof 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 two identical parts will have the
`function, wherein said first function comprises a
`same part value as determined using said first
`
`11
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006169
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 13 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 2011
`
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`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 two identical
`parts will have the same part value
`as determined using said first
`function, wherein said first
`function comprises a first hash
`
`function; and
`
`Amazon Simple Storage Service (S3)
`first hash function.
`
`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].
`
`iManage\181010.1
`
`12
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006170
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 14 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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.
`
`Name
`
`Content-Length
`
`Description
`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 whenan 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,
`MD5 digest of the object data. For other objects,
`the ETag may or may not be an
`MD5 digest of the object data. If the ETag is not an MD5 digestof the object data,
`characters and/or will consist of less
`
`it will contain one or more non-hexadecimal
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAwernAw
`
`Tha nama of tha carver that craatad tha
`
`racnanea
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\181010.1
`
`13
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006171
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 15 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`hash (becauseit is a PUT operation,it is a MD5 hash, see “common response headers” graphic
`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: Youinitiate 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
`upload request, Amazon S3 constructs the object from the uploaded parts, and you can then access the
`just as you would any other object in your bucket.
`object
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`Parts Upload Step
`
`Parts Upload
`
`When uploading a 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 same part numberas a previously
`object you are uploading.
`uploaded
`the previously uploaded partis overwritten. Whenever you upload a part, Amazon S3 returns an
`part,
`ETag headerin its response. For each part upload, you must record the part number and the ETag value.
`You needto include these values in the subsequent request to complete the multipart upload.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`iManage\181010.1
`
`14
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006172
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 16 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 providedin the initiate multipart upload
`request, Amazon S3 associates that metadata with the object. After a successful complete request,
`parts no longer exist. Your complete multipart upload request must include the upload ID and a list of
`both part numbers and corresponding ETag values. Amazon S3 response includes an ETag that uniquely
`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 consumedbyall parts, you must abort a multipart upload only after all part uploads
`have completed.
`
`the
`
`(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 of the object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`not necessarily be an MDS hashofthe object data.”
`
`iManage\181010.1
`
`15
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006173
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 17 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 number 1) 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
`cncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`10485760
`Content-Length:
`Content-MD5:
`pUNXr/BjJKK5G2UKvaRRrOA==
`Authorization:
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`AWS
`
`***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.
`
`VvaglLuByRx9e6j50nimru9p04ZVKnJ202z7/C1NPcfTWAtRPf£TaOFg==
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`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\181010.1
`
`16
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006174
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 18 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`Upload Part (p. 171)). After successfully uploading all relevant parts of an upload, you call this operation
`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
`it is important that you check the response body to determine whether the request succeeded.
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`17
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006175
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 19 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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
`
`None
`Ancestor:
`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
`
`Ancestor: Part
`Integer
`Type:
`Entity tag returned when the part was uploaded.
`
`Ancestor: Part
`Type: String
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`18
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006176
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 20 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 2011
`
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Syntax
`
`/ObjectName?uploadid=UploadiId HTTP/1.1
`POST
`Host:
`BucketName.s3.amazonaws.com
`Date: Date
`Size
`Content-Length:
`Authorization: Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETaq>ETagq</ETag>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`19
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006177
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 21 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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 name of 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\181010.1
`
`20
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006178
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 22 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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>"a54357af£0632cce46d942af68356b38"</ETag>
`</Part>
`<Part>
`<PartNumber>2</PartNumber>
`<ETag>"0c78aef83f66abclfale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`8db4cc2f85cedef654fccc4a4d8"</ETag>
`<ETag>"acbdl1
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/§$3/latest/s3-api.pdf)
`
`iManage\181010.1
`
`21
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006179
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 23 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 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:
`X-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`Connection:
`close
`Server:
`AmazonS3
`
`UuvaglLuByRx9e6j50nimru9p04ZVKnJ2027/CINPcfTWAtRPfTaOFg==
`
`<?xml version="1.0"
`encoding="UTF-8"?>
`xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
`<CompleteMultipartUploadResult
`
`<Location>http:
`//Example-Bucket.s3.amazonaws.com/Example-Object</Location>
`<Bucket>Example-Bucket</Bucket>
`<Key>Example-Object</Key>
`<ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>
`</CompleteMultipartUploadResult>
`
`(a2) obtaining a first value for the
`first data item, said first value
`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;
`
`iManage\181010.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`As discussed abovein step (al), and though a review of Defendant’s source codeis necessary to
`confirm, Plaintiff believes that Amazon S3,
`in combination with replication and multi-part
`uploads, obtains a first value (ETag) for the first data item, said first value 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.
`
`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].
`
`22
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006180
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 24 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 2011
`
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`Objects greater than 5GB in size require the use of the multipart upload API.
`.amazonaws.com/S3/latest/s3-dg.pdf].
`[http://awsdocs.s3
`
`Common Response Headers
`
`The following table describes response headers that are common to most AWS S3 responses.
`
`Name
`
`Content-Length
`
`Description
`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 whenan 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,
`MD5 digest of the object data. For other objects,
`the ETag may or may not be an
`digest of the object data. If the ETag is not an MD5 digestof the object data,
`characters and/or will consist of less
`
`it will contain one or more non-hexadecimal
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAwernAw
`
`Tha nama af tha carver that craatad tha
`
`racnanea
`
`iManage\181010.1
`
`23
`
`U.S. Patent No.
`
`7,945,544
`
`AMZ_PWT_00006181
`
`
`
`Case 5:18-md-02834-BLF Document 340-6 Filed 01/09/19 Page 25 of 97
`
`U.S. PATENT NO. 7,945,544
`
`Issued May 17, 2011
`
`Similarity-Based Access Control Of Data In A Data Processing System
`
`CLAIM 1 ‘544 PATENT
`
`Amazon Simple Storage Service (S3)
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`S3 performs multipart uploads through the generation and use of a an “ETag”, which is a MD5
`hash (becauseit is a PUT operation,it is a MD5 hash, see “common response headers” graphic
`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: Youinitiate the upload, you upload the object par