(57)【特許請求の範囲】
【請求項１】
ネットワーク上に分散配置されたデバイス間の通信を制御する通信制御システムであって、
ＣＰＵおよびＣＰＵ周辺デバイスが接続されたＣＰＵ側ブリッジと、ＩＯデバイスが接続されたＩＯ側ブリッジとが前記ネットワークを介して接続され、
ユーザの操作に従って入力された入力情報を解析し、ＣＰＵ側ブリッジおよびＩＯ側ブリッジが所属するグループのグループ設定のポリシーを設定するグループ設定ポリシー設定手段と、
前記グループ設定ポリシー設定手段が設定した前記グループ設定のポリシーに従って、デバイス情報とデバイス間の同期調整を行う同期調整装置の接続状況を示す情報とに基づいて、最適な組合せとなるグループ設定を決定するグループ設定手段と、
前記ＣＰＵ側ブリッジは、該ＣＰＵ側ブリッジが所属するグループのグループＩＤと該ＣＰＵ側ブリッジに接続されたデバイスのデバイス情報とを通知するＣＰＵ側通知手段を含み、
前記ＩＯ側ブリッジは、該ＩＯ側ブリッジが所属するグループのグループＩＤと該ＩＯ側ブリッジに接続されたデバイスのデバイス情報とを通知するＩＯ側通知手段を含み、
前記ＣＰＵ側通知手段および前記ＩＯ側通知手段が通知する情報を収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出する同期設定値算出手段と、
前記同期設定値算出手段が算出した設定値に基づいて、前記デバイスの組合せにおける同期調整を行う同期調整手段とを含み、
前記グループ設定ポリシー設定手段は、
前記入力情報の解析結果に基づくポリシーを満たすグループ設定が不可能である場合、ユーザが所望するグループ設定とは異なるグループ設定が可能なポリシーをユーザに提示し、ユーザが当該ポリシーを許可したことを条件に当該ポリシーを設定する
ことを特徴とする通信制御システム。
【請求項２】
グループ設定ポリシー設定手段は、デバイスの種類と同期精度を指定するグループ設定のポリシーを設定する
請求項１記載の通信制御システム。
【請求項３】
同期設定値算出手段は、予め定められた同期調整の基礎値とデバイス毎の補正値および特性情報とに基づいて、同期設定値を算出する
請求項１または請求項２に記載の通信制御システム。
【請求項４】
ＣＰＵ側通知手段は、ＰＣＩのデバイス情報を通知し、
ＩＯ側通知手段は、ＰＣＩのデバイス情報を通知する
請求項１から請求項３のうちのいずれか１項に記載の通信制御システム。
【請求項５】
ネットワーク上に分散配置されたデバイス間の通信を制御する通信制御方法であって、
グループ設定ポリシー設定手段が、
ユーザの操作に従って入力された入力情報を解析し、ＣＰＵ側ブリッジおよびＩＯ側ブリッジが所属するグループのグループ設定のポリシーを設定し、前記入力情報の解析結果に基づくポリシーを満たすグループ設定が不可能である場合、ユーザが所望するグループ設定とは異なるグループ設定が可能なポリシーをユーザに提示し、ユーザが当該ポリシーを許可したことを条件に当該ポリシーを設定し、
グループ設定手段が、
前記グループ設定ポリシー設定手段が設定した前記グループ設定のポリシーに従って、デバイス情報とデバイス間の同期調整を行う同期調整装置の接続状況を示す情報とに基づいて、最適な組合せとなるグループ設定を決定し、
同期設定値算出手段が、
ＣＰＵ側ブリッジが所属するグループのグループＩＤおよび該ＣＰＵ側ブリッジに接続されたデバイスのデバイス情報と、ＩＯ側ブリッジが所属するグループのグループＩＤおよび該ＩＯ側ブリッジに接続されたデバイスのデバイス情報とを収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出し、
同期調整手段が、
算出した設定値に基づいて、前記デバイスの組合せにおける同期調整を行う
ことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に分散配置された複数のデバイス間の通信を制御する通信制御システム、通信制御装置、通信制御方法および通信制御プログラムに関する。
【背景技術】
【０００２】
非特許文献１および非特許文献２に示されるような、ネットワーク上にＣＰＵ・メモリ・チップセットのＣＰＵデバイス群とＩＯデバイスとを分散配置させ分散システムを構築する方法がある。ネットワーク上にデバイスを分散配置させることにより、デバイス間を自由に接続でき、距離の制約、筺体の制約の開放により拡張性を向上させることができる。
【０００３】
また、図１７に示すように、ＩＯデバイスのグループＩＤを所属させたいＣＰＵデバイス群のグループＩＤと同じにすることにより、そのＣＰＵデバイス群によって実現されるシステムに所属させることができる。このようにシステム構築の自由度を向上させられる。
【０００４】
また、関連する技術として、例えば、特許文献１には、Ｉ／Ｏ機器の共有システムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０７８８８７号公報
【非特許文献】
【０００６】
【非特許文献１】２００６年電子情報通信学会通信ソサイエティ大会Ｂ−６−５７イーサネットを用いたシステム仮想化技術ＥｘｐｒｅｓｓＥｔｈｅｒの提案（１）システム概要とアーキテクチャ
【非特許文献２】２００６年電子情報通信学会通信ソサイエティ大会Ｂ−６−５８イーサネットを用いたシステム仮想化技術ＥｘｐｒｅｓｓＥｔｈｅｒの提案（２）ＩＯ仮想化技術
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、デバイスを分散配置させることによる弊害が発生する。第１に、デバイス間の同期がとれず動作にずれが発生する点である。例えば、表示デバイスと音声デバイスとの間で同期がとれていない場合には、音ずれが発生することとなる。または複数の表示デバイスを用いて１つの画面を表示する場合には、表示ずれが発生することとなる。
【０００８】
第２に、最高精度の同期調整を行うことにより資源（ソフトウェアやハードウェアを動作させるのに必要なＣＰＵやメモリ、ハードディスクなど）を無駄に消費する点である。さまざまなデバイスの組合せが可能な場合には、デバイスの組合せにより同期の必要がない組合せや同期精度が異なる組合せが生じ、すべてに最高精度の同期精度を与えた場合、資源の無駄が発生する。
【０００９】
特に、非特許文献１および非特許文献２に記載されているＰＣＩ  ＥｘｐｒｅｓｓバスとＥｔｈｅｒｎｅｔ（登録商標）を用いたシステムでは、まずＰＣＩ  ＥｘｐｒｅｓｓバスおよびＥｔｈｅｒｎｅｔ自体が同期を考慮しない仕様で標準化されており、標準で同期をとることは困難である。
【００１０】
このように、非特許文献１及び非特許文献２に記載された技術を用いても、デバイスの組合せに応じて適切な同期制御を行えるとは限らない。
【００１１】
また、特許文献１に記載されているシステムでは、耐障害性を考慮してＩ／Ｏ機器の共有設定をおこなう事を目的としており、デバイスの組合せごとに最適な同期調整を行う目的に適用することができない。
【００１２】
そこで、本発明は、デバイスの組合せごとに必要な同期調整を行うことができる通信制御システム、通信制御装置、通信制御方法及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による通信制御システムは、ネットワーク上に分散配置されたデバイス間の通信を制御する通信制御システムであって、ＣＰＵおよびＣＰＵ周辺デバイスが接続されたＣＰＵ側ブリッジと、ＩＯデバイスが接続されたＩＯ側ブリッジとがネットワークを介して接続され、ユーザの操作に従って入力された入力情報を解析し、ＣＰＵ側ブリッジおよびＩＯ側ブリッジが所属するグループのグループ設定のポリシーを設定するグループ設定ポリシー設定手段と、グループ設定ポリシー設定手段が設定したグループ設定のポリシーに従って、デバイス情報とデバイス間の同期調整を行う同期調整装置の接続状況を示す情報とに基づいて、最適な組合せとなるグループ設定を決定するグループ設定手段と、ＣＰＵ側ブリッジは、ＣＰＵ側ブリッジが所属するグループのグループＩＤとＣＰＵ側ブリッジに接続されたデバイスのデバイス情報とを通知するＣＰＵ側通知手段を含み、ＩＯ側ブリッジは、ＩＯ側ブリッジが所属するグループのグループＩＤとＩＯ側ブリッジに接続されたデバイスのデバイス情報とを通知するＩＯ側通知手段を含み、ＣＰＵ側通知手段およびＩＯ側通知手段が通知する情報を収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出する同期設定値算出手段と、同期設定値算出手段が算出した設定値に基づいて、デバイスの組合せにおける同期調整を行う同期調整手段とを含み、グループ設定ポリシー設定手段が、入力情報の解析結果に基づくポリシーを満たすグループ設定が不可能である場合、ユーザが所望するグループ設定とは異なるグループ設定が可能なポリシーをユーザに提示し、ユーザが当該ポリシーを許可したことを条件に当該ポリシーを設定することを特徴とする。
【００１５】
本発明による通信制御方法は、ネットワーク上に分散配置されたデバイス間の通信を制御する通信制御方法であって、グループ設定ポリシー設定手段が、ユーザの操作に従って入力された入力情報を解析し、ＣＰＵ側ブリッジおよびＩＯ側ブリッジが所属するグループのグループ設定のポリシーを設定し、入力情報の解析結果に基づくポリシーを満たすグループ設定が不可能である場合、ユーザが所望するグループ設定とは異なるグループ設定が可能なポリシーをユーザに提示し、ユーザが当該ポリシーを許可したことを条件に当該ポリシーを設定し、グループ設定手段が、グループ設定ポリシー設定手段が設定したグループ設定のポリシーに従って、デバイス情報とデバイス間の同期調整を行う同期調整装置の接続状況を示す情報とに基づいて、最適な組合せとなるグループ設定を決定し、同期設定値算出手段が、ＣＰＵ側ブリッジが所属するグループのグループＩＤおよびＣＰＵ側ブリッジに接続されたデバイスのデバイス情報と、ＩＯ側ブリッジが所属するグループのグループＩＤおよびＩＯ側ブリッジに接続されたデバイスのデバイス情報とを収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出し、同期調整手段が、算出した設定値に基づいて、デバイスの組合せにおける同期調整を行うことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、デバイスの組合せごとに必要な同期調整を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明による通信制御システムの第１の実施形態の全体構成例を示すブロック図である。
【図２】第１の実施形態のＣＰＵデバイス群の構成例を示すブロック図である。
【図３】第１の実施形態のＣＰＵ側ブリッジの構成例を示すブロック図である。
【図４】第１の実施形態のＩＯ側ブリッジの構成例を示すブロック図である。
【図５】第１の実施形態の同期調整可能なネットワークの構成例を示すブロック図である。
【図６】第１の実施形態のシステムマネージャの構成例を示すブロック図である。
【図７】第１の実施形態のデバイス情報テーブルの一例を示す説明図である。
【図８】第１の実施形態の同期調整設定テーブルの一例を示す説明図である。
【図９】第１の実施形態の動作例を表わすフローチャートである。
【図１０】通信制御システムの第２の実施形態の全体構成例を示すブロック図である。
【図１１】第２の実施形態のＣＰＵ側ブリッジの構成例を示すブロック図である。
【図１２】第２の実施形態のＩＯ側ブリッジの構成例を示すブロック図である。
【図１３】第２の実施形態の同期調整可能なネットワークの構成例を示すブロック図である。
【図１４】第２の実施形態のグループ設定マネージャの構成例を示すブロック図である。
【図１５】第２の実施形態のグループ設定テーブルの一例を示す説明図である。
【図１６】第２の実施形態の動作例を表わすフローチャートである。
【図１７】一般的なデバイス間通信システムを示すブロック図である。
【図１８】通信制御システムの最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
実施形態１．
次に、本発明による通信制御システムの第１の実施形態について図面を参照して説明する。図１は、本発明による通信制御システムの第１の実施形態の全体構成例を示すブロック図である。本実施形態における通信制御システムは、ＣＰＵ・メモリ・チップセットからなる１つまたは複数のＣＰＵデバイス群１０１と、１つまたは複数のＣＰＵ側ブリッジ１０２と、１つまたは複数のＩＯ側ブリッジ１０３と、１つまたは複数のＩＯデバイス群１０４と、同期調整可能なネットワーク１０５と、システムマネージャ１０６とを備えている。
【００２０】
なお、デバイス間の同期調整とは、例えば、グラフィックカードが複数ある場合に出力する映像信号の遅延調整を行う処理や、グラフィックカードとサウンドカードとの間で再生時に映像と音とのずれが生じないように調整する処理である。
【００２１】
ＣＰＵデバイス群１０１とＣＰＵ側ブリッジ１０２とは、１対１で接続され、ＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。また、ＩＯ側ブリッジ１０３とＩＯデバイス１０４とも同様に、１対１で接続され、ＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。また、ＣＰＵ側ブリッジ１０２、ＩＯ側ブリッジ１０３およびシステムマネージャ１０６は、同期調整可能なネットワーク１０５と接続される。
【００２２】
図２は、ＣＰＵデバイス群１０１の構成例を示すブロック図である。ＣＰＵデバイス群１０１は、１つまたは複数のＣＰＵ・メモリ１０１−１と、１つまたは複数のチップセット１０１−２とを備えている。ＣＰＵ・メモリ１０１−１、チップセット１０１−２は、汎用的なコンピュータ、組み込み系の専用コンピュータ、ハイパフォーマンスコンピュータ、スーパーコンピュータなどでソフトウェアを搭載し処理させるためのデバイスである。
【００２３】
図３は、ＣＰＵ側ブリッジ１０２の構成例を示すブロック図である。ＣＰＵ側ブリッジ１０２は、ＣＰＵ側パケット転送処理部１０２−１とデバイス情報処理部１０２−２とを備えている。
【００２４】
ＣＰＵ側パケット転送処理部１０２−１は、ＣＰＵデバイス群１０１とＩＯデバイス１０４との接続関係の処理を行い、ＣＰＵデバイス群１０１から受信したパケットや同期調整可能なネットワーク１０５を介して受信したパケットを所望の転送先に転送されるよう変換し転送を行う機能を備えている。また、ＣＰＵ側パケット転送処理部１０２−１は、必要に応じて制御パケットを生成し、ＣＰＵデバイス群１０１やＩＯデバイス１０４に生成した制御パケットを送信する機能を備えている。
【００２５】
デバイス情報処理部１０２−２は、接続されているＣＰＵデバイス群１０１のデバイス情報（詳細については後述する）を取得し、自グループＩＤ（ここでは、接続されているＣＰＵデバイス群１０１の集合を特定するためのＩＤ）とともに制御パケットとして生成し、システムマネージャ１０６に送信する機能を備えている。
【００２６】
図４は、ＩＯ側ブリッジ１０３の構成例を示すブロック図である。ＩＯ側ブリッジ１０３は、ＩＯ側パケット転送処理部１０３−１とデバイス情報処理部１０３−２とを備えている。
【００２７】
ＩＯ側パケット転送処理部１０３−１は、ＩＯデバイス１０４とＣＰＵデバイス群１０１との接続関係の処理を行い、ＩＯデバイス１０４から受信したパケットや同期調整可能なネットワーク１０５を介して受信したパケットを所望の転送先に転送されるよう変換し転送を行う機能を備えている。また、ＩＯ側パケット転送処理部１０３−１は、必要に応じて制御パケットを生成し、ＩＯデバイス１０４やＣＰＵデバイス群１０１に生成した制御パケットを送信する機能を備えている。
【００２８】
デバイス情報処理部１０３−２は、接続されているＩＯデバイス１０４のデバイス情報を取得し、自グループＩＤ（ここでは、接続されているＩＯデバイス１０４の集合を特定するためのＩＤ）とともに制御パケットとして生成し、システムマネージャ１０６に送信する機能を備えている。
【００２９】
ＩＯデバイス１０４は、グラフィックカードやサウンドカード、インタフェースカード等のＩＯ処理を行う機能を備えている。
【００３０】
図５は、同期調整可能なネットワーク１０５の構成例を示すブロック図である。同期調整可能なネットワーク１０５は、１つまたは複数のネットワークスイッチ１０５−１と、複数の同期調整装置１０５−２とを備えている。
【００３１】
ネットワークスイッチ１０５−１は、ＣＰＵ側ブリッジ１０２とＩＯ側ブリッジ１０３との間の通信プロトコルに従ってデータを転送する機能を備えている。ネットワークスイッチ１０５−１は、例えば通信プロトコルがＥｔｈｅｒｎｅｔであれば、Ｅｔｈｅｒｎｅｔスイッチによって実現され、ＩＰであれば、Ｌ３スイッチ／ルータによって実現される。
【００３２】
同期調整装置１０５−２は、システムマネージャ１０６から受信した指示に従ってデバイス間の同期を調整する機能を備えている。同期調整装置１０５−２は、ネットワークスイッチ１０５−１のすべてのスイッチポートに接続されている。なお、同期調整装置１０５−２は、ネットワークスイッチ１０５−１に含まれていても構わない。
【００３３】
図６は、システムマネージャ１０６の構成例を示すブロック図である。システムマネージャ１０６は、同期調整設定部１０６−１、デバイス情報テーブル１０６−２および同期調整設定テーブル１０６−３を備えている。
【００３４】
同期調整設定部１０６−１は、ＣＰＵ側ブリッジ１０２が送信するＣＰＵデバイス群１０１のデバイス情報およびグループＩＤ情報と、ＩＯ側ブリッジ１０３が送信するＩＯデバイス１０４のデバイス情報およびグループＩＤ情報とを収集する機能を備えている。また、同期調整設定部１０６−１は、収集した情報をデバイス情報テーブル１０６−２に記録し、各グループのデバイスの組合せ情報を把握する（具体的には、デバイスの組合せ情報を管理する）機能を備えている。
【００３５】
同期調整設定テーブル１０６−３には、デバイスの組合せごとの同期調整の設定値（以下、この設定値を同期調整の基礎値ともいう）が記録されている。同期調整設定部１０６−１は、同期調整設定テーブル１０６−３を参照して各グループに対する同期調整の基礎値を取得し、取得した同期調整の基礎値と各デバイスに対する補正値・特性情報とに基づいて実際の設定値を算出する機能を備えている。また、同期調整設定部１０６−１は、算出した設定値を各同期調整装置１０５−２に設定させる機能を備えている。
【００３６】
図７は、デバイス情報テーブル１０６−２の一例を示す説明図である。デバイス情報テーブル１０６−２には、各デバイスから収集した情報が記録されている。デバイス情報を通知するためのパケットには、例えば、ネットワークアドレスとグループＩＤとデバイス情報（ベンダＩＤやバスＩＤ、デバイスＩＤ、ファンクションＩＤ、特性情報、補正値など）とが含まれている。同期調整設定部１０６−１は、それらの情報に基づいて組合せパターンを決定し、決定した組合せパターンをそれらの情報と対応付けてデバイス情報テーブル１０６−２に記録する。
【００３７】
図８は、同期調整設定テーブル１０６−３の一例を示す説明図である。同期調整設定テーブル１０６−３には、組合せパターンごとの同期調整装置１０５−２の設定値（同期調整の基礎値）が記録されている。同期調整設定テーブル１０６−３は、例えば、予めシステム管理者によって手動で設定される。同期調整設定部１０６−１は、同期調整設定テーブル１０６−３を参照し、記憶されている設定値を各グループの同期調整の基礎値として取得し、取得した同期調整の基礎値と各デバイスの特性情報・補正値とに基づいて、実際の設定値を算出する。
【００３８】
例えば、本実施形態では、予めグループ内のデバイスの数や種類に応じて複数のグループ分けをし、グループごとに最適な同期の設定値を統計値等により求めておき、同期調整設定テーブルに設定しておく。同期調整設定部１０６−１は、各ブリッジから受信した情報に基づいて、同じグループＩＤのデバイスをカウントすることにより、グループ内のデバイス数や種類を特定し、グループの組合せパターンを決定する。そして、同期調整設定部１０６−１は、決定したパターンに対応する設定値を同期調整設定テーブルから抽出することにより、最適な設定を求めることができる。
【００３９】
次に、通信制御システムの動作について説明する。図９は、本実施形態の動作例を表わすフローチャートである。本実施形態では、予めグループ設定がされており、各デバイスにグループＩＤが割り振られていることを前提とする。
【００４０】
システム起動時にＣＰＵブリッジ１０２およびＩＯ側ブリッジ１０３は、同期調整可能なネットワーク２０５を介して、同じグループＩＤを有するもの同士で相互に認証処理を行う（ステップＳ９０１）。
【００４１】
認証処理が完了すると、ＣＰＵデバイス群１０１は、ＩＯデバイス１０４に対するデバイス設定処理を開始する（ステップＳ９０２）。
【００４２】
ここで、デバイス設定処理時に送受信する情報に基づいて、ＣＰＵブリッジ１０２およびＩＯ側ブリッジ１０３は、デバイス情報とグループＩＤとを含む制御パケットを生成し、システムマネージャ１０６にそれぞれ送信する（ステップＳ９０３）。
【００４３】
次いで、制御パケットを受信したシステムマネージャ１０６は、ネットワークアドレスとデバイス情報とグループＩＤとをデバイス情報テーブル１０６−２に記録する（ステップＳ９０４）。
【００４４】
次いで、同期調整設定部１０６−１は、デバイス情報テーブル１０６−２に記録された情報に基づいて、各グループのデバイス組合せを決定する（ステップＳ９０５）。
【００４５】
次いで、同期調整設定部１０６−１は、決定したデバイスの組合せについて、同期調整設定テーブル１０６−３を参照して同期調整の基礎値を取得し、取得した基礎値とそれぞれのデバイスの特性情報や補正値とに基づいて、最終的な同期調整装置１０５−２の設定値を決定する（ステップＳ９０６）。
【００４６】
そして、同期調整設定部１０６−１は、決定した設定値を同期調整装置１０５−２に設定させる（ステップＳ９０７）。具体的には、同期調整設定部１０６−１が決定した設定値を同期調整装置１０５−２に送信すると、同期調整装置１０５−２は、受信した設定値に基づいて同期調整の設定を行う。その後、同期調整装置１０５−２は、設定に基づいてデバイス間の同期処理を行う。
【００４７】
以上に説明したように、本実施形態では、ＣＰＵデバイス群とＩＯデバイスとの間を、同期調整装置を備えたネットワークで接続する。そして、ＣＰＵデバイス群およびＩＯデバイスが送信する自デバイス情報・グループＩＤ情報を収集し、デバイス情報とグループＩＤ情報とに基づいてデバイスの組合せを判断し、その組合せに必要な同期調整を行うよう同期調整装置を設定する。
【００４８】
次に、本実施形態の効果について説明する。本実施形態では、各デバイスが少なくともデバイス情報とグループＩＤとを含む情報を通知し、その情報に基づいてデバイスの組合せを把握し、その組合せに応じた同期調整を行う。そのため、本実施形態では、デバイスの組合せごとに必要な同期調整を行うことができる。
【００４９】
実施形態２．
次に、本発明による通信制御システムの第２の実施形態について図面を参照して説明する。図１０は、本発明による通信制御システムの第２の実施形態の全体構成例を示すブロック図である。本実施形態の通信制御システムは、ＣＰＵ・メモリ・チップセットからなる１つまたは複数のＣＰＵデバイス群１０１と、１つまたは複数のＣＰＵ側ブリッジ２０２と、１つまたは複数のＩＯ側ブリッジ２０３と、１つまたは複数のＩＯデバイス群１０４と、同期調整可能なネットワーク２０５と、システム制御装置１０６と、グループ設定マネージャ２０７とを備えている。
【００５０】
ＣＰＵデバイス群１０１とＣＰＵ側ブリッジ２０２とは、１対１でＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。また、ＩＯ側ブリッジ２０３とＩＯデバイス１０４とも同様に、１対１でＰＣＩバスやＰＣＩ  Ｅｘｐｒｅｓｓバス等のコンピュータ内部バスで接続される。ＣＰＵ側ブリッジ２０２、ＩＯ側ブリッジ２０３、システムマネージャ１０６およびグループ設定マネージャ２０７は、同期調整可能なネットワーク２０５と接続される。
【００５１】
図１１は、ＣＰＵ側ブリッジ２０２の構成例を示すブロック図である。ＣＰＵ側ブリッジ２０２は、ＣＰＵ側パケット転送処理部２０２−１とデバイス情報処理部２０２−２とグループ設定部２０２−３とを備えている。
【００５２】
ＣＰＵ側パケット転送処理部２０２−１は、ＣＰＵデバイス群１０１とＩＯデバイス１０４との接続関係の処理を行い、ＣＰＵデバイス群１０１から受信したパケットや同期調整可能なネットワーク２０５を介して受信したパケットを所望の転送先に転送されるよう変換し転送を行う機能を備えている。また、ＣＰＵ側パケット転送処理部２０２−１は、必要に応じて制御パケットを生成し、生成した制御パケットをＣＰＵデバイス群１０１やＩＯデバイス１０４にパケットを送信する機能を備えている。
【００５３】
デバイス情報処理部２０２−２は、接続されているＣＰＵデバイス群１０１のデバイス情報を取得し、自グループＩＤとともに制御パケットとして生成し、システムマネージャ１０６に送信する機能を備えている。
【００５４】
グループ設定部２０２−３は、グループ設定マネージャ２０７から受信した指示に基づいて、グループＩＤを設定する機能を備えている。
【００５５】
図１２は、ＩＯ側ブリッジ２０３を示している。ＩＯ側ブリッジ２０３は、ＩＯ側パケット転送処理部２０３−１とデバイス情報処理部２０３−２とグループ設定部２０３−３とを備えている。
【００５６】
ＩＯ側パケット転送処理部２０３−１は、ＩＯデバイス１０４とＣＰＵデバイス群１０１との接続関係の処理を行い、ＩＯデバイス１０４から受信したパケットや同期調整可能なネットワーク１０５を介して受信したパケットを所望の転送先に転送されるよう変換し転送を行う機能を備えている。また、ＩＯ側パケット転送処理部２０３−１は、必要に応じて制御パケットを生成し、生成した制御パケットをＩＯデバイス１０４やＣＰＵデバイス群１０１に送信する機能を備えている。
【００５７】
デバイス情報処理部２０３−２は、接続されているＩＯデバイス１０４のデバイス情報を取得し、自グループＩＤとともに制御パケットとして生成し、システムマネージャ１０６に送信する機能を備えている。
【００５８】
グループ設定部２０３−３は、グループ設定マネージャ２０７から受信した指示に従って、グループＩＤを設定する機能を備えている。
【００５９】
ＩＯデバイス１０４は、グラフィックカード、サウンドカード、インタフェースカード等のＩＯ処理を行う機能を備えている。
【００６０】
図１３は、同期調整可能なネットワーク２０５の構成例を示すブロック図である。同期調整可能なネットワーク２０５は、１つまたは複数のネットワークスイッチ２０５−１と、複数の同期調整機２０５−２とを備えている。
【００６１】
ネットワークスイッチ２０５−１は、ＣＰＵ側ブリッジ２０２とＩＯ側ブリッジ２０３との間の通信プロトコルに従って転送する機能を備えている。ネットワークスイッチ２０５−１は、例えば通信プロトコルが、ＥｔｈｅｒｎｅｔであればＥｔｈｅｒｎｅｔスイッチによって実現され、ＩＰであればＬ３スイッチ／ルータによって実現される。
【００６２】
同期調整装置２０５−２は、システムマネージャ１０６から受信した指示に従ってデバイス間の同期を調整する機能を備えている。図１３に示すように、本実施形態では、第１の実施形態とは異なり、同期調整装置２０５−２は、すべてのネットワークスイッチ２０５−１のポートに接続されているわけではない。本実施形態では、どのＣＰＵデバイス群１０１、ＩＯデバイス１０４が同期調整装置２０５−２に接続されているかを、後述するグループ設定マネージャ２０７のグループ設定テーブル２０７−３に記録して管理している。
【００６３】
図１４は、グループ設定マネージャ２０７の構成例を示すブロック図である。グループ設定マネージャ２０７は、グループ設定部２０７−１、グループ設定ポリシー設定部２０７−２およびグループ設定テーブル２０７−３を備えている。
【００６４】
グループ設定部２０７−１は、グループ設定ポリシー設定部２０７−２が設定したポリシーに従って、グループ設定テーブル２０７−３からユーザ所望のデバイスを検索して特定し、特定したＣＰＵ側ブリッジ２０２と、ＩＯ側ブリッジ２０３とにグループＩＤの設定指示を送信する機能を備えている。
【００６５】
グループ設定ポリシー設定部２０７−１は、ユーザが指定したグループ設定の指示をうけ解釈する機能を備えている。具体的には、グループ設定ポリシー設定部２０７−１は、ユーザの入力操作に従って入力された指示情報に基づいて、グループ設定時のポリシーを示すグループ設定ポリシーを設定する。グループ設定ポリシー設定部２０７−１は、グループ設定ポリシーとして、例えば、使用するデバイスの種類と同期精度とを指定することができる。このように、ユーザは入力操作によってポリシーを指定する指示情報を入力することにより、所望のデバイスと同期精度とを指定してシステムを構築することができる。
【００６６】
グループ設定テーブル２０７−３には、デバイス種別と同期調整装置２０５−２の接続状況と、接続されている場合にはその同期精度とが記録されている。このグループ設定テーブル２０７−３は、ユーザが指定したポリシーを実現する際に、グループ設定部２０７−１によって参照される。このグループ設定テーブル２０７−３は、例えば、システム管理者によって手動で設定される。また例えば、グループ設定テーブル２０７−３は、グループ設定マネージャ２０７によって、ＣＰＵ側ブリッジ２０２やＩＯ側ブリッジ２０３、同期調整装置２０５−２から送信された情報に基づいて設定される。
【００６７】
図１５は、グループ設定テーブル２０７−３の一例を示す説明図である。グループ設定テーブル２０７−３には、各デバイスの情報と、同期調整装置の有無と、同期調整装置の精度と、グループへの所属状況とが記録されている。
【００６８】
グループ設定部２０７−１は、グループ設定ポリシー設定部２０７−２のポリシー解釈（すなわち、指示情報を解析して設定したグループ設定ポリシー）に従って、グループ設定テーブル２０７−３を参照し、グループを設定する。
【００６９】
次に、本実施形態におけるシステム稼働時の動作について説明する。図１６は、本実施形態の動作例を表わすフローチャートである。
【００７０】
システム起動時にユーザは、入力装置を用いて、所望のデバイスや同期精度を指定するグループ設定ポリシーの入力操作を行う。すると、入力装置は、ユーザの操作に従って、ポリシーを指定する指示情報をグループ設定マネージャ２０７に入力する（ステップＳ１６０１）。
【００７１】
グループ設定マネージャ２０７は、入力された指示情報を解析し、解析結果によって示されるポリシーに従った設定が可能か否かを、グループ設定テーブル２０７−３を参照して判断する（ステップＳ１６０２）。
【００７２】
ポリシーを満たす設定が可能であると判断した場合、グループ設定マネージャ２０７は、グループＩＤを決定し、決定したグループＩＤを含むグループの設定指示を所望（具体的には、ユーザ所望のデバイスが属する）のＣＰＵ側ブリッジ２０２と、ＩＯ側ブリッジ２０３とに送信する（ステップＳ１６０３）。その後、ＣＰＵ側ブリッジ２０２およびＩＯ側ブリッジ２０３は、受信した指示に基づいて、グループＩＤを設定する。
【００７３】
また、ポリシーを満たす設定が不可能であると判断した場合であって、ユーザの所望するポリシーより高いまたは低いポリシーを満たす設定が可能であると判断した場合、グループ設定マネージャ２０７は、そのポリシーをユーザに提示する（ステップＳ１６０４）。具体的には、グループ設定マネージャ２０７は、設定可能なポリシーをディスプレイ装置等の表示装置に表示するように制御する。そして、ユーザがそのポリシーを受けいれる場合（すなわち、ユーザが表示されたポリシーでの設定を許可する入力操作をした場合）には、グループ設定マネージャ２０７は、そのポリシーでのグループ設定を行う。すなわち、グループ設定部２０７−１は、グループ分けを決定し、決定したグループ分けに基づいてグループＩＤを定める。
【００７４】
なお、ポリシーを全く満たせない、または提示したポリシーをユーザが拒否した場合には、グループ設定マネージャ２０７は、処理を終了する。
【００７５】
次いで、ＣＰＵブリッジ２０２およびＩＯ側ブリッジ２０３は、同期調整可能なネットワーク２０５を介して、同じグループＩＤを有するもの同士で相互に認証処理を行う（ステップＳ１６０５）。
【００７６】
認証処理が完了すると、ＣＰＵデバイス群１０１からＩＯデバイス１０４に対してデバイス設定が始まる（ステップＳ１６０６）。
【００７７】
その情報を基にＣＰＵブリッジ２０２およびＩＯ側ブリッジ２０３は、デバイス情報とグループＩＤとを含む制御パケットを生成し、システムマネージャ１０６に送信する（ステップＳ１６０７）。
【００７８】
制御パケットを受信したシステムマネージャ１０６は、ネットワークアドレスとデバイス情報とグループＩＤとを、デバイス情報テーブル１０６−２に記録する（ステップＳ１６０８）。
【００７９】
次いで、同期調整設定部１０６−１は、デバイス情報テーブル１０６−２に記録された情報に基づいて、各グループのデバイス組合せを決定する（ステップＳ１６０９）。例えば、同期調整設定部１０６−１は、に基づいてデバイスの組合せを決定する。
【００８０】
次いで、同期調整設定部１０６−１は、決定したデバイスの組合せについて、同期調整設定テーブル１０６−３を参照して同期調整の基礎値を取得し、取得した基礎値とそれぞれのデバイスの特性情報や補正値とに基づいて、最終的な同期調整装置２０５−２の設定値を決定する（ステップＳ１６１０）。例えば、同期調整設定部１０６−１は、に基づいて設定値を決定する。
【００８１】
そして、同期調整設定部１０６−１は、決定した設定値を同期調整装置２０５−２に設定させる（ステップＳ１６１１）。具体的には、同期調整設定部１０６−１が決定した設定値を同期調整装置２０５−２に送信すると、同期調整装置２０５−２は、受信した設定値に基づいて同期調整の設定を行う。その後、同期調整装置２０５−２は、設定に基づいてデバイス間の同期処理を行う。
【００８２】
次に、本実施形態の効果について説明する。本実施形態では、ユーザが所望する同期精度を指定する。そのため、第１の実施形態の効果に加え、同期の必要のない組合せ時に同期調整装置の資源を使用しないように制御することができ、資源を有効的に活用することができる。
【００８３】
以上に説明したように、本発明は、ネットワーク上に分散配置された複数のデバイス間通信制御システムに関し、特にデバイスの組合せによりデバイス間の同期・遅延調整を行う技術に関する。
【００８４】
次に、本発明による通信制御システムの最小構成について説明する。図１８は、通信制御システムの最小の構成例を示すブロック図である。図１８に示すように、通信制御システムは、最小の構成要素として、ＣＰＵ側ブリッジ１０２と、ＩＯ側ブリッジ１０３と、同期設定値算出手段３と、同期調整手段４とを含む。また、ＣＰＵ側ブリッジ１０２がＣＰＵ側通知手段１を含み、ＩＯ側ブリッジ１０３がＣＰＵ側通知手段２を含む。
【００８５】
図１８に示す最小構成の通信制御システムでは、ＣＰＵ側通知手段１は、ＣＰＵ側ブリッジ１０２が所属するグループのグループＩＤとＣＰＵ側ブリッジ１０２に接続されたデバイスのデバイス情報とを通知する。また、ＩＯ側通知手段２は、ＩＯ側ブリッジ１０３が所属するグループのグループＩＤとＩＯ側ブリッジ１０３に接続されたデバイスのデバイス情報とを通知する。そして、同期設定値算出手段３は、ＣＰＵ側通知手段１およびＩＯ側通知手段２が通知する情報を収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出する。その後、同期調整手段４は、同期設定値算出手段３が算出した設定値に基づいて、デバイスの組合せにおける同期調整を行う。
【００８６】
従って、最小構成の通信制御システムによれば、デバイスの組合せごとに必要な同期調整を行うことができる。
【００８７】
なお、本実施形態では、以下の（１）〜（５）に示すような通信制御システムの特徴的構成が示されている。
【００８８】
（１）通信制御システムは、ネットワーク上に分散配置されたデバイス間の通信を制御する通信制御システムであって、ＣＰＵおよびＣＰＵ周辺デバイス（例えば、ＣＰＵデバイス群１０１）が接続されたＣＰＵ側ブリッジ（ＣＰＵ側ブリッジ１０２によって実現される）と、ＩＯデバイス（例えば、ＩＯデバイス群１０４）が接続されたＩＯ側ブリッジ（例えば、ＩＯ側ブリッジ１０３）とがネットワーク（例えば、同期調整可能なネットワーク１０５）を介して接続され、ＣＰＵ側ブリッジは、ＣＰＵ側ブリッジが所属するグループのグループＩＤとＣＰＵ側ブリッジに接続されたデバイスのデバイス情報とを通知するＣＰＵ側通知手段（例えば、デバイス情報処理部１０２−２によって実現される）を含み、ＩＯ側ブリッジは、ＩＯ側ブリッジが所属するグループのグループＩＤとＩＯ側ブリッジに接続されたデバイスのデバイス情報とを通知するＩＯ側通知手段（例えば、デバイス情報処理部２０２−２によって実現される）を含み、ＣＰＵ側通知手段およびＩＯ側通知手段が通知する情報を収集し、収集した情報に基づいてデバイスの組合せを決定し、決定したデバイスの組合せに応じた同期調整用の設定値を算出する同期設定値算出手段（例えば、同期調整設定部１０６−１によって実現される）と、同期設定値算出手段が算出した設定値に基づいて、前記デバイスの組合せにおける同期調整を行う同期調整手段（例えば、同期調整置１０５−２によって実現される）とを含むことを特徴とする。
【００８９】
（２）通信制御システムにおいて、ユーザの操作に従って入力された入力情報を解析し、グループ設定のポリシーを設定するグループ設定ポリシー設定手段（例えば、グループ設定ポリシー設定部２０７−２によって実現される）と、グループ設定ポリシー設定手段が設定したグループ設定のポリシーに従って、デバイス情報とデバイス間の同期調整を行う同期調整装置の接続状況を示す情報とに基づいて、最適な組合せとなるグループ設定を決定するグループ設定手段（例えば、グループ設定部２０７−１によって実現される）を含むように構成されていてもよい。
【００９０】
（３）通信制御システムにおいて、グループ設定ポリシー設定手段は、デバイスの種類と同期精度を指定するグループ設定のポリシーを設定するように構成されていてもよい。
【００９１】
（４）通信制御システムにおいて、同期設定値算出手段は、予め定められた同期調整の基礎値（図８に示される）とデバイス毎の補正値および特性情報（デバイス情報テーブル１０６−２に記憶されている）とに基づいて、同期設定値を算出するように構成されていてもよい。
【００９２】
（５）通信制御システムにおいて、ＣＰＵ側通知手段は、ＰＣＩのデバイス情報を通知し、ＩＯ側通知手段は、ＰＣＩのデバイス情報を通知するように構成されていてもよい。
【産業上の利用可能性】
【００９３】
本発明は、ネットワーク上にデバイスを分散して配置する用途に適用可能である。
【符号の説明】
【００９４】
１  ＣＰＵ側通知手段
２  ＩＯ側通知手段
３  同期設定値算出手段
４  同期調整手段
１０１  ＣＰＵデバイス群
１０１−１ＣＰＵ・メモリ
１０１−２  チップセット
１０２  ＣＰＵ側ブリッジ
１０２−１  ＣＰＵ側パケット転送処理部
１０２−２  デバイス情報処理部
１０３  ＩＯ側ブリッジ
１０３−１  ＩＯ側パケット転送処理部
１０３−２  デバイス情報処理部
１０４  ＩＯデバイス群
１０５  同期調整可能なネットワーク
１０５−１ネットワークスイッチ
１０５−２  同期調整置
１０６  システムマネージャ
１０６−１  同期調整設定部
１０６−２  デバイス情報テーブル
１０６−３  同期調整設定テーブル
【図１】
0005664250.tif 000002
【図２】
0005664250.tif 000003
【図３】
0005664250.tif 000004
【図４】
0005664250.tif 000005
【図５】
0005664250.tif 000006
【図６】
0005664250.tif 000007
【図７】
0005664250.tif 000008
【図８】
0005664250.tif 000009
【図９】
0005664250.tif 000010
【図１０】
0005664250.tif 000011
【図１１】
0005664250.tif 000012
【図１２】
0005664250.tif 000013
【図１３】
0005664250.tif 000014
【図１４】
0005664250.tif 000015
【図１５】
0005664250.tif 000016
【図１６】
0005664250.tif 000017
【図１７】
0005664250.tif 000018
【図１８】
0005664250.tif 000019