`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 1 of 44
`Case 5:18—md-02834-BLF Document 340-3 Filed 01/09/19 Page 1 of 44
`
`EXHIBIT 2B
`EXHIBIT 2B
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 2 of 44
`
`Claim Chart for Amazon Simple Storage Service (S3) re U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`36. A method of delivering a data
`file in a network comprising a
`plurality of processors, some of
`the processors being servers and
`some of the processors being
`the method comprising:
`
`clients,
`
`storing the datafile is on first
`server in the network and storing
`copies of the data file on a set of
`servers in the network distinct
`from the first server; and
`
`is an online storage web service offered by Amazon Web
`Amazon S3 (Simple Storage Service)
`Services that performs a method of delivering a data file in a network comprising a plurality of
`processors, some of the processors being servers and some ofthe processors being clients.
`
`Amazon S83 provides storage through web services interfaces. S3 stores arbitrary objects
`(computer files) up to 5 terabytes in size, each accompanied by up to 2 kilobytes of metadata.
`Objects are organized into buckets (each owned by an Amazon Web Services or AWS account),
`and identified within each bucket by a unique, user-assigned key.
`[http://en.wikipedia.org/wiki/Amazon_$3;
`http://aws.amazon.com/s3/].
`
`End user’s, remote from Amazon’s servers, use their computers with client processors to upload
`data items to the Amazon servers with server processors.
`
`Although a review of Defendant’s source code 1s necessary to confirm, Plaintiff believes that
`Amazon’s S3 system stores a data file on a first server in the network and stores copies of the
`data file on a set of servers in the network distinct from the first server.
`
`Amazon 83 provides a highly durable storage infrastructure designed for mission-critical and
`primary data storage. Objects are redundantly stored on multiple devices across multiple
`facilities in an Amazon S3 Region. To help ensure durability, Amazon $3 PUT and COPY
`synchronously store your data across multiple facilities before returning SUCCESS.
`operations
`Once stored, Amazon $3 maintains the durability of your objects by quickly detecting and
`repairing any lost
`redundancy.
`
`[http://aws.amazon.com/s3/#protecting
`
`|
`
`iManage\18%0225.1
`
`1
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005796
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 3 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`Amazon Simple Storage Service (S3)
`
`Although a review of Defendant’s source code 1s necessary to confirm, Plaintiff believes that
`Amazon’s S3 receives client requests for the data file, the request including a hash of the
`contents of the data file, causing the data file to be provided to the client.
`
`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.
`.amazonaws.com/S3/latest/s3-dg.pdf].
`[http://awsdocs.s3
`
`CLAIM 36 ‘280 PATENT
`responsive to a client request for
`the data file, the request
`including
`a hash of the contents ofthe data
`file, causing the data file to be
`provided to the client.
`
`iManage\18%0225.1
`
`2
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005797
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 4 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`Common Response Headers
`
`The following table describes response headers that are common to most AWS S3 responses.
`
`Name
`
`Description
`
`Content-Length
`
`The length in bytes of the body in the
`Type: String
`
`response.
`
`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,
`12:00:00 GMT.
`
`for example, Wed, 01 Mar 2009
`
`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,
`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
`
`CAweraw
`
`Tha nama of tha carver that craatad tha racnaneca
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`iManage\18%0225.1
`
`3
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005798
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 5 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`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 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
`
`iManage\18%0225.1
`
`4
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005799
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 6 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`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
`object you are uploading. If you upload a new part using the same part numberas a previously
`uploaded
`the previously uploaded part is overwritten. Whenever you upload a part, Amazon S3 returns an
`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.
`
`part,
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`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
`hash of the object data (see graphic
`object operations necessarily have an ETagthat is the
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`
`5
`
`U.S. Patent No.
`
`6,415,280
`
`iManage\18%0225.1
`
`AMZ_PWT_00005800
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 7 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`not necessarily be an MD5 hashofthe object data.”
`
`Sample Request
`
`The following PUT request uploadsa part (part number 1) in a multipart upload. The request includes
`the upload ID that you get in response to your Initiate Multipart Upload request.
`
`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.
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`VvaglLuByRx9e6j50nimru9p04ZVKnJ202z7/C1INPcfTWAtRP£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`"b54357faf0632cce46e942fa68356b38"
`ETag:
`Content-Length:
`0
`Connection:
`keep-alive
`Server:
`AmazonsS3
`
`iManage\18%0225.1
`
`6
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005801
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 8 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`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 ETaq 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\18%0225.1
`
`7
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005802
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 9 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Request Elements
`
`Name
`
`Description
`
`CompleteMultipartUpload
`
`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/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005803
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 10 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Syntax
`
`/ObjectName?uploadId=Uploadid 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\18%0225.1
`
`9
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005804
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 11 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Response Elements
`
`Name
`
`CompleteMultipartUploadResult
`
`Description
`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\18%0225.1
`
`10
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005805
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 12 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 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>
`<ETag>"acbdl18db4cc2f£85cedef654fccc4a4d8"</ETag>
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`11
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005806
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 13 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 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:
`AmazonsS3
`
`UuaglLuByRx9e6j50nimru9p04ZVKnJ20z7/C1INPcf£TWAtRP£TaOFg==
`
`<?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>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf
`
`A user can specify data from an existing object as a data source during a multipart upload,
`available to the user are conditional headers which can involve using the ETag to identify
`whether or not to copy certain objects.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`iManage\18%0225.1
`
`12
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005807
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 14 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`Uploadsa part by copying data from an existing object as data source. You specify the data source by
`adding the request header x-amz-copy-source in your request and a byte range by adding the request
`header x-amz-copy-source-range in your
`
`request.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`Syntax
`
`/ObjectName?partNumber=PartNumberé&uploadid=Uploadid HTTP/1.1
`PUL
`BucketName.s3.amazonaws.com
`Host:
`/source_bucket/sourceObject
`x-amz-copy-source:
`x-amz-copy-source-range:bytes=first-last
`X-amz-copy-source-if-match:
`etag
`etag
`xXx-amz-copy-source-if-none-match:
`x-amz-copy-source-if-unmodified-since:
`x-amz-copy-source-if-modified-since:
`date
`Date:
`Authorization:
`
`time_stamp
`time stamp
`
`Signature
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`13
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005808
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 15 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`The following conditional headers are based onthe object that the x-amz-copy-source header specifies.
`
`Name
`
`Description
`
`xX-amz-copy-source-if-match
`
`x-amz-copy~source-if=none-match
`
`xeame-agoy-sounos-i Funmodified-sinoe
`
`x-amz-copy-source—i
`
`f-modi
`
`fied-since
`
`Performa copy ifthe source object entity tag (ETag)
`matches the specified value. If the value does not
`match, Amazon S3 returns an HTTP status code
`412 precondition failed error.
`Type: String
`Default: None
`
`Perform a copyif the source object entity tag (ETag)
`is different than the value specified using this
`header. If the values match, Amazon S3 returns an
`HTTP status code 412 precondition failed error.
`Type: String
`Default: None
`
`Perform a copy if the source object is not modified
`after the time specified using this header. If the
`source object is modified, Amazon S3 returns an
`HTTP status code 412 precondition failed error.
`Type: String
`Default: None
`
`Perform a copyif the source object is modified after
`the time specified using this header. If the source
`is not modified, Amazon S3 returns an HTTP
`object
`status code 412 precondition failed error.
`Type: String
`Default: None
`
`Required
`
`No
`
`No
`
`No
`
`iManage\18%0225.1
`
`14
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005809
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 16 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`Similar to performing a multipart upload by copying existing objects, performing a GETof data
`makes available similar conditional parameters.
`
`Amazon Simple Storage Service API Reference
`GET Object
`
`Name
`
`If-Match
`
`If-None-Match
`
`Description
`
`Return the object onlyif its entity tag (£Tag) is the same as the one
`specified, otherwise return a 412 (precondition failed).
`Type: String
`Default: None
`
`Required
`
`No
`
`Constraints: None
`
`Return the object onlyif its entity tag (ETaqg) is different from the
`one specified, otherwise return a 304 (not modified).
`Type: String
`Default: None
`
`No
`
`Constraints: None
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`The HEAD operation retrieves metadata from an object without returning the object itself.
`This
`operation is useful if you're only interested in an object's metadata. The HEAD operation also
`has conditional parameters similar to the ones in the pervious discussions.
`
`15
`
`U.S. Patent No.
`
`6,415,280
`
`iManage\18%0225.1
`
`AMZ_PWT_00005810
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 17 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Amazon Simple Storage Service API Reference
`HEAD Object
`
`Name
`
`If-Unmodified-Since
`
`Description
`
`Return the object only if it has not been modified since the specified
`time, otherwise return a 412 (precondition failed).
`Type: String
`Default: None
`
`Required
`
`No
`
`If-Match
`
`If-None-Match
`
`Constraints:
`
`None
`
`Return the object onlyif its entity tag
`Tag) is the same as the one
`specified, otherwise return a 412 (precondition failed).
`Type: String
`Default: None
`
`Constraints:
`
`None
`
`Return the object onlyif its entity tag (ETaqg)
`is different from the
`one specified, otherwise return a 304 (not modified).
`Type: String
`Default: None
`
`No
`
`No
`
`Constraints:
`
`None
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`The PUT operation with COPY also has conditional parameters similar to the ones in the
`pervious discussions.
`
`iManage\18%0225.1
`
`16
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005811
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 18 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`PUT Object - Copy
`Description
`This implementation of the PUT operation creates a copy of an object that is already stored in Amazon S3.
`A PUT copy operation is the same as performing a GET and then a PuT. Adding the request header,
`x-amz-copy-source, makes the PUT operation copy the source object into the destination bucket.
`
`we
`
`Note
`
`You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object
`up to 5 GB in size in a single atomic operation using this API. However,
`for copying an object
`greater than 5 GB, you must use the multipart upload API. For conceptual
`information on multipart
`upload, go to Uploading Objects Using Multipart Upload in the Amazon S3 Developer Guide.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`17
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005812
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 19 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Requests
`
`Syntax
`
`/destinationObject
`HTTP/1.1
`PUT
`destinationBucket.s3.amazonaws.com
`Host:
`/source bucket/sourceObject
`x-amz-copy-source:
`x-amz-metadata-directive:
`metadata_directive
`X-amz-copy-source-if-match:
`etag
`etag
`X-amz-copy-source-if-none-match:
`xX-amz-copy-source-if-unmodified-since:
`x-amz-copy-source-if-modified-since:
`<request metadata>
`Authorization:
`signatureValue
`date
`Date:
`
`time stamp
`time stamp
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`18
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005813
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 20 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 36 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`xX-amz-copy-source-if-match
`
`x-amz-copy-source-if-none-match
`
`No
`
`No
`
`IZ)
`
`VULIIIIVIT INGSYUUCSL PITAUTIS
`Copies the object if its entity tag (ETag) matches
`the request
`returns
`the specified tag; otherwise,
`a 412 HTTP status code error (precondition failed).
`Type: String
`Default: None
`Constraints: This header can be used with
`x-amz-copy-source-if-unmodified-since,
`but cannot be used with other conditional copy
`headers.
`
`Copies the object if its entity tag (ETag) is different
`than the specified ETag; otherwise,
`the request
`returns a 412 HTTP status code error (failed
`condition).
`
`Type: String
`Default: None
`Constraints: This header can be used with
`X-amz-copy-source-if-modified-since,
`but cannot be used with other conditional copy
`headers.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`19
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005814
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 21 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 37 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`37. A method as in claim 36
`wherein the data file has a
`contextual name comprising a
`pathname including a processor
`name and a file name, the method
`further comprising:
`
`All of the statements provided above with respect to claim 36 are incorporated by reference.
`Although a review of Defendant’s source codeis necessary to confirm, Plaintiff believes that
`data items in Amazon S3 have a contextual name comprising a pathname which includes a
`processor name andfile name (such as the URI, or Host, source_bucket, and sourceObject).
`
`Requests
`
`Syntax
`
`/destinationObject
`HTTP/1.1
`PUT
`destinationBucket.s3.amazonaws.com
`Host:
`/source bucket/sourceObjec
`x-amz-copy-source:
`x-amz-metadata-directive:
`metadata_directiv
`X-amz-copy-source-if-match:
`etag
`etag
`X-amz-copy-source-if-none-match:
`x-amz-copy-source-if-unmodified-since:
`x-amz-copy-source-if-modified-since:
`<request metadata>
`Authorization:
`signatureValue
`date
`Date:
`
`time stamp
`time stam
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`20
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005815
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 22 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 37 ‘280 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
`
`iManage\18%0225.1
`
`21
`
`U.S. Patent No.
`
`6,415,280
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`AMZ_PWT_00005816
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 23 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 37 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`associating the contextual name of
`the data file with the hash of the
`contents of the data file.
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that
`data items in Amazon S3 associates a contextual name with the hash of the contents of the data
`item (such as associating the eTag with the URI or Host, source_bucket, and sourceObject
`fields).
`
`Requests
`
`Syntax
`
`/destinationObject
`HTTP/1.1
`PUT
`destinationBucket.s3.amazonaws.com
`Host:
`x-amz-copy-source:
`/source_bucket/sourceObject
`metadata directive
`x-amz-metadata-directive:
`X-amz-copy-source-if-match:
`etag
`x-amz-copy-source-if-none-match:
`etag
`x-amz-copy-source-if-unmodified-since:
`xX-amz-copy-source-if-modified-since:
`<request metadata>
`Authorization:
`signatureValue
`date
`Date:
`
`time_stamp
`time stamp
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0225.1
`
`22
`
`U.S. Patent No.
`
`6,415,280
`
`AMZ_PWT_00005817
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 24 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 37 ‘280 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
`
`iManage\18%0225.1
`
`23
`
`U.S. Patent No.
`
`6,415,280
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`AMZ_PWT_00005818
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 25 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 54 ‘280 PATENT
`
`Amazon Simple Storage Service (S3)
`
`54. A content delivery method in
`a network in which at least some
`processors in the network
`communicate with each other
`using a TCP/IP communication
`the method comprising:
`protocol,
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that
`is an online storage web service offered by Amazon Web
`Amazon
`(Simple Storage Service)
`Services by which Amazon performs a content delivery method in a network where at least some
`communicate with one another using a TCP/IP communications protocol.
`processors
`
`Amazon Simple Storage Service (Amazon S3)
`Amazon $3is storage for the Internet. It is designed to make web-scale
`computing easier for developers.
`
`Amazon S3 provides a simple web services interface that can be used to
`store and retrieve any amount of data, at any time, from anywhere on
`the web. It gives any developer access to the same highly scalable,
`inexpensive infrastructure that Amazon uses to run
`reliable, secure, fast,
`its own global network of web sites. The service aims to maximize
`benefits of scale and to pass those benefits on to developers.
`
`http://aws.amazon.com/s3/
`
`for a particular data file having a
`particular name specifying a
`location in the network at which
`the data file may be located,
`determining another name for the
`
`iManage\18%0225.1
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that
`can specify for a particular data file having a particular name, a location in the
`Amazon
`network at which the data file may be located. And Amazon S3 determines another name for the
`particular data file, the other name including a data identifier determined using message digest
`function MDSof the data, wherein said data used by the MDSfunction comprises the contents of
`24
`U.S. Patent No.
`6,415,280
`
`AMZ_PWT_00005819
`
`
`
`Case 5:18-md-02834-BLF Document 340-3 Filed 01/09/19 Page 26 of 44
`
`U.S. PATENT NO. 6,415,280
`
`Issued July 2, 2002
`
`Identifying and Requesting Data in Network Using Identifiers
`Which Are Based on Contents of Data
`
`CLAIM 54 ‘280 PATENT