(57)【特許請求の範囲】
【請求項１】
アイソクロナスパケットの伝送機能を有する第１から第ｎ(ｎは２以上の自然数)の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの任意の自然数）の外部バスへアイソクロナスパケットを転送する装置であって、
任意の第ｊの外部バスから任意の第ｋの外部バスへのアイソクロナスパケットの転送を行う内部バスと、
上記内部バスと、上記第１から第ｎの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第１から第ｎ(ｎは２以上の自然数)のゲートノードと、
アイソクロナスパケットの送受信を行う任意の第ｊと任意の第ｋの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、
上記第１から第ｎのゲートノードは、
自らの外部バス、及び上記内部バスからのパケットの送受信を行う第１のパケット送受信手段と、
受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、
上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、
検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、
転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第２のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、
上記第２のヘッダを付加したアイソクロナスパケットを格納する第１のメモリ手段と、
上記第１のメモリ手段に格納されたアイソクロナスパケットに付加された第２のヘッダを先読みし、第１のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第１の読み出し制御手段と、を有し、
自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送する、
ことを特徴とするパケット転送装置。
【請求項２】
請求項１に記載のパケット転送装置において、
上記第１から第ｎのゲートノードは、
内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、
受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、
受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、
上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第２のメモリ手段と、
上記第２のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、
上記第２のメモリ手段に格納されたアイソクロナスパケットを先読みし、第２のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第２の読み出し制御手段と、を有し、
内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送する、
ことを特徴とするパケット転送装置。
【請求項３】
請求項１に記載のパケット転送装置において、
上記同期手段は、
外部バスとは独立して時間を計時する第１の時計手段と、
上記第１の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするパケット転送装置。
【請求項４】
請求項３に記載のパケット転送装置において、
上記バス基準時刻計時手段は、
上記第１の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させる、
ことを特徴とするパケット転送装置。
【請求項５】
請求項１に記載のパケット転送装置において、
上記同期手段は、
上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、
任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させる、
ことを特徴とするパケット転送装置。
【請求項６】
請求項５に記載のパケット転送装置において、
上記基準時刻用バスは、
任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させる、
ことを特徴とするパケット転送装置。
【請求項７】
請求項４、または６に記載のパケット転送装置において、
上記同期手段は、
外部バスのサイクル数を表すビットの内、少なくとも下位４ビットを概一致させることを特徴とするパケット転送装置。
【請求項８】
請求項３から７のいずれかに記載のパケット転送装置において、
上記同期手段は、
アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするパケット転送装置。
【請求項９】
請求項１に記載のパケット転送装置において、
上記オフセット手段は、
上記第ｊの外部バスから上記第ｋの外部バスへパケットを転送するのに要する時間により規定される第１のオフセット値を、上記タイムスタンプに加算する、
ことを特徴とするパケット転送装置。
【請求項１０】
請求項１に記載のパケット転送装置において、
上記第ｊの外部バスの基準時刻と、上記第ｋの外部バスの基準時刻の差により規定される第２のオフセット値を検出する時刻差検出手段を有し、
上記タイムスタンプオフセット手段は、
上記第１のオフセット値と、上記第２のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算する、
ことを特徴とするパケット転送装置。
【請求項１１】
請求項９、または１０に記載のパケット転送装置において、
上記第１のオフセット値は、固定サイクル値である、
ことを特徴とするパケット転送装置。
【請求項１２】
請求項９、または１０に記載のパケット転送装置において、
上記第２のオフセット値は、固定サイクル値である、
ことを特徴とするパケット転送装置。
【請求項１３】
請求項１から１２のいずれかに記載のパケット転送装置において、
調停サイクルを出力する第２の時計手段と、
上記第１から第ｎの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、
を有し、
上記第１から第ｎの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものである、
ことを特徴とするパケット転送装置。
【請求項１４】
請求項１３に記載のパケット転送装置において、
上記第１の読み出し制御手段は、
上記調停サイクルと、上記第１のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第１のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、
上記内部バス調停手段は、
上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第１から第ｎの各外部バスによる内部バスの使用期間を切替えるものである、
ことを特徴とするパケット転送装置。
【請求項１５】
請求項１４に記載のパケット転送装置において、
上記第ｊの外部バスから上記内部バスへアイソクロナスパケットを転送する際、
上記第１のメモリ手段は、
上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするパケット転送装置。
【請求項１６】
請求項１４に記載のパケット転送装置において、
上記内部バスから上記第ｋの外部バスへアイソクロナスパケットを転送する際、
上記第２のメモリ手段は、
上記第ｋの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものである、
ことを特徴とするパケット転送装置。
【請求項１７】
請求項１５に記載のパケット転送装置において、
上記第１のメモリ手段は、
ＦＩＦＯメモリ手段により構成されるものである、
ことを特徴とするパケット転送装置。
【請求項１８】
請求項１６に記載のパケット転送装置において、
上記第２のメモリ手段は、
ＦＩＦＯメモリ手段により構成されるものである、
ことを特徴とするパケット転送装置。
【請求項１９】
請求項１８に記載のパケット転送装置において、
上記第２のメモリ手段は、
上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するＭ個（Ｍは自然数）のＦＩＦＯメモリ手段より構成されるものである、
ことを特徴とするパケット転送装置。
【請求項２０】
請求項１に記載のパケット転送装置において、
上記第１から第ｎの外部バスと、上記内部バスは同一規格のバスである、
ことを特徴とするパケット転送装置。
【請求項２１】
請求項１に記載のパケット転送装置において、
上記内部バスの最大伝送レートは、上記第１から第ｎの外部バスのアイソクロナスパケット最大伝送レートの総和の１／２以下である、
ことを特徴とするパケット転送装置。
【請求項２２】
請求項１に記載のパケット転送装置において、
上記第１から第ｎの外部バスはシリアルバスであり、上記内部バスはパラレルバスである、
ことを特徴とするパケット転送装置。
【請求項２３】
請求項１に記載のパケット転送装置において、
上記第１から第ｎの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックである、
ことを特徴とするパケット転送装置。
【請求項２４】
請求項１から２３のいずれかに記載のパケット転送装置において、
上記第１から第ｎの外部バスは、ＩＥＥＥ１３９４シリアルバスである、
ことを特徴とするパケット転送装置。
【請求項２５】
請求項１から２４のいずれかに記載のパケット転送装置において、
上記第１から第ｎの外部バスは、ＵＳＢ(Universal Serial Bus)である、
ことを特徴とするパケット転送装置。
【請求項２６】
アイソクロナスパケットの伝送機能を有する第１から第ｎ（ｎは２以上の自然数）の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの自然数）の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、
上記パケット転送処理プログラムは、請求項１から２５のいずれかに記載のパケット転送装置によるパケット転送処理プログラムをコンピュータに行わせるものである、
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４シリアルバス等に代表される、アイソクロナスパケット伝送機能を有し、バスを複数接続するパケット転送装置に関するものである。
【０００２】
【従来の技術】
近年、ＩＥＥＥ１３９４シリアルバス等のＩＳＯ／ＩＥＣ１３２１３準拠シリアルバスを用いて、ディジタルＶＣＲ、またはパーソナルコンピュータ等のＡＶＣ機器を複数接続してネットワークを形成し、機器間のデータ伝送が行われている。
ＩＥＥＥ１３９４シリアルバスでは、１２５μsecをデータ伝送の１サイクルとしている。また、ＩＥＥＥ１３９４シリアルバスでは、送信要求に応じて直ちにデータ伝送が行われるアイソクロナス通信（同期通信）と、場合によってはデータの送信が送信要求の発生から遅れて行われるアシンクロナス（非同期通信）が定義されている。上記アイソクロナス通信は、ＡＶ(Audio Video)データのようなリアルタイム性が要求されるデータの伝送に用いられる通信方法である。このアイソクロナス通信では、データの伝送の開始に先立って、まず、データを伝送するのに必要な帯域を取得し、あらかじめ取得した帯域を使って１サイクル（１２５μｓ）に一度、少なくとも１パケットのデータの伝送を行う。これによりデータ伝送のリアルタイム性が保証される。
【０００３】
一方、上記アシンクロナス通信は、コマンド等のコンピュータデータや静止画データの伝送のように、リアルタイム性が要求されないデータの伝送に用いられる通信方法である。
現在、アイソクロナス通信を用いたＡＶデータの伝送としては、ディジタルＶＣＲ(Video Cassette Recorder)用データの伝送方法、ＭＰＥＧ２トランスポートストリームのデータの伝送方法等が定義されている。
【０００４】
以下、簡単に従来のＩＥＥＥ１３９４ネットワークでの通信方法について説明する。
図１９(ａ）は、２つの端末装置が上記ＩＥＥＥ１３９４シリアルバスを介して接続されたネットワークを、また図１９（ｂ）は３つの端末装置が上記ＩＥＥＥ１３９４シリアルバスを介して接続されたネットワークを、それぞれ模式的に示している。
図１９(ａ）のＩＥＥＥ１３９４ネットワークは、アイソクロナスパケットを送信する第１のディジタルＶＣＲ２０１と、アイソクロナスパケットを受信する第２のディジタルＶＣＲ２０２と、上記ＶＣＲ２０１とＶＣＲ２０２を接続するＩＥＥＥ１３９４シリアルバス２０３により構成されている。
【０００５】
また、図１９(ｂ）のＩＥＥＥ１３９４ネットワークは、アイソクロナスパケットを送信する第１のディジタルＶＣＲ２０１と、アイソクロナスパケットを受信する第２のディジタルＶＣＲ２０２と、第３のディジタルＶＣＲ２０５と、上記ＶＣＲ２０１とＶＣＲ２０２を接続するＩＥＥＥ１３９４シリアルバス２０３、及び上記ＶＣＲ２０２とＶＣＲ２０５を接続するＩＥＥＥ１３９４シリアルバス２０４により構成されている。尚、上記第１のディジタルＶＣＲ２０１は、上記ネットワーク上に１２５μｓ毎にサイクルスタートパケットを出力するメイン端末装置となっている。また、このメイン端末装置２０１は、各端末がデータ伝送に使用する周波数帯域の割り当てをも行う構成となっている。
【０００６】
上記ＩＥＥＥ１３９４ネットワークでは、１サイクル期間に対して、アイソクロナス通信に利用される時間と、アシンクロナス通信に利用される時間とが割り当てられており、１サイクル期間の８０パーセントがアイソクロナス通信に、残りの２０パーセントがアシンクロナス通信に利用されるようになっている。そして、各端末装置は、リアルタイム性の要求されるデータについてはアイソクロナス通信によりデータ伝送を行い、リアルタイム性の要求されないデータについてはアシンクロナス通信によりデータ伝送を行う。
【０００７】
次に動作について説明する。
バスリセット後、まずパケットを転送できる状態にするため、ツリー識別によりノード間の親子関係を決定し、複数のノードからのバスを使用する要求の調停を行うルートノードを決定する。このツリー識別により、ＶＣＲ２０１のノードがルートノードに、またＶＣＲ２０２のノードが子ノードとなる。
次に、自ノードと他ノードを識別するための自己識別により、各ノードに識別番号が割り振られ、ＶＣＲ２０１のノードの識別番号がphyshical_ID＝０となり、またＶＣＲ２０２のノードの識別番号がphyshical_ID＝１となる。
【０００８】
次に、ＶＣＲ２０１のノードは、ルートノード２０１へデータの伝送に使用する帯域の許可（バス使用権）を求める。ルートノード２０１は、各ノードからの帯域使用の要求（バス使用権）を調停し、順にバス使用権を各ノードに与える。そしてＶＣＲ２０１のノードは、バス使用権が許可されると、アイソクロナスパケットの転送に必要な帯域幅、及びチャンネル番号を取得した後に、上記帯域を利用して、１サイクル期間中に少なくとも一回、アイソクロナスパケットをＶＣＲ２０２へ伝送する。
【０００９】
また、図１８は、アイソクロナスパケットの送信を説明するための概念図である。
図において、２０６はサイクルスタートパケットであり、２０７はバス調停期間で複数ノードからのリクエストを調停する期間であり、２０８はバス使用権を獲得したノードが、パケット伝送準備が出来るまでバスをホールドするデータプレフィックス期間であり、２１０はデータエンドでパケット伝送が終了したことを示す期間である。
【００１０】
ルートノード２０１は、各サイクル毎にその先頭位置を示すサイクルスタートパケット２０６を出力している。そして、ＶＣＲ２０１のノードは、バス調停期間２０７を経てバス使用権が得られると、パケット伝送準備が完了するまでバスはホールドされ（データプレフィックス期間２０８）、パケット伝送準備が完了すると、各サイクル毎にアイソクロナスパケット２０９が出力される。
【００１１】
また、アイソクロナス伝送では、図１８(b)に示される様に複数チャンネルの伝送も可能であるが、この場合はそれぞれのチャンネル単位で帯域が確保される。
また、ＩＥＥＥ１３９４におけるこのようなアイソクロナス伝送は、IEEE Std 1394-1995の規格書"IEEE Standard for a High Performance Serial BUS"に、詳しく記されている。
【００１２】
【発明が解決しようとする課題】
しかしながらＩＥＥＥ１３９４シリアルバスでは、１本のバス（ツリー）あたり最大６３ノードの接続しか許されておらず、６４台目以降のノードは接続できない。また複数のバスを、バスブリッジを介して接続すると、約６４０００ノードを接続することができるが、バスブリッジには、異なるバス間でアイソクロナスパケットの相互転送を行う機能を有しておらず、業務用ダビング装置などのように１台のデッキから一度に数百台のデッキにダビング等を行うことができない。
【００１３】
またＩＥＥＥ１３９４では、図１９（ｂ）に示すように、第１のディジタルＶＣＲ２０１から第２のディジタルＶＣＲ２０２へアイソクロナスパケットの伝送中に、第３のディジタルＶＣＲ２０５を、バス２０４により第２のディジタルＶＣＲ２０２へ新たに追加接続すると、バス全体がリセットする動作を起こしてしまう。そして、このような新たな機器の追加，または機器の切断等によりバスリセットが生じると、先に確立されていた第１のディジタルＶＣＲ２０１から第２のディジタルＶＣＲ２０２へのアイソクロナス伝送は、一旦中断されてしまう。
【００１４】
本発明は上記問題点に鑑み、ＩＥＥＥ１３９４シリアルバス等において、複数のシリアルバスを相互に接続し、６３台以上の機器間でアイソクロナスパケット転送が可能であり、アイソクロナスパケットの転送を中断せずに機器の追加，切断等を行うことが可能なパケット転送装置、並びに該パケット転送装置によるパケット転送処理をコンピュータに行わせるためのプログラムを格納したデータ記録媒体を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記問題点を解決するために、請求項１に記載の発明に係るパケット転送装置は、アイソクロナスパケットの伝送機能を有する第１から第ｎ(ｎは２以上の自然数)の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの任意の自然数）の外部バスへアイソクロナスパケットを転送する装置であって、任意の第ｊの外部バスから任意の第ｋの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第１から第ｎの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第１から第ｎ(ｎは２以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第ｊと任意の第ｋの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、上記第１から第ｎのゲートノードは、自らの外部バス、及び上記内部バスからのパケットの送受信を行う第１のパケット送受信手段と、受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第２のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、上記第２のヘッダを付加したアイソクロナスパケットを格納する第１のメモリ手段と、上記第１のメモリ手段に格納されたアイソクロナスパケットに付加された第２のヘッダを先読みし、第１のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第１の読み出し制御手段と、を有し、自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送することを特徴とするものである。
【００１７】
また、請求項２に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記第１から第ｎのゲートノードは、内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第２のメモリ手段と、上記第２のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、上記第２のメモリ手段に格納されたアイソクロナスパケットを先読みし、第２のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第２の読み出し制御手段と、を有し、内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送することを特徴とするものである。
【００１８】
また、請求項３に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第１の時計手段と、上記第１の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものである。
【００１９】
また、請求項４に記載の発明に係るパケット転送装置は、請求項３に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第１の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものである。
【００２０】
また、請求項５に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものである。
【００２１】
また、請求項６に記載の発明に係るパケット転送装置は、請求項５に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものである。
【００２２】
また、請求項７に記載の発明に係るパケット転送装置は、請求項４、または６に記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位４ビットを概一致させることを特徴とするものである。
【００２３】
また、請求項８に記載の発明に係るパケット転送装置は、請求項３から７のいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものである。
【００２４】
また、請求項９に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記オフセット手段は、上記第ｊの外部バスから上記第ｋの外部バスへパケットを転送するのに要する時間により規定される第１のオフセット値を、上記タイムスタンプに加算することを特徴とするものである。
【００２５】
また、請求項１０に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記第ｊの外部バスの基準時刻と、上記第ｋの外部バスの基準時刻の差により規定される第２のオフセット値を検出する時刻差検出手段を有し、上記タイムスタンプオフセット手段は、上記第１のオフセット値と、上記第２のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算することを特徴とするものである。
【００２６】
また、請求項１１に記載の発明に係るパケット転送装置は、請求項９、または１０に記載のパケット転送装置において、上記第１のオフセット値は、固定サイクル値であることを特徴とするものである。
【００２７】
また、請求項１２に記載の発明に係るパケット転送装置は、請求項９、または１０に記載のパケット転送装置において、上記第２のオフセット値は、固定サイクル値であることを特徴とするものである。
【００２８】
また、請求項１３に記載の発明に係るパケット転送装置は、請求項１から１２のいずれかに記載のパケット転送装置において、調停サイクルを出力する第２の時計手段と、上記第１から第ｎの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第１から第ｎの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものである。
【００２９】
また、請求項１４に記載の発明に係るパケット転送装置は、請求項１３に記載のパケット転送装置において、上記第１の読み出し制御手段は、上記調停サイクルと、上記第１のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第１のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第１から第ｎの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものである。
【００３０】
また、請求項１５に記載の発明に係るパケット転送装置は、請求項１４に記載のパケット転送装置において、上記第ｊの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第１のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
【００３１】
また、請求項１６に記載の発明に係るパケット転送装置は、請求項１４に記載のパケット転送装置において、上記内部バスから上記第ｋの外部バスへアイソクロナスパケットを転送する際、上記第２のメモリ手段は、上記第ｋの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
【００３２】
また、請求項１７に記載の発明に係るパケット転送装置は、請求項１５に記載のパケット転送装置において、上記第１のメモリ手段は、ＦＩＦＯメモリ手段により構成されるものであることを特徴とするものである。
【００３３】
また、請求項１８に記載の発明に係るパケット転送装置は、請求項１６に記載のパケット転送装置において、上記第２のメモリ手段は、ＦＩＦＯメモリ手段により構成されるものであることを特徴とするものである。
【００３４】
また、請求項１９に記載の発明に係るパケット転送装置は、請求項１８に記載のパケット転送装置において、上記第２のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するＭ個（Ｍは自然数）のＦＩＦＯメモリ手段より構成されるものであることを特徴とするものである。
【００３５】
また、請求項２０に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものである。
【００３６】
また、請求項２１に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第１から第ｎの外部バスのアイソクロナスパケット最大伝送レートの総和の１／２以下であることを特徴とするものである。
【００３７】
また、請求項２２に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものである。
【００３８】
また、請求項２３に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものである。
【００３９】
また、請求項２４に記載の発明に係るパケット転送装置は、請求項１から２３のいずれかに記載のパケット転送装置において、上記第１から第ｎの外部バスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とするものである。
【００４０】
また、請求項２５に記載の発明に係るパケット転送装置は、請求項１から２４のいずれかに記載のパケット転送装置において、上記第１から第ｎの外部バスは、ＵＳＢ(Universal Serial Bus)であることを特徴とするものである。
【００４１】
また、請求項２６に記載の発明に係る記録媒体は、アイソクロナスパケットの伝送機能を有する第１から第ｎ（ｎは２以上の自然数）の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの自然数）の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項１から２５のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものである。
【００４２】
【発明の実施の形態】
（実施の形態１）
図９は、本実施の形態１によるパケット転送装置１００の構成を示す図である。
該パケット転送装置１００は、アイソクロナスパケット伝送機能を有する外部バス１ａ〜１ｄと、任意の第ｊの外部バスから任意の第ｋの外部バスへアイソクロナスパケットの転送を行うためのアイソクロナスパケット転送機能を有する内部バス２１と、外部バス１と内部バス２１を接続し、自の外部バスまたは内部バスとの間でアイソクロナスパケットの送受信を行うゲートノード２４ａ〜２４ｄと、外部バスとは独立して絶対時刻を出力する第１の時計手段２２と、調停サイクルを出力する第２の時計手段１０７と、各ゲートからのバスを使用する要求を平等に調停する内部バス調停手段２３とを有しており、各ゲートノード２４ａ〜２４ｄに上記各外部バス１ａ〜１ｄが接続されて構成されている。
【００４３】
なお、上記外部バス１は、ＩＥＥＥ１３９４シリアルバスであり、上記内部バス２１は、ディジタルデータ伝送経路を２車線以上有するパラレルバスである。また、上記第１の時計手段２２は、ロード機能を持たないフリーランカウンタである。また、本パケット転送装置１００の内部バスの最大転送レートは、外部バスの最大転送レートの総和の１／２のレートとする。
【００４４】
また図１５は、上記パケット転送装置１００に、複数の機器（ノード）が接続されている様子を示す図である。
パケット転送装置１００において、ゲートノード２４ａの外部バスには、第１のディジタルＶＣＲ(Video Cassette Recorder)１０２と、第２のディジタルＶＣＲ１０３と、パーソナルコンピュータ１０４と、第１のディジタルＴＶ１０５が接続されている。またゲートノード２４ｂの外部バス１ｂには、第３のディジタルＶＣＲ９９と、第１のＳＴＢ(Set Top Box) １０１が接続されている。また、ゲートノード２４ｃの外部バス１ｃには、プリンタ９８と、第２のＳＴＢ９７が接続されている。なお、ゲートノード２４ｄには何も接続されていない。
【００４５】
また、本実施の形態１のパケット転送装置１００では、アイソクロナスパケットの送信もしくは受信を行う場合、パケット転送装置１００の端末であるゲートノード２４がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものとする。つまり、アイソクロナスパケット転送を、外部バス１ａ〜１ｃで行うものとすると、ゲートノード２４ａ〜２４ｃが、対応する各外部バス１ａ〜１ｃに対してサイクルマスタノードとなり、１２５μｓ毎にサイクルスタートパケットを出力する。
【００４６】
また、パケット転送装置１００は、パケットの送受信を行う全ての外部バスへ基準時刻を出力することにより、各外部バス１ａ〜１ｄの基準時刻を統一させている。
このように本パケット転送装置１００は、パケット送受信する外部バス全体で基準時刻を一致させた上で、パケットの送受信を行う構成となっている。
【００４７】
また図１は、ゲートノード２４を構成するブロック図である。
ゲートノード２４は、外部バス１と本装置１００を接続する接続ポート２と、外部バス１上でパケットを送受信する第１のパケット送受信手段３と、上記第１の時計手段２２からの絶対時刻を入力する入力端子１６と、上記絶対時刻を取得するバス基準時刻計時手段４と、第１のタイムスタンプが存在するか否かを判定する第１のタイムスタンプ判定手段５と、上記第１のタイムスタンプの位置を検出する第１のタイムスタンプ位置検出手段６と、上記第１のタイムスタンプ位置検出手段６からの位置情報に基づき、上記第１のタイムスタンプにオフセットを加える第１のタイムスタンプオフセット手段７と、転送先または転送元情報、及び内部バス２１での送受信に用いる情報を含む第２のヘッダをアイソクロナスパケット先頭に付加する内部バスヘッダ付加手段８と、上記第２のヘッダを付加したアイソクロナスパケットを格納する第１のメモリ手段９と、上記第１のメモリ手段９に格納されたアイソクロナスパケットを先読みし、第１のメモリ手段から上記内部バス２１へのアイソクロナスパケットの転送を制御する第１の読み出し制御手段１０とを有し、自の外部バスから受信したアイソクロナスパケットを、内部バス２１へ送信するよう構成されている。
【００４８】
また、上記ゲートノード２４は、特定のパケットを選択し受信するパケット選択手段１１と、自の外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段１０８と、上記レジスタ１０８からの出力に基づき、受信したパケットのチャンネルナンバを書き換えるヘッダ書換手段１２と、上記ヘッダ書換手段１２によりパケットヘッダの書き換えられたアイソクロナスパケットを一時的に格納する第２のメモリ手段１３と、上記第２のヘッダに含まれるサイクル数と、タイムスタンプに加えられたオフセットサイクル数とを加算し、この加算したサイクル数と、外部バスの基準時刻とを比較するサイクル数比較手段１４と、上記第２のメモリ手段１３に格納されたアイソクロナスパケットを先読みし、第２のメモリ手段１３から自の外部バスへのアイソクロナスパケットの転送を制御する第２の読み出し制御手段１５とを有し、アイソクロナスパケットを内部バス２１より受信して、自の外部バスへ転送するように構成されている。
また、ゲート制御手段１０９は、ゲートノードがサイクルマスタになった場合、又は、なれなかった場合、の各場合に合わせて、ゲートノード２４の動作全体の制御を行うものである。
【００４９】
ここで上記第１のタイムスタンプオフセット手段７は、第ｊの任意の外部バスから第ｋの任意の外部バスへパケットを転送するのに要する時間分を、転送遅延サイクルとして、検出された第１のタイムスタンプに第１のオフセット値を加えるように構成されている。尚、本パケット転送装置１００では、タイムスタンプに加えられた、転送遅延分の第１のオフセット値を固定サイクル値とし、この固定サイクル値を３サイクルとして第１のタイムスタンプにオフセットを与えるものとする。
【００５０】
また上記サイクル数比較手段１４では、アイソクロナスパケットの第２ヘッダに含まれるサイクル数に、上記第１のタイムスタンプに加えられたオフセット値（３サイクル）を加算し、加算されたサイクル数と、外部バスの基準時刻，即ちバス基準時刻計時手段４の示す時刻とを比較して、一致したら第２の読み出し制御手段１５へサイクル数一致信号を出力するように構成されている。
【００５１】
また図５は、上記内部バスヘッダ付加手段８にて付加される第２のヘッダを示す図である。
上記第２のヘッダには、図５（ａ）に示すように、パケットの先頭に１クワッドレットを付加して、上位１６ビットは、内部バスへ送信元ゲートを表し、下位１６ビットは、外部バスからパケットを受信した際のサイクル数を表す方法や、図５（ｂ）に示すように、パケットの先頭に付加した１クワドレットの上位１６ビットは、内部バスの送信先のゲートノードを表し、下位１６ビットは、外部バスからパケットを受信した際のサイクル数を表す方法がある。
【００５２】
また図２は、バス基準時刻計時手段４の構成を示すブロック図である。
上記バス基準時刻計時手段４は、上記第１の時計手段の出力する時刻，またはサイクルスタートパケットに記されたバス基準時刻を入力する入力端子２５，２６と、上記入力端子２５及び２６からの出力を切替える切り替え手段２７と、０から３０７１をカウントする１２ｂｉｔカウンタ手段２８と、０から７９９９をカウントする１３ｂｉｔカウンタ手段２９と、０から１２７をカウントする７ｂｉｔカウンタ３０と、出力端子３１とを有している。
【００５３】
上記カウンタ２８は、３０７１から０に回帰するとき、キャリー信号をカウンタ２９のイネーブル端子に供給する。またカウンタ２９は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップし、７９９９から０に回帰するとき、キャリー信号をカウンタ３０のイネーブル端子に供給する。またカウンタ３０は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップする。
【００５４】
これら３つのカウンタには、全て２４．５７６ＭＨｚが供給されているので、カウンタ２８は、１／２４．５７６ＭＨｚ単位でカウントアップし、カウンタ２９は、１／２４．５７６ＭＨｚ×３０７２＝１２５μｓｅｃ単位でカウントアップし、カウンタ３０は、１２５μｓｅｃ×８０００＝１ｓｅｃ単位でカウントアップするよう構成されている。また、カウンタ２９の数値はサイクル数と呼ばれており、アイソクロナスパケット伝送の基準周期である。
【００５５】
ここで、バス基準時刻計時手段４は、自ノードがサイクルマスタの場合、切替え手段２７は、入力端子２５を選択して、第１の時計手段からの基準時刻をロードし、自ノードがサイクルマスタになれなかった場合、入力端子２６を選択して、他ノードがブロードキャストしたサイクルスタートパケットに記される基準時刻をロードするように構成される。また、上記カウンタ２８〜３０は、ＩＥＥＥ１３９４−１９９５で規定されているサイクルタイムレジスタと同一のものである。
【００５６】
また図６は、上記第１のメモリ手段９の構成を示す図である。上記第１のメモリ手段９は、アイソクロナスパケットを入力する入力ポート５２と、入力されたアイソクロナスパケットを読み込み格納するＦＩＦＯメモリ５３と、アイソクロナスパケットを出力する出力端子５４と、第１の読み出し制御手段１０からの読み出し制御信号を入力する読み出し制御端子５５とを有し、ＦＩＦＯメモリ５３に格納されたアイソクロナスパケットは、読み出し制御端子５５より入力される読み出し制御信号に基づいて、出力端子５４より内部バス２１へ出力されるように構成されている。
【００５７】
また図３は、アイソクロナスパケット、及びＤＶパケットヘッダ部の構成を示す図である。
図３(a)は、上記アイソクロナスパケットの構造を示しており、アイソクロナスパケットは、パケット先頭に付加され、ネットワークの伝送路に関する情報、例えばパケットの長さや、伝送チャンネル等の情報が記されているアイソクロナスパケットヘッダ３２と、ヘッダ３２が正しく伝送されたかを受信側でチェックするのに用いられるヘッダＣＲＣ３３と、端末からのデータを伝送するためのデータペイロード３７により構成されている。また上記データペイロード３７は、ＣＩＰヘッダ３４と、データフィールド３５、及びデータＣＲＣ３６により構成されており、上記データＣＲＣ３６は、データペイロード３７が正しく伝送されたかを受信側でチェックするのに用いられる。
【００５８】
まず、上記アイソクロナスパケットヘッダ３２の構成の説明をする。
上記アイソクロナスパケットヘッダ３２では、先頭から１６ビット目までの上位１６ビットがパケットの長さを示すｄａｔａ＿ｌｅｎｇｔｈで、パケットの長さはバイトで記されている。上記ｄａｔａ＿ｌｅｎｇｔｈの次の１７ビット目から１８ビット目までの２ビットは、ＣＩＰヘッダが存在するかどうかを示すｔａｇであり、０１ｂの場合、データペイロードの先頭部分にＣＩＰヘッダが存在することを示している。上記ｔａｇの次の１９ビット目から２４ビット目までの６ビットは、パケットの伝送チャンネルを示すｃｈａｎｎｅｌである。また、上記ｃｈａｎｎｅｌの次の２５ビット目から２８ビット目までの４ビットは、パケットの種類を表すｔｃｏｄｅであり、アイソクロナスパケットの場合、１０１０ｂとなる。また、上記ｔｃｏｄｅの次の２９ビット目から３２ビット目までの４ビットは、アプリケーションが用いることが出来るビットｓｙである。
【００５９】
次に、上記ＣＩＰヘッダの構成３４の説明をする。
上記ｔａｇが０１ｂであるとき、データペイロードの先頭部分にはＣＩＰヘッダが存在する。上記ＣＩＰヘッダは、１クワドレット(=３２ビット)単位で記述され、先頭の２ビットは、どこまでがＣＩＰヘッダであるかを表している。例えば、ディジタルＶＣＲ(以下ＤＶと記す)の場合、ＣＩＰヘッダの第１クワドレットの先頭が００ｂで、第２クワドレットの先頭が０１ｂであるが、これは、ＣＩＰヘッダが２クワドレットであることを示している。以下、パケットはＤＶの送出したパケットであるとし、第１のクワドレット目より説明する。
【００６０】
上記ＣＩＰヘッダの第１クワドレットの先頭より３ビット目から８ビット目までの６ビットは、パケットの送出元を示すソースノードアイディ(ＳＩＤ)である。上記ＳＩＤの次の９ビット目から１６ビット目までの８ビットは、データフィルドにデータＣＲＣを加えたときの長さをクワドレット単位で示すＤＢＳであり、ディジタルＶＣＲの場合、１１１１００００ｂ＝１２０ｄとなる。
【００６１】
また、上記ＤＢＳの次の１７ビット目から１８ビット目までの２ビットは、ソースパケットが分割されているデータブロックの数を示すフラクションナンバー(ＦＮ)であり、ＤＶの場合は００ｂとなり分割されていないことを示す。
また、上記ＦＮの次の１９ビット目から２１ビット目までの３ビットは、データブロックサイズを合わせるために追加されたダミーのクワドレット数を示すクワドレットパディングカウント(ＱＰＣ)である。これは、ＦＮ＝００ｂである場合は使われない。
【００６２】
また、上記ＱＰＣの次の２２ビット目の１ビットは、ソースパケットヘッダが存在するか否かを表すＳＰＨである。ＳＰＨが１ｂの場合は、ソースパケットヘッダが存在していることを示し、ソースパケットヘッダにはサイクルタイムレジスタの下位２５ビットがタイムスタンプとして記録され、ＭＰＥＧ伝送の時などに用いられる。また、ＤＶの場合は、ＳＰＨ＝０ｂで、ソースパケットヘッダが存在しないことを示し、後述するＳＹＴにタイムスタンプは記録されている。
また、上記ＳＰＨの次の２３ビット目から２４ビット目までの２ビットは、将来の拡張のために予約されているビットのリザーブ(ｒｓｖ)である。上記ｒｓｖの次の２５ビット目から３２ビット目までの８ビットは、コンティニュイティカウンタオブデータブロック(ＤＢＣ)である。
【００６３】
次に、ＣＩＰヘッダの第２のクワッドレット目の説明をする。
ＣＩＰヘッダの第２クワドレットの先頭より３ビット目から６ビット目までの６ビットは、フォーマットアイディ(ＦＭＴ)である。ＦＭＴ＝００００００ｂはＤＶを表し、ＦＭＴ＝１０００００はＭＰＥＧを表している。フォーマットが増えれば順次追加されていくが、現在はＤＶとＭＰＥＧが定義されている。
【００６４】
また、上記ＦＭＴの次の９ビット目から１６ビット目までの８ビットは、フォーマットディペンデントフィールド(ＦＤＦ)でありＦＭＴに依存している。ＤＶの場合は、８ビットのうち最初の１ビット目が５０／６０で画像データのフィールド周波数が５０Ｈｚであるか６０Ｈｚであるかを示しており、５０Ｈｚ＝１ｂ,６０Ｈｚ＝０ｂである。そして、次の２ビット目から６ビット目までの５ビットは、ＳＴＹＰＥで０００００ｂが走査線５２５本，若しくは６２５本の画像であることを示し、０００１０ｂが走査線１１２５本若しくは１２５０本の画像であることを示している。例えば、５０／６０との組み合わせで、００００００ｂが５２５−６０Ｈｚ，１０００００ｂが６２５−５０Ｈｚ,００００１０ｂが１１２５−６０Ｈｚ，１０００１０ｂが１２５０−５０Ｈｚを表している。そして、ＦＤＦの８ビットのうち残りの２ビットは、将来のために予約されたリザーブビット(Ｒｓｖ)である。
【００６５】
また、上記ＦＤＦの次の１７ビット目から３２ビット目までの，第２クワドレットの最後の１６ビットはＳＹＴフィールドであり、ＤＶの場合は、サイクルタイムレジスタの下位１６ビットのうち、上位４ビットがサイクル数を表し、タイムスタンプとして記録されている。
【００６６】
また図３（ｂ）は、第１のタイムスタンプオフセット手段７に入力されるＤＶパケットヘッダ部（アイソクロナスパケットヘッダ，ＣＩＰヘッダ）の一例を示している。
また図３（ｃ）は、第１のタイムスタンプオフセット手段７から出力されるＤＶパケットのヘッダ部の一例を示している。この例では、ＳＹＴの上位４ビットが０００１ｂから０１００ｂとなっており、３サイクルのオフセットを加算したことを示している。
【００６７】
次に動作について説明する。
本実施の形態１では、アイソクロナスパケットの送受信が外部バス１ａ〜１ｃ間で行われるものとし、特に、第３のディジタルＶＣＲ９９から送出されたＤＶのアイソクロナスパケットが、第１のディジタルＶＣＲ１０２へ転送される様子を中心に説明する。
【００６８】
まず、アイソクロナスパケットの送受信を行う外部バス間の基準時刻が統一される。
具体的には、パケット転送装置のゲートノード２４ａ〜２４ｃが、バスリセット後に各外部バス１ａ〜１ｃに対し、ルートノードに決定すると、バス基準時刻計時手段４では、第１の時計手段２２の出力する絶対時刻が、入力端子１６より入力される。
このとき、バス基準時刻計時手段４では、第１の時計手段２２の出力する絶対時刻が、切替え手段２７で選択された入力端子２５より入力されて、カウンタ２８，２９，３０へロードされる。これにより、各ゲートノード２４ａ〜２４ｃの第１の時計手段２２とバス基準時刻計時手段４は同じ時刻を刻み、各ゲートノード２４ａ〜２４ｃのバス基準時刻計時手段４の示す時刻がサイクルスタートパケットに含まれ、各外部バス１ａ〜１ｃへ、１２５μｓ毎にサイクルスタートパケットが出力される。
このように、アイソクロナスパケットの送受信を行う各外部バス１ａ〜１ｃの基準時刻は統一される。
【００６９】
パケットの送受信を行う外部バス１ａ〜１ｃ間の基準時刻が統一されると、図３（ａ）に示すＤＶアイソクロナスパケットが、第３のディジタルＶＣＲ９９から送信され、外部バス１ｂを通過して、接続ポート２よりゲートノード２４ｂの第１のパケット送受信手段３に受信される。
【００７０】
第１のパケット送受信手段３では、アイソクロナスパケットが受信されると、受信された時のサイクルスタートパケットがバス基準時刻計時手段４へ出力されるとともに、アイソクロナスパケットは、第１のタイムスタンプ判定手段５へ出力される。
【００７１】
上記バス基準時刻計時手段４では、上記第１のパケット送受信手段３よりサイクルスタートパケットが入力されると、上記アイソクロナスパケットを受信した瞬間のバス基準時刻計時手段４の示すサイクル数が、サイクル数保持手段１０６へ出力される。サイクル数保持手段１０６では、入力されたサイクル数が保持される。
【００７２】
また上記第１のタイムスタンプ判定手段５では、入力されたアイソクロナスパケットに、タイムスタンプが含まれているか否かチェックされる。このとき、ＤＶであれば、ｔａｇ＝０１ｂのとき、ＣＩＰヘッダが存在し、且つ、タイムスタンプが含まれていることがわかる。この第１のタイムスタンプ判定手段５における判定結果と受信パケットは、第１のタイムスタンプ位置検出手段６へ出力される。
【００７３】
第１のタイムスタンプ位置検出手段６では、第１のタイムスタンプの位置が検出される。このとき、ＳＰＨ＝０ｂ，ＦＭＴ＝００００００ｂ，ＦＤＦ＝００００００００ｂであること等がチェックされると、ＳＹＴにタイムスタンプ（第１のタイムスタンプ）が存在することがわかる。ＭＰＥＧ等では、ＳＰＨ＝１ｂであった場合、第１のタイムスタンプはＳＰＨ内に存在するため、ＣＩＰヘッダのパラメータを用いてＳＰＨの位置が検出される（ＡＶ伝送規格参照）。このように第１のタイムスタンプ位置検出手段６では、第１のタイムスタンプの位置が検出され、この第１のタイムスタンプの位置を示す位置情報は、パケットと共に第１のタイムスタンプオフセット手段７へ出力される。
【００７４】
上記第１のタイムスタンプオフセット手段７では、入力された位置情報に基づき、入力されたパケットの第１のタイムスタンプに、転送に要する時間（転送遅延サイクル）だけオフセットが加えられる。具体的には、図３（ｃ）を参照して、ＳＹＴの上位４ビットであるサイクル数０００１ｂに、転送遅延サイクルの３サイクルが加算され、０１００ｂとされる。このように第１のタイムスタンプにオフセットが加えられたパケットは、内部バスヘッダ付加手段８に入力される。
【００７５】
内部バスヘッダ付加手段８では、入力されたパケットの先頭に、内部バス２１でのパケットの送受信の際に必要な、図５(a)に示す第２のヘッダが付加される。このとき、１クワドレットからなる第２ヘッダの上位１６ビットは、内部バスへの送信元ゲートを示しており、下位１６ビットは、サイクル数保持手段１０６の保持するサイクル数、つまり外部バス１からパケットを受信した際のサイクル数を示している。この第２のヘッダが付加されたパケットは、第１のメモリ手段９へ出力される。
【００７６】
上記第１のメモリ手段９では、入力されたパケットが読み込まれ、一時的に格納される。つまり、上記第１のメモリ手段９では、パケットは、入力ポート５２より入力し、ＦＩＦＯメモリ５３へ読み込まれ、読み出し制御端子５５より読み出し制御信号が入力されるまで格納される。
【００７７】
ここで、第２の時計手段１０７では、内部バス調停手段２３へ調停サイクル(Arbitration Cycle)が出力されている。そして内部バス調停手段２３では、この調停サイクルが各ゲートノード２４ａ〜２４ｄの第１の読み出し手段１０へ、入力端子１７を通して出力されている。
【００７８】
このとき、上記第１の読み出し制御手段１０では、上記第１のメモリ手段９に格納されているアイソクロナスパケットの，パケット先頭に付加された第２ヘッダを先読みし、上記第２ヘッダに含まれる第２のタイムスタンプと、上記第２の時計手段１０７が示す調停サイクルとの比較を行い、両者が一致すると、バスを使用する要求(Request)を、内部バス調停手段２３へ出力する。
内部バス調停手段２３は、各ゲートからのRequestを平等に調停し、順にバス使用権（Grant）を与える。
【００７９】
第１の読み出し制御手段１０では、バス使用権が内部バス調停手段２３より入力されると、第２の時計手段１０７の示す調停サイクルと一致するパケットを内部バス２１へ出力するように、第１のメモリ手段９へ読み出し制御信号を出力する。
【００８０】
第１のメモリ手段９では、読み出し制御信号が入力されると、入力された読み出し制御信号に基づきパケットが内部バス２１へ送出される。そして、第１のメモリ手段９よりパケットを内部バス２１へ送出し終えると、第１の読み出し制御手段１０では、内部バス調停手段２３へ送出すべきパケットを出力し終わったことを示すサイクルダン信号が出力される。また、格納したパケットに送出すべきパケットが存在しない時は、上記第１の読み出し制御手段１０より、即座に内部バス調停手段２３へサイクルダン信号が出力される。上記第２の時計手段１０７の示すサイクルを持つパケットが、各ゲートノードより全て内部バス２１へ送出されると、第２の時計手段１０７では、調停サイクルを１進める。
【００８１】
このように、第２の時計手段１０７の出力する調停サイクルと同じサイクルをもつパケットが、各ゲートノードより順番に内部バス２１へ送出されるように、内部バス調停手段２３では、各ゲートノードからのRequestに対して平等に調停が行われるが、このような調停を行って各ゲートノードからパケットを送出する方法を、サイクル制御型調停という。
【００８２】
次に、上記サイクル制御型調停を経て、内部バス２１へ出力されたゲートノード２４ｂからのアイソクロナスパケットを、ゲートノード２４ａで受信し外部バス１ａへ転送する時の、ゲートノード２４ａにおける動作について説明する。
パケット選択手段１１では、内部バス２１を流れるパケットは、入力端子２０を通じて監視されている。具体的には、パケット選択手段１１では、図５（ｂ）に示すパケット先頭に付加された第２のヘッダの送信先ゲートが、自ノード，つまりゲートノード２４ａを示しているかどうか調べ、自ノードを示していれば、内部バス２１を流れるパケットが受信され、受信されたパケットは、ヘッダ書き換え手段１２へ出力される。
【００８３】
上記ヘッダ書き換え手段１２では、入力されたパケットのチャンネルナンバが、レジスタ手段１０８の出力するチャンネルナンバに書き換えられ、書き換えられたパケットは第２のメモリ手段１３へ出力される。この書換えは、送信元外部バスでのチャンネルナンバが自の外部バスで既に使用されている場合などになされるものであり、書換えの必要の無いときは書き換えることはない。
【００８４】
また図４（ａ）は、書き換え前のＤＶパケットのヘッダ部（アイソクロナスパケットヘッダ，ＣＩＰヘッダ）の一例を示しており、図４（ｂ）は、書き換え後のＤＶパケットのヘッダ部（アイソクロナスパケットヘッダ，ＣＩＰヘッダ）の一例を示す。この例では、１１１１１１ｂチャンネルが０００００１ｂチャンネルに書き換えられている。更に、必要ならばヘッダの他の部分の書き換えを行っても良い。
【００８５】
このようにヘッダの書き換えが終了したアイソクロナスパケットは、第２のメモリ手段１３へ出力され、一時的に格納される。第２の読み出し制御手段１５では、上記第２のメモリ手段に格納されたアイソクロナスパケットから、第２のヘッダと上記第１のタイムスタンプとが先読みされ、読み出されたサイクル数、及び第１のオフセット値はサイクル数比較手段１４へ出力される。
【００８６】
サイクル数比較手段１４では、入力されたサイクル数と第１のオフセット値（３サイクル）が加算され、この加算された値と、バス基準時刻計時手段４が出力する外部バスの基準時刻との比較が行われる。そして、両者が一致すると、サイクル数一致信号が上記第２の読み出し制御手段１５へ出力される。
【００８７】
第２の読み出し制御手段１５では、サイクル数比較手段１４よりサイクル数一致信号が入力されると、第２のメモリ手段１３へ、格納されたパケットを第１のパケット送受信手段３へ出力するように読み出し制御信号が出力される。
第２のメモリ手段１３では、読み出し制御信号が入力されると、格納されたパケットが読み出され、読み出されたパケットは、第１のパケット送受信手段３へ出力される。
第１のパケット送受信手段３では、第２のメモリ手段１３よりパケットが入力されると、送出するパケットの帯域が確保された後に、外部バス１ａへパケットが送出される。
【００８８】
このように、外部バス１ｂからのアイソクロナスパケットは、外部バス１ａへ送出される。本パケット転送装置１００では、外部バスの基準時刻を一致させた上で、パケットの転送遅延に掛かる分だけタイムスタンプオフセットを与えているため、図１５の第１のディジタルＶＣＲは、第３のディジタルＶＣＲのパケットを矛盾無く受信できる。
【００８９】
次に、上記サイクル制御型調停を、図８を用いて具体的に説明する。
図８は、サイクル制御型調停を用いて、各ゲートノードから内部バス２１へパケットが送出される様子を示す図である。
図８（ａ）は、パケット転送装置が各外部バス１ａ〜１ｄより入力されるパケットを示している。このとき外部バス１ｄ上には、サイクルの後半に巨大なアシンクロナスパケットが送信されている。また、図８（ｂ）は、第２の時計手段１０７の出力する調停サイクルであり、図８（ｃ）は、各ゲートノードより内部バス調停手段２３へバスを使用する要求（Request）が出力される様子を示す図である。また図８（ｄ）は、内部バス調停手段２３から各ゲートノードへバス使用権（Grant）が出力される様子を示す図であり、図８（ｆ）は、各ゲートノードから内部バス調停手段２３へ、送出すべきパケットを送出し終えたことを示すサイクルダン（CycleDone）信号が出力される様子を示す図である。また、図８（ｅ）は、内部バス２１に各ゲートノードより送出されたアイソクロナスパケットを示している。
【００９０】
まず、１ａから１ｄの各ゲートノードでは、第２の時計手段１０７より出力される調停サイクルと、同じサイクルを持つパケットが、第１のメモリ手段９に格納されていると、バスを使用する要求を、バス使用権が与えられるまで、内部バス調停手段２３へ出力し続ける。
【００９１】
内部バス調停手段２３では、各ゲートノードからの要求を平等に調停し、サイクルダン信号に基づき、相互にバスを使用する期間が重ならないように、順に各ゲートへバス使用権を与える。バス使用権が与えられたゲートから順番に内部バス２１へパケットが送出され、パケットを送出し終えると、サイクルダン信号が内部バス調停手段２３へ出力される。
【００９２】
このように、第２の時計手段１０７の出力する調停サイクルと同じサイクルを持つパケットを、全てのゲートノードより送出し終えると、第２の時計手段１０７は調停サイクルを１進める。そして、次の新しい調停サイクルを持つパケットが、各ゲートノードより順に内部バス２１へ送出されることとなる。
【００９３】
このようなサイクル制御型調停を用いると、外部バス１ｄのように、サイクルの後半に巨大なアシンクロナスパケットが送信された場合でも、サイクルの逆転を生じずにパケット転送装置が受信した順番にパケットが内部バスへ送信されることとなる。
【００９４】
また、非サイクル制御型調停を利用した場合について、図７を用いて説明する。
非サイクル制御型調停の場合、上記内部バス調停手段２３は、第２の時計手段１０７の示す調停サイクルを各ゲートノードに出力しない。このため、各ゲートノードの第１の読み出し制御手段では、第１のメモリ手段９にパケットが格納されるとすぐに、内部バス調停手段２３へ内部バスを使用する要求が出力される（図７(b)）。内部バス調停手段２３では、各ゲートノードからのバスの使用要求を平等に調停し、順にバスの使用権を与え（図７(c)）、各ゲートノードの読み出し制御手段１０では、バス使用権が与えられると、順に内部バスへパケットを送出する（図７(d)）。
【００９５】
しかし、非サイクル制御型調停では、外部バス上でサイクルの後半に、巨大なアシンクロナスパケットが送信された場合、次のサイクルスタートパケットが遅延し、このサイクルで送信されるアイソクロナスパケット（図中Iso31）が遅延するため、内部バス上で、受信サイクル順序の逆転が生じる。つまり、受信サイクル順にパケットを送出するなら、Ａの区間に送出されるべきパケットが、Ｂの位置で送出されてしまうため、サイクル制御型調停のように、受信サイクルの順番にパケットが送出されない。
【００９６】
本実施の形態のパケット転送装置では、第２のメモリ手段１３を、唯一のＦＩＦＯメモリを用いてパケットを受信するものとしたため、非サイクル制御型調停でのサイクル数の逆転が生じた時に対応できないことにより、サイクル制御型調停を用いなければならない。
【００９７】
このように本実施の形態１によるパケット転送装置１００では、異なる外部バス間でアイソクロナスパケットの転送を行うための内部バスと、内部バスと外部バスとを接続し、自の外部バス及び内部バスとの間でアイソクロナスパケットの送受信を行うゲートノードと、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同期させる同期手段と、タイムスタンプにオフセット値を加えるオフセット手段と、第１から第ｎ（ｎは２以上の自然数）の各外部バスによる内部バスの各使用要求を調停し、各外部バス間で、内部バスの使用期間が重ならないように順番にバス使用権を与える調停手段と、を備え、アイソクロナスパケットの送受信を行う外部バス間の基準時刻を同期させた上で、任意の第ｊの外部バスから内部バスへアイソクロナスパケットが転送され、受信先の第ｋのゲートノードでは、パケットの転送遅延に掛かる時間分だけオフセットして、自の外部バスへ転送される動作が行われる。このため、異なる外部バスから送信されたアイソクロナスパケットであっても、そのアイソクロナスパケットを送信した順番に、受信側の機器（ノード）では、アイソクロナスパケットを受信することができ、異なる外部バス間でのアイソクロナスパケットの送受信を矛盾無く行うことができる。
【００９８】
また、本パケット転送装置１００により、異なる外部バス間でのアイソクロナスパケットの送受信が可能となったので、本パケット転送装置１００に複数個（ｘ個）の外部バスを接続すると、６３ｘの機器（ノード）を接続することができ、６３台以上の機器間でアイソクロナスパケットの相互転送を行うことができる。
【００９９】
また、本パケット転送装置１００では、任意の外部バスにおけるバスリセットは、他の外部バスには影響を与えないため、アイソクロナスパケットの送受信中の外部バスがあっても、その送受信中の外部バス以外の外部バスで、新たな機器の接続，或いは機器の切断を行うことにより、バスリセットに起因するアイソクロナスパケットの転送の中断を生ずることなく正常にアイソクロナスパケットの転送を行うことができる。
【０１００】
また、本パケット転送装置１００の内部バスの最大転送レートは、外部バスの最大転送レートの総和の１／２のレートとしたので、全外部バス最大転送レートを使っている時のパケットを全て転送することができる。
また、内部バスに、ディジタルデータ伝送経路を２車線以上を有するパラレルバスを用いたので、高伝送レートを容易に得ることができる。
また、外部バスクロックと内部バスクロックを同期させると、アイソクロナスパケットの転送が更に容易となる。
なお、本発明のパケット転送装置における内部バスに、外部バスと同一のシリアルバスを用いてもよい。
また、外部バスは、帯域が保証された伝送が可能なバスであれば、ＵＳＢ(Universal Serial Bus)など他の外部バスを用いてもよい。
また、本実施の形態１では、内部バスへの送出元のゲートノードで、タイムスタンプにオフセット値を加えたが、内部バスからの受信側のゲートノードで行っても良い。
【０１０１】
また、各外部バスの基準時刻は、全て第１の時計手段の時刻に一致させたが、一致させなくともオフセットを持ったまま同期していても良い。この場合、パケットを受信する外部バスとパケットを送信する外部バスのオフセット時間を第２のオフセット値として、第１のタイムスタンプに加えられた第１のオフセット値に、第２のオフセット値を加算もしくは減算すればよい。
【０１０２】
また、本実施の形態１では、アイソクロナスパケットの送受信を行う場合、パケット転送装置の全ての端末がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものを例としたが、図１６のゲートノード２４ｂのように、自ノードがサイクルマスタノードになれなかった場合は、上記ゲートノード２４ｂでは、サイクルマスタノードとなった第１のＳＴＢ１０１からブロードキャストされたサイクルスタートパケットを、第１のパケット送受信手段３で受信し、そのサイクルスタートパケットに記されているバス基準時刻を、バス基準時刻計時手段４ヘロードして、バス基準時刻計時手段４の時刻をサイクルマスタの示す基準時刻に合わせる。ただしこの時は、外部バス１ｂと、外部バス１ａおよび１ｃの基準時刻が異なるため、外部バス１ｂでのアイソクロナスパケットの転送を行うことはできない。
【０１０３】
（実施の形態２）
図１０は、本実施の形態２によるパケット転送装置を説明するための図であり、ゲートノード６４の構成を示すブロック図である。
本実施の形態２におけるゲートノード６４は、実施の形態１におけるレジスタ手段１０７に代えて、受信する送信元とそのチャンネルナンバ、及び自の外部バスへパケットを送出するためのチャンネルナンバとを格納するレジスタ手段１１３と、実施の形態１における第２のメモリ手段１３に代えて、ヘッダ書換え手段１２からのパケットを各送信元毎に分類して格納する第２のメモリ手段６０と、実施の形態１における第２の読み出し制御手段１５に代えて、送信元毎に格納されたパケットを先読みし、パケットの読み出しを制御する第２の読み出し制御手段６２と、上記第２のメモリ手段の出力を選択するメモリ選択手段６３とを新たに備えたものである。
本実施の形態２によるパケット転送装置のその他の構成は、実施の形態１のパケット転送装置１００と同一である。
【０１０４】
また図１１は、パケット転送装置における上記第２のメモリ手段６０の構成を示す図である。
第２のメモリ手段６０は、ヘッダ書き換え手段１２からのパケットを入力する入力端子６５と、入力されたパケットの送信元を判断し、送信元毎にパケットを分類する送信元判断手段６６と、上記送信元判断手段６６からのパケットをそれぞれ各送信元毎に格納する複数のＦＩＦＯメモリ手段６７〜７０と、第２の読み出し制御手段６２からの読み出し制御信号を入力する読み出し制御端子７５と、上記複数のＦＩＦＯメモリ手段６７〜７０より読み出されたパケットを出力するパケット出力端子７１〜７４とを有している。
【０１０５】
なお本実施の形態２の第２のメモリ手段６０におけるＦＩＦＯメモリ手段６７〜７０では、ＦＩＦＯメモリ６７はゲート６４ａに，またＦＩＦＯメモリ６８はゲート６４ｂに，またＦＩＦＯメモリ６９はゲート６４ｃに，またＦＩＦＯメモリ７０はゲート６４ｄに，それぞれ対応し、各ＦＩＦＯメモリは対応するゲートノードからのパケットを格納する。
【０１０６】
また、本実施の形態２におけるパケット転送装置２００では、パケット転送装置２００の各ゲートノード６４ａ〜６４ｄに、複数の機器（ノード）が接続されているものとし、バスリセット後に、各ゲートノード６４ａ〜６４ｄは、対応する外部バス１ａ〜１ｄに対してそれぞれルートノードとなるものとする。
【０１０７】
次に動作について説明する。
パケット転送装置２００の各ゲートノード６４ａ〜６４ｄでは、バスリセット後に、各ゲートノード６４ａ〜６４ｄの各外部バス１ａ〜１ｄに対し、ルートノードに決定すると、第１の時計手段２２の示す時刻を読み込み、各ゲートノード６４ａ〜６４ｄ間の基準時刻が上記第１の時計手段の示す時刻に統一される。
パケットの送受信を行う外部バス間で基準時刻が統一されると、実施の形態１と同様の動作で、各ゲートノードから内部バス２１へパケットが送出される。
【０１０８】
本実施の形態２では、内部バス２１を流れるアイソクロナスパケットを、ゲートノード６４ａが受信する動作について説明する。
ゲートノード６４ａのパケット選択手段１１では、内部バス２１を流れるパケットが、入力端子２０を通じて監視されている。具体的には、パケット選択手段１１では、レジスタ手段１１３より出力される、受信する送信元とそのチャンネルナンバが、内部バス２１を流れるＤＶパケットの第２のヘッダに含まれる送信元、及びアイソクロナスパケットヘッダに含まれるチャンネルナンバと、一致するかどうかチェックされ、一致した場合、内部バス２１よりパケットは受信され、受信されたパケットはヘッダ書換え手段１２へ出力される。
【０１０９】
ヘッダ書換手段１２では、パケット選択手段１１からのパケットのチャンネルナンバが、レジスタ手段１１３が出力した，自の外部バス１ａへ送出するためのチャンネルナンバに書き換えられる。尚、この書換えは、送信元外部バスでのチャンネルナンバが、自の外部バスで既に使用されている場合になされるものである。書換えの必要が無い場合は書換えることはない。また、必要ならば、ヘッダの他の部分の書換えを行っても良い。
このようにヘッダ書換手段１２にて、ヘッダの書換えを終えたパケットは、第２のメモリ手段６０へ出力される。
【０１１０】
第２のメモリ手段６０では、入力されたパケットは、各送信元毎に分類して一時的に格納される。具体的には、第２のメモリ手段６０では、ヘッダの書換えの終えたパケットは、入力端子６５より送信元判断手段６６へ入力され、送信元判断手段６６にて、パケットが送信元毎に分類されて６７から７０の各ＦＩＦＯメモリに読み込まれ、読み出し制御信号が入力されるまで格納される。
【０１１１】
このように上記６７から７０のＦＩＦＯメモリに格納されたパケットは、第２の読み出し制御手段６２に同時に先読みされる。このとき読み出されたパケット先頭の第２ヘッダに含まれるサイクル数と第１のタイムスタンプに加えられたオフセット値は、サイクル数比較手段６１へ出力される。サイクル数比較手段６１では、入力されたサイクル数と、第１のオフセット値（３サイクル）とを加算し、この加算結果と、バス基準時刻計時手段４が出力する基準時刻との比較を行い、一致すると、第２の読み出し制御手段６２へ、サイクル数一致信号が出力される。
【０１１２】
また第２の読み出し制御手段６２では、サイクル数比較手段６１よりサイクル数一致信号が入力されると、第２のメモリ手段６０へ読み出し制御信号が出力され、読み出すパケットが格納されたＦＩＦＯメモリから、パケットが読み出されてメモリ選択手段６３へ出力される。具体的に、第２のメモリ手段６０では、読み出し制御端子７５から読み出すパケットを格納したＦＩＦＯメモリ６８へ読み出し制御信号が出力される。ＦＩＦＯメモリ６８に読み出し制御信号が入力されると、ＦＩＦＯメモリ６８に格納されたパケットが読み出され、出力端子７２よりメモリ選択手段６３へ出力される。このとき上記メモリ選択手段６３では、第２のメモリ手段６０におけるＦＩＦＯメモリ６７から７０の出力のうち、ＦＩＦＯメモリ６８の出力が選択されており、このメモリ選択手段６３に入力されたパケットは、第１のパケット送受信手段３へ出力される。
【０１１３】
また、ＦＩＦＯメモリ６８以外に、ＦＩＦＯメモリ６７，６９，７０のいずれかで、同時に読み出すと判断された場合は、各ＦＩＦＯメモリから順に１パケット単位ずつ読み出しが行われるように、メモリ選択手段６３ではＦＩＦＯメモリ６７〜７０の出力が切替えられて入力される。
第１のパケット送受信手段３では、送出するパケットの帯域が確保されると、内部バス２１で受信したゲートノード６４ｂからのアイソクロナスパケットが、外部バス１ａへ送出される。
【０１１４】
このように本実施の形態２によるパケット転送装置では、ゲートノード６４は、各ゲートノードから送出されたパケットを送信元のゲート毎に格納する第２のメモリ手段６０と、第２のメモリ手段６０からの出力を選択するメモリ選択手段６３と、を備えたので、複数の外部バスから送信されたパケットを、混同することなく同時に受信することができ、自の外部バスの各送信先の機器（ノード）へ同時に転送することができる。
【０１１５】
また、本パケット転送装置の第２のメモリ手段６０は、複数のＦＩＦＯメモリを備えているので、非サイクル制御型調停を用いてサイクル数逆転が生じた場合，つまり、各機器（ノード）から送信されたアイソクロナスパケットがサイクルの順番通りに受信側のゲートノードで受信されなかった場合でも、受信側のゲートノードでは、各機器（ノード）からアイソクロナスパケットが送信されたサイクルの順番に、送信先の機器（ノード）へ転送することができ、非サイクル制御型調停でもアイソクロナスパケットの相互転送を矛盾無く行うことができる。
【０１１６】
なお、本実施の形態２では、ゲートノード６４ａが、複数の他の外部バスから内部バス２１上へ送出されたパケットを、同時に受信する動作を中心に説明したが、上記ゲートノード６４ａがパケットを受信している間に、他のゲートノード６４ｂ〜６４ｄでも、内部バス２１上の複数の送信元からのパケットを同時に受信し、自の外部バスへ転送することができる。
【０１１７】
（実施の形態３）
図１４は、本実施の形態３を説明するためのパケット転送装置３００の構成を示すブロック図である。
パケット転送装置３００は、全ての外部バスの基準時刻を統一させるための基準時刻用バス９６と、外部バス間の時刻差を検出する時刻差検出手段１１２と、バス基準時刻計時手段７６の示す時刻を他のゲートノードにブロードキャストするためのスイッチ９２ａ〜９２ｄとを有し、各ゲートノードのバス基準時刻計時手段７６は、スイッチ９２を介して基準時刻用バス９６，または時刻差検出手段１１２と、接続されている。
【０１１８】
ここで、自ノードがサイクルマスタになれなかったゲートのバス基準時刻計時手段７６では、バス基準時刻計時手段７６の示す時刻が、基準時刻用バス９６を介して、サイクルマスタとなった他ゲートへブロードキャストされ、他ゲートのバス基準時刻計時手段７６では、ブロードキャストされた上記時刻を、基準時刻用バス９６よりロードして、サイクルマスタとなったバスの基準時刻を、サイクルマスタになれなかったバスの基準時刻に合わせ、外部バス間の基準時刻を同一にするように構成されている。
【０１１９】
また、本パケット転送装置３００は、アイソクロナスパケットを送受信する外部バス間で、基準時刻を同一にしない場合、時刻差検出手段は、パケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードで、検出された時刻差の分を転送遅延サイクルと合わせて、自の外部バスへパケットを転送する際に、早めたり遅らせたりすることにより、アイソクロナスパケットのサイクルと、外部バスの基準時刻（基準サイクル）とを同一にするように構成されている。
【０１２０】
また図１３は、バス基準時刻計時手段７６の構成を示すブロック図である。
バス基準時刻計時手段７６では、切り替え手段８３は、第１の時計手段２２の出力する絶対時刻を入力する入力端子８０と、第１のパケット送受信手段３で受信したサイクルスタートパケットを入力する入力端子８１と、サイクルスタートパケットを受信する度に、基準時刻用バス９６より基準時刻を入力する入力端子８２とを有する。
【０１２１】
本実施の形態３では、図１６を参照し、アイソクロナスパケットの送受信を行う外部バス１ａ〜１ｃにおいて、本パケット転送装置３００のゲートノード７９ａおよび７９ｃが外部バス１ａおよび１ｃに対しサイクルマスターノードとなり、ゲートノード７９ｂは外部バス１ｂのサイクルマスタノードになれなかった場合に、外部バス１ｂの第３のディジタルＶＣＲ９９から外部バス１ａの第１のディジタルＶＣＲ１０２へパケットを転送する場合を例に説明する。また、このとき外部バス１ｂのサイクルマスタノードは、第１のＳＴＢ１０１がなるものとする。なお、パケット転送装置３００のゲートノード７９ａ〜７９ｃが全てサイクルマスタノードとなる場合は、実施の形態２と同様の動作を行う。
【０１２２】
次に動作について説明する。
バスリセット後にゲートノード７９ａ及びゲートノード７９ｃは、自の外部バス１ａ及び１ｃでルートノードになるとともに、サイクルマスタノードに決定し、その瞬間、第１の時計手段２２の出力する絶対時刻が、バス基準時刻計時手段７６にロードされ、サイクルスタートパケットに上記絶対時刻が記されて外部バス１ａ及び１ｃへブロードキャストされる。
【０１２３】
このとき、サイクルマスタノードになれなかったゲートノード７９ｂでは、サイクルマスタノードとなった第１のＳＴＢ１０１よりブロードキャストされたサイクルスタートパケットが、第１のパケット送受信手段３より入力され、バス基準時刻計時手段７６へ出力される。
【０１２４】
バス基準時刻計時手段７６では、入力されたサイクルスタートパケットに記された時刻がロードされ、ロードされた時刻は、スイッチ９２ｂを通して基準時刻用バス９６へ出力される。具体的には、バス基準時刻計時手段７６へ、切替え手段８３で入力端子８１が選択され、入力端子８１よりサイクルスタートパケットが入力される。サイクルスタートパケットが入力されると、サイクルスタートパケットに記された時刻は、カウンタ８４，８５，８６へロードされ、ロードされた時刻は出力端子８７より出力される。
【０１２５】
次に、サイクルマスタノードとなったゲートノード７９ａ及び７９ｃでは、基準時刻用バス９６を流れる上記ゲートノード７９ｂの基準時刻が、入力端子７７ａ及び７７ｃよりバス基準時刻計時手段７６へそれぞれ入力される。このとき、ゲートノード７９ａ及び７９ｃのバス基準時刻計時手段では、入力された基準時刻がロードされ、ロードされた時刻は、第１のパケット送受信手段にて、サイクルスタートパケットに記されて、各外部バス１ａ及び１ｃへ出力される。具体的には、バス基準時刻計時手段７６では、切替え手段８３で入力端子８２が選択され、入力端子８２より基準時刻用バス９６を流れるゲートノード７９ｂの基準時刻が入力される。そして、この入力された時刻はカウンタ８４，８５，８６へロードされ、ロードされた時刻は出力端子８７より出力される。
【０１２６】
このように、アイソクロナスパケットの送信もしくは受信を行う外部バスのうち、サイクルマスタノードとなったゲートノード７９ａ及び７９ｃは、サイクルマスタノードになれなかったゲートノード７９ｂの基準時刻に合わせることによって、アイソクロナスパケットの送受信を行う全ての外部バスの基準時刻が統一される。アイソクロナスパケットの送受信を行うバス間の基準時刻が統一されると、第３のディジタルＶＣＲ９９からアイソクロナスパケットが送信され、ゲートノード７９ｂヘ入力される。以下のアイソクロナスパケットの送受信は、実施の形態１と同様の動作で行われる。
【０１２７】
次に、アイソクロナスパケットの送受信を行うバス間で、バスの基準時刻を統一しない場合を説明する。
アイソクロナスパケットの送受信を行う外部バス間でバス基準時刻を統一しない場合、ゲートノード７９ａ及び７９ｂにおけるゲート制御手段１０９ａ及び１０９ｂより、それぞれ時刻差検出手段１０９へ時刻差を検出するように時刻差検出信号が出力されるとともに、バス基準時刻計時手段７６ａ及び７６ｂへ、バス基準時刻計時手段７６ａ及び７６ｂの示す時刻をそれぞれ時刻差検出手段１１２へ出力するように計時時刻出力信号が出力される。バス基準時刻計時手段７６ａ及び７６ｂでは、ゲート制御手段１０９ａ及び１０９ｂより計時時刻出力信号が入力されると、バス基準時刻計時手段７６ａ及び７６ｂの示す時刻をそれぞれ出力端子７８ａ及び７８ｂを通して、時刻差検出手段１１２へ出力される。
【０１２８】
時刻差検出手段１１２では、上記時刻差検出信号が入力されると、上記バス基準時刻計時手段７６ａ及び７６ｂより入力されたそれぞれの外部バスの基準時刻より、外部バス間の基準時刻の時刻差が検出され、検出された時刻差は第２のオフセット値として、ゲートノード７９ｂの第１のタイムスタンプオフセット手段７ｂへ出力される。
このように、アイソクロナスパケットの送受信を行う外部バス間の基準時刻差が検出されると、第３のディジタルＶＣＲ９９からアイソクロナスパケットが送信され、ゲートノード７９ｂに受信される。
【０１２９】
以下、アイソクロナスパケットの送受信は、送信側のゲートノード７９ｂでは、第１のタイムスタンプオフセット手段７がタイムスタンプに、転送遅延分の３サイクルとしての第１のオフセット値と、外部バス間の時刻差としての第２のオフセット値とを加える他は、実施の形態１と同様の動作が行われてアイソクロナスパケットが送信される。
【０１３０】
一方、受信側のゲートノード７９ａでは、タイムスタンプに加えられた第１のオフセット値と第２のオフセット値の分だけ、パケットを送信するタイミングを、早めたり、遅らせたりして外部バス１ａへパケットを送信する。具体的には、サイクル数比較手段１４は、パケットの第２ヘッダに含まれるサイクル数に、タイムスタンプに転送遅延サイクル，及び時刻差として加えられた第１と第２のオフセット値を加算し、この加算した値が外部バス１ａの基準時刻と一致するかどうか比較を行う。その他は、実施の形態１と同様の動作が行われて、アイソクロナスパケットが内部バス２１より受信され、自の外部バス１ａへ転送される。
【０１３１】
このように、本実施の形態３におけるパケット転送装置３００は、基準時刻用バス９６を備え、外部バスに対しサイクルマスタノードになれなかったゲートノードの示す基準時刻に、他のサイクルマスタノードとなれたゲートノードの基準時刻を合わせる構成としたので、アイソクロナスパケットの送受信を行うゲートノードの中に、サイクルマスターノードとなれなかったゲートノードがあっても、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一とすることができ、アイソクロナスパケットの送受信を行うことができる。
【０１３２】
また、パケット転送装置３００は、時刻差検出手段１１２を備え、送信側のゲートノードでは、アイソクロナスパケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードでは、転送遅延サイクルと検出された時刻差の分だけ、アイソクロナスパケットの、自の外部バスへの転送を、早めたり遅らせたりするように構成したので、異なる外部バス間で、基準時刻を一致させなくてもアイソクロナスパケットの送受信を行うことができる。
【０１３３】
さらに、上記各実施の形態で示したパケット転送装置によるパケット転送処理をソフトウエアにより行うためのパケット転送処理プログラムを、フロッピーディスク等のデータ記憶媒体に記録するようにすることにより、上記各実施の形態でのパケット転送処理を、独立したコンピュータシステムにおいて簡単に実現することが可能となる。
【０１３４】
図１７は、上記各実施の形態のパケット転送処理を、上記パケット転送処理プログラムを格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合を説明するための図である。
図１７(a) は、フロッピーディスクの正面からみた外観，断面構造，及びフロッピーディスク本体を示し、図１７(b) は、該フロッピーディスク本体の物理フォーマットの例を示している。
上記フロッピーディスクＦＤは、上記フロッピーディスク本体ＤをフロッピーディスクケースＦＣ内に収容した構造となっている。該フロッピーディスク本体Ｄの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成されている。各トラックＴｒは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフロッピーディスクＦＤでは、上記フロッピーディスク本体Ｄは、その上に割り当てられた領域（セクタ）Ｓｅに、上記プログラムとしてのデータが記録されたものとなっている。
また、図１７(c) は、フロッピーディスクＦＤに対する上記プログラムの記録、及びフロッピーディスクＦＤに格納したパケット転送処理プログラムを用いたソフトウエアによるパケット転送処理を行うための構成を示している。
【０１３５】
上記プログラムをフロッピーディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記パケット転送処理プログラムとしてのデータを、フロッピーディスクドライブＦDDを介してフロッピーディスクＦＤに書き込む。また、フロッピーディスクＦＤに記録されたパケット転送処理プログラムにより、上記パケット転送装置をコンピュータシステムＣｓ中に構築する場合は、フロッピーディスクドライブＦDDによりパケット転送処理プログラムをフロッピーディスクＦＤから読み出し、コンピュータシステムＣｓにロードする。
【０１３６】
なお、上記説明では、データ記憶媒体の具体例としてフロッピーディスクを挙げたが、光ディスクを用いても上記フロッピーディスクの場合と同様にソフトウェアによるパケット転送処理を行うことができる。さらに、データ記憶媒体は上記光ディスクやフロッピーディスクに限るものではなく、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであればどのようなものでもよく、これらのデータ記録媒体を用いる場合でも、上記フロッピーディスク等を用いる場合と同様にソフトウェアによるパケット転送処理を実施することができる。
【０１３７】
【発明の効果】
以上のように、請求項１に記載の発明に係るパケット転送装置によれば、アイソクロナスパケットの伝送機能を有する第１から第ｎ(ｎは２以上の自然数)の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの任意の自然数）の外部バスへアイソクロナスパケットを転送する装置であって、任意の第ｊの外部バスから任意の第ｋの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第１から第ｎの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第１から第ｎ(ｎは２以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第ｊと任意の第ｋの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、上記第１から第ｎのゲートノードは、自らの外部バス、及び上記内部バスからのパケットの送受信を行う第１のパケット送受信手段と、受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第２のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、上記第２のヘッダを付加したアイソクロナスパケットを格納する第１のメモリ手段と、上記第１のメモリ手段に格納されたアイソクロナスパケットに付加された第２のヘッダを先読みし、第１のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第１の読み出し制御手段と、を有し、自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送するものとしたので、異なる外部バスに接続された６３台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１３９】
また、請求項２に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記第１から第ｎのゲートノードは、内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第２のメモリ手段と、上記第２のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、上記第２のメモリ手段に格納されたアイソクロナスパケットを先読みし、第２のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第２の読み出し制御手段と、を有し、内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送することを特徴とするものとしたので、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができ、６３台以上の機器間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４０】
また、請求項３に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第１の時計手段と、上記第１の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものとしたので、異なる外部バス間で基準時刻を同期させることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４１】
また、請求項４に記載の発明に係るパケット転送装置によれば、請求項３に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第１の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものとしたので、異なる外部バス間で基準時刻を同一にさせることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４２】
また、請求項５に記載の発明に係るパケット転送装置は、請求項１に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートノードへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものとしたので、自ノードがサイクルマスタノードになれなかったゲートノードも、他の外部バスとの間で、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４３】
また、請求項６に記載の発明に係るパケット転送装置によれば、請求項５に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものとしたので、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一にしなくても、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４４】
また、請求項７に記載の発明に係るパケット転送装置によれば、請求項４、または６に記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位４ビットを概一致させることを特徴とするものとしたので、アイソクロナスパケットの相互転送を行う外部バス間の基準時刻が同一となりアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４５】
また、請求項８に記載の発明に係るパケット転送装置によれば、請求項３から７のいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものとしたので、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４６】
また、請求項９に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記オフセット手段は、上記第ｊの外部バスから上記第ｋの外部バスへパケットを転送するのに要する時間により規定される第１のオフセット値を、上記タイムスタンプに加算することを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻（基準サイクル）とを同一にさせることができ、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４７】
また、請求項１０に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記第ｊの外部バスの基準時刻と、上記第ｋの外部バスの基準時刻の差により規定される第２のオフセット値を検出する時刻差検出手段を有し、上記タイムスタンプオフセット手段は、上記第１のオフセット値と、上記第２のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算することを特徴とするものとしたので、アイソクロナスパケットの相互転送を行う外部バス間で基準時刻を同一にせずに、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１４８】
また、請求項１１に記載の発明に係るパケット転送装置によれば、請求項９、または１０に記載のパケット転送装置において、上記第１のオフセット値は、固定サイクル値であることを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻（基準サイクル）とを同一にすることができるという効果を有する。
【０１４９】
また、請求項１２に記載の発明に係るパケット転送装置によれば、請求項９、または１０に記載のパケット転送装置において、上記第２のオフセット値は、固定サイクル値であることを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻（基準サイクル）とを同一にすることができるという効果を有する。
【０１５０】
また、請求項１３に記載の発明に係るパケット転送装置は、請求項１から１２のいずれかに記載のパケット転送装置において、調停サイクルを出力する第２の時計手段と、上記第１から第ｎの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第１から第ｎの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものとしたので、受信側の機器（ノード）では、送信側の機器（ノード）よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
【０１５１】
また、請求項１４に記載の発明に係るパケット転送装置によれば、請求項１３に記載のパケット転送装置において、上記第１の読み出し制御手段は、上記調停サイクルと、上記第１のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第１のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第１から第ｎの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものとしたので、受信側の機器（ノード）では、送信側の機器（ノード）よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
【０１５２】
また、請求項１５に記載の発明に係るパケット転送装置によれば、請求項１４に記載のパケット転送装置において、上記第ｊの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第１のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、送信側の機器（ノード）よりアイソクロナスパケットが送信された順番に、受信側の機器（ノード）へ、アイソクロナスパケットを転送することができるという効果を有する。
【０１５３】
また、請求項１６に記載の発明に係るパケット転送装置によれば、請求項１４に記載のパケット転送装置において、上記内部バスから上記第ｋの外部バスへアイソクロナスパケットを転送する際、上記第２のメモリ手段は、上記第ｋの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器（ノード）へ転送することができるという効果を有する。
【０１５４】
また、請求項１７に記載の発明に係るパケット転送装置によれば、請求項１５に記載のパケット転送装置において、上記第１のメモリ手段は、ＦＩＦＯメモリ手段により構成されるものであることを特徴とするものとしたので、送信側の機器（ノード）よりアイソクロナスパケットが送信された順番に、受信側の機器（ノード）へ、アイソクロナスパケットを転送することができるという効果を有する。
【０１５５】
また、請求項１８に記載の発明に係るパケット転送装置によれば、請求項１６に記載のパケット転送装置において、上記第２のメモリ手段は、ＦＩＦＯメモリ手段により構成されるものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器（ノード）へ転送することができるという効果を有する。
【０１５６】
また、請求項１９に記載の発明に係るパケット転送装置によれば、請求項１８に記載のパケット転送装置において、上記第２のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するＭ個（Ｍは自然数）のＦＩＦＯメモリ手段より構成されるものであることを特徴とするものとしたので、複数の機器（ノード）から送信されたアイソクロナスパケットを同時に受信することができ、受信先の複数の機器（ノード）へ矛盾無く転送することができるという効果を有する。
【０１５７】
また、請求項２０に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１５８】
また、請求項２１に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第１から第ｎの外部バスのアイソクロナスパケット最大伝送レートの総和の１／２以下であることを特徴とするものとしたので、全外部バスで最大転送レートを使っているときのパケットを全て転送することができるという効果を有する。
【０１５９】
また、請求項２２に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものとしたので、高伝送レートを容易に得ることができ、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
【０１６０】
また、請求項２３に記載の発明に係るパケット転送装置によれば、請求項１に記載のパケット転送装置において、上記第１から第ｎの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
【０１６１】
また、請求項２４に記載の発明に係るパケット転送装置によれば、請求項１から２３のいずれかに記載のパケット転送装置において、上記第１から第ｎの外部バスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１６２】
また、請求項２５に記載の発明に係るパケット転送装置によれば、請求項１から２４のいずれかに記載のパケット転送装置において、上記第１から第ｎの外部バスは、ＵＳＢ(Universal Serial Bus)であることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【０１６３】
また、請求項２６に記載の発明に係る記録媒体によれば、アイソクロナスパケットの伝送機能を有する第１から第ｎ（ｎは２以上の自然数）の外部バスの内、任意の第ｊ（ｊは１からｎの自然数）の外部バスから、任意の第ｋ（ｋは１からｎの自然数）の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項１から２５のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものとしたので、異なる外部バスに接続された６３台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【図面の簡単な説明】
【図１】  本実施の形態１のゲートノード２４の構成を示すブロック図である。
【図２】  本実施の形態１及び２におけるバス基準時刻計時手段４の構成を示すブロック図である。
【図３】  図３(a)は、ＩＥＥＥ１３９４シリアルバスのアイソクロナスパケットを示す構造図であり、図３(b)、及び図３(c)は、ＤＶパケットのヘッダ部（アイソクロナスパケットヘッダ，ＣＩＰヘッダ）の一例を示す構造図である。
【図４】  図４(a)、及び図４(b)は、ＤＶパケットのヘッダ部（アイソクロナスパケットヘッダ，ＣＩＰヘッダ）の一例を示す構造図である。
【図５】  図５(a)、及び図５(b)は、アイソクロナスパケット先頭に付加され、内部バスと外部バスとの送受信の際に用いられる内部バスヘッダ（第２のヘッダ）の構造を示す図である。
【図６】  本実施の形態１から３における第１のメモリ手段９、及び第２のメモリ手段１３の構成を示すブロック図である。
【図７】  本発明の非サイクル制御型調停を説明するためのタイムチャート図である。
【図８】  本発明のサイクル制御型調停を説明するためのタイムチャート図である。
【図９】  本実施の形態１および２におけるパケット転送装置の構成を示すブロック図である。
【図１０】  本実施の形態２におけるゲートノード６４の構成を示すブロック構成図である。
【図１１】  本実施の形態２における第２のメモリ６０の構成を示すブロック図である。
【図１２】  本実施の形態３におけるゲートノード７９の構成を示すブロック図である。
【図１３】  本実施の形態３におけるバス基準時刻計時手段７６の構成を示すブロック図である。
【図１４】  本実施の形態３におけるパケット転送装置３００の構成を示す図である。
【図１５】  本発明のパケット転送装置と、複数の機器（ノード）が接続された複数の外部バスとの接続例を示す図である。
【図１６】  本発明のパケット転送装置と、複数の機器（ノード）が接続された複数の外部バスとの接続例を示す図である。
【図１７】  図１７(a)及び(b)は、上記各実施の形態のパケット転送処理をコンピュータシステムにより行うためのパケット転送処理プログラムを格納したデータ記録媒体であり、図１７(c)は、上記コンピュータシステムを説明するための図である。
【図１８】  図１８(a)、及び図１８(b)は、ＩＥＥＥ１３９４のアイソクロナスパケットの送信を表す概念図である。
【図１９】  図１９(a)、及び図１９(b)は、従来の、ＩＥＥＥ１３９４シリアルバスと機器（ノード）との接続例を示す図である。
【符号の説明】
１，２０３，２０４  外部バス
３  第１のパケット送受信手段
４,７６  バス基準時刻計時手段
５  第１のタイムスタンプ判定手段
６  第１のタイムスタンプ位置検出手段
７  第１のタイムスタンプオフセット手段
８  内部バスヘッダ付加手段
９  第１のメモリ手段
１０  第１の読み出し制御手段
１１  パケット選択手段
１２  ヘッダ書き換え手段
１３,６０  第２のメモリ手段
１４  サイクル数比較手段
１５,６２  第２の読み出し制御手段
２１  内部バス
２２  第１の時計手段
２３  内部バス調停手段
２４，６４，７９  ゲートノード
２７,８３  切り替え手段
２８,２９,３０,８４,８５,８６  カウンタ手段
３２,３８,４１,４４,４７  アイソクロナスパケットヘッダ
３３,３９,４２,４５,４８  ヘッダＣＲＣ
３４,４０,４３,４６,４９  ＣＩＰヘッダ
３５  データフィールド
３６  データＣＲＣ
３７  パケットデータ
５０,５１  第２のヘッダ（内部バスヘッダ）
５３,６７,６８,６９,７０  ＦＩＦＯメモリ
６３  メモリ選択手段
６６  送信元判断手段
９２  スイッチ
９６  基準時刻バス
１０６  サイクル数保持手段
１０７  第２の時計手段
１０８,１１３  レジスタ手段
１０９  ゲート制御手段
１１２  時刻差検出手段
９７,９８,９９,１０１,１０２,１０３,１０４,２０１,２０２,２０３  端末機器
２０６  サイクルスタートパケット
２０７  調停期間
２０８  データプレフィックス期間
２０９  アイソクロナスパケット
２１０  データエンド期間
Ｃｓ  コンピュータシステム
Ｄ  フロッピーディスク
ＦＣ  フロッピーディスクケース
ＦＤ  フロッピーディスク
ＦDD  フロッピーディスクドライブ
Ｓｅ  セクタ
Ｔｒ  トラック
【図１】
0003676618.tif 000002
【図２】
0003676618.tif 000003
【図３】
0003676618.tif 000004
【図４】
0003676618.tif 000005
【図５】
0003676618.tif 000006
【図６】
0003676618.tif 000007
【図７】
0003676618.tif 000008
【図８】
0003676618.tif 000009
【図９】
0003676618.tif 000010
【図１０】
0003676618.tif 000011
【図１１】
0003676618.tif 000012
【図１２】
0003676618.tif 000013
【図１３】
0003676618.tif 000014
【図１４】
0003676618.tif 000015
【図１５】
0003676618.tif 000016
【図１６】
0003676618.tif 000017
【図１７】
0003676618.tif 000018
【図１８】
0003676618.tif 000019
【図１９】
0003676618.tif 000020