JPH0855075A - 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム - Google Patents

対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム

Info

Publication number
JPH0855075A
JPH0855075A JP7189650A JP18965095A JPH0855075A JP H0855075 A JPH0855075 A JP H0855075A JP 7189650 A JP7189650 A JP 7189650A JP 18965095 A JP18965095 A JP 18965095A JP H0855075 A JPH0855075 A JP H0855075A
Authority
JP
Japan
Prior art keywords
data
control unit
adapter
buffer
control
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.)
Granted
Application number
JP7189650A
Other languages
English (en)
Other versions
JP3251815B2 (ja
Inventor
Richard N Mendelson
リチャード・エヌ・メンデルソン
Ralph M Pipitone
ラルフ・エム・パイピトン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0855075A publication Critical patent/JPH0855075A/ja
Application granted granted Critical
Publication of JP3251815B2 publication Critical patent/JP3251815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 プロセッサ割込み処理に関連した待ち時間を
短くし、装置間で用いるメモリバッファを小さくする。 【解決手段】システムに接続された装置アダプタが任意
の長さのデータストリームの処理をストリームよりも容
量が小さいメモリバッファを介して自律的に行う。デー
タストリームを構成するデータは、装置間を通過すると
き共有メモリに保持される。アダプタはシステムプロセ
ッサによりストリーム処理動作のために準備され、それ
らの準備状況をプロセッサに示し、開始信号をプロセッ
サから受取り、それ以上のプロセッサからの支援を必要
としないで動作を完結する。動作中、アダプタは各装置
によるメモリバッファの使用し、アダプタの準備中に定
義される通知信号プロトコルにより調整される。互いに
バッファ事象を通知するために、アダプタはアダプタ及
び装置をシステムプロセッサ及びメモリに接続するチャ
ネルの対等通信特性を用いる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムの構成装置間のデータ転送の処理に関し、本発明は最
新のマルチメディア機能の改良のために利用される。
【0002】
【従来の技術】最新のコンピュータシステムでは、プロ
セッサ又はメモリサブシステム及び周辺装置の間のデー
タの転送は、通常はプロセッササブシステムにより厳重
に制御されている。一般に、各周辺装置は、装置及び所
定のメモリサブシステムの部分の間の1つのデータ転送
動作を開始するプロセッササブシステムからコマンドブ
ロックを受取り、その動作を実行し、動作の終了状況を
報告するためにプロセッササブシステムに割込み、そし
てプロセッササブシステムからの次のコマンドを待つ。
【0003】これに関連する問題は、メモリサブシステ
ム内のバッファ空間及び複数の周辺装置の間の大量のデ
ータの移動 (以降、複数のブロック長にわたる "データ
ストリーム" と呼ぶ) を必要とする動作、プロセッサの
割込み処理動作が効率を低下させる (データスループッ
トの速度を遅くする) 傾向があることである。この影響
は、例えば、長い映画 (例えば、映写に1時間以上を要
する映画) のオーディオ及びビデオ成分が圧縮され且つ
恐らく暗号化された形式で大容量媒体 (例えば、CD-RO
M) に電子的に記憶され、そして周辺装置により処理
(圧縮解除及び (又は) 暗号解読) された後にシステム
の構成装置、スピーカー及び表示モニターに供給される
マルチメディアシステムで特に著しい。
【0004】メモリサブシステム内のバッファ空間を効
率的に用いるために、プロセッサは各装置に関するプロ
セスを分割して、小さなデータブロック (処理すべき全
データストリームの長さよりもずっと短い長さのブロッ
ク) の処理を個々に定める多くのコマンドにし、そして
(割込み処理を介して) 各ブロック動作の状況をモニタ
ーした後、そのプロセスに進むであろう。個々のブロッ
ク転送に割振られたメモリバッファ空間が妥当な大きさ
であると仮定しても、前記状況モニター動作により生ず
る待ち時間/遅延に合わせることは困難である。
【0005】この問題はブロック処理プロセスが同期の
制約、例えば音声及び映像データをそれぞれのスピーカ
ー及び表示宛先に同時に加えることを必要とする制約を
有するとき一層複雑になる。これはデータを順次に処理
する装置の数により更に複雑になる。従って、例えば、
4つの装置により連続的に処理される (例えば、第1の
装置によりメモリバッファにロードされ、第2の装置に
より圧縮解除され、第3の装置により解読され、そして
第4の装置により宛先に経路指定される) データは、1
つ又は2つの装置のみにより連続的に処理されるデータ
よりも、ずっと多くの遅延を生ずるであろう。
【0006】
【発明が解決しようとする課題】本発明の目的は、前記
データストリーム機能をより効率的に処理する機構、即
ちプロセッサ割込み処理に関連した待ち時間を最新のシ
ステムよりも短縮し、ユニット間で用いるメモリバッフ
ァを小さくできる機構を提供することにある。
【0007】
【課題を解決するための手段】この目的は、プロセッサ
及び複数の周辺装置の間に、それらの装置がバスマスタ
ーとして動作し、各装置が中央プロセッサを経由せずに
互いに直接通信できるようにするバスシステムと、それ
ぞれの動作を開始する中央プロセッサシステムに各装置
が割込まずにデータストリーム処理動作を自律的に実行
するように、前記バスシステムに接続するアダプタ装置
とを設けることにより達成される。
【0008】中央プロセッサ及び周辺装置による代替バ
ス制御を可能にするバスシステム、例えばマイクロチャ
ネルバスシステム (マイクロチャネルはIBM 社の商標で
ある)はよく知られているが、そのようなバスシステム
を介したデータストリーミング動作を自律的に実行する
のに適合する装置は新規である。
【0009】前記目的は、複数の装置 (即ちデータスト
リーミングに適合する装置) 、又はそれぞれの装置制御
ユニットを、データストリームの実際の処理に先行して
同時に準備し、そして装置間のデータストリーミング動
作の開始前に関連した装置の全てが適切に準備されたこ
とを確認するように、中央プロセッサを適応させること
によっても実現される。準備は装置又はそれぞれの装置
制御ユニットの全てに、それぞれのデータストリーミン
グ機能の実行に必要な全ての制御情報を与える。制御情
報は制御ユニット及び関連装置がプロセッサからのそれ
以上の支援なしに (即ち、ストリーム処理機能の管理に
関連するプロセッサ及びプロセッサ内の関連したソフト
ウェアの層の割込みに関連したタイミング依存及び前記
プロセッサ及びプロセッサ内の関連したソフトウェアの
層による中断なしに) 全ストリームを協働して処理する
準備をする。制御ユニット及び関連した装置は周辺装置
としてプロセッサに接続し、又はそれらはプロセッササ
ブシステム内でシミュレートされた仮想構成装置とする
ことができる。
【0010】前記準備の後、データのストリームを処理
する (制御装置により指定されたソース装置からそれを
検索し、そしてそれに関する変換プロセスを、もしそう
するように指示されたならば実行する) ようにスケジュ
ールされた最初の装置制御ユニットに進行信号が与えら
れる。
【0011】それぞれのデータストリーム処理機能を、
プロセッサにより供給された制御情報の論理的な解釈に
より達成する論理的な能力、及びストリーム処理中に他
のユニットから受取った信号 (この信号は事前に制御情
報により決められる) に対する所定の反応を有するユニ
ットを提供することによっても前記目的が実現される。
【0012】進行信号が与えられた後、制御ユニットは
制御情報により定義されたデータストリーム処理(デー
タストリーミング)動作の実行に進む。そのように処理
されたデータは、多くのブロックのデータから成ること
があり、通信している対の制御ユニットにより共有され
るブロックサイズのメモリバッファを介して転送され
る。各バッファは1回のストリーミングプロセスの実行
中に何回も満たされたり空にされたりすることがある。
バッファはプロセッサにより予め割振られるが、それら
の使用を正しく管理するのは装置制御ユニットである。
【0013】データストリーミングプロセスのためにこ
れらの装置制御ユニットを準備する、制御情報により定
義される基本的な機能は: (1) それぞれの装置制御ユニ
ットの入力データのソース; (2) ソースが先行のユニッ
トと共有の少なくとも1つの入力 (メモリ) バッファ
(先行のユニットに対しては出力バッファとして割当て
られている)である場合、そのような入力バッファを管
理する方式(例えば、これらのバッファのサイズ及び
数、及び、もし適切ならば、システムのメモリアドレス
空間内のそれらのロケーション); (3) それぞれのユニ
ットのストリームの処理から生じるデータの宛先; (4)
宛先が次のユニットと共有の出力バッファである場合、
当該バッファを管理する方式; (5) 入力バッファが処理
のために使用できることをそれぞれのユニットに知らせ
る信号又は事象; (6) 先行のユニットと共有の入力バッ
ファの処理をそれぞれのユニットが終了している (即
ち、入力バッファが再使用できる) ことを先行のユニッ
トに知らせるために、それぞれのユニットにより生成さ
れる信号又は標識; (7) 出力バッファが処理に使用でき
ることを次のユニットに知らせるために生成される信号
又は標識; (8) それぞれのユニットによりそのソース/
入力データに関して実行される動作; (9) ストリームデ
ータの処理を他のストリーム内のデータの処理と同期さ
せる (例えば、1つのストリーム内のピクチャー/ビデ
オデータの処理を別のストリーム内の対応するオーディ
オデータと同期させる) ためにそれぞれのユニットによ
り実行される機能; そして (10) エラーを検出してエラ
ーから回復するためにそれぞれのユニットにより用いら
れる手順を含む。
【0014】各ユニットは、プロセッサによりそのユニ
ットに供給された制御情報を解釈し、定義されたストリ
ーム処理機能を実行し、他のユニットからの定義された
信号に反応し、そして他のユニットへの定義された信号
を生成することができるように論理的に構成される。こ
のようなアーキテクチャのための論理機能は従来のユニ
ットで容易に実現できる。
【0015】
【発明の実施の形態】
[1. 本発明により解決される問題の説明]図1は、マ
ルチメディア機能を有する従来のコンピュータシステム
の概要図であり、本発明により解決される割込み待ち時
間の問題の説明に用いられる。プロセッサ及びメモリサ
ブシステムは一緒にしてプロセッサ/メモリサブシステ
ム(PSS) 1と表示される。プロセッサ/メモリサブシス
テム(PSS) 1で、周辺装置間のデータの移送を制御する
のにプログラミングエンティティの階層が用いられる。
これらのエンティティは装置マネジャサブシステム2、
ストリームマネジャサブシステム3、オペレーティング
システム4、特定の装置に関連した装置ドライバ5及び
6、ならびにPSS サブシステム及び装置の間の信号を経
路指定するルータ7及び8を含むことがある。
【0016】ルータ7及び8は、出版物 (SCB Architec
ture Supplement to the IBM Personal System/2 Hardw
are Interface Technical Refernce Architectures (Co
pyright 1991, International Business Machines Corp
oration)) 及びBonavento 外による関連米国特許出願第
08/076,081号 (1993年6月11日 出願) に記述されたサブ
システム制御ブロック(SCB) 構成の概念による、コンピ
ュータシステムのサブシステム間のフォーマット化され
た制御情報を経路指定するのに役立つ。SCB 構成では、
サーバーエンティティにより実行される作業の単位を決
めるために、所定のフォーマットを有する異なる長さの
制御エレメントが顧客及びサーバーエンティティの間で
引渡される。Bonavento 外による前記特許出願では、キ
ューに入れられたエレメントの構成をパイプ輸送するた
めに制御エレメントが経路指定され、そして本明細書に
示すようなルータは各エレメント内の宛先コードを復号
して情報を適切なパイプに経路指定する。
【0017】これらのルータは、表示の不明確さを避け
るために、図面上では別個のブロックとして示される
が、実際にはPSS のようなプロセッササブシステム内の
単一のエンティティ (プログラムモジュール) として実
現できる。
【0018】入出力チャネル10は、それぞれの装置を制
御する装置制御ユニット12にPSS サブシステムをリンク
する。この図では、2つの制御ユニット13(CU1)及び14
(CU2)及びそれらによりそれぞれ制御される装置15及び1
6が一緒に示されている。チャネル10が有する対等通信
特性により、制御ユニット13及び14は互いに直接 (即
ち、PSS の部分の関与なしに) 通信できる。この種の特
性を備える適切なチャネル機能を有するものとしてマイ
クロチャネルがある。
【0019】CU1 は関連したルータ13a を有する。ルー
タ13a は、CU1 がシステムの他の部分にあるパイプに制
御エレメントを送るとき、前記エレメントを適切なパイ
プ宛先 (例えば、PSS 及び (又は) CU2 のような他の制
御ユニット) に経路指定する働きをする。同様に、CU2
は、その制御エレメント情報をPSS 内及びCU1 のような
他の制御ユニット内のパイプに供給する、関連したルー
タ14a を有する。
【0020】装置15及び16は、大量のデータの連続的な
処理を、最初は装置15で、次に装置16で必要とする動作
にかかわると仮定する。 (B1-2と表示される) データバ
ッファ17は、これらの装置で共有され、装置15で処理さ
れたデータを受取り、受取ったデータを装置16に供給す
る。できれば、バッファB1-2はPSS のメモリサブシステ
ム含まれることが望ましいが、この図では、表示の簡略
化のために、別個に示される (B1-2は、本発明の動作に
必ずしも影響を及ぼさずに、装置15及び16でのみ用いら
れる専用のメモリバッファとすることもできる)。
【0021】前述のように、チャネル10の対等通信特性
は、制御ユニット及び他の周辺装置が直接相互通信する
ことを可能にする。前記相互通信では、バスのマスター
制御はコンピュータシステムの中央プロセッサ、メモリ
及び周辺サブシステムにより交互に取得される。
【0022】周辺装置がバスのマスター制御を有すると
き、それらはメモリサブシステム、プロセッササブシス
テム又は他の周辺装置のどれかと直接通信する。プロセ
ッサがバスを制御するとき、それは通常は周辺装置及び
メモリサブシステムの外部部分と通信する。メモリサブ
システムがバスを制御するとき、それは直接メモリアク
セス(DMA) 制御装置により装置と通信するか、又はメモ
リ制御装置によりメモリサブシステムの外部の構成装置
と通信する。
【0023】図2は装置15/CU1からB1-2へ、そしてB1-2
から装置16/CU2への大量のデータの移動を必要とする従
来のデータ転送プロセスの処理を示す。この状況におけ
る大量のデータは、B1-2の容量を幾つかの次数にわたっ
て越えることがある量である。
【0024】この図で、縦線30〜32は下向きに増加する
時間を表わし、そして横線は特定の動作を表わす。縦線
30から出る横線 (他の縦線を指す矢印で終了する) はPS
S により開始された動作を示す。縦線31から出る横線は
CU1 又は装置15により開始された動作を示す。縦線32か
ら出る横線はCU2 又は装置16により制御された動作を示
す。
【0025】40で示すように、動作はPSSからCU1及び装
置15へのコマンドにより開始され、コマンドにより指定
されたソース (メモリサブシステムか又は別の装置例え
ばCD-ROMに存在することがある) から最初のnブロック
のデータを取出し、該ブロックを処理し、その結果を共
有バッファB1-2に書込むようにそれらに指示する。
【0026】その後に続く動作 (図示せず) では、コマ
ンドにより命令された動作がCU1 及び装置15により実行
される。41で示すように、これらの動作が首尾よく又は
不首尾に終了しても、CU1 はPSS に対し終了割込み信号
を表示する。この信号を受取ってから、 (その現在のタ
スクロードによる) ある不定の時間の後、PSS はチャネ
ルが状況情報をCU1 及び装置15から検索するように制御
する。
【0027】41で受取った割込みに関連した状況情報の
回復後、40で開始された動作が首尾よく終了したことを
前記情報が示すと仮定して、PSS は42でB1-2に書込まれ
たデータブロックの処理をCU2 及び装置16に命令するよ
うに動作する。そしてCU2 及び装置16はそれぞれのプロ
セスを実行し、そして43で示されたCU2 からPSS への終
了割込み信号によって終了する。このプロセスでは、デ
ータがB1-2から読取られ、処理され、そして42で与えら
れたコマンドで指定された宛先 (共有メモリの別のブロ
ック、非共有メモリのブロック、又は指定された出力装
置例えば表示モニター又は拡声器) に送られる。43に表
示された割込み信号の受取りに続く未確定の遅延の後、
PSS はCU2 及び装置16からの関連した状況情報を回復す
る。
【0028】この状況が首尾よく終了したことを示すと
仮定して、上記のプロセスは他のデータブロック (2番
目,3番目,...,(n-1) 番目) に関して、一度に1ブロッ
クずつ、破線の縦線44で示されたように反復される。横
線50〜53で示された最後の反復で、最後即ちn番目のデ
ータブロックがCU1 により処理され、B1-2に書込まれ、
そしてその結果がCU2 により処理され、指定された宛先
に書込まれる。
【0029】nは未知であり且つ非常に大きい数であ
り、そしてPSS 内の終了割込み (nの2倍) の処理に関
連した累積遅延は非常に長くなることがある。
【0030】図3はB1-2が2つのセクション、B1-2A,B1
-2B 又はそれよりも多くのセクションを持ちうることを
示す。これらはそれぞれCU1 の装置15により満たし、そ
してCU2 の装置16により空にすることができる。前記区
分されたバッファは (必ずしも瞬間的に同時ではない
が) 同時にアクセスされ、15及び16のような装置がより
高いデータスループットを実現することを可能にする、
即ち前にB1-2B に入れられたデータに関する動作をCU2
が実行する間に、CU1 によるB1-2A に関する動作をPSS
が開始しうることを当業者は理解するであろう。従っ
て、CU1 による次のデータブロックの処理を開始する前
に、PSS がCU2 からの終了割込み及び状況を待たなくて
もよいであろう。
【0031】しかしながら、それでもなお、処理された
データブロック毎に、少なくともCU1 からの終了割込み
に関するPSS による処理に関連した累積遅延があり、動
作全体の効率に悪い影響を及ぼすであろう。更にまた、
ブロック終了状況機能の収集及び分析に関してPSS によ
りもたらされた処理負担があり、さもなければPSS が他
のタスクに与えうる時間を減ずるであろう。
【0032】本発明はブロック終了割込みに関するPSS
処理に関連した遅延の除去、ならびにそのブロック終了
割込みに関する処理に関連した処理負担の多くをPSS か
ら軽減することを目的とする。
【0033】[2. 本発明によるデータストリーム処
理]図4は図1のシステムに似ているが、図1のシステ
ムよりも効率的な複数の装置によるデータストリーム
(大量データ) の処理に適合するシステムを示す。
【0034】この構成では、ホストシステムPSS を装置
制御ユニットCU1 及びCU2 にそれぞれリンクする信号経
路56及び57は、それらが協調し且つ自律的に (即ち動作
の開始後にPSS による割込み即ち対話なしに) 処理する
ことになっているデータストリーミング動作の制御ユニ
ットの最初の準備にのみ用いられる。当該動作では、CU
1 及びCU2 は任意の長さを有するデータのストリームに
関するそれぞれの装置の動作を指示し、当該データは、
全てのデータを同時に保持しえない共有バッファB1-2を
通じて少しずつ通過する。
【0035】データの処理は、PSS の割込みなしに、最
初はCU1 の装置15により、そして次にCU2 の装置16によ
り終了する。ストリーミング動作が終了すると、当該事
象及びその状況は割込みによりPSS に通知される。
【0036】前記動作中、CU1 及びCU2 はチャネル10の
直接/対等通信特性を用いてバッファB1-2 (例えば、前
のデータが装置16により読取られ且つ処理されたから、
装置16によるそれ以上の処理に使用できるデータを有す
るセクション、又は、装置15から受取ったデータに使用
できるようになるセクション) に関する事象を互いに通
知する。CUがバッファセクションの使用を調整できるよ
うにする、これらの通知のための通信は、CU1 内のパイ
プからCU2 内のパイプへのフォーマット化された制御エ
レメント、又はCU2 内の特定のレジスタに供給される信
号の形式のどちらかを選択できる。前記情報がパイプに
供給されると、それらはルータ13a 及び14a により処理
される。前記情報がレジスタへの信号であるとき、それ
らのルータをバイパスすることができる。
【0037】制御信号をCU2 に送るとき、B1-2の部分に
データを満たすことを示すために、CU1(又はルータ13a)
はチャネル10を含むバスのマスター制御を仮定し、CU2
内のレジスタに制御信号を直接書込むか又は、フォーマ
ット化された制御エレメントをルータ14a を介してCU2
内のパイプに経路指定する。
【0038】PSS により実行される準備機能、ならびに
制御ユニット及びそれぞれの装置により (自律的に) 実
行されるストリーミング動作について、図5により簡単
に説明する。PSS により制御ユニットに供給される準備
のための制御情報、及びCU1によりCU2 に供給される制
御信号の特定の形式については後に説明する。
【0039】図5は、図2のように、時間を表わす縦線
及び縦線から出る横線を用いてPSS及び制御ユニットの
各々により実行される動作を表わす。
【0040】70で、PSS は、CU1 をストリーミング動作
の備えさせ、その動作(共有データバッファとしてメモ
リサブシステムで使用されるバッファ空間)、装置15に
より検索され処理されるデータのソース、等を定義する
少なくとも1つのコマンドをCU1 に供給する。71で、PS
S は、CU1 がストリーミング動作を開始できるか又はそ
の準備を終了できなかったことを示す割込み状況をCU1
から受取る。
【0041】72で、PSS は、CU2 を同じストリーミング
動作に備えさせ、且つその動作(B1-2として使用される
バッファ空間、装置16により処理されるデータの宛先、
等)を定義する少なくとも1つのコマンドをCU2 に供給
する。73で、PSS は、最後の状況 (使用の可否) を示す
割込み状況をCU2 から受取る。
【0042】他の制御ユニットがストリーミング動作に
関係する場合、それらもPSS からのセットアップ命令を
受取り且つ割込みにより作動可能状況をPSS に知らせ
る。制御ユニットがストリーミング動作の準備を終了で
きないことを、PSS に返送された割込み状況のどれかが
示す場合、セットアッププロセスが打切られてストリー
ミング動作は開始されない。
【0043】各制御ユニットのセットアップに用いられ
たコマンドは、前記Bonavento 外による特許出願で開示
されたパイプ信号技術により制御ユニットに供給でき
る。
【0044】全ての制御ユニットが作動可能な状況を有
すると仮定して、PSS はストリーミング動作を開始する
進行(GO)信号を74で供給する。この信号はストリーミン
グ動作で最初の動作の実行を要求される1以上の制御ユ
ニットにのみ供給される。この場合、信号はCU1 に与え
られる。CU1 の装置15は、指定されたソースからのデー
タブロックの取出しを開始し、そのデータを処理し、そ
の結果データを、CU2に関連した装置16により更に処理
するために、B1-2に書込むように要求される。
【0045】ストリーミング動作で最初の6ブロックの
データを処理する際に、連続的に起きる動作は横線80〜
85により表示され、そして追加のデータブロックに関す
る後続の動作は破線の縦線86により表示される。
【0046】動作80〜86に関して、共有メモリバッファ
B1-2は複数ブロックの記憶セクションB1-2A,B1-2B等を
含むと仮定される (図3参照)。
【0047】80で、CU1 は共有メモリバッファB1-2の一
部B1-2A 内の最初のデータブロックの使用可能性を示す
信号をCU2 に送る (この信号前にCU1 に関連した装置15
は対応する最初のデータブロックを処理し、結果ブロッ
クをB1-2A に書込んだことが分かる)。
【0048】81で、CU1 はB1-2の一部B1-2B 内の2番目
のデータブロックの使用可能性を通知する (この信号の
前に前記データが装置15によりB1-2B に書込まれたこと
を表示する)。82〜86で、CU1 はB1-2A 及びB1-2B 内で
3番目,4番目,...のブロックの交互の使用可能性を通
知する。
【0049】80〜86で与えられた信号は、CU2 及びその
装置16による実行を要求された動作の時間の制約によ
り、前記Bonavento 外による特許出願で開示されたパイ
プ形式で又は (CU2 で瞬時に復号された) 指示信号とし
て転送することができる。
【0050】各信号表示80〜86の後に、CU2 は、B1-2の
指定された部分から関連したデータブロックを読取って
それを処理し、結果データをCU2 の最初の準備で決めら
れた宛先に送るように装置16を制御する責任を有する。
任意選択として、CU2 及び装置16に課された時間の制約
により、CU2 は、B1-2の各部分が装置16の動作により空
になると、CU1 へ信号を戻すようにしてもよい。
【0051】80〜86の全動作にわたり、CU1、CU2及びそ
れぞれの装置は自律的に(PSSに割込んだり、当該システ
ムから追加の指示又は制御を受けたりすることなく) 動
作する。
【0052】(当該装置により、ソースで当該ブロック
の末尾に付加された信号から、又はCU1 の最初の準備で
与えられたカウント機能、等から決定できる) 最後のデ
ータブロックが装置15により処理された後、CUは終了割
込み信号を PSSに与え(87動作)、PSS が後に終了状況
をCU1 及び装置15からとCU2 及び装置16から回復できる
ようにする。任意選択として、CU2 は、その装置16がそ
の割当てられた動作を終了すると、PSS へ別個の終了割
込みを供給するようにしてもよい。
【0053】[3. 代理/仮想制御ユニット及び装置]
以上から明らかなように、既述のストリーミング動作に
参加する制御ユニットはホストシステムPSS によりセッ
トアップされるように論理的に装備され、少なくとも最
初の装置の当該システムによる始動の後、それらの制御
ユニットは、ホストシステムからのそれ以上の入力なし
に、ストリーミング処理で協働する他の制御ユニットに
関して必要な信号機能を実行するよう構成されなければ
ならない。そのような装置制御ユニットを持たないユー
ザは、それらの機能がホストシステムでエミュレートさ
れることを望むことがある。図6に示す構成はこの点を
示す。
【0054】装置制御ユニット90、91及び92は、それぞ
れのルータ 90a、91a 及び92a ならびに装置 90b、91b
及び92b とともに、ストリーミング動作に順次に関連す
るとみなされる。当該動作で、装置90b 及び91b はメモ
リデータバッファ93(B1-2)を共有し、そして91b 及び92
b はメモリデータバッファ94(B2-3)を共有する。しかし
ながら、制御ユニット91自体は、PSS により供給された
セットアップコマンドを解釈し、且つストリーミング処
理に関する他の2つの制御ユニットに関連して自律的に
動作する論理的な能力に欠けると仮定する。
【0055】当該事象で、PSS 内にプログラムモジュー
ルとして設けられた、シミュレートされた代理の制御ユ
ニット95(CU2) は、PSS からの最初のセットアップコマ
ンドを受取り、そして制御ユニット90、91及び02と協働
し、制御ユニット91自身が実行できないストリーミング
動作の自律的な制御を実行する。
【0056】プロセスのセットアップ中に、制御ユニッ
ト90及び92は適切なセットアップコマンドを受取り、そ
してそれぞれの信号経路96及び97を介して作動可能表示
を返送する。そして代理制御ユニット95はそのコマンド
を受取り、経路98を介して作動可能表示を返送する。従
って、物理的に実在する制御ユニット90及び92はチャネ
ル10を介して初期化され、そして代理制御ユニット95
は、完全にPSS 複合体の内部のプロセスによりそのコマ
ンドを受取り、チャネルを介して制御ユニット91、ルー
タ91a 及び装置91b との通信によりその作動可能性を決
定し、そしてその作動可能状況を、完全にPSS 複合体の
内部の割込みプロセスにより報告する。作動可能性を決
定する際に、代理制御ユニット95は信号経路99及びチャ
ネル10を介して制御ユニット91と通信する。
【0057】全ての制御ユニットが作動可能なとき、PS
S は最初の制御ユニット90(CU1) への進行信号によりス
トリーミング動作を開始し、そして装置90b は指定され
たソースから取出されたデータのブロックの処理及び結
果データのバッファB1-2の部分への書込みを開始する。
各バッファ部分が一杯になると、制御ユニット90はデー
タ使用可能情報 (図5参照) を出し、この事象を代理制
御ユニット95に通知する。この通知は、ルータ90a によ
り代理制御ユニット95に割当てられるPSS 内のパイプに
送られる、フォーマット化されたSCB エレメントの形式
である。即ち、この通知にある情報は信号経路100 を介
して代理制御ユニット95に送られる。
【0058】前記通知の各々について、代理制御ユニッ
ト95は制御ユニット91と通信し、後者内に通常のコマン
ドをセットアップしてバッファ93のそれぞれの指定され
た部分にあるデータのブロックを装置91b に処理させ、
結果データを装置91b 及び92b により共有されるバッフ
ァ94の指定された部分に転送する。
【0059】装置91b が前記データブロックの各々の処
理を終了すると、制御ユニット95は経路99を介して (割
込み又は直接信号プロセスにより) 制御装置91から終了
表示を受取り、そして即座にデータ使用可能信号を、経
路101 乃至チャネル10を介して制御ユニット92に送る。
上記の信号により、制御ユニット92は前述の自律的な方
法でそれぞれのデータブロックの処理を開始する。
【0060】このような代理制御ユニットの実現に必要
なプログラムコードの量は大きくはなく、そしてコード
は (例えば、装置のクラスに共通するフロントエンドセ
グメント及び特定の装置ドライバに合わせた複数のバッ
クエンドセグメントにより)複数の装置に役立つように
容易に適応させられるから、システムユーザに提供する
魅力的な商用資源となりうる。
【0061】[4. ストリーミングのための制御ユニッ
ト及び装置のエミュレーション]図7は図6の構成を更
に変更して1つの装置に関連した全ての装置及び装置制
御機能を、PSS の仮想装置/制御ユニットプログラムエ
レメントに移行させる方法を示す。
【0062】図7の構成は機能的には図6の構成と同じ
である。しかしながら、図7では、制御ユニット91は図
6で素子95として示された代理制御装置に完全に統合さ
れている (即ち、図7では、制御ユニット91全体はPSS
で実行できるソフトウェアルーチンとして実現されてい
る)。 そして装置91b も、図7では、PSS で実行できる
ルーチンにより完全に実現されている。
【0063】図7の構成の動作は制御ユニット91及び装
置91b の間の通信がPSS の内部機能として実行される
(即ちチャネル10を通さずに行われる) こと、ユニット9
1を表わすプログラムモジュールが完全に自律的なスト
リーミング動作として構成される (即ちストリーミング
動作中はユニット90及び92とのみ通信し、全動作が終了
するか又は打切られるまでPSS 内の例えばストリーミン
グマネジャに状況を供給しなくてもよい) ことを除き、
基本的には図6の構成と同じである。
【0064】[5. 複数の同時ストリーミング動作]図
8は1つの装置及び装置制御ユニットから見た制御信号
及びデータの移動の概要を示す。更に、この図は1つの
制御ユニット及び装置を用いて同時に複数のストリーミ
ング動作を行いうることを示す。この図には示されてい
ないが、ストリームに関して装置により実行される処理
機能に応じて、幾つかのストリームを1つのストリーム
に組合わせ、又は1つのストリームを幾つかのストリー
ムに分解できることが容易に理解されるであろう。
【0065】この図でストリーム1〜3として識別され
た3つのデータストリームを処理するために、装置制御
ユニット120 はデータバッファ管理機能121 と対話して
少なくとも1つの装置122 を制御する。3つのストリー
ムに含まれたデータは、PSSメモリの一部であり且つ装
置122 及び、データをバッファに書込むアップストリー
ム装置の間で共有されることがある、入力バッファ 124
〜126 から装置122 に転送される。装置122 の動作から
得られたデータは、装置122 により生成されたデータの
処理に必要なダウンストリーム装置と共有されることが
ある出力バッファ127〜129に書込まれる。
【0066】この図で、ストリーム1は入力バッファ12
4 及び出力バッファ127 を通過し、ストリーム2は入力
バッファ125 及び出力バッファ128 を通過し、そしてス
トリーム3は入力バッファ126 及び出力バッファ129 を
通過する。
【0067】これらのストリームに関して、制御ユニッ
ト120 はもちろんPSS から受取られたセットアップコマ
ンド情報により準備される。130 で、制御ユニット120
も、図示されないアップストリーム制御ユニットから入
力制御機能を受取り、131 で、図示されないダウンスト
リーム制御ユニットに出力制御機能を供給する。
【0068】後に示すように、セットアップコマンドは
前述の現に公開されたサブシステム制御ブロック(SCB)
構成によりフォーマット化することができ、これらのコ
マンドは一般に少なくとも1つのストリームをオープン
する (即ち新たなストリーミング動作を準備する) コマ
ンド、ストリームを延期又は停止する (例えば映画表示
でユーザによる一時停止の挿入又はその完全な停止を可
能にする) コマンド、及び前に延期又は停止されたスト
リーム動作を再開始するコマンドを含む。
【0069】制御ユニット120 及び機能121 は1つの制
御ユニット又は装置アダプタエンティティに統合された
部分であってもよい。
【0070】図示の構成と、そのアップストリーム及び
ダウンストリームの制御ユニットとの間の通信は、アッ
プストリーム及びダウンストリームがそれらがホストシ
ステムルーチンで実現された仮想装置と通信しているこ
とを気づかないように実行される。
【0071】[6. 共有データバッファ動作のためのFI
FOの使用]図9は、2つの装置、装置A 138及び装置B 1
39により共有されるバッファがFIFO構成のメモリ140 で
もよいことを示す。このタイプの構成の利点は、この種
の構成で制御が暗黙的である (即ち、バッファは常にデ
ータを受取ることができ、従って装置Bは、バッファが
明白に空でないときは必ず (先入れ先出しシーケンス
の) データ処理を要求されると想定される) 限り、それ
がソース装置Aの制御ユニット及び宛先装置Bの制御ユ
ニットの間の制御情報の転送を必要としないことであ
る。その不利点は、バッファがオーバーランしても、ソ
ース装置又はその制御ユニットがオーバーランを知らさ
れないことである。
【0072】FIFO構成は前の図に示されたバッファの一
種とみなすことができる。このバッファは長さ (FIFOの
幅) が1単位であり且つ効率的にそれ自身で循環する。
FIFOへのデータ転送が自動的なアドレス増加を伴うバー
ストで起きる場合、共有バッファ以外のメモリ部分をア
ドレス指定する可能性を回避するために、十分な容量及
びアドレス指定の連続性をFIFOに提供することを保証す
るように特に注意しなければならない。
【0073】[7. 専用バッファ方式の使用]図10は
専用バッファ146 を共有するソース装置A 144 及び宛先
装置B 145 を示す。専用バッファ146 は一般に他の装置
に割振りできないバッファであり且つできればチャネル
(図4のチャネル10参照) を介さずに装置との間でデー
タを交換するのに適したバッファであることが望まし
い。このタイプの構成では、装置はバッファのセグメン
ト又はブロック部分を満たしたり空にする順序に関する
個々の恒久的な取決め、即ちプロトコルを有するので、
最後に満たされた部分のロケーションを示すためにソー
スから宛先に制御情報を転送する必要はない。
【0074】[8. 可能な入出力の概要]図11は前述
の全ての可能な入力及び出力 (制御及びデータ) の概要
を示す。可能な入力及び出力バッファのタイプはそれぞ
れ148 及び149 に示される。バッファを共有する装置間
のデータの正しい移動を保証するために、全ての装置及
び関連制御装置について最小公倍数が合意され構築され
る必要がある。
【0075】バッファ構成に関する可能な選択は、共有
システムメモリ内の、ピンポン形式(即ち、ソースがセ
グメントを交互に満たし、そして宛先がそれらを同じシ
ーケンスで読取る形式) で用いられる2つの部分を有す
る簡単なバッファである。使用すべきバッファのタイプ
及びソースと宛先の間で転送すべき制御情報のタイプの
決定は、装置がシステムに接続されるとき、装置及びそ
れらの制御ユニットの能力に関してシステムが使用でき
る情報を用いてストリームマネジャにより行われるべき
である。
【0076】[9. セットアップコマンドのフォーマッ
ト]本ストリーミング動作のセットアップに用いるコマ
ンド (要求型の制御エレメント)、 及びその要求に含ま
れる記述子情報が図12乃至図25に示される。これら
の要求は、前記Bonavento 外による特許出願及び前出の
SCB に関する出版物に記述されているものに似た構成の
サブシステム制御ブロック(SCB) のフォーマットを有す
る。しかしながら、ストリーミングプロセスのセットア
ップに用いられるこれらのオブジェクトの情報内容は独
特である。
【0077】要求制御エレメントはSCB を構成する形式
の一種である。他の制御エレメントは回答タイプエレメ
ント、事象タイプエレメント及び誤りタイプエレメント
である。クライアント/ソースからサーバー/宛先に要
求が送られ、作業の単位の実行が決定される。サーバー
により一定のタイプの要求に応答して回答が返送され
る。事象 (通知) エレメントは要求された作業の進行、
要求の状態、又はクライアントもしくはサーバーの状況
についての情報を供給する。誤りタイプエレメントは要
求について又はサーバーの状況についての誤り情報を供
給する。
【0078】本発明では、要求エレメントはストリーミ
ング動作のセットアップに用い、そして事象エレメント
はストリーミング動作の実行中に制御ユニットの間で転
送される情報の通知に用いることができる。
【0079】ストリーミングをセットアップするために
本発明で用いられる要求はストリームオープン、制御、
バッファ制御及びバッファ同期制御と名付けられる。
【0080】図12及び13はストリームオープン要求
フォーマットを示し、図14〜19はこの要求により供
給される記述子情報のフォーマットを示す。図20及び
21はバッファ制御要求のフォーマットを示す。図22
及び23はバッファ同期制御要求のフォーマットを示
す。図24及び25はストリーム制御要求のフォーマッ
トを示す。
【0081】[9−1.ストリームオープン要求]スト
リームオープン要求制御エレメントのフォーマットは図
12及び13に示される。この要求は下記の複数の情報
フィールド 160〜167 を含む; フィールド160 - 制御エレメントのタイプを識別するの
に役立つフォーマット識別 (フォーマットID) 情報を含
む: フィールド161 - 要求の長さのバイト長を与える長さ情
報を含む: フィールド162 - 下記の8つの個別のサブフィールドを
含む: REQ(要求) - 制御エレメント (この場合、要求タイプ)
を定める; S (応答抑止) - 要求された作業を首尾よく終了したと
きクライアントがサーバーの応答を欲するかどうかを示
すビットである; C (連鎖) - それらが現われる順序で処理される1つの
作業単位を表わす、少なくとも2つの制御エレメント間
の連鎖リンケージを示すビットである; I (間接) - 解釈される情報の直接表示又はそのメモリ
ロケーションに対するポインタを後述のパラメータ
(値) フィールドが含むかどうかを示すビット (要求タ
イプ制御エレメントでのみ有効) である; N (通知) - それぞれのエレメントの処理が開始される
ときクライアントがサーバーによる通知を要求したか又
は要求しなかったかを示すビット (要求エレメントでの
み有効) である; W (待機) - サーバーはクライアントが特定の再開始通
知を供給するまで待機したのち、それぞれの制御エレメ
ントを処理すべきことを示すビット (要求タイプエレメ
ントでのみ有効) である; E (優先) - 活動状態のときそれぞれの制御エレメント
をできるだけ早く(一般に優先表示を含まない他の制御
エレメントよりも前に) 処理すべきことを示すビットで
ある; OpenStream -この要求のパラメータフィールド (後述)
を解釈すべき方法を決めるストリームオープン制御エレ
メントの機能コードである (他の要求及び制御エレメン
トは異なる機能コードを有する); フィールド163 - (例えば、将来の機能拡張のために)
予約されている: フィールド164 - この要求に関連したコマンドのソース
(例えばクライアント)を定義する: フィールド165 - 要求の宛先 (例えば、要求が経路指定
されるパイプ又は他のサーバーエンティティ) を定義す
る: フィールド166 - 要求及び応答制御エレメントを関連づ
けるのに用いる相関フィールドを含む: フィールド167 - 可変数の記述子を含む可変長パラメー
タ (値とも呼ばれる)フィールドである。記述子は: (1) バッファグループ (共有入力又は出力バッファのグ
ループ) を構成する個々のバッファ; (2) バッファ管理方式 (共有装置を制御するCUによりバ
ッファを管理する方法); (3) 各 (入力及び出力) バッファの通知方式 (即ち、そ
れぞれのバッファが処理可能なデータを含むとき、それ
ぞれのバッファが新しいデータを再びロードできると
き、などに CUその他のエンティティに通知する); (4) バッファ同期方式、即ち、 (アップストリームCUか
らの作動可能通知に加えて) バッファにあるデータの処
理をトリガーする事象(例えば、異なるストリームの処
理での事象); (5) それぞれの装置により処理される入力データ及び出
力データ間の相関 (即ち、当該データを読取る装置によ
り、入力データに対して実行される変換プロセス); を定義するのに用いられる。
【0082】記述子のフォーマットは図13に示され
る。各記述子は下記のように用いられるサブフィールド
169〜172 を含む: サブフィールド169 - 記述子タイプ (下記の図14〜1
9の説明を参照されたい) を決める情報を含む; サブフィールド170 - それぞれの記述子の長さ (例え
ば、バイト数) を決める情報を含む; サブフィールド171 - 予約である; サブフィールド172 - 記述子情報 (それぞれの記述子に
よる特定の情報) を含む。
【0083】タイプ及び長さのサブフィールドは記述子
のタイプ毎に独特である。ストリームオープン要求にお
ける記述子の数は、与えられたバッファの数、バッファ
を満たし又は空にする事象毎に必要な通知の数、及び通
知に用いられる信号のタイプによって異なる。
【0084】このような要求に含め得る記述子のタイプ
には (図14に示す) バッファグループ記述子、 (図1
5に示す) バッファ記述子、 (図16に示す) バッファ
通知記述子、 (図17に示す) 入力信号コード記述子、
(図18に示す) 同期記述子及び (図19に示す) 変換
記述子がある。
【0085】パラメータフィールド167 内の記述子の順
序は、装置によるサブフィールドのの解析を容易にする
ように所定の規則に従わなければならない。適切な規則
のセットを下記に示す: (A) バッファグループ記述子の後に少なくとも1つのバ
ッファ記述子が続かなければならない; (B) バッファ記述子の後に少なくとも1つのバッファ通
知記述子が続かなければならない; (C) 入力バッファグループ (もしあれば) は出力バッフ
ァグループ (もしあれば) の前に与えられなければなら
ない; (D) 全ての入力信号コード記述子 (もしあれば) は出力
バッファグループ記述子に続かなければならない; (E) 同期記述子 (もしあれば) は入力信号コード記述子
に続かなければならない; (F) 変換記述子 (もしあれば) は同期記述子に続かなけ
ればならない。
【0086】バッファグループ記述子 (図14) は、共
有の入力バッファ又は出力バッファとしてまとめて使用
され管理されるバッファのグループを定義するために用
いられる (グループを構成する各バッファは例えば1つ
のデータブロックを保持し、それらのバッファはある所
定の順序でまとめて満たされ又は空にされる)。このタ
イプの記述子 (図14) に含まれる情報フィールドは下
記の通りである: バイト0〜1: x'010C'(このタイプの記述子を識別するコ
ード); バイト2〜3: 予約; バイト4〜5: それぞれのバッファグループの識別(ID); バイト6〜7: 予約; バイト8: グループ内のバッファ数; バイト9: 下記に関するフラグ: 入出力制御; バッファ管理方式 (循環、FIFO、専用、等); 誤り報告方式; 誤り回復方式; バイト10: 相対的ストリーム優先順位 (このバッファグ
ループを通過するストリームの他のストリームに対する
処理優先順位); バイト11: 予約。
【0087】バッファ記述子 (図15) はバッファグル
ープの構成要素であるバッファを定義するために用いら
れる。この記述子は下記を含む: バイト0〜1: x'0214'(このタイプの記述子の特定のコー
ド値); バイト2〜3: 予約; バイト4〜5: バッファグループID (上記参照); バイト6〜7: バッファID (この記述子で記述された特定
のバッファの識別); バイト8〜11: バッファアドレス (システムのメモリア
ドレス空間でこのバッファの最初のロケーションを定義
する 32ビット); バイト12〜15: バッファの長さ (バイト); バイト16: 下記に関するフラグ: 入出力制御; バッファ (出力バッファのみ) 満杯の通知; バッファ (出力バッファのみ) が空になるまで待機; バッファ (入力バッファのみ) の空の通知; バッファ (入力バッファのみ) が一杯になるまで待機; バイト17〜19: 予約。
【0088】バッファ通知記述子 (図16) は、バッフ
ァが境界条件 (データを処理できることを表わす満
杯)、又はバッファ内の全てのデータが処理されたこと
を表わす空の状態) に達したとき、どの装置に通知すべ
きかを定義する。この記述子のエレメントは下記の通り
である: バイト0〜1: x'030C'(このタイプの記述子を一意的に
識別するコード値); バイト2〜3: 予約; バイト4〜5: バッファグループID; バイト6〜7: バッファID; バイト8〜9: 下記に関するフラグ: ビット0: 全てのバッファ/バッファIDのみ (グループ
内の全てのバッファについて通知すべきことを示す); ビット1: 信号/事象 (通知を信号の形式 (例えば、宛
先CU内のレジスタに直接アドレス指定された情報) で行
うか、又はSCB フォーマットの事象制御エレメントの形
式で行うかを示す); ビット2: バッファ満杯の通知; ビット3: バッファ空の通知; ビット4: (回復できる) 誤りの通知; ビット5: (回復できない) 誤りの通知; バイト10: (もし使用できれば) 指示された信号を介し
て他のユニットに通知するときに用いられる信号コー
ド、又はビット1が事象にセットされる場合には事象を
送るのに用いるユニットアドレス (宛先); バイト11: I/O ポートアドレス (通知信号が送られる特
定のレジスタ又は他のエンティティのシステムI/O 空間
内のアドレス) 又は、ビット1が事象にセットされる場
合に事象を送るのに用いるエンティティアドレス (宛
先)。
【0089】入力信号コード記述子 (図17) は記述子
が送られる装置が受取る信号コードを定義する。この記
述子の内容は下記の通りである: バイト0〜1: x'040C'(このタイプの記述子を一意的に識
別するコード値); バイト2〜3: 予約; バイト4〜5: バッファグループID; バイト6〜7: バッファID; バイト8: 下記に関するフラグ: ヒット0: 全てのバッファ/バッファIDのみ (前述の定
義参照); ビット1: 出力バッファ空の表示; ビット2: 入力バッファ満杯の表示; バイト9: 予約; バイト10: (使用できるとき、直接信号通知に用いら
れる) 信号コード; バイト11: (使用できるとき、信号通知を受取るレジ
スタ又は他のエンティティのシステムI/O アドレス空間
内の) I/O ポートアドレス。
【0090】同期記述子 (図18) は目標装置のそれぞ
れのバッファグループを他のストリームと同期させる方
法 (例えば、ビデオストリームを処理するバッファグル
ープを別個のオーディオストリーム処理と同期させる方
法) 又はタイマを定義する。この記述子の内容は下記の
通りである: バイト0〜1: x'050C'(このタイプの記述子を一意的に識
別するコード); バイト2〜3: 予約; バイト4〜5: バッファグループID; バイト6〜7: 予約; バイト8: 下記に関するフラグ: 非同期 ; ストリーム内の同期ソース; タイマの同期ソース; 予め設定された供給/使用速度に関連した同期; バイト9: 供給/使用速度 (上記フラグ参照); バイト10〜11: 予約; バイト12〜15: (同期ソース、即ち入力データが処理
される速度を決めるタイミング機能のソースを見つける
ためにフラグに関連して用いられる) ストリームID又は
タイマアドレス。
【0091】変換記述子 (図19) は記述子が送られる
装置により処理される入力及び出力データ間の関係 (即
ち、装置が受取った入力データに対して行うプロセス)
を定義する。この記述子の内容は下記の通りである: バイト0: x'06'(この記述子を一意的に識別するコード
値); バイト1: 記述子の長さ (バイト); バイト2〜3: 予約; バイト4〜7: (同期を決定する機能、例えば他のストリ
ーム、を識別するのに用いられる) ストリーム相関ID; バイト8〜x: 読取り及び書込みタイプのコマンドを含む
装置従属制御情報 (xは可変数)。 他の記述子の類似の
フォーマットの制御エレメントに関する変更は、この領
域内のソース及び宛先アドレスが、共有バッファの物理
的なロケーションを表わすメモリアドレスよりはむしろ
バッファグループIDを指定することを可能にする。
【0092】[9−2.バッファ制御要求]バッファ制
御要求エレメント (図20及び21) は要求、応答及び
誤り制御に用いられる。それはバッファグループ内のバ
ッファを満たし又は空にするための制御に必要なパラメ
ータを含む。この要求のフィールド構成は図20に示さ
れ、そしてこの要求のパラメータフィールドを構成する
サブフィールドは図21に示される。
【0093】この要求のバッファ制御及びパラメータフ
ィールド以外のフィールドは、ストリームオープン要求
(図12) 内の対応する名称のフィールドと実質的に同
じである。バッファ制御フィールドはその要求をバッフ
ァ制御タイプの要求として識別するコードを含む。バッ
ファ制御要求内のパラメータフィールドは下記の情報を
含む: バイト0〜1: バッファグループID; バイト2〜3: バッファID; バイト4: 下記に関するフラグ; ビット0: 出力バッファ空の表示; ビット1: 入力バッファ満杯の表示; ビット2: 出力バッファ誤り(回復可能)の表示; ビット3: 出力バッファ誤り(回復不能)の表示; ビット4: 入力バッファ誤り(回復可能)の表示; ビット5: 入力バッファ誤り(回復不能)の表示; バイト5〜7: 予約; バイト8〜11: 誤りコード (ビット0 は回復可能及び回
復不能の誤りを識別する); バイト12〜15: (誤りのために処理すべき残りのデー
タの量を示す) 残存バイトのカウント; これは誤り状態
のときのみ有効であり、通常の動作中は値は0でなけれ
ばならない; バイト16: (例えば、新たな状況、誤り等を示す) 装
置従属。
【0094】[9−3.バッファ同期制御要求](図22
及び23に示された)この要求エレメントは、上述のバ
ッファ制御要求エレメントのように、要求、応答及び誤
り制御状況で用いられる。それはバッファグループ内の
バッファの同期の制御に必要な全ての情報を含む。この
要求の構成要素フィールドは図22に示され、そしてそ
れぞれのパラメータ構成要素フィールドのサブフィール
ドは図23に示される。SyncControl(同期制御) 及びパ
ラメータと名付けられたフィールドを除き、バッファ同
期制御要求の全ての他の構成要素フィールドはストリー
ムオープン及びバッファ制御要求において対応して名付
けられ (且つ配置され) たフィールドと本質的に同一で
ある。SyncControlと名付けられたフィールドはこの要
求をバッファ同期制御タイプの要求として識別するコー
ドを含む。
【0095】バッファ同期制御要求内のパラメータフィ
ールドの構成サブフィールド (図23) は下記の通りで
ある: バイト0〜1: バッファグループID; バイト2〜3: 予約; バイト4: 下記に関するフラグ: タイマに対する同期の表示; ストリーム自体に対する同期の表示; バイト5で指定された使用/供給速度に対する同期の表
示; バイト5: 使用/供給速度; バイト6〜7: 予約; バイト8〜11: タイマアドレス又はストリーム相関I
D。
【0096】[9−4.ストリーム制御要求]ストリー
ム制御要求は要求、応答及び誤り制御状況でも用いられ
る。それはストリーム処理の制御に必要な情報を含む。
この要求の構成要素フィールド (図24) は、StreamCo
ntrol(ストリーム制御) フィールド及びパラメータフィ
ールドと名付けられたフィールド以外は、上記の他の要
求での対応する名称のフィールドと同じである。Stream
Controlフィールドは要求をストリーム制御タイプの要
求として識別するコードを含む。パラメータフィールド
(図25) は、ストリーム制御タイプの要求では、下記
のサブフィールドを含む: バイト0〜3: ストリーム相関ID; バイト4: 目標装置及び制御ユニットにより即時に実行
される機能: ストリーム準備 (バッファを満たすが処理を開始しな
い); ストリーム開始 (バッファ中のストリームデータの処理
を開始する); ストリーム中断 (バッファ中のデータの処理を中断す
る); ストリーム再開 (処理中断後に処理を再開する); ストリーム停止 (中断及びフラッシュと同じ); ストリームフラッシュ (データを処理することなくバッ
ファを空にする); を指定するビットを有するストリームコマンド; バイト5: 下記に関する同期フラグ: ビット0 - 即時開始の表示; ビット1 - タイマ値 = x のとき開始; ビット2 - 入力バッファが満杯のとき開始; バイト6-7: 使用/供給速度; バイト8〜11: タイマ値 x (バイト5参照) のアドレス; バイト12〜15: 現在のタイマ値; バイト16〜xx: オプションの変換記述子 (図19参
照); xx は可変。
【0097】[10.ストリーミングの制御ユニットの
論理的な構成]図26、27及び28は、本発明による
ストリーミングプロセス実行に適合する装置制御ユニッ
トの論理的な構成を説明するための流れ図の部分を含
む。図29はストリーミングに必要な論理的なエレメン
トを機能的手段の形で示すブロック図である。
【0098】図26、27及び28の間の連結は丸で囲
まれた文字a、b及びcで示される。従って、図26及
び27で、丸で囲まれたaは、図26に示された関連ブ
ロックの出力を図27に示された関連ブロックの入力と
連結する。同様に、図28及び26で、丸で囲まれたb
は、図28に示された関連ブロックの出力を図26に示
された関連ブロックの入力と連結する。同様に、図27
及び28で、丸で囲まれたcは、図27に示された関連
ブロックの出力を図28に示された関連ブロックの入力
と連結する。
【0099】装置制御ユニットから見た、ストリーミン
グプロセスのセットアップ段階は図26に示される。こ
のプロセスのステップ240 で、制御ユニットは上記のタ
イプの要求及び記述子を受取り、そしてそれ自身をこれ
らの機能により定義された作業構成にセットする。作業
構成は入出力データに関して必要なバッファ方式、(も
し必要なら) 同期方式、及び通知方式を定義するパラメ
ータを含み、これらのパラメータにより定義される方式
に適合するよう制御ユニット内のロジックを調整する。
【0100】この準備段階の部分として、ステップ241
で、制御ユニットはそのロジックが値Pmax により定義
された可変数のバッファを有する入力バッファグループ
及び値Qmax により定義された可変数のバッファを有す
る出力バッファグループとともに動作するように調整す
る。各グループ内のバッファの数 (即ち、Pmax 及びQ
max の値)、 及び各グループ内の個々のバッファのサイ
ズはステップ240 で受取った記述子に含まれた情報によ
り決定される。添字 max はグループ毎にPSSにより割振
られるバッファの数を定義する値である。これは、例え
ば、グループに割振るべきバッファの数の上限を決める
状況で最大値を示すことを意味しない(しかし、実際に
はこのような制限をPSS に加えることがある)。
【0101】次にステップ242 で、制御ユニットは次に
処理される入力バッファ及び次に満たされる出力バッフ
ァを指すカウント機能の値P及びQをそれぞれ初期値1
(入力バッファ及び出力バッファのグループ内の特定の
最初のバッファを指す) にセットする。
【0102】判定ステップ243 に進む前に、制御ユニッ
トは、割り込みにより、その状況をプロセッサシステム
(PSS) に通知する。この状況で、誤りにより制御ユニッ
トが進めないことが示された場合、ストリーミング動作
を準備し開始するプロセスはPSS により中断される (ス
トリーミング動作の開始に状況割込みがどのように影響
するかに関しては前述の図5の説明を参照されたい)。
【0103】判定ステップ243 で、制御ユニットはスト
リーム処理を開始する信号 (例えば、前述のPSS からの
進行信号、又は中断されたストリーム処理動作の即時再
開始を要求する同等な信号) がそのホストシステム PSS
から受取られたかどうかを判定する。当該信号が受信さ
れると、プロセスは (丸で囲まれたaのリンクを介し
て) 図27に示されたブロックに進む。そして信号が受
信されなかった場合、制御ユニットは (ステップ244
で) 所定の時間待機したのち、判定ステップ243 を反復
する。
【0104】図27に示された次のストリーミングプロ
セスの部分で、制御ユニットは最初にステップ245 でそ
の装置の入力データのソースが別の (アップストリー
ム) 装置と共有している入力バッファであるか、特定の
他の装置 (例えば、CD-ROM、テープ、ハードディスク、
ネットワークポート、等) であるかを判定する。
【0105】ソースが入力バッファではない場合、それ
ぞれの装置はステップ246 で特定のソース装置からデー
タを読取るようにプロンプトされる。この動作が行われ
ると、判定ステップ247 で、ソースから検索されたデー
タが特定のプロセスの処理を要するか、単にダウンスト
リーム装置に送られるかが判定される。特定の変換/プ
ロセスが要求された場合、プロセスは (図26のセット
アップ段階で受取った要求の1つにより定義された) 動
作をステップ248 で実行したのち、丸で囲まれたcを介
して図28に進む。ステップ247 で、データの変換/プ
ロセスが要求されなかった場合、ステップ248 はスキッ
プされ、前述のように図28に進む。
【0106】ステップ245 で、入力データのソースが入
力バッファ (即ち、アップストリーム装置と共有のバッ
ファ) であると判定された場合、判定ステップ250 で
(バッファグループ内の) 次に処理するバッファ及び当
該バッファの使用可能状況が判定される (カウンタPの
使用方法については、下記の図28の説明を参照された
い)。
【0107】ステップ250 で入力バッファが使用できな
いと判定された場合、所定の待機時間ののち当該判定が
反復される。使用できるデータを入力バッファが含む場
合、判定ステップ251 でバッファ内のデータがプロセス
/変換処理を必要とするか、簡単な緩衝記憶処理を必要
とするかが判定される。
【0108】ステップ251 でプロセス処理が要求された
場合、プロセス252 で装置は (セットアップ要求で定義
された) それぞれのプロセスを実行するようにプロンプ
トされたのち、ステップ253 及び254 の動作が続く。ス
テップ251 で変換処理が要求されなかった場合、ステッ
プ252 はスキップされ、即時にステップ253 及び254の
動作に進む。
【0109】ステップ253 で、入力バッファ の現在の
状態(例えば、空のバッファ、即ち再び満たしうるバッ
ファ) が他のパーティ/装置制御ユニットの通知を必要
とするかどうかについての判定が行われる。通知が必要
である場合、ステップ254 でその通知が実行され、そし
て丸で囲まれたcを介して図28に進む。通知が必要で
はない場合、ステップ254 はスキップされ、丸で囲まれ
たcを介して即時に図28に進む。
【0110】図28に示された動作が開始されると、ス
テップ260 で、図27のステップで生成されたデータの
宛先が (共有) 出力バッファであるか、特定の装置 (モ
ニター、拡声器、等) であるかが判定される。
【0111】宛先が特定の装置である場合、ステップ26
1 で当該装置にデータが送られ、ステップ 262〜267 に
示された動作ルーチン (後述) のうちの選択された部分
が実行される。そして全ての出力データがこのように処
理されたとき、丸で囲まれたbを介して、再び図26の
セットアップ部分の判定ステップ243 に進む。
【0112】出力データの宛先が特定の出力バッファで
ある場合、ステップ270 で当該バッファへのデータの書
込みが実行され、そしてステップ271 及び272 から前述
のステップ 262〜267 に進む。ステップ271 では、パー
ティのどれかが通知を必要とするかどうかが判定され
る。通知が必要である場合、ステップ272 でその通知が
実行される。通知が必要ではない場合、ステップ272 は
スキップされ、即時にステップ 262〜267 に進む。
【0113】ステップ262 で、現にデータを読取り中の
入力バッファを示す、カウント機能の値Pは、ステップ
241 (図26) で設定された最大値Pmax と比較され
る。Pの値がPmax の値よりも小さい場合、Pの値はス
テップ 263で1だけ増分される。Pの値とPmax の値が
等しい場合、最初の入力バッファからのデータの読取り
を再び開始するために、Pの値はステップ 264で1にリ
セットされる。
【0114】ステップ265 で、現に満たされつつある出
力バッファを示すQの値と現に使用中の出力バッファの
総数を定義する値Qmax が比較される。QがQmax より
も小さい場合、Qはステップ266 で1だけ増分される。
QとQmax が等しい場合、最初の出力バッファを再び満
たすことを開始するために、Qの値はステップ267 で1
にリセットされる。
【0115】前述の動作の全てにおいて、下記のことが
理解されるべきである。他のパーティ (装置制御ユニッ
ト) の通知を必要とする動作はチャネル10 (図1) を介
して実行される。これは、そのような動作を開始する制
御ユニットが、チャネルのアクセスを調停し、チャネル
を含むバスのマスター制御を取得し、そしてチャネルを
用いて他のパーティに通知情報を伝達することを必要と
する。通知情報は、チャネルの対等通信特性により、
(通知される制御ユニット内の) アドレス可能なレジス
タに入れられた直接解釈された信号として、又は別の制
御ユニットに供給するパイプに送られる SCBの事象制御
エレメントとして形成することができる。
【0116】パイプ自体はシステム/PSS メモリ内の
(共有データバッファとは別の) バッファか又はそれが
供給する他の制御ユニット内のバッファメモリに配置さ
れる。動作を開始した制御ユニット内の (又は制御ユニ
ットに関連した) ルータは物理的な通信経路 (一体化さ
れたバッファ内のアドレスへのシステムメモリ経路又は
対等通信経路) を決定する。
【0117】これまで述べてきた中で注目すべきこと
は、データストリームに対していずれかの装置が行った
特定の変換プロセスが同じストリームを処理する他のい
かなる装置にも影響を与えないことである。共有バッフ
ァを通るストリームの管理、外部タイマ事象と入力デー
タの処理との同期、別のデータストリームの処理などに
必要な全ての動作は、制御ユニットにより、入力データ
を受取る装置に透明な方法で制御される。従って、その
ような装置は比較的標準の構成を持つことができ、そし
て変換機能を処理するための新しい装置は、その機能が
ストリームプロセスの他の状況にどのように影響するか
に関係なく、容易に開発することができる。
【0118】図29は図26〜28に示された機能を達
成するための手段を含む (本発明による自律的ストリー
ム処理のための) 制御ユニットの論理的な構成を示す。
【0119】ブロック290 に示すように、制御ユニット
はストリーミングプロセスを定義する要求エレメントを
PSS から受取る手段を必要とする。
【0120】ブロック291 に示すように、制御ユニット
は、セットアップ中に供給された要求エレメントに応答
して、それぞれのユニットにストリーミング動作の準備
をさせる (動作に必要なレジスタ状態を設定したり、特
定の入力及び出力バッファへの経路の使用可能性をテス
トしたりする) ための手段を必要とする。
【0121】ブロック292 に示された手段は、制御ユニ
ットがその作動可能状態又は誤り状態をPSS に示すこと
を可能にする。
【0122】ブロック293 に示された手段は、ホストか
らの開始信号 (進行信号又は即時再開機能を有するスト
リーム制御要求) 及びセットアップ中に設定された状態
により論理的に条件づけられ、ストリーミングプロセス
を自律的に (即ち、潜在的に、処理すべきデータの全て
が処理し終わるまでホストシステムPSS からのそれ以上
の入力なしに) 開始し続行する。この最後の手段は通知
タイプの記述子で指定された通知機能を実行する手段を
含む。
【0123】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0124】(1) プロセッササブシステムと、メモ
リサブシステムと、周辺装置と、前記プロセッササブシ
ステムから受取ったコマンドに応答して前記周辺装置を
制御する装置制御ユニットと、前記装置制御ユニットを
前記プロセッサ及びメモリサブシステムにリンクするチ
ャネルとを備え、前記チャネルは、前記プロセッササブ
システムの介入なしに且つ前記制御ユニット間で転送さ
れる情報を前記メモリサブシステム内の中間バッファに
記憶せずに、前記制御ユニットが互いに直接通信できる
対等通信特性を有するコンピュータシステムにおいて、
前記制御ユニットの1つにより制御される装置が、第1
及び第2の他の装置をそれぞれ制御する第1及び第2の
他の制御ユニットと協働して、任意の長さのデータスト
リームを処理することを前記1つの制御ユニットに指示
させるためのシステムであって、前記1つの制御ユニッ
トに設けられ、(1) 前記メモリサブシステム内にあっ
て、前記1つの制御ユニットが前記第1及び第2の他の
制御ユニットとそれぞれ協働して管理する入力及び出力
バッファ記憶空間と; (2) 前記入力及び出力バッファ記
憶空間の使用を管理するために、前記1つの制御ユニッ
トならびに前記第1及び第2の他の制御ユニットの間で
前記チャネルの前記対等通信特性により直接転送され、
前記制御ユニットにより用いられる信号を定義する通知
プロトコルと; (3) 前記入力バッファ記憶空間内の前記
任意の長さのデータストリームに対し、前記1つの制御
ユニットが制御する装置により実行されるプロセスとを
定義するセットアップコマンド情報を受取る手段であっ
て、前記データは前記第1の他の装置により前記入力バ
ッファ記憶空間に書込まれ、前記プロセスは前記第2の
他の装置で更に処理するために前記出力バッファ記憶空
間に書込まれる結果データを生成し且つ前記プロセスは
前記プロセッササブシステムの割込みなしに実行を終了
し、前記入力及び出力バッファ記憶空間の各々は前記デ
ータストリームに含まれ得る全てのデータを同時に記憶
するには不十分な記憶容量を有することを特徴とする手
段と、前記1つの制御ユニットに設けられ、前記セット
アップコマンド情報に応答して、前記1つの制御ユニッ
ト及び前記1つの制御ユニットにより制御される装置が
(1) 前記入力バッファ記憶空間を介して送られる前記デ
ータストリームに対して前記コマンド情報により定義さ
れた前記プロセスを実行し; (2)前記プロセスの実行か
ら生成されるデータを前記出力バッファ記憶空間を介し
て前記第2の他の装置に送り; そして(3) 前記通知プロ
トコル及び前記チャネルの前記対等通信特性により、前
記第1及び第2の他の制御ユニットとそれぞれ協働して
前記入力及び出力バッファ記憶空間の使用を管理するよ
うに準備する手段と、前記1つの制御ユニットに設けら
れ、前記プロセッササブシステムからの開始信号と、前
記準備する手段により設定された状態とに応答して、
(1) 前記入力バッファ記憶空間を介して送られる前記デ
ータストリームのデータに対して前記プロセスを実行
し; (2) 前記プロセスの実行の結果データを前記出力バ
ッファ記憶空間を介して前記第2の他の装置に送り;
(3) 前記入力バッファ記憶空間を介した前記データスト
リームの転送、及び前記出力バッファ記憶空間を介した
前記結果データの転送を、前記通知プロトコル及び前記
チャネルの前記対等通信特性を用いて前記1つの制御ユ
ニット、並びに前記第1及び第2の他の制御ユニットが
協働して管理し; そして(4) 前記プロセッササブシステ
ムの介入なしに、データストリーム内の全てのデータの
処理及び転送が終了するまで、前記動作の全てを実行す
るストリーミング動作を指示する手段とを備えるデータ
ストリーミングシステム。 (2) 前記セットアップコマンド情報は複数の種々の
サイズの形式の要求を含み、各要求は少なくとも1つの
記述子を含むパラメータフィールドを含み、各記述子は
前記ストリーミング動作に不可欠の機能を定義する、上
記(1)に記載のシステム。 (3) 前記記述子は前記メモリサブシステム内の前記
入力及び出力バッファ記憶空間の大きさを定義する情報
を含む、上記(2)に記載のシステム。 (4) 前記記述子は、前記入力バッファ記憶空間を構
成し且つ大きさが可変の少なくとも2つの記憶サブ空間
を含む入力バッファグループを定義する情報、該サブ空
間の各々の大きさを定義する情報、及び前記1つの制御
ユニットにより制御される装置が前記サブ空間の1つか
らのデータを読取っている間に、前記第1の他の装置が
前記サブ空間の他の1つにデータを書込めるように、前
記サブ空間の同時アクセスを可能にする情報を含む、上
記(3)に記載のシステム。 (5) 前記記述子は、前記出力バッファ記憶空間を構
成し、且つ少なくとも2つの記憶サブ空間を含む出力バ
ッファグループを定義する情報、前記出力バッファグル
ープ内の個々の記憶サブ空間の大きさを定義する情報、
及び前記1つの制御ユニットが制御する装置により生成
されたデータが前記サブ空間の1つに書込まれている間
に、前記第2の他の装置が前記サブ空間の他の1つにあ
るデータを読取って処理できるように、前記第2の他の
制御ユニットと対等に前記出力バッファグループに対す
るアクセスを管理するよう前記1つの制御ユニットを構
成する情報を含む、上記(3)に記載のシステム。 (6) 前記記述子は、前記チャネルの前記対等通信特
性により実行される、前記1つの制御ユニット及び前記
第1の他の制御ユニットの間の通信プロトコルを定義す
る情報を含み、前記データストリーム内のデータが前記
入力バッファグループを介して効率的に移動されること
を保証するように、前記プロトコルは前記1つの制御ユ
ニット及び前記第1の他の制御ユニットが、前記1つの
制御ユニットにより制御される装置及び前記第1の他の
装置による、前記入力バッファグループ内の前記サブ空
間に対する時間的にインターリーブされたアクセスを制
御することを可能にする、上記(4)に記載のシステ
ム。 (7) 前記通知プロトコルは、前記結果データが前記
出力バッファグループを介して効率的に転送されること
を保証するように、前記1つの制御ユニット及び前記第
2の他の制御ユニットが、、前記1つの制御ユニットに
より制御される装置及び前記第2の他の制御ユニットに
より制御される装置による、前記出力バッファグループ
内の前記サブ空間に対するアクセスを共同で管理する形
式である、上記(5)に記載のシステム。 (8) 前記1つの制御ユニットに設けられ、前記準備
する手段がその動作を終了したとき、前記プロセッササ
ブシステムに信号を供給する手段を含み、該信号は、前
記1つの制御ユニットが前記ストリーミング動作につい
て準備されるか、又は前記1つの制御ユニットが誤りの
ために前記ストリーミング動作について準備できないこ
とを示すものであって、前記プロセッササブシステムに
よる前記開始信号よりも先に出され、そして前記開始信
号の発生に先立つ条件として前記プロセッササブシステ
ムで用いられる、上記(1)に記載のシステム。 (9) 前記セットアップコマンド情報は、前記1つの
制御ユニットが前記ストリーミング動作と前記1つの制
御ユニットの外部で起きる別のストリーミング動作とを
同期できるようにする同期情報を含む、上記(1)に記
載のシステム。 (10) 前記入力バッファ記憶空間はFIFO (先入れ先
出し) バッファ装置として用いるように構成され、前記
第1の他の装置からデータのブロックを順次に受取り、
そしてそれぞれのブロックを受取ったシーケンスで前記
1つの制御ユニットにより制御される装置に前記データ
のブロックをアクセスさせる、上記(3)に記載のシス
テム。 (11) 任意の長さのデータストリームの処理を必要
とする動作を実行する装置を制御するストリーミング装
置アダプタであって、直接通信を可能にする対等通信特
性を有するチャネルを介して他の装置アダプタとの直接
通信を可能にする手段と、(1) 選択された大きさを有す
る出力バッファ記憶と; (2) 当該アダプタにより制御さ
れる装置に順次に供給される、任意の長さのデータスト
リームを構成するデータのソースと; (3) 前記データス
トリーム内の全てのデータに対して、当該アダプタによ
り制御される装置が実行するプロセスであって、該プロ
セスからの結果データが、別のアダプタにより制御され
る別の装置によるプロセス実行のために、前記出力バッ
ファに書込まれるプロセスからと;(4) 前記装置及び前
記別の装置による前記出力バッファの使用を調整するた
めに、前記データストリームに対する前記プロセスの実
行中に、当該アダプタ及び前記別のアダプタの間で行わ
れる通信のプロトコルとを定義するセットアップコマン
ド情報をホストシステムから受取る手段と、前記受取る
手段が前記セットアップコマンド情報を受取ったのち前
記ホストシステムが出した開始信号、及び前記セットア
ップコマンド情報に応答して、当該アダプタにより制御
される装置に前記プロセスを実行するように指示し、そ
して前記データストリームの離散した部分を表わすデー
タが前記出力バッファ記憶で使用できるときに前記プロ
トコルを用いて前記別のアダプタに通知する手段であっ
て、前記データストリーム内の全てのデータの処理が終
了するまで、前記ホストシステムの介入なしに、前記プ
ロセスを連続して実行させる手段と、を備えるアダプ
タ。 (12) 前記チャネルを介して前記ホストシステムに
接続される、上記(11)に記載のアダプタ。 (13) 前記ホストシステムにより実行されるプログ
ラムに含まれる代理ユニットで実現された、上記(1
1)に記載の装置アダプタ。 (14) 前記出力バッファ記憶は少なくとも2つのセ
クションを備え、各セクションは所定の長さのデータブ
ロックを記憶することができ、そして前記通信プロトコ
ルは当該アダプタにより制御される装置及び前記別の装
置が異なったセクションをそれぞれ同時にアクセスする
ことを可能にする、上記(11)に記載のアダプタ。 (15) 前記出力バッファ記憶は、当該アダプタによ
り制御される装置が前記チャネルを介してアクセスでき
る、前記ホストシステムのメモリサブシステムに含ま
れ、前記セットアップコマンド情報は前記出力バッファ
記憶内の前記セクションの数及び各セクションの大きさ
を定義する情報を含み、前記通信プロトコルを定義する
前記セットアップコマンド情報は、当該アダプタから前
記別のアダプタへの通信の開始に先行する条件として前
記セクションで起きる事象を定義し、且つ前記通信に含
まれる信号の形式を定義する情報を含む、上記(11)
に記載のアダプタ。 (16) 前記ホストシステムは、当該アダプタ及び他
のアダプタにより制御される装置による複数の異なるデ
ータストリームの同時処理を開始することができ、そし
て前記アダプタに供給されるセットアップコマンド情報
は、前記アダプタにより制御される装置での1つのデー
タストリームの処理と、異なる装置での異なるデータス
トリームの処理を同期させる情報を含む、上記(11)
に記載のアダプタ。 (17) 前記同期させる情報は、前記ホストシステム
のメモリ内のタイミング機能のロケーションを定義する
情報を含み、それにより前記異なるデータストリームの
処理に時間基準を与える、上記(16)に記載のアダプ
タ。 (18) データに関する複数の異なる変換プロセスを
実行できる少なくとも1つの装置を制御し、そして前記
セットアップコマンド情報は、前記データストリームに
対して実行される前記プロセスとして前記複数の変換プ
ロセスのうちから選択されたプロセスを定義する情報を
含む、上記(11)に記載のアダプタ。 (19) プロセッササブシステムと、メモリサブシス
テムと、複数の装置アダプタと、前記アダプタにより制
御される複数の装置と、前記サブシステム、前記アダプ
タ及び前記装置をリンクするI/O チャネルとを備えるコ
ンピュータシステムであって、前記チャネルは、前記ア
ダプタがいずれのサブシステムの関与もなしに直接制御
情報を交換することを可能にする対等通信特性を備え、
前記プロセッササブシステムは、全てのデータの処理が
終了するまで前記プロセッササブシステムの割込みなし
に任意の長さのデータストリーム内のデータを自律的に
処理するように、前記アダプタのうちの少なくとも2つ
のアダプタ及び前記少なくとも2つのアダプタによりそ
れぞれ制御される装置を同時に準備させる手段を備え、
前記手段は:前記少なくとも2つのアダプタにより制御
される装置の間で前記データストリーム内のデータを送
るために前記アダプタにより協働して管理される前記メ
モリサブシステム内のバッファ記憶空間と; 前記少なく
とも2つのアダプタにより制御される装置により前記デ
ータストリーム内のデータに対して実行されるプロセス
と; 前記データストリーム内の全てのデータを同時に記
憶するには不十分な記憶容量を有する前記バッファ記憶
空間が前記少なくとも2つのアダプタにより制御される
装置により読取り且つ処理できるデータを包含する時期
を示すために前記少なくとも2つのアダプタにより維持
される通信プロトコルとを定義する情報を前記少なくと
も2つのアダプタに供給する手段と; 前記少なくとも2
つのアダプタから、前記データストリーム内のデータの
処理を制御するために前記少なくとも2つのアダプタが
それぞれ準備されたことを示す表示を受取る手段と; 前
記データストリームの処理の制御を開始することを前記
少なくとも2つのアダプタに通知する手段とを含み、前
記少なくとも2つのアダプタは前記信号に応答して前記
データストリーム内のデータを処理するそれぞれの装置
の制御を開始する手段を備え、前記アダプタは、前記デ
ータストリーム内の全てのデータの処理が終了するま
で、前記プロセッササブシステムに割込まずに、前記通
信プロトコルにより協働して自律的に前記バッファ記憶
空間のアクセスを管理し且つ前記データストリーム内の
データの処理を制御するコンピュータシステム。 (20) プロセッサ及びメモリサブシステムと、前記
サブシステムにリンクされ且つ対等通信特性を有するチ
ャネルと、前記チャネルを介して前記サブシステムにリ
ンクされ、前記対等通信特性により互いに直接相互通信
できる複数の装置制御ユニット及びデータ処理装置を備
えるコンピュータシステムであって、複数の前記装置に
より順次に処理される任意の長さのデータストリームを
表わすデータのソースと; 少なくとも2つの前記制御ユ
ニットを、前記少なくとも2つの制御ユニットによりそ
れぞれ制御される装置による前記データストリームの処
理を制御するために準備する前記プロセッササブシステ
ム内の手段であって、前記準備は、前記少なくとも2つ
の制御ユニットにより制御される対の装置により共有さ
れる、前記メモリサブシステム内の変更可能なサイズ及
びロケーションのデータバッファを定義する情報を、前
記制御ユニットに供給することを含み、前記バッファは
各対の1つの装置によりデータを満たされ且つそれぞれ
の対の他の装置により空にされ、前記対の装置により共
有された前記バッファはどれも全データストリームを一
度に記憶するには不十分な容量を有し、更に前記準備は
それぞれの装置による前記データストリームの処理を制
御するようにそれぞれの制御ユニットが準備される時期
を前記少なくとも2つの制御ユニットにより前記プロセ
ッササブシステムに示し、そして前記少なくとも2つの
制御ユニットの全てがそれらの準備を示したとき前記プ
ロセッササブシステムから前記少なくとも2つの制御ユ
ニットの少なくとも1つに開始信号を出すことを含む手
段と;前記少なくとも2つの制御ユニットに設けられ、
前記準備中に受取った前記開始信号及び情報に応答し
て、前記プロセッササブシステムの割込みなしに前記デ
ータストリーム内の全てのデータを順次に処理するよう
にそれぞれの装置を制御する手段とを含み、前記少なく
とも2つの制御ユニットは、関連する装置の間のデータ
転送を対で制御するために協働し、前記制御する手段
は、それぞれの対のユニットにより制御される対の装置
が共有するバッファが、同じ対の他の装置による処理に
使用できる対のうちの1つの装置により書込まれたデー
タを包含する時期を示す手段を備える、コンピュータシ
ステム。 (21) プロセッサ及びメモリサブシステムと; 少な
くとも2つの制御ユニットと; 前記少なくとも2つの制
御ユニットによりそれぞれ制御される少なくとも2つの
データ処理装置と; 前記制御ユニット及び装置を前記プ
ロセッサ及びメモリサブシステムにリンクさせ、前記プ
ロセッササブシステムの関与なしに前記少なくとも2つ
の制御ユニットが互いに直接相互通信することを可能に
する対等通信特性を有するチャネルとを備え、前記プロ
セッササブシステムは、前記少なくとも2つの制御ユニ
ットにより自律的に制御されるデータストリーミング動
作をセットアップし且つ開始し、任意の長さのデータス
トリームを前記少なくとも2つの装置により連続して処
理し、前記データを前記プロセッササブシステムにより
割振られた共有メモリバッファを介して連続的に前記装
置に引渡し、そして前記装置の各々が前記プロセッササ
ブシステムにより選択的に指定されたデータ変換機能を
実行する手段を備え、前記少なくとも2つの制御ユニッ
トの各々は、前記手段により条件付けられ、動作が終了
するまで前記プロセッササブシステムの割込みなしに且
つ外部の状態及び事象からそれぞれの装置を有効に分離
するように、前記少なくとも2つの装置のそれぞれの装
置による自律的なデータストリーミング動作を指示する
手段を備え、前記指示する手段は、前記データストリー
ム内のデータをそれぞれの装置に供給し且つ前記データ
ストリーム内の変換されたデータをそれぞれの装置から
運び去るために前記プロセッササブシステムにより割振
られた前記共有メモリバッファの反復使用を管理する手
段を備え、前記反復使用は、前記チャネルを介して前記
制御ユニットの間で転送される通知情報により、そして
前記通知情報の結果として起きるバッファ再使用事象か
らそれぞれの装置を分離するように、他の前記少なくと
も2つの制御ユニットと協働して管理されるデータ処理
システム。
【0125】
【発明の効果】本発明によれば、プロセッサ割込み処理
に関連した待ち時間が最新のシステムよりも少なく、従
って装置間で用いるメモリバッファを小さくしうる機構
を提供することができる。
【図面の簡単な説明】
【図1】大量のデータを処理する際に中央プロセッサ及
び周辺装置により実行される機能に関する従来の技術の
実施の説明に用いられるコンピュータシステムの概要ブ
ロック図である。
【図2】図1に示された中央プロセッサ及び周辺装置に
より実行される動作のシーケンスの説明に用いられる概
要タイミング図である。
【図3】図1の共有メモリデータバッファB1-2が複数の
区画即ちセクションを持ちうることを示す図である。
【図4】図1の概要ブロック図に形式が似ているが、本
発明によるデータストリーミング動作の処理の際の中央
プロセッサ及び周辺装置の信号機能を示す概要ブロック
図である。
【図5】本発明によるデータストリーミング動作を実行
する際にプロセッサ及び周辺装置が実行する動作のシー
ケンスの説明に用いられるタイミング図である。
【図6】中央プロセッササブシステム内のエミュレート
された、代理 (又は仮想) 制御ユニットを用いて、本発
明に従って制御情報を解釈するように構成されていない
制御ユニット (例えば、既存の制御ユニット) とインタ
フェースさせ、前記構成されていない制御ユニットと協
働して動作する前記代替ユニットが (ストリーミング動
作に必要な他の制御ユニットに関して) 適切に構成され
た制御ユニットとして動作するように見えることを示す
概要ブロック図である。
【図7】代替制御及び選択されたストリーム処理機能が
プロセッササブシステムで実行されるように、中央プロ
セッササブシステムでエミュレートされた仮想装置へ周
辺装置からストリーム処理機能が機能的に移動すること
を示す概要ブロック図である。このタイプの構成はそれ
らのシステムの外部の装置から得られるものよりも潜在
的に安い費用の (しかし速度が遅い) コンピュータシス
テムのユーザにストリーム処理機能を提供し、又は独立
型の装置では実現されないストリーム処理機能を提供す
るのに役立つ。
【図8】装置から見た制御情報移動及びストリームデー
タ移動の全体像の概要を示し、そして単一の装置が複数
のデータストリームの処理を同時にサポートできること
も示す図である。この図は適切な状況の下で単一のデー
タストリームを複数のストリームに分割し又は複数のス
トリームを合併して単一のストリームにすることができ
る方法の説明にも用いられる。
【図9】ストリーム処理ユニットの通信対の間で共有さ
れる複数のデータバッファを1つのFIFO (先入れ先出
し) バッファで置き換えることができる方法の説明に用
いられる図である。
【図10】直接通信するストリーム処理装置をそれらの
間で引渡されるストリームデータの記憶を管理する専用
バッファ方式の使用に適応させ、前記装置及びそれらの
共有バッファが物理的に1つのユニット内に存在すると
き特に有効になりうる方法の説明に用いられる図であ
る。
【図11】本発明によるストリーム処理に関連した全て
の可能な入力及び出力を示す図である。
【図12】本発明により供給される制御情報のエレメン
トであるオープンストリーム要求ブロックのフォーマッ
トを示す図である。
【図13】オープンストリーム要求エレメントに含まれ
たオープンストリームパラメータフィールドの詳細を示
す図である。
【図14】バッファグループ記述子サブフィールドを示
す図である。
【図15】バッファ記述子サブフィールドを示す図であ
る。
【図16】バッファ通知記述子サブフィールドを示す図
である。
【図17】入力信号コード記述子サブフィールドを示す
図である。
【図18】同期記述子サブフィールドを示す図である。
【図19】変換記述子サブフィールドを示す図である。
【図20】本発明により供給された制御情報の一部であ
るバッファ制御要求エレメントのフォーマットを示す図
である。
【図21】バッファ制御要求エレメントに含まれたバッ
ファ制御パラメータフィールドのフォーマットを示す図
である。
【図22】本発明の制御情報の一部であるバッファ同期
制御要求エレメントのフォーマットを示す図である。
【図23】図22の制御エレメントに含まれる同期制御
パラメータを示す図である。
【図24】本発明によるストリーム制御要求エレメント
のフォーマットを示す図である。
【図25】図24の要求エレメントに含まれたストリー
ム制御パラメータフィールドの詳細を示す図である。
【図26】本発明によるデータストリーミングに適合し
た制御ユニットの動作及び論理構成を示す流れ図であ
る。
【図27】本発明によるデータストリーミングに適合し
た制御ユニットの動作及び論理構成を示す流れ図であ
る。
【図28】本発明によるデータストリーミングに適合し
た制御ユニットの動作及び論理構成を示す流れ図であ
る。
【図29】図26、27及び28の流れ図に従って動作
する制御ユニットの論理的な構成要素を示す概要ブロッ
ク図である。
【符号の説明】 1 プロセッサ/メモリサブシステム(PSS) 2 装置マネジャサブシステム 3 ストリームマネジャサブシステム 4 オペレーティングシステム 5 装置ドライバ 6 装置ドライバ 7 ルータ 8 ルータ 10 入出力チャネル 13 制御ユニット(CU1) 13a ルータ 14 制御ユニット(CU2) 14a ルータ 15 装置 16 装置 17 データバッファ(B1-2) 56 信号経路 57 信号経路
フロントページの続き (72)発明者 ラルフ・エム・パイピトン アメリカ合衆国フロリダ州、ボイントン・ ビーチ、ダイアン・ドライブ 3412

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】プロセッササブシステムと、メモリサブシ
    ステムと、周辺装置と、前記プロセッササブシステムか
    ら受取ったコマンドに応答して前記周辺装置を制御する
    装置制御ユニットと、前記装置制御ユニットを前記プロ
    セッサ及びメモリサブシステムにリンクするチャネルと
    を備え、前記チャネルは、前記プロセッササブシステム
    の介入なしに且つ前記制御ユニット間で転送される情報
    を前記メモリサブシステム内の中間バッファに記憶せず
    に、前記制御ユニットが互いに直接通信できる対等通信
    特性を有するコンピュータシステムにおいて、前記制御
    ユニットの1つにより制御される装置が、第1及び第2
    の他の装置をそれぞれ制御する第1及び第2の他の制御
    ユニットと協働して、任意の長さのデータストリームを
    処理することを前記1つの制御ユニットに指示させるた
    めのシステムであって、 前記1つの制御ユニットに設けられ、(1) 前記メモリサ
    ブシステム内にあって、前記1つの制御ユニットが前記
    第1及び第2の他の制御ユニットとそれぞれ協働して管
    理する入力及び出力バッファ記憶空間と; (2) 前記入力
    及び出力バッファ記憶空間の使用を管理するために、前
    記1つの制御ユニットならびに前記第1及び第2の他の
    制御ユニットの間で前記チャネルの前記対等通信特性に
    より直接転送され、前記制御ユニットにより用いられる
    信号を定義する通知プロトコルと; (3) 前記入力バッフ
    ァ記憶空間内の前記任意の長さのデータストリームに対
    し、前記1つの制御ユニットが制御する装置により実行
    されるプロセスとを定義するセットアップコマンド情報
    を受取る手段であって、前記データは前記第1の他の装
    置により前記入力バッファ記憶空間に書込まれ、前記プ
    ロセスは前記第2の他の装置で更に処理するために前記
    出力バッファ記憶空間に書込まれる結果データを生成し
    且つ前記プロセスは前記プロセッササブシステムの割込
    みなしに実行を終了し、前記入力及び出力バッファ記憶
    空間の各々は前記データストリームに含まれ得る全ての
    データを同時に記憶するには不十分な記憶容量を有する
    ことを特徴とする手段と、 前記1つの制御ユニットに設けられ、前記セットアップ
    コマンド情報に応答して、前記1つの制御ユニット及び
    前記1つの制御ユニットにより制御される装置が(1) 前
    記入力バッファ記憶空間を介して送られる前記データス
    トリームに対して前記コマンド情報により定義された前
    記プロセスを実行し; (2) 前記プロセスの実行から生成
    されるデータを前記出力バッファ記憶空間を介して前記
    第2の他の装置に送り; そして(3) 前記通知プロトコル
    及び前記チャネルの前記対等通信特性により、前記第1
    及び第2の他の制御ユニットとそれぞれ協働して前記入
    力及び出力バッファ記憶空間の使用を管理するように準
    備する手段と、 前記1つの制御ユニットに設けられ、前記プロセッササ
    ブシステムからの開始信号と、前記準備する手段により
    設定された状態とに応答して、(1) 前記入力バッファ記
    憶空間を介して送られる前記データストリームのデータ
    に対して前記プロセスを実行し; (2) 前記プロセスの実
    行の結果データを前記出力バッファ記憶空間を介して前
    記第2の他の装置に送り; (3) 前記入力バッファ記憶空
    間を介した前記データストリームの転送、及び前記出力
    バッファ記憶空間を介した前記結果データの転送を、前
    記通知プロトコル及び前記チャネルの前記対等通信特性
    を用いて前記1つの制御ユニット、並びに前記第1及び
    第2の他の制御ユニットが協働して管理し; そして(4)
    前記プロセッササブシステムの介入なしに、データスト
    リーム内の全てのデータの処理及び転送が終了するま
    で、前記動作の全てを実行するストリーミング動作を指
    示する手段とを備えるデータストリーミングシステム。
  2. 【請求項2】前記セットアップコマンド情報は複数の種
    々のサイズの形式の要求を含み、各要求は少なくとも1
    つの記述子を含むパラメータフィールドを含み、各記述
    子は前記ストリーミング動作に不可欠の機能を定義す
    る、請求項1に記載のシステム。
  3. 【請求項3】前記記述子は前記メモリサブシステム内の
    前記入力及び出力バッファ記憶空間の大きさを定義する
    情報を含む、請求項2に記載のシステム。
  4. 【請求項4】前記記述子は、前記入力バッファ記憶空間
    を構成し且つ大きさが可変の少なくとも2つの記憶サブ
    空間を含む入力バッファグループを定義する情報、該サ
    ブ空間の各々の大きさを定義する情報、及び前記1つの
    制御ユニットにより制御される装置が前記サブ空間の1
    つからのデータを読取っている間に、前記第1の他の装
    置が前記サブ空間の他の1つにデータを書込めるよう
    に、前記サブ空間の同時アクセスを可能にする情報を含
    む、請求項3に記載のシステム。
  5. 【請求項5】前記記述子は、前記出力バッファ記憶空間
    を構成し、且つ少なくとも2つの記憶サブ空間を含む出
    力バッファグループを定義する情報、前記出力バッファ
    グループ内の個々の記憶サブ空間の大きさを定義する情
    報、及び前記1つの制御ユニットが制御する装置により
    生成されたデータが前記サブ空間の1つに書込まれてい
    る間に、前記第2の他の装置が前記サブ空間の他の1つ
    にあるデータを読取って処理できるように、前記第2の
    他の制御ユニットと対等に前記出力バッファグループに
    対するアクセスを管理するよう前記1つの制御ユニット
    を構成する情報を含む、請求項3に記載のシステム。
  6. 【請求項6】前記記述子は、前記チャネルの前記対等通
    信特性により実行される、前記1つの制御ユニット及び
    前記第1の他の制御ユニットの間の通信プロトコルを定
    義する情報を含み、前記データストリーム内のデータが
    前記入力バッファグループを介して効率的に移動される
    ことを保証するように、前記プロトコルは前記1つの制
    御ユニット及び前記第1の他の制御ユニットが、前記1
    つの制御ユニットにより制御される装置及び前記第1の
    他の装置による、前記入力バッファグループ内の前記サ
    ブ空間に対する時間的にインターリーブされたアクセス
    を制御することを可能にする、請求項4に記載のシステ
    ム。
  7. 【請求項7】前記通知プロトコルは、前記結果データが
    前記出力バッファグループを介して効率的に転送される
    ことを保証するように、前記1つの制御ユニット及び前
    記第2の他の制御ユニットが、、前記1つの制御ユニッ
    トにより制御される装置及び前記第2の他の制御ユニッ
    トにより制御される装置による、前記出力バッファグル
    ープ内の前記サブ空間に対するアクセスを共同で管理す
    る形式である、請求項5に記載のシステム。
  8. 【請求項8】前記1つの制御ユニットに設けられ、前記
    準備する手段がその動作を終了したとき、前記プロセッ
    ササブシステムに信号を供給する手段を含み、該信号
    は、前記1つの制御ユニットが前記ストリーミング動作
    について準備されるか、又は前記1つの制御ユニットが
    誤りのために前記ストリーミング動作について準備でき
    ないことを示すものであって、前記プロセッササブシス
    テムによる前記開始信号よりも先に出され、そして前記
    開始信号の発生に先立つ条件として前記プロセッササブ
    システムで用いられる、請求項1に記載のシステム。
  9. 【請求項9】前記セットアップコマンド情報は、前記1
    つの制御ユニットが前記ストリーミング動作と前記1つ
    の制御ユニットの外部で起きる別のストリーミング動作
    とを同期できるようにする同期情報を含む、請求項1に
    記載のシステム。
  10. 【請求項10】前記入力バッファ記憶空間はFIFO (先入
    れ先出し) バッファ装置として用いるように構成され、
    前記第1の他の装置からデータのブロックを順次に受取
    り、そしてそれぞれのブロックを受取ったシーケンスで
    前記1つの制御ユニットにより制御される装置に前記デ
    ータのブロックをアクセスさせる、請求項3に記載のシ
    ステム。
  11. 【請求項11】任意の長さのデータストリームの処理を
    必要とする動作を実行する装置を制御するストリーミン
    グ装置アダプタであって、 直接通信を可能にする対等通信特性を有するチャネルを
    介して他の装置アダプタとの直接通信を可能にする手段
    と、 (1) 選択された大きさを有する出力バッファ記憶と;
    (2) 当該アダプタにより制御される装置に順次に供給さ
    れる、任意の長さのデータストリームを構成するデータ
    のソースと; (3) 前記データストリーム内の全てのデー
    タに対して、当該アダプタにより制御される装置が実行
    するプロセスであって、該プロセスからの結果データ
    が、別のアダプタにより制御される別の装置によるプロ
    セス実行のために、前記出力バッファに書込まれるプロ
    セスからと;(4) 前記装置及び前記別の装置による前記
    出力バッファの使用を調整するために、前記データスト
    リームに対する前記プロセスの実行中に、当該アダプタ
    及び前記別のアダプタの間で行われる通信のプロトコル
    とを定義するセットアップコマンド情報をホストシステ
    ムから受取る手段と、 前記受取る手段が前記セットアップコマンド情報を受取
    ったのち前記ホストシステムが出した開始信号、及び前
    記セットアップコマンド情報に応答して、当該アダプタ
    により制御される装置に前記プロセスを実行するように
    指示し、そして前記データストリームの離散した部分を
    表わすデータが前記出力バッファ記憶で使用できるとき
    に前記プロトコルを用いて前記別のアダプタに通知する
    手段であって、前記データストリーム内の全てのデータ
    の処理が終了するまで、前記ホストシステムの介入なし
    に、前記プロセスを連続して実行させる手段と、 を備えるアダプタ。
  12. 【請求項12】前記チャネルを介して前記ホストシステ
    ムに接続される、請求項11に記載のアダプタ。
  13. 【請求項13】前記ホストシステムにより実行されるプ
    ログラムに含まれる代理ユニットで実現された、請求項
    11に記載の装置アダプタ。
  14. 【請求項14】前記出力バッファ記憶は少なくとも2つ
    のセクションを備え、各セクションは所定の長さのデー
    タブロックを記憶することができ、そして前記通信プロ
    トコルは当該アダプタにより制御される装置及び前記別
    の装置が異なったセクションをそれぞれ同時にアクセス
    することを可能にする、請求項11に記載のアダプタ。
  15. 【請求項15】前記出力バッファ記憶は、当該アダプタ
    により制御される装置が前記チャネルを介してアクセス
    できる、前記ホストシステムのメモリサブシステムに含
    まれ、 前記セットアップコマンド情報は前記出力バッファ記憶
    内の前記セクションの数及び各セクションの大きさを定
    義する情報を含み、 前記通信プロトコルを定義する前記セットアップコマン
    ド情報は、当該アダプタから前記別のアダプタへの通信
    の開始に先行する条件として前記セクションで起きる事
    象を定義し、且つ前記通信に含まれる信号の形式を定義
    する情報を含む、 請求項11に記載のアダプタ。
  16. 【請求項16】前記ホストシステムは、当該アダプタ及
    び他のアダプタにより制御される装置による複数の異な
    るデータストリームの同時処理を開始することができ、
    そして前記アダプタに供給されるセットアップコマンド
    情報は、前記アダプタにより制御される装置での1つの
    データストリームの処理と、異なる装置での異なるデー
    タストリームの処理を同期させる情報を含む、請求項1
    1に記載のアダプタ。
  17. 【請求項17】前記同期させる情報は、前記ホストシス
    テムのメモリ内のタイミング機能のロケーションを定義
    する情報を含み、それにより前記異なるデータストリー
    ムの処理に時間基準を与える、請求項16に記載のアダ
    プタ。
  18. 【請求項18】データに関する複数の異なる変換プロセ
    スを実行できる少なくとも1つの装置を制御し、そして
    前記セットアップコマンド情報は、前記データストリー
    ムに対して実行される前記プロセスとして前記複数の変
    換プロセスのうちから選択されたプロセスを定義する情
    報を含む、請求項11に記載のアダプタ。
  19. 【請求項19】プロセッササブシステムと、 メモリサブシステムと、 複数の装置アダプタと、 前記アダプタにより制御される複数の装置と、 前記サブシステム、前記アダプタ及び前記装置をリンク
    するI/O チャネルとを備えるコンピュータシステムであ
    って、 前記チャネルは、前記アダプタがいずれのサブシステム
    の関与もなしに直接制御情報を交換することを可能にす
    る対等通信特性を備え、 前記プロセッササブシステムは、全てのデータの処理が
    終了するまで前記プロセッササブシステムの割込みなし
    に任意の長さのデータストリーム内のデータを自律的に
    処理するように、前記アダプタのうちの少なくとも2つ
    のアダプタ及び前記少なくとも2つのアダプタによりそ
    れぞれ制御される装置を同時に準備させる手段を備え、 前記手段は:前記少なくとも2つのアダプタにより制御
    される装置の間で前記データストリーム内のデータを送
    るために前記アダプタにより協働して管理される前記メ
    モリサブシステム内のバッファ記憶空間と; 前記少なく
    とも2つのアダプタにより制御される装置により前記デ
    ータストリーム内のデータに対して実行されるプロセス
    と; 前記データストリーム内の全てのデータを同時に記
    憶するには不十分な記憶容量を有する前記バッファ記憶
    空間が前記少なくとも2つのアダプタにより制御される
    装置により読取り且つ処理できるデータを包含する時期
    を示すために前記少なくとも2つのアダプタにより維持
    される通信プロトコルとを定義する情報を前記少なくと
    も2つのアダプタに供給する手段と;前記少なくとも2
    つのアダプタから、前記データストリーム内のデータの
    処理を制御するために前記少なくとも2つのアダプタが
    それぞれ準備されたことを示す表示を受取る手段と;前
    記データストリームの処理の制御を開始することを前記
    少なくとも2つのアダプタに通知する手段とを含み、 前記少なくとも2つのアダプタは前記信号に応答して前
    記データストリーム内のデータを処理するそれぞれの装
    置の制御を開始する手段を備え、前記アダプタは、前記
    データストリーム内の全てのデータの処理が終了するま
    で、前記プロセッササブシステムに割込まずに、前記通
    信プロトコルにより協働して自律的に前記バッファ記憶
    空間のアクセスを管理し且つ前記データストリーム内の
    データの処理を制御するコンピュータシステム。
  20. 【請求項20】プロセッサ及びメモリサブシステムと、
    前記サブシステムにリンクされ且つ対等通信特性を有す
    るチャネルと、前記チャネルを介して前記サブシステム
    にリンクされ、前記対等通信特性により互いに直接相互
    通信できる複数の装置制御ユニット及びデータ処理装置
    を備えるコンピュータシステムであって、 複数の前記装置により順次に処理される任意の長さのデ
    ータストリームを表わすデータのソースと;少なくとも
    2つの前記制御ユニットを、前記少なくとも2つの制御
    ユニットによりそれぞれ制御される装置による前記デー
    タストリームの処理を制御するために準備する前記プロ
    セッササブシステム内の手段であって、前記準備は、前
    記少なくとも2つの制御ユニットにより制御される対の
    装置により共有される、前記メモリサブシステム内の変
    更可能なサイズ及びロケーションのデータバッファを定
    義する情報を、前記制御ユニットに供給することを含
    み、前記バッファは各対の1つの装置によりデータを満
    たされ且つそれぞれの対の他の装置により空にされ、前
    記対の装置により共有された前記バッファはどれも全デ
    ータストリームを一度に記憶するには不十分な容量を有
    し、更に前記準備はそれぞれの装置による前記データス
    トリームの処理を制御するようにそれぞれの制御ユニッ
    トが準備される時期を前記少なくとも2つの制御ユニッ
    トにより前記プロセッササブシステムに示し、そして前
    記少なくとも2つの制御ユニットの全てがそれらの準備
    を示したとき前記プロセッササブシステムから前記少な
    くとも2つの制御ユニットの少なくとも1つに開始信号
    を出すことを含む手段と;前記少なくとも2つの制御ユ
    ニットに設けられ、前記準備中に受取った前記開始信号
    及び情報に応答して、前記プロセッササブシステムの割
    込みなしに前記データストリーム内の全てのデータを順
    次に処理するようにそれぞれの装置を制御する手段とを
    含み、 前記少なくとも2つの制御ユニットは、関連する装置の
    間のデータ転送を対で制御するために協働し、前記制御
    する手段は、それぞれの対のユニットにより制御される
    対の装置が共有するバッファが、同じ対の他の装置によ
    る処理に使用できる対のうちの1つの装置により書込ま
    れたデータを包含する時期を示す手段を備える、 コンピュータシステム。
  21. 【請求項21】プロセッサ及びメモリサブシステムと;
    少なくとも2つの制御ユニットと;前記少なくとも2つ
    の制御ユニットによりそれぞれ制御される少なくとも2
    つのデータ処理装置と;前記制御ユニット及び装置を前
    記プロセッサ及びメモリサブシステムにリンクさせ、前
    記プロセッササブシステムの関与なしに前記少なくとも
    2つの制御ユニットが互いに直接相互通信することを可
    能にする対等通信特性を有するチャネルとを備え、 前記プロセッササブシステムは、前記少なくとも2つの
    制御ユニットにより自律的に制御されるデータストリー
    ミング動作をセットアップし且つ開始し、任意の長さの
    データストリームを前記少なくとも2つの装置により連
    続して処理し、前記データを前記プロセッササブシステ
    ムにより割振られた共有メモリバッファを介して連続的
    に前記装置に引渡し、そして前記装置の各々が前記プロ
    セッササブシステムにより選択的に指定されたデータ変
    換機能を実行する手段を備え、 前記少なくとも2つの制御ユニットの各々は、前記手段
    により条件付けられ、動作が終了するまで前記プロセッ
    ササブシステムの割込みなしに且つ外部の状態及び事象
    からそれぞれの装置を有効に分離するように、前記少な
    くとも2つの装置のそれぞれの装置による自律的なデー
    タストリーミング動作を指示する手段を備え、前記指示
    する手段は、前記データストリーム内のデータをそれぞ
    れの装置に供給し且つ前記データストリーム内の変換さ
    れたデータをそれぞれの装置から運び去るために前記プ
    ロセッササブシステムにより割振られた前記共有メモリ
    バッファの反復使用を管理する手段を備え、前記反復使
    用は、前記チャネルを介して前記制御ユニットの間で転
    送される通知情報により、そして前記通知情報の結果と
    して起きるバッファ再使用事象からそれぞれの装置を分
    離するように、他の前記少なくとも2つの制御ユニット
    と協働して管理されるデータ処理システム。
JP18965095A 1994-07-29 1995-07-26 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム Expired - Fee Related JP3251815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/282,993 US5568614A (en) 1994-07-29 1994-07-29 Data streaming between peer subsystems of a computer system
US282993 1994-07-29

Publications (2)

Publication Number Publication Date
JPH0855075A true JPH0855075A (ja) 1996-02-27
JP3251815B2 JP3251815B2 (ja) 2002-01-28

Family

ID=23084023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18965095A Expired - Fee Related JP3251815B2 (ja) 1994-07-29 1995-07-26 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム

Country Status (5)

Country Link
US (1) US5568614A (ja)
EP (1) EP0694847A3 (ja)
JP (1) JP3251815B2 (ja)
KR (1) KR0163234B1 (ja)
CA (1) CA2152984A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513611A (ja) * 2001-12-14 2005-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム
JP2005513610A (ja) * 2001-12-14 2005-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数のプロセッサを有するデータ処理システムおよび複数のプロセッサを有するデータ処理システムにおける通信手段
JP2018526735A (ja) * 2015-09-08 2018-09-13 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー クラウドコンソールサーバのための動的ネットワークストレージ

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349976B1 (en) * 1994-11-30 2008-03-25 Realnetworks, Inc. Audio-on-demand communication system
US5793980A (en) 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US6311265B1 (en) 1996-03-25 2001-10-30 Torrent Systems, Inc. Apparatuses and methods for programming parallel computers
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5848367A (en) * 1996-09-13 1998-12-08 Sony Corporation System and method for sharing a non-volatile memory element as a boot device
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US6020900A (en) * 1997-04-14 2000-02-01 International Business Machines Corporation Video capture method
US6088716A (en) * 1997-04-28 2000-07-11 Ab Initio Software Corporation Method for preventing buffer deadlock in dataflow computations
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
WO1999023761A1 (en) * 1997-11-03 1999-05-14 Harris Corporation A field programmable radio frequency communications equipment including a configurable if circuit and method therefor
US6430652B1 (en) 1997-12-30 2002-08-06 Lsi Logic Corporation Method and apparatus for streaming data in a data processing system
US6298409B1 (en) * 1998-03-26 2001-10-02 Micron Technology, Inc. System for data and interrupt posting for computer devices
US20030120775A1 (en) * 1998-06-15 2003-06-26 Compaq Computer Corporation Method and apparatus for sending address in the message for an e-mail notification action to facilitate remote management of network devices
US6219730B1 (en) * 1998-06-20 2001-04-17 Nghi Nho Nguyen Method and apparatus for producing a combined data stream and recovering therefrom the respective user input stream and at least one additional input signal
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US6132520A (en) 1998-07-30 2000-10-17 Howmet Research Corporation Removal of thermal barrier coatings
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6651074B1 (en) * 1999-12-20 2003-11-18 Emc Corporation Method and apparatus for storage and retrieval of very large databases using a direct pipe
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
ES2312475T3 (es) 2000-10-11 2009-03-01 United Video Properties, Inc. Sistemas y metodos para proporcionar el almacenamiento de datos en servidores de un sistema de entrega de medios bajo demanda.
US20020073238A1 (en) * 2000-11-28 2002-06-13 Eli Doron System and method for media stream adaptation
US6622222B2 (en) * 2001-04-26 2003-09-16 International Business Machines Corporation Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations
KR100593320B1 (ko) * 2001-06-19 2006-06-26 박장현 스트리밍 버퍼를 이용한 인터넷 원격조작 시스템
KR20030018141A (ko) * 2001-08-27 2003-03-06 주식회사 엘지이아이 스트림 데이터 처리시스템 및 그 방법
AU2003211057A1 (en) * 2002-02-15 2003-09-09 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US7154886B2 (en) 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
KR101143282B1 (ko) 2002-10-05 2012-05-08 디지털 파운튼, 인크. 연쇄 반응 코드의 체계적 인코딩 및 디코딩
CA2503613C (en) * 2002-10-31 2011-10-18 Lockheed Martin Corporation Pipeline accelerator having multiple pipeline units and related computing machine and method
US7418574B2 (en) 2002-10-31 2008-08-26 Lockheed Martin Corporation Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction
US7319669B1 (en) 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
JP2004180092A (ja) * 2002-11-28 2004-06-24 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US6961784B1 (en) * 2003-04-17 2005-11-01 Qlogic Corporation Method and system for processing non-data frames in host bus adapters
US7463646B2 (en) 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7471635B2 (en) 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7152132B2 (en) * 2003-07-16 2006-12-19 Qlogic Corporation Method and apparatus for improving buffer utilization in communication networks
US7453802B2 (en) 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7388843B2 (en) 2003-07-16 2008-06-17 Qlogic, Corporation Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7522522B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7630384B2 (en) 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7234101B1 (en) 2003-08-27 2007-06-19 Qlogic, Corporation Method and system for providing data integrity in storage systems
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US7219263B1 (en) 2003-10-29 2007-05-15 Qlogic, Corporation Method and system for minimizing memory corruption
GB2410578B (en) 2004-02-02 2008-04-16 Surfkitchen Inc Routing system
EP1719054B1 (fr) * 2004-02-25 2016-12-07 EVS Toulouse Dispositif a memoire virtuelle partagee auto-administree apte a gerer au moins un flux de donnees multipiste
FR2866729B1 (fr) * 2004-02-25 2006-08-11 Opencube Dispositif a memoire virtuelle partagee auto-administree apte a gerer au moins un flux de donnees multipiste
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
EP1743431A4 (en) 2004-05-07 2007-05-02 Digital Fountain Inc SYSTEM FOR DOWNLOADING AND RECORDING AND CONTINUOUS READING OF FILES
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US7577772B2 (en) * 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US20060064531A1 (en) * 2004-09-23 2006-03-23 Alston Jerald K Method and system for optimizing data transfer in networks
US7380030B2 (en) 2004-10-01 2008-05-27 Qlogic, Corp. Method and system for using an in-line credit extender with a host bus adapter
US7676611B2 (en) 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
WO2006039710A2 (en) 2004-10-01 2006-04-13 Lockheed Martin Corporation Computer-based tool and method for designing an electronic circuit and related system and library for same
US7398335B2 (en) * 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
US7164425B2 (en) * 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US8015306B2 (en) * 2005-01-05 2011-09-06 Control4 Corporation Method and apparatus for synchronizing playback of streaming media in multiple output devices
US7392437B2 (en) 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
US7281077B2 (en) * 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US7231480B2 (en) * 2005-04-06 2007-06-12 Qlogic, Corporation Method and system for receiver detection in PCI-Express devices
US7716359B2 (en) * 2005-05-09 2010-05-11 Microsoft Corporation Method and system for providing an interface through which an application can access a media stack
US20070011287A1 (en) * 2005-05-16 2007-01-11 Charbel Khawand Systems and methods for seamless handover in a streaming data application
US20070073965A1 (en) * 2005-09-28 2007-03-29 Rajakarunanayake Yasantha N Direct storage and retrieval of multimedia data using a data storage device
US9681105B2 (en) 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7461195B1 (en) 2006-03-17 2008-12-02 Qlogic, Corporation Method and system for dynamically adjusting data transfer rates in PCI-express devices
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US7876768B2 (en) * 2006-06-30 2011-01-25 Ver Steeg William C Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream
US7895635B2 (en) * 2006-06-30 2011-02-22 Versteeg William C Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream
JP5405716B2 (ja) 2006-09-29 2014-02-05 富士通株式会社 光送信機
JP5055968B2 (ja) 2006-11-14 2012-10-24 富士通株式会社 差動4位相偏移変調器
US7433977B2 (en) * 2006-11-28 2008-10-07 Telefonaktiebolaget Lm Ericsson (Publ) DMAC to handle transfers of unknown lengths
US20080205229A1 (en) * 2007-02-26 2008-08-28 Yung-Chih Li Method of identifying optical disc
JP5211528B2 (ja) 2007-03-29 2013-06-12 富士通株式会社 光変調装置および光変調方式切替方法
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
CA2697764A1 (en) 2007-09-12 2009-03-19 Steve Chen Generating and communicating source identification information to enable reliable communications
US8639830B2 (en) * 2008-07-22 2014-01-28 Control4 Corporation System and method for streaming audio
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
KR101267621B1 (ko) * 2009-11-20 2013-05-23 한국전자통신연구원 다중 스트림으로 구성된 그룹 미디어 전송 응용 서비스를 위한 오버레이 멀티캐스트 시스템 및 방법
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
FR3011704A1 (fr) * 2013-10-07 2015-04-10 Orange Procede de mise en œuvre d'une session de communication entre une pluralite de terminaux
US9747167B2 (en) * 2014-02-27 2017-08-29 Nice Ltd. Persistency free architecture
GB2562520A (en) * 2017-05-17 2018-11-21 John Hamlin Derrick Digital processing connectivity
US11501142B1 (en) * 2019-04-03 2022-11-15 Xilinx, Inc. Tiling control circuit for downloading and processing an input tile based on source and destination buffer availability
US12554562B2 (en) * 2021-07-29 2026-02-17 International Business Machines Corporation Intersystem processing employing buffer summary groups
CN113742753B (zh) * 2021-09-15 2023-09-29 北京宏思电子技术有限责任公司 一种数据流加解密的方法、电子设备及芯片系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
US5263139A (en) * 1992-05-19 1993-11-16 Sun Microsystems, Inc. Multiple bus architecture for flexible communication among processor modules and memory subsystems and specialized subsystems
US5339413A (en) * 1992-08-21 1994-08-16 International Business Machines Corporation Data stream protocol for multimedia data streaming data processing system
US5513368A (en) * 1993-07-16 1996-04-30 International Business Machines Corporation Computer I/O adapters for programmably varying states of peripheral devices without interfering with central processor operations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513611A (ja) * 2001-12-14 2005-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム
JP2005513610A (ja) * 2001-12-14 2005-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数のプロセッサを有するデータ処理システムおよび複数のプロセッサを有するデータ処理システムにおける通信手段
JP2018526735A (ja) * 2015-09-08 2018-09-13 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー クラウドコンソールサーバのための動的ネットワークストレージ
US10744407B2 (en) 2015-09-08 2020-08-18 Sony Interactive Entertainment LLC Dynamic network storage for cloud console server

Also Published As

Publication number Publication date
EP0694847A2 (en) 1996-01-31
KR0163234B1 (ko) 1999-01-15
CA2152984A1 (en) 1996-01-30
EP0694847A3 (en) 1999-08-04
JP3251815B2 (ja) 2002-01-28
US5568614A (en) 1996-10-22

Similar Documents

Publication Publication Date Title
JP3251815B2 (ja) 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム
USRE38134E1 (en) System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally
US6658477B1 (en) Improving the control of streaming data through multiple processing modules
US5337410A (en) Data stream concentrator providing attribute data storage and graphics pipeline access
US5325493A (en) System for distributing command/data packets tagged by their unit identifier for parallel processing by a ready processing unit and recombination
US6188670B1 (en) Method and system in a data processing system for dynamically controlling transmission of data over a network for end-to-end device flow control
JPH08297628A (ja) 同次プログラミング環境において(n)のデータマネージャで(n+1)のI/Oチャネルを制御する方法及び装置
JPH03156562A (ja) バス間アダプタ
CN104216865B (zh) 映射和化简运算加速系统及方法
KR19990082226A (ko) 버스 구조 위에서의 데이터 전달 및 버스 관리를 위한 응용 프로그래밍 인터페이스
JPH0827782B2 (ja) マルチメディア・コンピュータ・システム、該システムの動作を制御する方法及びマルチメディア・コンピュータ・サブシステム
JPH06266649A (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
CN118484136B (zh) 一种分布式存储系统、数据处理方法、设备和介质
JP2845162B2 (ja) データ転送装置
CN118018481A (zh) 数据传输方法、设备及系统
JPH08147234A (ja) ストリーム処理装置及び方法
JP3288213B2 (ja) サーバ
JPH117434A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム
JP3484056B2 (ja) データ転送装置及びデータ転送システム
EP4167099B1 (en) Hardware system for automatic direct memory access data formatting
CN110413562B (zh) 一种具有自适应功能的同步系统和方法
EP1780976A1 (en) Methods and system to offload data processing tasks
US5875299A (en) disk access apparatus for performing a stride processing of data
JP2002176464A (ja) ネットワークインタフェース装置
JP4536266B2 (ja) ストリーミングデータフレームの分割及び混合

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees