(57)【特許請求の範囲】
【請求項１】
ネットワークスイッチにおいて、
フレームが入力され、前記入力されたフレームのうち許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行うハードウェアスイッチ部と、
前記ハードウェアスイッチ部の後段に接続され、前記入力されたフレームのうち許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行うソフトウェアスイッチ部と、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続され、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力するマルチプレクサとを備えるネットワークスイッチ。
【請求項２】
請求項１に記載のネットワークスイッチにおいて、
前記ハードウェアスイッチ部が、
第１の処理を行うフレームの第１の条件を記憶する第１のフレーム条件記憶部と、
前記第１の条件に合致したフレームの処理ルールを記憶する第１の処理ルール記憶部と、
前記第１の条件に合致したフレームに対して、前記処理ルールに基づき、前記第１の処理であるスイッチング又は廃棄を行い、前記第１の条件に合致しないフレームを前記ソフトウェアスイッチ部に転送する第１のスイッチング部とを備えることを特徴とするネットワークスイッチ。
【請求項３】
請求項２に記載のネットワークスイッチにおいて、
前記ソフトウェアスイッチ部が、
第２の処理を行うフレームの第２の条件を記憶する第２のフレーム条件記憶部と、
前記第２の条件に合致したフレームの処理ルールを記憶する第２の処理ルール記憶部と、
前記第２の条件に合致したフレームに対して、前記処理ルールに基づき、前記第２の処理であるスイッチング又は廃棄を行う第２のスイッチング部とを備えることを特徴とするネットワークスイッチ。
【請求項４】
請求項３に記載のネットワークスイッチにおいて、
前記ソフトウェアスイッチ部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームの最終処理ルールを記憶する最終処理ルール記憶部を更に備え、
前記第２のスイッチング部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームに対して、前記最終処理ルールに基づきスイッチング又は廃棄を行うことを特徴とするネットワークスイッチ。
【請求項５】
請求項３又は４に記載のネットワークスイッチにおいて、
外部のフレーム条件設定手段から入力されたフレーム条件データを、前記第１のフレーム条件記憶部及び前記第２のフレーム条件記憶部のいずれかに振り分け、外部の処理ルール設定手段から入力された処理ルールデータを、前記第１の処理ルール記憶部及び前記第２の処理ルール記憶部のいずれかに振り分ける振分部を更に備えることを特徴とするネットワークスイッチ。
【請求項６】
請求項４に記載のネットワークスイッチと、
前記第１のフレーム条件を設定する第１のフレーム条件設定手段と、
前記第１の処理ルールを設定する第１の処理ルール設定手段と、
前記第２のフレーム条件を設定する第２のフレーム条件設定手段と、
前記第２の処理ルールを設定する第２の処理ルール設定手段と、
前記最終処理ルールを設定する最終処理ルール設定手段とを備えることを特徴とするスイッチングシステム。
【請求項７】
請求項５に記載のネットワークスイッチと、
前記フレーム条件設定手段と、
前記処理ルール設定手段とを備えることを特徴とするスイッチングシステム。
【請求項８】
請求項１乃至５のいずれか１項に記載のネットワークスイッチを一つ以上備えるネットワークシステム。
【請求項９】
ネットワークスイッチで用いられるスイッチング方法であって、
フレームが入力されるハードウェアスイッチ部が、前記入力されたフレームのうち、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、前記入力されたフレームのうち、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング方法。
【請求項１０】
ネットワークスイッチで用いられるスイッチング方法をコンピュータに実行させるためのスイッチング用プログラムであって、
前記スイッチング方法は、
フレームが入力されるハードウェアスイッチ部が、前記入力されたフレームのうち、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、前記入力されたフレームのうち、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークスイッチ、スイッチング方法、及びスイッチング用プログラム、並びにスイッチングシステム、ネットワークシステムに関し、特に、制御ネットワークで用いられるネットワークスイッチ、スイッチング方法、及びスイッチング用プログラム、並びにスイッチングシステム、ネットワークシステムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Internet of Things）に総称されるような、世の中に存在する様々な物体（モノ）に通信機能を持たせ、インターネットへの接続により相互に通信させる技術が開発されている。その流れは、工場やプラントで用いられる、独自のプロトコルによる通信方法を用いた制御ネットワークにも及ぶ。
【０００３】
このような工場やプラントにおいては、工作機器、センサやカメラといった生産設備の情報をリアルタイムで監視する必要があり、制御ネットワークにおける低遅延での通信が重要視されている。このため、従来の制御ネットワークで使用されるネットワークスイッチとしては、図１に記載されるような、スイッチデバイスで実現されるハードウェアスイッチが用いられてきた。
【０００４】
また例えば、特許文献１においては、フレームをスイッチングするネットワークスイッチが開示されており、特許文献２においては、通信遅延を抑えることが可能なパケット転送システムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０５７０７６号公報
【特許文献２】特開２０１５−０１５６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ＣＰＵとソフトウェアを用いたエミュレーションにより実現されるソフトウェアスイッチに比較して、ハードウェアスイッチには、フレームの転送ルールを登録できる量が少ないといった問題が存在する。この点、上記の特許文献に係る発明は、通信遅延を抑えることが可能とされている一方で、登録可能な転送ルールの少なさを補うものではなかった。
【０００７】
そこで、本発明においては、低遅延での通信が求められるフレームを低遅延でスイッチングすると同時に、通常のネットワークスイッチに比較して、より多くの転送ルールを登録することが可能なネットワークスイッチ、スイッチング方法、及びスイッチング用プログラム、並びにスイッチングシステム、ネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の観点によれば、ネットワークスイッチにおいて、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行うハードウェアスイッチ部と、前記ハードウェアスイッチ部の後段に接続され、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行うソフトウェアスイッチ部と、前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続され、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力するマルチプレクサとを備えるネットワークスイッチが提供される。
【０００９】
本発明の第２の観点によれば、ネットワークスイッチで用いられるスイッチング方法であって、ハードウェアスイッチ部が、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング方法が提供される。
【００１０】
本発明の第３の観点によれば、ネットワークスイッチで用いられるスイッチング方法をコンピュータに実行させるためのスイッチング用プログラムであって、前記スイッチング方法は、ハードウェアスイッチ部が、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング用プログラムが提供される。
【発明の効果】
【００１１】
第１の効果は、低遅延でのスイッチング又は廃棄が求められるフレームを低遅延で処理することが可能でありながら、通常のネットワークスイッチに比較して、より多くの処理ルールを登録することが可能となることである。
【００１２】
その理由は、低遅延でのスイッチング又は廃棄が求められるフレームはハードウェアスイッチ部で処理し、低遅延でのスイッチング又は廃棄が求められないフレームは、処理ルールをメモリで記憶するソフトウェアスイッチ部で処理するためである。
【図面の簡単な説明】
【００１３】
【図１】通常のネットワークスイッチの構成例を示す図である。
【図２】低遅延で送信する必要のあるフレーム及び必要のないフレームの説明図である。
【図３】本発明の実施形態に係るネットワークスイッチの構成例を示す図である。
【図４】本発明の実施形態に係るネットワークスイッチの動作フローを示すフローチャートである。
【図５】図３に記載のネットワークスイッチの各記憶部で記憶されるデータ例である。
【図６】本発明の実施形態に係るネットワークスイッチの構成例を示す図である。
【図７】図６の構成例に記載の振分部に格納されるＴｏＳ値と振分条件値との対応表の例である。
【図８】本発明の実施形態に係るネットワークスイッチを用いたネットワークシステムを示す図である。
【発明を実施するための形態】
【００１４】
図１は通常のネットワークスイッチ１０の構成例である。図１のネットワークスイッチ１０はハードウェアスイッチであり、スイッチング部２０と、該スイッチング部２０に接続されるフレーム条件記憶部３０と処理ルール記憶部４０とを含む。
【００１５】
スイッチング部２０にフレームが入力されると、スイッチング部２０はフレーム条件記憶部３０を参照する。フレーム条件記憶部３０内のデータに、入力されたフレームに合致するフレーム条件が存在した場合は、処理ルール記憶部４０から該フレーム条件に対応する処理ルールが検索され、スイッチング部は該処理ルールに基づき、入力されたフレームを処理・出力する。
【００１６】
このような通常のネットワークスイッチにおいては、例えばＩＣチップにフレームの処理方法を記載したリストが格納されており、フレームのヘッダに記載されたＭＡＣアドレスがリストに記載の何れのデータに合致するか、パラレルで検索することができる。このため、メモリに格納されたプログラムやテーブル等により、ＭＡＣアドレスが何れのデータに合致するか、プログラムを一行ずつ実行して確認するソフトウェアスイッチを用いた場合に比較して、処理ルールを得るまでの遅延が小さくなる。一方で、メモリの容量を大きくすることにより、記憶される処理ルールのデータ量を増加させることの可能なソフトウェアスイッチに比較すると、図１に記載のハードウェアスイッチは、フレーム条件や処理ルールを記憶する容量が小さいという欠点が存在する。
【００１７】
また、例えば音声に係るフレームの送信時のように、フレームを低遅延で送信する必要のある場合が存在する一方で、ファイルサーバからのダウンロード時のように、低遅延でのフレームの送信が求められず、フレーム送信のタイミングに波があっても問題のない場合が存在する。
【００１８】
制御ネットワークにおいても同様に、フレームには、低遅延で処理する必要のあるフレームと、低遅延で処理する必要のないフレームとが混在する場合がある。図２に記載のように、例えば工場やプラントにおいて製品を製造する際、ＰＬＣ（Programmable Logic Controller）から各工作機器に指示を出し、各工作機器において指示の実行が終了したら、各工作機器がＰＬＣに応答を返す通信で用いるフレームは、低遅延で通信する必要がある。一方で、単に各工作機器の状態や情報をＰＬＣに通知するのみの通信で用いるフレームは、低遅延で通信する必要はない。
【００１９】
そこで、本発明の第１の実施形態として、ネットワークスイッチを図３に記載の構成とする。
【００２０】
本発明のネットワークスイッチ１００は、ハードウェアスイッチ部２００と、該ハードウェアスイッチ部２００の後段に接続されたソフトウェアスイッチ部３００と、双方のスイッチ部の後段に接続されたマルチプレクサ４００とを含む。
【００２１】
上記のハードウェアスイッチ部２００は、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０と、ハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０と、双方の記憶部に接続されるスイッチング部２３０とを含む。
【００２２】
上記のソフトウェアスイッチ部３００は、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０と、ソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０と、ソフトウェアスイッチ（ＳＳ）最終処理ルール記憶部３３０と、これらの記憶部に接続されるスイッチング部３４０とを含む。
【００２３】
更に、上記のマルチプレクサ４００は、上記のスイッチング部２３０と上記のスイッチング部３４０の双方の後段に接続される。
【００２４】
また、上記のネットワークスイッチ１００の外部に、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０に格納されるフレーム条件を設定するハードウェアスイッチ（ＨＳ）フレーム条件設定手段７１０が存在するものとする。同様に、ハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０に格納される処理ルールを設定するハードウェアスイッチ（ＨＳ）処理ルール設定手段７２０、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０に格納されるフレーム条件を設定するソフトウェアスイッチ（ＳＳ）フレーム条件設定手段７３０、ソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０に格納される処理ルールを設定するソフトウェアスイッチ（ＳＳ）処理ルール設定手段７４０、ソフトウェアスイッチ（ＳＳ）最終処理ルール記憶部３３０に格納される最終処理ルールを設定するソフトウェアスイッチ（ＳＳ）最終処理ルール設定手段７５０が、ネットワークスイッチ１００の外部に存在するものとする。
【００２５】
ユーザはこれらの設定手段を用いて手動で、各フレーム条件及び各処理ルールを入力・設定してもよく、他の装置からの自動制御により、これらの設定手段が、各フレーム条件及び各処理ルールを設定してもよい。
【００２６】
ネットワークスイッチ１００の動作の概略は以下の通りである。
【００２７】
ネットワークスイッチ１００に入力されたフレームは、最初にハードウェアスイッチ部２００内のスイッチング部２３０に入力される。
【００２８】
スイッチング部２３０は、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０を参照し、入力されたフレームに合致するフレーム条件を検索する。ここで、該フレーム条件は、入力されたフレームに対する所定値未満の遅延での処理が要求されることを示すフレーム条件である。
【００２９】
合致するフレーム条件が存在する場合は、該フレーム条件に対応し、ハードウェアスイッチ（ＨＳ）処理ルール記憶部に格納された処理ルールを用い、スイッチング部２３０に入力されたフレームを処理する。
【００３０】
合致するフレーム条件が存在しない場合は、スイッチング部２３０に入力されたフレームは、ソフトウェアスイッチ部３００のスイッチング部３４０に転送される。
【００３１】
スイッチング部３４０は、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０を参照し、入力されたフレームに合致するフレーム条件を検索する。
【００３２】
合致するフレーム条件が存在する場合は、該フレーム条件に対応し、ソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０に格納された処理ルールを用い、スイッチング部３４０に入力されたフレームを処理する。
【００３３】
合致するフレーム条件が存在しない場合は、ソフトウェアスイッチ（ＳＳ）最終処理ルール記憶部３３０に格納された最終処理ルールを用い、スイッチング部３４０に入力されたフレームを処理する。
【００３４】
スイッチング部２３０、及び／又はスイッチング部３４０を通過したフレームは、マルチプレクサ４００を経由して、ネットワークスイッチ１００の外部に出力される。
【００３５】
ここで、ネットワークスイッチ１００の動作の具体例を、図４記載のフローチャートに示す。
【００３６】
ネットワークスイッチ１００にフレームが入力されると（ＳＴＥＰ１００１）、該フレームはまずハードウェアスイッチ部２００に入力される（ＳＴＥＰ１００２）。
【００３７】
ここで、上記のように、ハードウェアスイッチ部２００のスイッチング部２３０は、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０を参照し、入力されたフレームに合致するフレーム条件を検索する（ＳＴＥＰ１００３）。
【００３８】
入力されたフレームに合致する出力条件が存在する場合（ＳＴＥＰ１００３の「出力条件に合致」）は、フレームはマルチプレクサ４００を経由して（ＳＴＥＰ１００４）、ネットワークスイッチ１００から出力される（ＳＴＥＰ１００５）。
【００３９】
入力されたフレームに合致する廃棄条件が存在する場合（ＳＴＥＰ１００３の「廃棄条件に合致」）は、フレームは廃棄される（ＳＴＥＰ１００６）。
【００４０】
入力されたフレームに合致する出力条件も廃棄条件も存在しない場合（ＳＴＥＰ１００３の「合致条件なし」）は、フレームはソフトウェアスイッチ部３００に入力される（ＳＴＥＰ１００７）。
【００４１】
ここで、上記のように、ソフトウェアスイッチ部３００のスイッチング部３４０は、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０を参照し、入力されたフレームに合致するフレーム条件を検索する（ＳＴＥＰ１００８）。
【００４２】
入力されたフレームに合致する出力条件が存在する場合（ＳＴＥＰ１００８の「出力条件に合致」）は、フレームはマルチプレクサ４００を経由して（ＳＴＥＰ１００９）、ネットワークスイッチ１００から出力される（ＳＴＥＰ１０１０）。
【００４３】
入力されたフレームに合致する廃棄条件が存在する場合（ＳＴＥＰ１００８の「廃棄条件に合致」）は、フレームは廃棄される（ＳＴＥＰ１０１１）。
【００４４】
入力されたフレームに合致する出力条件も廃棄条件も存在しない場合（ＳＴＥＰ１００８の「合致条件なし」）は、フレームは、ソフトウェアスイッチ（ＳＳ）最終処理ルール記憶部３３０に記憶された最終処理ルールに従い、廃棄される（ＳＴＥＰ１０１２）。
【００４５】
なお、図３のフローチャートを用いて示した実施例はあくまで一例であり、ネットワークスイッチ１００の各部は、各ステップにおいて図３とは異なる動作を実施してもよい。例えば、ＳＴＥＰ１００８において、入力されたフレームに合致する出力条件も廃棄条件も存在しない場合は、ＳＴＥＰ１０１２においてフレームが廃棄されるとしたが、これとは異なり、ネットワークスイッチ１００からフレームを出力してもよい。
【００４６】
上記のハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０及びハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０、又はソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０及びソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０に記憶されるフレーム条件と処理ルールのデータ例を、図５に示す。
【００４７】
図５に示す２つの表の内、左側の表をハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０が記憶し、右側の表をハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０が記憶する。また、左側の表の各行は、右側の表の各行に対応する。
【００４８】
例えば、ハードウェアスイッチ部２００のスイッチング部２３０に受信ポート１から入力されたフレームのデータリンク層が“ＭＡＣ−ＳＡ  １”、ネットワーク層が“１−ＩＰＳＡ／ＩＰＤＡ  Ｐｒｏｔｏｃｏｌ”、トランスポート層が“１−Ｌ４ＳＰ／ＤＰ”だった場合は、当該フレームをポート２に送信する。（ここでは説明を省くが、記載されていないヘッダ内の情報を組み合わせることもできる。）
また、ハードウェアスイッチ部２００のスイッチング部２００に受信ポート１から入力されたフレームのデータリンク層が“ＭＡＣ−ＳＡ  １”、ネットワーク層が“１−ＩＰＳＡ／ＩＰＤＡ  Ｐｒｏｔｏｃｏｌ”、トランスポート層が“２−Ｌ４ＳＰ／ＤＰ”だった場合は、本来出力すべきポートに当該フレームを出力せず廃棄し、ポート２２にミラーリングして、ログを記録する。
【００４９】
また、ハードウェアスイッチ部２００のスイッチング部２３０に受信ポート２から入力されたフレームのデータリンク層が“ＭＡＣ−ＳＡ  ２”、ネットワーク層が“２−ＩＰＳＡ／ＩＰＤＡ  Ｐｒｏｔｏｃｏｌ”、トランスポート層が“３−Ｌ４ＳＰ／ＤＰ”だった場合は、当該フレームをポート１に送信する。
【００５０】
また、ハードウェアスイッチ部２００のスイッチング部２３０に受信ポート２から入力されたフレームのデータリンク層が“ＭＡＣ−ＳＡ  ２”、ネットワーク層が“２−ＩＰＳＡ／ＩＰＤＡ  Ｐｒｏｔｏｃｏｌ”、トランスポート層が“４−Ｌ４ＳＰ／ＤＰ”だった場合は、本来出力すべきポートに当該フレームを出力せず廃棄し、ポート２３にミラーリングして、ログを記録する。
【００５１】
上記では、ハードウェアスイッチ部２００のスイッチング部２３０にフレームが入力された場合について述べたが、ソフトウェアスイッチ部３００のスイッチング部３４０にフレームが入力された場合も同様である。
【００５２】
また、図４の表は、フレーム条件と処理ルールのデータのあくまで一例であって、本発明の実施形態はこれには限定されない。例えば、フレーム条件には、フレームのヘッダ及び実データのうち任意の部分のデータを用いることが可能である。またフレームの廃棄を示す処理ルールにおいて、ミラーリングやログの記録を指示しなくてもよい。
【００５３】
なお、上記の実施形態では、ハードウェアスイッチ部２００及びソフトウェアスイッチ部３００がそれぞれ一段ずつとし、低遅延での処理が求められるフレームをハードウェアスイッチ部２００で、低遅延での処理が求められないフレームをソフトウェアスイッチ部３００で処理しているが、ハードウェアスイッチ部２００を多段としてもよい。これにより、低遅延での処理が求められるフレームを一段目のハードウェアスイッチ部で、中遅延で処理しても構わないフレームを二段目以降のハードウェアスイッチ部で、高遅延で処理しても構わないフレームをソフトウェアスイッチ部で処理することが可能となる。
【００５４】
上記の第１の実施形態により、低遅延での処理が求められるフレームは、低遅延で処理することが可能であると共に、ソフトウェアスイッチ部のメモリ容量を必要に応じて増加させることにより、通常のネットワークスイッチに比較して、より多くの処理ルールを記憶することが可能となる。
【００５５】
本発明の第２の実施形態に係るネットワークスイッチ１５０を図６に示す。なお、図２に記載の第１の実施形態に係るネットワークスイッチ１００と同一の構成要素については、同一の符号を用いて示す。
【００５６】
ネットワークスイッチ１５０は、ネットワークスイッチ１００に比較して、振分部５００を更に含む点で異なる。また、図３においては、ネットワークスイッチ１００の外部に、ハードウェアスイッチ（ＨＳ）フレーム条件設定手段７１０、ハードウェアスイッチ（ＨＳ）処理ルール設定手段７２０、ソフトウェアスイッチ（ＳＳ）フレーム条件設定手段７３０、ソフトウェアスイッチ（ＳＳ）処理ルール設定手段７４０、ソフトウェアスイッチ（ＳＳ）最終処理ルール設定手段７５０が存在するものとしていたが、図５においては、ネットワークスイッチ１５０の外部に、フレーム条件設定手段７６０と、処理ルール設定手段７７０とが存在するものとする。
【００５７】
上記の振分部５００は、フレーム条件設定手段７６０から入力されたフレーム条件データが、ハードウェアスイッチ部２００で用いられる条件か、ソフトウェアスイッチ部３００で用いられる条件かを判別し、判別結果に応じて、当該フレーム条件のデータをハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０及びソフトウェアスイッチ（ＳＳ）記憶部３１０のいずれかに格納する。それに伴い、処理ルール設定手段７７０から入力され、上記のフレーム条件のデータに対応する処理ルールデータを、ハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０及びソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０のいずれかに格納する。
【００５８】
具体的には、ユーザが、フレーム条件設定手段７１０、及び処理ルール設定手段７７０を用いて、フレーム条件及び処理ルールを設定する際、例えば、
“set rule ＜フレーム条件＞＜転送ルール＞＜振分条件＞”（＜振分条件＞は“０”又は“１”の数値）；
等のコマンドを用いる。その上で、入力された振分条件が“０”であれば、振分部５００が、“set rule”以下のフレーム条件及び転送ルールをそれぞれ、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０及びハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０に格納する。一方で、入力された振分条件が“１”であれば、振分部５００が、“set rule”以下のフレーム条件及び転送ルールをそれぞれ、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０及びソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０に格納する。なお、この“０”と“１”とは、逆であってもよい。
【００５９】
別法として、図７に記載するような、ＩＰパケットのヘッダ中に記載される「サービス種別」（ＴｏＳ：Type of Service）のデータと、振分条件値（上記の“０”又は“１”）との対応表を振分部に格納すると同時に、フレーム条件及び処理ルールを設定する際、例えば、
“set rule ＜フレーム条件＞＜転送ルール＞＜ＴｏＳ＞”（＜ＴｏＳ＞は“０”〜“２５５”までの数値）；
等のコマンドを用いてもよい。これにより、ＴｏＳが対応する振分条件値が“０”の場合は、振分部５００が、入力されたフレーム条件及び転送ルールを、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０及びハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０の組に格納する。一方で、ＴｏＳが対応する振分条件値が“１”の場合は、振分部５００が、入力されたフレーム条件及び転送ルールを、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０及びソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０の組に格納する。
【００６０】
あるいは、入力されたフレーム条件及び処理ルールのデータに、通信特性を判定する識別子に係るデータが存在する場合、当該識別子に基づいて、振分部５００でフレーム条件および処理ルールのデータを自動的に振り分けてもよい。
【００６１】
例えば、産業用リアルタイムＥｔｈｅｒｎｅｔ（登録商標）技術を用いた統合オープンネットワークであるＣＣ．ＬｉｎｋＩＥでは、１Ｇｂｐｓの通信帯域を、Ｉ／Ｏ制御用のサイクリック通信用帯域と、トレーサビリティや機器の診断データを収集するトランジェント通信用帯域とに分割している。このサイクリック通信においては、低遅延でのフレームの転送が求められる。そこで、入力されるフレーム条件や処理ルールのデータに含まれる通信特性を判定する識別子がサイクリック通信であることを示す場合は、振分部５００は、当該フレーム条件のデータ、及び処理ルールのデータの各々を、ハードウェアスイッチ（ＨＳ）フレーム条件記憶部２１０及びハードウェアスイッチ（ＨＳ）処理ルール記憶部２２０に振り分ける。一方で、上記の識別子がトランジェント通信であることを示す場合は、振分部５００は、当該フレーム条件のデータ、及び処理ルールのデータの各々を、ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部３１０及びソフトウェアスイッチ（ＳＳ）処理ルール記憶部３２０に振り分ける。
【００６２】
上記の振分部５００により、特定条件に合致するフレームを出力する第１のフロー、特定条件に合致するフレームを廃棄する第２のフロー、及び特定条件に合致するフレームの出力／廃棄を規定しない第３のフローの合計３種のフローが、図４のフローチャートに記載の、ＳＴＥＰ１００５に至るフロー、ＳＴＥＰ１００６に至るフロー、ＳＴＥＰ１０１０に至るフロー、ＳＴＥＰ１０１１に至るフロー、及びＳＴＥＰ１０１２に至るフローの５つのフローに区分される。
【００６３】
上記の第２の実施形態により、設定するフレーム条件および処理ルールが、ハードウェアスイッチ部２００で用いられるか、ソフトウェアスイッチ部３００で用いられるものかに応じて、ハードウェアスイッチ（ＨＳ）フレーム条件設定手段７１０及びハードウェアスイッチ（ＨＳ）処理ルール設定手段７２０の組と、ソフトウェアスイッチ（ＳＳ）フレーム条件設定手段７３０及びソフトウェアスイッチ（ＳＳ）処理ルール設定手段７４０の組との間で、設定手段をいちいち使い分ける必要なく、フレーム条件および処理ルールを各スイッチ部に振り分けることが可能となる。
【００６４】
上記の第１の実施形態及び第２の実施形態に係るネットワークスイッチを、１つ又は複数用いることにより、例えば図８に記載のスイッチドファブリックによるネットワークシステムを実現することが可能である。
【００６５】
以上、上記各実施例を参照して本発明を説明したが、本発明は上記各実施例に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。
【００６６】
なお、上記ネットワークスイッチ、スイッチングシステム、ネットワークシステムの各部分は、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。また、上記のネットワークスイッチにより行われるスイッチング方法も、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行すること、又は、ハードウェアがプログラムに相当するマイクロコードに従って動作することにより実現されることを意味する。
【００６７】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６８】
上記の実施形態の一部または全部は、以下の付記のようにも記載されるが、以下には限られない。
【００６９】
（付記１）
ネットワークスイッチにおいて、
許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行うハードウェアスイッチ部と、
前記ハードウェアスイッチ部の後段に接続され、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行うソフトウェアスイッチ部と、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続され、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力するマルチプレクサとを備えるネットワークスイッチ。
【００７０】
（付記２）
付記１に記載のネットワークスイッチにおいて、
前記ハードウェアスイッチ部が、
第１の処理を行うフレームの第１の条件を記憶する第１のフレーム条件記憶部と、
前記第１の条件に合致したフレームの処理ルールを記憶する第１の処理ルール記憶部と、
前記第１の条件に合致したフレームに対して、前記処理ルールに基づき、前記第１の処理であるスイッチング又は廃棄を行い、前記第１の条件に合致しないフレームを前記ソフトウェアスイッチ部に転送する第１のスイッチング部とを備えることを特徴とするネットワークスイッチ。
【００７１】
（付記３）
付記２に記載のネットワークスイッチにおいて、
前記ソフトウェアスイッチ部が、
第２の処理を行うフレームの第２の条件を記憶する第２のフレーム条件記憶部と、
前記第２の条件に合致したフレームの処理ルールを記憶する第２の処理ルール記憶部と、
前記第２の条件に合致したフレームに対して、前記処理ルールに基づき、前記第２の処理であるスイッチング又は廃棄を行う第２のスイッチング部とを備えることを特徴とするネットワークスイッチ。
【００７２】
（付記４）
付記３に記載のネットワークスイッチにおいて、
前記ソフトウェアスイッチ部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームの最終処理ルールを記憶する最終処理ルール記憶部を更に備え、
前記第２のスイッチング部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームに対して、前期最終処理ルールに基づきスイッチング又は廃棄を行うことを特徴とするネットワークスイッチ。
【００７３】
（付記５）
付記３又は４に記載のネットワークスイッチにおいて、
外部のフレーム条件設定手段から入力されたフレーム条件データを、前記第１のフレーム条件記憶部及び前記第２のフレーム条件記憶部のいずれかに振り分け、外部の処理ルール設定手段から入力された処理ルールデータを、前記第１の処理ルール記憶部及び前記第２の処理ルール記憶部のいずれかに振り分ける振分部を更に備えることを特徴とするネットワークスイッチ。
【００７４】
（付記６）
付記２乃至５のいずれか１に記載のネットワークスイッチにおいて、
前記フレーム条件には、前記フレームのデータリンク層、ネットワーク層、トランスポート層のうち一つ以上の層のデータを用いることを特徴とするネットワークスイッチ。
【００７５】
（付記７）
付記１乃至６のいずれか１に記載のネットワークスイッチにおいて、
前記フレームを破棄する際は、ミラーリング出力することを特徴とするネットワークスイッチ。
【００７６】
（付記８）
付記１乃至７のいずれか１に記載のネットワークスイッチにおいて、
前記フレームを廃棄する際は、ログを記録することを特徴とするネットワークスイッチ。
【００７７】
（付記９）
付記４に記載のネットワークスイッチと、
前記第１のフレーム条件を設定する第１のフレーム条件設定手段と、
前記第１の処理ルールを設定する第１の処理ルール設定手段と、
前記第２のフレーム条件を設定する第２のフレーム条件設定手段と、
前記第２の処理ルールを設定する第２の処理ルール設定手段と、
前記最終処理ルールを設定する最終処理ルール設定手段とを備えることを特徴とするスイッチングシステム。
【００７８】
（付記１０）
付記５に記載のネットワークスイッチと、
前記フレーム条件設定手段と、
前記処理ルール設定手段とを備えることを特徴とするスイッチングシステム。
【００７９】
（付記１１）
付記１乃至８のいずれか１項に記載のネットワークスイッチを一つ以上備えるネットワークシステム。
【００８０】
（付記１２）
ネットワークスイッチで用いられるスイッチング方法であって、
ハードウェアスイッチ部が、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング方法。
【００８１】
（付記１３）
付記１２に記載のスイッチング方法において、
前記ハードウェアスイッチ部が、
第１の処理を行うフレームの第１の条件を記憶する第１のフレーム条件記憶部と、
前記第１の条件に合致したフレームの処理ルールを記憶する第１の処理ルール記憶部と、
前記第１の条件に合致したフレームに対して、前記処理ルールに基づき、前記第１の処理であるスイッチング又は廃棄を行う第１のスイッチング部とを備えることを特徴とするスイッチング方法。
【００８２】
（付記１４）
付記１３に記載のスイッチング方法において、
前記ソフトウェアスイッチ部が、
第２の処理を行うフレームの第２の条件を記憶する第２のフレーム条件記憶部と、
前記第２の条件に合致したフレームの処理ルールを記憶する第２の処理ルール記憶部と、
前記第２の条件に合致したフレームに対して、前記処理ルールに基づき、前記第２の処理であるスイッチング又は廃棄を行う第２のスイッチング部とを備えることを特徴とするスイッチング方法。
【００８３】
（付記１５）
付記１４に記載のスイッチング方法において、
前記ソフトウェアスイッチ部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームの最終処理ルールを記憶する最終処理ルール記憶部を更に備え、
前記第２のスイッチング部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームに対して、前期最終処理ルールに基づきスイッチング又は廃棄を行うことを特徴とするスイッチング方法。
【００８４】
（付記１６）
付記１４又は１５に記載のスイッチング方法において、
振分部が、外部のフレーム条件設定手段から入力されたフレーム条件データを、前記第１のフレーム条件記憶部及び前記第２のフレーム条件記憶部のいずれかに振り分け、外部の処理ルール設定手段から入力された処理ルールデータを、前記第１の処理ルール記憶部及び前記第２の処理ルール記憶部のいずれかに振り分けることを特徴とするスイッチング方法。
【００８５】
（付記１７）
付記１３乃至１６のいずれか１に記載のスイッチング方法において、
前記フレーム条件には、前記フレームのデータリンク層、ネットワーク層、トランスポート層のうち一つ以上の層のデータを用いることを特徴とするスイッチング方法。
【００８６】
（付記１８）
付記１２乃至１７のいずれか１に記載のスイッチング方法において、
前記フレームを破棄する際は、ミラーリング出力することを特徴とするスイッチング方法。
【００８７】
（付記１９）
付記１２乃至１８のいずれか１に記載のスイッチング方法において、
前記フレームを廃棄する際は、ログを記録することを特徴とするスイッチング方法。
【００８８】
（付記２０）
ネットワークスイッチで用いられるスイッチング方法をコンピュータに実行させるためのスイッチング用プログラムであって、
前記スイッチング方法は、
ハードウェアスイッチ部が、許容遅延量が所定値未満のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部の後段に接続されたソフトウェアスイッチ部が、許容遅延量が前記所定値以上のフレームのスイッチング又は廃棄を行い、
前記ハードウェアスイッチ部及び前記ソフトウェアスイッチ部の双方の後段に接続されたマルチプレクサが、前記ハードウェアスイッチ部、及び／又は前記ソフトウェアスイッチ部を通過したフレームを出力することを特徴とするスイッチング用プログラム。
【００８９】
（付記２１）
付記２０に記載のスイッチング用プログラムにおいて、
前記ハードウェアスイッチ部が、
第１の処理を行うフレームの第１の条件を記憶する第１のフレーム条件記憶部と、
前記第１の条件に合致したフレームの処理ルールを記憶する第１の処理ルール記憶部と、
前記第１の条件に合致したフレームに対して、前記処理ルールに基づき、前記第１の処理であるスイッチング又は廃棄を行う第１のスイッチング部とを備えることを特徴とするスイッチング用プログラム。
【００９０】
（付記２２）
付記２１に記載のスイッチング用プログラムにおいて、
前記ソフトウェアスイッチ部が、
第２の処理を行うフレームの第２の条件を記憶する第２のフレーム条件記憶部と、
前記第２の条件に合致したフレームの処理ルールを記憶する第２の処理ルール記憶部と、
前記第２の条件に合致したフレームに対して、前記処理ルールに基づき、前記第２の処理であるスイッチング又は廃棄を行う第２のスイッチング部とを備えることを特徴とするスイッチング用プログラム。
【００９１】
（付記２３）
付記２２に記載のスイッチング用プログラムにおいて、
前記ソフトウェアスイッチ部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームの最終処理ルールを記憶する最終処理ルール記憶部を更に備え、
前記第２のスイッチング部が、前記第１の条件にも前記第２の条件にも合致しなかったフレームに対して、前期最終処理ルールに基づきスイッチング又は廃棄を行うことを特徴とするスイッチング用プログラム。
【００９２】
（付記２４）
付記２２又は２３に記載のスイッチング用プログラムにおいて、
外部のフレーム条件設定手段から入力されたフレーム条件データを、前記第１のフレーム条件記憶部及び前記第２のフレーム条件記憶部のいずれかに振り分け、外部の処理ルール設定手段から入力された処理ルールデータを、前記第１の処理ルール記憶部及び前記第２の処理ルール記憶部のいずれかに振り分ける振分部を更に備えることを特徴とするスイッチング用プログラム。
【００９３】
（付記２５）
付記２１乃至２４のいずれか１に記載のスイッチング用プログラムにおいて、
前記フレーム条件には、前記フレームのデータリンク層、ネットワーク層、トランスポート層のうち一つ以上の層のデータを用いることを特徴とするスイッチング用プログラム。
【００９４】
（付記２６）
付記２０乃至２５のいずれか１に記載のスイッチング用プログラムにおいて、
前記フレームを破棄する際は、ミラーリング出力することを特徴とするスイッチング用プログラム。
【００９５】
（付記２７）
付記２０乃至２６のいずれか１に記載のスイッチング用プログラムにおいて、
前記フレームを廃棄する際は、ログを記録することを特徴とするスイッチング用プログラム。
【産業上の利用可能性】
【００９６】
本発明は、制御ネットワークの分野で用いることが可能である。また他の分野、例えば、データセンターの分野に応用することも可能である。
【符号の説明】
【００９７】
１０  ネットワークスイッチ
２０  スイッチング部
３０  フレーム条件記憶部
４０  処理ルール記憶部
５０  フレーム条件設定手段
６０  処理ルール設定手段
１００  ネットワークスイッチ
２００  ハードウェアスイッチ部
２１０  ハードウェアスイッチ（ＨＳ）フレーム条件記憶部
２２０  ハードウェアスイッチ（ＨＳ）処理ルール記憶部
２３０  スイッチング部
３００  ソフトウェアスイッチ部
３１０  ソフトウェアスイッチ（ＳＳ）フレーム条件記憶部
３２０  ソフトウェアスイッチ（ＳＳ）処理ルール記憶部
３３０  ソフトウェアスイッチ（ＳＳ）最終処理ルール記憶部
３４０  スイッチング部
４００  マルチプレクサ
５００  振分部
７１０  ハードウェアスイッチ（ＨＳ）フレーム条件設定手段
７２０  ハードウェアスイッチ（ＨＳ）処理ルール設定手段
７３０  ソフトウェアスイッチ（ＳＳ）フレーム条件設定手段
７４０  ソフトウェアスイッチ（ＳＳ）処理ルール設定手段
７５０  ソフトウェアスイッチ（ＳＳ）最終処理ルール設定手段
８１０  ホスト
８２０  スレーブ
８３０  記憶装置
【図１】
0006717623.tif 000002
【図２】
0006717623.tif 000003
【図３】
0006717623.tif 000004
【図４】
0006717623.tif 000005
【図５】
0006717623.tif 000006
【図６】
0006717623.tif 000007
【図７】
0006717623.tif 000008
【図８】
0006717623.tif 000009