US20140325562A1 - System and method of content acquisition and delivery - Google Patents

System and method of content acquisition and delivery Download PDF

Info

Publication number
US20140325562A1
US20140325562A1 US14/329,762 US201414329762A US2014325562A1 US 20140325562 A1 US20140325562 A1 US 20140325562A1 US 201414329762 A US201414329762 A US 201414329762A US 2014325562 A1 US2014325562 A1 US 2014325562A1
Authority
US
United States
Prior art keywords
user
calendar event
viewing time
calendar
program
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.)
Granted
Application number
US14/329,762
Other versions
US9794627B2 (en
Inventor
James Gordon Beattie, JR.
Soumyajit Chakraborty
Stephen J. Griesmer
Roque Rios
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Intellectual Property I LP
Original Assignee
AT&T Intellectual Property I LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AT&T Intellectual Property I LP filed Critical AT&T Intellectual Property I LP
Priority to US14/329,762 priority Critical patent/US9794627B2/en
Assigned to AT&T INTELLECTUAL PROPERTY I, L.P. reassignment AT&T INTELLECTUAL PROPERTY I, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEATTIE, JAMES GORDON, JR., GRIESMER, STEPHEN J., RIOS, ROQUE, CHAKRABORTY, SOUMYAJIT
Publication of US20140325562A1 publication Critical patent/US20140325562A1/en
Application granted granted Critical
Publication of US9794627B2 publication Critical patent/US9794627B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/458Scheduling 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
    • H04N21/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/458Scheduling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders

Definitions

  • the present disclosure is generally related to content acquisition and delivery.
  • Broadcast content may be scheduled for recording at specified devices by a user.
  • the particular device that the content is recorded to may not be accessible by the user at a viewing time at which the user desires to view the content.
  • the user may schedule recording of a program at a set-top box device at the user's home and plan to watch the recorded program over the weekend, without remembering that she is scheduled to be traveling over the weekend.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system that is operable to acquire and deliver content;
  • FIG. 2 is a diagram to illustrate a particular example of an electronic program guide (EPG) display of the system of FIG. 1 ;
  • EPG electronic program guide
  • FIG. 3 is a diagram to illustrate a particular example of a user calendar that may be displayed by the system of FIG. 1 ;
  • FIG. 4 is a diagram to illustrate another particular example of the user calendar that may be displayed by the system of FIG. 1 ;
  • FIG. 5 is a diagram to illustrate another particular example of the user calendar that may be displayed by the system of FIG. 1 ;
  • FIG. 6 is a flowchart to illustrate a particular embodiment of a method of delivering content to a device
  • FIG. 7 is a flowchart to illustrate a particular embodiment of a method of acquiring content
  • FIG. 8 is a flowchart to illustrate another particular embodiment of a method of delivering content to a device
  • FIG. 9 is a flowchart to illustrate a particular embodiment of a method of rescheduling viewing of content
  • FIG. 10 is a flowchart to illustrate another particular embodiment of a method of delivering content to a device.
  • FIG. 11 is a block diagram of an illustrative embodiment of a general computer system operable to support embodiments of computer-implemented methods, computer program products, and system components as illustrated in FIGS. 1-10 .
  • a system and method of content acquisition and delivery that may be synchronized with a user calendar is disclosed.
  • the disclosed techniques may enable a user to schedule (e.g., in an electronic calendar) desired viewing times for the recordings.
  • the disclosed techniques may schedule acquisition of broadcast content based on a viewing time at which the user desires to view the content. For example, when the user wants to watch a “live” show on Saturday at 3 PM, acquisition may be scheduled substantially contemporaneously with the viewing time (i.e., on Saturday at 3 PM). Alternatively, when the viewer wants to watch the show on Tuesday after the show airs on Saturday, acquisition of the show may be scheduled earlier than the viewing time.
  • the disclosed techniques may also utilize the user's calendar to automatically determine what device or devices (e.g., a set-top box device, a mobile phone, etc.) to deliver the content to.
  • the determination may be based on the viewing time and calendar events in the user's calendar. For example, when a calendar event prior to the viewing time and/or a calendar event subsequent to the viewing time indicate that the user will be at work, the content may be delivered to a mobile device associated with the user instead of a set-top box device at the user's home. On the other hand, if the prior calendar event and/or the subsequent calendar event indicate that the user will be at home, the content may be delivered to the set-top box device.
  • a method in a particular embodiment, includes receiving, at an electronic device, a first input from a user identifying a program and a viewing time. The method includes creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user. The method also includes determining a first device to deliver the program to, where the first device is associated with the user. The determination is based on the viewing time and a second calendar event in the electronic calendar. The method further includes delivering the program to the first device.
  • a computer-readable medium stores instructions that, when executed by a processor, cause the processor to receive, at an electronic device, input from a user identifying a program and a viewing time.
  • the instructions are also executable to cause the processor to schedule acquisition of the program at an acquisition time that is earlier than the viewing time and that is later than a broadcast time of the program.
  • the instructions are further executable to cause the processor to acquire the program at the acquisition time.
  • a system in another particular embodiment, includes a processor and an acquisition module executable by the processor to receive input identifying a program and a viewing time.
  • the acquisition module is also executable by the processor to schedule acquisition of the program at an acquisition time that is earlier than the viewing time and later than a broadcast time of the program.
  • the acquisition module is further executable by the processor to acquire the program at the acquisition time.
  • the system also includes a scheduler executable by the processor to create a first calendar event corresponding to the viewing time in an electronic calendar associated with a user.
  • the system includes a distribution module executable by the processor to determine a first device to deliver the acquired program to, where the first device is associated with the user. The determination is based on the viewing time and a second calendar event in the electronic calendar.
  • the distribution module is further configured to deliver the acquired program to the first device.
  • the system 100 may include an acquisition and delivery server 112 communicatively coupled to a mobile device 122 (e.g., a cell phone, a tablet computer, etc.) via a wireless network 120 , a set-top box device 134 via a video distribution network 130 , a computing device 162 (e.g., a laptop computer, a desktop computer, etc.) via internet 160 , or any combination thereof.
  • a mobile device 122 e.g., a cell phone, a tablet computer, etc.
  • a set-top box device 134 via a video distribution network 130
  • a computing device 162 e.g., a laptop computer, a desktop computer, etc.
  • the set-top box device 134 may be communicatively coupled to the video distribution network 130 via customer premises equipment (CPE) 132 (e.g., a router, a residential gateway, etc.).
  • CPE customer premises equipment
  • the set-top box device 134 may also be communicatively coupled to a display device 136 (e.g., a television) and to a remote control 138 .
  • the set-top box device 134 may further be communicatively coupled to, or include, a digital video recorder (DVR) 140 .
  • DVR digital video recorder
  • the acquisition and delivery server 112 may be a network-accessible computing device, such as a server computer.
  • the acquisition and delivery server 112 may include a distribution module 102 , an acquisition module 104 , a scheduler 106 , a transcoder 172 , or any combination thereof.
  • the acquisition and delivery server 112 may also store or otherwise have access to user calendars 108 , user policies 174 , electronic program guide (EPG) data 110 , or any combination thereof.
  • the EPG data 110 may include information descriptive of media programs that are accessible by the user (e.g., based on a user account).
  • the user calendars 108 may include calendar events 176 , where each calendar event may correspond to an activity or a location associated with the user (e.g., traveling, watching a program, in a meeting, at work, at home, at the gym, etc.).
  • the acquisition and delivery server 112 may be communicatively coupled to a content provider 152 (e.g., a television programming provider, an on-demand content provider, etc.) via a content and acquisition network 150 .
  • the acquisition and delivery server 112 may be communicatively coupled to a network DVR 170 .
  • the system 100 may generally be configured such that each of the devices 122 , 134 , and 162 can receive similar input, generate similar output, and perform similar functions.
  • the user may pull up an EPG display on one of the devices.
  • a particular example of an EPG display is further described with reference to FIG. 2 .
  • the user may provide user input 190 identifying a program 142 and a viewing time 144 .
  • the viewing time 144 may indicate a time at which the user desires to view the program 142 .
  • the user input 190 may be received by the mobile device 122 , the set-top box device 134 , the computing device 162 , or any combination thereof.
  • the user input 190 may be received via an input interface of the mobile device 122 (e.g., a touch screen, etc.), via the remote control 138 , and/or an input device of the computing device 162 (e.g., a keyboard, a mouse, etc.).
  • the user input 190 may be sent to the acquisition and delivery server 112 .
  • the scheduler 106 may create a first calendar event in an electronic calendar of the user.
  • the first calendar event may correspond to the viewing time 144 .
  • the user calendars 108 may include the electronic calendar of the user, and the first calendar event may be added to the calendar events 176 .
  • Particular examples of the electronic calendar of the user are described with reference to FIGS. 3-5 .
  • the scheduler 106 may send a reminder 126 based on the viewing time 144 to remind the user regarding the scheduled program 142 .
  • the reminder 126 may be sent to at least one device (e.g., the computing device 162 , the set-top box device 134 , the mobile device 122 , etc.) associated with the user.
  • the user may want to reschedule the first calendar event.
  • the scheduler 106 may reschedule the first calendar event based on user input indicating that the user wants to change the viewing time 144 .
  • the acquisition module 104 may schedule acquisition of the program 142 at an acquisition time.
  • the acquisition time may be earlier than the viewing time 144 and later than a broadcast time of the program 142 .
  • the user may want to watch the program 142 on Saturday at 3 PM.
  • the program 142 may be airing “live” on Thursday at 7 PM, and a rerun of the program 142 may be airing on Friday at 9 am.
  • Acquisition of the program may be scheduled on Friday morning instead of Thursday night based on the Saturday viewing time because, for instance, bandwidth usage on Friday morning may be lower than bandwidth usage on Thursday evening during prime time.
  • Acquiring the program may include recording all or a portion of the program 142 .
  • the acquisition module 104 may record the portion or all of the program 142 at a network-based storage device (e.g. the network DVR 170 ), instruct a storage device (e.g., DVR 140 ) of a set-top box device associated with the user to record the portion or the program 142 , or any combination thereof.
  • a network-based storage device e.g. the network DVR 170
  • a storage device e.g., DVR 140
  • the distribution module 102 may determine what device (e.g., the computing device 162 , the set-top box device 134 , the mobile device 122 , etc.) to deliver the acquired program 142 to. The determination may be based on the viewing time 144 and a second calendar event in the user calendar. For example, when the second calendar event overlaps the first calendar event and indicates that the user will be traveling, the program 142 may be delivered to the mobile device 122 instead of the set-top box device 134 . Alternatively, when the viewing time 144 corresponds to a weekend and the user's calendar indicates that the user is usually at home on the weekend, the program 142 may be delivered to the set-top box device 134 .
  • the viewing time 144 corresponds to a weekend and the user's calendar indicates that the user is usually at home on the weekend
  • the program 142 may be delivered to the set-top box device 134 .
  • the program 142 may be delivered at a delivery time earlier than the viewing time 144 (e.g., “pushed” via download).
  • the program 142 may be airing on Friday at 10 AM, the user may want to watch the program 142 on Saturday at 3 PM, and the determined device may be the set-top box device 134 at the user's home.
  • the distribution module 102 may deliver the program 142 to the set-top box device 134 on Saturday at 2 AM to be recorded at the DVR 140 , so that the program 142 is accessible to the user at home on Saturday at 3 PM.
  • the distribution module 102 may send a stream of the program 142 to the device, or authorize/enable the device to receive the stream of the program 142 , at the viewing time 144 .
  • the system 100 may support policy-driven content acquisition or delivery.
  • the user policies 174 may include a user policy associated with the user.
  • the scheduler 106 may determine that the user policy indicates that the program 142 may not be delivered to a particular device at the viewing time 144 .
  • the user policy may indicate that the program 142 is blocked, the user is blocked, the particular device is blocked, or any combination thereof.
  • the user policy may indicate that no programming is to be scheduled for delivery to the mobile device 122 , no children's programming is to be scheduled for viewing during school hours, only educational programming may be scheduled for delivery to the computing device 162 , a particular user is not to schedule horror movies for viewing, etc.
  • the program 142 may be blocked based on genre, keywords, title, description, rating, cast, crew, etc.
  • the scheduler 106 may remove the first calendar event from the user calendar.
  • the system 100 may support dynamic adjustments to content acquisition and/or delivery based on user calendars.
  • the calendar event corresponding to the viewing time 144 may be rescheduled by the scheduler 106 .
  • the scheduler 106 may determine that a second calendar event conflicts with the first calendar event and notify the user regarding the conflict.
  • the scheduler 106 may reschedule the first calendar event, the second calendar event, or any combination thereof.
  • An example of rescheduling a calendar event is further described with reference to FIG. 4 .
  • Rescheduling the first calendar event may include the scheduler 106 modifying the first calendar event to correspond to a second viewing time.
  • rescheduling the first calendar event may include the acquisition module 104 rescheduling acquisition of the program 142 .
  • Rescheduling a calendar event may further include the distribution module 102 determining a different device to receive delivery of the program 142 based, at least in part, on a different viewing time. For example, the user may have scheduled viewing of a show on Thursday afternoon when a calendar event in the user's calendar indicates that the user will be traveling. In response, the distribution module 102 may determine that the show is to be delivered to the mobile device 122 . Subsequently, the user may reschedule the viewing to Saturday afternoon, and a calendar event in the user's calendar may indicate that the user will be at home on Saturday. In response, the distribution module 102 may determine that the show is to be delivered to the set-top box device 134 instead of to the mobile device 122 .
  • the system 100 may support multiple devices and content may be formatted differently for different devices (e.g., different aspect ratios, bitrates, etc.).
  • the transcoder 172 may selectively transcode the program 142 to a format (e.g., 4:3 aspect ratio, 16:9 aspect ratio, 16:10 aspect ratio, 320p resolution, 360p resolution, 480p resolution, 576p resolution, 720p resolution, 1080p resolution, 180 kilobits per second (kbits/s), 3.5 megabits per second (mbits/s), 40 mbits/s, Moving Pictures Experts Group (MPEG)-1, MPEG-2, MPEG-4, International Telecommunication Union Telecommunication Standardization Sector (ITU-T) H.264, Advanced Video Coding (AVC), Third Generation Platform (3GP), Windows Media Video (WMV), Society of Motion Picture and Television Engineers (SMPTE), Scalable Video Coding (SVC), Flash Video (FLV), etc.) supported by a device prior to delivering the program 142 to the device
  • the distribution module 102 may deliver the program 142 to the device.
  • the device may send data 164 to the acquisition and delivery server 112 indicating whether the program 142 was viewed by the user at the device.
  • the device may generate and send the data 164 in response to a query from the acquisition server 112 or automatically after the viewing time.
  • the data 164 may indicate whether a beginning portion of the program 142 was viewed, whether an ending portion of program 142 was viewed, or any combination thereof.
  • the acquisition and delivery server 112 may send a notification 128 related to the program 142 to at least one device (e.g., the computing device 162 , the set-top box device 134 , the mobile device 122 , etc.) associated with the user.
  • the device e.g., the computing device 162 , the set-top box device 134 , the mobile device 122 , etc.
  • the notification 128 may inform the user that the program 142 was not viewed, may ask whether the user would like to reschedule the viewing of the program 142 , may inform the user that the viewing of the program 142 has been automatically rescheduled to a new viewing time that has been added to the user's calendar, may inform the user that the program 142 will be delivered to the set-top box device 134 , or any combination thereof.
  • the scheduler 106 may reschedule the first calendar event.
  • the distribution module 102 may deliver the program 142 to the DVR 140 via the set-top box device 134 in response to determining that the program 142 was not viewed.
  • the DVR 140 may thus serve as a “backup” delivery device that is used when programs scheduled for viewing were not viewed.
  • the system 100 may thus enable content acquisition and delivery, and viewing of content may be synchronized with a user's calendar.
  • the system 100 of FIG. 1 may be used to automatically deliver content to a user device based on calendar events associated with the user's calendar.
  • the device may be dynamically determined, so that the user may not have to manually specify a different device when the user's schedule changes.
  • the viewing of content may be automatically rescheduled. Hence, the user may not have to manually specify a different viewing time when there is a conflicting event in the user's calendar.
  • the system 100 of FIG. 1 may also be used to automatically schedule acquisition of the content based on the viewing time. Acquisition of the content may be scheduled such that the content will be accessible to the user at the viewing time.
  • the content may be acquired at an acquisition time based on lower bandwidth usage, lower billing rates, etc.
  • FIG. 2 a diagram of a particular example of an electronic program guide (EPG) display of the system of FIG. 1 is illustrated and is generally designated 200 .
  • EPG electronic program guide
  • the program 142 and the viewing time 144 may be selected via an EPG 202 .
  • the EPG 202 may display a broadcast time 214 and a program title 204 , based on the EPG data 110 , corresponding to programs scheduled to air on a broadcast day 212 . As illustrated in FIG. 2 , the EPG 202 indicates that “Dr. Porter” is scheduled to air at 11:00 am on Friday May 4.
  • the program title 204 may represent the program 142 of FIG. 1 .
  • the EPG 202 may include a recording option 216 to schedule recording of the program 142 at the broadcast time 214 on the broadcast day 212 .
  • the user may access the EPG 202 via the set-top box device, via a webpage or an application at the mobile device 122 , or via a webpage or an application at the computing device 162 .
  • the user may select the recording option 216 to schedule a “local” recording (e.g., to the DVR 140 of FIG. 1 ) of “Dr. Porter” at 11:00 am on Friday May 4.
  • the EPG 202 may also include a date option 206 , a time option 208 , and a viewing option 210 to schedule a viewing of program 142 .
  • the time option 206 and the date option 208 may indicate the viewing time 144 of FIG. 1 .
  • the user may select the viewing option 210 to schedule a viewing of “Dr. Porter” at 4:00 PM on May 16, 2012, as shown.
  • the selections made by the user may correspond to the user input 190 of FIG. 1 .
  • the user input 190 may be sent to the acquisition and delivery server 112 .
  • the scheduler 106 may schedule delivery of the program 142 based on an electronic calendar of the user (e.g., one of the user calendars 108 of FIG. 1 ).
  • FIG. 3 a diagram of a particular example of a user calendar of the system of FIG. 1 is illustrated and is generally designated as 300 .
  • viewing of a program (e.g., the program 142 of FIG. 1 ) may be scheduled based on the user calendar 302 .
  • the user calendar 302 may be a corporate calendar, a personal calendar, a calendar provided by an internet service provider, or any combination thereof.
  • the scheduler 106 of FIG. 1 may create a calendar event 306 in the user calendar 302 corresponding to the program 142 at the viewing time 144 .
  • the calendar event 306 may correspond to the scheduled viewing of “Dr. Porter,” as described with reference to FIG. 2 .
  • the distribution module 102 may determine a device to receive delivery of the program 142 based on other calendar events in the user calendar 302 within a time period (e.g., 12 hours) before and after the viewing time 144 .
  • the user calendar 302 may include a prior calendar event 308 and a subsequent calendar event 310 within the time period indicating that the user is scheduled to be away from home before and/or after the viewing time 144 .
  • the distribution module 102 may determine that the program 142 is to be delivered to the mobile device 122 instead of to the set-top box device 134 .
  • the prior calendar event 308 indicates that the user is scheduled to be in a meeting at work from 10:00 AM to 10:30 AM on May 16, 2012.
  • the subsequent calendar event 310 indicates that the user is scheduled to be in another meeting at work from 5:00 PM to 5:30 PM.
  • the distribution module 102 may determine that the user is likely to be at work during the 4:00 PM to 4:30 PM scheduled viewing time and thus “Dr. Porter” is to be delivered to the user's laptop computer (or mobile phone/tablet computer), instead of to a set-top box device at the user's home.
  • the user may access the user calendar 302 via a hypertext transfer protocol (HTTP) browser at the set-top box device, via a webpage or an application at the mobile device 122 , or via a webpage or an application at the computing device 162 .
  • HTTP hypertext transfer protocol
  • FIG. 4 a diagram of another particular example of the user calendar of the system of FIG. 1 is illustrated and is generally designated 400 .
  • an overlapping calendar event 402 overlaps the calendar event 306 during a viewing period that begins at the viewing time of 4:00 pm.
  • the scheduler 106 of FIG. 1 may determine that the overlapping calendar event 402 conflicts with the calendar event 306 based on a type (e.g., meeting) and/or a location (e.g., at work) associated with the overlapping calendar event 402 .
  • the overlapping calendar event 402 may indicate that the user is scheduled to be in a meeting at work from 3:00 PM to 4:10 PM that conflicts with the viewing time 144 from 4:00 PM to 4:30 PM.
  • the scheduler 106 may reschedule (e.g., automatically, based on user input, and/or based on user profile preferences) viewing of the program 142 by modifying the calendar event 306 to correspond to a new viewing time.
  • the new viewing time may be chosen on a different day than the viewing time 144 based on the user's viewing habits and other calendar events. For example, profile information entered by the user or automatically collected by a server may indicate that the user usually watches programs during a particular time period (e.g., 6 PM-10 PM on weekdays, 2 PM-5 PM on weekends, 8 AM-10 AM on Mondays, etc.). Thus, the scheduler 106 may attempt to reschedule the viewing of “Dr. Porter” from 4:00 PM on Wednesday to between 6 PM-10 PM on Wednesday. However, the user calendar 302 indicates that there is another conflicting calendar event scheduled during the 6 PM-10 PM time period. The user is scheduled to be at a party between 3:1 PM and 9:30 PM on Wednesday.
  • profile information entered by the user or automatically collected by a server may indicate that the user usually watches programs during a particular time period (e.g., 6 PM-10 PM on weekdays, 2 PM-5 PM on weekends, 8 AM-10 AM on Mondays, etc.).
  • the scheduler 106 may attempt to res
  • the scheduler 106 may search for a next available day on which the user calendar 302 indicates that the user is available during a typical television watching time period. Hence, the scheduler 106 may modify the calendar event 306 to calendar event 404 that corresponds to a new viewing time of 6:30 PM on Thursday.
  • the distribution module 102 of FIG. 1 may determine whether the program is to be delivered to another device or to the same device based at least in part on the new viewing time.
  • the distribution module 102 may determine that the user is usually at a particular location (e.g., based on the user's viewing history, user settings, the user calendar 302 , etc.) at the new viewing time. For example, the distribution module 102 may determine that the user is usually at home after 6 PM on weekdays and a calendar event 406 indicates that the user is scheduled to view “Friends” between 6 PM-6:30 PM on Thursday, May 17 (i.e., does not indicate that the user is scheduled to be away from home).
  • the distribution module 102 may determine that the user is likely to be at home at 6:30 PM on Thursday, May 17 and hence determine that “Dr. Porter” is to be delivered to the set-top box device 134 at the user's home.
  • the first calendar event may include an option for the user to change the delivery device or to add a delivery device.
  • FIG. 5 a diagram of another particular example of the user calendar of the system of FIG. 1 is illustrated and is generally designated 500 .
  • a calendar event 502 overlaps the calendar event 306 during a viewing period that begins at the viewing time of 4:00 PM.
  • the scheduler 106 of FIG. 1 may determine that the overlapping calendar event 502 does not conflict with the calendar event 306 based on a type (e.g., travel) and/or a location (e.g., away from work) associated with the overlapping calendar event 502 .
  • a type e.g., travel
  • a location e.g., away from work
  • the overlapping calendar event 502 may indicate that the user is scheduled to be travelling all day on Wednesday, May 16 and the scheduler 106 may determine that travelling does not conflict with the 4:00 PM-4:30 PM viewing of “Dr. Porter” associated with the calendar event 306 .
  • the distribution module 102 of FIG. 1 may determine a device to deliver the program 142 to based at least in part on the overlapping calendar event 502 . For example, the distribution module 102 may determine that the user is scheduled to be travelling all day on Wednesday, May 16 (i.e., the user will not be at home) and to determine that “Dr. Porter” is to be delivered to the mobile device 122 instead of the set-top box device 134 at the user's home.
  • FIG. 6 is a flowchart to illustrate a particular embodiment of a method 600 of delivering content to a device.
  • the method 600 may be performed by the system 100 of FIG. 1 and illustrated with reference to FIGS. 2-5 .
  • the method 600 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 602 , and creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 604 .
  • the acquisition and delivery server 112 may receive the user input 190 indicating the program 142 and the viewing time 144 .
  • the program 142 and the viewing time 144 may be selected by a user via the EPG 202 of FIG. 2 .
  • the user may select the program title 204 of FIG. 2 , the date option 206 , the time option 208 , and the schedule viewing option 210 .
  • the scheduler 106 of FIG. 1 may add a calendar event to the calendar events 176 .
  • the scheduler 106 may create the calendar event 306 of FIG. 3 in the user calendar 302 .
  • the method 600 may also include determining a first device to deliver the program to, where the first device is associated with the user and where the determination is based on the viewing time and a second calendar event in the electronic calendar, at 606 , and delivering the program to the first device at 608 .
  • the distribution module 102 of FIG. 1 may determine a device to deliver “Dr. Porter” to based on other calendar events, as described with reference to FIGS. 3-5 , and may deliver “Dr. Porter” to the determined device.
  • FIG. 7 is a flowchart to illustrate a particular embodiment of a method 700 of acquiring content.
  • the method 700 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIG. 2 .
  • the method 700 may include receiving, at an electronic device, input from a user identifying a program and a viewing time, at 702 .
  • the method 700 may also include scheduling acquisition of the program at an acquisition time that is earlier than the viewing time and that is later than a broadcast time of the program, at 704 , and acquiring the program at the acquisition time, at 706 .
  • the acquisition module 104 may schedule acquisition of “Dr. Porter” earlier than the viewing time 144 of 4:00 PM on May 16, 2012 and later than the broadcast time 214 of FIG. 2 of 11:00 AM on May 4, 2012.
  • the acquisition time may be scheduled for when a re-run of the program 142 airs, where the re-run is scheduled between the broadcast time 214 and the viewing time 144 .
  • the acquired program 142 may be stored based on a device designated to receive delivery of the program 142 .
  • the acquired program 142 may be stored at the DVR 140 .
  • the acquired program may be stored at the network DVR 170 . It will be appreciated that such flexibility in acquisition time scheduling and storage may enable a service provider to conserve network bandwidth and other resources.
  • FIG. 8 is a flowchart to illustrate another particular embodiment of a method 800 of delivering content to a device.
  • the method 800 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIGS. 2-5 .
  • the method 800 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 802 , creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 804 , and determining a first device to deliver the program to, at 806 .
  • the first device is associated with the user and the determination is based on the viewing time and a second calendar event in the electronic calendar.
  • the method 800 may also include determining whether there is a conflict between the first calendar event and the second calendar event, at 808 .
  • the scheduler 106 may determine whether there is a conflict between the scheduled viewing of “Dr. Porter” (i.e., the calendar event 306 of FIG.
  • the scheduler 106 may determine whether there's a conflict between the scheduled viewing of “Dr. Porter” and an all-day travel event (i.e., the calendar event 502 of FIG. 5 ) scheduled on the same day, as described with reference to FIG. 5 .
  • the method 800 may also include, in response to determining the conflict, notifying the user regarding the conflict, at 810 .
  • the method 800 may include, in response to determining the conflict, rescheduling the first calendar event, at 812 .
  • the acquisition and delivery server 112 may, in response to determining that there is a conflict, send a notification 128 regarding the conflict to one or more devices (e.g., the mobile device 122 , the set-top box device 134 , the computing device 162 , etc.) associated with the user.
  • the scheduler 106 may reschedule the first calendar event automatically after sending the notification, based on user input requesting rescheduling in response to the notification, or automatically in response to not receiving user input within a certain time after sending the notification. For example, the scheduler 106 may reschedule the viewing of “Dr. Porter” as described with reference to FIG. 4 .
  • the method 800 may further include delivering the program (e.g., at or earlier than the rescheduled viewing time), at 814 .
  • the method 800 may thus enhance user program scheduling experience because the user may not have to remember to check for calendar conflicts. Instead, the user may rely on the disclosed systems and methods to automatically resolve conflicts and find free time for the user to watch a program.
  • FIG. 9 is a flowchart to illustrate a particular embodiment of a method 900 of rescheduling viewing of content.
  • the method 900 may be performed by the system 100 of FIG. 1 .
  • the method 900 may correspond to the operation 812 of FIG. 8 .
  • the method 900 may include modifying a calendar event to correspond to a viewing time, at 902 , and determining a device to deliver a program to, at 904 .
  • the device is associated with a user and the determination is based at least in part on the viewing time.
  • the scheduler 106 may modify the viewing of “Dr. Porter” to another day and/or time and the distribution module 102 may determine a device to deliver “Dr. Porter” based at least in part on the new day and/or time, as described with reference to FIG. 4 .
  • the method 900 may thus enhance user experience because the user may not have to determine which device to have the program delivered to. Instead, the user may rely on the systems and methods to automatically determine the appropriate device to display the content irrespective of user location.
  • FIG. 10 is a flowchart to illustrate another particular embodiment of a method 1000 of delivering content to a device.
  • the method 1000 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIGS. 2-5 .
  • the method 1000 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 1002 .
  • the method 1000 may also include creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 1004 , and determining a first device to deliver the program to, at 1006 .
  • the first device is associated with the user and the determination is based on the viewing time and a second calendar event (or multiple other calendar events) in the electronic calendar.
  • the method 1000 may also include delivering the program to the first device, at 1008 .
  • the method 1000 may also include receiving data indicating whether the program was viewed by the user at the first device, at 1010 . For example, in FIG.
  • the acquisition and delivery server 112 may receive the data 164 from a device associated with the user (e.g., the mobile device 122 , the set-top box device 134 , or the computing device 162 ), where the data 164 indicates whether “Dr. Porter” was viewed at the device.
  • a device associated with the user e.g., the mobile device 122 , the set-top box device 134 , or the computing device 162 .
  • the method 1000 may also include, in response to determining that the program was not viewed based on the data, sending a notification related to the program to at least one device associated with the user, at 1012 .
  • the acquisition and delivery server 112 may, in response to determining that “Dr. Porter” was not viewed at the device, send the notification 128 regarding “Dr. Porter” to at least one device associated with the user (e.g., the mobile device 122 , the set-top box device 134 , the computing device 162 , etc.).
  • the method 1000 may include, in response to determining that the program was not viewed, rescheduling a first calendar event, at 1014 , and/or delivering the program to a set-top box device associated with the user, at 1016 .
  • the scheduler 106 may, in response to determining that “Dr. Porter” was not viewed on the device, reschedule the viewing of “Dr. Porter”, as described with reference to FIG. 4 .
  • the distribution module 102 may deliver “Dr. Porter” to the set-top box device 134 .
  • FIG. 11 is a block diagram illustrates an embodiment of a general computer system that is generally designated 1100 .
  • the computer system 1100 may be operable to support embodiments of computer-implemented methods, computer program products, and system components as illustrated in FIGS. 1-10 .
  • the computer system 1100 or any portion thereof, may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
  • the computer system 1100 may operate in the capacity of a set-top box device, a personal computing device, a mobile computing device, or some other computing device.
  • the computer system 1100 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a web appliance, a television or other display device, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • the computer system 1100 can be implemented using electronic devices that provide voice, video, and/or data communication.
  • the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
  • the computer system 1100 may include a processor 1102 , e.g., a central processing unit (CPU). Moreover, the computer system 1100 may include a main memory 1104 and a static memory 1106 that may communicate with each other via a bus 1108 .
  • the main memory 1104 may include (e.g., as processor-executable instructions) the distribution module 102 of FIG. 1 , the acquisition module 104 of FIG. 1 , the scheduler 106 of FIG. 1 , the transcoder 172 of FIG. 1 , the EPG Data 110 of FIG. 1 , the user calendars 108 of FIG. 1 , the user policies 174 of FIG. 1 , or any combination thereof.
  • the computer system 1100 may further include or be coupled to a video display unit 1110 , such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid-state display, or a projection display.
  • the computer system 1100 may include an input device 1112 , such as a keyboard, a remote control device, and a cursor control device 1114 , such as a mouse. In a particular embodiment, the cursor control device 1114 may be incorporated into a remote control device.
  • the computer system 1100 may also include a disk drive unit 1116 , a signal generation device 1118 , such as a speaker, and a network interface device 1120 .
  • the network interface device 1120 may be coupled to other devices (not shown) via a network 1126 , such as the wireless network 120 of FIG. 1 , the video distribution network 130 of FIG. 1 , the internet 160 of FIG. 1 , or any combination thereof.
  • One or more of the components of the computer system 1100 may be included in a set-top box device (e.g. the set-top box device 134 ), a mobile device (e.g., the mobile device 122 ), or a computing device (e.g., the computing device 162 ).
  • the set-top box device, the mobile device, or the computing device may include a tangible computer-readable medium in which one or more sets of instructions, e.g., software, may be embedded. Further, the instructions may be executable by a processor to perform one or more of the methods described herein.
  • the disk drive unit 1116 may include a tangible computer-readable medium 1122 in which one or more sets of instructions 1124 , e.g. software, may be embedded. Further, the instructions 1124 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 1124 may reside completely, or at least partially, within the main memory 1104 , the static memory 1106 , and/or within the processor 1102 during execution by the computer system 1100 . The main memory 1104 and the processor 1102 also may include tangible computer-readable media.
  • dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein.
  • Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems.
  • One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
  • the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limiting embodiment, implementations can include distributed processing and parallel processing. Alternatively, virtual computer system processing can be used to implement one or more of the methods or functionality as described herein.
  • the present disclosure describes a computer-readable non-transitory medium that includes instructions 1124 so that a device connected to the network 1126 can communicate voice, video, or data over the network 1126 . Further, the instructions 1124 may be transmitted or received over the network 1126 via the network interface device 1120 (e.g., via uploading and/or downloading of an image upsampling application or program).
  • While the computer-readable non-transitory medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions.
  • the term “non-transitory computer-readable medium” shall also include any medium that is capable of storing a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
  • the computer-readable non-transitory medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories.
  • the computer-readable non-transitory medium can be a random access memory or other volatile re-writable memory.
  • the computer-readable non-transitory medium can include a magneto-optical or optical medium, such as a disk or tapes. Accordingly, the disclosure is considered to include any one or more of a computer-readable non-transitory storage medium and successor media, in which data or instructions may be stored.
  • software that implements the disclosed methods may optionally be stored on a tangible storage medium, such as: a magnetic medium, such as a disk or tape; a magneto-optical or optical medium, such as a disk; or a solid state medium, such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories.
  • a tangible storage medium such as: a magnetic medium, such as a disk or tape; a magneto-optical or optical medium, such as a disk; or a solid state medium, such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories.
  • inventions of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept.
  • inventions merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept.
  • specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown.
  • This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.

Abstract

A method includes creating a first calendar event in an electronic calendar associated with a user. The first calendar event corresponds to a first viewing time and is associated with delivery of media content to a first device associated with the user. The method further includes rescheduling the first calendar event in response to determining that a scheduling conflict exists between the first calendar event and a second calendar event. Rescheduling the first calendar event includes modifying the first calendar event to correspond to a second viewing time and determining, based on the second viewing time, a second device to deliver the media content to. The second device is associated with the user.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of and claims priority from U.S. patent application Ser. No. 13/595,012, filed Aug. 27, 2012 and entitled “SYSTEM AND METHOD OF CONTENT ACQUISITION AND DELIVERY,” which is hereby incorporated by reference in its entirety.
  • FIELD OF THE DISCLOSURE
  • The present disclosure is generally related to content acquisition and delivery.
  • BACKGROUND
  • Broadcast content may be scheduled for recording at specified devices by a user. However, the particular device that the content is recorded to may not be accessible by the user at a viewing time at which the user desires to view the content. For example, the user may schedule recording of a program at a set-top box device at the user's home and plan to watch the recorded program over the weekend, without remembering that she is scheduled to be traveling over the weekend.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system that is operable to acquire and deliver content;
  • FIG. 2 is a diagram to illustrate a particular example of an electronic program guide (EPG) display of the system of FIG. 1;
  • FIG. 3 is a diagram to illustrate a particular example of a user calendar that may be displayed by the system of FIG. 1;
  • FIG. 4 is a diagram to illustrate another particular example of the user calendar that may be displayed by the system of FIG. 1;
  • FIG. 5 is a diagram to illustrate another particular example of the user calendar that may be displayed by the system of FIG. 1;
  • FIG. 6 is a flowchart to illustrate a particular embodiment of a method of delivering content to a device;
  • FIG. 7 is a flowchart to illustrate a particular embodiment of a method of acquiring content;
  • FIG. 8 is a flowchart to illustrate another particular embodiment of a method of delivering content to a device;
  • FIG. 9 is a flowchart to illustrate a particular embodiment of a method of rescheduling viewing of content;
  • FIG. 10 is a flowchart to illustrate another particular embodiment of a method of delivering content to a device; and
  • FIG. 11 is a block diagram of an illustrative embodiment of a general computer system operable to support embodiments of computer-implemented methods, computer program products, and system components as illustrated in FIGS. 1-10.
  • DETAILED DESCRIPTION
  • A system and method of content acquisition and delivery that may be synchronized with a user calendar is disclosed. In addition to scheduling recordings, the disclosed techniques may enable a user to schedule (e.g., in an electronic calendar) desired viewing times for the recordings. The disclosed techniques may schedule acquisition of broadcast content based on a viewing time at which the user desires to view the content. For example, when the user wants to watch a “live” show on Saturday at 3 PM, acquisition may be scheduled substantially contemporaneously with the viewing time (i.e., on Saturday at 3 PM). Alternatively, when the viewer wants to watch the show on Tuesday after the show airs on Saturday, acquisition of the show may be scheduled earlier than the viewing time. The disclosed techniques may also utilize the user's calendar to automatically determine what device or devices (e.g., a set-top box device, a mobile phone, etc.) to deliver the content to. The determination may be based on the viewing time and calendar events in the user's calendar. For example, when a calendar event prior to the viewing time and/or a calendar event subsequent to the viewing time indicate that the user will be at work, the content may be delivered to a mobile device associated with the user instead of a set-top box device at the user's home. On the other hand, if the prior calendar event and/or the subsequent calendar event indicate that the user will be at home, the content may be delivered to the set-top box device.
  • In a particular embodiment, a method includes receiving, at an electronic device, a first input from a user identifying a program and a viewing time. The method includes creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user. The method also includes determining a first device to deliver the program to, where the first device is associated with the user. The determination is based on the viewing time and a second calendar event in the electronic calendar. The method further includes delivering the program to the first device.
  • In another particular embodiment, a computer-readable medium stores instructions that, when executed by a processor, cause the processor to receive, at an electronic device, input from a user identifying a program and a viewing time. The instructions are also executable to cause the processor to schedule acquisition of the program at an acquisition time that is earlier than the viewing time and that is later than a broadcast time of the program. The instructions are further executable to cause the processor to acquire the program at the acquisition time.
  • In another particular embodiment, a system includes a processor and an acquisition module executable by the processor to receive input identifying a program and a viewing time. The acquisition module is also executable by the processor to schedule acquisition of the program at an acquisition time that is earlier than the viewing time and later than a broadcast time of the program. The acquisition module is further executable by the processor to acquire the program at the acquisition time. The system also includes a scheduler executable by the processor to create a first calendar event corresponding to the viewing time in an electronic calendar associated with a user. The system includes a distribution module executable by the processor to determine a first device to deliver the acquired program to, where the first device is associated with the user. The determination is based on the viewing time and a second calendar event in the electronic calendar. The distribution module is further configured to deliver the acquired program to the first device.
  • Referring to FIG. 1, a block diagram of a particular illustrative embodiment of a system that is operable to acquire and deliver content is illustrated and is generally designated 100. The system 100 may include an acquisition and delivery server 112 communicatively coupled to a mobile device 122 (e.g., a cell phone, a tablet computer, etc.) via a wireless network 120, a set-top box device 134 via a video distribution network 130, a computing device 162 (e.g., a laptop computer, a desktop computer, etc.) via internet 160, or any combination thereof. In particular embodiments, components of the system 100 may be implemented in hardware and/or as instructions executable by a processor, as further described with reference to FIG. 11.
  • The set-top box device 134 may be communicatively coupled to the video distribution network 130 via customer premises equipment (CPE) 132 (e.g., a router, a residential gateway, etc.). The set-top box device 134 may also be communicatively coupled to a display device 136 (e.g., a television) and to a remote control 138. The set-top box device 134 may further be communicatively coupled to, or include, a digital video recorder (DVR) 140.
  • The acquisition and delivery server 112 may be a network-accessible computing device, such as a server computer. The acquisition and delivery server 112 may include a distribution module 102, an acquisition module 104, a scheduler 106, a transcoder 172, or any combination thereof. The acquisition and delivery server 112 may also store or otherwise have access to user calendars 108, user policies 174, electronic program guide (EPG) data 110, or any combination thereof. The EPG data 110 may include information descriptive of media programs that are accessible by the user (e.g., based on a user account). The user calendars 108 may include calendar events 176, where each calendar event may correspond to an activity or a location associated with the user (e.g., traveling, watching a program, in a meeting, at work, at home, at the gym, etc.). The acquisition and delivery server 112 may be communicatively coupled to a content provider 152 (e.g., a television programming provider, an on-demand content provider, etc.) via a content and acquisition network 150. The acquisition and delivery server 112 may be communicatively coupled to a network DVR 170.
  • The system 100 may generally be configured such that each of the devices 122, 134, and 162 can receive similar input, generate similar output, and perform similar functions. During operation, the user may pull up an EPG display on one of the devices. A particular example of an EPG display is further described with reference to FIG. 2. The user may provide user input 190 identifying a program 142 and a viewing time 144. The viewing time 144 may indicate a time at which the user desires to view the program 142. The user input 190 may be received by the mobile device 122, the set-top box device 134, the computing device 162, or any combination thereof. For example, the user input 190 may be received via an input interface of the mobile device 122 (e.g., a touch screen, etc.), via the remote control 138, and/or an input device of the computing device 162 (e.g., a keyboard, a mouse, etc.). The user input 190 may be sent to the acquisition and delivery server 112.
  • In response to the user input 190, the scheduler 106 may create a first calendar event in an electronic calendar of the user. For example, the first calendar event may correspond to the viewing time 144. The user calendars 108 may include the electronic calendar of the user, and the first calendar event may be added to the calendar events 176. Particular examples of the electronic calendar of the user are described with reference to FIGS. 3-5. In a particular embodiment, the scheduler 106 may send a reminder 126 based on the viewing time 144 to remind the user regarding the scheduled program 142. The reminder 126 may be sent to at least one device (e.g., the computing device 162, the set-top box device 134, the mobile device 122, etc.) associated with the user. In response to the reminder 126, the user may want to reschedule the first calendar event. The scheduler 106 may reschedule the first calendar event based on user input indicating that the user wants to change the viewing time 144.
  • Before the program 142 can be viewed by the user, the acquisition module 104 may schedule acquisition of the program 142 at an acquisition time. In a particular embodiment, the acquisition time may be earlier than the viewing time 144 and later than a broadcast time of the program 142. For example, the user may want to watch the program 142 on Saturday at 3 PM. The program 142 may be airing “live” on Thursday at 7 PM, and a rerun of the program 142 may be airing on Friday at 9 am. Acquisition of the program may be scheduled on Friday morning instead of Thursday night based on the Saturday viewing time because, for instance, bandwidth usage on Friday morning may be lower than bandwidth usage on Thursday evening during prime time. Acquiring the program may include recording all or a portion of the program 142. For example, the acquisition module 104 may record the portion or all of the program 142 at a network-based storage device (e.g. the network DVR 170), instruct a storage device (e.g., DVR 140) of a set-top box device associated with the user to record the portion or the program 142, or any combination thereof.
  • At or before the viewing time, the distribution module 102 may determine what device (e.g., the computing device 162, the set-top box device 134, the mobile device 122, etc.) to deliver the acquired program 142 to. The determination may be based on the viewing time 144 and a second calendar event in the user calendar. For example, when the second calendar event overlaps the first calendar event and indicates that the user will be traveling, the program 142 may be delivered to the mobile device 122 instead of the set-top box device 134. Alternatively, when the viewing time 144 corresponds to a weekend and the user's calendar indicates that the user is usually at home on the weekend, the program 142 may be delivered to the set-top box device 134. In a particular embodiment, the program 142 may be delivered at a delivery time earlier than the viewing time 144 (e.g., “pushed” via download). For example, the program 142 may be airing on Friday at 10 AM, the user may want to watch the program 142 on Saturday at 3 PM, and the determined device may be the set-top box device 134 at the user's home. The distribution module 102 may deliver the program 142 to the set-top box device 134 on Saturday at 2 AM to be recorded at the DVR 140, so that the program 142 is accessible to the user at home on Saturday at 3 PM.
  • In a particular embodiment, when the viewing time 144 is substantially contemporaneous with the acquisition time (e.g., the user input 190 indicates that the user desires to watch a “live” event as it occurs), the distribution module 102 may send a stream of the program 142 to the device, or authorize/enable the device to receive the stream of the program 142, at the viewing time 144.
  • In a particular embodiment, the system 100 may support policy-driven content acquisition or delivery. For example, the user policies 174 may include a user policy associated with the user. The scheduler 106 may determine that the user policy indicates that the program 142 may not be delivered to a particular device at the viewing time 144. To illustrate, the user policy may indicate that the program 142 is blocked, the user is blocked, the particular device is blocked, or any combination thereof. For example, the user policy may indicate that no programming is to be scheduled for delivery to the mobile device 122, no children's programming is to be scheduled for viewing during school hours, only educational programming may be scheduled for delivery to the computing device 162, a particular user is not to schedule horror movies for viewing, etc. The program 142 may be blocked based on genre, keywords, title, description, rating, cast, crew, etc. In response to determining that the user policy indicates that the program 142 may not be made available to the user, the scheduler 106 may remove the first calendar event from the user calendar.
  • In a particular embodiment, the system 100 may support dynamic adjustments to content acquisition and/or delivery based on user calendars. For example, the calendar event corresponding to the viewing time 144 may be rescheduled by the scheduler 106. In a particular embodiment, the scheduler 106 may determine that a second calendar event conflicts with the first calendar event and notify the user regarding the conflict. In response to determining the conflict, the scheduler 106 may reschedule the first calendar event, the second calendar event, or any combination thereof. An example of rescheduling a calendar event is further described with reference to FIG. 4. Rescheduling the first calendar event may include the scheduler 106 modifying the first calendar event to correspond to a second viewing time. In addition, rescheduling the first calendar event may include the acquisition module 104 rescheduling acquisition of the program 142.
  • Rescheduling a calendar event may further include the distribution module 102 determining a different device to receive delivery of the program 142 based, at least in part, on a different viewing time. For example, the user may have scheduled viewing of a show on Thursday afternoon when a calendar event in the user's calendar indicates that the user will be traveling. In response, the distribution module 102 may determine that the show is to be delivered to the mobile device 122. Subsequently, the user may reschedule the viewing to Saturday afternoon, and a calendar event in the user's calendar may indicate that the user will be at home on Saturday. In response, the distribution module 102 may determine that the show is to be delivered to the set-top box device 134 instead of to the mobile device 122.
  • In a particular embodiment, the system 100 may support multiple devices and content may be formatted differently for different devices (e.g., different aspect ratios, bitrates, etc.). The transcoder 172 may selectively transcode the program 142 to a format (e.g., 4:3 aspect ratio, 16:9 aspect ratio, 16:10 aspect ratio, 320p resolution, 360p resolution, 480p resolution, 576p resolution, 720p resolution, 1080p resolution, 180 kilobits per second (kbits/s), 3.5 megabits per second (mbits/s), 40 mbits/s, Moving Pictures Experts Group (MPEG)-1, MPEG-2, MPEG-4, International Telecommunication Union Telecommunication Standardization Sector (ITU-T) H.264, Advanced Video Coding (AVC), Third Generation Platform (3GP), Windows Media Video (WMV), Society of Motion Picture and Television Engineers (SMPTE), Scalable Video Coding (SVC), Flash Video (FLV), etc.) supported by a device prior to delivering the program 142 to the device.
  • At or before the viewing time, the distribution module 102 may deliver the program 142 to the device. After the viewing time, the device may send data 164 to the acquisition and delivery server 112 indicating whether the program 142 was viewed by the user at the device. The device may generate and send the data 164 in response to a query from the acquisition server 112 or automatically after the viewing time. The data 164 may indicate whether a beginning portion of the program 142 was viewed, whether an ending portion of program 142 was viewed, or any combination thereof. In response to determining that the program 142 was not viewed based on the data 164, the acquisition and delivery server 112 may send a notification 128 related to the program 142 to at least one device (e.g., the computing device 162, the set-top box device 134, the mobile device 122, etc.) associated with the user. For example, the notification 128 may inform the user that the program 142 was not viewed, may ask whether the user would like to reschedule the viewing of the program 142, may inform the user that the viewing of the program 142 has been automatically rescheduled to a new viewing time that has been added to the user's calendar, may inform the user that the program 142 will be delivered to the set-top box device 134, or any combination thereof. In response to determining that the program 142 was not viewed, the scheduler 106 may reschedule the first calendar event. Alternatively, or in addition, the distribution module 102 may deliver the program 142 to the DVR 140 via the set-top box device 134 in response to determining that the program 142 was not viewed. The DVR 140 may thus serve as a “backup” delivery device that is used when programs scheduled for viewing were not viewed.
  • The system 100 may thus enable content acquisition and delivery, and viewing of content may be synchronized with a user's calendar. The system 100 of FIG. 1 may be used to automatically deliver content to a user device based on calendar events associated with the user's calendar. The device may be dynamically determined, so that the user may not have to manually specify a different device when the user's schedule changes. Further, the viewing of content may be automatically rescheduled. Hence, the user may not have to manually specify a different viewing time when there is a conflicting event in the user's calendar. The system 100 of FIG. 1 may also be used to automatically schedule acquisition of the content based on the viewing time. Acquisition of the content may be scheduled such that the content will be accessible to the user at the viewing time. The content may be acquired at an acquisition time based on lower bandwidth usage, lower billing rates, etc.
  • Referring to FIG. 2, a diagram of a particular example of an electronic program guide (EPG) display of the system of FIG. 1 is illustrated and is generally designated 200. In an illustrative embodiment, the program 142 and the viewing time 144 may be selected via an EPG 202.
  • The EPG 202 may display a broadcast time 214 and a program title 204, based on the EPG data 110, corresponding to programs scheduled to air on a broadcast day 212. As illustrated in FIG. 2, the EPG 202 indicates that “Dr. Porter” is scheduled to air at 11:00 am on Friday May 4. The program title 204 may represent the program 142 of FIG. 1. The EPG 202 may include a recording option 216 to schedule recording of the program 142 at the broadcast time 214 on the broadcast day 212. The user may access the EPG 202 via the set-top box device, via a webpage or an application at the mobile device 122, or via a webpage or an application at the computing device 162. For example, the user may select the recording option 216 to schedule a “local” recording (e.g., to the DVR 140 of FIG. 1) of “Dr. Porter” at 11:00 am on Friday May 4. The EPG 202 may also include a date option 206, a time option 208, and a viewing option 210 to schedule a viewing of program 142. The time option 206 and the date option 208 may indicate the viewing time 144 of FIG. 1. For example, the user may select the viewing option 210 to schedule a viewing of “Dr. Porter” at 4:00 PM on May 16, 2012, as shown. The selections made by the user may correspond to the user input 190 of FIG. 1. The user input 190 may be sent to the acquisition and delivery server 112. The scheduler 106 may schedule delivery of the program 142 based on an electronic calendar of the user (e.g., one of the user calendars 108 of FIG. 1).
  • Referring to FIG. 3, a diagram of a particular example of a user calendar of the system of FIG. 1 is illustrated and is generally designated as 300. In an illustrative embodiment, viewing of a program (e.g., the program 142 of FIG. 1) may be scheduled based on the user calendar 302. The user calendar 302 may be a corporate calendar, a personal calendar, a calendar provided by an internet service provider, or any combination thereof.
  • The scheduler 106 of FIG. 1 may create a calendar event 306 in the user calendar 302 corresponding to the program 142 at the viewing time 144. For example, the calendar event 306 may correspond to the scheduled viewing of “Dr. Porter,” as described with reference to FIG. 2. The distribution module 102 may determine a device to receive delivery of the program 142 based on other calendar events in the user calendar 302 within a time period (e.g., 12 hours) before and after the viewing time 144. For example, the user calendar 302 may include a prior calendar event 308 and a subsequent calendar event 310 within the time period indicating that the user is scheduled to be away from home before and/or after the viewing time 144. Based on the other events 308 and 310, the distribution module 102 may determine that the program 142 is to be delivered to the mobile device 122 instead of to the set-top box device 134. For example, the prior calendar event 308 indicates that the user is scheduled to be in a meeting at work from 10:00 AM to 10:30 AM on May 16, 2012. The subsequent calendar event 310 indicates that the user is scheduled to be in another meeting at work from 5:00 PM to 5:30 PM. Hence, the distribution module 102 may determine that the user is likely to be at work during the 4:00 PM to 4:30 PM scheduled viewing time and thus “Dr. Porter” is to be delivered to the user's laptop computer (or mobile phone/tablet computer), instead of to a set-top box device at the user's home. The user may access the user calendar 302 via a hypertext transfer protocol (HTTP) browser at the set-top box device, via a webpage or an application at the mobile device 122, or via a webpage or an application at the computing device 162.
  • Referring to FIG. 4, a diagram of another particular example of the user calendar of the system of FIG. 1 is illustrated and is generally designated 400. In FIG. 4, an overlapping calendar event 402 overlaps the calendar event 306 during a viewing period that begins at the viewing time of 4:00 pm.
  • In such situations, the scheduler 106 of FIG. 1 may determine that the overlapping calendar event 402 conflicts with the calendar event 306 based on a type (e.g., meeting) and/or a location (e.g., at work) associated with the overlapping calendar event 402. For example, the overlapping calendar event 402 may indicate that the user is scheduled to be in a meeting at work from 3:00 PM to 4:10 PM that conflicts with the viewing time 144 from 4:00 PM to 4:30 PM. After determining the conflict, the scheduler 106 may reschedule (e.g., automatically, based on user input, and/or based on user profile preferences) viewing of the program 142 by modifying the calendar event 306 to correspond to a new viewing time. The new viewing time may be chosen on a different day than the viewing time 144 based on the user's viewing habits and other calendar events. For example, profile information entered by the user or automatically collected by a server may indicate that the user usually watches programs during a particular time period (e.g., 6 PM-10 PM on weekdays, 2 PM-5 PM on weekends, 8 AM-10 AM on Mondays, etc.). Thus, the scheduler 106 may attempt to reschedule the viewing of “Dr. Porter” from 4:00 PM on Wednesday to between 6 PM-10 PM on Wednesday. However, the user calendar 302 indicates that there is another conflicting calendar event scheduled during the 6 PM-10 PM time period. The user is scheduled to be at a party between 6:30 PM and 9:30 PM on Wednesday. Thus, the scheduler 106 may search for a next available day on which the user calendar 302 indicates that the user is available during a typical television watching time period. Hence, the scheduler 106 may modify the calendar event 306 to calendar event 404 that corresponds to a new viewing time of 6:30 PM on Thursday.
  • Further, when a viewing event is rescheduled, the distribution module 102 of FIG. 1 may determine whether the program is to be delivered to another device or to the same device based at least in part on the new viewing time. The distribution module 102 may determine that the user is usually at a particular location (e.g., based on the user's viewing history, user settings, the user calendar 302, etc.) at the new viewing time. For example, the distribution module 102 may determine that the user is usually at home after 6 PM on weekdays and a calendar event 406 indicates that the user is scheduled to view “Friends” between 6 PM-6:30 PM on Thursday, May 17 (i.e., does not indicate that the user is scheduled to be away from home). The distribution module 102 may determine that the user is likely to be at home at 6:30 PM on Thursday, May 17 and hence determine that “Dr. Porter” is to be delivered to the set-top box device 134 at the user's home. The first calendar event may include an option for the user to change the delivery device or to add a delivery device.
  • Referring to FIG. 5, a diagram of another particular example of the user calendar of the system of FIG. 1 is illustrated and is generally designated 500. In FIG. 5, a calendar event 502 overlaps the calendar event 306 during a viewing period that begins at the viewing time of 4:00 PM.
  • The scheduler 106 of FIG. 1 may determine that the overlapping calendar event 502 does not conflict with the calendar event 306 based on a type (e.g., travel) and/or a location (e.g., away from work) associated with the overlapping calendar event 502. For example, the overlapping calendar event 502 may indicate that the user is scheduled to be travelling all day on Wednesday, May 16 and the scheduler 106 may determine that travelling does not conflict with the 4:00 PM-4:30 PM viewing of “Dr. Porter” associated with the calendar event 306.
  • The distribution module 102 of FIG. 1 may determine a device to deliver the program 142 to based at least in part on the overlapping calendar event 502. For example, the distribution module 102 may determine that the user is scheduled to be travelling all day on Wednesday, May 16 (i.e., the user will not be at home) and to determine that “Dr. Porter” is to be delivered to the mobile device 122 instead of the set-top box device 134 at the user's home.
  • FIG. 6 is a flowchart to illustrate a particular embodiment of a method 600 of delivering content to a device. In an illustrative embodiment, the method 600 may be performed by the system 100 of FIG. 1 and illustrated with reference to FIGS. 2-5.
  • The method 600 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 602, and creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 604. For example, in FIG. 1, the acquisition and delivery server 112 may receive the user input 190 indicating the program 142 and the viewing time 144. In a particular embodiment, the program 142 and the viewing time 144 may be selected by a user via the EPG 202 of FIG. 2. For example, the user may select the program title 204 of FIG. 2, the date option 206, the time option 208, and the schedule viewing option 210. The scheduler 106 of FIG. 1 may add a calendar event to the calendar events 176. For example, the scheduler 106 may create the calendar event 306 of FIG. 3 in the user calendar 302.
  • The method 600 may also include determining a first device to deliver the program to, where the first device is associated with the user and where the determination is based on the viewing time and a second calendar event in the electronic calendar, at 606, and delivering the program to the first device at 608. For example, the distribution module 102 of FIG. 1 may determine a device to deliver “Dr. Porter” to based on other calendar events, as described with reference to FIGS. 3-5, and may deliver “Dr. Porter” to the determined device.
  • FIG. 7 is a flowchart to illustrate a particular embodiment of a method 700 of acquiring content. In an illustrative embodiment, the method 700 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIG. 2.
  • The method 700 may include receiving, at an electronic device, input from a user identifying a program and a viewing time, at 702. The method 700 may also include scheduling acquisition of the program at an acquisition time that is earlier than the viewing time and that is later than a broadcast time of the program, at 704, and acquiring the program at the acquisition time, at 706. For example, in FIG. 1, the acquisition module 104 may schedule acquisition of “Dr. Porter” earlier than the viewing time 144 of 4:00 PM on May 16, 2012 and later than the broadcast time 214 of FIG. 2 of 11:00 AM on May 4, 2012. To illustrate, the acquisition time may be scheduled for when a re-run of the program 142 airs, where the re-run is scheduled between the broadcast time 214 and the viewing time 144. For example, a re-run of “Dr. Porter” may be scheduled to air on May 10, 2012. The acquired program 142 may be stored based on a device designated to receive delivery of the program 142. For example, when the device is the set-top box device 134, the acquired program 142 may be stored at the DVR 140. Alternatively, when the device is not the set-top box device, the acquired program may be stored at the network DVR 170. It will be appreciated that such flexibility in acquisition time scheduling and storage may enable a service provider to conserve network bandwidth and other resources.
  • FIG. 8 is a flowchart to illustrate another particular embodiment of a method 800 of delivering content to a device. In an illustrative embodiment, the method 800 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIGS. 2-5.
  • The method 800 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 802, creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 804, and determining a first device to deliver the program to, at 806. The first device is associated with the user and the determination is based on the viewing time and a second calendar event in the electronic calendar. The method 800 may also include determining whether there is a conflict between the first calendar event and the second calendar event, at 808. For example, in FIG. 1, the scheduler 106 may determine whether there is a conflict between the scheduled viewing of “Dr. Porter” (i.e., the calendar event 306 of FIG. 3) at 4:00 PM on May 16 and a meeting (i.e., the calendar event 402 of FIG. 4) scheduled between 3:00 PM and 4:00 PM on the same day, as described with reference to FIG. 4. As another example, the scheduler 106 may determine whether there's a conflict between the scheduled viewing of “Dr. Porter” and an all-day travel event (i.e., the calendar event 502 of FIG. 5) scheduled on the same day, as described with reference to FIG. 5.
  • The method 800 may also include, in response to determining the conflict, notifying the user regarding the conflict, at 810. The method 800 may include, in response to determining the conflict, rescheduling the first calendar event, at 812. For example, in FIG. 1, the acquisition and delivery server 112 may, in response to determining that there is a conflict, send a notification 128 regarding the conflict to one or more devices (e.g., the mobile device 122, the set-top box device 134, the computing device 162, etc.) associated with the user. The scheduler 106 may reschedule the first calendar event automatically after sending the notification, based on user input requesting rescheduling in response to the notification, or automatically in response to not receiving user input within a certain time after sending the notification. For example, the scheduler 106 may reschedule the viewing of “Dr. Porter” as described with reference to FIG. 4. The method 800 may further include delivering the program (e.g., at or earlier than the rescheduled viewing time), at 814. The method 800 may thus enhance user program scheduling experience because the user may not have to remember to check for calendar conflicts. Instead, the user may rely on the disclosed systems and methods to automatically resolve conflicts and find free time for the user to watch a program.
  • FIG. 9 is a flowchart to illustrate a particular embodiment of a method 900 of rescheduling viewing of content. In an illustrative embodiment, the method 900 may be performed by the system 100 of FIG. 1. For example, the method 900 may correspond to the operation 812 of FIG. 8.
  • The method 900 may include modifying a calendar event to correspond to a viewing time, at 902, and determining a device to deliver a program to, at 904. The device is associated with a user and the determination is based at least in part on the viewing time. For example, in FIG. 1, the scheduler 106 may modify the viewing of “Dr. Porter” to another day and/or time and the distribution module 102 may determine a device to deliver “Dr. Porter” based at least in part on the new day and/or time, as described with reference to FIG. 4. The method 900 may thus enhance user experience because the user may not have to determine which device to have the program delivered to. Instead, the user may rely on the systems and methods to automatically determine the appropriate device to display the content irrespective of user location.
  • FIG. 10 is a flowchart to illustrate another particular embodiment of a method 1000 of delivering content to a device. In an illustrative embodiment, the method 1000 may be performed by the system 100 of FIG. 1 and may be illustrated with reference to FIGS. 2-5.
  • The method 1000 may include receiving, at an electronic device, input from a user identifying a program and a viewing time at which the user desires to view the program, at 1002. The method 1000 may also include creating a first calendar event corresponding to the viewing time in an electronic calendar associated with the user, at 1004, and determining a first device to deliver the program to, at 1006. The first device is associated with the user and the determination is based on the viewing time and a second calendar event (or multiple other calendar events) in the electronic calendar. The method 1000 may also include delivering the program to the first device, at 1008. The method 1000 may also include receiving data indicating whether the program was viewed by the user at the first device, at 1010. For example, in FIG. 1, the acquisition and delivery server 112 may receive the data 164 from a device associated with the user (e.g., the mobile device 122, the set-top box device 134, or the computing device 162), where the data 164 indicates whether “Dr. Porter” was viewed at the device.
  • The method 1000 may also include, in response to determining that the program was not viewed based on the data, sending a notification related to the program to at least one device associated with the user, at 1012. For example, in FIG. 1, the acquisition and delivery server 112 may, in response to determining that “Dr. Porter” was not viewed at the device, send the notification 128 regarding “Dr. Porter” to at least one device associated with the user (e.g., the mobile device 122, the set-top box device 134, the computing device 162, etc.).
  • Alternately, or in addition, the method 1000 may include, in response to determining that the program was not viewed, rescheduling a first calendar event, at 1014, and/or delivering the program to a set-top box device associated with the user, at 1016. For example, in FIG. 1, the scheduler 106 may, in response to determining that “Dr. Porter” was not viewed on the device, reschedule the viewing of “Dr. Porter”, as described with reference to FIG. 4. Alternatively, or in addition, the distribution module 102 may deliver “Dr. Porter” to the set-top box device 134.
  • FIG. 11 is a block diagram illustrates an embodiment of a general computer system that is generally designated 1100. The computer system 1100 may be operable to support embodiments of computer-implemented methods, computer program products, and system components as illustrated in FIGS. 1-10. The computer system 1100, or any portion thereof, may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
  • In a networked deployment, the computer system 1100 may operate in the capacity of a set-top box device, a personal computing device, a mobile computing device, or some other computing device. The computer system 1100 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a web appliance, a television or other display device, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 1100 can be implemented using electronic devices that provide voice, video, and/or data communication. Further, while a single computer system 1100 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
  • As illustrated in FIG. 11, the computer system 1100 may include a processor 1102, e.g., a central processing unit (CPU). Moreover, the computer system 1100 may include a main memory 1104 and a static memory 1106 that may communicate with each other via a bus 1108. In a particular embodiment, the main memory 1104 may include (e.g., as processor-executable instructions) the distribution module 102 of FIG. 1, the acquisition module 104 of FIG. 1, the scheduler 106 of FIG. 1, the transcoder 172 of FIG. 1, the EPG Data 110 of FIG. 1, the user calendars 108 of FIG. 1, the user policies 174 of FIG. 1, or any combination thereof. As shown, the computer system 1100 may further include or be coupled to a video display unit 1110, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid-state display, or a projection display. Additionally, the computer system 1100 may include an input device 1112, such as a keyboard, a remote control device, and a cursor control device 1114, such as a mouse. In a particular embodiment, the cursor control device 1114 may be incorporated into a remote control device. The computer system 1100 may also include a disk drive unit 1116, a signal generation device 1118, such as a speaker, and a network interface device 1120. The network interface device 1120 may be coupled to other devices (not shown) via a network 1126, such as the wireless network 120 of FIG. 1, the video distribution network 130 of FIG. 1, the internet 160 of FIG. 1, or any combination thereof.
  • One or more of the components of the computer system 1100 may be included in a set-top box device (e.g. the set-top box device 134), a mobile device (e.g., the mobile device 122), or a computing device (e.g., the computing device 162). In a particular embodiment, the set-top box device, the mobile device, or the computing device may include a tangible computer-readable medium in which one or more sets of instructions, e.g., software, may be embedded. Further, the instructions may be executable by a processor to perform one or more of the methods described herein.
  • In a particular embodiment, as depicted in FIG. 11, the disk drive unit 1116 may include a tangible computer-readable medium 1122 in which one or more sets of instructions 1124, e.g. software, may be embedded. Further, the instructions 1124 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 1124 may reside completely, or at least partially, within the main memory 1104, the static memory 1106, and/or within the processor 1102 during execution by the computer system 1100. The main memory 1104 and the processor 1102 also may include tangible computer-readable media.
  • In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
  • In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limiting embodiment, implementations can include distributed processing and parallel processing. Alternatively, virtual computer system processing can be used to implement one or more of the methods or functionality as described herein.
  • The present disclosure describes a computer-readable non-transitory medium that includes instructions 1124 so that a device connected to the network 1126 can communicate voice, video, or data over the network 1126. Further, the instructions 1124 may be transmitted or received over the network 1126 via the network interface device 1120 (e.g., via uploading and/or downloading of an image upsampling application or program).
  • While the computer-readable non-transitory medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “non-transitory computer-readable medium” shall also include any medium that is capable of storing a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
  • In a particular non-limiting, exemplary embodiment, the computer-readable non-transitory medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable non-transitory medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable non-transitory medium can include a magneto-optical or optical medium, such as a disk or tapes. Accordingly, the disclosure is considered to include any one or more of a computer-readable non-transitory storage medium and successor media, in which data or instructions may be stored.
  • It should also be noted that software that implements the disclosed methods may optionally be stored on a tangible storage medium, such as: a magnetic medium, such as a disk or tape; a magneto-optical or optical medium, such as a disk; or a solid state medium, such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories.
  • Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. For example, standards for Internet, other packet switched network transmission and standards for viewing media content (e.g. MPEG and H.264) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
  • One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
  • The Abstract of the Disclosure is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
  • The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims (20)

What is claimed is:
1. A method comprising:
creating a first calendar event in an electronic calendar associated with a user, wherein the first calendar event corresponds to a first viewing time and is associated with delivery of media content to a first device associated with the user; and
rescheduling the first calendar event in response to determining that a scheduling conflict exists between the first calendar event and a second calendar event, wherein rescheduling the first calendar event comprises:
modifying the first calendar event to correspond to a second viewing time; and
determining, based on the second viewing time, a second device to deliver the media content to, the second device associated with the user.
2. The method of claim 1, wherein the second device is determined independent of user input.
3. The method of claim 1, wherein a determination of the second device is further based on a third calendar event, wherein the third calendar event corresponds to an event time that is proximate in time to the second viewing time, and wherein the third calendar event indicates a particular location of the user.
4. The method of claim 1, wherein a determination of the second device is further based on profile information associated with the user.
5. The method of claim 1, further comprising receiving, at an electronic device, user input indicating a program and the first viewing time, wherein the media content corresponds to the program.
6. The method of claim 1, further comprising determining that the scheduling conflict exists between the first calendar event and the second calendar event when the second calendar event overlaps the first calendar event during a viewing period that begins at the first viewing time.
7. The method of claim 1, further comprising determining the first device based on the first viewing time.
8. The method of claim 1, further comprising delivering the media content to the first device in response to a determination that no scheduling conflict exists between the first calendar event and other calendar events.
9. The method of claim 8, further comprising:
receiving data indicating whether the media content has been displayed to the user at the first device; and
in response to a determination that the media content has not been displayed based on the data, sending a notification to a particular device associated with the user.
10. The method of claim 9, wherein the data indicates whether a beginning portion of the media content has been displayed, whether an ending portion of the media content has been displayed, or a combination thereof.
11. The method of claim 9, further comprising, in response to determining that the media content has not been displayed to the user, scheduling a third viewing time corresponding to the media content.
12. The method of claim 1, further comprising sending a notification to a particular device associated with the user in response to determining that the scheduling conflict exists, wherein the notification indicates the second viewing time, the second device, or a combination thereof.
13. The method of claim 1, wherein the second calendar event is an all day event.
14. A computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
creating a first calendar event in an electronic calendar associated with a user, wherein the first calendar event corresponds to a first viewing time and is associated with delivery of media content to a first device associated with the user; and
rescheduling the first calendar event in response to determining that a scheduling conflict exists between the first calendar event and a second calendar event, wherein rescheduling the first calendar event comprises:
modifying the first calendar event to correspond to a second viewing time; and
determining, based on the second viewing time, a second device to deliver the media content to, the second device associated with the user.
15. The computer-readable storage device of claim 14, wherein a determination of the first device is based on user input, and wherein a determination of the second device is independent of the user input.
16. The computer-readable storage device of claim 14, wherein the operations further comprise providing a notification to a particular device associated with the user in response to determining that the scheduling conflict exists between the first calendar event and the second calendar event.
17. The computer-readable storage device of claim 14, wherein the operations further comprise:
receiving, at an electronic device, user input indicating a program and the first viewing time, wherein the media content corresponds to the program; and
determining the first device based on the first viewing time.
18. A system comprising:
a processor; and
a scheduler executable by the processor to:
create a first calendar event in an electronic calendar associated with a user, wherein the first calendar event corresponds to a first viewing time and is associated with delivery of media content to a first device associated with the user; and
reschedule the first calendar event in response to determining that a scheduling conflict exists between the first calendar event and a second calendar event, wherein rescheduling the first calendar event comprises:
modifying the first calendar event to correspond to a second viewing time; and
initiating a determination, based on the second viewing time, of a second device to deliver the media content to, the second device associated with the user.
19. The system of claim 18, further comprising an acquisition module executable by the processor to:
receive user input identifying a program and the first viewing time, wherein the media content corresponds to the program;
schedule acquisition of the media content at an acquisition time; and
acquire the media content at the acquisition time.
20. The system of claim 18, further comprising a distribution module executable by the processor to:
determine the first device to deliver the media content to, wherein the determination of the first device is based on the first viewing time and a third calendar event in the electronic calendar; and
determine the second device based on the second viewing time and in response to determining that the scheduling conflict exists between the first calendar event and the second calendar event.
US14/329,762 2012-08-27 2014-07-11 System and method of content acquisition and delivery Active US9794627B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/329,762 US9794627B2 (en) 2012-08-27 2014-07-11 System and method of content acquisition and delivery

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/595,012 US8819737B2 (en) 2012-08-27 2012-08-27 System and method of content acquisition and delivery
US14/329,762 US9794627B2 (en) 2012-08-27 2014-07-11 System and method of content acquisition and delivery

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/595,012 Continuation US8819737B2 (en) 2012-08-27 2012-08-27 System and method of content acquisition and delivery

Publications (2)

Publication Number Publication Date
US20140325562A1 true US20140325562A1 (en) 2014-10-30
US9794627B2 US9794627B2 (en) 2017-10-17

Family

ID=50149220

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/595,012 Active US8819737B2 (en) 2012-08-27 2012-08-27 System and method of content acquisition and delivery
US14/329,762 Active US9794627B2 (en) 2012-08-27 2014-07-11 System and method of content acquisition and delivery

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/595,012 Active US8819737B2 (en) 2012-08-27 2012-08-27 System and method of content acquisition and delivery

Country Status (1)

Country Link
US (2) US8819737B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218971A1 (en) * 2012-02-09 2013-08-22 Samsung Electronics, Co., Ltd. Cloud platform notification
US9124998B2 (en) 2012-03-20 2015-09-01 Samsung Electronics Co., Ltd. Smart alarm
US20170155961A1 (en) * 2015-11-26 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method, device and system for presenting event information
JP2018504678A (en) * 2014-12-11 2018-02-15 フェイスブック,インク. Notification delivery noticed by users

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075596B2 (en) * 2012-06-01 2018-09-11 At&T Intellectual Property I, L.P. Method and apparatus for sharing a service in a wireless network
US9495664B2 (en) * 2012-12-27 2016-11-15 International Business Machines Corporation Delivering electronic meeting content
US8850466B2 (en) * 2013-02-12 2014-09-30 Samsung Electronics Co., Ltd. Method and system for the determination of a present viewer in a smart TV
WO2015015581A1 (en) 2013-07-31 2015-02-05 日立マクセル株式会社 Mobile terminal and video display apparatus
US20150163265A1 (en) * 2013-12-05 2015-06-11 Cox Communications, Inc. Video wake-up calls
US9940679B2 (en) * 2014-02-14 2018-04-10 Google Llc Systems, methods, and computer-readable media for event creation and notification
US9894413B2 (en) 2014-06-12 2018-02-13 Google Llc Systems and methods for locally detecting consumed video content
US10438009B2 (en) 2014-12-23 2019-10-08 Rovi Guides, Inc. Systems and methods for managing access to media assets based on a projected location of a user
US20160249092A1 (en) * 2015-02-24 2016-08-25 Layer3 TV, Inc. System and method for digital video recording backfill
USD772913S1 (en) * 2015-05-21 2016-11-29 Layer3 TV, Inc. Display screen or portion thereof with graphical user interface
DE102016103416A1 (en) * 2016-02-26 2017-09-14 Technisat Digital Gmbh Arrangement with a receiving device, a receiving device and use of a receiving device
US10587924B2 (en) 2017-01-03 2020-03-10 Turner Broadcasting System, Inc Personalized, event-driven, and location-based consumption of media content
US10924544B2 (en) * 2017-01-06 2021-02-16 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for calendar control
US11533528B2 (en) * 2021-03-30 2022-12-20 Rovi Guides, Inc. Dynamic scheduling of content

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681396B1 (en) * 2000-02-11 2004-01-20 International Business Machines Corporation Automated detection/resumption of interrupted television programs
US20050055716A1 (en) * 2002-04-15 2005-03-10 Universal Electronics Inc. System and method for adaptively controlling the recording of program material using a program guide
US20050229211A1 (en) * 2001-07-25 2005-10-13 Satoshi Iino Display control apparatus and method
US20100333137A1 (en) * 2009-06-30 2010-12-30 Gemstar Development Corporation Methods and systems for content scheduling across multiple devices
US20110162020A1 (en) * 2009-12-29 2011-06-30 Kahn Raynold M Method and system for operating a multi-room digital video recording system
US20120315021A1 (en) * 2007-11-01 2012-12-13 Microsoft Corporation Alternate source conflict resolution
US9060161B2 (en) * 2012-06-29 2015-06-16 Verizon Patent And Licensing Inc. Automatic DVR conflict resolution
US20160132836A1 (en) * 2001-11-15 2016-05-12 Intel Corporation Methods and apparatus for dynamically processing events based on automatic detection of time conflicts
US9392209B1 (en) * 2010-04-08 2016-07-12 Dominic M. Kotab Systems and methods for recording television programs

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259927A (en) * 1998-03-06 1999-09-24 Matsushita Electric Ind Co Ltd Program recording/reserving device
US6532589B1 (en) 1999-03-25 2003-03-11 Sony Corp. Method and apparatus for providing a calendar-based planner in an electronic program guide for broadcast events
US7072932B1 (en) 1999-08-26 2006-07-04 Lucent Technologies Inc. Personalized network-based services
US20030086694A1 (en) * 2001-11-07 2003-05-08 Nokia Corporation Recording program scheduling information in an electronic calendar
JP2003189206A (en) 2001-12-20 2003-07-04 Pioneer Electronic Corp Method and device for generating viewing schedule
US7558469B2 (en) * 2003-09-05 2009-07-07 Echostar Technologies Corporation Method and apparatus to display graphically recording timer conflicts
US8607297B2 (en) * 2003-09-11 2013-12-10 EchoStar Technologies, L.L.C. Remote setting of recording timers
US7502587B2 (en) * 2004-05-28 2009-03-10 Echostar Technologies Corporation Method and device for band translation
US9948882B2 (en) * 2005-08-11 2018-04-17 DISH Technologies L.L.C. Method and system for toasted video distribution
US7565365B2 (en) * 2005-08-31 2009-07-21 Sap Ag Object storage and synchronization hooks for occasionally-connected devices
US20080091718A1 (en) 2006-10-12 2008-04-17 Barsness Eric L Coordinating digital video recorder ('DVR') recording with a user's electronic calendar
KR20080057848A (en) 2006-12-21 2008-06-25 삼성전자주식회사 Image display apparatus for displaying broadcasting reservation list and a method thereof
US9785916B2 (en) 2007-10-12 2017-10-10 Yahoo Holdings, Inc. Integrating rich media into a web-based calendar
US8195025B2 (en) * 2007-11-30 2012-06-05 At&T Intellectual Property I, L.P. Systems, methods, and computer products for digital video recorder management and scheduling
US20140007154A1 (en) * 2012-06-29 2014-01-02 United Video Properties, Inc. Systems and methods for providing individualized control of media assets

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681396B1 (en) * 2000-02-11 2004-01-20 International Business Machines Corporation Automated detection/resumption of interrupted television programs
US20050229211A1 (en) * 2001-07-25 2005-10-13 Satoshi Iino Display control apparatus and method
US7971219B2 (en) * 2001-07-25 2011-06-28 Sony Corporation Display control apparatus and method
US20160132836A1 (en) * 2001-11-15 2016-05-12 Intel Corporation Methods and apparatus for dynamically processing events based on automatic detection of time conflicts
US20050055716A1 (en) * 2002-04-15 2005-03-10 Universal Electronics Inc. System and method for adaptively controlling the recording of program material using a program guide
US20120315021A1 (en) * 2007-11-01 2012-12-13 Microsoft Corporation Alternate source conflict resolution
US20100333137A1 (en) * 2009-06-30 2010-12-30 Gemstar Development Corporation Methods and systems for content scheduling across multiple devices
US20110162020A1 (en) * 2009-12-29 2011-06-30 Kahn Raynold M Method and system for operating a multi-room digital video recording system
US9392209B1 (en) * 2010-04-08 2016-07-12 Dominic M. Kotab Systems and methods for recording television programs
US9060161B2 (en) * 2012-06-29 2015-06-16 Verizon Patent And Licensing Inc. Automatic DVR conflict resolution

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218971A1 (en) * 2012-02-09 2013-08-22 Samsung Electronics, Co., Ltd. Cloud platform notification
US9124998B2 (en) 2012-03-20 2015-09-01 Samsung Electronics Co., Ltd. Smart alarm
USRE48278E1 (en) 2012-03-20 2020-10-20 Samsung Electronics Co., Ltd. Smart alarm
JP2018504678A (en) * 2014-12-11 2018-02-15 フェイスブック,インク. Notification delivery noticed by users
US10515081B2 (en) 2014-12-11 2019-12-24 Facebook, Inc. User-aware notification delivery
US20170155961A1 (en) * 2015-11-26 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method, device and system for presenting event information

Also Published As

Publication number Publication date
US9794627B2 (en) 2017-10-17
US8819737B2 (en) 2014-08-26
US20140059608A1 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
US9794627B2 (en) System and method of content acquisition and delivery
US10652596B2 (en) Cloud-enabled network-based digital video recorder
US20210297741A1 (en) System and mothod to obtain content and generate modified content based on time limited content information
US9143832B2 (en) Customized content calendar
US9667918B2 (en) Network recording system
EP3174305A1 (en) Methods and systems for intelligent utilization of off-peak network bandwith
US9729611B2 (en) Method and system for ABR recording
US20100125658A1 (en) Method and system for multimedia content consumption analysis
US8997156B2 (en) Systems and methods for distributing user generated content
US20120054804A1 (en) System and Method of Scheduling an Event Related to an Advertisement
US20150249803A1 (en) Bandwidth aware digital video recording (dvr) scheduling
US20080307485A1 (en) Automatic extension of recording using in-band and out-of-band data sources
US20160337704A1 (en) System and method for content delivery by subscriber personal channel
US20130080907A1 (en) Method and system for a personalized content play list
US9124905B2 (en) System and method for optimizing storage and transcoding costs in network DVR
CA2903855C (en) System and method for optimizing storage and transcoding costs in network dvr
US20090172742A1 (en) Systems, methods, and computer products for recording of repeated programs
US8627371B2 (en) System and method of applying user profiles at a set-top box device
WO2016118836A1 (en) Commercial-free audiovisual content
US20050149619A1 (en) Methods, systems and storage medium for distributing content based on user communities
US20200280760A1 (en) Capturing border metadata while recording content
US9172902B2 (en) Media recorder that selects when to record media content that is available at multiple times
WO2014084803A1 (en) Event management for television programming

Legal Events

Date Code Title Description
AS Assignment

Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEATTIE, JAMES GORDON, JR.;CHAKRABORTY, SOUMYAJIT;GRIESMER, STEPHEN J.;AND OTHERS;SIGNING DATES FROM 20120628 TO 20120824;REEL/FRAME:033299/0938

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4