US20210377606A1 - Apparatus, system, and method for abr segment pull dvr - Google Patents
Apparatus, system, and method for abr segment pull dvr Download PDFInfo
- Publication number
- US20210377606A1 US20210377606A1 US17/383,259 US202117383259A US2021377606A1 US 20210377606 A1 US20210377606 A1 US 20210377606A1 US 202117383259 A US202117383259 A US 202117383259A US 2021377606 A1 US2021377606 A1 US 2021377606A1
- Authority
- US
- United States
- Prior art keywords
- content
- digital video
- segments
- video recording
- recording request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012384 transportation and delivery Methods 0.000 claims abstract description 23
- 230000003044 adaptive effect Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 2
- 230000010267 cellular communication Effects 0.000 claims 1
- 239000000463 material Substances 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000197200 Gallinago media Species 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- OIWCYIUQAVBPGV-DAQGAKHBSA-N {1-O-hexadecanoyl-2-O-[(Z)-octadec-9-enoyl]-sn-glycero-3-phospho}serine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP(O)(=O)OC[C@H](N)C(O)=O)OC(=O)CCCCCCC\C=C/CCCCCCCC OIWCYIUQAVBPGV-DAQGAKHBSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/278—Content descriptor database or directory service for end-user access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2225—Local VOD servers
Definitions
- 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).
- CDN adaptive bit rate content delivery network
- 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.
- 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.
- 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.
- 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”.
- MPEG Moving Pictures Experts Group
- 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.
- 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.
- 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.
- 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
- ABR adaptive bit rate
- CDN Content Delivery Network
- 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.
- 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.
- 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.
- 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.
- PMR recorders
- digital referring to the compression and storage technology, not the transmitted video images.
- 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).
- QoS Quality of Services
- 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.
- 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 .
- 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).
- DVR digital video recorder
- nDVR network digital video recorder
- 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.
- 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.
- 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 e.g.
- Numerous devices are available for a user to play the content media such as TV, FID-monitors, mobile devices
- 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.
- linear 102 e.g. live broadcasting
- non-linear 103 e.g. video on demand (VOD)
- VOD video on demand
- 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 .
- DRM digital rights management
- 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 .
- 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.
- 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.
- 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).
- ABR segment pulling DVR system and method 100 may be configured to transfer content media files (e.g.
- 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 .
- protocols e.g. HTTP, HTTPS, SMTP, POPS, IMAP, SSH, Telnet, etc.
- 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 .
- 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.
- 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).
- 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.
- Scheduling of the recording of the Media Segments may occur either in the local host or the cloud/server side program scheduler.
- 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.
- 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
- 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 .
- 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.
- 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.
- 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.
- 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 .
- 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.
- 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 st tier cache, mid-tier cache, edge-cache information) from a catalog 126 , and other information.
- 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.
- 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 .
- 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.
- 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.
- the UX platform 150 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.
- profile changes such as registering 4K display device in the profile
- 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.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
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.
Description
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
-
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; -
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 -
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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 ABRsegment 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 ABRsegment 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 - Referring to
FIGS. 1 through 3 , the ABR segment pulling DVR system andmethod 100 is adapted for content processing and communication generally comprises avideo core 101 for ingesting and packaging linear 102 (e.g. live broadcasting) and non-linear 103 (e.g. video on demand (VOD)) andlinear content 103 bycommunication lines 104 across acommunication network 105 to thevideo 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. Thevideo core 101 in the content processing and communication system also communicates with aresource manager 120 overcommunication 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 ABRsegment pulling DVR 100 also comprising aback 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.). Theuser 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 theuser device 140 and theresource manager 120 operates in the delayed ABRsegment pulling DVR 100 to authorize viewing of copyrighted content according to policies and rights management across theCDN 105. - Referring to
FIGS. 1 and 2 , theresource manager 120 is responsible for allocating, monitoring, and controlling resources, particularly pulling ABR segments and bandwidth therefor, for recording and playback related services. Theresource manager 120 may integrate a network DVR (nDVR) 121 for the recording and/or playback of linear 102 andnon-linear content 103 byvideo control 122. According to a DVR embodiment, thedevice 140 may integrate aDVR recorder 143 for the recording and/or playback of linear 102 andnon-linear content 103 in storage on the device. It is to be appreciated that the ABR segment pullingDVR system 100 may provide thenDVR 121 resource in the cloud andDVR 143 on thedevice 120 for the user. - A preferred embodiment of the invention when recording TV, video and/or movie content media files, the
video core 101 ingests non-linear 102 andlinear 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 andmethod 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 theCDN 105network 105 from thevideo core 104 to thevideo edge 110 closest to theclient device 140. - According to an embodiment as is illustrated in
FIG. 3 , ABR segment pulling DVR system andmethod 100 can be configured to use ABR technologies to transmit the content media files over HTTP for distribution across theprivate CDN 105. In this manner, ABR segment pulling DVR system andmethod 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'sdevice 130 includes a player 146 (as shown inFIGS. 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. - As shown in
FIG. 3 , the digital recording functionality of the ABR segment pulling DVR system andmethod 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 thedevice 140 byresource manager 120 by requests of thedevice 140 making an active request to retrieve those segments from the network (for instance, using a Content Delivery Network). - 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.
- 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 andmethod 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 - Certain other parts of the system and
method 100, as shown inFIGS. 1 and 2 , are utilized the ABR segment pull DVR such as theCDN 105 andresource manager 120. Theresource manager 120 may be implemented as an API designed as a component that resides on theuser device 140 and generally knows resource allocation from all current active ABR pulled segments of the user and status across theCDN 105. Theresource manager 120 is utilized for DVR recording and playback for the user experience on thedevice 140. Theresource manager 120 may be configured to determine ABR segment pull configurations based on the bandwidth for theDVR 141 function according to theuser device 140. The bandwidth resource usage may be reported by theresource manager 120, for example, a usage report, a global resource configuration, and/or annDVR 121 related service API in the cloud. Theresource 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. Theresource manager 120 is adapted to determine active ABR pulled segments and status changes, or in a sync operation, so as to allow theresource manager 120 to sync all resource statuses with the video edge (i.e. clients) by storing ABR pulled segments content media to the user'sdevice 140 and/orDVR 141. - 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 ofmedia content DVR 143 connects and subscribes to theresource 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), theDVR 143 must communicate with theresource manager 120 to request resource for a recording to start. Theresource manager 120 determines whether ABR pulled segments can be allocated based on a number of rules. Theresource manager 120 then broadcasts the list of active pulling of ABR segments and terminated pulled ABR segments to allconnected UX platform 150 clients and theDVR 143. TheUX 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 thescheduler service 160. For any events that cause resource changes, which include recording starts/stops/fails, theDVR 143 must report such events to theresource manager 120. Theresource manager 120 will update the resource statuses accordingly. Theresource manager 120 broadcasts the list of ABR pulled segments including active pulling of ABR segments and terminated/stopped/blocked pulled ABR segments to allconnected UX platform 150 clients andDVR 143. TheDVR 143 must process such notifications and take actions when necessary. - Referring to
FIG. 2 , thescheduler service 160 is utilized by the system when the user scheduling that may be comprised as a scheduler API and a schedule dB. Thescheduler 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 thescheduler service 160 to specific DVR settings and preferences default DVR scheduling settings (offset, delete priority, recording priority, series, etc.) and other user privileges. Thescheduler service 160 checks with thegatekeeper 155 for authentication, entitlement check, and other account data for the particular user. - In an exemplary embodiment, as is illustrated in
FIGS. 1-2 , a user has adevice 140 which has may haveapplication software 141 loaded in memory of thedevice 140, e.g. a set-top box or satellite DVR receiver. In establishing a recording, thedevice 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. Theapplication software 141 may be configured as application programming interfaces (API). Theapplication software 141 may be configured with abrowser 142, a digital video recorder (DVR) 143, authorization token orrestriction checker 144, a digital rights management (DRM)module 145, andcontent media player 146. Theapplication software 141 is adapted to login to agatekeeper 155 module of theresource manager 120. Thegatekeeper 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 theback office 130. Thegatekeeper 155 can be used in recording linear 102 and non-linear 103 media content including a lineup API 156, loginAPI 157,playback API 158 and purchaseAPI 159. - Similarly, when a user utilizes the DVR function such as “pause” or “record” the DVR function is managed by the
resource manager 120, Theresource 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 inFIG. 3 . The user provides a request for available storedcontent media database 123 or other information from the users account. Theresource manager 120 may be configured to manage bandwidth resources, policies, and applicable number of rules of the user account such as by thecontent management 122 andtoken restriction check 144. The user's DVR function input is transmitted to thescheduler service 160 from theuser device 140 as shown inFIGS. 1 and 2 . Thescheduler service 160 determines from theresource manager 120 andCDN 105 the identity of themedia content content management system 122, themedia content data 123 stored across the CDN servers, (e.g. in the origin server or 1st tier cache, mid-tier cache, edge-cache information) from a catalog 126, and other information. - One or more user characteristics about the user are stored on the resource manager the
resource manager 120, on theuser device 140, or both. The ABR segment pull system andmethod 100 of delivery of themedia content media content scheduler service 160 begins the recording and storage of the desiredmedia content media content resource manager 120 identifies the file information of the specificmedia content data scheduler service 120 schedules the delivery of themedia data content resource manager 120 delivers the paused or recorded requestedmedia content data storage 147 or in network storage 123) and theresource manager 120. Once all frames of the desiredmedia content content - As shown in
FIG. 1 , theUX platform 150 may be implemented by an API that connects and subscribes to theresource manager 120 to receive resource notifications. For any DVR function forrecording media content UX platform 150 communicates with theresource manager 120 to request pulling ABR segments of themedia content 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 thecontent management 122 andtoken restriction check 144. Theresource manager 120 then broadcasts the list of pulled ABR segments with their latest statuses to all connecteddevices 140 toUX platform 150 of clients and to theDVR 143 function. TheUX platform 150 may present the information to thedevice 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. Theresource manager 120 broadcasts the list of ABR segments including active pulling of ABR segments and terminated/stopped/blocked pulled ABR segments to allconnected UX platform 150 clients and Recorder. TheUX 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, theUX platform 150 must report such events to theresource manager 120. Theresource manager 120 will update the resource statuses accordingly. - For example, when the user tunes to a particular linear channel (or flipping through channels), the
UX platform 150 requestslinear content 102 from theresource 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 theresource manager 120 will stop pulling ABR segments to send to thedevice 140. Once the user starts viewing a channel, theUX platform 150 may be configured to report profile changes (such as registering 4K display device in the profile) to theresource manager 140 forfurther 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. - 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.
Claims (21)
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.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/383,259 US20210377606A1 (en) | 2015-05-13 | 2021-07-22 | Apparatus, system, and method for abr segment pull dvr |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562161197P | 2015-05-13 | 2015-05-13 | |
US15/154,925 US11109101B1 (en) | 2015-05-13 | 2016-05-13 | Apparatus, system, and method for ABR segment pull DVR |
US17/383,259 US20210377606A1 (en) | 2015-05-13 | 2021-07-22 | Apparatus, system, and method for abr segment pull dvr |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/154,925 Continuation US11109101B1 (en) | 2015-05-13 | 2016-05-13 | Apparatus, system, and method for ABR segment pull DVR |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210377606A1 true US20210377606A1 (en) | 2021-12-02 |
Family
ID=77465118
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/154,925 Active 2037-09-30 US11109101B1 (en) | 2015-05-13 | 2016-05-13 | Apparatus, system, and method for ABR segment pull DVR |
US17/383,259 Abandoned US20210377606A1 (en) | 2015-05-13 | 2021-07-22 | Apparatus, system, and method for abr segment pull dvr |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/154,925 Active 2037-09-30 US11109101B1 (en) | 2015-05-13 | 2016-05-13 | Apparatus, system, and method for ABR segment pull DVR |
Country Status (1)
Country | Link |
---|---|
US (2) | US11109101B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11616849B2 (en) * | 2021-02-15 | 2023-03-28 | Lilac Cloud, Inc. | Distributed split edge application architecture |
US20230091730A1 (en) * | 2021-09-17 | 2023-03-23 | Rovi Guides, Inc. | Methods and systems to provide a playlist for simultaneous presentation of a plurality of media assets |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676036B1 (en) * | 2012-10-26 | 2014-03-18 | International Business Machines Corporation | User data-driven DVR download scheduling system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240099B2 (en) * | 2000-03-06 | 2007-07-03 | Sony Corporation | System and method for efficiently performing data transfer operations |
US20060051059A1 (en) * | 2004-09-08 | 2006-03-09 | Krakirian Haig H | Video recorder having user extended and automatically extended time slots |
WO2010111261A1 (en) * | 2009-03-23 | 2010-09-30 | Azuki Systems, Inc. | Method and system for efficient streaming video dynamic rate adaptation |
US8649668B2 (en) * | 2011-06-03 | 2014-02-11 | Adobe Systems Incorporated | Client playback of streaming video adapted for smooth transitions and viewing in advance display modes |
US8924580B2 (en) * | 2011-08-12 | 2014-12-30 | Cisco Technology, Inc. | Constant-quality rate-adaptive streaming |
US9591361B2 (en) * | 2011-09-07 | 2017-03-07 | Qualcomm Incorporated | Streaming of multimedia data from multiple sources |
US8676952B2 (en) * | 2011-09-13 | 2014-03-18 | Ericsson Television Inc. | User adaptive HTTP stream manager and method for using same |
US20130179590A1 (en) * | 2011-09-20 | 2013-07-11 | General Instrument Corporation | Video quality of experience management and constrained fidelity adaptive bit rate encoding systems and methods |
US8874634B2 (en) * | 2012-03-01 | 2014-10-28 | Motorola Mobility Llc | Managing adaptive streaming of data via a communication connection |
US9357248B2 (en) * | 2013-03-13 | 2016-05-31 | Arris Enterprises, Inc. | Method and apparatus for adaptive bit rate content delivery |
CN105165015A (en) * | 2013-03-15 | 2015-12-16 | 艾锐势科技公司 | Enhanced playlist definition and delivery for fast channel change with HTTP adaptive streaming |
US20160050246A1 (en) * | 2013-03-29 | 2016-02-18 | Intel IP Corporation | Quality-aware rate adaptation techniques for dash streaming |
EP3072302B1 (en) * | 2013-11-20 | 2019-06-05 | Telefonaktiebolaget LM Ericsson (publ) | A method, node and computer programe for providing live content streaming. |
US9532210B2 (en) * | 2013-11-26 | 2016-12-27 | Verizon and Redbox Digital Entertainment Services, LLC | File downloads using broadband wireless multicast |
KR101789641B1 (en) * | 2014-01-13 | 2017-11-20 | 엘지전자 주식회사 | Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks |
US9894130B2 (en) * | 2014-09-23 | 2018-02-13 | Intel Corporation | Video quality enhancement |
US9729611B2 (en) * | 2014-10-26 | 2017-08-08 | Cisco Technology, Inc. | Method and system for ABR recording |
US10349104B2 (en) * | 2015-08-19 | 2019-07-09 | Ericsson Ab | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics |
-
2016
- 2016-05-13 US US15/154,925 patent/US11109101B1/en active Active
-
2021
- 2021-07-22 US US17/383,259 patent/US20210377606A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676036B1 (en) * | 2012-10-26 | 2014-03-18 | International Business Machines Corporation | User data-driven DVR download scheduling system |
Also Published As
Publication number | Publication date |
---|---|
US11109101B1 (en) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6752856B2 (en) | Manage cloud-based media content | |
USRE49109E1 (en) | System and method for multiscreen network digital video recording using on-demand transcoding | |
US10958865B2 (en) | Data segment service | |
US20160337704A1 (en) | System and method for content delivery by subscriber personal channel | |
US10019517B2 (en) | Managing media content upload groups | |
US8079053B2 (en) | System and method of deferring multimedia content delivery | |
US8548303B2 (en) | Reconciling digital content at a digital media device | |
US20140282681A1 (en) | Chapterized streaming of video content | |
US10848803B2 (en) | Adaptively selecting content resolution | |
JP2018182771A (en) | Multimedia pipeline mechanism | |
US20140064711A1 (en) | Systems, Methods, and Media for Presenting Media Content Using Cached Assets | |
US20160249092A1 (en) | System and method for digital video recording backfill | |
US20210377606A1 (en) | Apparatus, system, and method for abr segment pull dvr | |
US20200280760A1 (en) | Capturing border metadata while recording content | |
US10536755B1 (en) | System for unified ad delivery to consumer devices within service provider networks | |
US10433014B2 (en) | Media content download time | |
US20160249088A1 (en) | System and method for delayed digital video recording | |
US20220295127A1 (en) | Consolidating content streams to conserve bandwidth | |
WO2017006213A1 (en) | Managed virtual locker of catchup tv content | |
WO2014158158A1 (en) | Adaptive guide based on categorization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |