(57)【要約】  クロスバスイッチ各々に備えられたチップ各々は、パケットが入力すると、パケットのログを収集するためのログ収集用パケットを生成・発行する。また、入力したパケットの転送に関するログを収集する。また、発行したログ収集用パケット、もしくは、前段のクロスバスイッチから転送されたログ収集用パケットに、収集したログを埋め込む。また、パケットの転送先がクロスバスイッチ以外である場合には、ログ収集用パケットに埋め込んだログを記憶部に格納した上で、ログを削除した元のパケットのみを転送先に転送する。一方、転送先がクロスバスイッチである場合には、ログ収集用パケットを次段のクロスバスイッチに転送する。
2009144799.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ内の各部を接続する経路を形成するクロスバスイッチが多段に備えられたクロスバスイッチシステムであって、
前記クロスバスイッチは、
パケットが入力すると、当該パケットの履歴情報を収集するための履歴収集用パケットを生成・発行する発行手段と、
前記入力したパケットの転送に関する履歴情報を収集する収集手段と、
前記発行手段によって発行された履歴収集用パケット、もしくは、前段のクロスバスイッチから転送された履歴収集用パケットに、前記収集手段が収集した履歴情報を埋め込む埋め込み手段と、
履歴情報を記憶する記憶部と、
パケットの転送先がクロスバスイッチ以外である場合には、前記履歴収集用パケットに埋め込まれた履歴情報を記憶部に格納した上で、前記履歴情報を削除した元のパケットのみを転送先に転送し、転送先がクロスバスイッチである場合には、当該履歴収集用パケットを次段のクロスバスイッチに転送する転送手段と、
を備えたこと特徴とするクロスバスイッチシステム。
【請求項２】
前記発行手段は、入力したパケットのフォーマットを変更して、当該パケット内に履歴情報を収集する履歴情報収集領域を生成して、前記履歴収集用パケットを発行することを特徴とする請求項１に記載のクロスバスイッチシステム。
【請求項３】
前記埋め込み手段は、前記履歴情報として、前記チップを識別するチップ情報、前記パケットが前記クロスバスイッチを経由する際のポートを識別するポート情報、前記パケットが前記クロスバスイッチを経由する際の調停時間を示す調停時間情報、前記クロスバスイッチのリソースの状態を示す状態情報、前記パケットが前記クロスバスイッチを経由する際の通過時間を示す通過時間情報の内、少なくとも一つを埋め込むことを特徴とする請求項１に記載のクロスバスイッチシステム。
【請求項４】
前記発行手段は、クロスバスイッチに接続する外部装置から送信された指示を契機として前記発行を開始する、および／または、チップ内部のステータスについて予め設定された条件に当該チップ内部のステータスが一致したことを契機として前記発行を開始することを特徴とする請求項１記載のクロスバスイッチシステム。
【請求項５】
コンピュータ内の各部のいずれかから入力されることでパケットを受け付けると、当該パケットの履歴情報を収集するための履歴収集用パケットを発行する発行手順と、
前記発行手順によって発行された履歴収集用パケット、もしくは、前段のクロスバスイッチから転送された履歴収集用パケットに、当該履歴収集用パケットが収集すべき履歴情報を埋め込む埋め込み手順と、
前記埋め込み手順によって履歴情報を埋め込まれた履歴収集用パケットの転送先がクロスバスイッチ以外である場合には、当該履歴収集用パケットに埋め込まれた履歴情報を記憶部に格納した上で当該履歴情報の収集対象とされた元のパケットのみを転送先に転送し、転送先がクロスバスイッチである場合には、当該履歴収集用パケットを次段のクロスバスイッチに転送する転送手順と、をコンピュータに実行させることを特徴とするプログラム。
【請求項６】
複数の装置に接続され、前記装置間のデータ転送に介在するクロスバ装置であって、
入力パケットに、パケット転送の履歴情報を記録するための領域を付加した履歴収集用パケットを発行する手段と、
パケット転送に関する履歴情報を収集する手段と、
前記発行された履歴収集用パケット、もしくは他の装置から受信した履歴収集用パケットに、前記収集手段が収集した履歴情報を書き込む手段と、
履歴情報を記憶する記憶部と、
パケットの転送先がクロスバ装置以外の装置である場合、前記履歴収集用パケットに埋め込まれた履歴情報を前記記憶部に格納した上で、前記履歴情報を記録する領域を削除したパケットのみを転送先に転送する一方、パケットの転送先がクロスバ装置である場合には、自身が収集した履歴情報を書き込んだ履歴収集用パケットを次段のクロスバ装置に転送する手段と、を備えたこと特徴とするクロスバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クロスバスイッチシステムに関する。
【背景技術】
【０００２】
近年、多段のクロスバスイッチを備える大規模コンピュータシステムが登場している。ここで、クロスバスイッチとは、中央処理装置、記憶装置、入出力装置などのコンピュータ内の各部を１対１で接続する経路を動的に形成するものである。各部間で送受信されるパケットは、多段のクロスバスイッチによって形成された経路を用いて当該クロスバスイッチ間を転送される。【０００３】
ところで、クロスバスイッチ各々に備えられたチップ各々は、図１０に示すように、履歴情報（以下、ログと呼ぶ）を記憶部（ヒストリ（History）  RAM（Random  Access  Memory）など）に蓄積している。このため、システムの運用者によってクロスバスイッチシステムの性能や設計妥当性の確認が行われる場合には、チップ単位の履歴情報が収集され、解析されていた。図１０に示す矢印は、『ＩＯ（Input／Output、入出力装置）』から『ＳＢ（System  Board、中央処理装置など）』に対してパケットが送信された時の経路の一例を示すものである。図１０に示すように、当該パケットのログ情報は、Ａ点での採取情報、Ｂ点での採取情報、Ｄ点での採取情報、Ｆ点での採取情報といったように、チップ単位で収集されていた。なお、図１０において、『Packet』の後ろのアルファベットは、採取場所を示すものではなく、チップ単位で収集される情報が、断片的な様々な情報であることを示すものである。【０００４】
また、特許文献１には、複数の情報処理装置からなるシステムにおいて、情報処理装置のログ情報が、情報処理装置単位で収集される技術が開示されている。また、特許文献２には、複数のコンピュータがネットワーク接続するシステムにおいて、パスのルート情報を含む診断パケットが生成され、ネットワークに送出される技術が開示されている。【０００５】
【特許文献１】特開２００３−３２４４７８号公報
【特許文献２】特開平１１−３５５２７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記した従来の技術では、クロスバスイッチ間を転送されるパケットの解析が困難であるという課題があった。すなわち、チップ単位で収集されたログ情報は断片的にならざるを得ないので、クロスバスイッチ間を転送されるパケットの動きに着目した解析は困難である。また、多段のクロスバスイッチを備える大規模システムにおいては、チップ単位で収集される性能情報やイベント情報のみでは、システム全体としての性能や設計妥当性の確認を行うことが困難である。なお、上記した特許文献１や特許文献２に開示されている技術は、当該課題を解決し得るものではない。【０００７】
そこで、本発明は、上記した従来の技術の課題を解決するためになされたものであり、クロスバスイッチ間を転送されるパケットの解析を容易に行うことが可能なクロスバスイッチシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を解決し、目的を達成するため、開示のシステムは、コンピュータ内の各部を接続する経路を形成するクロスバスイッチが多段に備えられたクロスバスイッチシステムである。また、クロスバスイッチは、パケットが入力すると、パケットの履歴情報を収集するための履歴収集用パケットを生成・発行する発行手段を備える。また、クロスバスイッチは、入力したパケットの転送に関する履歴情報を収集する収集手段を備える。また、クロスバスイッチは、発行された履歴収集用パケット、もしくは、前段のクロスバスイッチから転送された履歴収集用パケットに、収集した履歴情報を埋め込む埋め込み手段を備える。また、クロスバスイッチは、履歴情報を記憶する記憶部を備える。また、クロスバスイッチは、パケットの転送先がクロスバスイッチ以外である場合には、履歴収集用パケットに埋め込まれた履歴情報を記憶部に格納した上で、履歴情報を削除した元のパケットのみを転送先に転送し、転送先がクロスバスイッチである場合には、履歴収集用パケットを次段のクロスバスイッチに転送する転送手段を備える。
【発明の効果】
【０００９】
開示のシステムによれば、多段のクロスバスイッチ間を転送されるパケットの正確な性能値の採取と解析を容易に行うことが可能になる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１におけるコンピュータシステムの概要を説明するための図である。
【図２】図２は、実施例１におけるコンピュータシステムの構成を説明するための図である。
【図３】図３は、実施例１におけるクロスバスイッチの構成を説明するための機能ブロック図である。
【図４】図４は、実施例１におけるクロスバスイッチの構成を示すブロック図である。
【図５】図５は、パケットのフォーマットを説明するための図である。
【図６】図６は、実施例１におけるコンピュータシステムのシステム運用手順を説明するためのフローチャートである。
【図７】図７は、実施例１における発行部による処理の手順を説明するための図である。
【図８】図８は、実施例１における埋め込み部による処理の手順を説明するための図である。
【図９】図９は、実施例１における格納部による処理の手順を説明するための図である。
【図１０】図１０は、従来技術を説明するための図である。
【符号の説明】
【００１１】
１  ログ収集用パケット
２  通常システム利用領域
３  ログ収集用領域
４  ログ情報
１０  入力Ｐｏｒｔ部
１１  入力パケットチェック部
１２  発行部
１３  埋め込み部（入力Port情報／Chip  No.）
１４  入力バッファ部
１５  埋め込み部（アービタ時間）
２０  出力Ｐｏｒｔ部
２１  出力バッファ部
２２  埋め込み部（Busy率）
２３  埋め込み部（レイテンシ）
２４  埋め込み部（出力Port情報）
２５  格納部
２６  伝送保護用チェックコード生成部
３０  スイッチ部
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、開示のクロスバスイッチシステムの実施例を詳細に説明する。なお、以下では、クロスバスイッチシステムを備えたコンピュータシステムを実施例として説明する。ここで、コンピュータシステムとは、例えば、複数のクロスバスイッチを備えたサーバ装置などのことである。まず、実施例１におけるコンピュータシステムの概要を説明し、次に、実施例１におけるコンピュータシステムの構成、実施例１におけるコンピュータシステムによる処理の手順、実施例１の効果を順に説明する。続いて、他の実施例について説明する。
【実施例１】
【００１３】
［実施例１におけるコンピュータシステムの概要］
まず、図１を用いて、実施例１におけるコンピュータシステムの概要を説明する。図１は、実施例１におけるコンピュータシステムの概要を説明するための図である。また、図１には、クロスバスイッチ間で転送されるログ収集用パケットのフォーマット、およびクロスバスイッチが格納するログ情報を示す。【００１４】
図１に例示するコンピュータシステムは、『ＸＢ（cross  bar  switch）０』〜『ＸＢ５』までの６つのクロスバスイッチを備える。また、図１に例示するコンピュータシステムは、システムボード（以下『ＳＢ』とも称する）や、入出力装置／入出力装置が接続される入出力装置制御部（以下『ＩＯ』とも称する）をさらに備える。図１に例示されたシステムボードやＩＯなどの要素はいずれかのクロスバスイッチに接続されており、ＳＢ間、あるいはＳＢ−ＩＯ間のパケット転送にＸＢが介在している。例えば、『ＩＯ』から『ＳＢ』に対してパケットが送信される場合、例えば、『ＸＢ３』、『ＸＢ０』、『ＸＢ１』、および『ＸＢ２』のクロスバスイッチ各々が、『ＩＯ』と『ＳＢ』とを１対１で接続する経路を動的に形成する。ここで、図１に例示する各クロスバスイッチの上に表記された『Ａ』〜『Ｆ』とは、動的に形成された経路について、所定のクロスバスイッチを通過する通過点を説明する都合上表記したものである。すなわち、パケットは、『ＸＢ３』、『ＸＢ０』、『ＸＢ１』、および『ＸＢ２』によって形成された経路を用いて、『Ａ』点、『Ｂ』点、『Ｄ』点、および『Ｆ』点を順に通過して転送される。【００１５】
ここで、実施例１におけるクロスバスイッチは、それぞれチップを搭載している。また、各クロスバスイッチに搭載されたチップは、転送するパケットのログを収集する機能を備える。例えばクロスバスイッチ『ＸＢ３』に備えられるチップは、『ＩＯ』から入力するパケットを受け付けると、受け付けたパケットのログを収集するためのログ収集用パケットを発行する。具体的には、クロスバスイッチ『ＸＢ３』のチップは、図１に例示するように、『ＩＯ』から受信したパケットのフォーマットを変更し、ログ収集用パケット１を発行する。すなわち、クロスバスイッチ『ＸＢ３』のチップは、『ＩＯ』から受信したパケットに備えられている通常システム利用領域２とは別に、パケット内に当該パケットのログを収集するログ収集用領域３を生成することで、ログ収集用パケット１を発行する。なお、実施例１において、ログ収集用領域３は、複数のクロスバスイッチがそれぞれ収集したログを格納することができるよう、複数の領域に分割されている。例えば、図１に例示するログ収集用領域３は、６つの領域に分割されている。【００１６】
次に、クロスバスイッチ『ＸＢ３』のチップは、発行したログ収集用パケット１に、収集すべきログを埋め込む。例えば、図１の『Ａ点』に示すように、クロスバスイッチ『ＸＢ３』のチップは、『ＸＢ３情報』を埋め込む。ここで、『ＸＢ３情報』とは、『ＸＢ３』のチップが収集する、『ＩＯ』から受信したパケットのログであって、パケットのログとして収集すべきログである。実施例１においては、経路情報や性能情報である。【００１７】
続いて、クロスバスイッチ『ＸＢ３』のチップは、ログを埋め込んだログ収集用パケット１の転送先が他のクロスバスイッチ以外の装置、例えば『ＳＢ』である場合には、当該ログ収集用パケット１に埋め込まれたログを、チップ内に設けられた記憶部（ヒストリ）に格納する。そして、クロスバスイッチ『ＸＢ３』のチップは、ログの収集対象とされた、図１の例では『ＸＢ３』に接続された『ＩＯ』から転送された元のパケットのみを、転送先に転送する。一方、ログ収集用パケット１の転送先が次段のクロスバスイッチである場合には、クロスバスイッチ『ＸＢ３』のチップは、自身が発行したログ収集用パケット１を転送先のクロスバスイッチに転送する。【００１８】
例えば、クロスバスイッチ『ＸＢ３』のチップは、図１に示すように、転送先が『ＸＢ０』である場合には、ログ収集用パケット１をクロスバスイッチ『ＸＢ０』に転送する。【００１９】
さて、クロスバスイッチ『ＸＢ０』のチップは、クロスバスイッチ『ＸＢ３』から転送されたログ収集用パケット１を受信すると、当該ログ収集用パケット１に、自身が収集したログを埋め込む。例えば、図１の『Ｂ点』に示すように、クロスバスイッチ『ＸＢ０』のチップは、『ＸＢ０情報』を埋め込む。ここで、図１に示すように、当該ログ収集用パケット１には、クロスバスイッチ『ＸＢ３』と『ＸＢ０』とを経るに従い、『ＸＢ３情報』と『ＸＢ０情報』とが累積して埋め込まれることになる。【００２０】
その後、クロスバスイッチ『ＸＢ０』のチップは、ログ収集用パケット１を、次段のクロスバスイッチ『ＸＢ１』に転送する。クロスバスイッチ『ＸＢ１』のチップも同様に、図１の『Ｄ点』に示すように、『ＸＢ１情報』を埋め込み、当該ログ収集用パケット１を、クロスバスイッチ『ＸＢ２』に転送する。【００２１】
クロスバスイッチ『ＸＢ２』のチップも同様に、図１の『Ｆ点』に示すように、『ＸＢ２情報』を埋め込む。こうして、図１に示すように、当該ログ収集用パケット１には、クロスバスイッチ『ＸＢ３』、『ＸＢ０』、『ＸＢ１』、および『ＸＢ２』を経るに従い、『ＸＢ３情報』と『ＸＢ０情報』と『ＸＢ１情報』と『ＸＢ２情報』とが累積して埋め込まれる。【００２２】
続いて、クロスバスイッチ『ＸＢ２』のチップが、ログ収集用パケット１の転送先を判定する。図１の場合、ログ収集用パケット１の転送先は『ＳＢ』であり、クロスバスイッチ以外である。そこで、クロスバスイッチ『ＸＢ２』のチップは、まず、ログ収集用パケット１に埋め込まれたログを記憶部に格納し、その後、ログの収集対象とされた元のパケットのみを、転送先である『ＳＢ』に転送する。【００２３】
すなわち、クロスバスイッチ『ＸＢ２』のチップは、図１に例示するように、ログ収集用パケット１に累積して埋め込まれたログ情報４を記憶部に格納する。ここで、ログ情報４とは、『ＸＢ３情報』、『ＸＢ０情報』、『ＸＢ１情報』、および『ＸＢ２情報』のことであり、それぞれ、経路情報と性能情報とを含む情報である。クロスバスイッチ『ＸＢ２』のチップは、ログ収集用パケット１によって収集されたログ情報４を、パケット単位で記憶部に記憶する。このように、チップ単位で収集されたログ情報がパケット単位で記憶される結果、ログ情報は断片的な情報とはならず、パケットが通過した経路ごとにまとめられたログ情報となる。【００２４】
そして、クロスバスイッチ『ＸＢ２』のチップは、ログ収集用パケット１内のログ情報収集領域２を削除することで、パケットのフォーマットを元に戻す。そして、クロスバスイッチ『ＸＢ２』のチップは、ログ情報収集領域２を削除した後のパケットを、転送先である『ＳＢ』に転送する。【００２５】
その後、クロスバスイッチシステムを管理する外部装置であるシステムマネジメントが、クロスバスイッチ『ＸＢ２』の記憶部に格納されたログを収集し、解析システムや解析者等がログを解析する。この時、ログ情報は、パケット単位の情報となっているので、クロスバスイッチ間を転送されるパケットの解析を行うにあたり、パケットの動きに着目した解析を容易に行うことが可能になる。【００２６】
［実施例１におけるコンピュータシステムの構成］
次に、図２〜図５を用いて、実施例１におけるコンピュータシステムの構成を説明する。図２は、実施例１におけるコンピュータシステムの構成を説明するための図である。図３は、実施例１におけるクロスバスイッチの構成を説明するための機能ブロック図である。図４は、実施例１におけるクロスバスイッチの構成を示すブロック図である。図５は、パケットのフォーマットを説明するための図である。【００２７】
実施例１におけるコンピュータシステムは、図２に例示するような構成をとる。すなわち、実施例１におけるコンピュータシステムは、『ＸＢ０』〜『ＸＢ５』までの６つのクロスバスイッチを備える。また、クロスバスイッチ『ＸＢ０』〜『ＸＢ２』が、各々、システムボード『ＳＢ０』〜『ＳＢ２』に接続されている。また、クロスバスイッチ『ＸＢ３』〜『ＸＢ５』が、各々、入出力装置『ＩＯ０』〜『ＩＯ２』に接続されている。【００２８】
また、クロスバスイッチ『ＸＢ０』〜『ＸＢ５』に備えられるチップ各々は、図２に示すように、クロスバシステムを管理するシステムマネジメントに接続されている。【００２９】
ここで、クロスバスイッチ単体は、図３に例示するような構成をとる。図３の例では、クロスバスイッチが『Ｐｏｒｔ  ａ』、『Ｐｏｒｔ  ｂ』、『Ｐｏｒｔ  ｃ』、『Ｐｏｒｔ  ｄ』の４つのポートを備えている（４Port  ＸＢ）。クロスバスイッチの各々のポートは、それぞれ、入力Ｐｏｒｔ部と出力Ｐｏｒｔ部とを備える。図３に示すように、例えば、パケットが、『Ｐｏｒｔ  ｂ』から入力して『Ｐｏｒｔ  ｄ』から出力される場合には、パケットは、『Ｐｏｒｔ  ｂ』の入力Ｐｏｒｔ部からスイッチ部を経由し、その後、『Ｐｏｒｔ  ｄ』の出力Ｐｏｒｔ部から出力される。【００３０】
このようなパケットフローに着目して、クロスバスイッチ単体の機能および構成をイメージ化して示したブロック図が、図４である。図４においては、説明の都合上、入力Ｐｏｒｔ部１０と、スイッチ部３０と、出力Ｐｏｒｔ部２０とがそれぞれ１つずつのみ示されているが、実際のクロスバスイッチには、ポートごとに、入力Ｐｏｒｔ部と出力Ｐｏｒｔ部とが備えられる。以下、入力Ｐｏｒｔ部１０、出力Ｐｏｒｔ部２０、およびスイッチ部３０を順に説明する。【００３１】
入力Ｐｏｒｔ部１０は、クロスバスイッチの外部から入力したパケットを受け付ける部である。一般に、入力Ｐｏｒｔ部１０は、チップ間の伝送上の遅延による性能の低下の影響を緩和することを目的として、バッファを有する。また、入力Ｐｏｒｔ部１０は、クロスバスイッチに入力したパケットにエラーがないか否か、つまりパケットが壊れていないか否かのチェックを行う。具体的には、入力Ｐｏｒｔ部１０は、図４に示すように、入力パケットチェック部１１と、発行部１２と、埋め込み部（入力Port情報／Chip  No.）１３と、入力バッファ部１４と、埋め込み部（アービタ時間）１５とを備える。なお、実施例１においては、入力Ｐｏｒｔ部１０が、埋め込み部１５を備える例を説明するが、本発明はこれに限られるものではない。入力Ｐｏｒｔ部１０は、入力Ｐｏｒｔ部１０において埋め込むべきログが他にあれば、他のログを埋め込む埋め込み部をさらに備える。【００３２】
入力パケットチェック部１１は、クロスバスイッチに入力したパケットのチェックを行う。具体的には、入力パケットチェック部１１は、パケットの入力を受け付けると、当該パケットにエラーがないか否かをチェックする。また、入力パケットチェック部１１は、チェック後のパケットを、発行部１２に送信する。【００３３】
発行部１２は、パケットのログを収集するためのログ収集用パケットを発行する。具体的には、発行部１２は、入力パケットチェック部１１からパケットを受信すると、当該パケットのログを収集するためのログ収集用パケットを発行し、発行したログ収集用パケットを、埋め込み部１３に送信する。ログ収集用パケットは、入力パケットチェック部１１を介して受信したパケットに、ログ収集用領域を付加した構成を有する。また、実施例１における発行部１２は、クロスバスイッチのチップを上位にて制御するシステムマネジメントからの発行指示に基づいて、ログ収集用パケットの発行を開始する。また、実施例１における発行部１２は、受信したパケットが予め設定されている発行条件に一致するか否かを判定し、一致すると判定した場合に、ログ収集用パケットを発行する。【００３４】
ここで、実施例１における発行部１２は、受信したパケットのフォーマットを変更し、フォーマットが変更されたパケット内に、パケットのログを収集するログ収集用領域を生成することで、ログ収集用パケットを発行する。例えば、実施例１における発行部１２は、図５に示すようなログ収集用パケットを発行する。図５の例示において、『通常システム利用領域』とある領域は、通常のパケットが有する領域である。『通常システム利用領域』は、ヘッダ（『Header』）領域およびデータ（『Data』）領域が含まれる。【００３５】
一方、『ログ収集用領域』とある領域が、発行部１２によって受信パケットに付加生成された領域である。ログ収集用領域は、複数のクロスバスイッチがそれぞれ収集したログを格納することができるよう、複数の領域に分割されている。図５の例示において、あるクロスバスイッチに対応する『ログ収集用領域』は、『経路情報』および『性能情報』の領域に分割されている。なお、図５に示すログ収集用領域は『ＸＢ  Ａ』〜『ＸＢ  Ｄ』の４つの領域に分割されている。これらの分割領域はそれぞれ、パケットが通過するクロスバスイッチを例示しており、『ＸＢ  Ａ』、『ＸＢ  Ｂ』、『ＸＢ  Ｃ』、『ＸＢ  Ｄ』の順にログが格納される領域であることを示している。なお、図１に例示したように、ログ収集用領域は、クロスバスイッチごとに定められていなくてもよい。すなわち、ログは、パケットが通過するクロスバスイッチの順に従って、分割されている領域に順に格納されてもよい。設計のし易さや順番のわかりやすさという点で有効である。また、ログ収集用領域の分割数は一例に過ぎない。【００３６】
経路情報は、パケットの転送経路に関するログ情報が格納される領域である。『経路情報』の中には、『Chip情報』、『入力Port情報』および『出力Port情報』の領域が設定される。『Chip情報』とは、パケットが通過したクロスバスイッチのチップを識別する情報である。また、『入力Port情報』とは、当該パケットが入力した入力Ｐｏｒｔ部１０を識別する情報である。また、『出力Ｐｏｒｔ情報』とは、当該パケットが出力される出力Ｐｏｒｔ部２０を識別する情報である。【００３７】
一方、性能情報は、パケット転送時のクロスバスイッチの性能や動作に関連する情報が格納される領域である。『性能情報』の中には、『アービタ時間』、『Busy率』および『レイテンシ』の領域が設定される。『アービタ時間』とは、パケットが入力Ｐｏｒｔ部１０に保持されている時に、他の入力Ｐｏｒｔ部１０から入力したパケットと宛先が競合することで、スイッチ部３０から調停を受けて転送を待たされた時間、あるいは、競合の負け回数などを示す情報である。また、『Busy率』とは、パケットの出力先にあるチップがパケット受付不可の状態であったことで、パケットが出力Ｐｏｒｔ部２０で転送を待たされた時間を固定時間で割った比率である。また、ここで述べる『レイテンシ』とは、パケットが、クロスバスイッチのチップに入力されてから出力されるまでの時間（クロック単位）である。【００３８】
なお、図５には示していないが、『通常システム利用領域』に存在する『Header』の空き領域を利用する、または『ログ収集用領域』に対し冗長ビットを持たせることにより、パケットにログが収集されている状態か否かを識別するフラグを格納する領域を設けている。このフラグは、入力Ｐｏｒｔ部１０、出力Ｐｏｒｔ部２０のすべての埋め込み部と、格納部２５による処理に利用される。【００３９】
埋め込み部１３は、ログを収集し、ログ収集用パケットへのログの埋め込みを行う。具体的には、図４に示された埋め込み部１３は、発行部１２からログ収集用パケットを受信すると、予め記憶された自身の入力Port情報とChip情報とを収集する。続いて、埋め込み部１３は、発行部１２から受信したログ収集用パケットのログ収集用領域に、収集した入力Port情報とChip情報とを埋め込み、埋め込み後のログ収集用パケットを、入力バッファ部１４に送信する。なお、埋め込み部１３は、入力Port情報とChip情報とをログ収集用パケットに埋め込む際に、ログが収集されている状態であることを識別するフラグをログ収集用パケットに格納する。【００４０】
入力バッファ部１４は、埋め込み部１３が出力したログ収集用パケットを一時的に格納する。具体的には、入力バッファ部１４は、埋め込み部１３からパケットを受信すると、当該パケットを一時的に格納し、適切なタイミングになると、格納していたパケットを、埋め込み部１５に送信する。【００４１】
埋め込み部１５は、ログを収集し、ログ収集用パケットへのログの埋め込みを行う。具体的には、埋め込み部１５は、入力バッファ部１４からログ収集用パケットを受信すると、アービタ時間情報を収集する。続いて、埋め込み部１５は、入力バッファ部１４から受信したログ収集用パケットのログ収集用領域に、収集したアービタ時間情報を埋め込み、埋め込み後のログ収集用パケットを、スイッチ部３０に送信する。【００４２】
出力Ｐｏｒｔ部２０は、スイッチ部３０から入力したパケットを受け付ける部である。入力Ｐｏｒｔ部１０と同様、出力Ｐｏｒｔ部２０は、バッファを有する。また、出力Ｐｏｒｔ部２０は、ＥＣＣ（Error  Correcting  Code）などの伝送保護用チェックコードを生成し、出力するパケットに付加する。具体的には、出力Ｐｏｒｔ部２０は、図４に示すように、出力バッファ部２１と、埋め込み部（Busy率）２２と、埋め込み部（レイテンシ）２３と、埋め込み部（出力Port情報）２４と、格納部２５と、伝送保護用チェックコード生成部２６とを備える。なお、実施例１においては、出力Ｐｏｒｔ部２０が、埋め込み部２２と埋め込み部２３と埋め込み部２４とを備える例を説明するが、本発明はこれに限られるものではない。出力Ｐｏｒｔ部２０において埋め込むべきログが他にあれば、出力Ｐｏｒｔ部２０は、他のログに該当する埋め込み部をさらに備える。【００４３】
スイッチ部３０は、入力Ｐｏｒｔ部１０から入力したパケットのヘッダ情報に基づいて、パケットの経路を切り替える部である。スイッチ部３０には、クロスバスイッチ内に設けられたポート部、つまり入力Ｐｏｒｔ部１０と出力Ｐｏｒｔ部２０とが接続されている。一般に、スイッチ部３０は、各入力Ｐｏｒｔ部１０から入力したパケットが競合した場合に、調停する機能も有する。【００４４】
出力バッファ部２１は、パケットを一時的に格納する。具体的には、出力バッファ部２１は、スイッチ部３０からパケットを受信すると、当該パケットを一時的に格納し、適切なタイミングになると、格納していたパケットを、埋め込み部２２に送信する。【００４５】
埋め込み部２２は、ログを収集し、出力バッファ部２１からのパケットにログの埋め込みを行う。具体的には、埋め込み部２２は、出力バッファ部２１からログ収集用パケットを受信すると、クロスバスイッチのBusy率情報を収集する。続いて、埋め込み部２２は、出力バッファ部２１から受信したログ収集用パケットのログ収集用領域に、収集したBusy率情報を埋め込み、埋め込み後のログ収集用パケットを、埋め込み部２３に送信する。【００４６】
埋め込み部２３は、ログを収集し、埋め込み部２２からのログ収集用パケットにログの埋め込みを行う。具体的には、埋め込み部２３は、埋め込み部２２からログ収集用パケットを受信すると、レイテンシ情報を収集する。続いて、埋め込み部２３は、埋め込み部２２からから受信したログ収集用パケットのログ収集用領域に、収集したレイテンシ情報を埋め込み、埋め込み後のログ収集用パケットを、埋め込み部２４に送信する。【００４７】
埋め込み部２４は、ログを収集し、ログ収集用パケットへのログの埋め込みを行う。具体的には、埋め込み部２４は、埋め込み部２３からログ収集用パケットを受信すると、予め記憶された自身の出力Port情報を収集する。続いて、埋め込み部２４は、埋め込み部２３から受信したログ収集用パケットのログ収集用領域に、収集した出力Port情報を埋め込み、埋め込み後のログ収集用パケットを、格納部２５に送信する。【００４８】
格納部２５は、埋め込み部２４から出力されたログを一時的に格納する。具体的には、格納部２５は、埋め込み部２４からログ収集用パケットを受信すると、当該ログ収集用パケットの転送先がシステムボードなどのクロスバスイッチ以外の要素である場合には、ログが格納されている状態を示すフラグの有無を確認する。そして、格納部２５は、当該フラグが、ログが収集されている状態であることを示すフラグである場合には、ログ収集用領域に埋め込まれたログを図示しない記憶部に格納する。また、格納部２５は、ログ収集用領域が付加される前の当初のパケットのみを、転送先に転送する。すなわち、転送先がクロスバスイッチ以外の装置であった場合、実施例１における格納部２５は、ログ収集用パケットから『ログ収集用領域』を削除し、『通常システム利用領域』のみのパケットに戻した上で、当該パケットを転送先に転送する。【００４９】
一方、ログ収集用パケットの転送先がクロスバスイッチである場合には、格納部２５は、ログ収集用パケットを、そのまま転送先のクロスバスイッチに転送する。なお、ログ収集用パケットの転送先がクロスバスイッチ以外であるのか、クロスバスイッチであるのかの判定について説明する。各クロスバスイッチのチップは、運用開始時には、クロスバスイッチの構成を予め記憶部に格納している。すなわち、チップは、隣接するクロスバスイッチはどのクロスバスイッチであるのか、何段のクロスバスイッチがコンピュータシステム内に設定されているのか、どのクロスバスイッチにはどのような構成要素が接続されているのかなどを予め記憶している。このため、クロスバスイッチのチップは、出力Ｐｏｒｔ部２０に保持されているパケットについて、当該パケットの転送先が、クロスバスイッチ以外であるのかクロスバスイッチであるのかを、予め記憶している情報に基づいて判定することができる。【００５０】
伝送保護用チェックコード生成部２６は、伝送保護用チェックコードを生成する。具体的には、伝送保護用チェックコード生成部２６は、伝送保護用チェックコードを生成し、格納部２５から受信したパケットに伝送保護用チェックコードを付加して、クロスバスイッチの外部へ出力する。【００５１】
［実施例１におけるコンピュータシステムによる処理の手順］
続いて、図６〜図９を用いて、実施例１におけるコンピュータシステムによる処理の手順を説明する。図６は、実施例１におけるコンピュータシステムのシステム運用手順を説明するためのフローチャートである。図７は、実施例１における発行部による処理の手順を説明するための図である。図８は、実施例１における埋め込み部による処理の手順を説明するための図である。図９は、実施例１における格納部による処理の手順を説明するための図である。【００５２】
［システム運用手順］
まず、図６を用いてシステム運用手順を説明する。コンピュータシステムにパケットが送出されると、クロスバスイッチ内のチップ各々は、システムマネジメントによる設定を受け付けたか否かを判定する（Ｓ１０１）。ここでいう設定とは、ログ収集用パケットの発行条件を判定する際に必要な情報の設定や、クロスバスイッチの構成などの情報である。すなわち、実施例１におけるクロスバスイッチ内のチップ各々は、後述するように、入力したパケットが発行条件に一致するか否かを判定し、一致した場合にログ収集用パケットを発行するものである。このため、システムマネジメントは、発行条件を判定する際に必要な情報として、どの発行条件を用いて判定するのかを識別する情報などを、クロスバスイッチ内のチップ各々に対して設定する。【００５３】
なお、発行条件とは、例えば、入力したパケットについては全て（毎回）フォーマットの変更を行う、といった条件や、あるいは、パケットのアドレスが予め設定された所定のアドレスに一致した場合に限り、フォーマットの変更を行う、といった条件が考えられる。このような条件付けは、解析対象とするパケットが特定のパケットに限定されている場合などに有効である。また、例えば、クロスバスイッチ内部のBusy率が一定の値を超えた場合に限り、フォーマットの変更を行う、といったステータスに基づく条件も考えられる。実施例１においては、パケットのアドレスが予め設定された所定のアドレスに一致した場合に限り、フォーマットの変更を行う、といった条件を想定する。【００５４】
チップがシステムマネジメントから設定を受け付けていない場合には（Ｓ１０１否定）、チップ各々は、システムマネジメントによる設定を受け付けるまで待機する。一方、各チップがシステムマネジメントから設定を受け付けた場合には（Ｓ１０１肯定）、チップ各々は、システムマネジメントからログ収集処理の開始指示を受け付けたか否かを判定する（Ｓ１０２）。開始指示を受け付けていない場合には（Ｓ１０２否定）、チップ各々は、開始指示を待機する。【００５５】
一方、開始指示を受け付けた場合には（Ｓ１０２肯定）、チップ各々は、パケット転送に関するログ収集処理を開始する（Ｓ１０３）。すなわち、チップ各々は、パケットの受信に応じてログ収集用パケットを発行し、あるいは当該ログ収集用パケットにログを埋め込み、埋め込んだログを記憶部に格納したり、ログ収集用パケットを他装置に転送するなどする。【００５６】
そして、チップ各々は、システムマネジメントによる終了指示を受け付けたか否かを判定する（Ｓ１０４）。システムマネジメントからの終了指示を各チップが受け付けていない場合には（Ｓ１０４否定）、チップ各々は、ログ収集処理を実行しつつ、終了指示を待機する。【００５７】
一方、システムマネジメントからの終了指示を受け付けた場合には（Ｓ１０４肯定）、システムマネジメントが、チップ各々のヒストリ内に格納されたログを収集する（Ｓ１０５）。すなわち、チップ各々は、パケットの転送先に応じて自らが最終段のチップとなった場合に、ヒストリ内にログを格納している。このため、システムマネジメントは、最終段となり得るクロスバスイッチ各々について、チップ各々のヒストリ内に格納されたログを収集することで、ログ収集の対象となった全てのパケットについて、ログを収集する。なお、特定のクロスバスイッチのみが最終段のクロスバスイッチとなり得る構成の場合には、システムマネジメントは、特定のクロスバスイッチのチップについてのみ、ヒストリ内に格納されたログを収集すればよい。その後、解析システムや解析者などによって、収集されたログが解析される（Ｓ１０６）。【００５８】
［発行部による処理の手順］
次に、図７を用いて、発行部１２による処理の手順を説明する。図７に示すように、まず、発行部１２は、パケットの入力を受け付けたか否かを判定する（Ｓ２０１）。パケットの入力を受け付けていない場合には（Ｓ２０１否定）、発行部１２は、パケットの入力を待機する。【００５９】
一方、パケットの入力を受け付けた場合には（Ｓ２０１肯定）、発行部１２は、パケットから情報を抽出する（Ｓ２０２）。具体的には、発行部１２は、後述するＳ２０４においてログ収集用パケットの発行条件を判定するための情報を、パケットから抽出する。実施例１において、発行条件は、パケットのアドレスが予め設定された所定のアドレスに一致した場合に限り、フォーマットの変更を行う、といった条件である。このため、発行部１２は、発行条件を判定するための情報として、パケットからアドレスを抽出する。【００６０】
次に、発行部１２は、受信したパケットのフォーマットが既に変更済みであるか否かを判定する（Ｓ２０３）。パケットフォーマットがすでに変更済みであれば、つまりパケットにすでにログ収集用領域が設定されている場合、発行部１２は、そのまま何もせずにパケットを発行し（Ｓ２０６）、埋め込み部１３にパケットを送信して、処理を終了する。【００６１】
一方、パケットのフォーマットが変更済みでなければ（Ｓ２０３否定）、発行部１２は、次に、入力したパケットがログ収集用パケットの発行条件に一致するか否かを判定する（Ｓ２０４）。実施例１において、発行部１２は、ステップＳ２０２にて抽出したアドレスが、予め設定された所定のアドレスに一致するか否かを判定する。そして、Ｓ２０１で入力したパケットが発行条件に一致しない場合（Ｓ２０４否定）、発行部１２は、そのまま何もせずにパケットを発行し（Ｓ２０６）、埋め込み部１３にパケットを送信して、処理を終了する。【００６２】
一方、発行条件に一致した場合（Ｓ２０４肯定）、発行部１２は、パケットのフォーマットを変更する（Ｓ２０５）。具体的には、発行部１２は、パケット内に、当該パケットのログを収集するログ収集用領域を生成する。【００６３】
そして、発行部１２は、ログ収集用パケットを発行し（Ｓ２０６）、埋め込み部１３に発行したパケットを送信して、処理を終了する。【００６４】
［埋め込み部による処理の手順］
次に、図８を用いて、埋め込み部による処理の手順を説明する。なお、実施例１において、埋め込み部としては、埋め込み部１３と、埋め込み部１５と、埋め込み部２２と、埋め込み部２３と、埋め込み部２４とがある。いずれの埋め込み部も、同様の処理を行うものであるので、以下では、埋め込み部１３の処理を想定して説明する。【００６５】
埋め込み部１３は、パケットの入力を受け付けたか否かを判定する。パケットの入力を受け付けていない場合には（Ｓ３０１否定）、埋め込み部１３は、パケットの入力を待機する。【００６６】
一方、パケットの入力を受け付けた場合には（Ｓ３０１否定）、埋め込み部１３は、パケットから情報を抽出する（Ｓ３０２）。具体的には、埋め込み部１３は、後述するＳ３０３においてログの埋め込みが可能であるか否かを判定するための情報を、パケットから抽出する。Ｓ３０２では、例えば、ログ収集用領域が生成されているか否かを確認する。【００６７】
次に、埋め込み部１３は、受信したパケットにログを埋め込み可能であるか否かを判定する（Ｓ３０３）。例えば、パケットにログ収集用領域が生成されているか否かを判定する。ログを埋め込み可能でなければ（Ｓ３０３否定）、埋め込み部１３は、そのまま何もせずにパケットを転送し（Ｓ３０６）、処理を終了する。【００６８】
一方、受信したパケットにログを埋め込み可能であれば（Ｓ３０３肯定）、埋め込み部１３は、ログの埋め込みタイミングであるか否かを判定し（Ｓ３０４）、埋め込みタイミングとなると（Ｓ３０４肯定）、パケットにログを埋め込む（Ｓ３０５）。例えば、埋め込み部１３は、入力Port情報およびChip情報を、ログ収集用領域に埋め込む。【００６９】
その後、埋め込み部１３は、パケットを転送し（Ｓ３０６）、処理を終了する。【００７０】
［格納部による処理の手順］
次に、図９を用いて、格納部２５による処理の手順を説明する。図９に示すように、まず、格納部２５は、パケットの入力を受け付けたか否かを判定する（Ｓ４０１）。パケットの入力を受け付けていない場合には（Ｓ４０１否定）、格納部２５は、パケットの入力を待機する。【００７１】
一方、パケットの入力を受け付けた場合には（Ｓ４０１肯定）、格納部２５は、パケットの出力先がクロスバスイッチであるか否かを判定する（Ｓ４０２）。パケットの出力先がクロスバスイッチであれば（Ｓ４０２肯定）、格納部２５は、パケットをそのまま出力し（Ｓ４０４）、処理を終了する。【００７２】
一方、パケットの出力先がクロスバスイッチでなければ（Ｓ４０２否定）、格納部２５は、ログ収集用領域に埋め込まれたログをヒストリに格納し、ログ収集用パケットからログ収集用領域を削除する（Ｓ４０３）。【００７３】
そして、格納部２５は、パケットを出力して（Ｓ４０４）、処理を終了する。【００７４】
［実施例１の効果］
上記してきたように、実施例１によれば、クロスバスイッチ各々に備えられたチップ各々は、パケットの入力を受け付けると、パケットのログを収集するためのログ収集用パケットを生成・発行する。また、入力したパケットの転送に関するログを収集する。また、発行されたログ収集用パケット、もしくは、前段のクロスバスイッチから転送されたログ収集用パケットに、収集したログを埋め込む。また、パケットの転送先がクロスバスイッチ以外である場合には、ログ収集用パケットに埋め込まれたログを記憶部に格納した上で、ログを削除した元のパケットのみを転送先に転送し、転送先がクロスバスイッチである場合には、ログ収集用パケットを次段のクロスバスイッチに転送する。このようなことから、多段のクロスバスイッチ間を転送されるパケットの正確な性能値の採取と解析を容易に行うことが可能になる。【００７５】
すなわち、従来の手法では、チップ単位でログが収集されるので、ログは、断片的にならざるを得なかった。このため、例えば、特定のパケットに着目したデバッグをしようとしても、当該パケットがクロスバスイッチのチップ各々の内部をどのような経路で通過したか、また、通過した際の状態について、解析することが困難であった。また、多段のクロスバスイッチを備える大規模システムにおいては、当該パケットがどのような経路で通過したか、また、通過した際の状態について解析することが、非常に困難であった。【００７６】
これに対し、実施例１の手法によれば、ログ収集用パケットは、ログ収集対象とされるパケット自身に追従し、通過したクロスバスイッチのチップ各々でリアルタイムに収集されるログを、累積して収集していく。このため、ログ収集用パケットが収集したログを解析するだけで、パケットがクロスバスイッチのチップ各々の内部をどのような経路で通過したか、また、通過した際の状態を、容易に解析することが可能になる。また、多段のクロスバスイッチを備える大規模システムにおいても、当該パケットがどのような経路で通過したか、また、通過した際の状態について、容易に解析することが可能になる。【００７７】
また、パケットの動きに着目し、経路の始まりから終わりまでのクロスバスイッチ各々のその瞬間のレイテンシ、アービタ時間、Busy率、経路などのログを収集できるので、システム全体を通した妥当性、性能評価解析も可能になる。【００７８】
さらに、ログ収集用パケットは、パケットと同じように、キューに格納され、アービタへ参加し、出力される。このため、実測値と同等のデータを採取することが可能になる。すなわち、クロスバスイッチ内部にある回路間のレイテンシ情報、調停時間情報、状態情報などの採取も可能である。また、２段以上の多段クロスバスイッチを利用したシステムの経路情報、レイテンシ情報の解析なども可能である。
【実施例２】
【００７９】
［他の実施例］
さて、これまで本発明の実施例について説明したが、本発明は上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。【００８０】
［発行タイミング］
上記の実施例１においては、クロスバスイッチのチップが、上位装置であるシステムマネジメントからログ収集処理の開始指示などの発行指示を受け付け、その後、予め設定していた発行条件に一致するか否かを判定して、一致する場合に、ログ収集用パケットの発行を行うものであった。しかしながら、本発明はこれに限られるものではない。例えば、クロスバスイッチのチップは、システムマネジメントからの発行指示がなくとも、ログ収集処理を開始していてもよい。この場合に、全パケットについてログ収集用パケットを発行してもよいし、あるいは、例えば、Busy率が所定の閾値を超えるなどの予め設定していたステータス条件を満たした場合にのみ、ログ収集用パケットを発行してもよい。すなわち、ログ収集用パケット発行の契機は、運用の形態に併せて適宜変更し得るものである。【００８１】
［埋め込み情報］
上記の実施例１においては、ログ収集用パケットに埋め込むログとして、Chip情報、入力Port情報、出力Port情報、アービタ時間情報、Busy率情報、レイテンシ情報などを想定したが、本発明はこれに限られるものではない。チップにおいて埋め込み可能な情報であって、パケットのログとして収集すべき情報であれば、その他の情報を埋め込んでもよい。すなわち、ログ収集用パケットに埋め込むログは、運用の形態に併せて適宜変更し得るものである。【００８２】
［システム構成等］
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順（図６〜図９など）、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【００８３】
また、図示したクロスバスイッチの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、クロスバスイッチの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、複数の埋め込み部を一体化するなど、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、クロスバスイッチにて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００８４】
プログラムにて実現される場合には、ＣＰＵにて、コンピュータ内の各部のいずれかから入力されることでパケットを受け付けると、当該パケットの履歴情報を収集するための履歴収集用パケットを発行する発行プロセスと、発行プロセスによって発行された履歴収集用パケット、もしくは、前段のクロスバスイッチから転送された履歴収集用パケットに、当該履歴収集用パケットが収集すべき履歴情報を埋め込む埋め込みプロセスと、埋め込みプロセスによって履歴情報を埋め込まれた履歴収集用パケットの転送先がクロスバスイッチ以外である場合には、当該履歴収集用パケットに埋め込まれた履歴情報を記憶部に格納した上で当該履歴情報の収集対象とされた元のパケットのみを転送先に転送し、転送先がクロスバスイッチである場合には、当該履歴収集用パケットを次段のクロスバスイッチに転送する転送プロセスと、が実行される。
【図１】
2009144799.tif 000003
【図２】
2009144799.tif 000004
【図３】
2009144799.tif 000005
【図４】
2009144799.tif 000006
【図５】
2009144799.tif 000007
【図６】
2009144799.tif 000008
【図７】
2009144799.tif 000009
【図８】
2009144799.tif 000010
【図９】
2009144799.tif 000011
【図１０】
2009144799.tif 000012
【国際調査報告】
2009144799.tif 000013
2009144799.tif 000014