# US 10,873,615 B1 · Source assignment based on network partitioning

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

- Number: US 10,873,615 B1
- Document ID: US10873615B1
- Status: Granted
- Kind: B1
- Application number: 14/971,023
- Filed: 2015-12-16
- Granted: 2020-12-22
- Earliest claimed: 2012-09-05
- Assignees: Conviva Inc.
- Applicants: Conviva Inc.
- Inventors: Ion Stoica; Hui Zhang; Xi Liu; Florin Dobrian; Henry Milner
- Web page: https://patentgrep.com/patent/US10873615B1

## CPC

- H04L 67/306: User profiles
- H04L 65/612: for unicast
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 65/80: Responding to QoS
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04N 21/23103: {using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers (storage management G06F3/0604; allocation of resources considering the load in multiprogramming arrangements G06F9/505; techniques for rebalancing the load in a distributed system G06F9/5083; access to distributed or replicated servers, e.g. load balancing, in data networks H04L67/1001)}
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/2404: {Monitoring of server processing errors or hardware failure (error or fault detection G06F11/07; monitoring in general G06F11/30)}
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Directing a content player to a content source is disclosed. A first manifest request from a client requesting content is received at a server. The manifest request includes information generated as a result of the client contacting a content management system and in response, receiving from the content management system information associated with the client and a direction to the server. Based at least in part on the received information, at least one of a bitrate and a content source is determined. Instructions are sent to the client based at least in part on the determination. The client is configured to obtain the requested content according to the instructions.

## Claims

### Claim 1

A system, comprising:
one or more processors configured to:
receive, at a content distribution coordinator, a manifest request from a client requesting content, wherein the client is configured to access the content distribution coordinator via a virtual resource locator provided to the client by a content management system, wherein the content management system provided the virtual resource locator to the client in response to the client having made a request to the content management system for content, and wherein the virtual resource locator provided to the client by the content management system encodes information including a plurality of content delivery networks at which the requested content is stored;
in response to the content distribution coordinator being accessed via the virtual resource locator provided to the client by the content management system, dynamically generate a manifest file based at least in part on: playback quality experienced by one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator; and
send, to the client, the manifest file dynamically generated based at least in part on: the playback quality experienced by the one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator, wherein the client is configured to obtain the requested content according to the dynamically generated manifest file; and
a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

### Claim 2 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of a protocol type associated with the requested content.

### Claim 3 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an identifier associated with the content management system.

### Claim 4 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of one or more bitrates at which the content is stored.

### Claim 5 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes a name of the content being requested by the client.

### Claim 6 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes a type of the content being requested by the client.

### Claim 7 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of a type of a device associated with the client.

### Claim 8 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of an access connection associated with a device associated with the client.

### Claim 9 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of a digital rights management technology used for the requested content.

### Claim 10 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of an operating system of a device associated with the client.

### Claim 11 (depends on 10)

The system recited in claim 10, wherein the information encoded in the virtual resource locator includes an indication of a version of the operating system.

### Claim 12 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of a location of the content distribution coordinator.

### Claim 13 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes a security token that was previously generated by the content distribution coordinator and passed to the content management system.

### Claim 14 (depends on 13)

The system recited in claim 13, wherein the one or more processors are further configured to validate the security token.

### Claim 15 (depends on 1)

The system recited in claim 1, wherein the information encoded in the virtual resource locator includes an indication of a firmware version of a device associated with the client.

### Claim 16

A method, comprising:
receiving, at a content distribution coordinator, a manifest request from a client requesting content, wherein the client is configured to access the content distribution coordinator via a virtual resource locator provided to the client by a content management system, wherein the content management system provided the virtual resource locator to the client in response to the client having made a request to the content management system for content, and wherein the virtual resource locator provided to the client by the content management system encodes information including a plurality of content delivery networks at which the requested content is stored;
in response to the content distribution coordinator being accessed via the virtual resource locator provided to the client by the content management system, dynamically generating, using one or more processors, a manifest file based at least in part on: playback quality experienced by one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator; and
sending, to the client, the manifest file dynamically generated based at least in part on: the playback quality experienced by the one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator, wherein the client is configured to obtain the requested content according to the dynamically generated manifest file.

### Claim 17

A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
receiving, at a content distribution coordinator, a manifest request from a client requesting content, wherein the client is configured to access the content distribution coordinator via a virtual resource locator provided to the client by a content management system, wherein the content management system provided the virtual resource locator to the client in response to the client having made a request to the content management system for content, and wherein the virtual resource locator provided to the client by the content management system encodes information including a plurality of content delivery networks at which the requested content is stored;
in response to the content distribution coordinator being accessed via the virtual resource locator provided to the client by the content management system, dynamically generating a manifest file based at least in part on: playback quality experienced by one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator; and
sending, to the client, the manifest file dynamically generated based at least in part on: the playback quality experienced by the one or more clients determined to be correlated with the client, and the plurality of content delivery networks encoded in the virtual resource locator, wherein the client is configured to obtain the requested content according to the dynamically generated manifest file.
