(57)【特許請求の範囲】
【請求項１】
第２のデータ処理装置における通信方法であって、
第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを共有するドライバ共有工程と、
前記第２のデータ処理装置により遂行され、前記ネットワークインターフェースドライバに対して送信される主情報と、前記第２のデータ処理装置が前記主情報を送る通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け工程と、
前記第１および第２のデータ処理装置により共同で遂行され、前記第２のデータ処理装置から前記第１のデータ処理装置へと前記主情報及び前記付加情報を送信する送信工程とを有し、
前記送信工程において、前記主情報は、ネットワークにアクセスする前記ネットワークインターフェースドライバに送信されることを特徴とする通信方法。
【請求項２】
前記主情報と前記付加情報とを送信する送信工程の後で、前記第１のデータ処理装置は、前記付加情報と前記主情報とを分離する分離工程を遂行することを特徴とする請求項１に記載の通信方法。
【請求項３】
前記主情報を送信する送信工程の間、
前記第２のデータ処理装置は、情報を中間格納部へと格納する格納工程を遂行し、
前記第１のデータ処理装置は、前記中間格納部より情報を読み出す読出し工程を遂行することを特徴とする、請求項１に記載の通信方法。
【請求項４】
第１のデータ処理装置における通信方法であって、
前記第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを実行する実行工程と、
前記第１のデータ処理装置により遂行され、前記ネットワークインターフェースドライバからの主情報と、前記主情報のための通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け工程と、
前記第１および第２のデータ処理装置により共同で遂行され、前記第１のデータ処理装置から前記第２のデータ処理装置へと前記主情報及び前記付加情報を送信する送信工程とを有し、
前記送信工程において、前記主情報は、前記ネットワークにアクセスするネットワークインターフェースドライバから送信されることを特徴とする通信方法。
【請求項５】
前記主情報と前記付加情報とを送信する送信工程の後で、前記第２のデータ処理装置は、前記付加情報と前記主情報とを分離する分離工程を遂行することを特徴とする請求項４に記載の通信方法。
【請求項６】
前記主情報および付加情報を送信する送信工程の間、
前記第１のデータ処理装置は、情報を中間格納部へと格納する格納工程を遂行し、
前記第２のデータ処理装置は、前記中間格納部より情報を読み出す読出し工程を遂行することを特徴とする、請求項４に記載の通信方法。
【請求項７】
前記関連付け工程の間は、前記付加情報は、前記主情報のタイプを表し、タイプは、前記入出力資源を利用するために解釈される信号及び制御情報またはそのいずれか、あるいは、遠隔地点へ送信される情報に対応することを特徴とする請求項４に記載の通信方法。
【請求項８】
前記関連付け工程の間は、前記付加情報は、前記主情報が送られるデータ処理装置を表すことを特徴とする請求項４に記載の通信方法。
【請求項９】
前記関連付け工程の間は、前記付加情報は、前記主情報が向けられるデータ処理装置を表すことを特徴とする請求項６乃至８のいずれかひとつに記載の通信方法。
【請求項１０】
第２のデータ処理装置であって、
第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを共有するドライバ共有手段と、
前記ネットワークインターフェースドライバに対して送信される主情報と、前記第２のデータ処理装置に前記主情報を送る通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け手段と、
前記第２のデータ処理装置から前記第１のデータ処理装置へと前記主情報及び前記付加情報を送信する送信手段とを有し、
前記送信手段において、前記主情報は、ネットワークを介して他のデータ処理装置と通信するために、前記ネットワークインターフェースドライバに送信されることを特徴とする第２のデータ処理装置。
【請求項１１】
前記第１のデータ処理装置は、前記付加情報と前記主情報とを分離する分離手段を有することを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項１２】
各データ処理装置は非同期クロックを含むことを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項１３】
前記主情報と付加情報とを中間メモリに格納するための格納手段を更に備え、前記送信手段は前記中間メモリを含み、前記第１のデータ処理装置は、前記中間メモリに格納された前記主情報と付加情報とを読み出すための読み出し手段を含むことを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項１４】
第１のデータ処理装置であって、
第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを実行する実行手段と、
前記ネットワークインターフェースドライバからの主情報と、前記主情報を通信するための通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け手段と、
前記第１のデータ処理装置から前記第２のデータ処理装置へと前記主情報及び前記付加情報を送信する送信手段とを有し、
前記送信手段において、前記主情報は、前記ネットワークにアクセスする前記ネットワークインターフェースドライバから送信されることを特徴とする第１のデータ処理装置。
【請求項１５】
前記第２のデータ処理装置は、前記付加情報と前記主情報とを分離する分離手段を含むことを特徴とする請求項１４に記載の第１のデータ処理装置。
【請求項１６】
各データ処理装置は非同期クロックを含むことを特徴とする請求項１５に記載の第１のデータ処理装置。
【請求項１７】
前記第１及び第２のデータ処理装置は、異なるハードウエアアーキテクチャが用いられていることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項１８】
前記第１及び第２のデータ処理装置は、異なるオペレーティングシステムを用いることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項１９】
前記送信手段は中間メモリを有し、
前記第１のデータ処理装置は、前記主情報と付加情報とを前記中間メモリに格納するための格納手段を含み、
前記第２のデータ処理装置は、前記中間メモリに格納された前記主情報と付加情報とを読み出すための読み出し手段を更に備えることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項２０】
前記付加情報が前記主情報のタイプを表し、タイプは、前記入出力資源で利用するために解釈される信号及び制御情報あるいはそのいずれか、または、遠隔地点へ送信される情報に対応するよう、前記関連付け手段は適合させられることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項２１】
前記付加情報が前記主情報が来るデータ処理装置を表すよう、前記関連付け手段は適合させられることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項２２】
前記付加情報が前記主情報が向けられるデータ処理装置を表すよう、前記関連付け手段は適合させられることを特徴とする請求項１０に記載の第２のデータ処理装置。
【請求項２３】
送信チャネルと、
ひとつが請求項１０に記載の第２のデータ処理装置である、少なくとも２つのデータ処理装置と
を備え、
各入出力資源が前記送信チャネルに接続されていることを特徴とするネットワーク。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信方法、送信方法、受信方法及びそれらを実施する装置に関する。
【０００２】
【従来の技術】
データ処理装置間のネットワーク上での通信の分野は、特に、例えば“ＮＩＣ”（英語の"Network Interface Card"の頭文字）として知られるネットワーク通信インターフェースとともに提供される、“ＰＣ”（英語の"Personal Computer"の頭文字）として知られるコンピュータからネットワーク上への通信に関する。
【０００３】
ここでは、例えばネットワーク資源のような入出力資源が、一般的に、ネットワーク通信インターフェースと、このインターフェースを制御するソフトウエアと、制御／信号送信ソフトウエアモジュールとから成る。この制御／信号送信ソフトウエアモジュールは、前記制御ソフトウエアの動作を制御し、送信データの前の送信チャネルの信号送信を準備する。
【０００４】
本発明は、少なくとも二つのデータ処理装置が互いに通信する場合に関する。このデータ処理装置は、ここでは全データ処理装置が通信を実施できるものと見なす。
【０００５】
【発明が解決しようとする課題】
二つのデータ処理装置が互いに通信し、しかもネットワークにアクセスしなければならない場合、その装置の各々はネットワークアクセスカードを持たねばならない。この解決法には、ハードウエア及びソフトウエアアーキテクチャが複雑になり、そのためにまたデータ処理装置全体のコストが上がるという欠点がある。
【０００６】
US5,581,709号公報（三菱電機株式会社）には、ホストシステムの中央装置が他のシステムに置かれた入出力カードに、その入出力カードがあたかもそのホストシステムのバスに直接接続されているかのようにアクセスできる装置が記述されている。この目的のために、中央装置は、ホストバス上における物理アドレスとそのバス上で作用する命令とを有している。入出力資源はこのように、トランザクションの間じゅう入出力カードが置かれたバスがホストシステムに割り当てられ、そのホストシステムがウエイトステートの間じゅうそれ自身のバスを有する限りにおいて、物理レベルで共有される。このため、同じ入出力カードを二つの異なるホストシステムで同時に使用することはできない。さらに、本発明に係る装置は、通信チャネル（あるいは「パス」）を管理せず、単に、資源における基本的な読み出し及び書き込みトランザクションを管理している。
【０００７】
【課題を解決するための手段】
本発明はこれらの欠点を解決することを目的とする。この目的のために、本発明は、第２のデータ処理装置における通信方法であって、第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを共有するドライバ共有工程と、前記第２のデータ処理装置により遂行され、前記ネットワークインターフェースドライバに対して送信される主情報と、前記第２のデータ処理装置が前記主情報を送る通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け工程と、前記第１および第２のデータ処理装置により共同で遂行され、前記第２のデータ処理装置から前記第１のデータ処理装置へと前記主情報及び前記付加情報を送信する送信工程とを有し、前記送信工程において、前記主情報は、ネットワークにアクセスする前記ネットワークインターフェースドライバに送信される。
【０００８】
更に好ましくは、前記主情報と前記付加情報とを送信する送信工程の後で、前記第１のデータ処理装置は、前記付加情報と前記主情報とを分離する分離工程を遂行する。
【０００９】
更に好ましくは、前記主情報を送信する送信工程の間、前記第２のデータ処理装置は、情報を中間格納部へと格納する格納工程を遂行し、前記第１のデータ処理装置は、前記中間格納部より情報を読み出す読出し工程を遂行する。
【００１０】
あるいは、本発明は以下の構成を備える。すなわち、第１のデータ処理装置における通信方法であって、前記第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを実行する実行工程と、前記第１のデータ処理装置により遂行され、前記ネットワークインターフェースドライバからの主情報と、前記主情報のための通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け工程と、前記第１および第２のデータ処理装置により共同で遂行される、前記第１のデータ処理装置から前記第２のデータ処理装置へと前記主情報及び前記付加情報を送信する送信工程とを有し、前記送信工程において、前記主情報は、前記ネットワークにアクセスするネットワークインターフェースドライバから送信される。
【００１１】
更に好ましくは、前記主情報と前記付加情報とを送信する送信工程の後で、前記第２のデータ処理装置は、前記付加情報と前記主情報とを分離する分離工程を遂行する。
【００１２】
更に好ましくは、前記主情報および付加情報を送信する送信工程の間、前記第１のデータ処理装置は、情報を中間格納部へと格納する格納工程を遂行し、前記第２のデータ処理装置は、前記中間格納部より情報を読み出す読出し工程を遂行する。
【００１３】
更に好ましくは、前記関連付け工程の間は、前記付加情報は前記主情報のタイプを表し、タイプは、前記入出力資源を利用するために解釈される信号及び制御情報またはそのいずれか、あるいは、遠隔地点へ送信される情報に対応する。
【００１４】
更に好ましくは、前記関連付け工程の間は、前記付加情報は、前記主情報が来るデータ処理装置を表す。
【００１５】
更に好ましくは、前記関連付け工程の間は、前記付加情報は、前記主情報が向けられるデータ処理装置を表す。
【００１６】
あるいは本発明は以下の構成を備える。すなわち、第２のデータ処理装置であって、第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを共有するドライバ共有手段と、前記ネットワークインターフェースドライバに対して送信される主情報と、前記第２のデータ処理装置に前記主情報を送る通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け手段と、前記第２のデータ処理装置から前記第１のデータ処理装置へと前記主情報及び前記付加情報を送信する送信手段とを有し、前記送信手段において、前記主情報は、ネットワークを介して他のデータ処理装置と通信するために、前記ネットワークインターフェースドライバに送信される。
【００１７】
更に好ましくは、前記第１のデータ処理装置は、前記付加情報と前記主情報とを分離する分離手段を有する。
【００１８】
更に好ましくは、各データ処理装置は非同期クロックを含む。
【００１９】
更に好ましくは、前記主情報と付加情報とを中間メモリに格納するための格納手段を更に備え、前記送信手段は前記中間メモリを含み、前記第１のデータ処理装置は、前記中間メモリに格納された前記主情報と付加情報とを読み出すための読み出し手段を含む。
【００２０】
あるいは、本発明は以下の構成を備える。すなわち、第１のデータ処理装置であって、第１のデータ処理装置により管理される入出力資源のネットワークインターフェースドライバを実行する実行手段と、前記ネットワークインターフェースドライバからの主情報と、前記主情報を通信するための通信プロトコル及び前記入出力資源を表現する付加情報とを関連付ける関連付け手段と、前記第１のデータ処理装置から前記第２のデータ処理装置へと前記主情報及び前記付加情報を送信する送信手段とを有し、前記送信手段において、前記主情報は、前記ネットワークにアクセスする前記ネットワークインターフェースドライバから送信される。
【００２１】
更に好ましくは、 前記第２のデータ処理装置は、前記付加情報と前記主情報とを分離する分離手段を含む。
【００２２】
更に好ましくは、各データ処理装置は非同期クロックを含む。
【００２３】
更に好ましくは、前記第１及び第２のデータ処理装置は、異なるハードウエアアーキテクチャが用いられている。
【００２４】
更に好ましくは、前記第１及び第２のデータ処理装置は、異なるオペレーティングシステムを用いる。
【００２５】
更に好ましくは、前記送信手段は中間メモリを有し、前記第１のデータ処理装置は、前記主情報と付加情報とを前記中間メモリに格納するための格納手段を含み、前記第２のデータ処理装置は、前記中間メモリに格納された前記主情報と付加情報とを読み出すための読み出し手段を更に備える。
【００２６】
更に好ましくは、前記付加情報が前記主情報のタイプを表し、タイプは、前記入出力資源で利用するために解釈される信号及び制御情報あるいはそのいずれか、または、遠隔地点へ送信される情報に対応するよう、前記関連付け手段は適合させられる。
【００２７】
更に好ましくは、前記付加情報が前記主情報が来るデータ処理装置を表すよう、前記関連付け手段は適合させられる。
【００２８】
更に好ましくは、前記付加情報が前記主情報が向けられるデータ処理装置を表すよう、前記関連付け手段は適合させられる。
【００２９】
あるいは、本発明は以下の構成を備える。すなわち、送信チャネルと、ひとつが上記第２のデータ処理装置である、少なくとも２つのデータ処理装置とを備え、各入出力資源が前記送信チャネルに接続されている。
【００４４】
【発明の実施の形態】
図１は、第２のデータ処理バス１０２を有する第２のデータ処理装置１０１を示す。そのバスは、バスの間で通信するためのシステム１０３によって、それ自体が第１のデータ処理装置１０５のデータ処理バス１０４に接続されている。
【００４５】
このデータ処理装置１０１及び１０５は、公知のタイプである。これらは例えば次のようなものからなる。
−"PC"として知られ、米国の製造会社「INTEL」によるプロセッサ「PENTIUM」を有するたコンピュータ、
−プリンタ、
−ファクシミリマシン、
−写真用装置、
−カメラ、
−送信及び受信の少なくともいずれかのモードにおいて、ネットワークによりデータ通信を行える、より一般的ななんらかのシステム。
【００４６】
データ処理バス１０２及び１０４は公知のタイプである。これらは例えばＰＣＩ（英語のPeripheral Computer Interconnectの頭文字（これに関して読者はＰＣＩ標準仕様書："PCI Local Bus Specification version 2.1"で参照できる））として知られているバスの標準により定義される。
【００４７】
このバス間の通信システム１０３も公知のタイプである。これは例えば、ケーブルで接続、あるいは赤外線送信、あるいは無線送信、あるいは光送信がある。これは例えば、中間メモリの周囲に構築される。このシステムは次のものの間に位置する：
−一方は、ＰＣＩアダプタとそのＰＣＩアダプタに接続されたローカルバスとを有する部分１０３Ａを使うバス１０２であり、
−他方は、ＰＣＩアダプタとそのＰＣＩアダプタに接続されたローカルバスとを有する部分１０３Ｂを使うバス１０４である。
【００４８】
バス間通信システム１０３において、ローカルバスそれぞれに対して、デュアルポートメモリの、あるいは、それぞれが好都合な方向へのデータ送信に適合したＦＩＦＯタイプメモリの、入力ポートと出力ポートとが接続されている。
【００４９】
このため、各ＰＣＩアダプタは、ＰＣＩデータ処理バスの一方とローカルバスとの間のインターフェースアダプタを構成している。またこのため、バス１０２及び１０４のそれぞれは、このインターフェースアダプタによって、書き込み及び読み出しモードにおいて中間メモリにアクセスする。
【００５０】
また、バス１０４は、それ自体知られた通信ネットワーク１０７に接続された公知のネットワークインターフェースカード１０６に接続されている。この通信ネットワークは、データ処理装置１０１及び１０５が、離れて置かれた他のデータ処理装置と通信することを可能としている。
【００５１】
このハードウエア構成において、本発明は、データ処理装置１０１及び１０５の各々を一方とし、通信ネットワークをもう一方としてその間の通信を改良することを目的としている。
【００５２】
好ましくは、二つのデータ処理装置のクロックは非同期であり、バス間通信システム１０３は二つのバス間のデータの非同期送信能力がある。
【００５３】
図２は、第２のデータ処理装置１０１、第２のデータ処理バス１０２、バス間通信システム１０３、、第１のデータ処理バス１０４、第１のデータ処理装置１０５、ネットワークインターフェースカード１０６及び通信ネットワーク１０７を表している。
【００５４】
第２のデータ処理装置１０１は、中央装置２０１、クロック２０２、割込みシステム２０３、キーボード２０４、ランダムアクセスメモリ２０５、リードオンリメモリ２０６、入出力システム２０７、ディスプレイスクリーン２０８及びバス間通信システム１０３の一部分１０３Ａを有する。
【００５５】
これら全ての構成要素あるいは構成要素のグループは公知のタイプであり、ランダムアクセスメモリ２０５に含まれた通信インターフェース制御モジュール２０９を除いて、公知のタイプのソフトウエアを利用している。この通信モジュールは図３から図８に示されている。
【００５６】
第１のデータ処理装置１０５は、中央装置２１１、クロック２１２、割込みシステム２１３、キーボード２１４、ランダムアクセスメモリ２１５、リードオンリメモリ２１６、入出力システム２１７、ディスプレイスクリーン２１８、第２のデータ処理装置１０１中にないバス間通信システム１０３の一部分１０３Ｂ、及び、通信ネットワーク１０７に接続されたネットワークインターフェースカード１０６を有する。
【００５７】
これら全ての構成要素あるいは構成要素のグループは、公知のタイプであり、動作中はランダムアクセスメモリ２１５に含まれた、次の３つのソフトウエアモジュールを除いて、公知のタイプのソフトウエアを利用している。
【００５８】
−通信インターフェース制御モジュール２２１
−通信及び信号送信モジュール２２２
−ネットワークインターフェースカードドライバ２２３
動作期間外では、これらソフトウエアモジュールは公知の不揮発性メモリに格納されている。これらモジュールは図３から図８に示されている。通信インターフェース制御モジュール２０９及び２２１は二つのデータ処理装置１０１及び１０５の間の通信を行わせるために働くが、その一方で、制御／信号送信モジュール２２２とネットワークインターフェースカードドライバ２２３は、第１のデータ処理装置１０５とネットワーク１０７との間の通信を行わせるために働くことは、ここですでに気づかれたであろう。
【００５９】
電子カード１０３Ａ（バス１０２に接続されている）及び１０３Ｂ（バス１０４に接続されている）を含むバス間通信システムは、「透明」である。すなわち、それは一方のバスから他方へと送信されるデータの構造あるいは変成を変えることがない。
【００６０】
図３は、本発明の第１の実施例における、通信システム１０３（カード１０３Ａ及び１０３Ｂを含む）により双方が接続された第２のデータ処理装置１０１及び第１のデータ処理装置１０５を示している。
【００６１】
図３において（及び同様に図５において）、第１のデータ処理装置１０５において局所的に処理されたデータは、第２のデータ処理装置１０１から来たデータの径路とは異なる径路をたどってもよい。これら径路は、点線の矢印で示されている。これらは、次のものに関して本発明に従う装置の公知タイプの動作を象徴している。
【００６２】
−第１のデータ処理装置から来てネットワーク１０７上に送信されるはずのデータの処理、
−ネットワーク１０７から来て第１のデータ処理装置１０５により実施されるプロトコルへと送信されるはずのデータの処理。
【００６３】
通信インターフェースコントローラ２０９及び２２１の間で交換されるデータは「利用者」と呼ばれ、二つのカテゴリのデータで構成される：
−「利用者」データと呼ばれ、ネットワークインターフェースカードドライバ２２３へ行くはずであるか、あるいはそこから来るもの（それからそれらは遠隔地点へ送信されるはずである）。
【００６４】
−「信号送信」データと呼ばれ、制御／信号送信モジュール２２２へ行くはずであるか、あるいはそこから来るもの（それからそれらは利用者データの送信を詳述するために働く）。
【００６５】
第２のデータ処理装置１０１は、これらアプリケーションと通信インターフェース制御モジュール２０９との間の通信のために使用されるプロトコルＰ１，Ｐ２...Ｐｎを用いるソフトウエアアプリケーションを使用する。この通信は、利用者データ及び信号送信データのパケットの交換によって生ずる。この通信インターフェース制御モジュール２０９は、送信される情報を格納するとともに、利用者データ（利用者及び信号）パケット及び命令パケットを交換しながら、通信システム１０３に接続される通信システムドライバ３０３と通信する。
【００６６】
通信インターフェース制御モジュール２０９及び２２１、制御／信号送信モジュール２２２、及びネットワークインターフェースカードドライバ２２３は、各パケットの径路あるいは機能を分離するための重要なルーティング及びルックアップテーブルを格納している。
【００６７】
例として、プロトコルＰ１は、英語で"Transmission Control Protocol/Internet Protocol"を指し、フランス語で"Protocol de control transmission/protocol Internet"を指す“ＴＣＰ／ＩＰ”として知られたプロトコルである。またプロトコルＰｎは、ＡＴＭ（英語の"Asynchronous Transfer Mode"の頭文字である）標準に従うプロトコルである。
【００６８】
ＴＣＰ／ＩＰプロトコルは、書籍「図説ＴＣＰ／ＩＰ，第１巻」，プロトコル，W Richard Stevens，Addison Wesley,によって説明されている内容に従って機能する。また、ＡＴＭ標準は、「ＡＴＭフォーラム技術委員会，ユーザネットワークインターフェース，仕様第３．１版」として知られているＡＴＭフォーラムによって制定されている。
【００６９】
第１のデータ処理装置１０５は、プロトコルＰ１，Ｐ２...，Ｐｎを利用するソフトウエアアプリケーションを用いる。プロトコルＰ１，Ｐ２...，Ｐｎは、これらアプリケーションと通信インターフェースコントローラ２２１との間の通信のために働く。この通信は、利用者データと信号データとの間のパケットの交換によって生ずる。
【００７０】
通信インターフェースコントローラ２２１は次のものと通信する：
−利用者データ及び命令データのパケットを交換して、通信システムに接続される通信システムドライバ３０５と通信する。
【００７１】
−信号データのパケットを交換して、制御／信号送信モジュール２２２と通信する。
【００７２】
−利用者データのパケットを交換して、ネットワークインターフェースカードドライバ２２３と通信する。
【００７３】
最終的に、ネットワークインターフェースカードドライバ２２３は、ネットワークインターフェースカード１０６の動作を制御する。
【００７４】
通信インターフェースコントローラ２０９及び２２１は、本発明に固有のものである。これらは主に次のような目的がある。
【００７５】
−二つのデータ処理装置１０１及び１０５に対して、ネットワークカードドライバ２２３及びネットワークインターフェースカード１０６及び、適用できる場合には、制御／信号送信モジュール２２２を含むソフトウエア資源を含んだネットワークアクセス資源を共有する可能性を示す。
【００７６】
−次のものの間のネゴシエーションの異なる様相(phase)を実現する。
【００７７】
・二つの通信インターフェースコントローラ２０９及び２２１
・通信インターフェースコントローラのひとつとネットワークインターフェースカードドライバ２２３
・通信インターフェースコントローラと制御／信号送信モジュール２２２
−多重プロトコル多重通信を実施する（すなわち同時に多くの通信を管理できる）
−ネットワークの一方の端部から他方へとデータ処理装置間の通信を可能とする。
【００７８】
通信インターフェースコントローラ２０９及び２２１は同じものであり、利用されている低レベルの通信レイヤからは独立しており、同じ上部インターフェースと下部インターフェースとを有する。
【００７９】
通信システムドライバ３０３及び３０５、及び通信システム１０３は、それが受信するデータパケット及び命令パケットを、追加や除去、変更を行わずに、全体として送信する。
【００８０】
図４において、３つのプロトコルレイヤを見ることができる。
【００８１】
−実際上図３に示されたプロトコルＰ１〜Ｐｎに相当するトランスポート層４０１
−通信インターフェース制御モジュール２０９及び２２１に相当する多重プロトコル通信インターフェースコントローラ層４０２
−通信システム１０３（図３）によって、カード１０３Ａ及び１０３Ｂを含む、通信システムドライバ３０３に相当する通信システム層４０３
トランスポート層４０１から来る利用者データ４０４のシーケンスは、多重プロトコル通信システム層４０２において、引き続いて利用者情報の転送を可能ならしめる、付加情報４０５と関連付けられる。この付加情報４０５の集合は、また、この説明の残りの部分において、同じデータフレームにおいて利用者データよりも先に優先して送信されるために、「ヘッダ」として参照される。
【００８２】
ここでは、同様にして、通信インターフェース制御層４０２にふさわしく、しかも、二つのデータ処理装置間のレイヤ間管理に利用される内部データは、ヘッダ４０５と同じタイプに関連付けられることに気づかれるであろう。
【００８３】
付加情報４０５の情報は、次のようなものを含む。
【００８４】
−４つの２進データ形式の、プロトコル識別情報ＰＩＤ４０６と、
−３つの２進データ形式の、通信手段識別情報ＤＩＤ４０７と、
−利用者情報パケット４０１が単に利用者データを含んでいるかどうか、あるいは、単に信号データを含んでいるかどうかを示す値を有するひとつの２進データ項目の形式の、利用者情報タイプの情報ＰＣＫＴＹＰＥ４０８である。
【００８５】
例えば、命令情報の場合にはプロトコル識別情報ＰＩＤ４０６は“０”である。さもなければ、この値は実施されるプロトコルの数である（図８に関して動作８０８を参照せよ）。
【００８６】
利用者データのパケットが通信システム層４０３から受信された場合、２進データ項目ＰＣＫＴＹＰＥ４０８の値に応じて、利用者データ４０４は、制御／信号送信モジュール２２２（この２進データ項目データが信号送信データに対応している場合）あるいはネットワークインターフェースカード１０６のドライバ２２３のどちらかへと送信される。
【００８７】
ヘッダ４０５は、通信インターフェースコントローラ２０９及び２２１が、そのタイプ及び目的及びパケット通信に利用されているプロトコルを直ちに認識することを可能ならしめることは理解できるであろう。
【００８８】
図４の例によれば、本発明は、送信されるすべてを解析する層を付加している。
【００８９】
次のような場合、図５に示されている本発明の第２の実施例において、図３に示されているのと同じ要素が再び見いだされる。
【００９０】
−第２のデータ処理装置１０１がＰＣタイプのホストコンピュータであり、それがアメリカの会社マイクロソフト（登録商標）により販売されるウインドウズＮＴ（登録商標）オペレーティングシステムとともに動作し、ＰＣＩ標準に準拠したバスを有する。
【００９１】
−第１のデータ処理装置１０５がアメリカの会社インテル（登録商標）製のペンティアム（登録商標）プロセッサを搭載したマザーボードであり、現在はサンマイクロシステムズインコーポレイテッドの子会社であるアメリカの会社コーラスにより販売されるコーラス（登録商標）オペレーティングシステムとともに動作し、ＰＣＩ標準に準拠したバスを有し、この第１のデータ処理装置１０５が第２のデータ処理装置１０１のバスコネクタに差し込まれている。
【００９２】
−通信システムドライバ３０３及び３０５はＰＣＩからＰＣＩへの通信システムドライバである。
【００９３】
−制御／信号送信モジュール２２２はＡＴＭ標準に準拠した制御／信号送信モジュールである。
【００９４】
−ネットワークインターフェースカードドライバ２２３はＡＴＭ標準に準拠したドライバである。
【００９５】
−ネットワークインターフェースカード１０６はＡＴＭ標準に準拠したカードである。
【００９６】
このため、図５に示した装置において、これらデータ処理装置のハードウエアアークテクチャは異なっており、オペレーティングシステムもまた異なっている。
【００９７】
図６における、本発明の第３の実施例において、ネットワーク資源が局所的に利用されている場合でさえも、次のものを除いて図３と同じ要素を見ることができる。
【００９８】
−送信モードにおいて、
・全ての利用者情報は、通信インターフェースコントローラ２２１によって送信される。これに対して、
・全ての信号情報は、制御／信号送信モジュール２２２に直接送信される。
【００９９】
−受信モードにおいて、全ての利用者情報は通信インターフェースコントローラ２２１によって送信される。
【０１００】
図７は、第１のデータ処理装置１０５に対して利用者データのパケットを送信するために、通信インターフェースコントローラ２０９によって実施される一連の動作を示している。同様の動作が、通信インターフェースコントローラ２２１によって、第１のデータ処理装置１０５が第２のデータ処理装置１０１に対して利用者データのを送信する際に行われる。
【０１０１】
まず初めに、不図示の最初の初期化フェーズにおいて、データ処理装置１０１及び１０５のそれぞれにおいて、通信インターフェースコントローラは、一連の初期化動作を遂行する。これらは、とりわけ、それらが各データ処理装置の局所ネットワーク資源を見つけられるようにし、そして、各データ処理装置の通信インターフェースコントローラ間の通信をできるようにする。
【０１０２】
これら初期化動作の間、各通信インターフェースコントローラは、内部的に使用されるデータの集合を更新し、特に、公知の技術により、局所的な、あるいは他方のデータ処理装置に存在するネットワーク資源のプロトコルや識別子、タイプを一致させることができるようにする。
【０１０３】
最初に、通信インターフェースコントローラ２０９は、待機状態７００にある。すなわち、動作を遂行するために利用できる。
【０１０４】
動作７０１の間、通信インターフェースコントローラ２０９は、データ処理装置１０１により利用されているアプリケーションから、データパケット送信の要求メッセージを受信する。
【０１０５】
動作７０２の間、通信インターフェースコントローラ２０９は、注目されているパケット送信の要求メッセージから、次の情報を読む。
【０１０６】
−適用できるのであれば、プロトコル識別子ＰＩＤ４０６
−パケットタイプの２進情報ＰＣＫＴＹＰＥ４０８
動作７０３の間、通信インターフェースコントローラ２０９は、問題のプロトコルについて、「遠隔の」資源に対してダイレクトアクセスを利用する必要があるか、プロトコル識別子ＰＩＤに従って判断し、必要であれば、注目プロトコルに従って、新たなコネクションの設立が必要か否か判断する。
【０１０７】
そして、動作７０３の間に行われたテストのひとつの結果が否定的であれば、通信インターフェースコントローラ２０９は、結合動作７１３を行う（以下参照）。
【０１０８】
テスト７０３の結果が肯定的であれば、動作７０４の間、通信インターフェースコントローラ２０９は、通信インターフェースコントローラ２２１に対して、例えば通信手段識別情報ＤＩＤ４０７のような付加情報を判断するために、そのコントローラ内部の情報を含む命令パケットを送信する。
【０１０９】
動作７０６の間、通信インターフェースコントローラ２０９は、７０７〜７１１に図示されたイベントのひとつが発生するまで待機する。
【０１１０】
この間に、もし通信インターフェースコントローラ２０９が、動作７０７で他方のデータ処理装置から、なによりもまず他のデータパケットメッセージを受信したなら、動作７０８の間、将来の処理のためにこのパケットをパケットのスタックに置き、動作７０６に戻る。
【０１１１】
動作７０６の待機期間中に、動作７１１で通信インターフェースコントローラ２２１から命令パケットの確認を受信したなら、とりわけ通信手段識別子ＤＩＤ４０７のようなその内部データを更新する。そして、結合動作７１３の間、通信インターフェースコントローラ２０９は、ヘッダ４０５を形成し、それを利用者情報の集合と結合し、動作７１４の間、ヘッダ４０５が与えられたパケットを、通信インターフェースコントローラ２２１に送信する。次に、通信インターフェースコントローラ２０９は、待機状態７００に戻る。
【０１１２】
図８は、通信インターフェースコントローラ２０９によって、第１のデータ処理装置１０５から来る利用者データのパケットを受信するために実施される一連の動作を示す。同様の動作が、第１のデータ処理装置１０５が第２のデータ処理装置１０１から来る利用者データを受信する際に、通信インターフェースコントローラ２２１により実施される。
【０１１３】
最初に、通信インターフェースコントローラ２０９は、待機状態８００にある。
【０１１４】
動作８０１の間、通信インターフェースコントローラ２０９は、通信インターフェースコントローラ２２１から、利用者データ４０４及びヘッダ４０５を含むデータパケットを受信する。
【０１１５】
動作８０２の間、通信インターフェースコントローラ２０９は、プロトコル識別子ＰＩＤ４０６と、通信手段識別情報４０５、及びパケットタイプ２進情報ＰＣＫＴＹＰＥ４０８を、付加情報４０５から読む。
【０１１６】
テスト８０３の間、通信インターフェースコントローラ２０９は、パケットが命令に関するものか否か判断する。説明されている例においては、命令情報の場合にはプロトコル識別情報ＰＩＤ４０６の値は“０”であることをここで述べておかねばならない。他の場合、この値は実施されるプロトコルの番号である。
【０１１７】
このため、プロトコル識別情報ＰＩＤ４０６の値が“０”の場合、命令パケットは、通信インターフェースコントローラ２０９によって、その機能を組織するために、ネットワークを越えて送信することなく、局所的に処理されるために使われる。
【０１１８】
テスト８０３の結果が肯定的であり、かつ第２の実施例（図５）の場合、通信インターフェースコントローラ２０９あるいは２２１は、内部的に命令パケットを処理する動作８０９を行い、それから、単にネットワーク資源を有する通信インターフェースコントローラ２２１の場合には、動作８１０が行われる。その間、通信インターフェースコントローラ２２１は、次のものとの情報交換フェーズ（いわゆる「ネゴシエーション」フェーズ）に従事する。
【０１１９】
−制御／信号送信モジュール２２２、及び／あるいは
−ネットワークインターフェースカードドライバ２２３
換言すれば、信号送信タイプのパケット及び／あるいは、伝達され、コントローラ２２１に格納された後に利用される内部情報（初期化あるいは再開以来格納されている）を、ネットワークインターフェースカードドライバ２２３へと直接アクセスするときに、それらに送信する。
【０１２０】
次に、動作８１１の間、通信インターフェースコントローラ２０９は、通信インターフェースコントローラ２１１に応答を送る。最後に、コントローラ２０９は待機状態８００に戻る。
【０１２１】
テスト８０３の結果が否定的な場合、テスト８０４の間、通信インターフェースコントローラ２０９は、通信手段識別子ＤＩＤ４０７に意味があるか判断する（もしなければ、付加プロトコル識別情報のみに意味がある）。
【０１２２】
テスト８０４の結果が否定的である場合、動作８０８の間、通信インターフェースコントローラ２０９は、ヘッダ４０５及び利用者情報４０４を分離し、関連するプロトコルに対して、プロトコル識別子ＰＩＤ４０６の値に依存する内容のパケットを送信する。次に、通信インターフェースコントローラ２０９は、待機状態８００に戻る。
【０１２３】
テスト８０４の結果が肯定的である場合、テスト８０５の間、通信インターフェースコントローラ２０９は、そのパケットに含まれるデータタイプが利用者データに関係しているか否か判断する。
【０１２４】
テスト８０５の結果が肯定的である場合、動作８０６の間、通信インターフェースコントローラ２０９は、ヘッダ４０５及び利用者情報４０９を結合し、通信手段識別子ＤＩＤ４０７に相当するネットワークインターフェースカードドライバ２２３に対して、利用者データ４０４のパケットを送信する。
【０１２５】
次に、通信インターフェースコントローラ２０９は、待機状態８００に戻る。
【０１２６】
テスト８０５の結果が否定的であれば、動作８０７の間、通信インターフェースコントローラ２０９は、ヘッダ４０５と利用者情報４０４とを分離し、通信手段識別子４０７に対応する制御／信号送信モジュール２２２に対して、信号データ４０４のパケットを送信する。
【０１２７】
次に、通信インターフェースコントローラ２０９は待機状態８００に戻る。
【０１２８】
本発明の実施により、ネットワーク通信資源１０７は、二つのデータ処理装置により共有され、異なるタイプのパケットは異なる道筋で発送され、異なるプロトコルタイプは、ネットワーク１０７を越える通信のために用いられ、データの送信は最適化される（送信されるデータのコピーの数は最小にされる）。
【０１２９】
上の説明を読むと、次のことが理解できるであろう。すなわち、本発明に従えば、二つのデータ処理装置間の通信のために、それぞれがマイクロプロセッサ及びメモリを有し、データ処理装置１０５は少なくとも１つの入出力資源１０６を有してそれを管理し、データ処理装置１０１から来て、第１のデータ処理装置１０５に管理される前記入出力資源に対して送信されるはずの利用者情報４０４の集合を伝達するために、
−データ処理装置１０１により、前記利用者情報の集合と付加情報の集合４０５の分離動作が遂行される。付加情報の集合４０５は次のものを表す。
【０１３０】
・付加プロトコル識別情報ＰＩＤ４０６によって、データ処理装置１０１において、情報がそこから来るところの通信レイヤが表される。
【０１３１】
・通信手段ＤＩＤを識別する付加情報４０７によって、前記入出力資源が表される。
【０１３２】
−二つのデータ処理装置により共同で、データ処理装置１０１からデータ処理装置１０５へと、前記情報の集合を送信する動作が遂行される。
【０１３３】
相関して、本発明によれば、入出力資源を管理するカード１０６から来てデータ処理装置１０１に送信されるはずの利用者情報４０４の各集合の伝達のために、
−データ処理装置１０５により、前記利用者情報の集合と付加情報の集合４０５を分離する動作が遂行される。付加情報の集合４０５は次のものを表す。
【０１３４】
・プロトコルＰＩＤを識別する付加情報４０６によって、その情報が向けられた通信レイヤが表される。
【０１３５】
・通信手段ＤＩＤを識別する付加情報４０７によって、前記入出力資源が表される。
【０１３６】
−二つのデータ処理装置により共同で、データ処理装置１０５からデータ処理装置１０１へと、前記情報の集合を送信する動作が遂行される。
【０１３７】
第２の変形例によれば、付加情報の集合は、送信された情報が向けられているデータ処理装置の識別する情報の項目を含む。
【０１３８】
第３の変形例によれば、付加情報は、利用者情報パケットの番号を識別する情報の項目を含む。
【０１３９】
第４の変形例によれば、各データ処理装置は、少なくともひとつの入出力資源を有し、各データ処理装置は、本発明の方法に従い、直接管理しない入出力資源によって通信する。
【０１４０】
本発明の範囲は、説明され、描かれている実施例に限定されず、反対に、当業者の能力の範囲内でのあらゆる変形及び改良に拡張される。
【０１４１】
【発明の効果】
以上の構成により、本発明は、マイクロプロセッサ及びメモリを有する第２のデータ処理装置における通信方法であって、  第１のデータ処理装置により管理されるネットワークインターフェースドライバを共有する工程と、ネットワークにアクセスする前記ネットワークインターフェースドライバに主情報を送信する工程とを有する。これにより、同じネットワークインターフェースカードを二つの異なるデータ処理装置で同時に使用することができる。
【図面の簡単な説明】
【図１】高度に図式化された、本発明が適用されたデータ処理装置を描いた図である。
【図２】高度に図式化された、図１に示されたバスに結合された構成要素を描いた図である。
【図３】高度に図式化された、本発明に従う装置の第１の実施例のハードウエア及びソフトウエアアーキテクチャを描いた図である。
【図４】図３に示された第１の実施例で実施されたプロトコルレイヤ、及び、図１乃至３に示されたデータ処理装置により送信される情報列の構造を描いた図である。
【図５】高度に図式化された、本発明に従う装置の第２の実施例のハードウエア及びソフトウエアアーキテクチャを描いた図である。
【図６】高度に図式化された、本発明に従う装置の第３の実施例のハードウエア及びソフトウエアアーキテクチャを描いた図である。
【図７】本発明の方法に従う送信の流れ図を描いた図である。
【図８】本発明の方法に従う受信の流れ図を描いた図である。
【図１】
0003799184.tif 000002
【図２】
0003799184.tif 000003
【図３】
0003799184.tif 000004
【図４】
0003799184.tif 000005
【図５】
0003799184.tif 000006
【図６】
0003799184.tif 000007
【図７】
0003799184.tif 000008
【図８】
0003799184.tif 000009