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

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 2 of 113
`
`Supplemental Infringement Contentions
`RESTRICTED CONFIDENTIAL - CONTAINS SOURCE CODE MATERIAL
`
`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:
`
`is an online storage web service offered by Amazon Web
`Amazon S3 (Simple Storage Service)
`Services that performs a computer-implemented method implemented at 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/].
`
`Multiple amazon servers and multiple client computers are connected through IP connections,
`and each contains processors to send request and to receive request. Both S3 and client
`computers consist of processors in which to send and receive 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. 7,802,310
`
`iManage\180232.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000776
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 3 of 113
`
`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)
`
`(a) using a processor, receiving at
`a first computer from a second
`a request
`regarding a
`computer,
`particular data item, said request
`including at least a content-
`name for the particular
`dependent
`
`Amazon’s S3, 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-
`dependent namebeing based,at least in part, on at least a function of the data in the particular
`data item (i.e., it is a hash), 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
`
`2
`
`U.S. Patent No. 7,802,310
`
`iManage\180232.1
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000777
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 4 of 113
`
`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)
`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 $3 automatically generates a hash to identify and
`retrieve the data being uploaded.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`in size require the use of the multipart upload API.
`Objects greater than
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`CLAIM 24 ‘310 PATENT
`
`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
`the content-dependent
`determine
`name comprises at least some of
`the contents of the particular data
`item, wherein the function that
`was used comprises a message
`function or a hash function,
`digest
`and wherein two identical data
`items will have the same content-
`dependent name;
`
`iManage\180232.1
`
`3
`
`U.S. Patent No.
`
`7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000778
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 5 of 113
`
`CLAIM 24 ‘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.
`
`Description
`
`|
`
`Content-Length
`
`The length in bytes of the body in the response.
`Type:
`String
`Default: None
`
`Connection
`
`specifies whether the connection to the server is open or closed.
`Type: Enum
`Valid Values: open | close
`Default: None
`
`Date
`
`ETag
`
`The date and time Amazon S3 responded, for example, Wed, 01 Mar 2009
`12:00:00 GMT.
`Type: String
`Default: None
`
`The entity tag is a hash of the object. The ETag only reflects changes to the
`contents of an object, not its metadata. The ETag is determined when an object
`is created. For objects created by the PUT Object operation and the POST Object
`the ETag is a quoted, 32-digit hexadecimal string representing the
`operation,
`digest of the object data. For other objects, the ETag may or may not be an
`MDS digest of the object data.If the ETag is not an MD5 digest of the object data,
`it will contain one or more non-hexadecimal characters and/or will consist of less
`than 32 or more than 32 hexadecimal digits.
`Type: String
`
`CAvernAe
`
`Tha nama of tha carver that crastad tha racnanca
`
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf].
`
`Multipart Uploads:
`
`iManage\180232.1
`
`4
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000779
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 6 of 113
`
`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
`it is a MD5 hash, see “common response headers” graphic
`hash (because it is a PUT operation,
`above,) of the data-part, which is required for a later request to complete the multipart upload
`and for Amazon S3 to concatenate the parts together to form a single object.
`And once combined, Amazon S3
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`responds with an ETag that uniquely identifies the combined data.
`[http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf].
`
`Multipart uploading is a three-step process: You initiate the upload, you upload the object parts, and after
`you have uploaded all the parts, you complete the multipart upload. Upon receiving the complete multipart
`from the uploaded parts, and you can then access the
`request, Amazon S3 constructs the object
`just as you would any other object in your bucket.
`
`upload
`
`object
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`Parts Upload Step
`
`Parts Upload
`
`When uploadinga part,
`
`in addition to the upload ID, you must specify a part number. You can choose
`any part number between 1 and 10,000. A part number uniquely identifies a part and its position in the
`If you upload a new part using the samepart number as a previously uploaded
`object you are uploading.
`part, the previously uploaded part is overwritten. Whenever you upload a part, Amazon S3 returns an
`ETag header in its response. For each part upload, you must record the part number and the ETag value.
`You need to include these values in the subsequent request to complete the multipart upload.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`iManage\180232.1
`
`5
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000780
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 7 of 113
`
`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 provided in the initiate multipart upload
`request, Amazon S3 associates that metadata with the object. After a successful complete request, the
`parts no longer exist. Your complete multipart upload request must include the upload ID and a list of
`includes an ETag that uniquely
`both part numbers and corresponding ETag values. Amazon S3 response
`identifies the combined object data. This ETag will not necessarily be an MD5 hash of the object data.
`You can optionally abort the multipart upload. After aborting a multipart upload, you cannot upload any
`part using that upload ID again. All storage that any parts from the aborted multipart upload consumed
`is then freed. If any part uploads were in-progress, they can still succeed orfail even after you aborted.
`To free all storage consumed by all parts, you must abort a multipart upload only after all part uploads
`have completed.
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-dg.pdf)
`
`* Note: It is our current understanding that the individual parts uploaded with PUT or POST
`object operations necessarily have an ETag that is the MDS hash ofthe object data (see graphic
`above titled “Common Response Headers,”) however the ETag of the combined object data “will
`not necessarily be an MDS hash ofthe object data.”
`
`iManage\180232.1
`
`6
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000781
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 8 of 113
`
`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 number1) in a multipart upload. The request
`the upload ID that you get in response to your Initiate Multipart Upload request.
`
`includes
`
`PUT
`
`/my-movie.m2ts?partNumber=1
`éuploadId=VCVsb2FkIE1EIGZvciBlbZZpbm
`HTTP/1.1
`cncyBteS1itb3ZpZS5tMnRzIHVwbG9hZR
`Host:
`example-bucket.s3.amazonaws.com
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`10485760
`Content-Length:
`Content-MD5:
`pUNXr/BjKK5G2UKvaRRrOA==
`Authorization:
`AWS
`VGhpcyBtZXNzYWd1IHNpZ251ZGGieSR1bHZpbmc=
`
`***part data omitted***
`
`Sample Response
`The response includes the ETag header. You need to retain this value for use when you send the Complete
`Multipart Upload request.
`
`HTTP/1.1 200 OK
`x-amz-id-2:
`VvaglLuByRx9e6j50nimru9p04ZVKnJ2027/C1NPcfTWAtRP£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date:
`Mon,
`"b54357faf0632cce46e942fa68356b38"
`ETag:
`Content-Length:
`0
`Connection:
`keep-alive
`Server:
`AmazonS3
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`7
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000782
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 9 of 113
`
`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
`you call this operation
`Upload Part (p. 171)). After successfully uploading all relevant parts of an upload,
`to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending
`order by part numberto create a new object.
`In the Complete Multipart Upload request, you must provide
`the parts list. You must ensure the parts list is complete, this operation concatenates the parts you provide
`in the list. For each part in the list, you must provide the part number and the ETag header value,
`returned
`after that part was uploaded.
`
`Processing of a Complete Multipart Upload request could take Several minutes to complete. After Amazon
`it sends an HTTP response header that specifies a 200 OK response.
`S3 begins processing the request,
`While processing is in progress, Amazon S3 periodically sends whitespace characters to keep the
`from timing out. Because a request could fail after the initial 200 OK response has been sent,
`connection
`is important that you check the response body to determine whether the request succeeded.
`
`it
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`8
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000783
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 10 of 113
`
`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
`
`Ancestor: None
`Type: Container
`Children: One or more Part elements
`
`Part
`
`Container for elements related to a particular previously
`uploaded
`part.
`
`CompleteMultipartUpload
`Ancestor:
`Type: Container
`Children: PartNumber, ETag
`
`PartNumber
`
`Part number that identifies the part.
`
`ETag
`
`Type:
`
`Ancestor: Part
`Integer
`Entity tag returned when the part was uploaded.
`
`Ancestor: Part
`
`Type: String
`
`Yes
`
`Yes
`
`Yes
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000784
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 11 of 113
`
`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=Uploadid HTTP/1.1
`POST
`BucketName.s3.amazonaws.com
`Host:
`Date: Date
`Content-Length:
`Authorization:
`
`Size
`Signature
`
`<CompleteMultipartUpload>
`<Part>
`<PartNumber>PartNumber</PartNumber>
`<ETaq>ETag</ETag>
`</Part>
`
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`10
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000785
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 12 of 113
`
`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 nameof the bucket that contains the newly created object.
`
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`The object key of the newly created object.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`Entity tag that identifies the newly created object's data.
`Objects with different object data will have different entity
`tags. The entity tag is an opaque string.
`Type: String
`
`Ancestors:
`
`CompleteMultipartUploadResult
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`11
`
`U.S. Patent No.
`
`7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000786
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 13 of 113
`
`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>"a54357aff£0632cce46d942af68356b38"</ETag>
`</Part>
`<Part>
`<PartNumber>2</PartNumber>
`<ETag>"0c78aef83f66abclfale8477£296d394"</ETag>
`</Part>
`<Part>
`<PartNumber>3</PartNumber>
`<ETag>"acbdl8db4cc2f85cedef654fccc4a4d8"</ETag>
`</Part>
`</CompleteMultipartUpload>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`12
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000787
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 14 of 113
`
`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/C1INPcfTWAtRPf£TaOFg==
`656c76696e6727732072657175657374
`x-amz-request-id:
`1 Nov 2010 20:34:56 GMT
`Date: Mon,
`Connection:
`close
`Server:
`AmazonS3
`
`<?xml version="1.0"
`encoding="UTF-8"?>
`<CompleteMultipartUploadResult
`xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
`
`<Location>http:
`//Example-Bucket.s3.amazonaws.com/Example-Object</Location>
`<Bucket>Example-Bucket</Bucket>
`<Key>Example-Object</Key>
`<ETag>"3858f62230ac3c915£300c664312c11f£-9"</ETag>
`</CompleteMultipartUploadResult>
`
`(http://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`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\180232.1
`
`13
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000788
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 15 of 113
`
`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)
`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)
`
`/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\180232.1
`
`14
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000789
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 16 of 113
`
`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.
`
`Name
`
`Description
`
`xX-amz-copy-source-if-match
`
`xX-amz-copy-source-i
`
`f-none-match
`
`xamz-cgpy-sourncs—i
`
`f-unmodi
`
`fied-since
`
`x-amz-copy-source-i
`
`f-modi
`
`fied-sinoe
`
`copy ifthe source object entity tag (ETag)
`Performa
`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 copy if the source object entity tag (ETag)
`is different than the value specified using this
`If the values match, Amazon S3 returns an
`header.
`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 copy if 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
`
`No
`
`iManage\180232.1
`
`://awsdocs.s3.amazonaws.com/S3/latest/s3-api.pdf)
`
`15
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000790
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 17 of 113
`
`U.S. PATENTNO. 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
`
`Description
`
`Return the object only if its entity tag (Taq) 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 (Taq) 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\180232.1
`
`16
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000791
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 18 of 113
`
`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-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 (ZTag) 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 onlyif its entity tag (ETaq) is different
`one specified, otherwise return a 304 (not modified).
`Type: String
`Default: None
`Constraints: None
`
`from the
`
`No
`
`(http://awsdocs.s3.amazonaws.com/S$3/latest/s3-api.pdf)
`
`The PUT operation with COPY also has conditional parameters similar to the ones in the
`discussions.
`pervious
`
`iManage\180232.1
`
`17
`
`U.S. Patent No.
`
`7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000792
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 19 of 113
`
`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.
`
`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\180232.1
`
`18
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000793
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 20 of 113
`
`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:
`/source bucket/sourceObject
`x-amz-copy-source:
`x-amz-metadata-directive:
`metadata directive
`etag
`X-amz-copy-source-if-match:
`etag
`xX-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/S$3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`19
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000794
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 21 of 113
`
`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)
`
`X-amz-copy-source-if-match
`
`X-amz-copy-source-if-none-match
`
`No
`
`No
`
`IL)
`
`MULINIIVIT INE YUGSL PITaAUTIS
`Copies the object if its entity tag (ETag) matches
`the specified tag; otherwise, the request
`returns
`a 412 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:
`xX-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\180232.1
`
`20
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000795
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 22 of 113
`
`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)
`
`iManage\180232.1
`
`21
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000796
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 23 of 113
`
`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)
`
`(b) in responseto said request:
`
`See, step (a) above.
`
`(i) causing the
`content-dependent
`name of the particular data item to
`be compared to a plurality of
`
`values;
`
`name of the particular
`As discussed above in step (a), Amazon S3 causes the content-dependent
`data item (the “ETag”) to be compared to a plurality of values (other “ETags”).
`
`iManage\180232.1
`
`22
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000797
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 24 of 113
`
`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)
`
`iManage\180232.1
`
`23
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000798
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 25 of 113
`
`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)
`
`As discussed abovein step (a), and based upon information and belief, Amazon S3 uses
`in combination with software to determine whether or not access to the particular data
`hardware
`name of the particular data item
`item is unauthorized based on whether the content-dependent
`corresponds to at least one of said plurality of values.
`
`(ii) hardware in combination with
`software determining whetheror
`not access to the particular data
`item is unauthorized based on
`whether the
`content-dependent
`name ofthe particular data item
`corresponds to at least one of said
`plurality of values, and
`
`iManage\180232.1
`
`24
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000799
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 26 of 113
`
`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)
`
`iManage\180232.1
`
`25
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000800
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 27 of 113
`
`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)
`
`(iii) based on said determining in
`step (ii), not allowing the
`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.
`
`As discussed abovein 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 computerifit is
`determined that access to the particular data item is not
`
`authorized.
`
`Only authorized users as defined by access control of the node can access the node and retrieve
`the data item stored in the node. Unauthorized users can’t access andretrieve the data item stored
`in the node.
`
`CLAIM 29 ‘310 PATENT
`
`Amazon Simple Storage Service (S3)
`
`29. The method of claim 24
`wherein the data used by the
`function to determine the content-
`
`iManage\180232.1
`
`All of the statements provided above with respect to claim 24 are incorporated by reference.
`
`26
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000801
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 28 of 113
`
`U.S. PATENT NO. 7,802,310
`
`Issued
`
`September 21, 2010
`
`CLAIM 29 ‘310 PATENT
`name of the particular
`dependent
`data item comprises only the
`contents of the particular data
`item.
`
`Controlling Access To
`
`Data In A Data Processing System
`
`Amazon Simple Storage Service (S3)
`
`Common Res
`The following table de:
`
`ponse Headers
`response headers that are common to most AWSS3 responses.
`
`scribes
`
`Name
`
`Description
`
`|
`
`Content-Length
`
`The length in bytes of the body in the
`Type:
`String
`Default: None
`
`response.
`
`Connection
`
`specifies whether the connection to the server is open or
`
`closed.
`
`Enum
`
`Type:
`Valid Values: open |
`Default: None
`
`close
`
`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 hashof the object. The ETag only reflects
`changes to the
`not its metadata. The ETag is determined when an object
`of an object,
`contents
`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,
`MDS digest of the object data. For other objects,
`the ETag may or may not be an
`digest of the object data. If the ETag is not an MD5 digest of the object data,
`it will contain one or more non-hexadecimal characters and/or will consist of
`than 32 or more than 32 hexadecimal digits.
`
`less
`
`Type:
`
`String
`
`( http://awsdocs.s3.amaz
`
`that rractad tha racnanca
`Tha nama of tha caruar
`onaws.com/S3/latest/s3-api.pdf)
`
`iManage\180232.1
`
`27
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000802
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 29 of 113
`
`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)
`
`iManage\180232.1
`
`28
`
`U.S. Patent No. 7,802,310
`
`HIGHLY CONFIDENTIAL — SOURCE CODE
`
`AMZ_PWT_00000803
`
`

`

`Case 5:18-md-02834-BLF Document 348-4 Filed 01/18/19 Page 30 of 113
`
`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)
`
`Amazon Simple Storage Service (S3)
`All of the statements provided above with respect to claim 24 are incorporated by reference.
`
`CLAIM 32 ‘310 PATENT
`
`32. The method of claim 24
`wherein the d

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