throbber

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 1 of 79
`Case 5:18—md-02834-BLF Document 340-2 Filed 01/09/19 Page 1 of 79
`
`EXHIBIT 2A
`EXHIBIT 2A
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 2 of 79
`
`Claim Chart for Amazon Simple Storage Service (S3) U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`24. A computer-implemented
`method implementedat least in
`part by hardware comprising one
`or more processors, the method
`comprising:
`
`(a) using a processor, receiving at
`a first computer from a second
`computer, a request regarding a
`particular data item, said request
`including at least a content-
`namefor the particular
`dependent
`data item, the
`content-dependent
`name being based, at least in part,
`on at least a function of the data in
`the particular data item, wherein
`the data used by the function to
`determine the
`content-dependent
`name comprises at least some of
`the contents of the particular data
`item, wherein the function that
`was used comprises a message
`
`iManage\18%0232.1
`
`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 S3 (Simple Storage Service)
`Services that performs a computer-implemented method implementedat least in part by
`comprising one or more processors.
`
`hardware
`
`Amazon S83 provides storage through web services interfaces. S3 stores arbitrary objects
`files) up to 5 terabytes in size, each accompanied by up to 2 kilobytes of metadata.
`(computer
`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/].
`
`Although a review of Defendant’s source codeis necessary to confirm, Plaintiff believes that
`Amazon’s S83, using a processor, receives at a first computer (Amazon’s servers) from a second
`(an end user’s computer), a request regarding a particular data item, said request
`computer
`including at least a content-dependent name (an “ETag’’) for the particular data item, the content-
`name being based, at least in part, on at least a function of the data in the particular
`dependent
`data item (i.e., 1t is a hash), wherein the data used by the function to determine the content-
`dependent name comprises at least some ofthe contents ofthe particular data item, wherein the
`function or a hash function, and wherein two
`function that was used comprises a message digest
`identical data items will have the same content-dependent name.
`
`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].
`
`1
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005848
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 3 of 79
`
`CLAIM 24 ‘310 PATENT
`
`function or a hash function,
`digest
`and wherein two identical data
`items will have the same content-
`dependent name;
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`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 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
`
`CAvweanaw
`
`Tha nama af tha carver that sraatad tha
`
`racnanea
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\18%0232.1
`
`2
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005849
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 4 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`3
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005850
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 5 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`4
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005851
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 6 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`5
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005852
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 7 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`6
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005853
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 8 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005854
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 9 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005855
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 10 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`9
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005856
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 11 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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\18%0232.1
`
`10
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005857
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 12 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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/C1NPc£TWAtRP£TaOFg==
`X-amz-request-id:
`656c¢76696e6727732072657175657374
`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>
`
`(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%0232.1
`
`11
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005858
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 13 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`adding the request header x-amz-copy-source in your request anda byte range by adding the request
`Uploads a part by copying data from an existing object as data source. You specify the data source by
`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
`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:
`date
`Date:
`Authorization:
`
`time stamp
`time_stamp
`
`Signature
`
`HTTP/1.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0232.1
`
`12
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005859
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 14 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`The following conditional headers are based onthe object that the x-amz-copy-source header specifies.
`
`X-amz-copy-source-if-match
`
`xX-amz-copy-source-i
`
`f-none-match
`
`if
`
`ifFied-si
`
`x-amz—copy~source—1
`
`f-modi
`
`fFied-sinoe
`
`Description
`
`Perform a copyif the 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
`object is not modified, Amazon S3 returns an HTTP
`status code 412 precondition failed error.
`Type: String
`Default: None
`
`Required
`
`No
`
`No
`
`No
`
`No
`
`iManage\18%0232.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`13
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005860
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 15 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`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 (2Tag) 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.
`
`iManage\18%0232.1
`
`14
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005861
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 16 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`Amazon Simple Storage Service API Reference
`HEAD Object
`
`Name
`
`If-Unmodi
`
`fied-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
`
`If-None-Match
`
`Return the object only if 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 (ETag)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%0232.1
`
`15
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005862
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 17 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 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%0232.1
`
`16
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005863
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 18 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`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
`xX-amz-copy-source-if-unmodified-since:
`x-amz-copy-source-if-modified-since:
`<request metadata>
`Authorization:
`signatureValue
`date
`Date:
`
`time stamp
`time
`s
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\18%0232.1
`
`17
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005864
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 19 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`xX-amz-copy-source-if-match
`
`IZ)
`
`VULIITIIVUIT
`
`INGSYUGCSL 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.
`
`x-amz-copy-source-if-none-match
`
`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.
`
`No
`
`No
`
`(b)
`
`in response to said request:
`
`(i) causing the
`name of the particular data item to
`be compared to a plurality of
`
`content-dependent
`
`values;
`
`iManage\18%0232.1
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`See, step (a) above.
`As discussed abovein step (a), Amazon
`causes the content-dependent name of the particular
`data item (the “ETag’’) to be compared to a plurality of values (other “ETags’’).
`
`18
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005865
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 20 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 24 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`(ji) hardware in combination with
`software determining whether or
`not access to the particular data
`item is unauthorized based on
`whether the
`content-dependent
`name of the particular data item
`corresponds to at least one of said
`plurality of values, and
`
`based on said determining in
`step (11), not allowing the
`particular data item to be provided
`computer if it is determined that
`to or accessed by the second
`access to the particular data item 1s
`not authorized.
`
`CLAIM 29 ‘310 PATENT
`29. The methodof claim 24
`wherein the data used by the
`function to determine the content-
`name ofthe particular
`dependent
`data item comprises only the
`contents of the particular data
`
`iManage\18%0232.1
`
`As discussed above in step (a), and based upon information and belief, Amazon S3 uses
`hardware in combination with software to determine whether or not access to the particular data
`item is unauthorized based on whether the content-dependent name of the particular data item
`corresponds to at least one of said plurality of values.
`
`As discussed above in step (a), and based upon information and belief, Amazon $3 does not
`allow a particular data item to be provided to or accessed by the second computer ifit is
`determined that access to the particular data item is not authorized.
`
`Amazon Simple Storage Service (S3)
`
`All of the statements provided above with respect to claim 24 are incorporated by reference.
`
`Although review of Defendant’s source code is necessary to confirm, Plaintiff believes that the
`data used by the function to determine the content dependent name of the particular data item
`comprises only the contents of the particular data item.
`
`19
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005866
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 21 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 29 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`item.
`
`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 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
`
`Tha nama af tha carver that eraatad tha
`CAweraw
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`racnanea
`
`iManage\18%0232.1
`
`20
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005867
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 22 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 32 ‘310 PATENT
`
`32. The method of claim 24
`wherein the data used by the
`function to determine the content-
`dependent name of the particular
`data item comprises ofall of the
`contents of the particular data
`item.
`
`Amazon Simple Storage Service (S3)
`All of the statements provided above with respect to claim 24 are incorporated by reference.
`
`Although review of Defendant’s source code is necessary to confirm, Plaintiff believes that the
`data used by the function to determine the content dependent name of the particular data item
`comprises all of the contents of the particular data item.
`
`iManage\18%0232.1
`
`21
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005868
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 23 of 79
`
`CLAIM 32 ‘310 PATENT
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`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, 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 digest of 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
`
`Tha nama of tha carver that eraatad tha racnaneca
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`CAwreaAw.
`
`iManage\18%0232.1
`
`22
`
`U.S. Patent No.
`
`7,802,310
`
`AMZ_PWT_00005869
`
`

`

