JP4303884B2 - モデム制御 - Google Patents

モデム制御 Download PDF

Info

Publication number
JP4303884B2
JP4303884B2 JP2000515234A JP2000515234A JP4303884B2 JP 4303884 B2 JP4303884 B2 JP 4303884B2 JP 2000515234 A JP2000515234 A JP 2000515234A JP 2000515234 A JP2000515234 A JP 2000515234A JP 4303884 B2 JP4303884 B2 JP 4303884B2
Authority
JP
Japan
Prior art keywords
device driver
receiver
decoder
memory
application
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 - Lifetime
Application number
JP2000515234A
Other languages
English (en)
Other versions
JP2001519567A (ja
JP2001519567A5 (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
Application filed by カナル プラス ソシエテ アノニム filed Critical カナル プラス ソシエテ アノニム
Publication of JP2001519567A publication Critical patent/JP2001519567A/ja
Publication of JP2001519567A5 publication Critical patent/JP2001519567A5/ja
Application granted granted Critical
Publication of JP4303884B2 publication Critical patent/JP4303884B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Selective Calling Equipment (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Electronic Switches (AREA)

Description

【0001】
本発明はモデムに関し、さらに詳しくはモデムの遠隔制御に関する。それは、アプリケーションプログラムを物理装置にインタフェースする際に、特にデジタル伝送システム用の受信器/復号器の文脈において適用することができるが、それのみに限定されない。
【0002】
ここで使用する用語「受信器/復号器」とは、他の何らかの手段によって一斉同報するか送信することができる、符号化された信号または符号化されていない信号のいずれか、例えばテレビジョン信号および/または無線信号を受信するための受信器を意味する。この用語はまた、受信した信号を復号するための復号器をも意味する。そのような受信器/復号器の実施形態として、例えば「セット・トップ・ボックス」における受信した信号を復号するための受信器と一体的な復号器であって、物理的に分離した受信器と組み合わせて機能し、あるいはウェブ・ブラウザ、ビデオ・レコーダ、またはテレビジョンなどの追加機能を含む復号器を挙げることができる。
【0003】
主にテレビジョン信号を一斉同報するために意図されたデジタル伝送システム、特に、ただしそれのみに限定するものとしてではなく、衛星テレビジョン・システムの登場は、そのようなシステムを他の目的に使用する可能性を開いた。これらの1つは、エンド・ユーザとの対話性を提供することである。
【0004】
ここで使用する用語「デジタル伝送システム」とは、例えば主として音声映像またはマルチメディア・デジタル・データを送信するか一斉同報するための伝送システムを含む。本発明は特に放送デジタル・テレビジョン・システムに適用することができるが、本発明はまたマルチメディア・インターネット・アプリケーション用の固定テレコミュニケーション・ネットワーク、閉回路テレビジョン等々にも適用することができる。用語「デジタル伝送システム」は、例えば衛星、地上、ケーブル、またはその他のシステムを含む。
【0005】
本発明は、受信信号が受信器を介して受信器/復号器およびそれからテレビジョン受像機に渡される、放送デジタル・テレビジョン・システムに特に適用することができる。(セット・トップ・ボックスまたはSTBとしても知られる)受信器/復号器は、圧縮されたMPEG型の信号をテレビション受像機用のテレビジョン信号に復号する。それは、受信器/復号器内のインタフェースを介して、遠隔制御ハンドセットによって制御される。
【0006】
上述の対話性を提供する1つの方法は、テレビジョン信号がそれを通して受信される受信器/復号器でアプリケーションを実行することである。様々なアプリケーションを様々な物理装置と透過的に通信できるようにすることが望ましい。本発明の同時係属出願PCT/EP97/02115およびPCT/EP97/02116は、1つまたはそれ以上のアプリケーションをセット・トップ・ボックス(STB)によってダウンロードし、かつ各装置用のデバイス・ドライバおよび全デバイス・マネージャによって並列および直列インタフェースならびにスマートカード読取器などのSTB内の物理装置と通信することができるシステムを記載している。
【0007】
本発明に従って、セット・トップ・ボックスがモデム、直列チャネル、並列チャネル、MPEG(圧縮され符号化された映像信号)チャネル、スワイプ(swipe)カード読取器等々といった多種多様な信号チャネルとインタフェースする能力を提供することが提案されてきた。セット・トップ・ボックスは、実行時エンジンを含む仮想機械を含む。仮想機械はデバイス・マネージャに結合され、デバイス・マネージャは次に、装置およびデバイス・ドライバを介して様々なチャネルの物理インタフェースに結合される。
【0008】
MPEGという用語は、国際標準化機構の作業部会「Motion Picture Expert Group」によって作成されたデータ伝送標準、特に、ただしそれのみに限定するものとしてではなく、デジタル・テレビジョン・アプリケーション用に開発され、文書ISO 13818−1、ISO 13818−2、ISO13818−3、およびISO 13818−4に規定されたMPEG−2標準を指す。本特許出願の文脈では、この用語は、デジタル・データ伝送に適用可能なMPEGフォーマットの全ての変形、変更、または展開を含む。
【0009】
上述の通り、チャネルの1つはモデムであることが好ましい。本発明の主な目的は、そのようなモデムの改善された制御を提供することである。これは、モデムを制御するための改善されたデバイス・ドライバを提供することによって達成される。この目的のために、装置とデバイス・ドライバの間の区別の厳密な性質は重要ではなく、ここで使用する用語「デバイス・ドライバ」は、文脈上別の解釈が要求されない限り、ハードウェアとアプリケーションとの間の何らかの形のインタフェースを含むと解釈すべきである。
【0010】
本発明に従って、モデムからのメッセージを受け取りかつ格納するためのバッファ・メモリと、制御パラメータを格納するための制御メモリと、デバイス・ドライバおよびメッセージの流れを制御するための論理ユニットを備えた、モデムを制御しかつそれと通信するためのデバイス・ドライバを提供する。論理ユニットは、制御メモリに格納されたパターンをバッファ・メモリ内に格納されたメッセージと照合して、デバイス・ドライバに結合されたデバイス・マネージャに送信するための信号を生成する比較器を含む。
【0011】
デバイス・マネージャは通常、複数のデバイス・ドライバを制御し、かつデバイス・ドライバと1つまたはそれ以上のアプリケーションとの間でメッセージを受け渡すように適応されるが、用語「デバイス・マネージャ」は、デバイス・ドライバを制御できるどんなエンティティをも包含するように意図されている。それは、制御アプリケーションそのものとすることができる。本発明の別の重要な特徴は、以下の詳細な説明および請求の範囲から明らかになるであろう。
【0012】
本装置は、例えば本願の同時係属出願PCT/EP97/02106〜02117に記載する、例えばデジタル伝送システム用の受信器/復号器内のデバイス・ドライバとして実現することが最も好ましい。そのような実現では、デバイス・ドライバは、デバイス・マネージャを介して、デバイス・ドライバを制御するための便利かつ柔軟な装備を提供するアプリケーションの制御下で作動することができる。アプリケーションは解釈された言語で実行されることが好ましく、デバイス・ドライバはコンパイルされることが好ましい。
【0013】
比較器は、記憶されたパターンをメッセージの予め定められた最終長と比較することが好ましい。
【0014】
パターンは多数の型のパターンとすることができ、同じ型の多数のパターンが存在することができる。そのようなパターンの型は、Event、ACK(肯定応答)およびNACK(否定応答)を含むことができ、生成される信号は、合致したパターンの型を示す。
【0015】
デバイス・ドライバは、モデムを介して受信したメッセージに信号を付加することによって、デバイス・マネージャに信号を送るように適応させることができる。コマンドはデバイス・ドライバとデバイス・マネージャとの間で受け渡すことができ、デバイス・ドライバにパラメータを設定するCall、デバイス・ドライバへの制御信号およびデータを送信するIO、およびパターンの検出、メッセージの受取り、または伝送問題をデバイス・マネージャに知らせるEventの形式をとる。Callコマンドの1つの形式は、比較器によって探索される1つまたはそれ以上のパターンを定義するための少なくとも1つのパターン設定コマンドを含む。
【0016】
探索されるパターンを定義するパターン設定コマンドは、各パターン型にパターン設定コマンドを1つずつ、3つの副型があることが好ましい。この、または少なくとも1つのパターン設定コマンドは、照合すべき複数のパターンを定義するように適応させることができ、各パターンは、対応するパターンの検出後に生成される関連イベント信号を持つ。
【0017】
探索されるパターンは、制御メモリのそれぞれの副領域に格納することができる。あるいは、探索されるパターンは、制御メモリの単一の連続領域に格納することができる。
【0018】
1つの実施形態では、複数の合致が発生した場合、最後の合致に対してだけ作動する。あるいは、複数の合致が発生した場合、様々な型の合致の間で予め定められた優先順位に従って型を示す。
【0019】
デバイス・ドライバの機能はハードウェアで、例えば専用の集積回路で実現することができる。これにより、動作速度を高めることができる。しかし、デバイス・ドライバの少なくとも一部はソフトウェアで実現することが好ましく、アプリケーションを実行する処理手段によって実行することが好ましい。これにより、より大きい柔軟性が得られ、必要な構成部品が少なくてすみ、デバイス・ドライバをより簡単に更新することが可能になる。
【0020】
本発明は、バッファ・メモリおよび制御メモリを含むデバイス・ドライバを使用して、モデムを制御しかつそれと通信する方法に及び、前記方法は、
モデムからのメッセージを受け取り、かつそれを前記バッファ・メモリに格納するステップと、
制御パラメータを前記制御メモリに格納するステップと、
制御メモリに格納されたパターンをバッファ・メモリに格納されたメッセージと照合して、デバイス・ドライバに結合されたデバイス・マネージャに送るための信号を生成するステップと
を含む。
【0021】
上記の特徴はどれでも任意の適切な組合せで一つに結合することができる。装置の特徴は方法態様に適用することができ、その逆もしかりである。
【0022】
本発明の好適な特徴について、純粋に例として添付の図面に関連して、今から説明する。
受信器/復号器の基礎
デバイス・ドライバの理解を助けるために、デバイス・ドライバが作動する好適なプラットフォーム、つまり本発明のデジタル伝送受信器/復号器について最初に簡単に説明する。
【0023】
図1を参照すると、実施形態のデバイス・ドライバを取り付けるように意図されたデジタル対話型テレビジョン・システム用の受信器/復号器2020またはセット・トップ・ボックスが、概略的に示されている。適切なデジタル対話型テレビジョン・システムの詳細は、本願の同時係属出願PCT/EP97/02106〜02117に記載されているので、それを参照されたい。それらの開示は、参照によってここに組み込まれる。参照を容易にするために、前述の明細書でより詳しく説明されている部品は一般的に、これらの明細書で使用する参照符号によって指定される。
【0024】
前述の明細書に詳述されているように、図1を参照すると、受信器/復号器2020は、幾つかのインタフェース、特にMPEG信号フロー用の同調器4028、直列インタフェース4030、並列インタフェース4032、および1つはシステムの一部を形成するスマートカード用、1つは銀行カード(支払い、ホーム・バンキングなどに使用される)用の2つのカード読取器4036を含む。受信器/復号器はまた、テレビジョン信号制作者につながるモデムド・バック・チャネル(modemmed back channel)4002へのインタフェース4034をも含むので、ユーザは好みなどをテレビジョン信号(番組)制作者に示すことができる。受信器はまた、実行時エンジン4008、デバイス・マネージャ4068、および1つまたはそれ以上のアプリケーション4056を実行するための複数の装置4068およびデバイス・ドライバ4060をも含む(図2参照)。
【0025】
この明細書では、アプリケーションは、好ましくは受信器/復号器2020の高レベル機能を制御するための1片のコンピュータ・コードとする。例えば、エンド・ユーザが遠隔制御器の焦点をテレビジョン受像機2022の画面上のボタン・オブジェクト上に置いて、有効なキーを押すと、そのボタンに関連付けられた命令シーケンスが実行される。
【0026】
対話型アプリケーションはメニューを提供し、エンド・ユーザの要求でコマンドを実行し、アプリケーションの目的に関連するデータを提供する。アプリケーションは、常駐アプリケーション、つまり受信器/復号器2020のROM(またはFLASHまたはその他の不揮発性メモリ)に格納されたアプリケーションか、または受信器/復号器2020のRAMまたはFLASHメモリに一斉同報またはダウンロードされるアプリケーションのいずれかとすることができる。
【0027】
上述の出願でより詳しく記載するアプリケーションの例の一部として、次のようなものがある。
【0028】
受信器/復号器2020がMPEG−2環境ですぐに作動することを可能にする適応可能なモジュールの集合である起動アプリケーション。
【0029】
ダウンロードまたは常駐のどちらでもアプリケーションを受信器/復号器2020で実行させる始動アプリケーション。
【0030】
番組に関して完全な情報を与える対話型アプリケーションであるプログラム・ガイド。
【0031】
デジタル・テレビジョン・ブーケの各PPVチャネルで利用可能な対話型サービスであり、エンド・ユーザが現在のイベントを買うことを可能にするペイ・パー・ビュー・アプリケーション。
【0032】
エンド・ユーザがPCダウンロード・アプリケーションを使用してコンピュータ・ソフトウェアをダウンロードすることを可能にするPCダウンロード・アプリケーション。
【0033】
画面上のボタンによるエンド・ユーザ・ナビゲーション付きの画像の循環ビデオ放送(cyclic video broadcast)を含むマガジン・ブラウザ。
【0034】
販売用商品の提供を受信器/復号器2020に送信し、かつテレビジョン受像機2020に表示することを可能にし、かつユーザが買うための特定の品目を選択することを可能にするテレショッピング・アプリケーション。
【0035】
アプリケーションは、受信器/復号器2020内の記憶場所に格納され、資源ファイルとして表現される。資源ファイルは、上述の明細書でより詳しく述べるように、グラフィック・オブジェクト記述ユニット・ファイル、可変ブロック・ユニット・ファイル、命令シーケンス・ファイル、アプリケーション・ファイル、およびデータ・ファイルを含む。
【0036】
MPEGデータ・ストリームでは、各モジュールが1群のMPEGテーブルを含む。各MPEGテーブルは、多数のセクションとしてフォーマット化することができる。MPEGデータ・ストリームでは、各セクションは最高4kバイトまでの「サイズ」を持つ。例えば直列ポートおよび並列ポートを介してデータ転送する場合、モジュールは同様にテーブルおよびセクションに分割され、セクションのサイズはトランスポート媒体によって変化する。
【0037】
モジュールは、MPEGデータ・ストリームでそれぞれの型のデータ・ストリーム内で、例えば映像データ・ストリーム、音声データ・ストリーム、およびテレテキスト・データ・ストリーム内で、一般的に188バイトのデータ・パケットの形で転送される。各パケットには13ビットのパケット識別子(PID)が先行し、MPEGデータ・ストリーム内で転送される各パケットに1つづつPIDが付く。番組マップ・テーブル(PMTテーブル)は、様々なデータ・ストリームのリストを含み、それぞれのPIDによって各データ・ストリームの内容を定義する。番組以外でも、特定のPIDは、データ・ストリームに含まれるアプリケーションまたはその他のデータに割り当てることができ、PIDはPMTテーブルを使用して識別される。
【0038】
復号器は、RAMボリューム、FLASHボリューム、およびROMボリュームに分割されるメモリを含むが、この物理的編成は論理編成とは区別される。メモリはさらに、様々なインタフェースに関連付けられたメモリ・ボリュームに分割することができる。1つの視点から、メモリはハードウェアの一部とみなすことができる。別の視点から、メモリは、ハードウェアとは別個に示されるシステムの全体をサポートまたは包含するものとみなすことができる。
【0039】
システムは、仮想機械4007の一部を形成する実行時エンジン4008を中心にしているとみなすことができる。これは、一方をアプリケーションに結合され(「高レベル」側)、他方(「低レベル」側)を以下で述べる様々な中間論理ユニットを介して受信器/復号器ハードウェア4061に結合される。受信器/復号器ハードウェアは上述の通り、様々なポートまたはインタフェースを含むものとみなすことができる(ハンドセット2026用のインタフェース2030、MPEGストリーム・インタフェース4028、直列インタフェース4030、並列インタフェース4032、カード読取器4036用のインタフェース、およびモデムド・バック・チャネル4002用のインタフェース4034)。
【0040】
図2を参照すると、様々なアプリケーション4057がユニット4007に結合されている。より一般的に使用されるアプリケーションの幾つかはだいたい、4057で示すようにシステムに永久常駐することができるが、他は、例えばMPEGデータ・ストリームまたは必要に応じてその他のポートからシステムにダウンロードされる。
【0041】
ユニット4007は、実行時エンジン4008以外に、ツールボックス4058を含む幾つかの常駐ライブラリ関数4006を含む。ライブラリは、エンジン4008によって使用されるC言語の雑関数を含む。これらは、圧縮、拡張、またはデータ構造の比較、線引き等々のデータ操作を含む。ライブラリ4006はまた、ハードウェアおよびソフトウェアのバージョン番号および使用可能なRAM空間、ならびに新しい装置4062をダウンロードするときに使用する関数など、受信器/復号器2020内のファームウェア4061に関する情報をも含む。関数はライブラリにダウンロードし、フラッシュ・メモリ、またはRAMメモリに格納することができる。
【0042】
実行時エンジン4008はデバイス・マネージャ4068に結合され、デバイス・マネージャは1組の装置4062に結合され、装置はデバイス・ドライバ4060に結合され、デバイス・ドライバは次にポートまたはインタフェースに結合される。広義には、デバイス・ドライバは論理インタフェースを定義するものとみなすことができるので、2つの異なるデバイス・ドライバを共通の物理ポートに結合することができる。装置は通常2つ以上のデバイス・ドライバに結合される。装置を単一のデバイス・ドライバに結合する場合、装置は通常、別個のデバイス・ドライバの必要性が回避されるように、通信に必要な完全な機能性を組み込むように設計される。特定の装置は、それらの間で通信することができる。
【0043】
以下で説明するように、装置4062から実行時エンジンへの通信は、1組のイベント待ち行列に渡される変数、バッファ、およびイベントによる3つの形式がある。
【0044】
受信器/復号器2020の各機能は、装置4062として表される。装置は局所あるいは遠隔のいずれかでありうる。局所装置4064は、スマート・カード、SCARTコネクタ信号、モデム、直列および並列インタフェース、MPEG映像および音声再生器、ならびにMPEGセクションおよびテーブル抽出器を含む。遠隔場所で実行される遠隔装置4066は、ポートおよび手続きを、受信器/復号器製造者によって提供され設計される装置およびデバイス・ドライバによってではなく、システム権限者または設計者によって定義しなければならないという点で、局所装置とは異なる。
【0045】
新しい装置4062が作成された場合、放送センタから関連アプリケーション4056をダウンロードすることによって、既存の受信器/復号器2020にそれをインストールことができる。このダウンロードは、ハードウェアおよびソフトウェアのバージョンを検査して、正しければ新しい装置4062を表すソフトウェア・モジュールをロードし、ライブラリ4006の手続きに新しい装置コードをファームウェア内(フラッシュ・メモリ)にインストールするように要求するアプリケーション4056によって、受信器/復号器2020内で実行される。これにより、他のソフトウェアに悪影響を及ぼすことなく、受信器/復号器2020内に新しい関数を柔軟かつ確実にインストールすることができる。
【0046】
デバイス・マネージャ4068は、アプリケーション4056と受信器/復号器2020の特定の関数との間の共通ソフトウェア・インタフェースである。デバイス・マネージャ4068は、装置4062へのアクセスを制御し、予想外のイベントの受取りを宣言し、共用メモリを管理する。
【0047】
実行時エンジン4008は、マイクロプロセッサおよび共通アプリケーション・プログラミング・インタフェースの制御下で実行する。これらは全ての受信器/復号器2020にインストールされるので、アプリケーションの観点からは、全ての受信器/復号器2020は同一である。
【0048】
エンジン4008は、受信器/復号器2020でアプリケーション4056を実行する。それは対話型アプリケーション4056を実行し、受信器/復号器2020の外からイベントを受け取り、グラフィックスおよびテキストを表示し、サービス用の装置を呼出し、特定の計算のためにエンジン4008に接続されたライブラリ4006の関数を使用する。
【0049】
実行時エンジン4008は、各受信器/復号器2020にインストールされた実行可能コードであり、アプリケーションを解釈して実行するためのインタプリタを含む。エンジン4008は、(MS−DOSなどの)単一タスク・オペレーティング・システムをはじめ、どんなオペレーティング・システムにでも適応可能である。エンジン4008はプロセス・シーケンサ・ユニット(これはキー押しなど様々なイベントを受けて、様々な動作を実行する)を基盤とし、それ自体のスケジューラを含み、様々なハードウェア・インタフェースからのイベント待ち行列を管理する。それはまた、グラフィックスおよびテキストの表示も処理する。プロセス・シーケンサ・ユニットは、1組の動作グループを含む。各イベントは、イベントの性質によってプロセス・シーケンサ・ユニットをその現在の動作グループから別の動作グループに移動させ、新しい動作グループの動作を実行させる。
【0050】
エンジン4008は、アプリケーション4056を受信器/復号器メモリ2028にロードしかつダウンロードするコード・ローダを含む。最適使用を確実にするために、必要なコードだけがRAMまたはフラッシュ・メモリにロードされる。ダウンロードされたデータは、アプリケーション4056の改変や無許可アプリケーションの実行を防止するために、認証機構によって検証される。エンジン4008はさらにデコンプレッサ(decompressor)をも含む。アプリケーション・コード(中間コードの形)は、空間の節約のため、およびMPEG−2トランスポート・ストリームからまたは内蔵受信器/復号器モードを介して高速ダウンロードするために圧縮されるので、コードはRAMにロードする前に展開しなければならない。エンジン4008はまた、アプリケーション・コードを解釈して様々な変数値を更新したり状態変化を決定するためにインタプリタを持ち、かつ誤りチェッカも持つ。
【0051】
いずれかの装置4062のサービスを使用する前に、プログラム(アプリケーション命令シーケンスなど)は「クライアント」として、つまり装置4062またはデバイス・マネージャ4068への論理アクセス路を宣言しなければならない。マネージャはクライアントにクライアント番号を与え、これは装置への全てのアクセスで参照される。装置4062は幾つかのクライアントを持つことができ、各装置4062のクライアント数は、装置4062の種類によって指定される。クライアントは、手続き「Device:Open Channel」によって装置4062に導入される。この手続きはクライアントにクライアント番号を割り当てる。クライアントは、手続き「Device:Close Channel」によってデバイス・マネージャ4068からクライアント・リストを取り出すことができる。
【0052】
デバイス・マネージャ4068によって提供される装置4062へのアクセスは、同期または非同期のどちらでも行うことができる。同期アクセスには、手続き「Device:Call」が使用される。これは、すぐに利用可能データまたは希望する応答を待つことを含まない機能性にアクセスする手段である。非同期アクセスには、手続き「Device:I/O」が使用される。これは、例えばマルチプレクスを探すためにチューナ周波数を走査したり、MPEGストリームからテーブルを取り戻すなど、応答を待つことを含むデータにアクセスする手段である。要求した結果が得られたとき、イベントはその到着を知らせるためにエンジンの待ち行列に入れられる。さらなる手続き「Device:Event」は、予想外のイベントを管理する手段を提供する。
【0053】
上述の通り、実行時エンジンの主ループは様々なプロセス・シーケンサ・ユニットに結合され、主ループが適切なイベントに遭遇すると、制御は一時的にプロセス・シーケンサ・ユニットの1つに移される。
【0054】
したがって、基本システムは、アプリケーションが様々な装置とやり取りすることを可能にする際に、かなりの柔軟性を持つプラットフォームを提供することが分かる。
モデム・デバイス・ドライバ
様々な機能の実現の厳密な詳細およびハードウェアとソフトウェアとの間の配分は、実現者の選択の問題であり、ここでは詳述しない。しかし、本デバイス・ドライバで要求される作業を実行することができる専用の集積回路は市販されており、あるいは容易に設計することができ、これらをハードウェア・アクセラレータの基礎として使用することができ、あるいはより好ましくは、要求される様々な作業を実現するためにそれらを改造して専用のハードウェア・アクセラレータを作成し、それによってソフトウェアを実行するために要求される処理能力を低下することができることが注目される。しかし、充分な処理能力が得られるならば、要求される作業をソフトウェアで実現することができる。デバイス・ドライバは、一連のアクセス可能な機能ユニットを含むものと考えることができ、各々の機能ユニットを以下では「コマンド」と呼ぶ。
【0055】
各コマンドは、他の装置と共通する上述の3つの標準手続きのうちの1つによって、デバイス・マネージャ4068の制御下でアプリケーションにインタフェースする。情報は、アプリケーションと装置との間をパラメータ・テーブルによって受け渡すことができる。参照を容易にするために、3つの基本手続きを以下に簡単に要約する。
1)Device:Call
この手続きは、同期コマンドまたはデータ転送を行うためにアプリケーションが用ることができる。アプリケーションの実行は、デバイス・ドライバによる作業が完了して制御が返されるまで中断される。これにより、厳密な順序で実行しなければならない作業を確実に制御することが可能になる。
2)Device:I/O
この手続きは非同期動作を可能にする。つまり、アプリケーションは、デバイス・ドライバによって実行されるデータ転送または特定の機能の要求を送信することができ、データ転送または機能がデバイス・ドライバによって実行されている間、アプリケーションの実行は継続される。
3)Device:Event
このイベント・トラッピング機能は、装置がアプリケーションにイベントを知らせることを可能にし、そのイベントに応答して、イベントが知らされたときにアプリケーションが実行していたコードとは関係なく、アプリケーションが取るべき特定の処置のために、アプリケーションは効果的に中断される。イベントは優先度を付けることができる。イベントは、バス・リセットなどインタフェースで発生するイベントを知らせるために、あるいは例えば要求されたデータ転送の完了を知らせることによって、非同期コマンドの監視を行うために、使用することができる。
【0056】
本デバイス・ドライバはブロック500(図3)として図示されており、論理ユニット501、制御メモリ502、およびバッファ・メモリ503を含む。これらの2つのメモリは論理的に区別されるが、両方とも同一の物理メモリの部分を形成する(さらに詳しくは、バッファ・メモリはRAMメモリの部分を形成し、制御メモリはRAMまたはFLASHメモリの部分を形成することができる)。デバイス・ドライバは、図示するように、デバイス・マネージャ4068およびモデム・インタフェース550に結合される。各コマンドは論理ユニット501の一部を形成し、制御および/またはバッファ・メモリの部分で作動することができる。
【0057】
広義的には、信号を変調および復調する狭い意味でのモデムの機能は、インタフェース550に組み込むかまたはそれに取り付けることができるモデム・ユニットによって実行される。インタフェースを介して流れる情報の制御および管理は、これらの狭いモデムの機能とは別個に、デバイス・ドライバ500によって実行される。
【0058】
上述の通り、装置/デバイス・ドライバとデバイス・マネージャ4068との間の通信は、3種類の手続きすなわちCall、IO、およびEventによって実行される。デバイス・ドライバ500によって使用される手続きの場合、Callは様々なパラメータをアプリケーションからデバイス・マネージャを介してデバイス・ドライバに送るために使用され、IOはコマンドをアプリケーションからデバイス・マネージャを介してデバイス・ドライバに送るために使用され、Eventはメッセージをデバイス・ドライバからデバイス・マネージャを介してアプリケーションに送るために使用される。
【0059】
本発明を具体化する装置に設けられるコマンドを次に説明する。各コマンドは、上記の3つの標準手続きの1つによりコマンドの識別子をパラメータとして渡すことによって、アプリケーションによってアクセスすることができる。以下で述べる全てのコマンドを設ける必要は無く、コマンドの機能は変更することができる。コマンドは独立に設けたり変更することができるが、理解されるように、下記コマンドによってもたらされる複合された機能性から特定の相互依存的利益が生じる。
【0060】
コマンドを、各コマンドによって提供される特徴および機能の点から、オプションおよび好適な特徴と併せて説明する。提供する情報および提示する仕様により、これらの特徴の実際の実現は当業者にとって簡単な仕事のはずであり、厳密な詳細は実現者に任せる。一例として、各コマンドはソフトウェアで実現することができ、Cプログラミング言語で作成することが好ましく、かつアプリケーションを実行するために使用するプロセッサ上で実行するようにコンパイルすることが好ましい。しかし、デバイス・ドライバは、別個のプロセッサ上で実行することができ、一部または全部のコマンドを専用ハードウェアによって実現することもできる。CallおよびIOコマンドは、装置に渡されるアドレスのメモリに格納されたパラメータ・テーブルに値を設定することによって、アプリケーションに情報を知らせたり、パラメータを渡し返すことができる。
【0061】
さらに詳しくは、使用される手続きまたはコマンドは次の通りである。
Device:Call
Set:バッファ・サイズ、タイマ遅延を設定する。
【0062】
Comm set:データ・サイズ(5〜8ビット)、パリティ、伝送速度を設定する。
【0063】
Char set:休止文字および遅延を設定する。
【0064】
Control set:遠隔装置に送信する信号を使用可能/使用不能にする。
【0065】
Pattern set:探索されるパターンを設定する。
Device:IO
Command:コマンドを解釈無しでデバイス・ドライバに送る。
【0066】
Send:データをデバイス・ドライバに送る。
【0067】
Action:コマンドを解釈付きでデバイス・ドライバに送る。
【0068】
Disconnect:デバイス・ドライバを切断する。
Device:Event
Receive:メッセージの受取りを知らせる。
【0069】
Off:伝送上の問題を知らせる。
【0070】
手続きはまた、報告し返すための誤りコードおよび(Event:Off手続きを除いて)デバイス・ドライバからデバイス・マネージャに報告し返すための呼出しレポートをも含む。また、CallまたはIO手続きは、送信すべき情報(パラメータなど)が存在するメモリ・アドレスをも含む。
【0071】
これらのコマンドの大部分の機能は、大まかには従来通りである。しかし本システムは、特殊コマンドすなわちCallコマンドのPattern setを含む。このコマンドは、論理ユニット501が探索すべき1つまたはそれ以上のパターンを定義する。このコマンドはメモリ・アドレスを含み、メモリはそのアドレスから始まる場所に一連のパターンを含む。(さらに詳しくは、メモリの第1場所にパターンの数が含まれ、その後に個別パターンが続き、メモリ内の各々の個別パターンは、パターンの長さを提示するヘッダを含む。)
一般的に、Event、ACK(肯定応答)、およびNACK(否定応答)を生成するために、3つの型のパターンを設定することができる。言うまでも無く、各パターンのヘッダでそのパターンの型を識別して、3つの型のパターン全部を同一コマンドに含めることが可能である。しかし、3つの型のパターンの代わりに、3つの副形式のコマンドを使用することが好ましい。したがって、モデムがコマンドを確実に受け取ったことを検出するために必要なACKおよびNACKパターンは、専用コマンドを用いて設定することが好ましく、他の全てのパターンはイベントをトリガするために使用し、パターンを区別することができるように、各パターンに番号を割り当てる。これらのコマンドは、制御メモリ502のメモリ・ゾーン510(図4)をセットアップする。このメモリ・ゾーンは、Event、ACK、およびNACKパターンをそれぞれ含む3つのセグメントを持つ。論理ユニット501は、このメモリ・ゾーンに結合される比較器ユニット511を含む。
【0072】
メモリ・ゾーン510は、3つのPattern setコマンドによって指定されるメモリ領域で構成することができる。この場合、メモリ・ゾーンの3つのセグメントは、メモリの物理的に異なる領域に存在することができる。比較器ユニット511は、3つのセグメントの開始アドレスを格納し、かつ様々なパターンへのアクセスを得るために、(各セグメントの始めに格納されている)パターンの数および個々のパターンの長さを使用してパターンの正確な場所を決定し、それらの各々を必要に応じて順番にアクセスしなければならない。あるいは、比較器ユニット511は、予め定められた場所でメモリ・ゾーン510をパターンのテーブルとしてセットアップすることによって、メモリを初期化することができる。
【0073】
メッセージを受け取ると、それはバッファ・メモリ503内のバッファに渡される。このメモリは複数のバッファ512に分割されているので、メッセージは2つ以上のバッファを占めることができる。しかし、メッセージ空間は、個々のメッセージに対し論理的に連続している。パターンの突合せが実行されると、比較器511は、メモリ・ゾーン510に格納されたパターンのいずれかと照合するために、メッセージの最後の32文字を探索する。
【0074】
合致が見つかると、合致の型(イベント、ACK、またはNACK)が、バッファに格納されたメッセージのヘッダに書き込まれ、かつ/または何らかの適切な処置がデバイス・ドライバによって取られる。
【0075】
ACKおよびNACKパターンの検出は、例えばモデムがオフラインのときにコマンドが送信されている場合に、モデムからの予想される応答を検出するために使用することができる。モデムからのその他の信号は別個のパターン・リストと照合され、イベントをトリガするために使用される。このため、ACKおよびNACKパターンの設定は、予想外のイベントまたはモデムからのその他のメッセージに対応するパターンのリストの設定とは独立して行うことが好ましい。
【0076】
この方法で、アプリケーションは様々なモデムのどれとでも通信することが可能である。例えば、多くのモデムは一般的に、命令シーケンスおよび応答のための例えばヘイズ(Hayes)標準などの標準に準拠するが、多くは追加機能を持ち、そのために固有の応答シーケンスが生成される。そのような場合、ACKおよびNACKパターンは標準パターンに設定し、追加機能に対応する応答シーケンスはイベント信号に割り当てることができる。
【0077】
図5は、バッファ・メモリ503に常駐するメッセージ520を示す。メッセージはヘッダ521および本体522で構成される。この場合のメッセージは、2つのバッファ512、512’の間に物理的に分割される。比較器520は、メッセージの本体522の最後の32文字領域523に対してパターン・マッチング(つまり、メモリ領域510に格納されたパターンとの合致の探索)を実行する。見つかった合致の性質が、バッファ・メモリのメッセージ・ヘッダ521に挿入される。
【0078】
2つ以上の合致が発生する可能性が2通りある。第1に、同じ型の2つのパターンが(メッセージの最後の32文字中の異なる位置に)発生することがある。この二重合致は無視することができる。つまり、単一合致として処理することができる。第2に、異なる型の2つの合致が(再び、最後の32文字中の異なる位置に)発生することがある。状況によって、比較器511は、異なる型の合致の間の予め定められた優先順位に従って、またはどちらのパターンがメッセージの終わりに近いかによって、合致の型を示すように適応させることができる。
【0079】
Commandモード時、つまりモデム・パラメータが設定されているときに、この技術を使用してコマンド・メッセージをデバイス・ドライバに送ることができる。メッセージは、インタフェースを介して例えばデータ・サーバへ送られるのではなく、デバイス・ドライバによって解釈される。各コマンドごとに、デバイス・ドライバは返信メッセージでパターンを探索し、それに従ってデバイス・ドライバに応答する。
【0080】
このモード時には、コマンドを送ること無く、インタフェースを介してメッセージを受け取ることも可能である。これは、例えばリング電圧が検出された場合に発生し得る。この場合、デバイス・ドライバはイベント・パターン・リストでもパターンを探索する必要がある。
【0081】
オンライン・モード時には、モデムはデータ・サーバに接続され、このサーバからメッセージを受け取ることができる。デバイス・ドライバは、データ・サーバから受け取った最後の32文字でパターンを探索する。
【0082】
上記コマンドおよびイベントは単なる解説であり、本発明は様々な方法で実現することができ、特に、幾つかのコマンドは、同様の機能を実行する他のコマンドと組合わせることができ、あるいは簡略化された実現では一部のコマンドを省略することができる。
【0083】
ハードウェア、コンピュータ・ソフトウェア等々によって実行される機能は、電気および類似の信号を使用して実行されることが容易に理解されるであろう。ソフトウェア実現はROMに格納することができ、あるいはFLASHに格納またはパッチすることができる。
【0084】
本発明の上記説明は純粋に例として行ったものであり、本発明の範囲内で細部の変形を行うことができることは理解されるであろう。
【0085】
明細書ならびに(該当する場合)請求の範囲および図面に開示する各特徴は、独立に、または適切に組合わせて提供することができる。
【図面の簡単な説明】
【図1】 受信器/復号器のインタフェースの概略図である。
【図2】 受信器/復号器の機能ブロック図である。
【図3】 本デバイス・ドライバの一般的論理編成を示す。
【図4】 本デバイス・ドライバのパターン処理態様の論理編成をより詳細に示す。
【図5】 メッセージの構造および格納を示す。

