JP2003218878A - 情報処理装置、記録媒体及びプログラム - Google Patents
情報処理装置、記録媒体及びプログラムInfo
- Publication number
- JP2003218878A JP2003218878A JP2002013864A JP2002013864A JP2003218878A JP 2003218878 A JP2003218878 A JP 2003218878A JP 2002013864 A JP2002013864 A JP 2002013864A JP 2002013864 A JP2002013864 A JP 2002013864A JP 2003218878 A JP2003218878 A JP 2003218878A
- Authority
- JP
- Japan
- Prior art keywords
- lan
- lsi
- driver
- error
- packet
- 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.)
- Withdrawn
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【課題】本発明は情報処理装置、記録媒体及びプログラ
ムに関し、コリジョンエラーが発生し、更に再送信等の
リトライが発生した場合でも、LANドライバのレベル
でパケットの再送信処理を行なえるようにして、タイム
アウト等のエラーを発生しにくくする。 【解決手段】イーサネットを使用してLANのネットワ
ーク通信を行う通信手段を備え、該通信手段に、LAN
の制御を行うLAN−LSIと、該LAN−LSIを制
御するLANドライバを備えた情報処理装置において、
LAN−LSIによる通信手順が半二重の通信手順であ
り、パケット送信の際に、LAN−LSIがコリジョン
エラーを検出し、LANドライバがそのエラーを認識し
た際に、LANドライバのレベルでパケットの再送処理
を行うパケット再送処理手段を備えている。
ムに関し、コリジョンエラーが発生し、更に再送信等の
リトライが発生した場合でも、LANドライバのレベル
でパケットの再送信処理を行なえるようにして、タイム
アウト等のエラーを発生しにくくする。 【解決手段】イーサネットを使用してLANのネットワ
ーク通信を行う通信手段を備え、該通信手段に、LAN
の制御を行うLAN−LSIと、該LAN−LSIを制
御するLANドライバを備えた情報処理装置において、
LAN−LSIによる通信手順が半二重の通信手順であ
り、パケット送信の際に、LAN−LSIがコリジョン
エラーを検出し、LANドライバがそのエラーを認識し
た際に、LANドライバのレベルでパケットの再送処理
を行うパケット再送処理手段を備えている。
Description
【0001】
【発明の属する技術分野】本発明は、イーサネット(Et
hernet:登録商標))を使用してLANのネットワーク
通信を行う通信手段を備えたパーソナルコンピュータ、
ワークステーション、ネットワークプリンタ等の情報処
理装置、記録媒体及びプログラムに関する。
hernet:登録商標))を使用してLANのネットワーク
通信を行う通信手段を備えたパーソナルコンピュータ、
ワークステーション、ネットワークプリンタ等の情報処
理装置、記録媒体及びプログラムに関する。
【0002】
【従来の技術】以下、従来例について説明する。
【0003】(1) :従来例の概要
一般的に、イーサネットを使用してLANのネットワー
ク通信を行う通信手段を備え、該通信手段に、LANの
制御を行うLAN−LSI(LANコントローラ)と、
該LAN−LSIを制御するプログラムで構成されたL
ANドライバを備えた情報処理装置(例えば、ネットワ
ークプリンタ、パーソナルコンピュータ、ワークステー
ション)において、LAN−LSIを制御するLANド
ライバは、上位層、例えば、IP(Internet Protocol
)やTCP(Transmission Control Protocol )等と
いったプロトコルの処理部からのパケットの送信依頼を
受け付けることによってLAN−LSIに対して送信依
頼を行う。
ク通信を行う通信手段を備え、該通信手段に、LANの
制御を行うLAN−LSI(LANコントローラ)と、
該LAN−LSIを制御するプログラムで構成されたL
ANドライバを備えた情報処理装置(例えば、ネットワ
ークプリンタ、パーソナルコンピュータ、ワークステー
ション)において、LAN−LSIを制御するLANド
ライバは、上位層、例えば、IP(Internet Protocol
)やTCP(Transmission Control Protocol )等と
いったプロトコルの処理部からのパケットの送信依頼を
受け付けることによってLAN−LSIに対して送信依
頼を行う。
【0004】現在では、LAN−LSIは、CSMA/
CD(carrier sense multiple access /collision de
tection )と言われる機能を有しており、伝送路上の空
き状態を確認し、伝送路が空いていれば送信を行い、伝
送路が使用されていれば送信を待ち、あるアルゴリズム
によって後で送信するように動作する。
CD(carrier sense multiple access /collision de
tection )と言われる機能を有しており、伝送路上の空
き状態を確認し、伝送路が空いていれば送信を行い、伝
送路が使用されていれば送信を待ち、あるアルゴリズム
によって後で送信するように動作する。
【0005】このような処理を行ったとしても高負荷で
あったり、タイミングによっては、やはりパケット同士
の衝突(これを「コリジョンエラー」と言う)は発生す
る。但し、CSMA/CD方式のLAN−LSIの場合
は、このようなコリジョンエラーを検出することが可能
であり、コリジョンエラーを検出した場合、LAN−L
SIのレベル(LANドライバを含むプログラムの介在
しないレベル)で、或るアルゴリズムによって再送処理
が行われる。
あったり、タイミングによっては、やはりパケット同士
の衝突(これを「コリジョンエラー」と言う)は発生す
る。但し、CSMA/CD方式のLAN−LSIの場合
は、このようなコリジョンエラーを検出することが可能
であり、コリジョンエラーを検出した場合、LAN−L
SIのレベル(LANドライバを含むプログラムの介在
しないレベル)で、或るアルゴリズムによって再送処理
が行われる。
【0006】そして、LAN−LSIが、或る一定回数
以上の再送処理を行っても正常にパケットの送信が行わ
れなかった場合(リトライアウト)、LANドライバに
対して割り込み等を利用してエラーが通知される。
以上の再送処理を行っても正常にパケットの送信が行わ
れなかった場合(リトライアウト)、LANドライバに
対して割り込み等を利用してエラーが通知される。
【0007】なお、イーサネット(Ethernet)とは、バ
ス型のLAN(ローカル・エリア・ネットワーク)のこ
とである。米国のゼロックス、ディジタルイクイップメ
ント、インテルの3社が共同で開発、1980年に製品
化した。低価格で技術的に成熟し最も普及しているLA
Nである。
ス型のLAN(ローカル・エリア・ネットワーク)のこ
とである。米国のゼロックス、ディジタルイクイップメ
ント、インテルの3社が共同で開発、1980年に製品
化した。低価格で技術的に成熟し最も普及しているLA
Nである。
【0008】元はゼロックスの研究開発用のデータ交換
技術の名称であり、一般的には、IEEE(米国電気電
子学会)802委員会が作成したCSMA(carrier se
nsemultiple access with collision detection)型L
AN(IEEE802.3)がイーサネットと呼ばれて
いる。以下、具体例について説明する。
技術の名称であり、一般的には、IEEE(米国電気電
子学会)802委員会が作成したCSMA(carrier se
nsemultiple access with collision detection)型L
AN(IEEE802.3)がイーサネットと呼ばれて
いる。以下、具体例について説明する。
【0009】(2) :具体例による説明
:システムの説明
図6はシステムの説明図であり、A図はシステム構成
図、B図は通信部の構成図である。
図、B図は通信部の構成図である。
【0010】図6に示すシステム例では、LANのネッ
トワークに、パーソナルコンピュータ(以下、単に「パ
ソコン」とも記す)1やネットワークプリンタ2が任意
の数だけ接続され、システムを構成している。このシス
テムにおいて、LANに接続されたパソコン1やネット
ワークプリンタ2には、それぞれLANのネットワーク
を介して通信を行うための通信部3が設けてある。
トワークに、パーソナルコンピュータ(以下、単に「パ
ソコン」とも記す)1やネットワークプリンタ2が任意
の数だけ接続され、システムを構成している。このシス
テムにおいて、LANに接続されたパソコン1やネット
ワークプリンタ2には、それぞれLANのネットワーク
を介して通信を行うための通信部3が設けてある。
【0011】前記通信部3は、図6のB図に示したよう
に、アプリケーション層5と、OS/プロトコル処理/
その他カーネル等6と、各種ドライバ等7が設けてあ
り、更に、ハードウェア構成のLAN−LSI(LAN
の制御を行うためのLANコントローラとして機能する
LSI)9等が設けてある。
に、アプリケーション層5と、OS/プロトコル処理/
その他カーネル等6と、各種ドライバ等7が設けてあ
り、更に、ハードウェア構成のLAN−LSI(LAN
の制御を行うためのLANコントローラとして機能する
LSI)9等が設けてある。
【0012】この場合、アプリケーション層5と、OS
/プロトコル処理/その他カーネル等6と、各種ドライ
バ等7は、それぞれソフトウェア構成(プログラムによ
り構成されている)の処理手段であり、アプリケーショ
ン層5の下位層にOS/プロトコル処理/その他カーネ
ル等6があり、その下位層に、各種ドライバ等7が存在
する。
/プロトコル処理/その他カーネル等6と、各種ドライ
バ等7は、それぞれソフトウェア構成(プログラムによ
り構成されている)の処理手段であり、アプリケーショ
ン層5の下位層にOS/プロトコル処理/その他カーネ
ル等6があり、その下位層に、各種ドライバ等7が存在
する。
【0013】また、前記各種ドライバ等7には、LAN
−LSI9の制御を行うためのLANドライバ8が含ま
れており、このLANドライバ8(プログラムにより構
成されている)によりLAN−LSI9が制御されるよ
うになっている。
−LSI9の制御を行うためのLANドライバ8が含ま
れており、このLANドライバ8(プログラムにより構
成されている)によりLAN−LSI9が制御されるよ
うになっている。
【0014】:パソコン又はネットワークプリンタの
ハードウェア構成の説明 図7はパソコン又はネットワークプリンタのハードウェ
ア構成図である。前記パソコン1又はネットワークプリ
ンタ2は、例えば、図7のように構成されている。
ハードウェア構成の説明 図7はパソコン又はネットワークプリンタのハードウェ
ア構成図である。前記パソコン1又はネットワークプリ
ンタ2は、例えば、図7のように構成されている。
【0015】この例では、前記パソコン1又はネットワ
ークプリンタ2には、それぞれ、MPU等のプロセッサ
11と、LAN−LSI9と、メインメモリ等のメモリ
13と、ROM又はハードディスク装置(以下、「HD
D」と記す)14(以下、「ROM/HDD14」と記
す)等が設けてある。なお、前記ROM/HDD14の
内、HDD(ハードディスク装置)については、インタ
フェース手段を介してプロセッサ11と接続する。
ークプリンタ2には、それぞれ、MPU等のプロセッサ
11と、LAN−LSI9と、メインメモリ等のメモリ
13と、ROM又はハードディスク装置(以下、「HD
D」と記す)14(以下、「ROM/HDD14」と記
す)等が設けてある。なお、前記ROM/HDD14の
内、HDD(ハードディスク装置)については、インタ
フェース手段を介してプロセッサ11と接続する。
【0016】そして、前記LAN−LSI9には、コリ
ジョンエラーを検出するためのコリジョンエラー検出部
15が設けてある。また、ROM/HDD14には、ネ
ットワーク通信等の処理を行うための各種プログラム等
が格納されている。
ジョンエラーを検出するためのコリジョンエラー検出部
15が設けてある。また、ROM/HDD14には、ネ
ットワーク通信等の処理を行うための各種プログラム等
が格納されている。
【0017】前記構成において、プロセッサ11は、R
OM/HDD14に格納されているプログラムを読み出
してメモリ13に展開し、該プログラムを実行する。こ
のプログラムにプロトコル処理やその他必要な処理が全
て存在しており、当然LANドライバも存在している。
プロセッサ11は、前記のようにしてプログラムを実行
し、プログラムはメモリ13内の各種情報やLAN−L
SI9をアクセスする処理を行う。
OM/HDD14に格納されているプログラムを読み出
してメモリ13に展開し、該プログラムを実行する。こ
のプログラムにプロトコル処理やその他必要な処理が全
て存在しており、当然LANドライバも存在している。
プロセッサ11は、前記のようにしてプログラムを実行
し、プログラムはメモリ13内の各種情報やLAN−L
SI9をアクセスする処理を行う。
【0018】また、プロセッサ11は、バスを介して各
種モジュール(図示省略)等にアクセスする。LAN−
LSI9は、ネットワークからのパケット受信やネット
ワークへのパケット送信、その他エラー等を、プロセッ
サ11に対して割り込みにより通知し、そのプロセッサ
11への割り込みをLANドライバ(前記プログラムに
より構成されている)が認識して、LANドライバが該
当する処理を行う。
種モジュール(図示省略)等にアクセスする。LAN−
LSI9は、ネットワークからのパケット受信やネット
ワークへのパケット送信、その他エラー等を、プロセッ
サ11に対して割り込みにより通知し、そのプロセッサ
11への割り込みをLANドライバ(前記プログラムに
より構成されている)が認識して、LANドライバが該
当する処理を行う。
【0019】:半二重通信におけるエラー発生時の説
明 図8は、従来の半二重通信におけるエラー発生時のシー
ケンスを示す図である。一般的に、パケット送信は図8
のようなシーケンスで行われる。
明 図8は、従来の半二重通信におけるエラー発生時のシー
ケンスを示す図である。一般的に、パケット送信は図8
のようなシーケンスで行われる。
【0020】図のaにおいて、アプリケーション層から
の送信依頼(A)が発生し、bにおいて、OS/プロト
コル処理部等によってその送信依頼が受け付けられ、c
において、LANドライバがLAN−LSIに対して送
信処理を行う。
の送信依頼(A)が発生し、bにおいて、OS/プロト
コル処理部等によってその送信依頼が受け付けられ、c
において、LANドライバがLAN−LSIに対して送
信処理を行う。
【0021】また、使用するプロトコルにもよるが、a
又はbにおいて、送信依頼(A)のデータに対する応答
待ちのタイマが起動される(「応答受信タイムアウト監
視部」の処理)。そして、dにおいて、正常時にはその
まま送信が完了するが、本例では、コリジョンエラーが
発生したと仮定する。
又はbにおいて、送信依頼(A)のデータに対する応答
待ちのタイマが起動される(「応答受信タイムアウト監
視部」の処理)。そして、dにおいて、正常時にはその
まま送信が完了するが、本例では、コリジョンエラーが
発生したと仮定する。
【0022】前記エラーが発生すると、eにおいて、L
AN−LSIのリトライ機構によりリトライが行われる
が、そのリトライに失敗しリトライアウトが発生する
と、fにおいて、LAN−LSIからLANドライバに
対して割り込みによりエラーが通知される。
AN−LSIのリトライ機構によりリトライが行われる
が、そのリトライに失敗しリトライアウトが発生する
と、fにおいて、LAN−LSIからLANドライバに
対して割り込みによりエラーが通知される。
【0023】gにおいて、LANドライバはエラーを認
識するが、通常はエラーカウンタ等を保持する程度で、
次の別の送信依頼等を実行する{前記(A)以外}。し
ばらくすると、前記「応答受信タイムアウト監視部」で
のタイムアウトが発生し、hにおいて、前記(A)の再
送処理が上位層から行われ、iにおいて、LANドライ
バがLAN−LSIに対して送信依頼を行い、jにおい
て、LAN−LSIによって送信処理が行われる。
識するが、通常はエラーカウンタ等を保持する程度で、
次の別の送信依頼等を実行する{前記(A)以外}。し
ばらくすると、前記「応答受信タイムアウト監視部」で
のタイムアウトが発生し、hにおいて、前記(A)の再
送処理が上位層から行われ、iにおいて、LANドライ
バがLAN−LSIに対して送信依頼を行い、jにおい
て、LAN−LSIによって送信処理が行われる。
【0024】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。
のにおいては、次のような課題があった。
【0025】(1) :従来のLANドライバは、前記のよ
うなLAN−LSIからのエラー割り込みを受信した場
合、エラーが発生したことは認識するが、特に再送信等
の処理は行わず、上位層のプロトコルのリトライ処理等
に任せていた(リトライ処理では、アプリケーション層
による送信依頼(A)の処理から繰り返す)。
うなLAN−LSIからのエラー割り込みを受信した場
合、エラーが発生したことは認識するが、特に再送信等
の処理は行わず、上位層のプロトコルのリトライ処理等
に任せていた(リトライ処理では、アプリケーション層
による送信依頼(A)の処理から繰り返す)。
【0026】一般的に、上位層のプロトコルにおいて
は、例えば、TCPの場合であれば、プロトコルにおけ
るタイマ監視やリトライ処理が存在しており、前記のよ
うに、コリジョンエラー等でパケットが正常に送信され
ない場合でも(パケットがロスした場合でも)、プロト
コルのリトライによってネットワーク通信自体は保証さ
れる。
は、例えば、TCPの場合であれば、プロトコルにおけ
るタイマ監視やリトライ処理が存在しており、前記のよ
うに、コリジョンエラー等でパケットが正常に送信され
ない場合でも(パケットがロスした場合でも)、プロト
コルのリトライによってネットワーク通信自体は保証さ
れる。
【0027】また、UDP等では、プロトコル自体に再
送を行うような仕組みは無いが、UDPの更に上位層の
にアプリケーション層等で再送の仕組みを持っているも
のも多いため、そのレベルのリトライ処理によってネッ
トワーク通信自体は保証される。
送を行うような仕組みは無いが、UDPの更に上位層の
にアプリケーション層等で再送の仕組みを持っているも
のも多いため、そのレベルのリトライ処理によってネッ
トワーク通信自体は保証される。
【0028】なお、TCPとUDPは、IPの上位プロ
トコルとして、エンドノード間の通信をサポートするト
ランスポートプロトコルである。TCPはコネクション
指向のストリーム型の通信形態を、UDPはコネクショ
ンレスのIPデータグラム型の通信形態をアプリケーシ
ョンプログラムに提供する。
トコルとして、エンドノード間の通信をサポートするト
ランスポートプロトコルである。TCPはコネクション
指向のストリーム型の通信形態を、UDPはコネクショ
ンレスのIPデータグラム型の通信形態をアプリケーシ
ョンプログラムに提供する。
【0029】このように、プロトコル等における再送処
理によって、ネットワーク通信自体は保証されるが、場
合によってはその再送間隔の問題や、厳密な時間的制約
があるような通信手順においては、特に速度が重視され
るような通信処理においては、プロトコル等の再送処
理、つまり、ソフトウェアレベル(アプリケーション層
5、OS/プロトコル処理/その他カーネル等6)での
再送では救いきれないものもある。また、上位層等のソ
フトウェアレベルの再送処理等で通信速度が劣化してし
まうという課題があった。
理によって、ネットワーク通信自体は保証されるが、場
合によってはその再送間隔の問題や、厳密な時間的制約
があるような通信手順においては、特に速度が重視され
るような通信処理においては、プロトコル等の再送処
理、つまり、ソフトウェアレベル(アプリケーション層
5、OS/プロトコル処理/その他カーネル等6)での
再送では救いきれないものもある。また、上位層等のソ
フトウェアレベルの再送処理等で通信速度が劣化してし
まうという課題があった。
【0030】本発明は、このような従来の課題を解決
し、コリジョンエラーが発生し、更に再送信等のリトラ
イが発生した場合でも、LANドライバのレベルでパケ
ットの再送信処理を行なえるようにして、タイムアウト
等のエラーを発生しにくくすると共に、通信速度の劣化
を防止することを目的とする。
し、コリジョンエラーが発生し、更に再送信等のリトラ
イが発生した場合でも、LANドライバのレベルでパケ
ットの再送信処理を行なえるようにして、タイムアウト
等のエラーを発生しにくくすると共に、通信速度の劣化
を防止することを目的とする。
【0031】
【課題を解決するための手段】本発明は前記の目的を達
成するため、次のように構成した。
成するため、次のように構成した。
【0032】(1) :イーサネットを使用してLANのネ
ットワーク通信を行う通信手段を備え、前記通信手段
に、LANの制御を行うLAN−LSIと、前記LAN
−LSIを制御するプログラムで構成されたLANドラ
イバを備えた情報処理装置において、前記LAN−LS
Iによる通信手順が半二重であり、前記LANドライバ
より上位層からの送信依頼に基づくパケット送信の際
に、LAN−LSIがコリジョンエラーを検出し、前記
LANドライバがそのエラーを認識した場合、LANド
ライバのレベルでパケットの再送処理を行うパケット再
送処理手段を備えていることを特徴とする。
ットワーク通信を行う通信手段を備え、前記通信手段
に、LANの制御を行うLAN−LSIと、前記LAN
−LSIを制御するプログラムで構成されたLANドラ
イバを備えた情報処理装置において、前記LAN−LS
Iによる通信手順が半二重であり、前記LANドライバ
より上位層からの送信依頼に基づくパケット送信の際
に、LAN−LSIがコリジョンエラーを検出し、前記
LANドライバがそのエラーを認識した場合、LANド
ライバのレベルでパケットの再送処理を行うパケット再
送処理手段を備えていることを特徴とする。
【0033】(2) :前記(1) の情報処理装置において、
前記パケット再送処理手段によるパケットの再送処理を
実行するか否かを、ユーザにより設定可能にしたことを
特徴とする。
前記パケット再送処理手段によるパケットの再送処理を
実行するか否かを、ユーザにより設定可能にしたことを
特徴とする。
【0034】(3) :コンピュータに、LANの制御を行
うLAN−LSIを制御するLAN−LSIによる通信
手順が半二重であり、前記LANドライバより上位層か
らの送信依頼に基づくパケット送信の際に、前記LAN
−LSIがコリジョンエラーを検出し、前記LANドラ
イバがそのエラーを認識した場合、前記LANドライバ
のレベルでパケットの再送処理を行うパケット再送処理
手段の機能を実現するためのプログラム、又は、前記プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体。
うLAN−LSIを制御するLAN−LSIによる通信
手順が半二重であり、前記LANドライバより上位層か
らの送信依頼に基づくパケット送信の際に、前記LAN
−LSIがコリジョンエラーを検出し、前記LANドラ
イバがそのエラーを認識した場合、前記LANドライバ
のレベルでパケットの再送処理を行うパケット再送処理
手段の機能を実現するためのプログラム、又は、前記プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体。
【0035】(作用)前記構成に基づく本発明の作用
を、図1に基づいて説明する。
を、図1に基づいて説明する。
【0036】(a) :前記(1) 、(3) の作用
図1に示したように、アプリケーション層からの送信依
頼(A)が発生し、bにおいて、OS/プロトコル処理
部等によってその送信依頼が受け付けられ、cにおい
て、LANドライバがLAN−LSIに対して送信依頼
を行う。
頼(A)が発生し、bにおいて、OS/プロトコル処理
部等によってその送信依頼が受け付けられ、cにおい
て、LANドライバがLAN−LSIに対して送信依頼
を行う。
【0037】そして、前記送信依頼を受信したLAN−
LSIはLANのネットワークへパケットを送信する。
この場合、LANドライバでは、受信した送信依頼
(A)のデータをメモリに格納して保存しておく。その
後、dにおいて、コリジョンエラーが発生したと仮定す
る。この場合、eにおいて、LAN−LSIのリトライ
機構によりリトライが行われるが、そのリトライに失敗
しリトライアウトが発生すると、fにおいて、LAN−
LSIからLANドライバに対して割り込みによりエラ
ーが通知される。
LSIはLANのネットワークへパケットを送信する。
この場合、LANドライバでは、受信した送信依頼
(A)のデータをメモリに格納して保存しておく。その
後、dにおいて、コリジョンエラーが発生したと仮定す
る。この場合、eにおいて、LAN−LSIのリトライ
機構によりリトライが行われるが、そのリトライに失敗
しリトライアウトが発生すると、fにおいて、LAN−
LSIからLANドライバに対して割り込みによりエラ
ーが通知される。
【0038】そして、gにおいて、LANドライバは、
エラーを認識し、エラーカウンタ等を保存すると同時
に、メモリに保存してある前記「送信依頼(A)」のデ
ータを取り出し、再度、送信依頼(A)の送信依頼をL
AN−LSIに対して行い、hにおいて、LAN−LS
Iによって送信処理が行われる。
エラーを認識し、エラーカウンタ等を保存すると同時
に、メモリに保存してある前記「送信依頼(A)」のデ
ータを取り出し、再度、送信依頼(A)の送信依頼をL
AN−LSIに対して行い、hにおいて、LAN−LS
Iによって送信処理が行われる。
【0039】このようにして、LANドライバレベルで
の再送処理を実現し、上位層等のソフトウェアレベルで
の再送処理では通信速度が劣化してしまう課題を解決す
る。そして、コリジョンエラーが発生し、更に再送信等
のリトライが発生した場合でも、LANドライバのレベ
ルでパケットの再送信処理が行なえ、タイムアウト等の
エラーを発生しにくくすることができる。
の再送処理を実現し、上位層等のソフトウェアレベルで
の再送処理では通信速度が劣化してしまう課題を解決す
る。そして、コリジョンエラーが発生し、更に再送信等
のリトライが発生した場合でも、LANドライバのレベ
ルでパケットの再送信処理が行なえ、タイムアウト等の
エラーを発生しにくくすることができる。
【0040】(b) :前記(2) の作用
前記(2) では、パケット再送処理手段によるパケットの
再送処理を実行するか否かを、ユーザにより設定可能に
している。このように、ユーザ設定をプログラムに反映
させることができ、LANドライバとしては、ユーザ設
定を参照することで、随時処理を変更可能とすることが
できる。従って、前記(a) の処理を行うと不都合が予想
される場合にはユーザ設定を変えるだけで、容易に対応
することができる。
再送処理を実行するか否かを、ユーザにより設定可能に
している。このように、ユーザ設定をプログラムに反映
させることができ、LANドライバとしては、ユーザ設
定を参照することで、随時処理を変更可能とすることが
できる。従って、前記(a) の処理を行うと不都合が予想
される場合にはユーザ設定を変えるだけで、容易に対応
することができる。
【0041】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。なお、本発明の実施の形態
においても、従来例で説明した図6、図7は同じなの
で、これらの図も援用しながら説明する。また、本発明
では、イーサネットを使用してLANのネットワーク通
信を行うが、この場合のネットワーク通信の対象とする
LANは、CSMA/CDを用いたLAN(IEEE8
02.3等)のことである。
に基づいて詳細に説明する。なお、本発明の実施の形態
においても、従来例で説明した図6、図7は同じなの
で、これらの図も援用しながら説明する。また、本発明
では、イーサネットを使用してLANのネットワーク通
信を行うが、この場合のネットワーク通信の対象とする
LANは、CSMA/CDを用いたLAN(IEEE8
02.3等)のことである。
【0042】§1:半二重通信におけるエラー発生時の
シーケンスの説明 (1) :例1の説明 図2は半二重通信におけるエラー発生時のシーケンスを
示す図である。以下、図2に基づいて、半二重通信にお
けるエラー発生時のシーケンスを説明する。
シーケンスの説明 (1) :例1の説明 図2は半二重通信におけるエラー発生時のシーケンスを
示す図である。以下、図2に基づいて、半二重通信にお
けるエラー発生時のシーケンスを説明する。
【0043】図2に示したaにおいて、アプリケーショ
ン層からの送信依頼(A)が発生し、bにおいて、OS
/プロトコル処理部等によってその送信依頼が受け付け
られ、cにおいて、LANドライバがLAN−LSIに
対して送信依頼を行う。
ン層からの送信依頼(A)が発生し、bにおいて、OS
/プロトコル処理部等によってその送信依頼が受け付け
られ、cにおいて、LANドライバがLAN−LSIに
対して送信依頼を行う。
【0044】そして、前記送信依頼を受信したLAN−
LSI(LAN−LSI及びLAN−LSIよりも下位
層)はLANのネットワークへパケットを送信する。こ
の場合、LANドライバでは、受信した送信依頼のデー
タ(アプリケーション層からの送信依頼(A)のデー
タ)をメモリ(例えば、図7のメモリ13)に格納して
保存しておく。
LSI(LAN−LSI及びLAN−LSIよりも下位
層)はLANのネットワークへパケットを送信する。こ
の場合、LANドライバでは、受信した送信依頼のデー
タ(アプリケーション層からの送信依頼(A)のデー
タ)をメモリ(例えば、図7のメモリ13)に格納して
保存しておく。
【0045】その後、dにおいて、コリジョンエラーが
発生したと仮定する。この場合、eにおいて、LAN−
LSIのリトライ機構によりリトライが行われるが、そ
のリトライに失敗しリトライアウトが発生すると、fに
おいて、LAN−LSIからLANドライバに対して割
り込みによりエラーが通知される。
発生したと仮定する。この場合、eにおいて、LAN−
LSIのリトライ機構によりリトライが行われるが、そ
のリトライに失敗しリトライアウトが発生すると、fに
おいて、LAN−LSIからLANドライバに対して割
り込みによりエラーが通知される。
【0046】そして、gにおいて、LANドライバは、
エラーを認識し、エラーカウンタ等を保存すると同時
に、メモリ(図7のメモリ13)に保存してある前記
「送信依頼(A)」のデータを取り出し、再度(A)の
データの送信依頼をLAN−LSIに対して行い、hに
おいて、LAN−LSIによって送信処理が行われる。
エラーを認識し、エラーカウンタ等を保存すると同時
に、メモリ(図7のメモリ13)に保存してある前記
「送信依頼(A)」のデータを取り出し、再度(A)の
データの送信依頼をLAN−LSIに対して行い、hに
おいて、LAN−LSIによって送信処理が行われる。
【0047】(2) :例2の説明
前記例1の処理をいかなる場合にも行うと、逆に不都合
が起こる場合もないとは限らない。そこで、例2では、
ユーザ設定等をプログラムに反映させることで、LAN
ドライバレベルでのパケットの再送処理を有効にする場
合と、無効にする場合とをユーザにより設定可能にす
る。
が起こる場合もないとは限らない。そこで、例2では、
ユーザ設定等をプログラムに反映させることで、LAN
ドライバレベルでのパケットの再送処理を有効にする場
合と、無効にする場合とをユーザにより設定可能にす
る。
【0048】機器の種類によっては、パソコン等のよう
に、GUI経由で設定させることもあれば、組み込み機
器のような、例えば、ネットワークプリンタのようなも
のもあるため、設定方法は問わないが、LANドライバ
としては、ユーザ設定を参照することで随時処理を変更
可能とする。
に、GUI経由で設定させることもあれば、組み込み機
器のような、例えば、ネットワークプリンタのようなも
のもあるため、設定方法は問わないが、LANドライバ
としては、ユーザ設定を参照することで随時処理を変更
可能とする。
【0049】この場合、設定情報としては、リトライ回
数、リトライ間隔等であり、それらの情報を設定する、
しない(有効/無効)の設定ができるようにする。
数、リトライ間隔等であり、それらの情報を設定する、
しない(有効/無効)の設定ができるようにする。
【0050】§2:例1の処理の説明
図3は例1の処理フローチャートである。以下、図3に
基づいて、例1の処理を説明する。なお、S1〜S9は
各処理ステップを示す。この処理において、S4〜S8
の処理は、LANドライバが行う処理である。
基づいて、例1の処理を説明する。なお、S1〜S9は
各処理ステップを示す。この処理において、S4〜S8
の処理は、LANドライバが行う処理である。
【0051】先ず、アプリケーション層で送信依頼が発
生した場合(S1)、OS/プロトコル処理部等で前記
送信依頼を受け付け(S2)、LANドライバへの送信
依頼を行う(S3)。次に、前記送信依頼を受信したL
ANドライバでは、前記受信した送信依頼のデータをメ
モリ(図7のメモリ13)に保存すると共に、LAN−
LSIへの送信依頼を行い(S4)、LAN−LSIか
らLANドライバへの送信結果通知を行う(S5)。
生した場合(S1)、OS/プロトコル処理部等で前記
送信依頼を受け付け(S2)、LANドライバへの送信
依頼を行う(S3)。次に、前記送信依頼を受信したL
ANドライバでは、前記受信した送信依頼のデータをメ
モリ(図7のメモリ13)に保存すると共に、LAN−
LSIへの送信依頼を行い(S4)、LAN−LSIか
らLANドライバへの送信結果通知を行う(S5)。
【0052】そして、送信結果は正常かを判断し(S
6)、正常ならば次の処理へ移行し、正常でなければ、
コリジョンエラー発生か否かを判断する(S7)。その
結果、コリジョンエラーが発生したら、LANドライバ
では、エラーカウンタ等の保存を行い(S8)、S4の
処理へ移行する。しかし、S7の処理において、コリジ
ョンエラーが発生しなかった場合は、該当する後処理を
行い(S9)、次の処理へ移行する。
6)、正常ならば次の処理へ移行し、正常でなければ、
コリジョンエラー発生か否かを判断する(S7)。その
結果、コリジョンエラーが発生したら、LANドライバ
では、エラーカウンタ等の保存を行い(S8)、S4の
処理へ移行する。しかし、S7の処理において、コリジ
ョンエラーが発生しなかった場合は、該当する後処理を
行い(S9)、次の処理へ移行する。
【0053】§3:例2の処理の説明
図4は例2の処理フローチャート(その1)、図5は例
2の処理フローチャート(その2)である。以下、図
4、5に基づいて、例2の処理を説明する。なお、S1
1〜S22は各処理ステップを示す。この処理におい
て、S14〜S21の処理は、LANドライバが行う処
理である。
2の処理フローチャート(その2)である。以下、図
4、5に基づいて、例2の処理を説明する。なお、S1
1〜S22は各処理ステップを示す。この処理におい
て、S14〜S21の処理は、LANドライバが行う処
理である。
【0054】例2の処理では、アプリケーション層で送
信依頼が発生すると(S11)、OS/プロトコル処理
等で送信依頼を受け付け(S12)、該受け付けた送信
依頼をメモリ(図7のメモリ13)に格納して保存する
と共に、LANドライバへの送信依頼を行う(S1
3)。次に、LANドライバは、LAN−LSIへの送
信依頼を行い(S14)、LAN−LSIからLANド
ライバへの送信結果通知を行う(S15)。
信依頼が発生すると(S11)、OS/プロトコル処理
等で送信依頼を受け付け(S12)、該受け付けた送信
依頼をメモリ(図7のメモリ13)に格納して保存する
と共に、LANドライバへの送信依頼を行う(S1
3)。次に、LANドライバは、LAN−LSIへの送
信依頼を行い(S14)、LAN−LSIからLANド
ライバへの送信結果通知を行う(S15)。
【0055】そして、LANドライバは、送信結果が正
常か否かを判断し(S16)、正常でなければ、コリジ
ョンエラーか否かを判断する(S17)。その結果、コ
リジョンエラーならば、LANドライバでのリトライを
行うか否かを判断し(S18)、LANドライバでのリ
トライを行うと判断した場合には、LANドライバは、
エラーカウンタ等の保存を行い(S19)、リトライ回
数、リトライ間隔が再送に該当する範囲内か否かを判断
する(S20)。
常か否かを判断し(S16)、正常でなければ、コリジ
ョンエラーか否かを判断する(S17)。その結果、コ
リジョンエラーならば、LANドライバでのリトライを
行うか否かを判断し(S18)、LANドライバでのリ
トライを行うと判断した場合には、LANドライバは、
エラーカウンタ等の保存を行い(S19)、リトライ回
数、リトライ間隔が再送に該当する範囲内か否かを判断
する(S20)。
【0056】その結果、リトライ回数、リトライ間隔が
再送に該当する範囲内であると判断した場合には、S1
4の処理へ移行する。一方、前記S16の処理におい
て、送信結果が正常であると判断した場合、前記S18
の処理において、LANドライバでのリトライを行わな
いと判断した場合、及び前記S20の処理において、リ
トライ回数、リトライ間隔が再送に該当する範囲内でな
いと判断した場合には、エラーカウンタ等の保存を行い
(S21)、次の処理へ移行する。
再送に該当する範囲内であると判断した場合には、S1
4の処理へ移行する。一方、前記S16の処理におい
て、送信結果が正常であると判断した場合、前記S18
の処理において、LANドライバでのリトライを行わな
いと判断した場合、及び前記S20の処理において、リ
トライ回数、リトライ間隔が再送に該当する範囲内でな
いと判断した場合には、エラーカウンタ等の保存を行い
(S21)、次の処理へ移行する。
【0057】また、前記S17の処理において、コリジ
ョンエラーでないと判断した場合には、該当する後処理
を行い(S22)、次の処理へ移行する。以上のように
して例2の処理を行う。
ョンエラーでないと判断した場合には、該当する後処理
を行い(S22)、次の処理へ移行する。以上のように
して例2の処理を行う。
【0058】§4:プログラムと、該プログラムを記録
した記録媒体の説明 図7に示したように、本発明の装置は、パソコン又はネ
ットワークプリンタにより実現することができる。この
装置には、MPU等のプロセッサ11と、LAN−LS
I9と、メインメモリ等のメモリ13と、ROM/HD
D14等が設けてある。
した記録媒体の説明 図7に示したように、本発明の装置は、パソコン又はネ
ットワークプリンタにより実現することができる。この
装置には、MPU等のプロセッサ11と、LAN−LS
I9と、メインメモリ等のメモリ13と、ROM/HD
D14等が設けてある。
【0059】そして、前記LAN−LSI9には、コリ
ジョンエラーを検出するためのコリジョンエラー検出部
15が設けてある。また、ROM/HDD14には、ネ
ットワーク通信等の処理を行うための各種プログラム等
が格納されている。
ジョンエラーを検出するためのコリジョンエラー検出部
15が設けてある。また、ROM/HDD14には、ネ
ットワーク通信等の処理を行うための各種プログラム等
が格納されている。
【0060】前記構成の装置において、例えば、ROM
/HDD14のHDD(ハードディスク装置)に、前記
LANドライバ等の処理を実現するためのプログラムを
格納しておき、このプログラムをプロセッサ11が読み
出して実行することにより、前記LANドライバ等の処
理を実行する。
/HDD14のHDD(ハードディスク装置)に、前記
LANドライバ等の処理を実現するためのプログラムを
格納しておき、このプログラムをプロセッサ11が読み
出して実行することにより、前記LANドライバ等の処
理を実行する。
【0061】しかし、本発明は、このような例に限ら
ず、例えば、前記HDDに、次のようにしてプログラム
を格納し、このプログラムをプロセッサ11が実行する
ことで前記処理を行うことも可能である。
ず、例えば、前記HDDに、次のようにしてプログラム
を格納し、このプログラムをプロセッサ11が実行する
ことで前記処理を行うことも可能である。
【0062】:他の装置で作成されたリムーバブルデ
ィスクに格納されているプログラム(他の装置で作成し
たプログラムデータ)を、リムーバブルディスクドライ
ブ(図示省略)により読み取り、HDDの記録媒体に格
納する。
ィスクに格納されているプログラム(他の装置で作成し
たプログラムデータ)を、リムーバブルディスクドライ
ブ(図示省略)により読み取り、HDDの記録媒体に格
納する。
【0063】:通信回線を介して他の装置から伝送さ
れたプログラム等のデータを、通信制御部(図示省略)
を介して受信し、そのデータをHDDの記録媒体(磁気
ディスク)に格納する。
れたプログラム等のデータを、通信制御部(図示省略)
を介して受信し、そのデータをHDDの記録媒体(磁気
ディスク)に格納する。
【0064】§5:その他の説明
:本発明に係る情報処理装置としては、図6に示した
ネットワークプリンタ2やパソコン1、或いはワークス
テーション等が含まれる。
ネットワークプリンタ2やパソコン1、或いはワークス
テーション等が含まれる。
【0065】:LAN−LSIは、LANの制御を行
う「LANコントローラ」と呼ばれるハードウェア構成
の部品でも前記と同様に適用可能である。
う「LANコントローラ」と呼ばれるハードウェア構成
の部品でも前記と同様に適用可能である。
【0066】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。
のような効果がある。
【0067】(1) :請求項1、3、4では、LANドラ
イバレベルでの再送処理を実現し、上位層等のソフトウ
ェアレベルでの再送処理では通信速度が劣化してしまう
課題を解決する。そして、コリジョンエラーが発生し、
更に再送信等のリトライが発生した場合でも、LANド
ライバのレベルでパケットの再送信処理が行なえる。そ
のため、タイムアウト等のエラーを発生しにくくするこ
とができる効果がある。
イバレベルでの再送処理を実現し、上位層等のソフトウ
ェアレベルでの再送処理では通信速度が劣化してしまう
課題を解決する。そして、コリジョンエラーが発生し、
更に再送信等のリトライが発生した場合でも、LANド
ライバのレベルでパケットの再送信処理が行なえる。そ
のため、タイムアウト等のエラーを発生しにくくするこ
とができる効果がある。
【0068】(2) :請求項2では、パケット再送処理手
段によるパケットの再送処理を実行するか否かを、ユー
ザにより設定可能にしている。このように、ユーザ設定
をプログラムに反映させることができ、LANドライバ
としては、ユーザ設定を参照することで、随時処理を変
更可能とすることができる。従って、前記(1) の処理を
行うと不都合が予想される場合にはユーザ設定を変える
だけで、容易に対応することができる効果がある。
段によるパケットの再送処理を実行するか否かを、ユー
ザにより設定可能にしている。このように、ユーザ設定
をプログラムに反映させることができ、LANドライバ
としては、ユーザ設定を参照することで、随時処理を変
更可能とすることができる。従って、前記(1) の処理を
行うと不都合が予想される場合にはユーザ設定を変える
だけで、容易に対応することができる効果がある。
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態における半二重通信におけ
るエラー発生時のシーケンスを示す図である。
るエラー発生時のシーケンスを示す図である。
【図3】本発明の実施の形態における例1の処理フロー
チャートである。
チャートである。
【図4】本発明の実施の形態における例2の処理フロー
チャート(その1)である。
チャート(その1)である。
【図5】本発明の実施の形態における例2の処理フロー
チャート(その2)である。
チャート(その2)である。
【図6】従来例におけるシステムの説明図であり、A図
はシステム構成図、B図は通信部の構成図である。
はシステム構成図、B図は通信部の構成図である。
【図7】従来例におけるパソコン又はネットワークプリ
ンタのハードウェア構成図である。
ンタのハードウェア構成図である。
【図8】従来の半二重通信におけるエラー発生時のシー
ケンスを示す図である。
ケンスを示す図である。
1 パーソナルコンピュータ(パソコン)
2 ネットワークプリンタ
3 通信部
5 アプリケーション層
6 OS/プロトコル処理/その他カーネル等
7 各種ドライバ等
8 LANドライバ
11 プロセッサ
14 ROM/HDD(リードオンリーメモリ/ハード
ディスク装置) 15 コリジョンエラー検出部
ディスク装置) 15 コリジョンエラー検出部
Claims (4)
- 【請求項1】 イーサネット(登録商標)を使用してL
ANのネットワーク通信を行う通信手段を備え、前記通
信手段に、LANの制御を行うLAN−LSIと、前記
LAN−LSIを制御するプログラムで構成されたLA
Nドライバを備えた情報処理装置において、 前記LAN−LSIによる通信手順が半二重であり、前
記LANドライバより上位層からの送信依頼に基づくパ
ケット送信の際に、前記LAN−LSIがコリジョンエ
ラーを検出し、前記LANドライバがそのエラーを認識
した場合、前記LANドライバのレベルでパケットの再
送処理を行うパケット再送処理手段を備えていることを
特徴とする情報処理装置。 - 【請求項2】前記パケット再送処理手段によるパケット
の再送処理を実行するか否かを、ユーザにより設定可能
にしたことを特徴とする請求項1記載の情報処理装置。 - 【請求項3】コンピュータに、 LAN−LSIによる通信手順が半二重であり、前記L
ANドライバより上位層からの送信依頼に基づくパケッ
ト送信の際に、前記LAN−LSIがコリジョンエラー
を検出し、前記LANドライバがそのエラーを認識した
場合、前記LANドライバのレベルでパケットの再送処
理を行うパケット再送処理手段の機能を実現するための
プログラムを記録したコンピュータ読み取り可能な記録
媒体。 - 【請求項4】コンピュータに、 LAN−LSIによる通信手順が半二重であり、前記L
ANドライバより上位層からの送信依頼に基づくパケッ
ト送信の際に、前記LAN−LSIがコリジョンエラー
を検出し、前記LANドライバがそのエラーを認識した
場合、前記LANドライバのレベルでパケットの再送処
理を行うパケット再送処理手段の機能を実現するための
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002013864A JP2003218878A (ja) | 2002-01-23 | 2002-01-23 | 情報処理装置、記録媒体及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002013864A JP2003218878A (ja) | 2002-01-23 | 2002-01-23 | 情報処理装置、記録媒体及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003218878A true JP2003218878A (ja) | 2003-07-31 |
Family
ID=27650714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002013864A Withdrawn JP2003218878A (ja) | 2002-01-23 | 2002-01-23 | 情報処理装置、記録媒体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003218878A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187405A (ja) * | 2008-02-07 | 2009-08-20 | Sharp Corp | 制御システム |
-
2002
- 2002-01-23 JP JP2002013864A patent/JP2003218878A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187405A (ja) * | 2008-02-07 | 2009-08-20 | Sharp Corp | 制御システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3384686B2 (ja) | 通信ネットワークから情報を受信するための方法および装置 | |
US7783794B2 (en) | Remote USB access method | |
JP2003524312A (ja) | ネットワークインターフェースにおいて割込みを示す方法および装置 | |
US7876761B2 (en) | System and method for fault tolerant TCP offload | |
KR100576005B1 (ko) | 고가용성 라우터 이중화 방법 및 장치 | |
JP2002538729A (ja) | 高速ネットワーク環境において割込みを抑止する方法および装置 | |
WO2010097978A1 (ja) | 通信装置、方法及びプログラム | |
US20060023713A1 (en) | Retransmission control method and apparatus using the same | |
US20060017964A1 (en) | Data processing device, communication processing method, and computer program | |
US6948025B2 (en) | System and method for transferring data between an IEEE 1394 device and a SCSI device | |
US9239692B2 (en) | Communication apparatus performing communication speed changing process, communication control method and storage medium | |
US20050039075A1 (en) | Receiving device, transmitting device and programs | |
US8724465B2 (en) | Zero packet loss energy efficient ethernet link transition via driver fast failover | |
JP2003218878A (ja) | 情報処理装置、記録媒体及びプログラム | |
JP2005167772A (ja) | 無線lan送受信装置 | |
JP4708818B2 (ja) | ネットワーク装置及びその制御方法 | |
US8842547B2 (en) | Communication control apparatus and control method | |
JP4409388B2 (ja) | 通信機器、通信モード設定方法、通信モード設定プログラム | |
US8098687B2 (en) | Method and apparatus for forwarding packets | |
JP3282205B2 (ja) | 受信データ処理方式及び通信制御装置 | |
JP3606145B2 (ja) | データ転送制御装置及び電子機器 | |
JP2002271334A (ja) | ネットワーク端末制御装置およびネットワーク端末制御方法 | |
JP2002538550A (ja) | ネットワークインターフェースにおいて割込みを調整する方法および装置 | |
JPH09149067A (ja) | スイッチングハブ | |
JP3598924B2 (ja) | データ転送制御装置、情報記憶媒体及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050405 |