Distributing content items to users
Abstract
Systems and methods for providing content items to users are disclosed. In an example, a system is configured to divide a content item into a first portion and a second portion, wherein the first portion begins at a chronological beginning of the content item and ends at a predetermined number of digital units from the chronological beginning of the content item. The system is also configured to encode the first portion according to an encoding format and store the first portion at a first data storage location remote from the computer system. The system is further configured to encode the second portion according to the encoding format and store the second portion at a second data storage location.
Claims
exact text as granted — not AI-modifiedThe invention is claimed as follows:
1 . A system for providing content items to users, the system comprising:
a computer system comprising at least one processor and associated memory, wherein the computer system is programmed to:
divide a content item into an opening portion and a remainder portion, wherein the opening portion begins at a chronological beginning of the content item and ends at a predetermined number of digital units from the chronological beginning of the content item;
encode the opening portion according to an encoding format;
store the opening portion at a first data storage location remote from the computer system;
encode the remainder portion according to the encoding format;
store the remainder portion at a second data storage location;
receive a request for the content item from a user device; and
in response to the request:
instruct the first data storage location to stream the opening portion to the user device; and
stream the remainder portion, encoded according to the encoding format, to the user device from the second data storage location.
2 . The system of claim 1 , wherein the computer system is further programmed to:
estimate a delay between when a typical requesting user device will receive a first stream comprising the opening portion and when the typical requesting user device will receive a second stream comprising the remainder portion; and determine the predetermined number of digital units from the chronological beginning of the content item based on the delay.
3 . The system of claim 2 , wherein the predetermined number of digital units from the chronological beginning of the content item is determined such that a playback time of the predetermined number of digital units from the chronological beginning of the content item is greater than the delay.
4 . The system of claim 1 , wherein the predetermined number of digital units from the chronological beginning of the content item corresponds to about thirty (30) seconds of the content item playback.
5 . The system of claim 1 , wherein the computer system is further programmed to:
divide a plurality of content items resulting in, for each of the plurality of the content items, an opening portion beginning at a chronological beginning of the content item and ending a predetermined number of digital units from the chronological beginning of the content item and a remainder portion; encode each of the resulting opening portions according to the encoding format; store each of the resulting opening portions at the first data storage location; encode each of the resulting remainder portions according to the encoding format; and store each of the resulting remainder portions encoded according to the encoding format at the second data storage location.
6 . The system of claim 5 , wherein the computer system is further programmed to:
receive a second request for a specific content item selected from the plurality of content items from the user device; in response to the second request:
instruct the first data storage location to stream the opening portion of the specific content item encoded according to the encoding format to the user device; and
stream the remainder portion encoded according to the encoding format to the user device from the second data storage location.
7 . The system of claim 1 , wherein the request for the content item indicates a second encoding format, and wherein the computer system is further programmed to:
encode the opening portion according to the second encoding format; store the opening portion encoded according to the second encoding format at the first data storage location; encode the remainder portion according to the second encoding format; and store the remainder portion at the second data storage location.
8 . The system of claim 7 , wherein the computer system is further programmed to:
receive a second request for the content item from a second user device, wherein the second request indicates the second encoding format; instruct the first data storage location to stream the opening portion encoded according to the second encoding format to the second user device; and stream the remainder portion encoded according to the second encoding format to the second user device.
9 . The system of claim 1 , wherein the computer system is further programmed to, in response to the request, provide the user device with an indication of the predetermined number of digital units.
10 . The system of claim 1 , wherein the first data storage location is configured to reduce latency of receiving at least a part of the opening portion at the user device and the second data storage location is configured for reducing storage cost of the remainder portion.
11 . A system for providing content items to users, the system comprising:
a computer system comprising at least one processor and associated memory, wherein the computer system is programmed to: divide a content item into a first portion and a second portion by:
estimating a delay between when a typical requesting user device will receive a first stream comprising the first portion and when the typical requesting user device will receive a second stream comprising the second portion, and
determining a predetermined number of digital units from a chronological beginning of the content item based on the delay,
wherein the first portion begins at the chronological beginning of the content item and ends at the predetermined number of digital units from the chronological beginning of the content item;
encode the first portion according to an encoding format; transmit the first portion to a first data storage location remote from the computer system; encode the second portion according to the encoding format; and transmit the second portion to a second data storage location.
12 . The system of claim 11 , wherein the computer system is further programmed to:
receive a request for the content item from a user device; and in response to the request:
instruct the first data storage location to stream the first portion to the user device; and
stream the second portion, encoded according to the encoding format, to the user device from the second data storage location.
13 . The system of claim 11 , wherein the computer system is further programmed to:
divide the content item into a third portion; encode the third portion according to the encoding format; and transmit the third portion at a third data storage location.
14 . The system of claim 13 , wherein the third portion begins at a chronological ending of the second portion.
15 . The system of claim 11 , wherein the computer system is further programmed to:
determine which data storage locations among a plurality of data storage locations are configured to reduce latency of receiving at least a part of the first portion or provide relatively cost efficient storage; select the first data storage location among the plurality of data storage locations such that the first portion would be streamed relatively more quickly to the typical requesting user device; and select the second data storage location among the plurality of data storage locations to reduce storage costs associated with storing the second portion.
16 . The system of claim 15 , wherein the computer system is further programmed to estimate the delay by taking into account that the first stream is being provided by the first data storage location and the second stream is being provided by the second data storage location.
17 . The system of claim 11 , wherein the computer system is configured to determine the predetermined number of digital units from the chronological beginning of the content item such that a stream of the second portion would be received at the typical requesting user device and stitched to the first portion before playback of the content item reaches the end of the first portion.
18 . A computer-implemented method for providing content items to users, the method comprising:
dividing, by a computer system, a content item into a first portion and a second portion by:
estimating a delay between when a typical requesting user device will receive a first stream comprising the first portion and when the typical requesting user device will receive a second stream comprising the second portion, and
determining a predetermined number of digital units from a chronological beginning of the content item based on the delay,
wherein the first portion begins at the chronological beginning of the content item and ends at the predetermined number of digital units from the chronological beginning of the content item;
storing, by the computer system, the first portion at a first data storage location remote from the computer system; and storing, by the computer system, the second portion at a second data storage location.
19 . The method of claim 18 , further comprising:
encoding, by the computer system, the first portion according to an encoding format; and encoding, by the computer system, the second portion according to the encoding format.
20 . The method of claim 18 , wherein the first data storage location is configured to encode the first portion according to an encoding format and the second data storage location is configured to encode the second portion according to the encoding format.
21 . The method of claim 18 , further comprising:
receiving, by the computer system, a request for the content item from a user device; and in response to the request:
instructing, by the computer system, the first data storage location to stream the first portion to the user device; and
streaming, by the computer system, the second portion to the user device from the second data storage location.
22 . The method of claim 18 , wherein the second data storage location is located remotely from the computer system or local to the computer system.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.