Claims (2)

  1. モデムを制御しかつ前記モデムと通信するためのデバイス・ドライバであって、前記デバイス・ドライバが、
    モデムからのメッセージを受取りかつ格納するためのバッファ・メモリと、
    デバイス・マネジャを通じてアプリケーションへ送信されるコマンドのパターンを格納するための制御メモリと、
    前記デバイス・ドライバおよびメッセージの流れを制御するための論理ユニットとを含み、
    前記論理ユニットが、前記制御メモリに格納された前記パターンを前記バッファ・メモリに格納されたメッセージと照合して、一致したパターンのタイプを示す信号を生成するための比較器を含み、
    前記信号は、前記デバイス・ドライバに結合された前記デバイス・マネジャに送信されるメッセージに挿入されることを特徴とするデバイス・ドライバ。
  2. バッファ・メモリおよび制御メモリを含むデバイス・ドライバを使用してモデムを制御しかつ前記モデムと通信するため方法であって、前記方法は、前記デバイス・ドライバにおいて、
    前記モデムからのメッセージを受け取り、かつ前記バッファ・メモリに格納するステップと、
    デバイス・マネジャを通じてアプリケーションへ送信されるコマンドのパターンを前記制御メモリに格納するステップと、
    前記制御メモリに格納されたパターンを前記バッファ・メモリに格納されたメッセージと照合して、一致したパターンのタイプを示す信号を生成するステップと、
    前記信号を前記メッセージに挿入するステップと、
    前記デバイス・ドライバに結合された前記デバイス・マネージャに送るステップと、
    を含む方法。
