JP3424620B2 - アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi - Google Patents

アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi

Info

Publication number
JP3424620B2
JP3424620B2 JP27138899A JP27138899A JP3424620B2 JP 3424620 B2 JP3424620 B2 JP 3424620B2 JP 27138899 A JP27138899 A JP 27138899A JP 27138899 A JP27138899 A JP 27138899A JP 3424620 B2 JP3424620 B2 JP 3424620B2
Authority
JP
Japan
Prior art keywords
cycle
identification information
packet
bus
value
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.)
Expired - Fee Related
Application number
JP27138899A
Other languages
English (en)
Other versions
JP2001094576A (ja
Inventor
渉 土門
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP27138899A priority Critical patent/JP3424620B2/ja
Priority to US09/665,262 priority patent/US6813282B1/en
Priority to CA 2320619 priority patent/CA2320619A1/en
Priority to EP20000308349 priority patent/EP1087581A3/en
Priority to KR1020000056214A priority patent/KR20010050628A/ko
Publication of JP2001094576A publication Critical patent/JP2001094576A/ja
Application granted granted Critical
Publication of JP3424620B2 publication Critical patent/JP3424620B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40065Bandwidth and channel allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6432Topology
    • H04L2012/6435Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6456Channel and bandwidth allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、IEEE(電気電
子技術者協会)1394規格やUSB(Universal Seri
al Bus)仕様に準拠するバスを用いた通信ネットワーク
上で、予め転送帯域の保証されたパケットを転送するた
めのアイソクロナスパケット転送方法と、該方法の実現
手段であるアイソクロナスパケット転送制御プログラム
を記録した記録媒体,ブリッジ及びパケット転送制御L
SI(大規模集積回路)に関するものである。
【0002】
【従来の技術】近年、毎秒100メガビット(S10
0),200メガビット(S200),400メガビッ
ト(S400)という高速転送能力を有する高性能シリ
アルバス規格としてIEEE1394規格(“IEEE St
d.1394-1995 ,IEEE Standard fora High Performance
Serial Bus”,以下では「1394規格」と略記する)
が注目を集めている。1394規格では、画像や音声の
ように再生途中で止まってしまっては困るようなリアル
タイム系のデータを伝送するために、パケットの転送帯
域を保証する「アイソクロナス(Isochronous) 転送モー
ド」が規定されている。このアイソクロナス転送モード
は、公称8キロヘルツの周波数(125マイクロ秒の周
期)を持つ「サイクル」という概念,および,パケット
転送が可能な時間をサイクル毎に予め獲得しておく手順
を導入することによって実現されている。なお、以下で
はアイソクロナス転送モードで転送されるパケットを
「アイソクロナスパケット」と呼ぶことにする。
【0003】従来技術の問題点を把握するには1394
規格に関する知識が不可欠であるため、若干長くなるが
以下に詳しく説明する。まず、サイクルを管理するため
に1394規格で規定されている具体的方法を図17を
用いて説明する。バスに接続された1394規格のノー
ド(以後は単に「ノード」という)の中には「サイクル
マスタ」と呼ばれるノードが一つ設定されている。サイ
クルの開始は、サイクルマスタから同報される「サイク
ルスタートパケット」と呼ぶパケットをバスに接続され
た各ノードが検出することで認識されるようになってい
る。アイソクロナスパケットの送受信を行うノード及び
サイクルマスタは何れも時刻情報を格納するためのCYCL
E_TIMEレジスタを実装しており、サイクルマスタはこの
CYCLE_TIMEレジスタを用いてサイクルスタートパケット
の送信周期を一定に保っている。
【0004】ここで、図18は1394規格で規定され
ているCYCLE_TIMEレジスタのフォーマットを示してい
る。図示したように、CYCLE_TIMEレジスタは32ビット
のレジスタであって、最上位7ビットがsecond_countフ
ィールド,これに続く13ビットがcycle_countフィー
ルド,最下位12ビットが cycle_offsetフィールドと
それぞれ呼ばれる。このうち、cycle_offsetフィールド
は公称24.576メガヘルツのクロックでカウントア
ップされる3072進(10進数)のカウンタであっ
て、“3071”(10進数)までカウントされたら
“0”に戻る。つまり、このカウンタのカウント値はサ
イクルの周期である125マイクロ秒毎に値が“0”に
戻るようになっている。なお、以下では特に断らない限
りは全ての数値を10進数で表現している。
【0005】また、 cycle_countフィールドはサイクル
の数をカウントするための8000進のカウンタであっ
て、cycle_offsetフィールドが“0”に戻るタイミング
(125マイクロ秒毎)でカウント値が“1”だけカウ
ントアップされる。つまり、このカウンタのカウント値
は“7999”までカウントされて1秒毎に“0”に戻
るようになっている。また、second_countフィールドは
秒をカウントするための128進のカウンタであって、
cycle_countフィールドが“0”に戻るタイミングで
“1”だけカウントアップされてゆき、カウント値が
“127”までカウントされたならば“0”に戻るカウ
ンタである。
【0006】次に、サイクルスタートパケットのフォー
マットを図19に示す。図中、パケット送信ノードを示
す source_IDフィールドにはサイクルマスタのノードI
D(識別子)が格納される。なお、バスに接続された各
ノードにはそれぞれ固有のノードIDが付与されてい
る。また、パケット受信ノードを示すdestination_IDフ
ィールドには全てのノードに同報されることを示す“F
FFF”(16進数)が格納される。また、パケットの
種別を表す tcode(transaction code)フィールドに
は、サイクルスタートパケットであることを示す“8”
が格納される。
【0007】また、 cycle_time_dataフィールドには、
このサイクルスタートパケットを送信するときにサイク
ルマスタが保持しているCYCLE_TIMEレジスタの値が格納
される。なお、これら以外のフィールドは直接関係しな
いためここではその説明を省略する。サイクルマスタと
なっていないノードは、サイクルスタートパケットを受
信し、自分のCYCLE_TIMEレジスタの値をサイクルスター
トパケット中の cycle_time_dataフィールドの値で上書
きする。こうすることによって、バスに接続される全て
のノードが保持するCYCLE_TIMEレジスタの値は、サイク
ルマスタが保持するCYCLE_TIMEレジスタの値に同期する
ようになる。
【0008】サイクルスタートパケットが転送される
と、予め帯域を獲得したノードがアイソクロナスパケッ
トの送信を開始する。次に、データ転送の無い「アイソ
クロナスギャップ」(図17)と呼ばれる期間が検出さ
れてからバスの調停(アービトレーション)を行い、パ
ケット送信権を獲得したノードから順にパケットの転送
を行う。こうしたことの繰り返しによって帯域を獲得し
ておいた全てのアイソクロナスパケットの転送が終了す
ると、アイソクロナスギャップに相当するギャップの期
間が経過してもアイソクロナスパケットを送信するノー
ドは無くなる。
【0009】そして、このアイソクロナスギャップより
も長い「サブアクションギャップ」と呼ばれるギャップ
相当の時間が経過するまでアイソクロナスパケットが検
出されないと、アシンクロナス(Asynchronous)パケッ
ト(以下では「非同期パケット」という)と呼ばれるベ
ストエフォート型パケットを転送する期間となる。この
非同期パケットの転送期間は、次のサイクルの開始を示
すサイクルスタートパケットが検出されるまで継続す
る。以上のように、各サイクルの前半は帯域保証された
アイソクロナスパケットの転送期間に当てられ、残る後
半はベストエフォート型の非同期パケット転送期間に当
てられる。なお、アイソクロナスパケットの転送期間と
して利用可能な帯域は全体に対して最大80%に制限さ
れているため、非同期パケットが全く転送できない状況
は避けられるようになっている。
【0010】サイクルマスタは、CYCLE_TIMEレジスタの
cycle_countフィールドがインクリメントされるタイミ
ングでサイクルスタートパケットの送信を試みる。しか
し、サイクルスタートパケットもベストエフォート型の
非同期パケットの一種であることから、前述したCYCLE_
TIMEレジスタに依存するタイミングに加えて、サブアク
ションギャップを検出した後にバスの調停を行ってパケ
ット送信権を獲得してからでなければ、サイクルスター
トパケットを送信することができない。したがって、転
送中のパケットがバス上に無ければ cycle_countフィー
ルドのインクリメントされるタイミングでサイクルスタ
ートパケットを直ちに送信できるのに対し、転送中のパ
ケットがバス上に有る場合などには当該パケットの転送
が完了してからサイクルスタートパケットが送信される
ことになる。
【0011】このサイクルスタートパケット送出遅延の
最大値は、許容される非同期パケットの最大パケットサ
イズに依存している。1394規格では、S100,S
200,S400の各転送速度における非同期パケット
の最大データフィールド長がそれぞれ512バイト,1
024バイト,2048バイトと規定されており、デー
タフィールドに対してヘッダやCRC( Cyclic Redund
ancy Check)フィールドを付加するための処理時間をも
加味すると、パケット転送に要する時間は約45マイク
ロ秒と試算される。このように、サイクルスタートパケ
ットによって制御される公称8キロヘルツのサイクル周
波数は、バス上のトラフィックに応じて本質的にジッタ
を持っている。なお、サイクルスタートパケットが本来
の送出タイミングよりも遅れて送出される場合には、そ
の遅れ分も含んだ時刻情報がサイクルスタートパケット
の cycle_time_dataフィールドに格納される。また、CY
CLE_TIMEレジスタに格納される時刻情報は、サイクルス
タートパケットの送出タイミングに依存することなく更
新される。
【0012】一方、1394規格では複数の1394バ
スを相互に接続して異なるバス間でパケット転送を行う
ためのIEEE1394ブリッジ(以下では単に「ブリ
ッジ」という)が検討されており、IEEEのP139
4.1委員会で標準化作業が行われている。このブリッ
ジを用いることで1394規格を用いたネットワークの
大規模化や高効率化を図ることができる。以下、図20
を参照してブリッジの基本構成について説明する。ブリ
ッジは基本的にポータルとスイッチングファブリックか
ら構成されている。このうち、ポータルはブリッジが1
394バスと接続される部分であって、ポータル自身も
ノードとして機能する。また、スイッチングファブリッ
クは、ブリッジ内部においてポータル間でパケット転送
を行うためのパケット交換機である。
【0013】図20では、ブリッジ10が3つのポータ
ル20〜22とこれらを相互接続するスイッチングファ
ブリック30を内蔵している構成が例示されているが、
1個のブリッジに内蔵されるポータルの数は2つ以上で
あれば幾つであっても良い。ポータル20〜22はそれ
ぞれ1394バスであるバス40〜42に接続されてお
り、これらバス間でパケット転送が可能となっている。
また、これらバス40〜42にはノード50〜52がそ
れぞれ接続されている。バス40に接続されるノード5
0からバス41に接続されるノード51に対してブリッ
ジ10を介してパケットが転送される場合を例に取り上
げてブリッジ動作の概要を説明する。まずポータル20
はバス40を介してノード50の送信したパケットを受
信し、次に、受信したパケットがバス40以外の他のバ
スに転送されるべきものであるか否かを調べる。これを
調べる方法についてはP1394.1委員会で幾つか議
論されているが、ここではその詳細については触れな
い。
【0014】そして、ポータル20は受信したパケット
が他のバスに転送されるべきであると判断した場合に、
当該パケットをスイッチングファブリック30に向けて
出力する。スイッチングファブリック30は、入力され
たパケットが転送されるべきバスと接続されたポータル
に向けて当該パケットを出力する。この例によれば、パ
ケットはバス41に接続されたポータル21に出力され
ることになる。これによって、ポータル21はスイッチ
ングファブリック30から入力されたパケットをバス4
1に転送し、ノード51が当該パケットをバス41を介
して受信することでノード50からノード51に対する
パケット転送が完了する。
【0015】以上のように、ポータルが自身に対応する
バスからスイッチングファブリック30へパケットを転
送する動作とスイッチングファブリック30から目的と
するバスへパケットを転送する動作とを適宜行うことに
よって、パケットのバス間転送が行われる。なお、これ
以降の説明では、ポータルが行う前者の動作を「入力ポ
ータル動作」と呼び、後者の動作を「出力ポータル動
作」と呼ぶことにする。また、上述したポータル20,
21と同様の役割を果たすポータルをそれぞれ「入力ポ
ータル」,「出力ポータル」と呼ぶものとする。
【0016】次に、上述したブリッジを用いて異なるバ
ス間でアイソクロナスパケット転送を行う場合、入力ポ
ータル側でのパケット間のサイクル間隔を出力ポータル
側のバス上でも保たなくてはならない。これは、アイソ
クロナスパケット転送に先立って獲得されているバスの
帯域に違反するトラフィックをバスに送出させないため
である。例えば、入力ポータル側のバスから各サイクル
に1パケットずつ入力されるパケットを他のバスに転送
する場合は、出力ポータル側のバスでも各サイクルに1
パケットずつの割合で転送されなくてはならない。それ
にも拘わらず、ある特定のサイクルで出力ポータル側の
バスにパケットが送信されず、これに続くサイクルにお
いて2つのパケットが送信されると、この後続のサイク
ルでは獲得した帯域の2倍のトラフィックを瞬間的に送
出してしまうこととなる。
【0017】また、上述したように1394規格には調
停,ギャップ,サイクル周波数のジッタが存在してい
る。これらの存在下で上記要求事項を満足するために、
ブリッジ10は、転送されるアイソクロナスパケットに
対して数サイクルの固定遅延を与えたのちに出力ポータ
ル側のバスへ当該アイソクロナスパケットを送出する必
要がある。なお、ブリッジがアイソクロナスパケットに
与える上記固定遅延をP1394.1委員会では「アイ
ソクロナス遅延」(isochronous delay) と呼んでい
る。以下、こうしたアイソクロナス遅延の必要性につい
て詳細に説明する。
【0018】まず初めに、図21を参照して調停及びギ
ャップに起因する固定遅延について説明する。同図で
は、入力ポータル側のバスと出力ポータル側のバスのト
ラフィックを示すとともに、サイクル遅延を与えない場
合と1サイクルの遅延を与えた場合を対比させて示して
いる。なお、同図では便宜的にアイソクロナスパケット
を“A”〜“E”の記号で表現するようにしているが、
実際にはアイソクロナスパケットのヘッダ中のチャンネ
ルフィールドに格納されているチャンネル番号(channe
l number)の値に従って個々のアイソクロナスパケット
が識別される。
【0019】入力ポータル側バスでは、A,B,Cとい
う3種類のアイソクロナスパケットが転送されている。
これらパケットのうちでパケットA及びパケットBが定
常的に転送されており、パケットCはサイクルC2にお
いてのみ転送される。また、パケットA,B,Cの中で
はパケットBだけが出力ポータル側バスに向けてバス間
転送される。一方、出力ポータル側バスで転送されるア
イソクロナスパケットは上記パケットBのほかにパケッ
トD,Eがある。さらに、パケットCの送信ノードは、
調停の過程においてパケットAやパケットBの送信ノー
ドよりも先にバスを獲得できるものとしている。なお、
図中で網掛けを施した部分は各サイクルにおいてアイソ
クロナスパケットが転送される期間(以下「アイソクロ
ナス期間」という)であって、このアイソクロナス期間
の終わりを示すサブアクションギャップまで含めて図示
してある。
【0020】以上のような入力ポータル側バスのトラフ
ィックに対して、ブリッジでサイクルの遅延を与えない
場合の出力ポータル側バスのトラフィックは図21
(a)に示すものとなる。図示したように、パケットB
は入力ポータルから出力ポータルの送信バッファにひと
まず格納されたのち、出力ポータルが調停によってバス
を獲得してから出力ポータル側バスに送信される。この
場合、サイクルC1ではパケットBのバス間転送は成功
裏に行われている。なお、上述した送信バッファは、1
394規格のレイヤ構造上のリンク層を実現するリンク
層LSIに実装されたFIFO(ファースト・イン・フ
ァースト・アウト)メモリなどによって実現されてい
る。
【0021】これに対してサイクルC2は、入力ポータ
ル側バスにおける調停の結果としてアイソクロナス期間
の後半にパケットBが送出されたために、出力ポータル
側バスでアイソクロナス期間の上限の範囲内にパケット
を送信できない場合である。すなわち、図示の例では、
パケットEが転送されてアイソクロナスギャップが経過
して暫くしてからパケットBが転送されるが、これによ
ってアイソクロナス期間の最後にあるサブアクションギ
ャップの時間が充分に確保されなくなっている。したが
って、実際にパケットBを出力ポータル側バスに送信す
るのは可能ではあるが、1394規格に違反したパケッ
トとなってしまう。
【0022】また、サイクルC3では、出力ポータル側
バスに対してパケットD及びパケットEがサイクルC
1,C2のように送信されることはない。このため、入
力ポータル側バスからパケットBが転送されたタイミン
グにおいて、出力ポータル側バスではサブアクションギ
ャップが検出されてアシンクロナス期間(以下「非同期
期間」という)に移行してしまっている。このため、サ
イクルC3ではパケットBを送信することができずにパ
ケットの欠落が発生する。以上のように、ブリッジでサ
イクルの遅延を与えないと、アイソクロナス期間上限の
違反やアイソクロナスパケットの欠落したサイクルが出
現するといった問題が生じてくる。
【0023】これに対して、アイソクロナスパケットを
バス間転送する際にブリッジで1サイクルの遅延を与え
れば、図21(b)に示されるように、調停やギャップ
に依存することなくパケットBを毎サイクルバス間転送
することが可能となる。すなわち、サイクルC1で出力
ポータルの送信バッファに格納されたパケットBは、サ
イクルC2にてパケットEが送られてからアイソクロナ
スギャップだけ間隔をおいてバス間転送される。また、
サイクルC2で出力ポータルの送信バッファに格納され
たパケットBは、サイクルC3にてサイクルスタートパ
ケットが送られてからアイソクロナスギャップだけ間隔
をおいてバス間転送されることになる。
【0024】次に、図22を参照して、トラフィックに
起因するジッタがサイクル周波数に生じたときに必要と
なってくるアイソクロナス遅延の値について説明する。
なお、図21の場合と同様に網掛けを施した部分がアイ
ソクロナス期間に相当している。また、図22ではパケ
ットB以外のトラフィックについては図示を省略してい
る。入力ポータル側バスと出力ポータル側バスではトラ
フィックが互いに独立しているため、図示したように、
サイクルスタートパケットは他方のバスに対して互いに
非同期に送出される。このような状況において、パケッ
トBをバス間転送する際にブリッジで1サイクルの固定
遅延を与えた場合の様子を図22(a)に示してある。
【0025】同図において、入力ポータル側バスのサイ
クルC2におけるパケットBが出力ポータルの送信バッ
ファに格納されたときには、出力ポータル側バスでは既
にサイクルC3に入っている。したがって、当該パケッ
トBは直ちに出力ポータル側バスへ送信されるべきであ
るが、出力ポータル側バスでは既にサブアクションギャ
ップが検出されて非同期期間に入ってしまっている。こ
のため、上記パケットBは続くサイクルC4で出力ポー
タル側バスへ送信されることになって、サイクルC3で
はパケットBが欠落してしまう。
【0026】このように、調停やギャップに加えてサイ
クル周波数のジッタまで考慮すると、ブリッジで1サイ
クルの遅延を与えるだけでは不十分であって、図22
(b)に示されるように、入力ポータル側バスに転送さ
れたパケットを出力ポータル側バスに送信するにあたっ
て最低限2サイクルの遅延を与える必要がある。なお、
注意すべき点として、アイソクロナスパケットはサイク
ルスタートパケットの直後から調停が開始されるため、
アイソクロナス遅延は出力ポータル側バスのサイクルに
基づいてカウントされなくてはならない。
【0027】次に、最低2サイクルのアイソクロナス遅
延を与えるために必要となる送信バッファ量に関して説
明する。リンク層LSIに実装された上述のFIFO
は、オーバーフロー又はアンダーフローを起こさない範
囲の一定周期でパケットを出力することで、入力された
パケットの有するジッタを吸収している。つまり、アイ
ソクロナスパケットのバス間転送にFIFOを使用する
場合には、オーバーフロー又はアンダーフローを起こさ
ない程度にアイソクロナスパケットがFIFOに貯まっ
てから、出力ポータル側バスにパケットを毎サイクル送
信することになる。前述したようにアイソクロナス遅延
として最低2サイクル必要なことと、サイクルスタート
パケットのジッタが存在することを併せて考慮すると、
パケットの欠落するサイクルが生じないようにするに
は、3サイクル分以上のパケットが送信バッファに貯ま
ってから出力ポータル側バスへの送信を試みればよい。
【0028】ここで、上述した送信バッファ制御を用い
てアイソクロナスパケットをバス間転送したときに、送
信バッファ量が変遷してゆく様子を図23に示す。ここ
では、出力ポータルの送信バッファがサイクルC1の開
始時刻で空であるものとする。この場合、サイクルC1
〜C3では入力ポータル側バスから送信バッファへパケ
ットが格納されてゆくにつれて、送信バッファの蓄積量
も漸次増加してゆく。そして、パケットCが送信バッフ
ァに格納されてから出力ポータル側バスへの送信が開始
される。もっとも、サイクルスタートパケットの持つジ
ッタの影響があるため、パケットCの送信バッファへの
格納が完了するのは出力ポータル側バスのサイクルC4
になる。したがって、サイクルC1で送信バッファに格
納されたパケットAはサイクルC4ではなくサイクルC
5で送信されることになり、アイソクロナス遅延は4サ
イクルとなる。また、図23に示した送信バッファ蓄積
量のグラフから見て取れるように、送信バッファには4
サイクル分を超えるパケットが格納されるため、送信バ
ッファの容量は5サイクル分必要となる。
【0029】
【発明が解決しようとする課題】以上述べたように、従
来の送信バッファ制御によれば、2サイクル以上のアイ
ソクロナス遅延を確保しつつ、パケットの欠落したサイ
クルを出力ポータル側バスで発生させないためには、5
サイクル分の送信バッファを確保する必要がある。ここ
で、1394規格の最大転送速度であるS400では1
サイクルあたり約4キロバイトのアイソクロナスパケッ
トを転送可能であるため、約20キロバイトの送信バッ
ファを各ポータルに備える必要があることとなる。この
20キロバイトという値は現時点におけるリンク層LS
Iの製造技術を考えると非常に大きな値であって、チッ
プサイズの増大によるコスト増を招いてしまうことは避
けられない。そうではあってもコストを抑えるために送
信バッファのサイズを小さくしてしまうと、1サイクル
当たりで使用可能なバッファが小さくなってしまうた
め、ブリッジの転送スループットに制限を与えてしまう
という問題がある。
【0030】また、従来の送信バッファ制御を用いると
図24に示されるような問題も発生しうる。すなわち、
入力ポータル側バスのサイクルC4では出力ポータル側
バスに転送されるべきアイソクロナスパケットが存在せ
ず、パケットCとパケットDの間が1サイクル分だけ空
きとなっている。ところが、送信バッファによる平滑化
の影響によって、出力ポータル側バスではパケットCと
パケットDの間が詰められて転送されてしまう。つま
り、従来の送信バッファ制御を用いると、バス間転送の
対象となるアイソクロナスパケットが転送されないサイ
クルが存在したときに、当該サイクル以前と当該サイク
ル以後とでパケットに与えられるアイソクロナス遅延量
が変わってしまう。このため、出力ポータル側バスにお
いてジッタが発生してしまうという問題が出てくる。
【0031】本発明は上述した問題に鑑みてなされたも
のであって、その目的は、アイソクロナスパケットをバ
ス間転送する際に必要となる送信バッファのサイズを削
減でき、しかも、サイクルスタートパケットに送出遅延
がある場合にも転送されるアイソクロナスパケットに一
定のアイソクロナス遅延を与えることが可能なアイソク
ロナスパケット転送方法を提供することにある。また、
本発明は、こうしたアイソクロナスパケット方法を実現
するためのアイソクロナスパケット転送制御プログラム
を記録した記録媒体,ブリッジ及びパケット転送制御L
SIを提供することをもその目的としている。
【0032】
【課題を解決するための手段】以上の課題を解決するた
めに、請求項1記載の発明は、サイクル単位で転送帯域
が保証されたアイソクロナスパケットを異なるバス間で
転送するアイソクロナスパケット転送方法において、前
記サイクルの開始を示すサイクルスタートパケットがバ
スへ送出されるタイミングに同期して変化するサイクル
識別情報を入力側及び出力側のバスの各々について生成
しながら、これらサイクル識別情報に基づき、予め決め
られた同一のタイミングからの経過サイクル数を前記入
力側及び前記出力側のバスのそれぞれについて求め、こ
れら経過サイクル数に基づいて算出される遅延情報の示
すサイクル数が前記出力側のバス上で経過するまで、前
記入力側のバスから入力された前記アイソクロナスパケ
ットを遅延させて前記出力側のバスに送信することを特
徴としている。
【0033】また、請求項2記載の発明は、サイクル単
位で転送帯域が保証されたアイソクロナスパケットを異
なるバス間で転送するアイソクロナスパケット転送方法
において、前記サイクルの開始を示すサイクルスタート
パケットが入力側のバス上および出力側のバス上でそれ
ぞれ発生する度に変化するサイクル識別情報を入力側サ
イクル識別情報および出力側サイクル識別情報として生
成し、前記入力側サイクル識別情報および前記出力側サ
イクル識別情報を予め決められた同一のタイミングで取
得して入力側参照サイクル識別情報および出力側参照サ
イクル識別情報をそれぞれ生成し、前記入力側参照サイ
クル識別情報の示すサイクルから前記アイソクロナスパ
ケットが前記入力側のバスに現れる時点までの経過サイ
クル数である第1の値と、前記出力側参照サイクル識別
情報の示すサイクルから前記アイソクロナスパケットを
前記出力側のバスに送信すべき時点となるまでの経過サ
イクル数である第2の値をそれぞれ算出し、前記第1の
値及び前記第2の値に基づいて遅延情報を生成し、前記
出力側のバス上で前記遅延情報の示すサイクル数が経過
するまで前記アイソクロナスパケットを遅延させてから
前記出力側のバスに送信することを特徴としている。
【0034】また、請求項3記載の発明は、請求項2記
載の発明において、前記入力側サイクル識別情報および
前記出力側サイクル識別情報は、何れも、前記サイクル
スタートパケットがそれぞれ前記入力側のバス及び前記
出力側のバスで発生する度に値が1つ増加してゆき、該
値が“M−1”(Mは2以上の整数)になった次の値が
“0”になることを特徴としている。また、請求項4記
載の発明は、請求項3記載の発明において、前記第1の
値は、前記アイソクロナスパケットが前記入力側バス上
に現れたタイミングにおける前記入力側サイクル識別情
報の値から前記入力側参照サイクル識別情報の値を減じ
て得られた値に“M”を加えた値を“M”で割って得ら
れる剰余であって、前記第2の値は、前記アイソクロナ
スパケットを前記出力バスに送信すべきタイミングにお
ける前記出力側サイクル識別情報の値から前記出力側参
照サイクル識別情報の値を減じて得られた値に“M”を
加えた値を“M”で割って得られる剰余であることを特
徴としている。また、請求項5記載の発明は、請求項3
又は4記載の発明において、前記Mの値が“2”である
ことを特徴としている。また、請求項6記載の発明は、
請求項2〜5の何れかの項記載の発明において、前記入
力側又は前記出力側のバスを含む何れかのバスにおける
時刻情報が予め定められた値となるタイミングで前記入
力側サイクル識別情報および前記出力側サイクル識別情
報を取得して保持することにより、前記入力側参照サイ
クル識別情報および前記出力側参照サイクル識別情報を
生成することを特徴としている。
【0035】また、請求項7記載の発明は、請求項6記
載の発明において、前記時刻情報は、各サイクル内のオ
フセットを示すサイクルオフセットと前記サイクル毎に
変化するサイクルカウントとを含んでおり、前記予め定
められた値となるタイミングは、前記サイクルオフセッ
トが、前記サイクルカウントの値が変化してから前記サ
イクルスタートパケットが送出されるまでの最大遅延時
間に相当する第1のタイミングと各サイクルの終わりに
相当する第2のタイミングとの間で予め定められた所定
のタイミングであることを特徴としている。また、請求
項8記載の発明は、請求項7記載の発明において、前記
入力側のバスと前記出力側のバスの間における前記アイ
ソクロナスパケットの転送遅延時間だけ前記第1のタイ
ミングをさらに遅らせることを特徴としている。また、
請求項9記載の発明は、請求項7又は8記載の発明にお
いて、任意の2つのバスにおける前記サイクルオフセッ
トの値の差の絶対値が常に“a”(aは0以上の整数)
以下である場合に、前記第1のタイミングを該“a”に
相当する時間だけさらに遅らせるとともに前記第2のタ
イミングを該“a”に相当する時間だけさらに早めるこ
とを特徴としている。
【0036】また、請求項10記載の発明は、請求項1
〜9の何れかの項記載の発明において、前記入力側のバ
スの経過サイクル数と前記出力側のバスの経過サイクル
数との間の差に所定の固定遅延量を加えることで前記遅
延情報を生成することを特徴としている。また、請求項
11記載の発明は、請求項10記載の発明において、前
記固定遅延量が“2”サイクルに相当する時間であるこ
とを特徴としている。また、請求項12記載の発明は、
請求項1〜11の何れかの項記載の発明において、前記
バスはIEEE1394規格に準拠したバスであること
を特徴としている。また、請求項13記載の発明は、請
求項1〜12の何れかの項に記載されたアイソクロナス
パケット転送の各手順をコンピュータに実行させること
を特徴としている。
【0037】また、請求項14記載の発明は、サイクル
単位で転送帯域の保証されたアイソクロナスパケットを
少なくとも転送するバスがそれぞれ接続された複数のポ
ータルと、これらポータル間のパケット交換を行うスイ
ッチ手段を備え、入力側のバスから受信したパケットを
前記スイッチ手段に出力する入力ポータルの動作,及
び,前記スイッチ手段の出力するパケットを出力側のバ
スに送信する出力ポータルの動作を前記各ポータルが行
うことで異なるバス間でパケット転送するブリッジにお
いて、前記サイクルの開始を示すサイクルスタートパケ
ットが前記バス上で発生する度に変化するサイクル識別
情報を生成する複数のサイクル識別情報生成手段と、予
め定められた同一のタイミングで前記サイクル識別情報
を取得して参照サイクル識別情報を生成する複数の参照
サイクル識別情報生成手段と、前記サイクル識別情報及
び前記参照サイクル識別情報に基づいて遅延情報を生成
する遅延情報生成手段と、前記出力側のバス上で前記遅
延情報の示すサイクル数が経過するまで、前記バス間で
転送される前記アイソクロナスパケットを遅延させてか
ら前記出力側のバスに送信する遅延手段を具備し、請求
項2〜11の何れかの項記載のアイソクロナスパケット
転送方法に従って前記アイソクロナスパケットのバス間
転送を行うことを特徴としている。
【0038】また、請求項15記載の発明は、請求項1
4記載の発明において、前記各ポータルは、前記サイク
ル識別情報生成手段,前記遅延手段,前記遅延情報生成
手段,第1及び第2の前記参照サイクル識別情報生成手
段を備え、前記第1の参照サイクル識別情報生成手段
は、自身の属するポータルが前記出力ポータルとして動
作するときに、前記入力ポータルとして動作するポータ
ルの備える前記サイクル識別情報生成手段が生成する前
記サイクル識別情報に基づいて前記入力側参照サイクル
識別情報を生成し、前記第2の参照サイクル識別情報生
成手段は、自身が属するポータルの前記サイクル識別情
報生成手段が生成する前記サイクル識別情報に基づいて
前記出力側参照サイクル識別情報を生成することを特徴
とする。また、請求項16記載の発明は、請求項15記
載の発明において、前記各ポータルは、前記入力側のバ
スから前記アイソクロナスパケットを受信した時点の前
記サイクル識別情報をパケット受信サイクル識別情報と
して生成して該アイソクロナスパケットに付加するパケ
ット受信サイクル識別情報付加手段をさらに備え、前記
遅延情報生成手段は、前記入力側参照サイクル識別情
報,前記出力側参照サイクル識別情報,前記サイクル識
別情報,前記入力ポータルとして動作するポータルが備
える前記パケット受信サイクル識別情報付加手段で生成
された前記パケット受信サイクル識別情報に基づいて前
記遅延情報を生成することを特徴としている。
【0039】また、請求項17記載の発明は、請求項1
5記載の発明において、前記遅延情報生成手段は、前記
入力側参照サイクル識別情報,前記出力側参照サイクル
識別情報,自身の属するポータル及び前記入力ポータル
として動作するポータルがそれぞれ備える前記サイクル
識別情報生成手段の生成する前記サイクル識別情報に基
づいて前記遅延情報を生成し、前記入力ポータルとして
動作するポータルが前記アイソクロナスパケットを出力
してから前記出力ポータルとして動作するポータルに入
力されるまでのポータル間転送遅延が、前記入力側のバ
スにおいて前記アイソクロナスパケットの転送期間と該
アイソクロナスパケット以外のパケットの転送期間とを
分離するための所定の時間ギャップよりも短いことを特
徴としている。
【0040】また、請求項18記載の発明は、請求項1
5〜17の何れかの項記載の発明において、前記各ポー
タルは、前記アイソクロナスパケットによって転送され
るリアルタイムデータの復号化タイミングを表すために
該リアルタイムデータに付加されたタイムスタンプの値
を変換する第1及び第2のタイムスタンプ変換手段をさ
らに備え、前記第1のタイムスタンプ変換手段は、前記
各ポータルが前記入力ポータルとして動作する際に、該
ポータルの持つ時刻情報のうち前記サイクル毎に変化す
るサイクルカウントが“0”〜“N−1”(Nは2以上
の整数)を取りうるとしたとき、前記入力側のバスから
受信したアイソクロナスパケットに含まれるタイムスタ
ンプの値から該サイクルカウントの値を減じた値に
“N”を加えた値を“N”で割って得られる剰余で該タ
イムスタンプの値を更新し、前記第2のタイムスタンプ
変換手段は、前記各ポータルが前記出力ポータルとして
動作する際に、前記スイッチ手段の出力する前記アイソ
クロナスパケットに含まれたタイムスタンプの値に該ポ
ータルの持つ時刻情報のサイクルカウントと前記遅延情
報を加えた値を“N”で割って得られる剰余で該タイム
スタンプの値を更新することを特徴としている。
【0041】また、請求項19記載の発明は、請求項1
8記載の発明において、前記タイムスタンプには、前記
サイクルカウントの下位Pビット(Pは自然数)に相当
する値,及び,前記時刻情報のうち各サイクル内のオフ
セットを示すサイクルオフセットが格納されることを特
徴としている。また、請求項20記載の発明は、請求項
15〜19の何れかの項記載の発明において、前記ポー
タルを2個備えるとともに、前記スイッチ手段は入力ポ
ート及び出力ポートをそれぞれ2個ずつ備えており、前
記入力ポート及び前記出力ポートにそれぞれ接続される
ポータルを互いに異ならせて前記2個のポータル間で固
定的なパケット交換を行うことを特徴としている。ま
た、請求項21記載の発明は、請求項14〜20の何れ
かの項記載の発明において、前記ブリッジはIEEE1
394規格に準拠したバスを対象として前記アイソクロ
ナスパケットのバス間転送を行うIEEE1394ブリ
ッジであることを特徴としている。
【0042】また、請求項22記載の発明は、請求項1
5〜20の何れかの項記載のブリッジにおける前記ポー
タルが備える各手段を集積化してなることを特徴とす
る。また、請求項23記載の発明は、請求項22記載の
パケット転送制御LSIが有する各手段を複数個1チッ
プに集積化してなることを特徴としている。また、請求
項24記載の発明は、請求項14〜20の何れかの項記
載のブリッジにおける前記スイッチ手段を前記チップ内
にさらに集積化させたことを特徴としている。また、請
求項25記載の発明は、請求項22〜24の何れかの項
記載の発明において、前記パケット転送制御LSIはI
EEE1394規格に準拠したバスを対象として前記ア
イソクロナスパケットをバス間転送するIEEE139
4リンク層LSIであることを特徴としている。
【0043】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態について説明する。 〔第1実施形態〕本実施形態は、本発明によるアイソク
ロナスパケット転送方法およびこの方法を実現するため
のブリッジの構成についてその基本的な概念を説明する
ためのものである。図1は本実施形態によるブリッジの
構成を示すブロック図である。本来、同図に示したブリ
ッジ100には多数の1394バスが接続されている
が、入力ポータル及び出力ポータルとしての役割を果た
すポータル以外は動作には無関係であることから、図1
では無関係なポータルに接続されたバスの図示を省略し
てバス40,41だけを示してある。ちなみに、ブリッ
ジに接続される複数のバスは「バスID」と呼ばれる識
別子によって互いを識別するようになっている。このバ
スIDは、全てのノードが備えるNODE_IDSレジスタの上
位10ビットに格納される。ここで、NODE_IDSレジスタ
のフォーマットを図2に示しておくが、バスID(図中
の「bus_id」)以外のフィールドについては直接関係し
ないため説明を省略する。
【0044】なおここでは便宜上、バス40,41がそ
れぞれ入力ポータル側バス,出力ポータル側バスとして
動作するものとしている。つまり、ブリッジ100はバ
ス40から入力されたアイソクロナスパケットにアイソ
クロナス遅延を与えてからバス41に出力することで、
アイソクロナスパケットのバス間転送を実現している。
また、図1ではスイッチングファブリック,入力ポータ
ル,出力ポータルについても図面から省いているが、こ
れはスイッチングファブリックにおいてパケット転送経
路が既に決まっていることを前提にしているためであ
る。
【0045】ブリッジ100は、サイクル識別情報10
1,102をそれぞれ生成するサイクル識別情報生成部
103,104と、サイクル識別情報101,102に
基づいて参照サイクル識別情報105,106をそれぞ
れ生成する参照サイクル識別情報生成部107,108
と、サイクル識別情報101,102及び参照サイクル
識別情報105,106に基づいて遅延情報109を生
成する遅延情報生成部110と、遅延情報109に従っ
てバス40から入力されるアイソクロナスパケットを遅
延させてバス41に送信する遅延部111とを備えてい
る。
【0046】サイクル識別情報101,102はバス4
0,41上における個々のサイクルをそれぞれ識別する
ための情報であって、サイクルスタートパケットがバス
40,41上に送信されるタイミングでそれぞれの値が
変化する。ここで、各々のサイクル識別情報の値そのも
のには特に意味はなく、サイクルが移行する毎に“1”
ずつ値が増加してゆくものであれば適当な値であって良
い。第1の例として、サイクルスタートパケットがバス
上に送信されたタイミングにおいて、このバス上のノー
ドに実装されているCYCLE_TIMEレジスタの cycle_count
の値をサンプリングすることでサイクル識別情報を生成
することができる。前述したように、cycle_count の値
はサイクルが移行する毎に“1”ずつ値が増加してゆく
ため、これに伴ってサイクル識別情報もサイクル毎に増
加してゆく。
【0047】また、第2の例として、サイクル識別情報
生成部103,104内にサイクルが移行する毎にカウ
ントアップするカウンタをそれぞれ設けて、それらカウ
ント値をサイクル識別情報として生成するようにしても
良い。これらカウンタのカウント値は、電源投入等を契
機としてサイクル識別情報生成部103,104をリセ
ットすることによって例えば“0”に初期化される。し
たがって、サイクル識別情報生成部103,104を同
一のタイミングで初期化することでサイクル識別情報1
01,102は常に同じ値となる。もっとも、初期化手
順はブリッジ100内の各部に対して順次行うことも考
えられる。そうした場合には、後掲する図3に示すよう
にこれらカウンタのカウント値は一致しなくなるが、こ
うしたカウント値をサイクル識別情報101,102と
して生成しても全く問題ない。さらに、いま述べた以外
の値をサイクル識別情報として利用することも当然なが
ら可能である。
【0048】次に、参照サイクル識別情報105,10
6はそれぞれある基準時刻におけるサイクル識別情報1
01,102を取り込んだ値である。後述するように、
本実施形態では参照サイクル識別情報105,106の
示すサイクルを基準とした経過サイクル数を入力ポータ
ル側のバス40,出力ポータル側のバス41についてそ
れぞれ求め、これら経過サイクル数を互いに比較するこ
とで適切な遅延量をパケット毎に算出するようにしてい
る。このため、参照サイクル識別情報105,106
は、入力ポータル側のバス40と出力ポータル側のバス
41に関して必ず同一の時刻に生成されなければなら
ず、なお且つ、当該時刻はサイクルスタートパケットの
送出遅延の影響を受けない時刻でなければならない。
【0049】すなわち、各バスの間では一応のバス間同
期はとっているものの、各ポータルは基本的に独立して
いるため各ポータル間におけるCYCLE_TIMEレジスタの値
には「ずれ」が生じている。そこで、参照サイクル識別
情報105,106を生成するにあたってはサイクル識
別情報をサンプリングするタイミングを入力ポータル
側,出力ポータル側の何れかに合わせる必要がある。そ
こで本実施形態では出力側ポータルのバス(図1ではバ
ス41)におけるCYCLE_TIMEレジスタの値を使用して上
記基準時刻を決めるようにしている。
【0050】ここで、前述したようにサイクルスタート
パケットは cycle_countの値が変化してから最大で約4
5マイクロ秒だけ遅れて送出される可能性がある。この
ため、 cycle_countの値が変化した時点より45マイク
ロ秒〜125マイクロ秒(すなわち、サイクルの最終)
の範囲内で参照サイクル識別情報105,106を生成
すれば上記の条件を満たすことになる。なお、この時間
範囲をcycle_offsetフィールドの値に換算すると“11
00”〜“3071”の範囲となる。そこでこの範囲内
の値を予め定めておき、cycle_offsetがこの値になった
タイミングで例えばサイクル識別情報をサンプリングし
て取得すれば、サイクルスタートパケットの送出遅延の
影響を受けない時刻で参照サイクル識別情報105,1
06を同時に生成することができる。
【0051】なお、参照サイクル識別情報を生成するタ
イミングは設計の容易性等を考慮して適宜決定すれば良
い。例えば本実施形態では、あとで詳述するように、或
る特定の時刻においてのみ参照サイクル識別情報を生成
して、その後は参照サイクル識別情報の値を不変として
いる。一方、後述する第2実施形態などでは1サイクル
毎に参照サイクル識別情報を生成するようにしている。
また、必ずしも1サイクル毎に参照サイクル識別情報を
生成しなくとも良く、例えば5サイクル毎に参照サイク
ル識別情報を生成しても良い。もっとも、参照サイクル
識別情報を1サイクル毎に生成することで参照サイクル
識別情報生成部107,108の回路構成を若干簡単化
できる。
【0052】また、参照サイクル識別情報を生成するに
は、いま述べたように入力ポータル側のバス40または
出力ポータル側のバス41におけるcycle_offsetの値を
使用する構成に限られるものではなく、例えば次のよう
な構成も考えられる。すなわち、参照サイクル識別情報
をサンプリングするタイミングを生成するためのクロッ
ク源を別途ブリッジ100内に設けるようにして、この
クロック源から参照サイクル識別情報生成部107,1
08へサンプリングのタイミングを指示するように構成
しても良い。もっとも、前者のように構成すれば後者の
ように別のクロック源を用意する必要がないという利点
はある。
【0053】次に、遅延情報生成部110が上述したサ
イクル識別情報101,102および参照サイクル識別
情報105,106を入力として遅延情報109を生成
する際の算出方法について説明する。まず初めに遅延情
報生成部110は、サイクル識別情報101から参照サ
イクル識別情報105を引いて得られる第1の値と、サ
イクル識別情報102から参照サイクル識別情報106
を引いて得られる第2の値とを計算する。ここで第1の
値および第2の値は、それぞれバス40およびバス41
で参照サイクル識別情報105,106が生成されたサ
イクルを基準とする経過サイクル数に相当するものであ
る。次に、遅延情報生成部110は第1の値から第2の
値を引いて得られる第3の値を計算する。
【0054】この第3の値は、参照サイクル識別情報1
06が生成されてから出力ポータル側のバス41で経過
したサイクル数を基準としたときに、参照サイクル識別
情報105が生成されてから入力ポータル側のバス40
で経過したサイクル数の相対値を示したものと言える。
したがって、例えば第3の値が“0”であれば両方のバ
スで同一サイクル数の時間が経過していることを示し、
“−1”であれば出力ポータル側のバス41では入力ポ
ータル側のバス40よりも“1”だけ多くサイクルが経
過していることを示す。そして最後に遅延情報生成部1
10は第3の値に対して固定遅延を加えることによって
遅延情報109を生成する。
【0055】なお、本実施形態では固定遅延として2サ
イクルを加えるようにしているが、固定遅延の値は最低
2サイクルであれば必ずしも2サイクルでなくとも良
い。もっとも、この2サイクルの固定遅延はジッタを発
生させることの無い最小の遅延量であって、固定遅延の
値としては最も好ましい値である。というのも、アイソ
クロナス転送モードはそもそもリアルタイム系のデータ
を伝送するための転送モードであることから、ブリッジ
を経由することによるパケットの遅延量は可能な限り小
さいことが望ましいからである。しかも、複数のブリッ
ジを経由してアイソクロナスパケットが転送されるよう
なケースではブリッジを通過してゆく度に遅延が蓄積し
てゆくため、各ブリッジの遅延量を小さくする必要性は
高い。
【0056】次に、図3のタイミングチャートを参照し
つつ、上記構成によるブリッジ100を用いたアイソク
ロナスパケット転送の動作について説明する。なお、図
中において“(d)”なる表記があるが、これはその直
前に記載された数値が10進数であることを特に明示的
に示したものである。ここで、バス40とバス41の間
では既にバス間同期が確立されているものとする。な
お、アイソクロナスパケットのバス間転送を行うに当た
って必要となるバス間同期は例えば次のようにして行
う。アイソクロナスパケットを転送するためには、全て
のノードが同一のサイクル周波数に従って動作する必要
がある。いま、ある一つのバスに着目すると、当該バス
に接続されている全てのノードは、サイクルスタートパ
ケット上の cycle_time_dataフィールドに基づいて、サ
イクルマスタの持つサイクル周波数に同期して動作す
る。
【0057】したがって、アイソクロナスパケットのバ
ス間転送を行うためには、各バスに存在するサイクルマ
スタの持つサイクル周波数を全て同期させる機構を持っ
ていればよい。具体的には、全体のネットワーク上にマ
スタとなるサイクル周波数を唯一つだけ設定し、全ての
サイクルマスタがこのマスタのサイクル周波数に同期す
るように自身のCYCLE_TIMEレジスタを制御すれば良い。
なお、この場合はサイクル周波数の同期が目的であるこ
とから、cycle_offsetフィールドの値のみを制御すれば
良く、同期が確立した後に cycle_countフィールドの値
が全てのバスにおいて一致している必要はない。
【0058】このほか、説明を簡単にするためにバス4
0,41におけるサイクルの位相が同期しているものと
する。言い換えれば、CYCLE_TIMEレジスタのcycle_offs
etフィールドの値そのものおよびそれらの値の変化する
タイミングが双方のバスで一致していることを仮定す
る。もっとも、CYCLE_TIMEレジスタの cycle_countフィ
ールドの値自体はバス40,41間で一致していないも
のとする。さらに、説明を簡単にするために、ブリッジ
100内部においてポータル間でパケットを転送するた
めに要する時間を無視することにする。
【0059】以上のようにバス40とバス41の間でバ
ス間同期が確立している状態において、図3に示した時
刻t1で各バス上のノードが保持するCYCLE_TIMEレジス
タのcycle_countが変化すると、各バスのサイクルマス
タがそれぞれサイクルスタートパケットを送信する。す
なわち、時刻t2でバス40にサイクルスタートパケッ
トが送出され、時刻t3でバス41にサイクルスタート
パケットが送出される。また、サイクルスタートパケッ
トの送出に同期してサイクル識別情報が生成される。す
なわち、時刻t2においてサイクル識別情報生成部10
3はサイクル識別情報101として“10”を生成し、
これを参照サイクル識別情報生成部107及び遅延情報
生成部110に送出する。また、時刻t3においてサイ
クル識別情報生成部104はサイクル識別情報102と
して“6”を生成し、これを参照サイクル識別情報生成
部108及び遅延情報生成部110に送出する。
【0060】なお、図示した例ではサイクル識別情報生
成部103,104が cycle_countの値をサンプリング
するのではなく、内部のカウンタのカウント値をそれぞ
れサイクル識別情報101,102として生成する場合
を例示している。これに加え、同図ではサイクル識別情
報生成部103,104に対するリセットが順次行われ
た場合を想定しており、サイクル識別情報101,10
2の間に“4”だけ差が生じた場合を例示してある。
【0061】ここで、サイクルスタートパケットは各バ
ス40,41における cycle_countの値の変化点よりも
早いタイミングで送信されることはないが、直前のサイ
クルにおけるトラフィックに依存して当該変化点よりも
遅れて送信されることがある。このため、バス上におけ
る実際のサイクルの移行は、CYCLE_TIMEレジスタの cyc
le_countの値ではなくサイクルスタートパケットによっ
て制御されることになる。なお、図示したように cycle
_countの値はバス40上では“324”,バス41上で
は“967”であって、これ以後はサイクルが切り替わ
る度に“1”ずつ増加してゆく。
【0062】次に、時刻t4は参照サイクル識別情報を
生成するタイミングであるため、参照サイクル識別情報
生成部107はサイクル識別情報101をサンプリング
し、これを参照サイクル識別情報105として遅延情報
生成部110に送出する。また同時刻t4において、参
照サイクル識別情報生成部108はサイクル識別情報1
02をサンプリングして得た参照サイクル識別情報10
6を遅延情報生成部110に送出する。すると、遅延情
報生成部110は上述した手順に従って第1〜第3の値
を計算するが、この場合は各バスにおけるサイクル識別
情報と参照サイクル識別情報が何れも一致しているた
め、これらの値は全て“0”となる。このため、遅延情
報生成部110は、第3の値“0”に固定遅延“2”を
加えて得られる“2”を遅延情報109として遅延部1
11に送出する。なお、時刻t4の属するサイクルでは
バス40上にアイソクロナスパケットが存在しないた
め、遅延部111はアイソクロナスパケットを遅延させ
る動作を行わない。
【0063】次に、時刻t5で次のサイクルになったこ
とで cycle_countの値が切り替わり、時刻t6でバス4
1上にサイクルスタートパケットが送信されると、サイ
クル識別情報102が“6”から“7”に更新される。
この結果、第2の値が“1”〔=(7−6)〕となるこ
とから第3の値が“−1”〔=(0−1)〕となり、遅
延情報生成部110は遅延情報109として“1”〔=
2+(−1)〕を出力するようになる。この後の時刻t
7でバス40上にサイクルスタートパケットが送信され
ると、サイクル識別情報101が“11”に更新される
ため、第1の値も第2の値と同じ“1”となって第3の
値は“0”となる。したがって、遅延情報生成部110
は遅延情報109として再び“2”を出力するようにな
る。
【0064】次に、時刻t8になってパケットAがバス
40に入力されるが、このときの遅延情報109の値は
“2”であるため、遅延部111の働きによって出力ポ
ータルでパケットAが2サイクルだけ遅延されることに
なる。したがって、ブリッジ100に入力されたアイソ
クロナスパケットはサイクル識別情報102の値が
“9”〔=(7+2)〕のサイクルにバス41へ送信さ
れることになる。そしてこれ以後の動作は上述したもの
と同様となる。すなわち、時刻t9で cycle_countの値
が切り替わって新たなサイクルになると、時刻t10で
バス40にサイクルスタートパケットが送信されてサイ
クル識別情報101が“12”に更新される。その結
果、第1の値が“2”となって第3の値が“1”となる
ため、遅延情報109としては“3”が得られる。
【0065】このため、アイソクロナスパケットが入力
されたならばサイクル識別情報102が“10”〔=
(7+3)〕のサイクルにバス41へ送信されることに
なる。この後、時刻t11になってパケットBがバス4
0に入力されるが、このときの遅延情報109の値は
“3”であるため、出力ポータルでパケットBが3サイ
クルだけ遅延されることになる。したがって、ブリッジ
100に入力されたパケットBはサイクル識別情報10
2の値が“10”のサイクルにバス41へ送信されるこ
とになる。次に、時刻t12になってバス41上にサイ
クルスタートパケットが送信されると、サイクル識別情
報102が“8”に更新されるのに伴って第2の値が
“2”となるため、第3の値が“0”となって遅延情報
109として“2”が得られる。
【0066】この後の時刻t13で新たなサイクルに入
ると、時刻t14でバス40にサイクルスタートパケッ
トが送信されてサイクル識別情報101が“13”に更
新される。その結果、第1の値が“3”となって第3の
値が“1”となるため、遅延情報109として“3”が
得られる。次に、時刻t15でバス41上にサイクルス
タートパケットが送信されると、サイクル識別情報10
2が“9”に更新されるのに伴って第2の値が“3”と
なるため、第3の値が再び“0”となって遅延情報10
9は“2”となる。そして、時刻t15からアイソクロ
ナスギャップをおいた時刻t16になると、遅延部11
1は2サイクル前の時刻t8においてバス40に入力さ
れたパケットAをバス41に送信する。
【0067】また、時刻t17で新たなサイクルに入
り、時刻t18でバス40,41に対してほぼ同時にサ
イクルスタートパケットが送信されると、サイクル識別
情報101,102がそれぞれ“14”,“10”に更
新される。その結果、第1の値及び第2の値がともに
“4”となるため、第3の値が“0”となって遅延情報
109は“2”のままとなる。そして、時刻t18から
アイソクロナスギャップをおいた時刻t19になると、
遅延部111は3サイクル前(すなわち、サイクル識別
情報102が“7”)の時刻t11においてバス40へ
入力されたパケットBをバス41に送信する。
【0068】以上のように、本実施形態によれば、サイ
クルスタートパケットに存在するジッタに依存すること
なくアイソクロナス遅延の量を一定に保つことが可能と
なる。そして、アイソクロナス遅延を最小値である2サ
イクルにした場合、送信バッファとしては3サイクル分
の蓄積量を備えていれば充分である。つまり、上述した
ような従来技術による送信バッファ制御と比べた場合、
2サイクル分に相当する送信バッファを削減することが
可能となる。また、転送されるアイソクロナスパケット
毎に転送遅延が個別に与えられるため、バス間転送時に
おいてパケットにサイクル単位のジッタを生じさせるこ
とがない。
【0069】〔第2実施形態〕図4は、第1実施形態で
説明したブリッジの具体的な実現例を示したブロック図
である。同図に示したブリッジ120は3個のポータル
121〜123,スイッチングファブリック124,ブ
リッジ120の動作を統括制御するためのCPU(中央
処理装置)125,CPU125の動作を制御するため
のプログラムやCPU125が作業用メモリとして使用
するためのメモリ126,これら機能ブロック間で互い
に制御信号やデータを授受するためのホストバス127
から構成されている。ポータル121〜123はいずれ
も同一の構成であって、それぞれがスイッチングファブ
リック124との間でアイソクロナスパケットを送信/
受信するための独立した2個のポートを有している。こ
のほか、ポータル121〜123はいずれもスイッチン
グファブリック124との間でサイクル識別情報を送信
/受信するための独立した2個のポートも備えている。
【0070】これに対応するように、スイッチングファ
ブリック124は入力ポート及び出力ポートをそれぞれ
6個備えており、このうちの3個の入出力ポートはアイ
ソクロナスパケットの交換用であって、残りの3個の入
出力ポートがサイクル識別情報の交換用である。つま
り、スイッチングファブリック124はアイソクロナス
パケットの交換を行うための3ポートのスイッチ124
aとサイクル識別情報の交換を行うための3ポートのス
イッチ124bから構成されている。そして、ホストバ
ス127を介したCPU125の指示の下に、スイッチ
ングファブリック124は上記2つのスイッチ124
a,124bを制御することによって、これらスイッチ
が同一の入力ポータルと出力ポータル間を接続するよう
に両スイッチを連動させて経路選択を行う。ちなみに、
スイッチングファブリックの構成は1394規格の対象
外となっているため、ブリッジの製造者がその詳細構成
を適宜決めることが可能となっている。
【0071】ここで、図5は図4に示した各ポータルの
内部構成を示したブロック図であって、各ポータルの構
成は上述したように同一であるためここではそれらの代
表としてポータル121を示してある。図示したように
ポータル121は基本的に物理層LSI130,リンク
層LSI131,メモリ132によって構成されてい
る。このうち、物理層LSI130は1394規格の物
理層に準拠した機能を実現するものであって、1394
バス(図中の「バス」)に接続される1394ポートで
ある3個のポート133〜135に接続されている。一
方、リンク層LSI131は1394規格のリンク層に
準拠した機能に加えて後述するアイソクロナス転送機能
を内蔵しており、バス間転送されるアイソクロナスパケ
ットやサイクル識別情報を送受信する。
【0072】他方、メモリ132は、ポータル121が
ノードとして動作するためのCSR(Control and Stat
us Register) を実装している。このほか、ポータル1
21は、ホストバス接続ポート136を介して図4に示
したホストバス127に接続し、アイソクロナスパケッ
ト転送ポート137およびサイクル識別情報送受信ポー
ト138を介して図4に示したスイッチングファブリッ
ク124内のスイッチ124aおよびスイッチ124b
にそれぞれ接続している。なお、符号139はリンク層
LSI131,メモリ132,ホストバス接続ポート1
36を接続するための内部バスである。
【0073】また、図6は図5に示したリンク層LSI
131の内部構成を示したブロック図である。図示した
ように、このリンク層LSI131は、PHY/LIN
Kインタフェース150,ホストインタフェース15
1,パケット受信器152,パケット送信器153,パ
ケット受信サイクル識別情報付加部154,サイクル識
別情報生成部155,遅延情報生成部156,遅延部1
57,参照サイクル識別情報生成部158,参照サイク
ル識別情報生成部159,サイクルタイマ160から構
成されている。
【0074】このうち、パケット受信器152およびパ
ケット送信器153は、PHY/LINKインタフェー
ス150を介して図5に示した物理層LSI130との
間でパケットの送受信を行う。また、ホストインタフェ
ース151は図5に示した内部バス139を介して図4
に示したホストバス127と接続するための接続インタ
フェースである。また、サイクル識別情報生成部15
5,遅延情報生成部156,遅延部157,参照サイク
ル識別情報生成部158及び159の動作は、それぞ
れ、図1に示したサイクル識別情報生成部103(10
4),遅延情報生成部110,遅延部111,参照サイ
クル識別情報生成部107及び108の動作と基本的に
同じであって細部の動作仕様が上述したものとは異なっ
ている。なお、これらの間の相違点については後述す
る。このほか、遅延部157はその出力がパケット送信
器153に入力されるように接続されており、各ポータ
ル121〜123が出力ポータルとして動作するときの
アイソクロナスパケットに対してサイクル遅延を与え
る。
【0075】次に、パケット受信サイクル識別情報付加
部154は、アイソクロナスパケットの入力時点でサイ
クル識別情報生成部155から出力されているサイクル
識別情報161の値(以下、「パケット受信サイクル識
別情報」という)を入力アイソクロナスパケットに付加
して出力する。このため、パケット受信器152の受信
したアイソクロナスパケットは、パケット受信サイクル
識別情報付加部154に入力されてパケット受信サイク
ル識別情報が付加されてから、図5に示したアイソクロ
ナスパケット転送ポート137に出力される。後に詳述
するように、このパケット受信サイクル識別情報は、ポ
ータル間のパケット転送に要する時間が許容値たるクロ
ック幅に対して無視できないほど大きい場合に極めて有
効である。なお、この許容値はバス間でデータをパラレ
ルに転送するときにはその分だけ大きくなる。例えば、
49.152メガヘルツのクロックを2分周することで
上述した公称24.576メガヘルツのクロックを得て
いるとすれば、1ビットの転送の場合における許容値は
約20nsとなるのに対して、例えば1ワード16ビッ
ト幅でパラレルに転送を行っている場合の許容値は20
ns×16=320nsとなる。
【0076】ここで、パケット受信サイクル識別情報付
加部154がパケット受信サイクル識別情報を付加する
ときの具体的な方法を図7を参照して説明する。パケッ
ト受信サイクル識別情報付加部154には図7(a)に
示したフォーマットを有するアイソクロナスパケットそ
のものが入力される。なお、アイソクロナスパケットの
各フィールドの詳細はここでは関係ないため特に説明し
ない。パケット受信サイクル識別情報付加部154は入
力されたアイソクロナスパケットの先頭に付加ヘッダを
付与して出力する。この付加ヘッダは1クワドレット
(=32ビット)で構成されており、当該付加ヘッダ中
にはパケット受信サイクル識別情報を格納するためのフ
ィールドが確保されている。なお、本実施形態では図7
(b)に示すように付加ヘッダの先頭1ビットを当該フ
ィールドとして使用するようにしている。その理由は、
後述するように本実施形態ではサイクル識別情報を1ビ
ットで表現しているためである。
【0077】ここで図6を再び参照すると、サイクル識
別情報生成部155はサイクルが変化する毎にサイクル
識別情報161が“0”と“1”を交互にとる仕様とし
ている。これは、値が“0”から“N−1”(Nは2以
上の整数)の間で循環的に変化してゆくN進カウンタの
N=2の場合に相当する。こうした周期的に値の変化す
るサイクル識別情報を用いる場合において、サイクル識
別情報および参照サイクル識別情報に基づいて、参照サ
イクル識別情報が生成されたサイクルからの経過サイク
ル数に相当する第1の値や第2の値を算出するには次式
を用いることができる。
【0078】 第1の値又は第2の値=(N+サイクル識別情報の値−参照サイクル識別情 報の値) % N … (1) ここで、“A % B”の表記は“A”を“B”で割って
得られる余りを意味している。したがって、本実施形態
のようにNが“2”の場合には(1)式を次式のように
簡略化することができる。 第1の値又は第2の値=サイクル識別情報の値 XOR 参照サイクル識別情 報の値 … (2) ここで、“A XOR B”の表記は“A”と“B”の排
他的論理和をとることを意味している。
【0079】なお、本来であれば第1の値はサイクル識
別情報162及び参照サイクル識別情報163から算出
されるはずであるが、本実施形態における第1の値は、
入力ポータルであるポータル121で受信されたアイソ
クロナスパケットに付加したパケット受信サイクル識別
情報(図7参照)と参照サイクル識別情報163に基づ
いて算出される。このため、図6に示したように、遅延
情報生成部156にはサイクル識別情報162ではなく
アイソクロナスパケット転送ポート137からのアイソ
クロナスパケットが入力される。
【0080】また、パケット受信サイクル識別情報は、
アイソクロナスパケットに付加されて10マイクロ秒の
ポータル間転送遅延を伴ってポータル122に入力され
てくる。このため、第1の値はサイクル識別情報162
に対して10マイクロ秒の遅延を与えたものと参照サイ
クル識別情報163の排他的論理和をとることで得られ
る。一方、第2の値を算出する際には、サイクル識別情
報生成部155と参照サイクル識別情報生成部164が
同じ出力ポータル内にあるため、ポータル間転送遅延を
考慮する必要はない。
【0081】次に、参照サイクル識別情報生成部158
は、入力ポータルから転送されてくるサイクル識別情報
162に基づいて参照サイクル識別情報163を生成し
て、これを遅延情報生成部156に出力する。これに対
し、参照サイクル識別情報生成部159はサイクル識別
情報生成部155から出力されるサイクル識別情報16
1に基づいて出力ポータル側バスに対応した参照サイク
ル識別情報164を生成して、これを遅延情報生成部1
56に出力する。つまり、参照サイクル識別情報生成部
158はリンク層LSI131の外部から送られてくる
サイクル識別情報162を用いるのに対して、参照サイ
クル識別情報生成部159はリンク層LSI131内部
で生成されるサイクル識別情報155を用いている。こ
のほか、遅延情報生成部156が出力する遅延情報16
5は遅延部157によるアイソクロナス遅延の遅延量を
制御するためのものである。
【0082】ところで、本実施形態では、入力ポータル
として動作するポータル121にアイソクロナスパケッ
トが入力されてから出力ポータルとして動作するポータ
ル122の遅延部157に到達するまでに10マイクロ
秒程度のポータル間転送遅延が生じる。一方、アイソク
ロナスパケットとは別の経路で転送されるサイクル識別
情報162のポータル間転送遅延は、アイソクロナスパ
ケットのポータル間転送遅延に比べて無視できる程度に
小さい。したがって、出力ポータルの遅延部157へ入
力されるアイソクロナスパケットは、同じ出力ポータル
の参照サイクル識別情報生成部158へ入力されるサイ
クル識別情報162に対して上記ポータル間転送遅延に
相当するだけの遅延を持っていると見なすことができ
る。こうした遅延の影響によって遅延情報165が誤っ
てしまう可能性がある。本実施形態ではこの問題を解決
するために、上述したパケット受信サイクル識別情報を
用いるとともに、ポータル間転送の影響を受けない時間
帯に参照サイクル識別情報を生成するようにしている。
そこで、後者の点についてさらに詳述する。
【0083】一般に、ポータル間におけるアイソクロナ
スパケットの転送遅延とサイクル識別情報の転送遅延と
の差を“d1”マイクロ秒とすると、参照サイクル識別
情報の生成可能な時間帯は、サイクルの境界で cycle_c
ountの値が変化した時点を基準としたときに“45+d
1”マイクロ秒〜125マイクロ秒の範囲となる。ここ
で、本実施形態では、図1に示したバス40とバス41
の間のバス間同期の結果として、これら双方のバス上に
おけるCYCLE_TIMEレジスタの cycle_countの変化点には
2マイクロ秒のオフセットが生じていることを想定す
る。こうしたオフセットが生じている時間帯も参照サイ
クル識別情報を生成するには不適切であるため、上記時
間帯から除外する必要がある。したがって、バス間同期
時に生じる位相オフセットの最大値を“±d2”(d2
は0以上の有理数)マイクロ秒とすれば、上記ポータル
間転送遅延を考慮外としたときの参照サイクル識別情報
の生成可能な時間帯は cycle_countの値が変化した時点
を基準として“45+d2”マイクロ秒〜“125−d
2”マイクロ秒の範囲となる。
【0084】したがって、ポータル間転送遅延と位相オ
フセットを総合的に考慮した場合、参照サイクル識別情
報の生成可能な時間帯は cycle_countの値が変化した時
点を基準として、“45+d1+d2”マイクロ秒〜
“125−d2”マイクロ秒の範囲となる。上述したよ
うに、d1=10マイクロ秒かつd2=2マイクロ秒で
あることから、結局のところ57マイクロ秒〜123マ
イクロ秒の範囲内が参照サイクル識別情報を生成可能な
時間帯になる。そこで、本実施形態では参照サイクル識
別情報を生成するタイミングを cycle_countの値が変化
した時点から100マイクロ秒が経過した時点としてい
る。このタイミングをcycle_offsetの値に換算した場
合、参照サイクル識別情報生成部158,159はcycl
e_offsetの値が“2458”のタイミングでサイクル識
別信号162,161をサンプリングして参照サイクル
識別情報163,164を生成する仕様となる。なお、
本実施形態では、cycle_offsetの値が上記の値となるタ
イミングでサイクル識別情報を毎サイクル取得して参照
サイクル識別情報を生成することにしている。
【0085】次に、サイクルタイマ160は前述したCY
CLE_TIMEレジスタの値を生成して参照サイクル識別情報
生成部163,164へ供給する。このサイクルタイマ
160は公称24.576メガヘルツのクロックでカウ
ントアップするカウンタ等で構成することができる。
【0086】次に、図8に示すタイミングチャートを参
照しつつ、上記構成によるブリッジ120において、図
4に示したポータル121からポータル122に対して
アイソクロナスパケットを転送する際の動作について説
明する。なお、図8では煩雑になるのを避けるために、
バス40上のトラフィックとして3個のパケットA〜C
だけを示してある。しかしながら、実際にはこれら以外
のパケットがバス40に絶え間なく入力されていること
を想定する。
【0087】まず、時刻t30では入力ポータル側バス
であるバス40にパケットAが現れるとともに、出力ポ
ータルであるポータル122側でサイクルが切り替わる
のに伴ってCYCLE_TIMEレジスタの cycle_countも“96
7”に切り替わる。なお、同時刻t30では、ポータル
間転送遅延が加味されたサイクル識別情報162,参照
サイクル識別情報163が何れも“0”であって、サイ
クル識別情報161,参照サイクル識別情報164が何
れも“1”であるものとする。このため、第1の値及び
第2の値は何れも“0”となることから、第3の値は
“0”となり遅延情報165は“2”となっている。
【0088】次に、時刻t31になるとポータル121
側でサイクルが切り替わるのに伴ってCYCLE_TIMEレジス
タの cycle_countも“324”に切り替わる。次いで、
時刻t32になるとバス41にサイクルスタートパケッ
トが送出されるようになる。そこで、出力ポータルたる
ポータル122のサイクル識別情報生成部155はサイ
クルスタートパケットの送出に同期してサイクル識別情
報161を“1”から“0”に切り替える。この結果、
第2の値はサイクル識別情報161と参照サイクル識別
情報164の排他的論理和である“1”となるので、第
3の値は“−1”〔=(0−1)〕となって遅延情報1
65は“1”〔=2+(−1)〕となる。この結果、パ
ケットAは遅延部157で1サイクルだけ遅延され、ポ
ータル122のCYCLE_TIMEレジスタの cycle_countが
“968”のサイクルで、出力ポータルからバス41へ
送出されることになる。
【0089】次に、時刻t33になると、先に時刻t3
0でポータル121に入力されたパケットAがポータル
間転送遅延を経てポータル122に到達し、遅延情報生
成部156及び遅延部157に入力される。次に、時刻
t34になるとバス40上にサイクルスタートパケット
が送出されるようになる。またこのとき、入力ポータル
たるポータル121のサイクル識別情報生成部155が
サイクル識別情報(図6ではサイクル識別情報161に
相当し、図8ではサイクル識別情報162に相当)を
“0”から“1”に切り替え、このサイクル識別情報1
62が出力ポータル側の参照サイクル識別情報生成部1
58に向けて送出される。
【0090】この後、時刻t34からポータル間転送遅
延に相当する時間が経過して時刻t35になると、ポー
タル間転送遅延を経たサイクル識別情報162〔図8に
おけるサイクル識別情報162(ポータル間転送遅延あ
り)〕が“1”に切り替わる。その結果として第1の値
は、遅延されたサイクル識別情報162と参照サイクル
識別情報163の排他的論理和をとった“1”となる。
このとき第2の値は“1”のままであるため、第3の値
が“0”となって遅延情報165は“2”となる。な
お、前述したようにバス40上にはパケットが絶えず入
力されていることから、時刻t34の近傍で入力された
図示しないパケットに付随してパケット受信サイクル識
別情報が転送される。このため、図8に示したように時
刻t34におけるサイクル識別情報162の変化に対応
するように、時刻t35でサイクル識別情報162(ポ
ータル間転送遅延あり)が変化することになる。
【0091】この後の時刻t36は参照サイクル識別情
報を生成するタイミングである。したがって、参照サイ
クル識別情報生成部158はサイクル識別情報162を
サンプリングして出力するようになり、参照サイクル識
別情報163が“1”に切り替わる。またこのとき、参
照サイクル識別情報生成部159はサイクル識別情報1
61をサンプリングして出力するようになり、参照サイ
クル識別情報164が“0”に切り替わる。これらの結
果、第1の値及び第2の値は何れも“0”となるため、
第3の値に変化はなく“0”となって遅延情報165も
“2”のままとなる。そしてこれ以後は上述した動作に
準じた動作が行われてゆくことになる。
【0092】すなわち、時刻t37でバス40上にパケ
ットBが現れたのち、時刻t38においてポータル12
2側でサイクルが切り替わるのに伴ってCYCLE_TIMEレジ
スタの cycle_countも切り替わる。次に、時刻t39に
なってバス41上にサイクルスタートパケットが送出さ
れるようになり、出力ポータル側のサイクル識別情報生
成部155はサイクルスタートパケットの送出に同期し
てサイクル識別情報161を“1”に切り替える。この
結果、第2の値は“1”となって第3の値は“−1”と
なり、遅延情報165は“1”となる。次に、時刻t4
0においてポータル121側でサイクルが切り替わって
CYCLE_TIMEレジスタの cycle_countも切り替わる。
【0093】また、これとほぼ同時のタイミングにおい
て、先に時刻t37でポータル121に入力されたパケ
ットBがポータル間転送遅延を経てポータル122の遅
延情報生成部156及び遅延部157に到達する。この
結果、パケットBは遅延部157で遅延情報165で指
定された1サイクルだけ遅延され、ポータル122のCY
CLE_TIMEレジスタの cycle_countが“969”のサイク
ルで、出力ポータルからバス41へ送出されることにな
る。さらに同時刻t40は、時刻t38においてサイク
ルスタートパケットが送出されてからアイソクロナスギ
ャップに相当する時間を置いたタイミングとなるため、
時刻t33でポータル122の遅延部157に入力され
たパケットAが1サイクル分の遅延を経てポータル12
2からバス41に送出される。
【0094】次に、時刻t41になるとバス40上にサ
イクルスタートパケットが送出されるようになるととも
に、入力ポータル側のサイクル識別情報生成部155が
サイクル識別情報(図6のサイクル識別情報161に相
当)を“0”に切り替えるため、これがサイクル識別情
報162として出力ポータルの参照サイクル識別情報生
成部158に向けて送出される。次いで、時刻t41か
らポータル間転送遅延時間の経過した時刻t42でサイ
クル識別情報162〔図8に示すサイクル識別情報16
2(ポータル間転送遅延あり)に相当〕が“0”に切り
替わる。この結果、第1の値が“1”に切り替わるが、
このとき第2の値は“1”のままであるため、第3の値
が“0”となって遅延情報165は“2”となる。
【0095】この後に時刻t43でバス40上にパケッ
トCが現れると、ポータル間遅延に相当する時間が経過
した時刻t44で当該パケットCがポータル122の遅
延部157に到達する。このため、パケットCは遅延情
報165で指定される2サイクル分の遅延を経て、ポー
タル122のCYCLE_TIMEレジスタの cycle_countが“9
70”のサイクルでポータル122からバス41に送出
されることになる。この後、時刻t45は参照サイクル
識別情報を生成するタイミングであるため、参照サイク
ル識別情報生成部158はサイクル識別情報162をサ
ンプリングして参照サイクル識別情報163を“0”に
切り替え、参照サイクル識別情報生成部159はサイク
ル識別情報161をサンプリングして参照サイクル識別
情報164を“1”に切り替える。この結果、第1の値
及び第2の値は何れも“0”となって、第3の値および
遅延情報165に変化はない。
【0096】次に、時刻t46においてポータル122
側でサイクルが切り替わったのち、時刻t47において
ポータル121側でもサイクルが切り替わる。次いで、
時刻t48になってバス40上にサイクルスタートパケ
ットが送出されるようになると、入力ポータル側のサイ
クル識別情報生成部155がサイクル識別情報を“1”
に切り替えるため、これがサイクル識別情報162とし
て出力ポータルの参照サイクル識別情報生成部158に
向けて送出される。この後の時刻t49でバス41上に
サイクルスタートパケットが送出されるようになると、
出力ポータル側のサイクル識別情報生成部155はサイ
クルスタートパケットの送出に同期してサイクル識別情
報161を“0”に切り替える。この結果、第2の値が
“1”に切り替わって第3の値が“−1”となるため、
遅延情報165も“1”に変化する。
【0097】この後、先の時刻t49にてサイクルスタ
ートパケットが送出されてからアイソクロナスギャップ
に相当する時間を置いた時刻t50になると、先の時刻
t40でポータル122の遅延部157に入力されたパ
ケットBが1サイクル分の遅延を経てポータル122か
らバス41に送出される。次に、先の時刻t48からポ
ータル間転送遅延時間が経過した時刻t51になるとサ
イクル識別情報162(ポータル間転送遅延あり)が
“1”に切り替わるため、第1の値が“1”に切り替わ
って第3の値が“0”かつ遅延情報165が“2”とな
る。次に、時刻t52において参照サイクル識別情報生
成部158はサイクル識別情報162をサンプリングし
て参照サイクル識別情報163を“1”に切り替え、参
照サイクル識別情報生成部159はサイクル識別情報1
61をサンプリングして参照サイクル識別情報164を
“0”に切り替える。この結果、第1の値及び第2の値
が何れも“0”となって、第3の値および遅延情報16
5に変化はない。
【0098】次に、時刻t53においてポータル122
側でサイクルが切り替わり、時刻t54になってバス4
1上にサイクルスタートパケットが送出されるようにな
ると、出力ポータル側のサイクル識別情報生成部155
はサイクルスタートパケットの送出に同期してサイクル
識別情報161を“1”に切り替える。この結果、第2
の値が“1”に切り替わって第3の値が“−1”,遅延
情報165が“1”となる。次いで、時刻t55ではポ
ータル121側でサイクルが切り替わるとともに、先の
時刻t53でサイクルスタートパケットが送出されてか
らアイソクロナスギャップに相当する時間が経過したた
め、先に時刻t44でポータル122の遅延部157に
入力されたパケットCが2サイクル分の遅延を経てポー
タル122からバス41に送出される。
【0099】次に、時刻t56でバス40にサイクルス
タートパケットが送出されるようになる。その結果、入
力ポータル側のサイクル識別情報生成部155がサイク
ル識別情報を“0”に切り替え、これがサイクル識別情
報162として出力ポータルの参照サイクル識別情報生
成部158に向けて送出される。次に、同時刻t56か
らポータル間転送遅延時間が経過した時刻t57でサイ
クル識別情報162(ポータル間転送遅延あり)が
“0”に切り替わるため、第1の値が“1”に切り替わ
って第3の値が“0”かつ遅延情報165が“2”とな
る。次に、時刻t58において参照サイクル識別情報生
成部158はサイクル識別情報162をサンプリングし
て参照サイクル識別情報163を“0”に切り替え、参
照サイクル識別情報生成部159はサイクル識別情報1
61をサンプリングして参照サイクル識別情報164を
“1”に切り替える。この結果、第1の値及び第2の値
が何れも“0”となって、第3の値および遅延情報16
5に変化はない。そして、この後の時刻t59以降のサ
イクルにおいても上述したのと同様の動作が行われる。
【0100】以上のように、本実施形態では全てのアイ
ソクロナスパケットに対して等しく2サイクルの遅延を
与えながらバス間転送を実現している。このため、例え
ば転送速度S400で転送可能なアイソクロナスパケッ
トの最大サイズは4キロバイトであるが、こうしたアイ
ソクロナスパケットを転送するために、従来技術では5
サイクルに相当する20キロバイト分の蓄積量を持った
遅延部が必要となる。これに対し、本実施形態では12
キロバイト分の蓄積量を持った遅延部を各ポータルに備
えれば良いため、従来技術と比較して8キロバイト分の
蓄積量を削減することが可能となる。
【0101】また、本実施形態では、パケット受信サイ
クル識別情報を利用してパケットに対する遅延量を算出
しているため、ポータル間転送遅延の影響を受けること
なく遅延量を定めることが可能となる。このため、例え
ば図8に示したパケットBのように、入力ポータルに受
信された時点(時刻t37)と出力ポータル側に転送さ
れた時点(時刻t40)で入力ポータル側バスのサイク
ルが変化してしまうような場合にも不具合が生じること
はない。すなわち、パケット受信サイクル識別情報が無
いと、実際に与えられるべき遅延量よりも1サイクル大
きな遅延が与えられてしまうのに対し、本実施形態によ
ればこのようなことが無くなる。
【0102】また、本実施形態では第1の値や第2の値
を算出するにあたってN=2としているため、サイクル
識別情報を1ビットで表現することができる。このた
め、ポータル間でサイクル識別情報を転送するための信
号線の本数を最小限にできるほか、信号線の本数が少な
いことからサイクル識別情報を転送するために必要とな
る各部の構成を簡略化することができる。また、第1の
値や第2の値を算出するために排他的論理和をとるだけ
で良いため、N>2のときに余りの計算を必要とするの
に比べてハードウェア構成を簡略化することもできる。
【0103】なお、上述した説明ではパケット受信サイ
クル識別情報を付加ヘッダに格納するようにしたが、本
実施形態がこうした形態に限られるものではない。例え
ば、アイソクロナスパケットを伝送するための伝送線と
は別の伝送線を使用して、パケット受信サイクル識別情
報を出力ポータルに送信するようにしても良い。
【0104】〔第3実施形態〕本実施形態は第2実施形
態に変形を加えたものであって、図6に示したリンク層
LSI131に代えて図9に示したリンク層LSI18
0を用いるようにしたものである。なお、図9において
図6に示したものと同じ構成要素については同一の符号
を付してある。本実施形態ではパケット受信サイクル識
別情報が生成されないため、第2実施形態に存在してい
たパケット受信サイクル識別情報付加部154は存在し
ない。
【0105】本実施形態では、入力ポータル側から送信
されるサイクル識別情報と出力ポータル側で生成される
参照サイクル識別情報を用いて、出力ポータル側で算出
されるべき第1の値を算出している。そのため、第2実
施形態ではサイクル識別情報162が参照サイクル識別
情報生成部158のみに供給されていたのに対し、本実
施形態ではサイクル識別情報162が遅延情報生成部1
56にも供給されている。また、第2実施形態ではアイ
ソクロナスパケットが遅延情報生成部156及び遅延部
157に供給されていたのに対し、本実施形態では後者
にのみ供給されるように構成している。
【0106】ここで、第2実施形態で説明したポータル
間転送遅延に起因して生じる遅延情報の誤りの問題は、
入力ポータル側のバスにおけるサブアクションギャップ
の値がポータル間転送遅延の値より大きくなるように制
御することで対処可能である。すなわち、アイソクロナ
スパケットがバスに転送されてから次のサイクルスター
トパケットが送信されるまでには最低でもサブアクショ
ンギャップ相当の時間が空く。このため、上記のように
サブアクションギャップをポータル間転送遅延より大き
くすれば、アイソクロナスパケットをポータル間で転送
している最中に入力ポータル側のバスでサイクルが変わ
ってしまうことは無くなる。
【0107】なお、サブアクションギャップの制御は、
1394規格で規定されているPHYconfigurationパケッ
トをバス上に送信することで実現可能である。ここで、
PHYconfigurationパケットのフォーマットを図10に示
しておく。1394規格によれば、図中のTフィールド
を“1”にセットするとともに gap_cntフィールドに所
望の値を代入することで、サブアクションギャップの値
を任意に制御することが可能となる。ちなみに、これら
以外のフィールドは直接関連しないためここでは説明を
省略する。
【0108】本実施形態におけるブリッジの動作は第2
実施形態の動作から容易に理解できるためここでは繰り
返して説明しない。すなわち第2実施形態との違いは、
入力ポータルから出力ポータルへアイソクロナスパケッ
トを転送するときにパケット受信サイクル識別情報が付
加されないこと,出力ポータル側で遅延情報を生成する
際にパケット受信サイクル識別情報ではなくサイクル識
別情報162が使用されることである。
【0109】〔第4実施形態〕本実施形態も第2実施形
態に変形を加えたものであって、図6に示したリンク層
LSI131に代えて図11に示したリンク層LSI1
90を用いるようにしたものである。なお、図11にお
いて図6に示したものと同じ構成要素については同一の
符号を付してある。本実施形態はIEC(国際電気標準
会議)61883規格に基づくリアルタイムデータが格
納されたアイソクロナスパケットをバス間転送させるた
めのものである。そのために本実施形態では、第2実施
形態で説明したリンク層LSI131に対して、タイム
スタンプ変換部191,192により実現されるタイム
スタンプ変換機能を追加している。
【0110】そこでまずタイムスタンプ変換機能につい
て説明する。このタイムスタンプ変換はIEC6188
3規格で定められており、動画などのリアルタイムデー
タをアイソクロナスパケットに格納してブリッジでバス
間転送する際に必要とされるものである。IEC618
83規格では、CIP(Common Isochronous Packet)ヘ
ッダと呼ばれるヘッダをリアルタイムデータに付加し
て、これをアイソクロナスパケットのデータフィールド
に格納する規格が定められている。このほか、転送され
る動画の種別によっては、ソースパケットヘッダと呼ば
れるヘッダをリアルタイムデータに付加した後にさらに
CIPヘッダを付加してアイソクロナスパケットに格納
する場合もある。
【0111】このようなアイソクロナスパケットを13
94バスで転送して受信機器側でデータの復号化を行う
際には、1394バスで生じるジッタを吸収するために
タイムスタンプが利用される。タイムスタンプはCIP
ヘッダ又はソースパケットヘッダに格納されており、CY
CLE_TIMEレジスタの示す現在時刻よりも未来の値を示す
とともに、受信機器が自身に内蔵されている復号化器へ
データを渡すタイミングを示している。つまり、タイム
スタンプはリアルタイムデータを復号化するタイミング
を表した時刻情報であると言える。ここで、CIPヘッ
ダおよびソースパケットヘッダのフォーマットを図12
に示しておく。
【0112】CIPヘッダにタイムスタンプを格納する
場合は、図12(a)に示したように16ビットのSY
Tフィールドに格納する。このフィールドに格納される
値は、13ビットの cycle_countフィールドのうちの下
位4ビットの値と12ビットのcycle_offsetフィールド
の値である。一方、ソースパケットヘッダにタイムスタ
ンプを格納する場合は、図12(b)に示したように1
3ビットの cycle_countと12ビットのcycle_offsetの
全てを25ビットのTime Stampフィールドにタイムスタ
ンプとして格納する。なお、いま説明した以外のフィー
ルドについては直接の関連性がないため、ここではその
説明を省略する。
【0113】前述した通り、ブリッジを用いてアイソク
ロナスパケットをバス間転送する際には2サイクル以上
のアイソクロナス遅延が必要である上に、バス間同期を
確立した後では各バスにおける cycle_countフィールド
の値が一般には一致していない。こうしたことから、I
EC61883準拠のリアルタイムデータが格納された
アイソクロナスパケットをブリッジでバス間転送する際
に、ブリッジでタイムスタンプの値を変換してやる必要
がある。すなわちブリッジは、入力ポータル側バスでタ
イムスタンプが持っている現在時刻との差を出力ポータ
ル側バスでも保つように変換を行う。
【0114】ただし、この変換はタイムスタンプフィー
ルドのうち cycle_count部分についてのみ行い、CIP
ヘッダ中のSYTフィールドに関しては cycle_countの
下位4ビットのみについて行う。例えば、現在時刻であ
る cycle_countの値が“3”であって、入力ポータルが
受信したパケットのタイムスタンプが持つ cycle_count
部分の値が“5”であった場合を想定する。この場合、
後者の値は前者の値よりも“2”だけ大きいことから、
出力ポータルがこのパケットを送出するときのcycle_co
untの値が例えば“80”であれば、タイムスタンプが
持つ cycle_count部分の値を“5”から“82”に変換
する。
【0115】図11に話を戻すと、タイムスタンプ変換
部191は、パケット受信サイクル識別情報付加部15
4から出力されるアイソクロナスパケット(図7参照)
を入力として、そのデータフィールド(図中の「data f
ield」)に格納されているタイムスタンプの値を変換す
る。すなわち、このタイムスタンプが現在時刻に対して
持っている差分を抽出し、この抽出された値でタイムス
タンプの値を上書きすることで変換を行う。その際、変
換動作はタイムスタンプのうちの cycle_count部分(図
18を参照)についてだけ行うようにする。結局、タイ
ムスタンプの変換は次式に従って行われることになる。 タイムスタンプ(変換後)={8000+タイムスタンプ(変換前)−CYCL E_TIME.cycle_count} % 8000 … (3) ここで、CYCLE_TIME.cycle_countは、現在時刻におけ
る CYCLE_TIMEレジスタのcycle_countフィールドの値を
示している。
【0116】なお、タイムスタンプがCIPヘッダのS
YTフィールド〔図12(a)参照)〕に格納されてい
る場合、タイムスタンプフィールドには cycle_countの
下位4ビットしか格納されない。したがってこの場合は
(3)式で得られたタイムスタンプ(変換後)の下位4
ビットを最終的なタイムスタンプの値として格納するよ
うにすれば良い。そこでこの場合は(3)式よりも簡略
化された変換式として次式を用いることができる。 タイムスタンプ(変換後)={タイムスタンプ(変換前)−CYCLE_TIME.cy cle_count} & 0xF … (4) ここで、“A & B”なる表記は“A”と“B”のビッ
ト毎の論理積をとることを意味している。また、“0x
F”は16進数表示の“F”を意味している。
【0117】一方、タイムスタンプ変換部192は、ア
イソクロナスパケット転送ポート137を通じてスイッ
チングファブリック124(図4参照)から送られてく
るアイソクロナスパケットに含まれているタイムスタン
プを変換する。すなわち、入力ポータル側で抽出された
タイムスタンプと現在時刻との間の差分に対して、出力
ポータル側における現在時刻を加えるようにする。ただ
し、タイムスタンプ変換部192の出力は、遅延部15
7にて遅延情報165で指定された分だけさらに数サイ
クル遅延されてからバス上に送信される。このため、タ
イムスタンプ変換部192は遅延情報165で指定され
た値をさらに加えてから遅延部157に出力するように
している。そのために、タイムスタンプ変換部192に
は遅延情報165が供給されるように構成されている。
【0118】結局、タイムスタンプ変換部192での変
換処理は次式に従って行われる。 タイムスタンプ(変換後)={タイムスタンプ(変換前)+CYCLE_TIME.cy cle_count+遅延情報165} % 8000 … (5) なお、タイムスタンプがSYTフィールドに格納されて
いるのであれば、(5)式で得られた値の下位4ビット
のみを最終的なタイムスタンプとして用いるようにす
る。
【0119】本実施形態における動作も第2実施形態に
おける動作とほとんど同じであるため、ここでは繰り返
して説明しない。すなわち本実施形態では、入力ポータ
ル側でタイムスタンプ変換部191によるタイムスタン
プ変換処理が転送すべきアイソクロナスパケットに対し
て行われるほか、出力ポータル側でタイムスタンプ変換
部192によるタイムスタンプ変換処理が転送されてき
たアイソクロナスパケットに対して行われる。
【0120】以上のように、本実施形態によれば、IE
C61883規格に基づくリアルタイムデータが格納さ
れたアイソクロナスパケットをバス間転送させることが
できる。また、本実施形態では、パケット毎に異なる遅
延量に応じてタイムスタンプ変換を行っているため、サ
イクル周波数のジッタが存在する状況下であっても適切
なタイムスタンプ変換が可能となっている。なお、上述
した説明ではIEC61883規格に基づくリアルタイ
ムデータを対象としていたが、これと同等のリアルタイ
ムデータについても本実施形態を適用可能であることは
勿論である。
【0121】〔第5実施形態〕図13は本実施形態によ
るブリッジの構成を示すブロック図であって、図4に示
したものと同じ構成要素については同一の符号を付して
ある。本実施形態によるブリッジ200は図4と同様の
機能を具備しており、3個のポータルを備えた構成と等
価なものである。図4との相違点は、ポータル121〜
123がリンク層LSI201及び物理層LSI202
〜204で置き換えられていることにある。つまり、各
ポータルに備えられているリンク層LSI131(図5
参照)の機能をリンク層LSI201に集約するととも
に、個々のポータルに備えられている物理層LSI13
0(図5参照)の機能をそれぞれ物理層LSI202〜
204で実現したものである。
【0122】ここで、リンク層LSI201の内部構成
を図14に示す。図示したリンク層LSI201はリン
ク機能部211〜213を1チップに集積化させたもの
であって、個々のリンク機能部がノード1個分のリンク
層の機能を実現するための手段として動作する。リンク
機能部211〜213は何れも図6/図9/図11に示
したPHY/LINKインタフェース150と同等の機
能ブロックを有しており、各々のリンク機能部が図13
に示した物理層LSI202〜204に接続される。ま
た、これらリンク機能部211〜213にはそれぞれ図
5に示したリンク層LSI131の備える機能を実装す
るようにする。
【0123】以上のような構成によって、上述した各実
施形態で説明したブリッジが行うのと全く同じアイソク
ロナスパケット転送機能を実現することが可能となる。
このほか、図13に示したリンク層LSI201以外の
構成要素が備える機能を必要に応じてリンク層LSI2
01へ実装しても良い。例えば、リンク層LSI201
にスイッチングファブリック124が果たすのと同等の
機能を実装することが可能である。こうすることで、ス
イッチングファブリック124とリンク層LSI201
の間に配線される多数の高速信号線を1チップに収容可
能となるため、高速動作や装置の小型化に極めて有効で
ある。
【0124】〔第6実施形態〕上述した各実施形態で
は、パケットの転送性能を最重視してブリッジをハード
ウェアで実現することを想定していた。これに対して本
実施形態では、パーソナルコンピュータやワークステー
ションといったごく一般的なコンピュータを利用してブ
リッジの機能をソフトウェア的に実現するものである。
近時、これらのコンピュータは日進月歩で高速化・高性
能化を遂げており、これからもCPU性能等のさらなる
向上を考え合わせれば、ハードウェアではなくソフトウ
ェアでブリッジを実現しても実用に耐えうるものと考え
られる。
【0125】図15は本実施形態によるブリッジを実現
するためのシステム構成例を示したブロック図である。
同図に示した例では、ブリッジとしての役割を果たすパ
ーソナルコンピュータPCが1394バス301と13
94バス302との間でパケット転送を行う。図示した
ように、パーソナルコンピュータPCは2枚の1394
インタフェースボード303,304を実装しており、
これらに接続された1394バス301,302とパー
ソナルコンピュータPCとの間のインタフェースを司る
ものである。1394インタフェースボード303,3
04はそれぞれポータル1個分(図中では各々ポータル
#1,ポータル#2)に対応している。このうち、13
94インタフェースボード303はLINKチップ30
5及びPHYチップ306を有しており、これら両チッ
プで図6等に示したPHY/LINKインタフェース1
50と同等の機能を果たしている。
【0126】なお、LINKチップ305はPHYチッ
プ306又は後述するPCIバス309から送られてく
るパケットをバッファリングするための送信バッファを
内蔵している。また、1394インタフェースボード3
04はLINKチップ305,PHYチップ306と同
一構成のLINKチップ307,PHYチップ308を
具備している。このほか、1394インタフェースボー
ド303,304は、パーソナルコンピュータ用のバス
として最も普及しているバスの一つであるPCI(Peri
pheral Component Interconnect )バス309に接続さ
れている。次に、PCIブリッジ310はPCIバス3
09とCPUバスたる内部バス311を相互接続するた
めのデバイスである。
【0127】この内部バス311にはCPU312,R
AM(Random Access Memory)313,入出力コントロ
ーラ314が接続されている。なお、一般的なパーソナ
ルコンピュータのCPUバスと同様に、内部バス311
にはROM(Read Only Memory)や各種インタフェース
カード等が接続されていても良い。CPU312はパー
ソナルコンピュータPC全体を統括してブリッジとして
の動作を実現する。また、RAM313はCPU312
の動作を制御するためのプログラムが格納されるほか、
CPU312のための作業用領域としても使われる。な
お、当該プログラム内では後述する各種の変数を使用す
るが、これら変数はCPU312に内蔵されたレジスタ
群やRAM313上に確保された変数記憶領域に記憶さ
れる。ちなみに上記プログラムのうち、アイソクロナス
パケットのバス間転送を制御する部分を特にアイソクロ
ナスパケット転送制御プログラムと呼ぶ。
【0128】このほか、サイクル識別情報101,10
2および参照サイクル識別情報105,106について
もRAM313上に記憶領域が確保されており、CPU
312がそれらの値を適宜参照または更新する。また、
CYCLE_TIMEレジスタに関しては、図6等に示したサイク
ルタイマ160を内部バス311に接続するか、あるい
は、汎用のタイマチップを利用してCPU312擬似的
にCYCLE_TIMEレジスタの機能をシミュレートするように
しても良い。後者の場合、CYCLE_TIMEレジスタ用の領域
をRAM313上で確保するとともにタイマチップを内
部バス311に接続しておく。そして、例えば上述した
公称24.576メガヘルツのクロックと同一の周期で
タイマチップからCPU312へ割り込みをかける。
【0129】CPU312は割り込みを契機としてcycl
e_offsetフィールドを更新するとともに、 cycle_count
フィールド及びsecond_countフィールドに関してはそれ
ぞれcycle_offsetフィールド及び cycle_countフィール
ドが“0”にラップアラウンドした時点で更新する。ま
た、CPU312は cycle_countフィールドを更新する
タイミングでその値が参照サイクル識別情報を生成する
タイミングであるか否かを調べ、そうであればサイクル
識別情報101,102をRAM313から取り出して
それぞれ参照サイクル識別情報105,106の記憶領
域に複写する。次に、入出力コントローラ314は内部
バス311と各種入出力機器との間をインタフェースす
るためのデバイスであって、ここでは駆動装置315を
制御することによって、この駆動装置315に装着され
た記録媒体316に対するアクセスを可能としている。
【0130】次に、記録媒体316は、フロッピー(登
録商標)ディスク,光磁気ディスク,CD(コンパクト
ディスク)ROM等,ハードディスクといったコンピュ
ータ読み取り可能な各種の記録媒体である。駆動装置3
15は記録媒体316を駆動するものであるため、記録
媒体316が例えばCDROMであれば駆動装置315
はCDROMドライブである。もっとも、コンピュータ
読み取り可能な記録媒体としてはいま述べたようなプロ
グラムを静的に記憶するものに限られるものではない。
例えば、専用線や電話回線などの通信回線を通じて短時
間だけ動的にプログラムを保持するもの,即ち、インタ
ーネット等のネットワークでプログラムやデータを保
持,転送,中継するサーバ,ルータといったコンピュー
タ機器に内蔵された主記憶やキャッシュメモリのように
一定期間だけプログラムを保持可能なものをすべて包含
している。また、上記プログラムは、このプログラムを
記憶装置等に格納したコンピュータから伝送媒体または
伝送媒体中の伝送波で他のコンピュータに伝送されても
良い。ここで、伝送媒体とはインターネット等の通信網
や電話回線等の通信回線のように情報を伝送する機能を
持った媒体のことをいう。
【0131】この記録媒体316にはパーソナルコンピ
ュータPCをブリッジとして機能させるためのプログラ
ムの一部又は全部が記憶されている。すなわち、このプ
ログラムは以下に詳述する機能の一部を実現するための
もの(モジュール等)であっても良く、さらにはコンピ
ュータにすでに記録されているプログラムとの組み合わ
せでこれら機能を実現できるもの(アップデートプログ
ラム,パッチ等)であっても良い。そして、パーソナル
コンピュータPCを動作させるにあたっては、CPU3
12の指示の下に入出力コントローラ314を通じて記
録媒体316からRAM313上に上記プログラムを予
め転送しておく。その後にCPU312がRAM313
上のプログラムを実行することでパーソナルコンピュー
タPC内の各部を制御して、以下に述べるようなブリッ
ジ機能を実現している。
【0132】次に、図16に示すフローチャートを参照
しつつ、上記構成を用いてアイソクロナスパケットを転
送する際の手順について説明する。ここで、図16にお
いては1394バス301から1394バス302に向
けてアイソクロナスパケットを転送するときの手順のみ
を示している。パーソナルコンピュータPC上で行われ
る処理としては、これ以外にもポータルの初期化処理や
1394バス301−1394バス302間における非
同期パケットの転送処理などもある。しかしながら、こ
れら処理の詳細は本発明のポイントとは直接的な関係が
ないため、特にフローチャートとして示してはいない。
このほか、上記とは逆に1394バス302から139
4バス301に向けたアイソクロナスパケットの転送処
理も当然考えられるが、これは以下の説明中における1
394バス301,302や1394インタフェースボ
ード303,304をそれぞれ1394バス302,3
01や1394インタフェースボード304,303に
読み替えれば良い。
【0133】本実施形態ではサイクル識別情報の値が
“0”〜“7”の範囲で“1”ずつ増加しながら周期的
に変化してゆくことを想定しており、これは第2実施形
態で説明したところの「N」の値が“8”の場合に相当
する。もっとも、“8”という値そのものに特別な意味
はなくどのような値であっても良い。
【0134】まず初めに、CPU312は1394バス
301側でアイソクロナスパケットが受信されているか
どうかを調べる(ステップS1)。ここで、1394イ
ンタフェースボード303は1394バス301上を伝
送されるデータを常時監視している。そして、1394
バス301からアイソクロナスパケットを受信している
ことが検出された場合、PHYチップ306,LINK
チップ305による処理を順次経ることによって、アイ
ソクロナスパケットがPCIバス309上に出力され
る。そこでPCIブリッジ310はこのアイソクロナス
パケットをさらに内部バス311へ転送する。ちなみ
に、いま述べた動作はアイソクロナスパケット以外のパ
ケット(例えば、サイクルスタートパケットやその他の
非同期パケット)についても同様であるとともに、入力
ポータル側に限らず出力ポータル側についても同様であ
る。そしてCPU312は、入力ポータル側/出力ポー
タル側の少なくとも一方でサイクルスタートパケットが
検出された場合に、これを契機としてそれぞれサイクル
識別情報101,102を更新する。
【0135】次に、アイソクロナスパケットが検出され
ない(ステップS1が“No”)間、CPU312はア
イソクロナスパケットが受信されているか否かを例えば
一定時間間隔で繰り返し調べる。そうしているうちにア
イソクロナスパケットが受信されたことを検出(ステッ
プS1が“Yes”)したならば、CPU312は受信
されたアイソクロナスパケットをいったんRAM313
に記憶する(ステップS2)。次に、CPU312は受
信したアイソクロナスパケットへ与えるべき遅延量を計
算する。そのために、CPU312は1394バス30
1側のサイクル識別情報,参照サイクル識別情報を取得
してそれぞれ変数C1,Cr1に格納するとともに、1
394バス302側のサイクル識別情報,参照サイクル
識別情報を取得してそれぞれ変数C2,Cr2に格納す
る(ステップS3)。
【0136】次に、CPU312は上述した各実施形態
〔例えば第2実施形態で説明した(1)式〕に準じて第
1の値および第2の値を算出したのち、第1の値から第
2の値を引いて得た第3の値に対して固定遅延量“2”
を加えることで遅延量を求める。なお、CPU312は
固定遅延量に対応させて予め固定値“2”を変数Dfに
記憶しておくようにしている。図16にも示したよう
に、この場合は第1の値が(C1−C1r+8)%8,
第2の値が(C2−C2r+8)%8であるため、遅延
量は{(C1−Cr1+8)%8}−{(C2−Cr2
+8)%8}+Dfで算出される。そしてCPU312
は算出された遅延量を変数Dに格納する(ステップS
4)。
【0137】こうして遅延量が算出されたならば、CP
U312は変数Dの値を作業用の変数iにコピー(ステ
ップS5)したのち、変数iの値が“1”になったかど
うかを判定する(この判定を行う理由については後述す
る)。上述したように変数Dには固定遅延量“2”が含
まれているため、最初は必ずステップS6の判定結果が
“No”となる。そこでCPU312は、ステップS1
においてポータル#1でアイソクロナスパケットが受信
されたか否かを調べたように、出力側のポータル#2
(1394バス302)側でサイクルスタートパケット
が受信されているかどうか調べる(ステップS7)。も
し受信されていない(同ステップが“No”)のであれ
ば、CPU312は例えば一定時間間隔で再度サイクル
スタートパケット受信の有無を調べる。
【0138】その後、ポータル#2側で1サイクルが経
過すると、1394バス302上にサイクルスタートパ
ケットが図示しないサイクルマスタから送出される。こ
れにより、1394インタフェースボード304内のP
HYチップ308,LINKチップ307の処理を経
て、サイクルスタートパケットがPCIバス309上に
送出され、アイソクロナスパケットの場合と同じくPC
Iブリッジ310を通じて内部バス311へ転送されて
くる。そこで、CPU312はサイクルスタートパケッ
トが検出される(ステップS7が“Yes”)とその都
度変数iの値を“1”ずつ減らしてゆく(ステップS
8)。そしてこの後はステップS6〜S8の処理を繰り
返し行ってゆく。
【0139】そうするといずれは変数iの値が“1”と
なる(ステップS6が“Yes”)が、このタイミング
はアイソクロナスパケットを1394バス302へ送信
すべきサイクルよりも1サイクル前のタイミングを意味
する。そこで、CPU312はRAM313に記憶して
おいたアイソクロナスパケットを取り出し、内部バス3
11,PCIブリッジ310,PCIバス309を通じ
て1394インタフェースボード304に送信し、当該
アイソクロナスパケットを1394バス302へ送信す
るように要求する(ステップS9)。
【0140】1394インタフェースボード304で
は、LINKチップ307が内蔵された送信バッファへ
アイソクロナスパケットを格納する。こうすることによ
って当該送信バッファにおいて最後の1サイクルに相当
する遅延が与えられることになる。次に、1394イン
タフェースボード304は最後の1サイクルの遅延を経
た次のサイクルの開始直後で1394バス302上で調
停を行ったのち、アイソクロナスパケットを1394バ
ス302へ送信する。こうして、1394バス301か
ら1394バス302に対してアイソクロナスパケット
が転送されたことになる。
【0141】なお、第2実施形態で説明したように、ア
イソクロナスパケットにパケット受信サイクル識別情報
を付加して入力ポータル側から出力ポータル側に転送す
る動作は次のようにすれば良い。すなわち、CPU31
2は図16のステップS3でポータル#1のサイクル識
別情報を変数C1に設定するときに、その時点における
ポータル#1のサイクル識別情報とCYCLE_TIMEレジスタ
の値を用いて、アイソクロナスパケットのポータル間転
送遅延に相当する時間(上述の例では10マイクロ秒)
が経過した時点におけるサイクル識別情報の値を算出
し、このサイクル識別情報の値を変数C1に格納するよ
うにする。また、参照サイクル識別情報の生成タイミン
グは第2実施形態で説明した通りに予め設定しておけば
良い。
【0142】また、第3実施形態で説明したように、サ
ブアクションギャップをポータル間転送遅延の値を大き
くするには次のようにする。例えば、CPU312はス
テップS9でアイソクロナスパケットをポータル#2側
へ送信した時点(正確には、当該アイソクロナスパケッ
トを1394バス302上で転送するのに要する時間が
経過した時点)からサブアクションギャップに相当する
時間監視を行うようにし、その際の監視時間をポータル
間転送遅延の値よりも大きい値に設定しておけば良い。
【0143】また、第4実施形態で説明したように、タ
イプスタンプ変換を行う場合には次のようにすれば良
い。すなわち、CPU312はステップS4を処理した
後で、タイムスタンプが格納されているアイソクロナス
パケット上の領域を取り出し、CYCLE_TIMEレジスタの値
と遅延情報165に対応する変数Dの値を参照して、第
4実施形態で詳述したタイムスタンプ変換処理〔(3)
〜(4)式〕を実施して得られた値でRAM313上の
アイソクロナスパケットのタイプスタンプ領域を更新す
る。なお、第4実施形態では入力ポータル側,出力ポー
タル側で別々に行っていたが、出力ポータル側における
タイムスタンプ変換で用いるCYCLE_TIMEレジスタの値は
入力ポータル側におけるCYCLE_TIMEレジスタの値とポー
タル間転送遅延に基づいて算出できるため、両ポータル
側に関するタイムスタンプ変換処理を一括して行ってし
まっても良い。
【0144】〔変形例〕なお、上述した各実施形態は何
れも3個のポータルを有するブリッジに関するものであ
った。しかしながら、個々のブリッジが備えるポータル
の数は“2”以上であれば幾つであってもよい。特に、
ポータルを2個だけ備えるブリッジでは、互いに異なる
ポータルに接続された入力ポートと出力ポートを固定的
に接続するようにスイッチングファブリックを構成すれ
ば良くなるため、非常に簡易な構成とすることが可能と
なる。またこの場合には、複数のリンク層LSIまたは
リンク機能部について、スイッチングファブリックとの
間のインタフェースを直接接続するようにして、スイッ
チングファブリックを省略する構成としても良い。
【0145】また、上述した各実施形態では、遅延量を
求めるにあたって第3の値に固定遅延量に相当する
“2”を加えていたが、この固定値“2”を第1の値や
第2の値に含ませてしまっても良い。また、上述した説
明では既に規格化されているIEEE Std. 1394-1995 を前
提にしていたが、現時点においてドラフト段階にあるP
1394a,P1394bなども1394規格と上位互
換性があるため、これらに準拠したバスに対しても本発
明の技術思想を適用することができる。さらに、上述し
た説明では一貫してIEEE1394を前提にしていた
が、USB仕様においてもアイソクロナス転送が提案さ
れていることから、こうしたバスに対して本発明の技術
思想を適用するようにしても良い。要するに、アイソク
ロナス転送またはこれと同等の転送モードがサポートさ
れているバス全般に対して本発明を適用することができ
る。
【0146】
【発明の効果】以上説明したように、請求項1記載の発
明では、サイクルスタートパケットの送出タイミングに
同期して変化するサイクル識別情報を入力側及び出力側
の各バスについて生成しつつ、これらサイクル識別情報
に基づいて予め決められた同一のタイミングからの経過
サイクル数を入力側及び出力側のバスについて求め、こ
れら経過サイクル数から算出されるサイクル数が出力側
のバス上で経過するまで、入力側のバスから入力された
アイソクロナスパケットを遅延させて出力側のバスに送
信するようにしている。
【0147】また、請求項2記載の発明では、入力側/
出力側のバスに対応する入力側サイクル識別情報/出力
側サイクル識別情報を生成し、これらを同一のタイミン
グで取得して入力側参照サイクル識別情報/出力側参照
サイクル識別情報を生成する。次に、入力側参照サイク
ル識別情報の示すサイクルからアイソクロナスパケット
が入力側のバスに現れる時点までの経過サイクル数を算
出するとともに、出力側参照サイクル識別情報の示すサ
イクルからアイソクロナスパケットを出力側のバスに送
信すべき時点までの経過サイクル数を算出し、これら経
過サイクル数から遅延情報を生成し、出力側のバス上で
当該遅延情報の示すサイクル数が経過するまでアイソク
ロナスパケットを遅延させてから出力側のバスに送信す
る。これらによれば、アイソクロナスパケットをバス間
転送するために必要となるバッファ量を従来に比べて削
減することが可能となる。また、サイクルスタートパケ
ットの送出遅延が存在する状況下にあってもアイソクロ
ナスパケットに対して一定の転送遅延を与えることが可
能となる。
【0148】また、請求項3記載の発明では、入力側サ
イクル識別情報/出力側サイクル識別情報が何れもサイ
クルスタートパケットの発生する度に1つ増加してゆき
ながら“0”に戻るようにしている。これにより、入力
側サイクル識別情報や出力側サイクル識別情報を生成す
るにあたって、バイナリカウンタなどの簡易な回路を用
いることができる。また、請求項5記載の発明では、入
力側サイクル識別情報及び出力側サイクル識別情報が2
サイクル毎に“0”,“1”を繰り返すようにしてい
る。このため、これらサイクル識別情報の転送に必要と
なる信号線の本数を最小限にできるほか、サイクル識別
情報の転送に必要となる各部の構成を簡略化することが
できる。また、サイクル識別情報と参照サイクル識別情
報の排他的論理和をとることによって経過サイクル数を
算出することができる。このため、2サイクルを越えて
サイクル識別情報を循環させた場合などに必要となる余
りの計算を行わずに済み、排他的論理和ゲート等の簡易
な回路を用いて経過サイクル数を算出できる。
【0149】また、請求項6記載の発明では、何れかの
バスにおける時刻情報が予め定められた値となるタイミ
ングで、入力側サイクル識別情報および出力側サイクル
識別情報を取得して保持することで入力側参照サイクル
識別情報および出力側参照サイクル識別情報を生成して
いる。これにより、サイクル識別情報を取得するタイミ
ングを生成するための独立したクロック源等を設ける必
要がなくなるため、構成を簡略化することが可能とな
る。また、請求項7記載の発明では、サイクルオフセッ
トの値が、サイクルカウントの値が変化してからサイク
ルスタートパケットの送出までの最大遅延時間に相当す
る第1のタイミングと各サイクルの終わりに相当する第
2のタイミングとの間で定められている。これにより、
バスの調停や送信権の獲得などに起因してサイクルスタ
ートパケットの送出が遅延することによる影響を受ける
ことなく参照サイクル識別情報を生成することが可能と
なる。
【0150】また、請求項8記載の発明では、入出力バ
ス間におけるアイソクロナスパケットの転送遅延に相当
する時間だけ第1のタイミングをさらに遅らせている。
これにより、入出力バス間における転送遅延の影響を受
けない時間帯に参照サイクル識別情報を生成することが
可能となる。このため、入力側のバスからアイソクロナ
スパケットを受信した時点と出力側のバスにアイソクロ
ナスパケットを転送した時点で入力側のバスのサイクル
が変化しても遅延情報が誤ってしまう問題の生じること
がなくなる。
【0151】また、請求項9記載の発明では、任意のバ
ス間におけるサイクルオフセットの差の絶対値が常に
“a”以下である場合に、第1のタイミングをさらに
“a”に相当する時間だけ遅らせるとともに、第2のタ
イミングをさらに“a”に相当する時間だけ早めてい
る。これにより、入力側のバスと出力側のバスとをバス
間同期させたときにこれらバス間で位相オフセットの生
じる時間帯に参照サイクル識別情報を生成してしまう恐
れがなくなる。また、請求項11記載の発明では、入力
側/出力側のそれぞれのバスの経過サイクル数の差に固
定遅延量を加えて遅延情報を生成するにあたって、固定
遅延量を“2”サイクルに相当する時間としている。こ
のため、ジッタを発生させることなく最小の遅延量でア
イソクロナスパケットを転送できることになり、リアル
タイム性が要求されるデータの転送などに好適である。
殊に、ブリッジが多段接続されるような構成においては
ブリッジを通過する度に遅延が蓄積してゆくため、各ブ
リッジの遅延量を小さくすることによる効果がある。
【0152】また、請求項14記載の発明では、サイク
ルスタートパケットがバス上で発生する度に変化するサ
イクル識別情報を生成してゆき、予め定められた同一の
タイミングでサイクル識別情報を取得することで参照サ
イクル識別情報を生成し、これらサイクル識別情報及び
参照サイクル識別情報に基づいて遅延情報を生成し、出
力側のバス上で遅延情報の示すサイクル数が経過するま
で、バス間で転送されるアイソクロナスパケットを遅延
させてから出力するようにしている。これにより、ブリ
ッジでアイソクロナスパケットをバス間転送するために
必要となるバッファ量を削減することが可能となる。ま
た、サイクルスタートパケットの送出遅延が存在する状
況下にあってもアイソクロナスパケットに対して一定の
転送遅延を与えることが可能となる。
【0153】また、請求項16記載の発明では、入力側
のバスからアイソクロナスパケットを受信した時点にお
けるサイクル識別情報をパケット受信サイクル識別情報
として当該アイソクロナスパケットに付加し、入力側参
照サイクル識別情報,出力側参照サイクル識別情報,サ
イクル識別情報,アイソクロナスパケットに付加されて
転送されてきたパケット受信サイクル識別情報に基づい
て遅延情報を生成している。これにより、ポータル間転
送遅延の影響を受けない時間帯において参照サイクル識
別情報を生成することが可能となる。このため、入力ポ
ータルに受信された時点と出力ポータル側に転送された
時点で入力ポータル側のバスサイクルが変化してしまっ
て遅延情報が誤ってしまう問題を回避することが可能と
なる。
【0154】また、請求項17記載の発明では、ポータ
ル間転送遅延が、入力側のバスにおいてアイソクロナス
パケットの転送期間とこれ以外のパケットの転送期間と
を分離するための時間ギャップよりも短くしている。こ
れにより、アイソクロナスパケットがバスに転送されて
次にサイクルスタートパケットが送信されるまでに最低
でも上記時間ギャップ相当の時間が空くことになる。こ
のため、アイソクロナスパケットをポータル間で転送し
ている最中に入力ポータル側バスでサイクルが切り替わ
ることはなくなる。したがって、遅延情報を生成するた
めに、入力ポータル側で生成されるサイクル識別情報と
出力ポータル側で生成される入力側参照サイクル識別情
報,出力側参照サイクル識別情報,サイクル識別情報を
用いる場合にも、入力ポータルに受信された時点と出力
ポータル側に転送された時点で入力ポータル側バスのサ
イクルが変化してしまって遅延情報を誤る問題を回避す
ることが可能となる。
【0155】また、請求項18記載の発明では、各ポー
タルがアイソクロナスパケットによって転送されるリア
ルタイムデータの復号化タイミングを表すために付加さ
れたタイムスタンプの値を変換するようにしている。す
なわち、入力ポータルでは入力側のバスから受信したア
イソクロナスパケットに含まれるタイムスタンプから自
身のサイクルカウントの値を減じた値に“N”を加えた
値を“N”で割って得られる剰余でタイムスタンプの値
を更新し、出力ポータルではアイソクロナスパケットに
含まれるタイムスタンプの値に対して自身のサイクルカ
ウントと遅延情報を加えた値を“N”で割って得られる
剰余でタイムスタンプの値を更新している。これによ
り、例えばIEC61883規格に準拠したリアルタイ
ムデータの格納されたアイソクロナスパケットをバス間
転送させることが可能となる。また、アイソクロナスパ
ケット毎に異なる遅延量に応じてタイムスタンプ変換を
行うことができるため、サイクル周波数のジッタが存在
する状況下であっても適切なタイムスタンプ変換を行う
ことが可能となる。
【0156】また、請求項19記載の発明では、サイク
ルカウントとしてその下位Pビットに相当する値だけを
タイムスタンプとして格納するようにしている。これに
より、タイムスタンプが例えばIEC61883規格で
規定されているCIPヘッダのSYTフィールドに格納
されている場合などであってもタイムスタンプ変換を正
しく実施することが可能となる。また、請求項20記載
の発明では、ポータルを2個だけ設けるとともに、スイ
ッチング手段に入力ポート及び出力ポートをそれぞれ2
個だけ設けて、入力ポート及び出力ポートに異なるポー
タルが接続されるようにしてこれらポータル間で固定的
なパケット交換を行うようにしている。これにより、ブ
リッジの構成を非常に簡易なものにすることが可能とな
る。
【0157】また、請求項23記載の発明では、上述し
たような1ポータル分の構成を複数個集積化するように
して、複数ポータル分の機能を1チップに実装するよう
にしている。これにより、1ポータル分の機能を持つチ
ップを複数個用いてブリッジを構成した場合と比べたと
きに、これら複数個のチップ間で授受されるサイクル識
別情報等を伝送するための信号線を1チップ内に収める
ことができる。このため、複数チップで構成した場合に
比べて例えばチップのピン数を減らすことが可能とな
り、チップのコストを下げられる。また、請求項24記
載の発明では、スイッチ手段が備える機能をさらに上記
チップに集積化させているので簡易な構成とすることが
可能となる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態によるブリッジの構成
を示したブロック図である。
【図2】 1394規格で規定されるNODE_IDSレジスタ
のフォーマットを示した説明図である。
【図3】 同実施形態によるブリッジでアイソクロナス
パケットを転送する際の動作を示したタイミングチャー
トである。
【図4】 本発明の第2実施形態によるブリッジの構成
を示したブロック図である。
【図5】 同実施形態によるポータルの構成を示したブ
ロック図である。
【図6】 同実施形態によるリンク層LSIの構成を示
したブロック図である。
【図7】 同実施形態において、パケット受信サイクル
識別情報付加部がアイソクロナスパケットへパケット受
信サイクル識別情報を付加する際の具体的方法を示した
説明図であって、(a)はアイソクロナスパケットのフ
ォーマット,(b)はアイソクロナスの先頭にヘッダを
付加してパケット受信サイクル識別情報を格納したもの
である。
【図8】 同実施形態によるブリッジでアイソクロナス
パケットを転送する際の動作を示したタイミングチャー
トである。
【図9】 本発明の第3実施形態によるリンク層LSI
の構成を示したブロック図である。
【図10】 1394規格で規定されている PHY confi
gurationパケットのフォーマットを示した説明図であ
る。
【図11】 本発明の第4実施形態によるリンク層LS
Iの構成を示したブロック図である。
【図12】 IEC61883規格で規定されているヘ
ッダのフォーマットを示した説明図であって、(a)は
CIPヘッダ,(b)はソースパケットヘッダである。
【図13】 本発明の第5実施形態によるブリッジの構
成を示したブロック図である。
【図14】 同実施形態によるリンク層LSIの構成を
示したブロック図である。
【図15】 本発明の第6実施形態においてパーソナル
コンピュータを利用してブリッジ機能を実現するための
構成を示したブロック図である。
【図16】 同実施形態におけるパーソナルコンピュー
タで行われる手順を示したフローチャートである。
【図17】 1394規格で規定されているサイクルの
管理方法を示した説明図である。
【図18】 1394規格で規定されているCYCLE_TIME
レジスタのフォーマットを示した説明図である。
【図19】 1394規格で規定されているサイクルス
タートパケットのフォーマットを示した説明図である。
【図20】 従来の技術によるブリッジの構成を示した
ブロック図である。
【図21】 調停やギャップに起因してブリッジで必要
となる転送遅延を説明した図であって、(a)は転送遅
延を与えない場合のタイミングチャート,(b)は1サ
イクルの転送遅延を与えた場合のタイミングチャートで
ある。
【図22】 サイクル周波数のジッタに起因してブリッ
ジで必要となる転送遅延を説明した図であって、(a)
は1サイクルの転送遅延を与えた場合のタイミングチャ
ート,(b)は2サイクルの転送遅延を与えた場合のタ
イミングチャートである。
【図23】 アイソクロナス遅延を与える際に必要とな
る送信バッファ量を示した説明図である。
【図24】 送信バッファによる平滑化の影響によって
アイソクロナス遅延量が変わってしまう問題を説明する
ためのタイミングチャートである。
【符号の説明】
40,41 バス 100,120,200 ブリッジ 101,102,161,162 サイクル識別情報 103,104,155 サイクル識別情報生成部 105,106,163,164 参照サイクル識別情
報 107,108,158,159 参照サイクル識別情
報生成部 109,165 遅延情報 110,156 遅延情報生成部 111,157 遅延部 121〜123 ポータル 124 スイッチングファブリック 124a,124b スイッチ 125,312 CPU 126,132 メモリ 127 ホストバス 130,202〜204 物理層LSI 131,180,190,201 リンク層LSI 133〜135 ポート 136 ホストバス接続ポート 137 アイソクロナスパケット転送ポート 138 サイクル識別情報送受信ポート 139 内部バス 150 PHY/LINKインタフェース 151 ホストインタフェース 152 パケット受信器 153 パケット送信器 154 パケット受信サイクル識別情報付加部 160 サイクルタイマ 191,192 タイムスタンプ変換部 211〜213 リンク機能部 301,302 1394バス 303,304 1394インタフェースボード 305,307 LINKチップ 306,308 PHYチップ 311 内部バス 313 RAM 315 駆動装置 316 記録媒体 PC パーソナルコンピュータ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/46 100

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 サイクル単位で転送帯域が保証されたア
    イソクロナスパケットを異なるバス間で転送するアイソ
    クロナスパケット転送方法において、 前記サイクルの開始を示すサイクルスタートパケットが
    バスへ送出されるタイミングに同期して変化するサイク
    ル識別情報を入力側及び出力側のバスの各々について生
    成しながら、 これらサイクル識別情報に基づき、予め決められた同一
    のタイミングからの経過サイクル数を前記入力側及び前
    記出力側のバスのそれぞれについて求め、 これら経過サイクル数に基づいて算出される遅延情報の
    示すサイクル数が前記出力側のバス上で経過するまで、
    前記入力側のバスから入力された前記アイソクロナスパ
    ケットを遅延させて前記出力側のバスに送信することを
    特徴とするアイソクロナスパケット転送方法。
  2. 【請求項2】 サイクル単位で転送帯域が保証されたア
    イソクロナスパケットを異なるバス間で転送するアイソ
    クロナスパケット転送方法において、 前記サイクルの開始を示すサイクルスタートパケットが
    入力側のバス上および出力側のバス上でそれぞれ発生す
    る度に変化するサイクル識別情報を入力側サイクル識別
    情報および出力側サイクル識別情報として生成し、 前記入力側サイクル識別情報および前記出力側サイクル
    識別情報を予め決められた同一のタイミングで取得して
    入力側参照サイクル識別情報および出力側参照サイクル
    識別情報をそれぞれ生成し、 前記入力側参照サイクル識別情報の示すサイクルから前
    記アイソクロナスパケットが前記入力側のバスに現れる
    時点までの経過サイクル数である第1の値と、前記出力
    側参照サイクル識別情報の示すサイクルから前記アイソ
    クロナスパケットを前記出力側のバスに送信すべき時点
    となるまでの経過サイクル数である第2の値をそれぞれ
    算出し、 前記第1の値及び前記第2の値に基づいて遅延情報を生
    成し、 前記出力側のバス上で前記遅延情報の示すサイクル数が
    経過するまで前記アイソクロナスパケットを遅延させて
    から前記出力側のバスに送信することを特徴とするアイ
    ソクロナスパケット転送方法。
  3. 【請求項3】 前記入力側サイクル識別情報および前記
    出力側サイクル識別情報は、何れも、前記サイクルスタ
    ートパケットがそれぞれ前記入力側のバス及び前記出力
    側のバスで発生する度に値が1つ増加してゆき、該値が
    “M−1”(Mは2以上の整数)になった次の値が
    “0”になることを特徴とする請求項2記載のアイソク
    ロナスパケット転送方法。
  4. 【請求項4】 前記第1の値は、前記アイソクロナスパ
    ケットが前記入力側バス上に現れたタイミングにおける
    前記入力側サイクル識別情報の値から前記入力側参照サ
    イクル識別情報の値を減じて得られた値に“M”を加え
    た値を“M”で割って得られる剰余であって、 前記第2の値は、前記アイソクロナスパケットを前記出
    力バスに送信すべきタイミングにおける前記出力側サイ
    クル識別情報の値から前記出力側参照サイクル識別情報
    の値を減じて得られた値に“M”を加えた値を“M”で
    割って得られる剰余であることを特徴とする請求項3記
    載のアイソクロナスパケット転送方法。
  5. 【請求項5】 前記Mの値が“2”であることを特徴と
    する請求項3又は4記載のアイソクロナスパケット転送
    方法。
  6. 【請求項6】 前記入力側又は前記出力側のバスを含む
    何れかのバスにおける時刻情報が予め定められた値とな
    るタイミングで前記入力側サイクル識別情報および前記
    出力側サイクル識別情報を取得して保持することによ
    り、前記入力側参照サイクル識別情報および前記出力側
    参照サイクル識別情報を生成することを特徴とする請求
    項2〜5の何れかの項記載のアイソクロナスパケット転
    送方法。
  7. 【請求項7】 前記時刻情報は、各サイクル内のオフセ
    ットを示すサイクルオフセットと前記サイクル毎に変化
    するサイクルカウントとを含んでおり、 前記予め定められた値となるタイミングは、前記サイク
    ルオフセットが、前記サイクルカウントの値が変化して
    から前記サイクルスタートパケットが送出されるまでの
    最大遅延時間に相当する第1のタイミングと各サイクル
    の終わりに相当する第2のタイミングとの間で予め定め
    られた所定のタイミングであることを特徴とする請求項
    6記載のアイソクロナスパケット転送方法。
  8. 【請求項8】 前記入力側のバスと前記出力側のバスの
    間における前記アイソクロナスパケットの転送遅延時間
    だけ前記第1のタイミングをさらに遅らせることを特徴
    とする請求項7記載のアイソクロナスパケット転送方
    法。
  9. 【請求項9】 任意の2つのバスにおける前記サイクル
    オフセットの値の差の絶対値が常に“a”(aは0以上
    の整数)以下である場合に、前記第1のタイミングを該
    “a”に相当する時間だけさらに遅らせるとともに前記
    第2のタイミングを該“a”に相当する時間だけさらに
    早めることを特徴とする請求項7又は8記載のアイソク
    ロナスパケット転送方法。
  10. 【請求項10】 前記入力側のバスの経過サイクル数と
    前記出力側のバスの経過サイクル数との間の差に所定の
    固定遅延量を加えることで前記遅延情報を生成すること
    を特徴とする請求項1〜9の何れかの項記載のアイソク
    ロナスパケット転送方法。
  11. 【請求項11】 前記固定遅延量が“2”サイクルに相
    当する時間であることを特徴とする請求項10記載のア
    イソクロナスパケット転送方法。
  12. 【請求項12】 前記バスはIEEE1394規格に準
    拠したバスであることを特徴とする請求項1〜11の何
    れかの項記載のアイソクロナスパケット転送方法。
  13. 【請求項13】 請求項1〜12の何れかの項に記載さ
    れたアイソクロナスパケット転送の各手順をコンピュー
    タに実行させることを特徴とするアイソクロナスパケッ
    ト転送制御プログラムを記録した記録媒体。
  14. 【請求項14】 サイクル単位で転送帯域の保証された
    アイソクロナスパケットを少なくとも転送するバスがそ
    れぞれ接続された複数のポータルと、これらポータル間
    のパケット交換を行うスイッチ手段を備え、入力側のバ
    スから受信したパケットを前記スイッチ手段に出力する
    入力ポータルの動作,及び,前記スイッチ手段の出力す
    るパケットを出力側のバスに送信する出力ポータルの動
    作を前記各ポータルが行うことで異なるバス間でパケッ
    ト転送するブリッジにおいて、 前記サイクルの開始を示すサイクルスタートパケットが
    前記バス上で発生する度に変化するサイクル識別情報を
    生成する複数のサイクル識別情報生成手段と、 予め定められた同一のタイミングで前記サイクル識別情
    報を取得して参照サイクル識別情報を生成する複数の参
    照サイクル識別情報生成手段と、 前記サイクル識別情報及び前記参照サイクル識別情報に
    基づいて遅延情報を生成する遅延情報生成手段と、 前記出力側のバス上で前記遅延情報の示すサイクル数が
    経過するまで、前記バス間で転送される前記アイソクロ
    ナスパケットを遅延させてから前記出力側のバスに送信
    する遅延手段を具備し、 請求項2〜11の何れかの項記載のアイソクロナスパケ
    ット転送方法に従って前記アイソクロナスパケットのバ
    ス間転送を行うことを特徴とするブリッジ。
  15. 【請求項15】 前記各ポータルは、前記サイクル識別
    情報生成手段,前記遅延手段,前記遅延情報生成手段,
    第1及び第2の前記参照サイクル識別情報生成手段を備
    え、 前記第1の参照サイクル識別情報生成手段は、自身の属
    するポータルが前記出力ポータルとして動作するとき
    に、前記入力ポータルとして動作するポータルの備える
    前記サイクル識別情報生成手段が生成する前記サイクル
    識別情報に基づいて前記入力側参照サイクル識別情報を
    生成し、 前記第2の参照サイクル識別情報生成手段は、自身が属
    するポータルの前記サイクル識別情報生成手段が生成す
    る前記サイクル識別情報に基づいて前記出力側参照サイ
    クル識別情報を生成することを特徴とする請求項14記
    載のブリッジ。
  16. 【請求項16】 前記各ポータルは、前記入力側のバス
    から前記アイソクロナスパケットを受信した時点の前記
    サイクル識別情報をパケット受信サイクル識別情報とし
    て生成して該アイソクロナスパケットに付加するパケッ
    ト受信サイクル識別情報付加手段をさらに備え、 前記遅延情報生成手段は、前記入力側参照サイクル識別
    情報,前記出力側参照サイクル識別情報,前記サイクル
    識別情報,前記入力ポータルとして動作するポータルが
    備える前記パケット受信サイクル識別情報付加手段で生
    成された前記パケット受信サイクル識別情報に基づいて
    前記遅延情報を生成することを特徴とする請求項15記
    載のブリッジ。
  17. 【請求項17】 前記遅延情報生成手段は、前記入力側
    参照サイクル識別情報,前記出力側参照サイクル識別情
    報,自身の属するポータル及び前記入力ポータルとして
    動作するポータルがそれぞれ備える前記サイクル識別情
    報生成手段の生成する前記サイクル識別情報に基づいて
    前記遅延情報を生成し、 前記入力ポータルとして動作するポータルが前記アイソ
    クロナスパケットを出力してから前記出力ポータルとし
    て動作するポータルに入力されるまでのポータル間転送
    遅延が、前記入力側のバスにおいて前記アイソクロナス
    パケットの転送期間と該アイソクロナスパケット以外の
    パケットの転送期間とを分離するための所定の時間ギャ
    ップよりも短いことを特徴とする請求項15記載のブリ
    ッジ。
  18. 【請求項18】 前記各ポータルは、前記アイソクロナ
    スパケットによって転送されるリアルタイムデータの復
    号化タイミングを表すために該リアルタイムデータに付
    加されたタイムスタンプの値を変換する第1及び第2の
    タイムスタンプ変換手段をさらに備え、 前記第1のタイムスタンプ変換手段は、前記各ポータル
    が前記入力ポータルとして動作する際に、該ポータルの
    持つ時刻情報のうち前記サイクル毎に変化するサイクル
    カウントが“0”〜“N−1”(Nは2以上の整数)を
    取りうるとしたとき、前記入力側のバスから受信したア
    イソクロナスパケットに含まれるタイムスタンプの値か
    ら該サイクルカウントの値を減じた値に“N”を加えた
    値を“N”で割って得られる剰余で該タイムスタンプの
    値を更新し、 前記第2のタイムスタンプ変換手段は、前記各ポータル
    が前記出力ポータルとして動作する際に、前記スイッチ
    手段の出力する前記アイソクロナスパケットに含まれた
    タイムスタンプの値に該ポータルの持つ時刻情報のサイ
    クルカウントと前記遅延情報を加えた値を“N”で割っ
    て得られる剰余で該タイムスタンプの値を更新すること
    を特徴とする請求項15〜17の何れかの項記載のブリ
    ッジ。
  19. 【請求項19】 前記タイムスタンプには、前記サイク
    ルカウントの下位Pビット(Pは自然数)に相当する
    値,及び,前記時刻情報のうち各サイクル内のオフセッ
    トを示すサイクルオフセットが格納されることを特徴と
    する請求項18記載のブリッジ。
  20. 【請求項20】 前記ポータルを2個備えるとともに、
    前記スイッチ手段は入力ポート及び出力ポートをそれぞ
    れ2個ずつ備えており、前記入力ポート及び前記出力ポ
    ートにそれぞれ接続されるポータルを互いに異ならせて
    前記2個のポータル間で固定的なパケット交換を行うこ
    とを特徴とする請求項15〜19の何れかの項記載のブ
    リッジ。
  21. 【請求項21】 前記ブリッジはIEEE1394規格
    に準拠したバスを対象として前記アイソクロナスパケッ
    トのバス間転送を行うIEEE1394ブリッジである
    ことを特徴とする請求項14〜20の何れかの項記載の
    ブリッジ。
  22. 【請求項22】 請求項15〜20の何れかの項記載の
    ブリッジにおける前記ポータルが備える各手段を集積化
    してなることを特徴とするパケット転送制御LSI。
  23. 【請求項23】 請求項22記載のパケット転送制御L
    SIが有する各手段を複数個1チップに集積化してなる
    ことを特徴とするパケット転送制御LSI。
  24. 【請求項24】 請求項14〜20の何れかの項記載の
    ブリッジにおける前記スイッチ手段を前記チップ内にさ
    らに集積化させたことを特徴とする請求項23記載のパ
    ケット転送制御LSI。
  25. 【請求項25】 前記パケット転送制御LSIはIEE
    E1394規格に準拠したバスを対象として前記アイソ
    クロナスパケットをバス間転送するIEEE1394リ
    ンク層LSIであることを特徴とする請求項22〜24
    の何れかの項記載のパケット転送制御LSI。
JP27138899A 1999-09-24 1999-09-24 アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi Expired - Fee Related JP3424620B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP27138899A JP3424620B2 (ja) 1999-09-24 1999-09-24 アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi
US09/665,262 US6813282B1 (en) 1999-09-24 2000-09-19 Isochronous packet transfer method, computer readable recording media recorded with control program for executing isochronous packet transfer, and bridge and packet transfer control LSI
CA 2320619 CA2320619A1 (en) 1999-09-24 2000-09-20 Isochronous packet transfer method, computer readable recording media recorded with control program for executing isochronous packet transfer, and bridge and packet transfer control lsi
EP20000308349 EP1087581A3 (en) 1999-09-24 2000-09-22 Isochronous packet transfer method, device and computer-readable recording media recorded with the method thereof
KR1020000056214A KR20010050628A (ko) 1999-09-24 2000-09-25 동기 패킷 전송 방법, 동전송을 실현하는 제어 프로그램을기록한 컴퓨터 판독 가능한 기록 매체, 브릿지 및 패킷전송 제어 대규모 집적 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27138899A JP3424620B2 (ja) 1999-09-24 1999-09-24 アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi

Publications (2)

Publication Number Publication Date
JP2001094576A JP2001094576A (ja) 2001-04-06
JP3424620B2 true JP3424620B2 (ja) 2003-07-07

Family

ID=17499383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27138899A Expired - Fee Related JP3424620B2 (ja) 1999-09-24 1999-09-24 アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi

Country Status (5)

Country Link
US (1) US6813282B1 (ja)
EP (1) EP1087581A3 (ja)
JP (1) JP3424620B2 (ja)
KR (1) KR20010050628A (ja)
CA (1) CA2320619A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001230821A (ja) * 2000-02-16 2001-08-24 Sony Corp データ中継装置および方法、並びに提供媒体
JP4097891B2 (ja) * 2000-11-27 2008-06-11 三菱電機株式会社 Ieee1394を用いた同期システム
CN1280811C (zh) * 2000-12-20 2006-10-18 皇家菲利浦电子有限公司 包括可被启动和停止的模块单元的设备
US7046670B2 (en) * 2001-03-30 2006-05-16 Sony Corporation Method and system for synchronizing isochronous data on transmit over the IEEE 1394 bus from content unaware devices
JP2002335248A (ja) * 2001-05-09 2002-11-22 Nec Eng Ltd Ieee1394インタフェース切替回路
JP3698074B2 (ja) 2001-06-15 2005-09-21 日本電気株式会社 ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム
US7269137B2 (en) * 2001-08-24 2007-09-11 Canon Kabushiki Kaisha Method for setting up an isochronous data stream connection, with the application of a predetermined, total isochronous delay on one or more routing paths
FR2828946A1 (fr) * 2001-08-24 2003-02-28 Canon Kk Procede de gestion des delais isochrones associes a des ponts heterogenes dans un heterogene de bus numeriques
US8213322B2 (en) * 2001-09-24 2012-07-03 Topside Research, Llc Dynamically distributed weighted fair queuing
US7949777B2 (en) * 2002-11-01 2011-05-24 Avid Technology, Inc. Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal
EP1455472A1 (en) * 2003-03-07 2004-09-08 STMicroelectronics Limited Timing control for packet streams
US8275910B1 (en) * 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US20050000484A1 (en) * 2003-07-03 2005-01-06 Schultz James M. Pre-chambered type spark plug with a flat bottom being aligned with a bottom surface of a cylinder head
US7551606B2 (en) * 2004-08-20 2009-06-23 Sony Corporation Isochronous transmission for IP-oriented network
US20060056424A1 (en) * 2004-09-15 2006-03-16 Yolin Lih Packet transmission using output buffer
KR100668085B1 (ko) * 2005-01-13 2007-01-11 삼성전자주식회사 호스트 디바이스, 디스플레이 시스템 및 dpvl 패킷생성방법
JP4551804B2 (ja) * 2005-03-30 2010-09-29 キヤノン株式会社 伝送システム、中継機器及び制御方法
JP4541949B2 (ja) * 2005-03-31 2010-09-08 富士通株式会社 データ転送装置
JP4653011B2 (ja) * 2006-05-01 2011-03-16 パナソニック株式会社 中継装置及び中継方法
JP5011184B2 (ja) * 2008-03-26 2012-08-29 ルネサスエレクトロニクス株式会社 時間帯予約型ネットワークシステム、フレーム転送方法及びネットワーク装置
US20090268727A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090268736A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
US20090271532A1 (en) * 2008-04-24 2009-10-29 Allison Brian D Early header CRC in data response packets with variable gap count
DE102012223308A1 (de) * 2012-12-14 2014-06-18 Continental Automotive Gmbh Synchronisieren von Datenpaketen in einem Datenkommunikationssystem eines Fahrzeugs
US10624089B2 (en) 2016-11-14 2020-04-14 Mitsubishi Electric Corporation Network system and communication method
US10674399B2 (en) * 2018-06-20 2020-06-02 MeshPlusPlus, Inc. Clustered synchronization within a distance-vector wireless network
US10687228B2 (en) 2018-06-20 2020-06-16 MeshPlusPlus, Inc. Data aggregation for distributed optimization of a wireless network
JP7103162B2 (ja) * 2018-10-30 2022-07-20 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN115663549B (zh) * 2022-12-08 2023-03-21 蔚来汽车科技(安徽)有限公司 多接口转换装置及车辆

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2360943C3 (de) * 1973-12-06 1978-10-19 Siemens Ag, 1000 Berlin Und 8000 Muenchen Zeitmultiplexsystem zum Übertragen binärer Nachrichten
US5544324A (en) * 1992-11-02 1996-08-06 National Semiconductor Corporation Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate
US5467342A (en) * 1994-01-12 1995-11-14 Scientific-Atlanta, Inc. Methods and apparatus for time stamp correction in an asynchronous transfer mode network
JPH0823332A (ja) * 1994-07-05 1996-01-23 Mitsubishi Electric Corp リング型atmノードのアクセス制御装置
US5822317A (en) * 1995-09-04 1998-10-13 Hitachi, Ltd. Packet multiplexing transmission apparatus
DE69729068T2 (de) * 1997-04-15 2004-09-16 Samsung Electronics Co., Ltd., Suwon Vorrichtung und Verfahren zum Übertragen von digitalen Audio- und Videodaten
JPH11177591A (ja) 1997-12-15 1999-07-02 Matsushita Electric Ind Co Ltd 伝送媒体接続装置、伝送媒体接続制御装置、動作周期生成装置、および記録媒体
US6032261A (en) 1997-12-30 2000-02-29 Philips Electronics North America Corp. Bus bridge with distribution of a common cycle clock to all bridge portals to provide synchronization of local buses, and method of operation thereof
US6418150B1 (en) * 1998-02-20 2002-07-09 Apple Computer, Inc. Method and apparatus for calibrating an IEEE-1394 cycle master
JP3397124B2 (ja) 1998-03-12 2003-04-14 ソニー株式会社 同期方法及びブリッジ
AU3897099A (en) * 1998-05-11 1999-11-29 Digital Harmony Technologies, L.L.C. Method and system for distributing processing instructions with adata to be processed

Also Published As

Publication number Publication date
EP1087581A2 (en) 2001-03-28
JP2001094576A (ja) 2001-04-06
EP1087581A3 (en) 2002-07-31
KR20010050628A (ko) 2001-06-15
US6813282B1 (en) 2004-11-02
CA2320619A1 (en) 2001-03-24

Similar Documents

Publication Publication Date Title
JP3424620B2 (ja) アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi
US11050501B2 (en) Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments
US7561576B2 (en) Apparatus for and method of predictive time stamping of isochronous data packets transmitted over an IEEE 1394-1995 serial bus network
JP3698074B2 (ja) ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム
US6928126B2 (en) Reception interface unit in transmission system
JP3353824B2 (ja) ネットワーク同期システム及びネットワーク同期方法
US7251703B1 (en) Method of time stamping to enable device bridging over dissimilar buses
JP2002111704A (ja) データ送受信装置及び方法
US20020191621A1 (en) Programmable protocol processing engine for network packet devices
EP1156423A2 (en) Information processing apparatus, information processing method and bridge utilizing the same
US20020194363A1 (en) Programmable protocol processing engine for network packet devices
WO2000074346A1 (en) System and method for context switching in an electronic network
KR100516411B1 (ko) 패킷화된 데이터 통신 인터페이스 장치의 pci-직렬 버스 인터페이스 장치를 자율적으로 동작하는 방법 및 시스템
JP3837857B2 (ja) 信号処理回路
JP3799726B2 (ja) 信号処理回路
JPH10257096A (ja) データ転送方法及び装置
JP4045672B2 (ja) 信号処理回路
JPH10336252A (ja) シリアルデータ転送制御装置およびシリアルデータ転送方法
JP3977594B6 (ja) データフレームの表示時間算出方法及びデータストリーム送信装置
Kobayashi Design and Implementation of a Firewire Device Driver on FreeBSD.
US8914554B2 (en) Communication network device that compares first and second identification number of packet to determine if they are in conformance or non-conformance with self-ID packet
JP2006094509A (ja) Ieee1394−イーサネット変換が可能な端末用アダプダ装置
Yang et al. Bringing openPOWERLINK to MIPS (Loongson 2F)
JPH10285236A (ja) 信号処理回路
KR20020047962A (ko) 등시전송 효율을 높인 인터페이스 장치 및 방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030401

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees