JP2791236B2 - プロトコル並列処理装置 - Google Patents
プロトコル並列処理装置Info
- Publication number
- JP2791236B2 JP2791236B2 JP3208558A JP20855891A JP2791236B2 JP 2791236 B2 JP2791236 B2 JP 2791236B2 JP 3208558 A JP3208558 A JP 3208558A JP 20855891 A JP20855891 A JP 20855891A JP 2791236 B2 JP2791236 B2 JP 2791236B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- processing
- communication
- protocol
- pdu
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Description
【0001】
【産業上の利用分野】この発明は、通信システムのノー
ドや端末においてプロトコル処理を並列に行うシステム
に関するものである。
ドや端末においてプロトコル処理を並列に行うシステム
に関するものである。
【0002】
【従来の技術】従来の通信システムにおいて、各通信ノ
ードや通信端末は通常1個のCPUを用いてプロトコル
の処理を行っていた。また集線装置や交換装置のように
複数のCPUを搭載した装置であっても、(ア)回線毎
ないし回線の集まり毎にCPUを割り当てるという物理
的接続形態に対応した配置か、(イ)階層的に構成され
たプロトコルのそれぞれにCPUを割り当てるというプ
ロトコル構成に対応した配置であり、いずれにしてもC
PUが回線ないしプロトコル種別毎に固定的に割り当て
られていた。
ードや通信端末は通常1個のCPUを用いてプロトコル
の処理を行っていた。また集線装置や交換装置のように
複数のCPUを搭載した装置であっても、(ア)回線毎
ないし回線の集まり毎にCPUを割り当てるという物理
的接続形態に対応した配置か、(イ)階層的に構成され
たプロトコルのそれぞれにCPUを割り当てるというプ
ロトコル構成に対応した配置であり、いずれにしてもC
PUが回線ないしプロトコル種別毎に固定的に割り当て
られていた。
【0003】図9は、例えば特開昭61―173554
号公報「パケット通信装置」に見られる従来のプロトコ
ル処理装置の構成図であり、図において101はOSI
プロトコルなど階層化されたプロトコルの第2層を処理
するフレーム処理回路、102は第3層を処理するパケ
ット処理回路、103はさらにその上の層を処理する中
央処理部、104は通信回線、105と106はバスで
ある。フレーム処理回路101から中央処理部103の
構成で分かるように、図9の装置はプロトコル構成に対
応した配置を取っている。ここでフレーム処理回路、パ
ケット処理回路や中央処理部はそれぞれ1個のCPUな
いし専用LSI(大規模集積回路)とメモリなどから構
成されるので、図9はプロトコル構成に対応させてCP
Uを役割分担させた複数CPUから成るプロトコル処理
装置を表している。
号公報「パケット通信装置」に見られる従来のプロトコ
ル処理装置の構成図であり、図において101はOSI
プロトコルなど階層化されたプロトコルの第2層を処理
するフレーム処理回路、102は第3層を処理するパケ
ット処理回路、103はさらにその上の層を処理する中
央処理部、104は通信回線、105と106はバスで
ある。フレーム処理回路101から中央処理部103の
構成で分かるように、図9の装置はプロトコル構成に対
応した配置を取っている。ここでフレーム処理回路、パ
ケット処理回路や中央処理部はそれぞれ1個のCPUな
いし専用LSI(大規模集積回路)とメモリなどから構
成されるので、図9はプロトコル構成に対応させてCP
Uを役割分担させた複数CPUから成るプロトコル処理
装置を表している。
【0004】次に図9に示される装置のプロトコル処理
動作について説明する。階層的に構成されたプロトコル
の代表であるOSIプロトコルにおいては、各層のプロ
トコルにおいてプロトコルデータ単位(PDU)と呼ば
れる情報の集まりが定義され、これに対してプロトコル
処理動作が実行される。PDUはプロトコル制御情報と
データから成り、上位層のPDUが下位層のPDU内に
データとして埋め込まれ、回線から受信したPDUに対
しては下位層から上位層の順に、回線へ送出するPDU
に対しては上位層から下位層の順にプロトコルの処理が
行われる。
動作について説明する。階層的に構成されたプロトコル
の代表であるOSIプロトコルにおいては、各層のプロ
トコルにおいてプロトコルデータ単位(PDU)と呼ば
れる情報の集まりが定義され、これに対してプロトコル
処理動作が実行される。PDUはプロトコル制御情報と
データから成り、上位層のPDUが下位層のPDU内に
データとして埋め込まれ、回線から受信したPDUに対
しては下位層から上位層の順に、回線へ送出するPDU
に対しては上位層から下位層の順にプロトコルの処理が
行われる。
【0005】従って、通信回線5からPDUが受信され
るとまずフレーム処理回路101は第2層プロトコルを
処理し、受信PDUに第3層PDUの処理を行い、受信
PDUに第4層のPDUが含まれていれば中央処理部1
03ヘ処理を引き継ぐ。逆にPDUの送信の場合、中央
処理部103で第4層までの処理を終えたPDUが生成
され、パケット処理回路102ヘ渡される。パケット処
理回路102は第3層のプロトコル制御情報をこれに付
加して第3層CPUとし、フレーム処理回路101へ引
き渡す。
るとまずフレーム処理回路101は第2層プロトコルを
処理し、受信PDUに第3層PDUの処理を行い、受信
PDUに第4層のPDUが含まれていれば中央処理部1
03ヘ処理を引き継ぐ。逆にPDUの送信の場合、中央
処理部103で第4層までの処理を終えたPDUが生成
され、パケット処理回路102ヘ渡される。パケット処
理回路102は第3層のプロトコル制御情報をこれに付
加して第3層CPUとし、フレーム処理回路101へ引
き渡す。
【0006】フレーム処理回路101では第2層のプロ
トコル制御情報を付加し第2層PDUを作成し、通信回
線5上へPDUを送出する。このように、従来のプロト
コル処理装置においてはCUP毎の処理すべき対象が決
まっており、あるCPUに仕事がないからといってそれ
に別の処理を割り当てるといった柔軟な運用は不可能で
あった。
トコル制御情報を付加し第2層PDUを作成し、通信回
線5上へPDUを送出する。このように、従来のプロト
コル処理装置においてはCUP毎の処理すべき対象が決
まっており、あるCPUに仕事がないからといってそれ
に別の処理を割り当てるといった柔軟な運用は不可能で
あった。
【0007】
【発明が解決しようとする課題】従来の技術によるプロ
トコル処理装置では、複数のCPUから構成される装置
であってもCPUの処理対象が物理的あるいは論理的な
通信システムの構成に依存して固定的に決まっているた
め、必ずしもCPUへの仕事の割り当てが効率的でな
く、CPUの性能を生かしきっていないという問題点が
あった。図9に示した装置では複数あるCPUがプロト
コル階層に応じて役割分担しているので、トラヒックの
変動や装置の置かれた環境により各階層毎の負荷が変動
するにもかかわらず、そのような変動に追従できない。
従って、必ずしもすべてのCPUの性能が十分に発揮さ
れず装置内の資源利用に無駄が生じる。また、トラヒッ
クの時間的な変動により特定のCPUに負荷が集中する
と、輻輳が発生して装置の処理能力が大きく損なわれ
る。
トコル処理装置では、複数のCPUから構成される装置
であってもCPUの処理対象が物理的あるいは論理的な
通信システムの構成に依存して固定的に決まっているた
め、必ずしもCPUへの仕事の割り当てが効率的でな
く、CPUの性能を生かしきっていないという問題点が
あった。図9に示した装置では複数あるCPUがプロト
コル階層に応じて役割分担しているので、トラヒックの
変動や装置の置かれた環境により各階層毎の負荷が変動
するにもかかわらず、そのような変動に追従できない。
従って、必ずしもすべてのCPUの性能が十分に発揮さ
れず装置内の資源利用に無駄が生じる。また、トラヒッ
クの時間的な変動により特定のCPUに負荷が集中する
と、輻輳が発生して装置の処理能力が大きく損なわれ
る。
【0008】この発明は上記のような問題点を解消する
ためになされたもので、複数のCPUの役割分担が固定
的でなく、CPUに処理待ちのアイドル時間が生じない
ように動的に仕事に割り当てつつ一連のプロトコル処理
を複数のCPU上で並列処理する手法を具現する並列処
理装置を得ることを目的とする。
ためになされたもので、複数のCPUの役割分担が固定
的でなく、CPUに処理待ちのアイドル時間が生じない
ように動的に仕事に割り当てつつ一連のプロトコル処理
を複数のCPU上で並列処理する手法を具現する並列処
理装置を得ることを目的とする。
【0009】
【課題を解決するための手段】この第1の発明に係るプ
ロトコル並列処理装置は、複数のCPUが共有してアク
セスできるようにして設けられ、通信データに含まれる
通信相手アドレス、上記通信相手アドレスに対応付けら
れる上記CPUの物理番号、この物理番号で特定される
CPUの処理開始時刻の組み合わせを割り当てたCPU
状態テーブル、及び通信データを格納する共有メモリ
と、OSIプロトコルにおいて各層のプロトコルで規定
されるデータ単位(PDU)で構成されたユーザの通信
データや制御情報であるPDUの通信処理時に、受信し
たPDUより認識した通信相手アドレス、あるいは送信
しようとするPDUに対応したCPUの物理番号を上記
CPU状態テーブルから検索し、この検索されのCPU
に通信処理を依頼し、この検索されたCPUが既に他の
PDUを通信処理中には、上記CPU状態テーブルに格
納された処理開始時刻を検索し、この検索された処理開
始時刻に基づき最も早く待機状態に移行するCPUへ通
信処理を依頼する回線インタフェースないしホストプロ
セッサとを設けたものである。
ロトコル並列処理装置は、複数のCPUが共有してアク
セスできるようにして設けられ、通信データに含まれる
通信相手アドレス、上記通信相手アドレスに対応付けら
れる上記CPUの物理番号、この物理番号で特定される
CPUの処理開始時刻の組み合わせを割り当てたCPU
状態テーブル、及び通信データを格納する共有メモリ
と、OSIプロトコルにおいて各層のプロトコルで規定
されるデータ単位(PDU)で構成されたユーザの通信
データや制御情報であるPDUの通信処理時に、受信し
たPDUより認識した通信相手アドレス、あるいは送信
しようとするPDUに対応したCPUの物理番号を上記
CPU状態テーブルから検索し、この検索されのCPU
に通信処理を依頼し、この検索されたCPUが既に他の
PDUを通信処理中には、上記CPU状態テーブルに格
納された処理開始時刻を検索し、この検索された処理開
始時刻に基づき最も早く待機状態に移行するCPUへ通
信処理を依頼する回線インタフェースないしホストプロ
セッサとを設けたものである。
【0010】この第2の発明に係るプロトコル並列処理
装置は、複数のCPUと、上記複数のCPUが共有して
アクセスできるようにして設けられ、新たな通信コネク
ションの確立毎に、当該コネクションの論理的なコネク
ション番号、このコネクション番号に対応付けられる上
記CPUの物理番号、この物理番号で特定されるCPU
の処理開始時刻の組を割り当てるCPU状態テーブル及
び通信データを格納する共有メモリと、OSIプロトコ
ルにおいて各層のプロトコルで規定されるデータ単位
(PDU)で構成されたユーザの通信データや制御情報
であるPDUの通信処理時に、受信したPDUにコネク
ション番号が含まれている場合、あるいは1つの通信コ
ネクションを指定してPDUを送信する場合、上記コネ
クション番号に対応したCPUの物理番号を上記CPU
状態テーブルから検索し、この検索されたCPUに通信
処理を依頼し、この検索されたCPUが既に他のPDU
を通信処理中には、上記CPU状態テーブルに格納され
た処理開始時刻を検索し、この検索された処理開始時刻
に基づき最も早く待機状態に移行するCPUへ通信処理
を依頼する回線インタフェースないしホストプロセッサ
とを設けたものである。
装置は、複数のCPUと、上記複数のCPUが共有して
アクセスできるようにして設けられ、新たな通信コネク
ションの確立毎に、当該コネクションの論理的なコネク
ション番号、このコネクション番号に対応付けられる上
記CPUの物理番号、この物理番号で特定されるCPU
の処理開始時刻の組を割り当てるCPU状態テーブル及
び通信データを格納する共有メモリと、OSIプロトコ
ルにおいて各層のプロトコルで規定されるデータ単位
(PDU)で構成されたユーザの通信データや制御情報
であるPDUの通信処理時に、受信したPDUにコネク
ション番号が含まれている場合、あるいは1つの通信コ
ネクションを指定してPDUを送信する場合、上記コネ
クション番号に対応したCPUの物理番号を上記CPU
状態テーブルから検索し、この検索されたCPUに通信
処理を依頼し、この検索されたCPUが既に他のPDU
を通信処理中には、上記CPU状態テーブルに格納され
た処理開始時刻を検索し、この検索された処理開始時刻
に基づき最も早く待機状態に移行するCPUへ通信処理
を依頼する回線インタフェースないしホストプロセッサ
とを設けたものである。
【0011】
【作用】この第1の発明によれば、回線インタフェース
ないしホストプロセッサは各プロトコルデータ単位の通
信処理を開始する際、各通信データに含まれる通信相手
アドレスをもとに共有メモリのCPU状態テーブルに格
納された各通信相手アドレス対応のCPU番号を検索
し、そのCPUにデータ通信処理を依頼することで、複
数のプロトコルデータ単位に対する処理を複数のCPU
で並列に行うことができる。
ないしホストプロセッサは各プロトコルデータ単位の通
信処理を開始する際、各通信データに含まれる通信相手
アドレスをもとに共有メモリのCPU状態テーブルに格
納された各通信相手アドレス対応のCPU番号を検索
し、そのCPUにデータ通信処理を依頼することで、複
数のプロトコルデータ単位に対する処理を複数のCPU
で並列に行うことができる。
【0012】また、この第2の発明によれば、回線イン
タフェースないしホストプロセッサはプロトコルデータ
単位毎の通信データに含まれる情報をもとにコネクショ
ン番号を決定し、該コネクション番号に対応付けられる
CPUの物理番号の組を割り当てたCPU状態テーブル
を参照し、コネクション番号に対応付けられた物理番号
を持つCPUに処理を依頼することで、複数のコネクシ
ョンに対する処理を複数のCPU上で並列に行うことが
できる。
タフェースないしホストプロセッサはプロトコルデータ
単位毎の通信データに含まれる情報をもとにコネクショ
ン番号を決定し、該コネクション番号に対応付けられる
CPUの物理番号の組を割り当てたCPU状態テーブル
を参照し、コネクション番号に対応付けられた物理番号
を持つCPUに処理を依頼することで、複数のコネクシ
ョンに対する処理を複数のCPU上で並列に行うことが
できる。
【0013】
【実施例】以下、この発明の一実施例を図について説明
する。図1はこの発明の一実施例のハードウェア構成を
示すブロック図であり、図中1は複数のCPU、2は共
有メモリ、3は通信回線と接続する回線インタフェー
ス、4はCPU1から共有メモリ2への高速アクセスを
可能にするローカルバス、5は通信回線、6はバスであ
る。
する。図1はこの発明の一実施例のハードウェア構成を
示すブロック図であり、図中1は複数のCPU、2は共
有メモリ、3は通信回線と接続する回線インタフェー
ス、4はCPU1から共有メモリ2への高速アクセスを
可能にするローカルバス、5は通信回線、6はバスであ
る。
【0014】次に図1の実施例におけるプロトコル処理
動作の概略を説明する。通信回線5からPDUを受信す
ると、回線インタフェース3はPDUを共有メモリ2ヘ
書き込んでCPU1の内適当な1個を選択し処理を要求
する。要求を受けた1個のCPUは下位層から上位層ま
で一連のプロトコル処理を行って受信したPDUを処理
する。ここでアイドル中のCPUの中から要求先のCP
Uを選んで、CPUを効率よく利用する。アイドル中の
CPUが無い場合は早くアイドルになりそうなCPUを
選んでそれ宛てに処理要求を出す。
動作の概略を説明する。通信回線5からPDUを受信す
ると、回線インタフェース3はPDUを共有メモリ2ヘ
書き込んでCPU1の内適当な1個を選択し処理を要求
する。要求を受けた1個のCPUは下位層から上位層ま
で一連のプロトコル処理を行って受信したPDUを処理
する。ここでアイドル中のCPUの中から要求先のCP
Uを選んで、CPUを効率よく利用する。アイドル中の
CPUが無い場合は早くアイドルになりそうなCPUを
選んでそれ宛てに処理要求を出す。
【0015】受信したPDUと処理中のPDUにプロト
コル上の関連性があり、並列処理できない場合は、その
処理中PDUを処理しているCPUヘ受信PDUの処理
要求を出す。なお要求先のCPUがビジーでも処理を要
求できるよう、各CPU宛てに処理待ち行列を設け行列
中で処理要求を待機させるようにしておく。
コル上の関連性があり、並列処理できない場合は、その
処理中PDUを処理しているCPUヘ受信PDUの処理
要求を出す。なお要求先のCPUがビジーでも処理を要
求できるよう、各CPU宛てに処理待ち行列を設け行列
中で処理要求を待機させるようにしておく。
【0016】PDUの送信時も同様であり、PDUを送
信する場合、まずPDUのデータ部分を共有メモリ2に
用意しCPU1の中から適当な1個を選んで送信を要求
する。どのCPUでもPDUを処理可能ならばアイドル
中のCPUを選んでそのCPUへ処理要求を出す。アイ
ドル中のCPUが無ければ、早くアイドルになりそうな
CPU宛てに処理要求を出す。現在処理中のPDUとプ
ロトコル上の関連性があり並列処理できないPDUを送
信する場合には、該処理中のPDUを持つCPU宛てに
処理要求を出す。処理が終われば、その結果としてPD
Uが共有メモリ2から回線インタフェース3を介して通
信回線5上へ送出される。
信する場合、まずPDUのデータ部分を共有メモリ2に
用意しCPU1の中から適当な1個を選んで送信を要求
する。どのCPUでもPDUを処理可能ならばアイドル
中のCPUを選んでそのCPUへ処理要求を出す。アイ
ドル中のCPUが無ければ、早くアイドルになりそうな
CPU宛てに処理要求を出す。現在処理中のPDUとプ
ロトコル上の関連性があり並列処理できないPDUを送
信する場合には、該処理中のPDUを持つCPU宛てに
処理要求を出す。処理が終われば、その結果としてPD
Uが共有メモリ2から回線インタフェース3を介して通
信回線5上へ送出される。
【0017】処理すべきPDUと処理中のPDUとにプ
ロトコル上の関連性があり並列処理できない場合とは、
例えばコネクション型プロトコルでコネクション確立応
答を送信しようとしている途中でコネクション切断指示
を受信したとか、コネクションレス型プロトコルで受信
PDUの再組み立てを行うような場合である。
ロトコル上の関連性があり並列処理できない場合とは、
例えばコネクション型プロトコルでコネクション確立応
答を送信しようとしている途中でコネクション切断指示
を受信したとか、コネクションレス型プロトコルで受信
PDUの再組み立てを行うような場合である。
【0018】以下、第1の発明に係るプロトル処理装置
の動作として、コネクションレス型プロトコルの1つで
あるCCITT(国際電信電話諮問委員会)勧告X.2
5およびJIS X 5109を処理プロトコルとして
この実施例におけるプロトコル処理動作をより詳しく説
明する。これは、通信回線5がパケット交換網に接続さ
れている場合によく見られるプロトコル構成である。
の動作として、コネクションレス型プロトコルの1つで
あるCCITT(国際電信電話諮問委員会)勧告X.2
5およびJIS X 5109を処理プロトコルとして
この実施例におけるプロトコル処理動作をより詳しく説
明する。これは、通信回線5がパケット交換網に接続さ
れている場合によく見られるプロトコル構成である。
【0019】図2は、この説明におけるプロトコルの階
層構成を示す図であり、図中10はOSIの第2層に当
たるX.25レベル2、11はOSIの第3層に当たる
X.25レベル3、12はOSIの第4層に当たるJI
S X 5109、13はその上位の各プロトコルを表わ
す。X.25レベル2 10は専用のハ―ドウェアで処
理されることが多いので、これは回線インタフェース3
に内蔵されたハードウェアが処理し、X.25レベル3
11から上位プロトコル13までの処理はCPU1が
行うものとする。図3は、回線インタフェース3がPD
Uを受信した時のCPU1ヘの受信PDUの引き渡し手
順を示すフローチャートであり、以下図に沿って説明す
る。図中、ステップ20において回線インタフェース3
は通信回線5からPDUを受信し、CPU1から適当な
1個を選択する動作が起動される。選択に必要な情報
は、CPU状態テーブルとして共有メモリ2中に保持さ
れている。図5はCPU状態テーブルの構成例であり、
CPUは自己の動作に対応させてこのテーブルの内容を
更新する。
層構成を示す図であり、図中10はOSIの第2層に当
たるX.25レベル2、11はOSIの第3層に当たる
X.25レベル3、12はOSIの第4層に当たるJI
S X 5109、13はその上位の各プロトコルを表わ
す。X.25レベル2 10は専用のハ―ドウェアで処
理されることが多いので、これは回線インタフェース3
に内蔵されたハードウェアが処理し、X.25レベル3
11から上位プロトコル13までの処理はCPU1が
行うものとする。図3は、回線インタフェース3がPD
Uを受信した時のCPU1ヘの受信PDUの引き渡し手
順を示すフローチャートであり、以下図に沿って説明す
る。図中、ステップ20において回線インタフェース3
は通信回線5からPDUを受信し、CPU1から適当な
1個を選択する動作が起動される。選択に必要な情報
は、CPU状態テーブルとして共有メモリ2中に保持さ
れている。図5はCPU状態テーブルの構成例であり、
CPUは自己の動作に対応させてこのテーブルの内容を
更新する。
【0020】図5中、30はCPU番号、31はアイド
ル中フラグ、32は通信相手アドレス、33はX.25
レベル3の論理チャネル番号、34は処理開始時刻であ
る。CPU1の内1つが作業を開始すると、該CPUは
CPU状態テーブル中の自分に割り振られたCPU番号
30を持つフィールド内の情報を書き換える。すなわ
ち、アイドル中フラグ31を0にセットし、通信相手ア
ドレス32に通信相手のネットワークアドレスを書込
み、論理チャネル番号33に使用する論理チャネル番号
を書き込み、処理開始時刻34に処理を始めた時刻を記
入する。
ル中フラグ、32は通信相手アドレス、33はX.25
レベル3の論理チャネル番号、34は処理開始時刻であ
る。CPU1の内1つが作業を開始すると、該CPUは
CPU状態テーブル中の自分に割り振られたCPU番号
30を持つフィールド内の情報を書き換える。すなわ
ち、アイドル中フラグ31を0にセットし、通信相手ア
ドレス32に通信相手のネットワークアドレスを書込
み、論理チャネル番号33に使用する論理チャネル番号
を書き込み、処理開始時刻34に処理を始めた時刻を記
入する。
【0021】そして処理を終わるとアイドル中フラグ3
1を1にセットすると共に通信相手アドレス32、論理
チャネル番号33、処理開始時刻34に処理中に取り得
る値とは異なる一定の値を設定して内容をクリアする。
なお、X.25レベル3プロトコルでは、コネクション
確立時には互にネットワークアドレスをPDUで通知す
るがそれ以降はコネクション確立時に定まる論理チャネ
ル番号をPDU中に示しこれによってコネクションを参
照するようになっている。
1を1にセットすると共に通信相手アドレス32、論理
チャネル番号33、処理開始時刻34に処理中に取り得
る値とは異なる一定の値を設定して内容をクリアする。
なお、X.25レベル3プロトコルでは、コネクション
確立時には互にネットワークアドレスをPDUで通知す
るがそれ以降はコネクション確立時に定まる論理チャネ
ル番号をPDU中に示しこれによってコネクションを参
照するようになっている。
【0022】図3の説明に戻って、ステップ21におい
て回線インタフェース3は受信PDUが送信元アドレス
を含んでいればこれとCPU状態テーブルの通信相手ア
ドレス32を、そうでなければ受信PDU中の論理チャ
ネル番号とCPU状態テーブルの論理チャネル番号33
を比較し同―のものがあるかどうかチェックする。もし
同―のものがあれば、ステップ22ヘ進んで該当するC
PU宛てに受信PDUの処理要求を出す。
て回線インタフェース3は受信PDUが送信元アドレス
を含んでいればこれとCPU状態テーブルの通信相手ア
ドレス32を、そうでなければ受信PDU中の論理チャ
ネル番号とCPU状態テーブルの論理チャネル番号33
を比較し同―のものがあるかどうかチェックする。もし
同―のものがあれば、ステップ22ヘ進んで該当するC
PU宛てに受信PDUの処理要求を出す。
【0023】もしステップ21で同―のアドレスも論理
チャネル番号も見い出せなかったら、ステップ23ヘ進
んでCPU状態テーブルのアイドル中フラグ31をチェ
ックする。もしアイドル中フラグ31が1のCPUを見
つけたら、ステップ24へ進んで見つかったCPUへ受
信PDUの処理要求を出す。もしすべてのCPUのアイ
ドル中フラグ31が0だったら、ステップ25ヘ進んで
CPU状態テーブルの処理開始時刻34をすべて調べそ
の中で一番古い時刻を持つCPUを選びそのCPUヘ受
信CPUの処理要求を出す。
チャネル番号も見い出せなかったら、ステップ23ヘ進
んでCPU状態テーブルのアイドル中フラグ31をチェ
ックする。もしアイドル中フラグ31が1のCPUを見
つけたら、ステップ24へ進んで見つかったCPUへ受
信PDUの処理要求を出す。もしすべてのCPUのアイ
ドル中フラグ31が0だったら、ステップ25ヘ進んで
CPU状態テーブルの処理開始時刻34をすべて調べそ
の中で一番古い時刻を持つCPUを選びそのCPUヘ受
信CPUの処理要求を出す。
【0024】次の実施例として、コネクションレス型プ
ロトコルの1つであるISO 8473「コネクション
レス型ネットワークサービスを提供するプロトコル」お
よびJIS X 51O9を処理プロトコルとして図1
の装置構成におけるプロトコル処理動作を説明する。こ
れは、通信回線5がローカルエリアネットワーク(LA
N)に接続されている場合によく見られるプロトコル構
成である。前の実施例とは部分的にしか違わないので、
以下前の実施例との相違点のみ述べる。
ロトコルの1つであるISO 8473「コネクション
レス型ネットワークサービスを提供するプロトコル」お
よびJIS X 51O9を処理プロトコルとして図1
の装置構成におけるプロトコル処理動作を説明する。こ
れは、通信回線5がローカルエリアネットワーク(LA
N)に接続されている場合によく見られるプロトコル構
成である。前の実施例とは部分的にしか違わないので、
以下前の実施例との相違点のみ述べる。
【0025】まず、図2に示したプロトコルの階層構成
は、X.25レベル2 10がLANで通常使用される
ISO国際標準ISO 8802に変わり、X.25レ
ベル3 11がISO 8473に変わる。図3に示し
た受信PDUの引き渡し手順を表わすフローチャートに
おいては、ISO 8473では論理チャネルを用いず
すベてのPDUが宛先/送信元アドレスを含むため、ス
テップ21において論理チャネル番号の比較は行わず、
すべて相手アドレスを比較するようになる。それ以外の
点では前の実施例と同じ処理フローによって受信PDU
の処理を担当すべきCPUを選択できる。なお、図5に
示したCPU状態テーブルにおいて論理チャネル番号3
3は使用されない。
は、X.25レベル2 10がLANで通常使用される
ISO国際標準ISO 8802に変わり、X.25レ
ベル3 11がISO 8473に変わる。図3に示し
た受信PDUの引き渡し手順を表わすフローチャートに
おいては、ISO 8473では論理チャネルを用いず
すベてのPDUが宛先/送信元アドレスを含むため、ス
テップ21において論理チャネル番号の比較は行わず、
すべて相手アドレスを比較するようになる。それ以外の
点では前の実施例と同じ処理フローによって受信PDU
の処理を担当すべきCPUを選択できる。なお、図5に
示したCPU状態テーブルにおいて論理チャネル番号3
3は使用されない。
【0026】上記においては、この発明を適用するプロ
トコル例としてJIS X.5109、CCITT勧告
X.25およびIS0 8473を取りあげて説明した
が、JIS X.5202「開放型システム間相互接続
の基本コネクション型セションプロトコル仕様」で規定
されているセション層プロトコルのような他のコネクシ
ョン型プロトコル、あるいはインタネットプロトコルな
ど他のコネクションレス型プロトコルも上記と同様にし
て並列処理を行うことができる。
トコル例としてJIS X.5109、CCITT勧告
X.25およびIS0 8473を取りあげて説明した
が、JIS X.5202「開放型システム間相互接続
の基本コネクション型セションプロトコル仕様」で規定
されているセション層プロトコルのような他のコネクシ
ョン型プロトコル、あるいはインタネットプロトコルな
ど他のコネクションレス型プロトコルも上記と同様にし
て並列処理を行うことができる。
【0027】以下、第2の発明に係るプロトコル処理装
置の動作として、コネクション型プロトコルにおける実
施例を図4及び図6を参照して説明する。先ず、図6は
コネクション番号をCPU選択に用いる時のCPU状態
テーブルの構成例であり、図中36はコネクション番
号、30,31,34は図5と同じである。CPU1の
中の1つが処理を開始すると、該CPUは図6に示され
るCPU状態テーブルにおいて自分に割り振られたフィ
ールドを書き換える。
置の動作として、コネクション型プロトコルにおける実
施例を図4及び図6を参照して説明する。先ず、図6は
コネクション番号をCPU選択に用いる時のCPU状態
テーブルの構成例であり、図中36はコネクション番
号、30,31,34は図5と同じである。CPU1の
中の1つが処理を開始すると、該CPUは図6に示され
るCPU状態テーブルにおいて自分に割り振られたフィ
ールドを書き換える。
【0028】すなわち、アイドル中フラグ31を0にセ
ットし、コネクション番号36に処理中のコネクション
のコネクション番号を書き込み、処理開始時刻34に処
理を始めた時刻を記入する。また、処理が終わるとアイ
ドル中フラグ31を1にセットすると共にコネクション
番号36と処理開始時刻34をクリアする。
ットし、コネクション番号36に処理中のコネクション
のコネクション番号を書き込み、処理開始時刻34に処
理を始めた時刻を記入する。また、処理が終わるとアイ
ドル中フラグ31を1にセットすると共にコネクション
番号36と処理開始時刻34をクリアする。
【0029】また、上記で述べているコネクション番号
とはコネクションが新たに確立される毎に割り当てられ
るコネクションの識別子であり、装置内に閉じた番号で
あるという点でネットワークから割り当てられPDU中
で運ばれる論理チャネル番号とは異なる。
とはコネクションが新たに確立される毎に割り当てられ
るコネクションの識別子であり、装置内に閉じた番号で
あるという点でネットワークから割り当てられPDU中
で運ばれる論理チャネル番号とは異なる。
【0030】図4は、回線インタフェース3がPDUを
受信した時のCPU1ヘの受信PDUの引き渡し手順を
示すフローチャートであり、以下図に沿って説明する。
図中ステップ20において回線インタフェース3は通信
回線5からPDUを受信し、CPU1から適当な1個を
選択する動作が起動される。選択に必要な情報は、CP
U状態テーブルとして共有メモリ2中に保持されてい
る。図6はCPU状態テーブルの構成例であり、CPU
1は自己の動作に対応させてこのテ―ブルの内容を更新
する。
受信した時のCPU1ヘの受信PDUの引き渡し手順を
示すフローチャートであり、以下図に沿って説明する。
図中ステップ20において回線インタフェース3は通信
回線5からPDUを受信し、CPU1から適当な1個を
選択する動作が起動される。選択に必要な情報は、CP
U状態テーブルとして共有メモリ2中に保持されてい
る。図6はCPU状態テーブルの構成例であり、CPU
1は自己の動作に対応させてこのテ―ブルの内容を更新
する。
【0031】図6中、30はCPU番号、31はアイド
ル中フラグ、36はコネクション番号、34は処理開始
時刻である。CPU1の内1つが作業を開始すると、該
CPUはCPU状態テーブル中の自分に割り振られたC
PU番号30を持つフィールド内の情報を書き換える。
すなわち、アイドル中フラグ31を0にセットし、コネ
クション番号36を書込み、処理開始時刻34に処理を
始めた時刻を記入する。
ル中フラグ、36はコネクション番号、34は処理開始
時刻である。CPU1の内1つが作業を開始すると、該
CPUはCPU状態テーブル中の自分に割り振られたC
PU番号30を持つフィールド内の情報を書き換える。
すなわち、アイドル中フラグ31を0にセットし、コネ
クション番号36を書込み、処理開始時刻34に処理を
始めた時刻を記入する。
【0032】そして処理を終わるとアイドル中フラグ3
1を1にセットすると共にコネクション番号36、処理
開始時刻34に処理中に取り得る値とは異なる一定の値
を設定して内容をクリアする。
1を1にセットすると共にコネクション番号36、処理
開始時刻34に処理中に取り得る値とは異なる一定の値
を設定して内容をクリアする。
【0033】図4の説明に戻って、ステップ21aにお
いて回線インタフェース3は受信PDUがコネクション
番号を含んでいればこれとCPU状態テーブルのコネク
ション番号36を比較し同―のものがあるかどうかチェ
ックする。もし同―のものがあれば、ステヅプ22へ進
んで該当するCPU宛てに受信PDUの処理要求を出
す。
いて回線インタフェース3は受信PDUがコネクション
番号を含んでいればこれとCPU状態テーブルのコネク
ション番号36を比較し同―のものがあるかどうかチェ
ックする。もし同―のものがあれば、ステヅプ22へ進
んで該当するCPU宛てに受信PDUの処理要求を出
す。
【0034】もしステップ21aで同―のアドレスも論
理チャネル番号も見い出せなかったら、ステップ23へ
進んでCPU状態テーブルのアイドル中フラグ31をチ
ェックする。もしアイドル中フラグ31が1のCPUを
見つけたら、ステップ24へ進んで見つかったCPUへ
受信PDUの処理要求を出す。もしすべてのCPUのア
イドル中フラグ31が0だったら、ステップ25ヘ進ん
でCPU状態テーブルの処理開始時刻34をすべて調べ
その中で一番古い時刻を持つCPUを選びそのCPUへ
受信CPUの処理要求を出す。
理チャネル番号も見い出せなかったら、ステップ23へ
進んでCPU状態テーブルのアイドル中フラグ31をチ
ェックする。もしアイドル中フラグ31が1のCPUを
見つけたら、ステップ24へ進んで見つかったCPUへ
受信PDUの処理要求を出す。もしすべてのCPUのア
イドル中フラグ31が0だったら、ステップ25ヘ進ん
でCPU状態テーブルの処理開始時刻34をすべて調べ
その中で一番古い時刻を持つCPUを選びそのCPUへ
受信CPUの処理要求を出す。
【0035】また図1に示した実施例では通信回線5お
よび回線インタフェース6は1つづつであったが、図7
に示す別の実施例のように通信回線および回線インタフ
ェースを複数設けてこれらの間でPDUの中継を行った
り複数の通信回線それぞれを介して同時に多くの通信相
手との間で通信を行うようなプロトコル処理装置につい
ても、この発明は同様に適用できる。なお、図7におい
て、5a,5bは通信回線、3a,3bは回線インタフ
ェースであり、他の部分(CPU1、共有メモリ2、ロ
ーカルバス4、バス6)は図1と同じである。さらに図
8に示す別の実施例では、プロトコル処理装置にホスト
プロセッサ7が接続されプロトコル処理装置をフロント
エンドプロセッサとして使用する構成が示されている。
図8において、7はホストプロセッサであり、ホストプ
ロセッサ7以外の部分は図1と同様である。ホストプロ
セッサ7は、階層化されたプロトコルの応用層もしくは
その上に位置する処理を受け持ち、図8中のホストプロ
セッサ7以外の部分がホストプロセッサ7の担当部分よ
り下位層のプロトコルを処理する。
よび回線インタフェース6は1つづつであったが、図7
に示す別の実施例のように通信回線および回線インタフ
ェースを複数設けてこれらの間でPDUの中継を行った
り複数の通信回線それぞれを介して同時に多くの通信相
手との間で通信を行うようなプロトコル処理装置につい
ても、この発明は同様に適用できる。なお、図7におい
て、5a,5bは通信回線、3a,3bは回線インタフ
ェースであり、他の部分(CPU1、共有メモリ2、ロ
ーカルバス4、バス6)は図1と同じである。さらに図
8に示す別の実施例では、プロトコル処理装置にホスト
プロセッサ7が接続されプロトコル処理装置をフロント
エンドプロセッサとして使用する構成が示されている。
図8において、7はホストプロセッサであり、ホストプ
ロセッサ7以外の部分は図1と同様である。ホストプロ
セッサ7は、階層化されたプロトコルの応用層もしくは
その上に位置する処理を受け持ち、図8中のホストプロ
セッサ7以外の部分がホストプロセッサ7の担当部分よ
り下位層のプロトコルを処理する。
【0036】この場合、ホストプロセッサは送信すべき
PDUのもととなるデータを共有メモリ2中に設定した
後CPU1から適当なCPU1個を選んで処理を要求す
るが、その選択の方法は回線インタフェース3がPDU
を受信した時その処理を要求するCPUを選択する方法
と同じであり、前に図3を用いて説明済である。
PDUのもととなるデータを共有メモリ2中に設定した
後CPU1から適当なCPU1個を選んで処理を要求す
るが、その選択の方法は回線インタフェース3がPDU
を受信した時その処理を要求するCPUを選択する方法
と同じであり、前に図3を用いて説明済である。
【0037】それから、図1、図7、図8の実施例はバ
ス6とは別にCPU1と共有メモリ2の間にローカルバ
ス4を設けた構成となっているが、これはCPU1と共
有メモリ2間のアクセスをバス6から分離することによ
り短いバスによるアクセス速度の向上とバス6上のトラ
ヒックの緩和を狙ったものである。これらのメリットが
無くなるもののローカルバス4を持たずCPU1と共有
メモリ2をバス6に接続する構成も可能であり、ローカ
ルバス4を持つ構成に比べて若干の性能低下はあるもの
の任意のCPUで一連のプロトコルを処理できるという
本発明の主旨に沿って装置を構成する上で支障はない。
ス6とは別にCPU1と共有メモリ2の間にローカルバ
ス4を設けた構成となっているが、これはCPU1と共
有メモリ2間のアクセスをバス6から分離することによ
り短いバスによるアクセス速度の向上とバス6上のトラ
ヒックの緩和を狙ったものである。これらのメリットが
無くなるもののローカルバス4を持たずCPU1と共有
メモリ2をバス6に接続する構成も可能であり、ローカ
ルバス4を持つ構成に比べて若干の性能低下はあるもの
の任意のCPUで一連のプロトコルを処理できるという
本発明の主旨に沿って装置を構成する上で支障はない。
【0038】
【発明の効果】この第1の発明によれば、複数のプロト
コルデータ単位(PDU)の通信処理を実行する際、各
PDUの通信相手アドレス対応のCPUに処理を依頼す
ることで、複数PDUに対する処理を複数のCPU上で
並列に行うことができ、よってCPU性能を最大限に発
揮しつつ処理を行うプロトコル並列処理装置を得ること
ができる。
コルデータ単位(PDU)の通信処理を実行する際、各
PDUの通信相手アドレス対応のCPUに処理を依頼す
ることで、複数PDUに対する処理を複数のCPU上で
並列に行うことができ、よってCPU性能を最大限に発
揮しつつ処理を行うプロトコル並列処理装置を得ること
ができる。
【0039】また、この第2の発明によれば、PDUの
受信処理を開始するに当たってPDUが運ばれる論理的
なコネクションの番号であるコネクション番号に対応付
けられた物理番号を持つCPUに処理を依頼することに
より、複数のコネクションに対する処理を複数のCPU
上で並列に行うことができ、よってCPU性能を最大限
に発揮しつつ処理を行うプロトコル並列処理装置を得る
ことができる。
受信処理を開始するに当たってPDUが運ばれる論理的
なコネクションの番号であるコネクション番号に対応付
けられた物理番号を持つCPUに処理を依頼することに
より、複数のコネクションに対する処理を複数のCPU
上で並列に行うことができ、よってCPU性能を最大限
に発揮しつつ処理を行うプロトコル並列処理装置を得る
ことができる。
【図1】この発明の一実施例におけるハードウェアのブ
ロック図である。
ロック図である。
【図2】この第1の発明の一実施例が処理するプロトコ
ルの階層構成を示す構成図である。
ルの階層構成を示す構成図である。
【図3】この第1の発明の一実施例において、PDUを
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
【図4】この第2の発明の―実施例において、PDUを
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
【図5】この第1の発明の―実施例において、CPUの
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
【図6】この第2の発明の一実施例において、CPUの
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
【図7】この発明の別の実施例で、複数の通信回線を収
容するプロトコル処理装置の構成図である。
容するプロトコル処理装置の構成図である。
【図8】この発明の別の実施例で、通信回線と共にホス
トプロセッサを収容したプロトコル処理装置の構成図で
ある。
トプロセッサを収容したプロトコル処理装置の構成図で
ある。
【図9】従来のプロトコル処理装置の構成図である。
1 CPU 2 共有メモリ 3 回線インタフェース 5 通信回線
Claims (2)
- 【請求項1】 複数のCPUと、上記複数のCPUが共有してアクセスできるようにして
設けられ、通信データに含まれる通信相手アドレス、上
記通信相手アドレスに対応付けられる上記CPUの物理
番号、この物理番号で特定されるCPUの処理開始時刻
の組み合わせを割り当てたCPU状態テーブル、及び通
信データを格納する共有メモリと、 OSIプロトコルにおいて各層のプロトコルで規定され
るデータ単位(PDU)で構成されたユーザの通信デー
タや制御情報であるPDUの通信処理時に、受信したP
DUより認識した通信相手アドレス、あるいは送信しよ
うとするPDUに対応したCPUの物理番号を上記CP
U状態テーブルから検索し、この検索されのCPUに通
信処理を依頼し、この検索されたCPUが既に他のPD
Uを通信処理中には、上記CPU状態テーブルに格納さ
れた処理開始時刻を検索し、この検索された処理開始時
刻に基づき最も早く待機状態に移行する CPUへ通信処
理を依頼する回線インタフェースないしホストプロセッ
サとを備えたことを特徴とするプロトコル並列処理装
置。 - 【請求項2】 複数のCPUと、上記複数のCPUが共有してアクセスできるようにして
設けられ、新たな通信コネクションの確立毎に、当該コ
ネクションの論理的なコネクション番号、このコネクシ
ョン番号に対応付けられる上記CPUの物理番号、この
物理番号で特定されるCPUの処理開始時刻の組を割り
当てるCPU状態テーブル及び通信データを格納する共
有メモリと、 OSIプロトコルにおいて各層のプロトコルで規定され
るデータ単位(PDU)で構成されたユーザの通信デー
タや制御情報であるPDUの通信処理時に、受信したP
DUにコネクション番号が含まれている場合、あるいは
1つの通信コネクションを指定してPDUを送信する場
合、上記コネクション番号に対応したCPUの物理番号
を上記CPU状態テーブルから検索し、この検索された
CPUに通信処理を依頼し、この検索されたCPUが既
に他のPDUを通信処理中には、上記CPU状態テーブ
ルに格納された処理開始時刻を検索し、この検索された
処理開始時刻に基づき最も早く待機状態に移行する CP
Uへ通信処理を依頼する回線インタフェースないしホス
トプロセッサとを備えたことを特徴とするプロトコル並
列処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3208558A JP2791236B2 (ja) | 1991-07-25 | 1991-07-25 | プロトコル並列処理装置 |
GB9215127A GB2258124B (en) | 1991-07-25 | 1992-07-16 | Protocol parallel processing apparatus |
US08/399,331 US5590328A (en) | 1991-07-25 | 1995-03-06 | Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3208558A JP2791236B2 (ja) | 1991-07-25 | 1991-07-25 | プロトコル並列処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0530152A JPH0530152A (ja) | 1993-02-05 |
JP2791236B2 true JP2791236B2 (ja) | 1998-08-27 |
Family
ID=16558176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3208558A Expired - Lifetime JP2791236B2 (ja) | 1991-07-25 | 1991-07-25 | プロトコル並列処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5590328A (ja) |
JP (1) | JP2791236B2 (ja) |
GB (1) | GB2258124B (ja) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE503219C2 (sv) * | 1994-09-05 | 1996-04-22 | Ericsson Telefon Ab L M | Anordning och förfarande för processbaserad meddelandehantering i ett kommunikationssystem |
US5771353A (en) * | 1995-11-13 | 1998-06-23 | Motorola Inc. | System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server |
US5706514A (en) * | 1996-03-04 | 1998-01-06 | Compaq Computer Corporation | Distributed execution of mode mismatched commands in multiprocessor computer systems |
US5805827A (en) * | 1996-03-04 | 1998-09-08 | 3Com Corporation | Distributed signal processing for data channels maintaining channel bandwidth |
US5918021A (en) * | 1996-06-03 | 1999-06-29 | Intel Corporation | System and method for dynamic distribution of data packets through multiple channels |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US6237047B1 (en) * | 1996-09-30 | 2001-05-22 | Dialogic Corporation | Signal processing system including plurality of processing cards communicating with plurality of independent CPU |
US5933606A (en) * | 1997-02-19 | 1999-08-03 | International Business Machines Corporation | Dynamic link page retargeting using page headers |
US5905897A (en) * | 1997-03-20 | 1999-05-18 | Industrial Technology Research Institute | Method and apparatus for selecting a nonblocked interrupt request |
US7076568B2 (en) | 1997-10-14 | 2006-07-11 | Alacritech, Inc. | Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket |
US6470415B1 (en) | 1999-10-13 | 2002-10-22 | Alacritech, Inc. | Queue system involving SRAM head, SRAM tail and DRAM body |
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US7284070B2 (en) * | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
US6389479B1 (en) | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US6757746B2 (en) | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US7237036B2 (en) | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
US6697868B2 (en) | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US7174393B2 (en) | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US7185266B2 (en) * | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US7089326B2 (en) | 1997-10-14 | 2006-08-08 | Alacritech, Inc. | Fast-path processing for receiving data on TCP connection offload devices |
US6687758B2 (en) | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US6591302B2 (en) | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US6427173B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US7133940B2 (en) | 1997-10-14 | 2006-11-07 | Alacritech, Inc. | Network interface device employing a DMA command queue |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US6427171B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US7042898B2 (en) | 1997-10-14 | 2006-05-09 | Alacritech, Inc. | Reducing delays associated with inserting a checksum into a network message |
US7664883B2 (en) | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
US6279082B1 (en) | 1998-10-14 | 2001-08-21 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for efficient use of cache to improve access to memory of page type |
US7328270B1 (en) * | 1999-02-25 | 2008-02-05 | Advanced Micro Devices, Inc. | Communication protocol processor having multiple microprocessor cores connected in series and dynamically reprogrammed during operation via instructions transmitted along the same data paths used to convey communication data |
US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US20020040381A1 (en) * | 2000-10-03 | 2002-04-04 | Steiger Dianne L. | Automatic load distribution for multiple digital signal processing system |
EP1356653B1 (en) * | 2001-01-24 | 2011-07-20 | Broadcom Corporation | Method for processing multiple security policies applied to a data packet structure |
US20030039256A1 (en) * | 2001-08-24 | 2003-02-27 | Klas Carlberg | Distribution of connection handling in a processor cluster |
US20030121835A1 (en) * | 2001-12-31 | 2003-07-03 | Peter Quartararo | Apparatus for and method of sieving biocompatible adsorbent beaded polymers |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
US7496689B2 (en) | 2002-04-22 | 2009-02-24 | Alacritech, Inc. | TCP/IP offload device |
US8015303B2 (en) | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7191241B2 (en) | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7337241B2 (en) | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7596621B1 (en) * | 2002-10-17 | 2009-09-29 | Astute Networks, Inc. | System and method for managing shared state using multiple programmed processors |
US8151278B1 (en) | 2002-10-17 | 2012-04-03 | Astute Networks, Inc. | System and method for timer management in a stateful protocol processing system |
US7814218B1 (en) | 2002-10-17 | 2010-10-12 | Astute Networks, Inc. | Multi-protocol and multi-format stateful processing |
US6946753B2 (en) * | 2002-11-14 | 2005-09-20 | Fyre Storm, Inc. | Switching power converter controller with watchdog timer |
US6996070B2 (en) | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
US7644410B1 (en) * | 2004-11-23 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Resource management for shared computing environment |
US8214461B1 (en) | 2004-11-23 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Method of processing request by server computer system |
US7672949B2 (en) * | 2004-12-28 | 2010-03-02 | Sap Ag | Connection manager having a common dispatcher for heterogeneous software suites |
US7539821B2 (en) | 2004-12-28 | 2009-05-26 | Sap Ag | First in first out eviction implementation |
US20060143256A1 (en) | 2004-12-28 | 2006-06-29 | Galin Galchev | Cache region concept |
US8204931B2 (en) | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
US7971001B2 (en) | 2004-12-28 | 2011-06-28 | Sap Ag | Least recently used eviction implementation |
US7694065B2 (en) | 2004-12-28 | 2010-04-06 | Sap Ag | Distributed cache architecture |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
US7831634B2 (en) * | 2005-04-29 | 2010-11-09 | Sap Ag | Initializing a cache region using a generated cache region configuration structure |
US7689660B2 (en) | 2005-06-09 | 2010-03-30 | Sap Ag | Application server architecture |
US7966412B2 (en) * | 2005-07-19 | 2011-06-21 | Sap Ag | System and method for a pluggable protocol handler |
US7738500B1 (en) | 2005-12-14 | 2010-06-15 | Alacritech, Inc. | TCP timestamp synchronization for network connections that are offloaded to network interface devices |
US8707323B2 (en) | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
DE102006055930A1 (de) * | 2006-11-27 | 2008-05-29 | Siemens Ag | Bildverarbeitungssystem zum Verarbeiten wenigstens eines Bild-Datensatzes mit einer schnellen Bildverarbeitungsvorrichtung und Verfahren zum Bildverarbeiten |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
JP5051657B2 (ja) * | 2008-09-05 | 2012-10-17 | 日本電気通信システム株式会社 | 通信制御装置 |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
WO2012095982A1 (ja) * | 2011-01-13 | 2012-07-19 | 富士通株式会社 | マルチコアプロセッサシステム、およびスケジューリング方法 |
US9497715B2 (en) * | 2011-03-02 | 2016-11-15 | Blackbird Technology Holdings, Inc. | Method and apparatus for addressing in a resource-constrained network |
CN105373028B (zh) * | 2014-09-02 | 2020-11-06 | 普源精电科技股份有限公司 | 具有接口通信功能的测量设备及其接口通信系统和方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4402046A (en) * | 1978-12-21 | 1983-08-30 | Intel Corporation | Interprocessor communication system |
US4530054A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory |
US4654654A (en) * | 1983-02-07 | 1987-03-31 | At&T Bell Laboratories | Data network acknowledgement arrangement |
JPH0634486B2 (ja) * | 1984-09-04 | 1994-05-02 | 日本電信電話株式会社 | 通信プロトコル制御装置 |
JPS61296892A (ja) * | 1985-06-25 | 1986-12-27 | Nec Corp | マルチプロセツサ・システム |
JP2533495B2 (ja) * | 1986-07-25 | 1996-09-11 | 株式会社日立製作所 | ワ−クスケジユ−リング方法及び装置 |
US4766534A (en) * | 1986-10-16 | 1988-08-23 | American Telephone And Telegraph Company, At&T Bell Laboratories | Parallel processing network and method |
US4949338A (en) * | 1987-04-06 | 1990-08-14 | Racal Data Communications Inc. | Arbitration in multiprocessor communication node |
US4821265A (en) * | 1987-04-06 | 1989-04-11 | Racal Data Communications Inc. | Node architecture for communication networks |
US5159686A (en) * | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
US5146590A (en) * | 1989-01-13 | 1992-09-08 | International Business Machines Corporation | Method for sorting using approximate key distribution in a distributed system |
JPH07104842B2 (ja) * | 1989-03-03 | 1995-11-13 | 日本電気株式会社 | 外部記憶装置の割込み制御方式 |
US5191652A (en) * | 1989-11-10 | 1993-03-02 | International Business Machines Corporation | Method and apparatus for exploiting communications bandwidth as for providing shared memory |
US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
JPH04195577A (ja) * | 1990-11-28 | 1992-07-15 | Hitachi Ltd | マルチプロセッサにおけるタスクスケジューリング方式 |
US5261109A (en) * | 1990-12-21 | 1993-11-09 | Intel Corporation | Distributed arbitration method and apparatus for a computer bus using arbitration groups |
-
1991
- 1991-07-25 JP JP3208558A patent/JP2791236B2/ja not_active Expired - Lifetime
-
1992
- 1992-07-16 GB GB9215127A patent/GB2258124B/en not_active Expired - Fee Related
-
1995
- 1995-03-06 US US08/399,331 patent/US5590328A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2258124A (en) | 1993-01-27 |
US5590328A (en) | 1996-12-31 |
JPH0530152A (ja) | 1993-02-05 |
GB9215127D0 (en) | 1992-08-26 |
GB2258124B (en) | 1995-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2791236B2 (ja) | プロトコル並列処理装置 | |
JP3419627B2 (ja) | ルータ装置 | |
JP3746785B2 (ja) | 多重ネットワーク・アドレスを備えたネットワーク・ステーション | |
US6718393B1 (en) | System and method for dynamic distribution of data traffic load through multiple channels | |
US5864535A (en) | Network server having dynamic load balancing of messages in both inbound and outbound directions | |
US5878212A (en) | System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy | |
WO1998045785A2 (en) | Supporting authentication across multiple network access servers | |
WO1999000738A1 (en) | Method and apparatus for dynamic queue sizing | |
JP2004048661A (ja) | ネットワークのパス構成のための方法および装置 | |
JPH10173662A (ja) | 帯域予約制御方式 | |
CN101442493A (zh) | Ip报文分发方法、集群系统和负载均衡器 | |
JPH11143655A (ja) | 印刷システム、印刷方法及びプリンタ | |
US6147987A (en) | Supporting load sharing across multiple network access servers | |
US6026085A (en) | Architecture to support a single system image across multiple network access servers | |
US6233232B1 (en) | Supporting multilink connections across multiple network access servers | |
JPH07105815B2 (ja) | データ・パケツトの転送システム及びデータ・パケツトの転送方法 | |
US6101542A (en) | Service management method and connection oriented network system using such management method | |
JP2000235536A (ja) | データ通信方式及び装置 | |
US6658001B1 (en) | Path setting method, communication unit and storage medium | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN |