(57)【特許請求の範囲】
【請求項１】
ウェブサーバと通信されたマシンを提供する方法において、
ゲートウェイモジュールを含む第１ページを、ウェブブラウザ上に生成するステップと、
ネットワーク接続およびビデオプログラミングコンテンツのリクエストを受信するステップと、
前記ゲートウェイモジュールに接続されるのに適したプログラムを、前記ウェブブラウザ上の第２ページで開始するステップと、
前記リクエストに応答してコマンドを生成するステップであって、前記コマンドは、前記ゲートウェイモジュールに向けられて、前記プログラムと、前記ゲートウェイモジュールとの間のソケットを開放するところのステップと、
前記プログラムと、前記サーバと通信している前記ゲートウェイモジュールとの間のソケットを確立して、前記プログラムと前記サーバとの間のデータ接続を、前記ソケットおよび前記ゲートウェイモジュールを介して確立し、そして、前記プログラムと、前記ゲートウェイモジュールを介した前記サーバと間の開放的かつ持続的通信を確立するステップであって、前記ゲートウェイモジュールは、前記プログラムに特定のウェブサーバとして現れ、その結果、前記ゲートウェイモジュールが、前記プログラムのためのプロキシサーバとして作用し、これによって、前記プログラムにおいて生ずる少なくとも１つのセキュリティ制限を除去するところのステップと、
ビデオプログラムコンテンツと関連のある、１以上の時間値を含む追加のコンテンツを、前記データ接続を通して検索するステップと、
前記追加のコンテンツのプレゼンテーションを、前記１以上の時間値に基づいて、前記ビデオプログラムコンテンツにおける、１つ以上の所定のビデオフレーム、または、１つ以上の所定の時間に同期させるステップと
を有する方法。
【請求項２】
確立ステップは、前記第１ページに、ローカルウェブサーバ機能を提供することを含む請求項１に記載の方法。
【請求項３】
受信ステップは、ネットワークコンテンツのためのリクエストを受信することを含む請求項１に記載の方法。
【請求項４】
接続の確立に使用するために、ネットワークからネットワークコンテンツをダウンロードするステップをさらに含む請求項１に記載の方法。
【請求項５】
受信ステップは、アプレットからリクエストを受信することを含む請求項１に記載の方法。
【請求項６】
生成ステップは、前記ソケットのアドレスを提供することを含む請求項１に記載の方法。
【請求項７】
ローカル接続ソケットからの切断を検出するステップをさらに有する請求項１に記載の方法。
【請求項８】
ネットワーク通信のための特定のユーザインタフェースを与えるために使用する特定のコンテンツを取得するステップをさらに有する請求項１に記載の方法。
【請求項９】
ウェブサーバと通信されたマシンを提供する装置において、
ネットワーク接続のためのリクエストを受信するための受信モジュール、および、
サーバとのゲートウェイ接続を確立し、そして、マシン内における通信を容易にするための接続モジュール
を有する第１モジュールと、
ビデオプログラムコンテンツ、および、前記ビデオプログラムコンテンツと関連のある追加のコンテンツを提供して、前記追加のコンテンツのプレゼンテーションを、前記追加のコンテンツに含まれた時間値に基づいて、前記ビデオプログラムコンテンツにおける、１つ以上の所定のビデオフレーム、または、１つ以上の所定の時間に同期させるのに適した第２モジュールと、
を備え、
前記リクエストを受信するときに、前記第１モジュールが、前記リクエストを前記第２モジュールに通信し、前記第２モジュールは、前記マシンと、前記接続モジュールとの間のソケットを開放するための、前記接続モジュールに向けられたコマンドを生成し、前記第１モジュールは、前記サーバと通信して、前記マシンと、前記第１モジュールを介した前記サーバとの間の開放的かつ持続的通信を確立し、その結果、前記第１モジュールが、前記マシンのためのプロキシサーバとして作用し、前記第１モジュールは、前記マシンに特定のウェブサーバとして現れ、これによって、前記第２モジュールの少なくとも１つのセキュリティ制限を除去することを特徴とする装置。
【請求項１０】
前記接続モジュールは、ローカルウェブサーバ機能を提供するためのモジュールを有する請求項９に記載の装置。
【請求項１１】
前記受信モジュールは、ネットワークコンテンツを受信するためのモジュールを有する請求項９に記載の装置。
【請求項１２】
前記接続モジュールは、通信のためのソケットを提供するためのモジュールを有する請求項９に記載の装置。
【請求項１３】
前記受信モジュールは、ウェブブラウザからウェブページのリクエストを受信するためのモジュールを有する請求項９に記載の装置。
【請求項１４】
接続の確立に使用するために、ネットワークからネットワークコンテンツをダウンロードするための第３モジュールをさらに有する請求項９に記載の装置。
【請求項１５】
前記受信モジュールは、アプレットからリクエストを受信するためのモジュールを有する請求項９に記載の装置。
【請求項１６】
ゲートウェイ接続からの切断を検出するためのモジュールをさらに有する請求項９に記載の装置。
【請求項１７】
ネットワーク通信のための特定のユーザインタフェースを与えるために使用する特定のコンテンツを取得するためのモジュールをさらに有する請求項９に記載の装置。
【請求項１８】
ネットワークサーバへ接続する方法において、
ネットワークサーバと通信中のウェブブラウザを有するユーザマシンにhtmlページをロードするステップと、
htmlページによりプラグインモジュールを開始するステップと、
前記ネットワークサーバと通信しているゲートウェイモジュールを、前記プラグインモジュールにより実装するステップと、
前記ゲートウェイモジュールと、前記ウェブブラウザにロードされたアプレットとの間のＴＣＰ／ＩＰソケット接続を、前記アプレットからのリクエストに応答して、開放して、前記アプレットと、前記ゲートウェイモジュールを介した前記ネットワークサーバとの間の開放的かつ持続的通信を確立するステップと、
前記アプレットに対する前記ゲートウェイモジュールにおいて、ウェブサーバをエミュレートするステップであって、前記ゲートウェイモジュールは、前記アプレットにウェブサーバとして現れるところのステップと、
を有する方法。
【請求項１９】
ユーザマシン中のコンピュータシステムを制御してユーザマシンとネットワークサーバの間の通信のためのローカルホストを実施する指示を含むコンピュータ読み取り可能な媒体において、
ネットワークサーバと通信中のウェブサーバによりユーザマシン上にhtmlページをロードし、
htmlページによりプラグインモジュールを開始し、
前記ネットワークサーバと通信しているゲートウェイモジュールを、前記プラグインモジュールにより実装し、
前記ゲートウェイモジュールと、前記ウェブブラウザにロードされたアプレットとの間のＴＣＰ／ＩＰソケット接続を、前記アプレットからのリクエストに応答して、開放して、前記アプレットと、前記ゲートウェイモジュールを介した前記ネットワークサーバとの間の開放的かつ持続的通信を確立する媒体。
【請求項２０】
前記ウェブブラウザ上に第１ページを生成するステップは、ローカルホストウェブサーバとして作用するのに適したプラグインを開始することを含む請求項１に記載の方法。
【請求項２１】
前記コマンドが、前記プログラムによって生成される請求項２０に記載の方法。
【請求項２２】
前記プラグインは、前記プログラムからのコマンドを受信し、そして、前記コマンドをサーバに供給するのに更に適している請求項２１に記載の方法。
【請求項２３】
前記ソケットからの切断を検出するステップをさらに含む請求項２０に記載の方法。
【請求項２４】
前記切断が、前記プラグインによって検出され、そして、前記プログラムによる切断時に、前記ソケットを除去するステップを更に含む請求項２３に記載の方法。
【請求項２５】
前記プラグインを介してスキンにアクセスして、ブランド付けされたユーザインタフェースを提供するステップをさらに含む請求項２０に記載の方法。
【請求項２６】
前記スキンを、分散コミュニティネットワークを介して前記プラグインに分散するステップを更に含む請求項２５に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークアドレスをユーザマシンへ配布することによるネットワーク通信方法及び装置に関する。
【０００２】
【従来の技術】
コンピュータは、インターネットで多量の教育情報や娯楽情報を提供する機能を有している。現在のところ、オンラインシステムは様々なサービスをユーザに提供しているが、その中にはニュース供給、電子データベース（オンラインシステム上で直接的にユーザによってサーチ可能なものであれ、ユーザ自身のコンピュータにダウンロード可能なものであれ）、プライベートメッセージサービス、電子ニュースレター、一時に複数のユーザがプレイするリアルタイムゲーム、少数を指名するためのジョブ配置サービスなどがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、現在、ほとんどのオンライン通信は単にテキストで行われている。これは、代替的電子メディアであるテレビによるオーディオ／ビジュアル表現とは対照的である。しかしながら、マルチメディアの絶え間ない成長が続くに連れて、オーディオ／ビジュアルプログラムが広まり、テキストはオンライン環境ではますます劣勢になるものと予想される。
【０００４】
これらのプログラムが導入されたとしても、インターネットはその非常な多量性、編成及びランダム性によって実質的にユーザに不親切な存在として留まるだろう。簡単に言えば、インターネットにはなんら秩序も方向性もない。特定の情報を見つけるのは困難であり、そのような情報を意味ある環境に置くのはさらに困難である。
【０００５】
一方、テレビは受動的なメディアであると批評されてきた。対話型テレビシステムによってユーザとの対話性のレベルが増大し、学習と娯楽の機会が増したとはいえ、データベースなどの莫大な情報リソースはこのようなメディアからはアクセス不可能である。
【０００６】
【課題を解決するための手段】
本発明はビデオプログラミングとインターネットが有する莫大な情報リソースと間のギャップを無くそうとするものである。
【０００７】
本発明の第１の観点によれば、サーバとのネットワーク通信をマシンに提供する方法が提供され、その方法は、
ネットワーク接続のリクエストを受信し、
リクエストに応答してローカル接続への参照を生成し、
ローカル接続での通信を検出し、
検出に応答し、マシンとのネットワーク通信を容易にするためにローカル接続との接続を確立する。
【０００８】
実施例では、ローカルウェブサーバ機能は、ローカル接続で提供される。
【０００９】
好ましくは、受信ステップは、ネットワークコンテンツ、及び／又はウェブブラウザからのウェブページのリクエスト、及び／又はアプレットからのリクエストを受信することを含む。
【００１０】
本発明は、サーバとのネットワーク通信をマシンに提供する装置に拡張することができ、その装置は、
ネットワーク接続のリクエストを受信する受信手段と、
リクエストに応答してローカル接続への参照を生成する生成手段と、
ローカル接続での通信を検出する検出手段と、
検出に応答し、マシンとのネットワーク通信を容易にするためにローカル接続との接続を確立する接続手段と、を有する。
【００１１】
実施例では、受信手段は、ネットワークコンテンツ、及び／又はウェブブラウザからのウェブページのリクエスト、及び／又はアプレットからのリクエストを受信するように構成される。
【００１２】
実施例では、その装置は、ローカル接続で通信を検出する検出手段をさらに有し、その検出手段はローカル接続とのソケットを開放するために使用する情報を受信するように構成することができる。
【００１３】
本発明のさらなる観点によれば、アドレスに関連するコンテンツの取得に使用するために、ネットワークアドレスをユーザマシンへ分配する方法が提供され、その方法は、
特定のコンテンツのネットワーク位置を識別する複数のネットワークアドレスを受信し、
各ネットワークアドレスに関連する時間パラメータの時関値を受信し、
各対応する時間値に基づいてユーザへ各ネットワークアドレスを送信する。
【００１４】
また、本発明は、アドレスに関連するコンテンツの取得に使用するために、ネットワークアドレスをユーザマシンへ分配する装置にまで拡張可能であり、その装置は、
特定のコンテンツのネットワーク位置を識別する複数のネットワークアドレスを受信する受信手段と、
各ネットワークアドレスに関連する時間パラメータの時関値を受信する手段と、
各対応する時間値に基づいてユーザへ各ネットワークアドレスを送信する送信手段と、を有する。
【００１５】
本発明のさらなる観点によれば、アドレスに関連するコンテンツの取得に使用するために、ダイナミックネットワークアドレスをユーザマシンへ分配する方法が提供され、その方法は、
変数を含むネットワークアドレスを受信し、そのネットワークアドレスは変数に基づいて特定のコンテンツのネットワーク位置の変更を識別し、
ネットワークアドレスについて、関連する記述を受信し、
ネットワークアドレスの意図された受領者に関する情報に基づいて、ネットワークアドレス中の変数を解析し、
意図された受領者に対応するユーザマシンへ、関連する記述とともにネットワークアドレスを送信する。
【００１６】
また、本発明は、アドレスに関連するコンテンツの取得に使用するために、ダイナミックネットワークアドレスをユーザマシンへ分配する装置にまで拡張可能であり、その装置は、
変数を含むネットワークアドレスを受信する受信手段であって、そのネットワークアドレスは変数に基づいて特定のコンテンツのネットワーク位置の変更を識別し、またネットワークアドレスについて、関連する記述を受信する受信手段と、
ネットワークアドレスの意図された受領者に関する情報に基づいて、ネットワークアドレス中の変数を解析する解析手段と、
意図された受領者に対応するユーザマシンへ、関連する記述とともにネットワークアドレスを送信する送信手段と、を有する。
【００１７】
【発明の実施の形態】
本発明の実施形態を以下に添付図面を参照して例示目的で説明する。
【００１８】
図１は、ユーザのコンピュータ１６をインターネット２０上のアドレスロケーション、すなわちウェブサイトに導いて関連するウェブページを検索させる埋め込みユニフォームリソースロケータ（ＵＲＬ）とともに、ビデオプログラムを受信するためのコンピュータベースのシステムの実施形態を表す。ウェブページはビデオの表示に対応する。特定のビデオプログラミングは、衛星、ケーブル、電線、テレビ放送、又はウェブ経由の通信を含むあらゆる送信手段を経由して、アナログ、ディジタル又はディジタル圧縮されたフォーマット（例えば、ＭＰＥＧ２）で送出することができる。
【００１９】
ビデオプログラミングは、加入者への分配のために、集合されたロケーションで、例えば図１のコンテンツ生成物４として生成されるのが好ましい。プログラムの生成は適切なあらゆる手段によって遂行することができる。ビデオプログラムが生成された後、ユニフォームリソースロケータ（ＵＲＬ）が埋め込まれる。１つの実施形態では、ＵＲＬは図１に示されるＵＲＬエンコーダ８によってビデオプログラミングの垂直帰線消去期間内に埋め込まれる。この実施形態では、ＵＲＬはＶＢＩのライン２１の８つのフィールド上に符号化される。ライン２１はとりわけ近接字幕説明（close captioning）に関連したラインである。しかしながらＵＲＬはさらに及び／又は代りに、ＶＢＩの他のフィールド内に、ビデオの水平部分内に、オーディオチャネルの１部としてビデオのいずれかのサブキャリヤ内に、又はビデオがディジタルである場合は１つのデータフィールド内に埋め込むこともできる。
【００２０】
図１は、同一の送信ラインによるＵＲＬを伴うビデオの放送を示しているが、ＵＲＬはデータチャネル上でビデオプログラムとは独立に送出してもよい。この実施形態では、ＵＲＬは、初期化に先立って又はプログラムの間に遠隔サイトに転送することができる。好ましくはＵＲＬは、ビデオプログラム中に、それによってアドレス指定される特定のウェブページをいつ表示するかを加入者局に指示する関連するタイムスタンプを有する。その代りにユーザはビデオプログラムと一緒に表示する特定のウェブページをいつ呼び出すかを選択することができる。
【００２１】
ライン２１内の特定の情報はプログラムの可視部分の１部ではなく、従って人間の目に知覚できないので、データ情報のユーザへの送出には理想的である。ライン２１の帯域幅の容量は制限されているけれども、上記システムは完全なウェブページではなくＵＲＬだけを送信するので、十分な容量がある。さらに、ビデオを受信し、ウェブページを検索するためにコンピュータ１６にハードウェアを追加する必要はない。
【００２２】
一旦ビデオプログラムが生成されれば、それは放送、ケーブル、衛星又はインターネットを含むあらゆる送信手段によってユーザサイトに送信され、ビデオサーバ上に常駐することができる。さらに埋め込みＵＲＬを持ち又は持たないビデオプログラムは、例えばＶＨＳ又はＢｅｔａフォーマットのビデオテープ、又はＣＤ又はＤＶＤなどの光ディスク、もしくは他のあらゆるメディア等の記憶手段上に符号化されうる。
【００２３】
好ましくは、各受信局は、インテルのｘ８６マシン（４８６プロセッサ、ペンティアムプロセッサ等が好ましい）、アップルコンピュータ、ＵＮＩＸ又は他の全てのタイプの標準的コンピュータワークステーションを含む。好ましくはローカルコンピュータ１６は、ケーブル及び／又は放送テレビへ、もしくはローカルＶＣＲ又は他のビデオソースへ接続される。各加入者サイトにおいて、ローカルパーソナルコンピュータ１６は好ましくはその背面へのケーブル接続によってケーブル送信を受信する。ビデオ／オーディオプログラムは、ＰＡＬ又はＮＴＳＣ等の適切なテレビフォーマットでコンピュータのモニタ上にビデオ信号を表示可能なＰＣカードを用いてコンピュータ画面上に表示するように処理される。ＰＣカードの１つの例はＷｉｎＴＶカードである。ケーブル接続に加えて、インターネット２０の接続がケーブル接続と同時に作られる。
【００２４】
インターネット２０の接続は、高速ライン、無線周波数、従来型モデムによって、又はビデオプログラミングを搬送する双方向ケーブルによって行われうる。ローカルＰＣ１６は、例えばＡＳＣＩＩのソフトウェア機構によってインターネットにアクセスする。ある実施形態では、各加入者サイトにおいて、関連するローカルＵＲＬデコーダ１２は好ましくは垂直帰線消去期間内に埋め込まれたＵＲＬを適切なＶＢＩデコーダデバイスを用いて抽出する。ＵＲＬデコーダ１２は、スタンドアローンユニットでも、パーソナルコンピュータ１６内に実装されたカードでもよい。
【００２５】
図２の実施形態では、ユニフォームリソースロケータ（ＵＲＬ）が上述のようにビデオに符号化される。ＵＲＬはやはりＶＢＩのライン２１の８つのフィールド上に符号化されるのが好ましいが、ビデオとは独立して送出されてもよい。この実施形態では、ＵＲＬデコーダ２４は、加入者のロケーションにではなくてサーバサイトに配置される。デコーダ２４はビデオプログラム信号を受信すると、ＶＢＩのライン２１上のＵＲＬコードを取り出し、これらのコードを独立にインターネットサーバ２８に送出する。それからＵＲＬコードは引き続いてインターネット２０を通じてユーザのＰＣ１６に送出される。同時にビデオは、従来の放送又はケーブル送信手段３６によってユーザのパーソナルコンピュータ１６に放送される。
【００２６】
図４に示す変更例はＶＢＩを用いない。この実施形態では、システムはインターネット２０を通じてオンラインサービスを実行する。このサービスは、データベース７８及び１つ以上の関連するデータサーバ９０へのユーザインタフェースを提供するインターネットウェブサイト６２の形態を取る。このサービスは、放送との関連において上述のシステムを使用するためにサインアップしたＴＶ放送者６６へのメンバーアカウントを提供する。各メンバー放送者は、様々な識別及びパスワード情報を入力することにより彼らのメンバーアカウントを使用して、ウェブブラウザソフトウェア７４を通じて彼らのコンピュータ７０でサービスに入る。一旦アカウント内に入れば、メンバーには、一日の特定の時間に直接インターネット接続９４を通じてユーザ１１８に送信するＵＲＬの予備スケジューリングのためのグラフィカルユーザインタフェースが提供される。同じユーザインタフェース又はその変形を放送者が使用することによって、ユーザへのＵＲＬのライブ送信８２が放送８６と同時に行われる。
【００２７】
このインタフェースの１つの例は、（日、週、月、年の）スケジューリングカレンダーであり、そこで放送者６６は、彼らの放送８６に一致する時間帯を割り当て、その間に彼らのユーザにＵＲＬを送出してウェブページにリンクさせる。放送者６６によって放送時間帯（そのとき彼らのＴＶ放送設備１１０からユーザ１１８の外部ＴＶ１１４に放送されているテレビショーに対応するＵＲＬを送信したいと彼らが望む時間帯）と決定された各時間帯（例えば、１日の中の特定の何時間という期間）の間、放送者６６はその時にインターネット２０により送信する関連ファイル（“リンクファイル”）に１連のＵＲＬを入れる。このリンクファイルはスプレッドシート、表、又はリスト等のユーザインタフェースを有してもよく、単にタブ又はパラグラフにより区切られたテキストファイルであってもよい。１例として、リンクファイル内の各レコードは、次の情報を含むデータ構造からなっている：
【００２８】
（＜タイムコード＞、＜ＵＲＬ＞、＜ラベル又はタイトル＞、＜追加情報＞、＜追加情報＞、…）
【００２９】
上記のデータ構造は単に１つの例にすぎない。リンクファイル内のレコードは、放送者６６がショーの間に送出することを望む各ウェブページについての時間、インターネットアドレス（すなわち、ＵＲＬ）、ラベル（例えば関連する名前）及びいくつかの選択的追加情報が明記されることが好ましい。
【００３０】
放送者６６が彼らのカレンダー及び／又はその中のどれか所定の時間帯に関連するリンクファイルを変更する場合、この情報は、サイト６２に置かれているデータベース７８内に保存される。各放送者６６が例えば異なる時間帯に放送する場合は、彼らはデータベース７８内に複数のカレンダーを保持することができる。
【００３１】
データベース７８は近づきつつある時間のためのリンクファイルのレコードをサーバ９０へ提供して国内又は世界の多数の聴衆に対応するために使用し、そのサーバ９０は１つのサーバであってもよく、ネットワークを通じた複数のコンピュータ上のサーバプログラムの分散型ネットワークであってもよい。サーバ９０は、ＵＲＬを含むリンクファイルレコードをネットワークを介して接続されたユーザのパーソナルコンピュータ１６に提供する。可能なネットワークの例は、公共のインターネット９４、直接的プライベートネットワーク、又は無線ネットワークさえも含む。
【００３２】
図４に示される実施形態の１つの特徴は、複数の放送者６６が彼ら自身の放送８６のために又は同じ放送のあいだに、データベース７８内の同じスケジュールを利用できるということである。例えば、ネットワーク放送者がマスタースケジュールを発展させ、様々な加入放送者がそのスケジュールに加入し又は（データベース内の）それをコピーして、彼らのローカルな聴衆又は固有のプログラミングのためにスケジュール内の特定のＵＲＬを追加したり削除したりできるようになる。このスキームによって加入者は、それらのネットワーク放送者６６により与えられたより一般的な１連のＵＲＬ内に、ローカルな広告主又はローカルな主題のためのＵＲＬを挿入することができるようになる。言い換えれば、加入者はネットワーク供給物上に乗るリンクを追加して、それを彼らのローカルな聴衆に再分配することができるようになる。
【００３３】
また、図４のシステムは、各ユーザ固有のプロフィールに特有の１連の固有なＵＲＬという形態の個人化を可能とし、これらのＵＲＬはインターネット２０を通じて各ユーザの固有のクライアントソフトウェア１０６に直接送信される。これは放送者６６から各個人ユーザ１１８へ、又はユーザの特定の集合へと実行されうる。個人化を達成するために、サービスはＵＲＬの異なるストリームを各ユーザのクライアントソフトウェアプログラム１０６へ送出する。送出されるＵＲＬのストリームは、データベース７８又はクライアントソフトウェアプログラム１０６内に記憶されているユーザプロフィールによって決まり、ユーザのロケーション、クライアントソフトウェアプログラム１０６の使用中にユーザが行う選択、放送８６中に放送者６６が行う選択、又は（フィルタ等の）アルゴリズムによって行われる自動的な選択等の判断基準に基づき、各ユーザ１１８の要求に応じて又は時間の経過とともに形成されるユーザプロフィールはサービス６２上に常駐する。個人化によって各ユーザはシステム内での彼らの関心、人口統計、履歴又は行動に一意的に関連するＵＲＬを受け取ることが可能となる。
【００３４】
ＵＲＬがパーソナルコンピュータ１６に達した後は、図１、２及び４に示される全てのシステムの動作は類似したものになる。
【００３５】
１つの実施形態では、特殊化されたソフトウェア１０６とともにＪＡＶＡ可能ブラウザ９８がコンピュータ１６にインストールされる。ＪＡＶＡ可能ブラウザ９８はコンピュータ１６がウェブページ１０２を検索するのを可能にする現在の好適なソフトウェアであり、プラットフォームから独立しており、従ってインターネット２０を通じたプログラムや画像等の効率的かつ柔軟な送信を可能にする。特殊化されたインタフェースソフトウェア１０６（以後“クライアントソフトウェア”）は、ビデオプログラミングとインターネット機能との間のインタフェースとして動作する。クライアントソフトウェア１０６はビデオプログラム（図１の実施形態）から又は直接インターネット接続（図２の実施形態）からＵＲＬを検索し、これらのＵＲＬを解釈して、ＪＡＶＡ可能ブラウザ９８に特定の関連するウェブページ１０２を検索させる。また、図３及び４に示され、後により詳細に説明するように、クライアントソフトウェア１０６はユーザのコンピュータ１６上への表示のためにウェブページと、ビデオコンテンツとを同期させる。
【００３６】
上述のように、ＵＲＬは垂直帰線消去期間（ＶＢＩ）内に挿入することによって、符号化しビデオ信号内に埋め込むことができる。
【００３７】
その代りに、ＵＲＬをメンバーのＴＶ放送者６６によって、ユーザへのＵＲＬ送信の規定時間とともに入力してもよい。適切な時間に、ＵＲＬはインターネットを通じて、直接固定接続又はマルチキャスティング接続によってクライアントソフトウェア１０６を介してユーザのＰＣ１６に直接送出される。
【００３８】
システムは直接的に次々と送出される同じＵＲＬを検出して、ブラウザがこれらの特定の場合にＵＲＬを取り出さないようにさせる機能をもつことができる。図３に示すように、一旦ＵＲＬコードがコンピュータに受信されると、クライアントソフトウェア１０６はまずＵＲＬを解釈し、特定のＵＲＬがそれ以前に受信されたかどうかをステップ４２で判断する。それが既に受信されていた場合、先行する受信の決定のために、次に受信されたＵＲＬが解釈される。特定のＵＲＬがそれ以前に検出されていない場合は、ソフトウェアはステップ４６でミススペル及び他の全ての誤りをチェックし、誤りがあればこれらの特定の誤りを修正する。ＵＲＬがそれ以前に検出されたかどうかが再度判断される。検出されていれば、次のＵＲＬがステップ３８でアクセスされる。ＵＲＬが検出されていない場合は、ステップ５４で特定のＵＲＬがＵＲＬリストに追加される。その特定のＵＲＬはウェブブラウザ、好ましくはＪＡＶＡ可能ブラウザ９８に送られる。ＵＲＬを受け取ると、ステップ５８でブラウザ９８はそのＵＲＬによって示されるウェブサイトのアドレス１２２（図４）にアクセスして、示されたウェブページ１０２をインターネットを通じて取り出す。
【００３９】
視聴者は統合された表示を次のような方法で見ることができる。前述したようにビデオ信号は処理され、例えばＷｉｎＴＶカードを用いてＰＣ画面上のビデオウィンドウ上に表示される。対応するオーディオはオーディオカードに転送されてＰＣのスピーカに送られる。
【００４０】
ＵＲＬによって参照される検索されたウェブページ１０２は、所定の関連ビデオコンテンツがビデオウィンドウ内に表示されるときにタイムスタンプされてコンピュータ画面上に表示され、こうしてそのビデオコンテンツに関連する詳細な情報を提供することによってビデオの表示を高度化することができる。画面上の別の部分をさらに用いて操作制御パネルを表示するのが好ましい。この制御パネルは、放送され、それに応じてコンピュータ１６によって受信されたＵＲＬのリストを提供する。この制御パネルは、新たなＵＲＬコードがＰＣ１６によって受信される度に更新されてＵＲＬコードを追加する。このリストによって加入者は、プログラム中をさかのぼり、以前に表示された特に参考になり又は興味を引くウェブページを取り出し、又は後日参照するためにそれらをプリントアウトすることが可能となる。さらにリストは、放送プログラムとともに表示はされないが、視聴者にとって興味を引く特定の話題に関するさらなる情報を提供するウェブページを参照するＵＲＬを含んでもよい。
【００４１】
一例として、視聴者はあるバンドを主役にしたミュージカルビデオを見始めるかもしれない。ビデオがＰＣ１６によって受信される際に、ＵＲＬはビデオ信号とともに受信されるか、又はインターネット２０又は別のデータチャネルを通じて直接受信され、クライアントソフトウェア１０６によって解釈される。指示及びコマンドにより、ＪＡＶＡ可能ブラウザ９８はＵＲＬで特定されるインターネット２０のウェブサイトから特定のウェブページ１０２を検索する。それからこれらのウェブページ１０２は特定の時間にビデオ画面上に表示される。従って例えば、視聴者がミュージックビデオを見ているあいだ、そのバンドの伝記的情報をビデオウィンドウの隣に表示することが可能となる。また、ウェブページ１０２は、来るべきコンサートのスケジュールを含むことができ、及び／又はそのバンドの音楽のオーディオクリップをインターネット２０からダウンロードすることができる。
【００４２】
別の例として、ユーザは金融ニュースに関連するプログラムを見ているかもしれない。ナレーターがハイテク株について話しているあいだに、ハイテク株についの詳細な金融実績情報、環境及び特徴に対応するウェブページを映像とともににコンピュータ画面上に表示することができる。個人化の機能が備わっていれば、特定のユーザの株に関連したウェブページを取り出して来てそれをコンピュータ画面上にビデオプログラムとともに表示することができる。プログラムのナレーターがダウ・ジョーンズの週間実績についての議論に切り替えれば、関連する金融実績情報を表示するウェブページを同時に表示することができる。
【００４３】
パーソナルコンピュータ１６の表示画面と連動するテレビ装置１１４又は他の表示モニターを用いて、ユーザは対話型プログラムを見ることができる。この場合、ビデオプログラムがテレビモニター１１４上に表示されているあいだ、関連するウェブページはパーソナルコンピュータ１６上に表示される。この代替例の場合、ケーブルのセットトップボックスはマルチチャネルケーブルからテレビプログラムを受信する。パーソナルコンピュータ１６はさらに、マルチチャネルケーブルからビデオプログラムを受信して、ビデオ信号の垂直帰線消去期間内に埋め込まれた、又はインターネット２０を通じて直接送信９４されたＵＲＬを抽出する。クライアントソフトウェア１０６はＵＲＬを抽出して、上述のように特定のウェブページを検索する。それからウェブページは特定のビデオフレームと同期されてユーザに表示される。ユーザがクライアントソフトウェアを自動的にロードし、ウェブサイトに載っている特定のテレビチャネルを呼び出すことを可能にするハイパーリンクがウェブサイト上に存在することが理解される。例えばインターネット２０を閲覧している誰かが主要テレビネットワークのウェブサイトを訪れるかもしれない。そして関心のある物語をスクロールし、それからハイパーリンクをクリックしてテレビウィンドウをネットワークに合わせるソフトウェアを起動させることができる。
【００４４】
埋め込みＵＲＬを持ち又は持たないビデオプログラムが適切な手段上に保存されていれば、送信手段からビデオプログラムを受信する代りに、ビデオプログラムをユーザサイトから直接アドレス指定することができる。記憶手段は、ＶＨＳ又はＢｅｔａ等のあらゆるフォーマットのビデオテープ、もしくはＤＶＤ又はＣＤ−ＲＯＭ等のあらゆるフォーマットの光ディスクとすることができる。この場合ユーザのＰＣ１６及び／又はテレビ１１４は、ビデオテーププレイヤー、ディスクドライブ又は他の適切な装置に接続される。
【００４５】
図５と図６は、使用可能なシステムの２つの代替例を示す。図５に示すように、ユーザはディジタルケーブルボックス１４０と関連しているテレビ装置１８又は他の表示モニターを用いて対話型プログラムを見ることができる。この場合、ディジタルケーブルボックス１４０は図１、２、４のパーソナルコンピュータ１６の機能を実行し、クライアントソフトウェアがディジタルケーブルボックス１４０内のメモリに記憶されている。１つの実施形態では、ディジタルケーブルボックス１４０は２つのチューナーを備えており、従ってウェブページとビデオプログラムの両方を同じ画面上で同時に見ることができる。しかしながら、ビデオとウェブストリームが１つのチャネル上で搬送される場合は、必要なのは１つのチューナーだけである。
【００４６】
クライアントソフトウェアは、受信されたビデオプログラムから、直接的にインターネット接続２０から、又は分離されたデータチャネルからＵＲＬを検索し、これらのＵＲＬを解釈し、ウェブ可能ブラウザを制御して関連する特定のウェブページを検索し、テレビ１８への表示のために検索されたウェブページをビデオコンテンツに同期させる。関連するウェブページはテレビ１８の１つのフレームに示され、一方ビデオプログラムは別のフレームに表示されるのが好ましい。ディスプレイ上でビデオプログラムをウェブページで置き換えることもできる。
【００４７】
この実施形態では、ディジタルケーブルのセットトップボックス１４０はマルチチャネルケーブルからテレビプログラムを受信する。そのＵＲＬはＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、ＭＰＥＧ７又はあらゆる他の圧縮ビデオスキームを用いてディジタルプログラムチャネルに符号化することができる。その代りに、ＵＲＬをインターネットサーバ１４８からディジタルケーブルボックス１４０へ送信することもできる。ディジタルケーブルボックス１４０は、ディジタルビデオ信号から、又は直接的にインターネット２０から送信されたＵＲＬを復号化する。クライアントソフトウェアはＵＲＬを復号化し、上述のように特定のウェブページを検索する。ウェブページは特定のビデオフレームと同期してユーザに提示されるのが好ましい。
【００４８】
上記の全ての実施形態と同様に、送信手段からビデオプログラムを受信する代わりに、埋め込みＵＲＬを持ち又は持たないビデオプログラムがビデオテープ又は光ディスク等の記憶手段に記憶されている場合は、ビデオプログラムはローカルのビデオソース１４４から直接アドレス指定されてもよい。この実施形態ではディジタルケーブルボックス１４０は、ＶＣＲ、ディスクドライブ又は他の適切な装置に接続される。
【００４９】
図６は、ディジタルテレビ１５２が遠隔受信ユニットであり、図１、２及び４に示すパーソナルコンピュータ並びに図５に示すディジタルケーブルボックス１４０の機能を遂行するような実施形態を示す。プロセッサ手段とメモリがディジタルテレビ１５２内に組み込まれ、クライアントソフトウェアとウェブブラウザソフトウェアがディジタルテレビ１５２内のメモリに実装されている。他の実施形態に関連して上で説明された全ての機能は、ディジタルテレビ１５２の実施形態によって同様の方法で実行される。
【００５０】
ＰＣ１６の代りに、図５及び６に示されるディジタルケーブルボックス／テレビ１４０、１８とディジタルテレビ１５２が図１の実施形態の中に組み込まれているが、それらを図２と４に示すＰＣ１６と置き換えてもよい。
【００５１】
ユーザはビデオとウェブコンテンツを１つの画面上で（２つのウィンドウ内で）閲覧することもでき、もしくはビデオを１つの表示画面上で閲覧し、ウェブコンテンツを別個の表示モニター上で閲覧することもできる。あるいはユーザは、ビデオ又はウェブコンテンツに別々にアクセスすることもできる。こうしてユーザはビデオからウェブコンテンツへ及びその逆に分岐することができる。
【００５２】
ここに述べるシステムは教育環境に良く適している。従って、生徒と教師は１つ以上のウェブサーバにアクセスし得る。インストラクタ及び生徒のユーザソフトウェア、オーサリングソフトウェア及びデータベース評価ソフトウェアを含むソフトウェアコンポーネントが提供される。例えば、インストラクタはパーソナルコンピュータ上でコンテンツ作成ソフトウェアを用いて、図７に示すインタフェース１５６を介して、ウェブ上で発表された現行情報をカリキュラム中に容易に統合し得る。インストラクタはプレイリスト（すなわち、リンクファイル）１６０を作成し、このプレイリスト１６０はウェブページのリスト、テキストノート及び問題を含んでいる。ウェブサイトと問題は所定の順序で並べられていて、これに時間を割り当てることが可能である。ウェブサイトと時間スタンプを識別するＵＲＬが、事前記録されたプログラムの再生中又はライブイベントの最中に、仮想コミュニティ中の各生徒に自動的に送られるのが好ましい。
【００５３】
各生徒のワークステーションで、このプログラムはプレイリスト１６０によって制御される。言い換えれば、プレイリスト１６０はこのプログラムの構造を提供する。プレイリスト１６０によって示された所定の時間に、ブラウザはのウェブページを取り出してコンピュータ画面上のフレーム中に表示する。プログラムイベントは所定の時間にこのようにセットアップできるので、プログラムとプレイリストの全体を事前記録してウェブデータベースに記憶して、後で生徒がアクセスできるようにすることができる。
【００５４】
生徒とインストラクタは、すべてウェブに接続されている限り、どこに位置してもよいことが理解されよう。サーバがプログラムを制御するので、インストラクタの出力はサーバから供給され、生徒のワークステーションはウェブサーバによって自動的に更新される。
【００５５】
この教育用の実施形態は、ウェブコンテンツと他のメディアを協力的なグループウエア機能性と統合して、生徒と教師のための対話型環境を作成する。生徒は自身のウェブブラウザ中のフレーム又はテレビから従来のビデオレッスンを受信する。図８に示すように別々のフレームを同時に提供しても良く、同図ではブラウザは：ビデオ表示内容を補足する情報や演習と共に各生徒のデスクトップに自動的に送出されるウェブページ１７６と；インストラクタ及び／又は他の生徒とオンラインで会話するためのチャット対話フレーム１６８と；前記レッスンを含むウェブページ及び問題の対話型プレイリスト１６４と；を表示している。
【００５６】
図８の生徒インタフェースでは、各生徒は、例えば、重力に関して学習するための物理学の授業の際に仮想実験を行うことができる。加えて、生徒はチャット対話フレーム１６８を用いて互いにまたはインストラクタと会話する。また、彼らは生徒インタフェース１７６のチャット対話フレーム１６８を介してウェブページを互いに送ったり、教師からの質問に対する解答を提供したりすることができる。このチャット機能によって、生徒は協力的な学習のためにサブグループに入ることができる。グループ中の生徒がメッセージを送るたびに、そのメッセージはインターネットサーバ２０に送られ、サブグループ中の他の全ての生徒が自身のチャット対話フレーム１６８中でそのメッセージを受信して閲覧する。
【００５７】
しかしながら、インストラクタはチャット機能に対する制御権を確保することができる。例えば、インストラクタはチャット機能又はウェブプッシュを終了して、生徒による勝手なオンライン会話又はウェブページの送出を中止することができる。
【００５８】
ここに説明するシステムは、インストラクタがほぼあらゆるタイプの試験戦略を自由かつ便利に実行することができるので、従来の距離学習システムより強力である。インストラクタは、チャット対話機能とウェブページの組み合わせを利用して生徒を試験することができる。例えば、選択式問題と短答式問題がチャットウインドウ１６８に現れうる。より長い回答を必要とする論文式問題はウェブページとなる。上述したように、生徒は仮想的実験をオンラインで実行できる。インストラクタのパーソナルコンピュータが生徒の解答を受信すると、生徒の採点が表、チャート、線図、棒グラフなどを含む何らかのフォーマットでインストラクタに表示される。したがって、インストラクタはこの結果を分析し、これによって生徒にリアルタイムでフィードバックすることができる。
【００５９】
また、生徒は分岐した対話型のオーディオ、ビデオ及び／又はグラフィックス応答を介して個別化されたフィードバックを受信することができる。例えば、ワークステーションは、インストラクタ自身の音声で事前記録されているのが好ましい特定のオーディオ応答に対して、選択式問題に対する生徒の解答に基づいて分岐することができる。複数の潜在的オーディオ応答が生徒のワークステーションで、例えば米国特許第５，５３７，１４１号に記載の方法によって利用可能となる。追加として及び／又は代わりとして、個人化されたビデオ、オーディオ及びグラフィックスセグメントが、例えば米国特許第５，７２４，０９１号に記載されるように生徒の解答又は個人のプロフィールに基づいて生徒に送出され表示される。
【００６０】
生徒の解答に対する応答は、生徒の現在の解答選択だけではなく、生徒の過去の解答にも基づいてユーザに対する対話式応答を選択するアルゴリズムを含む記憶機能を用いればより強固なものとなり得る。このアルゴリズムは、各生徒のワークステーションのメモリに記憶して、プロセッサの制御下にあるのが好ましく、出力された対話式反応を生徒の解答に基づいて選択する。ある例では、３つ以上の解答が連続して正解である生徒は、即座により難しい問題を受信する。しかしながら、この３つの質問のうちの１つ以上に正解できない生徒はもっとやさしい問題を受信する。
【００６１】
図９に図示するシステムは、多数のユーザ、例えば複数の学校にサービスを提供することが可能である。図示するように、通信サーバ１８０はＬＡＮ、ＷＡＮ及びインターネット上でメッセージを分配してルーティングする。このシステムの中心にはグループデータベースサーバ１８４があり、これは各々がエリア１９２を受け持つ複数の通信サーバ１８０によって囲まれている。各通信サーバ１８０は、ユーザステーション１８８を表す正方形によって囲まれている。通信サーバ１８０は、互いにノード関係という形で編成されている。
【００６２】
各ノードは１つのエリア１９２を受け持つ責任がある。エリア１９２は、単一の通信サーバ１８０（又は「ｃｏｍサーバ」）からサービスを受ける仮想ロケーションとして定義される。エリア１９２は１つの学校であったり、オフィスであったり、又は複数の実際の物理的ロケーションであってよい。エリア１９２の定義特性は、エリア１９２の１つのメンバーから別のメンバーに送られたメッセージは、サービスを提供しているｃｏｍサーバ１８０の外部にルーティングする必要がないという点にある。
【００６３】
エリアのメンバーは頻繁に用いられる“ユーザ”という用語と類似している。例えば、“ユーザ”は教育環境内の生徒であってもよい。
【００６４】
図９に示す分散型通信システムによって、ほとんどまたは全く管理タスク無しでグループ内で通信サーバ１８０を動的に追加すること、及び、全体的な通信ネットワーク内でグループを追加することが可能となる。通信サーバグループは、画定されたいくつかの仮想エリア１９２（２５０を越える数のメンバーから各々が構成されるのが好ましい）から成り、各エリア１９２は１つのｃｏｍサーバ１８０からサービスを提供される。このシステムによって、なんら構成を変更することなく、１つのエリア１９２のメンバー又はグループは、別のエリア１９２のメンバー又はグループと容易に通信することができる。
【００６５】
過去においては、非常に多くのユーザにサービスを提供するには、非常に高価なサーバとネットワークが必要であった。さらに、ユーザベースが増加するに連れて、性能が劣化し、また、ハードウェアを更新して需要に対応しなければならなかった。
【００６６】
この分散型通信システムによって、同一の比較的安価なマシンでも、増加し続けるユーザベースに仕えることができる。これは、ＩＰルーティングルックアップ及びＤＮＳルックアップと実質的に同じであるコアパターンに続いて、１つのサーバから別のサーバにメッセージを必要に応じてルーティングすることによって遂行される。あるメッセージが現行のエリア１９２又はグループに属しないメンバーに対するものである場合、そのメッセージは、その宛先、又はその宛先を知っていてそのメッセージを送出することが可能な誰かが分かるまで、この分散型通信システムを介してルーティングされる。この宛先をキャッシュし、そのメンバー又はグループ宛の後続のメッセージがより効率的に送出されるようにすることができる。
【００６７】
図９を参照すると、メッセージがメンバー「Ａ」によって送信され、グループ１のメンバーだけを意図している場合、このメッセージはエリア１のｃｏｍサーバから決して離れない。しかしながら、そのメッセージがエリア１のメンバーとエリア２のメンバーに対して意図されている場合、エリア１ｃｏｍサーバはそのメッセージをグループデータベースサーバ１８４に転送する。このメッセージはエリア１のメンバーに放送され、エリア２に属するものとしてグループデータベースサーバ１８４中にタグ付けされる。次に、このメッセージはエリア２にルーティングされ、エリア２のメンバーに放送される。この技法によって、潜在的にいかなるメンバーでもメッセージを他のいかなるメンバーに送り得る。エリアｃｏｍサーバ１８０が宛先を認識しない場合、そのメッセージはライン上に転送される。各ｃｏｍサーバ１８０は、他のいかなるサーバ１８０を意識する必要はない。メッセージは届けられるまでルーティングされる。届けることが不可能な場合、最初の送り主が告知される。
【００６８】
新しいエリア１９２をリアルタイムで追加することが可能である。新しいｃｏｍサーバ１８０がネットワークに追加されると、そのサーバ１８０は自身をデータベースアプリケーションに登録する。これによって、この新しいエリア１９２宛のいかなるメッセージも、他のエリアサーバ１８０を変更することなく適切にルーティングされる。
【００６９】
この方法とシステムは、グローバルメッセージ又はユーザ間メッセージに適している。さらに、新しいグループもまた動的に追加し得る。一旦追加すると、新しいグループデータベースサーバ１８４は各々が、既存のデータベースサーバ１８４に自身を登録する。この負荷分散によって、既存のソフトウェアとハードウェアでほとんど無制限の拡張が可能となる。各サーバが有限の数のメンバーを管理し、これが累積して、増大化するコミュニティにサービスを提供する。
【００７０】
ユーザは、自身が接続すべき相手側である特定のｃｏｍサーバ１８０に関して通知を受ける必要はない。メンバーは１つのＵＲＬに向けられる。ユーザの接続のためのサーバ選択は、負荷均衡化ソフトウェアによって決定される。このようにして、ネットワークはサーバのグローバルネットワーク又は単にローカルな教室のように見えるかも知れない。
【００７１】
上述のアーキテクチャは、データベースサーバをルーティング用ゲートウエイとして使用するものであり、これによってシステムは最小の管理及び構成、並びに最小の、費用効率のよいハードウェアで仕えることができる。
【００７２】
図１０は、ネットワーク２２２を通じたユーザマシン２０２とサーバ２２４の間のネットワーク通信を容易にするための、ローカルホストと呼ばれるエンティティを使用するように構成されたシステム２００を示す。ネットワーク２２２は例えばインターネットなどのあらゆる適当なネットワークとすることができる。ローカルホスト接続は、例えばＪＡＶＡプログラミング言語のアプレットに存在する特定の制限を克服することにより、ネットワーク通信における機能性を増大させることができる。アプレットは、小さいアプリケーションであり、典型的にＪＡＶＡプログラミング言語により記述されている。要求されるセキュリティ基準を満足するために、ＪＡＶＡプログラミング言語は、アプレットの使用により特定の機能が受け持たれることを可能としない。例えば、アプレットは典型的にユーザマシンのハードディスクから読み書きすることができない。セキュリティ基準は、例えばアプレットがユーザのシステム処理又は記憶データに悪影響を与える可能性がある場合に、ユーザがウェブページの一部としてアプレットを知らずにダウンロードしないことを確保することを助ける。しかし、特定の制御された環境においては、アプレットに適用されたセキュリティ制限を除去又は減少させることが有益な場合がある。そのような状況では、ローカルホストはアプレットの機能を増大させることができる。
【００７３】
図示のシステム２００において、ユーザマシン２０２はインターネット２２２を通じてサーバ２２４とのローカルホスト又は接続を有する。ユーザマシン２０２はウェブブラウザ２０４を含み、それはインターネット通信のためのあらゆるタイプのウェブブラウザにより実施することができる。ウェブブラウザ２０４は、ヒドゥンＨＴＭＬフレーム２０６内に、donut.htmlページと呼ばれるハイパーテキストマークアップランゲージ（ＨＴＭＬ）ページを含む。フレームの代わりに、それはダイナミックＨＴＭＬ（ＤＨＴＭＬ）ページで使用されるレイヤーを使用することができる。ページ２０６はユーザマシン２０２上のメモリ中のヒドゥンフレーム内又はレイヤー内に記憶することができる。ヒドゥンフレーム又はレイヤー２０６は、サーバ２２４と通信するための機能を有するドーナツアプレット２０８を含み、アプレット２０８は例えばサーバとの通信を要求するアプリケーションを含むことができる。
【００７４】
用語“ドーナツ（donut）”はラベルとしてのみ使用され、本例ではユーザにコンテンツを送信するのに使用するユーザプロファイル情報を記憶する特定のファイルを指す。ユーザプロファイル情報は、例えば以下の１つ以上などのユーザに関する多種の情報を含むことができる：ユーザの年齢、ユーザの性別、ユーザの結婚歴、ユーザの以前の活動、ユーザの収入層、ユーザの家族の数、ユーザの職業、ユーザの業種、居住期間、ユーザの関心、もしくはユーザに関する人口統計学的又は活動に基づく情報などの他の情報。
【００７５】
ユーザプロファイル情報を記憶する“ドーナツ”の使用は、１９９９年９月２９日に出願された米国特許出願09/409305に記載されている。
【００７６】
また、ウェブブラウザ２０４はユーザマシン２０２のメモリに記憶されたＨＴＭＬフレーム又はレイヤー２１０内にpi.htmlページを含む。フレーム又はレイヤー２１０内のpi.htmlページはサーバ２４４からロードされる。また、フレーム又はレイヤー２１０は、アプレット２０８とインターネット２２２との間の通信のためにゲートウェイモジュール２１４を実行するように構成されたプラグイン２１２を含む。“プラグイン”は、補助的プログラムであり、それはソフトウェアパッケージ又は他のプログラムとともに動作してその能力を高める。プラグイン２１２は、ウェブサーバとして効率的に機能するローカルホストを提供するためにゲートウェイモジュール２１４内で実施される。特に、ロードされると、pi.htmlページ２１０は、例えばC++プログラミング言語であるプラグイン２１２及びゲートウェイモジュール２１４にアプレット２０８との接続２２０をオープンさせる。
【００７７】
プラグイン２１２はインターネット２２２を通じてサーバ２２４と通信する。サーバ２２４はウェブサーバ２２６を含むことができ、それはインターネット及び／又は他のネットワーク通信を提供可能なあらゆるウェブサーバとすることができる。また、サーバ２２４は、例えば１９９９年９月１５日に出願された米国特許出願第09/396693号に記載されるような分散通信ネットワーク（ＤＣＮ）ハブ２２８を含むことができる。
【００７８】
動作時には、プラグイン２１２はShowDocコマンド２１８、例えばnpi:ShowDoc（http://localhost/donut.html"）を提供する。用語“ＮＰＩ”（又は“npi”）は、ネットスケープナビゲータプログラム及びマイクロソフトインターネットエクスプローラプログラムなどのウェブブラウザにおいてプラグインにより使用されるアプリケーションプログラムである“ネットスケーププラグインインタフェース”を指す。“ShowDoc”コマンドは、ＮＰＩ及びＪＡＶＡプログラミング言語中のコマンドであり、コマンド中に提供されたＵＲＬからのコンテンツをウェブブラウザのフレーム中に表示することをウェブブラウザに指示する。従って、ShowDocコマンドはコンテンツをウェブブラウザへプッシュするために使用される。
【００７９】
ShowDocコマンド２１８はページ２０６中に位置するアプレットタグを開始する。ShowDocコマンド２１８を受信すると、ウェブブラウザ２０４はサーバ２２４との接続を確立するためにＧＥＴリクエスト２１６を送信することにより応答し、それは次にアプレット２０８を始動する。ＧＥＴリクエスト２１６は例えば“http:GEThttp://localhost/donut.html”などの特定のページのＵＲＬを含む。プラグイン２１２はＧＥＴリクエストを受信し、それを使用してトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）ソケット２２０をプラグイン２１２に開放し、次にそれはゲートウェイモジュールを使用するローカルホストとして機能してサーバ２２４との開放的かつ持続的通信を可能とする。ソケットはインターネット接続を提供するための既知の方法であり、それはステーションのインターネットプロトコルアドレス及びポート番号を指定する。続いてアプレット２０８はモジュール２１４を通じてサーバ２２４と通信し、モジュール２１４はアプレット２０８にはウェブサーバのように見える。
【００８０】
図１１はシステム２００内でローカルホストを実施するための方法２５０を示すフローチャートである。ローカルホストを実施するために、プラグイン２１２はローカル的にウェブサーバとして機能し、アプレット２０８中のＪＡＶＡコードがアクセスを許容されるホストは、アプレットを含むＨＴＭＬページを最初に提供したホストと同一のホストとなる。プラグイン２１２は唯一のＨＴＴＰリクエストに応答する機能を要求し、プラグイン２１２自身はＵＲＬをヒドゥンフレーム又はレイヤーに表示するためのShowDocコマンド２１８によりそのリクエストを生成する。そのＵＲＬはプラグイン２１２のみが知っているポート上のゲートウェイモジュール２１２を参照する。
【００８１】
方法２５０において、プラグイン２１２は、
npi:ShowDoc((http://localhost/donut/html")などのShowDocコマンド２１８を使用してＵＲＬをウェブブラウザ２０４へ送信する（ステップ２５２）。ウェブブラウザ２０４は、ＧＥＴリクエスト２１６を生成するために、ＵＲＬを使用してウェブページ又は他のネットワークコンテンツをロードし（ステップ２５４）、プラグイン２１２はＧＥＴリクエスト２１６をウェブサーバ２０４のアプレット２０８から受信する（ステップ２５６）。ＧＥＴリクエストはローカルホストののアドレスを示す“http:GEThttp://localhost/donut.html”などのＵＲＬを含む。
【００８２】
ウェブブラウザ２０４中のプラグイン２１２は、プラグイン２１２中のゲートウェイモジュール２１４を含むローカルホストへＴＣＰ／ＩＰソケット２２０を開放するために、ウェブページ情報又は他のネットワークコンテンツを使用する（ステップ２６０）。ローカルホストの確立において、ゲートウェイモジュール２１４はアプレット２０８とサーバ２２４の間のソケット２２０を提供する（ステップ２６２）。特に、プラグイン２１２はプロキシとして動作し、アプレット２０８からのリクエストをリモートサーバ２２４へ送る。プラグイン２１２は任意的に以下に述べる“スキン”と呼ばれるエンティティを取得し、自身をマシン２０２のための特定のユーザインタフェース中に提供することができる（ステップ２６３）。次にアプレット２０８はソケット２２０を使用し、プラグイン２１２及びリモートサーバ２４４を通じてサーバ２２４と通信する。プラグイン２１２はソケット２２０を維持し、アプレットが接続を切断したか否かを検出する（ステップ２６６）。接続が切断されたならば、プラグイン２１２はソケット２２０を除去する。
【００８３】
プラグイン２１２は好ましくは複数のスキンを使用する能力を有し、複数のスキンはグラフィックス、色、及び他のマルチメディアコンテンツの統合されたセット並びに特定のブランド付けされたインタフェースを形成するそれらの特定の構成である。上述のプラグイン２１２及びＤＣＮは任意のオブジェクトを配布及び受信する能力を有する。１つのそのようなオブジェクトは、スキンを含むグラフィックス及び他のコンテンツのパッケージとすることができる。プログラムの開始前に、ユーザがネットワークにログオンすると、システムはユーザマシンに特定のスキンがあるか否かを見るチェックを行う。スキンがない場合、プラグイン２１２はスキンオブジェクトを要求し、ＤＣＮは自動的にスキンをプラグイン２１２へ配布する。スキンがある場合、プラグイン２１２はそれらグラフィックス、色、及び他のコンテンツを使用してそれ自身を提供する。
【００８４】
ユーザがログオンした時にスキンを要求及び配布することに加え、プログラマーはプログラム中にユーザのスキンを動的に変更することができる。プログラム中に新しいスキンをロードするためのロジックは、プログラムの開始時にスキンをロードするためのロジックと同一である。また、このスキン変更は、上述の出願に記載されるようにユーザプロファイル情報に基づいてプレイリストリクエスト又はドーナツイベントにより生じさせることができる。
【００８５】
以下は、ローカルホストの使用の一例を提供する。ウェブブラウザプラグインを通じて自動的に送られたウェブコンテンツをビデオストリームと結合するイベント中に、ユーザのウェブブラウザにインタラクティブな質問を含む質問が現れる。これは例えば共通のウェブオーサリングツールであるマクロメディアフラッシュに書き込むことができる。質問は：あなたは今年新しい車を買いましたか？はい又はいいえ。ユーザが“はい”をクリックすると、質問を含むウェブページのＪＡＶＡスクリプトプログラムはhttp://localhost?userclick=Yesのフォーマットでポストを実行することができる。従ってローカルホストは、ウェブブラウザをプラグインに接続する“パイプ”である。プラグインはこの情報をオープンソケットを通じて受信し、それに対して動作して、最近新しい車を買った人に適用可能なコンテンツを有する別のウェブページをユーザに送る。
【００８６】
プレイリストは、オーサーと呼ばれる１人のユーザが、他のユーザへのＵＲＬ又はネットワークアドレスをプッシュすることを可能とする。プレイリストは構造化されたＵＲＬの集合であり、それはユーザマシンへ送信されて特定の時間に表示され（“プッシュされる”）又はツリー構造で提示されて後にユーザが詳細を欲した時にプルダウンされる。プレイリストは、ＵＲＬ、各ＵＲＬについての記述、時間値、フレームセット、フレーム又はレイヤー、プリフェッチタイム（適切ならば）、プッシュコンテンツ中のプル、及び潜在的に動的ＵＲＬについての変数などのネットワークアドレスを参照することができる。プレイリストは、オーサーが広告、インタラクティブゲーム、スポーツスコア、記述的コンテンツ、又は他のあらゆるタイプのマルチメディア情報などの種々のタイプのコンテンツを効率的にユーザへプッシュすることを可能とする。記述的コンテンツは、例えばビデオの提示に伴う文字記述を提供するために使用することができる。
【００８７】
オーサーは、時間値とともにＵＲＬ及び関連する記述を入力する。時間値に基づいて、オーサーのマシンは記述及びウェブページ又は他のネットワークコンテンツともにＵＲＬをユーザへ送信する。フレーム（又はレイヤー）とフレームセットは、ユーザのマシン上のどこにウェブページ及び他のネットワークコンテンツを表示するかを示す。プリフェッチタイムは、ヒドゥンフレーム又はレイヤー中のＵＲＬに対応するページを組み立てるために使用することができる。ダイナミックＵＲＬは、以下に説明するように、ユーザの地理的位置などの他の情報に基づいてＵＲＬをカスタマイズすることを可能とする。インターネットからのウェブページに加えて、プレイリストはＵＲＬを使用して、例えばユーザのハードディスクドライブ又は他の記憶媒体などの種々のソースからウェブ又は他のコンテンツを検索することができる。ウェブページに加えて、プレイリストを使用して、例えばオーディオストリーム、ビデオファイル、又は他のマルチメディア情報などの他のコンテンツを検索することができる。
【００８８】
プッシュ状況内のプルは、以下の例により示すように、プレイリストを使用してコンテンツを検索する他の方法を提供する。ニュースプログラム中に、テレビジョン放送はニュース会議のクリップを表示する。プレイリストアイテム、ウェブページ又は特定のフレームセット中の特定のフレーム中に現れるようにデザインされた他のネットワークコンテンツが全てのユーザへオンラインでプッシュされる（自動的に配信される）。加えて、会議を放送しているニュース機構は、ユーザが背景的素材として関心を有することがあるいくつかの他のウェブページを有する。この他のネットワークコンテンツは、“プッシュ内プル”プレイリストアイテムとして送信される。付加的なコンテンツは、ユーザのブラウザに自動的には現れない。その代わりに、ユーザは、他のネットワークコンテンツがアクセス可能であるとの指示を受信する。ユーザが利用できる他のコンテンツにアクセスすることが必要であれば、ユーザはそのコンテンツに適当な方法で、例えばグラフィック上でマウスをクリックすること、又は他のユーザ入力によりアクセスすることができる。こうして、プッシュ状況内のプルは、コンテンツをユーザにプッシュすることを可能とし、そのコンテンツを通じてユーザは付加的なコンテンツをユーザマシンへプルすることができる。
【００８９】
ＵＲＬに加えて又はＵＲＬの代わりに、プレイリストはユニフォームリソース識別子（ＵＲＩ）を含むことができる。ＵＲＩは抽象的又は物理的リソースを識別するための小型文字列である。より詳細には、ＵＲＩはリソースを識別するための単純で拡張可能な手段を提供し、ＵＲＩはさらにロケータ、ネーム又はその両者として分類することができる。ＵＲＩの構文及び意味の指定は、ワールドワイドウェブグローバルインフォーメーションイニシアチブにより導入されたコンセプトから生じる。ＵＲＩは、例えばＵＲＬ及びユニフォームリソースネーム（ＵＲＮ）を含む。ＵＲＬはＵＲＩのサブセットであり、それはリソースをネーム又はそのリソースの他の属性により識別するのではなく、リソースをそれらの主たるアクセスメカニズム、例えばそれらのネットワーク“ロケーション”を通じて識別する。ＵＲＮの語はＵＲＩのサブセットを指し、それはリソースが存在しなくなり又は利用不能となった場合でも世界的に唯一かつ持続的に維持することが要求される。
【００９０】
図１２はプレイリストコンテンツのオーサーへプレイリストを表示するユーザインタフェース３００の図である。この例において、プレイリストコンテンツはスクリーン３００内に表示されたセクション３０２に示される。コンテンツは、各ＵＲＬについて、文字的記述３０８、コンテンツのタイプ３１０、ＵＲＬ３１２、及び時間値３１４を含む。文字的記述３０８は、オーサーが特定のＵＲＬに関連するコンテンツについて、潜在的により記述的な識別子を提供することを可能とする。コンテンツのタイプ３１０は、各ＵＲＬについて、関連するコンテンツのタイプ又はそれをどのように表示すべきかを識別し、その例はプッシュコンテンツ（ＰＳＨ）、ティッカー表示（ＴＩＣ）、及び広告（ＡＤＶ）を含む。セクション３０２は、プレイリストをリストしているプレイリストセクション３０２を見るために、ユーザが選択するプレイリストメニューアイテム３０４を含む。また、それはプレイリストコンテンツを作成又は編集するためにユーザが選択する編集アイテム３０６を含む。
【００９１】
アイテム３０６を選択すると、オーサーのマシンは図１３に示すユーザインタフェース３２０を表示する。ユーザインタフェース３２０は、特定のＵＲＬについてオーサーが文字的記述を入力するためのセクション３２２を含む。セクション３２４は、オーサーがＵＲＬを入力することを可能とする。セクション３２６は、オーサーが、セクション３２４中のＵＲＬに関連するコンテンツが表示されるユーザマシン上の特定のフレーム又はレイヤーを識別することを可能とする。セクション３２８は、ユーザマシン上にいくつのフレーム又はレイヤーが表示されるかを識別するフレームセットをオーサーが選択することを可能とするプルダウンメニューを提供する。図示のように、１つのオプションはトリプルフレームセットであり、それにおいては３つのフレームが表示される。別の例は、それぞれ１つ、２つ又は４つのフレームを表示するシングル、ダブル又は四重フレームを含む。
【００９２】
タイムセクション３３０は、オーサーのマシンがユーザマシンへセクション３２４内のＵＲＬ、セクション３２２内の記述及び任意的に関連するウェブページ又は他のネットワークコンテンツを送信するための時間値をオーサーが識別することを可能とする。本例では、オーサーは時間、分及び秒について値を入力することができる。オーサーのマシンは入力された時間値をタイマーとして使用し、入力された時間値の経過時にユーザマシンへ関連するＵＲＬをプッシュする。ＵＲＬをユーザマシンへいつプッシュするかを決定するために他の時間パラメータも可能である。例えば、ＵＲＬを指定された特定の時間及び日、及び／又は指定イベントの発生後の所定時間においてプッシュすることができる。
【００９３】
編集セクション３２０では、オーサーはアドセクション３３２を選択して入力情報をプレイリストに追加し、キャンセルセクション３３４を選択して入力情報をキャンセルすることができる。オーサーは典型的に、カーソル制御デバイスを使用してセクションを“クリック・オン”すること、及び／又はキーボードを使用してコマンドを入力することにより、セクションを選択することができる。あらゆる適当なユーザ入力インタフェースを提供可能であることが理解される。
【００９４】
図１４は、ユーザにプッシュされたアイテムのプレイリストを表示するユーザインタフェースの図である。ユーザインタフェース３４０は、ユーザにプッシュされたプレイリストアイテムを表示するためのセクション３４２を含む。通常、記述のみがユーザに表示され、関連するＵＲＬ、ウェブページ及び／又は他のネットワークコンテンツはユーザマシン上に記憶され、記述とリンクされる。また、ユーザインタフェースは、ユーザにプッシュされＵＲＬと関連するコンテンツを表示するフレーム又はレイヤーを含み、これらは例えばビデオコンテンツを表示するための１つ以上のフレーム３５６、広告を表示するための１つ以上のフレーム３５０、ゲームを表示するための１つ以上のフレーム３５２、及びティッカー表示、例えばスポーツのスコアを表示するための１つ以上のフレーム３５４を含むことができる。
【００９５】
セクション３４２中のプレイリストアイテム中の記述を選択する時、ユーザは関連するコンテンツを検索及び閲覧することができる。こうして、記述はハイパーリンクテキストとして動作することができる。例えば、記述３４４を選択することにより、セクション３５４内のティッカー表示を表示することができる。記述３４６を選択することにより、フレーム３５２内のゲームを表示することができる。記述３４８を選択することにより、フレーム３５０中の広告を表示することができる。ユーザは、関連するコンテンツ又はウェブページ又は他のネットワークコンテンツを閲覧するために、セクション３４２中のプレイリストアイテムから別の記述を選択することができる。コンテンツが表示されるフレーム又はレイヤーは、編集セクション３２０のセクション３２６内のオーサーにより識別されるフレーム又はレイヤーに依存する。
【００９６】
図１５は、プレイリストエンティティのデータ構造３６０の例を示す。プレイリストエンティティは、ＵＲＬの集合へのネーム及び識別子を提供する。データ構造３６０は、プレイリストエンティティ及び関連データを記憶するための複数のエンティティ又は他のデータ構造要素を含む。この例では、これらのエンティティはPlaylistエンティティ３６２、PlaylistItemエンティティ３６４、フレーム又はレイヤーエンティティ３６６、ResFolderエンティティ３６８、ResItemエンティティ３７０を含む。
【００９７】
実際のＵＲＬデータは、ResItemエンティティ３７０内のresDataフィールド３７１内に記憶される。ResFolderエンティティ３６８は、プレイリストのオーサーにより使用されて、ResItemエンティティ３７０中のデータを組織的便宜のためにフォルダ階層に組織化し、典型的にはエンドユーザの経験には影響を与えない。deFrameSetIDフィールド３７２、defFrameフィールド３７３、及び記述フィールド３７４は同様にオーサーの便宜のために提供される。
【００９８】
“アイテム”とも呼ばれるPlaylistItemエンティティ３６４は、エンティティ３７０中の指定されたresItemを示す。それは、playlistIDフィールド３７６により識別されたプレイリスト中のresItemIDフィールドにより識別される。そのアイテムは、timeOffsetフィールド３７７により指定された時間後に表示される。特に、プルのみの形態がpullOnlyフィールド３７８中に識別されるように設定され、アイテムがプッシュ状況内でプルである場合でない限り、そのアイテムはその時刻にユーザマシンへプッシュされる。アイテムは、フレームフィールド３７９及びframeSetIDフィールド３８０により指定されるフレーム又はレイヤー内に表示されるべきである。記述フィールド３８１は、表示されたプレイリスト中にユーザが見る記述を指定する。フレームフィールド３７９、frameSetID３８０、及び記述フィールド３８１のためのデフォルト値は、ResItemエンティティ３７０中の対応するアイテムから生じる。プリフェッチフィールド３８２は、ステージングエリア中のＵＲＬのプリローディングを示す。プリフェッチのためのステージングエリアは、完全に組み立てられたウェブページの後続の表示のために、ヒドゥンフレーム中のページの組立を伴う。この一例は、１９９９年９月１５日に出願された米国特許出願No.09/397298に記載されている。
【００９９】
PlaylistItemエンティティ３６４のparentIDフィールド３８３は、アイテムの階層中のペアレントアイテムを指定する。フラットなプレイリスト中では、ペアレントIDはヌルである。階層中では、timeOffsetフィールド３７７はペアレントアイテムについてのタイムオフセットと関係を有する。その関係は再帰的であり、あらゆる時刻にプレイリストをプッシュし、ＵＲＬリソース及びそれらの関係をオーサリングツール中で再利用することを容易にする。
【０１００】
フレームエンティティは３６６は、アイテムをプッシュ又はプルすべきフレームセット中の特定のフレーム又はレイヤーを指定する。それは、ResItemエンティティ３７０及びPlaylistItemエンティティ３６４の両方により参照される。これらのエンティティは、複数のデータベース中又は複数のベンダーによってさえ存在し、例えばC++、JAVA、及びTangoプログラミング言語中で使用できるもののようなオーサリングツールにより操作される。これらのエンティティは、拡張可能マークアップ言語（XML）内で交換し、マニュアル的に編集することができ、分散コミュニティネットワークにより送信することができる。分散コミュニティネットワークの例は、１９９９年９月１５日に出願された米国特許出願No.09/396693に記載されている。
【０１０１】
図１６は、プレイリストを実施するための方法４００をフローチャートである。方法４００は、対応するマシンによる実行のためのソフトウェアモジュールを使用して実施することができる。方法４００において、システムはエディットセクション３２０中のオーサーからプレイリスト情報を受信する（ステップ４０２）。この情報は、ＵＲＬ、記述、フレーム又はレイヤーの識別、及び時間値を含むことができる。システムはプレイリスト情報を使用してセクション３０２に示されるようにプレイリストを生成し表示する（ステップ４０４）。システムは、継続的にプレイリストを監視し、それがアイテムを含むか否かを決定する（ステップ４０６）。それがアイテムを含む場合、システムは、プリフェッチが起動されたか否かを決定し（ステップ４０８）、そうであれば、ウェブページ又は他のネットワークコンテンツを含むプレイリストアイテムをプリフェッチタイムとともにユーザマシンへプッシュする（ステップ４１０）。ユーザのマシンはウェブページステージングエリアを使用してプレイリストアイテムを表示することができる（ステップ４１２）。即ち、ウェブページは、組立時にヒドゥンフレーム又はレイヤー中に組み立て、表示することができる。プリフェッチが起動されない場合、システムは、オーサーが入力したオフセット時間が経過したか否かを決定する（ステップ４１４）。オフセット時間が経過すると、システムはウェブページ又は他のネットワークコンテンツを有するプレイリストをユーザマシンへプッシュし、そのアイテムをセクション３４２に示すように表示する（ステップ４１６）。また、特定のコンテンツもユーザのプレイリストアイテムの選択に基づいてユーザマシンへプッシュされる（ステップ４１３）。
【０１０２】
システムは、オーサーがプレイリストをクローズしたか否かを決定する（ステップ４１８）。プレイリストがオープンのままならば、システムは、オーサーがエディットセクション３２０により多くのプレイリスト情報を入力したか否かを決定する。より多くのプレイリスト情報が入力されるべきであれば、システムはステップ４０２へ戻ってプレイリスト情報を受信し、続いて新しいプレイリストをステップ４０４で生成及び表示する。ユーザがより多くのプレイリスト情報を入力しないならば、システムはステップ４０６へ戻ってプレイリスト中のあらゆる追加アイテムを処理する。
【０１０３】
ダイナミックＵＲＬ形態は、ＵＲＬ、ＵＲＩ又は変数の分析に基づいて識別された他のコンテンツをシステムが動的に構成することを可能とする。こうして、システムは特定の使用のためにＵＲＬコンテンツをカスタマイズすることができる。ダイナミックＵＲＬは、それがコンテンツをローカライズし、例えばプレイリストに関連する種々のタイプのコンテンツの送信を可能とするので重要である。例えば、国営テレビジョン方法は特定の車のコマーシャルを含む場合がある。広告主は、その広告に、各視聴者向けの情報を追加したいと考えるであろう。ダイナミックＵＲＬ形態は、視聴者に対して、ローカルディーラーを特定するウェブページを送信することを可能とする。
【０１０４】
１つの具体例では、ユーザボブがロサンゼルスに住んでおり、ベンチュラ通りにボブから数マイル離れた特定の自動車ディーラーがある。プレイリストオーサーは、ダイナミックＵＲＬを含む自動車広告のためのプレイリストエントリーを有する。サーバソフトウェアは、アメリカ中の全ての特定のディーラーに照会する多数のＵＲＬのうちのどれをボブへ送信すべきかを決定することができ、ボブのクライアントの内のユーザプロファイル（ドーナツ）はダイナミックＵＲＬを分析し、ベンチュラの自動車ディーラーのウェブページの特定のウェブアドレスを決定し、そのネットワークアドレスをボブのブラウザへプッシュする。
【０１０５】
ダイナミックＵＲＬは上述のようにプレイリスト中に記憶及び配布することができ、ステップ４１０及び４１６の一部として実行することができる。ダイナミックＵＲＬは、特定の文字を有する変数の存在により識別することができる。ダイナミックＵＲＬは例えば以下のように変数ブラケット“｛”及び“｝”を含むことができるPHS://http//content.qa.actv.com/[variable]。
【０１０６】
図１７は、ダイナミックＵＲＬ、ＵＲＩ、又は他のネットワークアドレスを処理する方法４３０のフローチャートである。方法４３０は対応するマシンによる実行のためのソフトウェアモジュールを使用して実施することができる。方法４３０では、システムはＵＲＬを含むプレイリストアイテムを検索し（ステップ４３１）、検索されたＵＲＬがダイナミックＵＲＬであるか否かを決定する（ステップ４３２）。それは、ＵＲＬがダイナミックであるか否かを、ＵＲＬを分析してブラケット中の変数の存在又は他の区別する特徴を検出することにより決定する。それがダイナミックＵＲＬでない場合、システムはプレイリストアイテムを処理無しでＵＲＬへ返す（ステップ４４６）。
【０１０７】
それがダイナミックＵＲＬである場合、システムはＵＲＬ中の変数を解析する（ステップ４３４）。システムは、その変数が特定のプロセスを参照し又は起動させるか否かを決定する（ステップ４３６）。プロセスが関連しない場合、システムは変数の定義を取得する（ステップ４４４）。変数がプロセスを起動しない場合、システムは変数の定義を生成するために、プロセスを検索及び実行する（ステップ４３８）。システムは、ユーザのためのコンテンツをカスタマイズするために、ＵＲＬの意図された受取人の識別に基づいて変数を解析することができる。例えば、それはユーザプロファイル情報を取得し、ユーザプロファイル情報に基づいて変数の定義を選択し、及び／又はそれはユーザの地理的位置を使用して変数を解析することができる。ユーザのロケーションは、例えばユーザプロファイル情報から決定することができる。変数の定義を使用して、システムは完成したＵＲＬステップ（４４０）を組立て、プレイリスト方法４００のステップ４１０及び４１６で組み立てられたＵＲＬを有するプレイリストアイテムを返す（ステップ４４２）。
【０１０８】
上述のように、ユーザプロファイル情報は、ユーザマシンを通じてユーザの活動から収集することができ、及び／又はユーザに関する人口統計的情報を含むことができる。ユーザプロファイル情報は、ユーザ例えばユーザマシンによりユーザへローカルに記憶することができ、ダイナミックＵＲＬの変数を解析するのに使用することができる。
【図面の簡単な説明】
【図１】本発明の方法を用いた、加入者のロケーションでのビデオ信号の受信と復号化を示す図である。
【図２】ビデオコンテンツを有するインターネット情報の統合を達成する代替実施形態を示す図である。
【図３】本発明の基本的ソフトウェアのフロー図である。
【図４】ＵＲＬが直接にユーザに送信される実施形態を示す図である。
【図５】ディジタルケーブルボックスを備えるシステムの実施形態を示す。
【図６】ディジタルテレビを含むシステムの実施形態を示す。
【図７】ユーザインタフェースの例を示す。
【図８】ユーザインタフェースを提供するディスプレイの例を示す。
【図９】分散型通信サーバを有するシステムの実施形態を示す図である。
【図１０】ローカルホストの論理構造の例を示す。
【図１１】ネットワーク通信のローカルホストを実施する方法のフローチャートである。
【図１２】プレイリストコンテンツのオーサーへプレイリストを表示するユーザインタフェースを示す。
【図１３】オーサーがプレイリストのコンテンツを編集することを可能とするユーザインタフェースを示す。
【図１４】ユーザへプッシュされたプレイリストアイテムを表示するユーザインタフェースを示す。
【図１５】プレイリストエンティティのデータ構造の図である。
【図１６】プレイリストを実施する方法のフローチャートである。
【図１７】ダイナミックＵＲＬを処理する方法のフローチャートである。
【図１】
0004780832.tif 000002
【図２】
0004780832.tif 000003
【図３】
0004780832.tif 000004
【図４】
0004780832.tif 000005
【図５】
0004780832.tif 000006
【図６】
0004780832.tif 000007
【図７】
0004780832.tif 000008
【図８】
0004780832.tif 000009
【図９】
0004780832.tif 000010
【図１０】
0004780832.tif 000011
【図１１】
0004780832.tif 000012
【図１２】
0004780832.tif 000013
【図１３】
0004780832.tif 000014
【図１４】
0004780832.tif 000015
【図１５】
0004780832.tif 000016
【図１６】
0004780832.tif 000017
【図１７】
0004780832.tif 000018