JP3569752B2 - Network embedded system - Google Patents

Network embedded system Download PDF

Info

Publication number
JP3569752B2
JP3569752B2 JP15217298A JP15217298A JP3569752B2 JP 3569752 B2 JP3569752 B2 JP 3569752B2 JP 15217298 A JP15217298 A JP 15217298A JP 15217298 A JP15217298 A JP 15217298A JP 3569752 B2 JP3569752 B2 JP 3569752B2
Authority
JP
Japan
Prior art keywords
packet
network
function
interface chip
received
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 - Fee Related
Application number
JP15217298A
Other languages
Japanese (ja)
Other versions
JPH11328068A (en
Inventor
日出夫 須藤
Original Assignee
株式会社沖データ
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 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP15217298A priority Critical patent/JP3569752B2/en
Publication of JPH11328068A publication Critical patent/JPH11328068A/en
Application granted granted Critical
Publication of JP3569752B2 publication Critical patent/JP3569752B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、単一のCPU(中央処理装置)により動作するシステムが、ネットワークに接続されている場合に、このシステムがネットワークから受信するべきパケット数に関係無く、システム本来の機能を動作保証した、ネットワーク組込み用システムに関する。
【0002】
【従来の技術】
ネットワークに接続された機器は、必ずNetwork I/F Chip(ネットワークインタフェースチップ)と呼ばれるH/W(ハードウェア)を持っている。Network I/FChipは、ネットワークの回線上を流れる自機器宛てのパケットを受信したり、ネットワーク回線上にパケットを送信したりする役割を持つ。自機器宛てのパケットとその他のパケットとを区別する機能をフィルタ(選別)機能と呼ぶ。
【0003】
一般的なNetwork I/F Chipのフィルタ機能(選別)によれば、受信するパケットが以下に示すようなパターンの場合に、それを自機器宛てのパケットと判定して、そのパケットを受信するように動作する。
(1)自H/Wアドレス宛てのパケット
(2)自H/Wアドレスを含む集団(グループ)宛てのパケット(Multicast Packet)
(3)全機器宛てのパケット(Broadcast Packet)
(4)各種エラーパケットを除くパケット
【0004】
【発明が解決しようとする課題】
ところで、上記のような従来の技術には、次のような解決すべき課題があった。
単一のCPUにより動作するシステムが、ネットワークに接続された場合に、そのCPUは、システム本来の機能を発揮するための処理と、ネットワーク関連の機能を発揮するための処理とを並立させる。この場合に、CPU資源の使用割合の設定が重要になる。
【0005】
例えば、ネットワーク上には、様々なパケットが流れている。特に、大規模なネットワークでは、ネットワークをいくつかのSub−Network(サブネットワーク)に分割しているルータ間で、大量の情報をやり取りしている。この情報がプロードキャストパケットとして転送されると、ネットワークに接続されたルータ以外のシステムがそのパケットを受信してしまうことがある。この情報パケットを一挙に大量に受信して処理すると、CPU資源が長時間受信パケット処理に費やされる。これにより、システムのネットワーク関連機能以外の機能に障害をもたらす場合が少なくない。
【0006】
ルータのみならず、ネットワークに接続される様々な機器を含むシステムは、同様の問題をかかえている。例えばネットワークプリンタが印刷処理を実行中に、ネットワークから大量の情報パケットを受信すると、ネットワークプリンタのCPUの負荷が増大して、印刷速度が著しく低下するといった問題も生じる。
【0007】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成1〉
同一CPUにより制御されるネットワーク機能とネットワーク機能以外の機能とを備えたネットワーク組込み用システムであって、上記ネットワーク機能以外の機能の処理のうち、CPU使用権をネットワーク機能に渡したくない緊急処理の開始と終了を表示する動作レデュースフラグ保持手段と、ネットワーク内のパケット送受信を担当するネットワークインタフェースチップ(NIC)と、このネットワークインタフェースチップの動作全体を制御するとともに、上記動作レデュースフラグを参照し、上記緊急処理の開始から終了までの間に、上記ネットワークコントロールチップに対して、通常動作で受信するパケットのうち、特定の種類のパケット受信を停止するようにフィルタ動作を実行させるNICドライバと、上記緊急処理の開始から終了までの間に、一定の時間間隔で、上記特定の種類のパケット受信停止動作を解除するタイマとを備えたことを特徴とするネットワーク組込み用システム。
【0008】
〈構成2〉
構成1に記載のシステムにおいて、ネットワークインタフェースチップは、緊急処理の開始から終了までの間は、通常動作で受信するパケットのヘッダに含まれる特定のフィールドを参照して、その値が予め設定された値と等しい場合にのみ、そのパケットを受信するように動作することを特徴とするネットワーク組込み用システム。
【0009】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
《具体例1》
この発明は、同一のCPUが、ネットワーク機能とネットワーク機能以外の機能とを併せて制御するシステムに利用される。このシステムでは、ネットワーク機能に従って動作中は、他の機能の処理は待たされる。こうしたシステムのネットワーク機能以外の機能の処理のうちには、CPU使用権をネットワーク機能に渡したくない緊急処理が含まれることがある。この場合に、その緊急処理の開始と終了を表示する動作レデュースフラグをセットする。
【0010】
緊急処理の開始から終了までの間には、通常動作中には受信をするパケットのうちで、特定の種類のパケット受信を停止する。特定の種類のパケットというのは、受信に緊急性を必要としないパケットのことである。動作レデュースフラグをセットした間に、緊急処理を最優先に実行する。またその一方で、緊急処理の開始から終了までの間に、特定の種類のパケット受信停止動作を解除するようなタイマ割り込みを実行する。この割り込み間隔は任意である。これは、特定の種類のパケットの受信を長時間停止したときに生じる弊害を防止するためである。
【0011】
〈構成〉
図1は、本発明によるネットワーク組込み用システム例ブロック図である。
なお、以下の例は、ネットワークに接続されたプリンタに、本発明を適用した場合につて説明をする。
図のプリンタ1は、ネットワークインタフェースチップ4(Network I/F Chip)によりネットワーク3に接続されている。ネットワークインタフェースチップ4は、同一ネットワーク内の低レベルのパケット送受信を担当するハードウェアインタフェース回路である。プリンタ1は、ネットワーク機能部5とプリンタ機能部6とを備える。プリンタのCPU2は、ネットワーク機能部5とプリンタ機能部6とを併せて制御するように構成されている。
【0012】
ネットワーク機能部5には、ネットワークインタフェースチップ4をソフトウェア的に制御するNICドライバ7(NIC Driver、)が設けられている。この他に、プリンタ1には、動作レデュースフラグ保持部8と、タイマ9が設けられている。
【0013】
上記ネットワークインタフェースチップ4は、ネットワーク機能を持つノードをネットワークに接続し、パケットの送受信や、受信パケットの簡単なエラー検知等を可能とするハードウェアである。NICドライバ7は、ネットワークインタフェースチップ4から受信パケットを受け取り、ネットワーク機能部5に渡したり、ネットワーク機能部5から送信パケットをネットワークインタフェースチップ4に渡して送信要求をしたりする処理を行う部分である。
【0014】
ネットワーク機能部5は、パケットのやり取りに意味付けをし、ネットワーク上に接続されたノードとの有意な通信処理を行う制御をする部分である。動作レデュースフラグ保持部8は、あとで説明するように、緊急処理の開始から終了までの間オンし、その他の場合にはオフするフラグを保持する、記憶部により構成される。プリンタ機能部6は、各種の印刷動作を実行する部分である。タイマ9は、動作レデュースフラグがオンの間、後で説明するタイマ割り込みを実行するために、一定間隔で動作するインターバルタイマである。
【0015】
図2に、ネットワーク機能部の具体的なブロック図を示す。
図のNICドライバ7には、プロトコルスタック11と複数のアプリケーション12が順に接続されている。
プロトコルスタック11は、NICドライバ7を使用して通信をする端点ノードとの間の通信機能を提供する部分である。アプリケーション12は、それぞれ、プロトコルスタック11を使用して、より高度な通信機能を提供するコンピュータプログラムにより構成される。メモリ13は、ネットワークインタフェースチップ4とプリンタ機能部6の両方からアクセスされるメモリで、動作レデュースフラグ保持部8を備える。
【0016】
上記のプリンタ機能部6は、印刷処理が起動された時点から印刷を終了するまでの間に、CPU2を長時間使用する。この間に、他の機能にCPUを渡すことができない処理が含まれてくる。印刷処理では、印刷イメージを作成しながら、プリントエンジンにその印刷イメージを転送して、用紙上に印刷を実行する。もし、印刷イメージを紙に印刷する処理が印刷イメージを作成する処理に追いついてしまうと、印刷のない白紙を排出してしまうプリントオーバーランという現象が発生する。こうした印刷イメージの作成処理は、プリンタ本来の重要な機能である。そこで、この処理を緊急処理とし、以下のシステムでは、パケットの受信に優先させる。
【0017】
図3には、システムの動作タイムチャートを示した。
図において、(a)はプリント動作のタイミング、(b)はパケット受信動作のタイミング、(c)は動作レデュースフラグのタイミング、(d)はタイマ割り込みのタイミングを示している。図のように、時刻t1から上記緊急処理が開始され、時刻t2にその緊急処理が終了するものとする。タイマ9は、時刻t1に動作レデュースフラグがオンになったタイミングで起動し、T時間おきにごく短時間有効になる信号を出力する。(c)では信号がハイレベルのときが有効である。(c)に示す動作レデュースフラグがオンの間は、(a)に示すようにプリント動作を実行するが、T時間おきにタイマ9の出力が有効になると、(b)に示すように、その間だけパケット受信処理を実行する。
【0018】
図4にプリンタ機能部の動作フローチャートを示す。
まず、印刷処理が既に開始されているものとする。この途中で、上記緊急処理が開始されたとする。ステップS1は、この緊急処理の開始を検知する処理である。
【0019】
緊急の処理が開始されたことを認識すると、動作レデュースフラグ10をオンに設定する(ステップS2)。この動作レデュースフラグを設定すると、その緊急処理を行う(ステップS3)。緊急処理が開始されると、その後緊急処理が終了まで、状態を監視する(ステップS4)緊急処理が終了した場合には、動作レデュースフラグ10をオフに設定する(ステップS5)。
【0020】
図5に、NICドライバの動作フローチャートを示す。
始めに、ネットワークインタフェースチップ4は、パケットを受信するとNICドライバ7の受信割り込み処理を起動させる。NICドライバ7の受信割り込み処理では、パケットを受信すると動作レデュースフラグ10をリードしてその内容を確認する(ステップS1)。動作レデュースフラグがオンならば、BroadcastパケットとMulticastパケットを、ネットワークインタフェースチップ4の受信フィルタを使用して受信しないように設定する(ステップS2)。
【0021】
CPU2がネットワーク機能部5とプリンタ機能部6とを並列に制御するような場合に、上記のプリントオーバーランによる障害を発生させるのは、全ノード宛てに送信されるBroadcastパケットや、特定のグループ宛てに送信されるMulticastパケットを受信した場合が殆どである。そこで、この例では、緊急処理の間、これらのパケットの受信を停止させる。Broadcastパケット及び、Multicastパケットの受信停止をネットワークインタフェースチップ4に設定後、受信したパケットの処理を開始する。
【0022】
受信パケットの処理では、受信したパケットがBroadcastパケットかMulticastパケットかを判断する(ステップS3)。受信したパケットがBroadcastパケットかMulticastパケットの場合は、その時点で受信パケットを受け捨て受信処理は行わない(ステップS3から終了へ)。それ以外の自分宛てのパケットを受信した場合には、通常の受信割り込み処理を行う(ステップS6)。
【0023】
また、パケット受信割り込み起動時に動作レデュースフラグがオフになっている場合にはステップS1からステップS4に進む。ステップS4では、ネットワークインタフェースチップ4の設定を確認して、BroadcastパケットとMulticastパケットを受信しない設定になっていた場合は、その設定を解除する(ステップS5)。
【0024】
図6にはタイマ割り込みの際のNICの動作フローチャートを示した。
タイマ9は、図3を用いて説明したように一定間隔で動作し、その出力をネットワークインタフェースチップ4に送り込む。ネットワークインタフェースチップ4は、図のステップS1でタイマ割り込みを待ち受け、タイマ割り込みがあるとステップS2に進み、BroadcastパケットとMulticastパケットの受信を再開する。その一定の時間、受信割り込み処理を実行し、再びBroadcastパケットとMulticastパケットの受信を停止する(ステップS4)。この時間はタイマ出力の有効な時間とするか、あるいは一定量のパケットを受信処理する時間とする。その時間設定は任意であるが、緊急処理に影響を与えないごく短時間とする。この間になにもパケットを受信しないこともあり得る。
【0025】
ネットワークに接続されたノードは、パケットを短時間に集中的に受信する場合が多い。従って、ノードが長時間パケットを受信しないこともある。プリンタ機能部6が緊急処理を実行中は、動作レデュースフラグをオンにするようにしたので、ネットワークインタフェースチップ4は、長時間パケットを受信しない状態の後突然パケットを受信しても、図5のフローチャートの処理を実行すれば、上記の動作ができる。
【0026】
受信割り込み処理は、一般に動作優先度を高く設定している。従って、プリンタ機能部が緊急処理を実行中にパケットが受信されると、図5の処理が開始されて、ステップS1の動作レデュースフラグ参照処理が実行される。その後は、すでに説明したとおりの動作となるから、動作レデュースフラグがオンされている限り、割り込みは発生しない。即ち、割り込みは1回限りであり、CPUに無駄な負荷をかけない。しかも、こうすることで、ネットワークインタフェースチップ4がパケットを受信していないときも、ポーリングのようなセンス処理を所定時間おきに実行して、プリンタ機能部の動作を監視するといった制御が不要になる。
【0027】
〈効果〉
以上のように、ネットワーク機能以外の機能による緊急的な処理を実行中に、ネットワーク上のルータ等が発信する不要なパケットを多数受信しても、ネットワーク機能の処理を停止するので、CPUの負担を軽減して緊急処理の処理速度低下や障害の発生を防止できる。また、上記のような処理は、ネットワークインタフェースチップ部分に変更を加えずに、そのドライバ等のプログラムを工夫することで実現でき、ハードウェアコストをアップさせないという効果もある。
【0028】
《具体例2》
具体例1では、ルータ間でやりとりしている情報パケットはBroadcast PacketやMulticastパケットである場合が殆どなので、Network I/F Chipのフィルタ機能を利用して、このような情報パケットを受信しないようにした。これでルータのCPUの負荷が軽減される。ところが、Broadcast Packetには、そのルータがネットワークのコネクションを開設するために必要なパケットも含まれる。これも受信することができなくなってしまうと、ネットワークに接続された他の機器との接続ができなくなる。
【0029】
この具体例では、ネットワークインタフェースチップにパケットのタイプをチェックするハードウェアを付加することにより、BroadcastパケットとMulticastパケットのうち、必要なパケットと不要なパケットを区別して受信する。
即ち、パケットのヘッダに含まれる特定のフィールドを参照して、その値が予め設定された値と等しい場合にのみ、そのパケットを受信するように制御する。
【0030】
〈構成〉
図7に、この具体例の実施に適するネットワークインタフェースチップの機能ブロック図を示す。
ネットワークから受け入れた受信パケット15をチェックする受信フィルタ部14には、送信先アドレスチェック部16とタイプフィールドチェック部17が設けられている。送信先アドレスチェック部16はパケットの送信先アドレスをチェックして、その宛て先が自己のものかどうかを判定する機能を持つ。これは従来のものと変わらない。タイプフィールドチェック部17はこの具体例で新たに設けられたもので、パケットのタイプフィールドをチェックする機能を持つ。
【0031】
ネットワーク上を流れるパケットには様々な種類があるが、最も世界で広く使用されているパケットのタイプにEthernet(イーサーネット:ゼロックス社開発のネットワーク)タイプがある。
このタイプのパケットは、インターネットの通信処理を行うIP(インターネットプロトコル)データグラムの送信にも使用されている。
【0032】
図8には、このEthernetタイプのパケット構造説明図を示す。
Ethernetパケット20は、Ethernet Header21(14Bytesのヘッダ)と、Ethernet DATA22(46〜1500Bytesのデータ)と、FCS23(4Bytesのフレームチェック信号)とからなり最小64Bytesから最大1518Bytesの範囲のサイズを取る。
【0033】
ネットワークインタフェースチップ4は、通常、EthernetパケットのEthernetHeader21とFCS23の受信チェックを行うが、本発明の説明の対象はEthernetHeader21だけであるため、対象をEthernet Header21に絞る。Ethernet Header21は、送信先H/Wアドレス21A(6Bytes)と、送信元H/Wアドレス21B(6Bytes)と、タイプフィールド21C(2Bytes)より構成される。送信先H/Wアドレス21Aは、16進数12桁で構成され、パケットの送信先を指定する働きを持つ。この数値が特定な値を取るパケットをBroadcastパケットやMulticastパケットとして扱う。
【0034】
Broadcastパケットは全ノード宛てに送信されたパケットで、Multicastパケットはある一グループのノード宛てに送信されたパケットである。送信元H/Wアドレス21Aは、送信先H/Wアドレス21Bと同様に16進数12桁で構成され、パケットの送信元を指定する働きを持つ。この数値が、送信先H/Wアドレスで説明したBroadcastアドレスやMulticastアドレスを取ることはない。
【0035】
タイプフィールド21Cは、上位層の識別に使用される。EthernetタイプのパケットはOSI仕様の第二層に定められた仕様に基づき動作しているが、タイプフィールド21Cには、OSI仕様の第三層のプロトコルを識別するためのプロトコルIDが格納される。プロトコルIDは、OSI仕様の各層の各プロトコルに対して割り当てられた識別コードで、下位層がその上位層にどのプロトコルを採用しているかを示す為に使用される。
【0036】
TCP(Transmit Control Protocol)とIP(Internet Protocol)を使用する通信では、通信の最初にARP(Address Resolution Protocol)を使用したやり取りが行われる。
【0037】
図9には、このARPの手順説明図を示す。
まず、送信元のPC28がARPリクエストを送信先のプリンタ29に向けて送信する(ステップS1)。このARPリクエストの送信先H/Wアドレスは、Broadcastアドレスにする。プリンタ29は、そのパケットを受信したプリンタ29は、ARPレスポンスを返す(ステップS2)。このARPレスポンスの送信先アドレスには、ARPリクエストの送信元アドレスを格納する。このレスポンスを受信することによりPC28は、プリンタ29のOSI第三層のアドレスを知ることができる。TCP/IPを使用してコネクションを接続するためには、接続先のOSI第三層のアドレスを知る必要がある。次にPC28はプリンタ29の第三層のアドレスを指定してコネクションの開設要求をプリンタ29に送信する(ステップS3)。
【0038】
Ethernet Headerの送信先H/Wアドレスには、プリンタ29のH/Wアドレスを使用する。プリンタ29は、PC28からの接続要求に対しコネクションが開設できる状態であればコネクション開設確認パケットをPCに送信する(ステップS4)。Ethernet Headerの送信先H/Wアドレスには、PC28のH/Wアドレスを使用する。PC28はプリンタ29へコネクション開設応答を送信し、TCPのコネクション確立を完了する(ステップS5)。
【0039】
Ethernet Headerの送信先H/Wアドレスには、PC28のH/Wアドレスを使用する。以降双方からのデータの送信が可能となる(ステップS6)。以降全てのパケットのEthernet Headerの送信先H/Wアドレスには、送信相手側のH/Wアドレスを使用する。
以上のように、TCP/IPプロトコルを使用した場合の通信では、通信開始時にプリンタはBroadcastを受信する必要がある。従って、無条件にBroadcastパケットとMulticastパケットの受信を制限すると、必要なBroadcastパケットの受信が遅れてしまう。
【0040】
そこで、TCP/IPの通信に必要なBroadcastパケットを受信し、不要なBroadcastパケットを受信しないための方法について説明する。
まず、具体例1で説明したように、ネットワークインタフェースチップ4のフィルタ機能を使用してBroadcastパケットとMulticastパケットの受信を停止する。これにより、不要なBroadcastパケットを受信しないことが可能になるが、必要なARPリクエストも受信しなくなってしまう。この具体例では、ネットワークインタフェースチップ74の受信フィルタに機能を追加することにより、不要なBroadcastパケットを受信せずに上記の必要なARPリクエストを受信する。
【0041】
図10は、この具体例2によるNICの受信パケットフィルタ処理の動作フローチャートである。
ネットワークインタフェースチップ4は、パケットを受信するとEthernet Headerの送信先H/WアドレスがMulticastアドレスであるかを比較する(ステップS1)。Multicastパケットである場合はそのパケットを廃棄する(ステップS4)。Multicastパケットでない場合は、Ethernet Headerの送信先H/WアドレスがBroadcastアドレスであるかを比較する(ステップS2)。Broadcastパケットである場合は、タイプフィールドが806H(16進数)であるかを比較する(ステップS3)。
【0042】
タイプフィールドの値が806Hである場合は、フィルタ処理を終了する。タイプフィールドの値が806Hで無い場合は、受信パケットを廃棄する(ステップS4)。ステップS2で、Ethernet Headerの送信先H/WアドレスがBroadcastアドレスで無い場合は、フィルタ処理を終了する。
【0043】
〈効果〉
以上説明したように、具体例2によれば、ネットワークインタフェースチップが受信する全BroadcastパケットとMulticastパケットを受信不可にすることにより、プリンタにとって不要なBroadcastパケットとMulticastパケットを受信せず、具体例1と同様に、緊急処理の処理速度低下を防止できる。しかも、TCP/IP通信に必要なARPリクエストを受信することができるので、緊急処理中にも、新たなTCP/IPのコネクションを接続することができる。
【図面の簡単な説明】
【図1】本発明によるネットワーク組込み用システム例ブロック図である。
【図2】ネットワーク機能部の具体的なブロック図である。
【図3】システムの動作タイムチャートである。
【図4】プリンタ機能部の動作フローチャートである。
【図5】NICドライバの動作フローチャートである。
【図6】タイマ割り込みの際のNICの動作フローチャートである。
【図7】具体例2の実施に適するネットワークインタフェースチップの機能ブロック図である。
【図8】パケット構造説明図である。
【図9】ARPの手順説明図である。
【図10】具体例2によるNICの受信パケットフィルタ処理動作フローチャートである。
【符号の説明】
1 プリンタ
2 CPU
3 ネットワーク
4 ネットワークインタフェースチップ(Network I/F Chip)
5 ネットワーク機能部
6 プリンタ機能部
7 NICドライバ
8 動作レデュースフラグ保持部
9 タイマ
[0001]
TECHNICAL FIELD OF THE INVENTION
For example, when a system operated by a single CPU (Central Processing Unit) is connected to a network, the present invention operates the original function of the system regardless of the number of packets to be received from the network. Guaranteed network embedding system.
[0002]
[Prior art]
Devices connected to a network always have H / W (hardware) called a Network I / F Chip (network interface chip). The Network I / FChip has a role of receiving a packet addressed to its own device flowing on a network line and transmitting a packet on the network line. The function of distinguishing a packet addressed to the own device from other packets is called a filter (selection) function.
[0003]
According to the filter function (selection) of a general Network I / F Chip, when a packet to be received has a pattern as shown below, it is determined that the packet is addressed to the own device, and the packet is received. Works.
(1) Packet addressed to own H / W address (2) Packet addressed to a group including the own H / W address (Multicast Packet)
(3) Broadcast packet addressed to all devices
(4) Packets excluding various error packets
[Problems to be solved by the invention]
By the way, the conventional techniques as described above have the following problems to be solved.
When a system operated by a single CPU is connected to a network, the CPU cooperates with a process for exerting a function inherent in the system and a process for exerting a network-related function. In this case, it is important to set the CPU resource usage ratio.
[0005]
For example, various packets are flowing on the network. In particular, in a large-scale network, a large amount of information is exchanged between routers that divide the network into several sub-networks (sub-networks). If this information is transferred as a broadcast packet, a system other than the router connected to the network may receive the packet. If a large amount of this information packet is received and processed at once, CPU resources are spent for a long time on the received packet processing. This often causes a failure in functions other than the network-related functions of the system.
[0006]
Systems including various devices connected to the network as well as routers have similar problems. For example, if a large amount of information packets are received from the network while the network printer is executing the printing process, the load on the CPU of the network printer increases, causing a problem that the printing speed is significantly reduced.
[0007]
[Means for Solving the Problems]
The present invention employs the following configuration to solve the above points.
<Configuration 1>
A network-embedded system having a network function controlled by the same CPU and a function other than the network function, wherein, among the processing of the functions other than the network function, an emergency processing for which the CPU usage right is not desired to be passed to the network function. An operation-reduce-flag holding means for displaying start and end, a network interface chip (NIC) responsible for transmitting and receiving packets in the network, and controlling the entire operation of the network interface chip, and referring to the operation-reduce flag, An NIC driver that causes the network control chip to execute a filter operation to stop reception of a specific type of packet among packets received in a normal operation between the start and end of the emergency processing; Processing Until completion from the start, at regular time intervals, the system network built, characterized in that a timer for releasing the specific type of packet reception stop operation.
[0008]
<Configuration 2>
In the system according to Configuration 1, the network interface chip refers to a specific field included in a header of a packet received in a normal operation from the start to the end of the emergency processing, and the value is set in advance. A network-embedded system that operates to receive the packet only when the value is equal to the value.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described using specific examples.
<< Specific Example 1 >>
The present invention is used in a system in which the same CPU controls a network function and a function other than the network function together. In this system, while operating according to the network function, the processing of other functions is put on hold. The processing of functions other than the network function of such a system may include an urgent processing in which the CPU usage right is not desired to be passed to the network function. In this case, an operation reduce flag indicating the start and end of the emergency processing is set.
[0010]
During the normal operation from the start to the end of the emergency processing, the reception of a specific type of packet among the packets to be received is stopped. A particular type of packet is a packet that does not require urgency for reception. Emergency processing is executed with the highest priority while the operation reduce flag is set. On the other hand, between the start and the end of the emergency processing, a timer interrupt for canceling the operation of stopping the reception of a specific type of packet is executed. This interruption interval is arbitrary. This is to prevent adverse effects that occur when reception of a specific type of packet is stopped for a long time.
[0011]
<Constitution>
FIG. 1 is a block diagram showing an example of a system for incorporating a network according to the present invention.
The following example describes a case where the present invention is applied to a printer connected to a network.
The illustrated printer 1 is connected to a network 3 by a network interface chip 4 (Network I / F Chip). The network interface chip 4 is a hardware interface circuit responsible for transmitting and receiving low-level packets in the same network. The printer 1 includes a network function unit 5 and a printer function unit 6. The CPU 2 of the printer is configured to control the network function unit 5 and the printer function unit 6 together.
[0012]
The network function unit 5 is provided with an NIC driver 7 (NIC Driver) for controlling the network interface chip 4 by software. In addition, the printer 1 is provided with an operation reduce flag holding unit 8 and a timer 9.
[0013]
The network interface chip 4 is hardware that connects a node having a network function to a network and enables transmission and reception of packets, simple error detection of received packets, and the like. The NIC driver 7 is a part that performs processing of receiving a received packet from the network interface chip 4 and passing it to the network function unit 5 or passing a transmission packet from the network function unit 5 to the network interface chip 4 to make a transmission request. .
[0014]
The network function unit 5 is a part that gives meaning to the exchange of packets and controls to perform significant communication processing with nodes connected on the network. As will be described later, the operation-reduce-flag holding unit 8 is configured by a storage unit that holds a flag that is turned on from the start to the end of the emergency processing and that is turned off in other cases. The printer function unit 6 is a part that executes various printing operations. The timer 9 is an interval timer that operates at regular intervals to execute a timer interrupt described later while the operation reduce flag is on.
[0015]
FIG. 2 shows a specific block diagram of the network function unit.
In the illustrated NIC driver 7, a protocol stack 11 and a plurality of applications 12 are connected in order.
The protocol stack 11 is a part that provides a communication function with an end node that performs communication using the NIC driver 7. Each of the applications 12 is configured by a computer program that provides a more advanced communication function using the protocol stack 11. The memory 13 is a memory accessed from both the network interface chip 4 and the printer function unit 6 and includes an operation reduce flag holding unit 8.
[0016]
The printer function unit 6 uses the CPU 2 for a long time from when the printing process is started to when printing is completed. During this time, processing that cannot pass the CPU to other functions is included. In the printing process, while creating a print image, the print image is transferred to the print engine, and printing is performed on paper. If the process of printing a print image on paper catches up with the process of creating a print image, a phenomenon called print overrun occurs in which blank paper without printing is discharged. Such a print image creation process is an important function inherent in the printer. Therefore, this process is referred to as an emergency process, and in the following systems, priority is given to packet reception.
[0017]
FIG. 3 shows an operation time chart of the system.
In the figure, (a) shows the timing of the printing operation, (b) shows the timing of the packet receiving operation, (c) shows the timing of the operation reduce flag, and (d) shows the timing of the timer interrupt. As shown in the figure, it is assumed that the emergency processing starts at time t1 and ends at time t2. The timer 9 starts at the timing when the operation reduce flag is turned on at the time t1, and outputs a signal that becomes effective for a very short time every T time. (C) is effective when the signal is at a high level. While the operation reduce flag shown in (c) is on, the print operation is executed as shown in (a). However, when the output of the timer 9 becomes effective every T time, as shown in (b), Only execute the packet reception processing.
[0018]
FIG. 4 shows an operation flowchart of the printer function unit.
First, it is assumed that the printing process has already been started. It is assumed that the emergency processing is started during this process. Step S1 is a process of detecting the start of the emergency process.
[0019]
When recognizing that the urgent process has started, the operation reduce flag 10 is set to ON (step S2). When the operation reduce flag is set, the emergency process is performed (step S3). When the emergency processing starts, the state is monitored until the emergency processing ends (step S4). When the emergency processing ends, the operation reduce flag 10 is set to off (step S5).
[0020]
FIG. 5 shows an operation flowchart of the NIC driver.
First, upon receiving a packet, the network interface chip 4 activates a reception interrupt process of the NIC driver 7. In the reception interrupt processing of the NIC driver 7, when a packet is received, the operation reduce flag 10 is read and its contents are confirmed (step S1). If the operation reduce flag is on, a setting is made so that the Broadcast packet and the Multicast packet are not received using the reception filter of the network interface chip 4 (step S2).
[0021]
When the CPU 2 controls the network function unit 5 and the printer function unit 6 in parallel, the failure caused by the print overrun is caused by a Broadcast packet transmitted to all nodes or a specific group. In most cases, a Multicast packet transmitted to is transmitted. Therefore, in this example, reception of these packets is stopped during the emergency processing. After setting the reception stop of the Broadcast packet and the Multicast packet in the network interface chip 4, the processing of the received packet is started.
[0022]
In the processing of the received packet, it is determined whether the received packet is a Broadcast packet or a Multicast packet (step S3). If the received packet is a Broadcast packet or a Multicast packet, the received packet is discarded at that time and the receiving process is not performed (from step S3 to end). If another packet addressed to itself is received, normal reception interrupt processing is performed (step S6).
[0023]
If the operation reduce flag is off at the time of activation of the packet reception interrupt, the process proceeds from step S1 to step S4. In step S4, the setting of the network interface chip 4 is checked, and if the setting is such that the Broadcast packet and the Multicast packet are not received, the setting is canceled (step S5).
[0024]
FIG. 6 shows an operation flowchart of the NIC at the time of a timer interrupt.
The timer 9 operates at regular intervals as described with reference to FIG. 3, and sends its output to the network interface chip 4. The network interface chip 4 waits for a timer interrupt in step S1 in the figure. If there is a timer interrupt, the process proceeds to step S2, and restarts receiving Broadcast packets and Multicast packets. The reception interrupt process is executed for the fixed time, and the reception of the Broadcast packet and the Multicast packet is stopped again (step S4). This time is a valid time for the timer output or a time for receiving and processing a certain amount of packets. The time can be set arbitrarily, but is set to a very short time that does not affect the emergency processing. During this time, no packet may be received.
[0025]
In many cases, nodes connected to the network receive packets in a concentrated manner in a short time. Therefore, the node may not receive the packet for a long time. Since the operation reduce flag is turned on while the printer function unit 6 is executing the emergency processing, even if the network interface chip 4 suddenly receives a packet after receiving no packet for a long time, the network interface chip 4 shown in FIG. The above operation can be performed by executing the processing of the flowchart.
[0026]
In the reception interrupt processing, the operation priority is generally set high. Therefore, when a packet is received while the printer function unit is executing the emergency processing, the processing in FIG. 5 is started, and the operation reduce flag reference processing in step S1 is executed. After that, since the operation is as already described, no interrupt is generated as long as the operation reduce flag is turned on. That is, the interruption is only once, and no unnecessary load is applied to the CPU. In addition, even when the network interface chip 4 does not receive a packet, it is not necessary to perform a sensing process such as polling at predetermined time intervals to monitor the operation of the printer function unit. .
[0027]
<effect>
As described above, even when a large number of unnecessary packets transmitted by a router or the like on the network are received during an emergency process by a function other than the network function, the processing of the network function is stopped. And a reduction in the processing speed of the emergency processing and the occurrence of a failure can be prevented. Further, the above-described processing can be realized by devising a program such as a driver without changing the network interface chip portion, and has an effect of not increasing hardware costs.
[0028]
<< Specific Example 2 >>
In the specific example 1, since the information packet exchanged between the routers is mostly a Broadcast Packet or a Multicast packet, a filter function of the Network I / F Chip is used to prevent such an information packet from being received. did. This reduces the load on the CPU of the router. However, the Broadcast Packet includes a packet necessary for the router to open a network connection. If this can no longer be received, it will not be possible to connect to other devices connected to the network.
[0029]
In this specific example, of the Broadcast packet and the Multicast packet, necessary and unnecessary packets are distinguished from each other by adding hardware for checking the packet type to the network interface chip.
That is, with reference to a specific field included in the header of the packet, control is performed so that the packet is received only when its value is equal to a preset value.
[0030]
<Constitution>
FIG. 7 shows a functional block diagram of a network interface chip suitable for implementing this embodiment.
The receiving filter unit 14 that checks the received packet 15 received from the network includes a destination address checking unit 16 and a type field checking unit 17. The destination address check unit 16 has a function of checking the destination address of the packet and determining whether the destination is its own. This is no different from the conventional one. The type field check unit 17 is newly provided in this specific example and has a function of checking the type field of a packet.
[0031]
There are various types of packets flowing on the network, and one of the most widely used packet types in the world is the Ethernet (Ethernet: network developed by Xerox Corporation) type.
This type of packet is also used for transmitting an IP (Internet Protocol) datagram that performs Internet communication processing.
[0032]
FIG. 8 is an explanatory diagram of the packet structure of the Ethernet type.
The Ethernet packet 20 is composed of an Ethernet Header 21 (a 14-byte header), an Ethernet DATA 22 (data of 46 to 1500 bytes), and an FCS 23 (a 4-byte frame check signal), and has a size ranging from a minimum of 64 bytes to a maximum of 1518 bytes.
[0033]
The network interface chip 4 normally checks the reception of the Ethernet Header 21 and the FCS 23 of the Ethernet packet. However, since the object of the present invention is only the Ethernet Header 21, the target is narrowed down to the Ethernet Header 21. The Ethernet Header 21 includes a destination H / W address 21A (6 Bytes), a source H / W address 21B (6 Bytes), and a type field 21C (2 Bytes). The destination H / W address 21A is composed of 12 hexadecimal digits and has a function of designating the destination of the packet. A packet whose numerical value takes a specific value is treated as a Broadcast packet or a Multicast packet.
[0034]
The Broadcast packet is a packet transmitted to all nodes, and the Multicast packet is a packet transmitted to a certain group of nodes. The source H / W address 21A is composed of 12 hexadecimal digits similarly to the destination H / W address 21B, and has a function of designating the source of the packet. This numerical value does not take the Broadcast address or Multicast address described for the destination H / W address.
[0035]
The type field 21C is used for identifying an upper layer. Although the Ethernet type packet operates based on the specification defined in the second layer of the OSI specification, the type field 21C stores a protocol ID for identifying the third layer protocol of the OSI specification. The protocol ID is an identification code assigned to each protocol in each layer of the OSI specification, and is used to indicate which protocol the lower layer employs in its upper layer.
[0036]
In communication using TCP (Transmit Control Protocol) and IP (Internet Protocol), exchange using ARP (Address Resolution Protocol) is performed at the beginning of communication.
[0037]
FIG. 9 is a diagram illustrating the procedure of the ARP.
First, the transmission source PC 28 transmits an ARP request to the transmission destination printer 29 (step S1). The destination H / W address of the ARP request is a Broadcast address. Upon receiving the packet, the printer 29 returns an ARP response (step S2). The source address of the ARP request is stored in the destination address of the ARP response. By receiving this response, the PC 28 can know the address of the OSI third layer of the printer 29. In order to connect a connection using TCP / IP, it is necessary to know the address of the OSI third layer of the connection destination. Next, the PC 28 specifies the address of the third layer of the printer 29 and transmits a connection establishment request to the printer 29 (step S3).
[0038]
The H / W address of the printer 29 is used as the destination H / W address of the Ethernet Header. If a connection can be established in response to a connection request from the PC 28, the printer 29 transmits a connection establishment confirmation packet to the PC (step S4). The H / W address of the PC 28 is used as the destination H / W address of the Ethernet Header. The PC 28 transmits a connection establishment response to the printer 29 and completes the establishment of the TCP connection (step S5).
[0039]
The H / W address of the PC 28 is used as the destination H / W address of the Ethernet Header. Thereafter, transmission of data from both sides becomes possible (step S6). Thereafter, the H / W address of the transmission partner is used as the transmission destination H / W address of the Ethernet Header of all packets.
As described above, in communication using the TCP / IP protocol, the printer needs to receive Broadcast at the start of communication. Therefore, if the reception of the Broadcast packet and the Multicast packet is unconditionally restricted, the reception of the required Broadcast packet is delayed.
[0040]
Therefore, a method for receiving a Broadcast packet necessary for TCP / IP communication and not receiving an unnecessary Broadcast packet will be described.
First, as described in the specific example 1, the reception of the Broadcast packet and the Multicast packet is stopped using the filter function of the network interface chip 4. This makes it possible not to receive unnecessary Broadcast packets, but it also does not receive necessary ARP requests. In this specific example, by adding a function to the reception filter of the network interface chip 74, the above-mentioned necessary ARP request is received without receiving an unnecessary Broadcast packet.
[0041]
FIG. 10 is an operation flowchart of the received packet filtering process of the NIC according to the second embodiment.
Upon receiving the packet, the network interface chip 4 compares whether the destination H / W address of the Ethernet Header is a multicast address (step S1). If the packet is a multicast packet, the packet is discarded (step S4). If it is not a Multicast packet, it is compared whether the destination H / W address of the Ethernet Header is a Broadcast address (step S2). If the packet is a Broadcast packet, it is compared whether the type field is 806H (hexadecimal) (step S3).
[0042]
If the value of the type field is 806H, the filtering process ends. If the value of the type field is not 806H, the received packet is discarded (step S4). In step S2, if the destination H / W address of the Ethernet Header is not the Broadcast address, the filtering process ends.
[0043]
<effect>
As described above, according to the specific example 2, by disabling the reception of all Broadcast packets and Multicast packets received by the network interface chip, unnecessary Broadcast packets and Multicast packets unnecessary for the printer are not received. Similarly to the above, it is possible to prevent a reduction in the processing speed of the emergency processing. In addition, since an ARP request required for TCP / IP communication can be received, a new TCP / IP connection can be connected even during an emergency process.
[Brief description of the drawings]
FIG. 1 is a block diagram of an example of a system for network incorporation according to the present invention.
FIG. 2 is a specific block diagram of a network function unit.
FIG. 3 is an operation time chart of the system.
FIG. 4 is an operation flowchart of a printer function unit.
FIG. 5 is an operation flowchart of the NIC driver.
FIG. 6 is an operation flowchart of the NIC when a timer interrupt occurs.
FIG. 7 is a functional block diagram of a network interface chip suitable for implementing the second embodiment.
FIG. 8 is an explanatory diagram of a packet structure.
FIG. 9 is an explanatory diagram of an ARP procedure.
FIG. 10 is a flowchart of a received packet filter processing operation of the NIC according to the second embodiment.
[Explanation of symbols]
1 Printer 2 CPU
3 Network 4 Network interface chip (Network I / F Chip)
5 Network Function Unit 6 Printer Function Unit 7 NIC Driver 8 Operation Reduce Flag Holding Unit 9 Timer

Claims (2)

同一CPU(中央処理装置)により制御されるネットワーク機能とネットワーク機能以外の機能とを備えたネットワーク組込み用システムであって、
前記ネットワーク機能以外の機能の処理のうち、CPU使用権をネットワーク機能に渡したくない緊急処理の開始と終了を表示する動作レデュースフラグ保持手段と、
ネットワーク内のパケット送受信を担当するネットワークインタフェースチップ(NIC)と、
このネットワークインタフェースチップの動作全体を制御するとともに、前記動作レデュースフラグを参照し、前記緊急処理の開始から終了までの間に、前記ネットワークコントロールチップに対して、通常動作で受信するパケットのうち、特定の種類のパケット受信を停止するようにフィルタ動作を実行させるNICドライバと、
前記緊急処理の開始から終了までの間に、所定の時間間隔で、前記特定の種類のパケット受信停止動作を解除するタイマとを備えたことを特徴とするネットワーク組込み用システム。
A network embedded system having a network function controlled by the same CPU (central processing unit) and a function other than the network function,
An operation-reduce-flag holding unit that displays a start and an end of an urgent process that does not want to pass the CPU use right to the network function among the processes of the functions other than the network function;
A network interface chip (NIC) for transmitting and receiving packets in the network;
The entire operation of the network interface chip is controlled, and the operation reduce flag is referred to, from the start to the end of the emergency processing, the network control chip specifies a packet among the packets received in the normal operation. An NIC driver that executes a filter operation so as to stop receiving packets of the type
A timer for canceling the operation of stopping the specific type of packet reception at a predetermined time interval from the start to the end of the emergency processing.
請求項1に記載のシステムにおいて、
ネットワークインタフェースチップは、緊急処理の開始から終了までの間は、通常動作で受信するパケットのヘッダに含まれる特定のフィールドを参照して、その値が予め設定された値と等しい場合にのみ、そのパケットを受信するように動作することを特徴とするネットワーク組込み用システム。
The system according to claim 1,
From the start to the end of the emergency processing, the network interface chip refers to a specific field included in the header of a packet received in normal operation, and only when the value is equal to a preset value, A network embedded system operable to receive a packet.
JP15217298A 1998-05-15 1998-05-15 Network embedded system Expired - Fee Related JP3569752B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15217298A JP3569752B2 (en) 1998-05-15 1998-05-15 Network embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15217298A JP3569752B2 (en) 1998-05-15 1998-05-15 Network embedded system

Publications (2)

Publication Number Publication Date
JPH11328068A JPH11328068A (en) 1999-11-30
JP3569752B2 true JP3569752B2 (en) 2004-09-29

Family

ID=15534624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15217298A Expired - Fee Related JP3569752B2 (en) 1998-05-15 1998-05-15 Network embedded system

Country Status (1)

Country Link
JP (1) JP3569752B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121667A (en) * 2004-09-27 2006-05-11 Matsushita Electric Ind Co Ltd Packet reception control device and method
JP5315101B2 (en) * 2009-03-18 2013-10-16 キヤノン株式会社 Network interface control device and control method
JP2011199636A (en) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd Communication control apparatus, image forming apparatus, and program

Also Published As

Publication number Publication date
JPH11328068A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JP3512015B2 (en) Network printing system, printer, service agent server, and program
KR100232237B1 (en) Lan interfacing apparatus and method
JP3214454B2 (en) Packet processing device with built-in program
JP2752265B2 (en) Computer system with disconnection function from LAN
JP3569752B2 (en) Network embedded system
JP2002244833A (en) System, device and method for controlling printer
JP5448527B2 (en) Information processing apparatus, method thereof, and program
US6457138B1 (en) System and method for crash handling on redundant systems
Cisco Novell IPX Commands
KR100819194B1 (en) Multiple buffers for removing unwanted header information from received data packets
JP3163526B2 (en) LAN broadcast frame processing method and apparatus
JP3565180B2 (en) Network printing system, service agent server, and program
JP2002271334A (en) Controller and control method of network terminal
JP4585560B2 (en) Network failure detection method, data communication network system, and node device
CN111371800B (en) Message processing method, device and readable storage medium
JP2001344121A (en) Information apparatus, reception processing method, and recording medium
KR20180080547A (en) Network management method and system for remote wakeup of multiple IT devices
JP2003273873A (en) Electronic device, and program
US6725266B1 (en) System and method for changing the status of a system service
JPH11167474A (en) Printer
JP3042599B2 (en) Printing equipment
JPH0365721A (en) Print server
JP2000188607A (en) Server access control method in client/server system, its system and information storage medium
JP2004221867A (en) Network instrument power controller
JP3209620B2 (en) Communications system

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040528

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120702

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees