`a2) Patent Application Publication 10) Pub. No.: US 2009/0254708 Al
`(43) Pub. Date: Oct. 8, 2009
`
`Balraj et al.
`
`US 20090254708A1
`
`(54) METHOD AND APPARATUS FOR
`DELIVERING AND CACHING MULTIPLE
`PIECES OF CONTENT
`
`(75)
`
`Inventors:
`
`Sajith Balraj, San Diego, CA
`(US); An Mei Chen,San Diego,
`CA (US)
`
`Correspondence Address:
`QUALCOMM INCORPORATED
`5775 MOREHOUSEDR.
`
`SAN DIEGO, CA 92121 (US)
`
`(73) Assignee:
`
`QUALCOMMIncorporated, San
`Diego, CA (US)
`
`(21) Appl. No.:
`
`12/419,193
`
`(22)
`
`Filed:
`
`Apr. 6, 2009
`
`Related U.S. Application Data
`
`(60) Provisional application No. 61/043,033, filed on Apr.
`7, 2008.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`GO6F 12/00
`(52) US. Ch wi 711/118; 71 1/E12.001; 711/E12.017
`
`(57)
`
`ABSTRACT
`
`Aspects relate to systems and methods for providing the
`ability to customize content delivery. A device can cache
`multiple presentations. The device can establish a cache
`depth upon initiation of the subscription service. The device
`can provide an interface to select a cache depth. The cache
`depth can be the numberof presentations the device will
`maintain on the device at a given time.
`
`CONTENT
`
` CONTENT
`PROVIDER
`
` OPTIMIZED
`
`BROADCAST
`NETWORK
`
`132
`
`132
`
`NOTEBOOK
`COMPUTER
`
`‘182
`
`CLIENT
`
`PROVIDER
`
`
`
`CLIENT|WOBILE
`134
`TELEPHONE
`
`CHE
`
`134
`
`134
`
`APPLE 1007
`
`APPLE 1007
`
`1
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 1 of 9
`
`US 2009/0254708 Al
`
`CONTENT
`PROVIDER
`
` CONTENT
`
`PROVIDER
`
`108
`
`
`
` OPTIMIZED
`
`BROADCAST
`NETWORK
`
`
`
`CLIENT
`
`CACHE
`
`PDA
`
`132
`
`NOTEBOOK
`COMPUTER
`
`132
`
`CLIENT
`
`
`
`134 CLIENT|MOBILE
`TELEPHONE
`
`ACHE
`
`134
`
`134
`
`FIG. 1
`
`2
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 2 of 9
`
`US 2009/0254708 Al
`
`200\
`
`GUIDE
`INFORMATION
`
`TRANSCEIVER
`LOGIC
`
`RESOURCES
`AND
`INTERFACES
`
`216
`
`PROCESSING
`LOGIC
`
`ACTIVATION
`LOGIC
`
`CLIENT
`
`FIG. 2
`
`3
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 3 of 9
`
`US 2009/0254708 Al
`
`300\
`
`RESOURCES
`AND
`INTERFACES
`
`CLIENT
`
`LOGIC
`
`GUIDE AND
`PRESENTATION
`LOGIC
`
`PROCESSING
`LOGIC
`
`314
`
`TRANSCEIVER
`
`FIG. 3
`
`4
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 4 of 9
`
`US 2009/0254708 Al
`
`405
`
`410
`
`Epoch 2
`Epoch 1. ————>
`
`
`
`425 415
`
`420
`
`Service License
`Prefetch time Epoch
`2
`430
`
`Presentation
`Expiry Time
`
`505
`
`510
`
`Epoch 1. ————>
`Epoch 2
`
`
`
`525 515
`
`535
`
`520
`
`t
`
`t
`
`Service License
`Prefetch time Epoch
`2
`530
`
`FIG. 5
`
`5
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 5 of 9
`
`US 2009/0254708 Al
`
`DEVICE
`RESOURCES
`
`AND
`INTERFACES
`
`CLIENT
`
`618
`
`TRANSCEIVER
`LOGIC
`
`MANAGER
`
`600 \
`
`-
`COLLECTION ~
`
`CACHE
`
`PROCESSING
`LOGIC
`
`SUBSCRIPTION
`DATABASE
`
`RESOURCE
`
`FIG. 6
`
`6
`
`
`
`Patent Application Publication
`
`Oct. 8
`
`’
`
`2009 Sheet 6 of 9
`
`US 2009/0254708 Al
`
`(¢+1)pUSJd
`
`qZSls
`
`V2‘Slad
`
`Oc
`
`GZOZGOZ
`
`GbZOZGOL
`
`————>76c9
`
`¢=yldagayoaeg
`(14)x€USIZUSI“ON
`
`(241)
`(z+3)(4)oy©USIZUSI|USIN
`
`
`¢=yidaqayoeq)—————>
`
`cog
`
`~~,
`
`7
`
`
`
`
`Patent Application Publication
`
`Oct. 8
`
`’
`
`2009 Sheet 7 of 9
`
`US 2009/0254708 Al
`
`
`
`¢=ydegayoe)
`
`7669
`
`C09
`
`
`
`
`
`p=yjdegayseg.——————>
`
`0c8Gb8
`
`pyUSJd€USJd
`
`(E+)(2+)
`
`ee
`S08&
`
`O18
`
`0c8
`
`S18O18S08
`
`(f+)yUSI
`
`(,+})(0)¢USJdZUSI|USJd00
`(Z+})
`
`a8Sls
`
`V8‘Sila
`
`8
`
`
`
`
`
`Oct. 8, 2009 Sheet 8 of 9
`
`Patent Application Publication
`
`605-7
`
`
`
`DIIN9dSBOIAIAS
`
`O16uoNduoseq
`
`
`
`SILDyloadsadIAJaS
`
`G06
`
`
`
`
`
`Saul|peaySsauIsngdo}ay}JoyoIdSyolpy
`
`
`
`SMONSSEUISNGYdN
`
`“OMOU]JeayelsJeYONWaveSeiuedwodJofewOm]
`
`
`ePIPPYSAOYINaAegdndPONJO}OWL
`
`““JOYLOMIjaqpueJOUJeJNULIBay}S$!Bd10ABbe}IABU
`
`
`
`
`SOU]YIMSeBueYOBd10ABbeIII\|uoNeUaseld
`
`
`
`JO)uoNduoseqZuojejuesaud
`
`US 2009/0254708 Al
`
`|uojejuasaid
`
`_——&8
`
`6Sis
`
`JO}uoNduosaq
`
`
`
`ZUONEJUSSAJqJO}OP
`
`aa
`
`S16
`
`9
`
`
`
`
`Patent Application Publication
`
`Oct. 8, 2009 Sheet 9 of 9
`
`US 2009/0254708 Al
`
`1000
`
`BEGIN
`
`INITIATE RECEIVING CONTENTON A DEVICE
`
`DETERMINE A CACHE DEPTH FOR STORING THE CONTENT
`
`RECEIVE THE CONTENT AND STORE THE CONTENT IN THE
`CACHE ACCORDING TO THE CACHE DEPTH
`
`INITIATE CHANGE IN THE CACHE DEPTH (OPTIONAL)
`
`1010
`
`1020
`
`1030
`
`1040
`
`1050
`
`
` YES|ALTER PRESENTATIONS
`MEMORY
`STORED IN THE CACHE,
`SUPPORT
`CHANGE?
`
`
`1060
`
`IF NECESSARY
`
`
`
`
`
`END
`
`FIG. 10
`
`10
`
`
`
`US 2009/0254708 Al
`
`Oct. 8, 2009
`
`METHOD AND APPARATUS FOR
`DELIVERING AND CACHING MULTIPLE
`PIECES OF CONTENT
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application is related and claimspriority to
`US. Provisional Application No. 61/043,033, filed Apr. 7,
`2008, assigned or under obligation of assignment to the
`assignee of the present application, entitled “Method and
`Apparatus for Delivering and Caching Multiple Pieces of
`Content,’ which provisional application is
`incorporated
`herein,in its entirety, by reference.
`
`BACKGROUND
`
`[0002] Content delivery systems, such as wireless multicast
`platforms, host and deliver a variety ofvideo, audio and other
`content to users ona subscriptionorother basis. In the case of
`media delivered to mobile users over the air interface, the
`content can include videoor audioclips delivered by a service
`to the handset. The service in general can produce media
`content such as news, sports, business, weather or other video
`or audio programming, and makethat media content available
`to wireless users under arrangementwith the wireless carrier.
`The content delivered by the service can be broken downinto
`individual channels, such as channels for streaming stock
`quotes, sports scores, weather forecasts or others.
`[0003]
`In current systems, the content can be downloaded
`onto a user’s device. The user, however, is limited to storing
`and viewing one piece of content downloaded onto the
`device. As such, the user may have limited viewing choices
`and miss or lose downloaded content if not viewed before the
`content expires. It may be desirable to provide methods and
`apparatus for downloading and caching multi-pieces of con-
`tent in wireless or other content delivery systems.
`
`DESCRIPTION OF THE DRAWINGS
`
`on a personaldevice. In aspects, the content delivery system
`can be or include a wireless content delivery system, such as
`the MediaFLO™system developed by the Qualcomm Inc. of
`San Diego, Calif. In aspects, the content delivery system can
`be or include a content delivery platform based on wired or
`optical connections, in addition to or instead of a wireless
`interface. In general, the content delivered by the content
`delivery system can include video media, such as videoclips
`encoded in the Real™ format, the Motion Pictures Group
`(.mpg) format, the Windows Media format by Microsoft™
`Corp., or other video codec or format. The content can further
`include audio media, such as music tracks or broadcast
`recordings encoded in Motion Pictures Expert Group
`(MPEG)-1 Audio Layer 3 (MP3) format, Microsoft Corp.
`.wav format, RealAudio™ format, or other audio codec or
`format. The content can further include datacast contents
`such as JPEGfiles, PNG files and HTMLfiles.
`[0014] As used at times herein, a “service” can refer to a
`collection of content typically generated by a content pro-
`vider, such as television organizations or broadcast radio
`operators. A “presentation” as used at times herein can refer
`to a discrete content instance that is carried or produced by a
`service, such as a television sitcom episode or particular
`sporting event. A presentation typically has an associatedtitle
`for the user in a media program guide, such as a television
`guideorlist of streaming media. System information can also
`be provided with the content. System information as some-
`times used herein can be or include the metadata describing
`the content delivery system and/or available content in the
`content delivery system.
`[0015] According to aspects of the present teachings in one
`regard, the content delivery system provides a user with the
`ability to customize contentdelivery. To achievethis, a device
`can also allow the user to cache multiple presentations. The
`device can establish a default cache depth uponinitiation ofa
`service. The device can provide an interface to the user to
`select a cache depth. The cache depth can be the numberof
`presentations the device will maintain on the device at a given
`time.
`
`[0004] The accompanying drawings, which are incorpo-
`rated in and constitute a part of this specification, illustrate
`In one or more aspects, once presentations have
`[0016]
`aspects ofthe present teachings and together with the descrip-
`been cached, the device can provide a multi-view interface to
`tion, serve to explain the principles of the present teachings.
`the user to allow the select cached presentations to be viewed.
`In the figures:
`The device can populate the multi-view interface with infor-
`[0005]
`FIG. 1 illustrates an exemplary overall system for
`mationrelated to the service and presentations received from
`content delivery, according to various aspects;
`the content delivery system.
`[0006]
`FIG. 2 illustrates an exemplary content provider
`[0017] When the device receives new presentations, the
`server, according to various aspects;
`device can cache the presentations in the device until the
`[0007]
`FIG. 3 illustrates an exemplary content server,
`cache depth is reached. Once the cache depth is reached, the
`according to various aspects;
`device can replace the cached presentations with newly
`[0008]
`FIGS. 4 and 5 illustrate examples of presentation
`received presentations. The device can replace the cached
`expiration, according to various aspects;
`presentations based onaFirst-In/First-Out (FIFO) scheme.
`[0009]
`FIG.6 illustrates an exemplary device, according to
`[0018] Reference will now be madein detail to exemplary
`various aspects;
`aspects of the present teachings, which are illustrated in the
`[0010]
`FIGS. 7A, 7B, 8A, and 8B illustrate exemplary
`accompanying drawings. Where possible the same reference
`cache configurations and management processes, according
`numbers will be used throughout the drawingsto refer to the
`to various aspects;
`sameorlike parts.
`[0011]
`FIG. 9 illustrates an exemplary multi-view inter-
`[0019]
`FIG. 1 shows an exemplary communication net-
`face, according to various aspects; and
`work 100 that comprises one aspect of a content delivery
`[0012]
`FIG. 10 illustrates an exemplary process for receiv-
`system that operates to create and transport multimedia con-
`ing and storing content, according to various aspects.
`tent flows across data networks. For example, the content
`delivery system can be suitable for use in transporting pre-
`sentations from a content provider network to a wireless
`access network for broadcast distribution. One skilled in the
`art will realize that communication network 100 is exem-
`
`DETAILED DESCRIPTION
`
`[0013] According to aspects, a content delivery system can
`be configuredto allow a user to customize content maintained
`
`11
`
`11
`
`
`
`US 2009/0254708 Al
`
`Oct. 8, 2009
`
`plary. The components of communication network 100 can be
`modified or combined and additional components can be
`added.
`
`In one or moreaspects, the network 100 can include
`[0020]
`one or more content providers (CP) 102, a content provider
`network 104, an optimized broadcast network 106, and a
`wireless access network 108. The network 100 also includes
`
`devices 110 that can include a mobile telephone 112, a per-
`sonal digital assistance (PDA) 114, and a notebook computer
`116. The devices 110 illustrate just some of the devices that
`are suitable for use in one or more aspects of the content
`delivery system.
`It should be noted that although three
`devices are shown in FIG.1, virtually any numberof devices,
`or types of devices are suitable for use in the content delivery
`system.
`In one or more aspects, the CP 102 operates to
`[0021]
`provide content 136, for example one or more presentations,
`for distribution to users in the network 100. The CP 102
`provides the content 136 to the content provider network 104
`for distribution. For example, the CP 102 communicates with
`the content provider network 104 via the communication link
`118, which includes any suitable type of wired and/or wire-
`less communication link.
`
`Inoneormoreaspects, the content provider network
`[0022]
`104 can include any combination of wired and wireless net-
`worksthat operate to distribute the content 136 fordelivery to
`the devices 1 10 and users. The content provider network 104
`communicates with the optimized broadcast network 106 via
`the link 120. The link 120 can include any suitable type of
`wired and/or wireless communication link. The optimized
`broadcast network 106 can include any combination of wired
`and wireless networks that are designed to broadcast high
`quality content. For example, the optimized broadcast net-
`work 106 can be a specialized proprietary network that has
`been optimized to deliver high quality content to selected
`devices over a plurality of optimized communication chan-
`nels.
`
`include a real-time or nonreal-time content, for example one
`or more presentations, that was provided by the CP 102 for
`distribution using the content provider network 104. In one
`aspect, the CS 122 can operate to negotiate with the BBS 124
`to determine one or more parameters associated with the
`wireless access network 108. Once the BBS 124receives the
`
`presentation, it broadcasts/multicasts the presentation over
`the wireless access network 108 for reception by one or more
`of the devices 110. Any of the devices 110 can be authorized
`to receive the presentation and cacheit for later viewing by
`the device user.
`
`In one or more aspects, the device 110 can include a
`[0026]
`client 132 that operates to provide a user interface that dis-
`plays a listing of the content 136, for example one or more
`presentations, that is scheduled for broadcast over the wire-
`less access network 108. The device user can then select to
`
`receive any particular content for rendering in real-time or to
`be stored in a cache 134 for later viewing. For example, a
`particular presentation can be scheduled for broadcast during
`the evening hours, and the device 112 operates to receive the
`broadcast and cache the presentation in the cache 134 so that
`the device user may viewthe clip the next day. Typically, the
`content 136 can be broadcast as part of a service, such as a
`subscription service, and the receiving device can need to
`provide a decryption key or otherwise authenticate itself to
`receive the broadcast.
`
`Inone or moreaspects, the client 132 can also allow
`[0027]
`the user to cache multiple presentations in the cache 134. To
`achievethis, the client 132 can establish a default cache depth
`upon initiation of a service, such as a subscription service.
`The client 132 can provide an interface to the userto select a
`cache depth. The cache depth can be the numberof presen-
`tations the client 132 will maintain in the cache 134 at a given
`time.
`
`In one or more aspects, once presentations have
`[0028]
`been cached, the client 132 can provide a multi-view interface
`to the user to allow the cachedpresentations to be viewed. The
`client 132 can populate the multi-view interface with infor-
`mationrelated to the service and presentations received from
`CS 122.
`
`[0029] When the device 110 receives presentations, the
`client 132 can cache the presentations in the cache 134 until
`the cache depth is reached. Once the cache depth 1s reached,
`the client 132 can replace the cached presentations with
`newly received presentations. The client 132 can replace the
`cached presentations based on a First-In/First-Out (FIFO)
`scheme.
`
`In one or more aspects, the content delivery system
`[0023]
`can operate to deliver the content 136 from the CP 102 for
`distribution to one or more content servers (CS) 122 at the
`content provider network 104 that operates to communicate
`with a broadcastbase station (BBS) 124at the wireless access
`network 108. The content delivery system allows the CS 122
`to receive the content 136, such as presentations, guide infor-
`mation andother related information, from content provider
`102. The CS 122 updates and/or creates content flows for
`delivery to devices 110.
`Oneskilled in the art will realize that communica-
`[0030]
`[0024]
`Inoneor more aspects, the CS 122 and the BBS 124
`tion network 100 is exemplary. In the content delivery system
`can communicate using one or more aspects of a transport
`of the aspects, communication network 100 can be arranged
`interface 126 that allows the content provider network 104 to
`deliver the content 136 in the form of content flows to the
`in any configuration and include any components necessary
`to deliver the content 136 from CP 102 to devices 110 via CS
`wireless access network 108 for broadcast/multicast to the
`122.
`devices 110. The transport interface 126 can includeacontrol
`interface 128 and a bearer channel 130. The control interface
`[0031]
`FIG. 2 showsone aspect of a content provider server
`128 operates to allow the CS 122 to add, change, cancel, or
`200 suitable for use in one aspect of the content delivery
`otherwise modify content flows that flow from the content
`system. For example, the server 200 can be used as the CP 102
`provider network 104 to the wireless access network 108. The
`in FIG. 1. The server 200 can include processing logic 202,
`bearer channel 130 operates to transport the content flows
`resources and interfaces 204, and transceiver logic 210, all
`from the content provider network 104 to the wireless access
`coupled to an internal data bus 212. The server 200 can
`network 108.
`include activation logic 214, guide information 206, and
`guide logic 208, which are also coupled to the data bus 212.
`[0032]
`Inoneor more aspects, the processing logic 202 can
`include a CPU, processor, gate array, hardware logic,
`memory elements, virtual machine, software, and/or any
`
`In one or more aspects, the CS 122 can use the
`[0025]
`transport interface 126 to schedule a contentflow to be trans-
`mitted to the BBS 124 for broadcast/multicast over the wire-
`
`less access network 108. For example, the content flow can
`
`12
`
`12
`
`
`
`US 2009/0254708 Al
`
`Oct. 8, 2009
`
`combination of hardware and software. Thus, the processing
`logic 202 can generally include logic to execute machine-
`readable instructions and to control one or more other func-
`tional elements ofthe server 200 via the internal data bus 212.
`
`In one or more aspects, the resources andinterfaces
`[0033]
`204 can include hardware and/or software that allow the
`server 200 to communicate with internal and external sys-
`tems. For example, the internal systems can include mass
`storage systems, memory, display driver, modem, or other
`internal device resources. The external systems can include
`user interface devices, printers, disk drives, or other local
`devices or systems.
`[0034]
`Inone or more aspects, the transceiver logic 210 can
`include hardwarelogic and/or software that operate to allow
`the server 200 to transmit and receive data and/or other infor-
`
`mation with remote devices or systems using communication
`channel 216. For example, in one aspect, the communication
`channel 216 can include any suitable type of communication
`link, such as link 118 illustrated in FIG.1, to allow the server
`200 to communicate with a data network, such as the content
`provider network 104.
`[0035]
`In one or more aspects, the activation logic 214 can
`include a CPU, processor, gate array, hardware logic,
`memory elements, virtual machine, software, and/or any
`combination of hardware and software. The activation logic
`214 operates to activate a CS, such as CS 122, and/or a device
`to allow the CS and/orthe device to select and receive content
`
`and/or services described in the guide information 206. In one
`aspect, the activation logic 214 can transmit a client 220 or
`server (not shown) to the CS and/or the device during the
`activation process. The client program 220 runs on the CS
`and/or the device to receive the guide information 206 and
`display information aboutavailable content or services to the
`user of the CS and/or device. Thus, the activation logic 214
`operates to authenticate a CS and/or a device, download the
`client 220, and download the guide information 206 for ren-
`dering on the CSorthe device by the client 220.
`[0036]
`In one or more aspects, the guide information 206
`can include information in any suitable format that describes
`content and/or services that are available for a CS and/or
`devices to receive. For example, the guide information 206
`can be stored in a local memory of the server 200 and can
`include information such as content or service identifiers,
`scheduling information, pricing, and/or any other type of
`relevant information. The guide information 206 can also
`include information describing the content, such as a presen-
`tation title and presentation description and otherattributes
`that are specific to a presentation. Additionally, the guide
`information 206 can include other information about access
`and availability such as expiry duration for presentation or
`service, and/or explicit expiry time for presentations.
`[0037]
`In one or more aspects, the guide logic 208 can
`include hardware and/or software that operate to generate
`notification messages that identify and/or describe changes to
`the guide information 206. For example, whenthe processing
`logic 202 updates the guide information 206, the guide logic
`208 is notified about the changes. The guide logic 208 can
`generate one or more notification messagesthat are transmit-
`ted to one or more CS, which may have beenactivated with
`the server 200, so that these one or more CS are promptly
`notified about the changes to the guide information 206.
`[0038]
`Inone or moreaspects, the server 200, including for
`example guide information 206, guide logic 208, activation
`logic 214, client 220, can include program instructions stored
`
`on a computer-readable media, which when executed by a
`processor, for instance, the processing logic 202, provides the
`functionsofthe server 200 described herein. For example, the
`program instructions may be loadedinto the server 200 from
`a computer-readable media, such as a floppy disk, CDROM,
`memory card, FLASH memory device, RAM, ROM,or any
`other type ofmemory device or computer-readable media that
`interfaces to the server 200 through the resources 204. In
`another aspect, the instructions may be downloadedinto the
`server 200 from an external device or network resource that
`interfacesto the server 200 through the transceiver logic 210.
`The program instructions, when executed by the processing
`logic 202, provide one or more aspects ofthe content delivery
`system as described herein.
`[0039] FIG.3 shows one aspect ofacontentserver (CS) 300
`suitable for use in one aspect of a content delivery system. For
`example, CS 300 can be the CS 122 shown in FIG. 1. The CS
`300 can include processing logic 302, resources and inter-
`faces 304, and transceiver logic 306, all coupled to a data bus
`308. The CS 300 can also include a content server (CS) client
`310, and a guide and presentation (GP) logic 312, which are
`also coupled to the data bus 308.
`[0040]
`Inoneor more aspects, the processing logic 302 can
`include a CPU, processor, gate array, hardware logic,
`memory elements, virtual machine, software, and/or any
`combination of hardware and software. Thus, the processing
`logic 302 can generally include logic configured to execute
`machine-readable instructions and to control one or more
`other functional elements of the CS 300 via the internal data
`bus 308.
`
`Inone or moreaspects, the resources andinterfaces
`[0041]
`304 can include hardware and/or software that allow the CS
`300 to communicate with internal and external systems. For
`example, internal systems can include mass storage systems,
`memory, display driver, modem, or other internal device
`resources. The external systems can include user interface
`devices, printers, disk drives, or other local devices or sys-
`tems.
`
`Inone or more aspects, the transceiver logic 306 can
`[0042]
`include hardwareand/or softwarethat operate to allow the CS
`300 to transmit and receive data and/or other information with
`
`external devices or systems through communication channel
`314. For example,
`the communication channel 314 can
`include a network communication link, a wireless communi-
`cation link, or any other type of communicationlink, such as
`links 118,120, and 126 as illustrated in FIG.1.
`[0043]
`Inoneor more aspects, during operation, the CS 300
`can be activated so that it can receive and serve available
`
`contentor services over a data network. For example, in one
`aspect, the CS 300 can identify itself to a content provider
`server, for example server 200, during an activation process.
`Aspart of the activation process, the CS 300 can receive and
`store guide information and presentations by GP logic 312.
`The GP logic 312 can contain information that identifies
`content or services available for the CS 300 to receive and
`
`serve to the devices 110. The CS client 310 operates to render
`information in the GP logic 312 on the CS 300 using the
`resources and interfaces 304. Additionally, the CS client 310
`can operate to generate and provide the content flows to the
`devices 110.
`
`In one or more aspects, the CS 300 receives guide
`[0044]
`information and presentations via transceiver logic 306. The
`guide information can include information that describes the
`content available. Additionally, the guide information can
`
`13
`
`13
`
`
`
`US 2009/0254708 Al
`
`Oct. 8, 2009
`
`include information regarding the availably and accessibility
`of the content such as expiry duration fora service or presen-
`tation and an explicit expiry time for a presentation.
`[0045]
`Inone or more aspects, the CS client 310 utilizes the
`guide information in order to construct the content flow to be
`provided to a device, such as device 110. In constructing the
`content flow, the CS client 310 can construct a presentation
`definition record to be included with the presentation. The
`presentation definition record can include information that
`describes the presentations contained in a content flow. For
`example, the presentation definition record can includeinfor-
`mation suchas title of a presentation and a description of the
`presentation. The presentation definition record can also
`include information defining the accessibility and availability
`of the presentation, such as presentation expiry time, decryp-
`tion keys to access the presentation, and the like. Additionally,
`service information can be provided in system information
`(SD record. The service information can include information
`that describes the service for which the content is being pro-
`vided.
`
`In one or more aspects, the content provided by CS
`[0046]
`300 can berelated to a service, such as a subscription service.
`For example, a user of device 110 can subscribe to the sub-
`scription service and receive content based on the termsofthe
`subscription service. For content provided related to a ser-
`vice, the content can have a limited time period for which the
`content can be available to users. For example, each presen-
`tation on a service can have an expiry time (time at which the
`presentation is no longer accessible) associated with the ser-
`vice or the presentation. The presentation expiry time can be
`determined based on a presentation expiry duration (amount
`of time the presentation is accessible) or an explicit expiry
`time. The presentation expiry duration and/or explicit expiry
`time can be provisioned per the service or provisioned per
`presentation. The presentation expiry duration and/or explicit
`expiry time can be set and provided by the CP 102 or other
`system associated with the CP 102.
`[0047]
`In one or more aspects, as mentioned above, the
`presentation expiry time can be based on an expiry duration.
`Ifthe CS 300 receives an expiry duration instead ofan explicit
`expiry time from the CP 102, the CS 300 can calculate the
`presentation expiry time based on the presentation expiry
`duration. The CS 300 can utilize the CS client 310 to calculate
`
`the presentation expiry time. Ifthe CS 300 receives an explicit
`expiry timefor the presentation from the CP 200, the CS 300
`can use the explicit expiry time as the expiry time for the
`presentation.
`[0048]
`In one or moreaspects, the CS 300 can calculate the
`presentation expiry time based on contact window (time
`period in which the presentation is accessible), contact start
`window(start time in whichthe presentation becomesacces-
`sible), and/or the presentation expiry duration (amount of
`time the presentation is accessible). For example, when cal-
`culating the presentation expiry time based on the expiry
`duration for a presentation with a single contact window,the
`CS 300 can add the expiry duration to the contact start win-
`dow for that presentation. When calculating the presentation
`expiry time for a presentation based on the expiry duration for
`a presentation with multiple contact windows, the CS 300 can
`add the expiry duration to the contact start windowofthelast
`contact window forthat presentation.
`[0049]
`In one or more aspects, the presentation may not
`have an associated contact window (time period in which the
`presentation is accessible). The presentation can be available
`
`for viewing on the device 110 at the time it is downloaded, and
`the latest possible time at which the presentation can be
`available on the device is the presentation expiry time.
`[0050]
`Inone or more aspects, the accessibility start time of
`the presentation can be defined as the contact start window in
`the contact window (in the case of multiple contact windows
`this can be the beginning time ofthe first contact window)
`since this is the earliest time at which the presentation can be
`accessible on the device 110. The availability end time can be
`given by the presentation expiry time, whether based on an
`expiry duration or an explicit expiry.
`[0051]
`In one or more aspects, in order to control access to
`the content, the CS 300 can provide the presentation expiry
`time with the content provided to the devices 110. For
`example, the CS client 310 can include the presentation
`expiry time in the presentation definition record sent to the
`device 110.
`
`In one or more aspects, in order to prevent access
`[0052]
`upon occurrence of the presentation expiry time, the presen-
`tations, which do not contain access control measures, can be
`deleted at the presentation expiry time. Additionally, in order
`to prevent accessprior to the contact window or upon occur-
`rence of the presentation expiry time,
`the presentation’s
`accessibility can be achieved by access control measures
`and/or digital rights management schemes, such as encryp-
`tion scheme.
`
`In one or more aspects, the presentation expiry time
`[0053]
`can be based on access control measures and/or digital rights
`management schemes, such as the encryption status of the
`presentations. For example, when contentis received, the CS
`300 can secure the presentation with a presentation key or
`keys utilizing any type of well-known cryptographic pro-
`cesses or schemes, for example symmetric or asymmetric
`encryption. Likewise, the CP 102 can secure the presentations
`and provide the presentation key or keys to the CS 300. Once
`encrypted, the CS 300 can provide the presentation key or
`keys to a Conditional Access Server (not shown). The CAS
`can secure the presentation key with an encryption key (ser-
`vice key) utilizing any type of well-known cryptographic
`processes or scheme, for example symmetric or asymmetric
`encryption. The CAScanbe locatedat the CP 102,the content
`provider network 104, or other location associated with the
`content and/or service. Once completed, the CAS can return
`the encrypted presentation key to the CS 300, which in-turn,
`can provide the encrypted presentation key with the secured
`presentation. Additionally, the CAS can provide the device 1
`10 with the service key at the time of subscription to the
`service. To access a secured presentation, the device 110 can
`utilize the service key to decrypt the encrypted presentation
`key andutilize the presentation key to access the presentation.
`[0054]
`Inone or more aspects, the CAS canutilize different
`service keys for different services. Additionally, the CAS can
`periodically change service keys for a service. As such, a
`particular service key can grant access to a presentation asso-
`ciated with a service for a specific period of time or “Epoch”.
`To enable access across different Epochs, the CS 300 can
`provide, to the CAS, the availability start time and expiry
`duration for the presentation along with the presentation key.
`The CAS maynot have Epochs that match the accessibility
`start timeor definedfor the entire time periodthe presentation
`is accessible when the request is made by the CS 300. To
`provide access for the entire accessibility time period, the
`CAScan return multiple encrypted presentation keys, each
`
`14
`
`14
`
`
`
`US 2009/0254708 Al
`
`Oct. 8, 2009
`
`encrypted presentation key secured with the service key for
`the Epochs defined in the CAS that the accessibility of the
`presentatio