JP2003529840A - ブロードバンド・ターミナル・プラットフォーム・ファームウエア用オペレーティングシステム抽出インターフェース - Google Patents

ブロードバンド・ターミナル・プラットフォーム・ファームウエア用オペレーティングシステム抽出インターフェース

Info

Publication number
JP2003529840A
JP2003529840A JP2001573212A JP2001573212A JP2003529840A JP 2003529840 A JP2003529840 A JP 2003529840A JP 2001573212 A JP2001573212 A JP 2001573212A JP 2001573212 A JP2001573212 A JP 2001573212A JP 2003529840 A JP2003529840 A JP 2003529840A
Authority
JP
Japan
Prior art keywords
operating system
terminal
thread
interface
function
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
JP2001573212A
Other languages
English (en)
Inventor
タボレッティ、ドナルド
デルソード、クリス
バーンバウム、ジャック、エム
デイビス、ジェフリー、ティー
Original Assignee
ジェネラル・インスツルメント・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/535,899 external-priority patent/US6721949B1/en
Application filed by ジェネラル・インスツルメント・コーポレイション filed Critical ジェネラル・インスツルメント・コーポレイション
Publication of JP2003529840A publication Critical patent/JP2003529840A/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【解決手段】ブロードバンド環境内で使用されるセットトップテレビターミナル用のオペレーティングシステム抽出インターフェースを与えるための方法及び装置。該インターフェースはOS非依存の方法でセットトップファームウエア(104)を実行するのに要求されるサービスを抽出するOS非依存レイヤー(102)を画成する。本発明はブロードバンド環境に対しユニークないくつかの構造を与える。これは、同期化特徴(106)、クロック特徴(108)、及び本発明のインターフェースが処理ベースオペレーションシステムと非処理ベースオペレーションシステムの両方に対して適応されるように与えられた処理間指名タグを含む。

Description

