(57)【特許請求の範囲】
【請求項１】
複数の局がネットワークで接続され、各局間でトークンパッシング方式で送信データのやり取りを行うネットワークシステムにおいて、
前記各局は、
前記ネットワーク上の各局に対応した領域を持つ受信バッファと、
前記ネットワーク上の各局に対応した領域を持ち、複数バンク構成のうちの１つを局の上位層と接続し、別の１つを伝送側と接続する共有メモリと、
ネットワークから受信した各局の送信データを前記受信バッファの対応する領域に格納する伝送手段と、
新たに受信した各局の送信データを前記受信バッファから前記共有メモリへ転送するデータ転送手段と、
トークンを解放してからトークンが他局を一巡して自局がトークンを保持する一巡トークン受信までの間に送信データを受信せず、１つ前の一巡トークン受信までの間には送信データを受信した局の送信データを前記受信バッファから前記共有メモリへ転送を行い、前記１つ前の一巡トークン受信までの間でもデータを受信しなかった局に対しては前記転送を行わないコピー処理手段と
を備えることを特徴とするネットワークシステム。
【請求項２】
前記コピー処理手段は、前記１つ前の一巡トークン受信から前記一巡トークン受信までの間に前記上位層と接続する前記共有メモリの切り替えが無い時前記転送を行わなわず、その後に該切替えがあった時前記転送を行うことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
ネットワークで接続されている他局とトークンパッシング方式で送信データのやり取りを行うネットワーク局であって、
前記ネットワーク上の各局に対応した領域を持つ受信バッファと、
前記ネットワーク上の各局に対応した領域を持ち、複数バンク構成のうちの１つを局の上位層と接続し、別の１つを伝送側と接続する共有メモリと、
ネットワークから受信した各局の送信データを前記受信バッファの対応する領域に格納する伝送手段と、
新たに受信した各局の送信データを前記受信バッファから前記共有メモリへ転送するデータ転送手段と、
前記上位層からの切替え要求までの間に送信データを受信せず、１つ前の切替え要求までの間には送信データを受信した局の送信データを前記受信バッファから前記共有メモリへ転送を行い、前記１つ前のトークン受信までの間でもデータを受信しなかった局に対しては前記転送を行わないコピー処理手段と
を備えることを特徴とするネットワーク局。
【請求項４】
複数の局がネットワークで接続され、各局間でトークンパッシング方式で送信データのやり取りを行い、受信した他局からの送信データを受信バッファを介して共有メモリに格納するネットワーク局内でのデータ交換方法であって、
ネットワークから受信した各局の送信データを前記受信バッファの対応する領域に格納し、
新たに受信した各局の送信データを前記受信バッファから前記共有メモリへ転送し、
トークンを解放してからトークンが他局を一巡して自局がトークンを保持する一巡トークン受信までの間に送信データを受信せず、１つ前の一巡トークン受信までの間には送信データを受信した局の送信データを前記受信バッファから前記共有メモリへ転送を行い、前記１つ前の一巡トークン受信までの間でもデータを受信しなかった局に対しては前記転送を行わないことを特徴とするデータ交換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工場やプラント等で各機器をネットワークで接続し、ネットワークで相互にデータを送受信するネットワークシステムに関する。
【０００２】
【従来の技術】
工場やプラント等で用いられているコントローラや数値制御機器をネットワーク局とするネットワークシステムの一般的な構成を図５に示す。
【０００３】
図５のシステムでは、バス型のトポロジーを持つネットワーク１００に、ファクトリーオートメーション用コントローラや数値制御機器、ロボットコントローラなどがネットワーク局として接続される構成を持つ。各局は共有メモリ１０２を備え、この共有メモリ１０２を介して他局との送受信データが管理される。この共有メモリ１０２は、自局を含むネットワーク１００上の全ての局分の領域に分かれている。各領域はネットワーク１００上の各局と１対１対応させてあり、他局からの受信データはこの共有メモリ１０２の送信元局に対応する領域に格納される。よって他局からのデータを読み出す時は、共有メモリ１０２のその局に対応する領域からデータを読み出す。また送信データを共有メモリ１０２内の自局に対応する領域に格納すると、このデータを格納したフレームがネットワーク１００上に送出され、ネットワーク１００上の全局へブロードキャスト送信されて他局の共有メモリ１０２の自局に対応する領域に格納される。
【０００４】
ネットワーク１００でのデータの送信はトークンと呼ばれる特別なフレームを各局で巡回させて管理するトークンパッシング方式により行われている。トークンパッシング方式では、トークンを保持している局のみがネットワーク１００へのデータの送信権を持ち、このトークンと共に送信データをネットワーク１００上に流す。尚本明細書では、バス型のネットワークを例にして説明しているが、本発明はトークンパッシング方式を用いた論理型ネットワークであれば、リング型やスター型のネットワークについても同様に適用される。
【０００５】
図６は、トークンパスフレーム１０１のフレーム構成例を示す図である。
トークンパスフレーム１０１には、このフレームがトークンパスであることを示す種別コード２１０、このトークンパスフレームの送信元局を示す局番２２０（局アドレス等）、次にトークンパスフレームを送信する局の局番を示す次回トークン送信局２３０及び送信データ２４０が格納されている。
【０００６】
以下にこのトークンパスフレーム１０１を用いた通信方法を図５に対応させて説明する。
初期状態として局１がデータ送信を行う権利（トークン）を持つ時、局１は送信データとして共有メモリ１０２から局１の領域のデータを読みだし、自局一局分のデータを格納したトークンパスフレーム１０１を他の全ての局（局２〜Ｎ）にブロードキャスト送信してトークンをリリースする。これを受信した局２、３、・・Ｎはこのトークンパスフレーム内の局１のデータを送受信バッファを介して共有メモリの局１に対応する領域へ格納する。この時、この局１からのトークンパスフレーム１０１に次回トークンパスフレーム１０１送信局として指定してある局が次のトークンパスフレーム１０１送信局となる（この場合は局２とする）。
【０００７】
局１からのトークンを受信した局２は、共有メモリ１０２の局２に対応する領域から自局の送信データを取りだし、これを格納したトークンパスフレーム１０１を他の全ての局（局１、３〜Ｎ）宛てにブロードキャスト送信する。以下同様に、局２からのトークンパスフレーム１０１を受信後、トークンパスフレーム１０１内で次回トークン送信局２３０で指定された局は、自局の送信データを格納したトークンパスフレーム１０１を送信する。
【０００８】
トークンパスがネットワーク１００内の全ての局を１巡して、次回トークン送信局２３０に局１が指定されたトークンパスフレーム１０１を局１が受信すると、局１はトークンパスがネットワーク１００上の全局を一巡したことを認識する。尚以下の説明では、トークンパスがネットワーク１００上の全ての局を一巡して次回送信局に自局が指定されているトークンパスフレーム１０１を受信することを一巡トークン受信という。
【０００９】
図７は、各局内の伝送部分のハードウェア構成を示すブロック図である。
各局は、ネットワーク１００による伝送を担う構成として、ネットワーク１００に対するドライバ／レシーバ３１０、送受信バッファ３２０、伝送制御部３３０、共有メモリ３４０、受信局管理テーブル３５０、未受信局テーブル３６０及びアプリケーションプログラムやサービス等のネットワーク上位層とのインタフェースとなる上位層インタフェース３７０を備えている。
【００１０】
送受信バッファ３２０は、データ受信時にはネットワーク１００から受信したデータのエラー検出や受信フレームの種別解析等を行い、またデータ送信時は送信するデータが格納される。
【００１１】
伝送制御部３３０は、上位層からの指示に基づいて、３つの共有メモリ３４０から上位層が読み出しを行うもの、及び伝送側からの受信データの書込みを行うものの切り替えの制御を行う。
【００１２】
各局は受信データと局内で稼動するアプリケーション等の上位層の処理とでデータの整合性を確保するため、３つの共有メモリ３４０−１〜３４０−３を切替える３バンク構成となっている。この３つの共有メモリ３４０の内の１つが上位層インタフェース３７０と接続され上位層がアクセスを行うメモリとなり、もう１つが送受信バッファ３２０と接続されネットワーク１００から受信した受信データを格納するメモリとなり、残りの１つが空きメモリとなる。そして、伝送制御部３３０は、上位層からの要求に従って、上位層がアクセスする共有メモリ３４０を最新のデータが格納された共有メモリ３４０に切り替る。又、ネットワーク１００から次回送信局に自局が指定されているトークンパスフレーム１０１を受信すると、これは上位層に通知され、上位層からの応答に従って、伝送側からの書込みを行う共有メモリ３４０を空きメモリとなっているものに切り替える。
【００１３】
共有メモリ３４０に１つの空きメモリを設けることにより上位層の処理速度とネットワーク１００からのデータの受信速度との差を吸収し、また最新の受信データの格納された共有メモリ３４０に上位層がアクセスするように切替えを制御することにより、上位層は常に最新の受信データに対してアクセスを行える。
【００１４】
受信局管理テーブル３５０は上位層からの切り替え要求の間にデータを受信した局を登録するためのテーブルであり、今回用のテーブルと前回用のテーブルの２つがある。
【００１５】
トークンは予め決められた順序でネットワーク１００上の局を巡回し、トークン受信してトークンを保持した局は自局の送信データ２４０を格納したトークンパスフレーム１０１をブロードキャスト送信する。局がトークンをリリースしてから次にトークン受信してトークンを保持（一巡トークン受信）するまでの間には、トークンは全局を一巡しているので、この間に基本的にはネットワーク１００上の全局の送信データを受信することになる。しかし、トークンを保持した局が何等かの理由でデータの送信を行わず、送信データ２４０を付加しないで送信してトークンパスフレーム１０１をリリースする場合や、伝送障害などによって送信データ２４０が未受信となる局が生じることが有る。受信局管理テーブル２５０及び未受信局テーブル３６０はこの様な未受信局を管理するために設けられている。
【００１６】
伝送制御部３３０は、ネットワーク１００を介して他局からの送信データ２４０を受信する毎にその送信元局の局番を今回用の受信管理テーブル３５０に登録する。また上位層からの切り替え要求により伝送側がアクセスする共有メモリ３４０を切り替えた時点で今回用の受信局管理テーブル３５０の情報を前回用の受信局管理テーブル３５０に転送してデータをコピーした後、今回用の受信局管理テーブル３５０の情報は初期化する。
【００１７】
更に伝送制御部３３０は次回トークン送信局２３０に自局が指定されたトークンパスフレームを受信した時には、前回用と今回用の受信局管理テーブル３５０を参照し、前回用では受信、今回用では未受信となっている局が存在した場合、その局を未受信局テーブル３６０に登録する。
【００１８】
また伝送制御部３３０は、送受信バッファ３２０側で共用メモリ３４０の切り替えを行う度に未受信局テーブル３６０を参照し、未受信の局が存在していた場合は、上位層からの切り替え要求後の一巡トークン受信時に、送受信バッファ３２０内の未受信局の送信データを伝送側の共有メモリ３４０の対応する位置に毎回コピーし、その後、共用メモリ３４０の切り替えを行い、完了を上位層側に返す。この処理により、伝送側と上位層側でデータの同期をとる。
【００１９】
【発明が解決しようとする課題】
未受信局が存在し続けた場合、上位層から送受信バッファ３２０と接続されている伝送側の共有メモリ３４０の切り替え要求が発生する度に、送受信バッファ３２０から送受信バッファ３２０側の共有メモリ３４０にその局の過去の受信データのコピー処理が行われる。
【００２０】
このコピー処理は、処理中に新たなデータ受信を行うことを避けるため、自局がトークンを保持してから次の局にトークンをリリースするまでの時間に行われる。このため、ある局からのデータが未受信でありつづけた場合、無駄なコピー処理がトークン受信の度に生じてしまい、ネットワークの性能が低下する要因になっている。
【００２１】
上記問題点を鑑み、本発明は上記コピー処理の回数を減らすことにより伝送効率を向上させたネットワークシステムを提供することを課題とする。
【００２２】
【課題を解決するための手段】
上記課題を解決するために本発明のネットワークシステムは、複数の局がネットワークで接続され、各局間でトークンパッシング方式で送信データのやり取りを行う構成として、各局は、受信バッファ、共有メモリ、伝送手段、データ転送手段及びコピー処理手段を備える。
【００２３】
受信バッファは、上記ネットワーク上の各局に対応した領域を持つ。
共有メモリは、上記ネットワーク上の各局に対応した領域を持ち、複数バンク構成のうちの１つを局の上位層と接続し、別の１つを伝送側と接続する。
【００２４】
伝送手段は、ネットワークから受信した各局の送信データを上記受信バッファの対応する領域に格納する。
データ転送手段は、新たに受信した各局の送信データを上記受信バッファから上記共有メモリへ転送する。
【００２５】
コピー処理手段は、トークンを解放してからトークンが他局を一巡して自局がトークンを保持する一巡トークン受信までの間に送信データを受信せず、１つ前の一巡トークン受信までの間には送信データを受信した局の送信データを上記受信バッファから上記共有メモリへ転送を行い、上記１つ前の一巡トークン受信までの間でもデータを受信しなかった局に対しては上記転送を行わない。またコピー手段は、上記上位層からの切替え要求までの間に送信データを受信せず、１つ前の切替え要求までの間には送信データを受信した局の送信データを上記受信バッファから上記共有メモリへ転送を行い、上記１つ前の一巡トークン受信までの間でもデータを受信しなかった局に対しては上記転送を行わない構成としてもよい。
【００２６】
この構成により、上記共有メモリの各バンクに対して同じデータが繰り返し転送されることが無い。
更にコピー手段は、上記共有メモリの上位相側の接続の切替えを検出する構成とし、上記１つ前の一巡トークン受信から上記一巡トークン受信までの間に上記上位層と接続する上記共有メモリの切り替えが無い時上記転送を行わなわず、その後に該切替えがあった時上記転送を行うように構成することが出来る。これにより、上位層側の処理速度と伝送側の速度が異なっていても上記共有メモリの各バンクに対して同じデータが繰り返し転送されることが無い。
【００２７】
【発明の実施の形態】
図１は本実施形態における各局内の伝送部分のハードウェア構成を示すブロック図である。
【００２８】
図１の構成では、ネットワーク１００による伝送を担う構成として、図７と同様、ネットワーク１００に対するドライバ／レシーバ１０、送受信バッファ２０、伝送制御部３０、共有メモリ４０、受信局管理テーブル５０、未受信局テーブル６０及びアプリケーションプログラムやサービス等のネットワーク上位層とのインタフェースとなる上位層インタフェース７０を備えている。
【００２９】
また受信データと局内で稼動するアプリケーション等の上位層の処理とでデータの整合性を確保するため、共有メモリ４０は３つの共有メモリ４０−１〜４０−３を切替えて用いる３バンク構成とし、これらの内の１つが上位層インタフェース７０と接続され上位層がアクセスを行うメモリとなり、もう１つが送受信バッファ２０と接続されネットワーク１００から受信した受信データを格納するメモリとなり、残りの１つが空きメモリとなる。そして上位層からの要求に基づいて伝送制御部３０がこの３つの共有メモリ４０−１〜４０−３と伝送側（送受信バッファ２０）及び上位層側（上位層インタフェース７０）との接続を切替えることにより上位層の処理速度とネットワーク１００からの受信速度との差を吸収し、上位層が常に最新のデータに対してアクセス出来るようにしている。
【００３０】
送受信バッファ２０は、基本的に図７の送受信バッファ３２０と同様データ受信時にはネットワーク１００から受信したデータのエラー検出や受信フレームの種別解析等を行い、またデータ送信時は送信するデータが格納されるものである。送受信バッファ２０は内部を共有メモリ４０と同様自局を含むネットワーク１００上の全ての局と１対１対応させた領域に分かれており、ネットワーク１００から受信した他局からの送信データ２４０は送信元局に対応する領域に上書きされて格納されてゆく。
【００３１】
伝送制御部３０は、伝送側の共有メモリ４０と送受信バッファ２０を介してネットワーク１００へのデータの交換を行うための管理制御を行う。また上位層からの切り替え要求に基づく共有メモリ４０の上位相側及び伝送側の切り替えや未受信局に対して行うデータの共有メモリへのコピー処理の制御や管理を行う。
【００３２】
受信局管理テーブル５０及び未受信局テーブル６０は、送信データ２４０を受信した局を登録して未受信の局を管理するもので、未受信局のデータのコピー処理時に用いられる。受信局管理テーブル５０は上位層からの切り替え要求までの間にデータを受信した局を登録するためのテーブルで、前回用のテーブル５１と今回用のテーブル５２の２つがある。また未受信局テーブル６０は、一巡トークン受信時に、前回用と今回用の受信局管理テーブル５０を参照して前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局が登録される。
【００３３】
図２は、受信局管理テーブル５０及び未受信局テーブル６０の構成及びその処理を示す図である。
ネットワーク１００から送信データ２４０を含むトークンパスフレーム１０１を受信する度に、そのトークンパスフレーム１０１内の送信データ２４０は送受信バッファ２０を介して共有メモリ４０に格納される。又その時受信したトークンパスフレーム１０１の送信元２２０を調べ、今回用テーブル５２の対応する局の部分を未受信を示す“０”から受信を示す“１”に変更する。
【００３４】
伝送制御部３０は一巡トークン受信時に前回用の受信局管理テーブル５１と今回用の受信局管理テーブル５２を参照し、前回用のテーブルには受信、今回用のテーブルには未受信となっている局があれば、この局を未受信局テーブル６０に登録する。図２では、前回用のテーブル５１で受信を示す“１”、今回用のテーブル５２で未受信を示す“０”となっている局があれば（同図では局２が対応）未受信局テーブル６０のその局の部分に“１”をセットして登録する。
【００３５】
尚受信局管理テーブル５０は、伝送側の切替え要求が生じて伝送側の共有メモリ４０を切り替えた時点で今回用の受信局管理テーブル５２内の情報を前回用の受信局管理テーブル５１にコピーし、今回用の受信局管理テーブル５２は全て“０”にリセットして初期化する。また未受信局テーブル６０に未受信局として登録された局から送信データ２４０を含むトークンパスフレーム１０１を受信すると、未受信テーブル６０の対応する局を“０”にリセットする。また未受信局テーブル６０のクリアは、後述する条件のときにも行われる。
【００３６】
次に送受信バッファ２０から共用メモリ４０へのコピー処理について説明する。
本実施形態では、図７の従来の構成と同様、未受信局があった場合、送受信バッファ２０側で共用メモリ４０の切り替えを行う時、送受信バッファ２０に残っている未受信局からの古いデータの共用メモリ４０へのコピー処理を行い、古い送信データを受信データとする。しかし、図７の従来の構成の場合、一巡トークン受信によって上位層から切り替え要求が生じる度にコピー処理を行っていたのに対し、本実施形態では、同じデータのコピー処理は同一の共用メモリ４０に対しては１度しか行わない。即ち共用メモリ４０が３バンク構成の場合、１つの局から送信データ２４０がずっと未受信であった場合でも、最初に受信したデータを格納した共用メモリ４０の他、コピー処理は２度しか行わない。例えば局１からの送信データ２４０を受信し、これを共用メモリ４０−１に格納した後、局１からデータが未受信になった場合、コピー処理は伝送側が共用メモリ４０−２若しくは４０−３に切り替った時にそれぞれ１度のみ行われる。
【００３７】
このコピー処理は以下の様な手順で実現される。
一巡トークン受信（次回トークン送信局２３０に自局が指定してあるトークンパスフレーム１０１の受信）をした時、伝送制御部３０は、前回用の受信局管理テーブル５１と今回用の受信局管理テーブル５２の値を比較し、前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局が存在した場合、データを送受信バッファ２０に格納されているその局の送信データ２４０を共有メモリ４０へコピーする。またその局を未受信局テーブル６０へ登録する。以降の一巡トークン受信時に、上位層切り替え通知があったならば、上記コピー処理をもう一度を行い、未受信局テーブルの対象局をクリアする。この２回のコピー処理で共有メモリ４０−１〜４０−３全てに未受信局のデータが格納された状態になる。
【００３８】
図３は本実施形態における受信処理時に伝送制御部３０が行う処理を示すフローチャートである。
ネットワーク１００からトークンパスフレーム１０１を受信すると、そのトークンパスフレーム１０１内の送信データ２４０が送受信バッファ２０を介して伝送側に接続されている共有メモリ４０に格納される。またこの時伝送制御部３０は、ステップＳ１としてその受信したトークンパスフレーム１０１の送信元２２０に格納されているトークンパスの送信元局の局番から未受信局テーブル６０を参照し、“１”が設定されその局が未受信局として登録されていたならば、“０”にクリアしてその局の設定を解除する。
【００３９】
次に伝送制御部３０は、ステップＳ２として受信したトークンパスフレーム１の次回トークン送信局２４０を調べる。その結果、他局の局番が設定されていたならば（ステップＳ２、ＮＯ）、処理を終了する。
【００４０】
またステップＳ２で、次回トークン送信局２４０に自局の局番が設定されており一巡トークン受信であり上位層から切替え要求が生じているのならば（ステップＳ２、ＹＥＳ）、次にステップＳ３として受信局管理テーブル５０を調べる。その結果、前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局があれば（ステップＳ３、ＹＥＳ）、ステップＳ４として送受信バッファ２０に格納されているその局の送信データ２４０を伝送側に接続されている共有メモリ４０へコピーする。そして次にステップＳ５としてこの前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局を未受信局テーブル６０に設定登録し、ステップＳ１０へ処理を移す。
【００４１】
またステップＳ３で、前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局がない場合（ステップＳ３、ＮＯ）、前回の一巡トークン受信から今回の一巡トークン受信までの間に上位層インタフェース７０が接続する共用メモリ４０の切替えが行われていなかったり（ステップＳ６、ＮＯ）、未受信局テーブル６０に未受信局が登録されていない時はステップＳ１０に処理を移す。
【００４２】
また前回の一巡トークン受信から今回の一巡トークン受信までの間に上位層インタフェース７０が接続する共用メモリ４０の切替えが行われており（ステップＳ６、ＮＯ）、かつ未受信局テーブル６０に未受信局として登録されている局が有る場合、ステップＳ８として、その局に対応する、送受信バッファ２０に格納されている送信データ２４０を伝送側に接続されている共有メモリ４０へコピーする。そして未受信局テーブル６０に登録されている全ての未受信局に対してコピー処理が完了すると、ステップＳ１０として未受信局テーブル６０をクリアする。
【００４３】
ステップＳ１０では、受信局管理テーブル５０を更新する。この更新処理では、今回用の受信局管理テーブル５２内の情報を前回用の受信局管理テーブル５１にコピーし、また今回用の受信局管理テーブル５２の初期化を行う。
【００４４】
そしてステップＳ１１として伝送制御部３０に接続されている共用メモリ４０を空きメモリとなっているものに切替えて、伝送側の共用メモリの切替えを行った後処理を終了する。
【００４５】
図４は本実施形態による伝送側（送受信バッファ２０側）と上位層側（上位層インタフェース７０側）での共有メモリ４０の切替えと、コピー処理を行うタイミングを示す図である。
【００４６】
図４は、１つ前のトークン受信時にはデータを受信していた局が今回の一巡トークン受信時には未受信となった時（前回用テーブル５１では受信、今回用テーブル５２では未受信となっている局が発生した時）からの共有メモリ４０の切替え及びコピー処理を行う位置を示しており、同図（ａ）は上位層側の切り替えタイミングが伝送側より早い場合、（ｂ）は上位層側の切り替えタイミングと伝送側の切り替えタイミングが同じ場合、（ｃ）は上位層側の切り替えタイミングが伝送側より遅い場合を表している。また同図での“１”、“２”及び“３”はそれぞれ図１の共有メモリ４０−１、４０−２及び４０−３に対応しており、また○で囲ってある部分はコピー処理を行っている部分を示している。
【００４７】
同図から、１つの局がずっと未受信状態にあっても、同図のいずれの場合でも未受信局のデータのコピー処理は最小回数の２回だけ行われ、各共有メモリ４０−１〜４０−３いずれに対しても１回だけデータがコピーされる。これにより、上位層がいずれの共有メモリに切り替っても既に未受信局のデータは送受信バッファ２０からコピーされており、又そのコピー処理も最小限の回数に抑えることが出来る。拠って各局では一巡トークン受信時の行われる処理が軽減され、一巡トークン受信からトークンのリリースまでの時間を短縮することが出来る。
【００４８】
また本実施形態では、伝送側で切替えが行われるまでの間に上位層側で切替えが検出された時のみ（結果として同じ共有メモリと接続された場合も含む）コピー処理を行っているので、同図（ａ）及び（ｃ）のように、伝送側と上位層側で切り変え速度が異なる場合でも、各共有メモリ４０−１〜４０−３に対して同じデータが転送されることが無く、コピー処理は最小回数だけ行われる。
【００４９】
【発明の効果】
本発明によれば、局の持つ３つの共有バッファ間で未受信局データを保持するためのデータコピー回数が最少回数で済む。
【００５０】
また伝送側と上位層側とで切替え速度が異なる場合でもこのデータコピー回数は最少回数で済む。
更に一巡トークン受信時に行う処理の無駄を無くすことにより、各局での処理時間を短縮出来、ネットワーク上の伝送効率を向上させることが出来る。
【図面の簡単な説明】
【図１】本実施形態における各局内の伝送部分のハードウェア構成を示すブロック図である。
【図２】受信局管理テーブル及び未受信局テーブルの構成及びその処理を示す図である。
【図３】本実施形態における受信処理時に伝送制御部が行う処理を示すフローチャートである。
【図４】本実施形態による共有メモリの切替えと、コピー処理を行うタイミングを示す図である。
【図５】一般的なネットワークシステムの構成を示す図である。
【図６】トークンパスフレームのフレーム構成例を示す図である。
【図７】各局内の伝送部分のハードウェア構成を示すブロック図である。
【符号の説明】
１０  ドライバ／レシーバ
２０、３２０送受信バッファ
３０、３３０  伝送制御部
４０、１０２、３４０  共有メモリ
５０、３５０  受信局管理テーブル
６０、３６０  未受信局テーブル
７０、３７０  上位層インタフェース
１００  ネットワーク
１０１  トークンパスフレーム
２１０  種別コード
２２０  送信元局
２３０  次回トークン送信局
２４０  送信データ
【図１】
0004207397.tif 000002
【図２】
0004207397.tif 000003
【図３】
0004207397.tif 000004
【図４】
0004207397.tif 000005
【図５】
0004207397.tif 000006
【図６】
0004207397.tif 000007
【図７】
0004207397.tif 000008