JP2000515234A 1997-10-03 1998-10-02 モデム制御 Expired - Lifetime JP4303884B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97402334A EP0913775A1 (en) 1997-10-03 1997-10-03 Modem control
EP97402334.3 1997-10-03
PCT/IB1998/001606 WO1999018513A1 (en) 1997-10-03 1998-10-02 Modem control

Publications (3)

Publication Number Publication Date
JP2001519567A JP2001519567A (ja) 2001-10-23
JP2001519567A5 JP2001519567A5 (ja) 2006-01-05
JP4303884B2 true JP4303884B2 (ja) 2009-07-29

Family

ID=8229868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000515234A Expired - Lifetime JP4303884B2 (ja) 1997-10-03 1998-10-02 モデム制御

Country Status (19)

Country Link
US (1) US6804820B1 (ja)
EP (2) EP0913775A1 (ja)
JP (1) JP4303884B2 (ja)
KR (1) KR100579000B1 (ja)
CN (1) CN1188790C (ja)
AT (1) ATE363686T1 (ja)
AU (1) AU9278198A (ja)
BR (1) BR9812704B1 (ja)
CA (1) CA2304617A1 (ja)
DE (1) DE69837856T2 (ja)
HK (1) HK1030274A1 (ja)
HR (1) HRP20000163A2 (ja)
HU (1) HUP0100547A2 (ja)
IL (1) IL135414A0 (ja)
NO (1) NO20001650L (ja)
PL (1) PL339632A1 (ja)
TR (1) TR200001559T2 (ja)
WO (1) WO1999018513A1 (ja)
ZA (1) ZA988995B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120931B1 (en) * 2000-08-31 2006-10-10 Cisco Technology, Inc. System and method for generating filters based on analyzed flow data
US6651111B2 (en) * 2001-02-16 2003-11-18 Microsoft Corporation System and method for managing a serial port
US7634532B2 (en) * 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US7702035B2 (en) * 2002-07-03 2010-04-20 Freescale Semiconductor, Inc. Searching method and apparatus for processing digital communication signals
US8499338B1 (en) * 2010-02-16 2013-07-30 Sprint Communications Company L.P. Internet protocol controlled modem for use over a wireless voice network
GB2521412A (en) * 2013-12-18 2015-06-24 Continuumbridge Ltd An apparatus for network bridging

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484263A (en) * 1981-09-25 1984-11-20 Data General Corporation Communications controller
US4896133A (en) * 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer
DE69130154T2 (de) * 1990-12-14 1999-05-20 Sun Microsystems, Inc., Mountain View, Calif. 94043-1100 Verfahren und Gerät zur Nachrichtenvermittlung zwischen Prozessen
US5327558A (en) * 1992-04-30 1994-07-05 Motorola, Inc. Method for asynchronous application communication
DE4321776C1 (de) * 1993-06-30 1994-12-08 Siemens Ag Verfahren zum Bilden und Analysieren von informationselementeorientierten Signalisierungsmeldungen in Kommunikationseinrichtungen
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US6343263B1 (en) * 1994-08-02 2002-01-29 Apple Computer, Inc. Real-time signal processing system for serially transmitted data
EP0788057B1 (en) * 1996-01-31 2003-05-02 Compaq Computer Corporation Computer system with controllerless modem