【発明の詳細な説明】
【0001】 本出願は、2000年3月27日に出願され、通常に譲渡された米国特許出願
第09/535,899号の部分継続出願である。
【0002】 発明の分野 本発明は、ケーブル及び衛星テレビネットワークで使用されるようなブロード
バンドターミナル/ユーザー家庭器具内でのプラットフォームファームウエア及
びソフトウエア用のインターフェースに関する。特に、発明は該プラットフォー
ムファームウエア及びソフトウエアが複数の非類似のオペレーティングシステム
の上で動作するように、より高レベルのプラットフォームソフトウエアからオペ
レーティングシステムカーネルを抽出するための方法及び装置を与える。本発明
はまたブロードバンドターミナルプラットフォームファームウエアによって使用
される構造を与える。
【0003】 発明の背景 デジタルセットトップターミナルの最近の出現は、ケーブル/衛星テレビネッ
トワークのような加入者テレビネットワークの発達に拍車をかけた。そのような
ターミナルは増加したレベルのプログラムサービス及び電子プログラムガイド、
株若しくは天気バナー、ショッピング及び家庭銀行サービス、ゲーム等のような
さまざまなソフトウエアベースのアプリケーション/関数をサポートすることが
できる。さらに、この傾向は電話、テレビ及びコンピュータネットワークの収斂
とともに継続し、家庭内コンピュータネットワークが出現するのを期待させる。
その名前にも係らず、デコーダとしても知られる"セットトップ若しくはブロー
ドバンドターミナル"はテレビの付近のどこにでも設置でき、その機能をテレビ
内部に組み込ませることもできる。
【0004】 従来、典型的に、異なるファームウエアはブロードバンドターミナル上で動作
する非類似のオペレーティングシステム(OS)プラットフォームの各々に対して
実行される。プラットフォームソフトウエアはそれが実行されているOSの各タイ
プに対して変更(すなわち、リコンパイル、ポート)される必要があるため、こ
の点が従来のシステムにおいて問題であった。不利なことに、ブロードバンドタ
ーミナルプラットフォームソフトウエアはすべてのOS環境を通じて同じであるこ
とが所望されるため、このことは機能的に同等のコードの異なるバージョンを維
持することを要求する。ブロードバンドプラットフォームソフトウエアはすべて
のハードウエア装置を制御し、ダウンストリーム及びアップストリームメッセー
ジ及びデジタルテレビサービスを処理するのに使用されるすべての関連した通信
プロトコルをサポートすることに注意すべきである。
【0005】 しかし、それぞれの環境は戦略的に異なるソフトウエア特徴を提供するため、
非類似のオペレーティングシステム環境に対する必要性が存在する。ケーブル多
重システムオペレータ(MSOs)は異なる特徴セットをその顧客ベースに対して提供
しようとする。例えば、マイクロソフトのオペレーティングシステム環境はより
PC的なソフトウエア環境をもたらすが、自由なOS環境はそうではない。加えて、
ターミナルにおける連続的なオペレーティングシステムの変更が、改良、コスト
削減(すなわち、新しいCPU)、新しい部品(すなわち、新しいメモリ構成)及
び第2のソース製造者によって引き起こされる。それは混乱を生じさせかつプラ
ットフォームソフトウエアを維持するために非常に多くの仕事を要求するため、
この点は問題である。このことは、ソフトウエア/ファームウエアが開発されか
つターミナルへダウンロードされなければならないことを意味し、それはMSOに
とって追加費用をもたらす。それは数10万のターミナル内で全人口を維持しな
ければならないため、ファームウエアに対する開発サイクルは長くかつコストが
高くつく。
【0006】 従来のシステムの他の問題は、ブロードバンド環境内で使用される戦略的OS機
能を付加することが困難であるということである。特に、従来のオペレーティン
グシステムはブロードバンド環境で必要な多くの要求構造をプラットフォームソ
フトウエアに適切に与えることができない。
【0007】 したがって、テレビネットワークオペレータがファームウエアの共通かつ一般
的(例えば、独立のオペレーティングシステム)セットと互換性を有する非類似
のセットトップオペレーティングシステムを使用できるようにすることが所望さ
れる。このバイタルコアコード (vital core code)に手をつけずにおくことは、
より安定なコードを意味し、そのことは、無数の世帯に存在するコードの非常に
重要な特徴である。また、すべてのオペレーティングシステムがブロードバンド
環境内で機能の共通のセットをサポートするように、必要な構造をプラットフォ
ームソフトウエアに対して有効にすることが所望される。
【0008】 上記を参酌し、本発明は従来技術の制限を克服しかつ当業者にとって明白であ
る以下で説明するような利点を有するシステムを与える。
【0009】 発明の要旨 本発明の態様にしたがって、プラットフォームソフトウエアとブロードバンド
環境内で動作するブロードバンドターミナル上で実行する特定のオペレーティン
グシステムとの間での通信を可能にする方法が与えられる。当該方法は、プラッ
トフォームソフトウエアとオペレーティングシステムとの間に、オペレーティン
グシステム依存レイヤー及びオペレーティングシステム非依存レイヤーを有する
オペレーティングシステム抽出インターフェースを与える工程と、スレッドを同
期化し、タイミングを整合させ、かつ処理間(Inter-Process)指名を与えるため
にオペレーティングシステム抽出インターフェース内に構造を与える工程と、か
ら成る。オペレーティングシステム抽出インターフェースは、非類似のオペレー
ティングシステムにわたって一貫した機能を維持しながらプラットフォームソフ
トウエアが非類似のオペレーティングシステム上で実行することを可能とする。
【0010】 本発明の特徴に従い、オペレーティングシステム抽出インターフェースはプラ
ットフォームソフトウエアの異なる機能に対して制御スレッドを作成しかつ制御
するためのスレッド関数、及びスレッドの初期化及び同期化を与えるためのシン
クロナイザ関数を含む。スレッド関数は他のスレッドに対する少なくとも特定の
ひとつのスレッドの優先度が変更されることを可能とし、特定のスレッドの実行
が後で再開されることを可能にしながら、少なくとも特定のひとつのスレッドの
実行が特定のスレッドを中断された状態で始めることによって中断されることを
可能とする。シンクロナイザ関数は、シンクロナイザによって登録されたすべて
のスレッドが同期化ポイントに達するまで、少なくとも特定のひとつのスレッド
に実行を一時停止させる。
【0011】 他の特徴にしたがって、オペレーティングシステム抽出インターフェースは少
なくとも特定のひとつのスレッドの優先度を逆転するためのミューテックス関数
を含み、その結果特定のスレッドに関連する第1のタスクが始めにより低い優先
度を有しかつ他のひとつのスレッドに関連する第2のより高い優先度のタスクが
待っているリソースを所有している場合、第1のタスクの優先度は第1のタスク
がリソースを解放するまで一時的により高い優先度へ上げられる。
【0012】 他の特徴にしたがって、オペレーティングシステム抽出インターフェースは時
間間隔が過ぎたことをスレッドに通知するためのタイマー関数を含む。
【0013】 さらに他の特徴にしたがって、オペレーティングシステム抽出インターフェー
スはオブジェクトにインタータスク若しくはイントラタスク情報を運ぶことを許
すためのメッセージ関数を含む。
【0014】 発明の他の特徴にしたがって、プラットフォームソフトウエアはターミナル用
のファームウエアから成る。
【0015】 発明の他の態様にしたがって、ブロードバンド環境内で使用するためのターミ
ナルが与えられ、それは、ダウンストリームデータを受信する複数の入力ポート
と、プラットフォームとターミナル上で実行するオペレーティングシステムとの
間のオペレーティングシステム注出インターフェースを含む実行可能なコンピュ
ータプログラムコードを有するコンピュータ読取可能媒体と、該コンピュータプ
ログラムコードを実行するためのプロセッサとを含む。
【0016】 オペレーティングシステム抽出インターフェースの一部はオペレーティングシ
ステムに依存せず、オペレーティングシステム抽出インターフェースはスレッド
を同期化し、タイミングを整合させかつ処理間指名を与えるための構造を与える
。オペレーティングシステム抽出インターフェースは、非類似のオペレーティン
グシステムにわたって一貫した機能を維持しながらプラットフォームソフトウエ
アが非類似のオペレーティングシステム上で実行することを可能にする。
【0017】 発明の詳細な説明 本発明は、プラットフォームファームウエアが異なるオペレーティングシステ
ムと互換性を有することができるよう及びブロードバンド環境内で要求される必
要なOS構造を与えるよう、ブロードバンドターミナルの階層構造内に抽出レイヤ
ーを与えるための方法及び装置に関する。
【0018】 図1を参照すると、本発明が実施されるところのブロードバンドターミナル30
が例示されている。そのようなターミナル30のひとつとして、米国ペンシルベニ
ア州ホースハムのモトローラによって製造されたDCT5000が挙げられる。ブロー
ドバンドターミナル30はメッセージが受信されるところの多くの入力ポートを有
する。図1からわかるように、これらのメッセージは、帯域内若しくは帯域外パ
ケットプロセッサポート14、イーサーネットポート10、DOCSISケーブルモデムポ
ート20、USBポート18、パラレルポート12、VBI(Vertical Blanking Interval)ポ
ート22、電話モデムポート24、シリアルポート26若しくはIEEE1394(ファイヤワ
イヤー)ポート16のようなさまざまな異なる通信経路を通じてブロードバンドタ
ーミナル30へ通信される。図1はまたブロードバンドターミナル30内のプラット
フォームソフトウエア28がこのデータを受信するために各種の通信プロトコルに
対してサポートを与えることを示している。サポートされるプロトコルの例とし
て、DigiCipherII(DCII)及びモーション・ピクチャー・エキスパーツ・グループ
(MPEG II)、データ・オーバー・ケーブル・システム・インターフェース・スペ
シフィケーション(DOCSIS1.1)、イーサーネット、SLIP、USB、NABITZ、IEEE1394
並びにさまざまな電話モデムプロトコルが含まれる。
【0019】 セットトップの可能性は、それがイーサーネット10、パラレル12若しくはUSB1
8ポートを通じてPCとインターフェースすることができるため、典型的なデジタ
ルテレビサービスを超えて拡張する。それはまたブロードバンドターミナル30上
で実行するさまざまな新しいアプリケーションを可能にするよう期待される、IE
EE1394ポート16を介したビデオカメラのようなホームネットワーキング機器とイ
ンターフェースすることができる。
【0020】 図2を参照すると、本発明のOSインターフェースが図示されている。該OSイン
ターフェースは抽出のそれらのレベルに従って関数が分離されるところの階層構
造を有する。OSインターフェース内の最低の抽出レベルはカーネル特定(OS依存
)レイヤー100であり、典型的に最高の抽出レベルはクライアントアプリケーシ
ョンが特定のハードウエア若しくはOS環境と独立に動作するところのファームウ
エアレイヤー104である。好適にはこのファームウエアレイヤー104はブロードバ
ンド環境内で実行するアプリケーションに要求されるすべての機能を与えるのに
十分に汎用的である。
【0021】 本発明に従って、各クラスのOS依存レイヤー100は、OSによって与えられる実
際のカーネル呼び出しを使って特定のOSに適切な方法でOS非依存レイヤー102を
実行する。特定のOSに対するソフトウエアオブジェクトのコンパイルはどのOS依
存オブジェクトが使用されるかを決定する。言い換えれば、コードがコンパイル
されるとき、特定のOS(例えばWinCE、VRTX等)に対する適切なライブラリイが
選択される。さらに、好適にはカーネルインターフェース用のソフトウエアは、
パラメータ及び戻り値が一般的でどのOSにも依存しないように書かれている。
【0022】 好適にはインターフェースはオブジェクト指向クラスを使って特定されるが、
それはそれがOS依存レイヤー100からOS非依存レイヤー102を抽出するための単純
な方法を与えるからである。より低いレイヤー(OS依存)100はより高いレイヤ
ー(OS非依存)102内で詳述されるOS関数を実行しなければならないため、OS依
存レイヤー100はOS非依存レイヤー102を引き継いでいる。したがって、Java若し
くはC++プログラミング言語を含むオブジェクト指向プログラミング及び解析技
術を使ってインターフェースが実行されることが好適である。加えて、インター
フェースは、仮想的にあらゆるタイプのオペレーティングシステム(例えば、Wi
ndows(登録商標) CE、VRSTX、VXWorks、Linux等)で使用可能でなければなら
ない。
【0023】 本発明の他の態様は、ファームウエア104がさまざまな非類似のOS(例えば、W
indows CE、VRSTX、VXWorks、Linux等)上で動作するように、ファームウエア10
4に対し能力を与えなければならないということである。特に、インターフェー
スはブロードバンド環境内で実行するプラットフォームソフトウエア28に対して
重要な特徴を与えるよう画成される。これらの重要な特徴は特定の構造を含み、
従来のOS環境内で与えられなかったコードをサポートする。多くのこれらのオペ
レーティングシステムはその特定のブロードバンド環境内でケーブルオペレータ
(MSO)によって展開されるので、これら従来のOS環境は適応されなければならな
い。
【0024】 有利にも、本発明はブロードバンド環境に対してユニークないくつかの構造を
与える。ターミナル30へ同時に方向付けられる大量の到着データが存在するため
、下層オペレーティングシステムによって同期化特徴が有効にされることが重要
である。ターミナル30はしばしば国内レベルで制御されるので、異なる地方時ベ
ースを与えるのにクロック特徴が必要である。付加的に、本発明のインターフェ
ースが処理ベースオペレーティングシステム及び非処理ベースオペレーティング
システムの両方に対して適応されるように、処理中指名(Inter-process naming)
タグが与えられる。上記構造の各々は以下で詳細に説明される。
【0025】 図1に示されるように、データはひとつ若しくはそれ以上のポート10、12、14
、16、18、20、22、24及び26を通じてターミナル30によって受信される。すべて
のスレッドが適切な順序で到着データを処理する準備ができていることを確かめ
ることは挑戦的である。例えば、もしコードベースの一部がこれらの要求を処理
するよう準備されていなければ、このことは特定の要求へのネガティブな影響を
有する。したがって、到着データを同期化することが所望される。したがって、
図3に示されるように、本発明は、ブロードバンドターミナルプラットフォーム
のソフトウエア28のすべての態様が連続的に下流のターミナル30へ送られるメッ
セージの猛襲の処理を開始する準備ができたことを確かめるために使用されるシ
ンクロナイザオブジェクト106を与える。
【0026】 該シンクロナイザオブジェクト106は、顧客のブロードバンド装置(ターミナ
ル30)へ送信されているダウンストリーム要求のすべてを扱う準備ができている
ことを必要とするすべてのスレッドを整合させるためにブロードバンド環境内に
要求される。また、特定の順序でダウンストリームメッセージの組み合わせを処
理する必要性が生じる。シンクロナイザオブジェクト106はこの処理を正しい順
序で行わせることができる。
【0027】 シンクロナイザによって登録されたすべてのスレッドが同期ポイントに到着す
るまで、シンクロナイザクラスによって複数のスレッドが実行を一時停止するこ
とができる。このことは実行を続ける前にすべてのスレッドオブジェクト112を
整合させる。典型的に、同じシンクロナイザクラスを供給することによって共に
同期化されるスレッド112はその目的の関数を実行するために互いに依存する。
これらのスレッド112は、それが依存している他のスレッド112が満足な状態にあ
ることが確かである必要がある。このことは、特にすべてのスレッド112を開始
させるターミナル30のパワーサイクルの後に必要である。ブロードバンド環境内
でこの特徴をより重大にするものは、ブロードバンド環境の特性によって多くの
メッセージが同時にダウンストリームに送られるという事実とともに、単一若し
くはグループのスレッド112がヘッドエンドからのメッセージを処理するという
ことである。
【0028】 図4を参照すると、ブロードバンド環境内で使用するための第2の構造はクロ
ックオブジェクト108である。クロックオブジェクト108はブロードバンド環境内
で広く利用されるGPS、UTC及び地方時を与える。典型的に、これによって従来の
OS内に与えられる機能を拡張することが要求される。クロックオブジェクト108
は、スクリーン上のTVガイドのようなアプリケーションが地方時によって与えら
れることを可能にする地方時サポートを与える。クロックオブジェクト108はま
たこれらの時間ベースが国内制御システム用に使用されるように、GPS及びUTC時
間サポートを与える。このサポートはブロードバンド環境アドレス可能制御器に
異なる州の異なる時間ゾーン内に存在するターミナル30へメッセージを送ること
を可能にする。アドレス可能制御器は、特定のGPS時間においてTVサービスを点
ける若しくは特定の時間において番組を消したりするようなある機能を作動させ
るメッセージを送る。これらのメッセージに対して、地方時ベース制御は作用し
ないが、GPS及びUPC時間ベースは広範囲にわたって作用するよう設計される。図
4の時間クラス128は以下に詳述される。
【0029】 ブロードバンド環境用のOSインターフェース内に与えられる第3のOS構造はさ
まざまなOS構造に対する処理間指名タグである。有利なことに、本発明のOS抽出
レイヤー100及び102は処理ベース環境(例えば、Windows CE)及び非処理ベース
環境(典型的なリアルタイムオペレーティングシステム、若しくはRTOS)の両方
で動作する。ここでのキーは、処理間メカニズムがOS抽出レイヤーの下にある実
際のオペレーティングシステムと実際無関係でOS非依存であるという点である。
いくつかのOSは処理を有し、いくつかは有しない。その結果、処理間指名タグが
両方のオペレーティング環境で動作することが確かであることが必要である。
【0030】 本発明の有利な特徴を達成するのに、いくつかのOS非依存クラスが以下で定義
される。セットトップファームウエア104の異なる関数に対し制御スレッドを作
成しかつ開始するためのスレッドクラス112が与えられる。スレッドは、所望に
よりその実行が中断されるところの中断状態に始まり、後でその実行が再開され
る。他のスレッドに対するスレッドの優先度は変更され得る。スレッドはダウン
ストリームメッセージ処理及びターミナル30の周辺と相互作用する消費者からし
ばしば生じるAPI呼び出し実行を行う。同期スレッドクラス114はスレッドの初期
化及び同期化を与えかつオブジェクト用のメインループを指定する。
【0031】 ミューテックス(mutex)110のようなある制御オブジェクトが指名され、その結
果2つの異なるプロセス内の2つの異なるスレッドが名称によってミューテック
ス110を取得することができる。ミューテックスクラス110はスレッド112の優先
度を逆転することができ、その結果より優先度の低いタスクがより優先度の高い
タスクが待っているリソースを所有している場合、リソースが解放されるまでよ
り優先度の低いタスクの優先度は一時的により高い優先度に上げられる。
【0032】 図6を参照すると、時間クラス116は時間間隔が過ぎたことを通知する。この
ような通知メカニズムは時間関連事象に依存しているスレッド112に目覚ましコ
ールを与えるために使用される。図4のクロックオブジェクトクラス108はタイ
マーオブジェクト116の成分である。事象クラス118は事象の設定及び消去を制御
する。スレッド112が例えば割り込みサービスサブルーチンから事象118を送られ
るとき、事象が使用される。この特定のスレッドはこの事象118を受信するとき
目覚めかつ割り込みに対し特定の必要な処理を実行する。
【0033】 危険域(Critical Section)クラス(図示せず)はコードの危険域に対する保護
を与える。危険域は同じメモリ配置を使用する2つのスレッド112を整合させる
ために使用される。ひとつのスレッドのみがいつでもこのメモリを読み出し若し
くは書き込むことができる。図6に示される多元事象(MultiOrEvent)クラス120
はひとつ若しくはそれ以上の事象が主張されるとき同期化が満足されたことを宣
言する。多元事象全クラス(図示せず)に関して、同期が満足されたときに主張
されるすべての事象は発呼者に戻される。
【0034】 図7を参照すると、メッセージクラス122はオブジェクトにインタータスク若
しくはイントラタスク情報を運ぶことを可能とする。メッセージ待ち行列クラス
124はメッセージ用のコンテナを与える。メッセージはひとつのスレッド112から
他へデータを転送するためのアプローチの例である。絞りメッセージ待ち行列12
6も同様であるが、待ち行列がいっぱい(すなわち、絞り状態)になることをユ
ーザーに知らせる。待ち行列がオーバーフローしているとき入力メッセージが待
ち行列上に置かれることを停止するための方法をソフトウエア設計が与える場合
に、このメカニズムが使用される。
【0035】 図4を参照して、時間クラス128は時間値を与え、一方クロッククラス108はベ
ーシッククロック関数を与える。クロッククラス108はより高レベルのソフトウ
エアに時刻関数を与えるよう機能する。スレッド間通信がメッセージ待ち行列12
4、ミューテックス110及び/または事象118を通じて与えられる。
【0036】 本発明は、ブロードバンド環境内のいくつかのオペレーティングシステム及び
セットトッププラットフォームの下で使用可能な状態で、セットトップファーム
ウエアが一度だけ実行されるようにするユニークなアプローチを与えることが認
識されるべきである。また、本発明は、ブロードバンド環境内で要求される上で
定義されたような新しい戦略的特徴を含む、OSプラットフォーム及びハードウエ
アプラットフォームにわたってアーキテクチャー及びコードを共有することを許
すインターフェースを与える。
【0037】 上記した例は説明するためにのみ与えられたものであり、本発明を限定するも
のとして解釈されるべきではない。発明は好適実施例を参照して説明されてきた
が、ここで使用された用語は限定的なものではなく説明的なものである。また、
発明は特定の手段、材料及び実施例を参照して説明されたが、発明はここに開示
された特定物に限定されるつもりはなく、特許請求の範囲の態様内で示されるよ
うなすべての機能的に同等の構造、方法及び使用に拡張される。この明細書の教
示を享受する当業者は、本発明の態様及び思想から離れることなくさまざまな修
正及び変更を加えることができるであろう。
【図面の簡単な説明】
【図1】 図1は、セットトップターミナルのさまざまな入力ポート及び本発明に従うセ
ットトッププラットフォームソフトウエアによってサポートされるプロトコルの
ブロック図である。
【図2】 図2は、本発明にしたがってOS依存レベルからOS非依存レベルの抽出を達成す
る高レベルのクラス継承構造を示すクラス図である。
【図3】 図3は、本発明に従う、スレッド、シンクロナイザ、同期スレッド、メッセー
ジ待ち行列、及び多元事象クラス用のクラス図である。
【図4】 図4は、本発明に従ってタイムサービスを与えるクロック及び時間クラス用の
クラス図である。
【図5】 図5は、本発明に従う、同期原始であるミューテックスクラス用のクラス図で
ある。
【図6】 図6は、本発明に従う、タイマー、事象及び多元事象クラス用のクラス図であ
る。
【図7】 図7は、本発明に従ってインタータスク若しくはイントラタスク情報を指示す
るメッセージクラス用のクラス図、及び本発明にしたがって待ち行列がいっぱい
になったことを指示する絞りメッセージ待ち行列クラス用のクラス図である。
【符号の説明】
100 OS依存レイヤー 102 OS非依存レイヤー 104 ブロードバンド環境用ファームウエア 106 シンクロナイザ 112 スレッド 114 同期スレッド 118 単一事象 120 多元事象 124 メッセージ待ち行列
【手続補正書】
【提出日】平成15年1月15日(2003.1.15)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CO,CR,CU,CZ,DE ,DK,DM,DZ,EE,ES,FI,GB,GD, GE,GH,GM,HR,HU,ID,IL,IN,I S,JP,KE,KG,KP,KR,KZ,LC,LK ,LR,LS,LT,LU,LV,MA,MD,MG, MK,MN,MW,MX,MZ,NO,NZ,PL,P T,RO,RU,SD,SE,SG,SI,SK,SL ,TJ,TM,TR,TT,TZ,UA,UG,UZ, VN,YU,ZA,ZW (72)発明者 デルソード、クリス アメリカ合衆国ペンシルベニア州18964、 サウダートン、ヘザーフィールド・ドライ ブ 229 (72)発明者 バーンバウム、ジャック、エム アメリカ合衆国ペンシルベニア州18966、 サウザンプトン、ニコル・ドライブ 559 (72)発明者 デイビス、ジェフリー、ティー アメリカ合衆国ペンシルベニア州18901、 ドイルストン、ブルー・リッジ・ドライブ 4506 Fターム(参考) 5B098 AA08 AA09 FF01 GA02 GA04 GA05 GC16 5C025 BA30 DA08 DA10 5C064 BA07 BC10 BC20 BC27

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】プラットフォームソフトウエアとブロードバンド環境内のブロード
    バンドターミナル上で実行する特定のオペレーティングシステムとの間での通信
    を可能とするための方法であって、 オペレーティングシステム依存レイヤー及びオペレーティングシステム非依存
    レイヤーから成るオペレーティングシステム抽出インターフェースをプラットフ
    ォームソフトウエアとオペレーティングシステムとの間に与える工程と、 スレッドを同期化し、タイミングを整合させかつ処理間指名を与えるために、
    オペレーティングシステム抽出インターフェース内に構造を与える工程と、 から成り、 オペレーティングシステム抽出インターフェースは、非類似のオペレーティン
    グシステムにわたって一貫した機能を維持しながら、プラットフォームソフトウ
    エアが非類似のオペレーティングシステム上で実行することを可能にする、とこ
    ろの方法。
  2. 【請求項2】請求項1に記載の方法であって、オペレーティングシステム抽出イ
    ンターフェースは、プラットフォームソフトウエアの異なる機能に対する制御ス
    レッドを作成しかつ開始するためのスレッド関数、及びスレッドの初期化及び同
    期化を与えるためのシンクロナイザ関数を含む、ところの方法。
  3. 【請求項3】請求項2に記載の方法であって、スレッド関数は他のスレッドに対
    する少なくとも特定のひとつのスレッドの優先度が変更されるのを可能にし、ス
    レッド関数は少なくとも特定のひとつのスレッドの実行が特定のスレッドを中断
    状態で始めることによって中断されることを可能にし、また特定のスレッドの実
    行が後に再開されるのを可能とする、ところの方法。
  4. 【請求項4】請求項2に記載の方法であって、シンクロナイザ関数は、シンクロ
    ナイザによって登録されたすべてのスレッドが同期ポイントに達するまで、少な
    くとも特定のひとつのスレッドに実行の一時停止を生じさせる、ところの方法。
  5. 【請求項5】請求項2に記載の方法であって、オペレーティングシステム抽出イ
    ンターフェースは少なくとも特定のひとつのスレッドの優先度を逆転するための
    ミューテックス関数を含み、その結果特定のスレッドに関連する第1のタスクが
    最初により低い優先度を有しかつ他のひとつのスレッドに関連するより優先度の
    高い第2のタスクが待っているリソースを所有しているとき、第1のタスクがリ
    ソースを解放するまで第1のタスクの優先度が一時的により高い優先度に上げら
    れる、ところの方法。
  6. 【請求項6】請求項1に記載の方法であって、オペレーティングシステム抽出イ
    ンターフェースは時間間隔が経過したことをスレッドに通知するためのタイマー
    関数を含む、ところの方法。
  7. 【請求項7】請求項1に記載の方法であって、オペレーティングシステム抽出イ
    ンターフェースはオブジェクトにインタータスク若しくはイントラタスク情報を
    運ぶことを許すためのメッセージ関数を含む、ところの方法。
  8. 【請求項8】請求項1に記載の方法であって、プラットフォームソフトウエアは
    ターミナル用のファームウエアから成る、ところの方法。
  9. 【請求項9】ブロードバンド環境内で使用するためのターミナルであって、 ダウンストリームデータを受信するよう取付けられた複数の入力ポートと、 そこに存在する実行可能なコンピュータプログラムコードを有するコンピュー
    タ読取可能媒体であって、該コンピュータプログラムコードはプラットフォーム
    ソフトウエアとターミナル上で実行するオペレーティングシステムとの間のオペ
    レーティングシステム抽出インターフェースから成る、ところのコンピュータ読
    取可能媒体と、 コンピュータプログラムコードを実行するためのプロセッサと、 から成り、 オペレーティングシステム抽出インターフェースの一部はオペレーティングシ
    ステムに依存せず、 オペレーティングシステム抽出インターフェースは、スレッドを同期化し、タ
    イミングを整合させかつ処理間指名を与えるための構造を与え、 オペレーティングシステム抽出インターフェースは、非類似のオペレーティン
    グシステムにわたって一貫した機能を維持しながらプラットフォームソフトウエ
    アが非類似のオペレーティングシステム上で実行することを可能にする、 ところのターミナル。
  10. 【請求項10】請求項9に記載のターミナルであって、オペレーティングシステ
    ム抽出インターフェースは、プラットフォームソフトウエアの異なる機能に対す
    る制御スレッドを作成しかつ開始するためのスレッド関数、及びスレッドの初期
    化及び同期化を与えるためのシンクロナイザ関数を含む、ところのターミナル。
  11. 【請求項11】請求項10に記載のターミナルであって、スレッド関数は他のス
    レッドに対する少なくとも特定のひとつのスレッドの優先度が変更されるのを可
    能にし、スレッド関数は少なくとも特定のひとつのスレッドの実行が特定のスレ
    ッドを中断状態で始めることによって中断されることを可能にし、また特定のス
    レッドの実行が後に再開されるのを可能とする、ところのターミナル。
  12. 【請求項12】請求項11に記載のターミナルであって、シンクロナイザ関数は
    、シンクロナイザによって登録されたすべてのスレッドが同期ポイントに達する
    まで、少なくとも特定のひとつのスレッドに実行の一時停止を生じさせる、とこ
    ろのターミナル。
  13. 【請求項13】請求項10に記載のターミナルであって、オペレーティングシス
    テム抽出インターフェースは少なくとも特定のひとつのスレッドの優先度を逆転
    するためのミューテックス関数を含み、その結果特定のスレッドに関連する第1
    のタスクが最初により低い優先度を有しかつ他のひとつのスレッドに関連するよ
    り優先度の高い第2のタスクが待っているリソースを所有しているとき、第1の
    タスクがリソースを解放するまで第1のタスクの優先度が一時的により高い優先
    度に上げられる、ところのターミナル。
  14. 【請求項14】請求項9に記載のターミナルであって、オペレーティングシステ
    ム抽出インターフェースは時間間隔が経過したことをスレッドに通知するための
    タイマー関数を含む、ところのターミナル。
  15. 【請求項15】請求項9に記載のターミナルであって、オペレーティングシステ
    ム抽出インターフェースはオブジェクトにインタータスク若しくはイントラタス
    ク情報を運ぶことを許すためのメッセージ関数を含む、ところのターミナル。
  16. 【請求項16】請求項9に記載のターミナルであって、プラットフォームソフト
    ウエアはターミナル用のファームウエアから成る、ところのターミナル。
  17. 【請求項17】クライアントとターミナル上で実行する特定のオペレーティング
    システムとの間で通信する方法であって、 複数の非類似のオペレーティングシステムによって与えられる機能の所定のセ
    ットへのインターフェースを与えるカーネルインターフェースへ機能に対するオ
    ペレーティングシステム非依存要求を作る工程と、 前記オペレーティングシステム非依存要求を前記カーネルインターフェースで
    受信する工程と、 前記オペレーティングシステム非依存要求を特定のオペレーティングシステム
    に依存する機能に対する要求へ変換する工程と、 から成る方法。
  18. 【請求項18】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求はクライアントによって作られる、ところの方法。
  19. 【請求項19】請求項17に記載の方法であって、カーネルインターフェースは
    オペレーティングシステム非依存要求を受信するための第1抽出レイヤー及び前
    記変換工程を実行するための第2抽出レイヤーを含む、ところの方法。
  20. 【請求項20】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求はスレッド要求から成る、ところの方法。
  21. 【請求項21】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求は同期化要求から成る、ところの方法。
  22. 【請求項22】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求はタイマー要求から成る、ところの方法。
  23. 【請求項23】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求はメモリ要求から成る、ところの方法。
  24. 【請求項24】請求項17に記載の方法であって、オペレーティングシステム非
    依存要求はメッセージ要求から成る、ところの方法。
  25. 【請求項25】請求項17に記載の方法であって、ターミナルはネットワーク内
    の加入者テレビターミナルである、ところの方法。
  26. 【請求項26】請求項17に記載の方法であって、ターミナルはブロードバンド
    通信ネットワーク内にある、ところの方法。
  27. 【請求項27】請求項17に記載の方法であって、クライアントによってカーネ
    ルインターフェースへ与えられたパラメータ及びカーネルインターフェースによ
    ってクライアントに戻された戻り値は、複数の非類似オペレーティングシステム
    に依存しない、ところの方法。
  28. 【請求項28】クライアントとターミナル上で実行する特定のオペレーティング
    システムとの間での通信を可能にする装置であって、 機能に対するオペレーティングシステム非依存要求を受信するためのカーネル
    インターフェースから成り、 前記カーネルインターフェースは複数の非類似のオペレーティングシステムに
    よって与えられる機能の所定のセットへインターフェースを与え、前記オペレー
    ティングシステム非依存要求を特定のオペレーティングシステムに依存する機能
    に対する要求へ変換する、ところの装置。
  29. 【請求項29】請求項28に記載の装置であって、オペレーティングシステム非
    依存要求はクライアントによって作られる、ところの装置。
  30. 【請求項30】請求項28に記載の装置であって、カーネルインターフェースは
    オペレーティングシステム非依存要求を受信するための第1抽出レイヤー及び前
    記変換を実行するための第2抽出レイヤーを含む、ところの装置。
  31. 【請求項31】請求項28に記載の装置であって、ターミナルはネットワーク内
    の加入者テレビターミナルである、ところの装置。
  32. 【請求項32】請求項28に記載の装置であって、ターミナルはブロードバンド
    通信ネットワーク内にある、ところの装置。
  33. 【請求項33】請求項28に記載の装置であって、クライアントによってカーネ
    ルインターフェースへ与えられたパラメータ及びカーネルインターフェースによ
    ってクライアントへ戻された戻り値は、複数の非類似のオペレーティングシステ
    ムに依存しない、ところの装置。
