JP2543325B2 - 通信システムにおいてデ―タをマルチキャストする方法及び装置 - Google Patents
通信システムにおいてデ―タをマルチキャストする方法及び装置Info
- Publication number
- JP2543325B2 JP2543325B2 JP6019562A JP1956294A JP2543325B2 JP 2543325 B2 JP2543325 B2 JP 2543325B2 JP 6019562 A JP6019562 A JP 6019562A JP 1956294 A JP1956294 A JP 1956294A JP 2543325 B2 JP2543325 B2 JP 2543325B2
- Authority
- JP
- Japan
- Prior art keywords
- control block
- message
- free
- queue
- indirect
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 41
- 238000000034 method Methods 0.000 title claims description 19
- 239000000872 buffer Substances 0.000 claims description 175
- 238000013500 data storage Methods 0.000 claims description 99
- 230000015654 memory Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 15
- 101000581533 Homo sapiens Methylcrotonoyl-CoA carboxylase beta chain, mitochondrial Proteins 0.000 description 10
- 102100027320 Methylcrotonoyl-CoA carboxylase beta chain, mitochondrial Human genes 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- IPQLEWIXZJLSDV-UHFFFAOYSA-N BCCB Chemical compound BCCB IPQLEWIXZJLSDV-UHFFFAOYSA-N 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【産業上の利用分野】本発明は、通信システムにおける
1つの共用メモリに接続された複数のユーザにデータ又
はメッセージをマルチキャスト(multicast)
する方法及び装置に関するものである。
1つの共用メモリに接続された複数のユーザにデータ又
はメッセージをマルチキャスト(multicast)
する方法及び装置に関するものである。
【0002】
【従来の技術】複数のユーザに接続された通信制御装置
では、データ又はメッセージの同報通信は、データ又は
メッセージが転送されるべきユーザの数だけそのデータ
をコピーする必要がある。マルチキャスティングのこの
問題から、2つの大きな欠点が生じる。
では、データ又はメッセージの同報通信は、データ又は
メッセージが転送されるべきユーザの数だけそのデータ
をコピーする必要がある。マルチキャスティングのこの
問題から、2つの大きな欠点が生じる。
【0003】先ず、それ自身のメモリ・スペースが各ユ
ーザに対応しているデータ記憶装置において、種々のユ
ーザに対する各メモリ・スペースに何回もメッセージを
再書込みすることは、書込み遅延のためにその機械の性
能に影響を与える。第2に、種々のユーザのためのメッ
セージをそのデータ記憶装置に記憶することはメモリ・
スペースの無駄使いを意味する。従って、各ユーザのメ
モリ・スペースを再書込み及び再削除するという無駄な
動作の実行を回避することによって、メッセージをマル
チキャストするときの性能を改良できる装置又は方法を
提供することが必要である。
ーザに対応しているデータ記憶装置において、種々のユ
ーザに対する各メモリ・スペースに何回もメッセージを
再書込みすることは、書込み遅延のためにその機械の性
能に影響を与える。第2に、種々のユーザのためのメッ
セージをそのデータ記憶装置に記憶することはメモリ・
スペースの無駄使いを意味する。従って、各ユーザのメ
モリ・スペースを再書込み及び再削除するという無駄な
動作の実行を回避することによって、メッセージをマル
チキャストするときの性能を改良できる装置又は方法を
提供することが必要である。
【0004】通信ネットワークにおいては、ネットワー
ク・ノードに置かれた制御システムが高速度リンクを介
して益々多くのユーザをサービスしなければならない。
高速度アダプタによって高速度通信リンクをサービスす
る能力を持ったシステムがヨーロッパ特許出願A1−2
44544号に開示されている。そのシステムはネット
ワーク制御プログラムを走らせる中央制御装置より成
り、そしてそのネットワーク制御プログラムは中央制御
装置のメモリのバッファをユーザ・リンクに割り当て
る。高速度アダプタは、受信したフレームのデータ部分
がダイレクト・メモリ・アクセス(DMA)パスを介し
て中央制御装置のメモリに記憶されるようにアセンブル
されるバッファ手段を備えている。そのようなシステム
のパフォーマンスは、メッセージがマイクロコードによ
って管理されなければならないという事実及びメッセー
ジ交換が中央制御装置の介入を必要とするという事実に
よって制限される。
ク・ノードに置かれた制御システムが高速度リンクを介
して益々多くのユーザをサービスしなければならない。
高速度アダプタによって高速度通信リンクをサービスす
る能力を持ったシステムがヨーロッパ特許出願A1−2
44544号に開示されている。そのシステムはネット
ワーク制御プログラムを走らせる中央制御装置より成
り、そしてそのネットワーク制御プログラムは中央制御
装置のメモリのバッファをユーザ・リンクに割り当て
る。高速度アダプタは、受信したフレームのデータ部分
がダイレクト・メモリ・アクセス(DMA)パスを介し
て中央制御装置のメモリに記憶されるようにアセンブル
されるバッファ手段を備えている。そのようなシステム
のパフォーマンスは、メッセージがマイクロコードによ
って管理されなければならないという事実及びメッセー
ジ交換が中央制御装置の介入を必要とするという事実に
よって制限される。
【0005】ソース・ユーザと宛先ユーザとの間で1つ
の共用メモリを介してメッセージを転送するための機構
が特開平2−158858号公報にも開示されている。
その発明は通信ネットワーク・ノードに設けられる機構
を提供するものであり、同じ共用メモリに接続されたア
ダプタ相互間でメッセージを交換することを可能にす
る。そして、その交換は高価な中央制御装置の如何なる
介入も必要とせず、それは交換機構における大きな改良
である。たとえそれを実施することがオーバーランの危
険なく短いメッセージを交換させ得るものであるとして
も、メガビット/秒で表わされたライン・インターフェ
ース・モジュールのスループットは、パケット・サイズ
が減少する場合には、受け入れることができないもので
ある。この欠点は、更に効率的な方法で共用メモリをア
クセス可能にする改良されたライン・インターフェース
を創出することによって回避可能である。
の共用メモリを介してメッセージを転送するための機構
が特開平2−158858号公報にも開示されている。
その発明は通信ネットワーク・ノードに設けられる機構
を提供するものであり、同じ共用メモリに接続されたア
ダプタ相互間でメッセージを交換することを可能にす
る。そして、その交換は高価な中央制御装置の如何なる
介入も必要とせず、それは交換機構における大きな改良
である。たとえそれを実施することがオーバーランの危
険なく短いメッセージを交換させ得るものであるとして
も、メガビット/秒で表わされたライン・インターフェ
ース・モジュールのスループットは、パケット・サイズ
が減少する場合には、受け入れることができないもので
ある。この欠点は、更に効率的な方法で共用メモリをア
クセス可能にする改良されたライン・インターフェース
を創出することによって回避可能である。
【0006】図1を参照すると、上記従来技術における
ライン・インターフェース・モジュール(LIM)は、
データ・リポジトリを与える共用メモリのデータ記憶装
置(100)及びそれのユーザへのメッセージ転送機構
に基づいている。そのデータ記憶装置は、バッファ付き
パティションの4メガバイトRAM及び線形パティショ
ンのRAMより成る。この共用メモリは、その共用メモ
リにおける記憶を制御し且つデータ記憶(DS)バスに
対するアービタでもあるデータ記憶マネージャDSM
(110)に接続される。DSMは、800Mbps能
力を持った4バイト幅、40nsサイクル・タイムのデ
ータ記憶バス(101)を介して、−マイクロプロセッ
サ専用のローカル記憶装置(120)、−命令及びデー
タを保持するそれ自身のローカル記憶装置を持ち、イン
テル486でよいマイクロプロセッサ(130)、−デ
バイス・コミュニケーション・サーバDCS(14
0)、−特開平2−158858号公報に詳細に開示さ
れたデータ記憶装置インターフェースDSI(15
0)、に接続される。
ライン・インターフェース・モジュール(LIM)は、
データ・リポジトリを与える共用メモリのデータ記憶装
置(100)及びそれのユーザへのメッセージ転送機構
に基づいている。そのデータ記憶装置は、バッファ付き
パティションの4メガバイトRAM及び線形パティショ
ンのRAMより成る。この共用メモリは、その共用メモ
リにおける記憶を制御し且つデータ記憶(DS)バスに
対するアービタでもあるデータ記憶マネージャDSM
(110)に接続される。DSMは、800Mbps能
力を持った4バイト幅、40nsサイクル・タイムのデ
ータ記憶バス(101)を介して、−マイクロプロセッ
サ専用のローカル記憶装置(120)、−命令及びデー
タを保持するそれ自身のローカル記憶装置を持ち、イン
テル486でよいマイクロプロセッサ(130)、−デ
バイス・コミュニケーション・サーバDCS(14
0)、−特開平2−158858号公報に詳細に開示さ
れたデータ記憶装置インターフェースDSI(15
0)、に接続される。
【0007】このデータ記憶装置インターフェースDS
Iは、260Mbpsの速度を与える2バイト幅,60
nsサイクル・タイムの高性能パラレル・バスHPPB
(102)を介して複数のインターフェース・アダプタ
IFA/スキャナ(152)に接続される。第2のデー
タ記憶装置インターフェースDSIは128Mbps全
二重の特殊バスを介して接続サブシステム・スイッチC
SS(154)をインターフェースするために使用され
る。このCSSはいくつものライン・インターフェース
・モジュールLIMを相互接続することを可能にする。
Iは、260Mbpsの速度を与える2バイト幅,60
nsサイクル・タイムの高性能パラレル・バスHPPB
(102)を介して複数のインターフェース・アダプタ
IFA/スキャナ(152)に接続される。第2のデー
タ記憶装置インターフェースDSIは128Mbps全
二重の特殊バスを介して接続サブシステム・スイッチC
SS(154)をインターフェースするために使用され
る。このCSSはいくつものライン・インターフェース
・モジュールLIMを相互接続することを可能にする。
【0008】デバイス・コミュニケーション・サーバD
CSは、図1には示されてないフリー・バッファ・サプ
ライヤ(FBS)及びグローバル・オーダ・マシーン
(GOM)より成り、それらはプリミティブとも呼ばれ
るそれらグローバル・オーダをすべて集中させる。共用
のデータ記憶装置(100)のユーザはそれを介してメ
ッセージを交換する。グローバル・オーダを実行するた
めに、ユーザはデータ記憶バスを介してグローバル・オ
ーダ・マシンGOMを呼び出す。次のような4つのグロ
ーバル・オーダがある。
CSは、図1には示されてないフリー・バッファ・サプ
ライヤ(FBS)及びグローバル・オーダ・マシーン
(GOM)より成り、それらはプリミティブとも呼ばれ
るそれらグローバル・オーダをすべて集中させる。共用
のデータ記憶装置(100)のユーザはそれを介してメ
ッセージを交換する。グローバル・オーダを実行するた
めに、ユーザはデータ記憶バスを介してグローバル・オ
ーダ・マシンGOMを呼び出す。次のような4つのグロ
ーバル・オーダがある。
【0009】a.バッファをリースする:256バイト
のバッファがデータ記憶装置に記憶されたフリー・バッ
ファ待ち行列から除去され、このオペレーションを要求
したユーザに割り当てられる。そこで、このユーザはこ
の新たに獲得したバッファ内にデータを書き込む。この
オペレーションに対しては、1つのバッファしか除去さ
れない。 b.メッセージを待ち行列化する:メッセージを形成す
る連鎖したバッファのセットが、このオペレーションを
要求したユーザに属する待ち行列内に置かれる。そこ
で、そのユーザはその連鎖したバッファのセットをディ
スパッチしてそのメッセージを処理する。 c.メッセージを待ち行列解除する:メッセージを処理
するためにそれの待ち行列の1つからメッセージがユー
ザによって取り除かれる。 d.メッセージをリリースする:連鎖したバッファのセ
ットがフリー・バッファ待ち行列に戻される。
のバッファがデータ記憶装置に記憶されたフリー・バッ
ファ待ち行列から除去され、このオペレーションを要求
したユーザに割り当てられる。そこで、このユーザはこ
の新たに獲得したバッファ内にデータを書き込む。この
オペレーションに対しては、1つのバッファしか除去さ
れない。 b.メッセージを待ち行列化する:メッセージを形成す
る連鎖したバッファのセットが、このオペレーションを
要求したユーザに属する待ち行列内に置かれる。そこ
で、そのユーザはその連鎖したバッファのセットをディ
スパッチしてそのメッセージを処理する。 c.メッセージを待ち行列解除する:メッセージを処理
するためにそれの待ち行列の1つからメッセージがユー
ザによって取り除かれる。 d.メッセージをリリースする:連鎖したバッファのセ
ットがフリー・バッファ待ち行列に戻される。
【0010】この方法では、共用の記憶装置におけるメ
ッセージは、データを動かすことなく、しかし、各バッ
ファ又はメッセージに関連する制御ブロックを操作する
ことによって転送可能である。
ッセージは、データを動かすことなく、しかし、各バッ
ファ又はメッセージに関連する制御ブロックを操作する
ことによって転送可能である。
【0011】このライン・インターフェース・モジュー
ルLIMアーキテクチャは、データ記憶装置におけるメ
ッセージ及び記憶された制御ブロックの編成のために融
通性ある方法でデータを交換するという目的でもって開
発された。データを交換するためのその機構は、ユーザ
がプリミティブを呼び出すことによってメッセージを交
換できるようにして、優先順位、待ち行列の数等により
如何なる構成でも定義できるようにするという意味で融
通性がある。
ルLIMアーキテクチャは、データ記憶装置におけるメ
ッセージ及び記憶された制御ブロックの編成のために融
通性ある方法でデータを交換するという目的でもって開
発された。データを交換するためのその機構は、ユーザ
がプリミティブを呼び出すことによってメッセージを交
換できるようにして、優先順位、待ち行列の数等により
如何なる構成でも定義できるようにするという意味で融
通性がある。
【0012】従って、このライン・インターフェース・
モジュールLIMアーキテクチャの主たる欠点は、プリ
ミティブ・オペレーションをそこまで最適化する必要の
ない低速度及び中速度の通信リンク(1.5Mビット/
秒のT1速度まで)の処理のためにもそれが調整される
ことである。バス速度がリンク速度に比べて特に大きい
ため、その融通性は効率と引換にされていた。
モジュールLIMアーキテクチャの主たる欠点は、プリ
ミティブ・オペレーションをそこまで最適化する必要の
ない低速度及び中速度の通信リンク(1.5Mビット/
秒のT1速度まで)の処理のためにもそれが調整される
ことである。バス速度がリンク速度に比べて特に大きい
ため、その融通性は効率と引換にされていた。
【0013】媒体の速度がT3(45Mビット/秒)の
速度及びT3の速度の3倍である0C3(光学的キャリ
ア)の速度に達しなければならない場合、このような見
解は最早有効ではなくなる。事実、バス・アービトレー
ション及びデータ記憶バスを介した制御メッセージのパ
ス動作による処理オーバヘッドは、バスのスループット
を制限する。図2に示されるように、このスループット
はパケット長に大いに依存する。それは、4Kバイトの
パケットに対しては400Mbpsに等しく、12バイ
トのパケットに対しては22Mbpsまで減少される。
従って、この制限は、満足すべき媒体利用を伴ってT3
以上の任意のタイプの通信をサポートすべくライン・イ
ンターフェース・モジュールLIMを使用することを妨
げるものである。
速度及びT3の速度の3倍である0C3(光学的キャリ
ア)の速度に達しなければならない場合、このような見
解は最早有効ではなくなる。事実、バス・アービトレー
ション及びデータ記憶バスを介した制御メッセージのパ
ス動作による処理オーバヘッドは、バスのスループット
を制限する。図2に示されるように、このスループット
はパケット長に大いに依存する。それは、4Kバイトの
パケットに対しては400Mbpsに等しく、12バイ
トのパケットに対しては22Mbpsまで減少される。
従って、この制限は、満足すべき媒体利用を伴ってT3
以上の任意のタイプの通信をサポートすべくライン・イ
ンターフェース・モジュールLIMを使用することを妨
げるものである。
【0014】本発明を実施し得る環境は、特開平2−1
58858号公報に詳しく開示されている。事実、本発
明は、少なくとも1つのバッファ付きスペースを含むよ
うにメモリ・スペースを編成することを必要とし、そし
てそのバッファ付きスペースの各ページは、データの記
憶に専用のM個のバッファとM個の制御ブロックに分け
られた1つの制御バッファとを持つM+1個のバッファ
に分けられる。それら制御ブロックは、バッファ及び連
鎖情報の記憶に専用される。各データ・バッファは、バ
ッファ制御ブロックとの一定のアドレス関係を有する。
共用メモリにおけるバッファ付きスペースを線形スペー
スに関連付けるという前述の特開平2−158858号
公報で開示された概念は本発明にとっても必要である
が、データ・バッファとは別個にアクセス可能な制御ブ
ロックと同様に共用メモリ内にそれを集中させる必要は
ない。
58858号公報に詳しく開示されている。事実、本発
明は、少なくとも1つのバッファ付きスペースを含むよ
うにメモリ・スペースを編成することを必要とし、そし
てそのバッファ付きスペースの各ページは、データの記
憶に専用のM個のバッファとM個の制御ブロックに分け
られた1つの制御バッファとを持つM+1個のバッファ
に分けられる。それら制御ブロックは、バッファ及び連
鎖情報の記憶に専用される。各データ・バッファは、バ
ッファ制御ブロックとの一定のアドレス関係を有する。
共用メモリにおけるバッファ付きスペースを線形スペー
スに関連付けるという前述の特開平2−158858号
公報で開示された概念は本発明にとっても必要である
が、データ・バッファとは別個にアクセス可能な制御ブ
ロックと同様に共用メモリ内にそれを集中させる必要は
ない。
【0015】
【発明が解決しようとする課題】本発明の主たる目的
は、不要な再書込及び再削除動作の実行を回避すること
によってマルチキャスティングのパフォーマンスを改良
することができ且つデータ記憶装置におけるメモリ・ス
ペースを節約することもできる方法及び装置を提供する
ことにある。
は、不要な再書込及び再削除動作の実行を回避すること
によってマルチキャスティングのパフォーマンスを改良
することができ且つデータ記憶装置におけるメモリ・ス
ペースを節約することもできる方法及び装置を提供する
ことにある。
【0016】
【課題を解決するための手段】本発明の上記目的を達成
するには、基本的な考えは、データをコピーすることな
く各宛先ユーザに対してデータ・マルチキャストを遂行
するために、メッセージ制御ブロック(メッセージを表
わす制御ブロック)からメッセージ内容(データ)とい
う概念を切り離すことである。従って、下記のような方
法及び装置に従ってメッセージ制御ブロックだけをコピ
ーすることによってデータ又はメッセージをマルチキャ
ストすること及びこれら制御ブロックを操作することが
可能となる。即ち、使用されるべきメッセージをマルチ
キャストする方法は以下のステップより成る。
するには、基本的な考えは、データをコピーすることな
く各宛先ユーザに対してデータ・マルチキャストを遂行
するために、メッセージ制御ブロック(メッセージを表
わす制御ブロック)からメッセージ内容(データ)とい
う概念を切り離すことである。従って、下記のような方
法及び装置に従ってメッセージ制御ブロックだけをコピ
ーすることによってデータ又はメッセージをマルチキャ
ストすること及びこれら制御ブロックを操作することが
可能となる。即ち、使用されるべきメッセージをマルチ
キャストする方法は以下のステップより成る。
【0017】(a)複数の直接制御ブロック(DCB)
内に複数の制御ブロックを編成する。その場合、それら
直接制御ブロックDCBの各々は、その直接制御ブロッ
クDCBのアドレスと所定の関係を有するアドレスを持
ったデータ・バッファに関連付けられる。 (b)すべてのフリー直接制御ブロックDCBのアドレ
スを記憶するフリー直接制御ブロック待ち行列(FDC
BQ)を形成し、それらフリー直接制御ブロックDCB
を連鎖する。その待ち行列は、第1及び最後のフリー直
接制御ブロックDCBのアドレスを、それぞれ、それの
ヘッド・フィールド(H)及びテール・フィールド
(T)に記憶する制御ブロック(FDQCB)によって
制御される。 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするために複数の間接制御ブロック(IC
B)内に複数の制御ブロックを編成する。 (d)すべてのフリー間接制御ブロックICBのアドレ
スを記憶するフリー間接制御ブロック待ち行列(FIC
BQ)を形成し、それらフリー間接制御ブロックICB
を連鎖する。その待ち行列は、第1及び最後のフリー間
接制御ブロックICBのアドレスを、それぞれ、それの
ヘッド・フィールド(H)及びテール・フィールド
(T)に記憶する制御ブロック(FIQCB)によって
制御される。 (e)前記フリー直接制御ブロック待ち行列FDCBQ
から必要な数のフリー直接制御ブロックDCBをリース
する。各フリー直接制御ブロックDCBはフリー・デー
タ・バッファで受信されたメッセージを記憶するために
そのフリー・データ・バッファに関連付けられる。 (f)元のメッセージを構成する関連付けられたデータ
・バッファに関する情報をフリー直接制御ブロックDC
Bに記憶する。 (g)前記ユーザ待ち行列において関連付けられた直接
制御ブロックDCBを待ち行列化することによって、前
記メッセージが1つの選択されたユーザのメッセージ待
ち行列において待ち行列化される。 (h)各マルチキャスト・オペレーションに対して、前
記間接制御ブロックICBの各々においてマルチキャス
トされるべきメッセージに関する情報を記憶するために
フリー間接制御ブロック待ち行列FICBQからフリー
間接制御ブロックICBを連続的にリースする。 (i)マルチキャストされるべきメッセージに関する情
報を前記間接制御ブロックICBの1つに記憶する。各
間接制御ブロックICBは元のメッセージの第1データ
・バッファに対応する直接制御ブロックDCBを指示
し、前記間接制御ブロックICBの各々はコピーされた
メッセージを表わす。 (j)各マルチキャスト・オペレーションに対して、メ
ッセージが送られるべき各ユーザのメッセージ待ち行列
において前記間接制御ブロックICBを待ち行列化す
る。
内に複数の制御ブロックを編成する。その場合、それら
直接制御ブロックDCBの各々は、その直接制御ブロッ
クDCBのアドレスと所定の関係を有するアドレスを持
ったデータ・バッファに関連付けられる。 (b)すべてのフリー直接制御ブロックDCBのアドレ
スを記憶するフリー直接制御ブロック待ち行列(FDC
BQ)を形成し、それらフリー直接制御ブロックDCB
を連鎖する。その待ち行列は、第1及び最後のフリー直
接制御ブロックDCBのアドレスを、それぞれ、それの
ヘッド・フィールド(H)及びテール・フィールド
(T)に記憶する制御ブロック(FDQCB)によって
制御される。 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするために複数の間接制御ブロック(IC
B)内に複数の制御ブロックを編成する。 (d)すべてのフリー間接制御ブロックICBのアドレ
スを記憶するフリー間接制御ブロック待ち行列(FIC
BQ)を形成し、それらフリー間接制御ブロックICB
を連鎖する。その待ち行列は、第1及び最後のフリー間
接制御ブロックICBのアドレスを、それぞれ、それの
ヘッド・フィールド(H)及びテール・フィールド
(T)に記憶する制御ブロック(FIQCB)によって
制御される。 (e)前記フリー直接制御ブロック待ち行列FDCBQ
から必要な数のフリー直接制御ブロックDCBをリース
する。各フリー直接制御ブロックDCBはフリー・デー
タ・バッファで受信されたメッセージを記憶するために
そのフリー・データ・バッファに関連付けられる。 (f)元のメッセージを構成する関連付けられたデータ
・バッファに関する情報をフリー直接制御ブロックDC
Bに記憶する。 (g)前記ユーザ待ち行列において関連付けられた直接
制御ブロックDCBを待ち行列化することによって、前
記メッセージが1つの選択されたユーザのメッセージ待
ち行列において待ち行列化される。 (h)各マルチキャスト・オペレーションに対して、前
記間接制御ブロックICBの各々においてマルチキャス
トされるべきメッセージに関する情報を記憶するために
フリー間接制御ブロック待ち行列FICBQからフリー
間接制御ブロックICBを連続的にリースする。 (i)マルチキャストされるべきメッセージに関する情
報を前記間接制御ブロックICBの1つに記憶する。各
間接制御ブロックICBは元のメッセージの第1データ
・バッファに対応する直接制御ブロックDCBを指示
し、前記間接制御ブロックICBの各々はコピーされた
メッセージを表わす。 (j)各マルチキャスト・オペレーションに対して、メ
ッセージが送られるべき各ユーザのメッセージ待ち行列
において前記間接制御ブロックICBを待ち行列化す
る。
【0018】上記方法と関連して通信システムにおいて
使用されるべき本発明のメッセージをマルチキャストす
る装置は、以下のような複数の制御ブロックを含む。 (a)複数の直接制御ブロック(DCB)。ここで、各
直接制御ブロックDCBは対応する直接制御ブロックD
CBのアドレスと所定の関係を有するアドレスを持った
データ・バッファに関連付けられている。 (b)すべてのフリー直接制御ブロックDCBのアドレ
スを記憶し、それらフリー直接制御ブロックDCBを連
鎖するフリー直接制御ブロックDCBの待ち行列(FD
CBQ)。その待ち行列は、第1及び最後のフリー直接
制御ブロックDCBのアドレスを、それぞれ、ヘッド・
フィールド(H)及びテール・フィールド(T)に記憶
する制御ブロック(FDQCB)によって制御される。 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするための複数の間接制御ブロックIC
B。 (d)すべてのフリー間接制御ブロックICBのアドレ
スを記憶し、それらフリー間接制御ブロックICBを連
鎖するフリー間接制御ブロック待ち行列(FICB
Q)。その待ち行列は、第1及び最後のフリー間接制御
ブロックICBのアドレスを、それぞれ、ヘッド・フィ
ールド(H)及びテール・フィールド(T)に記憶する
制御ブロック(FIQCB)によって制御される。
使用されるべき本発明のメッセージをマルチキャストす
る装置は、以下のような複数の制御ブロックを含む。 (a)複数の直接制御ブロック(DCB)。ここで、各
直接制御ブロックDCBは対応する直接制御ブロックD
CBのアドレスと所定の関係を有するアドレスを持った
データ・バッファに関連付けられている。 (b)すべてのフリー直接制御ブロックDCBのアドレ
スを記憶し、それらフリー直接制御ブロックDCBを連
鎖するフリー直接制御ブロックDCBの待ち行列(FD
CBQ)。その待ち行列は、第1及び最後のフリー直接
制御ブロックDCBのアドレスを、それぞれ、ヘッド・
フィールド(H)及びテール・フィールド(T)に記憶
する制御ブロック(FDQCB)によって制御される。 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするための複数の間接制御ブロックIC
B。 (d)すべてのフリー間接制御ブロックICBのアドレ
スを記憶し、それらフリー間接制御ブロックICBを連
鎖するフリー間接制御ブロック待ち行列(FICB
Q)。その待ち行列は、第1及び最後のフリー間接制御
ブロックICBのアドレスを、それぞれ、ヘッド・フィ
ールド(H)及びテール・フィールド(T)に記憶する
制御ブロック(FIQCB)によって制御される。
【0019】
【実施例】図3は、本発明に従って、ライン・インター
フェース・モジュール(LIM)の好ましいアーキテク
チャの構造を組み込んだ通信システムをブロック図で表
わす。ボックス100は、データ・バッファを含むデー
タ記憶メモリを表わす。このメモリは複数のユーザによ
って共用され、データ記憶バス、即ち、DSバス(10
1)のアクセスを調停するデータ記憶マネージャDSM
(110)によって制御される。データ記憶バス・アー
ビタは、物理的には、データ記憶バスに取り付けられた
他の任意の素子又は取り付けられてない(独立した機能
の)他の任意の素子において実施可能である。
フェース・モジュール(LIM)の好ましいアーキテク
チャの構造を組み込んだ通信システムをブロック図で表
わす。ボックス100は、データ・バッファを含むデー
タ記憶メモリを表わす。このメモリは複数のユーザによ
って共用され、データ記憶バス、即ち、DSバス(10
1)のアクセスを調停するデータ記憶マネージャDSM
(110)によって制御される。データ記憶バス・アー
ビタは、物理的には、データ記憶バスに取り付けられた
他の任意の素子又は取り付けられてない(独立した機能
の)他の任意の素子において実施可能である。
【0020】その通信システムは、更に、それ自身のロ
ーカル記憶装置(120)及びそれのデバイス・コミュ
ニケーション・サーバDCS(140)を有するマイク
ロプロセッサ(130)より成る。デバイス・コミュニ
ケーション・サーバDCS(140)は、データ記憶装
置をアクセスするための要求をマイクロプロセッサから
受信するグローバル・オーダ・マシーン(GOM)より
成る。そのグローバル・オーダ・マシーンは、特開平2
−158858号公報に詳しく開示されている機能と同
じ機能を有する。このデバイス・コミュニケーション・
サーバDCS(140)は、データ記憶インターフェー
スDSI(150)のためのバッファのプールを予めリ
ースすべく基本的なライン・インターフェース・モジュ
ールLIMにおいて使用されたフリー・バッファ・サプ
ライア・マシーンを含んでいない。本発明の高速のリー
ス・オペレーションはフリー・バッファ・サプライアを
無用なものにする。
ーカル記憶装置(120)及びそれのデバイス・コミュ
ニケーション・サーバDCS(140)を有するマイク
ロプロセッサ(130)より成る。デバイス・コミュニ
ケーション・サーバDCS(140)は、データ記憶装
置をアクセスするための要求をマイクロプロセッサから
受信するグローバル・オーダ・マシーン(GOM)より
成る。そのグローバル・オーダ・マシーンは、特開平2
−158858号公報に詳しく開示されている機能と同
じ機能を有する。このデバイス・コミュニケーション・
サーバDCS(140)は、データ記憶インターフェー
スDSI(150)のためのバッファのプールを予めリ
ースすべく基本的なライン・インターフェース・モジュ
ールLIMにおいて使用されたフリー・バッファ・サプ
ライア・マシーンを含んでいない。本発明の高速のリー
ス・オペレーションはフリー・バッファ・サプライアを
無用なものにする。
【0021】このデバイス・コミュニケーション・サー
バDCS(140)は、データ記憶バス101を介して
データ記憶マネージャDSM(110)及びすべてのデ
ータ記憶インターフェースDSI(150)に接続され
る。このデータ記憶バス101は、図に示されるよう
に、1つのライン・インターフェース・モジュールLI
Mを他のライン・インターフェース・モジュールLIM
にCSSスイッチを介して接続するためにも使用可能で
ある。
バDCS(140)は、データ記憶バス101を介して
データ記憶マネージャDSM(110)及びすべてのデ
ータ記憶インターフェースDSI(150)に接続され
る。このデータ記憶バス101は、図に示されるよう
に、1つのライン・インターフェース・モジュールLI
Mを他のライン・インターフェース・モジュールLIM
にCSSスイッチを介して接続するためにも使用可能で
ある。
【0022】各データ記憶装置インターフェースDSI
(150)は高性能パラレル・バス(HPPB)102
を介して種々のアダプタ又はスキャナ(152)に接続
される。それは通信サブシステム・スイッチCSS(1
54)にも接続される。各アダプタは、データ記憶装置
(100)を共用する複数のユーザに接続される。その
データ記憶バス101をジャムさせないために、独立の
制御ブロック記憶装置CBS(160)が制御ブロック
記憶装置CBSバス(103)を介して同じライン・イ
ンターフェース・モジュールLIMのすべてのデータ記
憶装置インターフェースDSI(150)及びマイクロ
プロセッサのデバイス・コミュニケーション・サーバD
CS(140)に接続される。従って、制御ブロック記
憶装置CBSバス103使用の要求を制御するために、
アービタがデバイス・コミュニケーション・サーバDC
S(140)に(又は、どこかに)含まれる。制御ブロ
ック記憶装置CBSバス103へのアクセスは、所定の
優先順位を考慮しなければならない。それら種々のデー
タ記憶装置インターフェースDSI(150)は、プリ
ミティブ・オペレーションの如何なる要求(リース、待
ち行列化、待ち行列解除、及びリリース)に対してもデ
バイス・コミュニケーション・サーバDCS(140)
に関して優先権を持っている。
(150)は高性能パラレル・バス(HPPB)102
を介して種々のアダプタ又はスキャナ(152)に接続
される。それは通信サブシステム・スイッチCSS(1
54)にも接続される。各アダプタは、データ記憶装置
(100)を共用する複数のユーザに接続される。その
データ記憶バス101をジャムさせないために、独立の
制御ブロック記憶装置CBS(160)が制御ブロック
記憶装置CBSバス(103)を介して同じライン・イ
ンターフェース・モジュールLIMのすべてのデータ記
憶装置インターフェースDSI(150)及びマイクロ
プロセッサのデバイス・コミュニケーション・サーバD
CS(140)に接続される。従って、制御ブロック記
憶装置CBSバス103使用の要求を制御するために、
アービタがデバイス・コミュニケーション・サーバDC
S(140)に(又は、どこかに)含まれる。制御ブロ
ック記憶装置CBSバス103へのアクセスは、所定の
優先順位を考慮しなければならない。それら種々のデー
タ記憶装置インターフェースDSI(150)は、プリ
ミティブ・オペレーションの如何なる要求(リース、待
ち行列化、待ち行列解除、及びリリース)に対してもデ
バイス・コミュニケーション・サーバDCS(140)
に関して優先権を持っている。
【0023】本発明において使用されるデータ記憶装置
インターフェースDSI(150)は、特開平2−15
8858号公報に開示されたコンポーネントと同じコン
ポーネントと、更に、マイクロプロセッサと全く同じ機
能を遂行するグローバル・オーダ・マシーンとより成
る。従って、各データ記憶装置インターフェースDSI
(150)及びデバイス・コミュニケーション・サーバ
DCS(140)は、制御ブロック記憶装置CBSにお
いて読み取り及び書き込みを行うことができる。
インターフェースDSI(150)は、特開平2−15
8858号公報に開示されたコンポーネントと同じコン
ポーネントと、更に、マイクロプロセッサと全く同じ機
能を遂行するグローバル・オーダ・マシーンとより成
る。従って、各データ記憶装置インターフェースDSI
(150)及びデバイス・コミュニケーション・サーバ
DCS(140)は、制御ブロック記憶装置CBSにお
いて読み取り及び書き込みを行うことができる。
【0024】データがデータ記憶装置において依然とし
て待ち行列化されている時、制御ブロック記憶装置CB
Sはこれら待ち行列の制御構造を記憶するために使用さ
れる。制御通信はすべてデータ記憶バス101上をそれ
以上通らないので、これはこのデータ記憶バス101に
おける負荷の減少を可能にする。2種類の制御ブロッ
ク、即ち、直接制御ブロックDCB及び間接制御ブロッ
クICBより成るこれら制御構造は、更に詳細に後述さ
れる。
て待ち行列化されている時、制御ブロック記憶装置CB
Sはこれら待ち行列の制御構造を記憶するために使用さ
れる。制御通信はすべてデータ記憶バス101上をそれ
以上通らないので、これはこのデータ記憶バス101に
おける負荷の減少を可能にする。2種類の制御ブロッ
ク、即ち、直接制御ブロックDCB及び間接制御ブロッ
クICBより成るこれら制御構造は、更に詳細に後述さ
れる。
【0025】可変の数のデータバッファが種々の長さの
メッセージを記憶できるように連鎖され、その方法で直
接制御ブロックDCB又は間接制御ブロックICBの待
ち行列を形成する。バッファの連鎖は特開平2−158
858号公報に開示されたものと同じである。1つのメ
ッセージをいくつかのデータ・バッファが含むことが可
能である。制御ブロック記憶装置CBSの直接制御ブロ
ックDCBは、データ記憶装置の各データ・バッファに
マップされる。直接制御ブロックDCBに加えて、間接
制御ブロックICBのプールがマルチキャスト機能を実
施するために与えられる。直接制御ブロックDCB及び
間接制御ブロックICBは、間接制御ブロックICBが
関連のデータ・バッファを持たないことを除けば同じ構
造を有する。
メッセージを記憶できるように連鎖され、その方法で直
接制御ブロックDCB又は間接制御ブロックICBの待
ち行列を形成する。バッファの連鎖は特開平2−158
858号公報に開示されたものと同じである。1つのメ
ッセージをいくつかのデータ・バッファが含むことが可
能である。制御ブロック記憶装置CBSの直接制御ブロ
ックDCBは、データ記憶装置の各データ・バッファに
マップされる。直接制御ブロックDCBに加えて、間接
制御ブロックICBのプールがマルチキャスト機能を実
施するために与えられる。直接制御ブロックDCB及び
間接制御ブロックICBは、間接制御ブロックICBが
関連のデータ・バッファを持たないことを除けば同じ構
造を有する。
【0026】図5は直接制御ブロックDCBが含む種々
のフィールドを示す。それは、メッセージ内のバッファ
連鎖に関する情報を含むバッファ連鎖制御ブロックBC
CB及び1つのユーザに専用のメッセージの待ち行列内
のメッセージ連鎖に関する情報を含むメッセージ連鎖制
御ブロックMCCBより成る。更に詳しくいえば、バッ
ファ連鎖制御ブロックBCCBは少なくとも以下のもの
を含む。
のフィールドを示す。それは、メッセージ内のバッファ
連鎖に関する情報を含むバッファ連鎖制御ブロックBC
CB及び1つのユーザに専用のメッセージの待ち行列内
のメッセージ連鎖に関する情報を含むメッセージ連鎖制
御ブロックMCCBより成る。更に詳しくいえば、バッ
ファ連鎖制御ブロックBCCBは少なくとも以下のもの
を含む。
【0027】(a)1バイトのコピーフィールド。これ
はその制御ブロックにより暗黙的に参照されるデータの
コピー数の値を表わす。 (b)1バイトのバイトカウント・フィールド。これは
そのバッファで使用されるバイトの数を与える。 (c)2バイトの次バッファ・アドレス・フィールド。
直接制御ブロックDCBの場合、このフィールドは直接
制御ブロックDCBを、そしてその後それらの関連のデ
ータ・バッファをユーザ待ち行列において直接制御ブロ
ックDCBを連鎖する(しかる後、その連鎖したバッフ
ァはメッセージを形成する)ために、又はフリー直接制
御ブロックDCB待ち行列において直接制御ブロックD
CBを連鎖する(しかる後、すべてのフリー・バッファ
がこの待ち行列において連鎖される)ために使用され
る。 (d)1バイトのオフセット・フィールド。これはその
バッファにおけるデータの始めを表わす。 (e)1ビットのフリー待ち行列フラッグ(FQF)フ
ィールド。このビットが1に等しい時、メッセージを形
成するバッファの連鎖がフリー待ち行列内にあることを
表わす。 (f)2バイトの最後のバッファ・アドレス・フィール
ド。このフィールドは、メッセージの最後の直接制御ブ
ロックDCB(及びデータ・バッファ)のアドレスを与
える。このフィールドの使用は図15に示された直接制
御ブロックDCBリリース・オペレーションために必要
である。事実、このフィールドは、データ・バッファを
1つずつリリースする代わりに、連鎖した制御ブロック
全体を単一のオペレーションでリリースすることを可能
にする。 (g)2バイトのトータル・メッセージ・カウント・フ
ィールド。これはそのメッセージで使用されるバイトの
数を与える。 (h)2バイトの次メッセージ・アドレス・フィール
ド。
はその制御ブロックにより暗黙的に参照されるデータの
コピー数の値を表わす。 (b)1バイトのバイトカウント・フィールド。これは
そのバッファで使用されるバイトの数を与える。 (c)2バイトの次バッファ・アドレス・フィールド。
直接制御ブロックDCBの場合、このフィールドは直接
制御ブロックDCBを、そしてその後それらの関連のデ
ータ・バッファをユーザ待ち行列において直接制御ブロ
ックDCBを連鎖する(しかる後、その連鎖したバッフ
ァはメッセージを形成する)ために、又はフリー直接制
御ブロックDCB待ち行列において直接制御ブロックD
CBを連鎖する(しかる後、すべてのフリー・バッファ
がこの待ち行列において連鎖される)ために使用され
る。 (d)1バイトのオフセット・フィールド。これはその
バッファにおけるデータの始めを表わす。 (e)1ビットのフリー待ち行列フラッグ(FQF)フ
ィールド。このビットが1に等しい時、メッセージを形
成するバッファの連鎖がフリー待ち行列内にあることを
表わす。 (f)2バイトの最後のバッファ・アドレス・フィール
ド。このフィールドは、メッセージの最後の直接制御ブ
ロックDCB(及びデータ・バッファ)のアドレスを与
える。このフィールドの使用は図15に示された直接制
御ブロックDCBリリース・オペレーションために必要
である。事実、このフィールドは、データ・バッファを
1つずつリリースする代わりに、連鎖した制御ブロック
全体を単一のオペレーションでリリースすることを可能
にする。 (g)2バイトのトータル・メッセージ・カウント・フ
ィールド。これはそのメッセージで使用されるバイトの
数を与える。 (h)2バイトの次メッセージ・アドレス・フィール
ド。
【0028】図6は間接制御ブロックICBが含む種々
のフィールドを示す。それも又、メッセージ内のバッフ
ァ連鎖に関する情報を含むバッファ連鎖制御ブロックバ
ッファ連鎖制御ブロックBCCB及び1つのユーザに専
用のメッセージの待ち行列内のメッセージ連鎖に関する
情報を含むメッセージ連鎖制御ブロックMCCBより成
る。更に詳しくいうと、間接制御ブロックICBは、以
下の点を除けば、直接制御ブロックDCBのフィールド
すべてを使用する。
のフィールドを示す。それも又、メッセージ内のバッフ
ァ連鎖に関する情報を含むバッファ連鎖制御ブロックバ
ッファ連鎖制御ブロックBCCB及び1つのユーザに専
用のメッセージの待ち行列内のメッセージ連鎖に関する
情報を含むメッセージ連鎖制御ブロックMCCBより成
る。更に詳しくいうと、間接制御ブロックICBは、以
下の点を除けば、直接制御ブロックDCBのフィールド
すべてを使用する。
【0029】(a)間接制御ブロックICBのためのコ
ピーフィールドは、データのコピーの数のカウントの代
わりに、コード'FF'を記憶する。 (b)次バッファ・アドレスは、図7において引用され
るフリー間接制御ブロックICB待ち行列内にその間接
制御ブロックICBを待ち行列化するためにだけ使用さ
れる。一方、間接制御ブロックICBが直接制御ブロッ
クDCBを指定するために使用される時、このフィール
ドは空ではない。 (c)最後のバッファ・アドレス・フィールドが、2バ
イトのメッセージ連鎖制御ブロックMCCBポインタ・
フィールドによって置換される。このフィールドは間接
メッセージ制御ブロックに対してのみ使用される。それ
は、データ・バッファに暗黙的に結びつけられた直接メ
ッセージ制御ブロックのアドレスを指定するのを可能に
する。
ピーフィールドは、データのコピーの数のカウントの代
わりに、コード'FF'を記憶する。 (b)次バッファ・アドレスは、図7において引用され
るフリー間接制御ブロックICB待ち行列内にその間接
制御ブロックICBを待ち行列化するためにだけ使用さ
れる。一方、間接制御ブロックICBが直接制御ブロッ
クDCBを指定するために使用される時、このフィール
ドは空ではない。 (c)最後のバッファ・アドレス・フィールドが、2バ
イトのメッセージ連鎖制御ブロックMCCBポインタ・
フィールドによって置換される。このフィールドは間接
メッセージ制御ブロックに対してのみ使用される。それ
は、データ・バッファに暗黙的に結びつけられた直接メ
ッセージ制御ブロックのアドレスを指定するのを可能に
する。
【0030】図7は、制御ブロック記憶装置CBSに記
憶された直接制御ブロックDCB及び間接制御ブロック
ICBの使用例を与える。制御ブロックは、間接制御ブ
ロックICB及び直接制御ブロックDCBという2つの
独立した部分に分けられる。各直接制御ブロック(DC
B)は、その図では矢印で表される特定なデータ・バッ
ファでもってマップされ、一方、間接制御ブロック(I
CB)は、データ・メッセージのコピーがある場合、関
連の直接制御ブロックDCBを指定する必要があるだけ
である。それはデータ・バッファに対して間接制御ブロ
ックICBのマッピングを使用するものではなく、そし
てそれは本発明の利点の1つでもある。
憶された直接制御ブロックDCB及び間接制御ブロック
ICBの使用例を与える。制御ブロックは、間接制御ブ
ロックICB及び直接制御ブロックDCBという2つの
独立した部分に分けられる。各直接制御ブロック(DC
B)は、その図では矢印で表される特定なデータ・バッ
ファでもってマップされ、一方、間接制御ブロック(I
CB)は、データ・メッセージのコピーがある場合、関
連の直接制御ブロックDCBを指定する必要があるだけ
である。それはデータ・バッファに対して間接制御ブロ
ックICBのマッピングを使用するものではなく、そし
てそれは本発明の利点の1つでもある。
【0031】各間接制御ブロックICBはコピーフィー
ルドにおけるコード'FF'によって識別され、フリー間
接制御ブロックICBはフリー間接制御ブロック待ち行
列(FICBQ)において集められる。フリー直接制御
ブロック待ち行列(FDCBQ)は、図に示されるよう
に、コピーフィールドが数値'0'を記憶するフリー直接
制御ブロックDCBをすべて集める。
ルドにおけるコード'FF'によって識別され、フリー間
接制御ブロックICBはフリー間接制御ブロック待ち行
列(FICBQ)において集められる。フリー直接制御
ブロック待ち行列(FDCBQ)は、図に示されるよう
に、コピーフィールドが数値'0'を記憶するフリー直接
制御ブロックDCBをすべて集める。
【0032】フリー直接制御ブロック待ち行列FDCB
Qは、「ヘッド」及び「テール」という2つのフィール
ドを含むFDQCBと呼ばれる制御ブロックによって制
御される。図示のように、ヘッドは、ユーザの要求時に
待ち行列解除されるべきフリー直接制御ブロック待ち行
列FDCBQの第1直接制御ブロックDCBを表わし、
一方、テールはフリー直接制御ブロック待ち行列FDC
BQの最後の直接制御ブロックDCBを表わす。同じ方
法で、フリー間接制御ブロック待ち行列FICBQは、
FDQCBと同じ構造を持つFIQCBと呼ばれる制御
ブロックによって制御される。
Qは、「ヘッド」及び「テール」という2つのフィール
ドを含むFDQCBと呼ばれる制御ブロックによって制
御される。図示のように、ヘッドは、ユーザの要求時に
待ち行列解除されるべきフリー直接制御ブロック待ち行
列FDCBQの第1直接制御ブロックDCBを表わし、
一方、テールはフリー直接制御ブロック待ち行列FDC
BQの最後の直接制御ブロックDCBを表わす。同じ方
法で、フリー間接制御ブロック待ち行列FICBQは、
FDQCBと同じ構造を持つFIQCBと呼ばれる制御
ブロックによって制御される。
【0033】データ・バッファ又はメッセージのユニキ
ャストが必要な場合、コピーフィールドは'1'に更新さ
れる。メッセージ又はデータ・バッファが複数のユーザ
にマルチキャストされるべき時、コピーの数は、図示さ
れたようにインクレメントされる。そのフィールドにお
ける数値'3'は、2つの間接制御ブロックICBがその
直接制御ブロックDCBを指定することを表わす。
ャストが必要な場合、コピーフィールドは'1'に更新さ
れる。メッセージ又はデータ・バッファが複数のユーザ
にマルチキャストされるべき時、コピーの数は、図示さ
れたようにインクレメントされる。そのフィールドにお
ける数値'3'は、2つの間接制御ブロックICBがその
直接制御ブロックDCBを指定することを表わす。
【0034】メッセージ又はデータ・バッファの数が多
数になり、フリー間接制御ブロックICB待ち行列FI
CBQを空にし得るほど間接制御ブロックICBの数が
大きくなる場合、直接制御ブロックDCBは、その対応
する直接制御ブロックDCBにコード'FF'を記憶する
こと及び関連するデータ・バッファを空にすることによ
って、間接制御ブロックICBとして使用可能である。
この解決方法が有用であることが時々あるが、空のバッ
ファのためにメモリ・スペースを無駄にする。各プリミ
ティブ(リース、待ち行列化、待ち行列解除、及びリリ
ース)の詳細なオペレーションは、ずっと改良されたグ
ローバル性能の評価と共に次に与えられる。
数になり、フリー間接制御ブロックICB待ち行列FI
CBQを空にし得るほど間接制御ブロックICBの数が
大きくなる場合、直接制御ブロックDCBは、その対応
する直接制御ブロックDCBにコード'FF'を記憶する
こと及び関連するデータ・バッファを空にすることによ
って、間接制御ブロックICBとして使用可能である。
この解決方法が有用であることが時々あるが、空のバッ
ファのためにメモリ・スペースを無駄にする。各プリミ
ティブ(リース、待ち行列化、待ち行列解除、及びリリ
ース)の詳細なオペレーションは、ずっと改良されたグ
ローバル性能の評価と共に次に与えられる。
【0035】図8及び図9はデータ記憶装置インターフ
ェースDSI(150)によって遂行されるリース・オ
ペレーションを表わし、そしてそのデータ記憶装置イン
ターフェースDSI(150)は、直接制御ブロックD
CB及び間接制御ブロックICBを読み取り又は書き込
むことを可能にするそれ自身のグローバル・オーダ・マ
シンによる制御ブロック記憶装置CBSへのアクセスを
有する。このプリミティブ・オペレーションはデータ記
憶装置インターフェースDSI(150)に接続された
ユーザの1つによって要求される。それは、直接制御ブ
ロックDCB及び間接制御ブロックICBがフリー直接
制御ブロック待ち行列(FDCBQ)及びフリー間接制
御ブロック待ち行列(FICBQ)からそれぞれリース
されなければならないことを除けば、直接制御ブロック
DCBに対するように間接制御ブロックICBに対して
も使用可能である。
ェースDSI(150)によって遂行されるリース・オ
ペレーションを表わし、そしてそのデータ記憶装置イン
ターフェースDSI(150)は、直接制御ブロックD
CB及び間接制御ブロックICBを読み取り又は書き込
むことを可能にするそれ自身のグローバル・オーダ・マ
シンによる制御ブロック記憶装置CBSへのアクセスを
有する。このプリミティブ・オペレーションはデータ記
憶装置インターフェースDSI(150)に接続された
ユーザの1つによって要求される。それは、直接制御ブ
ロックDCB及び間接制御ブロックICBがフリー直接
制御ブロック待ち行列(FDCBQ)及びフリー間接制
御ブロック待ち行列(FICBQ)からそれぞれリース
されなければならないことを除けば、直接制御ブロック
DCBに対するように間接制御ブロックICBに対して
も使用可能である。
【0036】しかし、フリー直接制御ブロック待ち行列
から取り除かれそしてそれを要求したユーザに割り当て
られるべき、例えば、256バイトのバッファを直接制
御ブロックDCBのリース・オペレーションが持つこと
により、この新たに得たバッファ内にデータを書き込む
ことをを可能にするという相違は残る。間接制御ブロッ
クICBのリース・オペレーションは、フリー間接制御
ブロック待ち行列から1つの間接制御ブロックICBを
取り除くだけであり、前述のように、データ・バッファ
に関連した間接制御ブロックICBはない。
から取り除かれそしてそれを要求したユーザに割り当て
られるべき、例えば、256バイトのバッファを直接制
御ブロックDCBのリース・オペレーションが持つこと
により、この新たに得たバッファ内にデータを書き込む
ことをを可能にするという相違は残る。間接制御ブロッ
クICBのリース・オペレーションは、フリー間接制御
ブロック待ち行列から1つの間接制御ブロックICBを
取り除くだけであり、前述のように、データ・バッファ
に関連した間接制御ブロックICBはない。
【0037】図8は、マイクロプロセッサのデータ記憶
装置インターフェースDSI(150)によって又はデ
バイス・コミュニケーション・サーバDCS(140)
によって、更に正確にいえば、それのグローバル・オー
ダ・マシンGOMによって遂行可能な直接制御ブロック
DCBのリース・オペレーションの3つの連続した動作
を示す。それは、以下のステップより成る。
装置インターフェースDSI(150)によって又はデ
バイス・コミュニケーション・サーバDCS(140)
によって、更に正確にいえば、それのグローバル・オー
ダ・マシンGOMによって遂行可能な直接制御ブロック
DCBのリース・オペレーションの3つの連続した動作
を示す。それは、以下のステップより成る。
【0038】ステップ1:データ記憶装置インターフェ
ースDSI(150)は、制御ブロック記憶装置CBS
に記憶された'FDQCB'とも呼ばれるフリー直接制御
ブロック待ち行列制御ブロックのヘッド・フィールドに
おけるフリー直接制御ブロックDCBのヘッド「H」を
読み取る。このヘッドは、その図に示されたデータ記憶
装置にマップされた第1のフリー制御ブロックのアドレ
スを表わす。 ステップ2:この第1の制御ブロックのために、データ
記憶装置インターフェースDSI(150)は、その図
に示されるように、対応するデータ・バッファにもマッ
プされた次の直接制御ブロックDCBのアドレスを読み
取ることができる。 ステップ3:データ記憶装置インターフェースDSI
(150)はFDQCBのヘッド・フィールドにこの第
2の直接制御ブロックDCBのアドレスを書き込み、従
って、第1の制御ブロック及びそれの対応するデータ・
バッファを、このプリミティブ・オペレーションを要求
したユーザにリースする。
ースDSI(150)は、制御ブロック記憶装置CBS
に記憶された'FDQCB'とも呼ばれるフリー直接制御
ブロック待ち行列制御ブロックのヘッド・フィールドに
おけるフリー直接制御ブロックDCBのヘッド「H」を
読み取る。このヘッドは、その図に示されたデータ記憶
装置にマップされた第1のフリー制御ブロックのアドレ
スを表わす。 ステップ2:この第1の制御ブロックのために、データ
記憶装置インターフェースDSI(150)は、その図
に示されるように、対応するデータ・バッファにもマッ
プされた次の直接制御ブロックDCBのアドレスを読み
取ることができる。 ステップ3:データ記憶装置インターフェースDSI
(150)はFDQCBのヘッド・フィールドにこの第
2の直接制御ブロックDCBのアドレスを書き込み、従
って、第1の制御ブロック及びそれの対応するデータ・
バッファを、このプリミティブ・オペレーションを要求
したユーザにリースする。
【0039】従って、直接制御ブロックDCBのリース
・オペレーションは、データ記憶装置インターフェース
DSI(150)がそれら自身のグローバル・オーダ・
マシーンによって読取り及び書込動作を直接に行うた
め、この好ましい実施例においては合計3サイクル・タ
イムしか必要としないであろう。
・オペレーションは、データ記憶装置インターフェース
DSI(150)がそれら自身のグローバル・オーダ・
マシーンによって読取り及び書込動作を直接に行うた
め、この好ましい実施例においては合計3サイクル・タ
イムしか必要としないであろう。
【0040】3つのプリミティブ・オペレーションの原
始性は、混乱を生じ得るプリミティブ・オペエーション
のインターリーブを避けるためにそれらが連続して行わ
れることを必要とした。リース・オペレーションが完全
に行われた後、アービタはマイクロプロセッサの他のデ
ータ記憶装置インターフェースDSI(150)又はデ
バイス・コミュニケーション・サーバDCS(140)
への制御ブロック記憶装置CBSのアクセスを許容す
る。この原始性は、他の3つのプリミティブ・オペレー
ション、即ち、待ち行列化、待ち行列解除、及びリリー
スに対して、直接制御ブロックDCBに対するのと同様
に間接制御ブロックICBに対しても適用可能である。
始性は、混乱を生じ得るプリミティブ・オペエーション
のインターリーブを避けるためにそれらが連続して行わ
れることを必要とした。リース・オペレーションが完全
に行われた後、アービタはマイクロプロセッサの他のデ
ータ記憶装置インターフェースDSI(150)又はデ
バイス・コミュニケーション・サーバDCS(140)
への制御ブロック記憶装置CBSのアクセスを許容す
る。この原始性は、他の3つのプリミティブ・オペレー
ション、即ち、待ち行列化、待ち行列解除、及びリリー
スに対して、直接制御ブロックDCBに対するのと同様
に間接制御ブロックICBに対しても適用可能である。
【0041】図9は、マイクロプロセッサのデバイス・
コミュニケーション・サーバDCS(140)によって
又はデータ記憶装置インターフェースDSI(150)
によって、更に正確にいえば、それのグローバル・オー
ダ・マシンGOMによって遂行可能な間接制御ブロック
ICBのリース・オペレーションにおける5つの連続し
た動作を示す。それは、以下のようなステップより成
る。
コミュニケーション・サーバDCS(140)によって
又はデータ記憶装置インターフェースDSI(150)
によって、更に正確にいえば、それのグローバル・オー
ダ・マシンGOMによって遂行可能な間接制御ブロック
ICBのリース・オペレーションにおける5つの連続し
た動作を示す。それは、以下のようなステップより成
る。
【0042】ステップ1:データ記憶装置インターフェ
ースDSI(150)は、制御ブロックが待ち行列解除
される待ち行列(FICBQ又はフリー直接制御ブロッ
ク待ち行列FDCBQ)を決定する。そのフリー間接制
御ブロック待ち行列FICBQが空である場合、その制
御ブロックはフリー間接制御ブロック待ち行列FICB
Qから待ち行列解除される。フリー直接制御ブロック待
ち行列FDCBQが空である場合、その制御ブロックは
フリー直接制御ブロック待ち行列FDCBQから待ち行
列解除される。 ステップ2:データ記憶装置インターフェースDSI
(150)は、制御ブロック記憶装置CBSに記憶され
た'FIQCB'とも呼ばれるフリー間接制御ブロック待
ち行列制御ブロックの「ヘッド」フィールド(又は、フ
リー直接制御ブロック待ち行列FDCBQ制御ブロッ
ク'FDQCB'の「ヘッド」フィールド)を読み取る。
このヘッドは、第1のフリー間接制御ブロックICB又
は直接制御ブロックDCBのアドレスを表わす。 ステップ3:この第1の制御ブロックのために、データ
記憶装置インターフェースDSI(150)は、次の直
接制御ブロックDCB又は間接制御ブロックICBのア
ドレスを読み取ることができる。 ステップ4:データ記憶装置インターフェースDSI
(150)はFIQCB(又は、FDQCB)のヘッド
・フィールドにこの第2の直接制御ブロックDCB又は
間接制御ブロックICBのアドレスを書き込み、従っ
て、第1の制御ブロックを、このプリミティブ・オペレ
ーションを要求したユーザにリースする。 ステップ5:データ記憶装置インターフェースDSI
(150)はそのリースされた制御ブロック(それがフ
リー間接制御ブロック待ち行列FICBQ又はフリー直
接制御ブロック待ち行列FDCBQのどちらから待ち行
列解除されても)のコピーフィールドにコード'FF'を
書き込み、それを間接制御ブロックICBとして識別す
る。 従って、間接制御ブロックICBのリース・オペレーシ
ョンは、この好ましい実施例では、合計5サイクル・タ
イムを必要とするであろう。
ースDSI(150)は、制御ブロックが待ち行列解除
される待ち行列(FICBQ又はフリー直接制御ブロッ
ク待ち行列FDCBQ)を決定する。そのフリー間接制
御ブロック待ち行列FICBQが空である場合、その制
御ブロックはフリー間接制御ブロック待ち行列FICB
Qから待ち行列解除される。フリー直接制御ブロック待
ち行列FDCBQが空である場合、その制御ブロックは
フリー直接制御ブロック待ち行列FDCBQから待ち行
列解除される。 ステップ2:データ記憶装置インターフェースDSI
(150)は、制御ブロック記憶装置CBSに記憶され
た'FIQCB'とも呼ばれるフリー間接制御ブロック待
ち行列制御ブロックの「ヘッド」フィールド(又は、フ
リー直接制御ブロック待ち行列FDCBQ制御ブロッ
ク'FDQCB'の「ヘッド」フィールド)を読み取る。
このヘッドは、第1のフリー間接制御ブロックICB又
は直接制御ブロックDCBのアドレスを表わす。 ステップ3:この第1の制御ブロックのために、データ
記憶装置インターフェースDSI(150)は、次の直
接制御ブロックDCB又は間接制御ブロックICBのア
ドレスを読み取ることができる。 ステップ4:データ記憶装置インターフェースDSI
(150)はFIQCB(又は、FDQCB)のヘッド
・フィールドにこの第2の直接制御ブロックDCB又は
間接制御ブロックICBのアドレスを書き込み、従っ
て、第1の制御ブロックを、このプリミティブ・オペレ
ーションを要求したユーザにリースする。 ステップ5:データ記憶装置インターフェースDSI
(150)はそのリースされた制御ブロック(それがフ
リー間接制御ブロック待ち行列FICBQ又はフリー直
接制御ブロック待ち行列FDCBQのどちらから待ち行
列解除されても)のコピーフィールドにコード'FF'を
書き込み、それを間接制御ブロックICBとして識別す
る。 従って、間接制御ブロックICBのリース・オペレーシ
ョンは、この好ましい実施例では、合計5サイクル・タ
イムを必要とするであろう。
【0043】図10は、それ自身のグローバル・オーダ
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つデータ記憶装置インターフェースDSI(1
50)のうちの任意のものによって遂行可能な待ち行列
化オペレーションを表わす。グローバル・オーダは制御
ブロック記憶装置CBSにおける制御ブロックを直接に
読み取り又は書き込むことを可能にする。このプリミテ
ィブはデータ記憶装置インターフェースDSI(15
0)に接続されたユーザの1つによって要求可能であ
る。この待ち行列化オペレーションは、マイクロプロセ
ッサのデバイス・コミュニケーション・サーバDCS
(140)によって、更に正確にいえば、それのグロー
バル・オーダ・マシンGOMによって遂行可能である。
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つデータ記憶装置インターフェースDSI(1
50)のうちの任意のものによって遂行可能な待ち行列
化オペレーションを表わす。グローバル・オーダは制御
ブロック記憶装置CBSにおける制御ブロックを直接に
読み取り又は書き込むことを可能にする。このプリミテ
ィブはデータ記憶装置インターフェースDSI(15
0)に接続されたユーザの1つによって要求可能であ
る。この待ち行列化オペレーションは、マイクロプロセ
ッサのデバイス・コミュニケーション・サーバDCS
(140)によって、更に正確にいえば、それのグロー
バル・オーダ・マシンGOMによって遂行可能である。
【0044】このオペレーションは、それを要求したユ
ーザに属する1つの待ち行列に置かれるべきメッセージ
を形成する256バイトのデータ・バッファ、即ち、一
組の連鎖したデータ・バッファを持つことを可能にす
る。各データ・バッファに1つの直接制御ブロックDC
Bが対応し、そのデータ・バッファを操作する代わり
に、データ記憶装置インターフェースDSI(150)
は更に融通性のある関連の制御ブロック、即ち、直接制
御ブロックDCBおよび間接制御ブロックICBを操作
するだけである。待ち行列化プリミティブを構成する3
つの論理的ステップが図10に明瞭に示され、そしてそ
れは以下の通りである。
ーザに属する1つの待ち行列に置かれるべきメッセージ
を形成する256バイトのデータ・バッファ、即ち、一
組の連鎖したデータ・バッファを持つことを可能にす
る。各データ・バッファに1つの直接制御ブロックDC
Bが対応し、そのデータ・バッファを操作する代わり
に、データ記憶装置インターフェースDSI(150)
は更に融通性のある関連の制御ブロック、即ち、直接制
御ブロックDCBおよび間接制御ブロックICBを操作
するだけである。待ち行列化プリミティブを構成する3
つの論理的ステップが図10に明瞭に示され、そしてそ
れは以下の通りである。
【0045】ステップ1:データ記憶装置インターフェ
ースDSI(150)は、制御ブロック記憶装置CBS
においてこのオペレーションを要求したユーザの待ち行
列制御ブッロクのテール・フィールドを読み取る。この
テール・フィールドは、最後のバッファの制御ブロック
が直接制御ブロックDCBである場合、データ記憶装置
のデータ・バッファにマップされるその最後のバッファ
の制御ブロックのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、この待ち行列制御ブロックにおいて待ち
行列化されるべきデータ・バッファ又は1セットの連鎖
したデータ・バッファのアドレスをこのテール・フィー
ルドに書き込む。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
ス又は新しいデータ・バッファのアドレスを前のバッフ
ァ制御ブロックに書き込み、従って、対応するユーザを
宛先とするすべてのメッセージの待ち行列にその新しい
バッファ制御ブロック又は新しいセットのデータ・バッ
ファを挿入する。 待ち行列化プリミティブは合計3サイクル・タイムを必
要とし、そしてその3つのステップは連続的に遂行され
なければならない。
ースDSI(150)は、制御ブロック記憶装置CBS
においてこのオペレーションを要求したユーザの待ち行
列制御ブッロクのテール・フィールドを読み取る。この
テール・フィールドは、最後のバッファの制御ブロック
が直接制御ブロックDCBである場合、データ記憶装置
のデータ・バッファにマップされるその最後のバッファ
の制御ブロックのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、この待ち行列制御ブロックにおいて待ち
行列化されるべきデータ・バッファ又は1セットの連鎖
したデータ・バッファのアドレスをこのテール・フィー
ルドに書き込む。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
ス又は新しいデータ・バッファのアドレスを前のバッフ
ァ制御ブロックに書き込み、従って、対応するユーザを
宛先とするすべてのメッセージの待ち行列にその新しい
バッファ制御ブロック又は新しいセットのデータ・バッ
ファを挿入する。 待ち行列化プリミティブは合計3サイクル・タイムを必
要とし、そしてその3つのステップは連続的に遂行され
なければならない。
【0046】図11は、間接制御ブロックICBによっ
て表わされたメッセージのコピーの待ち行列化オペレー
ションを示す。この待ち行列化オペレーションは、それ
自身のグローバル・オーダ・マシーンによる制御ブロッ
ク記憶装置CBSへのアクセスを持つデータ記憶装置イ
ンターフェースDSI(150)のうちのどれか1つに
よっても遂行可能である。
て表わされたメッセージのコピーの待ち行列化オペレー
ションを示す。この待ち行列化オペレーションは、それ
自身のグローバル・オーダ・マシーンによる制御ブロッ
ク記憶装置CBSへのアクセスを持つデータ記憶装置イ
ンターフェースDSI(150)のうちのどれか1つに
よっても遂行可能である。
【0047】ステップ51において、データ記憶装置イ
ンターフェースDSI(150)は直接制御ブロックD
CBに対応するメッセージ・アドレスの参照符をバッフ
ァ連鎖制御ブロックBCCB/メッセージ連鎖制御ブロ
ックMCCBポインタ・フィールドに記憶する。ステッ
プ52において、特定の直接制御ブロックDCBにマッ
プされた同じメッセージを参照する他の間接制御ブロッ
クICBがあることを示すために、コピー数が関連の直
接制御ブロックDCBにおいてインクレメントされる。
最終的に、ステップ53では、データ記憶装置インター
フェースDSI(150)は図10において示された直
接制御ブロックDCBと同じ方法で間接制御ブロックI
CBを待ち行列化可能である。従って、間接制御ブロッ
クICBの待ち行列化オペレーションは合計5サイクル
・タイムを必要とし、これら5つのステップは連続的に
遂行されなければならない。
ンターフェースDSI(150)は直接制御ブロックD
CBに対応するメッセージ・アドレスの参照符をバッフ
ァ連鎖制御ブロックBCCB/メッセージ連鎖制御ブロ
ックMCCBポインタ・フィールドに記憶する。ステッ
プ52において、特定の直接制御ブロックDCBにマッ
プされた同じメッセージを参照する他の間接制御ブロッ
クICBがあることを示すために、コピー数が関連の直
接制御ブロックDCBにおいてインクレメントされる。
最終的に、ステップ53では、データ記憶装置インター
フェースDSI(150)は図10において示された直
接制御ブロックDCBと同じ方法で間接制御ブロックI
CBを待ち行列化可能である。従って、間接制御ブロッ
クICBの待ち行列化オペレーションは合計5サイクル
・タイムを必要とし、これら5つのステップは連続的に
遂行されなければならない。
【0048】図12は、ユーザAの待ち行列制御ブロッ
クにおいて待ち行列化されたメッセージの例を示す。ユ
ーザAに専用のQCBのヘッド・フィールドは、第1の
直接制御ブロックDCBにマップされた第1メッセージ
のアドレスを表わし、そしてその制御ブロックの次のメ
ッセージ・アドレス・フィールドは、第2メッセージに
マップされたユーザAの第2の直接制御ブロックDCB
を表わす。両方の直接制御ブロックDCBのコピーフィ
ールドは数値'1'を記憶し、それは、メッセージ1及び
メッセージ2が他のいずれのユーザにもコピーされなか
ったことを意味する。
クにおいて待ち行列化されたメッセージの例を示す。ユ
ーザAに専用のQCBのヘッド・フィールドは、第1の
直接制御ブロックDCBにマップされた第1メッセージ
のアドレスを表わし、そしてその制御ブロックの次のメ
ッセージ・アドレス・フィールドは、第2メッセージに
マップされたユーザAの第2の直接制御ブロックDCB
を表わす。両方の直接制御ブロックDCBのコピーフィ
ールドは数値'1'を記憶し、それは、メッセージ1及び
メッセージ2が他のいずれのユーザにもコピーされなか
ったことを意味する。
【0049】更に、第2のQCBは、そのコピーフィー
ルドにおけるコード'FF'によって識別された間接制御
ブロックICBを指定する。この第1の間接制御ブロッ
クICBは、第3メッセージに関連のマップされた直接
制御ブロックDCBを指定するメッセージ連鎖制御ブロ
ックMCCBポインタを有する。この間接制御ブロック
ICBのコピー数は、直接制御ブロックDCB及び前記
間接制御ブロックICBによって表わされる元の制御ブ
ロックを除くと他のコピーがないことを表わすために数
値2にインクレメントされている。
ルドにおけるコード'FF'によって識別された間接制御
ブロックICBを指定する。この第1の間接制御ブロッ
クICBは、第3メッセージに関連のマップされた直接
制御ブロックDCBを指定するメッセージ連鎖制御ブロ
ックMCCBポインタを有する。この間接制御ブロック
ICBのコピー数は、直接制御ブロックDCB及び前記
間接制御ブロックICBによって表わされる元の制御ブ
ロックを除くと他のコピーがないことを表わすために数
値2にインクレメントされている。
【0050】この例では、この第1の間接制御ブロック
ICBの次メッセージ・アドレス・フィールドが第2の
間接制御ブロックICBを指定する。この第2の間接制
御ブロックICBは第4メッセージへのアクセスを持つ
ことを可能にし、そしてそれの次メッセージ・アドレス
は、テール・フィールドが最後のメッセージ・アドレス
も記憶するユーザAのQCBにおいて待ち行列化された
最後のメッセージを表わす。次メッセージ・アドレス・
フィールドにおけるコード'FF'は、このメッセージが
最後のメッセージであることを表わすことを可能にす
る。
ICBの次メッセージ・アドレス・フィールドが第2の
間接制御ブロックICBを指定する。この第2の間接制
御ブロックICBは第4メッセージへのアクセスを持つ
ことを可能にし、そしてそれの次メッセージ・アドレス
は、テール・フィールドが最後のメッセージ・アドレス
も記憶するユーザAのQCBにおいて待ち行列化された
最後のメッセージを表わす。次メッセージ・アドレス・
フィールドにおけるコード'FF'は、このメッセージが
最後のメッセージであることを表わすことを可能にす
る。
【0051】図13は、それ自身のグローバル・オーダ
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つマイクロプロセッサ又はデータ記憶装置イン
ターフェースDSI(150)のうちのどれかによって
遂行可能な待ち行列解除プリミティブを表わす。グロー
バル・オーダ・マシンGOMは、デバイス・コミュニケ
ーション・サーバDCS(140)にあるアービタに制
御ブロック記憶装置CBSバス許可を要求した後、その
制御ブロック記憶装置CBSにおける制御ブロックを直
接に読み取り又は書き込むことを可能にする。このプリ
ミティブは、データ記憶装置インターフェースDSI
(150)に接続されたユーザの1つによって要求可能
である。
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つマイクロプロセッサ又はデータ記憶装置イン
ターフェースDSI(150)のうちのどれかによって
遂行可能な待ち行列解除プリミティブを表わす。グロー
バル・オーダ・マシンGOMは、デバイス・コミュニケ
ーション・サーバDCS(140)にあるアービタに制
御ブロック記憶装置CBSバス許可を要求した後、その
制御ブロック記憶装置CBSにおける制御ブロックを直
接に読み取り又は書き込むことを可能にする。このプリ
ミティブは、データ記憶装置インターフェースDSI
(150)に接続されたユーザの1つによって要求可能
である。
【0052】この待ち行列解除オペレーションは、待ち
行列におけるメッセージを処理するために、ユーザがそ
のメッセージ又は1セットのデータ・バッファをその待
ち行列から取り出すことを可能にする。上記データ・バ
ッファは、例えば、他のユーザに転送可能であり、或い
は、制御ブロック記憶装置CBSに記憶された直接制御
ブロックDCB又は間接制御ブロックICBを操作する
だけで多くの他のユーザにマルチキャスト可能である。
データ・バッファはFIFOの場合と同じ方法で処理さ
れる。直接制御ブロックDCB又は間接制御ブロックI
CBの待ち行列解除プリミティブは、以下の3つのステ
ップより成る。
行列におけるメッセージを処理するために、ユーザがそ
のメッセージ又は1セットのデータ・バッファをその待
ち行列から取り出すことを可能にする。上記データ・バ
ッファは、例えば、他のユーザに転送可能であり、或い
は、制御ブロック記憶装置CBSに記憶された直接制御
ブロックDCB又は間接制御ブロックICBを操作する
だけで多くの他のユーザにマルチキャスト可能である。
データ・バッファはFIFOの場合と同じ方法で処理さ
れる。直接制御ブロックDCB又は間接制御ブロックI
CBの待ち行列解除プリミティブは、以下の3つのステ
ップより成る。
【0053】ステップ1:データ記憶装置インターフェ
ースDSI(150)は制御ブロック記憶装置CBSに
記憶された待ち行列制御ブロックのヘッド・フィールド
を読み取る。このフィールドは、第1の直接制御ブロッ
クDCB又は間接制御ブロックICBのアドレスを表わ
す。それが直接制御ブロックDCBである場合、それは
データ記憶装置に含まれたデータ・バッファにマップさ
れる。このアドレスは、その後、メッセージに対するポ
インタとしてメッセージを実体処理することにより使用
されるであろう。ステップ2:この第1制御ブロックの
ために、データ記憶装置インターフェースDSI(15
0)はメッセージ制御ブロックにおける次メッセージ・
アドレスを読み取る。ステップ3:データ記憶装置イン
ターフェースDSI(150)は対応するユーザの待ち
行列制御ブロックのヘッド・フィールドに次のメッセー
ジのアドレスを書き込み、従って、この待ち行列解除プ
リミティブを要求したユーザの待ち行列から連鎖したデ
ータ・バッファのセット又はそのメッセージをリリース
する。待ち行列解除プリミティブも読み取り及び書き込
みの3ステップに対して3サイクル・タイムを必要と
し、それらステップは連続的に遂行されなければならな
い。
ースDSI(150)は制御ブロック記憶装置CBSに
記憶された待ち行列制御ブロックのヘッド・フィールド
を読み取る。このフィールドは、第1の直接制御ブロッ
クDCB又は間接制御ブロックICBのアドレスを表わ
す。それが直接制御ブロックDCBである場合、それは
データ記憶装置に含まれたデータ・バッファにマップさ
れる。このアドレスは、その後、メッセージに対するポ
インタとしてメッセージを実体処理することにより使用
されるであろう。ステップ2:この第1制御ブロックの
ために、データ記憶装置インターフェースDSI(15
0)はメッセージ制御ブロックにおける次メッセージ・
アドレスを読み取る。ステップ3:データ記憶装置イン
ターフェースDSI(150)は対応するユーザの待ち
行列制御ブロックのヘッド・フィールドに次のメッセー
ジのアドレスを書き込み、従って、この待ち行列解除プ
リミティブを要求したユーザの待ち行列から連鎖したデ
ータ・バッファのセット又はそのメッセージをリリース
する。待ち行列解除プリミティブも読み取り及び書き込
みの3ステップに対して3サイクル・タイムを必要と
し、それらステップは連続的に遂行されなければならな
い。
【0054】図14は、それ自身のグローバル・オーダ
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つマイクロプロセッサ又はデータ記憶装置イン
ターフェースDSI(150)のどれか1つによって遂
行可能な直接制御ブロックDCB又は間接制御ブロック
ICBのリリース・メッセージ・プリミティブを表わ
す。前述のように、グローバル・オーダ・マシーンは、
デバイス・コミュニケーション・サーバDCS(14
0)にあるアービタに制御ブロック記憶装置CBSバス
許可を要求した後、その制御ブロック記憶装置CBSに
おける制御ブロックを直接に読み取り又は書き込み可能
となる。このプリミティブは、データ記憶装置インター
フェースDSI(150)に接続されたユーザの1つに
よって要求可能である。
・マシーンによる制御ブロック記憶装置CBSへのアク
セスを持つマイクロプロセッサ又はデータ記憶装置イン
ターフェースDSI(150)のどれか1つによって遂
行可能な直接制御ブロックDCB又は間接制御ブロック
ICBのリリース・メッセージ・プリミティブを表わ
す。前述のように、グローバル・オーダ・マシーンは、
デバイス・コミュニケーション・サーバDCS(14
0)にあるアービタに制御ブロック記憶装置CBSバス
許可を要求した後、その制御ブロック記憶装置CBSに
おける制御ブロックを直接に読み取り又は書き込み可能
となる。このプリミティブは、データ記憶装置インター
フェースDSI(150)に接続されたユーザの1つに
よって要求可能である。
【0055】リリース・メッセージ・オペレーション
は、フリー待ち行列内の所与のメッセージに対応するデ
ータ・バッファの完全な連鎖(前述のようなバッファご
との連続ではない)を直接に置くことを可能にする。事
実、制御ブロックだけが操作され、そしてこのリリース
・オペレーションは、それが所定のユーザの待ち行列制
御ブロックの代わりにフリー直接制御ブロックDCB又
はフリー間接制御ブロックICBに関連することを除け
ば、待ち行列化オペレーションと同じである。
は、フリー待ち行列内の所与のメッセージに対応するデ
ータ・バッファの完全な連鎖(前述のようなバッファご
との連続ではない)を直接に置くことを可能にする。事
実、制御ブロックだけが操作され、そしてこのリリース
・オペレーションは、それが所定のユーザの待ち行列制
御ブロックの代わりにフリー直接制御ブロックDCB又
はフリー間接制御ブロックICBに関連することを除け
ば、待ち行列化オペレーションと同じである。
【0056】更に、フリー待ち行列の完全性を検証する
ために、メッセージ制御ブロックはフリー待ち行列フラ
ッグ(メッセージ連鎖制御ブロックMCCBのFQFフ
ィールド)を1にセットすることによって「フリー連鎖
情報」でもってフラッグされるであろう。第1の待ち行
列化では、このフラッグされた情報は消去され、待ち行
列情報によって修正されるであろう。リリース・メッセ
ージ・プリミティブは、図15及び図16において説明
される「リリース直接制御ブロックDCB」又は「リリ
ース間接制御ブロックICB」の基本的オペレーション
を使用する。
ために、メッセージ制御ブロックはフリー待ち行列フラ
ッグ(メッセージ連鎖制御ブロックMCCBのFQFフ
ィールド)を1にセットすることによって「フリー連鎖
情報」でもってフラッグされるであろう。第1の待ち行
列化では、このフラッグされた情報は消去され、待ち行
列情報によって修正されるであろう。リリース・メッセ
ージ・プリミティブは、図15及び図16において説明
される「リリース直接制御ブロックDCB」又は「リリ
ース間接制御ブロックICB」の基本的オペレーション
を使用する。
【0057】図14はリリース・メッセージ機構の主要
なフローチャートを示す。ステップ70において、デー
タ記憶装置インターフェースDSI(150)はメッセ
ージ制御ブロックにおけるコピーフィールドを読み取
り、ステップ71においてその値をチェックする。それ
が値'FF'を記憶してない(それが直接制御ブロックD
CBであることを意味する)場合、プロセスはステップ
75にジャンプする。そうでない(それが間接制御ブロ
ックICBであることを意味する)場合、プロセスは継
続する。ステップ73において、単一の制御ブロック又
は複数の連鎖した制御ブロックより成る間接制御ブロッ
クICB連鎖が、図16において説明したようにリリー
スされる。
なフローチャートを示す。ステップ70において、デー
タ記憶装置インターフェースDSI(150)はメッセ
ージ制御ブロックにおけるコピーフィールドを読み取
り、ステップ71においてその値をチェックする。それ
が値'FF'を記憶してない(それが直接制御ブロックD
CBであることを意味する)場合、プロセスはステップ
75にジャンプする。そうでない(それが間接制御ブロ
ックICBであることを意味する)場合、プロセスは継
続する。ステップ73において、単一の制御ブロック又
は複数の連鎖した制御ブロックより成る間接制御ブロッ
クICB連鎖が、図16において説明したようにリリー
スされる。
【0058】ステップ74において、データ記憶装置イ
ンターフェースDSI(150)は間接制御ブロックI
CBのメッセージ連鎖制御ブロックMCCBポインタ・
フィールドを読み取り、関連の直接制御ブロックDCB
のアドレスを得る。データ記憶装置インターフェースD
SI(150)はこの直接制御ブロックDCBにおける
コピーフィールドを読み取る。ステップ75において、
データ記憶装置インターフェースDSI(150)はコ
ピー数をデクレメントし、その値がステップ76で0に
比較される。その値が0ではない場合、そのメッセージ
を含む少なくとも1つのユーザ待ち行列が依然として存
在するため、プロセスは停止する。その値が0に等しい
場合、それはその直接制御ブロックDCBが最後のもの
であることそしてデータ・バッファは最早使用されない
であろうことを意味するので、図15において説明され
るように、その直接制御ブロックDCB連鎖はリリース
される。
ンターフェースDSI(150)は間接制御ブロックI
CBのメッセージ連鎖制御ブロックMCCBポインタ・
フィールドを読み取り、関連の直接制御ブロックDCB
のアドレスを得る。データ記憶装置インターフェースD
SI(150)はこの直接制御ブロックDCBにおける
コピーフィールドを読み取る。ステップ75において、
データ記憶装置インターフェースDSI(150)はコ
ピー数をデクレメントし、その値がステップ76で0に
比較される。その値が0ではない場合、そのメッセージ
を含む少なくとも1つのユーザ待ち行列が依然として存
在するため、プロセスは停止する。その値が0に等しい
場合、それはその直接制御ブロックDCBが最後のもの
であることそしてデータ・バッファは最早使用されない
であろうことを意味するので、図15において説明され
るように、その直接制御ブロックDCB連鎖はリリース
される。
【0059】図15は、連続的に遂行されなければなら
ない以下のような3つの論理的ステップより成る直接制
御ブロックDCBリリース・オペレーションを示す。 ステップ1:データ記憶装置インターフェースDSI
(150)はフリー直接制御ブロック待ち行列FDCB
Q制御ブロック(FDQCB)のテールを読み取る。こ
のテール・フィールドは最後のフリー直接制御ブロック
DCBのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、フリー直接制御ブロック待ち行列FDC
BQにおいて待ち行列化されるべき直接制御ブロックD
CBのセットのうちの最後の直接制御ブロックDCBの
アドレスをこのテール・フィールドに書き込む。このア
ドレスは、メッセージ連鎖制御ブロックMCCBの最後
のバッファ・アドレス・フィールドにおいて、即ち、メ
ッセージの第1直接制御ブロックDCBにおいて見つけ
られる。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
スを前の直接制御ブロックDCBに書き込み、従って、
フリー直接制御ブロック待ち行列FDCBQの待ち行列
に直接制御ブロックDCBの新しいセットを挿入する。
ない以下のような3つの論理的ステップより成る直接制
御ブロックDCBリリース・オペレーションを示す。 ステップ1:データ記憶装置インターフェースDSI
(150)はフリー直接制御ブロック待ち行列FDCB
Q制御ブロック(FDQCB)のテールを読み取る。こ
のテール・フィールドは最後のフリー直接制御ブロック
DCBのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、フリー直接制御ブロック待ち行列FDC
BQにおいて待ち行列化されるべき直接制御ブロックD
CBのセットのうちの最後の直接制御ブロックDCBの
アドレスをこのテール・フィールドに書き込む。このア
ドレスは、メッセージ連鎖制御ブロックMCCBの最後
のバッファ・アドレス・フィールドにおいて、即ち、メ
ッセージの第1直接制御ブロックDCBにおいて見つけ
られる。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
スを前の直接制御ブロックDCBに書き込み、従って、
フリー直接制御ブロック待ち行列FDCBQの待ち行列
に直接制御ブロックDCBの新しいセットを挿入する。
【0060】図16は、連続的に遂行されなければなら
ない以下のような3つの論理的ステップより成る間接制
御ブロックICBリリース・オペレーションを示す。
ない以下のような3つの論理的ステップより成る間接制
御ブロックICBリリース・オペレーションを示す。
【0061】ステップ1:データ記憶装置インターフェ
ースDSI(150)はフリー間接制御ブロック待ち行
列FICBQ制御ブロック(FIQCB)のテールを読
み取る。このテール・フィールドは最後のフリー間接制
御ブロックICBのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、フリー間接制御ブロック待ち行列FIC
BQにおいて待ち行列化されるべき間接制御ブロックI
CBのセットのうちの第1の間接制御ブロックICBの
アドレスをこのテール・フィールドに書き込む。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
スを前の間接制御ブロックICBに書き込み、従って、
フリー間接制御ブロック待ち行列FICBQの待ち行列
に間接制御ブロックICBの新しいセットを挿入する。 リリース・オペレーションに対して必要なサイクル・タ
イムの合計数は、直接制御ブロックDCB又は間接制御
ブロックICBがリリースされるケースに依存する。
ースDSI(150)はフリー間接制御ブロック待ち行
列FICBQ制御ブロック(FIQCB)のテールを読
み取る。このテール・フィールドは最後のフリー間接制
御ブロックICBのアドレスを表わす。 ステップ2:データ記憶装置インターフェースDSI
(150)は、フリー間接制御ブロック待ち行列FIC
BQにおいて待ち行列化されるべき間接制御ブロックI
CBのセットのうちの第1の間接制御ブロックICBの
アドレスをこのテール・フィールドに書き込む。 ステップ3:データ記憶装置インターフェースDSI
(150)は、最終的には、新しいメッセージのアドレ
スを前の間接制御ブロックICBに書き込み、従って、
フリー間接制御ブロック待ち行列FICBQの待ち行列
に間接制御ブロックICBの新しいセットを挿入する。 リリース・オペレーションに対して必要なサイクル・タ
イムの合計数は、直接制御ブロックDCB又は間接制御
ブロックICBがリリースされるケースに依存する。
【0062】図17は、パケット長(バイト)の関数と
してのライン・インターフェース・モジュールLIMス
ループット(Mbps)の図を示す。この図では、修正
された構造によるライン・インターフェース・モジュー
ルLIMスループットは短いパケット長の時に速く大き
くなり、20バイト・パケット長の時に最大(400M
bps)となることが注目される。40ナノ秒の制御ブ
ロック記憶装置CBSバス・サイクル・タイムを仮定す
ると、それは2.2メガ・パケット/秒となる。これ
は、パケット長が12バイト・パケットである時に21
0Mbpsの媒体を処理することを可能にする。この方
法では、このライン・インターフェース・モジュールL
IMの実施は、満足すべき媒体の利用では約T3の速度
(45Mbps)で、及びT3の速度の3倍(155M
bps)であるOC3(光学的キャリア)に達するため
にはT3を超える速度で、すべてのタイプの通信をサポ
ートするであろう。
してのライン・インターフェース・モジュールLIMス
ループット(Mbps)の図を示す。この図では、修正
された構造によるライン・インターフェース・モジュー
ルLIMスループットは短いパケット長の時に速く大き
くなり、20バイト・パケット長の時に最大(400M
bps)となることが注目される。40ナノ秒の制御ブ
ロック記憶装置CBSバス・サイクル・タイムを仮定す
ると、それは2.2メガ・パケット/秒となる。これ
は、パケット長が12バイト・パケットである時に21
0Mbpsの媒体を処理することを可能にする。この方
法では、このライン・インターフェース・モジュールL
IMの実施は、満足すべき媒体の利用では約T3の速度
(45Mbps)で、及びT3の速度の3倍(155M
bps)であるOC3(光学的キャリア)に達するため
にはT3を超える速度で、すべてのタイプの通信をサポ
ートするであろう。
【0063】図18はマルチキャスト処理の例を示す。
このケースでは、データ記憶装置(100)に記憶され
たデータ・バッファ(10)及び(11)はユーザのメ
ッセージを表わす。データ・バッファ(10)及び(1
1)は、それぞれ、前述のようなテンプレートを有する
直接制御ブロックDCB(12)及び(13)に関連付
けられる。第1の直接制御ブロックDCB(12)の次
バッファ・アドレス・フィールドは、矢印(12−1)
によって示された同じメッセージの次の直接制御ブロッ
クDCB(13)を指定可能にする。第2の直接制御ブ
ロックDCBがメッセージの最後のデータ・バッファを
含むデータ・バッファに関連する時、次バッファ・アド
レス・フィールドは'FF'を記憶し、一方、第1の直接
制御ブロックDCBは、次のメッセージがあれば、それ
を含むデータ・バッファのアドレスを記憶するであろ
う。次のメッセージのアドレスを第2の直接制御ブロッ
クDCBに記憶する必要はない。前述のように、それら
直接制御ブロックDCB(12)及び(13)は制御ブ
ロック記憶装置CBSにも記憶可能である。それら直接
制御ブロック(DCB)に関連して、矢印(14ー
1)、(15ー1)及び(16ー1)によって表わされ
たメッセージ連鎖制御ブロックMCCBポインタ・フィ
ールドのために、元の制御ブロック(12)を指定する
間接制御ブロックICB(14)、(15)及び(1
6)がある。
このケースでは、データ記憶装置(100)に記憶され
たデータ・バッファ(10)及び(11)はユーザのメ
ッセージを表わす。データ・バッファ(10)及び(1
1)は、それぞれ、前述のようなテンプレートを有する
直接制御ブロックDCB(12)及び(13)に関連付
けられる。第1の直接制御ブロックDCB(12)の次
バッファ・アドレス・フィールドは、矢印(12−1)
によって示された同じメッセージの次の直接制御ブロッ
クDCB(13)を指定可能にする。第2の直接制御ブ
ロックDCBがメッセージの最後のデータ・バッファを
含むデータ・バッファに関連する時、次バッファ・アド
レス・フィールドは'FF'を記憶し、一方、第1の直接
制御ブロックDCBは、次のメッセージがあれば、それ
を含むデータ・バッファのアドレスを記憶するであろ
う。次のメッセージのアドレスを第2の直接制御ブロッ
クDCBに記憶する必要はない。前述のように、それら
直接制御ブロックDCB(12)及び(13)は制御ブ
ロック記憶装置CBSにも記憶可能である。それら直接
制御ブロック(DCB)に関連して、矢印(14ー
1)、(15ー1)及び(16ー1)によって表わされ
たメッセージ連鎖制御ブロックMCCBポインタ・フィ
ールドのために、元の制御ブロック(12)を指定する
間接制御ブロックICB(14)、(15)及び(1
6)がある。
【0064】それら間接制御ブロックICBはそれらの
コピーフィールドに表示'FF'を記憶する。このフィー
ルドは間接制御ブロックICBがフリー間接制御ブロッ
ク待ち行列FICBQにおいて待ち行列化される時に使
用されるだけなので、次のバッファ・アドレスは空であ
る。それら間接制御ブロックICBの他のフィールド
は、必要な情報があれば、それを記憶するであろう。
コピーフィールドに表示'FF'を記憶する。このフィー
ルドは間接制御ブロックICBがフリー間接制御ブロッ
ク待ち行列FICBQにおいて待ち行列化される時に使
用されるだけなので、次のバッファ・アドレスは空であ
る。それら間接制御ブロックICBの他のフィールド
は、必要な情報があれば、それを記憶するであろう。
【0065】図19及び図20は、拡張直接制御ブロッ
クDCB及び拡張間接制御ブロックICBが含む種々の
フィールド示す。拡張直接制御ブロックDCBおよび拡
張間接制御ブロックICBの主たる目的は、直接制御ブ
ロックDCBにマップされた各データ・バッファに各間
接制御ブロックICBを関連付けることである。それが
意味することは、メッセージ・ブロックの代わりにバッ
ファ・レベルで制御ブロックをコピーすることによっ
て、各直接制御ブロックDCB及び間接制御ブロックI
CBにおけるオフセット表示フィールド及びバイト・カ
ウント表示フィールド(図4参照)により種々のデータ
内容を持ったメッセージを作成することが可能になると
いうことである。その拡張は、TCP/IPセグメント
化機能を実施するために使用可能である。しかし、この
拡張は直接制御ブロックDCBおよび間接制御ブロック
ICBのあるフィールドにおけるいくつかの修正を必要
とする。
クDCB及び拡張間接制御ブロックICBが含む種々の
フィールド示す。拡張直接制御ブロックDCBおよび拡
張間接制御ブロックICBの主たる目的は、直接制御ブ
ロックDCBにマップされた各データ・バッファに各間
接制御ブロックICBを関連付けることである。それが
意味することは、メッセージ・ブロックの代わりにバッ
ファ・レベルで制御ブロックをコピーすることによっ
て、各直接制御ブロックDCB及び間接制御ブロックI
CBにおけるオフセット表示フィールド及びバイト・カ
ウント表示フィールド(図4参照)により種々のデータ
内容を持ったメッセージを作成することが可能になると
いうことである。その拡張は、TCP/IPセグメント
化機能を実施するために使用可能である。しかし、この
拡張は直接制御ブロックDCBおよび間接制御ブロック
ICBのあるフィールドにおけるいくつかの修正を必要
とする。
【0066】図19は、図5において既に示された基本
フィールドに加えて拡張直接制御ブロックDCBが含む
フィールドを以下で詳細に示す。 (a)1バイトのコピーフィールド。これは、制御ブロ
ックによって暗黙的に参照されるデータのコピー数の値
を示す。 (b)1バイトのバイト・カウント・フィールド。これ
はそのバッファで使用されるバイトの数を与える。 (c)2バイトの次バッファ・アドレス・フィールド。
直接制御ブロックDCBの場合、このフィールドはユー
ザ待ち行列において直接制御ブロックDCBを(その
後、関連のデータ・バッファを)連鎖する(その連鎖し
たバッファがメッセージを形成する)ために、又はフリ
ー直接制御ブロックDCB待ち行列において直接制御ブ
ロックDCBを連鎖する(フリー・バッファはすべてこ
の待ち行列において連鎖される)ために使用される。 (d)1バイトのオフセット・フィールド。これはその
バッファにおけるデータの始めを表わす。 (e)1ビットのフリー待ち行列フラッグ(FQF)。
これは、それが1に等しい時、メッセージを形成するバ
ッファの連鎖がフリー待ち行列内にあることを表わす。 (f)2バイトのボイド(void)フィールド。 (g)2バイトの合計メッセージ・カウント・フィール
ド。これはそのメッセージにおいて使用されるバイトの
数を与える。 (h)2バイトの次のメッセージ・アドレス・フィール
ド。 (i)2バイトの最後のバッファ・アドレス・フィール
ド。これは1つのメッセージの最後の直接制御ブロック
DCBの(その後、データ・バッファの)アドレスを与
える。
フィールドに加えて拡張直接制御ブロックDCBが含む
フィールドを以下で詳細に示す。 (a)1バイトのコピーフィールド。これは、制御ブロ
ックによって暗黙的に参照されるデータのコピー数の値
を示す。 (b)1バイトのバイト・カウント・フィールド。これ
はそのバッファで使用されるバイトの数を与える。 (c)2バイトの次バッファ・アドレス・フィールド。
直接制御ブロックDCBの場合、このフィールドはユー
ザ待ち行列において直接制御ブロックDCBを(その
後、関連のデータ・バッファを)連鎖する(その連鎖し
たバッファがメッセージを形成する)ために、又はフリ
ー直接制御ブロックDCB待ち行列において直接制御ブ
ロックDCBを連鎖する(フリー・バッファはすべてこ
の待ち行列において連鎖される)ために使用される。 (d)1バイトのオフセット・フィールド。これはその
バッファにおけるデータの始めを表わす。 (e)1ビットのフリー待ち行列フラッグ(FQF)。
これは、それが1に等しい時、メッセージを形成するバ
ッファの連鎖がフリー待ち行列内にあることを表わす。 (f)2バイトのボイド(void)フィールド。 (g)2バイトの合計メッセージ・カウント・フィール
ド。これはそのメッセージにおいて使用されるバイトの
数を与える。 (h)2バイトの次のメッセージ・アドレス・フィール
ド。 (i)2バイトの最後のバッファ・アドレス・フィール
ド。これは1つのメッセージの最後の直接制御ブロック
DCBの(その後、データ・バッファの)アドレスを与
える。
【0067】図20は、拡張間接制御ブロックICBが
含む種々なフィールドを詳細に示す。次のようないくつ
かの間接制御ブロックICBフィールドが修正されてい
る。 (a)次バッファ・アドレス・フィールドは(フリー間
接制御ブロック待ち行列FICBQにおける間接制御ブ
ロックICBの連鎖に加えて)ユーザ待ち行列における
同じメッセージの間接制御ブロックICBを連鎖するこ
とも可能にする。 (b)メッセージ連鎖制御ブロックMCCBポインタ・
フィールドはバッファ連鎖制御ブロックBCCBポイン
タ・フィールドとなり、メッセージを形成する間接制御
ブロックICBの連鎖において各間接制御ブロックIC
Bに対し1つの直接制御ブロックDCBを関連付ける。 (c)間接制御ブロックICBリリース・オペレーショ
ンに対する直接制御ブロックDCBの場合と同じよう
に、最後のバッファ・アドレス・フィールドが使用され
る。
含む種々なフィールドを詳細に示す。次のようないくつ
かの間接制御ブロックICBフィールドが修正されてい
る。 (a)次バッファ・アドレス・フィールドは(フリー間
接制御ブロック待ち行列FICBQにおける間接制御ブ
ロックICBの連鎖に加えて)ユーザ待ち行列における
同じメッセージの間接制御ブロックICBを連鎖するこ
とも可能にする。 (b)メッセージ連鎖制御ブロックMCCBポインタ・
フィールドはバッファ連鎖制御ブロックBCCBポイン
タ・フィールドとなり、メッセージを形成する間接制御
ブロックICBの連鎖において各間接制御ブロックIC
Bに対し1つの直接制御ブロックDCBを関連付ける。 (c)間接制御ブロックICBリリース・オペレーショ
ンに対する直接制御ブロックDCBの場合と同じよう
に、最後のバッファ・アドレス・フィールドが使用され
る。
【0068】図21は、メッセージのマルチキャストよ
りも更に複雑な機能を与えるために拡張制御ブロックを
使用する時のマルチキャスト処理の一例を示す。基本的
には、マルチキャストはメッセージコピーのために使用
される。その場合、各メッセージは、1つの特定なデー
タ・バッファ及び1つの連鎖したデータ・バッファを含
み得るものであり、メッセージ制御ブロックに関連付け
られる。従って、この基本的マルチキャストは同じデー
タ(メッセージ内容)を何回も参照することを可能にす
る。この例はデータ・バッファのレベルでコピーを説明
する。間接制御ブロックICBにより表わされるコピー
されたバッファは、直接制御ブロックDCBにより表わ
された元のデータ・バッファとは異なる内容を持つこと
がある。
りも更に複雑な機能を与えるために拡張制御ブロックを
使用する時のマルチキャスト処理の一例を示す。基本的
には、マルチキャストはメッセージコピーのために使用
される。その場合、各メッセージは、1つの特定なデー
タ・バッファ及び1つの連鎖したデータ・バッファを含
み得るものであり、メッセージ制御ブロックに関連付け
られる。従って、この基本的マルチキャストは同じデー
タ(メッセージ内容)を何回も参照することを可能にす
る。この例はデータ・バッファのレベルでコピーを説明
する。間接制御ブロックICBにより表わされるコピー
されたバッファは、直接制御ブロックDCBにより表わ
された元のデータ・バッファとは異なる内容を持つこと
がある。
【0069】この例は、1つのメッセージ(MSG
A)がユーザ待ち行列X、Y、Zによって表わされた3
つのユーザ(X、Y、Z)により共用される。メッセー
ジAは3つのユーザの待ち行列における第1メッセージ
であり、それは3つのデータ・バッファ(バッファ1、
バッファ2、バッファ3)を有する。ユーザ待ち行列X
は直接制御ブロックDCBを含み、一方、ユーザ待ち行
列Y及びZはメッセージAに関連した間接制御ブロック
ICBを含む。
A)がユーザ待ち行列X、Y、Zによって表わされた3
つのユーザ(X、Y、Z)により共用される。メッセー
ジAは3つのユーザの待ち行列における第1メッセージ
であり、それは3つのデータ・バッファ(バッファ1、
バッファ2、バッファ3)を有する。ユーザ待ち行列X
は直接制御ブロックDCBを含み、一方、ユーザ待ち行
列Y及びZはメッセージAに関連した間接制御ブロック
ICBを含む。
【0070】第1ののデータ・バッファ(バッファ1)
は第1の直接制御ブロックDCBにマップされ、その第
1の直接制御ブロックDCBの次バッファ・アドレス・
フィールドが第2のデータ・バッファ(バッファ2)に
マップされた第2の直接制御ブロックDCBを指定す
る。この第2の直接制御ブロックDCBは、第3のデー
タ・バッファ(バッファ3)にマップされた第3の直接
制御ブロックDCBを指定する。この第3の直接制御ブ
ロックDCBのアドレスは、第1の直接制御ブロックD
CBの最後のバッファ・アドレス・フィールドに記憶さ
れる。各直接制御ブロックDCBは、データ・バッファ
の始めを表わすことを可能にし、そしてバイト・カウン
ト・フィールドと組み合わせて、直接制御ブロックDC
B内容を決定するオフセット・フィールドを有する。更
に、各直接制御ブロックDCBのコピー数は、各データ
・バッファ(バッファ1乃至3)がユーザ待ち行列Y及
びZの間接制御ブロックICBによって指定されるた
め、数値3までインクレメントされる。
は第1の直接制御ブロックDCBにマップされ、その第
1の直接制御ブロックDCBの次バッファ・アドレス・
フィールドが第2のデータ・バッファ(バッファ2)に
マップされた第2の直接制御ブロックDCBを指定す
る。この第2の直接制御ブロックDCBは、第3のデー
タ・バッファ(バッファ3)にマップされた第3の直接
制御ブロックDCBを指定する。この第3の直接制御ブ
ロックDCBのアドレスは、第1の直接制御ブロックD
CBの最後のバッファ・アドレス・フィールドに記憶さ
れる。各直接制御ブロックDCBは、データ・バッファ
の始めを表わすことを可能にし、そしてバイト・カウン
ト・フィールドと組み合わせて、直接制御ブロックDC
B内容を決定するオフセット・フィールドを有する。更
に、各直接制御ブロックDCBのコピー数は、各データ
・バッファ(バッファ1乃至3)がユーザ待ち行列Y及
びZの間接制御ブロックICBによって指定されるた
め、数値3までインクレメントされる。
【0071】ユーザ待ち行列Xは第2メッセージBも記
憶する。その第2メッセージのアドレスは第1の直接制
御ブロックDCBの次メッセージ・アドレス・フィール
ドに記憶される。単一のデータ・バッファを含むこの第
2メッセージは単一の直接制御ブロックDCBにマップ
される。このメッセージは他の如何なるユーザにもコピ
ーされていないため、その単一の直接制御ブロックDC
Bのコピー数は'1'である。
憶する。その第2メッセージのアドレスは第1の直接制
御ブロックDCBの次メッセージ・アドレス・フィール
ドに記憶される。単一のデータ・バッファを含むこの第
2メッセージは単一の直接制御ブロックDCBにマップ
される。このメッセージは他の如何なるユーザにもコピ
ーされていないため、その単一の直接制御ブロックDC
Bのコピー数は'1'である。
【0072】前述のように、この例は、各間接制御ブロ
ックICBに1つのデータバッファが対応するが、デー
タ・バッファにマップされた間接制御ブロックICBは
ないという複雑なケースを示す。従って、ユーザ待ち行
列Yは3つの間接制御ブロックICBを記憶し、その各
々は、間接制御ブロックICBのバッファ連鎖制御ブロ
ックBCCBポインタ・フィールドによって前述の直接
制御ブロックDCBを指定する。各間接制御ブロックI
CBのオフセット・フィールドは各コピーされたデータ
・バッファと元のデータ・バッファとの内容の区別を得
ることを可能にする。各間接制御ブロックICBの次バ
ッファ・アドレス・フィールドは次の間接制御ブロック
ICBを指定し、一方、最後の間接制御ブロックICB
はコード'FF'を記憶する。更に、第1間接制御ブロッ
クICBの最後のバッファ・アドレスは、このユーザY
に対してコピーされたメッセージAの第3の間接制御ブ
ロックICBである最後の間接制御ブロックICBを指
定する。
ックICBに1つのデータバッファが対応するが、デー
タ・バッファにマップされた間接制御ブロックICBは
ないという複雑なケースを示す。従って、ユーザ待ち行
列Yは3つの間接制御ブロックICBを記憶し、その各
々は、間接制御ブロックICBのバッファ連鎖制御ブロ
ックBCCBポインタ・フィールドによって前述の直接
制御ブロックDCBを指定する。各間接制御ブロックI
CBのオフセット・フィールドは各コピーされたデータ
・バッファと元のデータ・バッファとの内容の区別を得
ることを可能にする。各間接制御ブロックICBの次バ
ッファ・アドレス・フィールドは次の間接制御ブロック
ICBを指定し、一方、最後の間接制御ブロックICB
はコード'FF'を記憶する。更に、第1間接制御ブロッ
クICBの最後のバッファ・アドレスは、このユーザY
に対してコピーされたメッセージAの第3の間接制御ブ
ロックICBである最後の間接制御ブロックICBを指
定する。
【0073】第1の間接制御ブロックICBは、次のメ
ッセージに対応する次の制御ブロックのアドレスを次メ
ッセージ・アドレス・フィールドに記憶する。この例で
は、直接制御ブロックDCBにマップされたメッセージ
Cはユーザ待ち行列Yに待ち行列化される。従って、コ
ピーされてないこのメッセージはコピーフィールドに数
値'1'を記憶する。そのメッセージはユーザZにもコピ
ーされている。従って、メッセージAに対応する間接制
御ブロックICBはユーザ待ち行列Zに記憶され、ユー
ザ待ち行列Yに関して説明した機構と同じ機構に関連す
る。ユーザZのメッセージAには、単一のデータ・バッ
ファを含み且つ単一の直接制御ブロックDCBにマップ
された第2メッセージDが続く。
ッセージに対応する次の制御ブロックのアドレスを次メ
ッセージ・アドレス・フィールドに記憶する。この例で
は、直接制御ブロックDCBにマップされたメッセージ
Cはユーザ待ち行列Yに待ち行列化される。従って、コ
ピーされてないこのメッセージはコピーフィールドに数
値'1'を記憶する。そのメッセージはユーザZにもコピ
ーされている。従って、メッセージAに対応する間接制
御ブロックICBはユーザ待ち行列Zに記憶され、ユー
ザ待ち行列Yに関して説明した機構と同じ機構に関連す
る。ユーザZのメッセージAには、単一のデータ・バッ
ファを含み且つ単一の直接制御ブロックDCBにマップ
された第2メッセージDが続く。
【0074】前述の間接制御ブロックICBはすべて制
御ブロックのタイプを表わすためのコード'FF'をコピ
ーフィールドに記憶するといえる。間接制御ブロックI
CBが第1のデータ・バッファにマップされた直接制御
ブロックDCBである場合、コピーフィールドにおける
コード'FF'はその制御ブロックを間接制御ブロックI
CBとして考察することを可能にし、従って、データ・
バッファは無効にされる。
御ブロックのタイプを表わすためのコード'FF'をコピ
ーフィールドに記憶するといえる。間接制御ブロックI
CBが第1のデータ・バッファにマップされた直接制御
ブロックDCBである場合、コピーフィールドにおける
コード'FF'はその制御ブロックを間接制御ブロックI
CBとして考察することを可能にし、従って、データ・
バッファは無効にされる。
【0075】
【発明の効果】本発明の方法及び装置は、再書き込み及
び再削除という不要な動作の実行を回避することによっ
て、マルチキャストのパフォーマンスを改良することを
可能にする。
び再削除という不要な動作の実行を回避することによっ
て、マルチキャストのパフォーマンスを改良することを
可能にする。
【図1】従来技術における基本的ライン・インターフェ
ース・モジュールLIMアーキテクチャを示すブロック
図である。
ース・モジュールLIMアーキテクチャを示すブロック
図である。
【図2】従来技術における基本的ライン・インターフェ
ース・モジュールLIMのパケット長の関数としてのラ
イン・インターフェース・モジュールLIMスループッ
トを示すグラフである。
ース・モジュールLIMのパケット長の関数としてのラ
イン・インターフェース・モジュールLIMスループッ
トを示すグラフである。
【図3】本発明に従って好ましいライン・インターフェ
ース・モジュールLIMアーキテクチャの構造を組み込
んだ通信システムのブロック図である。
ース・モジュールLIMアーキテクチャの構造を組み込
んだ通信システムのブロック図である。
【図4】基本的な制御ブロックの種々なフィールドを示
す図である。
す図である。
【図5】本発明に従って使用される直接制御ブロックD
CBの種々のフィールドを示す図である。
CBの種々のフィールドを示す図である。
【図6】本発明に従って使用される間接制御ブロックI
CBの種々のフィールドを示す図である。
CBの種々のフィールドを示す図である。
【図7】本発明に従った直接制御ブロックDCB及び間
接制御ブロックICBの使用例を示すブロック図であ
る。
接制御ブロックICBの使用例を示すブロック図であ
る。
【図8】本発明に従って制御ブロック記憶装置CBSへ
のアクセスを有するデータ記憶装置インターフェースD
SI又はデバイス・コミュニケーション・サーバDCS
により遂行される直接制御ブロックDCB・リース機構
を示すブロック図である。
のアクセスを有するデータ記憶装置インターフェースD
SI又はデバイス・コミュニケーション・サーバDCS
により遂行される直接制御ブロックDCB・リース機構
を示すブロック図である。
【図9】データ記憶装置インターフェースDSI又はデ
バイス・コミュニケーション・サーバDCSによって遂
行される間接制御ブロックICBのリース機構を示すブ
ロック図である。
バイス・コミュニケーション・サーバDCSによって遂
行される間接制御ブロックICBのリース機構を示すブ
ロック図である。
【図10】データ記憶装置インターフェースDSI又は
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCBの待ち行列化機構を
示すブロック図である。
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCBの待ち行列化機構を
示すブロック図である。
【図11】データ記憶装置インターフェースDSI又は
デバイス・コミュニケーション・サーバDCSによって
遂行される間接制御ブロックICBの待ち行列化機構を
示す流れ図である。
デバイス・コミュニケーション・サーバDCSによって
遂行される間接制御ブロックICBの待ち行列化機構を
示す流れ図である。
【図12】ユーザAの待ち行列制御ブロックにおいて待
ち行列化された直接制御ブロックDCBメッセージの例
を示すブロック図である。
ち行列化された直接制御ブロックDCBメッセージの例
を示すブロック図である。
【図13】データ記憶装置インターフェースDSI又は
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCB及び間接制御ブロッ
クICBの待ち行列化解除機構を示すブロック図であ
る。
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCB及び間接制御ブロッ
クICBの待ち行列化解除機構を示すブロック図であ
る。
【図14】本発明に従って制御ブロック記憶装置CBS
へのアクセスを有するようにデータ記憶装置インターフ
ェースDSI又はデバイス・コミュニケーション・サー
バDCSによって遂行されるリリース機構を示す流れ図
である。
へのアクセスを有するようにデータ記憶装置インターフ
ェースDSI又はデバイス・コミュニケーション・サー
バDCSによって遂行されるリリース機構を示す流れ図
である。
【図15】データ記憶装置インターフェースDSI又は
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCBのリリース機構を示
すブロック図である。
デバイス・コミュニケーション・サーバDCSによって
遂行される直接制御ブロックDCBのリリース機構を示
すブロック図である。
【図16】データ記憶装置インターフェースDSI又は
デバイス・コミュニケーション・サーバDCSによって
遂行される間接制御ブロックICBのリリース機構を示
すブロック図である。
デバイス・コミュニケーション・サーバDCSによって
遂行される間接制御ブロックICBのリリース機構を示
すブロック図である。
【図17】従来技術のライン・インターフェース・モジ
ュールLIMスループットに比較した本発明のライン・
インターフェース・モジュールLIMスループットをパ
ケット長(バイト)の関数として示すグラフである。
ュールLIMスループットに比較した本発明のライン・
インターフェース・モジュールLIMスループットをパ
ケット長(バイト)の関数として示すグラフである。
【図18】直接制御ブロックDCB及び間接制御ブロッ
クICBを使用するマルチキャスト・オペレーションの
例を示すブロック図である。
クICBを使用するマルチキャスト・オペレーションの
例を示すブロック図である。
【図19】拡張直接制御ブロックDCBの種々のフィー
ルドを示す図である。
ルドを示す図である。
【図20】拡張間接制御ブロックICBの種々のフィー
ルドを示す図である。
ルドを示す図である。
【図21】拡張直接制御ブロックDCB及び拡張間接制
御ブロックICBを使用するマルチキャスト・オペレー
ションの例を示すブロック図である。
御ブロックICBを使用するマルチキャスト・オペレー
ションの例を示すブロック図である。
100・・・データ記憶装置 101・・・データ記憶(DS)バス 102・・・高性能パラレル(HPPB)バス 103・・・制御ブロック記憶(CBS)バス 110・・・データ記憶マネージャ(DSM) 120・・・ローカル記憶装置 130・・・マイクロプロセッサ 140・・・デバイス・コミュニケーション・サーバ
(DCS) 150・・・データ記憶インターフェース(DSI) 152・・・インターフェース・アダプタ(IFA)/
スキャナ 154・・・接続サブシステム(CSS)スイッチ 160・・・制御ブロック記憶装置(CBS)
(DCS) 150・・・データ記憶インターフェース(DSI) 152・・・インターフェース・アダプタ(IFA)/
スキャナ 154・・・接続サブシステム(CSS)スイッチ 160・・・制御ブロック記憶装置(CBS)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クロード・バッソー フランス国ニース 06200、アベニュ ー・ドゥ・ラ・ランテルン 252番地 (72)発明者 ディディエール・ジロール フランス国カンヌ−シュル−メール 06800、シュメン・デュ・バル・フルー リ 84番地 (72)発明者 ジャン・カルバニャック フランス国ラ・ゴード 06610、シュメ ン・レス・バリエール 187番地 (72)発明者 クロード・ギャランド フランス国カンヌ・シュル−メール 06800、アベニュー・デ・テュイリエー ル 56番地
Claims (12)
- 【請求項1】複数の宛先ユーザによって共用され且つデ
ータ記憶バスを介して前記ユーザによってアクセスされ
るメモリより成る通信システムにおいて該宛先ユーザに
メッセージをマルチキャストする方法であって、前記メ
モリは複数の制御ブロックによって制御される複数のデ
ータ・バッファで編成され、マルチキャストされるべき
各メッセージは連鎖したデータ・バッファより成り、各
宛先ユーザのメッセージの制御ブロックを記憶するユー
ザ待ち行列が該宛先ユーザに関連付けられ、前記ユーザ
待ち行列はユーザ待ち行列制御ブロックによって制御さ
れるものにおいて、 (a)複数の直接制御ブロック内に前記複数の制御ブロ
ックを編成するステップであって、該直接制御ブロック
の各々は、直接制御ブロックのアドレスと所定の関係を
有するアドレスを持ったデータ・バッファに関連付けら
れることと、 (b)すべてのフリー直接制御ブロックのアドレスを記
憶し且つ該フリー直接制御ブロックを連鎖するフリー直
接制御ブロック待ち行列を形成するステップであって、
該待ち行列は第1のフリー直接制御ブロックのアドレス
及び最後のフリー直接制御ブロックのアドレスを、それ
ぞれ、ヘッド・フィールド及びテール・フィールドに記
憶するフリー直接待ち行列制御ブロックによって制御さ
れることと、 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするために複数の間接制御ブロック内に前
記複数の制御ブロックを編成するステップと、 (d)すべてのフリー間接制御ブロックのアドレスを記
憶し且つ該フリー間接制御ブロックを連鎖するフリー間
接制御ブロック待ち行列を形成するステップであって、
該待ち行列は第1のフリー間接制御ブロックのアドレス
及び最後のフリー間接制御ブロックのアドレスを、それ
ぞれ、ヘッド・フィールド及びテール・フィールドに記
憶するフリー間接待ち行列制御ブロックによって制御さ
れることと、 (e)前記フリー直接制御ブロック待ち行列から必要な
数のフリー直接制御ブロックをリースするステップであ
って、各フリー直接制御ブロックはフリー・データ・バ
ッファにおいて受信されたメッセージを記憶するために
該フリー・データ・バッファに関連付けられていること
と、 (f)元のメッセージを構成する関連付けられたデータ
・バッファに関する情報を前記フリー直接制御ブロック
に記憶するステップと、 (g)前記ユーザ待ち行列において関連の直接制御ブロ
ックを待ち行列化することによって、前記メッセージを
1つの選択されたユーザのメッセージ待ち行列において
待ち行列化するステップと、 (h)各マルチキャスト・オペレーションに対して、前
記間接制御ブロックの各々においてマルチキャストされ
るべきメッセージに関する情報を記憶するために、フリ
ー間接制御ブロック待ち行列からフリー間接制御ブロッ
クを連続的にリースするステップと、 (i)マルチキャストされるべきメッセージに関する情
報を前記フリー間接制御ブロックの各々に記憶するステ
ップであって、各間接制御ブロックは元のメッセージの
第1データ・バッファに対応する直接制御ブロックを指
示し、前記間接制御ブロックの各々はコピーされたメッ
セージを表わすことと、 (j)各マルチキャスト・オペレーションに対して、メ
ッセージが送られるべき各ユーザのメッセージ待ち行列
において前記間接制御ブロックを待ち行列化するステッ
プと、 より成る方法。 - 【請求項2】前記ステップ(h)は、 (k)前記フリー間接制御ブロック待ち行列及びフリー
直接制御ブロック待ち行列の一方を選択するステップ
と、 (l)フリー間接制御ブロック又はフリー直接制御ブロ
ックのアドレスを表わす前記ステップ(k)において選
択された待ち行列のヘッド・フィールドを読み取るステ
ップと、 (m)前記直接制御ブロック又は間接制御ブロックによ
って表わされた次のフリー直接制御ブロック又はフリー
間接制御ブロックのアドレスを読み取るステップと、 (n)前記ステップ(k)において選択された待ち行列
のヘッド・フィールドに前記次のフリー直接制御ブロッ
ク又はフリー間接制御ブロックのアドレスを書き込むス
テップと、 (o)前記リースされた直接制御ブロック又は間接制御
ブロックのコピーフィールドに、該制御ブロックが間接
制御ブロックとして使用されるべきことを示すための特
別コードを記憶するステップと、 より成り、フリー間接制御ブロック待ち行列が空である
ためにフリー直接制御ブロックが選択される場合、対応
するデータ・バッファが空にされることを特徴とする請
求項1に記載の方法。 - 【請求項3】前記ステップ(j)は、 (p)前記元のメッセージの第1データ・バッファに対
応する直接制御ブロックのアドレス参照を前記間接制御
ブロックに記憶するステップと、 (q)前記直接制御ブロックにおけるコピーフィールド
に含まれた数値をインクレメントするステップと、 (r)前記ユーザ待ち行列における既に待ち行列化され
た間接制御ブロック又は最後のデータ・バッファに対応
する直接制御ブロックのアドレスを表わすユーザ待ち行
列制御ブロックのテール・フィールドを読み取るステッ
プと、 (s)待ち行列化するために前記間接制御ブロックのア
ドレスを前記テール・フィールドに書き込むステップ
と、 (t)待ち行列化するために新しい間接制御ブロックの
アドレスを、前記ユーザ待ち行列において既に待ち行列
化された前の直接制御ブロック又は間接制御ブロックに
書き込むステップと、 より成ることを特徴とする請求項1又は2に記載の方
法。 - 【請求項4】前記方法は、 (u)ユーザ待ち行列から待ち行列解除した後、複数の
直接制御ブロックに対応する元のメッセージ又は特定の
間接制御ブロックに対応するコピーされたメッセージを
リリースし、フリー直接制御ブロック待ち行列又はフリ
ー間接制御ブロック待ち行列に戻すステップと、 とより成り、前記ステップ(u)は、 (v)コピーフィールドを読み取るステップと、 (x)前記コピーフィールドが前記特別コードを記憶す
るかどうかをチェックするステップと、 (y)前記特別コードが検出された場合、 (イ)最後のフリー間接制御ブロックのアドレスを表わ
すフリー間接待ち行列制御ブロックのテール・フィール
ドを読み取り、 (ロ)新しい間接制御ブロックアドレスをテール・フィ
ールドに書き込み、そして、 (ハ)前記新しい間接制御ブロックのアドレスを最後の
間接制御ブロックに書き込んで最後の間接制御ブロック
を新しい間接制御ブロックに指定可能にすることによっ
て、 前記間接制御ブロックリリースし、そして前記間接制御
ブロックに関連付けられた直接制御ブロックのコピー数
を読み取るステップと、 (z)前記コピーフィールドが前記特別コードを記憶し
てない場合、コピー数をデクレメントするステップと、 (α)コピー数がゼロに等しいかどうかをチェックする
ステップと、 (β)コピー数がゼロに等しくない場合、リリース・オ
ペレーションを終了するステップと、 (γ)コピー数がゼロに等しい場合、 (イ)最後のフリー直接制御ブロックのアドレスを表わ
すフリー直接待ち行列制御ブロックのテール・フィール
ドを読み取り、 (ロ)前記複数の直接制御ブロックのうちの最後の直接
制御ブロックのアドレスをテール・フィールドに書き込
み、そして、 (ハ)前記複数の直接制御ブロックのうちの第1の直接
制御ブロックのアドレスを、フリー直接制御ブロック待
ち行列において既に待ち行列化された最後のフリー直接
制御ブロックに書き込むことによって、 前記メッセージに対応する前記複数の直接制御ブロック
をリリースするステップと、 より成ることを特徴とする請求項3に記載の方法。 - 【請求項5】複数の宛先ユーザによって共用され且つデ
ータ記憶バスを介して前記ユーザによってアクセスされ
るメモリより成る通信システムにおいて該宛先ユーザに
メッセージをマルチキャストするための装置であって、
前記メモリは複数の制御ブロックによって制御される複
数のデータ・バッファで編成され、送信されるべき各メ
ッセージは連鎖したデータ・バッファより成り、各宛先
ユーザのメッセージの制御ブロックを記憶するユーザ待
ち行列が該宛先ユーザに関連付けられ、前記ユーザ待ち
行列はユーザ待ち行列制御ブロックによって制御される
ものにおいて、 前記複数の制御ブロックは、 (a)複数の直接制御ブロックであって、該直接制御ブ
ロックの各々は、直接制御ブロックのアドレスと所定の
関係を有するアドレスを持ったデータ・バッファに関連
付けられることと、 (b)すべてのフリー直接制御ブロックのアドレスを記
憶し且つ該フリー直接制御ブロックを連鎖するフリー直
接制御ブロック待ち行列であって、該待ち行列は第1の
フリー直接制御ブロックのアドレス及び最後のフリー直
接制御ブロックのアドレスを、それぞれ、ヘッド・フィ
ールド及びテール・フィールドに記憶するフリー直接待
ち行列制御ブロックによって制御されることと、 (c)マルチキャスト機能がメッセージごとに遂行され
るのを可能にするための複数の間接制御ブロックと、 (d)すべてのフリー間接制御ブロックのアドレスを記
憶し且つ該フリー間接制御ブロックを連鎖するフリー間
接制御ブロック待ち行列であって、該待ち行列は第1の
フリー間接制御ブロックのアドレス及び最後のフリー間
接制御ブロックのアドレスを、それぞれ、ヘッド・フィ
ールド及びテール・フィールドに記憶するフリー間接待
ち行列制御ブロックによって制御されることと、 より成る装置。 - 【請求項6】前記直接制御ブロックの各々は、 コピーされたメッセージの数を記憶するための手段と、 前記直接制御ブロックに対応するデータ・バッファにお
いて使用されたバイトの数を記憶するための手段と、 次のデータ・バッファのアドレスを記憶するための手段
と、 メッセージの最後のデータ・バッファのアドレスを記憶
するための手段と、 次のメッセージがある場合、該次のメッセージのアドレ
スを記憶し、次のメッセージがない場合、当該メッセー
ジが最後のメッセージであることを表わす特別コードを
記憶するための手段と、 とより成ることを特徴とする請求項5に記載の装置。 - 【請求項7】前記間接制御ブロックの各々は、 コピーされたメッセージの制御ブロックとして前記直接
制御ブロックの1つと関連して使用されるべきことを表
わす特別コードを記憶するための手段と、 前記直接制御ブロックに対応するデータ・バッファにお
いて使用されたバイトの数を記憶するための手段と、 次のデータ・バッファのアドレスを記憶するための手段
と、 元のメッセージに対応する前記直接制御ブロックの1つ
のアドレスを記憶するための手段と、 次のメッセージがある場合、該次のメッセージのアドレ
スを記憶し、次のメッセージがない場合、当該メッセー
ジが最後のメッセージであることを表わす特別コードを
記憶するための手段と、 とより成ることを特徴とする請求項5に記載の装置。 - 【請求項8】前記直接制御ブロック及び間接制御ブロッ
クの各々は、 データ・バッファにおけるデータの始めを表わすための
手段と、 メッセージのデータ・バッファにおいて使用されたバイ
トの数を記憶するための手段と、 とより成ることを特徴とする請求項5、6または7に記
載の装置。 - 【請求項9】前記複数の間接制御ブロックはマルチキャ
スト機能がデータ・バッファ毎に遂行されることを可能
にするように修正されて拡張間接制御ブロックを形成す
ること、及び各拡張間接制御ブロックは対応するメッセ
ージの各直接制御ブロックを指定することを特徴とする
請求項5に記載の装置。 - 【請求項10】前記直接制御ブロックの各々は、 コピーされたメッセージの数を記憶するための手段と、 前記直接制御ブロックに対応するデータ・バッファにお
いて使用されたバイトの数を記憶するための手段と、 次のデータ・バッファのアドレスを記憶するための手段
と、 メッセージの最後のデータ・バッファのアドレスを記憶
するための手段と、 次のメッセージがある場合、該次のメッセージのアドレ
スを記憶し、次のメッセージがない場合、当該メッセー
ジが最後のメッセージであることを表わす特別コードを
記憶するための手段と、 データ・バッファにおけるデータの始めを表わすための
手段と、 メッセージのデータ・バッファにおいて使用されたバイ
トの数を記憶するための手段と、 とより成ることを特徴とする請求項9に記載の装置。 - 【請求項11】前記拡張間接制御ブロックの各々は、 コピーされたメッセージの制御ブロックとして前記直接
制御ブロックの1つと関連して使用されるべきことを表
わす特別コードを記憶するための手段と、 前記直接制御ブロックに対応するデータ・バッファにお
いて使用されたバイトの数を記憶するための手段と、 次のデータ・バッファのアドレスを記憶するための手段
と、 修正された内容でもって複数のコピーされたメッセージ
を作る元のメッセージに対応する前記直接制御ブロック
の1つのアドレスを記憶するための手段と、 次のメッセージがある場合、該次のメッセージのアドレ
スを記憶し、次のメッセージがない場合、当該メッセー
ジが最後のメッセージであることを表わす特別コードを
記憶するための手段と、 メッセージの最後のデータ・バッファのアドレスを記憶
するための手段と、 データ・バッファにおけるデータの始めを表わすための
手段と、 メッセージのデータ・バッファにおいて使用されたバイ
トの数を記憶するための手段と、 とより成ることを特徴とする請求項9又は請求項10に
記載の装置。 - 【請求項12】前記メモリへのバスアクセスを調停する
ためのアービトレーション手段と、 動作制御手段によって制御されるマイクロプロセッサの
ためのローカル記憶装置と、 宛先ユーザをインターフェースするための少なくとも1
つのデータ記憶インターフェースと、 前記メモリにおけるデータ・バッファと関連付けられた
直接制御ブロック及び間接制御ブロックを記憶し、デー
タ・バッファから独立して前記直接制御ブロック又は間
接制御ブロックへのアクセスを可能にするために前記マ
イクロプロセッサ及び各データ記憶インターフェースに
接続された分離手段と、 前記分離手段を各データ記憶インターフェース及び前記
動作制御手段に接続し、直接制御ブロック及び間接制御
ブロックを前記分離手段に送信するための第2のバス
と、 前記第2のバスに接続され、前記分離手段、前記データ
記憶インターフェース及び前記動作制御手段による前記
第2のバスへのアクセスを調停するためのアービタと、 宛先ユーザによって要求された直接制御ブロック及び間
接制御ブロックの待ち行列化、待ち行列解除、リース及
びリリース・オペレーションを処理するための各データ
記憶インターフェースに専用のオーダ処理手段と、 より成る請求項5、6、7、8、9、10または11に
記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP93480047.5 | 1993-04-29 | ||
| EP93480047A EP0622922B1 (en) | 1993-04-29 | 1993-04-29 | Method and device of multicasting data in a communications system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06334652A JPH06334652A (ja) | 1994-12-02 |
| JP2543325B2 true JP2543325B2 (ja) | 1996-10-16 |
Family
ID=8214825
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6019562A Expired - Lifetime JP2543325B2 (ja) | 1993-04-29 | 1994-02-16 | 通信システムにおいてデ―タをマルチキャストする方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US5561807A (ja) |
| EP (1) | EP0622922B1 (ja) |
| JP (1) | JP2543325B2 (ja) |
| DE (1) | DE69329709D1 (ja) |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0622922B1 (en) * | 1993-04-29 | 2000-11-29 | International Business Machines Corporation | Method and device of multicasting data in a communications system |
| US5524001A (en) * | 1994-02-07 | 1996-06-04 | Le Groupe Videotron Ltee | Dynamic cable signal assembly |
| GB9412553D0 (en) | 1994-06-22 | 1994-08-10 | At & T Global Solutions Intern | Method and apparatus for distributing software |
| US6041345A (en) | 1996-03-08 | 2000-03-21 | Microsoft Corporation | Active stream format for holding multiple media streams |
| US5953335A (en) * | 1997-02-14 | 1999-09-14 | Advanced Micro Devices, Inc. | Method and apparatus for selectively discarding packets for blocked output queues in the network switch |
| WO1998036358A1 (en) * | 1997-02-14 | 1998-08-20 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining a time order by physical ordering in a memory |
| US6061351A (en) * | 1997-02-14 | 2000-05-09 | Advanced Micro Devices, Inc. | Multicopy queue structure with searchable cache area |
| US6128654A (en) * | 1997-02-14 | 2000-10-03 | Advanced Micro Devices, Inc. | Method and apparatus for transmitting multiple copies by replicating data identifiers |
| US6233244B1 (en) | 1997-02-14 | 2001-05-15 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers |
| US6175902B1 (en) | 1997-12-18 | 2001-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining a time order by physical ordering in a memory |
| US6477584B1 (en) * | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
| US6519686B2 (en) * | 1998-01-05 | 2003-02-11 | Intel Corporation | Information streaming in a multi-process system using shared memory |
| US7100000B1 (en) * | 1999-05-28 | 2006-08-29 | International Business Machines Corporation | System and methods for processing audio using multiple speech technologies |
| ATE390788T1 (de) | 1999-10-14 | 2008-04-15 | Bluearc Uk Ltd | Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen |
| DE60135234D1 (de) * | 2000-09-12 | 2008-09-18 | Ibm | System und verfahren zur steuerung des mehrfachdatenverkehrs einer datenvermittlungsstelle |
| US7177917B2 (en) * | 2000-12-27 | 2007-02-13 | Softwired Ag | Scaleable message system |
| US7130916B2 (en) * | 2001-02-23 | 2006-10-31 | International Business Machines Corporation | Linking frame data by inserting qualifiers in control blocks |
| US7072347B2 (en) * | 2001-02-23 | 2006-07-04 | International Business Machines Corporation | Assignment of packet descriptor field positions in a network processor |
| US7284050B1 (en) | 2001-03-26 | 2007-10-16 | Cisco Technology, Inc. | Method and system for a voice multicast hardware accelerator |
| US6937606B2 (en) * | 2001-04-20 | 2005-08-30 | International Business Machines Corporation | Data structures for efficient processing of IP fragmentation and reassembly |
| US6836480B2 (en) * | 2001-04-20 | 2004-12-28 | International Business Machines Corporation | Data structures for efficient processing of multicast transmissions |
| JP4342128B2 (ja) * | 2001-09-18 | 2009-10-14 | 富士通株式会社 | パケット処理プロセッサ及びパケット処理プロセッサシステム |
| US6754795B2 (en) * | 2001-12-21 | 2004-06-22 | Agere Systems Inc. | Methods and apparatus for forming linked list queue using chunk-based structure |
| US7298746B1 (en) * | 2002-02-11 | 2007-11-20 | Extreme Networks | Method and system for reassembling and parsing packets in a network environment |
| US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
| US7447777B1 (en) | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
| US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
| US7321926B1 (en) | 2002-02-11 | 2008-01-22 | Extreme Networks | Method of and system for allocating resources to resource requests |
| US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
| US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
| US7317718B1 (en) * | 2002-12-06 | 2008-01-08 | Juniper Networks, Inc. | Flexible counter update and retrieval |
| WO2006000566A1 (en) | 2004-06-24 | 2006-01-05 | International Business Machines Corporation | Access control over multicast |
| WO2006015513A1 (en) * | 2004-08-12 | 2006-02-16 | Intel Corporation | Method and system for processing multicast packets |
| US20060187963A1 (en) * | 2005-02-18 | 2006-08-24 | International Business Machines Corporation | Method for sharing single data buffer by several packets |
| US7466715B2 (en) * | 2005-03-28 | 2008-12-16 | International Business Machines Corporation | Flexible control block format for frame description and management |
| US7949815B2 (en) | 2006-09-27 | 2011-05-24 | Intel Corporation | Virtual heterogeneous channel for message passing |
| US7822051B1 (en) * | 2007-10-24 | 2010-10-26 | Ethernity Networks Ltd. | Method and system for transmitting packets |
| US9385875B2 (en) | 2013-01-23 | 2016-07-05 | Nexenta Systems, Inc. | Scalable transport with cluster-consensus rendezvous |
| US9479587B2 (en) | 2013-01-23 | 2016-10-25 | Nexenta Systems, Inc. | Scalable object storage using multicast transport |
| US10114789B2 (en) | 2015-01-08 | 2018-10-30 | Samsung Electronics Co., Ltd. | System on chip for packetizing multiple bytes and data processing system including the same |
| US11513799B2 (en) * | 2019-11-04 | 2022-11-29 | Apple Inc. | Chained buffers in neural network processor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4507781A (en) * | 1980-03-14 | 1985-03-26 | Ibm Corporation | Time domain multiple access broadcasting, multipoint, and conferencing communication apparatus and method |
| EP0365731B1 (en) * | 1988-10-28 | 1994-07-27 | International Business Machines Corporation | Method and apparatus for transferring messages between source and destination users through a shared memory |
| DE3853162T2 (de) * | 1988-12-23 | 1995-08-17 | Ibm | Gemeinsamer intelligenter Speicher für die gegenseitige Verbindung von verteilten Mikroprozessoren. |
| DE68919696T2 (de) * | 1989-09-26 | 1995-05-24 | Ibm | Verteilermechanismus zur Herstellung von Verbindungen zwischen den Benutzer-Schnittstellen eines Kommunikationssystems. |
| US5390173A (en) * | 1992-10-22 | 1995-02-14 | Digital Equipment Corporation | Packet format in hub for packet data communications system |
| EP0622922B1 (en) * | 1993-04-29 | 2000-11-29 | International Business Machines Corporation | Method and device of multicasting data in a communications system |
-
1993
- 1993-04-29 EP EP93480047A patent/EP0622922B1/en not_active Expired - Lifetime
- 1993-04-29 DE DE69329709T patent/DE69329709D1/de not_active Expired - Lifetime
-
1994
- 1994-02-16 JP JP6019562A patent/JP2543325B2/ja not_active Expired - Lifetime
- 1994-04-28 US US08/234,193 patent/US5561807A/en not_active Expired - Lifetime
-
1996
- 1996-04-19 US US08/635,048 patent/US6038592A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH06334652A (ja) | 1994-12-02 |
| EP0622922A1 (en) | 1994-11-02 |
| US6038592A (en) | 2000-03-14 |
| EP0622922B1 (en) | 2000-11-29 |
| US5561807A (en) | 1996-10-01 |
| DE69329709D1 (de) | 2001-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2543325B2 (ja) | 通信システムにおいてデ―タをマルチキャストする方法及び装置 | |
| JP4091665B2 (ja) | スイッチ・ネットワーク要素における共用メモリ管理 | |
| US6857030B2 (en) | Methods, system and article of manufacture for pre-fetching descriptors | |
| US7808999B2 (en) | Method and apparatus for out-of-order processing of packets using linked lists | |
| US6504846B1 (en) | Method and apparatus for reclaiming buffers using a single buffer bit | |
| JP2682561B2 (ja) | プログラマブル回線アダプタ | |
| USRE38821E1 (en) | Switching ethernet controller | |
| JP3110968B2 (ja) | 回線アダプタ | |
| US6571303B1 (en) | Communication control method and apparatus utilizing a shared buffer which is shared by a system processor and a communication controller using a virtual address or a real address | |
| KR980013142A (ko) | 비동기 전송 방식 통신 네트워크, 시스템 처리 성능 및 메모리 이용 증진 방법 | |
| WO2003067383A2 (en) | Services processor having a packet editing unit | |
| US7124231B1 (en) | Split transaction reordering circuit | |
| JP3735396B2 (ja) | Atmセルをマルチキャストする方法と装置 | |
| US6636524B1 (en) | Method and system for handling the output queuing of received packets in a switching hub in a packet-switching network | |
| US6816889B1 (en) | Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node | |
| JPH076107A (ja) | インターフェース装置および方法並びに通信アダプタ | |
| US9703739B2 (en) | Return available PPI credits command | |
| Dittia et al. | Catching up with the networks: host I/O at gigabit rates | |
| JP3435736B2 (ja) | 通信制御装置 | |
| JP2001024661A (ja) | マルチキャスト方式とその交換方法 | |
| JP3606315B2 (ja) | 高速インタフェース収容時のスイッチング方式 | |
| JP3056348B2 (ja) | ブリッジ装置および記憶手段管理方法 | |
| CN120614329A (zh) | 一种报文处理方法及mmu | |
| JPH06187311A (ja) | マルチプロセッサシステムおよびプロセッサ間通信方法 | |
| Cohen et al. | ATOMIC: A Low-Cost, Very High-Speed LAN |