(57)【要約】【課題】システムに瞬間的に発生する過大なトラフィックを回避することができるデータ通信システム、及び画像処理システムを提供すること。【解決手段】データ通信システムであって、ツリー構造の下位にあるデバイスである下位デバイスは、データ通信に先立って、データ通信が行なわれるノード間の通信経路に関する通信情報を、ツリー構造の最上位にあるデバイスである最上位デバイスに事前に通知する通知手段を備え、最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノード間において各通信経路で使用される帯域の総和である現状帯域とを保持する保持手段３０１と、前記通知手段により通知された通信情報と保持手段が保持する現状帯域とに基づいて、許容帯域を超えないように通信経路の帯域を制御する制御手段３００とを備える。【選択図】図２５−２
2010041335.tif 000002
【特許請求の範囲】
【請求項１】
ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、
前記ツリー構造の下位にあるデバイスである下位デバイスは、
データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記ツリー構造の最上位にあるデバイスである最上位デバイスに通知する通知手段を備え、
前記最上位デバイスは、
複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノード間において各通信経路で使用される帯域の総和である現状帯域とを保持する保持手段と、
前記通知手段により通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記許容帯域を超えないように前記通信経路の帯域を制御する制御手段と、を備えるデータ通信システム。
【請求項２】
前記通信情報は、データ通信が行なわれる通信経路において要求された帯域を示す要求帯域を含み、
前記制御手段は、
前記要求帯域を前記現状帯域に加算した帯域が前記許容帯域を超えるか否かを判定し、前記許容帯域を超える場合、前記通信経路の帯域の制御を行う請求項１記載のデータ通信システム。
【請求項３】
前記保持手段は、
各通信経路に設定された優先度をさらに保持し、
前記制御手段は、
前記判定の結果が前記許容帯域を超える場合、前記優先度及び前記許容帯域に基づいて、各通信経路の帯域を制御する請求項２記載のデータ通信システム。
【請求項４】
前記制御手段は、
前記許容帯域に対して、各通信経路の前記優先度により求められた重みに基づいて各通信経路における最大限使用可能な帯域を算出し、算出した帯域に基づいて各通信経路の帯域を制御する請求項３記載のデータ通信システム。
【請求項５】
ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、
各ノードをデータ通信可能に接続する制御回線を備え、
データ通信が行なわれる通信経路に含まれる前記デバイスは、
該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知手段と、
各通信経路の帯域を制御する制御手段とを備え、
前記スイッチは、
該スイッチと接続されるノード間で通信される各通信経路の帯域に関する通信帯域情報を保持する帯域保持手段と、
前記通知手段により通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知手段と、を備え、
前記制御手段は、
前記状態通知手段により通知された通信状態情報に基づいて、各通信経路の帯域を制御するデータ通信システム。
【請求項６】
前記通信情報は、前記通信経路でデータ通信するときの帯域を示す数値情報を含み、
前記スイッチが前記数値情報を取得した場合、
前記帯域保持手段は、
前記数値情報に基づいて更新された通信帯域情報を保持する請求項５記載のデータ通信システム。
【請求項７】
前記スイッチは、
前記通信情報を取得した場合、取得した前記通信情報に基づいて各通信経路の帯域を演算する演算手段と、
前記演算手段により演算された帯域に基づいて前記帯域の通信状態を更新する更新手段とを備える請求項５又は６記載のデータ通信システム。
【請求項８】
請求項１乃至７いずれか一項に記載のデータ通信システムを、画像形成装置内部のデータ通信システムに適用する画像処理システム。
【請求項９】
ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、前記ツリー構造の最上位にあるデバイスである最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノード間において各通信経路で使用される帯域の総和である現状帯域とを保持する保持手段を備えるデータ通信システムにおけるデータ通信方法であって、
データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記最上位デバイスに通知する通知ステップと、
前記通知ステップにより通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記許容帯域を超えないように前記通信経路の帯域を制御する制御ステップと、
を有するデータ通信方法。
【請求項１０】
ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、各ノードをデータ通信可能に接続する制御回線を備えるデータ通信システムにおけるデータ通信方法であって、
データ通信が行なわれる通信経路に含まれる前記デバイスが、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知ステップと、
前記スイッチが、前記通知ステップにより通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知ステップと、
前記デバイスが、前記状態通知ステップにより通知された通信状態情報に基づいて、各通信経路の帯域を制御する制御ステップと
を有するデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信システム、画像処理システム、及びデータ通信方法に関し、さらに詳しく言えば、高速シリアルスイッチファブリックを介して複数のデバイスを接続したデータ通信システム、画像処理システム、及びデータ通信方法に関する。
【背景技術】
【０００２】
一般に、画像データやその他のデータを扱う画像システム、例えばデジタル複写機、複合機（ＭＦＰ）等の情報処理装置では、デバイス間のインタフェースにＰＣＩバスが使用されている。しかし、パラレル方式のＰＣＩバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献１によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
【０００３】
また、他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）なるインタフェースも提案され、実用化の段階にきている（例えば、非特許文献１参照）。このPCI Expressシステムは、概略的には、例えば非特許文献１中の図１等に示されるようなルートコンプレックス−スイッチ（任意階層）−デバイス等のツリー構造（木構造）によるデータ通信網として構成されている。
【０００４】
さらに、近年においては、PCI Express アーキテクチャに基づく高速シリアルスイッチファブリックであるAdvanced Switching Interconnect規格も策定されている。このAdvanced Switching Interconnectは、PCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Boardを想定している。このAdvanced Switching Interconnectによれば、トラフィッククラスを仮想チャネルに対してマッピングすることにより、トラフィックの差別化（優先度をつける）を行うことができる。
【０００５】
これらの技術をもとに、高速シリアルスイッチファブリックを用いると共に、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるスイッチで接続された画像システム、例えばプリンタやＭＦＰも提案されている（特許文献２、３）。
【０００６】
また、ツリー構造の上位から下位に至る経路を検出するための手段、当該経路における通信パラメータを検出するための手段を通信デバイスのハードウェア手段で実行出来るようにして、これらの検出処理を簡素化する方法が提案されている(特許文献４)。
【０００７】
更に、PCI Expressアーキテクチャを構成し、シリアル通信を行うシステムにおいて、パケットデータを統計情報生成手段により通信状況をリアルタイムでモニタし、モニタした結果を重み情報更新手段にフィードバックすることで、シリアル通信路を実際に転送されたパケットデータのデータ転送量に応じた優先度付けを可能とする、つまり、リアルタイムで優先度を調停する方法が開示されている(特許文献５)。
【特許文献１】特開２００１−０１６３８２号公報
【特許文献２】特開２００７−０６５８４７号公報
【特許文献３】特開２００５−３５４６５８号公報
【特許文献４】特開２００６−２１１５３２号公報
【特許文献５】特開２００７−２４９８１６号公報
【非特許文献１】"PCI Express 規格の概要"Interface誌、July'2003 里見尚志
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、複数のスイッチを経由してデバイスが接続されたプリンタやＭＦＰ内部において、あるスイッチの１つの出力ポートに瞬間的に過大なトラフィックが発生すると、異なる出力ポートのトラフィックの邪魔をして、最悪の場合別のスイッチのトラフィックに対してもデータ転送能力が低下するという事態に陥るため、異常画像が発生するという問題があった。また、従来技術のようにリアルタイムでデータ転送量を調整すると、データ通信開始時に、一時的に発生する過大なトラフィックを抑止することはできない。
【０００９】
本発明は、上記問題に鑑みてなされたものであり、データ通信する通信経路を通信経路に含まれる各デバイスに事前に通知することにより、システムに瞬間的に発生する過大なトラフィックを回避することができるデータ通信システム、画像処理システム、データ通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一局面のデータ通信システムは、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、前記ツリー構造の下位にあるデバイスである下位デバイスは、データ通信前に、データ通信が行なわれるエンドノード間の通信経路に関する通信情報を、前記ツリー構造の最上位にあるデバイスである最上位デバイスに通知する通知手段を備え、前記最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノード間において各通信経路で使用される帯域の総和である現状帯域とを保持する保持手段と、前記通知手段により通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記許容帯域を超えないように前記通信経路の帯域を制御する制御手段と、を備える。
【００１１】
また、本発明の他の局面のデータ通信システムは、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、各ノードをデータ通信可能に接続する制御回線を備え、データ通信が行なわれる通信経路に含まれる前記デバイスは、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知手段と、各通信経路の帯域を制御する制御手段とを備え、前記スイッチは、該スイッチと接続されるノード間で通信される各通信経路の帯域に関する通信帯域情報を保持する帯域保持手段と、前記通知手段により通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知手段と、を備え、前記制御手段は、前記状態通知手段により通知された通信状態情報に基づいて、各通信経路の帯域を制御する。
【００１２】
また、本発明の他のデータ通信方法は、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、前記ツリー構造の最上位にあるデバイスである最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノード間において各通信経路で使用される帯域の総和である現状帯域とを保持する保持手段を備えるデータ通信システムにおけるデータ通信方法であって、データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記最上位デバイスに通知する通知ステップと、前記通知ステップにより通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記許容帯域を超えないように前記通信経路の帯域を制御する制御ステップと、を有する。
【００１３】
また、本発明の他のデータ通信方法は、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、各ノードをデータ通信可能に接続する制御回線を備えるデータ通信システムにおけるデータ通信方法であって、データ通信が行なわれる通信経路に含まれる前記デバイスが、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知ステップと、前記スイッチが、前記通知ステップにより通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知ステップと、前記デバイスが、前記状態通知ステップにより通知された通信状態情報に基づいて、各通信経路の帯域を制御する制御ステップとを有する。
【発明の効果】
【００１４】
本発明によれば、データ通信する通信経路を通信経路に含まれる各デバイスに事前に通知することにより、システムに瞬間的に発生する過大なトラフィックを回避することができるデータ通信システム、画像形成装置、データ通信方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例を図面に基づいて説明する。
【実施例１】
【００１６】
以下に添付図面を参照して、この発明にかかるデータ通信システムおよびデータ通信方法の最良な実施例を詳細に説明する。
【００１７】
本発明を実施するための最良の実施例について図面を参照して説明する。以下では、PCI Expressの詳細について、［PCI Express規格の概要］〜［PCI Express のアーキテクチャの詳細］の欄で説明し、PCI Expressの技術を活用したAdvanced Switch Interconnectについて、[Advanced Switch Interconnectとは]〜[Advanced Switch Interconnect技術の特徴]の欄で説明し、本発明については、［データ通信システムの構成］〜［帯域制御の処理］の欄、及び各実施例の欄で説明する。
【００１８】
［PCI Express規格の概要］
まず、本実施例は高速シリアルバスの一つであるPCI Express（登録商標）を利用するものであり、本実施例の前提として当該PCI Express規格の概要について、非特許文献１の一部抜粋により説明する。ここに、高速シリアルバスとは、１本の伝送路を用いてシリアル（直列）伝送により高速（１００Ｍｂｐｓ程度以上）にデータをやり取りすることができるインタフェースを意味する。
【００１９】
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。
【００２０】
図１に既存のPCIシステム、図２にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、ＣＰＵ１００やＡＧＰグラフィックス１０１やメモリ１０２が接続されたホストブリッジ１０３に対して、PCI-X（PCIの上位互換規格）デバイス１０４ａ，１０４ｂがPCI-Xブリッジ１０５ａを介して接続されたり、PCIデバイス１０４ｃ，１０４ｄが接続されたPCIブリッジ１０５ｂやPCIバススロット１０６が接続されたPCIブリッジ１０７がPCIブリッジ１０５ｃを介して接続されたりしたツリー構造（木構造）とされている。
【００２１】
これに対して、PCI Expressシステムにあっては、ＣＰＵ１１０やメモリ１１１が接続されたルートコンプレックス１１２に対して、PCI Expressグラフィックス１１３がPCI Express１１４ａにより接続され、また、エンドポイント１１５ａやレガシーエンドポイント１１６ａがPCI Express１１４ｂにより接続されたスイッチ１１７ａがPCI Express１１４ｃにより接続され、さらには、エンドポイント１１５ｂやレガシーエンドポイント１１６ｂがPCI Express１１４ｄにより接続されたスイッチ１１７ｂやPCIバススロット１１８が接続されたPCIブリッジ１１９がPCI Express１１４ｅにより接続されたスイッチ１１７ｃがPCI Express１１４ｆにより接続されたツリー構造（木構造）とされている。
【００２２】
図３は、実際に想定されるPCI Expressプラットホーム例を示すブロック図である。図３に示す例は、デスクトップ／モバイルへの適用例を示し、ＣＰＵ１２１がＣＰＵホストバス１２２により接続され、メモリ１２３が接続されたメモリハブ１２４（ルートコンプレックスに相当する）に対して、例えば、グラフィックス１２５がｘ１６のPCI Express１２６ａにより接続され、また、変換機能を有するＩ／Ｏハブ１２７がPCI Express１２６ｂにより接続されている。
【００２３】
このＩ／Ｏハブ１２７には、例えば、Serial ATA１２８によりストレージ１２９が接続され、LPC１３０によりローカルＩ／Ｏ１３１が接続され、USB 2.0１３２やPCIバススロット１３３が接続されている。さらには、Ｉ／Ｏハブ１２７には、PCI Express１２６ｃによりスイッチ１３４が接続され、このスイッチ１３４には、各々、PCI Express１２６ｄ，１２６ｅ，１２６ｆによりモバイルドック１３５、ギガビットイーサネット１３６（イーサネットは登録商標）、アドインカード１３７が接続されている。
【００２４】
即ち、PCI Expressシステムでは、従来のPCI，PCI-X，AGPといったバスがPCI Expressで置き換わり、既存のPCI／PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394，Serial ATA，USB 2.0などの既存のバスはＩ／ＯハブによりPCI Expressに接続される。
【００２５】
［PCI Expressの構成要素］
Ａ．ポート（Port）／レーン（Lane）／リンク（Link）
図４は、ｘ４の場合の物理層の構造例を示す図である。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ／レシーバの集合で、論理的にはコンポーネント・リンク間を１対１で接続（ポイント・ツー・ポイント）するインタフェースを意味する。転送レートは、例えば片方向２．５Ｇｂｐｓとされている。レーンは、例えば０．８Ｖの差動信号ペアのセットで、送信側の信号ペア（２本）、受信側の信号ペア（２本）からなる。リンクは、２つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「ｘＮリンク」はＮ本のレーンから構成され、現在の規格では、Ｎ＝１，２，４，８，１６，３２が定義されている。図示例は、ｘ４リンク例である。
【００２６】
図５は、デバイス間のレーン接続例を示す図である。例えば、図５に示すように、デバイスＡ，Ｂ間を結ぶこのレーン幅Ｎを可変することにより、スケーラブルなバンド幅を構成することが可能となる。
【００２７】
Ｂ．ルートコンプレックス（Root Complex）
ルートコンプレックス１１２は、Ｉ／Ｏ構造の最上位に位置し、ＣＰＵやメモリサブシステムをＩ／Ｏに接続する。ブロック図などでは、図３に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス１１２（又は、１２４）は、１つ以上のPCI Expressポート（ルートポート）（図２中では、ルートコンプレックス１１２中の四角で示す）を持ち、各々のポートは独立したＩ／Ｏ階層ドメインを形成する。Ｉ／Ｏ階層ドメインは、単純なエンドポイントである場合（例えば、図２中のエンドポイント１１５ａ側の例）や、多数のスイッチやエンドポイントから形成される場合（例えば、図２中のエンドポイント１１５ｂやスイッチ１１７ｂ，１１５ｃ側の例）がある。
【００２８】
Ｃ．エンドポイント（End Point）
エンドポイント１１５は、タイプ００ｈのコンフィグレーション空間ヘッダを持つデバイス（具体的には、ブリッジ以外のデバイス）で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはＢＡＲ（ベースアドレスレジスタ）でＩ／Ｏリソースを要求せず、このためＩ／Ｏリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
【００２９】
Ｄ．スイッチ（Switch）
スイッチ１１７（又は、１３４）は、２つ以上のポートを結合し、ポート間でのパケットルーティングを行う。図６は、スイッチの論理的構造例を示すブロック図である。コンフィグレーションソフトウェアからは、当該スイッチは、図６に示すように、仮想PCI-PCIブリッジ１４１の集合体として認識される。図中、両矢印はPCI Expressリンク１１４（又は、１２６）を示し、１４２ａ〜１４２ｄはポートを示す。
【００３０】
このうち、ポート１４２ａはルートコンプレックスに近い方のアップストリームポートであり、ポート１４２ｂ〜１４２ｄはルートコンプレックスから遠い方のダウンストリームポートである。
【００３１】
Ｅ．PCI Express１１４ｅ−PCIブリッジ１１９
PCI ExpressからPCI／PCI-Xへの接続を提供する。これにより、既存のPCI／PCI-XデバイスをPCI Expressシステム上で使用することができる。
【００３２】
［階層アーキテクチャ］
図７−１は、既存のPCIのアーキテクチャを示すブロック図である。従来のＰＣＩのアーキテクチャは、図７−１に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかった。
【００３３】
図７−２は、PCI Expressのアーキテクチャを示すブロック図である。PCI Expressでは、図７−２に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア１５１、最下位の機構（メカニカル）部１５２間に、トランザクション層１５３、データリンク層１５４、物理層１５５を持つ構造とされている。
【００３４】
これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
【００３５】
図８は、PCI Expressの階層構造を示すブロック図である。PCI Expressのアーキテクチャの中心となるのは、トランザクション層１５３、データリンク層１５４、物理層１５５であり、各々図８を参照して説明する以下のような役割を持つ。
【００３６】
Ａ．トランザクション層１５３
トランザクション層１５３は、最上位に位置し、トランザクションレイヤパケット（ＴＬＰ）の組み立て、分解機能を持つ。トランザクションレイヤパケット（ＴＬＰ）は、リード／ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層１５３は、トランザクションレイヤパケット（ＴＬＰ）のためのクレジットを用いたフロー制御を行う。各層１５３〜１５５におけるトランザクションレイヤパケット（ＴＬＰ）の概要を図９に示す（詳細は、後述する）。
【００３７】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、エラー検出／訂正（再送）によりトランザクションレイヤパケット（ＴＬＰ）のデータ完全性を保証することと、リンク管理である。データリンク層１５４間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット（ＴＬＰ）と区別するために、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれる。
【００３８】
Ｃ．物理層１５５
物理層１５５は、ドライバ、入力バッファ、パラレル−シリアル／シリアル−パラレル変換器、ＰＬＬ、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層１５５は、データリンク層１５４／トランザクション層１５３を実際のリンクで使用される信号技術から独立させる役目も持っている。
【００３９】
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロス・ポイントを基にクロックを抽出する方式とされている。
【００４０】
［コンフィグレーション空間］
図１０は、PCI Expressのコンフィグレーション空間を示す説明図である。PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが２５６バイトであるのに対して、図１０に示すように、４０９６バイトへと拡張されている。
【００４１】
これにより、多数のデバイス固有レジスタセットを必要とするデバイス（ホストブリッジなど）に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス（コンフィグレーションリード／ライト）で行われ、バス／デバイス／機能／レジスタ番号はメモリアドレスにマップされている。当該空間の先頭２５６バイトは、PCIコンフィグレーション空間として、ＢＩＯＳや従来のＯＳからＩ／Ｏポートを使用した方法でもアクセスできる。
【００４２】
従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。００ｈから３ＦｈまではPCI2.3互換のコンフィグレーションヘッダとなっている。
【００４３】
これにより、PCI Expressで拡張された機能以外であれば、従来のＯＳやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ（プロセッサが直接Ｉ／Ｏレジスタをアクセスする方式）を継承している。しかし、PCI Expressで拡張された機能（例えば、同期転送やＲＡＳ（Reliability,Availability and Serviceability）などの機能）を使用するには、４ＫバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
【００４４】
なお、PCI Expressとしては様々なフォームファクタ（形状）が考えられるが、具体化している例としては、アドインカード、プラグインカード（Express Card）、Mini PCI Expressなどがある。
【００４５】
［PCI Express のアーキテクチャの詳細］
PCI Express のアーキテクチャの中心となっているトランザクション層１５３、データリンク層１５４、物理層１５５について、各々詳細に説明する。
【００４６】
Ａ．トランザクション層１５３
トランザクション層１５３の主な役割は、前述したように、上位のソフトウェア層１５１と下位のデータリンク層１５４との間でトランザクションレイヤパケット（ＴＬＰ）の組み立てと分解を行うことである。
【００４７】
ａ．アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間（メモリ空間とのデータ転送用）、Ｉ／Ｏ空間（Ｉ／Ｏ空間とのデータ転送用）、コンフィグレーション空間（デバイスのコンフィグレーションとセットアップ用）に加えて、メッセージ空間（PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信（交換）用割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される）が追加され、４つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている（メモリ空間、Ｉ／Ｏ空間、コンフィグレーション空間は、リード／ライト、メッセージ空間は基本（ベンダ定義含む））。
【００４８】
ｂ．トランザクションレイヤパケット（ＴＬＰ）
PCI Expressは、パケット単位で通信を行う。図９は、トランザクションレイヤパケットのフォーマット例を示す図である。図９に示したトランザクションレイヤパケット（ＴＬＰ）のフォーマットにおいて、ヘッダのヘッダ長は３ＤＷ（ＤＷはダブルワードの略；合計１２バイト）又は４ＤＷ（１６バイト）で、トランザクションレイヤパケット（ＴＬＰ）のフォーマット（ヘッダ長とペイロードの有無）、トランザクションタイプ、トラフィッククラス（ＴＣ）、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は１０２４ＤＷ（４０９６バイト）である。
【００４９】
ＥＣＲＣは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット（ＴＬＰ）部分の３２ビットＣＲＣである。これは、スイッチ内部などでトランザクションレイヤパケット（ＴＬＰ）にエラーが発生した場合、ＬＣＲＣ（リンクＣＲＣ）ではエラーを検出できないためである（エラーとなったＴＬＰでＬＣＲＣが再計算されるため）。リクエストは、完了パケットが不要なものと必要なものとがある。
【００５０】
ｃ．トラフィッククラス（ＴＣ）と仮想チャネル（ＶＣ）
上位のソフトウェアは、トラフィッククラス（ＴＣ）を使用することによりトラフィックの差別化（優先度をつける）を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス（ＴＣ）はＴＣ０からＴＣ７まで８つある。
【００５１】
図１１は、仮想チャネルの概念を説明するための模式図である。仮想チャネル（ＶＣ：Virtual Channel）は、各々独立した仮想通信バス（同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム）で、各々がリソース（バッファやキュー）を持ち、図１１に示すように、独立したフロー制御を行う。
【００５２】
これにより、１つの仮想チャネルのバッファが満杯の状態（full）になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には１つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図１１中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。ＶＣ０は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル（ＶＣ１〜ＶＣ７）が実装される。図１１中の実線矢印は、デフォルト仮想チャネル（ＶＣ０）を示し、破線矢印はその他の仮想チャネル（ＶＣ１〜ＶＣ７）を示している。
【００５３】
トランザクション層内では、トラフィッククラス（ＴＣ）が仮想チャネル（ＶＣ）にマッピングされる。１つの仮想チャネル（ＶＣ）に対して１つ又は複数のトラフィッククラス（ＴＣ）をマッピングできる（仮想チャネル（ＶＣ）の数が少ない場合）。単純な例では、各トラフィッククラス（ＴＣ）から各仮想チャネル（ＶＣ）に１対１、全てのトラフィッククラス（ＴＣ）を仮想チャネルＶＣ０にマッピングする、といったことが考えられる。ＴＣ０−ＶＣ０のマッピングは、必須／固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。
【００５４】
ｄ．フロー制御
受信バッファのオーバーフローを避け、伝送順序を確立するためにフロー制御（ＦＣ：Flow Control）が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手（コンプリータ）にパケットが届いたことを確認することはできない。
【００５５】
PCI Expressのフロー制御は、クレジット・ベースで行われる（データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバーフロー、アンダフローが発生しないメカニズム）。即ち、受信側はリンク初期化時にバッファ容量（クレジット値）を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには６種類ある。
【００５６】
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット（ＤＬＬＰ）を使用して行われる。フロー制御はトランザクションレイヤパケット（ＴＬＰ）のみに適用され、データリンクレイヤパケット（ＤＬＬＰ）には適用されない（ＤＬＬＰは常時送受信可能）。
【００５７】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、前述したように、リンク上の２つのコンポーネント間での信頼性の高いトランザクションレイヤパケット（ＴＬＰ）交換機能を提供することである。
【００５８】
ａ．トランザクションレイヤパケット（ＴＬＰ）の扱い
トランザクション層１５３から受け取ったトランザクションレイヤパケット（ＴＬＰ）に対しては、先頭に２バイトのシーケンス番号、末尾に４バイトのリンクＣＲＣ（ＬＣＲＣ）を付加して、物理層１５５に渡す（図９参照）。トランザクションレイヤパケット（ＴＬＰ）は、リトライバッファに保管され、相手から受信確認（ＡＣＫ）が届くまで再送される。トランザクションレイヤパケット（ＴＬＰ）の送信に失敗が続いた場合は、リンク異常であると判断して物理層１５５に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層１５４の状態はインアクティブに遷移する。
【００５９】
物理層１５５から受け取ったトランザクションレイヤパケット（ＴＬＰ）は、シーケンス番号とリンクＣＲＣ（ＬＣＲＣ）が検査され、正常であればトランザクション層１５３に渡され、エラーがあった場合は再送を要求する。
【００６０】
ｂ．データリンクレイヤパケット（ＤＬＬＰ）
図１２は、データリンクレイヤパケットのフォーマット例を示す図である。トランザクションレイヤパケット（ＴＬＰ）は、物理層から送信されるときに自動的に図１２に示すようなデータリンクレイヤパケット（ＤＬＬＰ）に分割されて各レーンに送信される。データリンク層１５４が生成するパケットは、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれ、データリンク層１５４間でやり取りされる。データリンクレイヤパケット（ＤＬＬＰ）には、
・Ack／Nak：ＴＬＰの受信確認、リトライ（再送）
・InitFC1／InitFC2／UpdateFC：フロー制御の初期化とアップデート
・電源管理のためのＤＬＬＰ
なる種類がある。
【００６１】
図１２に示すように、データリンクレイヤパケット（ＤＬＬＰ）の長さは６バイトで、種類を示すＤＬＬＰタイプ（１バイト）、ＤＬＬＰの種類で固有の情報（３バイト）、ＣＲＣ（２バイト）から構成される。
【００６２】
Ｃ．物理層−論理サブブロック１５６
図８中に示す物理層１５５の論理サブブロック１５６での主な役割は、データリンク層１５４から受け取ったパケットを電気サブブロック１５７で送信できる形式に変換することである。また、物理層１５５を制御／管理する機能も有する。
【００６３】
ａ．データ符号化とパラレル−シリアル変換
PCI Expressは、連続した"０"や"１"が続かないように（長い期間、クロス・ポイントが存在しない状態が続かないようにするため）、データ符号化に８Ｂ／１０Ｂ変換を用いる。図１３は、ｘ４リンクでのバイトストライピング例を示す図である。変換されたデータは、図１３中に示すように、シリアル変換され、ＬＳＢからレーン上に送信される。ここに、レーンが複数ある場合は（図１３はｘ４リンクの場合を例示している）、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
【００６４】
ｂ．電源管理とリンクステート
図１４は、リンクステートの定義を示す図である。リンクの消費電力を低く抑えるために、図１４に示すように、Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートが定義されている。Ｌ０が通常モードで、Ｌ０ｓからＬ２へと低消費電力となるが、Ｌ０への復帰にも時間がかかるようになる。
【００６５】
図１５は、アクティブステート電源管理の制御例を示すタイムチャートである。図１５に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
【００６６】
Ｄ．物理層−電気サブブロック１５７
物理層１５５の電気サブブロック１５７での主な役割は、論理サブブロック１５６でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック１５６に渡すことである。
【００６７】
ａ．ＡＣカップリング
リンクの送信側では、ＡＣカップリング用のコンデンサが実装される。これにより、送信側と受信側のＤＣコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
【００６８】
ｂ．デエンファシス
PCI Expressでは、前述したように、８Ｂ／１０Ｂエンコーディングによってできるだけ連続した"０"や"１"が続かないように処理されるが、連続した"０"や"１"が続くこともある（最大５回）。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、２つ目のビットからは差動電圧レベル（振幅）を３．５±０．５ｄＢ落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
【００６９】
[Advanced Switch Interconnectとは]
次に、本実施の形態は上述したPCI Expressの技術を活用したAdvanced Switch Interconnectを利用するものであり、本実施の形態の前提として当該Advanced Switch Interconnectの概要について説明する。
【００７０】
近年においては、ブロードバンドと半導体技術の進歩を背景としたコンピューティングと通信の融合が急速に進み、新たなアプリケーションシステムに幅広く対応できる規格の出現が望まれるようになってきている。そこで登場してきたのがPCI Expressの技術を活用したＡＳＩ（Advanced Switching Interconnect）規格であり、コンピューティングから通信まで幅広いアプリケーションに適用することを想定している。ＡＳＩ仕様の策定と普及は非営利団体であるASI-SIG（Advanced Switching Interconnect Special Interest Groupe）によって運営されている。
【００７１】
[Advanced Switch Interconnect技術の概要]
次に、Advanced Switch Interconnect技術の概要について説明する。まず、PCI ExpressとＡＳＩ（Advanced Switching Interconnect）の関係について説明する。図１６は、PCI ExpressとＡＳＩ（Advanced Switching Interconnect）のプロトコルスタックの関係を示す図である。
【００７２】
ＡＳＩ（Advanced Switching Interconnect）はPCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Board を想定している。
【００７３】
PCI Expressはコンピューティングで培われてきたＰＣＩのトランザクションをそのまま継承しているが、ＡＳＩ（Advanced Switching Interconnect）ではPCI Expressのトランザクション層を入れ替えて機能を拡張しており、より高度なデータフローとプロトコルに対応出来るようにしている。また、接続構造もPCI Expressのツリー構造から、より自由度の高いファブリック構造が出来るように拡張されており、マルチＣＰＵ環境にも対応している。ＡＳＩ（Advanced Switching Interconnect）では、同様のファブリック構造が可能な他の規格（Ethernet（登録商標），InfiniBand等）よりもルーティング手法が格段に改善され、高速化が図られている。
【００７４】
図１６に示すファブリック管理機能（AS Fabric Mngmnt）は、ソフトウェアで構成されるＡＳＩ（Advanced Switching Interconnect）プロトコルの一部であり、接続セットアップや取り外し、イベント管理、パフォーマンスおよび稼動状況のモニタ、リダンダント・ルート、パスの無効化、リソース割り振り、負荷の平準化のような種々のサービスをサポートする。図１７は、ファブリック管理機能における初期化シーケンスを示す図である。
【００７５】
図１８は、ＡＳＩにおけるプロトコルのカプセル化を示す図である。ＡＳＩ（Advanced Switching Interconnect）では、図１８に示すように、各種プロトコルをカプセル化する手法を採用することで、より高度なプロトコル（TCP/IP，Fibre Channel等）サービスの高速化を実現しようとしている。
【００７６】
ＡＳＩ（Advanced Switching Interconnect）の上位層にはPEI（Protocol Encapsulation Interface）と呼ばれる部分があり、外部から到達した各種パケットにＡＳＩヘッダを付加し、ＡＳＩパケットに変換する機能をもっている。ＡＳＩファブリックを通過したパケットは受信側のPEIでＡＳＩヘッダがはずされ、元のパケットとして抽出される。上流のプロトコルインタフェースはPI（パイ）と呼ばれ、各種標準に対応できる他、AS Native，Vendor Specificプロトコルも実装できる仕組みを採用している。PCI ExpressとＡＳＩ（Advanced Switching Interconnect）をブリッジで接続しPCI Expressプロトコルをカプセル化し転送するプロファイルは、PI-8として定義されている。
【００７７】
[Advanced Switch Interconnect技術の特徴]
ＡＳＩ（Advanced Switching Interconnect）はPCI Expressの特徴である、高速性、バンド幅のスケーラビリティ、階層構造による物理層の拡張性、データの信頼性等に加えて、以下に示すようなＡＳＩ（Advanced Switching Interconnect）独自の特徴がある。
・動画等のunreliable（lossy）パケット伝送への対応
・マルチキャスト、ブロードキャストパケットへの対応
・カプセル化によるマルチプロトコル伝送
・高速な独自のパスルーティング方式の採用
・輻輳管理機能のサポート
・ ファブリック構造への対応
図１９は、ＡＳＩによる複数デバイス間のストレージやＩＯリソースの共有を示す図である。前述した特徴により、図１９に示すような複数デバイス間のストレージやＩＯリソースの共有が可能となる。また、これまでPCI，PCI-X，PCI Express，HyperTransport，RapidIO,StarFabricなどの規格は、同じロード／ストアプロトコルを使っていても物理層が異なるために複雑な接続手段が必要であった。
【００７８】
図２０は、ＡＳＩによる通信例を示す図である。ＡＳＩ（Advanced Switching Interconnect）技術を利用することで図２０に示すような相互通信もシンプルに実現できるようになり、デバイス間の通信速度が高速化される。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernet（登録商標）の処理よりも高速に実現する局所システムを構築することも可能となる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができたりするようになる。
【００７９】
加えて、Advanced Switching Interconnectは、PCI Expressの物理層およびデータリンク層を最適化されたトランザクション層と重ね合わせたもので、様々な機能を提供する。トランザクション層の特徴的な機能としては、マルチレベルのＱｏＳ（Quality of Service）がある。ＱｏＳは、２０の仮想チャネル（ＶＣ：Virtual Channel）と８つのトラフィッククラス（ＴＣ）をサポートしている。
【００８０】
ＡＳＩ（Advanced Switching Interconnect）を制御する上位のソフトウェアであるファブリック管理機能（AS Fabric Mngmnt）は、トラフィッククラス（ＴＣ）を使用することによりトラフィックの差別化（優先度をつける）を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス（ＴＣ）はＴＣ０からＴＣ７まで８つある。
【００８１】
仮想チャネル（ＶＣ：Virtual Channel）は、各々独立した仮想通信バス（同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム）で、各々がリソース（バッファやキュー）を持ち、独立したフロー制御を行う。これにより、１つの仮想チャネルのバッファが満杯の状態（full）になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には１つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。
【００８２】
トランザクション層内では、トラフィッククラス（ＴＣ）が仮想チャネル（ＶＣ）にマッピングされる。１つの仮想チャネル（ＶＣ）に対して１つ又は複数のトラフィッククラス（ＴＣ）をマッピングできる（仮想チャネル（ＶＣ）の数が少ない場合）。単純な例では、各トラフィッククラス（ＴＣ）から各仮想チャネル（ＶＣ）に１対１、全てのトラフィッククラス（ＴＣ）を仮想チャネルＶＣ０にマッピングする、といったことが考えられる。
【００８３】
ＴＣ０−ＶＣ０のマッピングは、必須／固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。また、ＡＳＩファブリック内では、過大なトラフィックが発生することによるCongestion状態が発生することがある。Congestion状態に陥ると、パケットの応答時間が長くなり、一定のサービスレベルが維持できなくなるという問題がある。そこで、ＡＳＩ（Advanced Switching Interconnect）規格では、Congestion Management機能としてStatus-Based Flow Control（ＳＢＦＣ）を備えることにより、この問題の解決を図っている。
【００８４】
ここで、Congestion Managementについて図２１を用いて具体的に説明する。図２１−１に示すように、３つのスイッチにトラフィック１〜３が存在している場合において、最初にトラフィック１とトラフィック２が、所望のデータ転送を行っていたとする。ここで、トラフィック３としてポートＡの能力以上の過大なトラフィックが発生したとする。この影響は、同じ出力ポートＡへのトラフィック２の減少となって現れる。また、トラフィック２のみならず、トラフィック２と同じリンクを経由するトラフィック１のトラフィックも減少してしまう。
【００８５】
そこで、図２１−２に示すように、ＳＢＦＣを用いてポートＡが混んでいる事を隣のスイッチに伝えることにより、トラフィック２の出力を抑えることができるようになるので、トラフィック１がトラフィック２の影響を受けなくなる。ところで、ＡＳＩ（Advanced Switching Interconnect）の仮想チャネル（ＶＣ）には、下記に示すような３つのタイプがある。
ＢＶＣ（Bypass Capable Unicast） ： ＶＣ Ｉｄｓ ０−７
ＯＶＣ（Ordered-Only Unicast）   ： ＶＣ Ｉｄｓ ８−１５
ＭＶＣ（Multicast）              ： ＶＣ Ｉｄｓ １６−１９
図２２は、ＢＶＣを説明するための模式図である。ＢＶＣ（Bypass Capable Unicast）は、図２２に示すように、先に入力されたQueueをバイパスさせ、後から入力されたQueueがアービタ（調停回路）から抜けていくことを許しているものである。
【００８６】
図２３は、ＯＶＣを説明するための模式図である。ＯＶＣ（Ordered-Only Unicast）は、図２３に示すように、先に入力されたQueueがそのまま出力されるものである。
【００８７】
図２４は、ＭＶＣを説明するための模式図である。ＭＶＣ（Multicast）は、図２４に示すように、入力されたQueueがマルチキャスト出力されるものである。以下、本発明におけるデータ通信システムの構成について説明する。
【００８８】
［実施例１におけるデータ通信システムの構成］
図２５−１は本発明の実施例１におけるデータ通信システムの構成例を示す図である。図２５−１に示すように、データ通信システムは、CPU、メモリと接続されたPCI Expressのルートコンプレックス（最上位デバイス）２００、スイッチ２０１〜２０３、デバイス２０４〜２０８を含んで、ルートコンプレックス２００を最上位デバイスとしてツリー構造にデータ網が構築されている。
【００８９】
ルートコンプレックス２００は、ルートポート１、２を２つ有し、各々をルートとしたツリー構造は、ルートポート１サイド、ルートポート２サイドと呼ばれる。PCI Express規格では、これらルートポート１、２はアップストリームポートと呼ばれ、基本的にはデータ通信の上流側に位置する。
【００９０】
スイッチ２０１〜２０３は、データ通信をポイントツーポイントで行うための接続切り替え機能を有する。
【００９１】
図２５−２は、ルートコンプレックス２００の内部構成例を示す図である。図２５−２に示すように、本発明では、帯域制御手段３００、各ルートポートにおいて、ハードウェアによる下位のツリー構造に関する詳細な情報、即ち、ノード、通信ルート（通信経路）の構成、通信ルート毎の帯域の総和である現状帯域、及び、ノード間の伝送路の許容帯域を保持する保持手段３０１及び３０２を具備する。
【００９２】
帯域制御手段３００は、各保持手段が保持する許容帯域を超えないよう各通信ルートの帯域を制御する。なお、帯域制御手段３００は、各ルートポートに備えられるように構成してもよい。
【００９３】
図２５−１に戻り、ルートポート１サイドに接続されているスイッチ２０１にはデータ通信通知手段１１が具備され、ルートポート２サイドに接続されているスイッチ２０２には、同様に、データ通信通知手段２１が具備されている。
【００９４】
データ通信通知手段１１を具備しているスイッチ２０１には、通信通知手段１２を具備しているスイッチ２０３、及び、同様にデータ通信通知手段１３を具備するデバイス２０４が接続されている。
【００９５】
また、データ通信通知手段１２を具備しているスイッチ２０３には、データ通信通知手段１４を具備するデバイス２０３、及び、同様にデータ通信通知手段１５を具備するデバイス２０８が接続されている。
【００９６】
同様に、データ通信通知手段２１を具備しているスイッチ２０２には、データ通信通知手段２２を具備するデバイス２０５、及び、同様にデータ通信通知手段２３を具備するデバイス２０６が接続されている。なお、各データ通信手段は、ハードウェアにより構成される。
【００９７】
以上、本発明の構成には規則性があり、非常に実装し易い構成となっている。具体的には、ハードウェアによるデータ通信通知手段を、ルートコンプレックス２００ではダウンストリームポートに、スイッチ及びデバイスではアップストリームポートに具備させれば良い。
【００９８】
図２６は、実施例１におけるルートポート１サイド及びルートポート２サイドの通信ルートの一例を示す図である。図２７は、実施例１におけるルートポート２サイドの通信ルート及びスイッチ経由でのデバイス同士の通信ルートを示す図である。これら２つの図は、本来は１つの図で表してもよいが、見易くするため２つの図に分けている。さて、各々の通信ルートにはＡから順に以下の通り割り当てるものとする。
[ルートポート１サイド]
Ａ：ルートポート１―スイッチ２０１―スイッチ２０３―デバイス２０７
Ｂ：ルートポート１―スイッチ２０１―スイッチ２０３―デバイス２０８
Ｃ：ルートポート１―スイッチ２０１―デバイス２０４
Ｄ：デバイス２０７―スイッチ２０３―スイッチ２０１―デバイス２０４
Ｅ：デバイス２０８―スイッチ２０３―スイッチ２０１―デバイス２０４
[ルートポート２サイド]
Ｆ：ルートポート２―スイッチ２０２―デバイス２０５
Ｇ：ルートポート２―スイッチ２０２―デバイス２０６
Ｈ：デバイス２０５―スイッチ２０２―デバイス２０６
図２８は、保持手段が保持するデータの一例を示した図である。図２８に示すように、上記Ａ〜Ｇの通信ルートが、ルートポート１サイド及びルートポート２サイドに設けたレジスタに設定されている。
【００９９】
図２８では、横軸の１１から１８、２１から２８はデータ通信通知手段に対応し、ルートポート１サイドでは１１から１５が使用され、ルートポート２サイドでは２１から２３が使用されていることを示す。割り当てが無い部分は将来拡張することができる。
【０１００】
また、図２８に示す例では、データ通信手段を用いて通信ルートを示したが、スイッチやデバイス２０１〜２０８を用いてもよい。なお、設定状態を「○」で示したが、これは定性的なものであり、フラグを立てたり、数字で表したりして設定されているか否かを識別してもよい。
【０１０１】
例えば、図２８を参照すれば、図２６、図２７の通信ルートがレジスタにマッピングされていることが分かる。更に、データ通信通知手段は自分自身の帯域（許容帯域）を事前に把握しているので、その情報も併せてルートポート１サイドのデータ通信通知手段に通知され、通信ルートに含まれる伝送路の許容帯域が、ハードウェアによってレジスタに自動的に書き込まれる。
【０１０２】
なお、ハードウェアによって自動設定されたレジスタ値は、レジスタ値確定後、即ちコンフィギュレーション後、上位層(ドライバ及びアプリケーション)からも操作することができる。
【０１０３】
図２８の例で言えば、例えばルート（伝送路）１１の許容帯域は４００であるがシステム全体のバランスを考えた場合、例えば消費電流の関係で最初は帯域を絞っておきたい場合等は、３００に変更することも可能である。もちろん、ソフトウェアからの強制書き込みも可能であるが、レジスタのハードウエアリセットを掛けることで、極めて短時間に、例えば数システムクロック回数で初期値に戻すことも可能である。
【０１０４】
図２９は、実施例１における、ある時刻での通信ルートの一例を示す図である。通信ルートＤを通じてデバイス２０４とデバイス２０７が、通信ルートＢを通じてルートコンプレックス２００（ルートポート１サイド）とデバイス２０８が通信している。同時に、通信ルートＧを通じてルートコンプレックス２００（ルートポート２サイド）とデバイス２０６が通信し、通信ルートＨを通してデバイス２０５とデバイス２０６が通信している。
【０１０５】
図３０は、実施例１における、ある時刻での通信ルートの通信状況のレジスタ値の一例を示す図である。図３０に示すように、通信状況がレジスタに格納されている。この時点では、図２８と異なり、具体的な通信帯域が数値で書き込まれている。この図に示す通り、ルートポート１サイド、ルートポート２サイドの全ルートの現状帯域は許容帯域以下である。ここで、現状帯域とは、各ルート１１、１２、…毎の通信ルートＡ、Ｂ、…の総和のことである。
【０１０６】
図３１は、新規通信ルートでデータ通信を開始しようとする状態を示す図である。図３１に示すように、通信ルートＣ、通信ルートＦで新規にデータ通信を開始しようとする。まず、新規にルートを使用しようとするデバイス（ツリー構造の下位に位置するデバイス）もしくはルートポートが、レジスタに書き込むためのパケットをルートポートに送信する。ルートポートはこれを解読し、解読した値をレジスタに書き込む。解読した値がレジスタに書き込まれた後の状態を図３２に示す。
【０１０７】
図３２は、新規ルートの要求帯域がレジスタに上書きされた一例を示す図である。図３２に示すように、新規ルートＣでは、使用する帯域（要求帯域）として２００が要求されたため、まずは、対応レジスタに要求帯域２００が上書きされる（通信ルートＣの１１、１３参照）。また、新規通信ルートＦでは、使用する帯域として１００が要求されたため、まずは、対応レジスタに要求帯域１００が上書きされる（通信ルートＦの２１、２２参照）。
【０１０８】
ここで、図３２に示すように、データ通信通知手段１３に接続される伝送路の許容帯域２００を現状帯域３００が超えることになる。このとき、ルートコンプレックス２００内部の帯域制御手段３００は、新規通信ルートＣに対して許容帯域を超えないように帯域を制御する。
【０１０９】
［実施例１における帯域制御の処理について］
図３３は、実施例１における、通信状況を適切に制御するためのフローチャートである。ステップ１０１において、デバイス（ツリー構造の下位に位置するデバイス）は、データ通信要求がきたか否かを判定する。ステップ１０１の判定結果がＮＯ（要求がきてない）であればステップ１０１に戻り同様の判定を行なう。
【０１１０】
ステップ１０１の判定結果がＹＥＳ（要求がきた）であればステップ１０２に進み、デバイスのデータ通信通知手段は、通信ルート、要求帯域をパケットにしてルートコンプレックス（最上位デバイス）２００に通知（送信）する。
【０１１１】
ステップ１０２に続いてステップ１０３に進み、ルートコンプレックス２００のルートポートは、パケットを解読して、解読して得られた要求帯域を、同じく解読して得られた通信ルートの対応レジスタに書き込む。なお、レジスタは保持手段に相当する。
【０１１２】
ステップ１０３に続いてステップ１０４に進み、ルートコンプレックス２００は、レジスタに要求帯域が書き込まれた後の現状帯域が許容帯域を超えているか否かを判定する。
【０１１３】
ステップ１０４の判定結果がＹＥＳ（超えていると判定）であればステップ１０５に進み、要求帯域及び現状帯域に基づいて許容帯域を超えないよう各通信ルートの帯域が再計算される。次に、再計算された帯域は、レジスタに上書きされる。
【０１１４】
ステップ１０５に続いて、又はステップ１０４の判定結果がＮＯ（超えていないと判定）であればステップ１０６に進み、ルートコンプレックスのルートポートは通信ルートの各デバイスに対して、レジスタに設定された帯域を通知する。
【０１１５】
ステップ１０６に続いてステップ１０７に進み、通信ルートに設定されているデバイスは、通知された帯域に従ってデータ通信を開始する。なお、既にデータ通信していたデバイスは、通信ルートの帯域が変更された場合、ルートポートから通知された帯域に従ってデータ通信を継続する。
【０１１６】
図３３で示した処理について具体的に説明すると、ステップ１０３の処理が完了すると、図３２に示す状態になる。このとき、ステップ１０４の処理により、ルートポート１サイドではデータ通信通知手段１３に接続される伝送路（以下、ルート１３という）の現状帯域が、ルートポート２サイドではデータ通信通知手段２２に接続される伝送路（以下、ルート２２という）の現状帯域が許容帯域を超えることが分かる。
【０１１７】
ここで、伝送路は許容帯域を超えるデータを流すことはできないので、各通信ルートは同じ伝送路内のデータ帯域を分け合う。例えばルート１３では、２００の要求帯域に対して１００が許容される帯域となるので、１００がレジスタに書き込まれる。この際、通信ルートＣを通る他のルート（伝送路）のレジスタにも同じ値が書き込まれ、各ルート（伝送路）が許容帯域を超えていないかチェックされる。超えていれば同様の処理が再びなされる。ルート２２では１００の要求帯域に対して５０が許容される帯域となるので、５０がレジスタに書き込まれる。
【０１１８】
図３４は、実施例１における、帯域制御後のレジスタ値の一例を示した図である。図３４に示すように、通信ルートＣの「１１」、「１３」のレジスタには「１００」が書き込まれ、通信ルートＦの「２１」、「２２」のレジスタには「５０」が書き込まれる。
【０１１９】
これより、許容帯域を超えない帯域制御が可能となる。なお、前述した例では新規の通信ルートに対してのみ帯域を制御したが、既にデータ通信している通信ルートの帯域を制御するようにしてもよい。結果的に現状帯域が許容帯域を超えないようにすればよい。
【０１２０】
図３３に示すステップ１０５の処理が完了すると、図３４に示すレジスタ値が書き込まれた状態となる。次に、ステップ１０６の処理で図３４に示した値が、関連する各ルートにパケットとして通知される。
【０１２１】
図３５は、実施例１における、新規通信ルートでデータ通信が開始された状態を示す図である。図３３のステップ１０６において通知された帯域に従って、新規通信ルートＣ、Ｆは、データ通信が開始される。また、既存の通信ルートＢ、Ｄ、Ｇ、Ｈもデータ通信が完了するまでは継続してデータ通信が行なわれる。このとき、既存の通信ルートに帯域変更が生じた場合は、変更された帯域に従ってデータ通信が継続される。
【０１２２】
以上、実施例１に係るデータ通信システムによれば、データ転送開始前に使用可能な帯域を予め設定した後、データ通信を開始しているので、データ転送開始時に発生する可能性がある一時的な過大トラフィックを回避することができる。
【０１２３】
また、データ転送が終了した後、時間的に余裕があり、緊急な帯域変更或いは帯域の開放が必要ない、或いは、要求されなければ、ホストがソフトウェア制御によりレジスタ値を書き換えるようにすれば良い。この方式では、書き換えるレジスタ数によって設定するのに要する時間が決まる。
【０１２４】
これに対し、時間的に余裕が無く、緊急な帯域変更或いは帯域の開放が必要とされる、或いは、要求される場合は、前述のようにレジスタのハードウエアリセットをかけることによって、初期値に戻すことが可能である。最も短いリセット時間は、データ転送終了を検出した時点で、ハードウェアが行うことで実施される。この方式では、数クロックという非常に短い時間で初期化が可能である。
【０１２５】
次に短いリセット時間は、ソフトウェア的にリセットをかける方式である。この方式では、数μsから数百μs程度でリセットを掛けることができる。なお、ここで述べているリセットは、レジスタ全てを対象とすることも、また、データ通信が終了したルートにのみ掛けることもできる。係る場合のハードウエアでの実装については特に難しい技術を用いる必要はない。
【０１２６】
ここで、実施例１において、新規にデータ通信を開始するため、前述した手順に基づいてルートポートに要求帯域を含むパケットを送信したとき、エラーが発生した場合について述べる。エラーが発生した場合は、ルートポートからエラーが発生した旨のエラーパケットが送信されるか、或いは、パケットがロストしてしまったなどの原因で、パケットが送信先に返って来ないことになる。
【０１２７】
エラーパケットを受け取った場合は、帯域要求のパケットを再送し、その後の正しい手順を踏むことができる。パケットが返って来なかった場合は、一定時間待った後再送処理を行えば、こちらもその後の正しい手順を踏むことができる。即ち、従来技術のようなリアルタイムで優先度を調停するような機構と異なり、実動作中にエラーが発生してしまった場合であっても、どこかのトラフィックにデータの損失が発生してしまうという問題を回避することができる。
【実施例２】
【０１２８】
実施例２に係るデータ通信システムについて説明する。実施例２では、各通信ルートＡ〜Ｈに、優先度を設けることに特長がある。
【０１２９】
実施例２に係るデータ通信システムの構成は実施例１と同様であるため省略し、保持手段が保持するデータの違いについて以下説明する。
【０１３０】
図３６は、実施例２におけるルートポート１サイドのレジスタ値の一例を示す図である。図３７は、実施例２におけるルートポート２サイドのレジスタ値の一例を示す図である。図３６及び図３７ともに、優先度の情報が新たに追加されている。
【０１３１】
図３６及び図３７に示す例では、優先度を設け、優先度毎にルートを事前に割り当てている。また、図３６及び図３７に示す例では、優先度１００とは、ここに割り当てられた通信ルートが他のどの通信ルートよりも優先されること(使用率１００％と読み替え可能)、即ち、可能ならば全帯域を使ってしまうことも可能であることを意味し、以下、優先度が８０…２０まで設定可能である。レジスタは、実施例１の場合と比べて優先度が付加されていることを除き同様である。また、優先度の値については、適宜設定変更可能とする。
【０１３２】
次に、図３８は、実施例２における、ある時刻でのルートポート１サイドの通信状況のレジスタ値の一例を示す図である。図３９は、ある時刻でのルートポート２サイドの通信状況のレジスタ値の一例を示す図である。この状況で、通信ルートＣ、通信ルートＦで新規に通信を開始しようとする。まず、新規通信に含まれるデバイスもしくはルートポートが、レジスタに書き込むためのパケットをルートポートに送信する。ルートポートはこれを解読し、解読して得られた要求帯域をレジスタに書き込む。レジスタに書き込まれた後の状態を図４０及び図４１に示す。
【０１３３】
図４０は、実施例２におけるルートポート１サイドの通信状況のレジスタ値が上書きされた状態を示す図である。図４１は、実施例２におけるルートポート２サイドの通信状況のレジスタ値が上書きされた状態を示す図である。図４０及び図４１に示す例では、パケットを解読して得られた要求帯域をそのまま上書きした状態となっている。
【０１３４】
図４２は、実施例２における通信状況を帯域に従って適切に処理するためのフローチャートである。図４２に示す処理で図３３と同様の処理を行うものは、図３３と同じ符号を付しその説明を省略する。
【０１３５】
つまり、図４２に示す処理で図３３に示す処理と異なるところは、現状帯域の再計算処理に係るステップ２０１であるため、以下、ステップ２０１について説明する。なお、ステップ２０１の処理をする前までに図４０及び図４１に示したレジスタの状態になっている。
【０１３６】
ステップ２０１において、最上位デバイスの帯域制御手段３００は、ルート１３とルート２２との帯域について許容帯域を超えないように制御する。なお、ステップ１０４の処理により、ルート１３とルート２２の帯域を制御する必要があることがわかっている。
【０１３７】
次に、ステップ２０１の具体的な処理について図４０及び図４１を用いて説明する。図４０を参照すれば、ルート１３において、通信ルートＣが８０の優先度で帯域２００を要求しているが、通信ルートＤが既に２０の優先度で帯域１００を使用している。
【０１３８】
ルート１３を優先度に応じて効率良く使うために、
「通信ルートＣのルート１３での最大許容帯域」
＝「通信ルートＣの優先度」／（「通信ルートＣの優先度」＋「通信ルートＤの優先度」）
×「ルート１３の許容帯域」  ・・・式（１）
＝１６０
「通信ルートＤのルート１３での最大許容帯域」
＝「通信ルートＤの優先度」／（「通信ルートＣの優先度」＋「通信ルートＤの優先度」）
×「ルート１３の許容帯域」  ・・・式（２）
＝４０
となる。各通信ルートの優先度を用いて求めた重みに基づいて計算された値が、各通信ルートに割当てられる帯域となる。但し、上記で計算された値が、各々の要求帯域を上回った場合は、要求帯域を上限とする。また、上記で計算された値は、同じ通信ルートにおける他の伝送路での帯域にも反映される。
【０１３９】
図４３は、実施例２における現状帯域が優先度に基づいて計算されたときのルートポート１サイドのレジスト値の一例を示す図である。また、上記の計算をルートポート２サイドにも適用したものを図４４に示す。
【０１４０】
図４４は、実施例２における現状帯域が優先度に基づいて計算されたときのルートポート２サイドのレジスト値の一例を示す図である。図４３及び図４４に示すように、優先度に基づいて計算された帯域の総和である現状帯域は、許容帯域を超えないことがわかる。
【０１４１】
図４５は、通信ルートＣ及び通信ルートＦでは新規に、通信ルートＤ及び通信ルートＨでは通信帯域が再設定され、通信している状態を示す図である。図４２のステップ１０７の処理が終了すると図４５に示す状態になる。
【０１４２】
以上、実施例２におけるデータ通信システムは、データ通信開始前に許容帯域を超えることが分かった場合、各通信ルートに与えられている優先度を用いて求めた重みに基づいて、各通信ルートの帯域を計算することで、通信ルートの重要度に応じて帯域を制御することができる。
【実施例３】
【０１４３】
実施例３における画像処理システムについて説明する。実施例３における画像処理システムでは、上記実施例で説明したデータ通信システムを画像形成装置のデータ通信システムに適用する。まずは画像形成装置のハードウェア構成について説明する。
【０１４４】
［画像形成装置のハードウェア構成］
実施例３における画像形成装置のハードウェア構成について説明する。図４６は、実施例３における画像形成装置の概略ハードウェア構成を示す図である。
【０１４５】
図４６に示すように、画像形成装置４００は、制御部４０１、主記憶部４０２、補助記憶部４０３、ネットワークＩ／Ｆ４０４、文書保管部４０５、入力部４０６、表示部４０７、プロッタ部４０８、スキャナ部４０９を含む。
【０１４６】
制御部４０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。制御部４０１は、主記憶部４０２に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【０１４７】
主記憶部４０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などであり、制御部４０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１４８】
補助記憶部４０３は、ＨＤ（Hard  Disk）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部４０３には、画像形成装置が管理する各種情報（例えば、ユーザ情報など）が格納され、データベース（ＤＢ：DataBase）、ファイルシステム（ＦＳ：File  System）などの機能により管理される。
【０１４９】
ネットワークＩ／Ｆ４０４は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などのネットワークを介して接続された通信機能を有する周辺機器と当該画像形成装置などのインタフェースである。文書保管部４０５は、文書等の保管機能を有するドキュメントボックス等である。
【０１５０】
入力部４０６や表示部４０７は、キースイッチ（ハードキー）とタッチパネル機能（ＧＵＩのソフトウェアキーを含む：Graphical  User  Interface）を備えたＬＣＤ（Liquid  Crystal  Display）とから構成され、画像形成装置が有する機能を利用する際のＵＩ（User  Interface）として機能する表示及び／又は入力装置である。
【０１５１】
プロッタ部４０８は、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）からなる画像データを受け取ると、インクジェット方式を用いて、受け取った画像データを記録媒体（印刷用紙）に出力（印刷）するプロッタ装置である。
【０１５２】
スキャナ部４０９は、ＣＣＤ（Charge  Coupled  Devices）光電変換素子からなるラインセンサとＡ／Ｄコンバータとこれらを駆動する駆動回路を備え、原稿読み取り面（コンタクトガラス上）にセットされた原稿をスキャンすることでＲＧＢ各８ビットのデジタル画像データを生成（原稿から情報を読み取り電子化）する読取装置である。
【０１５３】
このように、画像形成装置は、主記憶部４０２や補助記憶部４０３などの記憶装置に格納されたプログラムを制御部４０１で実行し、制御信号（制御命令）を各装置へ送出すること（各装置を制御すること）で、画像形成装置が有するコピー、ファックス、スキャナ、プリンタなどのアプリケーションを実現し、画像形成装置で管理する情報、又は画像形成装置が接続されたシステム内で管理する情報を処理することができる。
【０１５４】
また、印刷に関する上位概念として、プリンタ及びコピアがある。プリンタはスキャナを用いず、ネットワーク等から取得したデータに対してプロッタを用いて出力する機能を指す。一方、コピアはスキャナからのデータに対してプロッタを用いて出力する機能を指す。これら個別の機能は、組み合わせによっては同時に動作させることができる。例えば、下記２つの動作はこれらの全機能が同時に動作している場合に相当する。
（動作１）  プリンタ  ＋  スキャナ  ＋  ファクシミリ  ＋  文書保管
（動作２）  コピア(フ゜ロッタ&スキャナ)      ＋  ファクシミリ  ＋  文書保管
これら２つの動作について考えると、破綻無く実行させるには、相応の工夫が必要となる。以下、図３６、図３７等のレジスタにおける優先度、許容帯域を、MFPに適用する場合について述べる。まず、各処理に重要度を付ける。重要度順に各処理を並べると、
（動作１）  プリンタ  ＞  スキャナ  ＞  ファクシミリ  ＞  文書保管
（動作２）  コピア(フ゜ロッタ&スキャナ)      ＞  ファクシミリ  ＞  文書保管
となる。
【０１５５】
動作１の場合はプリンタ、動作２の場合はコピアについても重要度が高くなる。動作２の場合は更に、プロッタがスキャナより重要度が高いとする。即ち、「プロッタ」機能が最重要となる。何故ならば、プロッタのためのデータ通信が滞れば、それは即、印刷失敗につながるからである。
【０１５６】
なお、ファクシミリについてはプロッタ、スキャナとは排他で使用することになり、データは画像形成装置内部の記憶部に蓄積可能であるので、各処理の重要度は上記の通りとする。ここで述べた重要度は、本発明の優先度及び許容帯域に対応させることが出来る。
【０１５７】
即ち、プロッタとの通信ルートは最も重要度が高いので、予め大きな許容帯域を割り当て、逆に文書保管には小さな許容帯域を割り当てておく。更に、レジスタにおける優先度も、基本的に重要度に対応付けることができる。また、状況に応じて、許容帯域を大きくし、優先度を低くする設定にすることも可能である。
【０１５８】
さて、高速な画像形成装置においては、特にプロッタは機器の要であり、最も高速にデータ通信させる必要のある機器である。場合によっては、他の機能のためのデータ通信をほぼ完全に止めてでも優先させることがある。そこで、実施例３における画像処理システムは、これを実施するために最適なシステムを提供する。
【０１５９】
また、開始順に対応した各機能の制御も大事となる。例えば、動作１において、重要度の低い順で各機能が実行されていったと仮定すると、先ず文書保管機能の動作が開始され、次にファクシミリの動作が開始される。もし画像形成装置内部でのデータ通信で調停が必要であれば、ファクシミリ動作が優先されるようにデータ通信が行われる。
【０１６０】
次に、スキャナ動作が開始されれば、スキャナ動作が優先されるように、データ通信が行われる。同様に、プロッタの動作が開始されれば、プロッタが最重要の重要度で動作するようにデータ通信が行われる。このように、実施例２の通信ルートの優先度を実施例３の各処理の重要度に対応付けて構成することが可能となる。
【０１６１】
また、これらの重要度の設定変更のための時間はできる限り短い方が良い。そこで、実施例３では、ソフトウェアでの設定変更よりも時間がかからないハードウエアでの設定変更が実現可能なため、ハードウェアでの設定変更を採用する。また、場合によっては、ソフトウエアでの設定変更も可能なため、ソフトウェアでの設定変更も実装しておくことにより、データ通信のための設定変更に対して最適で柔軟なシステムを提供することができる。
【０１６２】
以上、実施例３における画像処理システムでは、本発明におけるデータ通信システムを画像形成装置内部のデータ通信システムに適用することで、画像処理に係るデータ通信処理で瞬間的に過大なトラフィックが発生しても、これを回避することができる。つまり、本発明に係るデータ通信システムを画像形成装置内部のデータ通信システムに適用した場合、非常に有用であることがわかる。
【実施例４】
【０１６３】
実施例４におけるデータ通信システムについて説明する。実施例４では、各ノード間に制御回線を新規に設けて、この制御回線を通じてデータ通信に関する情報をやりとりすることで、瞬間的に発生する過大なトラフィックを回避することができる。
【０１６４】
図４７は、実施例４におけるデータ通信システムの構成を示す図である。図４７に示すように、データ通信システムは、ルートコンプレックス５００、スイッチ５０１〜５０３、デバイス５０４〜５０８、高速シリアルバス３１〜３５、４１〜４３、制御回線５１１〜５１５、５２１〜５２３を含んで構成される。
【０１６５】
実施例４におけるデータ通信システムでは、各ノード間を高速シリアルバスで接続する以外にも、制御回線で各ノード間を接続している。
【０１６６】
図４７に示すように、データ通信システムは、CPU、メモリに接続されたPCI Expressのルートコンプレックス（最上位デバイス）５００がある。ルートコンプレックス５００にはルートポートが２つあり、各々ルートポート１サイド、ルートポート２サイドと呼ばれる。また、ルートコンプレックス５００を最上位デバイスとしてツリー構造にデータ網が構築されている。
【０１６７】
ルートコンプレックス５００は、ルートポート１、２を２つ有し、各々ルートポート１サイド、ルートポート２サイドと呼ばれる。PCI Express規格では、これらはアップストリームポートと呼ばれ、基本的には、データ通信の上流側に位置する。
【０１６８】
スイッチ５０１〜５０３は、データ通信をポイントツーポイントで行うための接続切り替え機能を有する。
【０１６９】
図４８は、スイッチ及びデバイスの内部構成を示す図である。図４８に示すように、実施例４におけるデータ通信システムでは、各スイッチにおいて、各ノードでの通信帯域に関する通信帯域情報を保持する帯域保持手段６０１、通信帯域を演算する演算手段６０２、帯域を更新する更新手段６０３、その時の通信帯域の通信状態を通知する状態通知手段６０４を有する。
【０１７０】
また、図４８に示すように、各ルートポート及び、もしくはデバイスにおいて、データ通信に関する情報を通知する通知手段６０５と通信帯域を制御する帯域制御手段６０６とを有している。
【０１７１】
図４８（ａ）は、スイッチの内部構成を示す図である。帯域保持手段６０１は、スイッチに接続される伝送路（高速シリアルバス）の帯域を保持する。例えば、伝送路毎に、通信ルートＡには帯域「１００」、その他の通信ルートは帯域「０」という情報を保持する。
【０１７２】
演算手段６０２は、デバイスから通信情報を、制御回線を介して取得した場合、伝送路の帯域を各通信ルートにどのように設定するか演算を行う。例えば、伝送路３１には、通信ルートＡのみが使用されていたため１００％の帯域を設定していたが、取得した通信情報により、この伝送路に通信ルートＢも使用されることがわかると、通信ルートＡに５０％の帯域、通信ルートＢに５０％の帯域を設定するよう帯域の演算を行う。
【０１７３】
なお、演算手段６０２は、各通信ルートに優先度が設定されている場合、例えば、通信ルートＡはその他の通信ルートよりも２倍の帯域を与えるなどが設定されている場合、その優先度情報に基づいて設定する帯域を演算する。
【０１７４】
更新手段６０３は、演算手段６０２により演算され設定された帯域を帯域保持手段６０１に書き込む（更新する）。これより、伝送路の最新の通信状態が帯域保持手段６０１に保持されることになる。
【０１７５】
状態通知手段６０４は、デバイスから制御回線を介して通信情報を取得した場合、このデバイスに対して、更新手段６０３により更新された伝送路の通信状態情報を通知する。伝送路の通信状態情報とは、通信ルート毎にどれだけの帯域が設定されているかを示す情報である。通信状態情報は、帯域保持手段６０１に保持される情報から得ることができる。
【０１７６】
図４８（ｂ）は、デバイスの内部構成を示す図である。通知手段６０５は、これからデータ通信が行なわれる通信ルートに含まれるスイッチに対して、通信が行なわれることを示す通信情報を、制御回線を介して通知する。
【０１７７】
帯域制御手段６０６は、スイッチから通信状態情報を取得すると、通信状態情報が示す帯域に従って、各通信ルートの帯域を制御する。
【０１７８】
ここで、演算手段６０２について、PCI Express規格においては、ポイントツーポイントでの帯域は一意に決まっているため、特定の伝送路に２経路以上からのデータが送受信された場合、合計の帯域が一定となるということを意味する。
【０１７９】
一方、実施例４におけるデータ通信システムでは、複数のデータ通信ルートが存在する場合、各々の帯域を個別に制御することができることを念頭に置いている。例えば、或る伝送路にＡとＢ２本の通信ルートが存在し、通信ルートＡには通信ルートＢの２倍の帯域が割り当てられるものとする。通信ルートＡからのデータのみが送受信されている場合は、通信ルートＢは未使用となるため、伝送路の全帯域が通信ルートＡに割り当てられる。通信ルートＢからのデータも送受信され始めたとすると、通信ルートＡには全帯域のおおよそ３分の２が、通信ルートＢにはおおよそ３分の１の帯域が割り当てられることになる。
【０１８０】
更に、実施例４では、PCI Express規格における伝送路３１〜３５、４１〜４３とは別に、各伝送路に１対１に対応させた制御回線５１１〜５１５、及び、５２１〜５２３を有する。
【０１８１】
次に、実施例４における制御回線のビット割り当てについて説明する。制御回線５１１は、スイッチ５０１から先の下流側に伝送路３２及び３３の２本を有しているので、各々に１ビットずつ、合計２ビット割り当てられる。制御回線５１２については、上流側に伝送路３１が１本、同レベルに伝送路３３が１本、下流側に伝送路３４、３５の２本の伝送路があるので合計４ビット割り当てられる。
【０１８２】
制御回線５１３は、上流側に伝送路３１が１本、同レベルに伝送路３２が１本あるので、合計２ビット割り当てられる。制御回線５１４は、上流側に伝送路３２が１本、同レベルに伝送路３５が１本あるので、合計２ビット割り当てられる。制御回線５１５は制御回線５１４と同様であるので、２ビット割り当てられる。
【０１８３】
制御回線５２１は、スイッチ５０２から先の下流側に伝送路４２及び４３の２本を有しているので、各々に１ビットずつ、合計２ビット割り当てられる。制御回線５２２は上流側に伝送路４１が１本、同レベルに伝送路４３が１本あるので、合計２ビット割り当てられる。制御回線５２３は制御回線５２２と同様であるので、２ビット割り当てられる。
【０１８４】
図４９は、実施例４におけるルートポート１サイドの通信ルートを示す図である。図５０は、実施例４におけるルートポート２サイドの通信ルート及びスイッチ経由でのデバイス同士の通信ルートを示す図である。図４９及び図５０の図は、本来は１つの図で表してもよいが見易くするため２つの図に分けている。さて、各々の通信ルートにはＡから順に以下の通り割り当てる。
[ルートポート１サイド]
Ａ：ルートポート１―スイッチ５０１―スイッチ５０３―デバイス５０７
Ｂ：ルートポート１―スイッチ５０１―スイッチ５０３―デバイス５０８
Ｃ：ルートポート１―スイッチ５０１―デバイス５０４
Ｄ：デバイス５０７―スイッチ５０３―スイッチ５０１―デバイス５０４
Ｅ：デバイス５０８―スイッチ５０３―スイッチ５０１―デバイス５０４
[ルートポート２サイド]
Ｆ：ルートポート２―スイッチ５０２―デバイス５０５
Ｇ：ルートポート２―スイッチ５０２―デバイス５０６
Ｈ：デバイス５０５―スイッチ５０２―デバイス５０６
以上のように、通信ルートによっては、かなり複雑にデータが送受信されることが分かる。
【０１８５】
図５１は、実施例４における、ある時刻での通信状況の一例を示す図である。通信ルートＤを通じてデバイス５０３とデバイス５０４が通信し、通信ルートＢを通じてルートポート１サイドとデバイス５０５が通信している。
【０１８６】
同時に、通信ルートＧを通じてルートポート２サイドとデバイス５０６が通信し、通信ルートＨを通してデバイス５０５とデバイス５０６が通信している。このときの各制御回線の状態は以下の通りである。
５１１：３２＝オン/３３＝オフ
５１２：３１＝オン/３３＝オン/３４＝オン/３５＝オン
５１３：３１＝オフ/３２＝オン
５１４：３２＝オン/３５＝オフ
５１５：３２＝オン/３４＝オフ
５２１：４２＝オフ/４３＝オン
５２２：４１＝オフ/４３＝オン
５２３：４１＝オン/４２＝オン
「オン」はデータ通信が行なわれている状態を表し、「オフ」はデータ通信が行なわれていない状態を表す。上記表記を分かりやすくするため、「オン」を「○」、「オフ」を「×」として上記を書き直すと、下記の通りとなる。
５１１：３２＝○/３３＝×
５１２：３１＝○/３３＝○/３４＝○/３５＝○
５１３：３１＝×/３２＝○
５１４：３２＝○/３５＝×
５１５：３２＝○/３４＝×
５２１：４２＝×/４３＝○
５２２：４１＝×/４３＝○
５２３：４１＝○/４２＝○
上記から明白なように、制御回線５１２では全通信ルートが使用されているので、３１、３３、３４及び３５各々の通信ルートに帯域を予め割り付けておけば、システムに瞬間的に過大なトラフィックが発生する可能性があっても、予め決められた帯域に従ってデータ通信を行なうので、データ送受信に破綻をきたさない通信システムを得ることができる。
【０１８７】
つまり、これから新規にデータ通信が行なわれる場合、新規通信ルート上にあるルートポート又はデバイスが図４８に示す通知手段６０３を用いてスイッチに通信情報を通知することで、新規通信ルートを含めた通信ルートに対して、データ送受信に破綻をきたさないような帯域を事前に設定することができる。
【０１８８】
また、新規通信ルートを用いてデータ通信を開始する場合について説明する。図５２は、実施例４における、新規ルートを用いてデータ通信を開始するときの状態を示す図である。
【０１８９】
まず、新規通信ルートＣでデータ通信しようとするデバイスもしくはルートポートが、制御回線５１１の伝送路３３及び制御回線５１３の伝送路３１をアサートする。また、新規通信ルートＦでデータ通信しようとするデバイスもしくはルートポートが、制御回線５２１の伝送路４２及び制御回線５２２の伝送路４１をアサートする。
【０１９０】
前述した通り、今まで１本の通信ルートしか無かったものが２本以上になった場合、予め割り当ててあった帯域に従ってデータ送受信が行われるので、システムに瞬間的に過大なトラフィックが発生する可能性があっても、これを回避できる構成にしているので、データ送受信に破綻をきたさない通信システムを得ることができる。
【０１９１】
以上、実施例４に係るデータ通信システムによれば、各スイッチが、各通信ルートにおける通信状態を把握することにより、データ通信前に各通信ルートが使用可能な帯域を予め設定するため、データ転送開始時に発生する可能性のある一時的な過大トラフィックを回避することができる。
【０１９２】
なお、スイッチ同士を接続する伝送路の帯域制御については、どちらか一方が帯域を演算、設定して、他方が設定された帯域に従って帯域制御することを予め決めておけばよい。例えば、２つのスイッチが上流、下流の関係にある場合は上流のスイッチが帯域を演算、設定し、下流のスイッチが帯域制御を行うようにし、２つのスイッチが同レベルにある場合は、データの発呼側のスイッチが帯域を演算、設定し、着呼側のスイッチが帯域制御を行うようにすればよい。
【実施例５】
【０１９３】
実施例５に係るデータ通信システムについて説明する。実施例５では、通知手段６０５は、制御回線を介して、使用する帯域を数値で指定することができる。
【０１９４】
実施例１では、通知手段６０５は、通信情報としてどの通信ルートが使用されるか否かの情報を通知するだけであったが、実施例５では、通知手段６０５は、通信情報に使用する帯域の数値を含めて通知できるようにする。そのため、制御回線に、例えば通信ルート毎に各８ビットの制御信号線を割り当て、帯域を数値で指定できるようにする。
【０１９５】
演算手段６０３は、取得した帯域の数値に基づいて新規通信ルートの帯域を設定する。取得した帯域の数値をそのまま用いると許容帯域を超えてしまう場合、新規通信ルートの帯域を優先し、現在使用されている他の通信ルートの帯域を減らすことで、許容帯域を超えないようにしてもよい。
【０１９６】
以上、実施例５に係るデータ通信システムによれば、これから使用する通信ルートの帯域を数値で指定することにより、新規通信ルートが所望する帯域でデータ通信を行なうことができる。この際、新規通信ルートの帯域を、現在使用されている通信ルートよりも優先的に設定するよう帯域を制御するようにすればよい。
【実施例６】
【０１９７】
実施例６に係るデータ通信システムについて説明する。実施例６では、伝送路における帯域が一度設定された後でも、所定の条件を満たすとき、帯域を変更することができる。
【０１９８】
実施例６では、演算手段６０２により演算された帯域に基づいて各通信ルートの帯域が更新された場合、次に通知手段６０５から通信情報が通知される前に、帯域を変更できるようになる。
【０１９９】
例えば、もともと通信ルートＡ、Ｂ、Ｄが使用している伝送路があるとする。各通信ルートはそれぞれ、３０％、３０％、４０％の帯域を用いて通信を行なっている。このとき、ルートＤのデータ通信が終了したとする。演算手段６０２は、通信ルートＤのデータ通信が終了したことを検知もしくは、他のデバイスから通知されると、通信ルートＡ、Ｂにそれぞれ５０％ずつの帯域を演算して設定する。また、通信ルートに優先度が設定されている場合は、優先度に基づいて帯域を演算するようにしてもよい。
【０２００】
以上、実施例６に係るデータ通信システムによれば、一度設定（制御）した帯域であっても、その後状況が変化もしくは所定の条件を満たしたときに、再度、帯域を変更することで、帯域を効率よく使用してデータ通信を行うことができる。
【実施例７】
【０２０１】
実施例７に係るデータ通信システムについて説明する。実施例７では、データ通信と並行して各通信ルートの帯域を制御する。
【０２０２】
実施例７における通知手段６０５は、データ通信を開始すると同時又は開始後に、制御回線を介して、通信情報をスイッチに通知する。スイッチは、通信情報を取得すると、データ通信と並行して、演算手段６０２により各通信ルートの帯域の演算を行う。
【０２０３】
演算手段６０２により演算、設定された帯域は、更新手段６０３により帯域保持手段６０１に上書きされる（更新される）。次に、状態通知手段６０４により、更新された各通信ルートの帯域を通信状態情報としてデバイスに通知する。通信状態情報を通知されたデバイスは、帯域制御手段６０６により、通信状態情報が示す帯域に制御して、各通信ルートのデータ通信を継続する。
【０２０４】
以上、実施例７に係るデータ通信システムによれば、データ通信と並行して各通信ルートの帯域を制御することで、データ通信タイミングを遅らせることなく、かつ、データ通信能力の低下を防止することができる。
【実施例８】
【０２０５】
実施例８に係る画像処理システムについて説明する。実施例８では、実施例４乃至７で説明した各データ通信システムを、実施例３で説明した画像形成装置のデータ通信システムに適用する。
【０２０６】
実施例３で説明した通り、画像処理システムにおいては、圧縮・伸長・回転等の画像処理のように、それほどリアルタイム性が必要とされない処理や、プロットアウト処理のように、リアルタイム性が極めて重要となる処理など、プライオリティの異なる各種処理が混在している。よって、この画像処理システムに上記実施例４乃至７で説明した各データ通信システムを適用すれば、異常画像が発生しない画像システムを得ることができる。
【図面の簡単な説明】
【０２０７】
【図１】既存PCIシステムの構成例を示すブロック図。
【図２】PCI Expressシステムの構成例を示すブロック図。
【図３】デスクトップ／モバイルでのPCI Expressプラットホームの構成例を示すブロック図。
【図４】ｘ４の場合の物理層の構造例を示す模式図。
【図５】デバイス間のレーン接続例を示す模式図。
【図６】スイッチの論理的構造例を示すブロック図。
【図７−１】既存のPCIのアーキテクチャを示すブロック図。
【図７−２】PCI Expressのアーキテクチャを示すブロック図。
【図８】PCI Expressの階層構造を示すブロック図。
【図９】トランザクションレイヤパケットのフォーマット例を示す説明図。
【図１０】PCI Expressのコンフィグレーション空間を示す説明図。
【図１１】仮想チャネルの概念を説明するための模式図。
【図１２】データリンクレイヤパケットのフォーマット例を示す説明図。
【図１３】ｘ４リンクでのバイトストライピング例を示す模式図。
【図１４】Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートの定義について説明する説明図。
【図１５】アクティブステート電源管理の制御例を示すタイムチャート。
【図１６】PCI ExpressアーキテクチャとAdvanced Switching Interconnectの関係を示す説明図。
【図１７】ファブリック管理機能における初期化シーケンスを示す説明図。
【図１８】Advanced Switching Interconnectにおけるプロトコルのカプセル化を示す説明図。
【図１９】Advanced Switching Interconnectによる複数デバイス間のストレージやＩＯリソースの共有を示す説明図。
【図２０】Advanced Switching Interconnectによる通信例を示す説明図。
【図２１−１】Congestion Managementについて示す説明図。
【図２１−２】Congestion Managementについて示す説明図。
【図２２】ＢＶＣ（Bypass Capable Unicast）を説明するための模式図。
【図２３】ＯＶＣ（Ordered-Only Unicast）を説明するための模式図。
【図２４】ＭＶＣ（Multicast）を説明するための模式図。
【図２５−１】実施例１におけるシステム構成を示す図。
【図２５−２】実施例１におけるRoot Complexの内部構成例を示す図。
【図２６】実施例１における、Root Complexポート1サイドのルートを示す図。
【図２７】実施例１における、Root Complexポート２サイドのルート及びスイッチ経由でのデバイス同士の通信ルートを示す図。
【図２８】実施例１における、保持手段が保持するデータの一例を示す図。
【図２９】実施例１における、ある時刻での通信ルートの一例を示す図。
【図３０】実施例１における、ある時刻での通信ルートの通信状況のレジスタ値の一例を示す図。
【図３１】実施例１における、新規通信ルートで通信を開始しようとする状態を示す図。
【図３２】実施例１における、ルートポート１及びルートポート２サイドの通信状況のレジスタ値が上書きされた状態を示す図。
【図３３】実施例１における、通信状況を帯域に従って適切に処理するためのフローチャート。
【図３４】実施例１における、図３３のフローチャートに従って計算された値がルートポート１サイド及びルートポート２サイドのレジスタに設定された状態の図。
【図３５】実施例１における、新規通信ルートで通信が開始された状態を示す図。
【図３６】実施例２における、ルートポート１サイドでの各ルート番号と各々の優先度、許容帯域及び現状帯域を保持するレジスタと、レジスタへの初期設定値の一例を示す図。
【図３７】実施例２における、ルートポート２サイドでの各ルート番号と各々の優先度、許容帯域及び現状帯域を保持するレジスタと、レジスタへの初期設定値の一例を示す図。
【図３８】実施例２における、ある時刻でのルートポート１サイドの通信状況のレジスタ値の一例を示す図。
【図３９】実施例２における、ある時刻でのルートポート２サイドの通信状況のレジスタ値の一例を示す図。
【図４０】実施例２における、ルートポート１サイドの通信状況のレジスタ値が上書きされた状態を示す図。
【図４１】実施例２における、ルートポート２サイドの通信状況のレジスタ値が上書きされた状態を示す図。
【図４２】実施例２における、通信状況を帯域に従って適切に処理するためのフローチャート。
【図４３】実施例２における、現状帯域が優先度に基づいて計算されたときのルートポート１サイドのレジスタ値の一例を示す図。
【図４４】実施例２における、現状帯域が優先度に基づいて計算されたときのルートポート２サイドのレジスタ値の一例を示す図。
【図４５】実施例２における、ルートC及びルートFでは新規に、ルートD及びルートHでは通信帯域が再設定され、通信している状態を示す図。
【図４６】実施例３における画像形成装置のハードウェア構成を示す図。
【図４７】実施例４におけるシステム構成例を示す図。
【図４８】スイッチ及びデバイスの内部構成例を示す図。
【図４９】実施例４におけるルートポート１サイドの通信ルートを示す図。
【図５０】実施例４におけるルートポート２サイドの通信ルート及びスイッチ経由でのデバイス同士の通信ルートを示す図。
【図５１】実施例４における、ある時刻での通信ルートの一例を示す図。
【図５２】実施例４における、新規通信ルートでデータ通信を開始しようとする状態を示す図。
【符号の説明】
【０２０８】
１、２  ルートポート
１１、１２、１３、１４、１５  データ通信通知手段
２１、２２、２３  データ通信通知手段
２００、５００  ルートコンプレックス
２０１、２０２、２０３  スイッチ
２０４、２０５、２０６、２０７、２０８  デバイス
３００  帯域制御手段
３０１、３０２  保持手段
４００  画像形成装置
５０１、５０２、５０３  スイッチ
５０４、５０５、５０６、５０７、５０８  デバイス
５１１、５１２、５１３、５１４、５１５、５２１、５２２、５２３  制御回路
６０１  帯域保持手段
６０２  演算手段
６０３  更新手段
６０４  状態通知手段
６０５  通知手段
６０６  帯域制御手段
【図１】
2010041335.tif 000003
【図２】
2010041335.tif 000004
【図３】
2010041335.tif 000005
【図４】
2010041335.tif 000006
【図５】
2010041335.tif 000007
【図６】
2010041335.tif 000008
【図７−１】
2010041335.tif 000009
【図７−２】
2010041335.tif 000010
【図８】
2010041335.tif 000011
【図９】
2010041335.tif 000012
【図１０】
2010041335.tif 000013
【図１１】
2010041335.tif 000014
【図１２】
2010041335.tif 000015
【図１３】
2010041335.tif 000016
【図１４】
2010041335.tif 000017
【図１５】
2010041335.tif 000018
【図１６】
2010041335.tif 000019
【図１７】
2010041335.tif 000020
【図１８】
2010041335.tif 000021
【図１９】
2010041335.tif 000022
【図２０】
2010041335.tif 000023
【図２１−１】
2010041335.tif 000024
【図２１−２】
2010041335.tif 000025
【図２２】
2010041335.tif 000026
【図２３】
2010041335.tif 000027
【図２４】
2010041335.tif 000028
【図２５−１】
2010041335.tif 000029
【図２５−２】
2010041335.tif 000030
【図２６】
2010041335.tif 000031
【図２７】
2010041335.tif 000032
【図２８】
2010041335.tif 000033
【図２９】
2010041335.tif 000034
【図３０】
2010041335.tif 000035
【図３１】
2010041335.tif 000036
【図３２】
2010041335.tif 000037
【図３３】
2010041335.tif 000038
【図３４】
2010041335.tif 000039
【図３５】
2010041335.tif 000040
【図３６】
2010041335.tif 000041
【図３７】
2010041335.tif 000042
【図３８】
2010041335.tif 000043
【図３９】
2010041335.tif 000044
【図４０】
2010041335.tif 000045
【図４１】
2010041335.tif 000046
【図４２】
2010041335.tif 000047
【図４３】
2010041335.tif 000048
【図４４】
2010041335.tif 000049
【図４５】
2010041335.tif 000050
【図４６】
2010041335.tif 000051
【図４７】
2010041335.tif 000052
【図４８】
2010041335.tif 000053
【図４９】
2010041335.tif 000054
【図５０】
2010041335.tif 000055
【図５１】
2010041335.tif 000056
【図５２】
2010041335.tif 000057