JP2001573212A 2000-03-27 2001-03-27 ブロードバンド・ターミナル・プラットフォーム・ファームウエア用オペレーティングシステム抽出インターフェース Pending JP2003529840A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/535,899 2000-03-27
US09/535,899 US6721949B1 (en) 2000-03-27 2000-03-27 Kernel abstraction layer for digital television set-top box firmware
US09/798,351 2001-03-02
US09/798,351 US20010027464A1 (en) 2000-03-27 2001-03-02 Operating system abstraction interface for broadband terminal platform firmware
PCT/US2001/009753 WO2001075599A2 (en) 2000-03-27 2001-03-27 Operating system abstraction interface for broadband terminal platform firmware

Publications (1)

Publication Number Publication Date
JP2003529840A true JP2003529840A (ja) 2003-10-07

Family

ID=27064982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001573212A Pending JP2003529840A (ja) 2000-03-27 2001-03-27 ブロードバンド・ターミナル・プラットフォーム・ファームウエア用オペレーティングシステム抽出インターフェース

Country Status (11)

Country Link
US (1) US20010027464A1 (ja)
EP (1) EP1269312A2 (ja)
JP (1) JP2003529840A (ja)
KR (1) KR20030015218A (ja)
CN (1) CN1429363A (ja)
AR (1) AR030200A1 (ja)
AU (1) AU2001252975A1 (ja)
CA (1) CA2404400A1 (ja)
HK (1) HK1053369A1 (ja)
TW (1) TW541494B (ja)
WO (1) WO2001075599A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI324309B (en) 2002-08-26 2010-05-01 Interdigital Tech Corp Communication circuit
US8255912B2 (en) * 2005-04-13 2012-08-28 Qualcomm Incorporated Techniques for setting events in a multi-threaded system
US20070201270A1 (en) * 2005-12-30 2007-08-30 Stmicroelectronics Pvt. Ltd. Read only memory device with bitline leakage reduction
DE102006014019A1 (de) * 2006-03-27 2007-10-11 Siemens Ag Verfahren zum Steuern der Zugriffe auf Ressourcen eines Computersystems
JP4609381B2 (ja) * 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
JP5452125B2 (ja) * 2009-08-11 2014-03-26 クラリオン株式会社 データ処理装置及びデータ処理方法
CN103019817B (zh) * 2012-11-30 2015-10-14 北京奇虎科技有限公司 一种用于页面交互的方法与装置
US9487959B2 (en) 2013-04-09 2016-11-08 Clinton D. Bunch Device for leveling and aligning tiles and method for leveling and aligning tiles
CN103399753A (zh) * 2013-08-19 2013-11-20 银联商务有限公司 软件架构
WO2015196330A1 (zh) * 2014-06-23 2015-12-30 华为技术有限公司 一种路由设备的操作方法、路由设备和终端设备
US11093221B1 (en) * 2020-02-14 2021-08-17 Red Hat, Inc. Automatic containerization of operating system distributions
US11520614B2 (en) * 2020-03-10 2022-12-06 Dish Network L.L.C. Operating system-agnostic container runtime

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104868A (en) * 1996-04-30 2000-08-15 Peters; Daniel G. Extendible and portable network protocol based system management architecture
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US6418460B1 (en) * 1997-02-18 2002-07-09 Silicon Graphics, Inc. System and method for finding preempted threads in a multi-threaded application
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor

