JPH0530152A - プロトコル並列処理装置 - Google Patents
プロトコル並列処理装置Info
- Publication number
- JPH0530152A JPH0530152A JP3208558A JP20855891A JPH0530152A JP H0530152 A JPH0530152 A JP H0530152A JP 3208558 A JP3208558 A JP 3208558A JP 20855891 A JP20855891 A JP 20855891A JP H0530152 A JPH0530152 A JP H0530152A
- 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.)
- Granted
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)
Abstract
(57)【要約】
【目的】 通信プロトコルを並列処理する複数のCPU
から成るプロトコル処理装置において、CPUの使用率
を高くし性能の良い装置を得ることを目的とする。 【構成】 複数のCPU1から共通に参照できる共有メ
モリ2を設け、PDU(プロトコルデータ単位)ないし
データを共有メモリ2に書き込んだ後、回線インタフェ
ース3はこれを処理するのに最も適したCPU1を上記
共有メモリ2に格納したCPU選択情報をもとに複数個
のCPUの中から選択するようにした。
から成るプロトコル処理装置において、CPUの使用率
を高くし性能の良い装置を得ることを目的とする。 【構成】 複数のCPU1から共通に参照できる共有メ
モリ2を設け、PDU(プロトコルデータ単位)ないし
データを共有メモリ2に書き込んだ後、回線インタフェ
ース3はこれを処理するのに最も適したCPU1を上記
共有メモリ2に格納したCPU選択情報をもとに複数個
のCPUの中から選択するようにした。
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層PDUとし、フレーム処理回路101へ引
き渡す。
るとまずフレーム処理回路101は第2層プロトコルを
処理し、受信PDUに第3層PDUの処理を行い、受信
PDUに第4層のPDUが含まれていれば中央処理部1
03へ処理を引き継ぐ。逆にPDUの送信の場合、中央
処理部103で第4層までの処理を終えたPDUが生成
され、パケット処理回路102へ渡される。パケット処
理回路102は第3層のプロトコル制御情報をこれに付
加して第3層PDUとし、フレーム処理回路101へ引
き渡す。
【0006】フレーム処理回路101では第2層のプロ
トコル制御情報を付加して第2層PDUを作成し、通信
回線5上へPDUを送出する。このように、従来のプロ
トコル処理装置においてはCPU毎に処理すべき対象が
決まっており、あるCPUに仕事がないからといってそ
れに別の処理を割り当てるといった柔軟な運用は不可能
であった。
トコル制御情報を付加して第2層PDUを作成し、通信
回線5上へPDUを送出する。このように、従来のプロ
トコル処理装置においてはCPU毎に処理すべき対象が
決まっており、ある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の物理番号の組を割り当てるC
PU状態テーブル及び通信データを格納する各CPU共
有のメモリと、プロトコルデータ単位のデータ通信処理
時に通信相手アドレスとともに上記CPU状態テーブル
を検索し、該当CPUに通信処理を依頼するとともに、
上記該当CPUが処理中には処理可能性が高いCPUへ
通信処理を依頼する回線インタフェースとを設けたもの
である。
ロトコル並列処理装置は、複数のCPUと、通信データ
に含まれる通信相手アドレスと、通信相手アドレスに対
応付けられる上記CPUの物理番号の組を割り当てるC
PU状態テーブル及び通信データを格納する各CPU共
有のメモリと、プロトコルデータ単位のデータ通信処理
時に通信相手アドレスとともに上記CPU状態テーブル
を検索し、該当CPUに通信処理を依頼するとともに、
上記該当CPUが処理中には処理可能性が高いCPUへ
通信処理を依頼する回線インタフェースとを設けたもの
である。
【0010】また、この第2の発明に係るプロトコル並
列処理装置は、複数のCPUと、新たな通信コネクショ
ンが確立毎に、当コネクションに論理的なコネクション
番号とコネクション番号に対応付けられる上記CPUの
物理番号の組を割り当てるCPU状態テーブル及び通信
データを格納する各CPU共有のメモリと、プロトコル
データ単位のデータ通信時に、コネクション番号が与え
られている場合、該コネクション番号をもとに上記CP
U状態テーブルを検索し、該当CPUに通信処理を依頼
するとともに、上記該当CPUが処理中には処理可能性
が高いCPUへ通信処理を依頼する回線インタフェース
とを設けたものである。
列処理装置は、複数のCPUと、新たな通信コネクショ
ンが確立毎に、当コネクションに論理的なコネクション
番号とコネクション番号に対応付けられる上記CPUの
物理番号の組を割り当てるCPU状態テーブル及び通信
データを格納する各CPU共有のメモリと、プロトコル
データ単位のデータ通信時に、コネクション番号が与え
られている場合、該コネクション番号をもとに上記CP
U状態テーブルを検索し、該当CPUに通信処理を依頼
するとともに、上記該当CPUが処理中には処理可能性
が高いCPUへ通信処理を依頼する回線インタフェース
とを設けたものである。
【0011】
【作用】この第1の発明によれば、回線インタフェース
は各プロトコルデータ単位の通信処理を開始する際、各
通信データに含まれる通信相手アドレスをもとに共有メ
モリのCPU状態テーブルに格納された各通信相手アド
レス対応のCPU番号を検索し、そのCPUにデータ通
信処理を依頼することで、複数のプロトコルデータ単位
に対する処理を複数のCPUで並行に行うことができ
る。
は各プロトコルデータ単位の通信処理を開始する際、各
通信データに含まれる通信相手アドレスをもとに共有メ
モリのCPU状態テーブルに格納された各通信相手アド
レス対応のCPU番号を検索し、そのCPUにデータ通
信処理を依頼することで、複数のプロトコルデータ単位
に対する処理を複数のCPUで並行に行うことができ
る。
【0012】また、この第2の発明によれば、回線イン
タフェースはプロトコルデータ単位毎の通信データに含
まれるコネクション番号をもとに、該コネクション番号
に対応付けられるCPUの物理番号の組を割り当てたC
PU状態テーブルを参照し、コネクション番号に対応付
けられた物理番号を持つCPUに処理を依頼すること
で、複数のコネクションに対する処理を複数のCPU上
で並列に行うことができる。
タフェースはプロトコルデータ単位毎の通信データに含
まれるコネクション番号をもとに、該コネクション番号
に対応付けられるCPUの物理番号の組を割り当てたC
PU状態テーブルを参照し、コネクション番号に対応付
けられた物理番号を持つ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の中から要求先のCPU
を選んで、CPUを効率よく利用する。アイドル中のC
PUが無い場合は早くアイドルになりそうなCPUを選
んでそれ宛てに処理要求を出す。
動作の概略を説明する。通信回線5からPDUを受信す
ると、回線インタフェース3はPDUを共有メモリ2へ
書き込んでCPU1の内適当な1個を選択し処理を要求
する。要求を受けた1個のCPUは下位層から上位層ま
で一連のプロトコル処理を行って受信したPDUを処理
す。ここでアイドル中のCPUの中から要求先のCPU
を選んで、CPUを効率よく利用する。アイドル中のC
PUが無い場合は早くアイドルになりそうな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
つであるCCITT(国際電信電話諮問委員会)勧告
X.25およびJIS X 5109を処理プロトコル
としてこの実施例におけるプロトコル処理動作をより詳
しく説明する。これは、通信回線5がパケット交換網に
接続されている場合によく見られるプロトコル構成であ
る。
つであるCCITT(国際電信電話諮問委員会)勧告
X.25および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がP
DUを受信した時のCPU1への受信PDUの引き渡し
手順を示すフローチャートであり、以下図に沿って説明
する。図中、ステップ20において回線インタフェース
3は通信回線5からPDUを受信し、CPU1から適当
な1個を選択する動作が起動される。選択に必要な情報
は、CPU状態テーブルとして共有メモリ2中に保持さ
れている。図5はCPU状態テーブルの構成例であり、
CPU1は自己の動作に対応させてこのテーブルの内容
を更新する。
層構成を示す図であり、図中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がP
DUを受信した時のCPU1への受信PDUの引き渡し
手順を示すフローチャートであり、以下図に沿って説明
する。図中、ステップ20において回線インタフェース
3は通信回線5からPDUを受信し、CPU1から適当
な1個を選択する動作が起動される。選択に必要な情報
は、CPU状態テーブルとして共有メモリ2中に保持さ
れている。図5はCPU状態テーブルの構成例であり、
CPU1は自己の動作に対応させてこのテーブルの内容
を更新する。
【0020】図5中、303はCPU番号、31はアイ
ドル中フラグ、32は通信相手アドレス、33はX.2
5レベル3の論理チャネル番号、34は処理開始時刻で
ある。CPU1の内1つが作業を開始すると、該CPU
はCPU状態テーブル中の自分に割り振られたCPU番
号30を持つフィールド内の情報を書き換える。すなわ
ち、アイドル中フラグ31を0にセットし、通信相手ア
ドレス32に通信相手のネットワークアドレスを書込
み、論理チャネル番号33に使用する論理チャネル番号
を書き込み、処理開始時刻34に処理を始めた時刻を記
入する。
ドル中フラグ、32は通信相手アドレス、33はX.2
5レベル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がCPU1を見つ
けたら、ステップ24へ進んで見つかったCPUへ受信
PDUの処理要求を出す。もしすべてのCPUのアイド
ル中フラグ31が0だったら、ステップ25へ進んでC
PU状態テーブルの処理開始時刻34をすべて調べその
中で一番古い時刻を持つCPUを選びそのCPUへ受信
CPUの処理要求を出す。
チャネル番号も見い出せなかったら、ステップ23へ進
んでCPU状態テーブルのアイドル中フラグ31をチェ
ックする。もしアイドル中フラグ31がCPU1を見つ
けたら、ステップ24へ進んで見つかったCPUへ受信
PDUの処理要求を出す。もしすべてのCPUのアイド
ル中フラグ31が0だったら、ステップ25へ進んでC
PU状態テーブルの処理開始時刻34をすべて調べその
中で一番古い時刻を持つCPUを選びそのCPUへ受信
CPUの処理要求を出す。
【0024】次の実施例として、コネクションレス型プ
ロトコルの1つであるISO 8473「コネクション
レス型ネットワークサービスを提供するプロトコル」お
よびJIS X 5109を処理プロトコルとして図1
の装置構成におけるプロトコル処理動作を説明する。こ
れは、通信回線5がローカルエリアネットワーク(LA
N)に接続されている場合によく見られるプロトコル構
成である。前の実施例とは部分的に違わないので、以下
前の実施例との相違点のみ述べる。
ロトコルの1つであるISO 8473「コネクション
レス型ネットワークサービスを提供するプロトコル」お
よびJIS X 5109を処理プロトコルとして図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状態テーブルにおいて論理チャネル番号33は使
用されない。
は、X.25レベル2 10がLANで通常使用される
ISO国際標準ISO 8802に変わり、X.25レ
ベル3 11がISO 8473に変わる。図3に示し
た受信PDUの引き渡し手順を表わすフローチャートに
おいては、ISO 8473では論理チャネルを用いず
すべてのPDUが送信元アドレスを含むため、ステップ
21において論理チャネル番号の比較は行わず、すべて
相手アドレスを比較するようになる。それ以外の点では
前の実施例と同じ処理フローによって受信PDUの処理
を担当すべきCPUを選択できる。なお、図5に示した
CPU状態テーブルにおいて論理チャネル番号33は使
用されない。
【0026】上記においては、この発明を適用するプロ
トコル例としてJIS X.5109およびISO 8
473を取りあげて説明したが、JIS X.5202
「開放型システム間相互接続の基本コネクション型セシ
ョンプロトコル仕様」で規定されているセション層プロ
トコルのような他のコネクション型プロトコル、あるい
はインタネットプロトコルなど他のコネクションレス型
プロトコルも上記と同様にして並列処理を行うことがで
きる。
トコル例としてJIS X.5109およびISO 8
473を取りあげて説明したが、JIS X.5202
「開放型システム間相互接続の基本コネクション型セシ
ョンプロトコル仕様」で規定されているセション層プロ
トコルのような他のコネクション型プロトコル、あるい
はインタネットプロトコルなど他のコネクションレス型
プロトコルも上記と同様にして並列処理を行うことがで
きる。
【0027】上記コネクション型プロトコルにおける実
施例を図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個
を選択する動作が起動される。選択に必要な情報は、C
PU状態テーブルとして共有メモリ2中に保持されてい
る。図6はCPU状態テーブルの構成例であり、CPU
1は自己の動作に対応させてこのテーブルの内容を更新
する。
受信した時のCPU1への受信PDUの引き渡し手順を
示すフローチャートであり、以下図に沿って説明する。
図中、ステップ20において回線インタフェース3は通
信回線5からPDUを受信し、CPU1から適当な1個
を選択する動作が起動される。選択に必要な情報は、C
PU状態テーブルとして共有メモリ2中に保持されてい
る。図6はCPU状態テーブルの構成例であり、CPU
1は自己の動作に対応させてこのテーブルの内容を更新
する。
【0031】図6中、303はCPU番号、31はアイ
ドル中フラグ、36はコネクション番号、34は処理開
始時刻である。CPU1の内1つが作業を開始すると、
該CPUはCPU状態テーブル中の自分に割り振られた
CPU番号30を持つフィールド内の情報を書き換え
る。すなわち、アイドル中フラグ31を0にセットし、
コネクション番号36を書込み、処理開始時刻34に処
理を始めた時刻を記入する。
ドル中フラグ、36はコネクション番号、34は処理開
始時刻である。CPU1の内1つが作業を開始すると、
該CPUはCPU状態テーブル中の自分に割り振られた
CPU番号30を持つフィールド内の情報を書き換え
る。すなわち、アイドル中フラグ31を0にセットし、
コネクション番号36を書込み、処理開始時刻34に処
理を始めた時刻を記入する。
【0032】そして処理を終わるとアイドル中フラグ3
1を1にセットすると共にコネクション番号36、処理
開始時刻34に処理中に取り得る値とは異なる一定の値
を設定して内容をクリアする。なお、X.25レベル3
プロトコルでは、コネクション確立時には互いにネット
ワークアドレスをPDUで通知するがそれ以降はコネク
ション確立時に定まる番号をPDU中に示しこれによっ
てコネクションを参照するようになっている。
1を1にセットすると共にコネクション番号36、処理
開始時刻34に処理中に取り得る値とは異なる一定の値
を設定して内容をクリアする。なお、X.25レベル3
プロトコルでは、コネクション確立時には互いにネット
ワークアドレスをPDUで通知するがそれ以降はコネク
ション確立時に定まる番号をPDU中に示しこれによっ
てコネクションを参照するようになっている。
【0033】図4の説明に戻って、ステップ21aにお
いて回線インタフェース3は受信PDUがコネクション
番号を含んでいればこれとCPU状態テーブルのコネク
ション番号36を比較し同一のものがあるかどうかチェ
ックする。もし同一のものがあれば、ステップ22へ進
んで該当するCPU宛てに受信PDUの処理要求を出
す。
いて回線インタフェース3は受信PDUがコネクション
番号を含んでいればこれとCPU状態テーブルのコネク
ション番号36を比較し同一のものがあるかどうかチェ
ックする。もし同一のものがあれば、ステップ22へ進
んで該当するCPU宛てに受信PDUの処理要求を出
す。
【0034】もしステップ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の処理要求を出す。
【0035】また図1に示した実施例では通信回線5お
よび回線インタフェース6は1つづつであったが、図7
に示す別の実施例のように通信回線および回線インタフ
ェースを複数設けてこれらの間でPDUの中継を行った
り複数の通信回線それぞれを介して同時に多くの通信相
手との間で通信を行うようなプロトコル処理装置につい
ても、この発明は同様に適用できる。なお、図7におい
て、5a,5bは通信回線、3a,3bは回線インタフ
ェースであり、他の部分(CPU1、共有メモリ2、ロ
ーカルバス4、バス6)は図1と同じである。さらに図
8に示す別の実施例では、プロトコル処理装置にホスト
プロセッサ7が接続されプロトコル処理装置をフロント
エンドプロセッサとして使用する構成が示されている。
図8において、7はホストプロセッサ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であり、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の発明によれば、複数のパケッ
トデータ単位の通信処理を実行する際、各パケットデー
タ単位の通信相手アドレス対応のCPUに処理を依頼す
ることで、複数のパケットデータ単位に対する処理を複
数のCPU上で並行に行うことができ、よってCPU性
能を最大限に発揮しつつ処理を行うプロトコル並列処理
装置を得ることができる。
トデータ単位の通信処理を実行する際、各パケットデー
タ単位の通信相手アドレス対応のCPUに処理を依頼す
ることで、複数のパケットデータ単位に対する処理を複
数のCPU上で並行に行うことができ、よってCPU性
能を最大限に発揮しつつ処理を行うプロトコル並列処理
装置を得ることができる。
【0039】また、この第2の発明によれば、PDUの
受信処理を開始するに当たってPDUに含まれるコネク
ション番号に対応付けられた物理番号を持つCPUに処
理を依頼する機構とを併せ持つことにより、複数のコネ
クションに対する処理を複数のCPU上で並列に行うこ
とができ、よってCPU性能を最大限に発揮しつつ処理
を行うプロトコル並列処理装置を得ることができる。
受信処理を開始するに当たってPDUに含まれるコネク
ション番号に対応付けられた物理番号を持つCPUに処
理を依頼する機構とを併せ持つことにより、複数のコネ
クションに対する処理を複数のCPU上で並列に行うこ
とができ、よってCPU性能を最大限に発揮しつつ処理
を行うプロトコル並列処理装置を得ることができる。
【図1】この第1の発明の一実施例におけるハードウェ
アのブロック図である。
アのブロック図である。
【図2】この第1の発明の一実施例が処理するプロトコ
ルの階層構成を示す構成図である。
ルの階層構成を示す構成図である。
【図3】この第1の発明の一実施例において、PDUを
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
【図4】この第2の発明の一実施例において、PDUを
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
受信した後処理を要求するCPUを選択する時の選択方
法を示すフローチャートである。
【図5】この第1の発明の一実施例において、CPUの
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
【図6】この第2の発明の一実施例において、CPUの
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
選択に際し参照される情報を集めたCPU状態テーブル
の内容を示すテーブル構成図である。
【図7】この第3の発明の一実施例で、複数の通信回線
を収容するプロトコル処理装置の構成図である。
を収容するプロトコル処理装置の構成図である。
【図8】この第4の発明の一実施例で、通信回線と共に
ホストプロセッサを収容したプロトコル処理装置の構成
図である。
ホストプロセッサを収容したプロトコル処理装置の構成
図である。
【図9】従来のプロトコル処理装置の構成図である。
1 CPU
2 共有メモリ
3 回線インタフェース
5 通信回線
Claims (2)
- 【請求項1】 複数のCPUと、通信データに含まれる
通信相手アドレスと、通信相手アドレスに対応付けられ
る上記CPUの物理番号の組を割り当てるCPU状態テ
ーブル及び通信データを格納する各CPU共有のメモリ
と、プロトコルデータ単位のデータ通信処理時に通信相
手アドレスとともに上記CPU状態テーブルを検索し、
該当CPUに通信処理を依頼するとともに、上記該当C
PUが処理中には処理可能性が高いCPUへ通信処理を
依頼する回線インタフェースとを備えたことを特徴とす
るプロトコル並列処理装置。 - 【請求項2】 複数のCPUと、新たな通信コネクショ
ンが確立毎に、当コネクションに論理的なコネクション
番号とコネクション番号に対応付けられる上記CPUの
物理番号の組を割り当てるCPU状態テーブル及び通信
データを格納する各CPU共有のメモリと、プロトコル
データ単位のデータ通信時に、コネクション番号が与え
られている場合、該コネクション番号をもとに上記CP
U状態テーブルを検索し、該当CPUに通信処理を依頼
するとともに、上記該当CPUが処理中には処理可能性
が高いCPUへ通信処理を依頼する回線インタフェース
とを備えたことを特徴とするプロトコル並列処理装置。
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 true JPH0530152A (ja) | 1993-02-05 |
JP2791236B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010062981A (ja) * | 2008-09-05 | 2010-03-18 | Nec Commun Syst Ltd | 通信制御装置 |
Families Citing this family (72)
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 |
US5805827A (en) * | 1996-03-04 | 1998-09-08 | 3Com Corporation | Distributed signal processing for data channels maintaining channel bandwidth |
US5706514A (en) * | 1996-03-04 | 1998-01-06 | Compaq Computer Corporation | Distributed execution of mode mismatched commands in multiprocessor computer systems |
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 |
US7042898B2 (en) | 1997-10-14 | 2006-05-09 | Alacritech, Inc. | Reducing delays associated with inserting a checksum into a network message |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
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 |
US6591302B2 (en) | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US6427171B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US7284070B2 (en) * | 1997-10-14 | 2007-10-16 | Alacritech, Inc. | TCP offload network interface device |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US7089326B2 (en) | 1997-10-14 | 2006-08-08 | Alacritech, Inc. | Fast-path processing for receiving data on TCP connection offload devices |
US7185266B2 (en) | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US7237036B2 (en) | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US7174393B2 (en) | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US7133940B2 (en) | 1997-10-14 | 2006-11-07 | Alacritech, Inc. | Network interface device employing a DMA command queue |
US6389479B1 (en) | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US6697868B2 (en) | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6470415B1 (en) | 1999-10-13 | 2002-10-22 | Alacritech, Inc. | Queue system involving SRAM head, SRAM tail and DRAM body |
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 |
US6687758B2 (en) | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6427173B1 (en) | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
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 |
US7337241B2 (en) | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7191241B2 (en) | 2002-09-27 | 2007-03-13 | 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 |
US7539821B2 (en) | 2004-12-28 | 2009-05-26 | Sap Ag | First in first out eviction implementation |
US7971001B2 (en) | 2004-12-28 | 2011-06-28 | Sap Ag | Least recently used eviction implementation |
US7672949B2 (en) * | 2004-12-28 | 2010-03-02 | Sap Ag | Connection manager having a common dispatcher for heterogeneous software suites |
US8204931B2 (en) | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
US20060143256A1 (en) | 2004-12-28 | 2006-06-29 | Galin Galchev | Cache region concept |
US7694065B2 (en) | 2004-12-28 | 2010-04-06 | Sap Ag | Distributed cache architecture |
US7831634B2 (en) * | 2005-04-29 | 2010-11-09 | Sap Ag | Initializing a cache region using a generated cache region configuration structure |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
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 |
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 | 富士通株式会社 | マルチコアプロセッサシステム、およびスケジューリング方法 |
US20120226955A1 (en) * | 2011-03-02 | 2012-09-06 | John Peter Norair | Method and apparatus for forward error correction (fec) 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 |
---|---|---|---|---|
US4402046A (en) * | 1978-12-21 | 1983-08-30 | Intel Corporation | Interprocessor communication system |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing 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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010062981A (ja) * | 2008-09-05 | 2010-03-18 | Nec Commun Syst Ltd | 通信制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2791236B2 (ja) | 1998-08-27 |
US5590328A (en) | 1996-12-31 |
GB2258124A (en) | 1993-01-27 |
GB2258124B (en) | 1995-05-03 |
GB9215127D0 (en) | 1992-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2791236B2 (ja) | プロトコル並列処理装置 | |
JP2561797B2 (ja) | 経路指定方法及び装置 | |
JP3746785B2 (ja) | 多重ネットワーク・アドレスを備えたネットワーク・ステーション | |
EP0381365B1 (en) | A system and method for interconnecting applications across different networks of data processing systems | |
US5918021A (en) | System and method for dynamic distribution of data packets through multiple channels | |
US5864535A (en) | Network server having dynamic load balancing of messages in both inbound and outbound directions | |
WO1998045785A2 (en) | Supporting authentication across multiple network access servers | |
JP2002506321A (ja) | 無線通信ネットワークにおけるパケット・ヘッダの削減 | |
CN101442493A (zh) | Ip报文分发方法、集群系统和负载均衡器 | |
US8539089B2 (en) | System and method for vertical perimeter protection | |
US6147987A (en) | Supporting load sharing across multiple network access servers | |
EP1142265A1 (en) | Use of lower ip-address bits | |
US6026085A (en) | Architecture to support a single system image across multiple network access servers | |
JPH09139751A (ja) | 通信ネットワークにおけるトラフィック・フィルタリング用ブリッジ装置 | |
US6278705B1 (en) | Integrated architecture to support a single system image across multiple network access servers | |
US6735220B1 (en) | Using a centralized server to coordinate assignment of identifiers in a distributed system | |
US6233232B1 (en) | Supporting multilink connections across multiple network access servers | |
US6425067B1 (en) | Systems and methods for implementing pointer management | |
JP2000235536A (ja) | データ通信方式及び装置 | |
CN113259271B (zh) | 报文交换方法和报文交换系统 | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN | |
Cisco | Configuring APPN |