JP2005267653A - パケット転送装置、及びデータ記録媒体 - Google Patents

パケット転送装置、及びデータ記録媒体 Download PDF

Info

Publication number
JP2005267653A
JP2005267653A JP2005082668A JP2005082668A JP2005267653A JP 2005267653 A JP2005267653 A JP 2005267653A JP 2005082668 A JP2005082668 A JP 2005082668A JP 2005082668 A JP2005082668 A JP 2005082668A JP 2005267653 A JP2005267653 A JP 2005267653A
Authority
JP
Japan
Prior art keywords
bus
packet
packet transfer
transfer apparatus
external
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005082668A
Other languages
English (en)
Inventor
Yasuo Hamamoto
康男 浜本
Hidetoshi Takeda
英俊 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005082668A priority Critical patent/JP2005267653A/ja
Publication of JP2005267653A publication Critical patent/JP2005267653A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Bus Control (AREA)

Abstract

【課題】 異なるIEEE1394シリアルバスに接続された63台以上の機器間でアイソクロナスパケットの相互転送が可能であり、アイソクロナスパケットの転送を中断せずに機器の追加,切断等を行うことが可能なパケット転送装置を提供する。
【解決手段】 パケット転送装置は、異なる外部バスへアイソクロナスパケットを伝送するための内部バスと、上記内部バスと複数の外部バスとを接続し、自の外部バス及び上記内部バスとの間でアイソクロナスパケットの送受信を行うゲートノードと、外部バス間の基準時刻を同期させる同期手段と、タイムスタンプにオフセット値を加えるオフセット手段と、を備え、外部バス間の基準時刻を同一にした上で、送信側のゲートノードより内部バスへアイソクロナスパケットを送信し、受信側のゲートノードでは、内部バスより受信したアイソクロナスパケットを、転送遅延分のサイクルだけ早めたり遅らせて、自の外部バスへ転送する。
【選択図】 図1

Description

本発明は、IEEE1394シリアルバス等に代表される、アイソクロナスパケット伝送機能を有し、バスを複数接続するパケット転送装置に関するものである。
近年、IEEE1394シリアルバス等のISO/IEC13213準拠シリアルバスを用いて、ディジタルVCR、またはパーソナルコンピュータ等のAVC機器を複数接続してネットワークを形成し、機器間のデータ伝送が行われている。
IEEE1394シリアルバスでは、125μsecをデータ伝送の1サイクルとしている。また、IEEE1394シリアルバスでは、送信要求に応じて直ちにデータ伝送が行われるアイソクロナス通信(同期通信)と、場合によってはデータの送信が送信要求の発生から遅れて行われるアシンクロナス(非同期通信)が定義されている。上記アイソクロナス通信は、AV(Audio Video)データのようなリアルタイム性が要求されるデータの伝送に用いられる通信方法である。このアイソクロナス通信では、データの伝送の開始に先立って、まず、データを伝送するのに必要な帯域を取得し、あらかじめ取得した帯域を使って1サイクル(125μs)に一度、少なくとも1パケットのデータの伝送を行う。これによりデータ伝送のリアルタイム性が保証される。
一方、上記アシンクロナス通信は、コマンド等のコンピュータデータや静止画データの伝送のように、リアルタイム性が要求されないデータの伝送に用いられる通信方法である。
現在、アイソクロナス通信を用いたAVデータの伝送としては、ディジタルVCR(Video Cassette Recorder)用データの伝送方法、MPEG2トランスポートストリームのデータの伝送方法等が定義されている。
以下、簡単に従来のIEEE1394ネットワークでの通信方法について説明する。
図19(a)は、2つの端末装置が上記IEEE1394シリアルバスを介して接続されたネットワークを、また図19(b)は3つの端末装置が上記IEEE1394シリアルバスを介して接続されたネットワークを、それぞれ模式的に示している。
図19(a)のIEEE1394ネットワークは、アイソクロナスパケットを送信する第1のディジタルVCR201と、アイソクロナスパケットを受信する第2のディジタルVCR202と、上記VCR201とVCR202を接続するIEEE1394シリアルバス203により構成されている。
また、図19(b)のIEEE1394ネットワークは、アイソクロナスパケットを送信する第1のディジタルVCR201と、アイソクロナスパケットを受信する第2のディジタルVCR202と、第3のディジタルVCR205と、上記VCR201とVCR202を接続するIEEE1394シリアルバス203、及び上記VCR202とVCR205を接続するIEEE1394シリアルバス204により構成されている。尚、上記第1のディジタルVCR201は、上記ネットワーク上に125μs毎にサイクルスタートパケットを出力するメイン端末装置となっている。また、このメイン端末装置201は、各端末がデータ伝送に使用する周波数帯域の割り当てをも行う構成となっている。
上記IEEE1394ネットワークでは、1サイクル期間に対して、アイソクロナス通信に利用される時間と、アシンクロナス通信に利用される時間とが割り当てられており、1サイクル期間の80パーセントがアイソクロナス通信に、残りの20パーセントがアシンクロナス通信に利用されるようになっている。そして、各端末装置は、リアルタイム性の要求されるデータについてはアイソクロナス通信によりデータ伝送を行い、リアルタイム性の要求されないデータについてはアシンクロナス通信によりデータ伝送を行う。
次に動作について説明する。
バスリセット後、まずパケットを転送できる状態にするため、ツリー識別によりノード間の親子関係を決定し、複数のノードからのバスを使用する要求の調停を行うルートノードを決定する。このツリー識別により、VCR201のノードがルートノードに、またVCR202のノードが子ノードとなる。
次に、自ノードと他ノードを識別するための自己識別により、各ノードに識別番号が割り振られ、VCR201のノードの識別番号がphyshical_ID=0となり、またVCR202のノードの識別番号がphyshical_ID=1となる。
次に、VCR201のノードは、ルートノード201へデータの伝送に使用する帯域の許可(バス使用権)を求める。ルートノード201は、各ノードからの帯域使用の要求(バス使用権)を調停し、順にバス使用権を各ノードに与える。そしてVCR201のノードは、バス使用権が許可されると、アイソクロナスパケットの転送に必要な帯域幅、及びチャンネル番号を取得した後に、上記帯域を利用して、1サイクル期間中に少なくとも一回、アイソクロナスパケットをVCR202へ伝送する。
また、図18は、アイソクロナスパケットの送信を説明するための概念図である。
図において、206はサイクルスタートパケットであり、207はバス調停期間で複数ノードからのリクエストを調停する期間であり、208はバス使用権を獲得したノードが、パケット伝送準備が出来るまでバスをホールドするデータプレフィックス期間であり、210はデータエンドでパケット伝送が終了したことを示す期間である。
ルートノード201は、各サイクル毎にその先頭位置を示すサイクルスタートパケット206を出力している。そして、VCR201のノードは、バス調停期間207を経てバス使用権が得られると、パケット伝送準備が完了するまでバスはホールドされ(データプレフィックス期間208)、パケット伝送準備が完了すると、各サイクル毎にアイソクロナスパケット209が出力される。
また、アイソクロナス伝送では、図18(b)に示される様に複数チャンネルの伝送も可能であるが、この場合はそれぞれのチャンネル単位で帯域が確保される。
また、IEEE1394におけるこのようなアイソクロナス伝送は、非特許文献1に、詳しく記されている。
IEEE Std 1394-1995の規格書"IEEE Standard for a High Performance Serial BUS"
しかしながらIEEE1394シリアルバスでは、1本のバス(ツリー)あたり最大63ノードの接続しか許されておらず、64台目以降のノードは接続できない。また複数のバスを、バスブリッジを介して接続すると、約64000ノードを接続することができるが、バスブリッジには、異なるバス間でアイソクロナスパケットの相互転送を行う機能を有しておらず、業務用ダビング装置などのように1台のデッキから一度に数百台のデッキにダビング等を行うことができない。
またIEEE1394では、図19(b)に示すように、第1のディジタルVCR201から第2のディジタルVCR202へアイソクロナスパケットの伝送中に、第3のディジタルVCR205を、バス204により第2のディジタルVCR202へ新たに追加接続すると、バス全体がリセットする動作を起こしてしまう。そして、このような新たな機器の追加,または機器の切断等によりバスリセットが生じると、先に確立されていた第1のディジタルVCR201から第2のディジタルVCR202へのアイソクロナス伝送は、一旦中断されてしまう。
本発明は上記問題点に鑑み、IEEE1394シリアルバス等において、複数のシリアルバスを相互に接続し、63台以上の機器間でアイソクロナスパケット転送が可能であり、アイソクロナスパケットの転送を中断せずに機器の追加,切断等を行うことが可能なパケット転送装置、並びに該パケット転送装置によるパケット転送処理をコンピュータに行わせるためのプログラムを格納したデータ記録媒体を提供することを目的とする。
上記問題点を解決するために、請求項1に記載の発明に係るパケット転送装置は、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有することを特徴とするものである。
また、請求項2に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第1の時計手段と、上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものである。
また、請求項3に記載の発明に係るパケット転送装置は、請求項2に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものである。
また、請求項4に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものである。
また、請求項5に記載の発明に係るパケット転送装置は、請求項4に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものである。
また、請求項6に記載の発明に係るパケット転送装置は、請求項3、または5に記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させることを特徴とするものである。
また、請求項7に記載の発明に係るパケット転送装置は、請求項2から6のいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものである。
また、請求項8に記載の発明に係るパケット転送装置は、請求項1から7のいずれかに記載のパケット転送装置において、調停サイクルを出力する第2の時計手段と、上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものである。
また、請求項9に記載の発明に係るパケット転送装置は、請求項8に記載のパケット転送装置において、上記第1の読み出し制御手段は、上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものである。
また、請求項10に記載の発明に係るパケット転送装置は、請求項9に記載のパケット転送装置において、上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第1のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
また、請求項11に記載の発明に係るパケット転送装置は、請求項9に記載のパケット転送装置において、上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、上記第2のメモリ手段は、上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
また、請求項12に記載の発明に係るパケット転送装置は、請求項10に記載のパケット転送装置において、上記第1のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものである。
また、請求項13に記載の発明に係るパケット転送装置は、請求項11に記載のパケット転送装置において、上記第2のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものである。
また、請求項14に記載の発明に係るパケット転送装置は、請求項13に記載のパケット転送装置において、上記第2のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものであることを特徴とするものである。
また、請求項15に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものである。
また、請求項16に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下であることを特徴とするものである。
また、請求項17に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものである。
また、請求項18に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものである。
また、請求項19に記載の発明に係るパケット転送装置は、請求項1から18のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、IEEE1394シリアルバスであることを特徴とするものである。
また、請求項20に記載の発明に係るパケット転送装置は、請求項1から19のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、USB(Universal Serial Bus)であることを特徴とするものである。
また、請求項21に記載の発明に係る記録媒体は、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項1から20のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものである。
以上のように、請求項1に記載の発明に係るパケット転送装置によれば、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有するものとしたので、異なる外部バスに接続された63台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項2に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第1の時計手段と、上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものとしたので、異なる外部バス間で基準時刻を同期させることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項3に記載の発明に係るパケット転送装置によれば、請求項2に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものとしたので、異なる外部バス間で基準時刻を同一にさせることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項4に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートノードへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものとしたので、自ノードがサイクルマスタノードになれなかったゲートノードも、他の外部バスとの間で、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項5に記載の発明に係るパケット転送装置によれば、請求項4に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものとしたので、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一にしなくても、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項6に記載の発明に係るパケット転送装置によれば、請求項3、または5に記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させることを特徴とするものとしたので、アイソクロナスパケットの相互転送を行う外部バス間の基準時刻が同一となりアイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項7に記載の発明に係るパケット転送装置によれば、請求項2から6のいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものとしたので、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項8に記載の発明に係るパケット転送装置は、請求項1から7のいずれかに記載のパケット転送装置において、調停サイクルを出力する第2の時計手段と、上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものとしたので、受信側の機器(ノード)では、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
また、請求項9に記載の発明に係るパケット転送装置によれば、請求項8に記載のパケット転送装置において、上記第1の読み出し制御手段は、上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものとしたので、受信側の機器(ノード)では、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
また、請求項10に記載の発明に係るパケット転送装置によれば、請求項9に記載のパケット転送装置において、上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第1のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に、受信側の機器(ノード)へ、アイソクロナスパケットを転送することができるという効果を有する。
また、請求項11に記載の発明に係るパケット転送装置によれば、請求項9に記載のパケット転送装置において、上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、上記第2のメモリ手段は、上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器(ノード)へ転送することができるという効果を有する。
また、請求項12に記載の発明に係るパケット転送装置によれば、請求項10に記載のパケット転送装置において、上記第1のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものとしたので、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に、受信側の機器(ノード)へ、アイソクロナスパケットを転送することができるという効果を有する。
また、請求項13に記載の発明に係るパケット転送装置によれば、請求項11に記載のパケット転送装置において、上記第2のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器(ノード)へ転送することができるという効果を有する。
また、請求項14に記載の発明に係るパケット転送装置によれば、請求項139に記載のパケット転送装置において、上記第2のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものであることを特徴とするものとしたので、複数の機器(ノード)から送信されたアイソクロナスパケットを同時に受信することができ、受信先の複数の機器(ノード)へ矛盾無く転送することができるという効果を有する。
また、請求項15に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項16に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下であることを特徴とするものとしたので、全外部バスで最大転送レートを使っているときのパケットを全て転送することができるという効果を有する。
また、請求項17に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものとしたので、高伝送レートを容易に得ることができ、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
また、請求項18に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
また、請求項19に記載の発明に係るパケット転送装置によれば、請求項1から18のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、IEEE1394シリアルバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項20に記載の発明に係るパケット転送装置によれば、請求項1から19のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、USB(Universal Serial Bus)であることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
また、請求項21に記載の発明に係る記録媒体によれば、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項1から20のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものとしたので、異なる外部バスに接続された63台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
(実施の形態1)
図9は、本実施の形態1によるパケット転送装置100の構成を示す図である。
該パケット転送装置100は、アイソクロナスパケット伝送機能を有する外部バス1a〜1dと、任意の第jの外部バスから任意の第kの外部バスへアイソクロナスパケットの転送を行うためのアイソクロナスパケット転送機能を有する内部バス21と、外部バス1と内部バス21を接続し、自の外部バスまたは内部バスとの間でアイソクロナスパケットの送受信を行うゲートノード24a〜24dと、外部バスとは独立して絶対時刻を出力する第1の時計手段22と、調停サイクルを出力する第2の時計手段107と、各ゲートからのバスを使用する要求を平等に調停する内部バス調停手段23とを有しており、各ゲートノード24a〜24dに上記各外部バス1a〜1dが接続されて構成されている。
なお、上記外部バス1は、IEEE1394シリアルバスであり、上記内部バス21は、ディジタルデータ伝送経路を2車線以上有するパラレルバスである。また、上記第1の時計手段22は、ロード機能を持たないフリーランカウンタである。また、本パケット転送装置100の内部バスの最大転送レートは、外部バスの最大転送レートの総和の1/2のレートとする。
また図15は、上記パケット転送装置100に、複数の機器(ノード)が接続されている様子を示す図である。
パケット転送装置100において、ゲートノード24aの外部バス1aには、第1のディジタルVCR(Video Cassette Recorder)102と、第2のディジタルVCR103と、パーソナルコンピュータ104と、第1のディジタルTV105が接続されている。またゲートノード24bの外部バス1bには、第3のディジタルVCR99と、第1のSTB(Set Top Box)101が接続されている。また、ゲートノード24cの外部バス1cには、プリンタ98と、第2のSTB97が接続されている。なお、ゲートノード24dには何も接続されていない。
また、本実施の形態1のパケット転送装置100では、アイソクロナスパケットの送信もしくは受信を行う場合、パケット転送装置100の端末であるゲートノード24がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものとする。つまり、アイソクロナスパケット転送を、外部バス1a〜1cで行うものとすると、ゲートノード24a〜24cが、対応する各外部バス1a〜1cに対してサイクルマスタノードとなり、125μs毎にサイクルスタートパケットを出力する。
また、パケット転送装置100は、パケットの送受信を行う全ての外部バスへ基準時刻を出力することにより、各外部バス1a〜1dの基準時刻を統一させている。
このように本パケット転送装置100は、パケット送受信する外部バス全体で基準時刻を一致させた上で、パケットの送受信を行う構成となっている。
また図1は、ゲートノード24を構成するブロック図である。
ゲートノード24は、外部バス1と本装置100を接続する接続ポート2と、外部バス1上でパケットを送受信する第1のパケット送受信手段3と、上記第1の時計手段22からの絶対時刻を入力する入力端子16と、上記絶対時刻を取得するバス基準時刻計時手段4と、第1のタイムスタンプが存在するか否かを判定する第1のタイムスタンプ判定手段5と、上記第1のタイムスタンプの位置を検出する第1のタイムスタンプ位置検出手段6と、上記第1のタイムスタンプ位置検出手段6からの位置情報に基づき、上記第1のタイムスタンプにオフセットを加える第1のタイムスタンプオフセット手段7と、転送先または転送元情報、及び内部バス21での送受信に用いる情報を含む第2のヘッダをアイソクロナスパケット先頭に付加する内部バスヘッダ付加手段8と、上記第2のヘッダを付加したアイソクロナスパケットを格納する第1のメモリ手段9と、上記第1のメモリ手段9に格納されたアイソクロナスパケットを先読みし、第1のメモリ手段から上記内部バス21へのアイソクロナスパケットの転送を制御する第1の読み出し制御手段10とを有し、自の外部バスから受信したアイソクロナスパケットを、内部バス21へ送信するよう構成されている。
また、上記ゲートノード24は、特定のパケットを選択し受信するパケット選択手段11と、自の外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段108と、上記レジスタ108からの出力に基づき、受信したパケットのチャンネルナンバを書き換えるヘッダ書換手段12と、上記ヘッダ書換手段12によりパケットヘッダの書き換えられたアイソクロナスパケットを一時的に格納する第2のメモリ手段13と、上記第2のヘッダに含まれるサイクル数と、タイムスタンプに加えられたオフセットサイクル数とを加算し、この加算したサイクル数と、外部バスの基準時刻とを比較するサイクル数比較手段14と、上記第2のメモリ手段13に格納されたアイソクロナスパケットを先読みし、第2のメモリ手段13から自の外部バスへのアイソクロナスパケットの転送を制御する第2の読み出し制御手段15とを有し、アイソクロナスパケットを内部バス21より受信して、自の外部バスへ転送するように構成されている。
また、ゲート制御手段109は、ゲートノードがサイクルマスタになった場合、又は、なれなかった場合、の各場合に合わせて、ゲートノード24の動作全体の制御を行うものである。
ここで上記第1のタイムスタンプオフセット手段7は、第jの任意の外部バスから第kの任意の外部バスへパケットを転送するのに要する時間分を、転送遅延サイクルとして、検出された第1のタイムスタンプに第1のオフセット値を加えるように構成されている。尚、本パケット転送装置100では、タイムスタンプに加えられた、転送遅延分の第1のオフセット値を固定サイクル値とし、この固定サイクル値を3サイクルとして第1のタイムスタンプにオフセットを与えるものとする。
また上記サイクル数比較手段14では、アイソクロナスパケットの第2ヘッダに含まれるサイクル数に、上記第1のタイムスタンプに加えられたオフセット値(3サイクル)を加算し、加算されたサイクル数と、外部バスの基準時刻,即ちバス基準時刻計時手段4の示す時刻とを比較して、一致したら第2の読み出し制御手段15へサイクル数一致信号を出力するように構成されている。
また図5は、上記内部バスヘッダ付加手段8にて付加される第2のヘッダを示す図である。
上記第2のヘッダには、図5(a)に示すように、パケットの先頭に1クワッドレットを付加して、上位16ビットは、内部バスへ送信元ゲートを表し、下位16ビットは、外部バスからパケットを受信した際のサイクル数を表す方法や、図5(b)に示すように、パケットの先頭に付加した1クワドレットの上位16ビットは、内部バスの送信先のゲートノードを表し、下位16ビットは、外部バスからパケットを受信した際のサイクル数を表す方法がある。
また図2は、バス基準時刻計時手段4の構成を示すブロック図である。
上記バス基準時刻計時手段4は、上記第1の時計手段22の出力する時刻,またはサイクルスタートパケットに記されたバス基準時刻を入力する入力端子25,26と、上記入力端子25及び26からの出力を切替える切り替え手段27と、0から3071をカウントする12bitカウンタ手段28と、0から7999をカウントする13bitカウンタ手段29と、0から127をカウントする7bitカウンタ30と、出力端子31とを有している。
上記カウンタ28は、3071から0に回帰するとき、キャリー信号をカウンタ29のイネーブル端子に供給する。またカウンタ29は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップし、7999から0に回帰するとき、キャリー信号をカウンタ30のイネーブル端子に供給する。またカウンタ30は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップする。
これら3つのカウンタには、全て24.576MHzが供給されているので、カウンタ28は、1/24.576MHz単位でカウントアップし、カウンタ29は、1/24.576MHz×3072=125μsec単位でカウントアップし、カウンタ30は、125μsec×8000=1sec単位でカウントアップするよう構成されている。また、カウンタ29の数値はサイクル数と呼ばれており、アイソクロナスパケット伝送の基準周期である。
ここで、バス基準時刻計時手段4は、自ノードがサイクルマスタの場合、切り替え手段27は、入力端子25を選択して、第1の時計手段からの基準時刻をロードし、自ノードがサイクルマスタになれなかった場合、入力端子26を選択して、他ノードがブロードキャストしたサイクルスタートパケットに記される基準時刻をロードするように構成される。また、上記カウンタ28〜30は、IEEE1394−1995で規定されているサイクルタイムレジスタと同一のものである。
また図6は、上記第1のメモリ手段9の構成を示す図である。上記第1のメモリ手段9は、アイソクロナスパケットを入力する入力ポート52と、入力されたアイソクロナスパケットを読み込み格納するFIFOメモリ53と、アイソクロナスパケットを出力する出力端子54と、第1の読み出し制御手段10からの読み出し制御信号を入力する読み出し制御端子55とを有し、FIFOメモリ53に格納されたアイソクロナスパケットは、読み出し制御端子55より入力される読み出し制御信号に基づいて、出力端子54より内部バス21へ出力されるように構成されている。
また図3は、アイソクロナスパケット、及びDVパケットヘッダ部の構成を示す図である。
図3(a)は、上記アイソクロナスパケットの構造を示しており、アイソクロナスパケットは、パケット先頭に付加され、ネットワークの伝送路に関する情報、例えばパケットの長さや、伝送チャンネル等の情報が記されているアイソクロナスパケットヘッダ32と、ヘッダ32が正しく伝送されたかを受信側でチェックするのに用いられるヘッダCRC33と、端末からのデータを伝送するためのデータペイロード37により構成されている。また上記データペイロード37は、CIPヘッダ34と、データフィールド35、及びデータCRC36により構成されており、上記データCRC36は、データペイロード37が正しく伝送されたかを受信側でチェックするのに用いられる。
まず、上記アイソクロナスパケットヘッダ32の構成の説明をする。
上記アイソクロナスパケットヘッダ32では、先頭から16ビット目までの上位16ビットがパケットの長さを示すdata_lengthで、パケットの長さはバイトで記されている。上記data_lengthの次の17ビット目から18ビット目までの2ビットは、CIPヘッダが存在するかどうかを示すtagであり、01bの場合、データペイロードの先頭部分にCIPヘッダが存在することを示している。上記tagの次の19ビット目から24ビット目までの6ビットは、パケットの伝送チャンネルを示すchannelである。また、上記channelの次の25ビット目から28ビット目までの4ビットは、パケットの種類を表すtcodeであり、アイソクロナスパケットの場合、1010bとなる。また、上記tcodeの次の29ビット目から32ビット目までの4ビットは、アプリケーションが用いることが出来るビットsyである。
次に、上記CIPヘッダの構成34の説明をする。
上記tagが01bであるとき、データペイロードの先頭部分にはCIPヘッダが存在する。上記CIPヘッダは、1クワドレット(=32ビット)単位で記述され、先頭の2ビットは、どこまでがCIPヘッダであるかを表している。例えば、ディジタルVCR(以下DVと記す)の場合、CIPヘッダの第1クワドレットの先頭が00bで、第2クワドレットの先頭が01bであるが、これは、CIPヘッダが2クワドレットであることを示している。以下、パケットはDVの送出したパケットであるとし、第1のクワドレット目より説明する。
上記CIPヘッダの第1クワドレットの先頭より3ビット目から8ビット目までの6ビットは、パケットの送出元を示すソースノードアイディ(SID)である。上記SIDの次の9ビット目から16ビット目までの8ビットは、データフィルドにデータCRCを加えたときの長さをクワドレット単位で示すDBSであり、ディジタルVCRの場合、11110000b=120dとなる。
また、上記DBSの次の17ビット目から18ビット目までの2ビットは、ソースパケットが分割されているデータブロックの数を示すフラクションナンバー(FN)であり、DVの場合は00bとなり分割されていないことを示す。
また、上記FNの次の19ビット目から21ビット目までの3ビットは、データブロックサイズを合わせるために追加されたダミーのクワドレット数を示すクワドレットパディングカウント(QPC)である。これは、FN=00bである場合は使われない。
また、上記QPCの次の22ビット目の1ビットは、ソースパケットヘッダが存在するか否かを表すSPHである。SPHが1bの場合は、ソースパケットヘッダが存在していることを示し、ソースパケットヘッダにはサイクルタイムレジスタの下位25ビットがタイムスタンプとして記録され、MPEG伝送の時などに用いられる。また、DVの場合は、SPH=0bで、ソースパケットヘッダが存在しないことを示し、後述するSYTにタイムスタンプは記録されている。
また、上記SPHの次の23ビット目から24ビット目までの2ビットは、将来の拡張のために予約されているビットのリザーブ(rsv)である。上記rsvの次の25ビット目から32ビット目までの8ビットは、コンティニュイティカウンタオブデータブロック(DBC)である。
次に、CIPヘッダの第2のクワッドレット目の説明をする。
CIPヘッダの第2クワドレットの先頭より3ビット目から6ビット目までの6ビットは、フォーマットアイディ(FMT)である。FMT=000000bはDVを表し、FMT=100000はMPEGを表している。フォーマットが増えれば順次追加されていくが、現在はDVとMPEGが定義されている。
また、上記FMTの次の9ビット目から16ビット目までの8ビットは、フォーマットディペンデントフィールド(FDF)でありFMTに依存している。DVの場合は、8ビットのうち最初の1ビット目が50/60で画像データのフィールド周波数が50Hzであるか60Hzであるかを示しており、50Hz=1b,60Hz=0bである。そして、次の2ビット目から6ビット目までの5ビットは、STYPEで00000bが走査線525本,若しくは625本の画像であることを示し、00010bが走査線1125本若しくは1250本の画像であることを示している。例えば、50/60との組み合わせで、000000bが525−60Hz,100000bが625−50Hz,000010bが1125−60Hz,100010bが1250−50Hzを表している。そして、FDFの8ビットのうち残りの2ビットは、将来のために予約されたリザーブビット(Rsv)である。
また、上記FDFの次の17ビット目から32ビット目までの,第2クワドレットの最後の16ビットはSYTフィールドであり、DVの場合は、サイクルタイムレジスタの下位16ビットのうち、上位4ビットがサイクル数を表し、タイムスタンプとして記録されている。
また図3(b)は、第1のタイムスタンプオフセット手段7に入力されるDVパケットヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示している。
また図3(c)は、第1のタイムスタンプオフセット手段7から出力されるDVパケットのヘッダ部の一例を示している。この例では、SYTの上位4ビットが0001bから0100bとなっており、3サイクルのオフセットを加算したことを示している。
次に動作について説明する。
本実施の形態1では、アイソクロナスパケットの送受信が外部バス1a〜1c間で行われるものとし、特に、第3のディジタルVCR99から送出されたDVのアイソクロナスパケットが、第1のディジタルVCR102へ転送される様子を中心に説明する。
まず、アイソクロナスパケットの送受信を行う外部バス間の基準時刻が統一される。
具体的には、パケット転送装置のゲートノード24a〜24cが、バスリセット後に各外部バス1a〜1cに対し、ルートノードに決定すると、バス基準時刻計時手段4では、第1の時計手段22の出力する絶対時刻が、入力端子16より入力される。
このとき、バス基準時刻計時手段4では、第1の時計手段22の出力する絶対時刻が、切り替え手段27で選択された入力端子25より入力されて、カウンタ28,29,30へロードされる。これにより、各ゲートノード24a〜24cの第1の時計手段22とバス基準時刻計時手段4は同じ時刻を刻み、各ゲートノード24a〜24cのバス基準時刻計時手段4の示す時刻がサイクルスタートパケットに含まれ、各外部バス1a〜1cへ、125μs毎にサイクルスタートパケットが出力される。
このように、アイソクロナスパケットの送受信を行う各外部バス1a〜1cの基準時刻は統一される。
パケットの送受信を行う外部バス1a〜1c間の基準時刻が統一されると、図3(a)に示すDVアイソクロナスパケットが、第3のディジタルVCR99から送信され、外部バス1bを通過して、接続ポート2よりゲートノード24bの第1のパケット送受信手段3に受信される。
第1のパケット送受信手段3では、アイソクロナスパケットが受信されると、受信された時のサイクルスタートパケットがバス基準時刻計時手段4へ出力されるとともに、アイソクロナスパケットは、第1のタイムスタンプ判定手段5へ出力される。
上記バス基準時刻計時手段4では、上記第1のパケット送受信手段3よりサイクルスタートパケットが入力されると、上記アイソクロナスパケットを受信した瞬間のバス基準時刻計時手段4の示すサイクル数が、サイクル数保持手段106へ出力される。サイクル数保持手段106では、入力されたサイクル数が保持される。
また上記第1のタイムスタンプ判定手段5では、入力されたアイソクロナスパケットに、タイムスタンプが含まれているか否かチェックされる。このとき、DVであれば、tag=01bのとき、CIPヘッダが存在し、且つ、タイムスタンプが含まれていることがわかる。この第1のタイムスタンプ判定手段5における判定結果と受信パケットは、第1のタイムスタンプ位置検出手段6へ出力される。
第1のタイムスタンプ位置検出手段6では、第1のタイムスタンプの位置が検出される。このとき、SPH=0b,FMT=000000b,FDF=00000000bであること等がチェックされると、SYTにタイムスタンプ(第1のタイムスタンプ)が存在することがわかる。MPEG等では、SPH=1bであった場合、第1のタイムスタンプはSPH内に存在するため、CIPヘッダのパラメータを用いてSPHの位置が検出される(AV伝送規格参照)。このように第1のタイムスタンプ位置検出手段6では、第1のタイムスタンプの位置が検出され、この第1のタイムスタンプの位置を示す位置情報は、パケットと共に第1のタイムスタンプオフセット手段7へ出力される。
上記第1のタイムスタンプオフセット手段7では、入力された位置情報に基づき、入力されたパケットの第1のタイムスタンプに、転送に要する時間(転送遅延サイクル)だけオフセットが加えられる。具体的には、図3(c)を参照して、SYTの上位4ビットであるサイクル数0001bに、転送遅延サイクルの3サイクルが加算され、0100bとされる。このように第1のタイムスタンプにオフセットが加えられたパケットは、内部バスヘッダ付加手段8に入力される。
内部バスヘッダ付加手段8では、入力されたパケットの先頭に、内部バス21でのパケットの送受信の際に必要な、図5(a)に示す第2のヘッダが付加される。このとき、1クワドレットからなる第2ヘッダの上位16ビットは、内部バスへの送信元ゲートを示しており、下位16ビットは、サイクル数保持手段106の保持するサイクル数、つまり外部バス1からパケットを受信した際のサイクル数を示している。この第2のヘッダが付加されたパケットは、第1のメモリ手段9へ出力される。
上記第1のメモリ手段9では、入力されたパケットが読み込まれ、一時的に格納される。つまり、上記第1のメモリ手段9では、パケットは、入力ポート52より入力し、FIFOメモリ53へ読み込まれ、読み出し制御端子55より読み出し制御信号が入力されるまで格納される。
ここで、第2の時計手段107では、内部バス調停手段23へ調停サイクル(Arbitration Cycle)が出力されている。そして内部バス調停手段23では、この調停サイクルが各ゲートノード24a〜24dの第1の読み出し手段10へ、入力端子17を通して出力されている。
このとき、上記第1の読み出し制御手段10では、上記第1のメモリ手段9に格納されているアイソクロナスパケットの,パケット先頭に付加された第2ヘッダを先読みし、上記第2ヘッダに含まれる第2のタイムスタンプと、上記第2の時計手段107が示す調停サイクルとの比較を行い、両者が一致すると、バスを使用する要求(Request)を、内部バス調停手段23へ出力する。
内部バス調停手段23は、各ゲートからのRequestを平等に調停し、順にバス使用権(Grant)を与える。
第1の読み出し制御手段10では、バス使用権が内部バス調停手段23より入力されると、第2の時計手段107の示す調停サイクルと一致するパケットを内部バス21へ出力するように、第1のメモリ手段9へ読み出し制御信号を出力する。
第1のメモリ手段9では、読み出し制御信号が入力されると、入力された読み出し制御信号に基づきパケットが内部バス21へ送出される。そして、第1のメモリ手段9よりパケットを内部バス21へ送出し終えると、第1の読み出し制御手段10では、内部バス調停手段23へ送出すべきパケットを出力し終わったことを示すサイクルダン信号が出力される。また、格納したパケットに送出すべきパケットが存在しない時は、上記第1の読み出し制御手段10より、即座に内部バス調停手段23へサイクルダン信号が出力される。上記第2の時計手段107の示すサイクルを持つパケットが、各ゲートノードより全て内部バス21へ送出されると、第2の時計手段107では、調停サイクルを1進める。
このように、第2の時計手段107の出力する調停サイクルと同じサイクルをもつパケットが、各ゲートノードより順番に内部バス21へ送出されるように、内部バス調停手段23では、各ゲートノードからのRequestに対して平等に調停が行われるが、このような調停を行って各ゲートノードからパケットを送出する方法を、サイクル制御型調停という。
次に、上記サイクル制御型調停を経て、内部バス21へ出力されたゲートノード24bからのアイソクロナスパケットを、ゲートノード24aで受信し外部バス1aへ転送する時の、ゲートノード24aにおける動作について説明する。
パケット選択手段11では、内部バス21を流れるパケットは、入力端子20を通じて監視されている。具体的には、パケット選択手段11では、図5(b)に示すパケット先頭に付加された第2のヘッダの送信先ゲートが、自ノード,つまりゲートノード24aを示しているかどうか調べ、自ノードを示していれば、内部バス21を流れるパケットが受信され、受信されたパケットは、ヘッダ書き換え手段12へ出力される。
上記ヘッダ書き換え手段12では、入力されたパケットのチャンネルナンバが、レジスタ手段108の出力するチャンネルナンバに書き換えられ、書き換えられたパケットは第2のメモリ手段13へ出力される。この書換えは、送信元外部バスでのチャンネルナンバが自の外部バスで既に使用されている場合などになされるものであり、書換えの必要の無いときは書き換えることはない。
また図4(a)は、書き換え前のDVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示しており、図4(b)は、書き換え後のDVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す。この例では、111111bチャンネルが000001bチャンネルに書き換えられている。更に、必要ならばヘッダの他の部分の書き換えを行っても良い。
このようにヘッダの書き換えが終了したアイソクロナスパケットは、第2のメモリ手段13へ出力され、一時的に格納される。第2の読み出し制御手段15では、上記第2のメモリ手段に格納されたアイソクロナスパケットから、第2のヘッダと上記第1のタイムスタンプとが先読みされ、読み出されたサイクル数、及び第1のオフセット値はサイクル数比較手段14へ出力される。
サイクル数比較手段14では、入力されたサイクル数と第1のオフセット値(3サイクル)が加算され、この加算された値と、バス基準時刻計時手段4が出力する外部バスの基準時刻との比較が行われる。そして、両者が一致すると、サイクル数一致信号が上記第2の読み出し制御手段15へ出力される。
第2の読み出し制御手段15では、サイクル数比較手段14よりサイクル数一致信号が入力されると、第2のメモリ手段13へ、格納されたパケットを第1のパケット送受信手段3へ出力するように読み出し制御信号が出力される。
第2のメモリ手段13では、読み出し制御信号が入力されると、格納されたパケットが読み出され、読み出されたパケットは、第1のパケット送受信手段3へ出力される。
第1のパケット送受信手段3では、第2のメモリ手段13よりパケットが入力されると、送出するパケットの帯域が確保された後に、外部バス1aへパケットが送出される。
このように、外部バス1bからのアイソクロナスパケットは、外部バス1aへ送出される。本パケット転送装置100では、外部バスの基準時刻を一致させた上で、パケットの転送遅延に掛かる分だけタイムスタンプオフセットを与えているため、図15の第1のディジタルVCRは、第3のディジタルVCRのパケットを矛盾無く受信できる。
次に、上記サイクル制御型調停を、図8を用いて具体的に説明する。
図8は、サイクル制御型調停を用いて、各ゲートノードから内部バス21へパケットが送出される様子を示す図である。
図8(a)は、パケット転送装置が各外部バス1a〜1dより入力されるパケットを示している。このとき外部バス1d上には、サイクルの後半に巨大なアシンクロナスパケットが送信されている。また、図8(b)は、第2の時計手段107の出力する調停サイクルであり、図8(c)は、各ゲートノードより内部バス調停手段23へバスを使用する要求(Request)が出力される様子を示す図である。また図8(d)は、内部バス調停手段23から各ゲートノードへバス使用権(Grant)が出力される様子を示す図であり、図8(f)は、各ゲートノードから内部バス調停手段23へ、送出すべきパケットを送出し終えたことを示すサイクルダン(CycleDone)信号が出力される様子を示す図である。また、図8(e)は、内部バス21に各ゲートノードより送出されたアイソクロナスパケットを示している。
まず、1aから1dの各ゲートノードでは、第2の時計手段107より出力される調停サイクルと、同じサイクルを持つパケットが、第1のメモリ手段9に格納されていると、バスを使用する要求を、バス使用権が与えられるまで、内部バス調停手段23へ出力し続ける。
内部バス調停手段23では、各ゲートノードからの要求を平等に調停し、サイクルダン信号に基づき、相互にバスを使用する期間が重ならないように、順に各ゲートへバス使用権を与える。バス使用権が与えられたゲートから順番に内部バス21へパケットが送出され、パケットを送出し終えると、サイクルダン信号が内部バス調停手段23へ出力される。
このように、第2の時計手段107の出力する調停サイクルと同じサイクルを持つパケットを、全てのゲートノードより送出し終えると、第2の時計手段107は調停サイクルを1進める。そして、次の新しい調停サイクルを持つパケットが、各ゲートノードより順に内部バス21へ送出されることとなる。
このようなサイクル制御型調停を用いると、外部バス1dのように、サイクルの後半に巨大なアシンクロナスパケットが送信された場合でも、サイクルの逆転を生じずにパケット転送装置が受信した順番にパケットが内部バスへ送信されることとなる。
また、非サイクル制御型調停を利用した場合について、図7を用いて説明する。
非サイクル制御型調停の場合、上記内部バス調停手段23は、第2の時計手段107の示す調停サイクルを各ゲートノードに出力しない。このため、各ゲートノードの第1の読み出し制御手段10では、第1のメモリ手段9にパケットが格納されるとすぐに、内部バス調停手段23へ内部バスを使用する要求が出力される(図7(b))。内部バス調停手段23では、各ゲートノードからのバスの使用要求を平等に調停し、順にバスの使用権を与え(図7(c))、各ゲートノードの読み出し制御手段10では、バス使用権が与えられると、順に内部バスへパケットを送出する(図7(d))。
しかし、非サイクル制御型調停では、外部バス上でサイクルの後半に、巨大なアシンクロナスパケットが送信された場合、次のサイクルスタートパケットが遅延し、このサイクルで送信されるアイソクロナスパケット(図中Iso31)が遅延するため、内部バス上で、受信サイクル順序の逆転が生じる。つまり、受信サイクル順にパケットを送出するなら、Aの区間に送出されるべきパケットが、Bの位置で送出されてしまうため、サイクル制御型調停のように、受信サイクルの順番にパケットが送出されない。
本実施の形態のパケット転送装置では、第2のメモリ手段13を、唯一のFIFOメモリを用いてパケットを受信するものとしたため、非サイクル制御型調停でのサイクル数の逆転が生じた時に対応できないことにより、サイクル制御型調停を用いなければならない。
このように本実施の形態1によるパケット転送装置100では、異なる外部バス間でアイソクロナスパケットの転送を行うための内部バスと、内部バスと外部バスとを接続し、自の外部バス及び内部バスとの間でアイソクロナスパケットの送受信を行うゲートノードと、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同期させる同期手段と、タイムスタンプにオフセット値を加えるオフセット手段と、第1から第n(nは2以上の自然数)の各外部バスによる内部バスの各使用要求を調停し、各外部バス間で、内部バスの使用期間が重ならないように順番にバス使用権を与える調停手段と、を備え、アイソクロナスパケットの送受信を行う外部バス間の基準時刻を同期させた上で、任意の第jの外部バスから内部バスへアイソクロナスパケットが転送され、受信先の第kのゲートノードでは、パケットの転送遅延に掛かる時間分だけオフセットして、自の外部バスへ転送される動作が行われる。このため、異なる外部バスから送信されたアイソクロナスパケットであっても、そのアイソクロナスパケットを送信した順番に、受信側の機器(ノード)では、アイソクロナスパケットを受信することができ、異なる外部バス間でのアイソクロナスパケットの送受信を矛盾無く行うことができる。
また、本パケット転送装置100により、異なる外部バス間でのアイソクロナスパケットの送受信が可能となったので、本パケット転送装置100に複数個(x個)の外部バスを接続すると、63xの機器(ノード)を接続することができ、63台以上の機器間でアイソクロナスパケットの相互転送を行うことができる。
また、本パケット転送装置100では、任意の外部バスにおけるバスリセットは、他の外部バスには影響を与えないため、アイソクロナスパケットの送受信中の外部バスがあっても、その送受信中の外部バス以外の外部バスで、新たな機器の接続,或いは機器の切断を行うことにより、バスリセットに起因するアイソクロナスパケットの転送の中断を生ずることなく正常にアイソクロナスパケットの転送を行うことができる。
また、本パケット転送装置100の内部バスの最大転送レートは、外部バスの最大転送レートの総和の1/2のレートとしたので、全外部バス最大転送レートを使っている時のパケットを全て転送することができる。
また、内部バスに、ディジタルデータ伝送経路を2車線以上を有するパラレルバスを用いたので、高伝送レートを容易に得ることができる。
また、外部バスクロックと内部バスクロックを同期させると、アイソクロナスパケットの転送が更に容易となる。
なお、本発明のパケット転送装置における内部バスに、外部バスと同一のシリアルバスを用いてもよい。
また、外部バスは、帯域が保証された伝送が可能なバスであれば、USB(Universal Serial Bus)など他の外部バスを用いてもよい。
また、本実施の形態1では、内部バスへの送出元のゲートノードで、タイムスタンプにオフセット値を加えたが、内部バスからの受信側のゲートノードで行っても良い。
また、各外部バスの基準時刻は、全て第1の時計手段の時刻に一致させたが、一致させなくともオフセットを持ったまま同期していても良い。この場合、パケットを受信する外部バスとパケットを送信する外部バスのオフセット時間を第2のオフセット値として、第1のタイムスタンプに加えられた第1のオフセット値に、第2のオフセット値を加算もしくは減算すればよい。
また、本実施の形態1では、アイソクロナスパケットの送受信を行う場合、パケット転送装置の全ての端末がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものを例としたが、図16のゲートノード24bのように、自ノードがサイクルマスタノードになれなかった場合は、上記ゲートノード24bでは、サイクルマスタノードとなった第1のSTB101からブロードキャストされたサイクルスタートパケットを、第1のパケット送受信手段3で受信し、そのサイクルスタートパケットに記されているバス基準時刻を、バス基準時刻計時手段4ヘロードして、バス基準時刻計時手段4の時刻をサイクルマスタの示す基準時刻に合わせる。ただしこの時は、外部バス1bと、外部バス1aおよび1cの基準時刻が異なるため、外部バス1bでのアイソクロナスパケットの転送を行うことはできない。
(実施の形態2)
図10は、本実施の形態2によるパケット転送装置を説明するための図であり、ゲートノード64の構成を示すブロック図である。
本実施の形態2におけるゲートノード64は、実施の形態1におけるレジスタ手段107に代えて、受信する送信元とそのチャンネルナンバ、及び自の外部バスへパケットを送出するためのチャンネルナンバとを格納するレジスタ手段113と、実施の形態1における第2のメモリ手段13に代えて、ヘッダ書換え手段12からのパケットを各送信元毎に分類して格納する第2のメモリ手段60と、実施の形態1における第2の読み出し制御手段15に代えて、送信元毎に格納されたパケットを先読みし、パケットの読み出しを制御する第2の読み出し制御手段62と、上記第2のメモリ手段の出力を選択するメモリ選択手段63とを新たに備えたものである。
本実施の形態2によるパケット転送装置のその他の構成は、実施の形態1のパケット転送装置100と同一である。
また図11は、パケット転送装置における上記第2のメモリ手段60の構成を示す図である。
第2のメモリ手段60は、ヘッダ書き換え手段12からのパケットを入力する入力端子65と、入力されたパケットの送信元を判断し、送信元毎にパケットを分類する送信元判断手段66と、上記送信元判断手段66からのパケットをそれぞれ各送信元毎に格納する複数のFIFOメモリ手段67〜70と、第2の読み出し制御手段62からの読み出し制御信号を入力する読み出し制御端子75と、上記複数のFIFOメモリ手段67〜70より読み出されたパケットを出力するパケット出力端子71〜74とを有している。
なお本実施の形態2の第2のメモリ手段60におけるFIFOメモリ手段67〜70では、FIFOメモリ67はゲート64aに,またFIFOメモリ68はゲート64bに,またFIFOメモリ69はゲート64cに,またFIFOメモリ70はゲート64dに,それぞれ対応し、各FIFOメモリは対応するゲートノードからのパケットを格納する。
また、本実施の形態2におけるパケット転送装置200では、パケット転送装置200の各ゲートノード64a〜64dに、複数の機器(ノード)が接続されているものとし、バスリセット後に、各ゲートノード64a〜64dは、対応する外部バス1a〜1dに対してそれぞれルートノードとなるものとする。
次に動作について説明する。
パケット転送装置200の各ゲートノード64a〜64dでは、バスリセット後に、各ゲートノード64a〜64dの各外部バス1a〜1dに対し、ルートノードに決定すると、第1の時計手段22の示す時刻を読み込み、各ゲートノード64a〜64d間の基準時刻が上記第1の時計手段の示す時刻に統一される。
パケットの送受信を行う外部バス間で基準時刻が統一されると、実施の形態1と同様の動作で、各ゲートノードから内部バス21へパケットが送出される。
本実施の形態2では、内部バス21を流れるアイソクロナスパケットを、ゲートノード64aが受信する動作について説明する。
ゲートノード64aのパケット選択手段11では、内部バス21を流れるパケットが、入力端子20を通じて監視されている。具体的には、パケット選択手段11では、レジスタ手段113より出力される、受信する送信元とそのチャンネルナンバが、内部バス21を流れるDVパケットの第2のヘッダに含まれる送信元、及びアイソクロナスパケットヘッダに含まれるチャンネルナンバと、一致するかどうかチェックされ、一致した場合、内部バス21よりパケットは受信され、受信されたパケットはヘッダ書換え手段12へ出力される。
ヘッダ書換手段12では、パケット選択手段11からのパケットのチャンネルナンバが、レジスタ手段113が出力した,自の外部バス1aへ送出するためのチャンネルナンバに書き換えられる。尚、この書換えは、送信元外部バスでのチャンネルナンバが、自の外部バスで既に使用されている場合になされるものである。書換えの必要が無い場合は書換えることはない。また、必要ならば、ヘッダの他の部分の書換えを行っても良い。
このようにヘッダ書換手段12にて、ヘッダの書換えを終えたパケットは、第2のメモリ手段60へ出力される。
第2のメモリ手段60では、入力されたパケットは、各送信元毎に分類して一時的に格納される。具体的には、第2のメモリ手段60では、ヘッダの書換えの終えたパケットは、入力端子65より送信元判断手段66へ入力され、送信元判断手段66にて、パケットが送信元毎に分類されて67から70の各FIFOメモリに読み込まれ、読み出し制御信号が入力されるまで格納される。
このように上記67から70のFIFOメモリに格納されたパケットは、第2の読み出し制御手段62に同時に先読みされる。このとき読み出されたパケット先頭の第2ヘッダに含まれるサイクル数と第1のタイムスタンプに加えられたオフセット値は、サイクル数比較手段61へ出力される。サイクル数比較手段61では、入力されたサイクル数と、第1のオフセット値(3サイクル)とを加算し、この加算結果と、バス基準時刻計時手段4が出力する基準時刻との比較を行い、一致すると、第2の読み出し制御手段62へ、サイクル数一致信号が出力される。
また第2の読み出し制御手段62では、サイクル数比較手段61よりサイクル数一致信号が入力されると、第2のメモリ手段60へ読み出し制御信号が出力され、読み出すパケットが格納されたFIFOメモリから、パケットが読み出されてメモリ選択手段63へ出力される。具体的に、第2のメモリ手段60では、読み出し制御端子75から読み出すパケットを格納したFIFOメモリ68へ読み出し制御信号が出力される。FIFOメモリ68に読み出し制御信号が入力されると、FIFOメモリ68に格納されたパケットが読み出され、出力端子72よりメモリ選択手段63へ出力される。このとき上記メモリ選択手段63では、第2のメモリ手段60におけるFIFOメモリ67から70の出力のうち、FIFOメモリ68の出力が選択されており、このメモリ選択手段63に入力されたパケットは、第1のパケット送受信手段3へ出力される。
また、FIFOメモリ68以外に、FIFOメモリ67,69,70のいずれかで、同時に読み出すと判断された場合は、各FIFOメモリから順に1パケット単位ずつ読み出しが行われるように、メモリ選択手段63ではFIFOメモリ67〜70の出力が切替えられて入力される。
第1のパケット送受信手段3では、送出するパケットの帯域が確保されると、内部バス21で受信したゲートノード64bからのアイソクロナスパケットが、外部バス1aへ送出される。
このように本実施の形態2によるパケット転送装置では、ゲートノード64は、各ゲートノードから送出されたパケットを送信元のゲート毎に格納する第2のメモリ手段60と、第2のメモリ手段60からの出力を選択するメモリ選択手段63と、を備えたので、複数の外部バスから送信されたパケットを、混同することなく同時に受信することができ、自の外部バスの各送信先の機器(ノード)へ同時に転送することができる。
また、本パケット転送装置の第2のメモリ手段60は、複数のFIFOメモリを備えているので、非サイクル制御型調停を用いてサイクル数逆転が生じた場合,つまり、各機器(ノード)から送信されたアイソクロナスパケットがサイクルの順番通りに受信側のゲートノードで受信されなかった場合でも、受信側のゲートノードでは、各機器(ノード)からアイソクロナスパケットが送信されたサイクルの順番に、送信先の機器(ノード)へ転送することができ、非サイクル制御型調停でもアイソクロナスパケットの相互転送を矛盾無く行うことができる。
なお、本実施の形態2では、ゲートノード64aが、複数の他の外部バスから内部バス21上へ送出されたパケットを、同時に受信する動作を中心に説明したが、上記ゲートノード64aがパケットを受信している間に、他のゲートノード64b〜64dでも、内部バス21上の複数の送信元からのパケットを同時に受信し、自の外部バスへ転送することができる。
(実施の形態3)
図14は、本実施の形態3を説明するためのパケット転送装置300の構成を示すブロック図である。
パケット転送装置300は、全ての外部バスの基準時刻を統一させるための基準時刻用バス96と、外部バス間の時刻差を検出する時刻差検出手段112と、バス基準時刻計時手段76の示す時刻を他のゲートノードにブロードキャストするためのスイッチ92a〜92dとを有し、各ゲートノードのバス基準時刻計時手段76は、スイッチ92を介して基準時刻用バス96,または時刻差検出手段112と、接続されている。
ここで、自ノードがサイクルマスタになれなかったゲートのバス基準時刻計時手段76では、バス基準時刻計時手段76の示す時刻が、基準時刻用バス96を介して、サイクルマスタとなった他ゲートへブロードキャストされ、他ゲートのバス基準時刻計時手段76では、ブロードキャストされた上記時刻を、基準時刻用バス96よりロードして、サイクルマスタとなったバスの基準時刻を、サイクルマスタになれなかったバスの基準時刻に合わせ、外部バス間の基準時刻を同一にするように構成されている。
また、本パケット転送装置300は、アイソクロナスパケットを送受信する外部バス間で、基準時刻を同一にしない場合、時刻差検出手段112は、パケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードで、検出された時刻差の分を転送遅延サイクルと合わせて、自の外部バスへパケットを転送する際に、早めたり遅らせたりすることにより、アイソクロナスパケットのサイクルと、外部バスの基準時刻(基準サイクル)とを同一にするように構成されている。
また図13は、バス基準時刻計時手段76の構成を示すブロック図である。
バス基準時刻計時手段76では、切り替え手段83は、第1の時計手段22の出力する絶対時刻を入力する入力端子80と、第1のパケット送受信手段3で受信したサイクルスタートパケットを入力する入力端子81と、サイクルスタートパケットを受信する度に、基準時刻用バス96より基準時刻を入力する入力端子82とを有する。
本実施の形態3では、図16を参照し、アイソクロナスパケットの送受信を行う外部バス1a〜1cにおいて、本パケット転送装置300のゲートノード79aおよび79cが外部バス1aおよび1cに対しサイクルマスターノードとなり、ゲートノード79bは外部バス1bのサイクルマスタノードになれなかった場合に、外部バス1bの第3のディジタルVCR99から外部バス1aの第1のディジタルVCR102へパケットを転送する場合を例に説明する。また、このとき外部バス1bのサイクルマスタノードは、第1のSTB101がなるものとする。なお、パケット転送装置300のゲートノード79a〜79cが全てサイクルマスタノードとなる場合は、実施の形態2と同様の動作を行う。
次に動作について説明する。
バスリセット後にゲートノード79a及びゲートノード79cは、自の外部バス1a及び1cでルートノードになるとともに、サイクルマスタノードに決定し、その瞬間、第1の時計手段22の出力する絶対時刻が、バス基準時刻計時手段76にロードされ、サイクルスタートパケットに上記絶対時刻が記されて外部バス1a及び1cへブロードキャストされる。
このとき、サイクルマスタノードになれなかったゲートノード79bでは、サイクルマスタノードとなった第1のSTB101よりブロードキャストされたサイクルスタートパケットが、第1のパケット送受信手段3より入力され、バス基準時刻計時手段76へ出力される。
バス基準時刻計時手段76では、入力されたサイクルスタートパケットに記された時刻がロードされ、ロードされた時刻は、スイッチ92bを通して基準時刻用バス96へ出力される。具体的には、バス基準時刻計時手段76へ、切り替え手段83で入力端子81が選択され、入力端子81よりサイクルスタートパケットが入力される。サイクルスタートパケットが入力されると、サイクルスタートパケットに記された時刻は、カウンタ84,85,86へロードされ、ロードされた時刻は出力端子87より出力される。
次に、サイクルマスタノードとなったゲートノード79a及び79cでは、基準時刻用バス96を流れる上記ゲートノード79bの基準時刻が、入力端子77a及び77cよりバス基準時刻計時手段76へそれぞれ入力される。このとき、ゲートノード79a及び79cのバス基準時刻計時手段では、入力された基準時刻がロードされ、ロードされた時刻は、第1のパケット送受信手段にて、サイクルスタートパケットに記されて、各外部バス1a及び1cへ出力される。具体的には、バス基準時刻計時手段76では、切り替え手段83で入力端子82が選択され、入力端子82より基準時刻用バス96を流れるゲートノード79bの基準時刻が入力される。そして、この入力された時刻はカウンタ84,85,86へロードされ、ロードされた時刻は出力端子87より出力される。
このように、アイソクロナスパケットの送信もしくは受信を行う外部バスのうち、サイクルマスタノードとなったゲートノード79a及び79cは、サイクルマスタノードになれなかったゲートノード79bの基準時刻に合わせることによって、アイソクロナスパケットの送受信を行う全ての外部バスの基準時刻が統一される。アイソクロナスパケットの送受信を行うバス間の基準時刻が統一されると、第3のディジタルVCR99からアイソクロナスパケットが送信され、ゲートノード79bヘ入力される。以下のアイソクロナスパケットの送受信は、実施の形態1と同様の動作で行われる。
次に、アイソクロナスパケットの送受信を行うバス間で、バスの基準時刻を統一しない場合を説明する。
アイソクロナスパケットの送受信を行う外部バス間でバス基準時刻を統一しない場合、ゲートノード79a及び79bにおけるゲート制御手段109a及び109bより、それぞれ時刻差検出手段109へ時刻差を検出するように時刻差検出信号が出力されるとともに、バス基準時刻計時手段76a及び76bへ、バス基準時刻計時手段76a及び76bの示す時刻をそれぞれ時刻差検出手段112へ出力するように計時時刻出力信号が出力される。バス基準時刻計時手段76a及び76bでは、ゲート制御手段109a及び109bより計時時刻出力信号が入力されると、バス基準時刻計時手段76a及び76bの示す時刻をそれぞれ出力端子78a及び78bを通して、時刻差検出手段112へ出力される。
時刻差検出手段112では、上記時刻差検出信号が入力されると、上記バス基準時刻計時手段76a及び76bより入力されたそれぞれの外部バスの基準時刻より、外部バス間の基準時刻の時刻差が検出され、検出された時刻差は第2のオフセット値として、ゲートノード79bの第1のタイムスタンプオフセット手段7bへ出力される。
このように、アイソクロナスパケットの送受信を行う外部バス間の基準時刻差が検出されると、第3のディジタルVCR99からアイソクロナスパケットが送信され、ゲートノード79bに受信される。
以下、アイソクロナスパケットの送受信は、送信側のゲートノード79bでは、第1のタイムスタンプオフセット手段7がタイムスタンプに、転送遅延分の3サイクルとしての第1のオフセット値と、外部バス間の時刻差としての第2のオフセット値とを加える他は、実施の形態1と同様の動作が行われてアイソクロナスパケットが送信される。
一方、受信側のゲートノード79aでは、タイムスタンプに加えられた第1のオフセット値と第2のオフセット値の分だけ、パケットを送信するタイミングを、早めたり、遅らせたりして外部バス1aへパケットを送信する。具体的には、サイクル数比較手段14は、パケットの第2ヘッダに含まれるサイクル数に、タイムスタンプに転送遅延サイクル,及び時刻差として加えられた第1と第2のオフセット値を加算し、この加算した値が外部バス1aの基準時刻と一致するかどうか比較を行う。その他は、実施の形態1と同様の動作が行われて、アイソクロナスパケットが内部バス21より受信され、自の外部バス1aへ転送される。
このように、本実施の形態3におけるパケット転送装置300は、基準時刻用バス96を備え、外部バスに対しサイクルマスタノードになれなかったゲートノードの示す基準時刻に、他のサイクルマスタノードとなれたゲートノードの基準時刻を合わせる構成としたので、アイソクロナスパケットの送受信を行うゲートノードの中に、サイクルマスターノードとなれなかったゲートノードがあっても、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一とすることができ、アイソクロナスパケットの送受信を行うことができる。
また、パケット転送装置300は、時刻差検出手段112を備え、送信側のゲートノードでは、アイソクロナスパケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードでは、転送遅延サイクルと検出された時刻差の分だけ、アイソクロナスパケットの、自の外部バスへの転送を、早めたり遅らせたりするように構成したので、異なる外部バス間で、基準時刻を一致させなくてもアイソクロナスパケットの送受信を行うことができる。
さらに、上記各実施の形態で示したパケット転送装置によるパケット転送処理をソフトウエアにより行うためのパケット転送処理プログラムを、フレキシブルディスク等のデータ記憶媒体に記録するようにすることにより、上記各実施の形態でのパケット転送処理を、独立したコンピュータシステムにおいて簡単に実現することが可能となる。
図17は、上記各実施の形態のパケット転送処理を、上記パケット転送処理プログラムを格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合を説明するための図である。
図17(a)は、フレキシブルディスクの正面からみた外観,断面構造,及びフレキシブルディスク本体を示し、図17(b)は、該フレキシブルディスク本体の物理フォーマットの例を示している。
上記フレキシブルディスクFDは、上記フレキシブルディスク本体DをフレキシブルディスクケースFC内に収容した構造となっている。該フレキシブルディスク本体Dの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成されている。各トラックTrは角度方向に16のセクタSeに分割されている。
従って、上記プログラムを格納したフレキシブルディスクFDでは、上記フレキシブルディスク本体Dは、その上に割り当てられた領域(セクタ)Seに、上記プログラムとしてのデータが記録されたものとなっている。
また、図17(c)は、フレキシブルディスクFDに対する上記プログラムの記録、及びフレキシブルディスクFDに格納したパケット転送処理プログラムを用いたソフトウエアによるパケット転送処理を行うための構成を示している。
上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記パケット転送処理プログラムとしてのデータを、フレキシブルディスクドライブFDDを介してフレキシブルディスクFDに書き込む。また、フレキシブルディスクFDに記録されたパケット転送処理プログラムにより、上記パケット転送装置をコンピュータシステムCs中に構築する場合は、フレキシブルディスクドライブFDDによりパケット転送処理プログラムをフレキシブルディスクFDから読み出し、コンピュータシステムCsにロードする。
なお、上記説明では、データ記憶媒体の具体例としてフレキシブルディスクを挙げたが、光ディスクを用いても上記フレキシブルディスクの場合と同様にソフトウェアによるパケット転送処理を行うことができる。さらに、データ記憶媒体は上記光ディスクやフレキシブルディスクに限るものではなく、ICカード、ROMカセット等、プログラムを記録できるものであればどのようなものでもよく、これらのデータ記録媒体を用いる場合でも、上記フレキシブルディスク等を用いる場合と同様にソフトウェアによるパケット転送処理を実施することができる。
本発明は、63台以上の機器間でアイソクロナスパケット伝送を相互転送する装置に有用である。
本実施の形態1のゲートノード24の構成を示すブロック図である。 本実施の形態1及び2におけるバス基準時刻計時手段4の構成を示すブロック図である。 図3(a)は、IEEE1394シリアルバスのアイソクロナスパケットを示す構造図であり、図3(b)、及び図3(c)は、DVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す構造図である。 図4(a)、及び図4(b)は、DVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す構造図である。 図5(a)、及び図5(b)は、アイソクロナスパケット先頭に付加され、内部バスと外部バスとの送受信の際に用いられる内部バスヘッダ(第2のヘッダ)の構造を示す図である。 本実施の形態1から3における第1のメモリ手段9、及び第2のメモリ手段13の構成を示すブロック図である。 本発明の非サイクル制御型調停を説明するためのタイムチャート図である。 本発明のサイクル制御型調停を説明するためのタイムチャート図である。 本実施の形態1および2におけるパケット転送装置の構成を示すブロック図である。 本実施の形態2におけるゲートノード64の構成を示すブロック構成図である。 本実施の形態2における第2のメモリ60の構成を示すブロック図である。 本実施の形態3におけるゲートノード79の構成を示すブロック図である。 本実施の形態3におけるバス基準時刻計時手段76の構成を示すブロック図である。 本実施の形態3におけるパケット転送装置300の構成を示す図である。 本発明のパケット転送装置と、複数の機器(ノード)が接続された複数の外部バスとの接続例を示す図である。 本発明のパケット転送装置と、複数の機器(ノード)が接続された複数の外部バスとの接続例を示す図である。 図17(a)及び(b)は、上記各実施の形態のパケット転送処理をコンピュータシステムにより行うためのパケット転送処理プログラムを格納したデータ記録媒体であり、図17(c)は、上記コンピュータシステムを説明するための図である。 図18(a)、及び図18(b)は、IEEE1394のアイソクロナスパケットの送信を表す概念図である。 図19(a)、及び図19(b)は、従来の、IEEE1394シリアルバスと機器(ノード)との接続例を示す図である。
符号の説明
1,203,204 外部バス
3 第1のパケット送受信手段
4,76 バス基準時刻計時手段
5 第1のタイムスタンプ判定手段
6 第1のタイムスタンプ位置検出手段
7 第1のタイムスタンプオフセット手段
8 内部バスヘッダ付加手段
9 第1のメモリ手段
10 第1の読み出し制御手段
11 パケット選択手段
12 ヘッダ書き換え手段
13,60 第2のメモリ手段
14 サイクル数比較手段
15,62 第2の読み出し制御手段
21 内部バス
22 第1の時計手段
23 内部バス調停手段
24,64,79 ゲートノード
27,83 切り替え手段
28,29,30,84,85,86 カウンタ手段
32,38,41,44,47 アイソクロナスパケットヘッダ
33,39,42,45,48 ヘッダCRC
34,40,43,46,49 CIPヘッダ
35 データフィールド
36 データCRC
37 パケットデータ
50,51 第2のヘッダ(内部バスヘッダ)
53,67,68,69,70 FIFOメモリ
63 メモリ選択手段
66 送信元判断手段
92 スイッチ
96 基準時刻バス
106 サイクル数保持手段
107 第2の時計手段
108,113 レジスタ手段
109 ゲート制御手段
112 時刻差検出手段
97,98,99,101,102,103,104,201,202,203 端末機器
206 サイクルスタートパケット
207 調停期間
208 データプレフィックス期間
209 アイソクロナスパケット
210 データエンド期間
Cs コンピュータシステム
D フレキシブルディスク
FC フレキシブルディスクケース
FD フレキシブルディスク
FDD フレキシブルディスクドライブ
Se セクタ
Tr トラック

Claims (21)

  1. アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、
    任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、
    上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、
    アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有する、
    ことを特徴とするパケット転送装置。
  2. 請求項1に記載のパケット転送装置において、
    上記同期手段は、
    外部バスとは独立して時間を計時する第1の時計手段と、
    上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有する、
    ことを特徴とするパケット転送装置。
  3. 請求項2に記載のパケット転送装置において、
    上記バス基準時刻計時手段は、
    上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させる、
    ことを特徴とするパケット転送装置。
  4. 請求項1に記載のパケット転送装置において、
    上記同期手段は、
    上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、
    任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させる、
    ことを特徴とするパケット転送装置。
  5. 請求項4に記載のパケット転送装置において、
    上記基準時刻用バスは、
    任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させる、
    ことを特徴とするパケット転送装置。
  6. 請求項3、または5に記載のパケット転送装置において、
    上記同期手段は、
    外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させる、
    ことを特徴とするパケット転送装置。
  7. 請求項2から6のいずれかに記載のパケット転送装置において、
    上記同期手段は、
    アイソクロナスパケットの伝送サイクル単位の同期精度を有する、
    ことを特徴とするパケット転送装置。
  8. 請求項1から7のいずれかに記載のパケット転送装置において、
    調停サイクルを出力する第2の時計手段と、
    上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、
    上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものである、
    ことを特徴とするパケット転送装置。
  9. 請求項8に記載のパケット転送装置において、
    上記第1の読み出し制御手段は、
    上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、
    上記内部バス調停手段は、
    上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものである、
    ことを特徴とするパケット転送装置。
  10. 請求項9に記載のパケット転送装置において、
    上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、
    上記第1のメモリ手段は、
    上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものである、
    ことを特徴とするパケット転送装置。
  11. 請求項9に記載のパケット転送装置において、
    上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、
    上記第2のメモリ手段は、
    上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものである、
    ことを特徴とするパケット転送装置。
  12. 請求項10に記載のパケット転送装置において、
    上記第1のメモリ手段は、
    FIFOメモリ手段により構成されるものである、ことを特徴とするパケット転送装置。
  13. 請求項11に記載のパケット転送装置において、
    上記第2のメモリ手段は、
    FIFOメモリ手段により構成されるものである、ことを特徴とするパケット転送装置。
  14. 請求項13に記載のパケット転送装置において、
    上記第2のメモリ手段は、
    上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものである、ことを特徴とするパケット転送装置。
  15. 請求項1に記載のパケット転送装置において、
    上記第1から第nの外部バスと、上記内部バスは同一規格のバスである、ことを特徴とするパケット転送装置。
  16. 請求項1に記載のパケット転送装置において、
    上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下である、
    ことを特徴とするパケット転送装置。
  17. 請求項1に記載のパケット転送装置において、
    上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスである、ことを特徴とするパケット転送装置。
  18. 請求項1に記載のパケット転送装置において、
    上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックである、ことを特徴とするパケット転送装置。
  19. 請求項1から18のいずれかに記載のパケット転送装置において、
    上記第1から第nの外部バスは、
    IEEE1394シリアルバスである、ことを特徴とするパケット転送装置。
  20. 請求項1から19のいずれかに記載のパケット転送装置において、
    上記第1から第nの外部バスは、
    USB(Universal Serial Bus)である、ことを特徴とするパケット転送装置。
  21. アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、
    上記パケット転送処理プログラムは、請求項1から20のいずれかに記載のパケット転送装置によるパケット転送処理プログラムをコンピュータに行わせるものである、
    ことを特徴とする記録媒体。
