# US 2008/0306818 A1 · Multi-client streamer with late binding of ad content

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

- Number: US 2008/0306818 A1
- Document ID: US20080306818A1
- Status: Published application
- Kind: A1
- Application number: 11/760,013
- Filed: 2007-06-08
- Published: 2008-12-11
- Earliest claimed: 2007-06-08
- Assignees: Qurio Holdings, Inc.
- Inventors: Gregory Morgan Evans; Alfredo C. Issa
- Web page: https://patentgrep.com/patent/US20080306818A1

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06Q 30/0264: {based upon schedule}
- G06Q 30/0277: {Online advertisement}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A late-binding multi-client streamer utilizing Remote Direct Memory Access (RDMA) transfers to obtain video and advertisement content is provided. For each client device, the streamer receives a video content selection. In response, the streamer initiates an RDMA transfer of the video content or a segment of the video content from a storage device of a video content server to an associated video buffer and begins streaming the video content from the video buffer to the client device. When an upcoming advertisement slot in the video content is detected, the streamer initiates an RDMA transfer of an advertisement for the ad slot from a storage device associated with an advertisement content server to an associated ad buffer. The streamer then inserts the advertisement from the ad buffer into the ad slot in the video content as the video content is streamed to the client device.

## Claims

### Claim 1

A method comprising:
at a first network node, receiving a request for select video content;
obtaining a range of addresses in a storage device associated with a video content server allocated for the select video content;
initiating a direct memory-to-memory transfer of at least a portion of the select video content from the range of addresses in the storage device to a video content buffer associated with the first network node via a network connection; and
streaming the select video content from the video content buffer to a client device.

### Claim 2 (depends on 1)

The method of claim 1 wherein the direct memory-to-memory transfer is a Remote Direct Memory Access (RDMA) transfer.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
detecting an upcoming advertisement slot in the select video content;
obtaining an advertisement for the advertisement slot from an advertisement content server; and
inserting the advertisement into the advertisement slot as the select video content is streamed to the client device.

### Claim 4 (depends on 3)

The method of claim 3 wherein obtaining the advertisement for the advertisement slot comprises initiating a direct memory-to-memory transfer of the advertisement from a storage device associated with the advertisement content server to an advertisement buffer associated with the first network node via a network connection.

### Claim 5 (depends on 4)

The method of claim 4 wherein the direct memory-to-memory transfer of the advertisement is an RDMA transfer.

### Claim 6 (depends on 3)

The method of claim 3 wherein obtaining the advertisement for the advertisement slot comprises:
selecting one of a plurality of advertisement categories for the advertisement slot;
obtaining information identifying a range of addresses in a storage device associated with the advertisement content server allocated for the one of the plurality of advertisement categories; and
initiating an RDMA transfer of the advertisement for the advertisement slot from the range of addresses in the storage device associated with the advertisement content server to an advertisement buffer associated with the first network node;
wherein inserting the advertisement into the advertisement slot comprises inserting the advertisement from the advertisement buffer into the advertisement slot as the select video content is streamed to the client device.

### Claim 7 (depends on 6)

The method of claim 6 wherein selecting the one of the plurality of advertisement categories for the advertisement slot comprises selecting the one of the plurality of advertisement categories based on a comparison of information describing the plurality of advertisement categories and at least one of a group consisting of: information describing the select video content and a viewer profile of a viewer associated with the client device.

### Claim 8 (depends on 7)

The method of claim 7 wherein the viewer profile comprises at least one of a group consisting of: demographic information describing the viewer, biographical information describing the viewer, information identifying or describing video content previously viewed by the viewer, information identifying or describing at least one advertisement previously skipped by the viewer, information identifying or describing at least one advertisement previously viewed by the viewer, and information identifying at least one preference of the viewer.

### Claim 9 (depends on 1)

The method of claim 1 wherein streaming the select video content from the video content buffer to the client device comprises streaming the select video content to an edge device, wherein the edge device provides the streaming content to the client device via a Switched Digital Video (SDV) channel.

### Claim 10 (depends on 1)

The method of claim 1 wherein the select video content is one of a group consisting of: a movie, a television program, and video content from a broadcast television channel.

### Claim 11 (depends on 1)

The method of claim 1 further comprising:
receiving, at the first network node, a request to provide second video content to a second client device;
obtaining information identifying a second range of addresses in the storage device associated with the video content server allocated for the second video content;
initiating a direct memory-to-memory transfer of at least a portion of the second video content from the second range of addresses in the storage device to a second video content buffer associated with the first network node; and
streaming the second video content from the second video content buffer to the second client device.

### Claim 12 (depends on 1)