Also Published As

Publication number Publication date
CA2404400A1 (en) 2001-10-11
HK1053369A1 (zh) 2003-10-17
EP1269312A2 (en) 2003-01-02
KR20030015218A (ko) 2003-02-20
US20010027464A1 (en) 2001-10-04
CN1429363A (zh) 2003-07-09
TW541494B (en) 2003-07-11
WO2001075599A2 (en) 2001-10-11
WO2001075599A3 (en) 2002-08-01
AU2001252975A1 (en) 2001-10-15
AR030200A1 (es) 2003-08-13

Similar Documents

Publication Publication Date Title
US11252055B2 (en) Methods and apparatus for hardware registration in a network device
JP2003529840A (ja) ブロードバンド・ターミナル・プラットフォーム・ファームウエア用オペレーティングシステム抽出インターフェース
US7080386B2 (en) Architecture with digital signal processor plug-ins for general purpose processor media frameworks
US6412031B1 (en) Simultaneous control of live video device access by multiple applications via software locks and in accordance with window visibility of applications in a multiwindow environment
US9473827B2 (en) Apparatus and methods for implementation of network software interfaces
Coulson et al. Micro-kernel support for continuous media in distributed systems
CN102591726A (zh) 一种多进程通信方法
JP4171910B2 (ja) 並列処理システム及び並列処理プログラム
CN105357273A (zh) 异步通信模式下socket通信与进程管理通用平台及方法
JP2002312331A (ja) メディアアクセラレータのサービス品質
JP5453825B2 (ja) プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法
JP2003512671A (ja) 並列コンテキスト切換を用いてアイソクロノス処理をサポートする方法
KR100733960B1 (ko) 데이터 방송과 홈네트워크 서비스를 지원하는 디지털 방송수신 장치 및 그 방법
JP2001519567A (ja) モデム制御
KR100544151B1 (ko) 디지털 텔레비젼의 임베디드 오에스 소프트웨어 통합 시스템
CN115640153B (zh) 系统架构、消息处理方法、装置、电子设备及存储介质
CN116302454B (zh) 申请网络资源的方法及电子设备
JP3958714B2 (ja) 携帯通信機器
CN114880086A (zh) 一种航空电子系统的全局任务同步的方法
JP3803608B2 (ja) 情報処理装置
Iwasaki et al. On-chip multimedia real-time OS and its MPEG-2 applications
JP2004038511A (ja) マルチプロセッサシステム及びそれに用いる負荷分散制御方法並びにそのプログラム
CN117608818A (zh) 多线程数据处理方法、装置、设备及介质
CN102014302A (zh) 一种机顶盒高性能模块调度的方法
Choe et al. CCP: Container for concurrency processing of robotics component