`
`(12)
`
`United States Patent
`Estipona
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,269,842 B1
`Sep. 11, 2007
`
`(54) TIME SHIFTING ENHANCED TELEVISION
`TRIGGERS
`
`(75) Inventor: Jim B_ EstiPona’ Portland, OR (Us)
`
`.
`_
`-
`(73) Asslgnee' lgtsel Corporatlon’ Santa Clara’ CA
`(
`)
`Subject to any disclaimer’ the tenn ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1132 days.
`
`( * ) Notice:
`
`6,571,392 B1* 5/2003 Zigmond et a1. ......... .. 725/110
`6,574,795 B1 *
`6/2003 Carr .................. ..
`725/71
`6,591,420 B1* 7/2003 McPherson et a1. ..
`725/29
`6,643,692 B1* 11/2003 Philyaw et al.
`709/219
`6,668,378 B2* 12/2003 Leak et a1. ......... ..
`725/136
`6,725,461 B1* 4/2004 Dougherty et al.
`725/40
`6,766,524 B1 *
`7/2004 Matheny et al. ......... .. 725/23
`2002/0010926 A1* 1/2002 Lee ................... ..
`725/40
`2002/0056129 A1* 5/2002 Blackketter et al. ...... .. 725/112
`FOREIGN PATENT DOCUMENTS
`W0 0106369
`40001
`
`W0
`
`(21) Appl. No.1 09/652,413
`
`OTHER PUBLICATIONS
`
`Aug. 31, 2000
`
`_
`-
`(22) F1led.
`(51) Int Cl
`'
`'
`H04N 7/173
`
`(200601)
`
`US. Cl- . . . . . . . . . . . . . . . . . . . . ..
`
`725/139; 725/140; 725/142; 725/151; 725/152;
`725/32; 725/25; 725/14; 725/9
`(58) Field of Classi?cation Search ................ .. 725/27,
`725/28, 29, 52, 54, 58, 136; 707/9410
`See application ?le for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2/1995 Henmi et al. ............... .. 386/65
`5,390,027 A *
`5,818,441 A * 10/1998 Throckmorton et al.
`345/717
`5,937,331 A *
`8/1999 Kalluri et al. ............ .. 725/146
`6,061,719 A *
`5/2000 Bendinelli et al. ..
`709/218
`
`. . . .. 709/219
`6,065,050 A *
`5/2000 DeMoney . . . . . . .
`709/245
`6,338,094 B1* 1/2002 Scott et a1. ..
`6,351,467 B1* 2/2002 Dillon ...................... .. 370/432
`6,415,438 B1 *
`7/2002 Blackketter et a1. ...... .. 725/136
`6,460,180 B1 * 10/2002 Park et al. .................. .. 725/40
`6,473,137 B1 * 10/2002 Godwin et al. ........... .. 348/725
`6,560,777 B2 *
`5/2003 Blackketter et a1. ...... .. 725/110
`
`Steinhorn et al., How to Enhance TV with ATVEF, Miller Freeman,
`Inc‘, 1999,1313‘ L8,“,
`Vijay, Computer Hardware and Software, Jan. 19, 1998, p. 4*
`Advanced Television Enhancement Forum Speci?cation (ATVF),
`Version 1.1 revision 26, (Feb. 2, 1999).
`
`Estipona,
`
`B‘, Announcing the
`
`of an Electronic
`
`Programming Guide to Receivers of Enhanced Television Trans
`missions, U.S. Appl. No. 09/652,695, ?led Aug. 31, 2000.
`(Continued)
`
`Primary Examineri-lason SalCe
`(74) Attorney, Agent, or F irmiTrop, Pruner & Hu, PC.
`
`(57)
`
`ABSTRACT
`
`Enhanced television broadcasts including triggers With
`expires attributes may be utilized in a variety of situations
`where the expires attribute may adversely affect the utiliza
`tion of the trigger. For example, in situations where the
`broadcast is recorded, playback may be enabled even after
`the trigger expiration. Similarly, local af?liates or FNOCs
`may rebroadcast enhanced television content by adjusting
`the expires attributes of the original trigger.
`
`30 Claims, 8 Drawing Sheets
`
`I
`
`Subtract:
`
`TriggerT - LocalT
`
`26
`
`I
`
`32
`
`30
`
`Trigger Expire Time
`(In UTC)
`
`N0
`
`31
`
`Discard Trigger
`
`Record Trigger With
`No Time Attribute
`
`1
`
`Comcast, Ex. 1132
`
`
`
`US 7,269,842 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Estipona, Jim B, “Mapping Enhancements to Network Identi?ers”,
`U.S. Appl. No. 09/652,692, ?led Aug. 31, 2000.
`Advanced Television Enhancement Forum (ATVEF), Enhanced
`Content Speci?cation, Version 1.1, Revision 26, 1998-1999.
`
`Web pages downloaded from http://WWW.replaytv.com, “What is
`Replay TVT’, 1998-2000.
`Web pages downloaded from http://tivo.com,“What is TiVo?”,
`2000,
`
`* Cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 1 0f 8
`
`US 7,269,842 B1
`
`10
`/
`
`[12
`
`[14
`
`Broadcast
`Head End
`
`Transport
`
`[16a
`
`[16b
`
`Receiver
`
`Receiver
`
`0 o 0
`
`FIG. 1
`
`[18
`
`>
`
`[17
`
`[12
`
`[14
`
`Broadcast
`Head End
`
`Transport
`
`[82a
`
`f82b
`
`[84
`
`FNOC
`FNOC
`[16b
`[16a
`Receiver
`Receiver
`
`[50
`>
`
`3
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 2 0f 8
`
`US 7,269,842 B1
`
`(
`
`Record Trigger
`
`'18
`
`"
`Get Local Time
`
`[20
`
`v
`
`[22
`
`/ Local Time /
`
`‘y
`Convert To UTC
`
`/-24
`
`"
`
`[26
`
`/ Local Time In UTC/
`v
`f28
`Subtract:
`TriggerT - LocalT
`
`[32
`v
`Difference In Times
`(Delta)
`
`/30
`Trigger Expire Time
`(ln UTC)
`
`34
`
`[38
`
`YES
`
`Discard Time
`
`-
`-
`D'scard Tr'gger
`
`Record Trigger With
`No Time Attribute
`
`1
`
`End
`
`l
`
`FIG. 2
`
`4
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 3 0f 8
`
`US 7,269,842 B1
`
`50
`
`V
`
`V
`
`( Retransmit Trigger i
`[52
`Get Enhancement Start Time
`[54
`/ Enhancement Start Time /
`f56
`
`V
`
`Convert To UTC
`
`V
`
`58
`
`5
`
`StartT In UTC
`
`62
`
`[60
`
`Difference In Times
`(DeItaT)
`
`Discard Trigger
`
`End
`
`FIG. 4
`
`Retransmission
`Start Time
`(Local Time)
`
`Retransmission
`Start Time
`in UTC
`
`Retransmission
`StartT + DeItaT
`
`Save Until
`Retransmission Time
`
`5
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 4 of 8
`
`US 7,269,842 B1
`
`[126
`
`‘I
`v
`Trigger inserter
`(into VBI)
`Unit
`
`[122
`
`V
`Resource
`Listener
`
`
`
`V Storage Media V
`
`
`
`Audio/Video + VBI Triggers
`
`Resource
`
`/
`112
`
`114
`\
`
`[128
`
`v
`Stream
`Simulator Unit
`
`[130
`
`v
`Proxy
`Unit
`
`’
`
`Resource
`
`6
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 5 0f 8
`
`US 7,269,842 B1
`
`116
`
`118
`
`[126
`
`Combine Audio/Video
`With Trigger
`
`‘'
`
`[140
`
`>
`
`Store Data
`
`Trigger lnserter
`Unit
`J
`
`K
`
`FIG. 6
`
`7
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 6 of 8
`
`US 7,269,842 B1
`
`W
`
`\
`
`f
`
`124
`
`Storage Media
`
`[142
`V
`Read Audio/Video
`+ Trigger Stream
`
`\
`[128
`
`[144
`V
`Format Into Transport
`A Type Stream
`
`Stream
`Simulator
`Un|t )
`
`\
`[16
`
`[146
`v
`Enhanced Television
`Module
`
`‘'
`
`[148
`
`\
`
`J
`
`FIG. 7
`
`8
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 7 0f 8
`
`US 7,269,842 B1
`
`/‘150
`URL Request
`Using http:
`Protocol
`
`F
`
`v
`
`152
`
`URL Resource
`In Local Cache
`7
`
`Retrieve Resource
`From Cache
`
`[156
`Retrieve Resource
`From Network
`
`[130
`.
`Proxy Unit
`
`[160
`Store In
`Local Cache
`
`\
`
`j
`
`v
`
`[134
`
`ATVEF Receiver
`
`<
`
`FIG. 8
`
`9
`
`
`
`U.S. Patent
`
`Sep. 11,2007
`
`Sheet 8 0f 8
`
`US 7,269,842 B1
`
`FNOC Triggers
`
`172
`f
`
`Receive Content
`
`YES
`
`?
`
`YES
`
`176
`
`f1 78
`
`Translate URL To
`FNOC’s Mirror Site
`
`[180
`Convert To Type B
`By Storing Resource Locally
`
`FIG. 9
`
`10
`
`
`
`US 7,269,842 B1
`
`1
`TIME SHIFTING ENHANCED TELEVISION
`TRIGGERS
`
`BACKGROUND
`
`2
`come and go before the broadcast is ever even transmitted.
`In such case, a user may be unable to activate the link to
`obtain the resource.
`Similarly, digital recording technology may be available
`to enable the user to actually record an enhanced broadcast.
`The user may subsequently attempt to replay the recorded
`broadcast and may be unable to activate the links to the
`resource because the links have expired.
`Thus, there is a need to enable time shifted enhanced
`television content to be used effectively in a variety of
`circumstances.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a schematic depiction of one embodiment of the
`present invention;
`FIG. 2 is a How chart for softWare in accordance With the
`embodiment shoWn in FIG. 1;
`FIG. 3 is a schematic depiction of another embodiment of
`the present invention;
`FIG. 4 is a How chart for softWare utiliZed in accordance
`With the embodiment shoWn in FIG. 3;
`FIG. 5 is a functional block diagram illustrating an
`embodiment of the invention;
`FIG. 6 is a How diagram shoWing operation of an illus
`trative type of trigger inserter unit that can be used With the
`embodiment shoWn in FIG. 5;
`FIG. 7 is a How diagram shoWing operation of an illus
`trative type of stream simulator unit that can be used With the
`embodiment shoWn in FIG. 5;
`FIG. 8 is a How diagram shoWing operation of an illus
`trative type of proxy that can be used With the embodiment
`shoWn in FIG. 5; and
`FIG. 9 is a How chart for softWare in accordance With
`another embodiment of the present invention.
`
`DETAILED DESCRIPTION
`
`Referring to FIG. 1, an enhanced television delivery
`system 10 may include a broadcast head end or server 12.
`The head end or server 12 may provide the television content
`such as a television program and the enhanced content or at
`least a reference to the enhanced content. The enhanced
`television broadcast is transmitted from the head end 12 to
`a plurality of receivers 16 (although only the receivers 16a
`and 16b are shoWn in FIG. 1). The enhanced content may be
`transported over a transport 14 Which may be a cable, a
`satellite connection or a conventional television broadcast.
`The enhanced content may be in analog or digital format.
`Each receiver 16 may include a storage 17 that stores
`softWare 18. The receiver 16 may be a processor-based
`system. As examples, the receiver 16 may be a desktop
`computer, a laptop computer, a handheld computer, a set-top
`box or other processor-based appliance With a suitable
`connection to receive the enhanced content over a transport.
`The softWare 18 enables the enhanced content to be time
`shifted despite the presence of triggers With expiration
`times.
`Referring to FIG. 2, the softWare 18 handles the situation
`Where a receiver 16 is utiliZed to digitally record an
`enhanced television broadcast. The user may record not only
`the programming, but also the accompanying triggers. A
`trigger may be in the form of a Uniform Resource Locator
`(URL) used to access enhanced content over the Internet or
`may be a reference to a local storage location of a referenced
`resource.
`
`This invention relates generally to enhanced television
`broadcasts including analog and digital broadcasts.
`Enhanced television programming enables television pro
`gramming, in analog or digital form, to be accompanied by
`additional content. In some embodiments, the additional
`content may be in the form of Internet-based content. With
`enhanced television technology, content creators (e.g.,
`broadcasters) may transmit hypertext markup language
`(HTML) data along With the traditional television signals.
`VieWers may interact With the television broadcast via the
`Internet.
`For example, enhanced features may be displayed on a
`television screen that enable the vieWer to access the net
`Work’s Web site for related programming information. The
`related programming information may be additional adver
`tising or additional details that are not readily incorporated
`into the television program itself, as examples. Thus, the
`user may selectively access additional information through
`an Internet connection.
`Avariety of standards exist for enhanced television broad
`casts including the Advanced Television Enhancement
`Forum’s (ATVEF) Enhanced Content Speci?cation, Version
`1.1, Revision 26, 1998-1999 (hereinafter referred to as the
`ATVEF speci?cation). The ATVEF speci?cation provides
`standards for the transmission and processing of triggers,
`resources and announcements together With television con
`tent to produce a digital or analog enhanced television
`transmission.
`In order to announce the availability of interactive tele
`vision resources, a trigger may be utiliZed. Announcements
`announce programming currently available to the receiver. A
`resource is a television enhancement or Web content dis
`playable in conjunction With a television broadcast as an
`enhanced or interactive program.
`According to the ATVEF speci?cation, there are tWo basic
`transport types, called transport type A and transport type B.
`In transport type A, the resource is accessed over the Internet
`and in transport type B, the resource is transmitted With the
`television content.
`Triggers may include a Uniform Resource Locator and
`may optionally also include a human readable name, an
`expiration date and a script. Triggers that include a name
`attribute may be utiliZed to initiate enhancements either
`automatically or With user con?rmation. The initial top-level
`page for an enhancement is indicated by a Uniform
`Resource Locator in the trigger. The script attribute provides
`a script fragment to execute Within the context of the page
`containing a trigger receiver object.
`The expires attribute provides a expiration time, after
`Which the link is no longer valid. The expires attribute may
`be in the form [expiresz 19971223] according to one
`example provided in the ATVEF speci?cation.
`In some cases, the link to the resource provided by the
`trigger may be caused to expire after a period of time. This
`may create problems. For example, in some situations, the
`enhanced television content may be retransmitted by a local
`af?liate or so-called franchise netWork operating center
`(FNOC). The FNOC may receive the broadcast and then
`retransmit it at an appropriate time, for example given the
`FNOC’s local time Zone. As a result, the expiration time may
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`11
`
`
`
`US 7,269,842 B1
`
`3
`Of course, if the trigger has an expiration time, the user
`may attempt to access the resource via the trigger long after
`the trigger has expired. In such case, the user may be unable
`to access the trigger even in the situation Where the resource
`is actually still accessible.
`Referring to FIG. 2, the software 18 initially obtains the
`local time as indicated in block 20. The local time may be
`stored as indicated in block 22. The local time may then be
`converted into Universal Coordinated Time (UTC), as indi
`cated in block 24, and stored as indicated at 26.
`The trigger expiration time may be extracted from the
`video stream as indicated at 30. The current local time
`(LocalT) is then subtracted from the trigger expiration time
`as indicated in block 28. The result is a delta time as
`indicated at 32. If the delta time is negative, the trigger has
`already expired and it may simply be discarded as indicated
`in block 31.
`Otherwise, as determined in diamond 34, if the delta time
`is Zero or positive, the expires attribute may be discarded as
`indicated in block 38. The trigger may then be recorded With
`the other enhanced television content Without a expires
`attribute. In effect then, a trigger With an expires attribute is
`converted into a format in Which the expires attribute is
`removed. The absence of an expires attribute is permissible
`under the ATVEF speci?cation.
`The resulting trigger is then capable of being exercised at
`any time. If the resource is stored locally (i.e. via a Type B
`transport), that resource can then be acquired anytime the
`trigger is selected. If the resource is accessed externally (i.e.
`via a Type A transport), the resource may not alWays be
`active. In such case, the trigger may not be capable of
`accessing the remote resource.
`HoWever, if desired, the remotely accessible resource may
`be accessed upon acquisition of the trigger and the resource
`may thereafter be stored locally for subsequent local access.
`Alternatively, the trigger’s Uniform Resource Locator may
`be modi?ed to a local storage address to access the locally
`stored resource.
`Referring to FIG. 5, a system 110, in accordance With one
`embodiment for recording analog enhanced television
`broadcasts includes a recording component or “recorder”
`112, and a playback component or “player” 114. According
`to one embodiment of the invention, the recorder 112 stores
`Transport Type B streams (and can also store Transport Type
`A streams), While the player 114 can transform and play the
`stored streams as Transport Type A streams.
`An enhanced television Transport Type B transmission
`includes a trigger stream 116, an audio/video stream 118, a
`resource stream 120, and an announcement stream (not
`shoWn). The audio/video stream 118 may be a National
`Television Standards Committee (NTSC) signal. In opera
`tion, announcements are sent before or during a television
`program to a Well-knoWn Internet Protocol (IP) address and
`port number to announce the availability of enhancements.
`A receiver tunes in to this IP address/port and receives
`information about hoW to receive trigger and resource
`information, Where the trigger typically includes a URL that
`points to a location of the resource.
`If resources in the resource stream 120 are extracted by a
`resource listener 122, such resources are typically stored in
`a storage media 124, Which may be a cache, for example.
`The storage media 124 may also be a hard disk, ?oppy disk,
`digital versatile disk, random access memory (RAM), com
`pact disk, or other suitable machine-readable storage
`medium. The resource listener 122 may be programmed to
`reject duplicate or outdated resources, such that only the
`appropriate resources are stored in the storage media 124.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`When the resources are stored in the storage media 124,
`the trigger(s) corresponding to those stored resources typi
`cally include a local identi?er URL (e.g., a lid: URL),
`meaning that the resources Were delivered using a one-Way
`broadcast and are not available on-demand. As such, Trans
`port Type B is used for a true broadcast of both resource data
`and triggers and can run Without an Internet connection. An
`optional Internet connection can provide a return path if the
`triggers point (e.g., by using http: or ftp: URLs) to resources
`that are available on the Internet (e.g., for e-commerce or
`Web broWsing).
`Transport Type A involves the delivery of triggers along
`With the audio/visual stream 118. That is, existing Transport
`Type A transmissions often transmit triggers on the vertical
`blanking interval (V BI) of the NTSC video signal. Transport
`Type A transmissions may not transmit a resource stream
`120 or an announcement stream. Hence, Transport Type A
`systems usually use tWo-Way Internet connections to fetch
`resources using http:.
`The system 110 includes a trigger inserter unit 126 for the
`recorder 112, and a stream simulator unit 128 (Which can be
`likened to a Transport Type A stream simulator) and a proxy
`unit 130 for the player 114. The end result is that one or more
`resources 132 may be provided to a receiver unit 16, from
`the storage media 124, Without having to unnecessarily
`retrieve the resources 132 from the Internet. Furthermore,
`using the trigger inserter unit 126 to insert triggers into the
`video signals (e.g. into the VBI) of the audio/video stream
`118 provides synchronization betWeen the trigger stream 116
`and the audio/video stream 118 that is not present in con
`ventional Transport Type B systems.
`Operation of an embodiment of the trigger inserter unit
`126 of the recorder 112 is illustrated in a How diagram in
`FIG. 6. The trigger inserter unit 126 can be embodied in
`softWare, hardWare, or a combination of both, and uses data
`from the trigger stream 116 and data from the audio/video
`stream 118 as inputs.
`At a block 136, the trigger inserter unit 126 ?rst deter
`mines if there is a trigger available in the received broadcast.
`If the received broadcast is a Transport Type A transmission,
`such triggers, if any, may be in the VBI of the audio/video
`stream 118 for examples. The triggers are extracted and
`evaluated for validity as part of the receiving process. If the
`triggers are valid, the trigger inserter unit 126 stores the data
`from the audio/video stream 118 (and its associated valid
`triggers) into the storage media 124 at block 140.
`If a Transport Type B transmission is present, then the
`trigger inserter unit 126 detects the availability of valid
`triggers from the trigger stream 116 at block 136. At block
`138, the trigger inserter unit 126 combines the trigger data
`With the audio/visual data. More speci?cally, according to an
`embodiment of the invention, the trigger inserter unit 126
`inserts triggers into the VBI of the audio/visual stream 118.
`In this manner, the Transport Type B stream is “trans
`formed” into Transport Type A stream prior to storage into
`the storage medium 124 at the block 140. Accordingly, by
`inserting the triggers into the VBI, as the trigger stream 116
`and the audio/visual stream 118 are received, the triggers are
`synchronized in time With the audio/visual data by present
`ing the triggers along With their corresponding video frames.
`At block 140, the trigger inserter unit 126 stores the data
`into the storage media 124 using a suitable type of audio/
`video streaming and storage format. Formats such as
`RealvldeoTM/RealAudioTM, FlashTM, QuickTimeTM, Audio
`Video Interleaved (AVI), Motion Pictures Experts Group
`(MPEG), DVD, etc. may be used.
`
`12
`
`
`
`US 7,269,842 B1
`
`5
`The trigger may include URLs pointing to locations of
`resources. These URLs may be in the form of lid: URLs
`pointing to the storage media 124 if the corresponding
`resources Were extracted from the resource listener 122 and
`subsequently stored in the storage media 124. The URLs in
`the trigger may also be http: URLs if the corresponding
`resource is available both from the storage medium 124 and
`from the Internet. Similarly, other URL schemes, such as
`ftp:, may be used by the triggers to denote the location of
`resources available from the storage media 124 or from the
`Internet.
`In one embodiment, the resource listener 122 extracts
`resources from the resource stream 120, regardless of its
`speci?c URL, and then stores these resources in the storage
`media 124. The manner of retrieving stored resources from
`the storage media 124, rather than from an external Internet
`source, is described in further detail beloW With respect to
`the proxy unit 130.
`FIG. 7 shoWs an embodiment of the stream simulator unit
`128 that can be used by the player 114. The stream simulator
`unit 128 may be embodied in softWare, hardWare, or a
`combination of both. In operation, the stream simulator unit
`128 reads, from the storage media 124, the stored audio/
`video stream 118 and the trigger stream 116 at a block 142.
`In some embodiments, the stream simulator unit 128 may
`format the resulting stream at a block 144, in order to make
`the resulting stream compatible With the format used by the
`applicable presentation/display application software. For
`example, if Microsoft WindoW’s DirectShoWTM is used as
`the presentation softWare, then the stream simulator unit
`128, at the block 144, can format the resulting stream into
`the DirectShoWTM architecture using libraries in the Win
`doWs environment.
`Next, the stream simulator unit 128 provides the simu
`lated Transport Type A stream to the receiver 16. As an
`example, the receiver 16 may comprise a conventional
`television set as the display unit 148 and having the
`enhanced television module 146 as a separate unit coupled
`to the television set. The enhanced television module 146
`may have the capability to receive enhanced television
`broadcast data, display/announce the enhanced television
`features to the user, and then provide the user With interfaces
`to alloW the user to input information (e.g., to interact) With
`the enhanced broadcast.
`Operation of the player 114 using the receiver 16, the
`stream simulator unit 128, and the proxy unit 130 is shoWn
`in FIG. 8 in accordance With one embodiment of the
`invention. The proxy unit 130 may be thought of as an “http:
`proxy” in that it intervenes in the retrieval of resources 132
`having http: URLs. The proxy unit 130 can also be made to
`intervene and retrieve resources 132 having lid: URLs or
`other protocol resources, such as a resource having an ftp:
`URL. That is, the proxy unit 130, in one embodiment, may
`comprise a thin/simple agent that can reroute a resource
`request and retrieve the requested resource from a local
`cache (e.g., from the storage media 124) if available, but
`relinquishes or invokes a normal http: handler to perform the
`retrieval if the requested resource is not in the local cache
`(and assuming that an uplink or back channel to the Internet
`is available).
`The proxy unit 130 may be embodied in softWare, hard
`Ware, or a combination of both. In one embodiment, the
`proxy unit 130 can comprise a set of softWare communica
`tion instructions or settings in a registry of an operating
`system of a PC, for example.
`In one example, When the receiver 16 receives an
`enhanced television broadcast, in a simulated Transport
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`Type A stream format having triggers inserted in the VBI,
`the user can request the resources 132 or the receiver 16 can
`automatically request the resources 132. If the receiver 16 is
`Transport Type A-enabled, the requested resources 132 are
`retrieved externally from the Internet. Therefore, at a block
`150 in FIG. 8, the receiver 16 sends a URL request for the
`resource 132 using http: protocols. If the trigger included a
`lid: URL, rather than an http: URL, then the receiver 16
`and/or proxy unit 130 can retrieve the resource 132 directly
`from the storage media 124, Which may be a local cache.
`At diamond 152, the proxy unit 130 intercepts the http:
`request from the receiver unit 134 and determines if the
`resource 132 is in the storage media 124. If it ?nds the
`resource 132 in the storage media 124, then the resource 132
`is retrieved from the storage media 124, as indicated at block
`154, and is provided to the receiver 16 for display and/or
`other use by the receiver 16. As indicated at diamond 152,
`the proxy unit 130 may retrieve resources 132 having lid:
`URLs from the storage media 124, as Well as resources 132
`having http: or ftp: URLs from the storage media 124, if the
`resources 32 are stored there, or externally from the Internet.
`If the proxy unit 130 does not ?nd the requested resource
`132 in the storage media 124, then at a block 156, the proxy
`unit 134 may attempt to retrieve the resource 132 from the
`netWork (e.g., from the Internet). If the retrieval is unsuc
`cessful as determined at 158, then a failure message is sent
`to the receiver 16. In response, the receiver 16 may cause the
`proxy unit 130 to try again, or the receiver 16 may display
`a message to the user on the display unit 148 to notify the
`user of the unavailability of the resource 132 or other
`appropriate response.
`If the resource 132 is successfully retrieved by the proxy
`unit 130, then the retrieved resource 132 can be stored in the
`storage media 124, as indicated at block 160, and then
`subsequently provided to the receiver 16, thereby providing
`the user With enhanced television content and features.
`Embodiments of the invention may transform Transport
`Type B streams into a simulated Transport Type A stream by
`inserting triggers into the video stream. The recorder 112
`stores resources and the transformed stream in the storage
`media 124. During playback, the player 114 may read the
`triggers in the stored simulated Transport Type A stream
`from the storage media 124 and use the proxy unit 130 to
`retrieve requested resources from the storage media 124 or
`externally from the Internet, if the resource is not already
`stored. As such, Transport Type B transmissions appear like
`and are treated like Transport Type A transmissions by the
`receiver unit 134.
`Referring next to FIG. 3, an embodiment With a regional
`af?liate or FNOC 82 includes a broadcast head end 12 and
`transport 14 as described previously. The FNOCs 82a and
`82b receive the enhanced television programming over the
`transport 14 and then provide the programming to local
`receivers 16. The local receivers 16a and 16b may receive
`the broadcast over still another transport (not shoWn).
`Each FNOC 82 may include a storage 84 that stores
`softWare 50. The FNOCs 82 may include a processor-based
`system that is capable of executing the softWare 50 stored on
`the storage 84.
`If the FNOC rebroadcasts the enhanced broadcast at a
`later time than Was originally intended, an issue arises With
`respect to trigger expiration. For example programming
`originating in one time Zone may be provided to a FNOC 82
`in another time Zone. The FNOC 82 may determine that it is
`most appropriate to time shift the programming to an
`appropriate local time Zone, time slot for rebroadcast. HoW
`
`13
`
`
`
`US 7,269,842 B1
`
`20
`
`7
`ever, in some cases, the triggers may be expired by the time
`the material is actually retransmitted.
`The software 50 accounts for this potential transmission
`time shifting by the FNOC and adjusts the expires attribute
`accordingly. Referring to FIG. 4, the software 50 begins by
`obtaining the FNOC’s enhancement start time or the sched
`uled time for the program to start (StartT) as indicated in
`block 52. The enhancement start time indicated in block 54,
`is converted to UTC at 56 and as indicated at 58.
`The trigger expire time (TriggerT) is extracted from the
`enhanced television stream as indicated at 62. The enhance
`ment start time (StartT) is then subtracted from the trigger
`expire time (TriggerT) as indicated in block 60. This results
`in a delta time (DeltaT) as indicated at 64.
`A check at diamond 66 determines whether the delta time
`is greater than or equal to Zero. If not, the trigger is discarded
`as indicated in block 68.
`Otherwise, a retransmission time equal to the retransmis
`sion start time plus the delta time is utiliZed (block 70) as the
`new expires attribute in the trigger. The retransmission start
`time or time that the FNOC will rebroadcast the enhanced
`programming in local time is acquired as indicated at 72,
`converted to UTC as indicated in block 74 and stored as a
`retransmission start time as indicated at 76. Thus, the
`retransmission start time as determined by the FNOC is then
`added to the delta time at block 70, to create a new trigger
`expires attribute as indicated at 78. This attribute is saved as
`indicated at block 80.
`As a result, the expiration time may be executed as
`originally intended at the head end. That is, the expiration
`time may be extended in accordance with local time to a
`predetermined amount of time after the initial broadcast.
`This elfectuates the original intent of the expires attribute in
`the original enhanced television broadcast.
`In the case of rebroadcasting data received via a Type B
`transport, the resource may be locally accessible and the
`handling of the triggers may be in accordance with the above
`description. However, in the case where the FNOC receives
`a Type A transport, simply adjusting the expires attribute
`without more may result in the situation where the resources
`may not be accessible because the web site addressed
`through the trigger may no longer be operable.
`This problem may be handled in at least two different
`ways. Under one approach, the FNOC may automatically
`access the web site through the trigger’s URL and download
`the content therein. The FNOC may then transmit the
`resource with the other enhanced content via a Type B
`transport. Alternatively, the FNOC may translate the trig
`ger’s URL to a mirror web site maintained by the FNOC.
`That is, the FNOC may acquire the content via the URL
`50
`referenced by the trigger, and copy it over to the FNOC’s
`own web site. The FNOC may then automatically translate
`the URL in the trigger to a new URL to enable access to the
`FNOC controlled web site. In this way, the FNOC can
`control the availability of the resource while maintaining a
`type A transport.
`Referring to FIG. 9, software 170 may be stored and
`utiliZed in conjunction with the software 50. Initially, the
`content is received over the transport as indicated in block
`172. A check at diamond 174 determines whether the content
`is in the type A transport format. If not, the ?ow ends, and
`the triggers can be handled readily.
`Conversely, if a type A transport is utiliZed, a check at
`diamond 176 determines whether a ?ag is set. In one
`embodiment of the present invention, the FNOC can set or
`unset a ?ag to select whether to convert the type A transport
`to a type B transport with a locally stored resource or to
`
`25
`
`30
`
`35
`
`40
`
`55
`
`60
`
`65
`
`8
`simply transition the data from the broadcaster’s web site to
`the FNOC’s web site. Thus, the FNOC can decide whether
`to use its own web site or to access the data from the
`broadcaster’ s web site and to transmit the data to the receiver
`16.
`If the ?ag is not set, the data may be converted to a type
`B transport, storing the accessed resource locally as indi
`cated in block 180. That is, the FNOC accesses the resource
`from the broadcaster’s web site, and then transmits the
`resource with the other content to the receiver 16. Con
`versely, if the ?ag is set, the FNOC translates the broad
`caster’s URL to point to the FNOC’s mirror site as indicated
`in block 178.
`In some embodiments of the present invention, time