The method of claim 1 wherein the first network node is interconnected to the video content server via a Wide Area Network (WAN).

### Claim 13 (depends on 1)

The method of claim 1 wherein the first network node is interconnected to the video content server via a Local Area Network (LAN).

### Claim 14

A system comprising:
a) a video buffer; and
b) a playback streamer associated with the video buffer and adapted to:
i) obtain information identifying a range of addresses in a storage device associated with a video content server allocated for select video content in response to a request to stream the select video content to a client device;
ii) initiate a direct memory-to-memory transfer of at least a portion of the select video content from the range of addresses in the storage device to the video content buffer via a network connection; and
iii) stream the select video content from the video content buffer to the client device.

### Claim 15 (depends on 14)

The system of claim 14 wherein the direct memory-to-memory transfer is a Remote Direct Memory Access (RDMA) transfer.

### Claim 16 (depends on 14)

The system of claim 14 wherein the playback streamer is further adapted to:
detect an upcoming advertisement slot in the select video content;
obtain an advertisement for the advertisement slot from an advertisement content server; and
insert the advertisement into the advertisement slot as the select video content is streamed to the client device.

### Claim 17 (depends on 16)

The system of claim 16 further comprising:
an advertisement buffer associated with the playback streamer; and
a Remote Direct Memory Access (RDMA) enabled interface;
wherein in order to obtain the advertisement, the playback streamer is further adapted to initiate an RDMA transfer of the advertisement from a storage device associated with the advertisement content server to the advertisement buffer via the RDMA enabled interface.

### Claim 18 (depends on 16)

The system of claim 16 further comprising:
an advertisement buffer associated with the playback streamer; and
a Remote Direct Memory Access (RDMA) enabled interface;
wherein in order to obtain the advertisement, the playback streamer is further adapted to:
select one of a plurality of advertisement categories for the advertisement slot;
obtain information identifying a range of addresses in a storage device associated with the advertisement content server allocated for the one of the plurality of advertisement categories; and
initiate an RDMA transfer of the advertisement for the advertisement slot from the range of addresses in the storage device associated with the advertisement content server to the advertisement buffer via the RDMA enabled interface.

### Claim 19 (depends on 18)

The system of claim 18 wherein the playback streamer is further adapted to insert the advertisement from the advertisement buffer into the advertisement slot as the select video content is streamed to the client device.

### Claim 20 (depends on 18)

The system of claim 18 wherein the playback streamer is further adapted to select the one of the plurality of advertisement categories for the advertisement slot based on a comparison of information describing the plurality of advertisement categories and at least one of a group consisting of: information describing the select video content and a viewer profile of a viewer associated with the client device.

### Claim 21 (depends on 20)

The system of claim 20 wherein the viewer profile comprises at least one of a group consisting of: demographic information describing the viewer, biographical information describing the viewer, information identifying or describing video content previously viewed by the viewer, information identifying or describing at least one advertisement previously skipped by the viewer, and information identifying or describing at least one advertisement previously viewed by the viewer.

### Claim 22 (depends on 14)

The system of claim 14 further comprising an edge device adapted to:
receive the select video content streamed from the playback streamer; and
provide the select video content streamed from the playback streamer to the client device via a Switched Digital Video (SDV) channel.

### Claim 23 (depends on 14)

The system of claim 14 wherein the select video content is one of a group consisting of: a movie, a television program, and video content from a broadcast television channel.

### Claim 24 (depends on 14)

The system of claim 14 further comprising:
a second video buffer; and
a second playback streamer associated with the second video buffer and adapted to:
obtain information identifying a second range of addresses in the storage device associated with the video content server allocated for second video content in response to a request to stream the second video content to a second client device;
initiate an RDMA transfer of at least a portion of the second video content from the second range of addresses in the storage device to the second video buffer; and
stream the second video content from the second video buffer to the second client device.

### Claim 25 (depends on 14)

The system of claim 14 wherein the playback streamer is interconnected to the video content server via a Wide Area Network (WAN).

### Claim 26 (depends on 14)

The system of claim 14 wherein the playback streamer is interconnected to the video content server via a Local Area Network (LAN).

### Claim 27

A system comprising:
a plurality of video buffers; and
a plurality of playback streamers, each of the plurality of playback streamers associated with one of the plurality of video buffers and adapted to:
obtain information identifying a range of addresses in a storage device associated with a video content server allocated for select video content in response to a request to stream the select video content to an associated client device;
initiate a direct memory-to-memory transfer of at least a portion of the select video content from the range of addresses in the storage device to a corresponding one of the plurality of video buffers via a network; and
stream the select video content from the corresponding one of the plurality of video buffers to the associated client device.
