JPH10155010A - パケット処理方法とネットワ−クア−キテクチャ - Google Patents

パケット処理方法とネットワ−クア−キテクチャ

Info

Publication number
JPH10155010A
JPH10155010A JP9263779A JP26377997A JPH10155010A JP H10155010 A JPH10155010 A JP H10155010A JP 9263779 A JP9263779 A JP 9263779A JP 26377997 A JP26377997 A JP 26377997A JP H10155010 A JPH10155010 A JP H10155010A
Authority
JP
Japan
Prior art keywords
packet
processing
processing means
layer
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9263779A
Other languages
English (en)
Other versions
JP3459165B2 (ja
Inventor
Hideo Sudo
日出夫 須藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Data Corp filed Critical Oki Data Corp
Priority to JP26377997A priority Critical patent/JP3459165B2/ja
Publication of JPH10155010A publication Critical patent/JPH10155010A/ja
Application granted granted Critical
Publication of JP3459165B2 publication Critical patent/JP3459165B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】 ネットワ−クア−キテクチャに組み込まれる
ネットワ−ク層/トランスポ−ト層の負荷を軽減し、よ
り効率良く動作するパケット処理方法とネットワ−クア
−キテクチャとを提供する。 【構成】 ネットワ−クからノ−ドの受信バッファ5a
にパケットを受信し、応答パケットをネットワ−クに送
信するNIC(Network Interface Controller)3と、
一定時間毎に入るタイマ割込みを使用し、割込み時間内
に受信バッファ5aに受信される全パケットのネットワ
−ク層とトランスポ−ト層とに関するプロトコルを1回
の起動で一括処理し、それぞれのコネクションに属する
最後の受信パケットに対する応答パケットを割込み中に
ネットワ−クに一括して送信するTCP/IP部5とを
備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はネットワ−クのノ−
ド間にコネクションを確立し、受信バッファに受信した
パケットに階層的に付加されたプロトコルを下位層から
上位層に向かって順に処理するパケット処理方法とネッ
トワ−クア−キテクチャとに関する。
【0002】
【従来の技術】従来、ネットワ−クのノ−ドに組込まれ
るOSI(Open System Interconnection) 環境の標準ネ
ットワ−クア−キテクチャは、プロトコルを階層的に並
べた構造を採っており、ISO(International Organi
zation for Standardization)等により、各層の位置付
けや、機能、層間のインタフェースなどが細かく規定さ
れている。
【0003】ISOが規定したOSI参照モデルには、
下位から物理層、デ−タリンク層、ネットワ−ク層、ト
ランスポ−ト層、セッション層、プレゼンテ−ション
層、アプリケ−ション層の7層構造になっている。
【0004】ネットワ−クに送り出されるパケット形式
のデ−タには、それぞれ、各層に関する制御情報である
プロトコルがヘッダとして付加されており、各ノ−ドの
ネットワ−クア−キテクチャはネットワ−クからパケッ
トを受信してパケットのヘッッダに階層的に含まれるプ
ロトコルを各層で順次処理してパケットに含まれるデ−
タをデ−タバッファに格納するとともに、受信パケット
に対する応答パケットをネットワ−クに送信する。
【0005】例えば、インタ−ネットプロトコル層(以
後IPと記す)はネットワ−ク層に位置し、主に一つ又
は複数の通信網を介して中継を行い、始点となるノード
から終点となるノードまでのデータ通信を行う。
【0006】また、IPの上位層(トランスポ−ト層)
としてのトランスファコントロ−ルプロトコル層(以後
TCPと記す)は、経路選択や中継機能に関与せず、始
点及び終点となるノードのさらに終端間における透過的
な両方向同時転送機能を提供する。
【0007】TCPをネットワ−クア−キテクチャに組
込むには、一つのコネクション(デ−タを転送するため
の論理的な通信路)に対する処理を一つのTCPタスク
で行せるようにし、N個のコネクションに対して(N+
1)個のTCPタスクを起動させる。TCPタスクの残
りの一つはマスタとして次のコネクションの確立用とし
て待機している。
【0008】IPは、1つのタスクが、受信した受信パ
ケットのヘッダ処理を順次処理して対応するTCPタス
クを識別し、待機しているTCPタスクに預けていく処
理を行っている。よって確立するコネクション数とは関
係なく常に1つのタスクとして存在する。
【0009】各TCPタスクはそれぞれコネクションを
確立したクライアントタスクから受信した受信パケット
を処理し、相手のクライアントタスクに応答パケットを
送信する。このとき送信する応答パケットはただ一つ存
在するIPタスクを通る必要があるため、各TCPタス
クはIPタスクの使用権を獲得する。
【0010】IPタスクはTCPタスクまたはデータリ
ンク層タスクからの呼び出し(以後POSTと記す)を
待つ。POSTとは、マルチタスク環境下のタスク間で
処理を移行する時に使用するオペレ−ションシステム
(以後OSと記す)のシステムコールである。
【0011】ここで、簡単にIPタスクとTCPタスク
との動作を説明する。データリンク層タスクは、クライ
アントより最初のパケットを受信すると、そのヘッダか
らIPタスクを識別し、待機しているIPタスクに対し
てPOSTを行う。
【0012】IPタスクは受信パケットのヘッダからネ
ットワ−ク層に関するプロトコル処理を行い、ヘッダか
らTCPタスクを識別し、待機しているTCPマスタタ
スクに対してPOSTを行う。
【0013】TCPマスタタスクは受信パケットの内容
がコネクションの開設要求と判断すると、パケットを処
理し、クライアントに対して応答パケットを送信する。
通常クライアントからの最初のパケットはコネクション
の開設を要求するパケットなので、クライアントへ応答
パケットを送信した後はタイマを動作させてスリ−ウェ
イハンドシェークの最後のパケットを待つ。
【0014】TCPマスタタスクは、タイマアップする
前にクライアントからハンドシェークパケットを受信す
ると、コネクションの確立を認識する。また、コネクシ
ョン確立後の受信パケットがセッション層以上のサービ
スの要求がある場合には、新たにマスタタスクを生成し
POSTを行う。本例では、FTP(File TransferPro
tocol)マスタタスクを起動する。
【0015】FTPマスタタスクは、クライアントとの
間に制御コネクションを確立すると、fork()関数を用い
自分自身のコピー(FTPタスク)を作成する。FTP
タスクは、TCPマスタタスクに対してポートの割り当
てを行う。
【0016】TCPマスタタスクは、fork()関数を用い
自分自身のコピー(TCPタスク)を作成する。TCP
タスクは、FTPタスクとの間にデ−タコネクションを
確立し、以後クライアントから切断されるまでそのコネ
クションを管理する。
【0017】TCPマスタタスクは次のクライアントか
らのコネクションの開設要求に備えて待ち状態となる。
【0018】他方、TCPタスクはパケットの受信毎に
トランスポート層の処理を行い、FTPタスクに対して
POSTを行う。FTPタスクは、TCPタスクから受
信したデータを受け取り、データ中に含まれるクライア
ントからのコマンドを実行する。
【0019】以上説明した組込み処理は、完全にプリエ
ンプティブに動作するラウンドロビン方式のOSの組込
みを前提としている。
【0020】
【発明が解決しようとする課題】従来のネットワ−クア
−キテクチャにあっては、複数のコネクションをそれと
同数のTCPタスクで処理するため、コネクションを処
理するプロセスを動的に複数コピーする機能(上述した
fork()関数) が必要となる。この機能は1つのプログラ
ムを複数のタスクで共有し実行させるため、タスク間の
同期を取るラウンドロビン方式の完全にプリエンプティ
ブに動作する高機能なOSを必要とするという問題点が
あった。
【0021】また、各層のプロトコル処理を別々のタス
クとして動作させるとともに、トランスポート層以上の
タスクはコネクションの確立に応じてタスクがコピーさ
れるので、OS上で動作するタスクの数が増え、OSの
オーバヘッド量が増加するという問題点もあった。
【0022】また、プロトコル処理における各プロセス
をすべて別々のタスクが行うことにより、メモリ上の作
業領域が増大するという問題点もあった。
【0023】本発明はネットワ−クア−キテクチャに組
み込まれるネットワ−ク層/トランスポ−ト層の負荷を
軽減し、より効率良く動作するパケット処理方法とネッ
トワークア−キテクチャとを提供することを目的とす
る。
【0024】
【課題を解決するための手段】上記目的を達成するため
に本発明のネットワ−クア−キテクチャにおいては、一
定時間毎に入るタイマ割込みを使用し、受信バッファに
受信されたパケットのネットワ−ク層とトランスポ−ト
層とに関するプロトコルを割込み中に一括処理して蓄積
し、プロトコルの内容から上位層のプロトコル処理手段
を指定通知する受信パケット一括処理手段と、それぞれ
のコネクションに属する最後の受信パケットに対する応
答パケットを割込み中にネットワ−クに一括して送信す
る送信パケット一括処理手段とを備える。
【0025】また、同じ目的を達成するために本発明の
パケット処理方法においては、少なくともネットワ−ク
層、トランスポ−ト層、セッション層、プレゼンテ−シ
ョン層、アプリケ−ション層に関するプロトコルの処理
をそれぞれ一つのタスクにし、ネットワ−ク層、トラン
スポ−ト層を一つの機能とし、セッション層、プレゼン
テ−ション層、アプリケ−ション層を一つの機能とし、
その機能に処理の優先度を持たせて動作するパケット処
理方法とし、具体的手段として、メッセ−ジに基づいて
呼び出した処理手段に起動を駆けるオペレ−ティングシ
ステム機能によるメッセ−ジ処理手段と、メッセ−ジ処
理手段により呼び出されて受信バッファから受信パケッ
トを取り出し、少なくともネットワ−ク層、トランスポ
−ト層に関するプロトコルを処理して所定量に達するま
で蓄積する第1のパケット処理手段と、セッション層、
プレゼンテ−ション層、アプリケ−ション層に関するプ
ロトコルを処理して上位層に出力する第2のパケット処
理手段と、第1のパケット処理手段から指定された第2
のパケット処理手段を呼び出すメッセ−ジをメッセ−ジ
処理手段に出力するとともに上位側待ち行列に登録し、
メッセ−ジ処理手段からの呼び出しに応じて上位側待ち
行列を参照し、第2のパケット処理手段を呼び出すソケ
ット処理手段とを備える。
【0026】
【発明の実施の形態】本発明の実施の形態について図面
を参照しながら説明する。尚、各図面に共通な要素には
同一符号を付す。第1の実施の形態 図1は第1の実施の形態によるプリンタのネットワ−ク
ア−キテクチャを示すブロック図であり、単一な中央処
理装置1(以後CPU1と記す)上で動作する割込み処
理及びタスクを示す。
【0027】尚、ノ−ドとして、図2に示すように、対
象を回線に接続されたネットワ−クプリンタ2(以後プ
リンタ2と記す)にしぼり説明する。
【0028】ネットワ−クア−キテクチャは、ネットワ
−ク接続用ハ−ドウェアとしてのNIC(Network Inte
rface Controller)3と、トランスポ−ト層及びネット
ワ−ク層のプロトコル処理手段としてのTCP/IP部
4と、クライアントとのデータの送受信を制御し、メモ
リ5上に割り当てられた受信バッファ5aを管理するI
FCタスク6とからなる。
【0029】NIC3はネットワ−クからのパケットの
受信時に起動し、CPU1に割り込みをかけて受信パケ
ットを受信バッファ5に受信し、受信パケットに対する
応答パケット等を送信する時に使用される。
【0030】TCP/IP部4はタイマ割り込み時に起
動し、割り込み時間内に受信バッファ5に受信されてあ
る受信パケットのネットワ−ク層とトランスポ−ト層と
に関するプロトコル処理を一括処理してメモリ5上に割
り当てられた受信パケット一時バッファ5bに格納して
IFC(Interface Control )タスク6にPOSTを行
う受信パケット一括処理手段4aと、メモリ5上に割り
当てられた送信待ちバッファ5cに格納されてある応答
パケット等を割り込み時間内にネットワ−クに送信する
送信パケット一括処理手段4bとが設けてある。TCP
/IP部4は、TCPとIPとを別タスクとせず一つの
タスクとして動作する。
【0031】IFCタスク6は、TCP/IP部4によ
り指定された通信アプリケーションを識別する通信アプ
リケーション識別部8と、受信パケットのセッション
層、プレゼンテ−ション層、アプリケ−ション層に関す
るプロトコルを処理する通信アプリケーション群9と、
受信パケットに含まれる受信デ−タを通信アプリケーシ
ョン群9から入力して印刷部10に出力する入出力管理
部11とからなる。
【0032】図3は図1に示したネットワ−クア−キテ
クチャの処理時のタイムチャ−トである。TCP/IP
部4は時間t経過する毎にタイマ割り込みに入るように
設定されており、割り込み時間内にTCP/IP部4の
プロトコル処理を行う。時間tは割り込み処理時間に比
べて大きく設定されてあり、TCP/IP部4が割り込
み処理を終了するとPOSTを行い、以後、次のタイマ
割り込みに入るまでNIC3によるパケット送受信処
理、IFCタスク6によるパケット処理、印刷部10に
よる印刷処理等が行われる。
【0033】TCP/IP部4はタイマ割り込みにより
起動すると、受信バッファ5に受信済みの全パケットを
割り込み時間内に処理し、最後のパケットに対する応答
パケットを作成して送信待ちバッファ7bに格納する。
たとえば、受信バッファ5にクライアントAから3つの
パケットA1 〜A3 を受信してあるとすると、1回のタ
イマ割り込み処理で3つのパケットA1 〜A3 を処理
し、パケットA3 に対する応答パケットを作成して送信
待ちバッファ7bに格納する。
【0034】また、複数のクライアントからパケットを
受信した場合にも同様に、各クライアントから受信した
最後のパケットに対して応答パケットを作成して送信待
ちバッファ7bに格納する。つまり、クライアントAか
ら3つのパケットA1 〜A3を、クライアントBから1
つのパケットB1 を、クライアントCから2つのパケッ
トC1 、C2 を受信バッファ5に受信していた場合、T
CP/IP部4は、クライアントAにはパケットA3 に
対する応答パケットを、クライアントBにはパケットB
1 に対する応答パケットを、クライアントCにはパケッ
トC2 に対する応答パケットをそれぞれ作成して送信待
ちバッファ7bに格納する。
【0035】送信処理はNIC3に対して送信に必要な
情報をセットする前処理、NIC3が行う送信処理、送
信完了後行う後処理からなる。
【0036】送信パタ−ンの1つ目は、TPC/IP部
4から応答される場合で、TPC/IP部4とのコネク
ション確立シーケンス時の応答、デ−タパケットに対す
る応答、ARP(Address Resolution Protocol)における物
理アドレスの問い合わせに対する応答等、受信パケット
を受信した直後に発生する送信処理であり、上述したタ
イマ割り込み処理中に行う。
【0037】即ち、データパケットのストリームに対す
る単なる応答である場合には、上述した通りに直ちに送
信を行わず、受信済みの全パケットの処理が終了した後
に応答パケットを作成する。その他の応答の場合には、
直ちに送信用のパケットを作成して送信待ちバッファ7
bに格納し、タイマ割り込み処理の最後にまとめて送信
要求をNIC3に出す。
【0038】こうすることにより、送信パケットに対す
る応答を受信するまでのタイムアウト時間( ターンアラ
ウンド時間) を一括に管理する(以後Max Time
out処理と記す)ことができ、タイムアウト処理にか
かる負荷が減少する。
【0039】本実施の形態によるア−キテクチャ組込み
におけるタイマ処理は、各コネクションを管理する情報
とともにタイマ情報をグローバルテーブルとして管理す
る。送信パケットのタイムアウト値、タイムアウトカウ
ンタ等をテーブル中に保存し、タイマ割り込み中でカウ
ンタをデクリメントし、タイマ割り込みの入る回数でタ
イムアウト時間を管理する。タイムアウト値はTCP/
IP部4のタイマ割り込みが入る時間tの倍数で定義
し、tの倍数単位の増減を行う。
【0040】送信パターンの2つ目として、印刷部10
のプリンタファームウェアや通信アプリケーション群9
の通信アプリケーション等から任意の時間に発生する送
信処理がある。
【0041】従来のア−キテクチャ組込みによる送信で
は、TCPタスク及びIPタスクは、IFCタスク6か
ら送信要求を受けると、図4(A)に示すように、直ち
に送信処理を行い、NIC3へ送信処理を要求した。
【0042】しかし、アプリケーションの送信では、タ
イムアウトが存在しないか、存在しても非常に長いので
緊急に送信する必要はない。従って、本発明ではIFC
タスク6の送信要求を一定時間蓄積し、一括して送信す
る方法を採る。
【0043】通信アプリケーション関数内及びプリンタ
ファームウェア内で送信要求が発生すると、通信アプリ
ケーション関数が、特定のテーブルに対して送信要求を
書き込む。実際の送信は、図4(B)に示すように、T
CP/IP部4が次に入るタイマ割り込み中に通信アプ
リケーションによってセットされたテーブル情報を参照
して行う。
【0044】また、タイマ割り込み時に受信パケットが
受信バッファ5内に存在する時は、受信パケットの処理
を優先して行い、その応答パケットと一緒に送信要求を
NIC3に対して行う。
【0045】次に動作について説明する。クライアント
よりランダムに送られてくるパケットは、図1に矢印
(a)、(b)で示すように、第1、2層部のNIC3
によりリアルタイムに受信される。NIC3はパケット
を受信する毎にCPU1に割り込みをかけて、割り込み
処理によりパケットを受信バッファ5に格納する。
【0046】TCP/IP部4は、時間t毎に入るタイ
マ割り込み中にネットワ−ク層及びトランスポ−ト層の
プロトコル処理を、図1に矢印(c)で示すように、そ
の時受信バッファ5に受信してある全パケットについて
行い、処理済みのパケットをパケット一時バッファ7a
に格納する。
【0047】一連の受信データストリームにおける最終
パケットを受信すると、TCP/IP部4は、ヘッダか
ら上位層プロトコル( 通信アプリケーション) を識別
し、それを通知するフラグをセットして、図1に矢印
(d)で示すように、IFCタスク6に対してPOST
を行う。
【0048】フラグはグローバルな変数で、TCP/I
P部4が受信データストリームを渡すべき上位層( 通信
アプリケーション) を指定するために用い、TCP/I
P部4からIFCタスク6に対して受け渡される。受け
渡し方法は、OSのメッセージパッシング機能を用い
る。
【0049】通信アプリケーションは、すべてIFCタ
スク6の関数として組み込まれ、指定された上位層が、
例えば、FTP9aとすると、図1に矢印(e)で示す
ように、識別部8はFTP関数をコールする。
【0050】FTP9aは、TCP/IP部4が受信し
たデータストリームを受信パケット一時バッファ7aか
ら受け取り、内容を処理する。必要であれば、図1に矢
印(f)で示すように、入出力管理部11へデータを渡
す。入出力管理部11へ渡すデータは、コネクション別
になっているので、コネクション別のキュー( 以後、I
FC−EDIT間受信キューと記す) を作成する。
【0051】IFC−EDIT間受信キューは、IFC
タスク6の通信アプリケーションFTP9aから入出力
管理部11を介し、印刷部10のEDIT(編集)タス
ク10aへ印刷データ、その他を渡す待ち行列である。
印刷部10のEDITタスク10aは、図1に矢印
(g)で示すように、IFC−EDIT間受信キューか
らデータを受け取り編集処理を行う。
【0052】ここで、従来の方法(Aとする)による受
信処理時間rAと、本実施の形態方法(Bとする)によ
る受信処理時間rBとの差Recを以下に示す。
【0053】まず、処理をTCP/IP部4に、時間を
t内に限定し、パケット受信時間を、パケット処理時間
とOSの処理時間に分けて求める。単位時間に受信する
パケットの数をn、1パケットを処理する時間をEとす
ると一定時間tにおけるパケットの処理時間E(A,
B)は、A,B共に、 E(A,B)=E×t×n・・・・・・・・・・(1) また、OSの処理時間は、タスク生成時間とタスクスイ
ッチ時間との和とすると、fork()関数等により子タスク
を作成し実行させる時間をF、同時にアクセスする平均
コネクション数をNとすると一定時間tにおけるタスク
生成処理(コネクション確立毎生成)時間F(A)は、
Aのみ該当し、 F(A)=F×N・・・・・・・・・・・・・・(2) タスクスイッチに要する時間(POSTされてからタス
クが起動するまでの時間) において、従来の組込みにお
いて対象となるOSをPA、割込みによるマルチタスク
OSをPBとすると1パケット受信に対しIPタスク、
TCPタスクがそれぞれ起動するため一定時間tにおけ
るタスクチェンジ処理時間P(A)、P(B)は、Aで
は、1パケット受信毎にIPタスク、TCPタスクが呼
び出されるので、 P(A)=2×PA×t×n・・・・・・・・・(3) Bでは、t時間内に1度TCP/IP部4が呼ばれるの
で、 P(B)=PB・・・・・・・・・・・・・・・(4) 従来方法の一定時間tにおける受信処理に要する時間r
Aは式(1)(2)(3)より、 rA=E(A,B)+F(A)+P(A) =Etn+FN+2(PA)tn・・・(5) タイマ割り込みが起動し、割り込み内の処理が起動する
までの時間をIとすると、本方法の一定時間tにおける
受信処理に要する時間rBは、(1)(4)より、 rB=E(A,B)+P(B)+I =Etn+PB+I・・・・・・・・・(6) となるから、それらの差Recは式(5)、(6)より
次の式で示すことができる。
【0054】 Rec=rA−rB =FN+2(PA)tn−PB−I・・(7) 従って、本組込み方法により一定時間tにおけるパケッ
トの受信時間をFN+2(PA)tn−PB−Iだけ短
縮することができる。
【0055】また、従来の組込み方法では、受信側ノー
ドは1パケットを受信するとIPタスクを経由し、直ち
に制御をTCPタスクへ移す。そしてTCPタスクが1
パケットの処理を終了すると、制御を他のタスクへ移さ
なければならないので、後続のパケットの受信を待っ
て、それらをまとめて応答することは難しい。そのた
め、1パケット受信する毎に応答パケットをクライアン
トに返していた。
【0056】従来の方法の応答処理時間SAと本実施の
形態による方法の応答処理時間SBとの差Resは次の
ように求めることができる。
【0057】 SA=t×n×R+t×n×PA+t×n×S・・・(8) SB=N×R+S・・・・・・・・・・・・・・・・(9) 式(8)(9)より、 Res=SA−SB =tnR+tn(PA)−NR+(tn−1)S・・(10) nは単位時間に受信するパケット数、tは本実施の形態
による組込みで採用するタイマ割込みの間隔、PAは従
来の組込みにおいて対象となるOSのタスクスイッチ時
間、PBは割込みよるマルチタスクOSのタスクスイッ
チ時間、Nは同時にアクセスする平均コネクション数、
Rは1パケットの応答処理に要する時間、SはNIC3
への送信要求処理時間と送信完了割り込み処理時間の和
である。従って、本実施の形態による組込み処理によっ
て応答処理時間をtnR+tn(PA)−NR+(tn
−1)Sだけ短縮することができる。
【0058】また、図7に示すように、実際の送信で
は、NIC3に対して送信に必要な情報をセットする前
処理、NIC3が行う送信処理と、送信完了後行う後処
理が必要である。特に後処理は、送信完了時に割込みと
して起動されるのでレジスタの退避等で数100ミリ秒
が必要となり、従来の方法では送信の度にこの割込みが
発生する。本実施の形態による方法では時間t内に発生
する送信要求および、受信したデータの応答パケットの
送信を、NIC3に対し同時に起動をかけるため送信に
おける前処理と後処理は常に1回となる。
【0059】送信パターン2の一定時間tにおける、従
来の組込み方法の処理時間YA、と本実施の形態による
組込み方法の処理時間YBとの差Senを求めると、 YA=t×Y×S・・・・・・・・・・・・・・(11) YB=S・・・・・・・・・・・・・・・・・・(12) 式(11)(12)より Sen=YA−YB =(tY−1)S・・・・・・・・・・・・(13) Yは単位時間内に発生する送信要求数、SはNIC3へ
の送信要求処理時間と送信完了割り込み処理時間の和で
ある。
【0060】一定時間t内にパケットを受信している場
合は、その応答パケットと一緒に送信処理を行うため、
YBは0となり、Sen=tYSとなる。従って、本実
施の形態による組込み方法により、送信時間を( tY−
1) Sまたは、tYSだけ短縮することができる。
【0061】本送信処理で送信するパケットのタイムア
ウト処理も送信パタ−ン1と同様にタイマ割り込み中で
行う。従来の送信したパケットに対するタ−ンアラウン
ド時間のタイムアウト処理は、送信したすべてのパケッ
トそれぞれに対しタイマをカウントする必要があるが、
本実施の形態による方法のように一定数のパケットを同
時に送信することにより、パケットのタイマ管理をグル
−プ化し処理時間を短縮することができる。
【0062】また、従来はコネクションの接続している
間はTCPタスクは起動したままとなり、タイムスライ
ス処理で他のタスクを実行しており、タイムスライス処
理に常に一定量のCPU資源を使用しているので、プロ
トコル処理や、プリンタファームウェアの処理の動作す
る効率が非常に悪くなる。
【0063】本実施の形態による組込み方法では、ジョ
ブのスケジューリングにプライオリティを用いた割り込
みを使用し、タイムスライスによるラウンドロビン方式
は採用していない。
【0064】第1の実施の形態によれば、TCP/IP
部は受信バッファに受信してあるすべてのパケットを割
り込み処理時間t内に処理するので、OSのオ−バヘッ
ドを削減することができ、CPUを他の有効な処理に割
り当てることができる。
【0065】第2の実施の形態 一般に割込み内での動作が多いと、他の処理への影響が
大きくなるので、第2の実施の形態では極力割込み内の
処理を減らし、大部分の処理をIFCタスクに組み込む
ようにしたものである。
【0066】図5は第2の実施の形態によるプリンタの
ネットワ−クア−キテクチャを示すブロック図であり、
受信割込み手段20とインタ−バルタイマ21とインタ
−フェ−ス制御手段としてのIFCタスク22とから成
る。
【0067】受信割込み手段20は、パケットの受信時
に起動して受信パケットをメモリ5の受信バッファ5a
に格納する毎にIFCタスク22にメッセ−ジ(message
-X)を出力する。インタ−バルタイマ21はカウンタ2
1bがカウントアップする毎にIFCタスク22にメッ
セ−ジ(message-S) を出力する。
【0068】IFCタスク22は、メッセ−ジを受信し
て呼び出し処理を行うメッセ−ジ処理手段24と、デ−
タリンク層(2層)、ネットワ−ク層(3層)、トラン
スポ−ト層(4層)の各プロトコルを処理して所定量に
達するまでメモリ5のパケット一時バッファ5bに蓄積
する第1のパケット処理手段23と、パケット一時バッ
ファ5bからパケットを取り出してセッション層(5
層)、プレゼンテ−ション層(6層)、アプリケ−ショ
ン(7層)の各プロトコルを処理し、デ−タをメモリ5
のデ−タバッファ5dに出力する第2のパケット処理手
段30と、第1のパケット処理手段23から呼び出され
てメッセ−ジ(message-A) をメッセ−ジ処理手段24に
出力し、メッセ−ジ処理手段24からの呼び出し応じて
第2のパケット処理手段30に起動を駆けるソケット処
理手段28と、セントロニクス、RS−232C等のケ
−ブルを制御するIFCタスク内の制御モジュ−ル32
とを備えている。
【0069】第1のパケット処理手段23は、受信割込
み手段20からメッセ−ジ処理手段24にメッセ−ジ(m
essage-X) が出力されることによって起動され、受信バ
ッファ5aから受信パケットを取り出してデ−タリンク
層(2層)のプロトコル処理を行うネットワ−クドライ
バ25と、ネットワ−クドライバ25が処理した受信パ
ケットのネットワ−ク層(3層)とトランスポ−ト層
(4層)の各プロトコルを処理してメモリ5のパケット
一時バッファ5bに蓄積するプロトコルスタック(TCP/I
P 、SPX/IPX 、その他)26と、インタ−バルタイマ2
1からメッセ−ジ処理手段24にメッセ−ジ(message-
S) が出力されることによって起動され、コネクション
を管理するタイマ処理手段31とを備えている。
【0070】第2のパケット処理手段30は、プロトコ
ルスタック26を使用することにより実際に他のノ−ド
と通信するアプリケ−ション(FTP、RPRINTER、その他)
27と、アプリケ−ション27が処理したデ−タのキュ
−管理を行うジョブ制御モジュ−ル29とを備えてい
る。
【0071】ソケット処理手段28はアプリケ−ション
27とプロトコルスタック26の間の通信行う上で共通
のインタフェ−スを提供し、プロトコルスタック26に
呼び出され、アプリケ−ション27を指定するメッセ−
ジ(message-A) をメッセ−ジ処理手段24に出力するソ
ケット(Low) 28aと、メッセ−ジ処理手段24に呼び
出されメッセ−ジに含まれる内容に基づいてアプリケ−
ション27を選択するソケット(High)28bとを有す
る。
【0072】図6はアプリケ−ションFTPの構成を示
すブロック図である。アプリケ−ションFTP27a
は、イニシャル処理部35と、メイン処理部36とから
構成される。
【0073】イニシャル処理部35は、プリンタ1から
のイニシャル要求に対し、FTP内のワ−キング等の初
期化の他、アプリケ−ション登録をソケット(High)28
bに対して行う。
【0074】メイン処理36は、メッセ−ジ(message-
A) の解析部37と、下位層の状態をmessage-A によっ
て通知された時に呼び出されるコネクション管理部38
と、受信したパケットの処理を行う際に参照するデ−タ
解析部39と、デ−タ解析部39でコマンドと判断され
たときに呼ばれるコマンド分岐部40と、各コマンドの
処理群41とから成る。
【0075】図7はコネクション管理テ−ブルの説明図
であり、コネクション別に「コネクションの状態」、
「処理中のコマンド」、「コネクションNo」、「送信
パケット数」、「相手先ポ−トNo」が配列されてあ
る。コネクション管理テ−ブルはコネクション管理部3
8により管理され、受信したパケットの処理を行う際に
にメッセ−ジ解析部37より参照される。
【0076】図8はコネクションの状態と設定値との関
係を示す説明図、図9はプロトコルスタックの各処理手
段の処理ステップ数と負荷との関係を示す負荷算出テ−
ブル、図10はパケットを再送する際の処理を示すフロ
−チャ−トである。
【0077】次に動作について説明する。クライアント
よりランダムに送られてくるパケットは、ネットワ−ク
接続用H/WであるNIC3からの受信割り込み信号が
CPU1に入力され、受信割り込みプログラムからなる
受信割込み手段20によってリアルタイムに受信され、
受信バッファ5aに格納される。1パケットを格納する
毎に受信割込み手段20は、図5に矢印(a)で示すよ
うに、メッセ−ジ(message-X) をIFCタスク22に対
し出力する。
【0078】IFCタスク22のメッセ−ジ処理手段2
4は、アイドル時はIFCタスク宛のメッセ−ジのセン
スをしている。メッセ−ジ(message-X) よりも先にIF
Cタスク宛に送られたメッセ−ジがあればIFCタスク
22はその処理を先に実行する。
【0079】メッセ−ジ処理手段24はメッセ−ジ(mes
sage-X) を受信すると、図5に矢印(b)で示すよう
に、ネットワ−クドライバ25を呼び出す。ネットワ−
クドライバ25は、通常のデ−タリンク層(2層)の処
理を行うが、複数のNIC3および複数の2層プロトコ
ル( 例えばEthernet、IEEE802.3 、IEEE802.5 等) にも
対応できる。
【0080】ネットワ−クドライバ25は、デ−タリン
ク層のプロトコル処理を終了すると、図5に矢印(c)
で示すように、上位層を識別して対応するプロトコルス
タック26、例えばTCP/IP26aを呼び出す。T
CP/IP26aはTCPとIPとを別タスクとせず一
つのタスクとして作成されているので、TCP−IP間
のオ−バ−ヘッドを削減する。
【0081】TCP/IP26aは、ネットワ−クドラ
イバ25から受信したパケットのネットワ−ク層(3
層)とトランスポ−ト層(4層)のプロトコル処理を行
い、そのパケットをメモリ5のパケット一時バッファ5
bに格納し、ネットワ−クドライバ25に対して制御を
返す。
【0082】ネットワ−クドライバ25は制御をIFC
タスク22から他のタスクへ返し、次のパケットの受信
を待つ。
【0083】以上の処理を数回繰り返すと、パケット一
時バッファ5bにパケットが一定量蓄積される。TCP
/IP26aはパケットが一定量に達すると、図5に矢
印(d)で示すように、ソケット(Low) 28aに対し、
対応するアプリケ−ション27を指定する情報を出力し
てパケットの受け取りを要求する。
【0084】ソケット(Low) 28aは、直接、ソケット
(High)28bを呼び出さず、図5に矢印(e)で示すよ
うに、メッセ−ジ処理手段24に対しメッセ−ジ(messa
ge-A) を出力する。本処理により、メッセ−ジ処理手段
24に起動を駆けられ、セントロニクス、RS−232
C等のケ−ブルを制御するIFCタスク内の制御モジュ
−ル32が動作するきっかけを与えることができる。
【0085】メッセ−ジ処理手段24はメッセ−ジ(mes
sage-A) を受信すると、図5に矢印(f)で示すよう
に、ソケット(High)28bを呼び出す。ソケット(High)
28bは、図5に矢印(h)で示すように、メッセ−ジ
(message-A) の内容に基づいてアプリケ−ション、例え
ばFTP27aを呼び出す。
【0086】FTP27aは、パケット一時バッファ5
bに蓄積されたパケットを全て処理し、図5に矢印
(i)で示すように、ジョブ制御モジュ−ル29を呼び
出す。
【0087】ジョブ制御モジュ−ル29は、図5に矢印
(j)で示すように、パケットのデ−タをメモリ5のデ
−タバッファ5dに格納する。
【0088】ここで、FTPの動作を図6〜図11を参
照して詳細に説明する。FTP27aはソケット(High)
28bから受信したメッセ−ジ(message-A) により呼ば
れる関数により起動される。メッセ−ジ解析部37はメ
ッセ−ジ(message-A) の内容を解析し、コネクションに
関する状態を通知するものであれば、コネクション管理
部38を呼び出す。コネクション管理部38は、メッセ
−ジ(message-A) の内容により、図7、8に示すコネク
ション管理テ−ブルの「コネクションの状態」の設定値
を変更する。
【0089】メッセ−ジ解析部37は、メッセ−ジ(mes
sage-A) の内容がパケットの受信であれば、デ−タ解析
部39を呼び出す。デ−タ解析部39は、ソケット(Hig
h)28bに対してパケットの獲得を要求し、受信したパ
ケットの「コネクションの状態」を知るために、図7に
示したコネクション管理テ−ブルの「コネクションの状
態」を参照する。
【0090】「コネクションの状態」が、図8に示した
ように設定値4であれば、獲得したパケットは、印字デ
−タと判断し、ジョブ制御モジュ−ル29にパケットを
渡す。「コネクションの状態」が、設定値0、又は3で
ある場合には、パケットを受信する状態ではないので、
獲得したパケットを捨てる。
【0091】「コネクションの状態」が、設定値1、又
は2である場合には、獲得したパケットは、コマンドで
あると判断してコマンド分岐部40を呼び出す。コマン
ド分岐部40は、「コネクションの状態」が、設定値1
で受信したパケットがログイン要求(USERコマン
ド)である場合には、ログイン処理と判断し、コネクシ
ョン管理部38を呼び出す。
【0092】「コネクションの状態」が、設定値2であ
る場合には、ログイン済であるので、ログイン要求以外
のコマンドを受け付けられるので、該当するコマンド処
理部41を呼び出す。
【0093】コマンド処理部41は送受信を必要とする
コマンドを受け付けた場合には、クライアントに対して
処理し、デ−タのコネクションの確立を行うために、下
位層に対してコネクションの確立要求を出す。
【0094】コネクションが確立されるまでの間は、他
の処理に制御を渡すため、デ−タコネクションの確立後
の処理をコネクション管理テ−ブルの「処理中のコマン
ド」に書き込み、保持する。
【0095】このように、各処理が独立してコネクショ
ン管理テ−ブルの「コネクションの状態」エリアの設定
値によって動作するので、複数のコネクション管理を行
うことができる。
【0096】パケット送信時のタイマ処理は、図5に矢
印(l)〜(n)で示すように行なわれる。まず、一定
時間毎にインタ−バルタイマ21は、矢印(l)で示す
ように、IFCタスク22のメッセ−ジ処理手段24に
対してメッセ−ジ(message-S)を出力する。
【0097】メッセ−ジ処理手段24はメッセ−ジ(mes
sage-S)を受信すると、矢印(m)に示すように、タイ
マ処理手段31を呼び出す。タイマ処理手段31は、矢
印(n)に示すように、必要に応じてプロトコルスタッ
ク26を呼び出す。
【0098】タイマ処理手段31及びタイマ処理手段3
1によって呼び出されるプロトコルスタックの動作を図
10に基づいて説明する。プロトコルスタック26は、
例えばTCP/IP26aが呼び出されているものとす
る。まず、ステップS1 とステップS2 とは、全コネク
ションにおいて毎回実行しなければならない処理で、タ
イマ処理手段31を起動することにより必ず実行され
る。
【0099】即ち、「コネクションの状態」のチェッ
ク、応答待ちパケットのタイマカウント処理、パケット
の再送処理、Max Timeout処理等を実行す
る。
【0100】その他のステップは、プロトコル上必ず毎
回実行する必要のない処理で、処理時間のかかるものが
多く、時間的に処理量のばらつきが大きい。これらの処
理は、図9に示すような処理ステップ数と対応する負荷
係数Gを用いる。
【0101】まずステップS3 で、負荷変数を初期化す
る。ステップS4 で、コネクション単位に要求される処
理を行い、1コネクションの処理が終了するまで行う。
【0102】ステップS5 で1コネクションの処理の最
後に行った処理の負荷係数Gの合計を負荷変数に加算す
る。ステップS6 で、負荷変数が一定値(MAX) 以上であ
れば、ステップS8 で処理を中断してタイマ関数を抜け
る。このとき次にタイマ関数が呼び出された時に処理を
開始するコネクションの位置( コネクションNo.)をメモ
リ5のグロ−バルエリア内の変数に記憶しておく。
【0103】負荷変数が一定値(MAX) 以下であれば、全
コネクションの処理を終了するまでステップS3 〜ステ
ップS7 を繰り返す。
【0104】負荷変数が一定値(MAX) 以下のまま、すべ
てのコネクションの処理を終了した場合はタイマ処理を
抜ける。
【0105】第2の実施の形態によれば、ネットワ−ク
プロトコル( 2層〜7層) 処理をシングルタスク上でソ
ケットインタフェ−スにより下位層と上位層とに分け、
OSの基本機能であるメッセ−ジによって各層の処理手
段に起動をかけ得るようにしたので、シングルタスク上
で2つの処理に優先順位をつけることができ、また、ネ
ットワ−クプロトコル処理中に割込みにより他のインタ
−フェ−ス処理を受け付けることができるので、同一タ
スク上で他のホストインタフェ−ス( セントロニクス、
RS-232C)との共存を可能とした。
【0106】また、タイマ処理手段を設けたことによ
り、一時期に集中しがちな処理の負荷を分散し平均化さ
せ、安定したシステム状態を保つことができる。このこ
とにより、プリンタではオ−バ−ランや、オ−バ−フロ
−等の性能を向上させ、ネットワ−ク処理の集中に関係
なく安定した性能を保つことができる。
【0107】また、シングルタスク上で動作するアプリ
ケ−ションでマルチコネクションを確立し、管理するこ
とが可能となる。
【0108】第3の実施の形態 第3の実施の形態は受信バッファ5aの使用量を定期的
に検知して許容コネクション数を変化させ、処理飽和状
態からのリカバリ−を迅速にするとともに、低要求コネ
クション確立時にも、効率良く動作させるようにしたも
のである。
【0109】図11は第3の実施の形態によるインタ−
バルタイマ処理の要部を示すブロック図、図12は許容
コネクションを増減させる際に使用するテ−ブルであ
る。
【0110】まず、図5に示したタイマ処理手段31に
受信バッファ5aの使用量をセンスするバッファ数セン
ス部50と、図12に示したテ−ブル51aを参照して
処理負荷を判断する判断部51と、許容コネクション数
を設定するコネクション数設定部52とを設ける。
【0111】次に動作について図13に従って説明す
る。図13は第3の実施の形態の動作を示すフロ−チャ
−トである。ステップS1 でバッファ数センス部50は
インタ−バルタイマ21の周期で受信バッファ5aの使
用量をセンスし、ステップS2で受信バッファ5aの使
用量をグローバルに確保したメモリ5の記憶領域Xに格
納する。また、1回目のセンス時は、「前回のセンス時
の受信バッファ使用量(Y)」データは存在しないので
c、メモリ5の記憶領域Yを0xFFFFにしておく。
【0112】ステップS3 で記憶領域Yの内容が0xFF
FFか否かをチェックし、0xFFFFの場合にはステッ
プS5 に分岐し、否の場合はステップS4 に分岐する。
ステップS4 で「前回のセンス時の受信バッファ使用量
(Y)」データが存在するので、「今回のセンス時の受
信バッファ使用量(X)」を用い、図12に示すテ−ブ
ル51aとの比較により、許容コネクション数の変更量
を決定し、メモリ5の記憶領域Zへ書き込む。
【0113】ステップS5 で、次のセンスに備え、「今
回センス時の受信バッファ使用量(X)」を「前回のセ
ンス時の受信バッファ使用量(Y)」へコピーする。
【0114】ステップS6 で、記憶領域Zの内容が0か
否かをチェックして、0ならばステップS1 に戻って次
のインタ−バルタイマ21による起動を待ち、否ならば
ステップS7 で記憶領域Zの内容に応じたコネクション
数を増減させる。コネクション数設定部52は、記憶領
域Zの内容が0以外の時に起動し、記憶領域Zの内容に
応じたコネクション数を増減させる。本処理は、記憶領
域Zの内容が正の数である時には、各コネクションに必
要な領域の確保とイニシャライズ行う。記憶領域Zの内
容が負の数である時には各コネクションに必要な領域を
使用不可能にする。許容数までコネクションが接続して
いる場合は、コネクションが切断され次第各コネクショ
ンに必要な領域を使用不可能にする。
【0115】図12を用いてコネクション数設定部の動
作を説明する。コネクション数設定部52は、記憶領域
Zの内容が0以外の時に起動し、記憶領域Zの内容に応
じたコネクション数を増減させる。記憶領域Zの内容が
正の数である時には、各コネクションに必要な領域の確
保とイニシャライズ行う。記憶領域Zの内容が負の数で
ある時には各コネクションに必要な領域を使用不可能に
する。許容数までコネクションが接続している場合は、
コネクションが切断され次第各コネクションに必要な領
域を使用不可能にする。
【0116】現在及び前回の使用受信バッファ量が全受
信バッファ量の20% 以下であった場合は、要求負荷の低
いコネクションが全コネクションの大半を占めている可
能性が高いので、コネクションの許容数を1 つ増加させ
る。
【0117】また、現在の使用受信バッファ量が全受信
バッファ量の80% 以上であった場合には、後工程の処理
の負荷が高く、受信バッファのオーバフローが予想され
るのでコネクションの許容数を1 つ減少させる。
【0118】現在の使用受信バッファ量が全受信バッフ
ァ量の21% 〜50% の間で、前回の使用受信バッファ量が
51% 以上であった場合は、処理負荷が下降していること
を示しているので、急激な処理負荷の下降に備えコネク
ションの許容数を1 つ増加させる。
【0119】現在の使用受信バッファ量が全受信バッフ
ァ量の51% 〜80% の間で、前回の使用受信バッファ量が
50% 未満であった場合は、処理負荷が上昇していること
を示しているので、急激な処理負荷の上昇に備えコネク
ションの許容数を1 つ減少させる。
【0120】第3の実施の形態によれば、現在行ってい
る処理の重さにより確立するコネクション数を変化させ
ることにより、処理飽和状態からのリカバリーを早くし
低要求コネクション確立時にも、より効率良く動作させ
ることができる。
【0121】第4の実施の形態 第4の実施の形態は、図1に示した印刷部10の展開タ
スク10a等からの高負荷通知に対し、インタ−バルタ
イマ21のタイマ間隔を可変とすることにより、展開タ
スク10a等のプライオリティの低いタスクが処理負荷
の高い状態にある時に、IFCタスク22等のプライオ
リティの高いタスクを制御できるようにしたものであ
る。
【0122】図14は第4の実施の形態による負荷監視
処理のブロック図である。負荷監視部60は図5に示し
た展開タスク10a等の処理の負荷を監視するためにプ
ライオリティの低いタスク内に設けられている。負荷通
知エリア61はメモリ5のグロ−バルエリアに設けら
れ、負荷監視部60から通知を受信し、高負荷時に他の
処理へそれを通知する。タイマ間隔値変更手段21cは
インタ−バルタイマ21に設けられ、高負荷時にインタ
−バルタイマ21のカウンタ21bのタイマ間隔値を変
更する。
【0123】図15はプリンタにおける展開処理とエン
ジン処理等とのタイムチャ−トであり、(a)〜(d)
は展開処理、エンジン処理、タイマ処理、その他の処理
を示している。
【0124】時間Wは、エンジン処理期間T1 間に展開
処理が動作できる時間を示し、この時間内に一定のデー
タの展開が終了しない場合にオーバランが発生する。タ
イマ処理と、その他の処理(共に展開処理よりもプライ
オリティは高い)が時刻t1、t2 、t4 、t5 で発生
すると、実際の展開処理動作は、矢印で示す範囲とな
り、オーバランが発生しやすくなる。
【0125】図16は第4の実施の形態の動作を示すフ
ロ−チャ−トである。
【0126】次に動作について図16のステップに従っ
て説明する。ステップS1 でインタ−バルタイマ21の
タイマ処理21aは、タイマ割込み毎にカウントするカ
ウンタ21bがタイマ間隔値T以上なったかをセンス
し、以下だった場合はステップS2 でカウンタ21bを
インクリメントし、以上だった場合はステップS3 でプ
ロトコルスタック内のタイマ処理手段31を呼出すため
にIFCタスク22に対してメッセ−ジ(message-S)を
出力する。ステップS4 でカウンタ21bは0にリセッ
トされる。
【0127】ステップS5 でタイマ間隔値変更手段21
cは負荷通知エリア61を参照し、負荷監視部60から
の高負荷通知が受信されていると、ステップS8 でカウ
ンタ21bのタイマ間隔値Tを2倍にのばす。高負荷通
知が受信されていない場合には、ステップS6 でカウン
タ21bのタイマ間隔値Tを調べ、変更前のデフォルト
値であった場合には本処理を終了する。変更が入ってい
る場合には、ステップS7 でタイマ間隔値Tを半分に短
縮する。負荷監視部60から負荷通知エリア61に高負
荷通知が出力され続けていると、タイマ処理手段31か
らポストされて起動されるプロトコルスタック26中の
タイマ処理は2倍単位でその間隔が延び、負荷通知エリ
ア61に高負荷通知が出力されていない時間が続くと、
デフォルトのタイマ間隔値まで二分の一単位で間隔は短
縮される。
【0128】本実施の形態をプリンタに適用し、展開タ
スク等からの高負荷通知に対し、タイマ処理の間隔を可
変とすることにより、図15の時間Wに示す間隔内のタ
イマ処理時間を少なくすることが可能となる。また、図
14に示す負荷通知エリアをグローバル領域に設定する
ことにより、タイマ処理以外の高負荷処理へも同時に通
知することができ、対策を入れることが可能となる。
【0129】第4の実施の形態によれば、展開タスク等
からの高負荷通知に対し、タイマ処理の間隔を可変とす
ることにより、展開タスク等のプライオリティの低いタ
スクが処理負荷の高い状態にある時に、IFC等のプラ
イオリティの高いタスクを制御できる。このことによ
り、プリンタではオーバーランや、オーバーフロー等の
性能を向上させ、ネットワーク処理の集中に関係なく安
定した性能を保つことができる。
【0130】第5の実施の形態 第1の実施の形態から第4の実施の形態までは単独のプ
リンタ記述言語を備えたプリンタに対応したが、第5の
実施の形態はプリンタが複数のプリンタ記述言語、プリ
ンタコントロ−ルラングエジ(PRINTER CONTROL LANGUA
GE: 以後PCLと記す)、ポストスクリプト(POST SCR
IPT:以後PSと記す)、プリンタジョブラングエジ(PR
INTER JOB LANGUAGE: 以後PJLと記す)等を備えた場
合に対応できるようにしたものである。
【0131】図17は第5の実施の形態によるプリンタ
のネットワ−クア−キテクチャを示すブロック図であ
り、第2の実施の形態によるプリンタと異なるところ
は、PCL、PS、PJL等のプリンタ記述言語に対応
するIFCタスク40から共通に使用できるようにネッ
トワ−クドライバ25を再入可能(一つの関数からコ−
ルされ、リタ−ンする前に他の関数からコ−ルすること
が可能である仕様)にした点と、セントロニクス、RS
−232C等のインタ−フェ−スをネットワ−クドライ
バ25と同様に共通関数にした点である。
【0132】プリンタ言語判別部41はプリンタ記述言
語に対応する各IFCタスク40やセントロニクス、R
S−232C等のインタ−フェ−スと、各プリンタ記述
言語に対応する編集部、例えばPCL用編集部42、P
S用編集部43に接続され、各IFCタスク40から出
力されるデ−タのプリンタ記述言語を判別して対応する
編集部に出力している。
【0133】図18はIFCタスクの構造を示すブロッ
ク図であり、第2の実施の形態によるIFCタスクの構
造と異なるところは、ネットワ−クドライバ25がIF
Cタスク40の外にある点と、上位層から呼ばれる共通
化ドライバ関数44をIFCタスク40の内部に設けた
点である。
【0134】図19は共通関数部の構造を示すブロック
図であり、IFCタスク40のアクセスを制御するドラ
イバ(Ethernet方式、IEEE802.2 方式、IEEE802.3 方
式、SNAP方式等)をまとめたネットワ−クドライバ25
と、ネットワ−ク接続用H/Wを制御するドライバをま
とめたNICドライバ45とからなる。
【0135】次に動作を図18を参照して説明する。第
2の実施の形態と異なるところは、メッセ−ジ処理手段
24がNICドライバ45からなる受信割り込み手段2
0から矢印(a)に示すメッセ−ジを受信すると、IF
Cタスク40の外にあるネットワ−クドライバ25を関
数コ−ルする点であり、その他の動作は第2の実施の形
態と同様である。
【0136】第5の実施の形態によれば、メモリ容量の
大きいネットワ−クドライバをPCL、PS、PJL等
のプリンタ記述言語に対応するIFCタスクに設けるこ
となく、各IFCタスクから共通に使用できるようにし
たので、メモリを効率よく使用できる。
【0137】第6の実施の形態 第6の実施の形態によるプリンタのネットワ−クア−キ
テクチャは、第5の実施の形態と同じである。メッセ−
ジ処理手段24は各処理手段からのメッセ−ジを受信す
るイベントコントロ−ルブロック(Event Control Bloc
k:以後ECBと記す)からメッセ−ジを取り出して処理
するが、ECBが複数あって、処理する優先度をECB
間に設けてあればタスク内の処理にも優先度を設けるこ
とができ、効率良くCPU1を動作させることができる
が、ECBが一つの場合には、タスク内の処理に優先度
を設けることができないのでCPU1を効率良く動作で
きなくなる。
【0138】第6の実施の形態はECBが一つの場合に
も効率の良い動作ができるようにしたものである。
【0139】図20は第6の実施の形態によるメッセ−
ジ処理手段の動作を示すブロック図である。メッセ−ジ
処理手段24はECB46とソケット処理手段28の上
位側待ち行列WAPFQueue 47とを参照し、ECB4
6からメッセ−ジを取り出してプロトコルスタック26
へプロトコルを処理するように要求するか、上位側待ち
行列WAPFQueue 47の処理をコ−ルするかを判定す
る。
【0140】図21は図20に示したメッセ−ジ処理手
段の動作を示すフロ−チャ−トである。メッセ−ジ処理
手段24はステップS1 でソケット処理手段28に上位
層待ち行列WAPFQueue 47が生成されてあるか否か
をチェックして生成されてあるならばステップS2 に分
岐し、否ならばステップS4 に分岐する。
【0141】ステップS2 で上位層待ち行列数が所定
量、例えば10個未満か否かをチェックして10個未満
ならばステップS3 に分岐し、否ならばステップS5 に
分岐する。ステップS3 でECB46にメッセ−ジが受
信してあるか否かをチェックして受信してあるならばス
テップS4 に分岐し、否ならばステップS5 に分岐す
る。ステップS4 でプロトコルスタック26へプロトコ
ルを処理するように要求し、ステップS5 でソケット
(High)28bをコ−ルする。
【0142】尚、本実施の形態は第2の実施の形態にも
適用できる。
【0143】第6の実施の形態によれば、OSからポス
トされたメッセ−ジを格納するECBを一つのタスクに
複数設けられない場合にも、タスク内の処理に優先度を
設けることができので、CPUを効率良く動作させるこ
とができる。
【0144】第7の実施の形態 第7の実施の形態によるプリンタのネットワ−クア−キ
テクチャは、第5の実施の形態と同じである。ジョブ制
御モジュ−ル29はデ−タのクライアント識別子を格納
する共通テ−ブルを有し、デ−タを出力する際にクライ
アント識別子を格納し、上位層からデ−タ送信要求を受
ける際には共通テ−ブルに基づいてクライアント識別子
を解析し、同一コネクションを通じてパケットを送受信
するようにしたものである。
【0145】図22は第7の実施の形態を示すブロック
図である。2のパケット処理手段30はジョブ制御モジ
ュ−ル29にデ−タのクライアント識別子(以後クライ
アントIDと記す)等を登録する共通テ−ブルを有す
る。
【0146】共通テ−ブルにはデ−タを印刷部の編集タ
スクに送信する際に使用するDMD48と、プリンタ言
語判別部41からデ−タ送信要求を受ける際に登録する
SendDescriptor 49とがある。例えば、ネットワ−ク
ドライバ25を経由して3つのパケットを受信したとす
る。各パケットはプロトコルを処理されてアプリケ−シ
ョンAP1 、AP2 、AP4 を通じてジョブ制御モジュ
−ル29に送信されてくるものとする。
【0147】クライアントID C1 、C2 、C3 は受
信割り込み手段20がパケットを受信した際にDMD4
8に登録される。ジョブ制御モジュ−ル29はアプリケ
−ションAP1 、AP2 、AP4 から受信する印刷デ−
タとともにクライアントIDC1 、C2 、C3 をプリン
タ言語判別部41に送信する。クライアントIDは32
ビットで構成される。最初の8ビットはIFCタスク4
0、セントロニクス、RS−232C等のインタ−フェ
−スの種別を示し、次の24ビットは各インタ−フェ−
スによって固有となる。例えばIFCタスク40の場合
には、8ビットがアプリケ−ションを示すID(AP1
、AP2 、・・・・)で、残りの16ビットが各アプ
リケ−ションにおける通番となる。このフォ−マットに
より同一のアプリケ−ションにクライアントの接続が集
中しても対応することができる。
【0148】プリンタ言語判別部41は受信したクライ
アントに対してデ−タを送信する場合にはインタ−フェ
−スの種別をクライアントIDの最初の8ビットから判
断し、そのインタ−フェ−スのSend Descriptor 49に
登録する。
【0149】ジョブ制御モジュ−ル29はSend Descrip
tor 49を参照してアプリケ−ションを識別するビット
を読み取り、対応するアプリケ−ションをコ−ルする。
【0150】尚、本実施の形態は第2の実施の形態にも
適用できる。
【0151】第7の実施の形態によれば、IFCタスク
等のインタ−フェ−スを使用してパケットの授受を行う
上位層が、クライアントIDの中身を意識することなく
応答パケットの送信先を特定するので、要求するクライ
アントに正確に応答パケットを送信できる。
【0152】第8の実施の形態 第8の実施の形態によるプリンタのネットワ−クア−キ
テクチャは、第5の実施の形態と同じである。第8の実
施の形態はプリンタ等に組み込まれた受信バッファのサ
イズが小さい場合に、効率的な受信バッファ空き容量を
算出して受信速度を向上させるようにしたものである。
【0153】図23はプリンタ言語判別部41とジョブ
制御モジュ−ル29との間のデ−タ受け渡し処理を示す
説明図、図24は送信側TCPと受信側TCPとの間の
デ−タ受け渡し処理を示す説明図、図25は第8の実施
の形態を示すブロック図である。第7の実施の形態で説
明したように、プリンタ言語判別部41は処理状況に応
じて受信デ−タをジョブ制御モジュ−ル29に要求する
が、図23に示すように、デ−タ要求のポ−リング間隔
が常に一定は限らない。
【0154】また、TCP間の受信処理では、図24に
示すように、受信パケットを複数受信して一つの応答パ
ケットを返すブロック転送方式を使用している。さら
に、トランスポ−ト層の機能を使用するなど、送受信端
末間の距離制限は事実上無いに等しい。従って、パケッ
ト転送時間Tは非常に短い場合もあるが、非常に長い場
合もある。
【0155】そこでジョブ制御モジュ−ル29に定期的
にポ−リング間隔を監視して、ジョブ制御モジュ−ル2
9からプリンタ言語判別部41に転送される単位時間内
のデ−タ数Rを計数する転送デ−タ計数手段50を設け
る。
【0156】また、TCPの受信パケット処理時、パケ
ット転送時間Tを算出するパケット転送時間更新手段5
1をプロトコルスタック26に設ける。
【0157】また、ジョブ制御モジュ−ル29には、パ
ケット転送時間Tと単位時間にデ−タを上位層に転送す
る転送デ−タ数Rと現在の受信バッファ空容量Wとから
次回のパケットブロック転送において受信可能なデ−タ
容量Xを算出する受信可能デ−タ容量算出手段52を設
ける。
【0158】受信可能なデ−タ容量Xは、 X=(R×T+W)・・・・・・・・・・・・(14) で算出される。
【0159】メモリ5にはパケット転送時間Tを格納す
る格納エリア53、NICドライバ45が受信パケット
を受信する毎に更新される受信バッファ空容量Wを格納
する格納エリア54、受信可能デ−タ容量算出手段52
が算出した受信可能なデ−タ容量Xを格納する格納エリ
ア55が設けてある。
【0160】プロトコルスタック26の応答パケット作
成手段56は応答パケットを作成する際に格納エリア5
5の内容を応答パケットに盛り込んで送信する。
【0161】尚、本実施の形態は第2の実施の形態にも
適用できる。
【0162】第8の実施の形態によれば、実際の受信バ
ッファサイズにとらわれず、後工程の処理速度と前工程
の受信速度を接近させることにより、高速で効率的な受
信を実現できる。
【0163】第9の実施の形態 第9の実施の形態によるプリンタのネットワ−クア−キ
テクチャは、第5の実施の形態と同じである。第9の実
施の形態は、受信バッファが受信デ−タで満杯になり、
送信側からの接続を確認するポ−リングパケットが受信
できず、そのパケットに対する応答パケットを送信でき
ない状態が発生する。その状態が長時間続いた場合にも
接続が切断されないようにしたものである。
【0164】図26は第9の実施の形態を示すブロック
図であり、図19に示したデ−タリンク層以下を処理す
るNICドライバの受信構造を示す。NICドライバ4
5は、第7の実施の形態で説明した通り、受信パケット
を自層及びその上位層で共通管理する共通テ−ブルにリ
ンクされている。共通テ−ブルは各層が処理した情報や
自層の後工程である層に対して通知する情報を格納する
領域としてメモリ5に設けてある。
【0165】受信バッファ5aには常時空けておく「常
時空きエリア」と、常時使用する「常時使用エリア」と
を設けておく。NICドライバ45は「常時空きエリ
ア」と「常時使用エリア」とを認識し、受信パケットを
優先的に「常時使用エリア」に受信するとともに共通テ
−ブルに情報(受信デ−タサイズ、受信デ−タ格納領域
の先頭アドレス、等)を格納する。「常時使用エリア」
が受信パケットで満たされると、「常時空きエリア」に
受信できるように制御する。
【0166】NICドライバ45は「常時空きエリア」
に受信している状態でも、受信パケットの処理が進み、
「常時使用エリア」に空き領域ができた場合には、以降
「常時使用エリア」に受信するように制御する。「常時
空きエリア」は1〜2パケット分の領域からなり、この
エリアにパケットを受信した場合には「常時空きエリ
ア」にリンクした共通テ−ブル(特)にその情報を格納
する。
【0167】図27は第9の実施の形態の動作を示すフ
ロ−チャ−トであり、(A)はNICドライバの動作を
示し、(B)はTCPバイパス処理の動作を示す。
【0168】先ず、NICドライバ45の動作を説明す
る。ステップS1 で「常時空きエリア」にパケットが受
信されたか否かをチェックし、受信ならばステップS2
に分岐し、否ならばステップS5 に分岐する。ステップ
S2 で共通テ−ブル(特)に空きがあるか否かをチェッ
クし、空きがあるならばステップS3 に分岐し、否なら
ばステップS6 に分岐する。ステップS3 で「常時空き
エリア」に受信されたパケットの情報を共通テ−ブル
(特)に格納する。
【0169】ステップS4 でTCPバイパス処理を呼び
出し、TCPバイパス処理後、ステップS1 に戻る。ス
テップS5 では通常の処理を行ってステップS1 に戻
る。ステップS6 では「常時空きエリア」に受信したパ
ケットを破棄してステップS1に戻る。
【0170】ステップS7 で受信パケットがパケット送
信元からのポ−リングパケットか否かをチェックし、ポ
−リングパケットならばステップS8 に分岐し、否なら
ばステップS9 に分岐する。受信側のTCPは受信バッ
ファが満杯になった等の理由で一時的に受信を止めたい
場合には、応答パケットの所定のエリアに0を格納して
送信側のTCPに送信する。送信側のTCPはこの応答
パケットを受信すると、パケットの送信を停止する。そ
して、パケットの送信を開始するタイミングを獲得する
ために、受信側のTCPにポ−リングパケットを定期的
に送信する。
【0171】ステップS8 で応答パケットを作成して送
信する。ステップS9 で「常時空きエリア」に受信した
パケットを破棄する。
【0172】尚、本実施の形態は第2の実施の形態にも
適用できる。
【0173】第9の実施の形態によれば、受信バッファ
が受信デ−タで満杯になり、長時間受信バッファが空か
ない場合でも、送信側からの接続を確認するポ−リング
パケットが受信でき、そのパケットに対する応答パケッ
トを送信できるので、コネクションを維持できるととも
に、その間低負荷の処理により接続を保つことができ
る。
【0174】
【発明の効果】本発明は、以上説明したように構成され
ているので以下に記載される効果を奏する。ネットワ−
ク層、トランスポ−ト層を受信パケット一括処理手段と
いう一つの機能で処理するようにしたので、プロトコル
処理を1回の起動で、受信バッファに受信された全パケ
ットを処理できるので、OSのオーバヘッド量を減少さ
せることができる。
【0175】また、ネットワ−ク層、トランスポ−ト層
を一括処理することにより、プロトコルをネットワ−ク
層、トランスポ−ト層別に処理する場合に比べてメモリ
上の作業領域を削減できる。
【0176】さらに、それぞれのコネクションに属する
最後の受信パケットに対する応答パケットを割込み中に
ネットワ−クに一括して送信する送信パケット一括処理
手段を備えたことにより、送信処理時間を大幅に短縮で
き、その分他の処理にCPUを動作させることができる
ので、効率良く動作するネットワ−クプロトコルのイン
プリメント手法を提供できる。
【0177】同様に、少なくともネットワ−ク層、トラ
ンスポ−ト層を第1のパケット処理手段という一つの機
能で処理するようにし、セッション層、プレゼンテ−シ
ョン層、アプリケ−ション層を第2のパケット処理手段
という一つの機能で処理するようにして、その2つの機
能間にソケット処理手段及びメッセ−ジ処理手段を介在
させて処理の優先度を持たせるようにしたことにより、
OSのオーバヘッド量を減少させることができる。
【0178】また、ネットワ−ク層、トランスポ−ト層
を一括処理することにより、プロトコルをネットワ−ク
層、トランスポ−ト層別に処理する場合に比べてメモリ
上の作業領域を削減できる。
【0179】また、低機能OSを用いて他のインタ−フ
ェ−ス処理をも受け付けるできるようにしたので、同一
タスク上で他のホストインタフェ−ス( セントロニク
ス、RS-232C)との共存を可能にできる。
【図面の簡単な説明】
【図1】第1の実施の形態によるプリンタのネットワ−
クア−キテクチャを示すブロック図である。
【図2】第1の実施の形態によるネットワ−クの構成図
である。
【図3】図1に示したネットワ−クア−キテクチャのタ
イムチャ−トである。
【図4】従来と本発明との送信処理の比較を示すタイム
チャ−トである。
【図5】第2の実施の形態によるプリンタのネットワ−
クア−キテクチャを示すブロック図である。
【図6】アプリケ−ションFTPの構成を示すブロック
図である。
【図7】コネクション管理テ−ブルの説明図である。
【図8】コネクションの状態と設定値との関係を示す説
明図である。
【図9】処理ステップ数と負荷との関係を示す負荷算出
テ−ブルである。
【図10】パケットを再送する際の処理を示すフロ−チ
ャ−トである。
【図11】第3の実施の形態の要部を示すブロック図で
ある。
【図12】許容コネクションを増減させる際に使用する
テ−ブルである。
【図13】第3の実施の形態の動作を示すフロ−チャ−
トである。
【図14】第4の実施の形態による負荷監視処理のブロ
ック図である。
【図15】プリンタにおける展開処理とエンジン処理等
とのタイムチャ−トである。
【図16】第4の実施の形態の動作を示すフロ−チャ−
トである。
【図17】第5の実施の形態によるプリンタのネットワ
−クア−キテクチャを示すブロック図である。
【図18】IFCタスクの構造を示すブロック図であ
る。
【図19】共通関数部の構造を示すブロック図である。
【図20】第6の実施の形態を示すブロック図である。
【図21】メッセ−ジ処理手段の動作を示すフロ−チャ
−トである。
【図22】第7の実施の形態を示すブロック図である。
【図23】プリンタ言語判別部とジョブ制御モジュ−ル
との間のデ−タ受け渡し処理の説明図である。
【図24】TCP間のデ−タ受け渡し処理の説明図であ
る。
【図25】第8の実施の形態を示すブロック図である。
【図26】第9の実施の形態を示すブロック図である。
【図27】第9の実施の形態の動作を示すフロ−チャ−
トである。
【符号の説明】
1 CPU 3 NIC 4 TCP/IP部 5 メモリ 6、22、40 IFCタスク 23 第1のパケット処理手段 30 第2のパケット処理手段

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ネットワ−クのノ−ド間にコネクション
    を確立し、受信バッファに受信したパケットに階層的に
    付加されたプロトコルを下位層から上位層に向かって順
    に処理するパケット処理方法において、 少なくともネットワ−ク層、トランスポ−ト層、セッシ
    ョン層、プレゼンテ−ション層、アプリケ−ション層に
    関するプロトコルの処理をそれぞれ一つのタスクにし、
    ネットワ−ク層、トランスポ−ト層を一つの機能とし、
    セッション層、プレゼンテ−ション層、アプリケ−ショ
    ン層を一つの機能とし、その機能に処理の優先度を持た
    せて動作するようにしたことを特徴とするパケット処理
    方法。
  2. 【請求項2】 ネットワ−クのノ−ド間にコネクション
    を確立し、受信バッファに受信したパケットに階層的に
    付加されたプロトコルを下位層から上位層に向かって順
    に処理するネットワ−クア−キテクチャにおいて、 一定時間毎に入るタイマ割込みを使用し、上記受信バッ
    ファに受信されたパケットのネットワ−ク層とトランス
    ポ−ト層とに関するプロトコルを割込み中に一括処理し
    て蓄積し、プロトコルの内容から上位層のプロトコル処
    理手段を指定通知する受信パケット一括処理手段と、 それぞれのコネクションに属する最後の受信パケットに
    対する応答パケットを上記割込み中にネットワ−クに一
    括して送信する送信パケット一括処理手段とを備えたこ
    とを特徴とするネットワ−クア−キテクチャ。
  3. 【請求項3】 上記送信パケット一括処理手段は、上記
    受信パケット一括処理手段が受信パケットを一括処理中
    に上位層の処理手段から発生した応答パケット送信要求
    を、次のタイマ割込み時にまとめて送信を行い、それに
    対する受信側からの応答のタイムアウトをタイマ割込み
    回数でカウントするタイマ処理手段を備えた請求項2記
    載のネットワ−クア−キテクチャ。
  4. 【請求項4】 ネットワ−クのノ−ド間にコネクション
    を確立し、受信バッファに受信したパケットに階層的に
    付加されたプロトコルを下位層から上位層に向かって順
    に処理するネットワ−クア−キテクチャにおいて、 メッセ−ジに基づいて呼び出した処理手段に起動を駆け
    るオペレ−ティングシステム機能によるメッセ−ジ処理
    手段と、メッセ−ジ処理手段により呼び出されて受信バ
    ッファから受信パケットを取り出し、デ−タリンク層、
    ネットワ−ク層、トランスポ−ト層に関するプロトコル
    を処理して所定量に達するまで蓄積する第1のパケット
    処理手段と、セッション層、プレゼンテ−ション層、ア
    プリケ−ション層に関するプロトコルを処理して上位層
    に出力する第2のパケット処理手段と、第1のパケット
    処理手段から指定された第2のパケット処理手段を呼び
    出すメッセ−ジをメッセ−ジ処理手段に出力し、メッセ
    −ジ処理手段からの呼び出しに応じて第2のパケット処
    理手段を選択するソケット処理手段とを設けたインタ−
    フェ−ス制御手段と、 パケット受信時に起動し、受信パケットを受信バッファ
    に格納する毎にメッセ−ジをインタ−フェ−ス制御手段
    に出力する受信割り込み手段とを備えたことを特徴とす
    るネットワ−クア−キテクチャ。
  5. 【請求項5】 上記第1のパケット処理手段は、上記受
    信割り込み手段のメッセ−ジに基づいて呼び出され、受
    信バッファから受信パケットを取り出してデ−タリンク
    層のプロトコルを処理するネットワ−クドライバを有す
    る請求項4記載のネットワ−クア−キテクチャ。
  6. 【請求項6】 ネットワ−クのノ−ド間にコネクション
    を確立し、受信バッファに受信したパケットに階層的に
    付加されたプロトコルを下位層から上位層に向かって順
    に処理するネットワ−クア−キテクチャにおいて、 メッセ−ジに基づいて呼び出した処理手段に起動を駆け
    るオペレ−ティングシステム機能によるメッセ−ジ処理
    手段と、ネットワ−ク層、トランスポ−ト層に関するプ
    ロトコルを処理して所定量に達するまで蓄積する第1の
    パケット処理手段と、セッション層、プレゼンテ−ショ
    ン層、アプリケ−ション層に関するプロトコルを処理し
    て上位層に出力する第2のパケット処理手段と、第1の
    パケット処理手段から指定された第2のパケット処理手
    段を呼び出すメッセ−ジをメッセ−ジ処理手段に出力
    し、メッセ−ジ処理手段からの呼び出しに応じて第2の
    パケット処理手段を選択するソケット処理手段とを有す
    るインタ−フェ−ス制御手段と、 パケット受信時に起動し、受信パケットを受信バッファ
    に格納する毎にメッセ−ジをインタ−フェ−ス制御手段
    に出力する受信割り込み手段と、 受信割り込み手段のメッセ−ジに基づいてインタ−フェ
    −ス制御手段のメッセ−ジ処理手段により呼び出され、
    デ−タリンク層に関するプロトコルを処理して第1のパ
    ケット処理手段を呼び出すネットワ−クドライバとを備
    えたことを特徴とするネットワ−クア−キテクチャ。
  7. 【請求項7】 カウンタがカウンタアップする毎にメッ
    セ−ジを上記インタ−フェ−ス制御手段のメッセ−ジ処
    理手段に出力するインタ−バルタイマと、インタ−バル
    タイマのメッセ−ジに基づいて呼び出され、上記第1の
    パケット処理手段により蓄積されたパケット量を監視す
    るタイマ処理手段を上記第1のパケット処理手段に設け
    た請求項4記載、又は請求項6記載のネットワ−クア−
    キテクチャ。
  8. 【請求項8】 上記タイマ処理手段は、上記第1のパケ
    ット処理手段がプロトコル処理中にタイマ処理を実行
    し、応答パケットの送信処理等のプライオリティの低い
    処理に負荷係数を設定し、一定の負荷に達した時点でタ
    イマ処理を中断し、次回のタイマ処理でその続きを実行
    することにより、1回のタイマ処理時に処理する負荷を
    平均化させる請求項7記載のネットワ−クア−キテクチ
    ャ。
  9. 【請求項9】 上記タイマ処理部は、コネクションを増
    減する際に参照するテ−ブルを記憶するテ−ブル記憶手
    段と、前回起動時の受信バッファの使用量を格納してお
    く第1の受信バッファ使用量記憶手段と、上記メッセ−
    ジ処理手段に起動される毎に受信バッファの使用量をセ
    ンスして第2の受信バッファ使用量記憶手段に格納する
    バッファ量センス部と、第1の受信バッファ使用量記憶
    手段の内容と第2の受信バッファ使用量記憶手段の内容
    とテ−ブル記憶手段のテ−ブルとを参照して増減するコ
    ネクション数を判断する判断部と、判断部の出力に基づ
    いて許容コネクション数を設定するコネクション数設定
    部とを備えた請求項7記載のネットワ−クア−キテクチ
    ャ。
  10. 【請求項10】 上記デ−タバッファに格納されたデ−
    タを処理するプライオリティの低い処理手段に設けられ
    た負荷監視部と、負荷監視部からの負荷通知を記憶する
    負荷通知記憶手段と、負荷通知記憶手段の内容が高負荷
    通知ならば上記インタ−バルタイマに設けられたカウン
    タのタイマ間隔値を大きくし、否ならばカウンタのタイ
    マ間隔値を小さくするタイマ間隔値変更手段とを備えた
    請求項7記載のネットワ−クア−キテクチャ。
  11. 【請求項11】 上記メッセ−ジ処理手段はメッセ−ジ
    を格納するECB(Event Control Block )を一つ有
    し、ECBとソケット処理手段の上位側待ち行列とを参
    照し、上位側待ち行列の登録メッセ−ジ数が所定数以上
    の場合には上位側待ち行列を処理する請求項4記載、又
    は請求項6記載のネットワ−クア−キテクチャ。
  12. 【請求項12】 上記第2のパケット処理手段はデ−タ
    のクライアントIDを格納する共通テ−ブルを有し、デ
    −タを出力する際にクライアントIDを格納し、上位層
    からデ−タ送信要求を受ける際には共通テ−ブルに基づ
    いてクライアントIDを解析し、同一コネクションを通
    じてパケットを送受信する請求項4記載、又は請求項6
    記載のネットワ−クア−キテクチャ。
  13. 【請求項13】 第1のパケット処理手段が前回の受信
    パケットに対する応答パケットを送信してから今回の受
    信パケットを受信までのパケット転送時間を算出するパ
    ケット転送時間算出手段と、第2のパケット処理手段か
    ら単位時間にデ−タを上位層に転送する転送デ−タ数を
    計数する転送デ−タ数計数手段と、パケット転送時間と
    転送デ−タ数と現在の受信バッファ空容量とから次回の
    パケットブロック転送において受信可能なデ−タ容量を
    算出する受信可能デ−タ容量算出手段とを設けた請求項
    4記載、又は請求項6記載のネットワ−クア−キテクチ
    ャ。
  14. 【請求項14】 上記受信割り込み手段は、上記受信バ
    ッファの「常時使用エリア」と「常時空きエリア」とに
    受信したパケットの情報を格納する共通テ−ブルを有
    し、パケットを受信する毎に共通テ−ブルを参照して
    「常時空きエリア」に受信したパケットが送信側から受
    信側に送信される受信可能確認用ポ−リングパケットの
    場合には応答パケットを作成して送信し、受信可能確認
    用ポ−リングパケット以外の場合にはそのパケットを破
    棄する請求項4記載、又は請求項6記載のネットワ−ク
    ア−キテクチャ。
JP26377997A 1996-09-30 1997-09-29 パケット処理方法とネットワ−クア−キテクチャ Expired - Fee Related JP3459165B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26377997A JP3459165B2 (ja) 1996-09-30 1997-09-29 パケット処理方法とネットワ−クア−キテクチャ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP25895796 1996-09-30
JP8-258957 1996-09-30
JP26377997A JP3459165B2 (ja) 1996-09-30 1997-09-29 パケット処理方法とネットワ−クア−キテクチャ

Publications (2)

Publication Number Publication Date
JPH10155010A true JPH10155010A (ja) 1998-06-09
JP3459165B2 JP3459165B2 (ja) 2003-10-20

Family

ID=26543904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26377997A Expired - Fee Related JP3459165B2 (ja) 1996-09-30 1997-09-29 パケット処理方法とネットワ−クア−キテクチャ

Country Status (1)

Country Link
JP (1) JP3459165B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005104154A (ja) * 2003-09-30 2005-04-21 Toshiba Corp 印刷装置において複数の形式のフォントをダウンロードおよび管理するためのシステムおよび方法
JP2006185303A (ja) * 2004-12-28 2006-07-13 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法
US7356024B1 (en) 1999-10-29 2008-04-08 Matsushita Electric Industrial Co., Ltd. Communication apparatus and communication method
US7440125B2 (en) 2002-06-14 2008-10-21 Brother Kogyo Kabushiki Kaisha Setting information transmission/reception system
JP2010073214A (ja) * 2009-11-13 2010-04-02 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法及び呼処理装置
US8090893B2 (en) * 2003-08-12 2012-01-03 Hitachi, Ltd. Input output control apparatus with a plurality of ports and single protocol processing circuit
JP2014186743A (ja) * 2002-09-24 2014-10-02 Ricoh Co Ltd 管理仲介装置、画像形成装置、管理仲介プログラム及び管理仲介プログラムを記録した記録媒体
WO2016038788A1 (ja) * 2014-09-11 2016-03-17 日本電気株式会社 通信装置、通信リクエスト処理システム、通信リクエスト処理方法および通信リクエスト処理プログラム
KR20200042846A (ko) * 2018-10-16 2020-04-24 삼성전자주식회사 피씨아이이를 통한 알피씨 및 지알피씨 터널링을 이용한 스토리지 서비스 기반 엔브이엠이 에스에스디를 위한 신규한 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356024B1 (en) 1999-10-29 2008-04-08 Matsushita Electric Industrial Co., Ltd. Communication apparatus and communication method
US7440125B2 (en) 2002-06-14 2008-10-21 Brother Kogyo Kabushiki Kaisha Setting information transmission/reception system
US8045206B2 (en) 2002-06-14 2011-10-25 Brother Kogyo Kabushiki Kaisha Setting information transmission/reception system
JP2014186743A (ja) * 2002-09-24 2014-10-02 Ricoh Co Ltd 管理仲介装置、画像形成装置、管理仲介プログラム及び管理仲介プログラムを記録した記録媒体
US8090893B2 (en) * 2003-08-12 2012-01-03 Hitachi, Ltd. Input output control apparatus with a plurality of ports and single protocol processing circuit
JP2005104154A (ja) * 2003-09-30 2005-04-21 Toshiba Corp 印刷装置において複数の形式のフォントをダウンロードおよび管理するためのシステムおよび方法
JP2006185303A (ja) * 2004-12-28 2006-07-13 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法
JP4609070B2 (ja) * 2004-12-28 2011-01-12 沖電気工業株式会社 マルチ呼処理スレッド処理方法
JP2010073214A (ja) * 2009-11-13 2010-04-02 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法及び呼処理装置
WO2016038788A1 (ja) * 2014-09-11 2016-03-17 日本電気株式会社 通信装置、通信リクエスト処理システム、通信リクエスト処理方法および通信リクエスト処理プログラム
KR20200042846A (ko) * 2018-10-16 2020-04-24 삼성전자주식회사 피씨아이이를 통한 알피씨 및 지알피씨 터널링을 이용한 스토리지 서비스 기반 엔브이엠이 에스에스디를 위한 신규한 방법

Also Published As

Publication number Publication date
JP3459165B2 (ja) 2003-10-20

Similar Documents

Publication Publication Date Title
US4839798A (en) Method and apparatus for controlling job transfer between computer systems
CN103197968B (zh) 一种融合同步异步特点的线程池处理方法及系统
JP3184817B2 (ja) フロー制御方法、一時停止制御システムおよびノード
US4860207A (en) Information transmission control apparatus for elevator system
JPH10136008A (ja) 電子ネットワーク上の自動負荷バランス方法および装置
JPH0934818A (ja) パケットベース・アーキテクチャを使用するデータ処理システム内での短縮待ち時間データ受信のための方法および装置
WO2000030321A2 (en) User-level dedicated interface for ip applications in a data packet switching and load balancing system
JPH0544052B2 (ja)
TW200301639A (en) Method and apparatus for switching between active and standby switch fabrics with no loss of data
CN114095457A (zh) 基于流的共享缓冲区资源管理
JP3459165B2 (ja) パケット処理方法とネットワ−クア−キテクチャ
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing
EP0586129A2 (en) Session oriented connectionless data transfer for a computer network
JP2002024195A (ja) 並列処理装置、及び、並列処理方法
US7613821B1 (en) Arrangement for reducing application execution based on a determined lack of flow control credits for a network channel
US6459706B1 (en) Message-passing communication system generating task for monitoring a specific communication path
JPH11187070A (ja) 通信制御部管理方式通信優先度設定システム
JP2002044178A (ja) I/oチャネルの通信制御方式
JP2916185B2 (ja) 着呼通信アダプタの動的選定方法
JPH09269936A (ja) リモートリード処理方法およびその装置
CN117896201A (zh) 多端口通信系统及方法
Shin et al. Real-Time Computing Laboratory Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, Michigan 48109-2122
JPH06195317A (ja) データ処理システム
JP3977820B2 (ja) 保守運用支援装置
CN117667782A (zh) 一种事件调度方法、系统及存储介质

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030715

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

Free format text: PAYMENT UNTIL: 20070808

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080808

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100808

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100808

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees