JP2006506031A - 効率的タイムアウトメッセージ管理のための方法及び装置 - Google Patents

効率的タイムアウトメッセージ管理のための方法及び装置 Download PDF

Info

Publication number
JP2006506031A
JP2006506031A JP2005505659A JP2005505659A JP2006506031A JP 2006506031 A JP2006506031 A JP 2006506031A JP 2005505659 A JP2005505659 A JP 2005505659A JP 2005505659 A JP2005505659 A JP 2005505659A JP 2006506031 A JP2006506031 A JP 2006506031A
Authority
JP
Japan
Prior art keywords
timeout
remote
value
portal
received
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.)
Withdrawn
Application number
JP2005505659A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006506031A publication Critical patent/JP2006506031A/ja
Withdrawn legal-status Critical Current

Links

Images

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/40091Bus bridging
    • 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/46Interconnection of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

シリアルバスブリッジネットワークにおけるTIMEOUTメッセージ管理のための方法及びシステムは、タイムアウト要求メッセージを受信すると、格納されているリモートタイムアウト値の集合が有効であるか判断するため、ポータルによりフラグをチェックするステップを有する。格納されている集合が有効である場合、ポータルは、格納されているリモートタイムアウト値の集合を利用して、送信元バスへのタイムアウト応答メッセージを合成する。格納されている集合が有効でない場合、ポータルは様々なアクションをとる。一実施例では、ポータルは、受信したリモートタイムアウト値の集合を一時的に格納し、転送されたタイムアウト要求メッセージにおいて計算されたリモートタイムアウト値の新たな集合を転送し、転送されたタイムアウト要求メッセージに対応するタイムアウト応答メッセージを傍受し、更新された有効フラグと共に以降の利用のため、傍受したタイムアウト応答メッセージに含まれるリモートタイムアウト応答値の集合に基づき、修正されたリモートタイムアウト値の集合を格納し、修正されたリモートタイムアウト応答値の集合をタイムアウト応答メッセージの一部として送信元バスに転送する。第2の実施例では、ポータルは、変更されていないタイムアウト要求メッセージを送信先バスに転送し、当該ポータルに関連するイグジットポータルは、タイムアウト応答メッセージの受信により、リモートタイムアウト値の集合を更新し、タイムアウト応答メッセージにおける更新したリモートタイムアウト応答値の集合を送信元バスに転送すると共に、傍受したタイムアウト応答メッセージに含まれるリモートタイムアウト応答値の集合に基づき、以降の利用のために格納する。

Description

本発明は、一般にコンピュータネットワークにおけるメッセージを管理するための方法及び装置に関し、より詳細には、インターカップリング(inter−coupling)ハイパフォーマンスシリアルバスに対するIEEE1394ブリッジネットワークなどのコンピュータネットワークにおけるTIMEOUTメッセージを管理するための方法及び装置に関する。
IEEE1394規格は、最も汎用性のある相互接続技術の1つを利用可能にするハイパフォーマンスシリアルバスを記載する。IEEE1394ハイスピードシリアルバスは、100Mb/sec、200Mb/secあるいは400Mb/secの伝送速度が可能である。これらの伝送速度はツイストペアケーブル(twisted−pair wire)を介し利用可能であり、シリアルバスはホットプラグに対応している。この結果、IEEE1394シリアルバスは、以下に限定されるものではないが、ビデオカメラからの映像ストリーム、車両制御及びMIDI信号などのデジタル音声信号を含む多くの用途において利用可能である。
さらに、IEEE1394規格は、計算、通信及び娯楽をマルチメディアアプリケーションに統合するのに用いられる低コストのデジタルインタフェースのための国際規格である。
IEEE1394規格のバスの重要な特徴は、ネットワーク全体の通信のデイジーチェーン及びブランチ処理をサポートするそれのフレキシブルなトポロジーである。IEEE1394ネットワークでは、シリアルバスアーキテクチャがノードに関して規定される。ノードは独立にリセットすることが可能であり、識別可能かつアドレス指定可能なエンティティである。各ノードは、識別情報ROMと複数の制御レジスタを備えた一意的なアドレスを有する論理的なエンティティである。これらの制御レジスタは、規格化されたものであり、互いに独立にリセットすることが可能である。
IEEE1394ネットワークは、従来のメモリマッップ、ロード及びストアインタフェースである非同期トランスポートを提供する。非同期トランスポート処理中、データリクエストが指定されたアドレスに送信され、当該アドレスを有するエンティティがアクノリッジメントを返す。
IEEE1394ネットワークでは、1,023個までの論理バスを設けることが可能であり、各バス上に63個までのノードを設けることが可能である。非同期パケット送信者と受信者の両方が同じバス上にある場合、IEEE規格案1394−1995に従って、トランザクションタイムアウト値を取得することが可能である。しかしながら、送信者が与えられた受信者と異なるバス上にある場合、送信者は2つのバス上の遠隔処理のためのパラメータ(remote_timeout_seconds、remote_timeout_cycles、max_remote_payload、hop_count値など)を取得するため、受信者が接続されているバスにアドレス指定されたTIMEOUT要求メッセージを送信する。これらremote_timeout_seconds、remote_timeout_cycles、max_remote_payload、hop_count値は、ときどきまとめてリモートタイムアウト値またはパラメータと呼ばれる。
IEEE1394.1のハイパフォーマンスシリアルバスブリッジバージョン1.00のための規格案によると、送信元バスから送信先バスへのパス上の各ブリッジは、TIMEOUT要求メッセージを傍受し、各フィールドを以下のように更新する。すなわち、TIMEOUT要求メッセージは、送信先バスへ経路上のブリッジにより転送される。TIMEOUT要求メッセージを傍受する送信先バス上の最後のイグジットポータルはまた、IEEE1394−1995規格に従い取得されるそれのローカルSPLIT_TIMEOUT値をメッセージのリモートタイムアウトフィールドに追加し、上記の計算結果を含むTIMEOUT応答メッセージを同期化し、メッセージの送信者に送信する。
IEEE1394.1規格案によると、TIMEOUT要求メッセージを送信先バスに送信するノードがバス上に存在する場合、第1の送信元バス上の他のノードが送信先バスとの遠隔処理のためのリモートトランザクションタイムアウト値をすでに取得していたとしても、TIMEOUT要求メッセージが同一の送信先バスに発信されるたびに、TIMEOUT要求メッセージは転送され、送信元バスから送信先バスへのパス上のすべてのブリッジポータルにより処理される。
従って、送信元バスと送信先バスとの間のパス上の各ポータルによって、同じ送信元バス上の他のノードから同じ送信先バスへの以降のTIMEOUT要求メッセージの処理は冗長となり、これにより、与えられたネットワークの帯域幅リソースが最大限に使用される。
送信元バス上の他のノードが送信先バスのリモートトランザクションタイムアウト値をすでに取得しているため、同じリモートトランザクションタイムアウト値を必要とするノードは、以前にこれを受信したものと同じバス上のノードからこれらの値を取得することができる。パス上の同じブリッジポータルに先行する処理の冗長性は、TIMEOUT要求メッセージを送信し、対応する応答を待機する必要のある他のノードに対する不必要な処理回数を要求することにより混雑を招くこととなる。
規格案IEEE P1394.1 Draft1.0によると、TIMEOUTメッセージは、TIMEOUT要求メッセージが発信されるごとに、タイムアウト値を蓄積するよう送信元バスから送信先バスへの経路に沿った各ブリッジにより処理される必要がある。
従って、本発明は、容量をロスすることなく効率的にTIMEOUTメッセージを管理する方法及び装置を構成する問題に関する。
本発明は、TIMEOUTメッセージが最初にブリッジを通過するとき、リモートタイムアウト情報を格納し、この格納した情報を利用して、一連のTIMEOUT要求メッセージに対するTIMEOUT応答メッセージを同期化することにより上記及び他の問題点を解決し、これにより、TIMEOUT要求メッセージをされに転送し、メッセージトラフィックを減少させ、ネットワークの効率性を向上させる必要性が解消される。
本発明の一特徴によると、少なくとも1つのブリッジにより結合された複数のバス上の複数のノードを有するネットワークにおける通信方法は、タイムアウト要求メッセージを受信すると、格納されているリモートタイムアウト値の集合が有効であるか判断するため、ポータルによりフラグをチェックするステップを有する。格納されている集合が有効である場合、ポータルは、格納されているリモートタイムアウト値の集合を利用して、送信元バスへのタイムアウト応答メッセージを合成する。
本発明の他の特徴によると、格納されている集合が有効でない場合、ポータルは様々なアクションをとる。一実施例では、ポータルは、受信したリモートタイムアウト値の集合を一時的に格納し、タイムアウト要求メッセージにおいて計算されたリモートタイムアウト値の新たな集合を転送し、転送されたタイムアウト要求メッセージに対応するタイムアウト応答メッセージを傍受し、更新された有効フラグと共に、以降の利用のため、傍受したタイムアウト応答メッセージに含まれるリモートタイムアウト応答値の集合に基づき、修正されたリモートタイムアウト値の集合を格納し、タイムアウト応答メッセージの一部として修正されたリモートタイムアウト応答値の集合を送信元バスに転送する。
第2の実施例では、ポータルは、変更されていないタイムアウト要求メッセージを送信先バスに転送し、当該ポータルに関連する他のポータルが、タイムアウト応答メッセージの受信により、リモートタイムアウト値の集合を更新し、タイムアウト応答メッセージにおける更新したリモートタイムアウト応答値の集合を送信元バスに転送すると共に、傍受したタイムアウト応答メッセージに含まれるリモートタイムアウト応答値の集合に基づき、以降の利用のために格納する。
ここでの「一実施例」または「実施例」の用語は、当該実施例に関して記載される特徴または構成が、本発明の少なくとも1つ含まれるということを意味する。明細書の様々な箇所での「一実施例では」という表現は、必ずしも同一の実施例を参照するものとは限らない。
同じ発明者による関連する特許出願では、効率的なTIMEOUTメッセージ管理を提供する方法及び装置が開示される。開示される方法によると、送信元バス上のエントリポータルは、ある送信先バスに対する最初のTIMEOUT応答メッセージを傍受し、そのタイムアウト値を格納する。同じ送信先バスに対する一連のTIMEOUT要求メッセージに対し、送信元バス(または中間バス)上のエントリポータルは、送信先バスにTIMEOUT要求メッセージをさらに転送することなく、格納されているリモートタイムアウト値を用いて対応するTIMEOUT応答メッセージを同期化する。これにより、ネットワーク上のトラフィックを減少させることができる。しかしながら、送信元バス上のエントリポータルにTIMEOUT値を格納することにより、送信元バス上のブリッジのみが以降における利用のためこのタイムアウト値にアクセスすることができる。
上記効率的TIMEOUTメッセージ管理方法は、以下のステップを有する。すなわち、
(a)同じネットのポータルのローカルバスからある送信バスへのリモートタイムアウト値を格納するためのエントリを有し、N番目のエントリがNであるバスIDに対応するレジスタテーブルを歩たるにおいて実現するステップと、
(b)リモートタイムアウト値を有するTIMEOUT応答メッセージがポータルのローカルバスにアドレス指定される場合、イグジットポータルによりアドレス指定されたノードへの経路上でTIMEOUT応答メッセージを傍受するステップと、
(c)ステップ(b)において傍受されたTIMEOUT応答メッセージに含まれるリモートタイムアウト値をステップ(a)において実現されたレジスタテーブルの対応するエントリに格納するステップと、
(d)ステップ(b)において傍受されたTIMEOUT応答メッセージをアドレス指定されたノードに転送するステップと、
(e)ポータルのローカルバスから傍受されたTIMEOUT要求メッセージがアドレス指定された送信先バスへのリモートタイムアウト値が、ステップ(c)によりステップ(a)に記載されたレジスタテーブルに以前に格納されている場合、最初の要求元からのTIMEOUT要求メッセージのポータルにより傍受するステップと、
(f)ポータルのローカルバスからステップ(e)からの傍受されたTIMEOUT要求が以下のステップ、すなわち、
(i)ステップ(e)において特定されたTIMEOUT要求メッセージの最初の要求元がポータルのローカルバス上にいる場合、リモートタイムアウト値をレジスタテーブルから抽出するステップと、
(ii)ステップ(e)において特定されたTIMEOUT要求メッセージの最初の要求元がポータルのローカルバス上にない場合、レジスタテーブルから抽出されたリモートタイムアウト値を計算するステップと(ここで、max_remote_payload値は、(1)ステップ(b)において傍受されたTIMEOUT応答メッセージ、または(2)対応するレジスタテーブルエントリのmax_remote_payload値の小さい方であり、傍受されたTIMEOUT要求メッセージのリモートタイムアウト秒、リモートタイムアウトサイクル及びホップカウント値が、それぞれ送信先バスへの対応するレジスタテーブルエントリに追加される)、
の1つによりアドレス指定される送信先バスへの遠隔処理に対するリモートタイムアウト値を有する対応するTIMEOUT応答メッセージのポータルにより同期化するステップと、
(g)ステップ(f)において同期化されたTIMEOUT応答メッセージをステップ(e)において傍受されたTIMEOUT要求メッセージの最初の要求元に送信するステップと、
である。
ステップ(a)に関して、一実施例では、レジスタテーブルは、少なくとも1023個のエントリを有する。しかしながら、この実施例が1394以外のシリアルバスまたは他の設計要求に従って利用される場合、エントリの個数は異なるものとなってもよい。
ステップ(e)に関して、ポータルは、傍受したTIMEOUT要求メッセージを送信先バスに転送せず、これは、IEEE P1394.1規格案に従う手順と異なっている。
ステップ(f)−(ii)に関して、傍受されたTIMEOUT要求メッセージのremote_timeout_seconds、remote_timeout_cycles及びhop_countの各値は、それぞれ送信先バスIDに対応するテーブルレジスタエントリのものに追加される。max_remote_payload値は、傍受されたTIMEOUT要求メッセージと送信先バスIDに対応するテーブルレジスタエントリに格納されているものとの間でより小さい値に設定される。
ステップ(a)に記載されたレジスタテーブルは、ポータルのRAM(Random Access Memory)を有するようにしてもよい。
送信元バスと送信先バスは、1以上のバスブリッジを介しシリアルパスにおいて接続されるようにしてもよい。バスは、1394ブリッジネットワークであることが可能なブリッジネットワークの一部を構成するようにしてもよい。
図1に戻って、第1または送信元バス100と、第2バス110と、第3または送信先バス120とを有するIEEE1394シリアルバスネットの一例が示されている。ここで、第1バス100と第2バス110はブリッジ130により接続され、第2バス110と第3バス120はブリッジ140により接続される。
ブリッジ130は、ポータル131と132を有し、ブリッジ140は、ポータル141と142を有する。ノード150は、TIMEOUT要求メッセージの送信者として第1バス100上にあり、ノード160は、TIMEOUT要求メッセージによりアドレス指定されたノードの送信先として第3バス120上にある。しかしながら、本発明が適用されるネットワーク構成は、上記例にのみ限定されるものでない。
まず、ノード150は、送信元バス100から送信先バス120へのリモートタイムアウト値を取得すると、TIMEOUT要求メッセージをノード160に送信する。このTIMEOUT要求メッセージは、ノード140または送信先バス120のいずれかにアドレス指定することができる。
TIMEOUT要求メッセージは、IEEE1394.1ブリッジ規格案に従って処理され、送信先バス120上の最後のイグジットポータル142に転送される。
この一例となる方法によると、TIMEOUT要求メッセージの受信に応答して、最後のイグジットポータル142は、P1394.1ワーキング起草案(その内容は、そのすべてがここで繰り返されたかのように、背景技術として参照することによりここに含まれる)に従ってリモートタイムアウト値を計算し、計算されたリモートタイムアウト情報と共にTIMEOUT応答メッセージをバス100上のもとのTIMEOUT要求メッセージ送信者150に送信する。
さらに、バス110はまた、以下の説明のため示されるノード155を有する。ノード155がバス120にTIMEOUT要求メッセージを送信すると、このTIMEOUT要求メッセージは、リモートタイムアウト値をIEEE1394.1規格案に従って計算しながら、ポータル142に転送される。
その後、ポータル142は、リモートタイムアウト値と共にTIMEOUT応答メッセージをバス110を介しもとのTIMEOUTメッセージ要求元155に送信する。ポータル141は、ポータル141のローカルバス(すなわち、バス110)にアドレス指定されているため、ポータル142により送信されたTIMEOUT応答メッセージを傍受し、TIMEOUT応答メッセージのバス110からバス120への遠隔処理に対するリモートタイムアウト値を送信先バス120に対応するレジスタテーブルエントリに格納する。これにより、バス100上のノード150、151またはポータル131がバス120にTIMEOUT要求メッセージを送信すると、ポータル141は、TIMEOUT要求メッセージを傍受し、本発明の一特徴により計算されたリモートタイムアウト値とそれのTIMEOUT応答メッセージを同期させる。
送信元バス100上のポータル131は、それのローカルバス100にアドレス指定されている場合、TIMEOUT応答メッセージを傍受し、TIMEOUT応答メッセージにおいて検出されたリモートタイムアウト値を送信先バス120のバスIDに対応するそれの内部レジスタテーブル133(図2に詳細に図示される)のエントリに格納する。
第1エントリポータルは、その内容は、そのすべてがここで繰り返されたかのように、背景技術として参照することによりここに含まれるIEEE1394.1ブリッジ規格案に説明されるように、TIMEOUT応答メッセージをそれのローカルバス上のもとの要求元に転送する。
レジスタテーブル133に格納されている送信元バス100から送信先バス120へのリモートタイムアウト値は、送信元バス100の送信元バスIDまたは送信先バス120の送信先バスIDの何れかが無効となるか、あるいはP1394.1ワーキング起草案に記載されるネット更新状態に関してクリアされるまでに有効となるであろう。
従って、上記手続きは、TIMEOUT応答メッセージの傍受及びメッセージにおいて検出されるタイムアウト応答メッセージのレジスタテーブルへの格納に利用可能である。次に、TIMEOUT要求メッセージの傍受及び同期されたTIMEOUT応答メッセージのための手続きが、以下において説明される。
その後、バス100上のポータル131が同じ送信元バス100上の他のノード151(またはおそらくノード150)により発信されるTIMEOUT要求メッセージを受信すると、第1エントリポータル131は、送信元バス100から送信先バス120への有効なリモートタイムアウト値が、上述のようにエントリポータル131によりレジスタテーブルに格納されているため、送信先バス120に対応するそれの内部レジスタテーブル133のエントリから抽出可能なリモートタイムアウト値を含むTIMEOUT応答メッセージを同期化する。
その後、バス100上の第1エントリポータル131は、TIMEOUT要求メッセージを送信先バス120に転送する代わりに、同期化したTIMEOUT応答メッセージをTIMEOUT要求メッセージの要求元151に送信する。
従って、送信元バス100上の第1エントリポータル131は、エントリポータル131のレジスタテーブルがそれのローカルバス100から送信先バス120への遠隔処理に対する所望のリモートタイムアウト値を内部レジスタテーブル133に格納している場合、TIMEOUT応答メッセージを同期化することができる。
図2に戻って、ポータルのローカルバスから各バスへのタイムアウト値を格納するレジスタテーブルの一実施例が示される。レジスタテーブルは1023個の可能なバスに対する1023個のエントリから構成されてもよいが、テーブルエントリの個数は1023に限定されるものでなく、異なるものであってもよい。典型的には、レジスタテーブルは、可能な各バスに対し1以上のエントリを有するであろう。
各テーブルエントリは、複数のフィールドを有する。この場合、図示されるフィールドには、IEEE1394.1ブリッジ規格案に規定されるものと同様のTIMEOUTメッセージにおいて指定されるremote_timeout_seconds、remote_timeout_cycles、max_remote_payload及びhop_countがあげられる。他のフィールドが含まれてもよい。図2は、他の可能なエントリに対し確保されている少なくとも1つの追加的フィールドを示す。それのポータルローカルバスからある送信先バスまで測定される各タイムアウト値は、当該送信先バスへの対応するテーブルエントリの同じフィールドに格納される。このレジスタテーブル133は、RAMまたは従来から知られている他の任意のタイプのストレージから構成されてもよい。
言い換えると、本実施例では、あるポータルがポータルのローカルバスにアドレス指定されたTIMEOUT応答メッセージを転送し、このローカルバストリモート送信先バスとの間の処理に対するリモートタイムアウト値を有する最後のイグジットポータルである場合、以前に開示されたステップ(b)及び(c)によるTIMEOUT応答メッセージの傍受及びリモート送信先バスに対応する内部レジスタテーブルのエントリへのTIMEOUT応答メッセージのリモートタイムアウト値の格納を除き、TIMEOUT応答メッセージはIEEE1394.1ブリッジ規格案に従って処理される。
さらに、送信元バス100と送信先バス120との間のリモートタイムアウト値の格納に続き、ポータルと同じバス上の他のノードが、第1エントリポータル131のレジスタテーブル133に以前に格納されたタイムアウト値から抽出されたリモートタイムアウト値を含むTIMEOUT応答メッセージを合成することにより、同じリモートバス120とのローカルバス100からのリモートタイムアウト値を必要とする同一バス100上のブリッジポータル131を含むノード151及び/またはおそらく同じノード150などに接続されるとき、上記実施例による方法が以降において利用される。TIMEOUT応答メッセージとTIMEOUT要求メッセージの送信者への直接的な応答の合成は、バス100と120との間の混雑を大きく減少させ、第2の要求元ノード151が、IEEE1394.1ブリッジ規格案に従う従来の方法によるものより、第1エントリポータル131から直接にローカルバスから送信先バス120へのリモートタイムアウト値をはるかに迅速に受信する。
図1に示されるネットワーク構成の図示は、例示のためのみであり、限定を意図するものではない。当業者は任意数のバスが直列的に接続可能であるなどのネットワーク構成が例示に限定されないということを理解すべきである。本発明を1394構成に適用するとき、ネットワーク構成は、IEEEP1394.1規格案により許容される限り、変動可能であるということが理解される。例えば、送信元バス及び/または送信先バスはより多くのブリッジポータルに接続されていてもよく、及び/または送信元バスト送信先バスとの間にはより多くの中間バスが設けられていてもよい。
上記実施例はまた、ステップ(b)及び(c)により、中間バス110上のポータル141が中間バス110からある送信先バス120へのリモートタイムアウト値を送信先バス120に対応する内部レジスタテーブルエントリ143にすでに格納している場合に適用することが可能である。合成されたメッセージは、対応するレジスタテーブルエントリと傍受したメッセージのmax_remote_payload値のより小さいものを含むようにしてもよい。
例えば、この処理に対する送信元バスとしてのバス110上のノード155は、TIMEOUT要求メッセージを送信先バス120に送信することができる。上記実施例によると、送信元バス110上のポータル141は、送信先バス上のポータル142により送信された対応するTIMEOUT応答メッセージを傍受し、送信元バス110から送信先バス120へのリモートタイムアウト値を送信先バス120のバスIDに対応する内部レジスタテーブルエントリ143に格納している。
図4のステップ425(ii)に説明されるように、バス110上のポータル141が、送信元バス100から送信先バス120への遠隔処理タイムアウト値に対し、送信元バス100上のノードにより発信されるTIMEOUT要求メッセージを受信すると、中間バス110上のポータル141が、このTIMEOUT要求メッセージを傍受し、応答を合成する。
このプロセスは、送信元バス100上のノードによるTIMEOUT要求の往復時間を大きく短縮する。なぜなら、中間バス上のポータル141は、格納されたタイムアウト値を抽出し、送信元バス100と送信先バス120のノード間でTIMEOUT要求とTIMEOUT応答が交換される場合より、トータルのタイムアウト値をかなり迅速に計算するためである。
本方法はまた、他のノードに供し、ネットワークの全体的な処理時間を減少させるためのシリアルバスリソースを解放する。
図3は、TIMEOUT応答メッセージの傍受及びそれのリモートタイムアウト値の内部レジスタテーブルへの格納に関する本発明の一特徴による方法のステップの概略を与える。
ステップ310において、ポータルのローカルバスへアドレス指定されたTIMEOUT応答メッセージが傍受される。
ステップ320において、ステップ310で傍受されたTIMEOUT応答メッセージのリモートタイムアウト値が、送信先IDに対応するレジスタテーブルに格納される。
ステップ330において、傍受されたTIMEOUT応答メッセージは、当初にアドレス指定されたノードに転送される。
ステップ310〜330は、シリアルバスのプロトコルの効率を向上させるために、以降の要求における抽出のため、リモートタイムアウト値の格納を可能にする。
図4は、TIMEOUT要求メッセージを傍受し、対応するTIMEOUT応答メッセージとリモートタイムアウト値を合成する手続きの説明を与える。
ステップ410において、以前にレジスタテーブルに格納されたTIMEOUT要求メッセージがアドレス指定されたポータルのローカルバスから送信先バスへの遠隔処理タイムアウト値を有するTIMEOUT要求メッセージを受信した場合、次にステップ415が処理され、そうでない場合には、本プロセスはスタートに戻り、ステップ410が次に実行される。
ステップ415において、受信したTIMEOUT要求メッセージはポータルにより傍受される。ステップ420が次に実行される。
ステップ420において、傍受したTIMEOUT要求メッセージの送信元バスIDがポータルのローカルバスIDに等しいか判断する。ステップ420が肯定的に回答された場合、ステップ425(I)が次に実行される。他方、ステップ420が否定的に回答された場合、ステップ425(ii)が次に実行される。これら2つのステップは何れも、要求元がローカルバスまたはリモート送信元バスからのノードとなりうるシナリオをカバーする。
ステップ425(I)において、送信先バスとのポータルローカルバスに対するリモートタイムアウト値を有する対応するTIMEOUT応答が、送信先バスに対応するレジスタテーブルエントリから抽出される。
あるいは、ステップ(ii)が実行されるとき、対応するTIMEOUT応答メッセージが合成される。ここでそれのタイムアウト値は以下の手続きにより計算される。すなわち、傍受されたTIMEOUT要求メッセージのremote_timeout_seconds、remote_timeout_cycles及びhop_count値が、それぞれ送信先バスIDに対応するテーブルレジスタエントリのものに追加される。max_remote_payload値は、傍受されたTIMEOUT要求メッセージのものと送信先バスIDに対応するテーブルレジスタエントリに格納されているものとの間のより小さい値に設定される。
ステップ430において、合成されたTIMEOUT応答メッセージは、傍受したTIMEOUT要求メッセージの送信元IDにより特定される当初の要求元に送信される。
本発明の他の特徴によると、送信元バスと送信先バスとの間の経路に沿ったすべてのブリッジが、それのローカルバスからの送信先バスへのタイムアウト値を1つのショットに格納する。例えば、送信元バスと送信先バスとの間に10個のブリッジが存在する場合、以降における利用のため、10個までのブリッジが、1つのTIMEOUTメッセージに対する適切なタイムアウト値を格納することができる。これにより、これらのTIMEOUTメッセージの管理効率を大きく向上させることができる。
本発明の他の特徴によるネットワークのノード間の通信のための他の方法の一実施例が、以下のように進行する。簡単化のため、本方法は、ブリッジ130のエントリポータル131、送信元バス100及び送信先バス120に関して説明される。しかしながら、本方法は、他の任意のポータル、送信元バスあるいは送信先バスに対しても適用可能である。さらに、ネットワークのブリッジの1以上のエントリポータルにより本方法が実行されてもよい。
(A1) ブリッジ(すなわち、エントリポータルまたはイグジットポータル)130がバス120などの与えられた送信先バスに対しTIMEOUT要求メッセージを受信すると、ブリッジのローカルバス(例えば、エントリポータル131のローカルバス(すなわち、バス110)など)からTIMEOUT要求メッセージにおいて特定される送信先バス120へのリモートタイムアウト値の設定(例えば、T=リモートタイムアウト秒、P=最大リモートペイロード、C=ホップカウントなど)が既知であるか判断するため、ブリッジはそれのストレージをチェックする(例えば、エントリポータル131は、エントリポータルのストレージ133をチェックする)。この情報は、TIMEOUT要求メッセージおいて特定される送信先バスに対するvalid_flagなどの関連して格納されたリモートタイムアウト値の集合が有効であるか示すフラグの形式により、図1を参照して説明されるように、ブリッジにアクセス可能なストレージに格納することができる。図2のものと同様のレジストリテーブルが、各ポータルに含まれ、バス単位でvalid_flagと共にリモートタイムアウト値を格納する。例えば、図2に示されるように、確保されているフィールドが、有効フラグの値を格納するのに利用可能である。
以下に示されるように、以前の判断に加えて、このリモートタイムアウトの集合が与えられたポータルに既知のものとすることを可能にする他の方法がある。例えば、エントリポータルのコウポータル(co−portal)が送信先バス上のイグジットポータルである場合、エントリポータルは、送信先バスに対するリモートタイムアウト秒、最大リモートペイロード及びホップカウント値を知っている。このようなケースは、エントリポータル141が、送信先バス120へのイグジットポータルとなるコウポータル142(すなわち、コウポータル141と142が同じブリッジ140上に存在する)を有する場合である(すなわち、イグジットポータルは、送信先バスに接続されたポータルである)。従って、エントリポータル141は、送信先バス120に対するリモートタイムアウト値、最大リモートペイロード値及びホップカウント値を知っている。
さらに、リモートタイムアウト秒の値は、既知の値から計算可能である。例えば、remote_timeout=split_timeoutco−portal+max_forwarding_timebridgeであり、ここで、remote_timeoutは、タイムアウト応答メッセージにおいて用いられるリモートタイムアウト秒の値であり、split_timeoutco−portalは、エントリポータルのコウポータルの分割されたタイムアウトレジスタに含まれる値であり、max_forwarding_timebridgeは、エントリポータルに知られているブリッジから送信先バスへの最大転送時間の値である。
エントリポータル131のコウポータル(すなわち、ポータル132)のsplit_timeoutレジスタ値は、ネットワークまたはブリッジ130の初期化中などに既知の方法によりエントリポータル131に利用可能とされる。
同様に、ブリッジ130の内部最大転送時間(要求と応答両方のサブアクションに対する)もまたエントリポータル131に利用可能とされる。その後、エントリポータル131は、上述のように、送信先バス120に対するリモートタイムアウト秒の値を計算することができる。
同様に、最大リモートペイロードの値もまた、同様の方法によりエントリポータルに利用可能とされる。最大リモートペイロードの値は、ブリッジ140などのブリッジを通過することが可能な最大ペイロードサイズである。ホップカウントの値は、エントリポータル(141)のコウポータル(142)が送信先バス(バス120)に対するイグジットポータル(142)となるとき、常に1となる。これらの値の集合は「1」に設定された送信先バスのvalid_flagと共にエントリポータルにより予め格納可能であり、これにより、この値の集合が指定された送信先バスに対し有効であることが示される。これにより、レジスタテーブルは、一部が有効であり、格納されている場合には一部が依然として有効でない複数の送信先バスの上記エントリを有することが可能である。
(A2) リモートタイムアウトの集合がすでに知られている場合(例えば、valid_flagが「1」に設定されている)、ブリッジ130(エントリポータル131など)は、既知の値からリモートタイムアウト値の集合を決定したり、あるいは格納されている正確な値を利用することにより、TIMEOUT応答メッセージを合成する。その後、TIMEOUT応答メッセージは送信元バスに送り返される。
リモートタイムアウト値は、ブリッジのローカルバス(例えば、エントリポータル131のローカルバス(バス100)など)上のポータルから送信先バス120への既知のリモートタイムアウト秒の値をTIMEOUT要求メッセージのリモートタイムアウト秒の値(Tx,N)に加えることにより決定される。言い換えると、
x,N response=Tx,N request+Tx,N,M
であり、ここで、Tx,N,Mは、第Mポータルには既知である第Mポータルから第Nバスへの(この例では、ポータル131からバス120)リモートタイムアウト秒の値であり、Tx,N responseは、タイムアウト応答メッセージにおいて送信された第Nバスのリモートタイムアウト秒の値であり、Tx,N requestは、タイムアウト要求メッセージにおける受信された第Nバスのリモートタイムアウト秒の値である。
ブリッジ(エントリポータル131など)はまた、要求メッセージの最大リモートペイロード値(Px,request)と共にローカルバス(例えば、エントリポータル131のローカルバス(100)など)からの送信先バス120に対する既知の最大リモートペイロード値(Px,M)を有し、これら2つの値の小さい方を応答メッセージの最大リモートペイロード値(Px,response)として利用する。言い換えると、
x,response=min(Px,request,Px,M
である。ここで、Px,responseは、タイムアウト応答メッセージに含まれる最大リモートペイロードの値であり、Px,requestは、受信したタイムアウト要求メッセージに含まれる最大リモートペイロードの値であり、Px,Mは、エントリポータルには既知であるエントリポータルのローカルバスから送信先バスへの最大リモートペイロードの値である。
ブリッジ130(エントリポータル131など)はまた、ローカルバス(エントリポータル131のローカルバス100など)から送信先バス120への既知のホップカウント値(C)を要求メッセージのホップカウント値(Cx,request)に加え、その和をタイムアウト応答メッセージのホップカウント値として利用する。言い換えると、
x,response=Cx,request+Cx,M
である。ここで、Cx,responseは、タイムアウト応答メッセージに含まれるホップカウントの値であり、Cx,requestは、受信したタイムアウト要求メッセージに含まれるホップカウントの値であり、Cx,Mは、エントリポータルには既知であるエントリポータルのローカルバスから送信先バスへのホップカウントの値である。
他方、リモートタイムアウト値の集合がわかっていない場合(例えば、Valid_flagが「1」に設定されていないか、あるいはvalid_flagが「0」に設定されているなど)、ブリッジ130(エントリポータル131など)は、以下のステップ(A3a)及び(A3b)に与えられる手続きを実行する。
(A3a) まず、ブリッジ130は、クリアされたvalid_flagと共に送信先バス120の受信したリモートタイムアウト値の集合(T、P及びCなど)を図2のテーブルに一時的に格納する。ここで、Tはremote_timeout_secondsの値であり、Pはmax_remote_payloadの値であり、Cはhop_countの値である。このリモートタイムアウト値の集合は、すべて受信したTIMEOUT要求メッセージに含まれる。
(A3b) 次に、ブリッジ130は、新たなリモートタイムアウト値の集合を計算する。この計算されたタイムアウト値の集合は、以下のように計算される。
一時的に格納されたリモートタイムアウト秒の値(T)は、計算された値Tx,Mだけ増やされる。言い換えると、
x,request=T+Tx,Mとなる。ここで、
x,M=Tx、M request+Tx,M response
である。
従って、計算された値Tx,Mは、要求サブアクションの最大転送時間Tx,M request(エントリポータル131から次のブリッジ140のエントリポータル141まで)と、応答サブアクションの最大転送時間Tx,M response(エントリポータル131のコウポータル(すなわち、ポータル132)(すなわち、応答サブアクションのエントリポータル)から次のブリッジ140のエントリポータル141(応答サブアクションの観点から)または要求元ノード(ノード151など)への)との和である。
最大ペイロード値(Px,request)は、Pとして、すなわち、
x,request=P
として設定される。ここで、Pは、エントリポータル131から次のブリッジ140のエントリポータル141に転送可能な最大データペイロードである。
一時的に格納されるホップカウント値(C)は、1だけ増やされる。言い換えると、
x,request=C+1
である。ここで、Cx,requestは、出力されるタイムアウト要求メッセージにおける出力されたホップカウント値である。
その後、ブリッジ130は、送信先バス120を宛先とするTIMEOUT要求メッセージの一部として、新たに計算されたリモートタイムアウト値の集合(Tx,request,Px,request,Cx,requestなど)を送信先バス120に転送する。
(A3c) 以降、ブリッジ130(エントリポータル131など)は、タイムアウト応答値の集合(T,P,Cなど)を含む対応するTIMEOUT応答メッセージを傍受する。この対応するTIMEOUT応答メッセージは、ステップ(A3b)において送信されたTIMEOUT要求メッセージに応答するTIMEOUT応答メッセージである。その後、ブリッジ(エントリポータル131など)は、新しいリモートタイムアウト値の集合を計算する。
送信先バス120の以降のタイムアウト応答メッセージで利用されるリモートタイムアウト秒の値に対し、ブリッジ130(エントリポータル131など)は、
x,M response=T−T
となる。ここで、Tは、傍受されたタイムアウト応答メッセージにおいて受信されたリモートタイムアウト秒の値であり、Tは、ステップ(A3a)において受信されたタイムアウト応答秒の以前に格納された値である。
送信先バス120に対し以降のタイムアウト応答メッセージにおいて用いられる最大リモートペイロード値Px,M responseに対し、ブリッジ(エントリポータル131など)は、受信した最大ペイロード値P、すなわち、
x,M response=P
を利用する。
送信先バス120に対し以降のタイムアウト応答メッセージで用いられるホップカウント値Cx,M responseに対し、ブリッジ(エントリポータル131など)は、以前に格納したホップカウント値(C)と受信したホップカウント値Cとの差を計算する。すなわち、
x,M response=C−C
である。
その後、エントリポータルは、有効フラグセットと共に以降において利用される新たに計算されたリモートタイムアウト値の集合(すなわち、Tx,M response、Px,M response及びCx,M response)を格納し、TIMEOUT応答メッセージの一部として、送信元バスに新たなリモートタイムアウト値(T,min(P,P),C)の集合を転送する。ここで、Tはリモートタイムアウト値であり、min(P,P)は最大リモートペイロードの値であり、Cはホップカウント値である。
本発明の他の特徴によると、直前の実施例と同じ結果を生成する他の実施例は以下のように動作する。
(B1) このステップは、上述のステップ(A1)と同様に動作する。従って、ブリッジ(エントリポータルなど)は、(A1)において上述されたように発生するリモートタイムアウト値の集合が既知であるか判断するため、それのストレージをチェックする。
(B2) このステップはまた、上述のステップ(A2)と同様に動作する。従って、リモートタイムアウト値の集合が既知である場合、ブリッジ(エントリーポータル)は、ステップ(A2)において与えられたタイムアウト応答メッセージを合成する。
そうでない場合(例えば、valid_flagが設定されていないか、あるいは0に等しい)、ブリッジ(エントリポータルなど)は、以下の手続きを実行する。
(B3a) このステップはまた、上述のステップ(A3)と同様に動作する。従って、ブリッジ(エントリポータルなど)は、クリアされた有効フラグと共に送信先バスに対する受信したリモートタイムアウト値の集合を一時的に格納する。
(B3b) 次に、ブリッジ(エントリポータルなど)は、新たなリモートタイムアウト値の集合を計算する。この計算されるタイムアウト値の集合は、以下のように計算される。
一時的に格納されているリモートタイムアウト秒の値(T)が、上述のような計算された値Tx,Mだけ増やされる。言い換えると、
x,request=T+Tx,M
である。ここで、
x,M=Tx,M request+Tx,M responseである。
最大ペイロード値(Px,request)は、0xFFFFに設定される。ここで、0xFFFFは、最大リモートペイロードフィールドの最大値である。すなわち、
x,request=0xFFFF
である。
一時的に格納されたホップカウント値(C)は、1だけ増やされる。言い換えると、
x,request=C+1
となる。ここで、Cx,requestは、出力されたタイムアウト要求メッセージにおける出力されたホップカウント値である。
その後、ブリッジ(エントリポータルなど)は、送信先バス120を宛先とするTIMEOUT要求メッセージの一部として、送信先バス120に新たに計算されたリモートタイムアウト値の集合(例えば、Tx,request、Px,request、Cx,requestなど)を転送する。
(B3c) その後、ブリッジ(エントリまたはイグジットポータルなど)は、タイムアウト応答値の集合(例えば、T,P,Cなど)を含む対応するTIMEOUT応答メッセージを傍受する。この対応するTIMEOUT応答メッセージは、ステップ(B3b)において送信されたTIMEOUT要求メッセージに応答したTIMEOUT応答メッセージである。その後、ブリッジ(エントリポータルなど)は新たなリモートタイムアウト値の集合を計算する。
送信先バス120の以降のタイムアウト応答メッセージにおいて利用されるリモートタイムアウト秒の値Tx,M responseに対し、ブリッジ(エントリポータルなど)は、
x,M response=T−T
を計算する。ここで、Tは、傍受されたタイムアウト応答メッセージで受信されたリモートタイムアウト秒であり、Tは、ステップ(B3a)で受信したタイムアウト応答秒の以前に格納した値である。
送信先バス120の以降のタイムアウト応答メッセージにおいて使用される最大リモートペイロード値Px,M responseに対し、ブリッジ(エントリポータルなど)は、受信した最大ペイロード値Pと、エントリポータル131から次のブリッジ140のエントリポータル141に転送可能な最大データペイロードPの最小値、すなわち、
x,M response=min(P,P
を計算する。
送信先バス120の以降のタイムアウト応答メッセージにおいて利用されるホップカウント値Cx,M responseに対し、ブリッジ(エントリポータルなど)は、以前に格納されたホップカウント値(C)と受信したホップカウント値Cとの差、すなわち、
x,M response=C−C
を計算する。
その後、ブリッジ(エントリポータルなど)は、有効フラグセットと共に以降において利用される新たに計算されたリモートタイムアウト値の集合(すなわち、Tx,M response、Px,M response及びCx,M response)を格納し、TIMEOUT応答メッセージの一部として、送信元バスに新たなリモートタイムアウト値(T,min(P,P,P),C)の集合を転送する。ここで、Tはリモートタイムアウト値であり、min(P,P,P)は最大リモートペイロードの値であり、Cはホップカウント値である。
上述の手続きは、規格案への変更を要することなく、前述の技術に対し効率性に関するかなりの向上をもたらす。この技術は、レガシーブリッジ(すなわち、規格案に基づくブリッジ)とネットワーク上で混成された向上されたブリッジの両方が存在する場合に機能する。
しかしながら、規格案への変更が可能であり、後述のように、すべてのブリッジが同一ルールに従う場合、さらなる向上及び簡素化が可能となる。
(C1) 直前の2つの実施例に関して、本ステップは、ステップ(A1)と(B1)と同様に動作する。しかしながらこの場合、各ブリッジ(エントリポータルなど)は、メモリの有効フラグの状態をチェックすることにより、リモートタイムアウト値の集合が特定された送信先バスに対し知られているか判断するため、受信したTIMEOUT要求メッセージの送信先をチェックする。
(C2) リモートタイムアウト値の集合が既知である場合(例えば、valid_flag=1)、各ブリッジ(エントリポータルなど)は、格納されているremote_timeout、max_remote_payload及びhop_countの値を上述のようにTIMEOUT応答メッセージの適切なフィールドに挿入することにより、対応するTIMEOUT応答メッセージを生成する。
(C3a) リモートタイムアウト値の集合が書くブリッジに既知でない場合(例えば、valid_flag=0)、各ブリッジは、TIMEOUT要求メッセージのリモートタイムアウト値の集合を変更することなく、送信先にTIMEOUT要求メッセージを転送する。メッセージの各フィールドの値は、定義により要求元により初期化されるように、(0,0xFF,0)となる。
(C3b) ブリッジ(応答サブアクションの観点から)がTIMEOUT応答メッセージを受信した場合、ブリッジ(イグジットポータルなど)132は、有効フラグセットと共に以降のTIMEOUT応答メッセージにおける格納及び利用のため、新たなリモートタイムアウト値を計算する。この計算されるタイムアウトの値の集合は、以下のように計算される。
受信したリモートタイムアウト秒の値(T)は、上述のように計算された値Tx,Mだけ増やされる。言い換えると、
x,response=T+Tx,M
となる。ここで、
x,M=Tx,M request+Tx,M response
である。
受信した最大リモートペイロード値(P)と、イグジットポータル132から次のブリッジ140のエントリポータル141に転送可能な最大データペイロード(P)の小さい方が決定される。すなわち、
x,M response=min(P,P
となる。
受信したホップカウント値(C)は1だけ増やされる。言い換えると、
x,response=C+1
となる。ここで、Cx,responseは、出力されるタイムアウト応答メッセージにおける出力されるホップカウント値である。
この後、これら計算された値(Tx,response、Px,response及びCx,response)は、有効フラグセット(例えば、valid_flag=1など)と共に、タイムアウト応答メッセージでの以降の利用のため格納される。このとき、同じ値がTIMEOUT応答メッセージの一部として転送される。
上記手続きのすべてに対し、各々がremote_timeout_secondsフィールド、max_remote_payloadフィールド、hop_countフィールド及びvalid_flagから構成される複数のエントリを有するテーブルが、各送信バスの一時的及び最終リモートタイムアウトパラメータの両方を格納するのに利用可能である。これらテーブルエントリは、ネットトポロジーの変更によりクリアされる。
図5に戻って、上述のブリッジネットワークにおけるタイムアウトメッセージの効率的な通信方法の実施例50のフローチャートが示される。
ステップ51において、ポータルは、格納されているリモートタイムアウト値の集合が有効であるか判断するため、タイムアウト要求メッセージの受信に応答して、レジスタテーブルの有効フラグをチェックする。
ステップ52において、valid_flagが1である場合、本プロセスはステップ53に移行し、そうでない場合、本プロセスはステップ54に移行する。
ステップ53において、ポータルは、上記(A1)と(A2)に与えられるように、格納されているリモートタイムアウト値の集合を利用して、タイムアウト応答メッセージを合成する。
ステップ54において、受信したリモートタイムアウト値の集合は、一時的にクリアされた有効フラグと共に格納される。
ステップ55において、第1の新たなリモートタイムアウト値の集合が決定され、送信先バスへのタイムアウト要求メッセージの一部として転送される。この第1リモートタイムアウト値の集合は、上述の(A3b)または(B3b)に与えられるように決定することが可能である。
ステップ56において、リモートタイムアウト応答値の集合を有するタイムアウト応答メッセージが、ポータルにより傍受される。
ステップ57において、第2の新たなリモートタイムアウト値の集合が決定され、受信したリモートタイムアウト応答値の集合に基づき、有効フラグセットと共に以降の利用のため格納される。この第2の新たなリモートタイムアウト値の集合は、上述の(A3c)または(B3c)に与えられるように決定可能である。
ステップ58において、第3の新たなリモートタイムアウト値の集合が決定され、受信したリモートタイムアウト応答値の集合に基づき、タイムアウト応答メッセージの一部として送信元バスに転送される。この第3の新たなリモートタイムアウト値の集合は、上述の(A3c)または(B3c)に与えられるように決定可能である。
図6に戻って、上述のブリッジネットワークにおけるタイムアウトメッセージの効率的な通信方法の実施例60のフローチャートが示される。
ステップ61において、各ポータルは、格納されているリモートタイムアウト値の集合が有効であるか判断するため、タイムアウト要求メッセージの受信に応答して、レジスタテーブルの有効フラグをチェックする。
ステップ62において、valid_flagが1である場合、本プロセスはステップ63に移行し、そうでない場合には、本プロセスはステップ64に移行する。
ステップ63において、ポータルは、上述の(C1)に与えられるように、格納されているリモートタイムアウト値の集合を利用してタイムアウト応答メッセージを合成する。
ステップ64において、タイムアウト要求メッセージは、受信したタイムアウト要求メッセージに含まれていたリモートタイムアウト値の集合を変更することなく、送信先バスに転送される。
ステップ65において、ポータルは、リモートタイムアウト応答値を含むタイムアウト応答メッセージを受信する。
ステップ66において、格納されているリモートタイムアウト値の集合は、受信したリモートタイムアウト応答値の集合を利用して更新される。格納されているリモートタイムアウト値の集合は、上述の(C3b)に与えられるように更新される。
ステップ67において、有効フラグが設定される。
ステップ68において、リモートタイムアウト値の更新された集合は、タイムアウト応答メッセージの一部として送信元バスに転送される。
ここでは様々な実施例が具体的に例示及び説明されているが、本発明の変更及び変形は、上記教示によりカバーされ、本発明の趣旨及び意図される範囲から逸脱することなく、添付された請求項の範囲内に属するということは理解されるであろう。例えば、max_remote_payloadやhop_countなどのあるパラメータの名称が用いられているが、同様にして他の名称が利用されてもよい。さらに、ブリッジ、エントリポータル、イグジットポータル及びポータルという用語は、ここでのメッセージ処理機能を実行する各種装置を説明するのに利用される。各装置は、メッセージ処理機能及びここで示される計算を実行することができる。さらに、これらの例は、請求項によりカバーされる本発明の変更及び変形を限定するものと解されるのでなく、可能な変形の単なる例示である。
図1は、本発明の様々な特徴が適用可能なブリッジポータル系列により直列接続された送信元バスと送信先バスの一実施例を示す。 図2は、本発明の他の特徴による各種フラグとタイムアウト値を格納するレジスタテーブルの一実施例の詳細図を示す。 図3は、本発明のさらなる他の特徴によるTIMEOUT応答メッセージを傍受し、リモートタイムアウト値を格納するための方法の一実施例のフローチャートを示す。 図4は、本発明のさらなる他の特徴によるTIMEOUT要求メッセージを傍受し、TIMEOUT応答メッセージを合成及び送信するための方法の他の実施例のフローチャートを示す。 図5は、ブリッジネットワークにおけるタイムアウトメッセージを効率的に通信するための方法の他の実施例のフローチャートを示す。 図6は、ブリッジネットワークにおけるタイムアウトメッセージを効率的に通信するための方法の他の実施例のフローチャートを示す。

Claims (38)

  1. 少なくとも1つのブリッジにより結合された複数のバス上に設けられた複数のノードを有するブリッジネットワークにおいて、タイムアウトメッセージを効率的に通信する方法であって、
    ポータルが前記複数のバスの送信先バスに対するTIMEOUT要求メッセージを受信すると、前記送信先バスに関連するリモートタイムアウト値の集合が既知であるか前記ポータルにより判断するステップと、
    前記リモートタイムアウト値の集合が既知である場合、前記ポータルによりTIMEOUT応答メッセージを合成するステップと、
    を有することを特徴とする方法。
  2. 請求項1記載の方法であって、
    前記合成するステップは、前記ポータルに関連する前記複数のバスのローカルバスから前記送信先バスへの既知のリモートタイムアウト秒の値を前記TIMEOUT要求メッセージの受信したリモートタイムアウト秒の値に加えることを特徴とする方法。
  3. 請求項2記載の方法であって、
    前記合成するステップは、さらに、前記加算からの和を前記TIMEOUT応答メッセージにおけるリモートタイムアウト秒応答値として利用することを特徴とする方法。
  4. 請求項1記載の方法であって、
    前記合成するステップは、さらに、前記ポータルに関連する前記複数のバスのローカルバスからの前記送信先バスの既知の最大リモートペイロード値と前記TIMEOUT要求メッセージにおける受信した最大リモートペイロード値を比較することを特徴とする方法。
  5. 請求項4記載の方法であって、
    前記合成するステップは、さらに、前記比較される2つの値の小さい方を前記TIMEOUT応答メッセージの最大リモートペイロード応答値として利用することを特徴とする方法。
  6. 請求項1記載の方法であって、
    前記合成するステップは、さらに、前記ポータルに関連するローカルバスから前記送信先バスへの既知のホップカウントを前記TIMEOUT要求メッセージの受信したホップカウント値に加算することを特徴とする方法。
  7. 請求項6記載の方法であって、
    前記合成するステップは、さらに、前記加算からの和を前記TIMEOUT応答メッセージのホップカウント応答値として利用することを特徴とする方法。
  8. 請求項1記載の方法であって、さらに、
    前記リモートタイムアウト値が既知でない場合、クリアされたvalid_flagと共に、前記送信先バスの受信したリモートタイムアウト値の集合(T、P及びC)を格納するステップを有する(ただし、Tは受信したリモートタイムアウト秒の値であり、Pは受信した最大リモートペイロードの値であり、Cは受信したホップカウントの値である)ことを特徴とする方法。
  9. 請求項8記載の方法であって、さらに、
    (1)前記受信したリモートタイムアウト値プラス第1定数に等しい第1の新たなリモートタイムアウト秒の値と、(2)第2定数に等しい第1の新たな最大リモートペイロードの値と、(3)前記受信したホップカウント値プラス1に等しい第1の新たなホップカウント値とを有する第1の新たなリモートタイムアウト値の集合を決定するステップを有し、
    前記第1定数は、(a)前記ポータルから次のブリッジの次のポータルへの要求サブアクションに対する最大転送時間と、(b)前記ポータルに関連するコウポータルから前記次のブリッジ次のポータルまたは前記複数のノードの要求元ノードへの応答サブアクションに対する最大転送時間との和であり、
    前記第2定数は、前記ポータルから前記次のブリッジの次のポータルに転送可能な最大データペイロードである、
    ことを特徴とする方法。
  10. 請求項9記載の方法であって、さらに、
    前記第1の新たなリモートタイムアウト値の集合を修正されたタイムアウト要求メッセージにおいて転送するステップを有することを特徴とする方法。
  11. 請求項10記載の方法であって、さらに、
    前記送信先バスから前記送信元バスへの対応するTIMEOUT応答メッセージを前記ポータルにより傍受するステップを有し、
    前記対応するTIMEOUT応答メッセージは、前記修正されたタイムアウト要求メッセージに対応する、
    ことを特徴とする方法。
  12. 請求項11記載の方法であって、さらに、
    (1)受信したリモートタイムアウト秒応答値マイナス前記受信したリモートタイムアウト秒の値に等しい第2の新たなリモートタイムアウト秒の値と、(2)受信した最大ペイロード応答値に等しい第2の新たな最大ペイロード値と、(3)受信したホップカウント応答値マイナス受信したホップカウント値に等しい第2の新たなホップカウント値とを有する第2の新たなリモートタイムアウト値の集合を決定するステップと、
    前記第2の新たなリモートタイムアウト値が有効であることを示すフラグと共に、前記第2の新たなリモートタイムアウト値を格納するステップと、
    を有し、
    前記受信したリモートタイムアウト秒応答値と、前記受信した最大ペイロード応答値と、前記受信したホップカウント応答値とは、前記傍受された対応するTIMEOUT応答メッセージに含まれる、
    ことを特徴とする方法。
  13. 請求項12記載の方法であって、さらに、
    (1)前記受信したリモートタイムアウト秒応答値に等しい第3の新たなリモートタイムアウト秒の値と、(2)前記受信した最大リモートペイロードの値と前記受信した最大ペイロードの値の小さい方に等しい第3の新たな最大リモートペイロードの値と、(3)前記受信したホップカウント応答値に等しい第3の新たなホップカウント値とを有する第3の新たなリモートタイムアウト値の集合を決定するステップを有することを特徴とする方法。
  14. 請求項13記載の方法であって、さらに、
    前記第3の新たなリモートタイムアウト値の集合をTIMEOUT応答メッセージの一部として前記送信元バスに転送するステップを有することを特徴とする方法。
  15. 請求項8記載の方法であって、さらに、
    (1)前記受信したリモートタイムアウト秒の値の値プラス第1定数に等しい第1の新たなリモートタイムアウト秒の値と、(2)第2定数に等しい第1の新たな最大リモートペイロードの値と、(3)前記受信したホップカウント値プラス1に等しい第1の新たなホップカウント値とを有する第1の新たなリモートタイムアウト値の集合を決定するステップを有し、
    前記第1定数は、(a)前記ポータルから次のブリッジの次のポータルへの要求サブアクションに対する最大転送時間と、(b)前記ポータルに関連するコウポータルから前記次のブリッジの次のポータルまたは前記複数のノードの要求元ノードへの応答サブアクションに対する最大転送時間との和であり、
    前記第2定数は、前記最大リモートペイロードに対する最大値である、
    ことを特徴とする方法。
  16. 請求項15記載の方法であって、さらに、
    前記第1の新たなリモートタイムアウト値の集合を修正されたタイムアウト要求メッセージにおいて転送するステップを有することを特徴とする方法。
  17. 請求項16記載の方法であって、さらに、
    前記送信先バスから前記送信元バスへの対応するTIMEOUT応答メッセージを前記ポータルにより傍受するステップを有し、
    前記対応するTIMEOUT応答メッセージは、前記修正したタイムアウト要求メッセージに対応する、
    ことを特徴とする方法。
  18. 請求項17記載の方法であって、さらに、
    (1)受信したリモートタイムアウト秒応答値マイナス前記受信したリモートタイムアウト秒の値に等しい第2の新たなリモートタイムアウト秒の値と、(2)受信した最大ペイロード応答値と、前記ポータルから前記次のブリッジの次のポータルに転送可能な最大データペイロードの小さい方に等しい第2の新たな最大ペイロード値と、(3)受信したホップカウント応答値マイナス受信したホップカウント値に等しい第2の新たなホップカウント値とを有する第2の新たなリモートタイムアウト値の集合を決定するステップと、
    前記第2の新たなリモートタイムアウト値が有効であることを示すフラグと共に、前記第2の新たなリモートタイムアウト値を格納するステップと、
    を有し、
    前記受信したリモートタイムアウト秒応答値と、前記受信した最大ペイロード応答値と、前記受信したホップカウント応答値とは、前記傍受された対応するTIMEOUT応答メッセージに含まれる、
    ことを特徴とする方法。
  19. 請求項18記載の方法であって、さらに、
    (1)前記受信したリモートタイムアウト秒応答値に等しい第3の新たなリモートタイムアウト秒の値と、(2)前記受信した最大リモートペイロードの値、前記受信した最大ペイロードの値及び前記ポータルから前記次のブリッジの次のポータルに転送可能な前記最大データペイロードの小さい方に等しい第3の新たな最大リモートペイロードの値と、(3)前記受信したホップカウント応答値に等しい第3の新たなホップカウント値とを有する第3の新たなリモートタイムアウト値の集合を決定するステップを有することを特徴とする方法。
  20. 請求項21記載の方法であって、さらに、
    前記第3の新たなリモートタイムアウト値の集合をTIMEOUT応答メッセージの一部として前記送信元バスに転送するステップを有することを特徴とする方法。
  21. 少なくとも1つのブリッジにより結合された複数のバス上に設けられた複数のノードを有するネットワークにおいて通信を行う方法であって、
    各ポータルが前記複数のバスの送信先バスに対するTIMEOUT要求メッセージを受信すると、前記送信先バスに関連するリモートタイムアウト値の集合が既知であるか前記ポータルにより判断するステップと、
    前記リモートタイムアウト値の集合が既知である場合、前記ポータルによりTIMEOUT応答メッセージを合成するステップと、
    を有することを特徴とする方法。
  22. 請求項21記載の方法であって、
    前記合成するステップは、
    前記合成するステップは、前記ポータルに関連する前記複数のバスのローカルバスから前記送信先バスへの既知のリモートタイムアウト秒の値を前記TIMEOUT要求メッセージの受信したリモートタイムアウト秒の値に加えることを特徴とする方法。
  23. 請求項22記載の方法であって、
    前記合成するステップは、さらに、前記加算からの和を前記TIMEOUT応答メッセージにおけるリモートタイムアウト秒応答値として利用することを特徴とする方法。
  24. 請求項21記載の方法であって、
    前記合成するステップは、さらに、前記ポータルに関連する前記複数のバスのローカルバスからの前記送信先バスの既知の最大リモートペイロード値と前記TIMEOUT要求メッセージにおける受信した最大リモートペイロード値を比較することを特徴とする方法。
  25. 請求項24記載の方法であって、
    前記合成するステップは、さらに、前記比較される2つの値の小さい方を前記TIMEOUT応答メッセージの最大リモートペイロード応答値として利用することを特徴とする方法。
  26. 請求項21記載の方法であって、
    前記合成するステップは、さらに、前記ポータルに関連するローカルバスから前記送信先バスへの既知のホップカウントを前記TIMEOUT要求メッセージの受信したホップカウント値に加算することを特徴とする方法。
  27. 請求項26記載の方法であって、
    前記合成するステップは、さらに、前記加算からの和を前記TIMEOUT応答メッセージのホップカウント応答値として利用することを特徴とする方法。
  28. 請求項21記載の方法であって、さらに、
    前記リモートタイムアウト値が既知でない場合、前記タイムアウト要求メッセージに含まれる受信したリモートタイムアウト値の集合を変更することなく、前記タイムアウト要求メッセージを転送するステップを有することを特徴とする方法。
  29. 請求項28記載の方法であって、さらに、
    前記送信先バスから前記送信元バスへのTIMEOUT応答メッセージをポータルにより受信するステップを有し、
    前記TIMEOUT応答メッセージは、受信したリモートタイムアウト応答値の集合を有する、
    ことを特徴とする方法。
  30. 請求項29記載の方法であって、さらに、
    (1)受信したリモートタイムアウト秒応答値プラス第1定数に等しい第1の新たなリモートタイムアウト秒の値と、(2)受信した最大ペイロード応答値と、前記ポータルから前記次のブリッジの次のポータルに転送可能な最大データペイロードの小さい方に等しい第2の新たな最大ペイロードの値と、(3)受信したホップカウント応答値プラス1に等しい第2の新たなホップカウント値とを有する第1の新たなリモートタイムアウト値の集合を決定するステップと、
    前記第2の新たなリモートタイムアウト値が有効であると示すフラグと共に、前記第1の新たなリモートタイムアウト値の集合を格納するステップと、
    を有し、
    前記受信したリモートタイムアウト秒応答値と、前記受信した最大ペイロード応答値と、前記受信したホップカウント応答値は、前記受信したTIMEOUT応答メッセージに含まれる、
    ことを特徴とする方法。
  31. 請求項30記載の方法であって、さらに、
    前記第2の新たなリモートタイムアウト値の集合をTIMEOUT応答メッセージの一部として前記送信元バスに転送するステップを有することを特徴とする方法。
  32. 低減された応答タイムアウト管理システムを有するシリアルバスブリッジネットワークであって、
    少なくとも1つのネットワークノードを有する送信元バスと、
    少なくとも1つのネットワークノードを有する中間バスと、
    前記送信元バスと前記中間バスを結合し、第1ポータルと第2ポータルを有する第1ブリッジと、
    少なくとも1つのネットワークノードを有する送信先バスと、
    前記中間バスと前記送信先バスを結合し、各々が前記送信先バスに対するリモートタイムアウト値と該リモートタイムアウト値の状態を示すフラグとを有する第1ポータルと第2ポータルを有する第2ブリッジと、
    を有し、
    前記ポータルの各々は、前記送信先バスに対するタイムアウト要求メッセージを受信すると、前記格納したリモートタイムアウト値の集合が有効であるか判断するため、前記フラグをチェックし、
    前記ポータルの各々は、前記送信元バスへのタイムアウト要求メッセージに応答して、前記フラグが前記格納したリモートタイムアウト値の集合が有効であると示す場合、前記格納したリモートタイムアウト値の集合を利用することにより、タイムアウト応答メッセージを生成する、
    ことを特徴とするネットワーク。
  33. 請求項32記載のネットワークであって、
    前記ポータルの各々は、前記フラグが前記格納したリモートタイムアウト値の集合が有効でないと示す場合、前記受信したリモートタイムアウト値の集合と共に、前記受信したタイムアウト要求メッセージを次のポータルまたは送信先バスにわたすことを特徴とするネットワーク。
  34. 請求項32記載のネットワークであって、
    前記ポータルの各々は、前記送信元バスに対するタイムアウト応答メッセージの受信により、前記受信したタイムアウト応答メッセージに含まれる受信したタイムアウト応答値の集合を利用して、前記格納したリモートタイムアウト値の集合を更新することを特徴とするネットワーク。
  35. 請求項34記載のネットワークであって、
    前記ポータルの各々は、前記更新したリモートタイムアウト値の集合を利用して、修正したタイムアウト応答メッセージを前記送信元バスに転送することを特徴とするネットワーク。
  36. 請求項33記載のネットワークであって、
    前記リモートタイムアウト値の集合は、リモートタイムアウト秒の値と、最大ペイロードの値と、ホップカウント値を有することを特徴とするネットワーク。
  37. 請求項34記載のネットワークであって、
    前記ポータルの各々は、第1定数を受信したリモートタイムアウト応答値に加え、受信した最大ペイロードの値と、前記第2ポータルに関連する第1ポータルから次のブリッジの次のポータルに転送可能な最大データペイロードの小さい方を選び、受信したホップカウント値を1だけ増やすことにより、前記リモートタイムアウト値の集合を更新することを特徴とするネットワーク。
  38. 請求項37記載のネットワークであって、
    前記第1定数は、(a)前記第1ポータルに関連する第2ポータルから次のブリッジの次のポータルへの要求サブアクションに対する最大転送時間と、(b)前記第2ポータルに関連する第1ポータルから前記次のブリッジの第1または第2ポータルへの応答サブアクションに対する最大転送時間の和であることを特徴とするネットワーク。
JP2005505659A 2002-11-12 2003-11-10 効率的タイムアウトメッセージ管理のための方法及び装置 Withdrawn JP2006506031A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42584802P 2002-11-12 2002-11-12
US44537203P 2003-02-06 2003-02-06
PCT/IB2003/005107 WO2004045152A1 (en) 2002-11-12 2003-11-10 Method and apparatus for efficient timeout message management

Publications (1)

Publication Number Publication Date
JP2006506031A true JP2006506031A (ja) 2006-02-16

Family

ID=32314610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005505659A Withdrawn JP2006506031A (ja) 2002-11-12 2003-11-10 効率的タイムアウトメッセージ管理のための方法及び装置

Country Status (5)

Country Link
EP (1) EP1700431A1 (ja)
JP (1) JP2006506031A (ja)
KR (1) KR20050074584A (ja)
AU (1) AU2003280047A1 (ja)
WO (1) WO2004045152A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005005484A1 (de) * 2005-02-04 2006-08-10 Deutsche Thomson-Brandt Gmbh Netzwerkstation sowie Computer-Programm-Produkt, welches in den internen Speicher einer Netzwerkstation ladbar ist

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414971B1 (en) * 2000-01-31 2002-07-02 Sony Corporation System and method for delivering data packets in an electronic interconnect
EP1199839A1 (en) * 2000-10-19 2002-04-24 THOMSON multimedia Method for making bridge aware nodes communicate over hiperlan 2 bridges
FR2819668B1 (fr) * 2001-01-18 2003-03-28 Canon Kk Procede et dispositif de communication entre un noeud local connecte a un premier bus serie ieee 1394 et un noeud distant connecte a un second bus serie ieee 1394 au travers d'un pont d'interconnexion de bus
US6880025B2 (en) * 2001-12-27 2005-04-12 Koninklijke Philips Electronics N.V. Efficient timeout message management in IEEE 1394 bridged serial bus network

Also Published As

Publication number Publication date
KR20050074584A (ko) 2005-07-18
AU2003280047A1 (en) 2004-06-03
EP1700431A1 (en) 2006-09-13
WO2004045152A1 (en) 2004-05-27

Similar Documents

Publication Publication Date Title
US7965724B2 (en) Translator for IP networks, network system using the translator, and IP network coupling method therefor
JP3150624B2 (ja) 通信システム及び通信経路制御方法
US6038233A (en) Translator for IP networks, network system using the translator, and IP network coupling method therefor
JP4053967B2 (ja) Vlanサーバ
US20030198214A1 (en) Method for sharing network information and a router apparatus
CN100372347C (zh) 扩展边界网关协议的4over6隧道封装及解封装方法
JP3113742B2 (ja) インタネットワーク装置
US6625658B1 (en) End equipment and router
CN105227466A (zh) 通信处理方法和装置
US5943317A (en) Sub-network route optimization over a shared access transport facility
EP1463999B1 (en) An efficient timeout message management in ieee 1394 bridged serial bus network
JP2006506031A (ja) 効率的タイムアウトメッセージ管理のための方法及び装置
JPH11215186A (ja) ネットワークシステム
JP3352073B2 (ja) インタネットワーク装置
JP3460080B2 (ja) 分散管理型通信方法及び装置
US7006515B1 (en) Isochronous queue and buffer management
JP2001148710A (ja) タイムアウト制御装置、端末装置、タイムアウト制御システムおよびタイムアウト処理方法
JP3435130B2 (ja) インタネットワーク装置
JP3152287B2 (ja) ショートカット通信システム
WO2022207113A1 (en) Devices and methods for allocating transmission rights in communication networks
KR20090030548A (ko) Ieee 1394 브리지 제어장치 및 방법
JP2001086149A (ja) 通信処理方法
JPH0394545A (ja) 異種ネットワーク間結合の経路制御方式
JPH09270820A (ja) 通信経路選択方法
KR20020095250A (ko) 멀티-스테이션 네트워크에서 최악의 경우 갭_카운트 값을결정하기 위한 시스템, 방법 및 측정 노드

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061107

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070628