U.S. patent application number 17/383259 was filed with the patent office on 2021-12-02 for apparatus, system, and method for abr segment pull dvr.
The applicant listed for this patent is Layer3 TV, Inc.. Invention is credited to Jeffrey Binder, Charles Hasek.
Application Number | 20210377606 17/383259 |
Document ID | / |
Family ID | 1000005770094 |
Filed Date | 2021-12-02 |
United States Patent
Application |
20210377606 |
Kind Code |
A1 |
Binder; Jeffrey ; et
al. |
December 2, 2021 |
APPARATUS, SYSTEM, AND METHOD FOR ABR SEGMENT PULL DVR
Abstract
A digital video recorder apparatus, system and method for
recording programming material and removing limitations of a
storage medium by pulling adaptive bit rate segments from a content
delivery network.
Inventors: |
Binder; Jeffrey; (Denver,
CO) ; Hasek; Charles; (Denver, CO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Layer3 TV, Inc. |
Denver |
CO |
US |
|
|
Family ID: |
1000005770094 |
Appl. No.: |
17/383259 |
Filed: |
July 22, 2021 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15154925 |
May 13, 2016 |
11109101 |
|
|
17383259 |
|
|
|
|
62161197 |
May 13, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04N 21/458 20130101;
H04N 21/4147 20130101; H04N 21/4334 20130101 |
International
Class: |
H04N 21/458 20060101
H04N021/458; H04N 21/433 20060101 H04N021/433; H04N 21/4147
20060101 H04N021/4147 |
Claims
1. (canceled)
2. A system, comprising: a non-transitory storage medium that
stores instructions; and a processing unit that executes the
instructions to: receive a digital video recording request for
content from a content delivery network; select segments for the
content to pull to fulfill the digital video recording request;
determine whether to delay fulfillment of the digital video
recording request based on user characteristics to reduce system
overhead despite being able to fulfill the digital video recording
request without cancelling or rescheduling another digital video
recording request; and upon determining to delay the fulfillment of
the digital video recording request, delay pulling the segments for
the content.
3. The system of claim 2, wherein the processing unit selects the
segments for the content to pull to fulfill the digital video
recording request that have a bit rate corresponding to a selected
bandwidth from multiple versions of the content that each have
different bit rates.
4. The system of claim 3, wherein the processing unit selects the
selected bandwidth based on monitored network resources.
5. The system of claim 3, wherein the processing unit selects the
selected bandwidth based on monitored processing capacity.
6. The system of claim 3, wherein the processing unit selects the
selected bandwidth based on monitored storage capacity.
7. The system of claim 3, wherein the processing unit delays
pulling the segments for the content after beginning to pull the
segments for the content.
8. The system of claim 3, wherein the processing unit pulls
additional segments having an additional bit rate based on an
updated bandwidth corresponding to an updated monitoring.
9. A method for obtaining content from a content delivery network,
comprising: receiving a digital video recording request for content
from the content delivery network; delaying fulfillment of the
digital video recording request based on user characteristics to
reduce system overhead despite being able to fulfill the digital
video recording request without cancelling or rescheduling another
digital video recording request; and pulling segments for the
content to at least one device to fulfill the digital video
recording request.
10. The method of claim 9, wherein the at least one device is a
client digital video recorder.
11. The method of claim 9, wherein the at least one device is a
network digital video recorder.
12. The method of claim 9, wherein a first of the segments has a
different bit rate than a second of the segments.
13. The method of claim 12, wherein the first of the segments
corresponds to a first bandwidth and the second of the segments
corresponds to a second bandwidth.
14. The method of claim 13, wherein the first bandwidth is selected
based on a first network speed and the second bandwidth is selected
based on a second network speed.
15. The method of claim 9, wherein the content delivery network is
an adaptive bit rate content delivery network.
16. A content delivery system, comprising: a communication network;
and at least one device communicably connected to at least one
digital video recorder device via the communication network, the at
least one device: stores content; delays fulfillment of a digital
video recording request based on user characteristics to reduce
system overhead despite being able to fulfill the digital video
recording request without cancelling or rescheduling another
digital video recording request, the digital video recording
request corresponding to the content; and provides segments for the
content in response to a pull by the at least one digital video
recorder device initiated to satisfy the digital video recording
request.
17. The content delivery system of claim 16, wherein the at least
one device receives a request to cancel the pull in response to
transmitting an indication of a pull conflict to the at least one
digital video recorder device.
18. The content delivery system of claim 16, wherein the content
comprises multiple versions of content that each have different bit
rates.
19. The content delivery system of claim 16, wherein the segments
have a bit rate corresponding to a bandwidth selected based on
monitored resources.
20. The content delivery system of claim 16, wherein the at least
one digital video recorder device comprises a smart phone.
21. The content delivery system of claim 16, wherein the
communication network comprises a cellular communication network.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to digital video recorders
and, more particularly, to an apparatus system and method for
pulling of media content segments for DVR functions in an adaptive
bit rate content delivery network (CDN).
BACKGROUND OF THE INVENTION
[0002] Conventional Digital video recording device have allowed for
the real time capture, storage, and display of television broadcast
signals. Conventional DVR functions to capture linear broadcast
content and form continuous streams of formatted digital data such
as, for example, a video segment, audio segment, or information
segment stream. For example, such a DVR system and method was
created by TiVo configured to operate and convert broadcast
non-linear content to MPEG files for later playback by a subscriber
or user of the system.
[0003] For example, U.S. Pat. No. 6,327,418 B1 entitled "Method And
Apparatus Implementing Random Access And Time-Based Functions On A
Continuous Stream Of Formatted Digital Data" describes a digital
video recording system and method that moves away from the
mechanical recording of conventional systems, e.g. VCR, tape, etc.
The '418 patent also provides special effect functions in the
recorded stream, such as, Pause, Rewind, Fast-forward, and Play, as
well as more sophisticated and unique operations, such as,
Play-Faster, Play-Slower, and Play-in-Reverse.
[0004] These systems and methods were an improvement over
mechanical systems that recorded video content for later playback
by the user; however, these systems require operating on the stream
or "streaming" technology e.g. providing frames captured from the
pass-through continuous linear streams of digital information
represented in various formats with the appearance of a locally
stored stream. While conventional DVR systems and methods may
provide special effects, such conventional DVR systems and methods
use a large amount of system resources and across the content
network. It would be advantageous to overcome these disadvantages
and to accomplish playback to the user in a more efficient manner
that utilizes less bandwidth and other CDN resources in an ABR
configuration.
[0005] In an effort to reduce the overhead and usage of system
resources in the DVR function, some conventional systems convert TV
streams to an Moving Pictures Experts Group (MPEG) formatted stream
for internal transfer and manipulation and are parsed and separated
it into video and audio components for streaming to the subscriber,
for example, as suggested in U.S. Pat. No. 7,529,465 B2 entitled
"System For Time Shifting Multimedia Content Streams". This
streaming technology has the ability to simultaneously record and
play-back TV broadcast programs and to essentially decouple the
microprocessor from the high video data rates of the broadcast
stream, thereby reducing the microprocessor and system requirements
of the device. However, while the system may operate to store the
MPEG streams in a MPEG contiguous file related to the recorded
programming, the system requires "streaming" for playback and other
special effects, e.g. play-back and to perform special effects on
the stream, e.g. fast forward, reverse, play, pause, fast/slow
play, indexing, and fast/slow reverse play. While such conventional
streaming technology has been used to accomplish such special
effects, the usage of system resources remains still high in such
systems and methods of the prior art. It would be advantageous to
overcome these disadvantages and to accomplish playback to the user
in a more efficient manner.
[0006] Conventional DVR systems and methods also have suggested
managing the streams stored on the storage medium as a way of
efficient use of system resources. Known streaming digital
recording systems and methods for managing the storage medium are
disclosed, for example, in U.S. Patent Publication No.
2002/0118954A1 entitled "Data Storage Management And Scheduling
System." The publication discloses a system and method for managing
the available free space on the storage medium such that the
available free space is used efficiently. This TiVo system seeks to
efficiently manage the input of streaming source data across a
storage medium. Such system was developed to manage storage of
streamed signals of a defined format for video programs in device
storage and other memory demands that the program material places
on the user's device in the management of user recordings of
desired program material.
[0007] While such systems and methods have been used to manage
device and system resources for streamed signals of a defined
format video program on the user device storage medium, these
conventional systems and methods have limited capabilities and may
be overwhelmed for large quantities of information and user
requests to store multiple program material. It would be
advantageous to overcome these disadvantages and to accomplish
playback to the user in a more efficient manner.
SUMMARY OF THE INVENTION
[0008] It is an object of the present invention to provide a DVR
apparatus, system and method for recording of programming material
that removes limitations of the storage medium that occurred in the
prior art by pulling ABR segments from the CDN.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Non-limiting and non-exhaustive embodiments of the present
invention are described with reference to the following drawings.
In the drawings, like reference numerals refer to like parts
throughout the various figures unless otherwise specified.
[0010] For a better understanding of the present invention,
reference will be made to the following Description of the
Embodiments, which is to be read in association with the
accompanying drawings, which are incorporated in and constitute a
part of this specification, show certain aspects of the subject
matter disclosed herein and, together with the description, help
explain some of the principles associated with the disclosed
implementations, wherein:
[0011] FIG. 1 illustrates is a block schematic diagram of an
adaptive bit rate (ABR) Content Delivery Network (CDN) device,
system and method accordance with an embodiment of the present
invention;
[0012] FIG. 2 is a schematic diagram illustrating the digital video
recording system and method of recording linear and non-linear
media content in accordance with an embodiment of the present
invention; and
[0013] FIG. 3 is a flowchart illustrating the method of recording
linear and non-linear media content in accordance with an
embodiment of the present invention.
DESCRIPTION OF THE EMBODIMENTS
[0014] Non-limiting embodiments of the present invention will be
described below with reference to the accompanying drawings,
wherein like reference numerals represent like elements throughout.
While the invention has been described in detail with respect to
the preferred embodiments thereof, it will be appreciated that upon
reading and understanding of the foregoing, certain variations to
the preferred embodiments will become apparent, which variations
are nonetheless within the spirit and scope of the invention.
[0015] The terms "a" or "an", as used herein, are defined as one or
as more than one. The term "plurality", as used herein, is defined
as two or as more than two. The term "another", as used herein, is
defined as at least a second or more. The terms "including" and/or
"having", as used herein, are defined as comprising (i.e., open
language). The term "coupled", as used herein, is defined as
connected, although not necessarily directly, and not necessarily
mechanically.
[0016] Reference throughout this document to "some embodiments",
"one embodiment", "certain embodiments", and "an embodiment" or
similar terms means that a particular feature, structure, or
characteristic described in connection with the embodiment is
included in at least one embodiment of the present invention. Thus,
the appearances of such phrases or in various places throughout
this specification are not necessarily all referring to the same
embodiment. Furthermore, the particular features, structures, or
characteristics may be combined in any suitable manner in one or
more embodiments without limitation.
[0017] The term "or" as used herein is to be interpreted as an
inclusive or meaning any one or any combination. Therefore, "A, B
or C" means any of the following: "A; B; C; A and B; A and C; B and
C; A, B and C". An exception to this definition will occur only
when a combination of elements, functions, steps or acts are in
some way inherently mutually exclusive.
[0018] The drawings featured in the figures are provided for the
purposes of illustrating some embodiments of the present invention,
and are not to be considered as limitation thereto. Term "means"
preceding a present participle of an operation indicates a desired
function for which there is one or more embodiments, i.e., one or
more methods, devices, or apparatuses for achieving the desired
function and that one skilled in the art could select from these or
their equivalent in view of the disclosure herein and use of the
term "means" is not intended to be limiting.
[0019] As used herein the term "DVR" refers to a device or
application software that digitally compressing analog and/or video
feeds and storing these feeds in memory (i.e. that records video in
a digital format to a hard-drive, system memory, a disk drive, USB
flash drive, SD memory card, SSD or other local or networked mass
storage device, etc.). The term includes set-top boxes (STB) with
direct to disk recording facility, portable media players (PMP)
with recording, recorders (PMR) as camcorders that record onto
Secure Digital memory cards and software for personal computers
which enables video capture and playback to and from a hard disk
drive. The term "digital" referring to the compression and storage
technology, not the transmitted video images.
[0020] As used herein the term "network digital video recording" or
"nDVR" refers to a device or application software that stores
digital images or video on the network "in the cloud" (e.g.
directly from the IP-network into a networked mass storage device).
As used herein the term "Quality of Services" or "QoS" refers to a
device or application software device is one that is capable, in
order to comply with bandwidth limitations of a network, of
limiting the transmission rate it uses for transmission or
reception over the network. A QoS device may be capable of
negotiating with a system resource manager for varying amounts of
bandwidth.
[0021] As used herein the term "application programming interface"
or "API" refers to a software component in terms of its operations,
inputs, outputs, and underlying types is a set of routines,
protocols, and tools for building software applications.
[0022] The invention is an adaptive bit rate (ABR) segment pulling
digital video recorder (DVR) system and method for recording
digital content to ensure quality of the user experience is
generally designated as numeral 100, According to an embodiment,
the ABR segment pulling DVR 100 may be formed and implemented using
a digital video recorder (DVR) integrated a devices (e.g. a set-top
box) and/or on a network digital video recorder (nDVR). The ABR
segment pulling DVR 100 provides a user the ability to backing up
and playing recorded program material linear and non-linear content
media (e.g. TV broadcast programs, VOD, and digital video). The ABR
segment pulling DVR 100 may be implemented in a content delivery
network (CDN) system using computers to distribute copies of data
placed at various nodes of a network by subscription to the device
of a user by pulling ABR segments from storage available on the
CDN. According to one embodiment, the content media may be, for
example, linear broadcasting and non-linear or VOD content media
(e.g. audio and podcast hosting, video delivery, live streaming,
flash streaming), downloadable objects (e.g. media files, software,
documents), live broadcast linear and database queries. Numerous
devices are available for a user to play the content media such as
TV, FID-monitors, mobile devices
[0023] Referring to FIGS. 1 through 3, the ABR segment pulling DVR
system and method 100 is adapted for content processing and
communication generally comprises a video core 101 for ingesting
and packaging linear 102 (e.g. live broadcasting) and non-linear
103 (e.g. video on demand (VOD)) and linear content 103 by
communication lines 104 across a communication network 105 to the
video edge 110 to service a device 140 (e.g. set-top box, tablet,
smart phone, computer, etc.) of a user that subscribes to content
subscription service. The video core 101 in the content processing
and communication system also communicates with a resource manager
120 over communication lines 106 to provide information about the
ingested and packaged linear 102 and non-linear 103 such as, for
example, by maintaining a manifest file. The ABR segment pulling
DVR 100 also comprising a back office 130 with business operations
131 (e.g. regulations, licenses, etc.), e-commerce 132 (e.g.
subscriber billing, payments, etc.) and a self-care 133 portal
(e.g. updates, remote servicing of devices, etc.). The user
experience platform 150 may be a multi-dimensional platform to
present content media to the user in a predetermined graphical user
interface (GUI). A digital rights management (DRM) interface 151
that interfaces with the user device 140 and the resource manager
120 operates in the delayed ABR segment pulling DVR 100 to
authorize viewing of copyrighted content according to policies and
rights management across the CDN 105.
[0024] Referring to FIGS. 1 and 2, the resource manager 120 is
responsible for allocating, monitoring, and controlling resources,
particularly pulling ABR segments and bandwidth therefor, for
recording and playback related services. The resource manager 120
may integrate a network DVR (nDVR) 121 for the recording and/or
playback of linear 102 and non-linear content 103 by video control
122. According to a DVR embodiment, the device 140 may integrate a
DVR recorder 143 for the recording and/or playback of linear 102
and non-linear content 103 in storage on the device. It is to be
appreciated that the ABR segment pulling DVR system 100 may provide
the nDVR 121 resource in the cloud and DVR 143 on the device 120
for the user.
[0025] A preferred embodiment of the invention when recording TV,
video and/or movie content media files, the video core 101 ingests
non-linear 102 and linear content 103 and packages to encode in,
for example, adaptive bit rate (ABR) segments or in one or more
multiple bit rate segments and file information (e.g. MPEG
formatted segments extracted from the analog and digital TV signal
streams, for and storage example, analog forms such as National
Television Standards Committee (NTSC) or PAL broadcast, and digital
forms such as Digital Satellite System (DSS), Digital Broadcast
Services (DBS), or Advanced Television Standards Committee (ATSC).
According to an embodiment, the ABR segment pulling DVR system and
method 100 may be configured to transfer content media files (e.g.
media segments representing frames of video or other programming)
by way of Transmission Control Protocol (TCP)/Internet protocol
suite (IP). TCP/IP transfer may use a variety of protocols (e.g.
HTTP, HTTPS, SMTP, POPS, IMAP, SSH, Telnet, etc.) encapsulated in
TCP to transfer and deliver across the CDN 105 network 105 from the
video core 104 to the video edge 110 closest to the client device
140.
[0026] According to an embodiment as is illustrated in FIG. 3, ABR
segment pulling DVR system and method 100 can be configured to use
ABR technologies to transmit the content media files over HTTP for
distribution across the private CDN 105. In this manner, ABR
segment pulling DVR system and method 100 uses the advantages of
ABR by dynamically monitoring CPU and memory capacity to make
corresponding adjustments in the video quality of the transmitted
content media by encoding the source linear and non-linear content
(e.g. live broadcast, movie, video, etc.) at varying bit rates, and
then segmenting each of the different bit rate segments. The media
segment length may be a predetermined size and duration, for
example, between 2 and 10 seconds. The client or user's device 130
includes a player 146 (as shown in FIGS. 1 and 2) to use the ABR
advantageously to switch among the different bit rate segments,
thereby locating the segments that correspond best to the
bandwidth.
[0027] As shown in FIG. 3, the digital recording functionality of
the ABR segment pulling DVR system and method 100 may be
accomplished by assembling media segments to create a temporal
viewing experience (such as time shifting) by reassembling the
segments into the original order of the content program being
viewed at an alternate time from the original airdate of the
program. Any pulled media segments are delivered to the device 140
by resource manager 120 by requests of the device 140 making an
active request to retrieve those segments from the network (for
instance, using a Content Delivery Network).
[0028] The media segments are not multicast or broadcast to the end
client, but can only be retrieved by an active request to pull them
(for instance, using HTTP GET request) from the network serving
device, such as a CDN. The mechanisms may make use of technologies
such as adaptive bit-rate (ABR), fragmented MPEG-4 files or other
formats that can typically delivered via download technology such
as HTTP. Media segments could be delivered in real-time, near
real-time or delivery (to account for network blocks, conservation
of network resources or other use-cases). Media Segments would
typically be video encapsulated in a format used to traverse the
network and then made available for playback via a media player,
though the segments could encompass other media types such as just
audio, images, web hyperlinks, etc. Media Segments would typically
consist of a program based on a time boundary, the program may be
interspersed with other Media Segments such as for an
advertisement, blackout/alternate, content or other customized
programming within the program boundary.
[0029] Scheduling of the recording of the Media Segments may occur
either in the local host or the cloud/server side program
scheduler. As shown in FIG. 3, the digital recording functionality
of the ABR segment pulling DVR system and method 100 may be
utilized advantageously to reduce system overhead in the delivery
to the device of the subscriber or user. Moreover, such resources
that may be utilized for other functions such as, for example,
forming multiple ABR segments of the highest higher resolution on
the ingestion of high hit rate video
[0030] Certain other parts of the system and method 100, as shown
in FIGS. 1 and 2, are utilized the ABR segment pull DVR such as the
CDN 105 and resource manager 120. The resource manager 120 may be
implemented as an API designed as a component that resides on the
user device 140 and generally knows resource allocation from all
current active ABR pulled segments of the user and status across
the CDN 105. The resource manager 120 is utilized for DVR recording
and playback for the user experience on the device 140. The
resource manager 120 may be configured to determine ABR segment
pull configurations based on the bandwidth for the DVR 141 function
according to the user device 140. The bandwidth resource usage may
be reported by the resource manager 120, for example, a usage
report, a global resource configuration, and/or an nDVR 121 related
service API in the cloud. The resource manager 120 may be adapted
to push notifications to all connected clients (UX platform(s) 150
and DVR(s) 140 with the latest resource statuses. The resource
manager 120 is adapted to determine active ABR pulled segments and
status changes, or in a sync operation, so as to allow the resource
manager 120 to sync all resource statuses with the video edge (i.e.
clients) by storing ABR pulled segments content media to the user's
device 140 and/or DVR 141.
[0031] According to the embodiment for ABR segment pull DVR, the
resource manager 120 also is adapted to track and monitor all
bandwidth resource usage locally so as to be able to determine if
delaying the storage of media content 102, 103 is appropriate or
possible according one or more user characteristics. DVR 143
connects and subscribes to the resource manager 120 to receive
resource notifications. Near recording start time, whether it is X
minutes (X is configurable by the DVR 143) or immediately before a
recording starts (for impulse recordings), the DVR 143 must
communicate with the resource manager 120 to request resource for a
recording to start. The resource manager 120 determines whether ABR
pulled segments can be allocated based on a number of rules. The
resource manager 120 then broadcasts the list of active pulling of
ABR segments and terminated pulled ABR segments to all connected UX
platform 150 clients and the DVR 143. The UX platform 150 may
present the information to the user as needed. In case of resource
conflict, the user may choose to end some conflicting ABR pulled
segments to manually resolve the conflict. If a recording cannot be
started due to conflict constraints, the DVR. 143 reports the
blocked (or failed?) status back to the scheduler service 160. For
any events that cause resource changes, which include recording
starts/stops/fails, the DVR 143 must report such events to the
resource manager 120. The resource manager 120 will update the
resource statuses accordingly. The resource manager 120 broadcasts
the list of ABR pulled segments including active pulling of ABR
segments and terminated/stopped/blocked pulled ABR segments to all
connected UX platform 150 clients and DVR 143. The DVR 143 must
process such notifications and take actions when necessary.
[0032] Referring to FIG. 2, the scheduler service 160 is utilized
by the system when the user scheduling that may be comprised as a
scheduler API and a schedule dB. The scheduler service 160 is
utilized to create an event such as an impulse recording (e.g.
record now) or a future recording of media content. The user
utilizes the scheduler service 160 to specific DVR settings and
preferences default DVR scheduling settings (offset, delete
priority, recording priority, series, etc.) and other user
privileges. The scheduler service 160 checks with the gatekeeper
155 for authentication, entitlement check, and other account data
for the particular user.
[0033] In an exemplary embodiment, as is illustrated in FIGS. 1-2,
a user has a device 140 which has may have application software 141
loaded in memory of the device 140, e.g. a set-top box or satellite
DVR receiver. In establishing a recording, the device 140 checks
with the gatekeeper module 188 to determine the users privileges,
the user's metadata, the lineup data, performs a restrictions check
such as passing an authorization token, and also may be used to
purchase media content. The application software 141 may be
configured as application programming interfaces (API). The
application software 141 may be configured with a browser 142, a
digital video recorder (DVR) 143, authorization token or
restriction checker 144, a digital rights management (DRM) module
145, and content media player 146. The application software 141 is
adapted to login to a gatekeeper 155 module of the resource manager
120. The gatekeeper 155 also utilizes APIs for various the
subscribers' data services for policies of acquisition,
persistence, and consumption for the media content that may be
established by the back office 130. The gatekeeper 155 can be used
in recording linear 102 and non-linear 103 media content including
a lineup API 156, login API 157, playback API 158 and purchase API
159.
[0034] Similarly, when a user utilizes the DVR function such as
"pause" or "record" the DVR function is managed by the resource
manager 120, The resource manager 120 may be configured to operate
on requests to pull ABR segments based on address information
stored in by the resource manager about the desired one or more
media content segments as is illustrated in FIG. 3. The user
provides a request for available stored content media 102, 103 such
as, for example, based on the manifest file, media content data or
database 123 or other information from the users account. The
resource manager 120 may be configured to manage bandwidth
resources, policies, and applicable number of rules of the user
account such as by the content management 122 and token restriction
check 144. The user's DVR function input is transmitted to the
scheduler service 160 from the user device 140 as shown in FIGS. 1
and 2. The scheduler service 160 determines from the resource
manager 120 and CDN 105 the identity of the media content 102, 103
and its location from various sources including the manifest files
on the content management system 122, the media content data 123
stored across the CDN servers, (e.g. in the origin server or
1.sup.st tier cache, mid-tier cache, edge-cache information) from a
catalog 126, and other information.
[0035] One or more user characteristics about the user are stored
on the resource manager the resource manager 120, on the user
device 140, or both. The ABR segment pull system and method 100 of
delivery of the media content 102, 103 is available based on the
one or more user characteristics. If delivery of media content 102,
103 is not available, the scheduler service 160 begins the
recording and storage of the desired media content 102, 103. If the
delivery of media content 102, 103 is available, the resource
manager 120 identifies the file information of the specific media
content data 102, 103. The scheduler service 120 schedules the
delivery of the media data content 102, 103 on-demand or at a
predetermined time requested by the user. At the predetermined time
being reached, the resource manager 120 delivers the paused or
recorded requested media content data 102, 103 to storage of the on
the device 140 (i.e. storage 147 or in network storage 123) and the
resource manager 120. Once all frames of the desired media content
102, 103 are delivered according to the user's request, the delayed
DVR system and method 100 (i.e. the process 200) terminates or ends
whereby the user has the content 102, 103 for playback.
[0036] As shown in FIG. 1, the UX platform 150 may be implemented
by an API that connects and subscribes to the resource manager 120
to receive resource notifications. For any DVR function for
recording media content 102, 103 for playback later, the UX
platform 150 communicates with the resource manager 120 to request
pulling ABR segments of the media content 102, 103. The resource
manager 120 can be configured to determine whether a stream may be
allocated based the resources, policies, and applicable number of
rules such as by the content management 122 and token restriction
check 144. The resource manager 120 then broadcasts the list of
pulled ABR segments with their latest statuses to all connected
devices 140 to UX platform 150 of clients and to the DVR 143
function. The UX platform 150 may present the information to the
device 140 of a user as needed to resolve resource conflicts such
as, for example, the user may choose to end some conflicting pulled
ABR segments to manually resolve the conflict. The resource manager
120 broadcasts the list of ABR segments including active pulling of
ABR segments and terminated/stopped/blocked pulled ABR segments to
all connected UX platform 150 clients and Recorder. The UX platform
150 must process such notifications and take actions when
necessary. For any user actions that cause bandwidth resource
changes, which include a pull ABR segments from storage starts and
stops, the UX platform 150 must report such events to the resource
manager 120. The resource manager 120 will update the resource
statuses accordingly.
[0037] For example, when the user tunes to a particular linear
channel (or flipping through channels), the UX platform 150
requests linear content 102 from the resource manager 120, the
resource manager will begin to pull ABR segments from storage
available on the CDN by referencing the manifest file, catalog,
file information, etc. If the user navigates away from viewing
linear TV the resource manager 120 will stop pulling ABR segments
to send to the device 140. Once the user starts viewing a channel,
the UX platform 150 may be configured to report profile changes
(such as registering 4K display device in the profile) to the
resource manager 140 for further video control 122 of the available
bandwidth and ABR resource management. Each Mosaic tile is pulled
ABR segments from storage available on the CDN displayed on that
view. Bandwidth management is improved as policies, rules and
assumptions may be implemented, for example, pulling pull ABR
segments from storage available on the CDN based on the assumption
that all tiles on the Mosaic view together would utilize about the
same bandwidth. When a user requests to view a video in full screen
from a Mosaic view tile, UX terminates the tile view of pulled ABR
segments and requests a new pull of ABR segments from storage
available on the CDN for the full screen video with the
corresponding view and resolution. Any further pulled ABR segments
displayed in the Mosaic view will still be considered as an ongoing
pull ABR segments for bandwidth, policy and management functions.
That is, if a user goes back to the Mosaic view from playing a
video (or an ongoing DVR recording is displayed in the Mosaic
view), the video still consumes utilization of pull ABR segments
from storage available on the CDN until it gets stopped by the
user.
[0038] While certain configurations of structures have been
illustrated for the purposes of presenting the basic structures of
the present invention, one of ordinary skill in the art will
appreciate that other variations are possible which would still
fall within the scope of the appended claims, Additional advantages
and modifications will readily occur to those skilled in the art.
Therefore, the invention in its broader aspects is not limited to
the specific details and representative embodiments shown and
described herein. Accordingly, various modifications may be made
without departing from the spirit or scope of the general inventive
concept as defined by the appended claims and their
equivalents.
* * * * *