Also Published As

Publication number Publication date
ZA988995B (en) 1999-05-24
CN1188790C (zh) 2005-02-09
KR100579000B1 (ko) 2006-05-12
JP2001519567A (ja) 2001-10-23
HRP20000163A2 (en) 2001-12-31
CN1280685A (zh) 2001-01-17
HUP0100547A2 (hu) 2001-06-28
NO20001650D0 (no) 2000-03-30
CA2304617A1 (en) 1999-04-15
EP1019836A1 (en) 2000-07-19
PL339632A1 (en) 2001-01-02
TR200001559T2 (tr) 2000-11-21
BR9812704B1 (pt) 2010-11-16
NO20001650L (no) 2000-06-05
EP0913775A1 (en) 1999-05-06
KR20010024391A (ko) 2001-03-26
EP1019836B1 (en) 2007-05-30
US6804820B1 (en) 2004-10-12
DE69837856D1 (de) 2007-07-12
AU9278198A (en) 1999-04-27
BR9812704A (pt) 2000-08-22
WO1999018513A1 (en) 1999-04-15
IL135414A0 (en) 2001-05-20
HK1030274A1 (en) 2001-04-27
ATE363686T1 (de) 2007-06-15
DE69837856T2 (de) 2008-01-31

Similar Documents

Publication Publication Date Title
JP4201975B2 (ja) デジタルトランスポートストリーム処理
AU741471B2 (en) IEEE set top box device driver
EP1067458A1 (en) Running and testing applications
JP4303884B2 (ja) モデム制御
EP0872798A1 (en) Computer memory organization
JP4642230B2 (ja) 受信器/復号器部
NZ500205A (en) Common interface between applications and computer components
MXPA00003213A (en) Modem control
KR20000076405A (ko) 엑세스 제어 시스템
MXPA00000776A (en) Ieee set top box device driver
CZ20001198A3 (cs) Řízení modemu
CZ2000264A3 (cs) Způsob a řídící zařízení pro komunikaci dat
MXPA00009426A (en) Memory management in a receiver/decoder
MXPA99008545A (es) Sistema de control de acceso

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050921

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070309

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

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: 20090331

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: 20090427

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

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: 20120501

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term