JP2001519579A - マルチスレッドデータ処理装置 - Google Patents

マルチスレッドデータ処理装置

Info

Publication number
JP2001519579A
JP2001519579A JP2000515389A JP2000515389A JP2001519579A JP 2001519579 A JP2001519579 A JP 2001519579A JP 2000515389 A JP2000515389 A JP 2000515389A JP 2000515389 A JP2000515389 A JP 2000515389A JP 2001519579 A JP2001519579 A JP 2001519579A
Authority
JP
Japan
Prior art keywords
memory
thread
virtual machine
data processing
event
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
JP2000515389A
Other languages
English (en)
Other versions
JP2001519579A5 (ja
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
Priority claimed from EP97402362A external-priority patent/EP0909094A1/en
Priority claimed from EP97402361A external-priority patent/EP0909091A1/en
Priority claimed from EP97402430A external-priority patent/EP0908821A1/en
Application filed by カナル プラス ソシエテ アノニム filed Critical カナル プラス ソシエテ アノニム
Publication of JP2001519579A publication Critical patent/JP2001519579A/ja
Publication of JP2001519579A5 publication Critical patent/JP2001519579A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • 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/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Circuits Of Receivers In General (AREA)
  • Television Systems (AREA)

Abstract

(57)【要約】 1つの態様において、本発明はデジタルオーディオビジュアルデータ処理装置、特に、デジタルテレビシステムのための受信機/デコーダを備えるものであって、データの送受信のための1つ以上のハードウエアデバイスを備え、ハードウエア装置は少なくとも1つの関連するハードウエアオペレーティングシステム(4100)を有し、デコーダは更に、特にハードウエアオペレーティングシステムから信号で知らされたイベントメッセージを受信して、対応するイベントオブジェクト(4564)を1つ以上のスレッド(4561)に割りつけるように適応されたマルチスレッド仮想計算機(4250)を含むデータ処理システムを備えてなり、イベントオブジェクトを含むスレッドは、そのスレッドを実行中に停止されて別のスレッドを実行できるようにしてもよい。第2の態様からみると、本発明は、特に、1つ以上のハードウエアデバイスを介してダウンロードされる解釈言語で書かれた符号を受信するよう適応される第1の仮想計算機を含むデータ処理システムを備えるデジタルオーディオビジュアルデータ処理装置に関するものであり、前記仮想計算機は、受信する符号の構造に依存して少なくとも2つの解釈言語で書かれた符号同士を識別して、こうした符号を、特に共通の、あるいは特定の機能ライブラリを参照しながら、解釈、実行するための対応するインタプリタ手段に渡すように適応される。第3の態様から見ると、本発明は、メモリと、メモリ内にオブジェクトを割り付けて記憶させるためのメモリ手段を含むデータ処理システムを含むデジタルオーディオビジュアルデータ処理装置を備えており、第1の組のオブジェクトは、1組のハンドルを参照しながらメモリマネージャによって割りつけられ、各ハンドルは対応するオブジェクトのメモリアドレスへの参照を含み、第2の組のオブジェクトは、ハンドルを参照せずにメモリ内で直接割り付けられて記憶される。

Description

【発明の詳細な説明】
【0001】 本発明はデジタルオーディオビジュアルデータ処理装置に関し、特に、マルチ
スレッドデータ処理装置を含めたデジタルテレビジョンシステム用デコーダに関
する。
【0002】 デジタルテレビデータとダウンロードしたアプリケーションを処理するために
仮想計算機と実行時エンジンとを用いるデジタルテレビシステム内のデコーダを
制御するソフトウエアベースのシステムは、PCT出願PCT/EP97/02
116に記載されている。このシステムは、従来より知られている受信機/デコ
ーダ用システムに比べて多くの優れた点があり、特に、仮想計算機構造を用いて
製造されたデコーダのハードウエア構成要素からシステムの適用業務層が独立し
ているという点で優れている。
【0003】 この出願に記載されるシステムは、システム内で生じるイベントを制御、処理
するための単一のファイル待ち行列ベースの構造原理を利用するものである。待
ち行列ベースの構造に関連し、優先度が高いイベントへの応答が相対的に遅く、
システムへ同時に多数入力する場合、効率良く処理することができないことなど
、多くの問題点がある。上記の通り、システムには多数のプロセスシーケンサユ
ニットが含まれている。システムはこのようなシーケンサの動作を優先させるが
、一旦特定のプロセスが開始すると、別のプロセスに変更することができない。
【0004】 構造上のこれらの問題点は、受信機/デコーダが対話式アプリケーションを含
む場合に特に顕著となる。たとえば、システムが、データのダウンロードにしば
しば長時間を要することで優先コマンドに応答してタスクを変更できないため、
ユーザから別のモードに変更せよというコマンドがあるのにも関わらず、システ
ムがある動作にロックされてしまうこともある。
【0005】 また、この公知のシステムのデバイス駆動装置構造を簡略化する必要もある。
実行時エンジンと公知のデコーダのハードウエアレベルのデバイス間の通信は、
複数のデバイス駆動装置によって処理され、この編成全体は、イベントメッセー
ジの優先度の決定と、処理シーケンサユニットの待ち行列構造へのメッセージの
入力を管理するデバイスマネージャにより処理される。同出願に記載のように、
実行時エンジンはシステム自体によって与えられ、デバイス駆動装置とマネージ
ャは通常デコーダ製造業者によって提供され、その後システム当局者の仕様が与
えられる。
【0006】 これに関連して、デバイスという用語は、通常、スマートカード、放送フラッ
クスなどを介して受信するような、デコーダが受信、送信するデータを処理する
のに用いられるインタフェースデバイスを指している。
【0007】 デコーダ製造業者によって仕様の解釈に差があると、たとえば、マネージャが
優先イベントの正確な分類に従わないということにもなる。このような場合、イ
ベントフィルタと処理シーケンサに供給されるイベントがその優先度に関して誤
って識別され、待ち行列システムに不正確に処理されると、待ち行列システムは
中断してしまう。
【0008】 本発明の1つの態様は、この問題を解消することを目的とする。
【0009】 本発明の1つの態様によれば、データの送受信するための1つ以上のハードウ
エアデバイスに関連する少なくとも1つの関連するハードウエアオペレーティン
グシステムを有し、さらに、特にハードウエアオペレーティングシステムから信
号によって知らされるイベントメッセージを受信し、対応するイベントオブジェ
クトを1つ以上のスレッドに割りつけるように適応されたマルチスレッド仮想計
算機を含むデータ処理システムを備え、スレッドは実行中に一時停止されて別の
スレッドを実行できるようにするデジタルオーディオビジュアルデータ処理装置
が提供される。
【0010】 マルチスレッドアーキテクチャを用いることで、本発明ではこのように、シス
テムが装置の外部インタフェースを介して受信されるイベントの到着に効率良く
応答することが可能となり、非緊急処理の一時停止中に、優先度の高いイベント
を即座に処理することができる。
【0011】 1つの実施例において、仮想計算機は占有権割り当て式マルチスレッドアーキ
テクチャを有し、スレッドは、より優先度が高いスレッドが作成されると、実行
中に一時停止される。この実施例は、優先度イベントへの応答性については好ま
しいが、タイムスライスの実施例のような別の実施例を考えてもよく、この場合
、仮想計算機は所定の周期的な間隔でスレッドの実行に割り込んで、実行すべき
別のスレッドが存在しているかどうかを確認する。
【0012】 好ましくは、仮想計算機は、優先度編成のスレッド待ち行列内の1つ以上のス
レッドにイベントオブジェクトを記憶させることによって、ハードウエアオペレ
ーティングシステムから信号で知らされるイベントメッセージに応答するよう適
応されるイベントマネージャを備えるのがよい。
【0013】 このようにして、イベントの優先度決定を、仮想計算機が直接処理することが
でき、公知のシステムの問題点を回避することになり、イベントは、まず順序付
けられて、低レベルデバイス駆動装置とマネージャによって処理装置の待ち行列
に挿入されるようにしてもよい。上述のように、駆動装置の具現は、製造業者に
よって異なってもよい。対照的に、この好ましい実施例において、イベントメッ
セージは仮想計算機内でイベントマネージャによって記憶されて優先度を決定さ
れ、この特徴はどのプラットフォームでも不変である。
【0014】 イベント処理は、ここでは仮想計算機によって効率良く行われるとしても、実
施例によっては、システムは仮想計算機のオペレーティングシステムとハードウ
エアレベルのオペレーティングシステム間のインタフェースの働きをする1つ以
上のデバイス駆動装置を備えている場合もある。
【0015】 イベントマネージャはまた、ハードウエアオペレーティングシステムから発生
するイベントだけでなく、仮想計算機内部から、または、より高レベルのアプリ
ケーションから発生するイベントメッセージに応答するよう構成してもよい。
【0016】 好ましい実施例において、スレッド内のイベントオブジェクトの順番も、イベ
ントの優先度および/またはイベントの到着時間に応じて優先度をつけてもよい
。これを、命令をスレッド待ち行列内のスレッドに割り付ける際に行われる初期
の優先度決定に追加してもよい。
【0017】 1つの具現化において、仮想計算機はまた、起こりうるイベントメッセージに
関する情報を含み、イベントマネージャが、受信されるイベントメッセージのス
レッドの対応関係を判定できるようにイベントマネージャがアドレスで呼び出せ
る経路指示テーブルを備えていてもよい。この経路指示テーブルは、スレッド内
のイベントオブジェクトの優先度を判定するのに用いてもよい。当業者には明ら
かなように、それに代わる手段を用いてもよい。
【0018】 イベントマネージャと経路指示テーブルに加えて、仮想計算機はまた、優先度
編成のスレッド待ち行列に保持されるスレッドを検査して、その時点で最も優先
度が高いスレッドの実行を命令するように適応されるスケジューラを備えていて
もよい。占有権割り当て式スレッド管理動作を具現するために、イベントマネー
ジャを、イベントメッセージの到着を信号で伝え、スケジューラにスレッド待ち
行列内に保持されるスレッドの新たな状態を検査させるように適応させてもよい
【0019】 上記PCT出願PCT/EP97/02116におけるシステムの別の問題点
は、受信される符号の処理に関するものである。仮想計算機と実時間エンジンを
用いることによって、この出願に記載されているシステムは、システムのハード
ウエアレベルからほとんど独立しているが、それでも、システムの開放性は、公
知のシステムの仮想計算機レベルの最上部にあるアプリケーションに書き込みを
するために用いられる符号によって制限される。この出願に記載されているよう
に、符号は解釈言語で書かれ、放送センタから受信機内にダウンロードされ、仮
想計算機内のインタプリタによって解釈される。
【0020】 符号は商業的に知られた、標準化言語になるよう選択することができるものの
、たとえば、受信機が2つ以上の異なる符号で書かれたアプリケーションを処理
しなければならないときには、問題が生じうる。この問題は、たとえば、デコー
ダが放送システムに導入され、その放送システムでは、その領域に存在するデコ
ーダが、現在のデコーダで用いられる符号とは別の符号で書かれたアプリケーシ
ョンを受信するように適応される。こうした場合、オペレータはあるアプリケー
ションを2度ダウンロードすることにしてもよい、つまり、1度目は、既存のデ
コーダ用の元の言語で書かれているもの、2度目は新たなデコーダ用の新たな符
号で書かれているものとしてダウンロードするのである。明らかなように、こう
した動作は帯域を使用する場合、総体的に効率が悪い。
【0021】 本発明の別の態様は、この問題を解消することを目的とする。
【0022】 本発明の第2の態様によれば、装置外部のデータを送受信するための1つ以上
のハードウエアデバイスを備えるデジタルオーディオビジュアルデータ処理装置
であって、装置はさらに、特に1つ以上のハードウエアデバイスを介してダウン
ロードされる解釈言語で書かれた符号を受信するように適応される第1の仮想計
算機を含むデータ処理システムを備え、前記仮想計算機は、受信する符号の構造
に依存して少なくとも2つの解釈言語で書かれた符号を識別して、解釈と実行を
行うための対応するインタプリタ手段にこのような符号を渡すよう適応されるデ
ジタルオーディオビジュアルデータ処理装置が提供される。
【0023】 このような符号を解釈するための複数のインタプリタ手段とともに、受信する
符号の識別をするよう適用される仮想計算機を設けることによって、本発明は従
来のシステムに関わる問題点を回避し、計算機は様々な解釈言語で書かれて到着
する命令を処理することが可能となる。よって、上部アプリケーションと下部ハ
ードウエアインタフェースのいずれに関しても、完全に開かれたシステムが提供
される。
【0024】 1つの実施例において、仮想計算機は、少なくとも2つの解釈言語による解釈
符号を、言語のうちの1つの言語の符号のモジュールに関連するヘッダメッセー
ジの特徴に基づいて識別する。特に、仮想計算機は、言語のうちの1つの言語の
符号のモジュールに関連するヘッダメッセージのあるなしに基づいて、解釈符号
を識別してもよい。仮想計算機が、送信される符号のストリーム内、またはその
ストリームの終わりにある「フラッグ」に基づいて、あるいは符号のモジュール
のファイル名に基づいて、符号を識別するその他の実施例も考えうる。
【0025】 本発明は、1つ以上の解釈言語がオブジェクト指向言語に対応する場合に特に
適用可能である。このような例では、仮想計算機はその言語による分類ファイル
に関連するヘッダメッセージが存在するかを検査してもよい。
【0026】 符号を具現するために、インタプリタ手段はそれぞれ、1つ以上の機能ライブ
ラリを参照しながら符号を実行してよい。好ましくは、機能ライブラリに必要な
メモリ量を減らすために、共通機能ライブラリが複数のインタプリタ手段で共有
されているのがよい。
【0027】 共通機能ライブラリが存在しているにもかかわらず、1つ以上のインタプリタ
手段は、そのインタプリタ専用の機能ライブラリを参照しながら符号を実行して
もよい。これはたとえば、ある専門的な機能を、専用の機能ライブラリを参照す
る方が容易に実行される場合に望ましいものである。可能で、かつ/または都合
の良いときはいつでも、両方の仮想計算機に共通な機能ライブラリを用いること
で、システムのサイズを小さくしてもよいことは理解されよう。
【0028】 上記PCT出願PCT/EP97/02116におけるシステムの別の問題点
は、命令を処理する場合にシステムが用いるメモリの取扱いに関するものである
。その出願に記載のシステムは、メモリ構成要素を管理するのにデバイスマネー
ジャに依存している。このデバイスでは、仮想計算機からのメモリへの呼出しは
すべて均等に処理される。さらに、デバイスマネージャによってどのようにメモ
リ空間が最適化されるのかについてまったく言及されていない。
【0029】 デバイスマネージャは、仮想計算機の下方の層の一部を形成し、システム当局
者ではなく受信機/デコーダの製造業者によって具現される。したがって、受信
機/デコーダ製造業者が選択する具現が、システムの製造業者に設計されるたと
えば仮想計算機などのシステムの中のより高度なレベルの構成要素が必要な場合
ほど最適にならないという危険性もある。
【0030】 本発明の別の態様は、これらの問題のいくつかまたはすべてを解消して、オー
ディオビジュアル装置内のメモリ管理のための改良システムを提供することを目
的とする。
【0031】 本発明の第3の態様によれば、メモリと、メモリ内にオブジェクトを割りつけ
て記憶するためのメモリマネージャとを含むデータ処理システムを備えるデジタ
ルオーディオビジュアルデータ処理装置であって、第1の組のオブジェクトは、
1組のハンドルを参照しながらメモリマネージャによって割りつけられて、それ
ぞれのハンドルは対応するオブジェクトのメモリアドレスへの参照を含み、第2
の組のオブジェクトは、ハンドルを参照せずにメモリ内に直接割りつけられて、
記憶されてなるデジタルオーディオビジュアルデータ処理装置が提供される。
【0032】 メモリを、ハンドルがアクセス可能なオブジェクトと、直接検索可能なオブジ
ェクトの間で分離することによって、本発明は、後で説明するように、メモリ空
間を最適化するためにメモリマネージャが様々な方法で処理するような第1の組
のオブジェクトと、ハンドルに参照する必要なく、直接アドレスを特定すること
ができる、より頻繁にアクセスされるオブジェクトとを識別する。
【0033】 特に、1つの実施例において、第2の組のオブジェクトを、メモリマネージャ
を介して渡す必要がなく、データ処理システム内の別の構成要素によって直接検
索できるようにしてもよい。しかしながら、メモリ内容への制御を維持するため
に、メモリマネージャは、第2の組のオブジェクトをメモリ内に割り付けて記憶
させる必要がある。
【0034】 1つの実施例において、ハンドルは問題のメモリに記憶される。しかし、ハン
ドルを別のメモリ空間に記憶させるような別の実現方法もありうる。ハンドルは
動的に記憶しても、静的アレイに記憶してもよい。
【0035】 1つの具現において、メモリマネージャが、メモリ内の第1の組のオブジェク
トを変位し、それに従って、対応するハンドルに記憶されるアドレス参照を変更
するよう適応される。たとえば、これ以上メモリに記憶されているオブジェクト
がないとき、オブジェクトを変位してもよい。変位はたとえば、適切な圧縮アル
ゴリズムに従って行ってもよい。このように、記憶されたオブジェクトの動向を
単純にしかも効率良く見張りながら、メモリの自由空間が最適化される。
【0036】 第2の種類のオブジェクトに常にアクセスできるように、これらのオブジェク
トはメモリ内では変位不可能であるのが好ましい。しかし、その他の具現、たと
えば、第2の種類のあるオブジェクトの変位を、変位が起こるシステム内でのオ
ブジェクトのアドレスを変更するための手順に関連付けるようにすることも考え
られる。
【0037】 本発明は、仮想計算機が本発明の第1の態様に関連して説明した種類のマルチ
スレッドアーキテクチャを有する実施例に特に適用可能であり、あるスレッドを
実行中に一時停止させて、別のスレッドを実行できるようにしてもよい。
【0038】 こうした場合、マルチスレッド仮想計算機は、内部で形成されるゴミ集めスレ
ッドを含み、その時点で現在参照されていないメモリ内のオブジェクトを取り除
くためにこのスレッドを実行するとすぐに仮想計算機が作動するのが好ましい。
あるいは、またはそれに加え、ゴミ集めスレッドを実行することによって、また
、最大量のメモリの自由空間をひとまとめにするために、圧縮アルゴリズムに従
って仮想計算機に第1の組のオブジェクトの変位を実行させるようにしてもよい
【0039】 本発明は、FLASHやEEPROMユニットなど、その他のメモリ構成要素
にも均等に適用されるものであるが、問題のメモリ空間は、システムのRAMメ
モリに対応してよい。
【0040】 本発明は、デジタルテレビシステムを受信し、処理するためのデコーダに特に
適用可能であるが、本出願で記載するデータ処理システムの原理は、デジタルビ
デオレコーダなど、デジタルオーディオビジュアルデータを処理するための他の
装置にも適用されることは理解されよう。
【0041】 デジタルテレビ放送用デコーダに関して、デコーダのハードウエアデバイスは
、以下の1つまたはすべてを含むことができる。チューナとMPEGデマルチプ
レクサ、直列インタフェース、並列インタフェース、モデムと1つ以上のスマー
トカードリーダ。
【0042】 ここで用いる「受信機/デコーダ」あるいは「デコーダ」の用語は、たとえば
、なにか他の手段によって放送されるか送信されるようなテレビ信号および/ま
たは無線信号など、符号化された信号か符号化されていない信号のいずれかを受
信するための受信機を示唆するものであってよい。また、この用語は、受信信号
を復号するためのデコーダを示唆するものであってもよい。このような受信機/
デコーダの実施例としては、たとえば「セットトップボックス」に受信した信号
を復号するための受信機と一体のデコーダ、物理的に分離した受信機と協働して
機能するデコーダ、あるいはウェブブラウザなどの追加機能を有するデコーダ、
あるいはビデオレコーダやテレビなどの別の装置と一体化したデコーダなどがあ
る。
【0043】 ここで用いられるように、「デジタル送信システム」という用語には、たとえ
ば主にオーディオビジュアルデジタルデータまたはマルチメディアデジタルデー
タなどを送信または放送するための任意の送信システムが含まれる。本発明は特
に、放送デジタルテレビシステムに適用可能であるものの、マルチメディアイン
ターネットアプリケーション用固定電気通信ネットワークや、閉回路テレビシス
テムなどにも適用可能である。
【0044】 ここで用いられるように、「デジタルテレビシステム」という用語には、たと
えばあらゆる衛星、地上、ケーブルやその他のシステムが含まれる。
【0045】 以下の具体的な説明で用いられるMPEGという用語は、国際標準化機構作業
委員会である「動画専門委員会」が開発したデータ送信標準、特に、デジタルテ
レビに採用されるために開発され、ISO 13818−1、ISO 1381
8−2、ISO 13818−3、ISO 13818−4の文書に記載される
MPEG−2標準を指すが、ただしこれに限定されない。本件特許出願に関して
、この用語はデジタルデータ送信分野に適用可能なすべての変形、変更、または
発展形を含むものである。
【0046】 一例にすぎないが、本発明の1つの実施例を、添付の図面を参照しながら説明
する。 [発明の詳細な説明]デジタルテレビネットワーク 本発明にかかるデジタルテレビシステム1000を図1に示す。本発明は、公
知のMPEG−2圧縮システムを利用して圧縮デジタル信号を送信する従来のデ
ジタルテレビシステム2000をほとんど含むものである。より詳細には、放送
センタ内のMPEG−2圧縮機2002がデジタル信号ストリーム(典型的には
ビデオ信号ストリーム)を受信する。圧縮機2002はリンク機構2006によ
りマルチプレクサ/スクランブラ2004に接続される。
【0047】 マルチプレクサ2004は、複数の別の入力信号を受信して、1つ以上の転送
ストリームを組み合わせて、圧縮デジタル信号をリンク機構2010を介して送
信機2008に送信するが、言うまでもなくこのリンク機構は通信リンクを含め
た様々な形式を取ることが可能である。送信機2008は、アップリンク201
2を介して衛星トランスポンダ2014に向け電磁信号を送信し、トランスポン
ダにおいて、電磁信号は電気的に処理されて概念上のダウンリンク2016を介
して、従来はエンドユーザが所有またはレンタルしている皿形の地上受信機20
18に放送される。受信機2018が受信した信号は、エンドユーザが所有また
はレンタルして、エンドユーザのテレビ受像機2022に接続される一体形受信
機/デコーダ2020に送信される。受信機/デコーダ2020は圧縮MPEG
−2信号をテレビ受像機2022用テレビ信号に復号する。
【0048】 条件付アクセスシステム3000は、マルチプレクサ2004と受信機/デコ
ーダ2020に接続され、一部は放送センタ内に一部はデコーダ内に配置される
。このシステムによって、エンドユーザは1つ以上の放送供給業者からのデジタ
ルテレビ放送にアクセスすることができる。スマートカードは商業的オファー(
すなわち、放送供給業者が販売する1つまたはいくつかのテレビ番組)に関連す
るメッセージを解読できるものであり、このスマートカードを受信機/デコーダ
2020に挿入することができる。デコーダ2020とスマートカードを用いて
、エンドユーザは加入モードかペイパービューモードのいずれかで商業的オファ
ーを購入してもよい。デジタルテレビネットワーク内の対話式システム 対話式システム4000も、マルチプレクサ2004と受信機/デコーダ20
20に接続しており、やはり一部は放送センタ内に、一部はデコーダ内に配置さ
れるもので、このシステムによってエンドユーザは変復調されるバックチャネル
4002を介して様々なアプリケーションと対話することができる。
【0049】 図2は、対話形テレビシステム4000の総体的アーキテクチャの構成要素を
示しており、概ね4つの主要構成要素からなる。
【0050】 1.放送センタやその他任意の場所にあり、放送供給業者がアプリケーション
を作成、開発、デバッグ、検査することができるようにするためのオーサリング
ツール4004。
【0051】 2.放送センタにあり、放送供給業者がエンドユーザに放送されるMPEG−
2転送ストリーム(典型的にはエンドユーザ個々のセクション)に挿入され、マ
ルチプレクサ/スクランブラ2004へ送信するためのアプリケーションとデー
タを準備、認証、フォーマットできるようにするために認証ツール4004に接
続されたアプリケーション/データサーバ4006。
【0052】 3.受信機/デコーダにあり、ダウンロードしたアプリケーションとデータを
受信し、処理して、対話形システムのその他の構成要素及びハードウエア構成要
素との通信を管理するためのもので、受信機/デコーダ内にインストールされる
実行可能な符号として具現される実時間エンジン(RTE)を備えた仮想計算機
を有するデータ処理システム4008。
【0053】 4.受信機/デコーダ2020とアプリケーション/データサーバ4006の
間に位置し、サーバ4006にエンドユーザの要求があるとMPEG−2転送ス
トリームにデータとアプリケーションを挿入するよう命令する信号を伝達するた
めの変復調バックチャネル4002。情報は別の方向で渡されてもよい。
【0054】 受信機/デコーダ2020は、対話形システム内に、外部デバイスと通信する
ための、たとえば受信機を同調させるチューナ、MPEG信号を分離させるデマ
ルチプレクサ、直列インタフェース、並列インタフェース、モデムと、クレジッ
トカードやシステムに発行される加入用スマートカードなどを読み取るのに適用
される2つ以上のカードリーダなど、多くのデバイスを含んでいる。このような
デバイスの特徴は、デジタルテレビシステムの分野では公知であり、これ以上詳
細にはここでは説明しない。
【0055】 同様にして、(ホームバンキング、テレショッピング、コンピュータソフトウ
エアのダウンロードなど)提供される対話形アプリケーションの種類は当該技術
分野に従事するものには明らかなので、これ以上詳細にここでは説明しない。以
下に記載するデコーダシステムのアーキテクチャは、特に対話形アプリケーショ
ンに好適であるが、記載するアーキテクチャはもっと単純な非対話形デジタルテ
レビシステム、たとえば従来の有料テレビシステムなどでも用いることができる
ことは理解されよう。デコーダシステムのアーキテクチャ ここで、図3に示す受信機/デコーダ内のシステムのアーキテクチャに注目す
ると、多層アーキテクチャが用いられていることがわかる。第1の層4100は
、受信機/デコーダのハードウエアのオペレーティングシステムを表している。
これは、受信機/デコーダのハードウエアの構成要素を制御するために製造業者
が選択する実時間オペレーティングシステムである。実時間オペレーティングシ
ステムは、ハードウエアの動作と正確に同期させることができるように、応答時
間が相対的に早い。イベントメッセージはこの層と、すぐ上のミドルウエア層4
200間に渡される。
【0056】 データ処理システム4008は、ハードウエアオペレーティングシステムの最
上部に位置し、ミドルウエア層とアプリケーション(より正確にはアプリケーシ
ョンインタフェース)層とを備える。
【0057】 ミドルウエア層は、C ANSIなどの言語で書かれ、仮想計算機4250の
構成要素と、グラフィックインタフェース4261と、FLASH/PROMメ
モリインタフェース4262、プロトコルインタフェース4263、装置インタ
フェース4264を含む多数のインタフェース4260とを備える。
【0058】 明細書の導入部でより詳しく説明している特許出願PCT/EP97/021
16に記載されているシステム同様、本発明は、高レベルアプリケーションと製
造業者が具現する低レベルオペレーティングシステムとを独立させるように仮想
計算機を用いている。
【0059】 インタフェース4260は、仮想計算機と低レベルオペレーティングシステム
4100の動作をリンクさせるもので、このレベルでより簡単に実行できる多く
の中間レベルアプリケーションモジュールも有している。
【0060】 アプリケーションインタフェース(API)層4300は、多くの高レベルパ
ッケージ4310−4314を備え、Javaなどのオブジェクト指向解釈言語
で書かれている。これらのパッケージによって、サービスプロバイダが作成する
アプリケーション(対話形プログラムガイド、テレショッピング、インターネッ
トブラウザなど)と、システムの仮想計算機とのインタフェースが与えられる。
このようなアプリケーションの一例を下に挙げる。
【0061】 低レベルOSは、ダウンロードできる場合もあるが、通常、デコーダのハード
ウエア部品内に埋め込まれる。ミドルウエアとアプリケーションインタフェース
層パッケージは、放送からデコーダのRAMまたはFLASHメモリ内にダウン
ロードすることができる。あるいは、ミドルウエアまたはアプリケーションイン
タフェース層のいくつかまたはすべてを、デコーダのROMまたはFLASHメ
モリ(があればそれ)に記憶することができる。ここから理解できるように、デ
コーダのメモリ構成要素の物理編成は、メモリの論理編成とは別個である。アプリケーションインタフェース層 図3に示されるアプリケーションインタフェース層4300を参照して、また
上述のように、この層の中のパッケージはJavaなどのオブジェクト指向言語
で書かれる。各パッケージは、システム動作中に要求される一連の分類ライブラ
リを定義する。本システムにおいては、以下のパッケージがインストールされる
【0062】 Lang/Utilパッケージ4310。これらのパッケージは、仮想計算機
がオブジェクトを操作するのに必要な分類を定義する。これらの分類ライブラリ
は、通常、選択されるオブジェクト指向言語に関連する標準ライブラリの一部を
なす。
【0063】 MPEG−5パッケージ4311。このパッケージは、テレビの表示装置上の
グラフィックオブジェクトの操作に関連する分類を定義する。こうしたオブジェ
クトはオーディオビジュアルデータとは別個で、たとえば、表示される画像に重
ねられるチャネル識別子やテキストを形成する。このパッケージ内にある分類の
定義は、ETS300777−3及びISO/ISE13522−5(ならびに
Java具現システムの場合には標準ISO/ISE13522−6)によって
定義されるMHEG−5規範に従う必要がある。
【0064】 ツールボックスパッケージ4312。このパッケージには、受信機/デコーダ
内のファイルシステムとメモリの管理に関連する分類と、インターネットなどへ
の接続に関連する分類だけでなく、情報のダウンロードと圧縮解除に用いられる
分類が含まれている。
【0065】 デバイスパッケージ4313。このパッケージは、上述のように、受信機/デ
コーダに取り付けられ、モデム、スマートカードリーダ、MPEGフローチュー
ナなどを含む周辺装置の管理に必要な分類を定義する。
【0066】 サービスパッケージ4314。このパッケージは、たとえばクレジットカード
データなどの管理といった開発中のより高レベルの対話形アプリケーションを具
現するのに必要な分類を定義する。
【0067】 DSMCC−UUパッケージ4315。このパッケージは、データファイルの
検索、読み取りをするためのクライアントとサーバ間の通信に必要なプロトコル
を具現する。このパッケージを具現する場合は、DAVIC9章で定義される規
範ISO/IEC13818−6と指令に従う必要がある。
【0068】 サービスプロバイダが書き、従来のシステム同様放送中にダウンロードされる
対話形アプリケーションの別の層が、上で定義したインタフェースパッケージの
上に重なる。導入されるアプリケーションによっては、上記パッケージの中で省
略してもよいものがある。たとえば、サービスプロバイダがデータ読み込みのた
めの共通の方法を提供するつもりがなければ、DSMCC−UUパッケージは最
終システムから除外してもよい。
【0069】 パッケージ4300は、オブジェクト指向プログラミング環境のための分類ラ
イブラリを提供する。それらの分類挙動は、選択した言語に応じて変わる。たと
えばJavaアプリケーションの場合、単一の固有分類構造に従う。インタフェース層 図示の通り、インタフェース層は、4つのモジュール、すなわち、グラフィッ
クモジュール4261と、メモリファイル管理モジュール4261と、プロトコ
ルモジュール4263と、デバイスマネージャ4264からなる。このレベルの
モジュールはインタフェースモジュールと称されるが、これらの機能は、概して
アプリケーションインタフェースパッケージを具現し、仮想計算機を作動させる
ための「接着」層を提供することである。
【0070】 たとえば、グラフィックモジュール4261は、グラフィックオブジェクトを
作成し、管理する。低レベルOSに、単一画素、線、矩形などの基本図形を表示
するよう要求する。このモジュールの具現は、低レベル製造業者のOSのグラフ
ィック能力に左右される。MHEG−5パッケージ4311を補完するいくつか
の方法では、これらの機能は、上記アプリケーション層で選択される高レベル符
号より、この符号レベルでの方がより効率良く実行されることがある。
【0071】 同様にして、メモリファイル管理モジュール4262には、システムのメモリ
部品に関連する低レベル読み取り/書き込みファイルコマンドが含まれる。典型
的には、ハードウエアオペレーティングシステムには、メモリ部品内に1セクタ
または1ページを読み取り/書き込むのに必要なコマンドのみが含まれる。グラ
フィックモジュール4261の場合と同様に、このモジュールにより、一連のよ
り単純な低レベルアプリケーションをシステム内に効率良く導入することができ
る。
【0072】 プロトコル管理モジュール4263は、たとえばデコーダのTCP/IP層を
介して通信中に要求される通信プロトコルのライブラリを定義する。
【0073】 デバイスマネージャ4264は、ハードウエアオペレーティングシステムと上
記層間のリンクすなわちインタフェースをとるという点で、この層の中のその他
のモジュールとはわずかに異なっており、インタフェース層のその他のモジュー
ルと仮想計算機が含まれている。たとえば仮想計算機からハードウエアOSに受
信/送信されるコマンドまたはイベントメッセージは、2つのレベル間でのイン
タフェース仕様に応じた変換のためにデバイスマネージャから必ず渡される。仮想計算機の説明 ここで図4を参照しながら、本発明のシステム内で用いられる仮想計算機42
50の構造を説明する。本発明で用いられる仮想計算機は、占有権割り当て式マ
ルチスレッド型計算機である。このような計算機の一般的な特徴は、オーディオ
ビジュアおよびデジタルテレビ分野以外に関連して公知であり、以下の説明では
、本願に最も特化した領域に焦点を当てる。
【0074】 仮想計算機は、多数の構成要素からなり、これらが図4に示すように広範に相
関している。
【0075】 スレッドマネージャサービス4271とモニタマネージャサービス4272か
らなるスケジューラ4270は、マルチスレッド計算機の中核をなす。スケジュ
ーラ4270は、仮想計算機の外部のアプリケーションによって作成されるスレ
ッドと、仮想計算機自身によって作成されるスレッド(たとえば下で説明するゴ
ミ集め(ガーベッジコレクション)の実行を命令する。
【0076】 イベントマネージャ4273は、イベント経路指示テーブルと、スレッドが加
入するイベントの一覧を処理し、イベント処理のディスパッチを集中化させる。
【0077】 メモリマネージャ4274は、システムメモリ内のメモリゾーンの割りつけと
割りつけ解除を処理し、また、参照されないオブジェクトのメモリからの排除(
ゴミ集め)を処理する。
【0078】 クラスマネージャ4275はアプリケーションを実行するダウンロードされた
符号の完全な状態を確認するセキュリティマネージャ4280とファイルマネー
ジャ4276を相互に作用し、ブロードキャスト信号にダウンロードされたアプ
リケーション符号の分類をチャージする。
【0079】 ファイルマネージャ4276は、システムファイルを具現し、対話型アプリケ
ーションとデータをダウンロードする機構を処理する。
【0080】 セキュリティマネージャ4280は、ダウンロードしたアプリケーションに許
可されるアクセスレベルを処理する。アプリケーションの中には、ファイルシス
テムに関連する他のアプリケーションより多くの動作を行う能力のあるものもあ
る。
【0081】 バイト符号解釈サービス4278と、「m符号」解釈サービス4279からな
るインタープリタ4277は、これらの2つの符号で書かれるアプリケーション
の解釈を処理する。バイト符号はJavaアプリケーションに関連し、m符号は
出願人が開発し、占有する符号につけられた名称である。言及しているように、
必要であれば、別の解釈サービスを追加することもできる。
【0082】 分類マネージャと、ファイルマネージャと、セキュリティマネージャの動作と
具現は従来と同様でよい。ここで、インタプリタ、スケジューラ、イベントマネ
ージャとメモリマネージャの動作に焦点を当てていく。インタプリタ ここで、図5を参照しながら、本発明の実施例で用いられるインタプリタ42
77の動作について説明する。明細書の導入部で言及したように、現時点で提案
されているデコーダで用いられるオペレーティングシステムの問題点は、高レベ
ルアプリケーションについて単一の種類の符号に依存していることである。選択
される符号は商業的に入手可能なものでも、広く知られたアプリケーション符号
でもよいが、それでも、多くの符号で書かれたさまざまな異なるアプリケーショ
ンを用いた多数のデコーダの領域を維持する必要がある場合には問題が生じうる
。本システムのインタプリタによって、多くの種類の符号が解釈できるようにな
る。
【0083】 図示されるように、システム内に到着するファイルは、インタプリタ4510
に送出されるアプリケーションの符号がフォーマットを示すように、バイト符号
分類であれ、m符号モジュールであれ、ファイルの構造に応じてモジュール分類
マネージャ4500によって評価される。たとえばバイト符号のアプリケーショ
ンの場合、ダウンロードされる分類ファイルは、4オクテットの特徴識別ヘッダ
とその後にやはり4オクテットのバージョン番号が付く。インタプリタは、この
バイト符号ヘッダのあるなしに基づいて、符号を識別すればよい。
【0084】 別の実施例において、符号の種類の別の特徴を用いて、たとえばファイル名な
ど、任意の数のアプリケーション言語を識別してもよい。
【0085】 フォーマット標識の結果に応じて、バイト符号命令がバイト符号インタプリタ
4278に送出され、ここでバイト符号命令は、従来の解釈符号命令の場合と同
様に、バイト符号命令に関連する機能ライブラリ4520を参照しながら実行さ
れる。元の符号命令の機能ライブラリは仮想計算機内で画定される。
【0086】 m符号命令の場合、m符号インタプリタ4278に送られる。m符号命令の大
部分は、バイト符号命令に関連する機能ライブラリ4520を参照しながら具現
、実行され、インタプリタ4278はライブラリ4520に、こうしたm符号機
能を可能な場合はいつでも実行するように命令する。
【0087】 しかし、場合によっては、m符号命令の中には、共通機能ライブラリを参照し
ながら容易に実行できない特定の実行機能を必要とするものもある。そうした場
合には、分離した機能ライブラリ4530を参照しながら命令を具現すると理解
してもよい。スケジューラとイベントマネージャ システム内のスレッドの寿命を示す図6と、低レベル実時間オペレーティング
システムから信号で伝えられるイベントに応答して、システムのスレッドにイベ
ントを通知することを示す図7を参照しながら、スケジューラ4270とイベン
トマネージャ4273の動作を説明する。
【0088】 特に信号で伝えられるイベントから生じる実行コンテキストを表すスレッドの
作成処理に焦点を当てて説明する。スレッドは、ハードウエアOSに送られる高
レベルアプリケーションによって、しかもこのコマンドを戻すことによって形成
されるコマンドを開始して作成してもよいことは理解できよう。また、スレッド
は、たとえばゴミ集めスレッドなど仮想計算機それ自体の内部で作成してもよい
【0089】 上記の通り、本実施例は、Javaベースのシステムで見られるような、占有
権割り当て式スレッド処理仮想計算機に依存している。このような計算機におい
て、複数のスレッドが作成され、スレッド待ち行列に保存される。スケジューラ
は、そのスレッド待ち行列を検査して、最も高い実行優先度を持つスレッドを選
択する。通常、実行されているスレッドの優先度が最も高いが、占有権割り当て
式スレッドシステムにおいて従来見られるように、このようなスレッドに、更に
優先度の高いスレッドが割り込むこともある。こうした場合、割り込まれたスレ
ッドの状態が記憶され、実行するために再び選択されると、スレッドは再び作動
する。
【0090】 特定の場合に、スレッド自体が、スケジューラにそのスレッドの実行を停止さ
せ、実行する他のあらゆるスレッドについてスレッド待ち行列を点検させるいわ
ゆる「待機」命令を含んでいてもよい。待機命令は、たとえばシステムのメモリ
から未使用のオブジェクトを取り除くためにシステムが行うゴミ集め機能など、
優先度が低く内部で作成されるタスクの中にあってもよい。
【0091】 これらのシステムの態様を、図6に示す。スレッドを4550で作成すると、
スレッド待ち行列4551にスレッドが記憶される。新たに作成されるスレッド
は4552で「init」状態である。他のどのスレッドの優先度も高くなけれ
ば、そのスレッドが開始()命令によって実行され、4553で「実行可能」状
態となる。中止()命令がスレッド内で実行されると、スレッドは4554で「
非作動」となる。スレッドは、作動()fini命令に示されるように、完了す
ると、同様にこの状態になる。スレッド自体に待機()命令が生じるか、あるい
はスレッド外部で一時停止()命令が実行されると、スレッドは一時停止して、
4556で「実行不可能」状態を与えられる。
【0092】 ここで図7を参照しながら、低レベルオペレーティングシステム4100と、
イベントマネージャ4273と、スケジューラ4270との相関関係について説
明する。実時間オペレーティングシステム4100から信号で伝えられるロウイ
ベントが、デバイスマネージャ4313を介してイベントマネージャ4273に
渡される。好ましい実施例において、デバイスマネージャ4313および/また
はオペレーティングシステム4100内で用いられるマルチタスクシステムによ
って、受信したイベントのなんらかの優先付を行うのがよい。しかし、明らかに
なるように、本システムの利点の1つは、PCT/EP97/02116に記載
のシステムとは異なり、イベントの処理が仮想計算機4250内部で管理され、
よってミドルウエア層の作成者がイベント処理手順を完全に制御できるという点
にある。
【0093】 好ましい実施例において、デバイスマネージャ4313を介して送られるイベ
ントは、その符号と種類によって分類される。たとえばデコーダに関連する遠隔
制御動作によって作成されるイベントの場合、符号はそのイベントの特徴を識別
し、符号はボタンが押されたことを識別する。種類は、たとえば遠隔制御など、
イベントの発端を識別する。
【0094】 あるイベント信号を受信するとすぐに、イベントマネージャ4273は経路指
示テーブル4560を用いて、イベントの優先度とスレッドの目的地を判定し、
対応するイベントオブジェクト4564を優先度ベースのスレッド待ち行列45
62内に配置される1つ以上のスレッド4561に挿入する。1つ以上のイベン
トオブジェクト4564を、4563で表されるあるスレッド内に記憶させても
よい。イベントオブジェクト4564は、優先度の分類に応じて、スレッド内に
格納される。優先度が等しいスレッド内のイベントオブジェクトは到着時間(F
IFO)によって分類される。
【0095】 あるイベントを受信するとすぐに、イベントマネージャ4273は、イベント
の到着をスケジューラ4270に信号で伝えて、スケジューラはスレッド待ち行
列を検査して、現在実行されているスレッドより優先度の高いスレッドがあるか
どうかを確かめる。もしあるなら、現在のスレッドは上記の通り一時停止され、
新たなスレッドが実行される。このようにして、占有権割り当て式スレッド処理
システムが具現される。
【0096】 このように、好ましい実施例では、たとえシステムが既に先にあるイベントを
処理している最中であってもシステムがイベント呼出しにすばやく応答できるよ
うに、デコーダでスレッドを効率良く処理することが可能となる。そのようにす
ることで既知の信号処理待ち行列システムの欠点は回避される。
【0097】 好ましい実施例は、イベントの到着により、イベントマネージャがスケジュー
ラに信号を送って、スレッドの実行に割り込む占有権割り当て方式に関連して説
明してきたが、他の具現も可能である。たとえば、タイムスライスシステムでは
、スケジューラが周期的にスレッドの実行に割り込み、スレッドの待ち行列の状
態を検査することができる。あるいは、スケジューラがスレッドの実行に割り込
んで、そのスレッドが処理される各命令後にスレッドの待ち行列を検査するよう
にさせることもできる。メモリマネージャ このように、受信機/デコーダに関して、たとえばPCやその他のハードディ
スクベースのプラットフォームに比べて、メモリ空間は相対的に制限されている
ので、システム内のメモリプールの管理は特に重要である。以下の説明では、メ
モリプールは、受信機/デコーダのRAM内のメモリ空間に対応する。しかし、
上述の通り、メモリの物理編成と論理編成とは正確に対応しておらず、以下に説
明するメモリプールを、FLASHメモリ、EEPROMなど、受信機/デコー
ダ内の他の物理的メモリ構成要素内に設けてもよいし、あるいはこれらのメモリ
構成要素間で共有してもよい。
【0098】 ここで図8を参照すると、システム内の利用可能なメモリの編成が示されてい
る。メモリ空間はハンドル4600のプールと変位可能なオブジェクト4610
のプールと、変位不可能なオブジェクト4620のプールの間で共有される。
【0099】 プール4610内のオブジェクトはそれぞれ、プール4600に記憶されるあ
るハンドルによって識別され、このハンドルに対応する。ハンドルとそれに対応
するオブジェクトとの関係は、メモリ管理パッケージ4274(図4参照)によ
って管理され、このパッケージはプールへのアクセスも制御する。プール内のオ
ブジェクトへの呼出しはすべてそのハンドルによって行われる。プール4600
と4610との境界は移動可能である。新たなオブジェクトがメモリに記憶され
ると、プール4610内のオブジェクトのアドレスのポインタを含めたハンドル
がプール4600内で作成される。こうした場合、ハンドルのリストは1つ増加
する。ハンドルはプール内のリスト構造に編成され、メモリマネージャによる圧
縮化が可能となる。
【0100】 必要であれば、利用可能な空間に応じてオブジェクトがプール内で割りつけさ
れる。あるブロックで利用できる空間以上に空間を必要とするあるオブジェクト
の割りつけが要求されると、メモリ内に既に割りつけたオブジェクトを圧縮する
必要がある。メモリ内でのオブジェクトの圧縮は、たとえばコピー/圧縮アルゴ
リズムなどの任意の公知の圧縮アルゴリズムに従って行うことができる。本実施
例においては、マークスイープ(Mark Sweep)圧縮アルゴリズムを用
いている。空間を圧縮するために、オブジェクトをゾーン4610内で回りに移
動して、オブジェクトをさらに密にひとまとめにするようにして、隣接するオブ
ジェクト間の空間を回避する。このようにして、メモリのすべての自由空間は、
プール4610内に新たなオブジェクトを割りつけするために、ブロック内に集
中する。
【0101】 上述の通り、メモリ管理パッケージは、プール4600内のハンドルとプール
4610内のオブジェクトとの対応関係を維持して、プール内のオブジェクトの
新アドレスが今後のアクセスのために等価なハンドルに更新される。
【0102】 あるオブジェクトにアクセスするためにハンドルを用いると、システムは、プ
ール内のメモリ配置を最適化することができ、オブジェクトのアドレスを調べる
ためには、常に、まずハンドルを検索することが必要であるので、プロセスはこ
うしたオブジェクトにアクセスするのに必要な時間を増加させる。場合によって
は、しかもある指定されたイベントに対応するオブジェクトの場合、より高速ア
クセス時間が求められることもある。
【0103】 そのような場合、オブジェクトを変位不可能なオブジェクト4620のプール
に割りつけてもよい。そのようなオブジェクトのアドレスはプール内で一定であ
る。よって、ハンドルを作成する必要もなく、オブジェクトはシステムに直接使
用され、それにより、これらの特殊なオブジェクトのアクセス手順が簡略化され
る。ここでも、プール4600と4610の境界と同様に、プール4620と4
610との境界は、プール4620に格納される情報に応じてシフトする。
【0104】 たとえば、変位不可能なオブジェクトがプール4620に割り付けられ、プー
ル4610内の変位可能なオブジェクトの配置のために十分な空間がない場合、
上記の通り、変位可能なオブジェクトの圧縮を行ってもよい。プール内のオブジ
ェクトが、一旦最大量の空間を自由にするために再編成されると、プール462
0内の変位不可能ブロックを割りつけることが可能となる。
【0105】 どのオブジェクトを変位可能にし、どのオブジェクトを変位不可能にするかの
選択は、設計者に一任される。たとえば、システムに対応するオブジェクトを、
そのオブジェクトの重要性に鑑みて変位不可能と選択してもよく、一方、高レベ
ルアプリケーションオブジェクトを変位可能にしてもよい。場合によっては、変
位可能なオブジェクトを、変位不可能なオブジェクトとみなすように、一時的に
一定の場所にロックすることもできる。
【0106】 不要なオブジェクトをメモリプールから排除するために、システムで、いわゆ
るゴミ集めを行ってもよい。これには、他のどのスレッドも現在待ち行列内に記
憶されていなければ、スケジューラによって特定位置に入れられる最も優先度が
低い特別なゴミ集めスレッドを作成することも含まれている。実行すると、その
時点で参照されていない、プール内に現在割り付けられている変位可能なオブジ
ェクトが取り除かれる。また、ゴミ集めスレッドは、上記にならって、他のすべ
ての変位可能なオブジェクトを圧縮してもよい。
【0107】 ゴミ集めスレッドの作成は、デジタルテレビシステム以外の適用範囲で用いら
れる他のマルチスレッドシステムの関連で公知なので、ここではさらに詳しく説
明しない。しかし、ゴミ集め手順を上記のその他のメモリ管理技術と組み合わせ
て利用することによって、本願で特に効果的であることは理解されよう。
【図面の簡単な説明】
【図1】 図1は、デジタルテレビシステムの全体図を示すものである。
【図2】 図2は、図1のデジタルテレビシステム内の対話式システムの構成要素を示す
ものである。
【図3】 図3は、本発明の受信機/デコーダ内で具現されるソフトウエアベースのシス
テムの構成を示すものである。
【図4】 図4は、図3のシステム内の、特にイベントマネージャパッケージ、解釈パッ
ケージ、メモリパッケージを含む仮想計算機のアーキテクチャを示すものである
【図5】 図5は、仮想計算機で用いられるインタープリタの構造を示すものである。
【図6】 図6は、仮想計算機内のスレッド処理を示すものである。
【図7】 図7は、仮想計算機のイベントマネージャとスケジューラの動作を示すもので
ある。
【図8】 図8は、仮想計算機によるメモリプールの管理を示すものである。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 97402430.9 (32)優先日 平成9年10月7日(1997.10.7) (33)優先権主張国 欧州特許庁(EP) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IS,JP,KE,KG, KP,KR,KZ,LC,LK,LR,LS,LT,L U,LV,MD,MG,MK,MN,MW,MX,NO ,NZ,PL,PT,RO,RU,SD,SE,SG, SI,SK,SL,TJ,TM,TR,TT,UA,U G,US,UZ,VN,YU,ZW Fターム(参考) 5B060 AA10 AC06 AC11 AC18 GA18 5B098 AA08 GA05 GA08 GB01 GB13 GC03 GD02 GD04 GD17 HH07 5C064 BA01 BC20 BD01 BD07 【要約の続き】 仮想計算機は、受信する符号の構造に依存して少なくと も2つの解釈言語で書かれた符号同士を識別して、こう した符号を、特に共通の、あるいは特定の機能ライブラ リを参照しながら、解釈、実行するための対応するイン タプリタ手段に渡すように適応される。第3の態様から 見ると、本発明は、メモリと、メモリ内にオブジェクト を割り付けて記憶させるためのメモリ手段を含むデータ 処理システムを含むデジタルオーディオビジュアルデー タ処理装置を備えており、第1の組のオブジェクトは、 1組のハンドルを参照しながらメモリマネージャによっ て割りつけられ、各ハンドルは対応するオブジェクトの メモリアドレスへの参照を含み、第2の組のオブジェク トは、ハンドルを参照せずにメモリ内で直接割り付けら れて記憶される。

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】 デジタルオーディオビジュアルデータ処理装置であって、該
    装置はデータを送受信するための1つ以上のハードウエアデバイスに関連する少
    なくとも1つの関連するハードウエアオペレーティングシステムを有し、該装置
    はさらに、特にハードウエアオペレーティングシステムから信号によって知らさ
    れるイベントメッセージを受信し、対応するイベントオブジェクトを1つ以上の
    スレッドに割り付けるように用いられるマルチスレッド仮想計算機を含むデータ
    処理システムを具備し、スレッドはその実行中に一時停止されて別のスレッドを
    実行できるようにしてなるデジタルオーディオビジュアルデータ処理装置。
  2. 【請求項2】 仮想計算機は占有権割り当て式マルチスレッドアーキテクチ
    ャを有し、ここにおいてスレッドは、より優先度が高いスレッドが作成されると
    、実行中に一時停止されることを特徴とする、請求項1に記載の装置。
  3. 【請求項3】 仮想計算機は、優先度編成のスレッド待ち行列内の1つ以上
    のスレッドにイベントオブジェクトを記憶させることによって、ハードウエアオ
    ペレーティングシステムから信号で知らされるイベントメッセージに応答するよ
    うに用いられるイベントマネージャを具備することを特徴とする、請求項1また
    は2に記載の装置。
  4. 【請求項4】 ハードウエアオペレーティングシステムからイベントマネー
    ジャに送られたイベントメッセージは、まず、データ処理システム内で1つ以上
    のデバイスマネージャによって処理されることを特徴とする、請求項3に記載の
    装置。
  5. 【請求項5】 該イベントマネージャはさらに、仮想計算機によって内部で
    形成されるか、または、データ処理システムの内部または外部で高レベルアプリ
    ケーションから受信されるイベントメッセージに応答するように用いられること
    を特徴とする、請求項3または4に記載の装置。
  6. 【請求項6】 該イベントマネージャは、イベントメッセージの優先度およ
    び/またはイベントメッセージの到着時間に応じて、スレッド内部でイベントオ
    ブジェクトを内部的に分類することを特徴とする、請求項3乃至5のいずれかに
    記載の装置。
  7. 【請求項7】 該仮想計算機はさらに、起こりうるイベントメッセージに関
    する情報を含み、イベントマネージャをして受信されるイベントメッセージのス
    レッドの対応関係を判定できるようにイベントマネージャがアドレスで呼び出し
    可能な経路指示テーブルを備えることを特徴とする、請求項3乃至6のいずれか
    に記載の装置。
  8. 【請求項8】 上記経路指示テーブルは、イベントマネージャをしてスレッ
    ド内のイベントオブジェクトの優先度を判定できるような情報を含むことを特徴
    とする、請求項7に記載の装置。
  9. 【請求項9】 該仮想計算機はさらに、優先度の編成されたスレッド待ち行
    列に保持されるスレッドを検査して、その時点で最も優先度が高いスレッドの実
    行を命令するように用いられるスケジューラを具備することを特徴とする、請求
    項3乃至8のいずれかに記載の装置。
  10. 【請求項10】 イベントマネージャは、イベントメッセージの到着を信号
    化し、スケジューラをしてスレッド待ち行列内に保持されるスレッドの新たな状
    態を検査させるように用いられることを特徴とする、請求項9に記載の装置。
  11. 【請求項11】 装置外部のデータを送受信するための1つ以上のハードウ
    エアデバイスを備えるデジタルオーディオビジュアルデータ処理装置であって、
    該装置は、特に1つ以上のハードウエアデバイスを介してダウンロードされる解
    釈言語で書かれた符号を受信するように用いられる第1の仮想計算機を含むデー
    タ処理システムを更に備え、前記仮想計算機は、受信する符号の構造に依存して
    少なくとも2つの解釈言語で書かれた符号を識別して、解釈と実行を行うための
    対応するインタプリタ手段にこのような符号を渡すように用いられるデジタルオ
    ーディオビジュアルデータ処理装置。
  12. 【請求項12】 仮想計算機は、少なくとも2つの解釈言語による解釈符号
    を、言語のうちの1つの言語による符号のモジュールに関連するヘッダメッセー
    ジの特徴に基づいて識別することを特徴とする、請求項11に記載の装置。
  13. 【請求項13】 仮想計算機は、言語のうちの1つの言語による符号のモジ
    ュールに関連するヘッダメッセージの存在の有無に基づいて、解釈符号を識別す
    ることを特徴とする、請求項11または12に記載の装置。
  14. 【請求項14】 言語のうちの少なくとも1つはオブジェクト指向言語であ
    ることを特徴とする、請求項11乃至13のいずれかに記載の装置。
  15. 【請求項15】 仮想計算機は、オブジェクト指向言語で書かれた符号を、
    その言語による分類ファイルに関連するヘッダメッセージのあるなしによって、
    識別することを特徴とする、請求項11乃至14のいずれかに記載の装置。
  16. 【請求項16】 インタプリタ手段はそれぞれ、1つ以上の機能ライブラリ
    を参照しながら符号を実行することを特徴とする、請求項11乃至15のいずれ
    かに記載の装置。
  17. 【請求項17】 共通の機能ライブラリは、複数のインタプリタ手段で共有
    されていることを特徴とする、請求項16に記載の装置。
  18. 【請求項18】 1つ以上のインタプリタ手段は、そのインタプリタ手段専
    用の機能ライブラリを参照しながら符号を実行することを特徴とする、請求項1
    6または17に記載の装置。
  19. 【請求項19】 メモリと、メモリ内にオブジェクトを割りつけて記憶する
    ためのメモリマネージャとを含むデータ処理システムを備えるデジタルオーディ
    オビジュアルデータ処理装置であって、第1の組のオブジェクトは、1組のハン
    ドルを参照しながらメモリマネージャによって割りつけられて、それぞれのハン
    ドルは対応するオブジェクトのメモリアドレスへの参照を含み、第2の組のオブ
    ジェクトは、ハンドルを参照せずにメモリ内に直接割りつけられて、記憶されて
    なるデジタルオーディオビジュアルデータ処理装置。
  20. 【請求項20】 第2の組内のオブジェクトは、メモリマネージャによって
    メモリ内で割り付けられて記憶されるが、データ処理システムの他の構成要素に
    よって直接検索されることもあることを特徴とする、請求項19に記載のオーデ
    ィオビジュアル装置。
  21. 【請求項21】 該1組のハンドルはメモリにも記憶されることを特徴とす
    る、請求項19または20に記載のオーディオビジュアル装置。
  22. 【請求項22】 メモリマネージャは、メモリ内の第1の組のオブジェクト
    を変位させ、それに従って、対応するハンドルに記憶されるアドレス参照を変更
    するよう適応されることを特徴とする、請求項19乃至21のいずれかに記載の
    オーディオビジュアル装置。
  23. 【請求項23】 現在記憶されているオブジェクトを変位せずにメモリ内に
    これ以上オブジェクトを記憶できないとき、メモリマネージャによって第1の組
    のオブジェクトをメモリ内で変位させることを特徴とする、請求項22に記載の
    オーディオビジュアル装置。
  24. 【請求項24】 第1の組のオブジェクトは、メモリ内の最大量のメモリ自
    由空間をひとまとめにするために圧縮アルゴリズムに従って、圧縮アルゴリズム
    で算出されるように変位されることを特徴とする、請求項22または23に記載
    のオーディオビジュアル装置。
  25. 【請求項25】 第2の組のオブジェクトはメモリ内では変位不可能である
    ことを特徴とする、請求項19乃至24のいずれかに記載のオーディオビジュア
    ル装置。
  26. 【請求項26】 データ処理システムは仮想計算機を含み、メモリマネージ
    ャは仮想計算機の一部をなすことを特徴とする、請求項19乃至25のいずれか
    に記載のオーディオビジュアル装置。
  27. 【請求項27】 仮想計算機はマルチスレッドアーキテクチャを有し、ある
    スレッドは、そのスレッドの実行中に一時的に停止されて、別のスレッドを実行
    できるようにすることを特徴とする、請求項26に記載のオーディオビジュアル
    装置。
  28. 【請求項28】 マルチスレッド仮想計算機は、内部で形成されるゴミ集め
    スレッドを含み、その時点で現在参照されていないメモリ内のオブジェクトを取
    り除くためにこのスレッドを実行するとすぐに仮想計算機が作動することを特徴
    とする、請求項27に記載のオーディオビジュアル装置。
  29. 【請求項29】 ゴミ集めスレッドを実行することによって、また、最大量
    のメモリの自由空間をひとまとめにするために、圧縮アルゴリズムに従って仮想
    計算機に第1の組のオブジェクトの変位を実行させることを特徴とする、請求項
    28に記載のオーディオビジュアル装置。
  30. 【請求項30】 メモリは1つ以上のRAM構成部品によって定義されるこ
    とを特徴とする、請求項19乃至29のいずれかに記載のオーディオビジュアル
    装置。
  31. 【請求項31】 装置は、デジタルテレビシステムなどのデジタル送信シス
    テムのためのデコーダであることを特徴とする、先行する請求項のいずれかに記
    載の装置。
  32. 【請求項32】 ハードウエアデバイスの1つは、MPEGデマルチプレク
    サを備えることを特徴とする、請求項1乃至18のいずれかに記載の装置。
  33. 【請求項33】 ハードウエアデバイスは、チューナと、直列インタフェー
    スと、並列インタフェースと、モデムと、1つ以上のスマートカードリーダのう
    ち少なくとも1つを備えてよいことを特徴とする、請求項1乃至18のいずれか
    に記載の装置。
  34. 【請求項34】 デジタルオーディオビジュアルデータ処理装置であって、
    データを送受信するための1つ以上のハードウエアデバイスに関連するハードウ
    エアオペレーティング手段と;ハードウエアオペレーティング手段から信号によ
    って知らされるイベントメッセージを受信するための手段と、対応するイベント
    オブジェクトを1つ以上のスレッドに割りつけるための手段と、あるスレッドの
    実行中にそのスレッドを一時停止して、別のスレッドを実行できるようにするた
    めの手段とを備えるマルチスレッド仮想計算機とを備えるデジタルオーディオビ
    ジュアルデータ処理装置。
  35. 【請求項35】 装置外部のデータを送受信するための1つ以上のハードウ
    エアデバイスと、仮想計算機とを備えるデジタルオーディオビジュアルデータ処
    理装置であって、仮想計算機は1つ以上のハードウエアデバイスを介してダウン
    ロードされる解釈言語で書かれた符号を受信するための手段と、受信される符号
    の構造に依存して少なくとも2つの解釈言語で書かれた符号を識別するための手
    段と、解釈と実行をするためのインタプリタ手段にこのような符号を渡すための
    手段とを具備してなるデジタルオーディオビジュアルデータ処理装置。
  36. 【請求項36】 メモリと、メモリマネージャとを備えるデジタルオーディ
    オビジュアルデータ処理装置であって、メモリマネージャは、1組のハンドルを
    参照しながら第1の組のオブジェクトを割りつけるための手段と、第2の組のオ
    ブジェクトをハンドルを参照せずにメモリ内に直接割りつけて、記憶させるため
    の手段とを備え、各ハンドルは対応するオブジェクトのメモリアドレスへの参照
    を含んでなるデジタルオーディオビジュアルデータ処理装置。
  37. 【請求項37】 実質的に本明細書に記載されるようなデジタルオーディオ
    ビジュアルデータ処理装置。
JP2000515389A 1997-10-07 1998-10-07 マルチスレッドデータ処理装置 Pending JP2001519579A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP97402361.6 1997-10-07
EP97402362A EP0909094A1 (en) 1997-10-07 1997-10-07 Multithread data processor
EP97402361A EP0909091A1 (en) 1997-10-07 1997-10-07 Memory manager
EP97402430A EP0908821A1 (en) 1997-10-07 1997-10-07 Digital code interpreter
EP97402362.4 1997-10-07
EP97402430.9 1997-10-07
PCT/IB1998/001627 WO1999018730A2 (en) 1997-10-07 1998-10-07 Multithread data processor

Publications (2)

Publication Number Publication Date
JP2001519579A true JP2001519579A (ja) 2001-10-23
JP2001519579A5 JP2001519579A5 (ja) 2006-01-05

Family

ID=27238735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000515389A Pending JP2001519579A (ja) 1997-10-07 1998-10-07 マルチスレッドデータ処理装置

Country Status (18)

Country Link
US (1) US8201154B2 (ja)
EP (2) EP1339222A3 (ja)
JP (1) JP2001519579A (ja)
KR (1) KR100558674B1 (ja)
CN (1) CN1281613A (ja)
AU (1) AU9363298A (ja)
BR (1) BR9813024A (ja)
CA (1) CA2304862C (ja)
HR (1) HRP20000166A2 (ja)
HU (1) HUP0100296A3 (ja)
ID (1) ID24808A (ja)
IL (1) IL135440A0 (ja)
NO (1) NO20001652L (ja)
PL (1) PL340331A1 (ja)
RU (1) RU2227378C2 (ja)
TR (3) TR200003045T2 (ja)
UA (1) UA55489C2 (ja)
WO (1) WO1999018730A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001313620A (ja) * 2000-02-03 2001-11-09 Matsushita Electric Ind Co Ltd デジタル放送システム
JP2008165834A (ja) * 2001-12-31 2008-07-17 Intel Corp 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6300962B1 (en) * 1998-12-23 2001-10-09 Scientific-Atlanta, Inc. Method and apparatus for providing reliable graphic memory operations in a set-top box environment
GB9914925D0 (en) * 1999-06-26 1999-08-25 Koninkl Philips Electronics Nv Computer system for mheg applications
WO2001015431A1 (de) * 1999-08-25 2001-03-01 Deutsche Telekom Ag Endgerät zum anschluss an verschiedene netze
EP1236088B9 (en) * 1999-09-01 2008-10-08 Intel Corporation Register set used in multithreaded parallel processor architecture
JP4268290B2 (ja) 1999-10-29 2009-05-27 パナソニック株式会社 受信装置および受信方法
EP1304871A3 (en) 2001-08-21 2003-06-18 Canal+ Technologies Société Anonyme Method and apparatus for a receiver/decoder
CN100359506C (zh) * 2001-12-20 2008-01-02 杉桥技术公司 能够高效处理汇聚设备应用的多线程处理器
CN100356326C (zh) * 2003-03-21 2007-12-19 清华大学 基于操作栈记录的恢复的Java线程迁移的方法
JP2005102150A (ja) 2003-08-29 2005-04-14 Matsushita Electric Ind Co Ltd 放送受信装置
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
GB0401781D0 (en) * 2004-01-28 2004-03-03 Koninkl Philips Electronics Nv Digital broadcasting terminal
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
CN101963829A (zh) * 2004-12-31 2011-02-02 钟巨航 支持多个子系统的数据处理系统主板
US7882339B2 (en) * 2005-06-23 2011-02-01 Intel Corporation Primitives to enhance thread-level speculation
US8042109B2 (en) * 2006-03-21 2011-10-18 Intel Corporation Framework for domain-specific run-time environment acceleration using virtualization technology
US7584344B2 (en) 2006-05-02 2009-09-01 Freescale Semiconductor, Inc. Instruction for conditionally yielding to a ready thread based on priority criteria
US8572223B2 (en) * 2006-07-20 2013-10-29 Charles Schwab & Co., Inc. System and method for utilizing event templates in an event manager to execute application services
CN101242392B (zh) * 2007-02-06 2012-02-08 国际商业机器公司 用于系列服务消息处理的方法、设备和系统
WO2008134695A1 (en) * 2007-04-30 2008-11-06 Thales Avionics, Inc. Server design and method
US8250573B2 (en) * 2007-12-27 2012-08-21 Intel Corporation Audio subsystem sharing in a virtualized environment
US8561108B2 (en) * 2008-03-25 2013-10-15 International Business Machines Corporation Video episode order adherence
US8689266B2 (en) 2008-03-25 2014-04-01 International Business Machines Corporation Dynamic rebroadcast scheduling of videos
RU2470351C2 (ru) * 2008-04-01 2012-12-20 Шарп Кабусики Кайся Аудиовизуальная стоечная система
CN101714165B (zh) * 2009-12-08 2011-08-17 青岛海信宽带多媒体技术有限公司 一种数据导入的方法
CN102779035A (zh) * 2011-05-12 2012-11-14 华硕电脑股份有限公司 事件产生的处理方法及处理系统
CN102685010B (zh) * 2012-05-16 2016-05-18 河南辉煌科技股份有限公司 实现超大规模连接tcp/ip网络的通信方法
CN103875253B (zh) * 2012-08-21 2018-05-22 索尼公司 信息处理设备、信息处理方法、程序和服务器设备
CN103345385A (zh) * 2013-07-29 2013-10-09 北京汉邦高科数字技术股份有限公司 一种串行事件转换成并行事件的方法
CN107295285B (zh) * 2017-08-11 2018-07-27 腾讯科技(深圳)有限公司 视频数据的处理方法、处理装置及存储介质
CN108446147B (zh) * 2018-03-23 2021-01-12 携程旅游网络技术(上海)有限公司 移动终端的多线程计算方法及系统
US10691490B2 (en) * 2018-07-06 2020-06-23 Apple Inc. System for scheduling threads for execution
CN117439997B (zh) * 2023-12-20 2024-03-08 天津华来科技股份有限公司 一种基于模块化设计的通用p2p通信架构构建方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
US5243518A (en) * 1991-05-03 1993-09-07 Xerox Corporation Document services architecture
CA2077273C (en) * 1991-12-12 1996-12-03 Mike H. Conner Language neutral objects
FR2688611A1 (fr) * 1992-03-12 1993-09-17 Bull Sa Utilisation d'un langage dont le typage porte sur le contenu des variables et permettant de manipuler des constructions complexes.
FR2694105B1 (fr) * 1992-07-22 1994-11-25 Bull Sa Utilisation d'un langage à interprète embarqué pour la réalisation d'un outil interactif de définition d'interface utilisateurs.
US5446901A (en) * 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
JP3595564B2 (ja) * 1993-10-27 2004-12-02 キヤノン株式会社 文書処理装置及びその方法
US5650941A (en) * 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5625789A (en) * 1994-10-24 1997-04-29 International Business Machines Corporation Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle
US5630757A (en) * 1994-11-29 1997-05-20 Net Game Limited Real-time multi-user game communication system using existing cable television infrastructure
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
PT868816E (pt) * 1995-12-22 2002-07-31 British Sky Broadcasting Ltd Melhorias em receptores para sinais de televisao
WO1998012872A1 (en) * 1996-09-17 1998-03-26 Starsight Telecast, Incorporated Television schedule system with pop-up action menu and icons
US5875335A (en) * 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5966637A (en) * 1996-11-12 1999-10-12 Thomson Consumer Electronics, Inc. System and method for receiving and rendering multi-lingual text on a set top box
US5978585A (en) * 1997-03-27 1999-11-02 Inprise Corporation Development system with improved methods for recompiling dependent code modules
EP1308838A3 (en) * 2001-10-31 2007-12-19 Aplix Corporation Intermediate code preprocessing apparatus, intermediate code execution apparatus, intermediate code execution system, and computer program product for preprocessing or executing intermediate code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001313620A (ja) * 2000-02-03 2001-11-09 Matsushita Electric Ind Co Ltd デジタル放送システム
JP2008165834A (ja) * 2001-12-31 2008-07-17 Intel Corp 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置

Also Published As

Publication number Publication date
TR200000922T2 (tr) 2000-07-21
HUP0100296A2 (hu) 2001-05-28
UA55489C2 (uk) 2003-04-15
EP1339222A2 (en) 2003-08-27
HRP20000166A2 (en) 2000-10-31
HUP0100296A3 (en) 2002-12-28
AU9363298A (en) 1999-04-27
BR9813024A (pt) 2000-08-15
CA2304862C (en) 2011-12-06
US8201154B2 (en) 2012-06-12
NO20001652D0 (no) 2000-03-30
KR20010031004A (ko) 2001-04-16
RU2227378C2 (ru) 2004-04-20
WO1999018730A3 (en) 1999-08-19
PL340331A1 (en) 2001-01-29
IL135440A0 (en) 2001-05-20
WO1999018730A2 (en) 1999-04-15
NO20001652L (no) 2000-06-07
TR200003046T2 (tr) 2001-01-22
TR200003045T2 (tr) 2001-02-21
CA2304862A1 (en) 1999-04-15
EP1021918A2 (en) 2000-07-26
EP1339222A3 (en) 2005-08-31
ID24808A (id) 2000-08-24
CN1281613A (zh) 2001-01-24
KR100558674B1 (ko) 2006-03-10
US20050132400A1 (en) 2005-06-16

Similar Documents

Publication Publication Date Title
JP2001519579A (ja) マルチスレッドデータ処理装置
EP0909094A1 (en) Multithread data processor
JP4895424B2 (ja) 複数ユーザ用マルチメディア・ターミナル
JP4491232B2 (ja) 受信装置
JP4201975B2 (ja) デジタルトランスポートストリーム処理
EP0996894B1 (en) Ieee1394 set top box device driver
RU2257687C2 (ru) Таблица данных о приложениях для системы цифровой передачи, предоставляющей множество сервисов
EP0908821A1 (en) Digital code interpreter
EP0909091A1 (en) Memory manager
JP4303884B2 (ja) モデム制御
MXPA00003387A (en) Multithread data processor
EP1286549A2 (en) Receiver/decoder and module for use with a receiver/decoder
CZ20001257A3 (cs) Zařízení pro zpracování digitálních audiovizuálních dat
KR20000076405A (ko) 엑세스 제어 시스템
MXPA00000776A (en) Ieee set top box device driver

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050914

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070313

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080711

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090901