throbber
Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 1 of 56
`Case 5:18—md-02834-BLF Document 348-3 Filed 01/18/19 Page 1 of 56
`
`REDACTED VERSION OF
`
`EXHIBIT 13A
`EXHIBIT 13A
`REDACTED VERSION OF
`DOCUMENT SOUGHT TO
`BE SEALED
`
`DOCUMENT SOUGHT TO
`
`BE SEALED
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 2 of 56
`
`Supplemental Infringement Contentions
`RESTRICTED CONFIDENTIAL - CONTAINS SOURCE CODE MATERIAL
`
`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,
`
`is an online storage web service offered by Amazon Web
`Amazon 83 (Simple Storage Service)
`Services that performs a method of delivering a data file in a network comprising a plurality of
`someof the processors being servers and someof the processors being clients.
`processors,
`
`Amazon S3 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.
`
`Multiple amazon servers and multiple client computers are connected through IP connections,
`and each contains processors to send request andto receive request. Both $3 and client
`computers consist of processor in which to send andreceive data. Files can be distrubted across
`plurality of computers in a network.
`
`source-code references are exemplary in nature. The evidence includes butis not limited to the classes, methods and structures
`The
`referenced herein. PersonalWeb reserves the right to supplement
`these contentions with further discovery.
`
`1
`
`U.S. Patent No. 6,415,280
`
`iManage\180225.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000710
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 3 of 56
`
`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)
`
`iManage\180225.1
`
`2
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000711
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 4 of 56
`
`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)
`
`storing the data file is on a first
`in the network and storing
`server
`copies of the data file on a set of
`servers in the network distinct
`from the first server; and
`
`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 S83 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
`Region. To help ensure durability, Amazon S3 PUT and COPY
`synchronously store your data across multiple facilities before returning SUCCESS.
`operations
`Once stored, Amazon S3 maintains the durability of your objects by quickly detecting and
`
`iManage\180225.1
`
`3
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000712
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 5 of 56
`
`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)
`repairing any lost
`
`redundancy.
`
`[http://aws.amazon.com/s3/#protecting
`
`|
`
`iManage\180225.1
`
`4
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000713
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 6 of 56
`
`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)
`
`responsive to a client request for
`the datafile, the request
`including
`a hash of the contents of the data
`file, causing the data file to be
`provided to the client.
`
`Amazon’s $3 receives client requests for the data file, the request including a hash of the
`contents of the data file, causing the datafile 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.
`Objects greater than 5GBin size require the use of the multipart upload API.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`iManage\180225.1
`
`5
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000714
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 7 of 56
`
`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
`
`Connection
`
`The length in bytes of the body in the response.
`Type:
`String
`Default: None
`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.
`
`String
`Type:
`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
`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
`
`Cnvernw
`
`Tha nama of tha caruar that oraatad tha racnanea
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`iManage\180225.1
`
`6
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000715
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 8 of 56
`
`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 MDS 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: 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
`
`iManage\180225.1
`
`7
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000716
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 9 of 56
`
`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 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
`object you are uploading. If you upload a new part using the same part number as a previously uploaded
`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.
`
`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 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 or fail even after you aborted.
`To free all storage consumed by all parts, you must abort a multipart upload only afterall 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 MD5 hashof the object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`
`8
`
`U.S. Patent No. 6,415,280
`
`iManage\180225.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000717
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 10 of 56
`
`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 MDS hash ofthe object data.”
`
`Sample Request
`The following PUT request uploadsa part (part number1) in a multipart upload. The request
`response to your Initiate Multipart Upload request.
`
`the upload ID that you get in
`
`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/BjKK5G2UKvaRRrOA==
`Authorization:
`AWS
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`
`***part data omitted***
`
`Sample Response
`includes the ETag header. You need to retain this value for use when you send the Complete
`The response
`Multipart Upload request.
`
`200 OK
`HTTP/1.1
`x-amz-id-2:
`VvaglLuByRx9e6j50nimru9p04ZVKnJ2027/C1NPcf£TWAtRP£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
`
`iManage\180225.1
`
`9
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000718
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 11 of 56
`
`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
`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
`ensure the partslist is complete, this operation concatenates the parts you provide
`the parts list. You must
`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\180225.1
`
`10
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000719
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 12 of 56
`
`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
`
`CompleteMultipartUpload
`
`Description
`Container for the request.
`
`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
`
`Required
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180225.1
`
`11
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000720
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 13 of 56
`
`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
`BucketName.s3.amazonaws.com
`Host:
`Date: Date
`Content-Length:
`Authorization:
`
`Size
`Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETag>ETaq</ETaq>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180225.1
`
`12
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000721
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 14 of 56
`
`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
`
`Location
`
`Bucket
`
`Key
`
`ETag
`
`Description
`Container for the response
`Type: Container
`Children: Location, Bucket, Key, ETag
`Ancestors: None
`
`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/S
`
`3/latest/s3-api.pdf)
`
`iManage\180225.1
`
`13
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000722
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 15 of 56
`
`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=AAAsb2FkIE1EIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIR
`
`/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>"0c78aef83f66abc1fale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`<ETag>"acbdl8db4cc2f85cedef654fccc4a4d8"</ETag>
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-ap1.pdf)
`
`iManage\180225.1
`
`14
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000723
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 16 of 56
`
`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:
`UuaglLuByRx9e6j50nimru9p04ZVKnJ20z7/C1INPcfTWAtRPfTaOFg==
`656c76696e6727732072657175657374
`xX-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`Connection:
`close
`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>"3858f62230ac3c915f£300c664312c11f£-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\180225.1
`
`15
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000724
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 17 of 56
`
`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)
`
`Uploads a 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
`PUL
`BucketName.s3.amazonaws.com
`Host:
`/source bucket/sourceObject
`x-amz-copy-source:
`X-amz-copy-source-range:bytes=first-last
`xX-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:
`Date:
`date
`Authorization:
`
`time stamp
`time_stamp
`
`Signature
`
`HTTP/1.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180225.1
`
`16
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000725
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 18 of 56
`
`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 on the object that the x-amz-copy-source header specifies.
`
`Name
`
`Description
`
`Required
`
`No
`
`(ETag)
`
`X-amz-copy-source-if-match
`
`x-amz-copy-source-if-none-match
`
`xnamz-copy-source-i
`
`f-unnodi
`
`fied-since
`
`x-amz-copy-source-i
`
`f-modi
`
`fied-since
`
`Performa
`
`copy
`
`ifthe source object entity tag
`matches the specified value.If the value does not
`match, Amazon S3 returns an HTTP status code
`failed error.
`412
`precondition
`
`Type: String
`Default:
`None
`
`Perform a copy if the source object entity tag (ETag)
`is different than the value specified using this
`header. If the values match, Amazon S3 returns an
`failed error.
`HTTP status code 412
`
`precondition
`
`Type: String
`Default:
`None
`
`Perform a copy if the source object is not modified
`the time specified using this header. If the
`after
`source object is modified, Amazon S3 returns an
`failed error.
`HTTP status code 412
`precondition
`
`Type: String
`Default:
`None
`
`Perform a copyif the source object is modified after
`If the source
`the time specified using this header.
`is not modified, Amazon S3 returns an HTTP
`object
`failed error.
`status code 412
`
`precondition
`
`No
`
`No
`
`No
`
`Type: String
`Default:
`None
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`Similar to performing a multipart upload by copying existing objects, performing a GET of data
`17
`U.S. Patent No. 6,415,280
`
`iManage\180225.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000726
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 19 of 56
`
`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)
`makes available similar conditional parameters.
`
`Amazon Simple Storage Service API Reference
`GET Object
`
`Name
`
`If-Match
`
`Description
`
`Return the object only if its entity tag (2Tag) is the same as the one
`specified, otherwise return a 412 (precondition failed).
`Type: String
`
`Required
`
`No
`
`Default: None
`
`Constraints:
`
`None
`
`If-None-Match
`
`Return the object onlyif its entity tag (ETaq) 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 1f you're only interested in an object's metadata. The HEAD operation also
`has conditional parameters similar to the ones in the pervious discussions.
`
`iManage\180225.1
`
`18
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000727
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 20 of 56
`
`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
`
`Required
`
`No
`
`Default:
`
`None
`
`Constraints: None
`
`If-Match
`
`Return the object onlyif its entity tag (£Taqg)is the same as the one
`otherwise return a 412 (precondition failed).
`
`specified,
`
`No
`
`Type: String
`Default:
`None
`
`Constraints: None
`
`If-None-Match
`
`Return the object only if its entity tag (ETaq) is different
`one specified, otherwise return a 304 (not modified).
`Type: String
`
`from the
`
`No
`
`Default:
`
`None
`
`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\180225.1
`
`19
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000728
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 21 of 56
`
`CLAIM 36 ‘280 PATENT
`
`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)
`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,
`makes the PUT operation copy the source object into the destination bucket.
`xX-amz-copy-source,
`
`Note
`
`You canstore individual objects of up to 5 TB in Amazon S3. You create a copy of your object
`up to 5 GBin 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\180225.1
`
`20
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000729
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 22 of 56
`
`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
`Host:
`destinationBucket.s3.amazonaws.com
`/source bucket/sourceObject
`x-amz-copy-source:
`x-amz-metadata-directive:
`metadata_directive
`etag
`X-amz-copy-source-if-match:
`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_stamp
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180225.1
`
`21
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000730
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 23 of 56
`
`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)
`
`X-amz-copy-source-if-match
`
`x-amz-copy-source-if-none-match
`
`No
`
`No
`
`VUYULINIVITINGYUUGSL
`
`PIGAUTIS
`
`IZ)
`
`Copies the object if its entity tag (ETag) matches
`the specified tag; otherwise,
`the request
`returns
`HTTPstatus code error (precondition failed).
`Type: String
`Default: None
`This header can be used with
`Constraints:
`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
`This header can be used with
`Constraints:
`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\180225.1
`
`22
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000731
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 24 of 56
`
`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)
`
`iManage\180225.1
`
`23
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000732
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 25 of 56
`
`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)
`
`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
`including a processor
`pathname
`name and a file name, the method
`further comprising:
`
`All of the statements provided above with respect to claim 36 are incorporated by reference.
`
`Amazon S3 have a contextual name comprising a pathname which includes a processor name
`and file name (such as the URI, or Host, source_bucket, and
`sourceObject).
`
`iManage\180225.1
`
`24
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000733
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 26 of 56
`
`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)
`
`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:
`x-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\180225.1
`
`25
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000734
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 27 of 56
`
`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
`
`CompleteMultipartUploadResult
`
`Location
`
`Bucket
`
`Key
`
`ETag
`
`Description
`Container for the response
`Type: Container
`Children: Location, Bucket, Key, ETag
`Ancestors: None
`
`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
`
`iManage\180225.1
`
`26
`
`U.S. Patent No. 6,415,280
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000735
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 28 of 56
`
`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.
`
`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).
`
`iManage\180225.1
`
`27
`
`U.S. Patent No.
`
`6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000736
`
`

`

`Case 5:18-md-02834-BLF Document 348-3 Filed 01/18/19 Page 29 of 56
`
`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)
`
`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:
`x-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\180225.1
`
`28
`
`U.S. Patent No. 6,415,280
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000737
`
`

`

`Case 5:18-md-02834

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket