# US 10,375,144 B2 · Uploading over parallel requests

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,375,144 B2
- Document ID: US10375144B2
- Status: Granted
- Kind: B2
- Application number: 14/868,193
- Filed: 2015-09-28
- Published: 2017-03-30
- Granted: 2019-08-06
- Earliest claimed: 2015-09-28
- Assignees: Sony Corporation; Sony Media Cloud Services LLC
- Applicants: Sony Corporation; Sony Media Cloud Services LLC
- Inventors: Sheldon Lim; Brian Laske; Henry Anderson; Art Fort
- Web page: https://patentgrep.com/patent/US10375144B2

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/5681: Pre-fetching or pre-delivering data based on network characteristics
- H04L 61/4511: using domain name system [DNS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Uploading a file in a distributed manner to a server, including: dividing the file into a plurality of chunks; generating a plurality of aliases to a hostname corresponding to the server; and uploading the plurality of chunks to the plurality of aliases corresponding to the server. Key words include distributed uploading and aliases.

## Claims

### Claim 1

A method of uploading a file in a distributed manner to a server using a browser and using multiple aliases as multiple hostnames, the method comprising:
dividing the file, at a client device, into a plurality of chunks;
generating a plurality of aliases for a hostname corresponding to the server so that the plurality of aliases appears as different hostnames to the browser; and
uploading at least one of the plurality of chunks to each of the plurality of aliases corresponding to the server using simultaneous hypertext transfer protocol (HTTP) requests to the plurality of aliases,
wherein a number of the simultaneous HTTP requests made to the plurality of aliases is more than a maximum number of simultaneous HTTP requests that can be made to the hostname without the use of the plurality of aliases,
wherein the uploading delivers the plurality of chunks of the file to the hostname corresponding to the server quicker than without the use of the plurality of aliases.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating a plurality of aliases comprises
generating multiple canonical name (CNAME) records in Domain Name System (DNS).

### Claim 3 (depends on 1)

The method of claim 1, wherein the file is an encrypted file storing a movie.

### Claim 4 (depends on 1)

The method of claim 1, wherein sizes of the plurality of chunks are variable between 0.5 and 500 megabytes.

### Claim 5 (depends on 4)

The method of claim 4, wherein a size of each chunk of the plurality of chunks depends on factors including bandwidth availability, memory availability of the client device, and correlation between a size of the file and a count limit of the plurality of chunks.

### Claim 6 (depends on 1)

The method of claim 1, wherein uploading the plurality of chunks comprises
initiating a separate execution thread associated with each chunk of the plurality of chunks.

### Claim 7 (depends on 1)

The method of claim 1, further comprising
tracking a location of each chunk of the plurality of chunks so that the plurality chunks can be reassembled later.

### Claim 8 (depends on 7)

The method of claim 7, wherein tracking a location of each chunk comprises
monitoring each chunk to verify that the plurality of chunks is received in order at the server.

### Claim 9 (depends on 1)

The method of claim 1, further comprising
ordering according to a priority of each chunk of the plurality of chunks.

### Claim 10 (depends on 9)

The method of claim 9, wherein ordering comprises
prioritizing the plurality of chunks using predictive caching hypertext transfer protocol (HTTP) request handler.

### Claim 11 (depends on 10)

The method of claim 10, wherein prioritizing the plurality of chunks comprises
using an HTTP proxy server to analyze byte patterns that are being requested to predictively read ahead.

### Claim 12 (depends on 1)

The method of claim 1, further comprising
pre-caching the plurality of chunk in memory to be deliver later on demand.

### Claim 13 (depends on 1)

The method of claim 1, wherein the client device is a media device.

### Claim 14 (depends on 1)

The method of claim 1, wherein the server is configured as a distributed server network.

### Claim 15

An apparatus for uploading a file in a distributed manner to a server using a browser and using multiple aliases as multiple hostnames, the apparatus comprising:
means for dividing the file into a plurality of chunks;
means for generating a plurality of aliases for a hostname corresponding to the server so that the plurality of aliases appears as different hostnames to the browser; and
means for uploading at least one of the plurality of chunks to each of the plurality of aliases corresponding to the server using simultaneous HTTP requests to the plurality of aliases,
wherein a number of the simultaneous HTTP requests made to the plurality of aliases is more than a maximum number of simultaneous HTTP requests that can be made to the hostname without the use of the plurality of aliases,
wherein the means for uploading delivers the plurality of chunks of the file to the hostname corresponding to the server quicker than without the use of the plurality of aliases.

### Claim 16

An apparatus comprising:
a processor;
a non-transitory computer-readable storage medium coupled to the processor, the computer-readable storage medium storing a computer program to upload a file in a distributed manner to a server using a browser and using multiple aliases as multiple hostnames, the computer program comprising instructions executable by the processor that cause the apparatus to:
divide the file into a plurality of chunks;
generate a plurality of aliases for a hostname corresponding to the server so that the plurality of aliases appears as different hostnames to the browser; and
upload at least one of the plurality of chunks to each of the plurality of aliases corresponding to the server using simultaneous HTTP requests to the plurality of aliases,
wherein a number of the simultaneous HTTP requests made to the plurality of aliases is more than a maximum number of simultaneous HTTP requests that can be made to the hostname without the use of the plurality of aliases,
wherein the executable instructions that cause the apparatus to upload at least one of the plurality of chunks deliver the plurality of chunks of the file to the hostname corresponding to the server quicker than without the use of the plurality of aliases.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the apparatus is a media device.
