(57)【要約】【課題】データ転送制御を適切に実行することが可能なスイッチ、情報処理装置およびデータ転送制御方法を提供する【解決手段】複数のデバイス間におけるデータ転送を制御可能なスイッチ１０１〜１０３であって、デバイスと接続可能なポートと、ポートを通過するトラフィックの転送率が所定値以上であるか否かを判断する判断手段と、判断手段によってトラフィックの転送率が所定値以上であると判断された場合、ポートを通過するトラフィックの中で優先度の低いトラフィックを制限する制限手段と、を具備する。【選択図】図１
2010218455.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイス間におけるデータ転送を制御可能なスイッチであって、
前記デバイスと接続可能なポートと、
前記ポートを通過するトラフィックの転送率が所定値以上であるか否かを判断する判断手段と、
前記判断手段によって前記トラフィックの転送率が所定値以上であると判断された場合、前記ポートを通過するトラフィックの中で優先度の低いトラフィックを制限する制限手段と、
を具備することを特徴とするスイッチ。
【請求項２】
前記判断手段は、前記ポートを通過する全てのトラフィックの転送率の合計値が所定値以上であるか否かを判断することを特徴とする請求項１に記載のスイッチ。
【請求項３】
前記判断手段は、前記ポートを通過する特定のトラフィックの転送率が所定値以上であるか否かを判断することを特徴とする請求項１に記載のスイッチ。
【請求項４】
前記制限手段は、前記ポート以外の当該スイッチの有するポートの中で前記トラフィックが通過するポートを特定し、当該特定されたポートを通過するトラフィックの中で優先度が低いトラフィックを制限することを特徴とする請求項１に記載のスイッチ。
【請求項５】
前記制限手段は、前記ポートを通過するトラフィックの中で優先度の低いトラフィックの転送を停止または減速することを特徴とする請求項１に記載のスイッチ。
【請求項６】
前記ポートを通過するトラフィックの転送の有無に関する情報、前記ポートを通過するトラフィックの中でいずれのトラフィックの転送を優先して実行するかを示す情報、トラフィックの転送率を示す情報、トラフィックの制限内容を示す情報を記憶される記憶手段をさらに具備し、
前記ポートは、前記記憶手段に前記トラフィックの転送有りと設定されている場合に、前記トラフィックを通過させ、
前記判断手段は、前記記憶手段に記憶された前記トラフィックの転送率を示す情報に基づいて判断を行い、
前記制限手段は、前記ポートを通過するトラフィックの中でいずれのトラフィックの転送を優先して実行するかを示す情報に基づいて決定される優先度の低いトラフィックを前記トラフィックの制限内容を示す情報に基づいて制限することを特徴とする請求項１に記載のスイッチ。
【請求項７】
前記記憶手段は、当該スイッチが有するポート毎に設けられることを特徴とする請求項６に記載のスイッチ。
【請求項８】
複数のデバイス間におけるデータ転送を実行可能な情報処理装置であって、
外部からの入力に応じて当該情報処理装置の動作モードを設定する設定手段と、
前記複数のデバイス間におけるデータ転送を制御するスイッチと、
を具備し、
前記スイッチは、
前記デバイスと接続可能なポートと、
前記ポートを通過するトラフィックの転送率が、前記設定手段によって設定された動作モードに対応した所定値以上であるか否かを判断する判断手段と、
前記判断手段によって前記トラフィックの転送率が所定値以上であると判断された場合、前記ポートを通過するトラフィックの中で、前記設定手段によって設定された動作モードに対応した優先度の低いトラフィックを制限する制限手段と、
を具備することを特徴とする情報処理装置。
【請求項９】
プロッタに送信されるトラフィックに対応付けられている優先度が他のトラフィックに対応付けられている優先度よりも高いことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記トラフィックは印刷データであり、前記プロッタに既に送信済みの印刷データの量に応じて異なる優先度が対応付けられており、前記プロッタに送信すべき未送信の前記データのデータ残量が少ないほどより高い優先度が対応付けられていることを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記トラフィックの転送率を示す転送率情報および前記ポートを通過するトラフィックの中でいずれのトラフィックの転送を優先して実行するかを示す優先度情報を動作モードに対応付けて記憶する記憶手段と、
前記設定手段により設定された動作モードに対応して前記記憶手段に記憶されている前記転送率情報および前記優先度情報を前記スイッチの有する第２の記憶手段に設定する第２の設定手段と、
をさらに具備することを特徴とする請求項８に記載の情報処理装置。
【請求項１２】
複数のデバイス間におけるデータ転送を制御可能なスイッチにて実行されるデータ転送制御方法において、
前記ポートを通過するトラフィックの転送率が所定値以上であるか否かを判断し、
前記トラフィックの転送率が所定値以上であると判断した場合、前記ポートを通過するトラフィックの中で優先度の低いトラフィックを制限することを特徴とするデータ転送制御方法。
【請求項１３】
複数のデバイス間におけるデータ転送を制御可能な情報処理装置にて実行されるデータ転送制御方法において、
外部からの入力に応じて当該情報処理装置の動作モードを設定し、
前記デバイス接続するためのポートを有するスイッチが、前記ポートを通過するトラフィックの転送率が前記設定された動作モードに対応した所定値以上であるか否かを判断し、
前記トラフィックの転送率が所定値以上であると判断された場合、前記スイッチが、前記ポートを通過するトラフィックの中で前記設定された動作モードに対応した優先度の低いトラフィックを制限することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバイス間におけるデータ転送を制御するスイッチ、情報処理装置およびデータ転送制御方法に関する。
【背景技術】
【０００２】
一般に、画像データやその他のデータを扱うデジタル複写機、複合機（ＭＦＰ）等の情報処理装置では、デバイス間のインタフェースにＰＣＩバスが使用されている。複合機(ＭＦＰ)は、コピー、プリンタ、ＦＡＸなど複合機能を備えており、スキャナコントローラ、プロッタコントローラ、オプションデバイスなどがＰＣＩバス上に接続されている。
【０００３】
近年、画像データの多様化に伴い１ライン周期内で転送するデータ量が増大しており、バスマスタを効率よく制御しないと、データ抜けが発生するという問題が生じるようになってきた。データ抜けを防止するため、例えば特許文献１にかかる画像形成装置は、ＰＣＩバス上にデータ転送量を管理するコントローラを備えている。コントローラは、各種転送データ量をカウントし、カウントしたデータ量に基づいてＰＣＩバスの設定を変更する。これにより、過不足なくデータ転送を行うことができる。
【０００４】
しかしながら、パラレル方式のＰＣＩバスは、レーシングやスキューなどの問題がある。このため、近年の高速・高画質の画像形成装置にパラレル方式のＰＣＩバスを適用するにはＰＣＩバスの転送レートが低過ぎる段階にきている。最近ではＰＣＩバス方式の後継規格に当たるＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）なるインタフェースも提案され、実用化の段階にきている。さらに、近年においては、ＰＣＩ  Ｅｘｐｒｅｓｓ  アーキテクチャに基づく高速シリアルスイッチファブリックであるＡｄｖａｎｃｅｄ  Ｓｗｉｔｃｈｉｎｇ  Ｉｎｔｅｒｃｏｎｎｅｃｔ規格も策定されている。
【０００５】
これらの技術をもとに、高速シリアルスイッチファブリックを用いると共に、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるスイッチで接続されたプリンタやＭＦＰも提案されている（特許文献２、特許文献３参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
パラレル方式のＰＣＩバスにデバイスを接続するシステムでは、すべてのトラフィックが共通のバスを経由する。このため、バス上に接続したトラフィック検出回路ですべてのトラフィックの検出、管理を行うことができる。
【０００７】
一方、高速シリアルスイッチファブリックを介して複数のデバイスが接続されたシステムにおいては、データ転送は複数のスイッチを経由して行われる。このようなシステム内部において、あるスイッチの１つの出力ポートに瞬間的に過大なトラフィックが発生すると、このトラフィックの転送により、異なる出力ポートのトラフィックの転送能力が低下する場合がある。さらには、あるスイッチのトラフィックの発生が、他のスイッチのトラフィックにおける転送能力にまで影響を与える場合もある。しかしながら、データ転送は複数のスイッチを経由して行われるため、システム全体のトラフィックを１箇所で検出、管理することができないという問題がある。特に、データ転送速度を維持したいトラフィックが存在する場合であっても、システム全体のトラフィックを管理することができないため、所定のトラフィックのデータ転送速度を維持するのが困難であった。
【０００８】
本発明は、上記に鑑みてなされたものであって、データ転送制御を適切に実行することが可能なスイッチ、情報処理装置およびデータ転送制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数のデバイス間におけるデータ転送を制御可能なスイッチであって、前記デバイスと接続可能なポートと、前記ポートを通過するトラフィックの転送率が所定値以上であるか否かを判断する判断手段と、前記判断手段によって前記トラフィックの転送率が所定値以上であると判断された場合、前記ポートを通過するトラフィックの中で優先度の低いトラフィックを制限する制限手段と、を具備することを特徴とする。
【００１０】
また、本発明の他の形態は、複数のデバイス間におけるデータ転送を実行可能な情報処理装置であって、外部からの入力に応じて当該情報処理装置の動作モードを設定する設定手段と、前記複数のデバイス間におけるデータ転送を制御するスイッチと、を具備し、前記スイッチは、前記デバイスと接続可能なポートと、前記ポートを通過するトラフィックの転送率が、前記設定手段によって設定された動作モードに対応した所定値以上であるか否かを判断する判断手段と、前記判断手段によって前記トラフィックの転送率が所定値以上であると判断された場合、前記ポートを通過するトラフィックの中で、前記設定手段によって設定された動作モードに対応した優先度の低いトラフィックを制限する制限手段と、を具備することを特徴とする。
【００１１】
また、本発明の他の形態は、複数のデバイス間におけるデータ転送を制御可能なスイッチにて実行されるデータ転送制御方法において、前記ポートを通過するトラフィックの転送率が所定値以上であるか否かを判断し、前記トラフィックの転送率が所定値以上であると判断した場合、前記ポートを通過するトラフィックの中で優先度の低いトラフィックを制限することを特徴とする。
【００１２】
また、本発明の他の形態は、複数のデバイス間におけるデータ転送を制御可能な情報処理装置にて実行されるデータ転送制御方法において、外部からの入力に応じて当該情報処理装置の動作モードを設定し、前記デバイス接続するためのポートを有するスイッチが、前記ポートを通過するトラフィックの転送率が前記設定された動作モードに対応した所定値以上であるか否かを判断し、前記トラフィックの転送率が所定値以上であると判断された場合、前記スイッチが、前記ポートを通過するトラフィックの中で前記設定された動作モードに対応した優先度の低いトラフィックを制限することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、データ転送制御を適切に実行することが可能なスイッチ、情報処理装置およびデータ転送制御方法を提供することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】スイッチシステムを備えた複合機１の主要な構成の一例を示す図である。
【図２】コンフィグ情報記憶部１０５のデータ構成の一例を模式的に示す図である。
【図３】第３スイッチ１０３の機能構成の一例を示すブロック図である。
【図４】コンフィグ情報のデータ構成の一例を模式的に示す図である。
【図５】複合機１の第３スイッチ１０３の第１ポートユニット１１０による処理の一例を示すフローチャートである。
【図６】第１ポートユニット１１０が他のポートからフロー制御情報を受信した場合の処理の一例を示すフローチャートである。
【図７】フロー制御処理が行われない場合の、複合機１におけるトラフィックの競合の一例を説明するための図である。
【図８】フロー制御処理の一例を説明するための図である。
【図９】フロー制御処理の一例を説明するための図である。
【図１０】フロー制御処理の一例を説明するための図である。
【図１１】フロー制御処理の一例を説明するための図である。
【図１２】フロー制御処理が行われた場合の複合機１におけるトラフィックの競合の一例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、この発明にかかるスイッチ、情報処理装置およびデータ転送制御方法の最良な実施の形態を詳細に説明する。
【００１６】
図１は、実施の形態にかかるスイッチシステムを備えた例えば複合機１といった情報処理装置の主要な構成の一例を示す図である。複合機１は、デバイスとしてのスキャナ２００と、プロッタ２０１と、ネットワーク２０２と、メモリ２０３と、ユーザインターフェース（ＵＩ）２０４と、これらのデバイスを接続する第１スイッチ１０１と、第２スイッチ１０２と、第３スイッチ１０３とを備えている。複合機１はさらに、動作モード設定部１０４と、コンフィグ情報記憶部１０５と、コンフィグ情報設定部１０６とを備えている。
【００１７】
各スイッチ１０１〜１０３は、シリアルに接続され、デバイス間のデータ転送を行う。各スイッチはそれぞれ複数のポートを有し、各ポートにより他のデバイスまたはスイッチと接続する。第１スイッチ１０１は、第１ポート、第２ポートおよび第３ポートの３つのポートを有している。第２スイッチ１０２は、第１〜第４ポートの４つのポートを有している。第３スイッチ１０３も、同様に４つのポートを有している。
【００１８】
なお、複合機１が備えるデバイスの個数および種類は一例であり、本実施の形態に限定されるものではない。また、複合機１が備えるスイッチの個数および各スイッチが備えるポートの数も一例であり、本実施の形態に限定されるものではない。
【００１９】
スキャナ２００において入力された画像をプロッタ２０１に転送するデータの流れを第１トラフィック３０１と称する。ＵＩ２０４において入力されたデータをメモリ２０３に転送するデータの流れを第２トラフィック３０２と称する。ネットワーク２０２からメモリ２０３へのデータの流れを第３トラフィック３０３と称する。
【００２０】
第１トラフィック３０１は、スキャナ２００から送出され、第１スイッチ１０１、第２スイッチ１０２および第３スイッチ１０３を介してプロッタ２０１に転送される。より詳しくは、第１トラフィック３０１は、第１スイッチ１０１の第３ポートに入力され、第２ポートから出力される。そして、第１トラフィック３０１は、第２スイッチ１０２の第１ポートに入力され、第４ポートから出力される。さらに、第１トラフィック３０１は、第３スイッチ１０３の第２ポートから入力され、第１ポートから出力されプロッタ２０１に転送される。第２トラフィック３０２は、ＵＩ２０４から送出され、第２スイッチ１０２および第３スイッチ１０３を介してメモリ２０３に転送される。第３トラフィック３０３は、第３スイッチ１０３を介してメモリ２０３に転送される。このように、デバイス間のデータ転送は、１または複数のスイッチを経由して行われる。複合機１においては、同時に複数のトラフィックが複数のスイッチを経由して転送される。
【００２１】
動作モード設定部１０４は、複合機１における動作モードを設定する。なお、動作モードとしては、ＦＡＸ送信、プリント、コピーなどがある。コンフィグ情報記憶部１０５は、複数のコンフィグ情報を記憶している。コンフィグ情報とは、各スイッチの各ポートにおけるデータ転送のための条件を示す情報である。コンフィグ情報については後述する。図２は、コンフィグ情報記憶部１０５のデータ構成の一例を模式的に示す図である。コンフィグ情報記憶部１０５は、複合機１における動作モードとコンフィグ情報とを対応付けて記憶している。なお、各コンフィグ情報は、管理者等により予め設定される。管理者は、各動作モードにおける各トラフィックの転送率として維持したい下限値や優先したいトラフィックなど、複合機１のスイッチシステムにおけるフロー制御の条件をコンフィグ情報として設定することができる。
【００２２】
コンフィグ情報設定部１０６は、動作モード設定部１０４により所定の動作モードが設定されると、コンフィグ情報記憶部１０５において、設定された動作モードに対応付けられているコンフィグ情報を特定する。そして、すべてのスイッチに対してコンフィグ情報変更パケットを送信し、特定したコンフィグ情報をすべてのスイッチに設定する。コンフィグ情報設定部１０６は、第２スイッチ１０２に接続されており、コンフィグ情報は、第２スイッチ１０２を介して他のスイッチに送信され、各スイッチに設定される。
【００２３】
なお、コンフィグ情報設定部１０６は、第２スイッチ１０２以外のスイッチと接続してもよく、また他の例としてはすべてのスイッチと接続してもよい。コンフィグ情報設定部１０６は、すべてのスイッチにコンフィグレーション情報を設定できればよく、その物理的な接続関係は本実施の形態に限定されるものではない。
【００２４】
各スイッチ１０１〜１０３は、コンフィグ情報設定部１０６により設定されたコンフィグ情報にしたがい、各スイッチ１０１〜１０３を通過するトラフィックに対する制御であるフロー制御処理を行う。複数のトラフィックの転送が発生し、所定のスイッチにデータが集中した場合であっても、コンフィグ情報にしたがい、適当なトラフィックの転送を停止または減速させることにより適切な制御を行うことができる。
【００２５】
図３は、第３スイッチ１０３の機能構成の一例を示すブロック図である。第３スイッチ１０３は、第１ポート１１１を含む第１ポートユニット１１０と、第２ポート１２１を含む第２ポートユニット１２０と、第３ポート１３１を含む第３ポートユニット１３０と、第４ポート１４１を含む第４ポートユニット１４０とを備えている。第１ポートユニット１１０は、第１ポート１１１の他、第１コンフィグレーションレジスタ１１２と、第１トラフィック検出回路１１３と、第１トラフィック判定回路１１４と、第１送受信回路１１５と、第１トラフィック制限回路１１６とを有している。
【００２６】
第１コンフィグレーションレジスタ１１２は、コンフィグ情報を記憶している。コンフィグ情報は、コンフィグ情報設定部１０６により設定される。コンフィグ情報設定部１０６は、すべてのスイッチのすべてのコンフィグレーションレジスタに同一のコンフィグ情報を設定する。すなわち、すべてのコンフィグレーションレジスタは、動作モードに応じた同一のコンフィグ情報を記憶する。
【００２７】
図４は、コンフィグ情報のデータ構成の一例を模式的に示す図である。コンフィグ情報は、制御設定情報と、優先度情報と、転送率情報と、制限内容情報と、タイムアウト情報と、プロッタ制御情報とを含んでいる。
【００２８】
制御設定情報とは、各スイッチがフロー制御処理を行うか否かを設定する情報である。具体的には、制御設定情報は、スイッチを識別するスイッチ識別情報と、制御の有無を示す情報とを対応付けた情報である。例えば、図４に示す例においては、第１スイッチ１０１の識別情報「第１スイッチ」と「フロー制御＿なし」という制御の有無を示す情報とが対応付けられている。
【００２９】
優先度情報とは、トラフィックが競合した場合に、いずれのトラフィックの転送を優先して実行するかを示す情報である。優先度情報は、トラフィックの種類を識別するトラフィック識別情報と、優先度とを対応付けた情報である。本実施の形態におけるトラフィック識別情報は、第１トラフィック、第２トラフィックおよび第３トラフィックを識別する情報である。すなわち、転送経路の異なるトラフィックには異なるトラフィック識別情報が与えられる。図４に示す例においては、第１トラフィックの種類を識別するトラフィック識別情報「第１トラフィック」と「優先度＿高」という優先度とが対応付けられている。このように、トラフィックの優先度は、コンフィグ情報において設定されているので、コンフィグ情報を書き換えることによりトラフィックの優先度を変更することができる。
【００３０】
転送率情報とは、各スイッチの各ポートを介して転送されるトラフィックの転送率の閾値を示す情報である。転送率情報は、スイッチのポートを識別するポート識別情報と、閾値とを対応付けた情報である。図４に示す例においては、第３スイッチ１０３の第３ポートを識別するポート識別情報「第３スイッチ第３ポート」と「閾値１＿ｔｈ」という閾値とが対応付けられている。なお、図４に示す例のように、転送率の閾値は、必要なポートに対するものが記憶されている。このように、ポート毎に転送率の閾値を設定することができるので、ポート毎に異なる値を設定することができる。
【００３１】
制限内容情報とは、トラフィックが競合した場合に実行する制限内容を示す情報である。制限内容としては、例えば転送の一時停止や転送速度の減速などがある。制限内容情報は、さらに制限を継続する時間である実行時間を示す情報も含んでいる。図４に示す例においては、制限内容として一時停止が指定され、実行時間として「実行時間１＿Ｔ１」が記憶されている。これは、Ｔ１時間だけ一時停止することを示している。
【００３２】
さらに、図４に示すように、転送率情報において、同一のポートに対し複数の閾値を設定することができ、制限内容情報において、複数の実行時間を設定することができる。これにより、例えばデータ転送率が閾値１よりも大きくかつ閾値２以下である場合には、実行時間１の制限を行い、閾値２よりも大きい場合には実行時間２の制限を行うというように、２段階の制限を行うこともできる。なお、同一のポートに対し３以上の閾値と実行時間とを設定し、３段階以上の制限を行うこともできる。また、低い閾値においては制限内容を減速とし、高い閾値においては制限内容を一時停止とするというように、段階に応じて異なる制限を実行することも可能である。
【００３３】
タイムアウト情報とは、トラフィックの有無を判断するための情報である。タイムアウト情報は、トラフィック識別情報とタイムアウト時間とを対応付けた情報である。タイムアウト時間の間、トラフィックが検知されない場合には、トラフィックの転送が行われていないと判断される。図４に示す例においては、第１トラフィックの種類を識別するトラフィック識別情報「第１トラフィック」と「タイムアウト時間＿τ１」とが対応付けられている。すなわち、τ１時間の間第１トラフィックを検出しない場合には、第１トラフィックの転送は行われていないと判断される。
【００３４】
プロッタ制御情報とは、プロッタ２０１によるプロット処理に起因した制御を行うための情報である。プロッタ２０１においては、１ライン分のデータが所定の時間内に転送されない場合、すなわち転送速度が印刷速度に比べて遅い場合には、データ抜けなどの問題が発生する。このように、プロッタ２０１においては、いわゆるライン等時性の問題がある。このため、プロッタ２０１は、印刷速度に比べて速い転送速度でデータを受信する必要がある。このための条件がプロッタ制御情報である。プロッタ制御情報は、トラフィック識別情報とデータ量とを対応付けた情報である。プロッタ制御情報はさらに１ライン周期時間も含んでいる。
【００３５】
図４に示す例においては、第１トラフィックの種類を識別するトラフィック識別情報「第１トラフィック」と、データ量「Ｄ」とが対応付けられている。さらに、１ライン周期時間として「τｓ」が記憶されている。
【００３６】
なお、プロッタ２０１による出力以外のトラフィックにおいては、ライン等時性の要求はない。したがって、図４に示すようにコンフィグレーションレジスタ１１２において、第１トラフィック以外のトラフィックのデータ量は記憶されていない。
【００３７】
ここで、再び、図３を用いて、第３スイッチ１０３の機能構成の一例を示すブロック図の説明に戻る。第１トラフィック検出回路１１３は、第１ポート１１１を通過するトラフィックの種類およびデータ転送率を検出する。具体的には、第１トラフィック検出回路１１３は、第１ポート１１１を通過するパケットのヘッダ部からトラフィックの種類を識別するトラフィック識別情報とペイロードサイズを取得する。そして、パケットが第１ポート１１１を通過する間隔とペイロードサイズから、ポートの利用率、トラフィック毎の転送率、通過したデータ量を検出する。
【００３８】
第１トラフィック判定回路１１４は、第１コンフィグレーションレジスタ１１２に第１ポート１１１の閾値が設定されている場合に、設定されている閾値と第１ポート１１１を通過するトラフィックのデータ転送率とを比較し、データ転送率が閾値よりも大きい場合には、第１スイッチ１０１が有するポートであって、第１ポート１１１を通過するトラフィックが通過する、第１ポート１１１以外のポートを特定する。
【００３９】
第１送受信回路１１５は、第１トラフィック判定回路１１４が特定したポートに対し第１ポート１１１においてフロー制御処理を行うことを示すフロー制御情報を送信する。また、第１送受信回路１１５は、他のポートからフロー制御情報に対する返答として、他のポートを転送中のトラフィックのトラフィック識別情報を受信し、第１トラフィック制限回路１１６に渡す。第１送受信回路１１５はまた、他のポートからフロー制御情報を受信した場合には、第１トラフィック判定回路１１４により特定された第１ポート１１１を通過するトラフィックのトラフィック識別情報を送信する。
【００４０】
第１トラフィック制限回路１１６は、第１ポート１１１を通過するトラフィックと、第１送受信回路１１５が他のポートから返答として受信したトラフィック識別情報が識別するトラフィック、すなわち、第１スイッチ１０３を通過するすべてのトラフィックの中から、第１コンフィグレーションレジスタ１１２の優先度情報において最も低い優先度が設定されているトラフィックを特定する。そして、このトラフィックの転送を制限する。
【００４１】
第３スイッチ１０３の第２ポートユニット１２０〜第４ポートユニット１４０の構成は、第３スイッチ１０３の第１ポートユニット１１０の構成と同様である。また、第２スイッチの構成は、第３スイッチの構成と同様である。さらに、第１スイッチは、第３スイッチとポートの数が異なるだけで、これ以外の構成は第３スイッチの構成と同様である。
【００４２】
図５は、複合機１の第３スイッチ１０３の第１ポートユニット１１０による処理の一例を示すフローチャートである。なお、他のポートユニットも同様の処理を行う。まず、第１送受信回路１１５は、コンフィグ情報設定部１０６からコンフィグ情報を受信すると（ステップＳ１００）、第１コンフィグレーションレジスタ１１２にコンフィグ情報を設定する（ステップＳ１０２）。次に、第１トラフィック検出回路１１３は、第１コンフィグレーションレジスタ１１２に設定されたコンフィグ情報の制御設定情報を参照し、自身を含むスイッチに対するフロー制御処理が指示されているか否かを確認する。
【００４３】
制御設定情報において、第１スイッチに対し「フロー制御＿あり」と設定されている場合には（ステップＳ１０４，Ｙｅｓ）、トラフィックの転送が開始されると（ステップＳ１０６，Ｙｅｓ）、フロー制御処理を開始する。すなわち、第１トラフィック検出回路１１３は、第１ポート１１１を通過するトラフィックを検出する（ステップＳ１１０）。詳しくは、第１トラフィック検出回路１１３は、第１ポート１１１を介して第３スイッチ１０３に入力されるトラフィックおよび第１ポート１１１を介して第３スイッチ１０３から送出されるトラフィックを検出する。第１トラフィック検出回路１１３は、さらに検出されたトラフィックの種類およびデータ転送率を検出する。
【００４４】
次に、第１トラフィック判定回路１１４は、第１ポート１１１を通過するすべてのトラフィックのデータ転送率の合計と、第１コンフィグレーションレジスタ１１２の転送率情報において第３スイッチ１０３の第１ポート１１１に対して設定された閾値とを比較する。第１ポート１１１を通過するすべてのトラフィックのデータ転送率の合計が閾値以下である場合には（ステップＳ１１２，Ｙｅｓ）、第１トラフィック判定回路１１４はさらにプロッタ制御情報においてデータ量が設定されているトラフィックの実際のデータ転送率と、プロッタ制御情報に設定されているデータ量「Ｄ」および１ライン周期時間「τｓ」から得られるデータ転送率Ｄ／τｓとを比較する。トラフィックのデータ転送率がデータ転送率Ｄ／τｓ以上である場合には（ステップＳ１１４，Ｙｅｓ）、トラフィックの競合によるデータ転送率の低下の問題はなく、またプロッタ２０１に送信されるトラフィックの速度もライン等時性を満たしており、フロー制御を行う必要はない。したがって、データ転送が完了していなければ（ステップＳ１１６，Ｎｏ）、再びステップＳ１１０に戻り、フロー制御処理により第１ポート１１１のトラフィックの監視を続ける。ステップＳ１１６において、データ転送が完了していれば（ステップＳ１１６，Ｙｅｓ）、処理は終了する。
【００４５】
一方、ステップＳ１１２において、転送率の合計が閾値よりも大きい場合（ステップＳ１１２，Ｎｏ）およびステップＳ１１４において、所定のトラフィックの転送率がＤ／τｓよりも大きい場合（ステップＳ１１４，Ｎｏ）には、第１送受信回路１１５は、第１ポート１１１を通過するトラフィックが通過する第１ポート１１１以外のポートに対しフロー制御情報を送信する（ステップＳ１２０）。
【００４６】
第１送受信回路１１５がフロー制御情報を送信したポートから返答を受信すると（ステップＳ１２２，Ｙｅｓ）、第１トラフィック制限回路１１６は、第１ポート１１１を通過中のトラフィックと、第１送受信回路１１５が返答として受信したトラフィック識別情報により識別されるトラフィックの中から、コンフィグ情報の優先度情報において最も低い優先度が設定されているトラフィックを特定する。そして、このトラフィックに対し、コンフィグ情報の制限内容情報に示される制限を実行する（ステップＳ１２４）。そして、制限内容情報に示される実行時間の間、停止や減速など指定された制限を行い、実行時間が経過すると（ステップＳ１２６，Ｙｅｓ）、再びステップＳ１１０に戻り、フロー制御処理を継続する。
【００４７】
なお、ステップＳ１０４において、コンフィグ情報の制御設定情報において第１スイッチに対し「フロー制御＿なし」と設定されている場合には（ステップＳ１０４，Ｎｏ）、行わない。
【００４８】
以上の処理により、所定のポートにトラフィックが集中し転送率が低下した場合に、適切なトラフィックの転送を制限することにより、速度を維持したいトラフィックの転送率の低下を抑制することができる。また、印刷データのようにデータ転送率を維持したいトラフィックについても他のトラフィックの転送を制御することにより、転送率の低下を抑制することができる。
【００４９】
図６は、第１ポートユニット１１０が他のポートからフロー制御情報を受信した場合の処理の一例を示すフローチャートである。第１送受信回路１１５は他のポートからフロー制御情報を受信すると（ステップＳ２００，Ｙｅｓ）、第１ポート１１１により検出されたトラフィックのトラフィック識別情報をフロー制御情報の送信元に送信する（ステップＳ２０２）。さらに、第１ポート１１１により検出されたトラフィックが通過する第１ポート１１１およびフロー制御情報の送信元のポート以外のポートに対し、フロー制御情報を送信する（ステップＳ２０４）。なお、このとき、フロー制御情報の送信元を示すポート識別情報をフロー制御情報とともに送信する。ステップＳ２０４において送信されたフロー制御情報を受信したポートのポートユニットにおいては、フロー制御情報を受信すると、自身を通過するトラフィックのトラフィック識別情報を第１ポートユニット１１０にフロー制御情報を送信した送信元に対して送信する。
【００５０】
以下、図４に示すコンフィグ情報の設定にしたがった第３スイッチ１０３における具体的な処理について説明する。図７は、フロー制御処理が行われない場合の、複合機１におけるトラフィックの競合の一例を説明するための図である。図７に示すグラフの横軸は時間を示している。グラフの縦軸はトラフィックのデータ転送率を示している。ｔ１の区間においては、第１トラフィック３０１と第２トラフィック３０２が存在し、第３トラフィック３０３が発生していない。
【００５１】
その後、ｔ２の区間のようにネットワーク２０２から第３トラフィック３０３のデータ転送が発生したとする。第３トラフィック３０３が第３スイッチ１０３からメモリ２０３への出力ポートである第３ポート１３１の能力を上回る過大なトラフィックであった場合には、ＵＩ２０４から送出される第２トラフィック３０２のデータ転送率はｔ１区間に比べて減少する。さらに、第３スイッチ１０３において第２トラフィック３０２の出力が滞ると、第３スイッチ１０３に残っている第２トラフィック３０２のデータの影響で、同じく第２スイッチ１０２から第３スイッチ１０３に流れる第１トラフィック３０１のデータ転送率も低下してしまう。第１トラフィック３０１は、プロッタ２０１により利用される印刷データであるので、第１トラフィック３０１の低下量が第１トラフィック３０１の性能目標の下限値を下回ると、プロッタ２０１においては、印刷データの受信が印刷データの印刷に間に合わず、一部欠落した異常データが印刷されることになってしまう。
【００５２】
そこで、本実施の形態にかかる複合機１においては、図４に示すコンフィグ情報を設定し、このコンフィグ情報に基づいて、各ポートユニットが図５および図６を参照しつつ説明した処理を行うことによりフロー制御処理を行う。
【００５３】
図４に示すコンフィグ情報においては、第３スイッチ１０３におけるフロー制御が「あり」と設定されている。したがって、複合機１においては、第１スイッチ１０１〜第３スイッチ１０３のうち第３スイッチ１０３においてフロー制御処理が実行される。すなわち、第３スイッチ１０３の各ポートユニット１１０〜１４０は、トラフィックの転送が開始すると、フロー制御処理において各ポートの各トラフィック検出回路は、トラフィックの種類およびデータ転送率を検出する（ステップＳ１１０）。コンフィグ情報の転送率情報において、第３スイッチ１０３の第３ポート１３１の閾値が設定されている。そこで、第３トラフィック検出回路１３３は、第３ポート１３１を通過するトラフィックのデータ転送率と閾値とを比較する（ステップＳ１１２）。
【００５４】
第１トラフィック３０１および第２トラフィック３０２の転送が行われているｔ１期間においては、転送率は閾値以下である（ステップＳ１１２，Ｙｅｓ）。したがって、第１トラフィック３０１がＤ／τｓ以上の転送率で転送されていれば（ステップＳ１１４，Ｙｅｓ）、トラフィックの転送が継続される。しかし、ｔ２期間のように、第１トラフィック３０１および第２トラフィックの転送が行われているときに第３トラフィック３０３の転送が発生すると、第３ポート１３１を通過するトラフィックの転送率の合計値は閾値よりも大きくなる（ステップＳ１１２，Ｎｏ）。そこで、第３送受信回路１３５は、フロー制御情報を送信する（ステップＳ１２０）。図８は、フロー制御情報の送信先の一例を示す図である。この場合、フロー制御情報の送信先は、第２トラフィック３０２が通過するポートと第３トラフィック３０３が通過するポートであるので、第２ポート１２１および第４ポート１４１である。
【００５５】
図９に示すように、第３ポートユニット１３０からフロー制御情報を受信した第２ポートユニット１２０においては、第２送受信回路１２５は、第２トラフィック検出回路１２３により検出されたトラフィック、すなわち第１トラフィック３０１および第２トラフィック３０２のトラフィック識別情報をフロー制御情報に対する返答として第３ポート１３１に送信する。さらに、第２送受信回路１２５は、第２ポート１２１を通過するトラフィックが通過するポートに対しフロー制御情報を転送する。図９に示すように、第２ポート１２１を通過するのは第１トラフィック３０１および第２トラフィック３０２である。そこで、第１トラフィック３０１が通過する第１ポート１１１にフロー制御情報を送信する。
【００５６】
一方、第４ポートユニット１４０においては、第４送受信回路１４５は、第４トラフィック検出回路１４３により検出されたトラフィック、すなわち第３トラフィック３０３のトラフィック識別情報をフロー制御情報に対する返答として第３ポート１３１に送信する。なお、第４ポート１４１を通過する第３トラフィック３０３が通過するポートは第３ポート１３１であるので、第４送受信回路１４５は、フロー制御情報の転送は行わない。図１０に示すように、第１ポートユニット１１０においては、第１送受信回路１１５は第１トラフィック３０１の識別情報をフロー制御情報に対する返答として第３ポート１３１に送信する。
【００５７】
第３ポートユニット１３０においては、以上の処理により、第３送受信回路１３５がすべてのポートから返答を受信すると（ステップＳ１２２，Ｙｅｓ）、第３トラフィック制限回路１３６は制限を実行すべきトラフィックを決定する。本例においては、自身が検出した、第２トラフィック３０２および第３トラフィック３０３のほか、第１トラフィック３０１が第３スイッチ１０３を通過しており、第３ポート１３１において第２トラフィック３０２と第３トラフィック３０３が競合することにより、第１トラフィック３０１のデータ転送率が低下してしまう。そこで、第３トラフィック制限回路１３６は、コンフィグ情報の優先度情報にしたがい、優先度が最も低い第２トラフィック３０２を制限対象として決定する。
【００５８】
第３トラフィック制限回路１３６はさらにコンフィグ情報の制限内容情報を参照し、第２トラフィック３０２の転送をＴ１時間だけ一時停止する制御を行うことを決定する。そして、第３トラフィック制限回路１３６は、図１１に示すように、第２トラフィック３０２の転送をＴ１時間の間一時停止する旨を示す停止命令３１０を、第２トラフィック３０２の上流である第２ポートユニット１２０に送信する。
【００５９】
第２ポートユニット１２０においては、第２送受信回路１２５が、停止命令３１０を受信すると、さらに第２トラフィック３０２の上流である第２スイッチ１０２の第４ポートに停止命令３１０を送信する。第４ポートの送受信回路は、さらに第２スイッチ１０２の第３ポートに停止命令３１０を送信する。第２スイッチ１０２の第３ポートは、ＵＩ２０４に停止命令３１０を送信する。こうしてＵＩ２０４に停止命令３１０が到達すると、ＵＩ２０４は、第２トラフィック３０２の発行をＴ１時間だけ一時停止する。Ｔ１時間が経過すると、ＵＩ２０４は第２トラフィック３０２の発行を再開する。
【００６０】
以上のフロー制御処理により、第３トラフィック３０３が発生した場合に、第３トラフィック３０３ではなくより優先度の低い第２トラフィック３０２を一時停止することにより、複合機１全体として適切なフロー制御を行うことができる。図１２は、フロー制御処理が行われた場合の複合機１におけるトラフィックの競合の一例を説明するための図である。図１２に示すグラフの横軸は時間を示している。グラフの縦軸はトラフィックのデータ転送率を示している。図１２に示すように、フロー制御処理により第２トラフィック３０２の転送を一時停止することにより、第１トラフィック３０１のデータ転送率の低下を最低限に抑えることができるので、第１トラフィック３０１の性能限界以上のデータ転送率を維持することができる。すなわち、スキャナ２００からみた、性能限界を下回るほどのデータ転送率の低下を防ぐことができる。
【００６１】
第１の変更例としては、本実施の形態では、スイッチシステムをコピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する複合機に適用した例を挙げて説明したが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。さらには、複数のデバイスをスイッチにより接続したシステムであれば、いずれにも適用することができる。なお、プロッタを備えないシステムにおいては、プロッタ制御情報およびプロッタ制御情報にかかる処理は不要である。
【００６２】
第２の変更例としては、プロッタ制御情報においてデータ量が設定され、プロッタ制御情報に基づく処理を行う場合には、対象となるトラフィックの優先度を可変としてもよい。具体的には、第１トラフィックに対するデータ量Ｄが設定されている場合には、第１トラフィックのうち未転送のデータ残量が多いほど高い優先度を設定する。例えば、データ残量がＤ１以上である場合の優先度を「高」、データ残量がＤ１未満Ｄ２（Ｄ２＜Ｄ１）以上である場合の優先度を「中」、データ残量がＤ２未満である場合の優先度を「低」とする。このように、データ残量により優先度を変化させることにより、データ残量が少なくなった場合には、より重要な他のトラフィックの転送を優先して実行することができる。
【００６３】
第３の変更例としては、コンフィグ情報の転送率情報は、ポート毎の閾値に替えてトラフィック毎の閾値を含んでもよい。この場合には、所定のトラフィックのデータ転送率が閾値よりも小さくなった場合にフロー制御情報を送信する。また、コンフィグ情報は、データ残量に応じた優先度、閾値および制限の実行時間を含んでもよい。この場合、各ポートユニットは、各トラフィックのデータ残量をさらに検出し、データ残量に応じた処理を行うことができる。
【００６４】
第４の変更例としては、本実施の形態にかかるスイッチは、各ポートに対応して、ポートの個数と同じ数のコンフィグレーションレジスタ、トラフィック検出回路、トラフィック判定回路およびトラフィック制限回路を有するが、すべてのポートが利用する１つのコンフィグレーションレジスタを有する構成でもよい。同様に、１つのスイッチは、トラフィック検出回路、トラフィック判定回路、トラフィック制限回路をそれぞれ１つを有し、各回路は、スイッチ内のすべてのポートに対する処理を行うこととしてもよい。
【００６５】
以上のように、複数のデバイス間におけるデータ転送を制御するスイッチシステムであって、前記デバイスまたはスイッチと接続するための複数のポートを有する複数のスイッチと、各ポートを識別するポート識別情報と、各ポートを転送可能なデータの転送率の閾値とを対応付けて記憶する第１記憶手段と、各ポートを通過するデータの種類と優先度とを対応付けて記憶する第２記憶手段とを備え、前記複数のスイッチはそれぞれ、各ポートを通過するデータの種類を特定する種類特定手段と、各ポートを通過する前記データの転送率を算出する転送率算出手段と、前記複数のポートのうち所定のポートを通過した所定のデータに対して前記転送率算出手段が算出した前記転送率が、前記第１記憶手段において当該所定のポートを識別する前記ポート識別情報に対応付けられている前記閾値よりも大きい場合に、前記所定のポートを有する前記スイッチ内のポートであって、当該所定のデータが通過する、当該所定のポート以外の他のポートを特定するポート特定手段と、前記第２記憶手段において、前記所定のデータおよび前記他のポートを通過する前記所定のデータ以外のデータに対応付けられている優先度に基づいて、データ転送を制限すべきデータを決定するデータ決定手段と、前記データ決定手段により決定された前記データの転送を制限する制限手段とを有する。
【００６６】
前記複数のスイッチはそれぞれ、前記種類特定手段、前記転送率算出手段、前記ポート特定手段をポート毎に複数有し、前記複数のポートのうち第１ポートに対して設けられた前記種類特定手段は、前記第１ポートを通過するデータの種類を特定し、前記第１ポートの前記転送率算出手段は、前記第１ポートを通過する前記データの転送率を算出し、前記第１ポートの前記ポート特定手段は、前記第１ポートを通過した前記データに対する前記転送率が、前記第１記憶手段において前記第１ポートを識別する前記ポート識別情報に対応付けられている前記閾値よりも大きい場合に、前記データが通過する、同一スイッチ内の前記第１ポート以外の前記他のポートを特定する。
【００６７】
前記複数のスイッチは、それぞれ前記ポート特定手段が特定した前記他のポートに対し、データ転送の制御を行う旨を示すフロー制御情報を送信する送信手段と、前記フロー制御情報を受信する受信手段とをさらに有し、第２ポートの前記受信手段が、前記第１ポートの前記送信手段が送信した前記フロー制御情報を受信した場合に、前記第２ポートの前記ポート特定手段は、前記第２ポートを通過するデータを特定し、前記第２ポートの前記送信手段は、前記第２ポートの前記ポート特定手段が特定した前記データを識別するデータ識別情報を前記フロー制御情報の送信元である前記第１ポートに送信し、前記第１ポートの前記受信手段が前記データ識別情報を受信すると、前記第１ポートの前記データ決定手段は、前記第１ポートを通過する前記データおよび前記第２ポートから受信した前記データ識別情報により識別されるデータの中から、制限すべきデータを決定する。
【００６８】
以上の構成により、第１レジスタが、各ポートを識別するポート識別情報と、各ポートを転送可能なデータの転送率の閾値とを対応付けて記憶し、第２レジスタが各ポートを通過するデータの種類と優先度とを対応付けて記憶している。そして、各ポートは、ポートを通過するデータの種類および転送率を検出し、レジスタの値と比較することにより、いずれのデータの転送を制限するかを決定する。したがって、システム全体として適切なデータ転送制御を行うことができるという効果を奏する。
【符号の説明】
【００６９】
１  複合機
１０１  第１スイッチ
１０２  第２スイッチ
１０３  第３スイッチ
１０４  動作モード設定部
１０５  コンフィグ情報記憶部
１０６  コンフィグ情報設定部
１１０  第１ポートユニット
１１１  第１ポート
１１２  第１コンフィグレーションレジスタ
１１３  第１トラフィック検出回路
１１４  第１トラフィック判定回路
１１５  第１送受信回路
１１６  第１トラフィック制限回路
１２０  第２ポートユニット
１２１  第２ポート
１３０  第３ポートユニット
１３１  第３ポート
１４０  第４ポートユニット
１４１  第４ポート
２００  スキャナ
２０１  プロッタ
２０２  ネットワーク
２０３  メモリ
２０４  ＵＩ
３０１  第１トラフィック
３０２  第２トラフィック
３０３  第３トラフィック
【先行技術文献】
【特許文献】
【００７０】
【特許文献１】特開２００６−１８４０６号公報
【特許文献２】特開２００７−６５８４７号公報
【特許文献３】特開２００５−３５４６５８号公報
【図１】
2010218455.tif 000003
【図２】
2010218455.tif 000004
【図３】
2010218455.tif 000005
【図４】
2010218455.tif 000006
【図５】
2010218455.tif 000007
【図６】
2010218455.tif 000008
【図７】
2010218455.tif 000009
【図８】
2010218455.tif 000010
【図９】
2010218455.tif 000011
【図１０】
2010218455.tif 000012
【図１１】
2010218455.tif 000013
【図１２】
2010218455.tif 000014