JP2006500826A - ブロードキャスト・カルーセルによってhttpサーバをエミュレーションする方法とシステム - Google Patents

ブロードキャスト・カルーセルによってhttpサーバをエミュレーションする方法とシステム Download PDF

Info

Publication number
JP2006500826A
JP2006500826A JP2004538243A JP2004538243A JP2006500826A JP 2006500826 A JP2006500826 A JP 2006500826A JP 2004538243 A JP2004538243 A JP 2004538243A JP 2004538243 A JP2004538243 A JP 2004538243A JP 2006500826 A JP2006500826 A JP 2006500826A
Authority
JP
Japan
Prior art keywords
carousel
resource
broadcast
interactive television
resources
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.)
Pending
Application number
JP2004538243A
Other languages
English (en)
Inventor
バルビエ,エマニュエル
デルプッシュ,アラン
Original Assignee
オープンティブイ・インコーポレーテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=31992778&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2006500826(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by オープンティブイ・インコーポレーテッド filed Critical オープンティブイ・インコーポレーテッド
Publication of JP2006500826A publication Critical patent/JP2006500826A/ja
Pending legal-status Critical Current

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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/16Arrangements for broadcast or for distribution of identical information repeatedly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/20Arrangements for broadcast or distribution of identical information via plural systems
    • H04H20/24Arrangements for distribution of identical information via broadcast system and non-broadcast system
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26266Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for determining content or additional data repetition rate, e.g. of a file in a DVB carousel according to its importance
    • 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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/26Arrangements for switching distribution systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/30Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data
    • H04H2201/37Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data via a different channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/11Arrangements for counter-measures when a portion of broadcast information is unavailable

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

対話型テレビジョン・システムでは、対話型テレビジョン受信機はブロードキャスト・パスを介してカルーセルを受信する。ブロードキャスト・サーバはカルーセル・マネージャを実行でき、カルーセル・マネージャはカルーセルを構築する際に使用するブロードキャスト・ポリシーを策定する。対話型テレビジョン受信機はアプリケーション・プログラムからのリソース要求を処理するインターフェース・モジュールを実行する。インターフェース・モジュールは要求されたリソースをブロードキャスト・パスまたはポイントツーポイント・パスから取得する。

Description

本発明は、一般に対話型テレビジョン分野に関する。より詳細には、本発明は、対話型テレビジョン・システム内でリソースを送受信する方法とシステムに関する。
対話型テレビジョンなどのブロードキャスト環境では、一般にブロードキャスト・サーバがブロードキャスト・パスで同報通信する1組のリソースを決める。ブロードキャスト・パスは通常片方向性で、リソースが1つまたは複数の受信機に同報通信される。対話型テレビジョン受信機は普通、最終的にリソースをユーザに対して表示できるテレビジョンまたはその他のディスプレイ・デバイスに接続される。受信機はポイントツーポイント・パスを用いてブロードキャスト・サーバとも通信でき、高速のブロードキャスト・パスでは利用できないリソースを検索するためにポイントツーポイント・パスを用いることができる。
対話型テレビジョン環境で使用可能な1つのタイプのリソースはハイパーテキスト・マークアップ言語(「HTML」)リソースである。HTMLアプリケーションは、ユニフォーム・リソース・ロケータ(「URL」)またはユニフォーム・リソース識別子(「URI」)などの一意的な識別子によって参照されるいくつかのリソースから構成できる。これらの識別子は、HTMLアプリケーションを記憶できるサーバまたはその他のコンピュータなどのリソースをポイントする。
アプリケーションは、例えば、HTMLやJavascriptなどのスクリプト言語で記述し、ハイパーテキスト転送プロトコル(「HTTP」)サーバを用いて受信者に発行される。ブラウザなどのソフトウェア・コンポーネントは、アプリケーションを受信し、アプリケーションのリソースを表示できる。HTMLリソースを供給するために、HTMLブラウザは通常、URL(例えば)などの識別子によって指定されたサーバとの接続を確立し、リソースをフェッチする。HTMLブラウザとアプリケーション・サーバ間の通信方式は、一般に、ポイントツーポイント方式であり、HTMLブラウザがサーバとの双方向通信を確立する。この方式は対話型テレビジョン環境の片方向ブロードキャスト・パスとは対照的である。
デジタルTVが可能にしたアプリケーションの一例は、対話型テレビジョンである。対話型テレビジョン・サービスでは、HTMLブラウザはデジタルTVデバイス上で動作する。アプリケーションは、当該アプリケーションを発行するサーバとの接続を確立することでデジタルTVデバイスに接続されたディスプレイ上に表示される。テレビジョン専用ではあるが、HTMLブラウザに基づくデジタルTV環境はブロードキャスト環境の多くの利点を有しない。
ブロードキャスト環境でHTTPリソースを実現する1つの方法は、片方向ハイパーテキスト転送プロトコル(「UHTTP」)の使用である。UHTTPはリソースを同報通信し、ローカルに記憶する方法を可能にする。UHTTPでは、UHTTPサーバが受信者のローカル・キャッシュが満杯になるかすべてのデータを送信するまで受信者のローカル・キャッシュを送信する。UHTTPの欠点は、受信者に送信できるデータ量が受信者のローカル記憶容量に制限されるということである。現在使用されている多くの対話型テレビジョン受信機は、メモリ容量が制限されている。したがって、HTTPリソースを処理するためにUHTTPが使用するローカル・キャッシング戦略はメモリが小さい対話型テレビジョン受信機の効率を制限するので不利である。
さらに、対話型テレビジョン受信機は、ポイントツーポイントまたはブロードキャスト・パスを介してリソースを要求することができる。ただし、UHTTPシステムでは、アプリケーションがブロードキャスト・パスにリソースを要求する場合に特定の文法を用いることが必要である。ブロードキャスト・パス上の要求に使用される文法はポイントツーポイント・パス上のリソースの要求の文法とは異なる。この文法の相違の結果、対話型テレビジョン受信機がブロードキャスト・パスを介して利用できないリソースをブロードキャスト・パスを介して要求することがある。
したがって、対話型テレビジョン環境でリソースを送受信する新しい改良型システムの方法が必要である。
本発明の一実施態様では、対話型テレビジョン・システム内のリソース要求を処理する方法が実現される。インターフェース・モジュールが対話型テレビジョン受信機上で走る。インターフェース・モジュールはアプリケーション・プログラムからリソース要求を受信する。インターフェース・モジュールは、リソースがブロードキャスト・パスとポイントツーポイント・パスのどちらで利用可能かを決定し、アプリケーション・プログラムから受信した要求をブロードキャスト・パスまたはポイントツーポイント・パスが使用するフォーマットに変換する。インターフェース・モジュールはブロードキャスト・パスとポイントツーポイント・パスからリソースを得て、リソースをアプリケーション・プログラムに供給する。
本発明の上記およびその他の態様と利点とは、添付図面を参照しながら以下の詳細な説明を読むことで当業者には明らかになろう。
本明細書で本発明の実施形態について図面を参照しながら説明する。
対話型テレビジョンのアーキテクチャ
対話型テレビジョンは、テレビジョンに対話型コンテンツを送信する方法を実現する。対話型テレビジョン・システムは、テレビジョンにテキスト、音声、映像、ハイパーテキスト転送プロトコル(「HTTP」)リソース、またはその他のコンテンツを供給でき、テレビジョン・ユーザからの入力を受信することもできる。
図1は対話型テレビジョン・システム62のアーキテクチャの例を示す図である。ブロードキャスト・サーバ50はブロードキャスト・パス52を介して対話型テレビジョン受信機54に情報を送信する。ブロードキャスト・サーバ50はデータ・リンクに沿って情報を送信できる任意のコンピュータまたはその他のタイプのサーバである。ブロードキャスト・サーバ50は好ましくはプロセッサとメモリとを含む。プロセッサはメモリ内に記憶できるプログラムを実行する。さらに、メモリは、ブロードキャスト・パス52を介して対話型テレビジョン受信機54に同報通信するコンテンツを含む。
ブロードキャスト・パス52は任意のタイプのデータ・リンクで、様々な異なるフォーマットでデータを搬送する。好ましい実施形態では、ブロードキャスト・パス52はケーブル・テレビジョン・プロバイダからテレビジョン56にケーブル・テレビジョン信号を送信するためのケーブル・テレビジョン伝送パスである。ブロードキャスト・パス52を介して送信されるデータはパスに沿ってケーブル・テレビジョン信号を送信するための信号プロトコルを使用することができる。
別の実施形態では、ブロードキャスト・パス52は、無線直接衛星伝送システムを含む。衛星からテレビジョン56にリンクした衛星用アンテナまたはその他の受信機まで無線で信号が送信される。衛星用アンテナによって受信された信号はデータ・リンクを介してテレビジョン56または対話型テレビジョン受信機54に搬送される。さらに別の実施形態では、ブロードキャスト・パス52は無線通信ネットワークの一部である。例えば、1つまたは複数の地上アンテナを用いてブロードキャスト・パスを介して信号をテレビジョンに送信できる。ブロードキャスト・パス52上でデータを送信する無線および有線の伝送方法の組み合わせを使用することも当然可能である。
対話型テレビジョン受信機54は、対話型テレビジョン・システムのブロードキャスト・パス52に接続され、ブロードキャスト・パス52を介して送信される対話型テレビジョン信号を受信する。対話型テレビジョン受信機54は普通、プロセッサとメモリとを含む。対話型テレビジョン受信機54はそのメモリに記憶されたプログラムを実行し、ブロードキャスト・パス52を介してブロードキャスト・サーバ50から受信するプログラムを実行する。好ましい実施形態では、対話型テレビジョン受信機54はテレビジョン56に接続された当技術分野でよく知られているタイプのセットトップ・ボックスを含む。ただし、コンピュータ、ゲーム・コンソール、またはべつのプログラマブル・デバイスなどの、テレビジョン56に接続された別のデバイスも対話型テレビジョン受信機54として動作することができる。対話型テレビジョン受信機54はテレビジョン56とは別のコンポーネントとして図示されているが、代替形態では、対話型テレビジョン受信機54のすべてまたは一部の機能をテレビジョン56に組み込むことができる。さらに別の実施形態では、対話型テレビジョン受信機54の機能をテレビジョン56に接続された複数のコンポーネントに分散することができる。
対話型テレビジョン受信機54はテレビジョン56に接続され、ブロードキャスト・サーバ50とテレビジョン56との間のインターフェースを用意する。例えば、対話型テレビジョン受信機54はテレビジョン56に直接ケーブル・テレビジョン信号を送信することができ、これによってケーブル・テレビジョン信号を通常に視聴できる。ただし、対話型テレビジョン受信機54はブロードキャスト・サーバ50から送信される対話型テレビジョン信号を受信して処理することができる。
例えば、対話型テレビジョン受信機54は、対話型テレビジョン信号をテレビジョン56が認識するフォーマットに変換できる。例えば、ブロードキャスト・サーバ50から送信される対話型テレビジョン信号は圧縮解除または復号化することができる。対話型テレビジョン受信機54は、復号化と圧縮解除を実行して元の信号を復元し、これらの信号についてその他の処理を実行することができる。対話型テレビジョン受信機54は、表示する適切なフォーマットに変換された対話型テレビジョン・コンテンツを、表示するためにテレビジョン56に送信する。ユーザは、テレビジョン56に表示される対話型テレビジョン・コンテンツを視聴できる。
対話型テレビジョン受信機54はさらに入力デバイスを含むことができる。例えば、対話型テレビジョン受信機54は、ユーザがテレビジョン56や対話型テレビジョン受信機54と対話するためのキーボード、マウスまたはその他のデバイスを含むことができる。入力デバイスを使用することで、ユーザは、例えば、テレビジョン56に表示されるデータに応答できる。ユーザの選択項目を用いてテレビジョン56に表示されるコンテンツを対話形式で駆動し、対話型テレビジョン・システムを実現することができる。
一例では、対話型テレビジョン・システムはユーザにウェブ・ブラウジング・セッションを実現する。対話型テレビジョン受信機54は、ブロードキャスト・サーバ50を介してインターネット60に接続し、対話型テレビジョン受信機54は適切なブラウザを実行する。対話型テレビジョン受信機54はブロードキャスト・サーバ50からインターネット60を介してインターネット・コンテンツを受信する。対話型テレビジョン受信機54はブラウザを用いてインターネット・コンテンツをテレビジョン56に表示する。ユーザはキーボード、マウスまたはその他の入力デバイスを用いて異なるウェブ・ページまたはリンクにブラウズし、テレビジョン56と対話できる。
対話型テレビジョン・システムでは、ブロードキャスト・パス52は通常片方向であるが、対話型テレビジョン・システムでは双方向ブロードキャスト・パスも使用できる。ブロードキャスト・パス52はケーブル・テレビジョン・サービスを供給するためのパスと同じでよく、ケーブル・テレビジョン・サービスは一般に片方向である。ケーブル・テレビジョン・システムでは、信号はケーブル・テレビジョン・サーバからテレビジョン56に送信される。ケーブル・テレビジョン・サーバからテレビジョン56への送信中に、ケーブル・テレビジョン信号はルータ、リピータまたはその他のネットワーク・デバイスを通過することができる。ケーブル・テレビジョン・システムはテレビジョン56からの返送情報を必要としないので、ネットワーク要素は普通、片方向通信のみをサポートするように構成されている。したがって、データはケーブル・テレビジョン回線からブロードキャスト・サーバ50に「返送」されることはない。
直接衛星伝送システムにおける信号は送信塔から衛星に送信され、究極的にテレビジョン56に接続された衛星用アンテナまたはその他のデバイスによって受信される。衛星用アンテナは一般に衛星からの信号のみを受信し、衛星に信号を送信しない設備を備える。同様に、衛星は様々な加入者から送信される信号を受信するようには構成されていない。
対話型テレビジョン・システム62内で双方向通信を可能にするために、対話型テレビジョン受信54は返送パスとも呼ばれるポイントツーポイント・パス58を使用する。ポイントツーポイント・パス58は通常ブロードキャスト・パス52とは異なる。ポイントツーポイント・パス58は任意の数のデータ・リンクであるが、普通ポイントツーポイント・パス58は電話回線、ケーブル・モデム、またはその他の双方向リンクである。ポイントツーポイント・パス58はセルラ・ネットワークなどの無線リンクでもよい。
ポイントツーポイント・パス58は対話型テレビジョン受信機54に接続する。図1に示すように、ポイントツーポイント・パス58はインターネット60に接続する。この手順は、例えば、電話回線を介してインターネット・サービス・プロバイダ(「ISP」)に接続することで実行される。次いでISPはインターネット60に接続する。インターネット60に接続すると、対話型テレビジョン受信機54はインターネット60に接続された他のデバイスにアクセスできる。例えば、対話型テレビジョン受信機54はインターネット60に接続されたサービス・プロバイダ64と通信できる。対話型テレビジョン受信機54はポイントツーポイント・パス58を介してインターネット60にメッセージを送信でき、このメッセージは究極的にサービス・プロバイダ64にルーティングされる。
同様に、対話型テレビジョン受信機54はインターネット60または接続先の別のネットワークを介してブロードキャスト・サーバ50と通信できる。こうして、ブロードキャスト・サーバ50と対話型テレビジョン受信機54との間に双方向通信リンクが形成される。ブロードキャスト・サーバ50は好ましくはブロードキャスト・パス52を介して対話型テレビジョン受信機54に情報を送信する。これはブロードキャスト・パスはポイントツーポイント・パス58よりも一般に高速であることが理由である。対話型テレビジョン受信機54はポイントツーポイント・パス58を用いてブロードキャスト・サーバ50に情報を送信することができる。
図1はインターネット60に接続するポイントツーポイント・パス58を示すが、別のネットワークまたはブロードキャスト・サーバ50に直接接続することもできる。次いで、対話型テレビジョン受信機54はポイントツーポイント・パス58を介して対話型テレビジョン受信機54にリンクされた他のデバイスと通信することができる。別の実施形態では、ポイントツーポイント・パス58はブロードキャスト・パス52と同じでよい。
ブロードキャスト・カルーセル
ブロードキャスト・サーバ50は以下にカルーセルと呼ぶデータ・フロー構造を用いてブロードキャスト・パス52を介して対話型テレビジョン受信機54に対話型テレビジョン・コンテンツを送信する。対話型テレビジョン受信機54はブロードキャスト・サーバ50から送信された対話型テレビジョン・コンテンツを記憶するためのメモリを含むことができる。ただし、対話型テレビジョン受信機54内のメモリは限られている場合がある。したがって、対話型テレビジョン受信機54はそのメモリ内に対話型テレビジョンのアプリケーションの全体または対話型テレビジョン・コンテンツすべてを記憶することはできない。にもかかわらず、ブロードキャスト・サーバ50はカルーセルを用いて対話型テレビジョン受信機54内の限られたメモリにもかかわらず対話型テレビジョン・コンテンツを送信することができる。
カルーセルは定期的に対話型テレビジョン受信機54に送信するために分割されたデータ・ストリームとして実装できる。データの周期的、すなわち、定期的な送信によって、対話型テレビジョン受信機54はカルーセルの周期にメモリ内にないデータを検索することができる。すなわち、対話型テレビジョン受信機54は、限られたメモリ内に入らない部分はカルーセルの周期的な送信中に利用できるため、プログラム全体を記憶する必要はない。対話型テレビジョン受信機54は、カルーセルからデータの一部を引き出すことでテレビジョン・コンテンツを検索し、記憶し、表示することができる。
カルーセルを形成するプロセスの一例では、ブロードキャスト・サーバ50は対話型テレビジョン受信機54にどのデータを送信するかを最初に決定する。データは対話型テレビジョン受信機54上で実行するアプリケーションでもよく、ウェブ・ブラウザ・セッションのためのウェブ・ページでもよく、対話型テレビジョン・システム62がサポートするその他の多数のタイプのデータであってもよい。次いでブロードキャスト・サーバ50はデータをモジュールに分割する。モジュールは、一般に、ブロードキャスト・パス52を介して対話型テレビジョン受信機54に送信するより小さいデータ部分である。データをモジュールに分割する処理に加えて、ブロードキャスト・サーバ50はさらにカルーセル・ディレクトリ112を形成する。カルーセル・ディレクトリ112はカルーセル・モジュールのリストを含む。カルーセル・ディレクトリ112を用いて対話型テレビジョン・アプリケーションはリソースを得るためにカルーセルのどの部分にアクセスするかを決定する。カルーセル・アドレスはカルーセル内のリソースのロケーションを識別する。
モジュールが対話型テレビジョン受信機54に送信され、対話型テレビジョン受信機54は対話型テレビジョン・システム62内で使用するモジュールを記憶する。対話型テレビジョン受信機54内の利用可能なメモリは限られているので、モジュールは循環式に対話型テレビジョン受信機54に連続的に送信される。必要に応じて、対話型テレビジョン受信機54はブロードキャスト・パスからモジュールを検索し、以前に受信した1つまたは複数のモジュールを最近受信したモジュールで書き換えることができる。
このようにモジュールを送信することで、対話型テレビジョン受信機54は任意の所与の時間にモジュールの一部のみを記憶できる。対話型テレビジョン受信機54はメモリ内にないモジュールにアクセスする必要がある時には、連続した循環式のカルーセル送信の一部としてモジュールが送信されるまで短時間待つだけでよい。この結果、大容量のアプリケーションを収容する対話型テレビジョン受信機54内に必要なメモリ量を削減することができる。
図2は対話型テレビジョン・アプリケーションを6つのモジュール100、102、104、106、108、110に分割する例を示す。各モジュールはアプリケーションの1つまたは複数の部分を含む。各モジュールは異なる情報量を保持できるので、モジュールのサイズは異なる場合がある。対話型テレビジョン・アプリケーションの部分を保持することに加えて、モジュールは制御情報、ヘッダ情報、またはその他のデータを含むことができる。対話型テレビジョン・アプリケーションを6より少ないモジュール、または多いモジュールに分割でき、対話型テレビジョン・モジュールが1つまたは複数の完全なまたは部分的な対話型テレビジョン・アプリケーションを保持することができることは当然である。6つのデータ・モジュール100、102、104、106、108、110に加えて、カルーセル・ディレクトリ112も作成される。カルーセル・ディレクトリ112は対話型テレビジョン・アプリケーションの6つのデータ・モジュール100、102、104、106、108、110への分割の一般リストを含む。
図3はブロードキャスト・パス52を介したカルーセル内のモジュールの対話型テレビジョン受信機54への送信順序の例を示す。第1に、カルーセル・ディレクトリ112が対話型テレビジョン受信機54に送信される。次に、module_1 100と、module_2 102が対話型テレビジョン受信機54に送信される。次いで、カルーセル・ディレクトリ112が再送信され、module_3 104と、module_4 106が送信される。さらに、カルーセル・ディレクトリ112が再送信され、module_5 108と、module_6 110が送信される。module_6 110の送信に続いて、周期はカルーセル・ディレクトリ112とmodule_1 100の送信の繰り返しを開始する。図3に記載する順序は単に例示に過ぎず、他の送信順序も使用できる。
対話型テレビジョン受信機54は対話型テレビジョン・アプリケーション内のすべてのモジュールを記憶するのに十分なメモリを有する場合があるが、そのメモリは限られている場合が多く、カルーセル・モジュール100、102、104、106、108、110の一部しか記憶できないことがある。例えば、対話型テレビジョン受信機54が図3に記載するカルーセルを受信し、対話型テレビジョン受信機54は3つのモジュールを同時に実行するだけのメモリしか有していないことがある。
対話型テレビジョン受信機54の限られたメモリに適応するために、カルーセル・モジュールは対話型テレビジョン受信機54に連続的に送信する。対話型テレビジョン受信機上で実行されているアプリケーションがモジュールを必要とする時は、カルーセルからモジュールを得ることができる。次いで、モジュールを取得してメモリ内に記憶する。同様に、アプリケーションが別のモジュールを必要とする時は、モジュールを取得してそのメモリ内に記憶することができる。したがって、アプリケーションが要求した順番に対話型テレビジョン受信機54によってモジュールを取得し、記憶することができる。
最終的に、対話型テレビジョン受信機54がカルーセルからモジュールを取得するが、新たに取得したモジュールを記憶するのに十分なメモリを有していないkとおがある。この場合、対話型テレビジョン受信機54はそのメモリ内の1つまたは複数の他のモジュールを取り除くことができる。例えば、対話型テレビジョン受信機54はそのメモリ内に記憶された最古のモジュールを取り除く。別の例では、対話型テレビジョン受信機54はアプリケーション・プログラムがもはや必要としないモジュールを取り除く。さらに別の例では、対話型テレビジョン受信機54は異なる判定基準を用いてどのモジュールを取り除くか決定する。カルーセル内のモジュールはサイズがまちまちなため、対話型テレビジョン受信機54は複数のモジュールを取り除いて新たに取得したモジュールの空間を作る。対話型テレビジョン受信機54が新たに取得したモジュールの空間を作ると、そのモジュールをメモリ内に記憶し、アプリケーション・プログラムからアクセスする。
カルーセル・マネージャ
図4はカルーセル・マネージャを使用するシステムの対話型テレビジョン・システムの一例を示す。カルーセルを使用して、対話型テレビジョン・システム212内でサービスを同報通信する。サービスは一般にリソースの集合である。リソースは、ユニフォーム・リソース識別子(「URI」)またはユニフォーム・リソース・ロケータ(「URL」)によって識別できるデータ・オブジェクトなどの任意の数の異なるデータ・オブジェクトでよい。ユニフォーム・リソース・ロケータは、全体が本明細書に組み込まれたBerners−Lee他のInternet Enginnering Task Force Request For Comment 1738、「Uniform Resource Locator(「URL」)、1994年12月に詳述されている。ユニフォーム・リソース識別子は全体が本明細書に組み込まれたIETF RFC 2396に詳述されている。
例えば、サービスはオンライン・マガジンであってもよい。マガジンは複数の記事のような様々な異なるリソースを含む。各記事は音声ファイル、映像ファイルまたはその他のコンテンツをさらに含む。記事は、例えば、ハイパーテキスト・マークアップ言語(「HTML」)ページとしてオンラインで記憶される。拡張ハイパーテキスト・マークアップ言語(「XHTML」)、ウェブサイト・メタ言語(「WML」)などの他のリンク言語も使用できることは当然である。他のリソースも、Joint Photographic Experts Group(「JPEG」)、Moving Picture Experts Group(「MPEG」)、MP3または任意の数の他の利用可能なフォーマットを用いて記憶できる。リソースは、対話と表示の単一の収斂する空間を構成するリソースの集合を供給するウェブ・ページなどのページにフォーマットされる。ページそれ自体もリソースであり、サービスは複数のページを含んでもよい。
オンライン・マガジンなどのサービスを、サービス・プロバイダ204からアクセスでき、サービス・プロバイダによって記憶されることもある。サービス・プロバイダ204は、図5に示すように、インターネット60を介してブロードキャスト・サーバ50に接続できる。あるいは、サービス・プロバイダ204は、ブロードキャスト・サーバ50に接続するイントラネットまたはその他のネットワークに接続される。複数のサービス・プロバイダ202、204、206、208は1つまたは複数のネットワークを介してブロードキャスト・サーバ50と対話できる。さらに、各サービス・プロバイダ202、204、206、208は複数のサービスを記憶できる。
カルーセル・マネージャ210は好ましくはブロードキャスト・サーバ50上で機能する。カルーセル・マネージャ210は、サービス・プロバイダ202、204、206、208から入手できるサービスから形成されるカルーセルの生成と同報通信を処理する。カルーセル・マネージャ210は様々な異なるフォーマットを用いて記述されたサービスを処理できるが、好ましい実施形態では、カルーセル・マネージャ210はHTMLで記述されたサービスの生成と同報通信を処理する。
図5は、ブロードキャスト・サーバを構成するためのカルーセル・マネージャ210の詳しい説明を示す。カルーセル・マネージャ210はインターネット60を介してサービス・プロバイダ204とインターフェースを取るが、これは別のタイプのネットワークまたは別のタイプの接続を介して行われる。カルーセル・マネージャ210内のフェッチャ250はサービス・プロバイダ204とインターフェースを取り、サービス・プロバイダからサービスを受ける。例えば、フェッチャ250はサービス・プロバイダ204からHTTPサービスを受ける。フェッチャ250が他のHTTP以外のサービスを受けられることは当然である。例えば、フェッチャ250は、URIまたはURLによって識別されるリソースを取得でき、またはファイル転送プロトコル(「FTP」)などのアプリケーションを介してリソースを取得する。次いでカルーセル・マネージャ210はブロードキャスト・ポリシーを用いてサービスをブロードキャスト・カルーセルに形成する。次いでブロードキャスト・カルーセルは対話型テレビジョン受信機54に送信する。
図6は、ブロードキャスト・カルーセルを構築するためのプロセスの一例の流れ図である。ステップ350で、カルーセル・マネージャはサービス・プロバイダからサービスを取得する。次いで、ステップ352で、カルーセル・マネージャはサービス・プロバイダからブロードキャスト・ポリシーを取得する。次に、カルーセル・マネージャは、ステップ354に示すように、サービス・プロバイダから取得したブロードキャスト・ポリシーを用いてブロードキャスト・カルーセルを作成する。次いで、カルーセルはステップ356に示すように、対話型テレビジョン受信機に同報通信する。
続けて図5を参照すると、フェッチャ250はサービスのブロードキャスト・ポリシーを決定できる。ブロードキャスト・ポリシーは一般にブロードキャスト・パスを介してどのリソースを対話型テレビジョン受信機54に同報通信するかと、ポイントツーポイント・パス58を介して対話型テレビジョン受信機54からどのリソースだけが利用可能かを決める。ブロードキャスト・ポリシーを開発する際には様々な異なる因子を考慮することができ、ブロードキャスト・ポリシーは様々な異なる方法で形成できる。
ブロードキャスト・パス52は一般に高帯域をサポートするので、大容量のデータの送信をサポートできる。ただし、対話型テレビジョン受信機54のメモリが限られている。対話型テレビジョン受信機54の限られた記憶容量に対応するために、データはカルーセルに載せて連続的に対話型テレビジョン受信機54に送信される。現在メモリ内にないデータを取得するために、対話型テレビジョン受信機54はカルーセルがデータを保持するモジュールを循環させるのを待つ。対話型テレビジョン受信機54に送信する大量のデータをカルーセル内に配置することで、対話型テレビジョン受信機54は現在メモリにないモジュールを受信するためにカルーセルがモジュールを循環させるまでより長い時間待たねばならない場合がある。したがって、カルーセル内に配置され、ブロードキャスト・パス52を介して対話型テレビジョン受信機54に送信される大量のデータを制限することが望ましい。
HTTPフェッチャ250はブロードキャスト・ポリシーを様々な方法で使用する。一実施形態では、サービス・プロバイダ204はカルーセルを形成するためのブロードキャスト・ポリシーをフェッチャ250に送信する。例えば、サービス・プロバイダ204は、ブロードキャスト・ポリシーとして使用できるチャネル定義ファイルをフェッチャ250に送信する。当技術分野で知られているように、チャネル定義ファイルは、リソースの集合を識別するための特定のフォーマットである。チャネル定義ファイルを、サービス・プロバイダ204によって作成でき、サービスに関連付けることができる。チャネル定義ファイルを形成する際に、サービス・プロバイダ204は、対話型テレビジョン受信機54がよりアクセスする可能性が高いリソースを示す。これらのリソースは、チャネル定義ファイルによって定義されているように、カルーセル内に配置してブロードキャスト・パス52を介して対話型テレビジョン受信機54に送信する。ただし、アクセスがより少ないリソースはポイントツーポイント・パス58用にとっておく。チャネル定義ファイルは、本来例示的なものに過ぎず、ブロードキャスト・ポリシーを指定するために他のフォーマットを使用してもよい。
オンライン・マガジンの例に戻ると、サービス・プロバイダ204はカルーセル内に配置するある種のリソースを識別するチャネル定義ファイルを指定する。これらは、例えば、オンライン・マガジンの索引、特集記事、目玉記事またはその他の人気のあるリソースである。より閲覧されないリソースはポイントツーポイント・パス58用にとっておく。一般にアクセスされるリソースを含むカルーセルを形成することで、サービス・プロバイダ204はブロードキャスト・カルーセルのサイズを制限できる。これによって、対話型テレビジョン受信機54がカルーセルのリソースにアクセスする速度が増加する。さらに、カルーセルを小さくすると大量のデータを連続的に送信する場合と比較して対話型テレビジョン・システムにかかる負荷を低減できる。
ブロードキャスト・ポリシーを使用する別の実施形態では、カルーセル・マネージャ210はブロードキャスト・ポリシー・ファイル254を記憶する。ブロードキャスト・ポリシー・ファイル254を、カルーセルを作成するためにサービス・プロバイダ204から提供されたブロードキャスト・ポリシーと連係させて使用する。フェッチャ250はブロードキャスト・ポリシー・ファイル254とサービス・プロバイダのブロードキャスト・ポリシーとを様々な方法で使用できる。
一例では、サービス・プロバイダのブロードキャスト・ポリシーはカルーセル内に配置するリソースのリストを指定する。ただし、ブロードキャスト・ポリシー・ファイル254は、カルーセルのサイズの最大限度を設定する。ブロードキャスト・ポリシー・ファイル254によって定義されるサイズは、最大リソース数、リソースが使用する最大物理ビット数、または別の尺度である。サービス・プロバイダのブロードキャスト・ポリシー指定がブロードキャスト・ポリシー・ファイル254が設定した最大限度を超えない場合、フェッチャ250はサービス・プロバイダのブロードキャスト・ポリシーをそのまま使用してカルーセルを作成する。ただし、サービス・プロバイダのブロードキャスト・ポリシーが、フェッチャのブロードキャスト・ポリシー・ファイル254が設定したサイズ制限を超える量のリソースを指定した場合、フェッチャ250はカルーセルに配置されるリソースをさらに制限することがする。これは多くの異なる方法を用いて実行できる。
一実施形態では、サービス・プロバイダのブロードキャスト・ポリシーはさらにリソースの優先度を定義する。フェッチャ250はその優先度を用いてカルーセル内にどのリソースを配置するかを決定する。別の実施形態では、フェッチャ250はリソースのタイプについて優先度を決める。例えば、HTMLファイルにJPEGファイルより高い優先度を与える。したがって、カルーセルの最大サイズ限度を強制するために、フェッチャ250はサービス・プロバイダのブロードキャスト・ポリシーが定義したリソースからJPEGファイルを取り除く。さらに別の実施形態では、フェッチャ250は最大サイズ限度を満たすまでコンテンツを任意に取り除く。その他の最大サイズ限度を強制する方法も存在し、同様に使用する。
ブロードキャスト・ポリシー254は最大サイズ以外の限度または制限を指定することができる。例えば、フェッチャのブロードキャスト・ポリシー・ファイル254はファイルなどのある種のタイプのリソースを制限する。例えば、カルーセル内にMPEGファイルを配置できないと指定する。あるいは、他のタイプのファイルについても同様の制限が可能である。さらに、ブロードキャスト・ポリシー254はある種のタイプのファイルのサイズまたは量を制限する。その他の制限も使用する。
別のタイプの優先度では、ブロードキャスト・ポリシーはカルーセル内の周期速度を指定する。例えば、ブロードキャスト・ポリシーはある種のモジュールを他のリソースよりもより頻繁にカルーセル内で循環させるように指定する。これによってこれらのモジュールはより迅速にアクセスすることができる。これらのモジュールは他のモジュールよりも頻繁により頻繁にカルーセル内で循環するので、対話型テレビジョン受信機はカルーセルがモジュールを選択するまで待つ時間が短くなる。したがって、モジュールを取得する待ち時間が低減される。
これらの例は網羅的なものではない。ブロードキャスト・ポリシーの作成にあたっては他の多くの要因を考慮する。さらに、サービス・プロバイダのブロードキャスト・ポリシーとブロードキャスト・ポリシー・ファイル254とが対話する他の多くの方法が存在し、これらの方法も使用することができる。
ブロードキャスト・ポリシーの使用に加え、フェッチャ250はコンテンツ・ネゴシエーションも実行する。リソースは複数の表現をとることができる。カルーセル・ビルダ252はサービス・プロバイダ204や対話型テレビジョン受信機54とコンテンツ・ネゴシエーションを行い、カルーセルを構築する際に使用する適切なリソース表現を決定する。例えば、サービス・プロバイダはHTMLページを指定する。そのHTMLページはページを作成するために使用した異なるHTMLのバージョンに対応する複数の表現を有する。別の例では、音声または映像リソースが異なるフォーマットで利用する。リソースのその他の多くの表現が存在し、コンテンツ・ネゴシエーションにあたってこれらを使用することは言うまでもない。
対話型テレビジョン受信機54はこれら複数の表現のいずれもサポートできない。あるいは、対話型テレビジョン受信機54はこれら複数の表現のうち1つまたは複数をサポートできてもよい。例えば、リソースは画像ファイルである。画像ファイルは、JPEGやビットマップなど、複数の表現で記憶する。ただし、対話型テレビジョン受信機54は、ビットマップ画像だけをサポートしていてもよい。したがって、対話型テレビジョン受信機54は画像のJPEG表現を適切に表示できないことがある。対話型テレビジョン受信機54とサービス・プロバイダ204との間でコンテンツ・ネゴシエーションを実行することで、複数の表現が利用する時にカルーセル・ビルダ252は適切な表現を選択することができる。例えば、カルーセル・マネージャ210は要求元アプリケーション・プログラムがビットマップ画像しかサポートしないように決定する。これで、カルーセル・マネージャ210はカルーセル内で使用するサービス・プロバイダ204からのビットマップ画像を取得する。
コンテンツ・ネゴシエーションを実行する1つの方法がHTTP 1.1標準に指定されている。HTTP 1.1は、全体が参照により本明細書に組み込まれたFielding他のInternet Enginnering Task Force Request For Comment 2616、「Hypertext Transfer Protocol−HTTP/1.1」、1999年6月に詳述されている。他の方法を用いてコンテンツ・ネゴシエーションを実行するのは言うまでもない。
カルーセル・ビルダ252が、カルーセル内に配置するリソースを、フェッチャ250から受け取るといった方法で取得すると、カルーセル・ビルダ252がカルーセルを構築する。これは適切にサポートされたカルーセル・フォーマットを用いて実行することができる。例えば、カルーセル・ビルダ252によって各リソースをトランスポート・モジュール内に配置し、カルーセル内に挿入する。例えば、HTTPリソースの場合、モジュールは好ましくはHTTPリソースの本文とHTTPリソースのヘッダとを含む。カルーセルは複数のトラックに分散される。当技術分野で知られているように、構成されたにトラックは基本ブロードキャスト・ストリームである。
カルーセルの構築に加えて、カルーセル・ビルダ252はカルーセル・ディレクトリ256を作成することもする。カルーセル・ディレクトリ256はカルーセルの一部として対話型テレビジョン受信機54に送信でき、異なるカルーセル・モジュール内で利用可能なリソースを指定する。カルーセル・ディレクトリ256は様々な異なる方法を用いてカルーセル内で利用可能なリソースを指定する。一実施形態では、カルーセル・ディレクトリ256はカルーセル追加方法を用いてリソースを指定する。したがって、カルーセル・ディレクトリ256はリソースのカルーセル・モジュール・アドレスとリソースの物理アドレスとのマッピングを実行する。カルーセル内のリソースを識別し、特定のリソースを保持するモジュールを識別するために他の方法を用いてもよい。
カルーセル・ビルダ252はまたURIインデクス258を作成する。URIインデクス258は、例えば、カルーセル内のリソースに関する情報を保持するデータ構造体である。URIインデクス258はリソースのカルーセル・アドレスとリソースのURIまたはその他の一意的な識別子とのマッピングを実行する。例えば、URIインデクス258はリソースを識別するURIとカルーセル内のリソースの位置とのマッピングを実行する。別の例では、リソースはURLを用いて識別し、URIインデクス258はURLとリソースのカルーセル・アドレスとのマッピングを実行する。URIインデクス258を用いてリソースのURIまたはURLとリソースのカルーセル・アドレスとのマッピングを実行する。次いで、カルーセル・ディレクトリ256を用いてカルーセル・アドレスをカルーセル内のリソースの物理アドレスにさらに分解する。
URIインデクス258はより直接的なマッピングを実行することももちろん可能である。例えば、URIインデクス258はリソースのURIとリソースのカルーセル内の物理アドレスとのマッピングを実行する。同様に、URIインデクス258はリソースのURLまたはその他の識別子とリソースのカルーセル内の物理アドレスとのマッピングを実行する。この直接マッピングを用いて、URI、URLまたはその他の識別子によって識別されたリソースをURIインデクス258を用いて物理アドレスに分解する。その結果、カルーセル・ディレクトリ256を用いてモジュール・アドレスを物理アドレスに分解する中間ステップを省略する。
カルーセルは対話型テレビジョン受信機54に1組のリソースを供給する。カルーセル内のリソースはカルーセルのブロードキャスト・ポリシーに従って周期的に更新する。カルーセルにリソースを追加され、カルーセルからリソースを取り除くことができ、リソースを更新してより新しいバージョンのリソースを備えた対話型テレビジョン受信機54を実現する。カルーセル・リソース内の変化によって、カルーセル・ディレクトリ256とURIインデクス258のそれに対応する変化が引き起こされる。カルーセル・ディレクトリ256とURIインデクス258の両方を更新してカルーセルの変更部分を反映させる。
カルーセル・ディレクトリ256とURIインデクス258の両方を更新してカルーセルの変更部分を反映させるが、補足URIインデクスまたは補足カルーセル・ディレクトリも使用することができる。補足URIインデクスはURIインデクス258の変更しか反映しない。同様に、補足カルーセル・ディレクトリもカルーセル・ディレクトリ256の変更しか反映しない。これらの小さい更新をカルーセル・ディレクトリ256やURIインデクス258と併用してカルーセルの現在の構成を反映させる。
カルーセル内のリソースを更新する一例では、リソースが満了したらリソースを更新するかまたはカルーセルから取り除く。HTTPカルーセル・マネージャ210は一般にサービス・プロバイダ204またはフェッチャ250によって同報通信に割り当てられているリソースを同報通信する。フェッチャ250によって、カルーセルが最新のリソースを使用することが保証される。サービス・プロバイダ204はリソースの満了情報を指定する。これは、特定のリソースのエントリを作成するなどのブロードキャスト・ポリシーによって実行する。または、満了情報をリソースそれ自体に指定してもよい。例えば、HTMLページは満了情報を指定する。
一実施形態では、フェッチャ250はHTTP 1.1「Server Specified Expiration Model」を用いてカルーセル内のリソースが古くなることを防止する。フェッチャ250はまたリソースの満了時間を決定する別のモデルを指定する。フェッチャ250がリソースが古いと判定すると、リソースをカルーセルから外す。
例えば、対話型テレビジョン受信機54上で実行されているアプリケーションはカルーセルからリソースを取得するが、リソースの最新バージョンを有しているか否かを判定したい場合がある。アプリケーションはカルーセル・ディレクトリ256を用いて有効期限計算ヘッダを演算する。カルーセル・ディレクトリ256を用いて、カルーセルが保持するリソースに関するリアルタイムの更新情報を供給するトリガ機構を実現し、カルーセルが保持するリソースの最新バージョンを有するか否かをアプリケーションが判定する。
対話型テレビジョン受信機のアプリケーションにリソースの最新バージョンを供給する処理に加えて、リソース満了を用いてカルーセル内のリソースを維持する。リソースが満了すると、フェッチャ250はサービス・プロバイダ204からより新しいバージョンを取得する。フェッチャ250はカルーセル・ビルダ252に更新されたリソースを供給し、カルーセル・ビルダ252はカルーセル内の古いリソース・バージョンを更新されたバージョンと差し替える。カルーセルが送信されると、対話型テレビジョン受信機54は更新されたリソースを受信する。代替形態では、更新されたリソースはカルーセル内に配置されない。対話型テレビジョン受信機54はポイントツーポイント・パス58から更新されたリソースを取得することしかできない。
リソースのより新しいバージョンが入手できない場合、フェッチャ250はカルーセル・ビルダ252にカルーセルからリソースを取り除くように指示する。カルーセル・ビルダ252はこれに従ってURIインデクス258を更新する。リソースはブロードキャスト・パス52上でもはや入手できなくなる。
インターフェース・モジュール
図7は、対話型テレビジョン受信機54で使用するインターフェース・モジュール300を示すブロック図である。インターフェース・モジュールは、対話型テレビジョン受信機54上で走り、対話型テレビジョン・システムにデータを要求するアプリケーション・プログラム302のインターフェースとして機能する。インターフェース・モジュール300はアプリケーション・プログラム302からリソース要求を受信する。次いでインターフェース・モジュール300は、リソースをブロードキャスト・パス52とポイントツーポイント・パス58のどちらから取得するかを決定する。要求がサポートされるフォーマットでない場合、インターフェース・モジュール300はアプリケーション・プログラム302からの要求をリソースを取得するためのパスがサポートするフォーマットに変換する。
アプリケーション・プログラム302は対話型テレビジョン受信機54で走る。対話型テレビジョン受信機54はインターフェース・モジュールを実行する。インターフェース・モジュールはアプリケーション・プログラム302に、アプリケーション・プログラム302がカルーセルまたはポイントツーポイント・パス58からリソースをフェッチするための必要なアプリケーション・プログラム・インターフェース(「API」)を供給する。当技術分野で知られているように、APIはプログラムが別のプログラム、オペレーティング・システムまたはその他のサービスと通信するために使用する1組の機能とする。
アプリケーション・プログラム302は、カルーセルからのデータの適切な要求を送信することで、カルーセルから直接データを取得する。これに応答して、アプリケーション・プログラム302は、ブロードキャスト・パス52を介してカルーセルに載せて送信された要求されたデータを受信する。あるいは、アプリケーション・プログラム302はポイントツーポイント・パス58を介してサービス・プロバイダ64に要求を送信することでデータを取得する。次いで、サービス・プロバイダ64はポイントツーポイント・パス58に沿って対話型テレビジョン受信機54に送信する。ただし、ブロードキャスト・パス52からデータを要求するためのフォーマットは、ポイントツーポイント・パス58からデータを要求するためのフォーマットとは異なる場合がある。
インターフェース・モジュール300は対話型テレビジョン受信機54で実行され、アプリケーション・プログラム302と2つのデータ・パス52、58との間のインターフェースとして機能する。インターフェース・モジュール300は対話型テレビジョン受信機54上で実行中のアプリケーション・プログラム302からデータ要求を受信する。インターフェース・モジュール300へのデータ要求はブロードキャスト・パス52またはポイントツーポイント・パス58からリソースを要求するための均一のフォーマットでよい。インターフェース・モジュール300はアプリケーション・プログラム302からのデータ要求を処理し、データをブロードキャスト・パス52とポイントツーポイント・パス58のどちらから取得するかを決定する。次いで、必要に応じて、インターフェース・モジュール300はデータ要求をブロードキャスト・パス52またはポイントツーポイント・パス58に必要な構文に再フォーマットする。
図8はリソースを取得するために使用する例示のプロセスの流れ図である。ステップ400で、インターフェース・モジュールはアプリケーション・プログラムからリソース要求を受信する。ステップ402で、インターフェース・モジュールはインデクス・モジュールを含むブロードキャスト・カルーセルを受信する。次いで、インターフェース・モジュールはインデクス・モジュールをサーチして、ブロードキャスト・カルーセル内でリソースが利用可能か否かを判定する(ステップ404)。ブロードキャスト・カルーセル内でリソースが利用可能な場合、アプリケーション・プログラムに供給される。逆に、ブロードキャスト・カルーセル内でリソースが利用可能でない場合、ステップ406に示すように、ポイントツーポイント・パスからリソースを取得する。
図9はリソースを取得するために使用する別の例示のプロセスの流れ図である。ステップ450で、インターフェース・モジュールはアプリケーション・プログラムからリソース要求を受信する。ステップ452で、インターフェース・モジュールはインデクスをサーチして、カルーセル内でリソースが利用可能か否かを判定する。インデクス・モジュールは、カルーセルでインターフェース・モジュールに送信される。次に、ステップ454で、インターフェース・モジュールはカルーセル内でリソースが利用可能でないと判定する。ステップ456で、インターフェース・モジュールはポイントツーポイント・パスからリソースを要求する。次いで、ステップ458で、インターフェース・モジュールはポイントツーポイント・パスからリソースを受信する。最後に、インターフェース・モジュールはリソースを要求元アプリケーション・プログラムに供給する(ステップ460)。
さらに図7を参照すると、インターフェース・モジュール300は、アプリケーション・プログラム302からリソース要求を受信する。リソース要求はそのURIまたは別の識別子によってリソースを識別する。インターフェース・モジュール300への要求は、リソースの要求元にかかわらず、標準フォーマットでよい。一実施形態では、データ要求はブロードキャスト・パス52からリソースを取得する構文を用いてフォーマットされる。別の実施形態では、データ要求はポイントツーポイント・パス58からリソースを取得する構文を用いてフォーマットされる。さらに別の実施形態では、データ要求はインターフェース・モジュール300が認識する別のフォーマットを用いてフォーマットされる。
インターフェース・モジュール300はデータ要求を受信し、どのリソースが要求されているかを判定する。次いで、インターフェース・モジュール300はURIインデクス258を用いてそのリソースがブロードキャスト・パス52から利用可能か否かを判定する。例えば、インターフェース・モジュール300は要求されたリソースのURIに基づいてURIインデクス258をサーチする。リソースがブロードキャスト・パス52上で利用可能な場合、URIインデクス258はリソースのURIとそのカルーセル・アドレスまたは物理ロケーションとのマッピングを実行する。次いで、マッピングを用いて、インターフェース・モジュール300はカルーセルからリソースを取得し、アプリケーション・プログラム302に供給する。
ただし、URIインデクス258はURIとカルーセル・アドレスとのマッピングを記憶しない場合、インターフェース・モジュール300はブロードキャスト・パス52上でリソースが利用可能であると判定する。次いで、インターフェース・モジュール300はポイントツーポイント・パス58からリソースを要求する。リソースをポイントツーポイント・パスから要求するにあたって、インターフェース・モジュール300はそのパスからリソースを要求するプロトコルを使用する。また、そのプロトコルはブロードキャスト・パス52からリソースを要求するプロトコルとは異なる。こうして、インターフェース・モジュール300がリソースを要求する際にどのパスを使用するかを決定すると、インターフェース・モジュール300はそのパスの適切なプロトコルを使用する。
インターフェース・モジュール300はブロードキャスト・パス52またはポイントツーポイント・パス58からリソースを取得するシームレスな方法を実現する。アプリケーション・プログラム302はリソースの送信元にかかわらず、均一の構文を用いてリソースを要求する。リソースの要求に単一の構文を使用することにはいくつかの利点がある。利点の一例は、単一の構文の使用でアプリケーション開発者がリソースが利用可能な場所を決定する必要が解消されるということである。アプリケーション開発者は均一の構文を用いてリソースを要求するので、リソースの可能なソース間の符号を区別する必要はなくなる。アプリケーションの符号化の際に、リソースがブロードキャスト・パス52とポイントツーポイント・パス58のどちらから入手するかを知る必要はない。アプリケーション実行時には、インターフェース・モジュール300はリソース要求を受信する。リソースがブロードキャスト・パス52上で利用可能な場合、インターフェース・モジュール300はカルーセルからリソースを検索する。
ただし、リソースがブロードキャスト・パス52上で利用可能でない場合、インターフェース・モジュール300はポイントツーポイント・パス58を介してリソースを取得するためのプロトコルを用いてポイントツーポイント・パス58を介してリソースを取得する。インターフェース・モジュール300を用いて、要求されたリソースをブロードキャスト・パス52またはポイントツーポイント・パス58から取得するようにすることで、リソースをそれが利用不能なロケーションからのみ要求することが原因で起こるプログラム・エラーを減少させる。また、インターフェース・モジュール300は不必要にポイントツーポイント・パス58を使用する状況(例えば、アプリケーション開発者がブロードキャスト・パス52上でリソースが利用可能か否かの確証がなく、ポイントツーポイント・パス58からリソースを取得することを選択する場合)を減らして、この間違いがなかったらより高速のブロードキャスト・パス52上で利用可能であったはずのリソースを取得する。
利点の別の例では、インターフェース・モジュール300は、アプリケーション・プログラム302に悪影響を与えることなく、カルーセルを連続的に更新する。例えば、満了したリソースをカルーセルから取り除く。インターフェース・モジュール300がなければ、カルーセルからリソースを取り除くとプログラム・エラーが発生する場合がある。これは、アプリケーション・プログラム302が要求したリソースはもはやブロードキャスト・パス52上で利用可能でないためである。ただし、インターフェース・モジュール300は要求をブロードキャスト構文からポイントツーポイント構文に変換する処理を扱う。取り除かれたリソースの要求はポイントツーポイント・パス58を介して送信され、リソースの現在のバージョンをポイントツーポイント・パス58から取得する。その結果、前にカルーセル内にあった満了したバージョンではなく最新バージョンのリソースをアプリケーション・プログラム302に供給する。
また、インターフェース・モジュール300は、URIインデクス258をモニタして、リソースのカルーセルへの追加/削除などのカルーセル内の変更を検出する。URIインデクス258のモニタリングに加えて、インターフェース・モジュール300は補足URIインデクス258をモニタする。補足URIインデクス258は元のURIインデクス258の作成後のカルーセルの変更を反映させることができ、カルーセルの変更を検出する簡単で効率的な方法をインターフェース・モジュール300に与える。同様に、インターフェース・モジュール300はカルーセル・ディレクトリ256をモニタすることでカルーセルの変更を検出する。カルーセルの変更も、補足カルーセル・ディレクトリを用いて迅速かつ効率的に検出する。
リソース要求の扱いに加え、インターフェース・モジュール300はリソースのプリフェッチもサポートする。1つのタイプのプリフェッチでは、アプリケーション・プログラム302はHTMLページなどのリソースにアクセスする。HTMLページは様々な他のサブリソースを含む。アプリケーション・プログラム302が現在サブリソースにアクセスしている間、インターフェース・モジュール300はHTMLページを形成するサブリソースの残りをプリフェッチする。次いで、アプリケーション・プログラム302がその後他のサブリソースにアクセスしようとすると、サブリソースはトランスポート・パスの1つから要求しなくても直ちに利用可能になる。
別のタイプのプリフェッチでは、HTMLページは様々な他のリソースへのリンクを含む。インターフェース・モジュール300はリンクされたリソースをプリフェッチでき、それによってアプリケーション・プログラム302によって要求される前にリンクされたリソースを取得する。取得したリソースは対話型テレビジョン受信機のメモリ内に記憶する。次いで、アプリケーション・プログラム302がメモリ内のリソースの1つを要求した場合、メモリから取り出してアプリケーション・プログラム302に供給する。リソースを伝送パスの1つから取り出す時間をかけずにリソースをアプリケーション・プログラム302に供給する。
一実施形態では、インターフェース・モジュール300はブロードキャスト・パス52を介して利用可能なリンクされたリソースを事前取り出しするだけである。ブロードキャスト・サーバ50はカルーセルを周期的に循環させて対話型テレビジョン受信機54にリソースを送信し、ブロードキャスト・パス52上ではリソースを取得する追加の帯域幅は使用されないので、インターフェース・モジュール300はブロードキャスト・パス52上のデータ転送速度を下げることなくこれらのリソースを取得する。この処理も対話型テレビジョン受信機54によって最小量の余分な処理のみで取得する。その後、アプリケーション・プログラム302がHTMLページ上のリンクを介してリソースを要求すると、インターフェース・モジュール300は、カルーセルが要求されたリソースまで循環するのを待たずに事前取り出しされたリソースを迅速に供給する。
アプリケーション・プログラム302が事前に取り出されたリソースを要求しない場合、それらはメモリから取り除かれる。例えば、アプリケーション・プログラム302が新しいHTMPページにブラウジングした場合、インターフェース・モジュール300は旧ページから事前取り出しされたリソースを削除する。次いで、インターフェース・モジュール300は新しいHTMLページのリソースを事前取り出しでき、新しく事前に取り出されたリソースは旧ページの事前に取り出されたリソースに上書きする。未使用の事前取り出しされたリソースを取り除くために他のプロセスも使用する。
別の実施形態では、インターフェース・モジュール300はポイントツーポイント・パス58上でのみ利用可能なリソースを事前に取り出す。インターフェース・モジュール300はリソースを要求し、ポイントツーポイント・パス58を介してそれらを受信する。リソースはインターフェース・モジュール300によって対話型テレビジョン受信機54内に記憶され、アプリケーションが現在のHTMLページを介してリソースを要求した場合、迅速に検索される。リソースは普通、ポイントツーポイント・パス58を介して送信されないので、ポイントツーポイント・パス58を介してリソースを取得する際に追加の帯域幅が消費される。その結果、ポイントツーポイント・パス58上の全体のデータ伝送速度を低下させ、そのパスを使用する他のアプリケーションに悪影響を与えることがある。さらに別の実施形態では、インターフェース・モジュールはブロードキャスト・パス52とポイントツーポイント・パス58の両方で利用可能なリソースの事前取り出しを行う。その他の変形形態も可能で、それらを使用することもする。
本明細書に記載するプログラム、プロセス、方法および装置は、特に断りのない限り、いかなる特定のタイプのコンピュータまたはネットワーク装置(ハードウェアまたはソフトウェア)にも関連せずまたは限定されないことを理解されたい。様々なタイプの汎用または専用のコンピュータ装置を本明細書に記載の教示と併用し、また本明細書に記載の教示に従ってオペレーションを実行する。好ましい実施形態の様々な要素をソフトウェアで実施するものとして説明してきたが、他の実施形態では、これに代えてハードウェアまたはファームウェア実施態様を使用でき、その逆も可能である。
本発明の原理を適用する様々な実施形態に関して、図示の実施形態は例示的なものに過ぎず、本発明の範囲を限定するものと解釈すべきではないことを理解されたい。例えば、流れ図の各ステップは記述の順序以外の順序で実行でき、より多い数、より少ない数または他の要素をブロック図で使用する。
特に断りのない限り、請求の範囲は要素の記述順序に限定されるものではない。さらに、請求の範囲の「手段」という用語は、35 U.S.C.§112、パラグラフ6を行使するもので、「手段」という用語がない請求の範囲にはそのような意図はない。したがって、以下の請求の範囲およびその等価物の範囲と精神を逸脱しないすべての実施形態は本発明として請求される。
対話型テレビジョン・システムのアーキテクチャの例を示す図である。 対話型テレビジョン・アプリケーションのモジュールへの分割を示す図である。 ブロードキャスト・パスを介して図2のモジュールを対話型テレビジョン受信機に送信する順序の例を示す図である。 カルーセル・マネージャを使用する対話型テレビジョン・システムの例を示す図である。 図4の対話型テレビジョン・システムで使用されるカルーセル・マネージャを示す図である。 ブロードキャスト・カルーセルを構築する例示のプロセスの流れ図である。 対話型テレビジョン受信機上で実行されるインターフェース・モジュールを示すブロック図である。 図7のインターフェース・モジュールを使用するリソースを得る例示のプロセスの流れ図である。 図7のインターフェース・モジュールを使用するリソースを得る別の例示のプロセスの流れ図である。

Claims (34)

  1. ブロードキャスト・ネットワーク内でHTTPサーバをエミュレーションする方法であって、
    対話型テレビジョン受信機上で実行されるアプリケーション・プログラムからリソースを求める要求を受信するステップと、
    周期的に受信される複数のデータ・モジュールのデータ・ストリームを含むブロードキャスト・カルーセルを受信するステップと、
    ブロードキャスト・カルーセル内で利用可能なリソースを識別するインデクスにアクセスして、ブロードキャスト・カルーセル内でリソースが利用可能か否かを判定するステップとを含む方法。
  2. 中央処理装置に請求項1に記載の方法を実行させる命令を内部に記憶したコンピュータ可読媒体。
  3. 前記リソースがブロードキャスト・パスから利用可能でない場合にポイントツーポイント・パスから前記リソースを取得するステップを含む請求項1に記載の方法。
  4. 前記リソースをHTTPサーバ、FTPサーバまたはファイル・サーバから取得するステップをさらに含む請求項1に記載の方法。
  5. アプリケーション・プログラムからのリソース要求が第1のプロトコルを使用し、ポイントツーポイント・パスから前記リソースを取得するステップが、
    第2のプロトコルを用いてポイントツーポイント・パスを介して前記リソースを要求するステップと、
    前記ポイントツーポイント・パスから前記リソースを受信するステップとを含む請求項1に記載の方法。
  6. 前記第1のプロトコルがURIまたはURLを用いて前記リソースを識別する請求項5に記載の方法。
  7. 前記第2のプロトコルがURIまたはURLを用いて前記リソースを識別する請求項5に記載の方法。
  8. 前記要求が前記URIを用いて前記リソースを識別し、カルーセル内の前記リソースのロケーションが物理アドレスを用いて識別され、前記インデクスが前記URIと前記物理アドレスとのマッピングを実行する請求項1に記載の方法。
  9. 前記要求がURIを用いて前記リソースを識別し、前記リソースが論理カルーセル・アドレスを用いてカルーセルから取得され、前記インデクスが前記URIと前記論理カルーセル・アドレスとのマッピングを実行し、前記リソースを取得するステップが、
    前記インデクスをサーチして前記リソースの前記論理カルーセル・アドレスを決定するステップと、
    前記論理カルーセル・アドレスを用いて前記カルーセルから前記リソースを取得するステップとをさらに含む請求項1に記載の方法。
  10. 前記論理カルーセル・アドレスを用いて前記カルーセルからリソースを取得するステップが、
    前記第2のインデクスをサーチして前記リソースの物理アドレスを決定するステップであって前記第2のインデクスが前記論理カルーセル・アドレスと前記物理アドレスとのマッピングを実行するステップと、
    前記物理アドレスを用いて前記カルーセルから前記リソースを取得するステップとをさらに含む請求項9に記載の方法。
  11. 前記リソースがハイパーリンク言語を用いて作成される請求項1に記載の方法。
  12. 前記ハイパーリンク言語がHTML.XHTMLまたはWMLである請求項11に記載の方法。
  13. 前記リソースが第2のリソースを識別する少なくとも1つのリンクを含み、前記方法が、
    前記第2のリソースをプリフェッチする請求項11に記載の方法。
  14. 前記ブロードキャスト・ネットワークがケーブル・ネットワーク、衛星ネットワークまたは対話型テレビジョン・ネットワークである請求項1に記載の方法。
  15. 前記アプリケーション・プログラムがセットトップ・ボックス、ゲーム・コンソールまたは対話型テレビジョン受信機上で実行される請求項1に記載の方法。
  16. 対話型テレビジョン・システム内でリソース要求を処理する方法であって、
    アプリケーション・プログラムからリソース要求を受信するステップであって、前記要求が第1のプロトコルを使用し、前記アプリケーション・プログラムが対話型テレビジョン受信機上で実行されるステップと、
    インデクスをサーチして前記リソースがブロードキャスト・カルーセルから利用可能か否かを決定するステップであって、前記インデクスが前記ブロードキャスト・カルーセルから利用可能なリソースを示し、前記ブロードキャスト・カルーセルがブロードキャスト・パスを介して前記対話型テレビジョン受信機に周期的に送信されるステップと、
    前記リソースがブロードキャスト・カルーセル内で利用可能でないと判定するステップと、
    コンテンツ・ホストにポイントツーポイント・パスを介して前記リソースを要求するステップと、
    前記コンテンツ・ホストから前記ポイントツーポイント・パスを介して前記リソースを受信するステップと、
    前記リソースを前記アプリケーション・プログラムに供給するステップとを含む方法。
  17. 中央処理装置に請求項16に記載の方法を実行させる命令を内部に記憶したコンピュータ可読媒体。
  18. 前記ポイントツーポイント・パスを介して前記リソースを取得するステップが、
    第2のプロトコルを用いて前記ポイントツーポイント・パスを介して前記リソースを要求するステップを含む請求項16に記載の方法。
  19. 前記第1のプロトコルがURIまたはURLを用いて前記リソースを識別する請求項16に記載の方法。
  20. 前記第2のプロトコルがURIまたはURLを用いて前記リソースを識別する請求項18に記載の方法。
  21. コンテンツ・ホストがリソースの複数の異なる表現を記憶し、前記ポイントツーポイント・パスを介して前記コンテンツ・ホストから前記リソースを要求するステップが、
    前記コンテンツ・ホストとコンテンツ・ネゴシエーションを実行して前記複数の表現の1つを選択するステップを含む請求項16に記載の方法。
  22. 前記対話型テレビジョン受信機がセットトップ・ボックスまたはゲーム・コンソールである請求項16に記載の方法。
  23. プロセッサと、
    データ記憶媒体と、
    前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なアプリケーション・プログラムと、
    前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なカルーセル・インターフェース論理と、ブロードキャスト・パスを介して送信されたブロードキャスト・サーバからのカルーセルと、
    (i)前記アプリケーション・プログラムからの第1のプロトコルを使用するリソース要求を受信し、(ii)前記リソースが前記カルーセル内で利用可能か否かを判定し、(iii)前記リソースが前記カルーセル内で利用可能な場合に前記カルーセルから前記リソースを取得し、(iv)前記リソースが前記カルーセル内で利用可能でない場合に第2のフォーマットを用いてポイントツーポイント・パスから前記リソースを取得し、(v)前記リソースを前記アプリケーション・プログラムに供給するために、前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なインターフェース・モジュール論理とを含む対話型テレビジョン受信機。
  24. (i)前記リソース内に少なくとも1つのリンクを決定し、(ii)前記少なくとも1つのリンクが示すデータを検索し、(iii)前記データを前記データ記憶媒体に記憶するために、前記データ記憶媒体に記憶され、かつ前記プロセッサによって実行可能なプリフェッチする論理をさらに含む請求項23に記載の対話型テレビジョン受信機。
  25. 対話型テレビジョン受信機にリソースを同報通信する方法であって、
    サービス・プロバイダから複数のリソースを含むサービスを取得するステップと、
    ブロードキャスト・パスを介して前記対話型テレビジョン受信機に送信する前記複数のリソースの少なくとも1つを示すブロードキャスト・ポリシーを前記サービス・プロバイダから取得するステップと、
    前記複数のリソースの少なくとも1つを含み、かつ前記カルーセルに含まれるリソースを識別するカルーセル・ディレクトリを含むカルーセルを作成するステップと、
    前記ブロードキャスト・パスを介して前記対話型テレビジョン受信機に前記カルーセルを同報通信するステップとを含む方法。
  26. 中央処理装置に請求項25に記載の方法を実行させる命令を内部に記憶したコンピュータ可読媒体。
  27. カルーセルを作成するステップが、
    前記サービス・プロバイダと前記対話型テレビジョン受信機との間でコンテンツ・ネゴシエーションを実行するステップを含む請求項25に記載の方法。
  28. コンテンツ・ネゴシエーションを実行するステップが、
    前記サービス内の前記リソースの少なくとも1つについて利用可能なフォーマットを決定するステップと、
    前記対話型テレビジョン受信機内の少なくとも1つのアプリケーション・プログラムによってサポートされるフォーマットを決定するステップと、
    前記カルーセル内で使用する前記少なくとも1つのリソースについて利用可能なフォーマットの1つを選択するステップとを含む請求項25に記載の方法。
  29. ブロードキャスト・ポリシーを取得するステップが、
    前記サービス・プロバイダからチャネル定義ファイルを受信するステップを含む請求項25に記載の方法。
  30. 前記カルーセル内のリソースが満了したことを判定するステップと、
    前記満了したリソースを前記カルーセルから取り除くステップと、
    前記カルーセル・ディレクトリを更新するステップとをさらに含む請求項25に記載の方法。
  31. 前記カルーセル・ディレクトリを更新するステップが、
    前記カルーセル・ディレクトリの作成後の前記カルーセルの変更を示す補足カルーセル・ディレクトリを作成するステップを含む請求項30に記載の方法。
  32. 前記対話型テレビジョン受信機がセットトップ・ボックスまたはゲーム・コンソールである請求項25に記載の方法。
  33. プロセッサと、
    データ記憶媒体と、
    (i)サービス・プロバイダからサービスを受信し、(ii)前記サービス・プロバイダからリソースを受信するために、前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なサービス・プロバイダ・インターフェース論理と、
    (i)前記サービス・プロバイダからブロードキャスト・ポリシー情報を受信し、(ii)前記データ記憶媒体に記憶されたブロードキャスト・ポリシー情報を取り出し、(iii)ブロードキャスト・ポリシーを決定するために、前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なブロードキャスト・ポリシー決定論理と、
    (i)前記ブロードキャスト・ポリシーに基づいてカルーセル内に配置するリソースを決定し、(ii)前記カルーセル内に配置するリソースを取得し、(iii)前記カルーセル内の各リソースについてカルーセル・アドレスとURI識別子とのマッピングを実行するインデクスを作成し、(iv)前記カルーセルを構築するために、前記データ記憶媒体に記憶され、前記プロセッサによって実行可能なカルーセル構築論理と、
    前記データ記憶媒体に記憶され、前記プロセッサによって実行可能な、前記カルーセルを対話型テレビジョン受信機に同報通信するカルーセル・ブロードキャスト論理とを含む対話型テレビジョン・ブロードキャスト・サーバ。
  34. (i)前記カルーセル内に含まれるリソースの満了を判定し、(ii)前記カルーセルから前記リソースを取り除き、(iii)前記インデクスを更新するために、前記データ記憶媒体に記憶され、前記プロセッサによって実行可能な満了論理をさらに有する請求項30に記載の対話型テレビジョン・ブロードキャスト・サーバ。
JP2004538243A 2002-09-20 2003-09-18 ブロードキャスト・カルーセルによってhttpサーバをエミュレーションする方法とシステム Pending JP2006500826A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/251,603 US7065780B2 (en) 2002-09-20 2002-09-20 Method and system for emulating and HTTP server through a broadcast carousel
PCT/US2003/029513 WO2004028119A2 (en) 2002-09-20 2003-09-18 Method and system for emulating an http server through a broadcast carousel

Publications (1)

Publication Number Publication Date
JP2006500826A true JP2006500826A (ja) 2006-01-05

Family

ID=31992778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004538243A Pending JP2006500826A (ja) 2002-09-20 2003-09-18 ブロードキャスト・カルーセルによってhttpサーバをエミュレーションする方法とシステム

Country Status (7)

Country Link
US (2) US7065780B2 (ja)
EP (1) EP1550310B2 (ja)
JP (1) JP2006500826A (ja)
AT (1) ATE543276T1 (ja)
AU (1) AU2003272574B2 (ja)
ES (1) ES2379347T3 (ja)
WO (1) WO2004028119A2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016992B2 (en) * 2000-08-17 2006-03-21 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US8413205B2 (en) * 2001-09-19 2013-04-02 Tvworks, Llc System and method for construction, delivery and display of iTV content
US20040221319A1 (en) * 2002-12-06 2004-11-04 Ian Zenoni Application streamer
US7565677B1 (en) 2003-04-21 2009-07-21 Microsoft Corporation Method and apparatus for managing a data carousel
US7450600B2 (en) 2003-04-21 2008-11-11 Microsoft Corporation Method and apparatus for managing a data carousel
US7523145B2 (en) * 2004-04-22 2009-04-21 Opentv, Inc. System for managing data in a distributed computing system
KR100629434B1 (ko) * 2004-04-24 2006-09-27 한국전자통신연구원 음성/그래픽 입출력이 가능한 멀티모달 웹기반 데이터방송처리 장치 및 그 방법과 그를 이용한 멀티모달 웹기반데이터방송 수신 시스템 및 그 방법
US7590922B2 (en) * 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
WO2006031084A1 (en) * 2004-09-16 2006-03-23 Electronics And Telecommunications Research Institute System and method for providing personalized data broadcasting service, user terminal and method for using personalized data broadcasting service, and data beoadcasting application structure therefor
US8112548B2 (en) 2004-09-28 2012-02-07 Yahoo! Inc. Method for providing a clip for viewing at a remote device
US20060190981A1 (en) * 2004-10-07 2006-08-24 Visiware Carousel technology for interactive television
US20060168624A1 (en) * 2004-11-22 2006-07-27 John Carney Method and system for delivering enhanced TV content
US20060117355A1 (en) * 2004-11-29 2006-06-01 Vincent Dureau Pushing content in a two-way network
US20060184989A1 (en) * 2005-02-11 2006-08-17 Biap Systems, Inc. Interacting with Internet applications via a broadband network on electronic input/output devices
US8201205B2 (en) 2005-03-16 2012-06-12 Tvworks, Llc Upstream bandwidth management methods and apparatus
WO2006132383A1 (en) * 2005-06-06 2006-12-14 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
US20070110035A1 (en) * 2005-11-14 2007-05-17 Broadcom Corporation, A California Corporation Network nodes cooperatively routing traffic flow amongst wired and wireless networks
EP1798928A1 (en) * 2005-12-16 2007-06-20 Alcatel Lucent A packet based media delivery system with community channel manager
DE102006008471A1 (de) * 2006-02-23 2007-08-30 Siemens Ag Verfahren zum Übertragen einer Änderung eines statischen Objekts mit einem Änderungsobjekt in einem Datenverteildienst, sowie Sender und Empfänger
US8170584B2 (en) 2006-06-06 2012-05-01 Yahoo! Inc. Providing an actionable event in an intercepted text message for a mobile device based on customized user information
US7873703B2 (en) * 2006-06-30 2011-01-18 International Business Machines Corporation Method and apparatus for broadcasting information
JP2009541877A (ja) * 2006-06-30 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・オブジェクトを制御する方法、システム、装置、及びコンピュータ・プログラム(放送情報をキャッシュする方法及び装置)
DE102007026222A1 (de) * 2006-10-31 2008-05-08 Siemens Ag Verfahren zur Übertragung von Szene-daten in einem unidirektionalen Datenübertragungssystem
US8326997B2 (en) 2006-11-15 2012-12-04 Opentv, Inc. Data retrieval in a two-way network
EP2097862A4 (en) 2006-12-01 2011-11-09 Hsni Llc METHOD AND SYSTEM FOR INTERACTIVE TELEVISION PROCESSING
US7913920B2 (en) * 2006-12-20 2011-03-29 Palo Alto Research Center Incorporated Document processing devices, systems and methods thereof
FR2912027B1 (fr) * 2007-01-26 2009-04-10 Nptv Sa Unites de chargement pour la transmission de donnees multimedia sur un reseau de diffusion
US20090031341A1 (en) * 2007-07-24 2009-01-29 General Instrument Corporation Method and apparatus for reducing the number of control messages transmitted by a set top terminal in an sdv system
GB2452315B (en) * 2007-08-31 2012-06-06 Sony Corp A distribution network and method
US8316150B2 (en) * 2007-10-31 2012-11-20 Time Warner Cable Inc. System and method for remotely accessing cablecard
US10721533B2 (en) 2007-11-30 2020-07-21 Hsni, Llc Method and system for displaying and updating electronic information on a display device
US20100138875A1 (en) * 2007-11-30 2010-06-03 Johnson Gerard C Method and system for improved interactive television processing
US20110162023A1 (en) * 2009-12-30 2011-06-30 Marcus Kellerman Method and system for providing correlated advertisement for complete internet anywhere
US11323337B2 (en) 2011-09-27 2022-05-03 Comcast Cable Communications, Llc Resource measurement and management
US10142121B2 (en) 2011-12-07 2018-11-27 Comcast Cable Communications, Llc Providing synchronous content and supplemental experiences
US8875099B2 (en) * 2011-12-22 2014-10-28 International Business Machines Corporation Managing symbolic links in documentation
US9106557B2 (en) 2013-03-13 2015-08-11 Comcast Cable Communications, Llc Scheduled transmission of data
BR112017027861A2 (ja) * 2015-07-01 2018-11-06 Sony Corporation A sending set, a transmission method, a receiving set, and a receiving method
CN105578252A (zh) * 2015-12-20 2016-05-11 天脉聚源(北京)科技有限公司 一种互动电视系统的互动信息配置的方法及装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5615066B2 (ja) 1974-06-13 1981-04-08
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5805154A (en) * 1995-12-14 1998-09-08 Time Warner Entertainment Co. L.P. Integrated broadcast application with broadcast portion having option display for access to on demand portion
US6025837A (en) * 1996-03-29 2000-02-15 Micrsoft Corporation Electronic program guide with hyperlinks to target resources
US5929850A (en) 1996-07-01 1999-07-27 Thomson Consumer Electronices, Inc. Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
US5903816A (en) * 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
US6018764A (en) * 1996-12-10 2000-01-25 General Instrument Corporation Mapping uniform resource locators to broadcast addresses in a television signal
US6177930B1 (en) * 1997-03-28 2001-01-23 International Business Machines Corp. System and method for enabling a user to move between cyclically transmitted image streams
US6317885B1 (en) * 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
US6185585B1 (en) * 1997-12-16 2001-02-06 Corporate Media Partners System and method for distribution and navigation of internet content
US6538701B1 (en) * 1998-02-17 2003-03-25 Gemstar Development Corporation Simulated pip window in EPG
US6459427B1 (en) 1998-04-01 2002-10-01 Liberate Technologies Apparatus and method for web-casting over digital broadcast TV network
US6038319A (en) * 1998-05-29 2000-03-14 Opentv, Inc. Security model for sharing in interactive television applications
US6427238B1 (en) * 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
AU772187B2 (en) * 1998-07-29 2004-04-08 Liberate Technologies Digital TV system with synchronized world wide web content
US6675385B1 (en) * 1998-10-21 2004-01-06 Liberate Technologies HTML electronic program guide for an MPEG digital TV system
US6446262B1 (en) * 1998-10-26 2002-09-03 Two Way Tv Limited Broadcasting interactive applications
US6164975A (en) * 1998-12-11 2000-12-26 Marshall Weingarden Interactive instructional system using adaptive cognitive profiling
US20020091816A1 (en) * 1998-12-23 2002-07-11 Altan J. Stalker Broadcast data access system for multimedia clients in a broadcast network architecture
EP1024661A3 (en) 1999-01-27 2002-07-17 Hughes Electronics Corporation Pictographic electronic program guide
US6658661B1 (en) * 1999-03-29 2003-12-02 Hughes Electronics Corporation Carousel bit mask system and method
BR0009645A (pt) 1999-04-09 2002-01-15 Opentv Inc Gerenciamento de largura de banda em uma difusão hìbrida ponto a ponto
US6622004B1 (en) * 1999-06-07 2003-09-16 Matsushita Electric Industrial Co., Ltd. Data transceiving system and method
US6785902B1 (en) * 1999-12-20 2004-08-31 Webtv Networks, Inc. Document data structure and method for integrating broadcast television with web pages
US6539030B1 (en) * 2000-02-07 2003-03-25 Qualcomm Incorporated Method and apparatus for providing configurable layers and protocols in a communications system
EP1148730A3 (en) * 2000-03-31 2003-10-08 Matsushita Electric Industrial Co., Ltd. Data broadcast apparatus for controlling presentation timing of additional data with high precision
US6804708B1 (en) * 2000-06-29 2004-10-12 Scientific-Atlanta, Inc. Media-on-demand flexible and adaptive architecture
US20020138500A1 (en) * 2001-01-12 2002-09-26 General Instrument Corporation Virtual streaming in a carousel file system
CA2437346A1 (en) * 2001-02-02 2002-08-15 Opentv, Inc. A method and apparatus for the compilation of an interpretative language for interactive television
GB0111008D0 (en) * 2001-05-04 2001-06-27 Koninkl Philips Electronics Nv Recording of interactive applications
WO2003058967A1 (en) * 2001-12-28 2003-07-17 Pegasus Development Corporation Wideband direct-to-home broadcasting satellite communications system and method
US8028250B2 (en) * 2004-08-31 2011-09-27 Microsoft Corporation User interface having a carousel view for representing structured data

Also Published As

Publication number Publication date
EP1550310B1 (en) 2012-01-25
WO2004028119A2 (en) 2004-04-01
ES2379347T3 (es) 2012-04-25
AU2003272574B2 (en) 2008-01-10
EP1550310A2 (en) 2005-07-06
EP1550310A4 (en) 2010-04-07
ATE543276T1 (de) 2012-02-15
US20040205826A1 (en) 2004-10-14
AU2003272574A1 (en) 2004-04-08
EP1550310B2 (en) 2017-10-18
WO2004028119A3 (en) 2004-11-04
US20040060068A1 (en) 2004-03-25
US7065780B2 (en) 2006-06-20

Similar Documents

Publication Publication Date Title
JP2006500826A (ja) ブロードキャスト・カルーセルによってhttpサーバをエミュレーションする方法とシステム
JP6419173B2 (ja) プッシュメッセージ制御による適応型データストリーミング方法
KR100300494B1 (ko) 서버에서의 데이터 프리캐싱 방법 및 장치
US8521814B2 (en) Apparatus and method for managing user interface
US5838927A (en) Method and apparatus for compressing a continuous, indistinct data stream
CN103118295B (zh) 信息处理装置、信息处理方法、程序以及信息处理系统
US20070101061A1 (en) Customized content loading mechanism for portions of a web page in real time environments
US20100146415A1 (en) Dns prefetch
JP2016531466A5 (ja)
CN110933517B (zh) 码率切换方法、客户端和计算机可读存储介质
JP6328233B2 (ja) ウェブ・ページのロードを最適化するためのコンピュータ・プログラム製品、システム、および方法
JPH10247945A (ja) ユニフォーム・リソース・ロケータをテレビ信号内の放送アドレスへマッピングする方法及び装置
CN101952823B (zh) 用于媒体发现的方法
US20100174775A1 (en) Communication apparatus, communication method and computer-readable storage medium
US20110162025A1 (en) Method and system for providing dynamic time slice encoding for complete internet anywhere
US20090043874A1 (en) Method and System for Replacing Hyperlinks in a Webpage
JP2009541877A (ja) ウェブ・オブジェクトを制御する方法、システム、装置、及びコンピュータ・プログラム(放送情報をキャッシュする方法及び装置)
JP2011066916A (ja) 情報処理方法、ストレージ・デバイス、および記録媒体
CN104065678B (zh) 一种基于嵌入式浏览器的双模数据接收和访问方法
KR102611253B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
KR20030041856A (ko) 정보 전송 및 수집 방법과 정보 전송 시스템 및컴퓨터-사용가능 운송 매체
KR100925644B1 (ko) 오브젝트 전송 시스템 및 그 제어방법
KR20120016335A (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
CN116846881A (zh) 一种缓存库文件的更新方法及终端
KR100994004B1 (ko) 이동통신 단말기를 통한 웹페이지의 캐싱 시스템과 그 방법및 웹페이지의 캐싱 기능을 갖춘 이동통신 단말기

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080708

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110816