`Case 5:18-md-02834-BLF Document 340-2 Filed 01/09/19 Page 24 of 79
`
`U.S. PATENT NO. 7,802,310
`
`Issued September 21, 2010
`
`Controlling Access To Data In A Data Processing System
`
`CLAIM 70 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`computers,
`
`70. A computer-
`implemented method
`operable in a system which
`includes a network of
`the system
`implemented at least in part
`by hardware including at
`least one processor,
`the
`method comprising the steps
`of:
`
`in responseto a request at a
`first computer, from another
`computer, said request
`comprising at least a
`identifier for
`content-based
`a particular data item,
`the
`identifier for
`content-based
`the particular data item
`being basedat least in part
`on a given function of at
`least some data which
`comprise the contents of the
`particular data item, wherein
`the given function
`comprises a message digest
`
`iManage\18%0232.1
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that Amazon
`is an online storage web service offered by Amazon Web Services that is a
`S3 (Simple Storage Service)
`device operable in a network of computers, the device comprising hardware,
`including at least one
`processor and memory.
`
`provides storage through web services interfaces. S3 stores arbitrary objects (computer
`Amazon
`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_S3;
`http://aws.amazon.com/s3/].
`
`Although a review of Defendant’s source code is necessary to confirm, Plaintiff believes that Amazon
`S3 receives from another device in the network (e.g., an end user or another Amazon S3 server),
`requests comprising a digital identifier for a particular sequence of bits (an ‘““ETag”’), the digital
`identifier being based, at least in part, on a given function ofat least someof the bits in the particular
`sequence of bits, wherein the given function comprises a h

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