JP4460702B2 - 情報サーバ及びキャルセル情報配列方法 - Google Patents
情報サーバ及びキャルセル情報配列方法 Download PDFInfo
- Publication number
- JP4460702B2 JP4460702B2 JP2000017852A JP2000017852A JP4460702B2 JP 4460702 B2 JP4460702 B2 JP 4460702B2 JP 2000017852 A JP2000017852 A JP 2000017852A JP 2000017852 A JP2000017852 A JP 2000017852A JP 4460702 B2 JP4460702 B2 JP 4460702B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- carousel
- page
- file
- information server
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65D—CONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
- B65D35/00—Pliable tubular containers adapted to be permanently or temporarily deformed to expel contents, e.g. collapsible tubes for toothpaste or other plastic or semi-liquid material; Holders therefor
- B65D35/02—Body construction
- B65D35/04—Body construction made in one piece
- B65D35/08—Body construction made in one piece from plastics material
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、情報サーバ及びキャルセル(carousel)情報配列方法に関し、特に、例えば、ファイルのキャルセルのトランスポートストリーム表示の中のシーケンスから追加ファイルが挿入されたり、例えば、キャルセルの特徴が決定される情報サーバ及びキャルセル情報配列方法に関する。
【0002】
【従来の技術】
トランスポートストリームの選択されたチャネルの中に情報を供給する情報サーバを提供する方法が提案されている。例えば、ビデオデータ等を放送するため、様々なデータファイルがトランスポートストリームの特定のチャネルの中に供給されている。
【0003】
【発明が解決しようとする課題】
現在、例えば、キャルセルを用いて多数の異なるデータファイルを次々と伝送することが提案されている。ところで、現在のアプリケーションは、キャルセルのページのコンテントにいくらかの柔軟性が必要であることを認識している。特に、本発明によれば、ファイルを他の所定のファイルのキャルセルに挿入することを可能にするべきであるということが提案されている。残念ながら、もとのキャルセルファイルからトランスポートストリームのペイロードで生じる変換のために、全体のトランスポートストリームを混乱させないで追加ペイロード情報をただ挿入することは不可能である。
【0004】
本発明は、上述した問題点に鑑みてなされたものであり、キャルセルを用いて多数の異なるデータファイルを次々と伝送するする際、全体のトランスポートストリームを混乱させないで追加ペイロード情報を挿入することのできる情報サーバ及びキャルセル情報配列方法を提供する。
【0005】
【課題を解決するための手段】
本発明によれば、構築中にトランスポートストリーム表示のペイロードリストの中の挿入点を決定するステップと、追加ファイルのトランスポートストリームペイロードを計算するステップと、次の挿入点で、トランスポートストリーム表示の中のトランスポートストリームペイロードを挿入するステップと、を有するファイルのキャルセルのあらかじめ構築されていたトランスポートストリーム表示のシーケンスから追加ファイルを挿入する方法が提供される。
【0006】
本発明によれば、ファイルのキャルセルのトランスポートストリーム表示のトランスポートストリームペイロードを構築するキャルセルビルダと、ファイルのキャルセルに挿入される挿入ファイルのトランスポートストリームペイロードを構築するペイロードビルダとを備え、キャルセルビルダは、挿入ファイルのペイロードが次の利用可能な挿入点で挿入されるように、ペイロードの構築中にトランスポートストリーム表示の挿入点を決定することを特徴とする出力トランスポートストリームの中の情報を供給する情報サーバが提供される。
【0007】
このようにして、挿入点は、全体のトランスポートストリームのコンテントを混乱させることなく、追加ペイロードを出力トランスポートストリームの中に挿入させることができる。さらに、挿入点は、追加ファイルが比較的速く挿入されるように、比較的短い間隔でキャルセルを介して供給される。
【0008】
好ましくは、情報サーバは、キャルセルビルダによって計算されるペイロードを循環して参照し、伝送するトランスポートストリームパケットを構築するマルチプレクサ/パケタイザをさらに備える。マルチプレクサは、挿入点を参照し、挿入ファイルのペイロードを次の利用可能な挿入点で挿入する。
【0009】
このようにして、大きな再計算の必要がなくなり、マルチプレクサ/パケタイザは、次の利用可能な挿入点上で、要求されるペイロード情報を単に挿入することができる。
【0010】
情報サーバは、例えば、トランスポートストリームを発生する少なくとも一つのストリーム発生器を備え、ストリーム発生器は、上述したように決定された少なくとも一つのキャルセルビルダとマルチプレクサとを備える。
【0011】
マルチプレクサは、好ましくは伝送する計算されたペイロードからのMPEG2トランスポートストリームパケットを形成し、挿入ファイルは、DCMCCオブジェクトであり、キャルセルビルダは、オブジェクトキャルセルのDCMCCセクションの完全なセットを構築する。
【0012】
ユーザは、異なる方法で、キャルセルの様々なページを決定することを望むことができる。例えば、上述したように、いくつかのファイルは、例えば更新ファイルをちょうど受け取ったときに即時に挿入を要求する。同様に、キャルセルのいくつかのページは、連続するバージョンがキャルセルの各ラウンド上に出力されるように多数のバージョンを有する。
【0013】
本発明によれば、参照名とともにキャルセルの各ページを決定するステップと、 各参照名の1又は2以上のファイルアドレスを決定するステップと、各参照名に属性を割り当てて出力の特徴を決定するステップと、キャルセルのページを連続して参照し、各ページに関連する属性に従ってアドレスによって決定されたファイルを出力するステップと、を備えるキャルセルのファイルを出力する方法が提供される。
【0014】
本発明によれば、参照名とともにキャルセルの各ページを決定し、各参照名の1又は2以上のファイルアドレスを決定し、属性を各参照名に割り当ててそのページの出力の特徴を決定するレジスタと、キャルセルのページを連続して参照し、各ページに関連する属性に従ってアドレスによって決定されたファイルを出力するキャルセルビルダと、を備えるキャルセルのファイルを出力する情報サーバが提供される。
【0015】
このようにして、ユーザは、キャルセルの構成を簡単に決定することができる。
【0016】
好ましくは、属性は、各ページの各アドレスによって示されたファイルのみがキャルセルの各ラウンドに出力されることを示す通常属性と、キャルセルの各ラウンドのために、各ページのリストされたファイルアドレスからの連続ファイルが出力されることを示す循環属性とを備える。
【0017】
属性は、キャルセルが各参照名に到着したときファイルアドレスによって示されるファイルが出力されるだけでなく、ファイルアドレスのコンテントが更新されたときはいつもその参照名のファイルアドレスによって示されたファイルも出力される即時属性を備えていてもよい。
【0018】
このようにして、キャルセルの各ページは、そのコンテントに関してだけでなく、キャルセルの各ラウンド上にどのように出力されるかに関しても簡単に決定される。
【0019】
以前は、処理リソース又は伝送帯域幅に順位をつけて並べるため、タスク又はデータファイルがそれらの相対的な重要性を示す値とセットされている。例えば、データの伝送では、一つのデータソースは例えば利用可能な帯域幅の80%に割り当てられ、他のデータソースは残りの20%の利用可能な帯域幅に割り当てられる。同様に、プロセッサが多数の異なるタスクを実行しなければならないところでは、特定のタスクが例えば利用可能な処理時間の特定の割合に割り当てられる。
【0020】
このシステムがタスク又はデータソースがあまり変化しないシステム、常時再構成されるシステムのために十分に機能したとしても、この方法は計算上非能率的である。特に、データソース又はタスクが追加されたり削除されるところでは、このシステムは、帯域幅又は処理時間の割合割り当てを再計算しなければならない。
【0021】
本発明は、データオペレーションの相対的な優先度は変化せず、データオペレーションが追加されたり削除されたとしても再計算の必要がないように、最初にデータオペレーションに優先度を指定する必要性を認識する。
【0022】
本発明によれば、例えば、所定の数の概念的なタイムスロットの循環配列を構築するステップと、各データオペレーションに概念的なタイムスロットの配列に関する周波数値を指定し、一連の連続する概念的なタイムスロットでの配列の中の各データオペレーションを周波数値に従って決定された間隔とともに登録するステップと、1又は2以上のデータオペレーションが登録されている配列の各概念的なタイムスロットを連続して参照し、データオペレーションが登録されて現在の概念的な時間のために選択されたときはいつもデータオペレーションを実行するステップと、を有する処理又は伝送等のデータオペレーションに優先度を指定する方法が提供される。
【0023】
また、本発明によれば、例えば、所定の数の概念的なタイムスロットの循環配列と、各データオペレーションにタイムスロットの配列に関する周波数値を割り当てる入力装置と、一連の連続する概念的なタイムスロットでの配列の中の各データオペレーションを周波数値に従って決定された間隔とともに登録し、1又は2以上のデータオペレーションが登録されている配列の各概念的なタイムスロットを連続して参照し、データオペレーションが登録されて概念的な時間の進行に従って選択されたときデータオペレーションを開始する制御装置と、を備える処理又は伝送等のデータオペレーションに優先度を指定するシステムが提供される。
【0024】
このようにして、データオペレーションの優先度が配列の概念的なタイムスロットに関して全てセットされる。一つのデータオペレーションに対する入力がn番目の入力ごとで起こり、他のデータオペレーションに対する入力がm番目の入力ごとで起こったとき、二つの入力の相対的な発生は、たとえ、明らかに、最初の二つのデータのオペレーションの実際の割り当てが減少されたとしても、入力が他のデータオペレーションのために行われたかどうかにかかわらず同じになる。よって、この方法及びシステムは、他のデータオペレーションが追加されたり削除されたときに全体的な割当てを再計算するような計算を必要とすることなく、様々なデータオペレーションの相対的な優先度を与える。
【0025】
好ましくは、このシステムは、例えば、データソースの選択からトランスポートストリームパケットを構築するストリーム発生器を備え、周波数値は、各データソースに指定され、ストリーム発生器は、制御に従ってトランスポートストリームペイロードのデータを取るデータソースを選択する。
【0026】
トランスポートストリームの中の伝送するためのデータソースに優先度を指定することによって、トランスポートストリーム上でさらに帯域幅を有するあるデータソースを割り当てることができる。データソースからのデータが繰返して伝送されるところでは、特定のデータソースからのデータが伝送される相対的な周波数を制御するために用いることができる。
【0027】
上述した方法によって、用いられているデータソースにすでに割り当てられている相対的な伝送帯域幅を変更することなく、異なる優先度を伴った異なるデータソースが簡単に選択されるか削除される。
【0028】
好ましくは、DVB/MPEG2等の出力トランスポートストリームの中の情報を供給する情報サーバは、例えば、このようなシステムを備えることができ、また、このような方法を実行することができる。情報サーバは、好ましくは、DVBに適合する出力ストリームを発生することが好ましい。
【0029】
データオペレーションを実行する際、処理時間又は伝送帯域幅のプロポーショニングが重大かもしれないが、即時のアクションを要求する感覚において、いくつかのデータオペレーションはさらに時間に依存している。例えば、ビデオディスプレイ及びワード処理オペレーションを扱うプロセッサにとって、ビデオ処理オペレーションがワード処理オペレーションの前に行われることはさらに重要なことかもしれない。同様に、ニュース項目の伝送のために帯域幅のほんのわずかな部分を割り当てた情報サーバにとって、特定のニュース速報が帯域幅の予定される割り当てを待つより、即時に帯域幅に割り当てられることのほうが非常に重要なことかもしれない。
【0030】
このように、データオペレーションに優先度を指定する必要性は、本出願によって初めて認められた。
【0031】
各データオペレーションにデータオペレーションの相対的な緊急度を示す呼び出し時間が割り当てられ、また、実行される次のデータオペレーションの選択が少なくとも呼び出し時間の値に基づいて決定される処理又は伝送などのデータオペレーションに優先度を指定する方法及びシステムが提案されている。
【0032】
このようにして、プロセッサ又はトランスミッタは、例えば、次に行う最も重要なデータオペレーションはどれかということをを決定することができる。
【0033】
トランスポートストリームの選択されたチャネルの中の情報を供給する情報サーバを提供する方法が提案されている。例えば、ビデオデータ等を放送するため、例えば、様々なデータファイルがトランスポートストリームの特定のチャネルの中に供給されている。多数の異なるデータファイルをシーケンスの中でキャルセルを通して伝送することが望まれている。また、キャルセルの個々のファイルが時々変更されるべきであるということが望まれている。ところで、残念ながら、トランスポートストリームパケットを形成するプロトコルスタックを介してのファイルの伝送のため、もとのファイルとトランスポートストリームパケットの間で直接の通信は行われない。よって、個々のファイルの交換は、トランスポートストリームの中の重要な変更となる。
【0034】
また、本発明によれば、例えば、ファイルからのデータをプロトコルスタックを介してトランスポートストリームパケットに変換するステップと、変換の中で用いられている各ファイルに対し、変換によって生じる変換データを示す依存リンクを記憶し、変換データをさらに形成するための変換の中で用いられるどんな変換データに対しても、キャルセルの中のファイルが変更されたとき、依存リンクが変更によって起こる再計算を要求するどんな変換データをも示すように、さらなる変換データを示す依存リンクを記憶するステップと、を有するファイルのキャルセルからトランスポートストリームを構築する方法が提供される。
【0035】
また、本発明によれば、ファイルからのデータをプロトコルスタックを介して変換してトランスポートストリームパケットを形成する少なくとも一つのキャルセルビルダと、一連のレジスタと、変換の中で用いられている各ファイルに対し、変換によって生じる変換データを示す依存リンクを記憶し、さらなる変換データを形成する変換の中で用いられるどんな変換データに対しても、キャルセルの中のファイルが変更されたとき、レジスタに記憶された依存リンクが変更によって起こる再計算を要求するどんな変換データをも示すように、さらなる変換データをを示す依存リンクを記憶する依存機構と、を備えるトランスポートストリームの中のファイルのキャルセルを出力する情報サーバが提供される。
【0036】
このようにして、ファイルが変更されるか交換されると、単純な構成が供給され、再計算を要求するトランスポートストリームの全体の変換のこれらの部分のみを示す。言い換えれば、ファイルが変更されたとき、全体のトランスポートストリームのための変換を再計算する必要はない。
【0037】
大きなキャルセルに対し、全体の対応するトランスポートストリームの再計算には、非常に長い時間がかかる。しかしながら、再計算を必要とするトランスポートストリームのこれらの部分のみを識別することによって、例えば、キャルセルの中の個々のファイルを素早く更新する情報サーバを提供することが可能となる。
【0038】
好ましくは、レジスタは、キャルセルのファイルに基づいた主要なノードと、プロトコルスタックの連続レイヤでの変換されたデータに基づいた計算されたノードとを備える依存ノードからなる依存ネットワークの一部を形成する。
【0039】
依存ノードは、好ましくは、ビットストリームへのコンテント参照としてはたらくポインタを、ファイルのキャルセルのビットストリーム表示の特定の一部に記憶する。好ましくは、依存表示は、依存ネットワークの一部として記憶され、どのようにビットストリームの一部が用いられてビットストリームの他の部分を計算するかを示す。
【0040】
このようにして、依存ネットワークは、情報サーバの計算上簡単な機構を提供し、トランスポートストリームへ挿入するためのビットストリームの要求される部分を識別する。依存構造に続くことによって、もとのファイルのページが簡単に説明される。
【0041】
好ましくは、キャルセルは、依存ノードのコンテント参照ポインタがDSMCCオブジェクトキャルセルのビットストリーム表示の特定のサブパートを指し、主要なノードがDSMCCファイルのコンテント参照及びディレクトリオブジェクトを含むように、DSMCCオブジェクトキャルセルを備える。
【0042】
また、もう一度、これは、トランスポートストリームパケットの中に挿入する適切なデータを識別する計算上簡単なシステムを提供する。
【0043】
キャルセルのファイルの少なくとも一つは、例えば、異なるバージョンがキャルセル放送の連続するラウンドに伝送されるように、このファイルの異なるバージョンを備える。この場合には、好ましくは、この又は他の少なくとも一つのキャルセルビルダは、トランスポートストリームパケットの連続するバージョンがキャルセル放送の各ラウンド上で選択されるように、このバージョンの各データを変換し、依存構成が各バージョンの依存リンクを記憶する。
【0044】
このように、情報サーバは、キャルセル放送の各ラウンド上で、要求されるペイロード及びトランスポートストリームパケットを再計算する必要はない。依存構成は、出力トランスポートストリームがキャルセルの各ラウンド上で簡単に変更されるように、情報サーバが異なるバージョンに関して単にポインタを変更することを許可する。
【0045】
様々なソースからビデオ及び/又はオーディオデータ取り出し、これらをMPEG2などのトランスポートストリームパケットに配列し、トランスポートストリームのそれぞれのチャネルとして伝送することが知られている。
【0046】
様々な形の情報をそのようなトランスポートストリームの中に伝送することが提案されている。その情報は映像、Javaアプリケーション等を備えている。
【0047】
本発明によれば、外部ホストコントローラからコントトール及びデータを受け取るAPIサーバと、少なくともこのデータを記憶する記憶装置と、APIサーバの制御のもとにこのデータからトランスポートストリームパケットを構築するストリーム発生器と、を備える出力トランスポートストリームの中に情報を供給する情報サーバが提供される。
【0048】
このようにして、情報サーバは、例えば、ビデオ情報の他のトランスポートストリームの他の同様な情報サーバ又はプロバイダとともに簡単に多重化される分離された統合ユニットとして供給される。APIサーバによって、情報サーバは、外部ホストコンピュータによって制御され構成される。情報サーバによる伝送のためのどんな情報でもホストコントトーラから情報サーバの記憶装置に転送される。同様に、ストリーム発生器は、ホストコントローラによって要求されるように、また、APIサーバの制御のもとに、選択された情報をトランスポートストリームの選択されたチャネルの中に挿入することができる。情報を繰り返して伝送したり、異なる情報を循環して伝送するところでは、伝送の各時間ごとにトランスポートストリームデータが構築される必要がないように、トランスポートストリームのためのすでに計算されたペイロードがストリーム発生器の中に記憶されることが可能である。
【0049】
好ましくは、各ストリーム発生器は、トランスポートストリームの中の循環伝送のための一連のペイロードを構築する少なくとも1つのキャルセルビルダを備える。
【0050】
キャルセルビルダは、例えば、DSMCCオブジェクトキャルセル及び/又はDSMCCデータキャルセルを構築し、入力データファイルからのDSMCCセクションを構築する。
【0051】
このようにして、例えば、一連のペイロードが準備され、トランスポートストリームのチャネルの中に循環伝送される。2以上のキャルセルビルダが供給されるところでは、例えば、多数の異なるキャルセルのページがトランスポートストリームチャネルの中に供給される。
【0052】
好ましくは、各ストリーム発生器は、トランスポートストリームパケットの中のペイロードを配列してそれらを多重化しトランスポートストリームを形成するマルチプレクサ/パケタイザを備える。
【0053】
特に、例えば、多数のキャルセルビルダ及び/又は記憶装置から生のデータを伝送するように、データの様々なソースがストリーム発生器の中に供給されるところでは、様々なページがともに多重化され、トランスポートストリームパケットに供給されることが可能である。
【0054】
好ましくは、APIサーバ及び少なくとも1つのストリーム発生器は、情報サーバがオペレーションシステム抽象レイヤを単に変更することによって異なるオペレーションシステムと動作することができるような、複数のオペレーションシステムの1つとインターフェースを行うオペレーションシステム抽象レイヤを備える。
【0055】
このように、情報サーバは、IRIX、LINUX、SOLARIS、WindowsNT等の多数のオペレーションシステムのどの上でも構築される。情報サーバは、C++のようなプラットホームに基づいているが、オペレーションシステム抽象レイヤを単に変更することによって、情報サーバの構成を変更することなくオペレーションシステムを変更することが可能となる。
【0056】
好ましくは、ストリーム発生器は、例えば、ドライバ抽象レイヤを変更することによって情報サーバが異なるドライバとともに用いられるような、DVBエンコーダの複数のドライバの1つとインターフェースを行うドライバ抽象レイヤを備える。
【0057】
このようにして、ドライバ抽象レイヤを変更することによって、情報サーバの他の部分を変更することなく、ともに情報サーバが用いられるドライバを変更することができる。
【0058】
【発明の実施の形態】
以下、本発明に係る情報サーバ及びキャルセル情報配列方法を、添付図面を参照して詳細に説明する。
【0059】
特に、DCMCCデータ及びオブジェクトキャルセルを含むDVBコンプライアントトランスポートストリームを発生させることができ、情報サーバと呼ばれるDVBコンプライアントデータサーバのアーキテクチャが提案されている。さらに、この情報サーバは、DCMCCデータ及びオブジェクトキャルセルが流れ出ていく間に、DCMCCデータ及びオブジェクトキャルセル内のコンテントの動的な更新をサポートする。
【0060】
図1は、情報サーバ18が組み込まれたDVBシステムの一部の具体的な構成を示すブロック図である。ここで、情報サーバ18は、例えばケーブルネットワーク又は地上波ネットワークなど他のDVBネットワーク、また、DVBネットワークでないネットワークにも組み込むことができる。
【0061】
プレイアウトセクション2には、例えば、多数のビデオ/オーディオソース4及びライブソース6が組み込まれている。これらのソースからの、例えばMPEG2トランスポートストリームパケットの形状のデータは、マルチプレクサ8に供給され、プレイアウトセクション2から出力される。マルチプレクサ8で多重化されたデータのストリームは変調器10aに供給されてから例えば人工衛星12に送信され、人工衛星12から地上に送信される。この送信された信号は、次に、テレビジョン受像機16のセットアップボックス14によって受信される。他の多数の変調器10m、10n等からの信号も一緒に人工衛星に送信される。
【0062】
このシステムでは、情報サーバ18を供給することも可能である。ビデオ/オーディオソース4及び6と同様に、情報サーバ18は、MPEG2トランスポートストリームパケットの形状のデータをデータストリームに挿入して送信するためにマルチプレクサ8に供給する。情報サーバ18は、あらゆる形状のデータの放送に用いられるが、特に、例えばMHEG5アプリケーション、HTMLページ、Javaアプリケーション、IRDソフトウェアアップグレード、及びデータキャルセル上のDCMCCオブジェクトの形状のデータサービスの放送に用いられる。図1に示すように、ホストコンピュータ20は、情報サーバ18から出力されるデータのコンテント及び特徴を制御するとともに、情報サーバ18の動作を制御する。
【0063】
情報サーバ18は、エサーネットによるTCP/IP等のいくつかの制御ネットワークを用いたホストコンピュータ20によって制御される。発生されたトランスポートストリームは、エサーネット、DVB ASI、DVB LVDS又はATM等のストリーミングネットワークによって受信機(PC、STB等)で再生される。
【0064】
図2は、情報サーバ18の全体のアーキテクチャの具体的な構成を示すブロック図である。
【0065】
APIサーバ22には、ホストコンピュータ20から制御信号及びデータが供給される。データは、その後の検索のため、記憶装置24に転送される。MPEG2データストリームを出力するために、少なくとも一つのストリーム発生器26が設けられている。従って、APIサーバは、その動作において、例えば一連の画像データなどのデータを受けとり、これらの画像データを記憶装置24に転送する。各ストリーム発生器26は、キャルセルの記述に基づいて、APIサーバ22の制御のもとにデータのストリームを発生する。特に、APIサーバ22は、ホストコンピュータ20から制御信号を受けとり、ストリーム発生器26を順番に適切に制御する。後に詳細に説明するが、ストリーム発生器26は、例えば、キャルセルビルダを備え、記憶装置24からのデータを正しい順番で伝送する。
【0066】
APIサーバの目的は、TCP/IPによってホストコンピュータ(例えばPC)20に遠隔アクセスが可能なソフトウェアインターフェースを提供するためのものである。ソフトウェアインターフェースは、RPCプロトコルを用いることによって実現され、情報サーバ18のユーザにソフトウェアの抽象のセットを提供し、このソフトウェアの抽象のセットは、トランスポートビットストリームから独立しているが、むしろキャルセルによって放送されなければならないコンテントから始まるキャルセルの概念構造にフォーカスするような方法で、ユーザがオブジェクト及びデータキャルセルを決定できる。
【0067】
さらに、APIサーバは、情報サーバ18のコンテントディスク上にあるコンテントデータを管理する。
【0068】
アーキテクチャの観点から見ると、APIサーバは、RPCレイヤ及びAPIインプリメンテーションの二つの主なモジュールを含む単一のスレッデッドプロセスとして実現される。RPCレイヤは、一つ又は多数のホストコンピュータ20との制御ネットワーク接続を管理する。各接続はセッションと呼ばれる。各セッションは、ホストコンピュータセションからRPC要求を受け取り、それらの要求をシリアルにし、それらが有効かどうかをチェックし、それらの要求のデータ(アーギュメント)をディマーシャルし、APIインプリメンテーションの中の適切なエントリーポイントを呼び出し、APIインプリメンテーションから結果(又はエラー)を受け取り、受け取られた結果をRPC応答にマーシャルし、最後にその応答をホストコンピュータ20に送り返す。APIインプリメンテーションは、情報サーバAPIの機能を実行する機能のセットを供給する。APIインプリメンテーションは、コンテントディスクと相互作用し、コンテントディスクに対しデータの読み出し/書き込みを行い、各APIコールのアーギュメントの妥当性をチェックする。
【0069】
ストリーム発生器26からプレイアウトセクション2のマルチプレクサ8へのストリームの伝送は、多数の異なるフォームを取る。ストリーミングが情報サーバ18への分離されたユニットとして供給されることが提案されている。よって、ストリーミングは、例えば、DVA−ASIから(ソニーディジタルネットワークソルーションズジャパンから生産されている)PRISMボード、DVB−LVDS、ATM又はエサーネットによって選択されている。
【0070】
情報サーバ18は、標準の4U19インチラックマウントとして供給されることが提案されている。ホストコンピュータ20と情報サーバ18の間の制御ネットワークは、例えばエサーネット又はATMである。
【0071】
図3は、一つのホストコンピュータ20が多数のストリームを発生するいくつかの情報サーバ18を制御する様子を示した説明図である。
【0072】
図4は、一つのストリーム発生器26に視点を置いた情報サーバ18の具体的な構成を示すブロック図である。APIサーバ22は、API27がホストコンピュータ20によってアクセスされるようにするRPC(Remote Procedure Call)プロトコル23を有する。IIOPはさらにポピュラーになったので、コントロールAPIは、例えばIIOPとともに実行されることが可能である。このように、APIサーバ22は、遠隔ホストコンピュータ20からデータ及び制御信号を受けとる。また、APIサーバ22は、オペレーティングシステムアブストラクションレイヤ25、すなわちOSAL25のもとで実行される。OSAL25は、情報サーバ18が多数の異なるオペレーティングシステム上で実行されることを許可するために供給される。特に、情報サーバ18が異なるオペレーティングシステム上で実行されるように適合させるためには、OSAL25を変更することが必要である。
【0073】
ストリーム発生器26は、未加工のトランスポートストリームデータを出力することが可能である。特に、APIサーバ22のコマンドのもとで、ストリーム発生器26は、単に記憶装置24からのデータを検索して、そのコンテントを識別しないで出力する。ところで、ストリーム発生器26は、例えば、DSMCCオブジェクトキャルセル及びDSMCCデータキャルセルなどのキャルセルを構築することができるように意図されている。したがって、ストリーム発生器26は、少なくとも一つのキャルセルビルダ28を備える。
【0074】
図5は、ストリーム発生器26のスレッドの具体的な構成を示すブロック図である。ストリーム発生器26は、データ/オブジェクトキャルセルの概念的な記述から始まるトランスポートビットストリームを動的に構築する義務がある。ストリーム発生器26のアーキテクチャは、多数の同時に実行されるスレッドからなり、具体的には以下のようなスレッドがある。
【0075】
1、SGメインスレッド42:このスレッドは、APIサーバと通信する義務がある。SGメインスレッド42は、APIサーバからコマンドを受け取り、オブジェクトキャルセルを開始又は停止し、ランニングストリームからキャルセルを落とすか、又はランニングストリームの中のいくつかのコンテントを更新する。さらに、SGメインスレッド42は、他のスレッドを管理する義務がある。これは、これらのスレッドの開始/停止を含み、これらのスレッドの同期をコントロールする。
【0076】
2、キャルセルビルダ(CB)スレッド44:このスレッドは、オブジェクトキャルセルを構成する(二値の)DSMCCセクションを構築する義務がある。CBスレッド44は、SGメインスレッド42からキャルセルの記述を受け取る。いったんDSMCCセクションが構築されると、それらはペイロードとしてのMuxスレッド48に運ばれる(以下を参照)。CBスレッド44は、SIスレッド46とも通信し、適切なサービス情報をSIスレッド46で管理されるテーブルに挿入する。
【0077】
3、SIスレッド46:このスレッドは、サービス情報(SI)テーブルを発生及び更新する義務がある。SIスレッド46は、SIテーブルを構成するMPEG2セクションを構築し、このペイロードとしてのMPEG2セクションをMuxスレッド48に送る。現在、PAT及びPMTの二つのテーブルがSIスレッド46によって管理されている。CBスレッド44は、CBスレッド44からの要求を受け取ってPMTの中のプログラム番号を予約し、キャルセルのPIDを予約し、キャルセルを識別するのに必要なPMTの記述を加えるか削除する。
【0078】
4、Muxスレッド48:このスレッドは、CBスレッド44及びSIスレッド46からペイロードを受け取り、このペイロードをMPEG2トランスポートストリームパケットの中に多重化する。さらに、このMuxスレッド48は、物理ディバイスドライバと通信し、物理インターフェースエサーネットASI、ATMによってトランスポートストリームパケットをポンプアウトする。
【0079】
ストリーム発生器26の各構成要素(SGメインスレッド42、SIスレッド46、キャルセルビルダスレッド44、Muxスレッド48)は、他のスレッドとともに同時に実行される別個のスレッドである。SIスレッド46、キャルセルビルダスレッド44は、「プッシュ」モードの中で働く。これらは、トランスポートビットストリームの一部を計算し、それらを前方のMuxスレッド48に押し出す。Muxスレッド48は「プル」モードの中で働く。データがSIスレッド46又はキャルセルビルダスレッド44のいずれかから入手可能となったと同時に、このデータをプルオフしてペイロードをトランスポートストリームパケットの中に多重化することを開始する。
【0080】
図6は、キャルセルの具体的な構成を示す図である。各キャルセルビルダ28は、例えば図6に示すように、情報のキャルセルを構築することができる。キャルセルビルダ28は、一連のDSMCCファイルが順番に伝送されるようにトランスポートストリームデータを適切に構築する。例えば、図6に示された各ページは、MHEG又はHTMLファイル、又はJavaアプリケーションを備える。この結果、このストリーム発生器26で発生されたストリームは、これらのページの各ページを順番に有する。
【0081】
キャルセルビルダ28は、ページからなるメインキャルセルの各ローテーションにおいて、特定のページ自体が一連のサブページを介して回転するようになされるサブキャルセルを構築することができる。
【0082】
各出力ストリームが多数の異なるキャルセルを有することができるので、多数の異なるキャルセルビルダ28が供給されてもよい。マルチプレクサ/パケタイザ30は様々なキャルセルビルダ28からのデータを出力ストリームの中に配列する。
【0083】
図4及び図5に示すように、ストリーム発生器26も、オペレーティングシステム抽象レイヤを用いる。さらに、ストリーム発生器26は、ドライバー抽象レイヤを用いる。このように、出力ドライバーは、例えば情報サーバ18の全体の構成を変更することなくオペレーティングシステムとともに変更される。ただ、その代わりに、ドライバーインプリメンテーションを変更する必要がある。
【0084】
ドライバ32は、トランスポートストリームデータをDVBエンコーダボードに運ぶ。
【0085】
各キャルセルビルダ28は、例えばそれらの独自のデータとともに動作し、マルチプレクサは、トランスポートストリームの様々なキャルセルの間のスケジュールを扱う。
【0086】
キャルセルビルダ28は、それら自身のメモリを効果的に所有する。実際に、キャルセルのページを記憶装置24の中のデータから構成しているので、例えば、これらのページのトランスポートストリームは、例えばキャルセルビルダ28によって格納される。このように、キャルセルのページがホストコンピュータ20からのAPIサーバの指示のもとで変更されたとき、全体のキャルセルのデータを再計算する必要はなく、変更されたページのみを再計算する必要がある。一つのページのデータが他のページに依存しているときでさえ、同様に、すべてのページではなく変更を要求するページのみのデータを再計算する必要があるように、依存構造を組み込むことが提案されている。
【0087】
各キャルセルビルダ28は、コンテント及びコンテントの記述を読み込み、DSMCCオブジェクトキャルセルを構築し、適切なDSI、DII、DDBセクションを用意する。
【0088】
SIテーブルマネージャ34は、PAT/PMTセクション、プログラム番号及びPIDを管理する。マルチプレクサ/パケタイザ30は、セクションをパケットに細長く分割し、分割されたパケットをドライバ32のスロットの中で構築する。
【0089】
上述したように、情報サーバ18は、オペレーティングシステム抽象レイヤOSALを有することが好ましい。これは、例えば、オブジェクト指向のC++に基づいたクラスライブラリーである。Windows95、WindowsNT、UNIX、LINUX等の様々なオペレーティングシステムによって提供される本質的なオペレーティングシステムサービスのいくつかを抽象するAPIを供給するOSALが提案されている。OSALは、スレッド、セマフォ、ファイル、ディレクトリ、プロセッサ、ファイルシステム独立パス名及びインタープロセスメッセージ要求の抽象を供給することが提案されている。
【0090】
OSALスレッド抽象は、単一のプロセスのアドレススペース内の実行の独立ユニットの作成及び破棄をサポートする。スレッドスケジューリングは、優先度クラスの離散番号に基づいた単純な優先度体系に続く。
【0091】
OSALセマフォ抽象は、イントラプロセス、バウンデッド及びアンバウンデッドカウンティングセマフォ及び異なるスレッドの実行状態を同期させるために用いられる関連したWait/Signal動作をサポートする。
【0092】
OSALファイル/ディレクトリ抽象は、単純な仮想ファイルシステムに階層ディレクトリ構造及び読み込み/書き込み/実行ファイル/ディレクトリ許可を供給する。ファイルシステム独立パス名は、異なる物理ファイルシステム機構上にマップされことが可能なオペレーティングシステム独立ネーミング体系を供給する。ファイルを作成/削除、ファイルから/ファイルへバイトシーケンスの読み込み/書き込みをするために、オペレーションが特定のバイト番号の位置に供給され、ファイルのサイズを検索する。ディレクトリからのオペレーションは、成分ファイル/ディレクトリからの作成/削除及び繰り返しを含む。
【0093】
OSALプロセス抽象は、例えば、アドレススペースの一部であることが必要な仮想アドレススペース及びコード/データセグメントの概念をサポートする。例えば、オペレーションが供給され、プロセスを開始/停止し、その状態(実行、終了)を問い合わせる。
【0094】
OSALmキュー抽象は、例えば、バイト指向のファーストインファーストアウトメッセージキューに基づいたインター/プロセス通信を実行する手段を提供する。例えば、オペレーションが供給され、キューからの可変長バイトストリングを入れるか検索し、各キューで入手可能なメッセージ/バイトの全番号をチェックする。
【0095】
各OSAL抽象は、例えば、異なる強いタイプのC++ハンドルクラスによってサポートされる。ハンドルクラスは、オペレーティングシステム抽象上にオブジェクト指向の視覚を供給する。OSALの先頭に書き込まれた強いタイピングアプリケーションのため、APIは、ストリンジェントコンパイル時間タイプチェッキングから利益を得る。ハンドルクラスの例は、オペレーティングシステム依存のエンティティを表し、オペレーティングシステムサービスは、ハンドルクラス上の方法として表される。ハンドクラスは、インプリメンテーションがオペレーティングシステム(Windows95、WindowsNT、Unix)規定である低レベルAPIを用いているので、ハンドクラスのインプリメンテーションは、ANSIC++規格をサポートするすべてのプラットホームで軽く、能率的でありポータブルである。たいていの場合、低レベルAPIは、OSALによって課されたオーバーヘッドが最小になるように、下位のオペレーティングシステムにサポートされたサービス上に直接マップする。
【0096】
OSALクラスライブラリ及びAPIは、例えば、DSMCCオブジェクト及びデータキャルセルによってHTML、Java、MHEG及び他のデータの送付をサポートするDVB−コンプライアントデータ放送サーバのクロス−プラットホームインプリメンテーションを構築するために用いられる。スレッド抽象は、例えば、(a)コンテントデータからDSMCCオブジェクトキャルセルビットストリームを発生する多数のスレッド、(b)DVBサービス情報を発生する専用のスレッド、及び(c)DSMCCセクション及びテーブルデータをトランスポートストリームパケットに多重化するスレッドをサポートするために用いられる。セマフォ抽象は、これらのスレッド間を同期させるために用いられる。ファイル及びディレクトリ抽象は、サーバのファイルシステムの永続的なコンテントへのアクセスを実行するために用いられる。プロセス抽象は、ネットワーク通信専用のプロセス及びサーバから出力されるトランスポートストリームの発生を扱うもう一つのプロセスを実行するために用いられる。mqueue抽象は、ネットワーキングスタック及びビットストリームの発生の間の通信を実行するために用いられる。OSALクラスライブラリ及びAPIを用いて、データ放送サーバアプリケーションコードは、OSALが現在サポートしている各オペレーティングシステム上に変更されずに流れている。
【0097】
上述したように、例えば、ストリーム発生器26は、多数のキャルセルビルダ28を備えている。一つキャルセルのページが他のキャルセルのページよりも多く伝送されることが望まれる。これを実行するため、マルチプレクサ/パケタイザ30は、例えば、一つのキャルセルからのトランスポートストリームパケットを他のキャルセルからのトランスポートストリームパケットよりも多く取り入れている。例えば、二つのキャルセルしかなく、一つのキャルセルが他のキャルセルの3倍の重みを有するときで、トランスポートストリームパケットを満たそうとするき、マルチプレクサ/パケタイザ30は、重みの75%を一つのキャルセルに割り当て、そのキャルセルからのデータを三つのパケットに満たすとともに他キャルセルからのデータも三つのパケットに満たすようにする。
【0098】
残念ながら、このシステムは、トランスポートストリームに伝送されたデータの特徴に変更が行われたとき、計算上高価である。例えば、上述した例によれば、すでに用いられている重要性の低いキャルセルと同様の重要性を有する第3のキャルセルが追加されたとき、このシステムは、この三つのキャルセルにそれぞれ伝送時間の60%、20%及び20%を与えられるように再計算されなければならない。言い換えれば、キャルセルの重要性が変更されるか、キャルセルが追加されたり削除されるときは、マルチプレクサ/パケタイザ30によって実行される比率割り当てを再計算しなくてはならない。
【0099】
情報サーバ18の中では、パケットのスケジューリングのため、新しいアルゴリズムが提案される。
【0100】
図7は、様々なデータソースの重要性を割り当てるデータ配列を示す図である。
【0101】
一連の概念的なタイムスロットtが配列される。配列された各タイムスロットtは、例えばキャルセル、記憶装置24からの未加工のデータなどの一又は二以上のデータソースの登録を許可する。各データソースに概念的な周波数に基づいた相対的な優先度を割り当てることによって、様々なデータの優先度が簡単に指定される。
【0102】
図7の例の中では、データソース1は優先度4として割り当てられ、よって、四つの概念的なタイムスロットごとに現れる。同様に、データソース2は優先度3として与えられ、データソース3は優先度2として与えられる。マルチプレクサ/パケタイザ30は、配列に沿って指定されたデータソースの連続に従い、空の観念のタイムスロットをどれも無視して、MPEGパケットを作成する。例えば、図7に示すデータソースに従うと、マルチプレクサ/パケタイザ30は、パケットをデータソース1からのデータで満たし、次にパケットをデータソース2からのデータで満たし、次にパケットをデータソース3からのデータで満たし、次にパケットをデータソース2からのデータで満たし、次にパケットをデータソース3からのデータで満たし、次にパケットをデータソース1等からのデータで満たす。このようにして、データソース1からのデータは、データソース2から4回伝送されるごとに、またデータソース3から6回伝送されるごとに3回伝送される。
【0103】
上述したように配列を用いることによって、データソースが追加されるか又は削除されるとき、あるいはデータソースの優先度が変更されたときに、再計算は要求されない。例えば、データソースが削除されたとき、データソース1及び2の間の相対的な優先度は維持される。同様に、例えば、割り当て1のような非常に高い優先度のもとに四つ目のデータソースが伝送されたとき、たとえ以前の半分の周波数でデータソース1、2、3が全て伝送されたとしても、それらの相対的な優先度及び周波数は同じのままである。このように、データオペレーションに優先度を指定するシステムは計算上さらに能率的になる。
【0104】
このシステムを上述した情報サーバ18のストリーム発生器26で用いることによって、帯域幅を例えば様々なキャルセルビルダ28のような様々なデータソースに割り当てることが簡単になる。一方、CPUの中の処理時間を割り当てることも、同様に可能になる。特に、実行を要求する様々なタスクは、帯域幅が割り当てられた方法と同じ方法で優先度が割り当てられる。
【0105】
例えば、処理又は帯域幅などのリソースを得る能力は、リソースの相対的なシェアのみだけでなく、最初のアクセスの呼び出し時間にも基づく必要はない。すなわち、いくつかのプロセスは、他のプロセスよりもっと速急にアクションを要求する。例えば、CPU処理時間の低い呼び出し時間割り当ては、マルチ−メディアアプリケーションのスムーズな動作を確実にする際に重要である。例えば、ワードプロセシング及びビデオ表示の二つの処理に処理時間の所定の割合が割り当てられたら、ビデオ表示に処理を行うさらに速急のアクセスを与えられることがさらに必要になってくる。
【0106】
この必要性を明らかにするため、データ処理であろうがデータ伝送であろうが、例えば、追加のパラメータが各リソース消費者又はデータ動作に割り当てられる。このパラメータは、リソースアクセスの呼び出し時間を決定するために意図されている。
【0107】
このようにして、各リソース又はデータオペレーションには、どれを最初に行うかを決定するために多数のリソース顧客が比べられたり、又は同様に、どれを最初に伝送するかを決定するために多数のリソース顧客が比べられたりして、呼び出し時間値が与えられる。上述した情報サーバ18の場合、できるだけ速く伝送されて受け取られなければならない非常に重要な情報片があるところでは、このデータがマルチプレクサ/パケタイザ30によってデータストリームの中にできるだけ速く挿入されるように、適切なデータソースに非常に高い呼び出し時間値が与えられる。
【0108】
上述したキャルセルビルダ28の中で、各キャルセルビルダ28は、それぞれマルチプレクサ/パケタイザ30に供給するための複数のDVBセクションを構築する。これらのセクションは、その特定のキャルセルビルダ28のキャルセルを表示するデータを含む。情報サーバ18又はキャルセルビルダ28自身がキャルセルの中のページの一、又は二以上を変更するか又は交換することができるということが望まれている。ところが、上述したように、キャルセルビルダ28が記憶装置24の中のデータから適切なキャルセルをいったん構築したとき、そのデータは、再計算されないで循環伝送のためにただ単に格納される。キャルセルの中のページ又はファイルを変更するために、そのキャルセルの全てのデータを再計算することは可能である。ところが、新しいキャルセルが伝送される前は、好ましくない遅延となる。
【0109】
図8は、キャルセルビルダ28によって行われたデータ変更の処理を示す図である。データファイルは、DSMCCオブジェクトキャルセルの一部としてのBIOPを作成するため、これらのデータファイルに追加されたヘッダを有する。これらのデータファイルは、次に、一諸にグループ化されDSMCCデータキャルセルのモジュールを作成し、これらのモジュールは、次に、マルチプレクサに順番に送られるようにDVBセクションに分割される。
【0110】
明らかなことであるが、ファイル1が変更されたとき、後に作成されるモジュール及びセクションとともに、BIOPファイル1も同様に変更される。ところが、ファイル2及び3のBIOPは、変更されないままになる。したがって、ファイル1への変更のあと、キャルセルビルダ28がファイル2及び3のBIOPを再計算する必要がなくなる。
【0111】
キャルセルビルダ28が不必要な再計算を避けるようにするため、依存機構が提案されている。この機構を用いることによって、更新を例えばファイルディレクトリ等の成分に用いることによって、DSMCCオブジェクトキャルセルのビットストリーム表示を速く更新することができる。
【0112】
依存構造は、一連のノード及びポインタによってキャルセルビルダ28の中に配列される。特に、依存ネットワークは、二種類のエンティティ、すなわち(a)コンテント参照と呼ばれるポインタをDSMCCオブジェクトキャルセルのビットストリーム表示の特定のサブパートに格納する依存ノード、及び(b)他のセットのコンテント参照を計算するために一つのコンテント参照のセットがどのように用いられるかを示す依存リンク、からなる。依存ノード自身は二つのタイプからなり、すなわち、(1)DSMCCオブジェクトキャルセルの成分(すなわち、DSMCCファイル及びディレクトリオブジェクト)へのコンテント参照を含む主要ノード、及び(2)他のノードのコンテント参照への変換を含む計算されたノード、からなる。変換は、一つのセットのコンテント参照に応用され、DSMCCオブジェクトキャルセルビットストリームの新しいパートを指す新しいコンテント参照のセットになる。
【0113】
キャルセルビルダ28が適切なデータを構築したとき、DSMCCオブジェクトキャルセルビットストリーム(たとえば、モジュール)の一片がどのようにしてビットストリームの他の一片(例えば、同モジュールの圧縮されたモジュール)に達するかを示すために、依存リンクが記憶される。依存リンクは、依存ネットワークの計算されたノードによって変換が実行されたときに確立される。特に、依存ノードの変換が他のノード(主要ノード又は計算されたノード)に関連したコンテント参照を用いた場合、用いられたノードと変換を計算するノードの間で依存が確立される。依存リンクは、用いられたノードに関して記憶され、依存リンクのために用いられたノードを示す。
【0114】
依存リンクは、オブジェクトキャルセルの成分が変化したとき、すなわち主要ノードのデータが変化したとき、新しいビットストリームを計算するために、依存機構が再び応用することが必要な変換のセットを速く決定することを許可する。
【0115】
更新が行われると、DSMCCファイル及びディレクトリオブジェクトのいくつかが変更される。この結果、これらの変更に関連している主要ノードが変更される。変更が起こったこれらの主要ノードのために、これらの主要ノードに関連した依存リンクが続き、その結果のあらゆる計算されたノードをマークする。計算されたノードが届いたところでは、その計算されたノードの依存リンクが用いられてさらに計算されたノードに向かって再び前進する。このようにして届いた全ての計算されたノードは、前方のあらゆる依存リンクとともにクリアされる。この結果、依存ネットワークは、あるリンクされ計算された空のノードを有する。よって、キャルセルビルダ28は、現在空のこれらの計算されたノードのもとの計算処理を繰り返す。この結果、計算されたノードがコンテント参照の新しいセットを再計算するためにそれらの変換を再び適用するとき、依存ノードがそれらが参照したノードから再び確立される。
【0116】
主要ノードが変更されないか、又は計算されたノードが削除されないとき、その結果の計算されたノードは、変更されていない主要の又は計算されたノードを単に参照する。このように、計算されたノードが変更されていない主要の計算されたノードをただ参照するとき、それは、変換を再び適用することなく直接用いられる。結果が依存するコンテント参照が変更されない限り、結果は、それを再計算する必要なく更新されたビットストリームの中で直接再び用いられる。更新によって影響されないキャルセルの一部がすでに依存ネットワークの中に格納されているので、依存ネットワークはDSMCCオブジェクトキャルセルのコンテントを速く更新することを許可する。
【0117】
このようにして、依存機構は、オブジェクトキャルセルを構成するDSMCCセクションのビットストリーム表示を構築するのに用いられる。ビットストリーム表示は、異なるセクションを指すコンテント参照のリストからなる。コンテント参照は、DSMCCセクションをMPEGトランスポートストリームにパケット化するマルチプレクサに送られる。この機構は、DSMCCオブジェクトキャルセルの成分部(すなわち、ファイル及びディレクトリ)が変化したとき、変更されたDSMCCセクションを再計算するのに用いられる。この技術をDSMCCデータキャルセルに適用することも可能である。
【0118】
図9は、データ伝送の依存構造を示す図である。特に、主要ノードn4を変更し、依存リンクを参照することによって、計算されたノードn7のコンテントが変更されなければならないことは明らかである。計算されたノードn7の依存リンクを参照することによって、計算されたノードn8のコンテントが変更されなければならないことも明らかである。削除された計算されたノードn7及びn8のコンテントとともに、また、新しいコンテント参照を含む主要ノードn4とともに、計算されたノードn7は主要ノードn4及びn5のコンテント参照を用いることによって再計算される。計算されたノードn8のコンテント参照は、計算されたノードn6及びn7のコンテント参照から再計算される。このプロセスの中で、計算されたノードn6のコンテント参照を再計算する必要がないことがわかる。
【0119】
情報サーバ18の各ストリーム発生器26のために、トランスポートストリームによって伝送されるDSMCCファイルオブジェクトを更新する際、いくつかの柔軟性をさらに供給することが好ましい。
【0120】
上述したように、このストリーム発生器26は、一又は二以上のキャルセルビルダ28と、結果として生じるMPEGトランスポートストリームを構築するマルチプレクサ/パケタイザ30とを備える。さらに、依存ネットワークは、ペイロードと呼ばれ、DSMCCレベルでビットストリームを構築するDSMCCオブジェクトキャルセルの要求されるDSMCCセクションを計算するプロセスの中に組み込まれる。
【0121】
DSMCCファイルオブジェクトの「ホット挿入(hot insertion)」を供給することが望まれている。これは、DSMCCファイルオブジェクトの放送ビットストリームの中へのできるだけ速い帯域外挿入である。
【0122】
上述したように、DSMCCオブジェクトキャルセルの要求されるDSMCCセクションがキャルセルのために計算されると、それらはただ単に記憶され、循環して再伝送される。DSMCCレベルビットストリームは、それから再計算されなければならないので、DSMCCファイルオブジェクトをただ単にキャルセルのオブジェクトの中にホット挿入することは望まれていない。一方、DSMCCセクションをすでに確立されたビットストリームにホット挿入することはDSMCCキャルセルの伝送を堕落させることになる。
【0123】
マルチプレクサは、計算されたペイロードのリストを介して繰り返しループし、ペイロードを伝送のためにMPEG2トランスポートストリームパケットの中に動的にチョップアップする。DSMCCファイルオブジェクトの「ホット挿入」を許可するため、オブジェクトキャルセルのDSMCCセクションの完全なセットのペイロードリストの中で「挿入点」が決定される。これらの「挿入点」は、マルチプレクサが帯域外のDSMCCファイルオブジェクトのための追加のペイロードを安全に挿入することができるマーカーである。
【0124】
よって、帯域外更新のペイロードが計算され、マルチプレクサに送られる。マルチプレクサは、次の利用可能なマークされた挿入点を待ち、そして帯域外ペイロードを挿入する。これによる効果は、コンテントに干渉することなく残りのキャルセルデータの伝送を送らせることである。
【0125】
上述したように、一つのDSMCCファイルオブジェクトの循環更新を供給することも好ましい。言い換えれば、キャルセル放送のすべてのラウンドで、例えば、特定のDSMCCファイルの異なるバージョンが伝送されてもよい。
【0126】
上述した依存ネットワークに関しては、循環更新は、DSMCCオブジェクトの各バージョンのペイロードを計算するのに用いられる依存ネットワークの中の分離されたノードを有することによって達成される。ペイロードの完全なリストはマルチプレクサに示されるが、このリストは、オブジェクトキャルセルの次のサイクルの中でマルチプレクサが要求するときはいつも、次のペイロード値を送るように内部で機構化される。キャルセルの各ラウンドのためのDSMCCオブジェクトの更新バージョンを計算するより、ポインタは単に適切なペイロードを示すので、この機構は非常に効果的である。
【0127】
放送順番、放送周波数及びホット更新に関連するDSMCCファイルオブジェクトの選択は、ユーザによって実行されることが好ましい。このため、データは以下に示したテーブルによる方法で入力されることが好ましい。
【0128】
【表1】
【0129】
表1からわかるように、テーブルは三つの列からなる。最初の列は、放送の受信者によって取り扱われるので、DSMCCファイルオブジェクトの参照名をリストしている。参照名の完全なリストは、受信者が操作する仮想名スペースからなる。第2の列は、参照名によって参照されたアイテムの属性を規定する。三つの属性、すなわち正常、循環及び即時を提供することが提案されている。これらは、以下に示される。第3の列は、フルネームのリスト、言い換えれば物理ファイルネームを規定する。
【0130】
属性の「ノーマル(normal)」は、参照ページが常にリストされたファイルを出力することを意味している。一方、「サイクリック(cyclic)」の属性に関しては、テーブルは、キャルセルの各サイクルの中で、そのページのためにリストされた次のフルネームが含まれるように、二つつ以上のフルネームを有する。属性の「イミディイット(immediate)」は、そのページのために一つのファイルが伝送される点で「ノーマル」と同じ効果を有する。一方、そのページのために更新が受信されたあとすぐに参照ページが属性の「イミディイット」を有するところでは、そのページは「ホット挿入」として挿入されるがキャルセルの中の正常な位置まで再び現れない。
【0131】
以上の例では、キャルセル構成テーブルは、ページ1、ページ2、ページ3の名前の3ページから構成される論理キャルセルを決定する。放送の順序は、第1の列によって決定され、すなわちページ1−ページ2−ページ3−ページ2、そしてページ1に戻る。しかしながら、キャルセルの各サイクルの循環ページのために、フルネームのリストからの次の項目である(第3の列が取られる)。よって、コンテントの観点からみると、キャルセルの順序は、/スポーツ/イントロ−/ニュース/アイテム1−/ギャンブリング/ホース−/ニュース/アイテム5−/スポーツ/イントロ−/ニュース/アイテム2−/ギャンブリング/ホース−/ニュース/アイテム6−/スポーツ/イントロ−/ニュース/アイテム3−/ギャンブリング/ホース−/ニュース/アイテム5−/スポーツ/イントロ−/ニュース/アイテム4−/ギャンブリング/ホース−/ニュース/アイテム6となる。
【0132】
キャルセル構成テーブルのデータの入力に続き、適切なキャルセルビルダ28は、上述した依存ネットワークに応じて、要求されるDSMCCセクションを計算する。特に、参照名によって決定されるページは主要ノードとしてセットアップされる。一つのページが循環と決定されるところでは、キャルセルビルダ28は、循環の各オブジェクトに対応して同様の重複ページをセットアップする。キャルセルビルダ28は、そのページの適切なモジュールを計算する。好ましくは、そのモジュールを計算する際、各サイクルで、再計算が最小に保たれるように同様の循環ページが分離したモジュールに割り当てられる。「イミディイット」の属性を有する同様のページは分離したモジュールに割り当てられ、必要なとき挿入を容易にする。
【0133】
【発明の効果】
以上の説明から明らかなように、本発明に係る情報サーバ及びキャルセル情報配列方法によれば、キャルセルを用いて多数の異なるデータファイルを次々と伝送するする際、全体のトランスポートストリームを混乱させないで追加ペイロード情報を挿入することのできる。
【図面の簡単な説明】
【図1】本発明が適用された放送ネットワークを示す図である。
【図2】本発明が適用された情報サーバのプレイアウトセクションを示す図である。
【図3】本発明が適用された情報サーバの配列を示す図である。
【図4】本発明が適用された情報サーバを示す図である。
【図5】本発明が適用された情報サーバを示す図である。
【図6】本発明が適用されたオブジェクト/データキャルセルを示す図である。
【図7】データオペレーションに優先度を割り当てる概念的なタイムスロットの配列を示す図である。
【図8】ファイルからのDVBセクションの構築を示す図である。
【図9】データ伝送の依存構造を示す図である。
【符号の説明】
22 APIサーバ、23 RPC、24 記憶装置、25 OSAL、26ストリーム発生器、27 API、28 キャルセルビルダ、30 マルチプレクサ/パケタイザ、32 ドライバ、34 SIテーブルマネージャ、
Claims (4)
- 複数のファイルを連続且つ循環してキャルセルとして出力する情報サーバにおいて、
1以上のファイルをまとめてページとして複数のページが定義され、前記各々のページに対して前記キャルセルの出力順序をページ番号として定義し、前記各々のページ毎にこれに属する1以上のファイルにおいて出力すべきファイルを選択するための条件を属性として定義するテーブルを記憶する記憶部と、
前記記憶部に記憶された前記テーブルを前記ページ番号の順序で連続して参照し、参照したページに対して属性として定義された条件に従って、前記ページ番号に対応するページに属する前記ファイルを出力するキャルセルビルダと、
を備えることを特徴とする情報サーバ。 - 前記属性は、
ページが参照されると常にこのページに関連付けられたアドレスにより示されるファイルを出力するよう選択する正常属性と、
ページが参照される毎に前回選択されたアドレスと異なるアドレスにより示されるファイルを出力するよう選択する循環属性とを備える
ことを特徴とする請求項1に記載の情報サーバ。 - 前記属性は、ページが参照されると常にこのページに関連付けられたアドレスにより示されるファイルを出力するとともに、前記アドレスにより示されるファイルのコンテントが更新されたとき当該ファイルを出力するよう選択する即時属性をさらに備える
ことを特徴とする請求項2に記載の情報サーバ。 - 記憶部により、1以上のファイルのアドレスと、前記ファイルの表示の順序を表す情報としてのページと、前記ページを循環するごとに出力する前記ファイルの選択方法を決定する属性とを互いに関連付けてテーブルに記憶するステップと、
キャルセルビルダにより、前記キャルセルの前記ページを連続して参照し、各ページに関連する属性に従って前記アドレスにより示されるファイルを出力するステップと、
を備えるキャルセルファイル出力方法。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99300438.1 | 1999-01-21 | ||
EP19990300440 EP1022902B1 (en) | 1999-01-21 | 1999-01-21 | Method and system for prioritising data operations |
EP99300440.7 | 1999-01-21 | ||
EP99300441.5 | 1999-01-21 | ||
EP99300438A EP1022908B1 (en) | 1999-01-21 | 1999-01-21 | Information server and method of constructing a transport stream |
EP19990300441 EP1022909B1 (en) | 1999-01-21 | 1999-01-21 | Information server and a method of arranging carousel information |
EP99300439.9 | 1999-01-21 | ||
EP19990300439 EP1022901B1 (en) | 1999-01-21 | 1999-01-21 | Information server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000358071A JP2000358071A (ja) | 2000-12-26 |
JP4460702B2 true JP4460702B2 (ja) | 2010-05-12 |
Family
ID=27443837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000017852A Expired - Fee Related JP4460702B2 (ja) | 1999-01-21 | 2000-01-21 | 情報サーバ及びキャルセル情報配列方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4460702B2 (ja) |
KR (1) | KR100758514B1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100672405B1 (ko) * | 2001-02-01 | 2007-01-23 | 엘지전자 주식회사 | 디지털 티브이의 사용자 인터페이스 장치 및 방법 |
KR100438858B1 (ko) * | 2002-02-07 | 2004-07-05 | 엘지전자 주식회사 | 데이터 방송의 수신속도를 향상시키는 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2067650C (en) * | 1991-07-24 | 1996-10-22 | Eric Jonathan Bauer | Method and apparatus for operating a computer-based file system |
CA2153445C (en) * | 1994-09-08 | 2002-05-21 | Ashok Raj Saxena | Video optimized media streamer user interface |
US5805825A (en) * | 1995-07-26 | 1998-09-08 | Intel Corporation | Method for semi-reliable, unidirectional broadcast information services |
JPH09247466A (ja) * | 1996-03-05 | 1997-09-19 | Canon Inc | 符号化装置 |
-
2000
- 2000-01-20 KR KR1020000002593A patent/KR100758514B1/ko not_active IP Right Cessation
- 2000-01-21 JP JP2000017852A patent/JP4460702B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000358071A (ja) | 2000-12-26 |
KR20000076493A (ko) | 2000-12-26 |
KR100758514B1 (ko) | 2007-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2145899C (en) | Apparatus for transmitting and receiving executable application in a distributed computer system | |
US6430607B1 (en) | System and method for performing remote requests with an on-line service network | |
US6289390B1 (en) | System and method for performing remote requests with an on-line service network | |
US5801753A (en) | Method and apparatus for providing an interactive guide to events available on an information network | |
KR100561503B1 (ko) | 복수의성분신호를나타내는데이터용전송패킷스트림엔코더를동작시키는방법및장치 | |
US5864557A (en) | Method and apparatus for opportunistically transferring data in a packet stream encoder | |
JPH0846923A (ja) | オーディオ・ビデオ・インタラクティブ・コンポジット信号のための、アプリケーション・プログラムを表す、インタラクティブ・コンポーネント・データ・ストリームを生成するための方法と装置 | |
EP2224643A1 (en) | Content publishing and storing method for interactive personal television media delivery system | |
CN1723696A (zh) | 具有部分字符集发生器的交互式电视系统 | |
CN1112333A (zh) | 控制执行音频视频交互程序的方法 | |
KR20060065645A (ko) | 브로드캐스트에서 특징 이용성 핸들링 | |
US20030191815A1 (en) | Method and system for optimising a data carousel | |
JPH10243051A (ja) | データ・ストリーム組み立て方法およびシステム | |
EP1022908B1 (en) | Information server and method of constructing a transport stream | |
JP4460702B2 (ja) | 情報サーバ及びキャルセル情報配列方法 | |
EP1022909B1 (en) | Information server and a method of arranging carousel information | |
EP1022902B1 (en) | Method and system for prioritising data operations | |
EP1022901A1 (en) | Information server | |
KR100565577B1 (ko) | 방송 상호 프로토콜 메시지 생성 장치 및 그를 이용한 방송 상호프로토콜 메시지 생성 방법 | |
JP4128939B2 (ja) | データカルーセルプロトコルを利用するdaseデータ放送システムにおいてアプリケーションリソースを表すモジュール情報を伝送する方法及びその装置 | |
US20040177368A1 (en) | Apparatus and method for addressing control in a network for distributed data | |
US7133408B1 (en) | Shared decoder | |
Lin | Near-optimal Heuristic Solution for Truncated Harmonic Windows Scheduling and Harmonic Group Windows Scheduling | |
JPH0715465A (ja) | トラフィック制御装置 | |
JP2000056994A (ja) | プログラム配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061220 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080515 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080806 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091028 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100119 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140219 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |