JPH08507623A - ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置 - Google Patents

ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置

Info

Publication number
JPH08507623A
JPH08507623A JP6515318A JP51531894A JPH08507623A JP H08507623 A JPH08507623 A JP H08507623A JP 6515318 A JP6515318 A JP 6515318A JP 51531894 A JP51531894 A JP 51531894A JP H08507623 A JPH08507623 A JP H08507623A
Authority
JP
Japan
Prior art keywords
node
cycle
nodes
signal
parent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6515318A
Other languages
English (en)
Inventor
オプレスク,フローリン
Original Assignee
アプル・コンピュータ・インコーポレーテッド
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 アプル・コンピュータ・インコーポレーテッド filed Critical アプル・コンピュータ・インコーポレーテッド
Publication of JPH08507623A publication Critical patent/JPH08507623A/ja
Pending 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/40078Bus configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 バス又はネットワークに沿ったノードの任意に組立てられた集合体を取り上げ且つルートノードが唯一つしかない最適化された階層ツリー構造を課すシステム及び方法を説明する。親ノードと子ノードの双方を有するノードはブランチノードと考えられ、一方、親ノードのみを有するノードはリーフノードである。物理トポロジー中のループ又はサイクルを非サイクルであり且つ有向である論理トポロジーに変更する。ノードがオンボード通信用ハードウェアを介して全ての接続ノードへ信号を発し且つ階層関係が成立するまで相応して応答するような信号方式が開発されている。サイクルは、非サイクルグラフを得るためにリンクを知的に破断することによって変更される。ルートノードとして単一のノードが確定されるまで各ノードが接続ノードに関してその親子状態を認識することにより、方向は確定される。

Description

【発明の詳細な説明】 ノードの任意トポロジー集合体を非サイクル有向グラフ に変換する方法及び装置 発明の背景 関連出願 本出願は、本出願の譲受人にそれぞれ譲渡されており且つ本出願と同時にそれ ぞれ出願された名称「Method and Apparatus for U nique Address Assigument,Node Self−I dentification and Topology Mapping f or a Directed Acyclic Graph」の出願Seria l No.07/994,402、名称「Method and Appara tus for Arbitrating on an Acyclic Di rected Graph」の出願Serial No.07/994,983 及び名称「Method and Apparatus for Transf orming an Arbitrary Acyclic Topology Collection of Nodes into an Acyclic Derected Graph」の出願Serial No.07/994, 117に関連している。発明の分野 本発明はコンピュータシステムに関する。さらに特定すれば、本発明は、コン ピュータシステムの複数の任意に組立てられた要素の間に通信方式を確立し且つ それを利用する方法及び装置に関する。背景 所定のコンピュータシステムの内部の構成要素は、それらの要素自体の間で信 号を搬送する能力を必要とする。非常に単純なシステムでは、システムの各要素 をシステムのその他の全ての部品に直接ワイヤリングさせることが可能である。 しかし、現実には、コンピュータを拡張自在にし、且つ未知の数のシステム部品 に対応するために、コンピュータ設計者はずっと以前に通信バスの概念を開発し た。 バスは、コンピュータシステム全体を通って走る1本又は複数本のワイヤなど の通信経路である。システムの各構成要素は、システム中のその他の構成要素の 各々に理論上接続されるべきバスにプラグインされるだけで良い。構成要素間に は単一の通信チャネルしか存在しえないので、各構成要素が他の構成要素と同時 に通信できないことは言うまでもない。通信バスを利用する場合、1つの構成要 素からの重要な情報部分をバスアクセスを待機しながらの係属状態に放置するこ とのない効率良い方式で他の構成要素と通信するために各構成要素がバスを使用 できるように、何らかの形態で共用構造を確定することが必要である。バス上の 構成要素がバスを共用するための方法を一般にバスアービトレーション方式とい う。 重要な情報の流れを最大にするようにバスアービトレーション方式を最適化す るという重大な要求に加えて、柔軟性をできる限り残しつつシステム遅延を最小 にするために、バス自体の物理的(及び論理的/電気的)構成を最適化でき、ま た、そのようにすべきである。 バスに付随する他の構成要素と通信するためには、各構成要素はそのバスに関 して実現された通信規約と一致する送受信回路などのハードウェアを具備しなけ ればならない。そのような通信規格の1つは、付録Aとして添付されている表題 「High Performance Serial Bus」のIEEE規格 文書P1394の中に記載されている。P1394に記載されている規格は同じ バックプレーン上のカード、他のバックプレーン上のカード及び外部周辺機器の 間で低コストで相互接続を実行しようとするものである。 従来の技術のバス又はネットワークは、どれをどこにプラグ接続すべきかを知 ることを要求していた。たとえば、多くのコンピュータの背面には、特定の周辺 機器に対応する指定ポートがある。コンピュータの中には、マウス及びキーボー ドなどの構成要素に対してADBと呼ばれるバスを使用し、他の周辺機器に対し てはSCSIバスを使用するMacintoshのようにいくつかのバスを実現 するものもある。これらの型のバスは、ディジーチェーン要素を一体に構成する が、その接続のトポロジーは限られている。他に知られているバス/ネットワー クは、ネットワークのノードをリングとして、すなわち、動作するためには閉成 されなければならないループに配列することを要求する。最後に、星状配列、す なわち、ハブ・スポーク配列は各ノードを中央マスタに直接リンクすることを必 要としていた。従来の技術のシステムの各々には、望ましい程度の柔軟性が欠け ている。 コンピュータの要素を1つのバスに任意に取り付けることが可能であり、それ に際して、任意トポロジーをシステムにより構成要素の所定の配列を要求するこ となく機能システムに変更できることが望ましいであろうし、従って、それが本 発明の目的である。発明の概要 本発明の目的は、物理的トポロジーとは関係なく様々なシステム構成要素が通 信するための方法を最適化することにより、コンピュータシステムの性能を向上 させることである。 本発明の別の目的は、単一サイクルもしくは多重サイクルを有するアービティ ングトポロジーグラフを非サイクルグラフに変換する方法を提供することである 。 本発明の別の目的は、非サイクルグラフを非サイクル有向グラフに変換する方 法を提供することである。 本発明のさらに別の目的は、何らかの任意トポロジーグラフをコンピュータシ ステムバスとネットワークの通信方式を実現するのに有用である非サイクル有向 グラフに変換する方法を提供することである。 本発明のこれらの目的及びその他の目的は、バス又はネットワークに沿った任 意に組立てられたノードの集合体を取り上げ且つルートノードが唯一つしかない 最適化された階層ツリー構造を課するシステム及び方法により提供される。親ノ ードと子ノードの双方を有するノードはブランチノードであると考え、一方、親 ノードしかもたないノードはリーフノードである。物理的トポロジーの中のルー プ又はサイクルは、非サイクルであり且つ有向である論理的トポロジーへと変更 される。ノードがオンボード通信用ハードウェアを介して、全ての接続ノードを 信号により報知し、階層関係が成立するまで相応して応答するという信号方式が 開発されている。サイクルは非サイクルグラフを得るためにリンクを知的に破断 することによって変更される。方向は、各ノードが接続するノードに関するその 親子状態をルートノードとして単一のノードが確定されるまで認識することによ り確定される。 図面の簡単な説明 本発明の目的、特徴及び利点は以下の詳細な説明から明白になるであろう。そ の中で: 図1は、本発明に従って利用されるハードウェア層実現のブロック線図を示す 。 図2(a)〜図2(b)は、ノードの任意の組立てられた集合体を示し、その 一方は非サイクルであり、他方は複数のサイクルを含む。 図3(a)は、本発明に従ったグラフ変換プロセスを受ける図2(a)のノー ドの任意に組立てられた集合体である。 図3(b)〜図3(d)は、本発明を実現するに際してのノード間の代替通信 交換を示す。 図3(e)は、図2(a)のノードの任意に組立てられたネットワークから得 られる有向グラフを図式的に示す。 図4は、ルート競合を変更することを要求する対称グラフ配列を示す。 図5(a)〜図5(d)は、サイクル変更手続きの様々な過程を経て処理され て行く複数のノードを示す。 図6(a)〜図6(f)は、本発明の好ましい実施例に従ってグラフ変換手続 きを実行するためのプロセスの流れを示す。 図7は、可能な固有アドレス割当て順序を指示した非サイクル有向グラフを示 す。 発明の詳細な説明 任意のトポロジーを有するバスを利用する方法及び装置を説明する。以下の説 明中、本発明を完全に理解させるために様々なコンピュータ素子などの数多くの 特定の詳細な事項を述べる。しかしながら、そのような特定の詳細な事項がなく とも本発明を実施しうることは当業者には自明であろう。別の場合には、本発明 を無用にわかりにくくしないために周知の制御構造やコード化技法を詳細には説 明しなかった。 この詳細な説明を通して、説明に比喩による明確性を与えるために数多くの描 写用語を導入している。たとえば、所定のトポロジーの中におけるノード間の親 子関係という表現がしばしば見られる。この目的は、最終的に導出されるグラフ に至る「方向」の概念を表わすことである。以下に説明するように、任意のトポ ロジーが非サイクル有向グラフに変化されたならば、1つのノードは「ルート」 ノードとして識別されることになる。ルートノードは親ノードをもたず、ルート ノードに論理の上ですぐ隣接している全てのノードはそのルートの子ノードであ る。「ツリー」の比喩は「ブランチ(枝)」及び「リーフ(葉)」と呼ばれるノ ードを取り入れることによって完成する。 ここで説明するバスアーキテクチャは単一のコンピュータに関わる素子に関連 して説明されるのであるが、一般に、より広い範囲を有する。本発明は、バスト ポロジーを定義するに際して、装置のネットワークにおけるように一体にリンク されたノードの任意に組立てられたどのような集合体にも適用可能である。注意 しなければならない1点は、ノードと物理的コンピュータ素子とを区別する必要 があるということである。バスに常駐すべき各素子に関連して、少なくとも1つ のノード物理層制御装置がある。状況によっては、所定の1つの素子を複数のノ ードと関連させると有利であろうが、通常の場合には、バスにある装置又は素子 と、ノードとの間には1対1の対応がある。 そこで図1を参照すると、ノード10のブロック線図が示されている。ノード を物理的にいかに実現するかは多少は任意である。本発明の好ましい実施例の実 現形態では、ノードは付録Aとして添付したIEEE P1394 HighP erformance Serial Bus 通信規約に準拠するように設計さ れている。ノード10はアービトレーション状態機械論理11を含む。このアー ビトレーション状態論理機械論理は、ここで説明すべき技法及びアルゴリズムを 実行するためのあらゆる論理回路を取り入れている。この回路はプログラマブル ロジックアレイ(PLA)から構成されていても良く、あるいはここで説明する 機能を実行するように独自に設計されていても良い。ノード論理により実行され るべき機能を説明したならば、当業者はむやみに説明を加えなくとも本発明を実 現することができるであろう。ノードは、その論理によって、バス初期設定、ツ リー識別、自己識別及びバスアービトレーションの機能を含む最小限のアービ トレーションプロトコルを実現するが、それら全ての機能については以下にさら に詳細に説明する。 図1に示すノード10は送信側マルチプレクサ12及び13と、データ送信器 、受信器及び再同期装置14とをさらに含む。図1に示すノードは局所ホスト1 5に結合している。局所ホスト15は、システム中の他の構成要素と通信するこ とが必要であるディスクドライブ、CPU、キーボード又は他の何らかの構成要 素などの、バスに付属させたい何らかの装置であれば良い。ノード10は通信リ ンクを介して他のノードと通信する。リンクは2つのポートの間の接続であって 、直接的、実用的な用語でいえばケーブルセグメントであるが、通常は何らかの 物理通信チャネルとして実現されれば良い。リンクは、最低でも、それが接続す る2つのポートの間に半二重通信チャネルを構成することが可能であるべきであ ろう。ポートはノードとリンクとの間のインタフェースである。本発明に従えば 、ポートはデータ及びアービトレーション信号を送受信する能力を有していなけ ればならない。ポートは、それがリンクを介して別のポートに接続しているか否 かを判定することもできなければならない。これを容易にする1つの方法は、接 続しているポートによってリンクを介して、リンクの他端にあるポートにより検 出可能であるバイアス電圧を印加させるというものである。すなわち、1つのポ ートに、他端でポートに接続していないリンク、裸リンクが付属している場合に は、そのポートは接続ポートではないと判定するのである。図1では、図示され ているノード10は接続リンク17,18及び19をそれぞれ有する3つの外部 ポート21,22及び23を有する。 本発明を実現するためのノードに関わる実現規則のいくつかは、1つのノード が1つ又は複数のポートを有していて良いということである。ノードはそのポー トのいずれか1つでデータを送受信可能であるべきであろう。ノードは一度にイ ネーブルされているポートのうち唯一つのポートでデータを受信可能であり且つ 残る全てのイネーブルされたポートではこのデータを送信可能であるべきであろ う。ノードはそのポートの全てを介して信号メッセージを同時に且つ独立して送 受信可能であるべきであろう。ノードのポートごとに別個の信号トランシーバ、 エンコーダ及びデコーダが要求される。最低限の実現ノードは局所ホスト装置を 必要としない。たとえば、そのようなノードはケーブル延長として機能しても良 い。これ以降、装置及び局所ホストを無視し、バストポロジーを言うときには、 常に、ノードや様々なポートを介するバス接続に関連させて説明する。グラフ変換 図2(a)及び図2(b)は、任意に組立てられたノードの集合体を示す。こ れ以降、ノードを単に円として示すが、ノードは、それぞれ、図1に関して説明 した素子と等価の素子を含むものと思われる。ただし、各ノードはその図に示し た3つより多い数又は少ない数の外部ポートを有していても良いということに注 意する。それぞれのノードを結合する図示されている線は、リンクを示すための 方法である。ポートは図示されていないが、暗黙のうちに、リンクとノードを接 続するインタフェースである。 ここで説明するバスアービトレーション技法は、任意のトポロジーを非サイク ル有向グラフへと変更することを要求する。任意トポロジーグラフにおいては、 ノードとリンクの集合体は1つのサイクルを形成しても良い。グラフ中の特定の ノードから始まって、リンクを2度通ることをせずにリンクとノードを通過する ことによって同じノードに戻れる場合に、サイクルは成立する。図2(a)は、 図示されているノードはいずれもループの中に接続していないことから、非サイ クルグラフを示している。ところが、図2(b)は、境界規定ボックス25の中 の領域が複数のサイクルを形成するノード40〜47の集合体を含んでいるため に非サイクルグラフではない。説明すべきバスアービトレーション技法はサイク ルが存在しないことを要求するので、ここではサイクルを変更するためのユーザ 介入の方法についてもさらに説明する。 グラフを非サイクルしないという必要条件に加えて、グラフは有向グラフでな ければならない。有向グラフは、隣接ノードの間に階層構造が成立しているよう なグラフである。当初は、ノード間に親子関係は成立していない。すなわち、た とえば、ノード31はノード34に対して「親ノード」であっても良く、あるい はノード34に対して「子ノード」であっても良い。従って、所定の任意トポロ ジーグラフを取り上げて、それを非サイクル有向グラフに変換することが必要で ある。ここで説明する方法は、ノードの数、あるいはノードが物理的にどのよう にリンクしているかということとは無関係に且つリンクに沿った信号伝搬時間に は関係なく、どのような所定の任意トポロジーに対してもこの変換を実行するよ うに働く。ノード通信 まず、非サイクル任意トポロジーグラフを有向グラフに変換するプロセスを説 明する。次に、サイクル変更が要求されるケースを説明する。図3(a)は、ノ ードとリンクが状態ラベルを有し且つ通信される信号はグラフを有向にするため のグラフ変換プロセスを表して指示されているような図2(a)の任意グラフを 示す。この時点で、ノード間の信号通信を説明しておくと有益である。図3(b )は、リンク52によって結合された2つのノード50及び51(以下、それぞ れノードAと、ノードB)を示す。説明した通り、リンクは図1に関連して先に 説明したように各々のノードのトランシーバポートを結合する通信チャネルであ る。グラフ変換プロセスの間、ノードは隣接するノードとの間に親子関係を成立 させることが必要になる。第1のノードのポートと第2のノードのポートとの間 に少なくとも1つのリンクが接続していれば、それら2つのノードは隣接ノード であるという。図3(b)〜図3(d)では、変更されるべき関係はノードBが ノードAの親であるということであり且つノードはその関係を成立させることが 適切であると仮定する。 方向を設定するのに先立って、ノードAがノードBをその親として成立させる ことが適切になったとき、ノードAはリンク52が結合しているポートから信号 「You Are My Parent」(YAMP)を送信する。このメッセ ージは、ノードAがYAMP信号を発生していることをわかり且つノードBは受 信したメッセージがYAMPであることを理解できるのであれば、どのような形 態をとっていても良い。YAMP信号53がノードBにより受信されると、ノー ドBは「You Are My Child」(YAMC)をリンク52を介し てノードAへ送信することによってノードAに応答する。ノードAのアービトレ ーション状態機械論理11はYAMP信号53の送信と、YAMC信号54の受 信との間の時間遅延を追跡し続ける。測定される時間は、ノードAとノードBと の間の伝搬遅延の2倍を指定する。YAMC信号を受信すると、ノードAは「Y ou Are My Child Acknowledged」(YAMCA) 信号55をもって応答する。これは、ノード間の伝搬時間遅延がYAMCの送信 と、YAMCAの受信との間の時間遅延と等しいことをも確定する能力をノード Bに与える。半二重通信リンクの場合、YAMCAメッセージは通信チャネルを 適正に方向付けする効果をも有する。 全二重通信リンクの場合には、3つの論理メッセージYAMP、YAMC及び YAMCAを代わりに2回の信号送信のみによって中継することができる。図3 (c)にはこの状況が示されており、ノードAは戻りYAMC信号57を受信す るまでYAMP信号56を加え続ける。YAMCA信号は、論理上は、YAMP 信号が到着しなくなったと検出されたときにノードBへ送信される。 説明したこの三重非同期メッセージ交換の使用により、メッセージ交換に関わ る双方のノードがリンクを介する伝搬時間遅延を確定できるようなメカニズムが 構成される。この遅延値は以下にさらに説明する競合事象を変更するとき、並び にバス性能を最適化するための正規のバスアービトレーションの間に使用される 。このパラメータの動的抽出は必須である。その代わりに、最適のバス性能は得 られなくとも最大伝搬時間遅延を演繹的に規定することができる。 ノードA及びBがノードBはノードAの親であることを意味するメッセージを 交換した後には、リンクは有向になったと言うことができる。ノードAはその論 理によって、リンク52が結合しているポートを親ポート(親ノードに話し掛け る)とラベル付けし、また、ノードBはリンク52が結合しているポートを子ポ ート(子ノードに話し掛ける)とラベル付けする。以下に説明する方法は所定の 時点でノード及びポートに割当てられるラベルによって説明されるため、ポート が得るラベルを維持することは大切である。図3(d)には速記図式表記が示さ れており、図中の方向矢印58はノードBがノードAの親として設定されており 且つリンクは有向であることを指示している。方向確定 ここで図3(a)に戻ると共に、図6(a)〜図6(f)のプロセスを参照し て、任意トポロジー全体を方向づけするプロセスを説明する。トポロジー変換プ ロセスの説明を助けるためには、若干多彩な定義を導入することが必要である。 第1に、「リーフ」ノードは1つのポートしか接続していないノードとして定義 される。パワーアップ後又は他のバス初期設定後に初期設定されると、直ちにノ ードはその状態をリーフノードとして認識する。「ブランチ」ノードは少なくと も2つの接続するポートを有するノードである。1つを除く全ての接続ポートを 介して、ブランチノードはYAMP信号を受信しており且つそれに応答している 。残るポートを介して、ブランチノードはYAMP信号を送信しており、それに より、ノードが親ノードであることを確定する。ノードは、1つの親を有してお り(ノードは親ノードを1つしかもつことができない)且つ他の全てのポートは 子ノードに接続していることを確定するまで、ブランチ状態には到達しない。ブ ランチ状態に達するのに先立って、ノードがブランチであると確定されるまでノ ードが方向の設定を不可能にするサイクルの一部である可能性は存在しているの で、ノードは「サイクル」ノードと考えられる。 グラフ変換手続きは、ステップ60で、バス初期設定(パワーアップ又は誘導 )のときに始まり、この時点で任意トポロジーの中のリーフノードはステップ6 1で認識し、決定ボックス66でそれらのノードが接続するポートを唯一つしか もたないことを判定することによって、ステップ68でそれら自身をリーフノー ドとしてラベル付けする。図3(a)に示すグラフにおいては、ノード33,3 5,36及び37は、初期設定後、ステップ69で各々がYAMP信号を唯一の 接続ポートを介して隣接するノードへ送信するリーフノードである。それらの信 号を受信するノードは、次に、ステップ70でYAMC信号をリーフノードへ伝 搬して戻すことにより、YAMCA通信が完了したときにはそれぞれの親子ペア の間の所定のリンクについて1つの方向が確定する。ステップ71では、各リー フノードは1つの接続ポートを親ポートとしてラベル付けし、親ノードにある各 受信ポートは子ポートとしてラベル付けされる。 当初はリーフノードでないグラフ上のノードは、初め、先に述べた理由によっ て「サイクルノード」と考えられ、サイクルノード手続き63に従って進行する 。接続するポートのうち1つを除いて全てのポートを子ポートとしてラベル付け しているサイクルノードは、いずれも、後のステップ85で、残ったラベル付け されていないポートからYAMP信号を伝搬する。リンクについてその方向が設 定 されたとき、そこでサイクルノードはブランチノードとラベル付けされるように なる。すなわち、リーフノード37がそのノード34を親として確定した後は、 ノード34は唯一つのラベルなしポートを有するので(ノード37に至るリンク 接続を子ポートを介するものとしてラベル付けしている)、ノード34はYAM P信号をノード31へ同報通信し、その結果、ノード34はブランチノードにな る。同様に、ノード31がノード33及び34はその子ノードであると識別した ならば、ノード31はYAMP信号をノード30へ同報通信する。1つのノード が決定ボックス75でその全てのポートを介してYAMP信号を受信していたと き、そのノードはルートノードになる。図3(a)で、ノード30がノード31 及び32からYAMP信号を受信した後、そのラベルはサイクルノードからルー トノードであると変わる。図3(a)のグラフにおいては、必ずしもノード30 がルートになる必要はないであろう。ツリー中のリンクのうちいくつかが長い伝 搬遅延を生じさせるのであれば、ノード30は1つのポートでYAMP信号を受 信しており、次に別のポートを介してYAMP信号を送信していたかもしれない ノードのいずれもルート、さらにはリーフになって良く、リーフは適正に手続き をとる。図3(e)は、図3(a)に示す通信信号に応答して、その結果得られ た有向グラフを示し、各ノードはラベル付けされており且つ方向は黒の矢印によ って指示されている。ルート競合 状況によっては、ルート競合状態が起こりうる。これは、たとえば、任意トポ ロジーが図4に示す任意トポロジーに対し対称の配列を有するような場合に起こ るであろう。図4に示す任意グラフでは、ノード160及び161はそれが結合 している2つのリーフノードに対して親であることをそれぞれ確定している。次 に、各ノードはYAMP信号をほぼ同時に他方へ伝搬している。ルート競合状態 は決定ボックス86において関連する双方のノードにより認識される。各ノード はそれを親として指定する信号を受信しており、その一方で同じ信号を同じポー トを介して送信している。競合しているノードの各々はステップ91でYAMC 信号によって他方に応答し、それにより、各ノードはノード間の伝搬時間の2倍 に等しい「決定時限」を確定できる。 ルート競合状態は、各ノードの各々の任意状態機械論理装置11に組込まれて いるランダム決定メカニズムを利用することによって変更される。「決定時限」 が経過するたびに、各ノードは、ステップ92で、再び他方へYAMP信号を送 信すべきか否かを無作為に(50%の確率をもって)決定する。ほぼ確実に限ら れた数のサイクルの中で、一方のノードはその一方が往復することなく他方を親 として指定することを決定する。親と指定されたほうはステップ95でルートに なる。あるいは、ノードに所定の選択基準値を割当て、その大きいほう又は小さ いほうの値が競合事象でどちらが優勢であるかを判定するようにしても良い。「 決定時限」の動的確定は最適の性能を与えるものではあるが、本発明を実現する 上で不可欠ではない。その代わりに、このアルゴリズムを使用するどのようなバ スにおいても生じうる最悪の場合のリンク伝搬より長くありさえすれば、演繹的 に定義された「決定時限」を使用しても良い。ルート競合を変更するために使用 するのと同じ方法が、以下にさらに説明する他の競合事象を変更するためにも使 用される。ルート割当て 先に説明した通り、グラフ変換プロセスの結果はグラフ中の唯一つのノードへ のルート属性の割当てである。ルートノードは後述するバスアービトレーション 方式における最終的な決定を有し、従って、特別の優先順位時間間隔を使用せず に最大の優先順位をもってバスをアクセスすることができる。多くの場合、所定 のシステムを最適化するために、ノードが製造されるときに、もしくは動的に( ランタイム中に)所定のノードにルート特性を割当てることが可能であるのが望 ましい。所定のバスは、等時性データ転送を要求するノードを含んでいるかもし れない。等時性データは、所定の時間に何らかの値をもつように伝送されなけれ ばならないデータである。たとえば、コンパクトディスクから発する音楽は、断 片的に転送され、必ずしも順序通りではないデータファイルとは異なり、聴取す べき順序で、大きな遅れなく転送され且つ出力される必要がある。 ルート指定に関してノードを3つのカテゴリに分類することができる。それら の指定は、製造中、装置への指定のハードワイヤリング、アービトレーション状 態機械論理のプログラミング又は決定を実行するより高いレベルのソフトウェア の使用と、その後のその決定を維持したままの再ブートの開始によって適用され れば良い。ルートを指定されるのに関してノードが割当てられうる3つの指定は :ルートとなることを望まないノードと、ルートになりうる(なるべき)ノード と、ルートになるであろうノードである。ステップ81及び83では、それらの 指定を試験する。第1のカテゴリに指定されるノードは、指示されたときに直ち にグラフ変換手続きを開始する。これは、通常、バス初期設定手続きの完了の直 後である。第2のカテゴリのノードは、ステップ84でグラフ変換手続きを開始 することを指示された後に、そのプロセスの開始を所定の長さの時間だけ遅延さ せる。この遅延によって、ノードはルートになる機会を増す。(YAMP信号は その遅延によりそのノードまでより伝搬しやすい。)遅延の追加にもかかわらず 、「ルートになりうる」ノードがルートと指定されることで終わらない可能性は 依然としてある。これは与えられたトポロジーと、メッセージ伝搬遅延とによっ て決まる。遅延の量は、設計中、相当に複雑なグラフを通るときの最悪の場合の 妥当な伝搬遅延より多くなるように定義できる。 ルート指定の可能性のうち第3のカテゴリに入るノードは、グラフを既に変換 し終わり且つ全てのノードはそれ自体を識別した後にルートにならなければなら ないということを認識するのみであろう。アービトレーション状態機能論理がこ の確定を実行しても良く、ホストシステムでランするソフトウェアであっても良 い。これが起こると、ルートにならなければならないノードはバスに沿った他の 全てのノードと、それが唯一のルートになろうとしていることを承諾し、以下で さらに説明する割込形バス初期設定信号を発信することによってグラフ変換プロ セスを再開する。次に、ノードは、ステップ82で、ルートになるのを待ち、そ の全てのポートでYAMP信号を受信するまでグラフ変換に参加せず、それによ り、そのノードは必然的にルートと指定されることになる。 ルートが確定されたならば、グラフは有向であるということができる。グラフ 上の全ての隣接ノードの間に定義された関係が存在している。サイクル変更 先に説明したグラフを有向にする手続きは非サイクルグラフについてのみ働く 。任意トポロジーの中にサイクルがあれば、ステップ80で始まる手続きによっ て サイクルを破断しなければならない。所定のリンクが接続されていないかのよう に、これらのリンクを知的に処理することにより、上述の動作が行われる。ステ ップ79で、所定の時間切れ周期が経過した後に、ノードが依然としてリーフ、 ブランチ又はルートではなく、サイクルノードとラベル付けされているとき、サ イクルの存在は検出される。「サイクル検出」タイミングはバス初期設定機能の 終了の直後に始まる。時間切れ周期は最悪の場合のグラフ変換プロセスの持続時 間(「ルートになりうる」ノード及び起こりうるルート競合事象に関しての遅延 時間の追加)より長くなってはならない。 あらゆるメッセージ交換は非同期事象であるので、「サイクル検出」時間切れ 事象はグラフの全てのノードに対して同時に起こる必要はない。そのため、「サ イクル検出」時間切れ事象にまだ到達していないノードがサイクル変更は進行中 であることを指示するメッセージを受信することは可能である。そのようなノー ドはそのサイクル検出時間切れ間隔を終了し、適切なサイクル変更プロセスを開 始する。 サイクル変更の方法は、グラフトポロジーに応じて、異なる繰り返しプロセス を要求することもある。本質的には、単一サイクルと多重サイクルという2種類 のサイクルがある。多重サイクルは、多重サイクルノードの定義に適合するノー ドが存在する場合に存在する。多重サイクルノードは、YAMP信号を受信しな かったポートが少なくとも3つ接続しているようなサイクルノードである。多重 サイクルノードは少なくとも3つの隣接サイクルノードを有する。それは少なく とも2つの明確に異なるグラフサイクルに属するか、又は少なくとも1つのグラ フサイクルと、「ルートになるであろう」指定を有する1つのノード(従って、 YAMP信号を伝搬しなかったノード)があるブランチとに属するかのいずれか である。それらのポートはノードによりサイクルポートとしてラベル付けされる 。サイクル変更プロセスの間には、1つのノードを多重サイクルノードと考える だけで良い。これとは対照的に、単一サイクルノードは、まだYAMP信号を受 信していない接続ポートが2つしかないノードである。多重サイクル変更 サイクルの変更中、ステップ100で多重サイクルノードが存在するならば、 多重サイクル変更プロセス100を実行しなければならない。図5(a)は、図 2(b)に示す任意トポロジーの部分25をさらに詳細に示す。この図の中では 、3つ以上の他のサイクルノードにリンクされている2つのノード43及び47 があるので、ノード40〜47は多重サイクルを形成する。図6(f)は、多重 サイクル変更のためのプロセスの流れを示す。 サイクル検出時間切れ周期が終了すると、ステップ106で全ての多重サイク ルノードはそれらの全てのサイクルポートを介して、「You Are MyC ycle Parent」を指示する信号(YAMCP)を送信する。YAMC P信号が「You Are My Cycle Child」(YAMCC)の メッセージを伝達する応答を発生するのであれば、ノードはステップ108で「 You Are My Cycle Child Acknowledged」 (YAMCCA)をもって応答し、対応するポートをサイクル親ポートとラベル 付けする。 YAMCP信号を送信したノードが送信ポートでYAMCC信号より前でYA MCP信号を受信したならば、ノード43とノード47との間の状況のようなサ イクル競合事象が起こっている。サイクル競合事象は、「決定時限」ごとに競合 するノードが、それぞれ、関連する2つのポートのうち一方がサイクル親ポート になる一方で、他方のポートはその状態をサイクル子ポートとして認識するまで 、YAMCP信号を無作為に(50%の確率)送信するか又は送信しないという 点で、ルート競合事象と同じ方法で変更される。単一サイクルノードは、そのポ ートの中の1つ又は複数を介してYAMCP信号を受信すると、YAMCC信号 をもって応答し且つYAMCCAの戻りを待つ。これらの変換の後、ポートはサ イクル子ポートとラベル付けされる。 単一サイクルノードがその2つのサイクルポートの一方をサイクル子ポートと ラベル付けしたとき、そのノードはステップ109で残るサイクルポートを介し てYAMCP信号を搬送する。YAMCC信号が妨害なく応答として受信される のであれば、ノードはYAMCCAを送信し且つポートをサイクル親ポートとラ ベル付けする。これに対し、YAMCP信号を送信した後にその信号を受信した ノードについて競合状況が起こる場合には、ステップ110で、先に説明した2 つのノードの間の別の競合が変更される方式と全く同じようにサイクル競合事象 を変更する。 単一サイクルノードがそのポートの両方をサイクル子ポートとラベル付けして 終わるのであれば、ステップ111で、そのノードに至る2つのリンクの一方を 再び方向付けしなければならない。これは一般的な状況であり、単一サイクルノ ードがノード41の場合と同様に論理の上で2つの多重サイクルノードの間に位 置している場合に起こる。単一サイクルノードは、演繹的に定義された基準に基 づいて、接続されている2つのサイクル子ポートのうち一方を選択し、YAMC P信号を送信する。競合事象は存在せず、受信側ポートはYAMCCをもって応 答し、それに対し選択されたポートはYAMCCAを応答し且つサイクル子ポー トであったポートをサイクル親ポートと再ラベル付けする。サイクル変更プロセ スにおいては、どの単一サイクルノードも最終的にはサイクル子ポートとラベル 付けされるポートを唯一つしかもたない。 単一サイクルノードは、先にはサイクル親ポートとラベル付けされていたポー トを介してYAMCP信号を受信すると、YAMCCをもって応答すると共に、 YAMCCAを待ち、YAMCCAの時点でポートはサイクル子ポートと再ラベ ル付けされる。そこで、その単一サイクルノードの双方のサイクルポートはサイ クル子ポートとラベル付けされていることになる。次に、ノードは古いほうのサ イクル子ポートラベルを有するポートを選択し、YAMCP信号を送信すること により、そのポートに至るリンクの方向を反転させる。このプロセスは、全ての 単一サイクルノードが1つのサイクル親ノードと、1つのサイクル子ノードとを 有するようになるまで続く。ポートの再ラベル付けに使用される基準は2つの規 則のうち一方に従うべきであるということを強調すべきである。単一サイクルノ ードのポートが同じ時間単位の中でサイクル子ポートとラベル付けされる場合、 どのような演繹的に定義された基準でも許容される(常にポートYではなく、ポ ートXを選択するなど)。ポートが異なる時点でラベル付けされているのであれ ば、再ラベル付けプロセスは最も早い時点でサイクル子ポートとラベル付けされ ていたポートを常に含むべきである。優先基準選択の方法は論理的、すなわち、 1つのノードにおけるポートのハードワイヤード順序付けといえるであろう。た とえば、各ノードはポート1をポート2より高い優先順位とし、ポート2をポー ト3より高い優先順位とし…等々としても良いであろう。ノードは1つのポート ではなく別のポートを選択する規則を必要とするだけであり且つその規則を首尾 一貫して適用することを必要とするだけである。 全ての単一サイクルノードがそれぞれ1つのサイクル親ポートと、1つの子ポ ートとを有するようになったとき、別の多重サイクルポートとの競合の結果とし て、あるいは再ラベル付けメッセージ交換の結果として、少なくとも1つの多重 サイクルノードのポートのうち少なくとも1つはサイクル子ポートとラベル付け されていることになる。グラフ中のサイクルの数に応じて、多重サイクルノード は、上記の過程の結果として得られる全てのサイクルリンクの方向を示す図5( b)のノード43のように、サイクル子ポートとラベル付けされた2つ以上のサ イクルポートをもって終わることもある。これが起こったときには、多重サイク ルノードはそのサイクル子ポートのうち1つを除く全てを選択し、それを介して 「リンクディスエーブルド」(LD)メッセージを送信する。「リンクディスエ ーブルド完了」(LDC)応答信号を受信すると、ポートは各々のノードにより ディスエーブル済子ポートとラベル付けされ、論理バスから除去される。サイク ルノード(単一又は多重)は、サイクル親ポートとラベル付けされているポート 中の1つでLD信号を受信すると、LDC信号をもって応答し、そのポートをデ ィスエーブル済親ポートとラベル付けし且つそのポートを論理バスから除去する 。すなわち、1本の物理ケーブルが2つのノードを接続しても、それは2つのノ ードの間の通信を目的とするリンクとして無視される。図5(c)では、ノード 42とノード43との間又はノード43とノード47との間のリンクがディスエ ーブルされて、多重サイクルを単純サイクルへと変更する。どのリンクをディス エーブルすべきかを選択する方法は、伝搬再方向づけを選択するために先に説明 したように演繹的に定義されても良い。47−46−45−44−43のチェー ンをたどるリンクの方向が反転されたならば、43に至るリンクの2つの破断は 同様に単純サイクルをも排除したであろう。 依然としてサイクルノード属性を有しているダングリング中の「ルートになる べきであろう」ノードが存在している場合、そのノードはサイクル親メッセージ に関して先に説明したように応答する。この時点で、考慮に入れた破断リンクを 伴って残留している多重サイクルはない。図5(b)に示す例に関わる上記の多 重サイクルの破断はサイクルを全く残留させないか、あるいは、全てのサイクル ノードが単一サイクルノードであるサイクルの単純サイクルを1つ残留させる。単純サイクル変更 存在している多重サイクルの変更後、単純サイクルが残留しているかもしれな い。それらは常に単純サイクルであったサイクル、あるいは多重のサイクルの破 断の結果として得られるサイクルのいずれかである。多重サイクルの破断の結果 として得られる単純サイクルから成るノードは、既に、隣接サイクルノードに関 して方向づけられている。常に単純サイクルの一部であった単純サイクルの中の ノードは、サイクルを破断できるようになる前に隣接サイクルノードに関して方 向づけられなければならない。 決定ボックス101でラベル付けされたサイクルポートをまだ有していない単 一サイクルノードについては、隣接サイクルノードに関して方向を確定するため にステップ103で次の手続きを実行すべきである。単一サイクル変更プロセス の初めに、サイクルノードは先に定義された「決定時限」と同等である期間だけ 待機する。次に、演繹的に任意に定義された基準に基づいて、サイクルノードは その2つのサイクルポートの一方でYAMCP信号を送信する。この結果、隣接 するサイクルノードとの何らかの競合が起こるのであれば、その競合は他の競合 を変更するための先に説明したのと全く同じ方式で変更される。ノードが独自の 送信を開始する前にYAMCP信号を受信すると、ノードは独自の送信を放棄し 、YAMCC信号をもって応答する。応答YAMCCA信号を受信すると、ノー ドはポートをサイクル子ポートとラベル付けし、次に残るポートを介してYAM CP信号を送信する。このように、いずれかのサイクルノードが2つ以上のサイ クル親ポートをもつ時間はない。サイクルノードが2つのサイクル子ポートをも って終われば、そのノードは古いほうのラベル付けられたポートを選択し、それ をラベルなしにし且つそのポートを介してYAMCP信号を送信する。このプロ セスの終結時には、全てのサイクルポートはサイクル親又はサイクル子のいずれ かとラベル付けされており、それにより、ループ中のリンクに至る方向を与える 。 多重サイクル除去によって全てのサイクルが変更されるという特殊なケースが 存在することに注意すべきである。図5(d)は、単一サイクルグラフがダング リング中の「ルートになるべきであろう」ノード、ノード5を有するようなこの ケースを示す。これは単一サイクルグラフであるが、ノード3はそれが多重サイ クルノードであると考え、多重サイクル変更プロセスを開始する。多重サイクル 変更プロセスの終了時には、そのサイクルは除去される。1つのノードは唯一の サイクルポートを伴って残されるため、決定ボックス102の試験はサイクル変 更プロセスを終了させて、そのノードはブランチノードになる。サイクル除去 図5(c)は、ノード42とノード43との間のリンクを論理の上では存在し ないものとして表わしつつ、ノード40〜47を示す。ノード43〜47を包含 する残留有向ループも指示されている。 先の節で説明した通りに、あるいは多重サイクル変更の結果として、サイクル について方向が確定したならば、サイクルを破断するために「ルートサイクルノ ード」を識別することが必要である。ループ中の各ノードはそのサイクル親ポー トを介して2つのメッセージのうちいずれか一方を送信することを無作為に決定 する。可能なメッセージの数は少なくとも2つでなければならないが、それより 多くても良い。唯一の条件は、可能な全てのメッセージの間で順序関係を定義し 且つこの関係を全てのノードに知らせることである。それらのメッセージの内容 は識別可能であり且つ一方を他方より高い優先順位をもつものとして指定される 以外は重要ではない。例示の便宜上、これを「サイクルメッセージA」(CMA )及び「サイクルメッセージB」(CMB)と記述する。各ノードはそれが無作 為に選択したメッセージを1つ又は複数の親へ送信すると共に、その子から子が 無作為に選択したメッセージを受信するか又は子が送り出しノードである場合に はその子によって送り出されたメッセージを受信する。CMB信号を送信するこ とを選択したが、CMA信号を受信するサイクルノードは、いずれも、それ自体 をルートサイクルノードになるための競争から排除されたと考え、それ以降、変 換をトリガしたCMAメッセージを含む受信メッセージを送り出すだけである。 まだ送り出しノードではないノードによって生成され且つ送信される連続メッセ ージの間の時間遅延は、設計の時点で定義されたシステムパラメータである。そ の値は実際の実現可能サイクルを介するときの最大伝搬遅延より大きくあるべき である。 送り出しノードにならないノードは、同様に設計の時点で定義されたシステム パラメータである事前定義済の数のメッセージを出力する。この数は、このプロ セスの終了時にサイクル中の唯一つのノードが非送り出しノードのままであると いう所望のレベルの確信度をもって、確率的に保証するために十分に大きくある べきである。この残ったノードは、その後、ルートサイクルノードと考えられる 。次に、ルートサイクルノードはステップ104で先に説明した方式で子ポート を介してLD信号を送信し、それにより、ルートサイクルノードとその子との間 のリンクを論理の上で破断する。従って、これでサイクルは破断し、全てのサイ クルが破断されたとき、グラフ全体は非サイクルである。 ルートサイクルノードがその子ノードとのリンクを破断する理由は、ルートサ イクルノードに待機中の「ルートになるべきであろう」ノードが付随していると いう可能性に対処するためである。サイクルが有向サイクルになれば、サイクル ノードは単一のサイクル子しかもたないが(待機中の「ルートになるべきであろ う」ノードの場合のように)2つ以上のサイクル親を有していても良いことに注 意すべきである。ルートになるべきであろうダングリング中の1つのノード又は ノードのチェーンはルートサイクルノードに対してサイクル親ノードであるとい う属性を有し、それに至るリンクは破断されるべきでない。ループの各々が破断 され且つサイクルが全く残留していないのであれば、先の節で説明したようなグ ラフを変換するための手続きは、グラフ全体が非サイクルであり且つ有向である ようになるまで進行しても良い。固有物理アドレスの割当て 元の任意トポロジーから非サイクル有向グラフを確定したならば、グラフの各 ノードに固有の物理アドレスを割当てることが可能である。このプロセスは、全 てのリーフノードがその単一の接続ポートを介してバス要求(BR)信号を送信 することによりバスを要求することをもって始まる。その信号を受信した親ノー ドは、その子ポートの全てからBR信号を受信し終わるまで待機し、次にBR信 号をその親に伝搬する。BR信号は、ルートがその子の全てからBR信号を受信 し終わるまでグラフを通って伝搬する。ルートがその子ポートの全てを介してバ ス要求を受信したならば、ルートはバスを1つのポートを介して許可し且つその 残る子ポートを介してバス拒否(BD)信号を伝搬するための決定を実行する。 どのバス要求を許可すべきかを選択する方法は、先に、たとえば、ポートを左か ら右へと又はポート番号づけに基づいて選択する場合などについて説明したよう な演繹的決定であっても良い。バス許可(BG)信号はルートからそれが要求し ている子へ送信される。その要求中の子が、それ自体、その子のうち1つからバ ス要求を伝搬した親ノードである場合には、その子ノードはその子ポートの1つ を除く全てのポートを介して先に説明したのと同じ所定の方式でバス拒否信号を 送信する。最終的には1つのリーフノードがバス許可信号を受信し、そのノード はバス許可確認(BGA)信号によって応答し、BGA信号はルートノードへと 伝搬されて戻る。BD信号とBGA信号の伝搬は半二重通信チャネルの場合に必 要になるであろう通信リンクの方向を定める働きをする。そこで、拒否された全 てのノードは最終的にBG信号を受信するノードによるアクティビティを待つ。 最終的にバスに対するアクセスを許可されるノードはアドレス割当てパケット を送信する。ノードはこのパケットをバスを介して送信し、パケットは他の全て のノードにより受信されて、それらのノードは、それぞれ、受信するアドレスパ ケットの数をカウントする。送信されるアドレスパケットは何らかの任意の情報 を有していても良い。ノードの固有物理アドレスは、ノードがアドレスパケット を送信する前にカウントしたアドレスパケットの数に基づいている。すなわち、 前もってアドレス情報は割当てられていないにもかかわらず、2つのノードが同 じ物理アドレスを獲得することはない。アドレスパケットの実際の組成は任意で あって、システムにより効率良く利用可能な何らかのビットストリームであれば 良い。物理アドレス割当てパケットを送信した後、ノードは「子ID完了」信号 (CIC)信号を送信する。子ポートでこれを受信した親ノードは、次に、「子 識別完了確認」(CICA)信号を送信し、ポートを識別済子ポートとしてラベ ル付けする。次のBR信号の伝搬に応答して、自身を識別したばかりであるノー ドの親は物理アドレスパケットを送信すべき次の子を選択する。1つの親ノード の子ノードの全てが自身を識別したならば、親ノードはバスを要求し、バスを許 可したとき、その物理アドレス割当てパケットを伝搬する。この手続きは、所定 の選択基準に従って、全てのノードがカウント動作によって固有物理アドレス割 当てを確定するまで続く。図7は、左から右への事前定義済選択基準が実現され ている図3(e)のグラフを示す。ノードは固有のアドレスを割当てられ、ノー ド33は第1のアドレスを受信し、前述のように、ルートノード30は第8の、 そして最後のアドレスを受信する。 この手続きが完了すると、グラフ中の各ノードは固有物理アドレスを有するこ とになり、そのアドレスは前もって確定されている必要はなく、システム管理又 はその他の目的のために利用されれば良い。ノードの自己識別 ノード自己識別プロセスは本質的には先に説明した物理アドレス割当て手続き と同一のルーチンに従う。各ノードがその物理アドレス割当てパケットを送信す るとき、そのパケットはノードに関連する局所ホストのID、それがどれほどの 量の電力を必要とするか、さらに、たとえば、「ソフトパワーオン」属性を支援 するか否か等々の別の情報を含んでいても良い。事実、ノード自己識別情報は、 どの情報を送信するにしても、それは固有物理アドレスを獲得するためのカウン トの基礎となることから、物理アドレス割当てパケットとして働くのである。 ノード自己識別パケットに関しては、ノードに関する特定の情報は告知してい るノードの性質によって影響を受けるノードにより「聴取」されるだけで良い。 先の場合と同様に、この手続きは全ノードがそのノード自己識別情報を送信し終 わるまで進んで行く。トポロジーマッピング トポロジーマッピングの方法は、物理アドレス割当て及びノード自己識別と同 じラインに沿って流れる。すなわち、この手続きでは、各ノードがアドレス割当 て又はノード自己識別のプロセスを経過しているとき、そのノードに、ノードが 有している子ポートの数及びディスエーブルされたポートを有しているか否かな どの全てのポートに関する情報をさらに送信する。ディスエーブルされたポート に関しては、どこからディスエーブルされるかを識別できるように、ディスエー ブルしようとしているポートの相互間に通信規約を実現することが望ましいであ ろう。従って、ポートがディスエーブルされたポートを識別するとき、ポートは それ独自のIDを指示する識別子並びにディスエーブルされる元になったポート IDを与える。 トポロジーマッピング手続きの間に受信する全てのポートに関わるあらゆるト ポロジー情報を組立てることにより、ホスト又は何らかのソフトウェアレベルア プリケーションは変更したバストポロジーを論理的に再構成できるであろう。こ れは、リンクが予想外に故障した場合に、先にディスエーブルしたリンクがどの ノードに対しても通信チャネルの損失を阻止するように働ける冗長性を実現する ことを含む数多くの目的のために有用である。公正バスアクセスアービトレーション トポロジーマッピング、ノード自己識別又は物理アドレス割当てのルーチンが 完了したならば、バスが起動し、ラン中であると考えることができる。本発明に 従って実現される1つのアービトレーション方式は、正当なバスアクセスのアー ビトレーション方式である。バスに対するアクセスを望むとき、ノードはその親 ポートを介して(それがルートでない限り)バス要求(BR)信号を送信する。 親は、1つの子からBR信号を受信すると、他の全ての子ポートを介してバス拒 否信号(BD)を送信する。そこで、親はBR信号をその親を通って、その信号 がルートに到達するまで上方へと伝搬する。ルートはそれが受信する第1のBR 信号に応答してバス許可信号(BG)を発行すると共に、その他の全ての子ポー トを介してBD信号を送信し、BD信号は下方へと伝搬することにより、リンク の方向を定める。BG信号は要求している側のノードに到達するまでグラフを通 って下方へと伝搬し、そのノードは、次に、バス確認(BA)信号を送信し、そ れに続くのはノードがバスへ送信することを必要とした情報のパケットである。 パケットが完了したとき、全てのノードはアイドル状態に戻るか、又はアイドル 状態に入る。 ルートがバスに対するほぼ同時の要求を受信する場合、ノードのうち1つにバ スアクセスを許可するために、ルートノードに関わる所定の選択基準を使用する ことができる。これは先に説明したのと同じ所定の優先順位選択基準であっても 良い。 公正バスアクセスアービトレーションの別の一面は、親ノードがその子に対し て優先権をもつことである。すなわち、親ノードは、バスを要求するときに、B D信号をその子ポートの全てを介して送信し、次にBR信号をルートに向かって 上方へと伝搬する。このメカニズムに伴って起こりうる1つの問題は、親がバス を介して送信すべき大量の情報を有している場合に、子ノードが適切なバスアク セスを獲得するのに障害を生じるかもしれないということである。従って、当該 技術では広く使用され且つ良く知られているギャップシステムが導入されている 。ノードはバスを利用した後に、再びバスを要求できるようになる前にギャップ 周期1つ分待機しなければならない。これにより、バス上におけるノードのトポ ロジー配列にかかわらず、バスに沿ったどのノードにもバスを許可される均等な 機会が与えられるのである。公正アービトレーションプロトコルを保証するため には、ギャップの長さはバスを通過するときの最悪の場合の信号伝搬遅延より大 きくなければならない。ギャップ値をあらかじめ確定して、ノード論理にハード ワイヤリングすることができるが、そのような方式は、結果として、最も極端な ケースを除くあらゆる場合においてバスを最適に近い形で利用できる。トポロジ ーマッピング能力は、グラフ変換段階の間に実行される隣接ノード間の伝搬遅延 の測定とあいまって、どの特定の実現形態に対してもバス性能を最適化する最適 公正ギャップの計算を可能にする。優先バスアービトレーション 上述の公正バスアクセスアービトレーションに従って実現されるバスアービト レーション方式においては、ルートは常にバス優先権を有していることが望まし いであろう。これが実現されるとき、ルートノードはそれ自身にいつでもバスを 許可して良い。これは、まず、BD信号をグラフ中の全てのノードを通して下方 へと送信することによって実行される。ルートに関わる優先バスアクセスは、等 時性データ転送を実行するためにルートノードが要求されるような場合に非常に 有用である。トークンパッシングバスアービトレーション 先に説明した公正バスアクセスアービトレーション方式及び優先バスアクセス アービトレーション方式の代わりに、トークンパッシングバスアービトレーショ ン方式を実現するに際して本発明を利用しても良い。比喩的にいえば、トークン パッシングバスアクセスは、バスがノード間を渡されているトークンを所有して いるときにノードはバスを介して通信して良いという概念を表わす。各ノードが サイクル中の所定のポイントでバスを受けるように、トークンはノードからノー ドへとサイクル方式で渡されて行く。本発明においては、トークンパッシングは 先に説明した物理アドレス割当てルーチンと同じ方式に従って実現される。実現 される所定の選択メカニズムを使用して、トークンをノードからノードへと渡し て行く順序を選択する。この順序は、固有アドレス割当ての順序を指示する図7 に示すような順序に類似している。各ノードは、トークンを割当てられたとき、 残るノードが聴取している間にバスに沿ってその情報パケットを伝搬する。次に 、ノードは、先に説明したような所定の順序づけ方法に基づいてトークンを次の 論理ノードに渡す。プレエンプティブバス初期設定 本発明に従って実現しうる重要な特徴は、プレエンプティブバス初期設定の概 念である。各ノードに組込まれている状態機械論理は、いくつかの条件に対して ノードからその全てのポートを介して伝搬されるべきバス初期設定(BI)信号 をトリガすることができる。ノードがバス初期設定条件を信号で報知する必要が あると確定したとき、ノードはBI信号をその全てのポートを介して、全ての隣 接ノードがその信号を受信し、次に変更するように保証するのに十分な長さの時 間だけ伝搬する。そこで、ノードはその後に先に説明した手続きの中でグラフ変 換プロセスに至る開始手続きに入る。 プレエンプティブバス初期設定をトリガすることを必要にするか又は望ましく するであろういくつかの状況がある。第1に、これは予期せぬ誤りに対するノー ド応答であっても良い。加えて、ホストレベルでは、異なるノードがルート属性 、たとえば、等時性データ転送ノードを獲得すべきであることを確定しても良い 。この割当てはバス初期設定ルーチンを通して維持されるので、所望のノードは ルート指定を受信するまで変換手続きの間は待機することになる。プレエンプテ ィブバス初期設定に至る別の条件はリンクの破断であろうが、その場合、付属す る ノードについて新たな非サイクル有向グラフを計算することが必要であろう。最 後にプレエンプティブバス初期設定が起こるべき重要な状況は、周辺機器の「ホ ットアディション」と呼ばれるような、装置がネットワークに追加されるときで ある。新たな装置が接続されるポートは新たなノードの有無を検出し、システム のユーザに対しては透明であるが、たとえば、遮断と再給電の必要なく周辺機器 の増減を可能にするバス初期設定をトリガする。追加されたノードの存在を含む 新たな非サイクル有向グラフを計算する。いくつかのノードを取り除いたとき、 バス初期設定をトリガする必要はなくなる、たとえば、リーフノードを取り除い たときには、ネットワークに害はないということはありうる。しかしながら、動 作中のバスからブランチノードが指定される場合には、グラフを再構成する必要 がありそうである。 本発明を好ましい実施例によって説明したが、当業者により本発明の趣旨から 逸脱せずに様々な変形や変更を実施しうることは理解されるであろう。従って、 本発明は続く請求の範囲によって判断されるべきである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CZ,DE,DK,ES,FI,GB,H U,JP,KP,KR,KZ,LK,LU,LV,MG ,MN,MW,NL,NO,NZ,PL,PT,RO, RU,SD,SE,SK,UA,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.複数の個別の構成要素を具備し、各構成要素は少なくとも1つの外部ポー トを有する少なくとも第1の通信ノードを有し、前記複数の構成要素は複数の通 信リンクによって接続された任意トポロジーを成して相互接続されており、前記 通信リンクの各々は1対のノードを前記1対の相互接続されたノードの各々にあ る外部ポートの1つを介して結合し、前記通信ノードの各々は別のノードへの接 続を検出することができると共に、隣接ノードと共に信号を通信リンクを介して 伝搬し且つ応答することができ、前記任意に相互接続された複数の個別の構成要 素はノードの任意トポロジー集合体を構成している電子システムにあって、前記 ノードの任意トポロジー集合体を非サイクル有向グラフを特徴とする論理バスに 変換する方法において、 グラフからサイクルを除去することにより、前記ノードの任意トポロジー集合 体を非サイクルグラフに変更する過程と; 隣接ノードが通信リンクによって直接互いに結合されるノードであるように、 隣接ノード間で方向指示信号を伝搬することにより、非サイクルグラフ上のノー ドの間の関係を階層的に方向指示する過程とから成る方法。 2.前記変更する過程は、 グラフ中の所定のノードから始まり、リンクを2度通過することなくリンク及 びノードを通過した後にそのノードに戻ることが可能である場合にサイクルが存 在するものとして、サイクルが存在するか否かを検出する過程と; 1つのサイクルの一部である3つ以上の接続するリンクを有するノードがある 場合に多重サイクルが存在するものとして、多重サイクルを除去する過程と; 結果として得られるグラフが非サイクルトポロジーを有するように単一サイク ルを除去する過程とから成る請求項1記載の方法。 3.前記検出する過程は、所定の期間が経過した後に前記複数の通信ノードの うちいくつかは隣接ノードとの階層関係を指示する方向指示信号を受信しなかっ たことを確定することから成る請求項2記載の方法。 4.多重サイクルでは、少なくとも2つのノードが多重サイクルノードとして 特徴づけられており、多重サイクルノードは、1つのサイクルの一部である3つ 以上の接続するリンクを有するノードであって、サイクルの残るノードは単一サ イクルノードであり、多重サイクルごとに、多重サイクルを除去する過程は、 サイクル中の全ての多重サイクルノードは「You Are My Cycl e Parent」(YAMCP)信号を伝搬し、その信号に対し応答するノー ドは「You Are My Cycle Child」(YAMCC)信号を 戻し、前記単一サイクルノードは、1つの隣接ノードをサイクル親ノードを識別 すると、他方の隣接ノードをサイクル子ノードとして識別するようにして、多重 サイクルのノードを階層的に方向指示し、前記方向指示する過程は、全ての単一 サイクルノードが、それぞれ、隣接ノードを1つのサイクル親ノード及び1つの サイクル子ノードとして識別し終わるまで継続し、識別した時点で前記多重サイ クルノードの少なくとも1つはサイクル子ノードと識別された隣接するノードを 有する過程と; グラフから多重サイクルを除去するように選択されたリンクを論理の上でディ スエーブルする過程とから成る請求項2記載の方法。 5.前記論理の上でディスエーブルする過程は、前記隣接サイクル子ノードに 対してサイクル子ノードと識別される隣接ノードを有する多重サイクルノードか ら「リンクディスエーブルド」(LD)信号を伝搬する過程から成り、前記隣接 サイクル子ノードは「リンクディスエーブルド完了」(LDC)信号をもって応 答し、その時点で、2つの関連するノードの間のリンクは変更すべき論理バスに は存在しないものとして処理される請求項4記載の方法。 6.前記方向指示する過程は、互いに親ノードとして識別しようとする隣接ノ ードの間のコンフリクトを、コンフリクト中のノードの一方が他方に関して親ノ ード状態を得るまでそれらのノードに他方のノードを周期的に無作為に親ノード と識別させる又は識別させないことによって変更する過程をさらに含む請求項4 記載の方法。 7.単一サイクルを除去する前記過程は、単一サイクルごとに、 単一サイクル中の各ノードがその2つの隣接ノードの一方をサイクル親ノード として識別し且つ他方の隣接ノードをサイクル子ノードとして識別しているよう に、多重サイクルを変更する結果としてサイクルのリンクが先に方向指示されて いなければ、リンクを方向づけする過程と; 論理の上でディスエーブルすべきサイクル中の1つの通信リンクを選択する過 程と; 選択された通信リンクを論理の上でディスエーブルする過程とから成る請求項 2記載の方法。 8.論理の上でディスエーブルすべき1つのリンクを選択する前記過程は、 ルートサイクルノードになるべきサイクルの1つのノードを確定する過程と; ルートサイクルノードからその隣接ノードの一方へLD信号を伝搬する過程と ; ルートサイクルノードとその隣接ノードのうち前記一方との間のリンクを変更 すべき論理バスから論理の上で除去する過程とから成る請求項7記載の方法。 9.ルートサイクルノードとなるべき1つのノードを確定する前記過程は、 ルートサイクルノードになるための競合に唯一つのノードが残るまで、 各ノードがそのサイクル親ノードと識別された隣接ノードへ、無作為に確定 されている第1の優先信号又は第2の優先信号を伝搬する過程と; 前記第2の優先信号を伝搬することを選択した前記ノードの各々はそれ自体 をルートサイクルノードになるための競合から排除し、その後、そのサイクル子 ノードからその親ノードへ受信した前記第1の優先信号又は第2の優先信号のい ずれかを送り出す過程とを繰り返す過程から成る請求項8記載の方法。 10.非サイクルグラフ上のノードの間の関係を階層的に方向づける前記過程 は、 全ての隣接ノードの間に親子関係を成立させる過程と; グラフ上の1つのノードをルートノードと指定し、他の全てのノードはグラフ 上に隣接ノードを1つしかもたないノードとして特徴づけられるリーフノード又 はブランチノードのいずれかである過程とから成る請求項1記載の方法。 11.隣接ノードの間に親子関係を成立させる過程は、 各リーフノードから「You Are My Parent」(YAMP)信 号をその唯一の隣接ノードへ伝搬し、前記YAMP信号に応答して、前記隣接ノ ードは前記隣接するリーフノードへ「You Are My Child」(Y AMC)信号を伝搬し、それにより、各リーフノードとその隣接ノードとの間に 親子関係を成立させる過程と; 各ブランチノードは、その隣接ノードのうち1つを除く全てのノードからのY AMP信号を受信し且つ確認すると、YAMP信号を残っている隣接ノードへ伝 搬し、全てのブランチノードが1つのブランチノードをもつ隣接ノードへ前記Y AMP信号を伝搬し終わるまでその過程を継続し、全ての隣接ノードからYAM B信号を最後に受信することになるノードがグラフのルートノードになる状態を 獲得する過程とから成る請求項10記載の方法。 12.互いに親ノードとして識別しようとする隣接ノードの間のルート競合を 、コンフリクトしているノードの一方が他方に関して親ノード状態を獲得し、そ のノードがルートノードとなるまで、コンフリクトしているノードに他方を周期 的に無作為に識別させるか又は識別させないことによって変更する過程をさらに 含む請求項11記載の方法。 13.1つのノードを「ルートになるべきであろう」ノードとして指定する過 程をさらに含み、前記ノードは前記YAMP信号を隣接ノードへ伝搬する前に所 定の期間だけ待機し、それにより、そのノードがルートノードになるという結果 に終わる機会を増す請求項11記載の方法。 14.1つのノードを「ルートにならなければならない」ノードとして指定す る過程をさらに含み、前記ノードはどの隣接ノードへも前記YAMP信号を伝搬 せず、それにより、前記ノードを確実にルートノードにさせる請求項11記載の 方法。 15.複数の通信リンクによって相互接続されている複数の構成要素を具備し 、前記複数の構成要素の各々は前記通信リンクを結合しうる少なくとも第1のポ ートをもつ通信ノードを有し、前記相互接続された複数の構成要素はノードの任 意トポロジーを形成しているコンピュータシステムでの前記任意トポロジーを非 サイクルグラフに変換する方法において、 グラフ中の所定の1つのノードから始めて、どのリンクも2度通過することな くリンク及びノードを通過した後にそのノードに戻ることが可能である場合にサ イクルは存在するものとして、任意トポロジーの中にサイクルが存在するか否か を検出する過程と; 1つのサイクルの一部である3つ以上の接続されたリンクを有するノードが存 在する場合に多重サイクルが存在するものとして、多重サイクルをいずれも除去 する過程と; 単一サイクルをいずれも除去し、それにより、その結果得られるグラフは非サ イクルトポロジーを有するようになる過程とから成る方法。 16.前記検出する過程は、所定の期間が経過した後に、前記複数の通信ノー ドのうちいくつかが隣接ノードとの階層関係を指示する方向指示信号を受信しな かったことを確定することから成る請求項15記載の方法。 17.多重サイクルでは、少なくとも2つのノードが多重サイクルノードとし て特徴づけられており、それらは1つのサイクルの一部である3つ以上の接続さ れたリンクを有するノードであり、サイクルの残りのノードは単一サイクルノー ドであり、多重サイクルを除去する過程は、多重サイクルごとに、 サイクル中の全ての多重サイクルノードが「You Are My Cycl e Parent」(YAMCP)信号を伝搬し、それに応答するノードは「Y ou Are My Cycle Child」(YAMCC)信号を戻し、前 記単一サイクルノードは、一方の隣接ノードをサイクル親ノードと識別すると、 その他方の隣接ノードをサイクル子ノードとして識別し、全ての単一サイクルノ ードがそれぞれ1つのサイクル親ノード及び1つのサイクル子ノードと識別され た隣接ノードを有するようになるまでその過程を継続し、識別した時点で前記多 重サイクルノードのうち少なくとも1つはサイクル子ノードとして識別される隣 接ノードを有するようにして、多重サイクルのノードを階層的に方向指示する過 程と; 多重サイクルをグラフから除去するように選択されたリンクを論理の上でディ スエーブルする過程とから成る請求項15記載の方法。 18.前記論理の上でディスエーブルする過程は、サイクル子ノードと識別さ れる隣接ノードを有する多重サイクルノードから前記隣接サイクル子ノードへ「 リンクディスエーブルド」(LD)信号を伝搬する過程から成り、前記隣接サイ クル子ノードは「リンクディスエーブルド完了」(LDC)信号をもって応答し 、 その時点で2つの関連するノードの間のリンクは変更すべき論理バスには存在し ないものとして処理される請求項17記載の方法。 19.前記方向指示する過程は、互いを親ノードを識別しようとする隣接ノー ドの間のコンフリクトを、コンフリクトしているノードの一方が他方に関して親 ノード状態を獲得するまでコンフリクトしているノードに他方のノードを周期的 に無作為に親ノードとして識別させるか又は識別させないことによって変更する 過程から成る請求項17記載の方法。 20.単一サイクルを除去する前記過程は、単一サイクルごとに、 単一サイクルの中の各ノードがその2つの隣接ノードの一方をサイクル親ノー ドとして識別し且つ他方の隣接ノードをサイクル子ノードとして識別しているよ うに多重サイクルを変更する結果としてサイクルのリンクが先に方向指示されて いないならば、そのサイクルのリンクを方向指示する過程と; 論理の上でディスエーブルすべきサイクル中の1つの通信リンクを選択する過 程と; 選択された通信リンクを論理の上でディスエーブルする過程とから成る請求項 15記載の方法。 21.論理の上でディスエーブルすべき1つのリンクを選択する前記過程は、 ルートサイクルノードになるべきサイクルの1つのノードを確定する過程と; ルートサイクルノードからその隣接ノードの一方へLD信号を伝搬する過程と ; ルートサイクルノードと、その隣接ノードのうちの前記一方との間のリンクを 変更すべき論理バスから論理の上で除去する過程とから成る請求項20記載の方 法。 22.ルートサイクルノードになるべき1つのノードを確定する前記過程は、 ルートサイクルノードになるための競合に唯一つのノードが残るまで、 各ノードがそのサイクル親ノードとして識別された隣接ノードへ、無作為に 確定される第1の優先信号又は第2の優先信号のいずれかを伝搬する過程と; 前記第2の優先信号を伝搬することを選択した前記ノードの各々はそれ自体 をルートサイクルノードになるための競合から排除し、その後、そのサイクル 子ノードからその親ノードへ受信した前記第1又は第2の優先信号のいずれをも 送り出す過程とを繰り返す過程から成る請求項21記載の方法。
JP6515318A 1992-12-21 1993-12-16 ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置 Pending JPH08507623A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99412892A 1992-12-21 1992-12-21
US07/994,128 1992-12-21
PCT/US1993/012317 WO1994015304A1 (en) 1992-12-21 1993-12-16 Method and apparatus for transforming an arbitrary topology collection of nodes into an acyclic directed graph

Publications (1)

Publication Number Publication Date
JPH08507623A true JPH08507623A (ja) 1996-08-13

Family

ID=25540312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6515318A Pending JPH08507623A (ja) 1992-12-21 1993-12-16 ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置

Country Status (7)

Country Link
US (1) US5784557A (ja)
EP (2) EP1146431A3 (ja)
JP (1) JPH08507623A (ja)
AU (1) AU5954194A (ja)
DE (1) DE69331705T2 (ja)
HK (1) HK1041330A1 (ja)
WO (1) WO1994015304A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633577B1 (en) 1997-03-26 2003-10-14 Nec Corporation Handshaking circuit for resolving contention on a transmission medium regardless of its length
KR101974069B1 (ko) * 2018-04-30 2019-04-30 한국과학기술원 바이너리 구조 도식화 장치 및 방법

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634004A (en) * 1994-05-16 1997-05-27 Network Programs, Inc. Directly programmable distribution element
US7388092B2 (en) * 1996-05-03 2008-06-17 Applera Corporation Oligonucleotides and analogs labeled with energy transfer dyes
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US5978795A (en) * 1997-01-14 1999-11-02 Microsoft Corporation Temporally ordered binary search method and system
US6160795A (en) * 1997-03-21 2000-12-12 Siemens Aktiengesellschaft Network communication
US6038600A (en) * 1997-07-16 2000-03-14 Hewlett-Packard Company Method and system for automatic detection of bridged and repeated network device connections
US6145018A (en) * 1997-11-24 2000-11-07 Intel Corporation Method for hindering some types of nodes from becoming a bus arbitration controller
US6041348A (en) * 1997-12-01 2000-03-21 Lsi Logic Corporation N-port algorithm for disabling a node within a network during reset
JP3171241B2 (ja) * 1998-03-06 2001-05-28 日本電気株式会社 通信方法
US6324181B1 (en) * 1998-04-16 2001-11-27 3Com Corporation Fibre channel switched arbitrated loop
FR2779301B1 (fr) * 1998-05-26 2000-07-21 Thomson Multimedia Sa Procede d'identification d'appareils dans un reseau de communication et appareil de mise en oeuvre
US6108698A (en) * 1998-07-29 2000-08-22 Xerox Corporation Node-link data defining a graph and a tree within the graph
US6597658B1 (en) 1998-12-28 2003-07-22 At&T Corp. Hierarchical telecommunications network with fault recovery
US7062456B1 (en) 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
US6334205B1 (en) 1999-02-22 2001-12-25 International Business Machines Corporation Wavefront technology mapping
US6385668B1 (en) * 1999-04-08 2002-05-07 Lucent Technologies Inc. Method and apparatus for compound hardware configuration control
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6600727B1 (en) 1999-05-27 2003-07-29 Cisco Technology, Inc. Distributed network repeater system
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6496485B1 (en) * 1999-06-14 2002-12-17 Hewlett-Packard Company Method of loop breaking tree indentification in a system bus hierarcy
JP4444397B2 (ja) 1999-06-25 2010-03-31 富士通マイクロエレクトロニクス株式会社 トポロジの構築方法
US6628607B1 (en) * 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
EP1079580A3 (en) * 1999-08-23 2003-08-06 Sanyo Electric Co., Ltd. Method and apparatus for avoiding loop connection
US6574633B1 (en) * 1999-11-01 2003-06-03 Honeywell International Inc. Method for dynamically grouping limited range physical entities in a topological space
JP2002077182A (ja) * 2000-08-29 2002-03-15 Sony Corp ネットワークエラー表示装置およびエラー検出表示方法
US7328211B2 (en) 2000-09-21 2008-02-05 Jpmorgan Chase Bank, N.A. System and methods for improved linguistic pattern matching
US7539154B1 (en) * 2000-10-17 2009-05-26 Cisco Technology, Inc. Method and apparatus to detect and break loop configuration
US7328232B1 (en) 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
JP2002152265A (ja) * 2000-11-15 2002-05-24 Tadashi Yamamoto 通信回線網の接続経路選択方法と装置及び該接続経路選択プログラムを記録した記録媒体
KR20020094028A (ko) * 2001-03-09 2002-12-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 버스 구조를 통해 통신하는 장치들의 시스템
JP2002314543A (ja) * 2001-04-13 2002-10-25 Matsushita Electric Ind Co Ltd トポロジ修正方法および通信ノード
US20030055918A1 (en) * 2001-07-14 2003-03-20 Zimmel Sheri L. Apparatus and method for optimizing telecommunication network design using weighted span classification for high degree of separation demands
US20030035379A1 (en) * 2001-07-14 2003-02-20 Zimmel Sheri L. Apparatus and method for optimizing telecommunication network design using weighted span classification
US20030051007A1 (en) * 2001-07-14 2003-03-13 Zimmel Sheri L. Apparatus and method for optimizing telecommunication network design using weighted span classification for low degree of separation demands
US20030046378A1 (en) * 2001-07-14 2003-03-06 Zimmel Sheri L. Apparatus and method for existing network configuration
US20030023706A1 (en) * 2001-07-14 2003-01-30 Zimmel Sheri L. Apparatus and method for optimizing telecommunications network design using weighted span classification and rerouting rings that fail to pass a cost therehold
US7103054B2 (en) * 2001-07-16 2006-09-05 International Business Machines Corporation Methods and arrangements for building a subsource address multicast distribution tree using point to point routing records
US7239614B2 (en) * 2001-07-16 2007-07-03 International Business Machines Corporation Methods and apparatus for the propagation of multicast transmissions in a communications network
JP3523616B2 (ja) 2001-07-24 2004-04-26 松下電器産業株式会社 バス最適化方法及び通信ノード
KR100763339B1 (ko) * 2001-10-17 2007-10-04 벱테크 인코포레이티드 운영 시스템 전반에 대한 통신 방법
US6950870B2 (en) 2002-02-06 2005-09-27 Harris Corporation Method and apparatus for loop detection and dissolution in a communication network
US7987246B2 (en) * 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US8463947B2 (en) 2002-08-28 2013-06-11 Tellabs Operations, Inc. Method of finding rings for optimal routing of digital information
US7346709B2 (en) * 2002-08-28 2008-03-18 Tellabs Operations, Inc. Methods for assigning rings in a network
US7340650B2 (en) 2002-10-30 2008-03-04 Jp Morgan Chase & Co. Method to measure stored procedure execution statistics
US20040103199A1 (en) * 2002-11-22 2004-05-27 Anthony Chao Method and system for client browser update from a lite cache
US7149752B2 (en) * 2002-12-03 2006-12-12 Jp Morgan Chase Bank Method for simplifying databinding in application programs
US7085759B2 (en) 2002-12-06 2006-08-01 Jpmorgan Chase Bank System and method for communicating data to a process
US7292585B1 (en) * 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
US8032439B2 (en) 2003-01-07 2011-10-04 Jpmorgan Chase Bank, N.A. System and method for process scheduling
US7401156B2 (en) 2003-02-03 2008-07-15 Jp Morgan Chase Bank Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment
US20040257993A1 (en) * 2003-03-26 2004-12-23 Olav Lysne Method and device for network reconfiguration
US7379998B2 (en) * 2003-03-31 2008-05-27 Jp Morgan Chase Bank System and method for multi-platform queue queries
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US7366722B2 (en) * 2003-05-15 2008-04-29 Jp Morgan Chase Bank System and method for specifying application services and distributing them across multiple processors using XML
US8095659B2 (en) 2003-05-16 2012-01-10 Jp Morgan Chase Bank Service interface
WO2005015361A2 (en) 2003-08-08 2005-02-17 Jp Morgan Chase Bank System for archive integrity management and related methods
US7516139B2 (en) 2003-09-19 2009-04-07 Jp Morgan Chase Bank Processing of tree data structures
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
US20050144174A1 (en) * 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
AU2005234798B2 (en) * 2004-04-26 2009-01-08 Jp Morgan Chase Bank System and method for routing messages
US7614037B2 (en) * 2004-05-21 2009-11-03 Microsoft Corporation Method and system for graph analysis and synchronization
US20060031444A1 (en) * 2004-05-28 2006-02-09 Drew Julie W Method for assigning network resources to applications for optimizing performance goals
US7392471B1 (en) 2004-07-28 2008-06-24 Jp Morgan Chase Bank System and method for comparing extensible markup language (XML) documents
US7764629B2 (en) * 2004-08-11 2010-07-27 Cray Inc. Identifying connected components of a graph in parallel
US7366974B2 (en) * 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US20060059210A1 (en) * 2004-09-16 2006-03-16 Macdonald Glynne Generic database structure and related systems and methods for storing data independent of data type
US20090132466A1 (en) * 2004-10-13 2009-05-21 Jp Morgan Chase Bank System and method for archiving data
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US7499933B1 (en) 2005-11-12 2009-03-03 Jpmorgan Chase Bank, N.A. System and method for managing enterprise application configuration
US7610172B2 (en) * 2006-06-16 2009-10-27 Jpmorgan Chase Bank, N.A. Method and system for monitoring non-occurring events
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8407340B2 (en) * 2010-04-09 2013-03-26 Microsoft Corporation Page load performance analysis
US8893210B2 (en) * 2010-08-20 2014-11-18 Sony Corporation Server load balancing for interactive television
US8918801B2 (en) 2010-08-30 2014-12-23 Sony Corporation Transmission apparatus, transmission method, reception apparatus, reception method, program, and broadcasting system
WO2012047201A1 (en) * 2010-10-05 2012-04-12 Hewlett-Packard Development Company, L.P. Acyclic graph navigator
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
US9277422B2 (en) * 2011-02-15 2016-03-01 Tata Consultancy Services Limited Dynamic self configuration engine for cognitive networks and networked devices
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US9118539B2 (en) * 2012-07-30 2015-08-25 Cisco Technology, Inc. Managing grey zones of unreachable nodes in computer networks
US9300569B2 (en) * 2012-07-31 2016-03-29 Cisco Technology, Inc. Compressing data packet routing information using bloom filters
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
CN111125849A (zh) * 2019-11-30 2020-05-08 浙江华云信息科技有限公司 一种类树结构图模型断环处理方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US5355371A (en) * 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
US4698752A (en) * 1982-11-15 1987-10-06 American Telephone And Telegraph Company At&T Bell Laboratories Data base locking
IT1159351B (it) * 1983-02-03 1987-02-25 Cselt Centro Studi Lab Telecom Circuito di arbitraggio a struttura distribuita per le richieste di accesso al bus di un sistema multiprocessore
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US4782444A (en) * 1985-12-17 1988-11-01 International Business Machine Corporation Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
US4845744A (en) * 1986-10-16 1989-07-04 American Telephone And Telegraph Company, At&T Bell Laboratories Method of overlaying virtual tree networks onto a message passing parallel processing network
US4740954A (en) * 1986-12-31 1988-04-26 Bell Communications Research, Inc. Multicast routing algorithm
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
DE3838945A1 (de) * 1987-11-18 1989-06-08 Hitachi Ltd Netzwerksystem mit lokalen netzwerken und mit einer hierarchischen wegewahl
US4811337A (en) * 1988-01-15 1989-03-07 Vitalink Communications Corporation Distributed load sharing
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US5079767A (en) * 1988-09-27 1992-01-07 Digital Equipment Corporation Method of multicast message distribution
US5138615A (en) * 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US5150360A (en) * 1990-03-07 1992-09-22 Digital Equipment Corporation Utilization of redundant links in bridged networks
US5280619A (en) * 1990-05-17 1994-01-18 Texas Instruments Incorporated System for accessing shared data using a serialization graph constructed from a history file showing completed locking dependencies between transactions
US5309437A (en) * 1990-06-29 1994-05-03 Digital Equipment Corporation Bridge-like internet protocol router
WO1992006436A2 (en) * 1990-10-03 1992-04-16 Thinking Machines Corporation Parallel computer system
GB9112898D0 (en) * 1991-06-14 1991-07-31 Digital Equipment Int Communication networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633577B1 (en) 1997-03-26 2003-10-14 Nec Corporation Handshaking circuit for resolving contention on a transmission medium regardless of its length
KR101974069B1 (ko) * 2018-04-30 2019-04-30 한국과학기술원 바이너리 구조 도식화 장치 및 방법

Also Published As

Publication number Publication date
DE69331705D1 (de) 2002-04-18
DE69331705T2 (de) 2002-12-19
US5784557A (en) 1998-07-21
EP0674790A1 (en) 1995-10-04
WO1994015304A1 (en) 1994-07-07
AU5954194A (en) 1994-07-19
EP1146431A3 (en) 2001-12-19
EP0674790B1 (en) 2002-03-13
HK1041330A1 (zh) 2002-07-05
EP1146431A2 (en) 2001-10-17

Similar Documents

Publication Publication Date Title
JPH08507623A (ja) ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置
JP3663385B2 (ja) 非サイクル有向グラフで接続された構成要素間の通信方法
JP3243613B2 (ja) 非サイクル有向グラフに関わる固有アドレス割当て、ノード自己識別及びトポロジーマッピングの方法及び装置
WO1994015305A1 (en) Method and apparatus for transforming an arbitrary acyclic topology collection of nodes into an acyclic directed graph