(57)【特許請求の範囲】
【請求項１】
複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチと、
前記クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信する出力ポート制御手段と、
前記入力ポートの帯域幅より低い帯域幅のデータを受信して、前記入力ポートの帯域幅と同じ帯域幅のデータとして前記入力ポートにデータを出力する第１の入力ポート制御手段と、
前記入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで前記入力ポートにデータを出力する第２の入力ポート制御手段と
を含み、
前記第１の入力ポート制御手段が、
データを受信して一時的に保持する第１の受信バッファ手段と、
前記第１の受信バッファ手段が受信したデータが、ヘッダ、前半データ、又は、後半データであるか判別し、ヘッダの場合に前記ヘッダを第１のヘッダ出力手段に、前半データの場合に前記前半データを第１のデータ出力手段に、後半データの場合に前記後半データを第２のデータ出力手段に出力し、前記後半データを前記第２のデータ出力手段に出力したことを前記第１のヘッダ出力手段に通知する第１のヘッダデータ制御手段と、
前記ヘッダを受信して保持し、前記通知を受信すると、前記クロスバースイッチの調停に参加する第１のヘッダ出力手段と、
前記前半データを受信して保持する第１のデータ出力手段と、
前記後半データを受信して保持する第２のデータ出力手段と
を含む情報処理装置。
【請求項２】
前記第１のヘッダ出力手段が、
調停の参加が成功した場合に、保持するヘッダを前記入力ポートに送信し、前記第１のデータ出力手段と前記第２のデータ出力手段とに保持するデータを前記入力ポートに出力するように指示し、
前記第１のデータ出力手段及び前記第２のデータ出力手段が、
前記指示を基に、データを前記入力ポートに出力する
請求項１に記載の情報処理装置。
【請求項３】
前記第１のヘッダ送信手段が、
前記調停に参加後、保持するヘッダのアドレスを次の調停に参加できるように変更する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２の入力ポート制御手段が、
データを受信して一時的に保持する第２の受信バッファ手段と、
前記第２の受信バッファ手段が受信したデータが、ヘッダであるか否か判別し、ヘッダの場合に前記ヘッダを第２のヘッダ出力手段に、データの場合に前記データを第３のデータ出力手段に出力し、前記データを前記第３のデータ出力手段に出力したことを前記第２のヘッダ出力手段に通知する第２のヘッダデータ制御手段と、
前記ヘッダを受信して保持し、前記通知を受信すると、前記クロスバースイッチの調停に参加する第２のヘッダ出力手段と、
前記データを受信して保持する第３のデータ出力手段と
を含む請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記出力ポート制御手段が、
前記出力ポートから受信したデータを保存する出力バッファ手段と、
前記出力ポートから受信したデータを前記出力バッファ手段に保存するアドレスを算出し、前記出力バッファ手段の前記アドレスにデータを保存する出力バッファ制御手段と
を含む請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチを含む情報処理装置において、
前記クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信し、
前記入力ポートの帯域幅より低い帯域幅のデータを受信して、
前記低い帯域幅のデータを一時的に保持し、
前記保持したデータが、ヘッダ、前半データ、又は、後半データであるか判別し、
ヘッダの場合に前記ヘッダを保持し、
前半データの場合に前記前半データを保持し、
後半データの場合に前記後半データを保持し、
前記後半データを保持すると、前記クロスバースイッチの調停に参加することにより
前記入力ポートの帯域幅と同じ帯域幅のデータとして前記入力ポートにデータを出力し、
前記入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで前記入力ポートにデータを出力する
情報処理方法。
【請求項７】
複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチを含むコンピュータにおいて、
前記クロスバースイッチの出力ポートからデータを受信し、
前記低い帯域幅のデータを一時的に保持し、
前記保持したデータが、ヘッダ、前半データ、又は、後半データであるか判別し、
ヘッダの場合に前記ヘッダを保持し、
前半データの場合に前記前半データを保持し、
後半データの場合に前記後半データを保持し、
前記後半データを保持すると、前記クロスバースイッチの調停に参加することにより
外部の装置にデータを送信する処理と、
前記入力ポートの帯域幅より低い帯域幅のデータを受信して、前記入力ポートの帯域幅と同じ帯域幅のデータとして前記入力ポートにデータを出力する処理と、
前記入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで前記入力ポートにデータを出力する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの通信経路の制御に関し、特に、複数の入力ポートと複数の出力ポートとを含む通信経路を切り替えるスイッチを含む情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
情報処理システムに含まれる情報処理装置は、他の情報処理装置とデータを送信及び受信する。また、各情報処理装置に含まれる構成は、他の構成とデータを送信及び受信して処理を進める。このような複数の装置又は構成の接続は、複数の通信経路を切り替えて接続するスイッチを用いて実現されている。このような複数の通信経路を切り替えて接続するスイッチとして、クロスバースイッチがある（例えば、特許文献１を参照）。
【０００３】
クロスバースイッチは、調停を基に、入力ポートと出力ポートとの接続を切り替える。
【０００４】
しかし、特許文献１に記載の技術のような一般的なクロスバースイッチは、異なる帯域幅の入力ポートが接続された場合に、性能が低下する問題点があった。
【０００５】
以下、図面を参照して、この問題点について説明する。
【０００６】
図１は、以下の説明に用いる一般的なクロスバースイッチ９０の一例を示す図である。図１に示すクロスバースイッチ９０は、入力ポートの帯域幅として、複数の帯域幅の入力ポートを含む。すなわち、図１に示すクロスバースイッチ９０は、帯域幅が８［Ｂ／Ｔ］の入力ポートＡ及びＢ、並びに、帯域幅が１６［Ｂ／Ｔ］の入力ポートＣ及びＤを含む。ここで、「Ｂ／Ｔ」は、データの帯域幅を示す単位の一つである「Ｂｙｔｅｓ／サイクル」を表す。また、クロスバースイッチ９０の出力方向（出力ポートＡ、Ｂ、及び、Ｃ）の帯域幅は、１６［Ｂ／Ｔ］である。
【０００７】
図２は、図１に示すクロスバースイッチ９０における調停後のデータ転送の一例を示す図である。図２は、クロスバースイッチ９０の入力ポートＡ、Ｂ、及び、Ｃからの入力データを、出力ポートＡから出力する場合の一例を示す。図２は、入力ポートＡが、最初に、クロスバースイッチ９０における調停の参加に成功し、出力ポートＡを確保した場合を示す。
【０００８】
図２に示すように、入力ポートＡは、データを８［Ｂ／Ｔ］の帯域幅で、クロスバースイッチ９０にデータを送信する（通す）。そのため、クロスバースイッチ９０の出力ポートＡにおいて、入力ポートＡからのデータを出力する時刻ｔ２ないし時刻ｔ９にかけて、出力ポートＡに空きが発生する。そのため、クロスバースイッチ９０において、性能低下が、発生している。
【０００９】
図２に示す例は、出力ポートの帯域幅が、半分となり、性能低下が激しい。そのため、性能を求める情報処理装置は、図２に示すような制御を用いない。
【００１０】
図２に示す問題点の対策として、バッファを用いる方法がある（例えば、特許文献２を参照）。
【００１１】
図３は、バッファを用いたデータ転送の一例を示す図である。つまり、図３は、上記の問題を回避した技術の一例を示す図である。
【００１２】
図３に示すクロスバースイッチ９０は、入力ポート（特に、帯域幅が低い入力ポート）に、受信した全てのフリットを保存できる容量のバッファ（図３のバッファＡ及びＢ）を用意する。ここで、フリットとは、１サイクルで転送されるデータの単位である。そして、クロスバースイッチ９０の帯域幅の低い入力ポート（入力ポートＡ及びＢ）は、フリット（データ）をバッファに保存する。全てのフリット（データ）をバッファに保存後、帯域幅の低い入力ポートは、調停に参加する。そして、調停の参加が成功すると、帯域幅の低い入力ポートは、出力ポートに空きができないように、バッファに保存したデータを送り出す。
【００１３】
例えば、図３に示す入力ポートＡ及びＢは、８［Ｂ／Ｔ］の帯域幅で入力されたフリット（データ）を、バッファ（入力バッファＡ及びＢ）に保存する。そして、全てのフリットがそろった後に、入力ポートＡ及びＢは、クロスバースイッチ９０の調停に参加する。例えば、入力ポートＡは、時刻ｔ８に、全てのフリットがそろうため、時刻ｔ９から調停に参加する。そして、入力ポートＡ及びＢは、調停の参加に成功した場合、１６［Ｂ／Ｔ］の帯域幅を用いて、データを出力する。この場合、クロスバースイッチ９０は、１６［Ｂ／Ｔ］の性能を出現できる。
【００１４】
なお、図３の時刻ｔ０からｔ５は、図示しない入力ポートからのデータが、出力ポートＡから出力されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特表２０１４−５０１９５０号公報
【特許文献２】特開２００５−２５２９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、特許文献２に記載のバッファを用いる方式は、入力ポートに、調停に必要な全てのフリット（データ）を保存するためのバッファ（ハードウェア）を備えることが、必要である。これは、調停の参加が成功すると、入力ポートは、全てのフリットを送信する必要があるためである。そのため、フリット数が多くなると、それに伴い、入力ポートにおけるバッファ（ハードウェア）が大きくなってしまうという問題点があった。
【００１７】
このように、特許文献２に記載の技術は、入力ポートにおけるバッファが大きくなるという問題点があった。
【００１８】
本発明の目的は、上記問題点を解決し、入力ポートに必要となるバッファ（ハードウェア）を低減する情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の一形態における情報処理装置は、複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチと、クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信する出力ポート制御手段と、入力ポートの帯域幅より低い帯域幅のデータを受信して、入力ポートの帯域幅と同じ帯域幅のデータとして入力ポートにデータを出力する第１の入力ポート制御手段と、入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで入力ポートにデータを出力する第２の入力ポート制御手段とを含む。
【００２０】
本発明の一形態におけるデータ処理方法は、複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチを含む情報処理装置において、クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信し、入力ポートの帯域幅より低い帯域幅のデータを受信して、入力ポートの帯域幅と同じ帯域幅のデータとして入力ポートにデータを出力し、入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで入力ポートにデータを出力する。
【００２１】
本発明の一形態におけるプログラムは、複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチを含むコンピュータにおいて、クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信する処理と、入力ポートの帯域幅より低い帯域幅のデータを受信して、入力ポートの帯域幅と同じ帯域幅のデータとして入力ポートにデータを出力する処理と、入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで入力ポートにデータを出力する処理とをコンピュータに実行させる。
【発明の効果】
【００２２】
本発明に基づけば、入力ポートに必要となるバッファ（ハードウェア）を低減するとの効果を奏することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、一般的なクロスバースイッチの一例を示す図である。
【図２】図２は、図１に示すクロスバースイッチにおけるデータ転送の一例を示す図である。
【図３】図３は、バッファを用いたデータ転送の一例を示す図である。
【図４】図４は、第１の実施形態に係る情報処理装置の動作を説明するための図である。
【図５】図５は、第１の実施形態に係る情報処理装置の構成の一例を示す図である。
【図６】図６は、第１の実施形態に係る情報処理装置の入力ポート制御部の構成の一例を示すブロック図である。
【図７】図７は、第１の実施形態に係る情報処理装置の入力ポート制御部の構成の一例を示すブロック図である。
【図８】図８は、第１の実施形態に係る情報処理装置の出力ポート制御部の構成の一例を示すブロック図である。
【図９】図９は、第１の実施形態に係るヘッダデータ制御部の動作の一例を示すフローチャートである。
【図１０】図１０は、第１の実施形態に係るヘッダ出力部の動作の一例を示すフローチャートである。
【図１１】図１１は、第１の実施形態に係る情報処理装置の出力ポート制御部の動作の一例を示すフローチャートである。
【図１２】図１２は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２４】
次に、本発明の実施形態について図面を参照して説明する。
【００２５】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００２６】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００２７】
本発明の実施形態は、入力として複数の帯域幅のデータを受信する。本実施形態の帯域幅の値は、特に制限はない。ただし、高い帯域幅の値は、低い帯域幅の値の整数倍、特に、２の累乗倍であること望ましい。以下では、説明の便宜のため、帯域幅の種類を２種類とし、低い帯域幅を８［Ｂ／Ｔ］、高い帯域幅を１６［Ｂ／Ｔ］として説明する。
【００２８】
また、データは、データの属性を示すヘッダ部（単に、ヘッダとも呼ぶ）と、具体的なデータの内容を保持するデータ本体部（単に、データとも呼ぶ）とを含むとする。ただし、以下の説明では、ヘッダとデータとの区別が必要ない場合、ヘッダとデータを合わせてデータと呼ぶ場合もある。
【００２９】
また、データは、所定の単位に分割されて送信される。フリットとは、１サイクルで情報処理装置５０に送信されるデータの単位である。つまり、データは、フリット毎に送信されてくる。
【００３０】
＜第１の実施形態＞
図面を参照して、本発明における第１の実施形態について説明する。
【００３１】
［構成の説明］
まず、第１の実施形態に係る情報処理装置５０の構成について、図面を参照して説明する。
【００３２】
図５は、本発明における第１の実施形態に係る情報処理装置５０の構成の一例を示すブロック図である。情報処理装置５０は、入力ポート制御部１０と、入力ポート制御部２０と、クロスバースイッチ３０と、出力ポート制御部４０とを含む。情報処理装置５０は、入力ポート制御部１０、入力ポート制御部２０、及び、出力ポート制御部４０を、それぞれ、少なくとも１つ含む。ただし、情報処理装置５０は、入力ポート制御部１０、入力ポート制御部２０、又は、出力ポート制御部４０のいずれか、又は、全てを複数含んでもよい。図５は、一例として、入力ポート制御部１０及び入力ポート制御部２０をそれぞれ２つ、出力ポート制御部４０を３つ含む場合を示している。
【００３３】
入力ポート制御部１０は、図示しない外部の装置から、クロスバースイッチ３０の入力ポートの帯域幅より低い帯域幅のデータを受信する。そして、入力ポート制御部１０は、受信したデータを、クロスバースイッチ３０の入力ポートの帯域幅と同様の帯域幅のデータとして、クロスバースイッチ３０の入力ポートに送信する。
【００３４】
一方、入力ポート制御部２０は、クロスバースイッチ３０の入力ポートの帯域幅と同等の帯域幅のデータを受信する。そして、入力ポート制御部２０は、その帯域を維持しながら、クロスバースイッチ３０の入力ポートに、データを送信する。
【００３５】
つまり、入力ポート制御部２０は、入力ポート制御部１０と比較して、帯域幅が高いデータを受信する。つまり、今の場合、第１の入力ポート制御部１０は、帯域幅が８［Ｂ／Ｔ］のデータを受信し、帯域幅が１６［Ｂ／Ｔ］のデータとして出力する。また、入力ポート制御部２０は、帯域幅が１６［Ｂ／Ｔ］のデータを受信及び送信する。なお、クロスバースイッチ３０の入力ポートの帯域幅は、１６［Ｂ／Ｔ］である。また、クロスバースイッチ３０の出力ポートの帯域幅は、１６［Ｂ／Ｔ］とする。
【００３６】
クロスバースイッチ３０は、入力ポート制御部１０及び入力ポート制御部２０からのデータを調停して、いずれかの出力ポート制御部４０に出力するスイッチである。つまり、クロスバースイッチ３０は、複数の入力ポートに接続されている入力ポート制御部１０及び入力ポート制御部２０から受信したデータの振り分け先を調停し、いずれかの１つの出力ポートに接続されている出力ポート制御部４０に出力する。クロスバースイッチ３０は、データの調停を実現できれば、その構成及び用いる調停手法は、特に制限はない。例えば、クロスバースイッチ３０は、一般的なクロスバースイッチを用いて実現されてもよい。そのため、クロスバースイッチ３０の詳細な説明を省略する。
【００３７】
なお、クロスバースイッチ３０に入力数及び出力数は、特に制限はない。クロスバースイッチ３０に入力数及び出力数は、情報処理装置５０に含まれる、入力ポート制御部１０、入力ポート制御部２０、及び、出力ポート制御部４０の数を基に決定されればよい。そのため、図５は、一例として、入力数を４、出力数を３との構成を示している。
【００３８】
出力ポート制御部４０は、クロスバースイッチ３０の出力ポートからデータを受信し、図示しない情報処理装置５０の外部の装置に出力する。出力ポート制御部４０の帯域幅は、クロスバースイッチ３０の出力ポートの性能を制限しない帯域幅であることが望ましい。なお、本説明では、上記のとおり、出力ポート制御部４０の帯域幅は、１６［Ｂ／Ｔ］である。
【００３９】
次に、入力ポート制御部１０の構成について説明する。
【００４０】
図６は、入力ポート制御部１０の構成の一例を示すブロック図である。入力ポート制御部１０は、受信バッファ部１１と、ヘッダデータ制御部１２、ヘッダ出力部１３と、第１のデータ出力部１４と、データ出力部１５とを含む。
【００４１】
受信バッファ部１１は、クロスバースイッチ３０の調停に参加させるためのデータ（ヘッダ及びデータ）を受信して、一時的に保持する（蓄える）。受信バッファ部１１は、図示しないデータの送信元の装置とのタイミング合わせを実施してもよい。そして、受信バッファ部１１は、蓄えたデータ（フリット）を、ヘッダデータ制御部１２に送信する。受信バッファ部１１は、後ほど説明するヘッダデータ制御部１２における判別が実行できるように、データを保持すればよい。そのため、受信バッファ部１１は、データの一部を蓄えることができる容量のバッファでよい。つまり、受信バッファ部１１は、図３に示したような全てのデータを蓄える大容量のバッファではない。このように、入力ポート制御部１０は、必要となるバッファ（ハードウェア）が少ない。
【００４２】
ヘッダデータ制御部１２は、受信バッファ部１１から受信したフリットが、ヘッダであるか、データであるかを判別する。そして、フリットがデータの場合、ヘッダデータ制御部１２は、さらに、データが、偶数番目のデータ（偶数フリット）であるか、奇数番目のデータ（奇数フリット）であるかを判別する。ここで、ヘッダデータ制御部１２の判別方法は、特に制限はない。例えば、ヘッダデータ制御部１２は、ヘッダに含まれるペイロード数を基に判別してもよい。
【００４３】
そして、ヘッダデータ制御部１２は、ヘッダの場合、受信したフリット（この場合、ヘッダ）を、ヘッダ出力部１３に出力する。また、偶数フリットの場合、ヘッダデータ制御部１２は、データをデータ出力部１４に出力する。また、奇数フリットの場合、ヘッダデータ制御部１２は、データをデータ出力部１５に出力する。つまり、ヘッダデータ制御部１２は、受信したデータ（フリット）を振り分ける。
【００４４】
また、ヘッダデータ制御部１２は、データ出力部１４及びデータ出力部１５の両方にデータ（フリット）を出力した場合、ヘッダ出力部１３に、データがそろったことを通知する。以下、この通知を「データレディ通知」と呼ぶ。
【００４５】
なお、以下の本実施形態の説明では、データは、偶数番目から送信されるとする。つまり、ヘッダデータ制御部１２は、データ出力部１５にデータを出力した時に、データがそろったとする。なお、データが奇数番目から送信される場合、以下の説明において、データ出力部１５とデータ出力部１４とを入れ替えればよい。
【００４６】
ヘッダ出力部１３は、ヘッダを受信して保持する。そして、ヘッダ出力部１３は、ヘッダの制御と、クロスバースイッチ３０への調停参加の制御を実行する。
【００４７】
ヘッダ出力部１３は、調停参加の制御を次のように実行する。ヘッダ出力部１３は、データ出力部１４及びデータ出力部１５の両方にデータがそろったタイミングで、調停に参加する。ヘッダ出力部１３は、このタイミングを、上記のヘッダデータ制御部１２からのデータレディ通知を基に判別する。
【００４８】
調停の参加が成功しない（調停が通らない）場合、ヘッダ出力部１３は、再度、次の調停に参加する。ヘッダ出力部１３は、調停の参加が成功する（調停が通る）まで、調停の参加を繰り返す。
【００４９】
調停の参加が成功した（調停が通った）場合、ヘッダ出力部１３は、保持するヘッダをクロスバースイッチ３０に送信する。また、ヘッダ出力部１３は、データ出力部１４及びデータ出力部１５から、それぞれのデータ（偶数フリット及び奇数フリット）を出力させる。
【００５０】
このように、ヘッダ出力部１３は、データ出力部１４及びデータ出力部１５のデータ、つまり、１組の１６［Ｂ／Ｔ］の帯域幅のデータを用いて、調停に参加する。そのため、ヘッダ出力部１３は、１組のデータを用いて調停に参加できるように、後ほど説明するヘッダの制御を基に、ヘッダを生成する。
【００５１】
全てのデータ（フリット）を送信後、ヘッダ出力部１３は、再度、データ出力部１４及びデータ出力部１５にデータ（フリット）がそろうのを待つ。そして、データ出力部１４及びデータ出力部１５にデータ（フリット）がそろうと、ヘッダ出力部１３は、再度、調停に参加する。
【００５２】
ヘッダ出力部１３は、最終のデータ（フリット）を送信するまで、上記動作を繰り返す。なお、データ（フリット）の総数が奇数の場合、ヘッダ出力部１３は、最後の調停においては、データ出力部１４にデータがそろったとき、調停に参加する。
【００５３】
また、ヘッダ出力部１３は、ヘッダの制御を次のように実行する。ヘッダ出力部１３は、調停参加後、ヘッダ内のアドレスを、次の調停の参加に必要な数だけ変更する。今の場合、ヘッダ出力部１３は、データ出力部１４及びデータ出力部１５のデータ（フリット）を用いて調停に参加するため、ヘッダ出力部１３は、ヘッダ内のアドレスを２フリット分（１６Ｂｙｔｅ）増やす。
【００５４】
データ出力部１４は、調停に参加するデータ（フリット）を保持する（蓄える）。本説明では、データ出力部１４は、偶数番目のデータ（フリット）を蓄える。ヘッダ出力部１３が調停の参加に成功する（調停が通る）と、データ出力部１４は、保持するデータをクロスバースイッチ３０に送信する。データ出力部１４におけるデータの送信は、データの解放でもある。つまり、データ出力部１４は、次のデータの受信が可能となる。
【００５５】
データ出力部１５は、調停に参加するデータ（フリット）を保持する（蓄える）。本説明では、データ出力部１５は、奇数番目のデータ（フリット）を蓄える。ヘッダ出力部１３が調停の参加に成功する（調停が通る）と、データ出力部１５は、保持するデータをクロスバースイッチ３０に送信する。データ出力部１５におけるデータの送信は、データの解放でもある。つまり、データ出力部１５は、次のデータの受信が可能となる。
【００５６】
なお、ここまでの説明において、ヘッダ出力部１３が、調停の参加の制御を実行した。しかし、本実施形態の入力ポート制御部１０は、別の構成が調停の参加を制御してもよい。例えば、データ出力部１５が、データを受信した場合に、調停参加を制御してもよい。この場合、ヘッダ出力部１３は、ヘッダの制御を実行すればよい。
【００５７】
次に、入力ポート制御部２０の構成について、図面を参照して説明する。
【００５８】
図７は、入力ポート制御部２０の構成の一例を示すブロック図である。入力ポート制御部２０は、受信バッファ部２１と、ヘッダデータ制御部２２と、ヘッダ出力部２３と、データ出力部２４とを含む。
【００５９】
受信バッファ部２１は、受信バッファ部１１と同様に、データ（ヘッダ及びデータ）を受信し、一時的に保持した後、ヘッダデータ制御部２２に送信する。つまり、受信バッファ部２１は、受信バッファ部１１と同様に、データの一部を蓄えるバッファである。このように、入力ポート制御部２０は、必要となるバッファ（ハードウェア）が少ない。
【００６０】
ヘッダデータ制御部２２は、偶数フリットと奇数フリットの判別を行わない点を除き、ヘッダデータ制御部１２と同様に動作する。すなわち、ヘッダデータ制御部２２は、ヘッダデータ制御部１２と同様に、受信バッファ部２１から受信した情報がヘッダかデータかを判別する。そして、ヘッダの場合、ヘッダデータ制御部２２は、受信したフリット（ヘッダ）をヘッダ出力部２３に出力する。また、データの場合、ヘッダデータ制御部２２は、受信したフリット（データ）をデータ出力部２４に出力する。そして、ヘッダデータ制御部２２は、データ出力部２４にデータを出力すると、データレディ通知を、ヘッダ出力部２３に送信する。
【００６１】
ヘッダ出力部２３は、ヘッダ出力部１３と同様に、ヘッダの制御と、調停参加の制御とを実行する。ヘッダ出力部２３における調停参加の制御は、データ出力部２４にデータがそろったタイミングであることを除いて、ヘッダ出力部１３と同様のため、詳細な説明を省略する。また、ヘッダ出力部２３におけるヘッダの制御は、ヘッダ出力部１３と同様である。例えば、ヘッダ出力部２３は、調停の参加が成功した（調停が通った）場合におけるデータの送信後、ヘッダ内のアドレスを変更する。そのため、ヘッダ出力部２３の詳細な説明を省略する。
【００６２】
データ出力部２４は、データ出力部１４及びデータ出力部１５と同様に、調停の参加が成功した（調停が通った）場合、クロスバースイッチ３０にデータを出力する。このように、データ出力部２４は、データ出力部１４及びデータ出力部１５と、取り扱うデータの帯域幅が異なる点を除き同様のため、詳細な説明を省略する。
【００６３】
次に、出力ポート制御部４０の構成ついて図面を参照して説明する。
【００６４】
図８は、出力ポート制御部４０の構成の一例を示すブロック図である。出力ポート制御部４０は、出力バッファ制御部４１と、出力バッファ部４２とを含む。
【００６５】
出力バッファ制御部４１は、クロスバースイッチ３０から受信したデータを、出力バッファ部４２に書き込む動作を制御する。
【００６６】
例えば、クロスバースイッチ３０が、分割調停を実行している場合、１つのヘッダに対するデータは、分割されて、出力ポート制御部４０に送信される。この場合、一回の送信におけるヘッダに付随して送信されるデータは、一部のデータである。つまり、出力ポート制御部４０は、ひとまとまりのデータを、ヘッダ内のアドレスを変えた複数回のデータとして受信する場合がある。そのため、出力ポート制御部４０は、データの合わせ込みを実行する。ここで「合わせ込み」とは、ヘッダ内のアドレスを基に、受信したデータを出力バッファ部４２内の適切なアドレスを書き込み、１つのまとまったデータとする処理である。出力ポート制御部４０は、合わせ込みにおいて、ヘッダ内のアドレスと出力バッファ部４２内のアドレスとにおけるアドレス変換を実行する。
【００６７】
出力バッファ部４２は、データを保持する。そして、出力バッファ部４２は、上記の合わせ込み利用される。また、出力バッファ部４２は、合わせ込みが完了したデータを、図示しない外部の装置に送信する。その際、出力バッファ部４２は、出力先の装置とタイミング合わせを実行してもよい。なお、出力バッファ部４２は、クロスバースイッチ３０の出力として一般的に用いられるバッファでよいため、詳細な説明を省略する。つまり、出力ポート制御部４０の出力バッファ部４２は、クロスバースイッチ３０の一般的な出力ポート用のバッファと同程度のハードウェアで構成可能である。
【００６８】
［動作の説明］
次に、図面を参照して、本実施形態に係る情報処理装置５０の動作について説明する。なお、受信バッファ部１１、データ出力部１４、及び、データ出力部１５は、データを、受信、保持、及び、送信する。これらの機能は、一般的なバッファの処理と同様のため、詳細な説明を省略する。同様に、受信バッファ部２１、データ出力部２４の詳細な説明を省略する。
【００６９】
図９は、本実施形態に係る情報処理装置５０の入力ポート制御部１０のヘッダデータ制御部１２の動作の一例を示すフローチャートである。
【００７０】
ヘッダデータ制御部１２は、受信バッファ部１１から、フリット（ヘッダ又はデータ）を受信すると処理を開始する（ステップＳ１０１）。
【００７１】
次に、ヘッダデータ制御部１２は、受信したフリットがヘッダであるかデータであるかを判別する（ステップＳ１０２）。
【００７２】
ヘッダの場合（ステップＳ１０２でＹｅｓ）、ヘッダデータ制御部１２は、受信したフリット（ヘッダ）をヘッダ出力部１３に出力する（ステップＳ１０３）。そして、ヘッダデータ制御部１２は、処理を終了する。つまり、ヘッダデータ制御部１２は、次のフリットの受信を待つ。
【００７３】
フリットがヘッダでない、つまり、フリットがデータの場合（ステップＳ１０２でＮｏ）、ヘッダデータ制御部１２は、偶数フリットか奇数用フリットかを判別する。ここで、偶数フリットは、前半データである。また、奇数フリットは、後半データである。つまり、ステップＳ１０４の処理は、ヘッダデータ制御部１２が、フリットが前半のデータである否かを判別する（ステップＳ１０４）。
【００７４】
前半データの場合（ステップＳ１０４でＹｅｓ）、ヘッダデータ制御部１２は、前半データをデータ出力部１４に出力する（ステップＳ１０５）。そして、ヘッダデータ制御部１２は、処理を終了する。つまり、ヘッダデータ制御部１２は、次のフリットの受信を待つ。
【００７５】
前半データでない、つまり後半データの場合（ステップＳ１０４でＮｏ）、ヘッダデータ制御部１２は、後半データをデータ出力部１５に出力する（ステップＳ１０６）。
【００７６】
そして、ヘッダデータ制御部１２は、ヘッダ出力部１３に、調停に参加するデータがそろったことの通知（データレディ通知）を送信する（ステップＳ１０７）。そして、ヘッダデータ制御部１２は、処理を終了する。つまり、ヘッダデータ制御部１２は、次のフリットの受信を待つ。
【００７７】
ただし、ヘッダ出力部１３へのデータレディ通知の送信は、ヘッダデータ制御部１２に限る必要はない。例えば、データ出力部１５が、データレディ通知を送信してもよい。
【００７８】
なお、入力ポート制御部２０のヘッダデータ制御部２２は、図９におけるステップＳ１０４及びＳ１０５を省略した動作を実行する。つまり、データの場合（ステップＳ１０２でＮｏ）、ヘッダデータ制御部２２は、データをデータ出力部２４に出力する（ステップＳ１０６に相当）。そして、ヘッダデータ制御部２２は、ヘッダ出力部２３に、通知を送信する（ステップＳ１０７に相当）。ヘッダデータ制御部２２は、それ以外のステップは、ヘッダデータ制御部１２と同様に動作する。
【００７９】
図１０は、本実施形態に係る情報処理装置５０の入力ポート制御部１０のヘッダ出力部１３の動作の一例を示すフローチャートである。
【００８０】
ヘッダ出力部１３は、ヘッダデータ制御部１２からヘッダを受信する（ステップＳ２０１）。なお、ヘッダデータ制御部１２は、ヘッダ内にペイロードとしての含まれる後続するフリット数を確認しておくことが望ましい。
【００８１】
そして、ヘッダ出力部１３は、ヘッダデータ制御部１２からの、データがそろったことの通知（データレディ通知）を待つ（ステップＳ２０２）。
【００８２】
データレディ通知を受信すると、ヘッダ出力部１３は、クロスバースイッチ３０の調停に参加する（ステップＳ２０３）。
【００８３】
そして、ヘッダ出力部１３は、調停の参加が成功か否かを判別する（ステップＳ２０４）。
【００８４】
調停が不成功の場合（ステップＳ２０４でＮｏ）、ヘッダ出力部１３は、ステップＳ２０３に戻り、再度、調停に参加する。ヘッダ出力部１３は、調停の参加が成功するまで、調停の参加を繰り返す。
【００８５】
調停の参加が成功の場合（ステップ）、ヘッダ出力部１３は、クロスバースイッチ３０にヘッダを出力する。また、ヘッダ出力部１３は、データ出力部１４、及び、データ出力部１５に、前半データと後半データを、クロスバースイッチ３０に出力するように指示する。
【００８６】
データ出力後、ヘッダ出力部１３は、調停に参加するためのデータが終了したか否かを判別する（ステップＳ２０５）。より具体的には、ヘッダ出力部１３は、上記のヘッダから取得したフリット数と、現在のヘッダ内のアドレスとを基に、データが終了したか否かを判別する。
【００８７】
終了の場合（ステップＳ２０５でＹｅｓ）、ヘッダ出力部１３は、処理を終了する。
【００８８】
終了でない場合（ステップＳ２０５でＮｏ）、ヘッダ出力部１３は、ヘッダ内のアドレスを変更する（ステップＳ２０６）。ここでは、既に説明した通り、例えば、ヘッダ出力部１３は、アドレスを１６Ｂｙｔｅ分増加する。そして、ヘッダ出力部１３は、ステップＳ２０２に戻り、データレディ通知を待つ。
【００８９】
なお、入力ポート制御部２０のヘッダ出力部２３は、クロスバースイッチ３０への出力の依頼をデータ出力部２４に指示する以外、ヘッダ出力部１３と同様に動作すればよい。
【００９０】
次に、図面を参照して、出力ポート制御部４０の動作について説明する。
【００９１】
図１１は、本実施形態に係る情報処理装置５０の出力ポート制御部４０の動作の一例を示すフローチャートである。
【００９２】
出力バッファ制御部４１は、受信したデータを出力バッファ部４２に書き込むアドレスを計算する（ステップＳ３０１）。
【００９３】
そして、出力バッファ制御部４１は、出力バッファ部４２の算出したアドレスに、データを書き込む（ステップＳ３０２）。
【００９４】
出力バッファ制御部４１は、データが完了したか否かを判別する（ステップＳ３０３）。
【００９５】
データが完了していない場合（ステップＳ３０３でＮｏ）、出力バッファ制御部４１は、ステップＳ３０１に戻り、次のデータを待つ。
【００９６】
データが完了した場合（ステップＳ３０３でＹｅｓ）、出力バッファ制御部４１は、出力バッファ部４２に、所定の送信先の装置への、データの送信を指示する。その指示を基に、出力バッファ部４２は、データを送信する（ステップＳ３０４）。
【００９７】
次に、具体的なデータの図面を用いて、情報処理装置５０の動作を説明する。
【００９８】
図４は、本実施形態に係る情報処理装置５０における動作を説明するための図である。
【００９９】
まず、図４のデータについて説明する。
【０１００】
図４の一番上の行が、時刻を示している。具体的には、図４は、時刻ｔ１から時刻ｔ１３を示している。次の４行のデータが、入力ポート制御部１０のうちの第１の入力ポート制御部（以下、入力ポート制御部Ａと呼ぶ）のデータを示す。また、次の４行のデータが、入力ポート制御部１０のうちの第２の入力ポート制御部（以下、入力ポート制御部Ｂと呼ぶ）のデータを示す。次の３行のデータが、入力ポート制御部２０（以下、入力ポート制御部Ｃと呼ぶ）のデータを示す。最下部の３行のデータが、クロスバースイッチ３０からの出力データを示す。
【０１０１】
入力ポート制御部Ａの受信バッファ部１１は、時刻ｔ２からデータ（フリット）を受信する。入力ポート制御部Ｂの受信バッファ部１１は、時刻ｔ３からデータ（フリット）を受信する。入力ポート制御部Ｃは、図示しない時刻ｔ０からデータ（フリット）を受信する。ただし、図４において、入力ポート制御部Ｃの受信バッファ部２１の記載を省略した。
【０１０２】
本実施形態の入力ポート制御部Ａ及び入力ポート制御部Ｂは、データ出力部１５にデータが保持されてから調停に参加する。つまり、入力ポート制御部Ａは、時刻ｔ５から調停に参加する。また、入力ポート制御部Ｂは、時刻ｔ６から調停に参加する。
【０１０３】
そのため、入力ポート制御部Ｃは、時刻ｔ４まで、調停の参加が成功する。つまり、図４に示すように、入力ポート制御部Ｃは、受信した帯域幅１６［Ｔ／Ｂ］のデータを、クロスバースイッチ３０から出力する。
【０１０４】
入力ポート制御部Ａは、データ出力部１５にデータが保持された後、つまり時刻ｔ５から調停に参加する。図４に示すように、入力ポート制御部Ｃは、時刻ｔ５において、データの出力を完了している。つまり、入力ポート制御部Ｃは、調停に参加しない。そのため、入力ポート制御部Ａは、調停の参加が成功する。入力ポート制御部Ａは、時刻ｔ５において、ヘッダ、並びに、データ出力部１４及びデータ出力部１５のデータ（つまり、帯域幅が１６［Ｂ／Ｔ］のデータ）を出力する。出力後、入力ポート制御部Ａのデータ出力部１４及びデータ出力部１５は、データを開放する。つまり、次の時刻ｔ６において、入力ポート制御部Ａは、データ出力部１５にデータがそろっていない。そのため、入力ポート制御部Ａは、時刻ｔ６において、調停に参加しない。
【０１０５】
一方、時刻ｔ６において、入力ポート制御部Ｂは、データ出力部１５にデータがそろっているため、調停に参加する。そして、入力ポート制御部Ａ及び入力ポート制御部Ｃは、調停に参加しない。そのため、入力ポート制御部Ｂは、調停の参加が成功する。そこで、入力ポート制御部Ｂは、時刻ｔ７において、帯域幅が１６［Ｂ／Ｔ］のデータを出力する。
【０１０６】
このように、入力ポート制御部Ａ及び入力ポート制御部Ｂは、図４に示すように、交互に、帯域幅が１６［Ｂ／Ｔ］のデータを出力できる。
【０１０７】
その結果、情報処理装置５０は、図４に示すように、全ての帯域幅を利用することができる。つまり、情報処理装置５０は、性能の低下を防ぐことができる。なお、上記の説明は、説明を明確にするため、入力ポート制御部Ａと入力ポート制御部Ｂとのデータをずらして説明した。しかし、入力ポート制御部Ａと入力ポート制御部Ｂは、同時にデータを受信してもよい。この場合でも、クロスバースイッチ３０の調停の参加に成功した入力ポート制御部Ａ又は入力ポート制御部Ｂが、帯域幅を１６［Ｂ／Ｔ］としてデータを出力することができる。
【０１０８】
なお、情報処理装置５０は、入力として２種類を超える帯域幅のデータを受信してもよい。この場合、入力ポート制御部２０は、最高の帯域幅（クロスバースイッチ３０の入力ポートの帯域幅）のデータを受信して、今までの説明と同様に動作する。また、入力ポート制御部１０が、帯域幅の低いデータを受信する。そして、入力ポート制御部１０は、上記のように、データの帯域幅を入力ポートの帯域幅に合わせるようにデータをまとめた後、クロスバースイッチ３０の調停に参加すればよい。なお、この場合、入力ポート制御部１０は、データ出力部１４及びデータ出力部１５に加え、処理に必要な数のデータ出力部を含めばよい。
【０１０９】
例えば、情報処理装置５０が、４［Ｂ／Ｔ］、８［Ｂ／Ｔ］及び１６［Ｂ／Ｔ］の帯域幅を受信する場合について説明する。
【０１１０】
この場合、入力ポート制御部２０が、１６［Ｂ／Ｔ］の帯域幅のデータを受信する。また、入力ポート制御部１０が、４［Ｂ／Ｔ］及び８［Ｂ／Ｔ］の帯域幅のデータを受信する。そして、入力ポート制御部２０と、８［Ｂ／Ｔ］の帯域幅のデータを受信する入力ポート制御部１０は、今までの説明と同様に動作する。
【０１１１】
一方、４［Ｂ／Ｔ］の帯域幅のデータを受信する入力ポート制御部１０は、データ出力部１４及びデータ出力部１５に加え、２つのデータ出力部を含む。そして、その入力ポート制御部１０は、データのフリットを４種類に分ける。例えば、入力ポート制御部１０は、データのフリットの番号を４で割った余りを基に、データのフリットを４種類に分ける。そして、入力ポート制御部１０は、４種類のデータのフリットを、データ出力部１４、データ出力部１５、及び、追加の２つのデータ出力部に保存する。そして、入力ポート制御部１０は、４種類のデータのフリットがそろった時点で、調停に参加すればよい。
【０１１２】
また、情報処理装置５０は、帯域幅の異なる出力ポート制御部４０を含んでもよい。この場合、情報処理装置５０は、出力ポート制御部４０の帯域幅に合わせて、入力ポート制御部１０及び入力ポート制御部２０の動作を切り替えればよい。
【０１１３】
例えば、帯域幅が８［Ｂ／Ｔ］の出力ポート制御部４０に出力する場合、入力ポート制御部１０が、帯域幅が４［Ｂ／Ｔ］のデータを処理し、入力ポート制御部２０が、帯域幅８［Ｂ／Ｔ］のデータを処理すればよい。
【０１１４】
［効果の説明］
次に、本実施形態の効果について説明する。
【０１１５】
このように、本実施形態の情報処理装置５０は、入力ポートに必要となるバッファ（ハードウェア）の増加を低減するとの効果を奏することができる。
【０１１６】
その理由は、次の通りである。
【０１１７】
本実施形態の入力ポート制御部１０は、受信バッファ部１１が、フリットに分けて送信されるデータ（ヘッダ又はデータ）を受信する。そして、ヘッダデータ制御部１２が、ヘッダ、前半データ、及び、後半データを、ヘッダ出力部１３、データ出力部１４、及び、データ出力部１５に振り分けて保存する。そして、データがそろったときに、ヘッダ出力部１３が、クロスバースイッチ３０の調停に参加する。このように、帯域幅の低いデータを受信する入力ポート制御部１０は、帯域幅の低いデータを保存し、帯域幅の高いデータを同様の帯域幅でデータを出力する。つまり、入力ポート制御部１０は、無駄となる帯域幅が発生しないように、クロスバースイッチ３０の調停に参加する。そのため、情報処理装置５０は、性能の低下を防ぐことができる。
【０１１８】
さらに、データ出力部１４及びデータ出力部１５の容量は、１つのフリットを保存する容量である。また、受信バッファ部１１の容量は、１つのフリットを保存する容量である。つまり、入力ポート制御部１０に必要となるバッファの容量は、数フリットの容量である。
【０１１９】
このように、情報処理装置５０は、バッファとして必要となる容量を削減しながら、性能低下を防ぐとの効果を奏することができる。
【０１２０】
［変形例］
以上の説明した情報処理装置５０は、次のように構成される。
【０１２１】
例えば、情報処理装置５０の各構成部は、ハードウェア回路で構成されても良い。
【０１２２】
また、情報処理装置５０は、各構成部が、ネットワークを介して接続した複数の装置を用いて、構成されても良い。
【０１２３】
また、情報処理装置５０は、複数の構成部を１つのハードウェアで構成しても良い。例えば、データ出力部１４とデータ出力部１５は、１つの記憶部で構成されてもよい。
【０１２４】
また、情報処理装置５０は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現してもよい。情報処理装置５０は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現しても良い。
【０１２５】
図１２は、本変形例に係る情報処理装置６００の構成の一例を示すブロック図である。
【０１２６】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０と、ＮＩＣ６９０とを含み、コンピュータ装置を構成している。
【０１２７】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図５に示す、入力ポート制御部１０と、入力ポート制御部２０と、クロスバースイッチ３０と、出力ポート制御部４０としての各機能を実現する。なお、情報処理装置６００は、処理の高速化のため、図示しないクロスバースイッチ３０を実現するための回路又は電気素子（ハードウェア）を含んでもよい。
【０１２８】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶として使用しても良い。
【０１２９】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０又はＮＩＣ６９０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作しても良い。
【０１３０】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
【０１３１】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０１３２】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作しても良い。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０１３３】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（non-transitory）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（transitory）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０１３４】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。
【０１３５】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１３６】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０１３７】
ＮＩＣ６８０及びＮＩＣ６９０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０及びＮＩＣ６９０は、例えば、ＬＡＮ（Local Area Network）カードである。そして、例えば、ＮＩＣ６８０が、データを受信し、ＮＩＣ６９０が、データを出力する。なお、情報処理装置６００は、ＮＩＣ６８０又はＮＩＣ６９０のいずれかを１つを用いて、データの受信及び送信を実現してもよい。その場合、情報処理装置６００は、送信及び受信に用いないＮＩＣ６８０又はＮＩＣ６９０を含まなくてもよい。
【０１３８】
このように構成された情報処理装置６００は、情報処理装置５０と同様の効果を得ることができる。
【０１３９】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置５０と同様の機能を実現できるためである。
【０１４０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１４１】
本発明は、クロスバースイッチのような複数の入力ポートと複数の出力ポートとを備えた通信網を含み、少なくとも一部の入力ポートの帯域幅が異なっている情報処理装置、情報処理システム、又は、ネットワーク用のスイッチに利用することができる。
【符号の説明】
【０１４２】
１０    入力ポート制御部
１１    受信バッファ部
１２    ヘッダデータ制御部
１３    ヘッダ出力部
１４    データ出力部
１５    データ出力部
２０    入力ポート制御部
２１    受信バッファ部
２２    ヘッダデータ制御部
２３    ヘッダ出力部
２４    データ出力部
３０    クロスバースイッチ
４０    出力ポート制御部
４１    出力バッファ制御部
４２    出力バッファ部
５０    情報処理装置
９０    クロスバースイッチ
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
６９０    ＮＩＣ
７００    記憶媒体
【要約】
【課題】  入力ポートに必要となるバッファ（ハードウェア）の増加を低減する
【解決手段】  本発明の情報処理装置は、複数の入力ポートからのデータを調停して複数の出力ポートのいずれか１つの出力ポートからデータを出力するクロスバースイッチと、クロスバースイッチの出力ポートからデータを受信し、外部の装置にデータを送信する出力ポート制御手段と、入力ポートの帯域幅より低い帯域幅のデータを受信して、入力ポートの帯域幅と同じ帯域幅のデータとして入力ポートにデータを出力する第１の入力ポート制御手段と、入力ポートの帯域幅と同じ帯域幅のデータを受信して、帯域幅を変更しないで入力ポートにデータを出力する第２の入力ポート制御手段とを含む。
【選択図】      図５【図１】
0005939323.tif 000002
【図２】
0005939323.tif 000003
【図３】
0005939323.tif 000004
【図４】
0005939323.tif 000005
【図５】
0005939323.tif 000006
【図６】
0005939323.tif 000007
【図７】
0005939323.tif 000008
【図８】
0005939323.tif 000009
【図９】
0005939323.tif 000010
【図１０】
0005939323.tif 000011
【図１１】
0005939323.tif 000012
【図１２】
0005939323.tif 000013