JP2005082668A 2005-03-22 2005-03-22 パケット転送装置、及びデータ記録媒体 Pending JP2005267653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005082668A JP2005267653A (ja) 2005-03-22 2005-03-22 パケット転送装置、及びデータ記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005082668A JP2005267653A (ja) 2005-03-22 2005-03-22 パケット転送装置、及びデータ記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13913799A Division JP3676618B2 (ja) 1999-05-19 1999-05-19 パケット転送装置、及びデータ記録媒体

Publications (1)

Publication Number Publication Date
JP2005267653A true JP2005267653A (ja) 2005-09-29

Family

ID=35092062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005082668A Pending JP2005267653A (ja) 2005-03-22 2005-03-22 パケット転送装置、及びデータ記録媒体

Country Status (1)

Country Link
JP (1) JP2005267653A (ja)

Similar Documents

Publication Publication Date Title
US6973087B2 (en) Predictive time stamping of transmitted data
JP2002016655A (ja) 伝送方法、伝送システム、伝送装置及び伝送制御装置
JP2000040294A (ja) 情報処理装置および方法、並びに記録媒体
US20050002402A1 (en) Real-time transport protocol
US20060165385A1 (en) Method and electronic equipment for transmitting data to other electronic equipment on a network
US6363428B1 (en) Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network
US7702842B2 (en) Relay device, relay method, and information recording medium
JP3671925B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3862371B2 (ja) 電子機器及び制御方法
JP4147524B2 (ja) 通信方法、送信方法、受信方法及び通信装置
KR20020011927A (ko) 통신 제어 방법, 통신 시스템 및 통신 장치
JP2002164898A (ja) データ送受信装置及びデータ送受信方法
JP3676618B2 (ja) パケット転送装置、及びデータ記録媒体
JP4320955B2 (ja) 情報処理方法、情報処理システム及び情報処理装置
US6584534B1 (en) Combined isochronous and asynchronous communication apparatus, method and interface
JP2001057567A (ja) 伝送路間のブリッジシステム及び方法
JP2001156807A (ja) 伝送方法、伝送システム及び伝送装置
JP2005267653A (ja) パケット転送装置、及びデータ記録媒体
US20010046231A1 (en) Communication control apparatus
JPH10285241A (ja) 信号処理回路
KR100763716B1 (ko) 정보 제어 방법, 정보 처리 장치, 및 정보 제어 시스템
KR20020011925A (ko) 통신 제어 방법, 통신 시스템 및 통신 장치
JP3678245B2 (ja) マネージャ機器及び通信制御方法
JP3678243B2 (ja) 電子機器及び通信制御方法
JP3731590B2 (ja) マネージャ機器及び通信制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090324