JP3995249B2 - 通信リング上の複数のトークンの同時管理の方法およびシステム - Google Patents

通信リング上の複数のトークンの同時管理の方法およびシステム Download PDF

Info

Publication number
JP3995249B2
JP3995249B2 JP2003563158A JP2003563158A JP3995249B2 JP 3995249 B2 JP3995249 B2 JP 3995249B2 JP 2003563158 A JP2003563158 A JP 2003563158A JP 2003563158 A JP2003563158 A JP 2003563158A JP 3995249 B2 JP3995249 B2 JP 3995249B2
Authority
JP
Japan
Prior art keywords
bus
data
agent
slave
master
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
JP2003563158A
Other languages
English (en)
Other versions
JP2005516477A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005516477A publication Critical patent/JP2005516477A/ja
Application granted granted Critical
Publication of JP3995249B2 publication Critical patent/JP3995249B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、全般的にコンピュータ・ネットワークの分野に関する。
コンピュータ・ネットワークを用いると、接続された装置が互いに通信できるようになる。ネットワークには、周辺装置へのコンピュータの近接に基づいて定義される、3つの基本タイプがある。最小のネットワークが、PAN(パーソナル・エリア・ネットワーク)である。PANの例が、コンピュータ、プリンタ、スキャナなどを接続する、USB(Universal Serial Bus)方法を使用するホーム・コンピュータである。このPANは、近接している限り互いに通信するのに使用される。
通信は、シリアル・バスに基づき、複数の制限を有し、この制限の1つが、同時通信が不能であることである。したがって、改善された同時ネットワークを可能にする通信の必要がある。
通常のビジネス環境で、多数のオフィスが、一緒に接続され、その結果、コンピュータ、プリンタ、および関連する機器が、一緒に通信できるようになっている。この構成を、LAN(ローカル・エリア・ネットワーク)と称する。LANには、2つの広く展開されているタイプがある。LANの1つのタイプが、イーサネット(R)・ネット(IEEE 802.3)であり、もう1つのタイプのLANが、トークン・リング(IEEE 802.5)ネットワークである。イーサネット(R)・ネットワークは、より幅広く展開されているが、これは、通常は展開がより安価になるからである。しかし、複数の通信装置が同時に通信について競合する場合に、ボトルネックが発生し、この間は、1つの装置を除くすべての装置が、ある装置が通信を完了するまで「後戻りする」か、通信を避けなければならない。その後、もう1つの装置が、通信を開始し、すべての装置が完了するまでこれが繰り返される。これが、「同時」通信に関する問題である。イーサネット(R)・ネットワーク・トポロジでは、制御されたローディングの欠如に起因して、ネットワークの集約された帯域幅が、増分帯域幅に達することができない。
イーサネット(R)・ネットワーク・トポロジと異なって、トークン・リングでは、制御されたローディングが可能である。名前が示すように、トークン・リング・ネットワークは、より高い共用帯域幅のためにトークン・パッシングに基づき、トークンの制御に基づいて衝突が防がれる。
イーサネット(R)・ネットワークおよびトークン・リングのこれらのLAN標準規格は、両方とも有用ではあるが、短所がないわけではない。短所の1つは、イーサネット(R)・ネットワークおよびトークン・リング・ネットワークの両方が、同時通信を可能にしないことである。したがって、同時通信を提供し、通信帯域幅を改善する必要がある。
上で述べたように、ネットワーク展開のコストは、しばしば、ネットワーク・トポロジの選定における主要な要因である。かなりの追加コストを必要とする、同時通信に関する従来技術の他の解決策は、選定のコストが高いので望ましくない。したがって、適度なコストで同時通信を提供する方法および装置の必要がある。
WAN(広域ネットワーク)では、名前が示すように、コンピュータおよびコンピュータ機器が遠く離されている。これらのコンピュータを接続する複数の方法がある。インターネットは、断然普及している。WANを使用している間の他のコンピュータとのネットワーク競合は、さまざまな接続速度およびフィード・レートの同時接続を有することによって制御される。言い換えると、コンピュータは、通常、WANを使用して他のコンピュータと同時に通信するが、通信は、通信するユニットの間の長い距離に起因して、長時間を要する。したがって、LANの一部である間に同時通信を可能にする方法および装置の必要がある。
すなわち、本発明によれば、マスタ/スレーブ・エージェント・ネットワーク・トポロジのバスを介する同時通信の方法、装置、およびコンピュータ可読媒体が開示される。ネットワーク上の各通信エージェントは、入力および出力を有する、マスタ・エージェントまたはスレーブ・エージェントのいずれかである。1実施形態で、入力および出力がラッチされる。この方法では、任意の所与の時にリング上の複数のトークンが可能になる。マスタ・エージェントは、要求を開始することができ、スレーブ・エージェントは、要求を開始することができない。マスタ・エージェントは、リングからトークンを受け取り、保留中の要求を有する時に、リングからトークンを除去し、要求を発行する。トークンは、マスタ・エージェントが、指定されたスレーブ・エージェントから要求への応答を受け取るまで、リングに戻されない。すなわち、トークン時間スロットが、単純な要求または応答の送信ではなく、完全なラウンド・トリップ・トランザクションについて使用される。スレーブ・エージェントは、要求を受け取る時に、応答を生成し、トークンを待たずにできる限り早くその応答をリングに置く。本発明では、本明細書に記載の技術を使用して、同一のバスに結合された複数のマスタ・エージェントをサポートする。
第1の態様によれば、少なくとも1つのマスタ・エージェントを少なくとも1つのスレーブ・エージェントに結合するバスを介する同時通信の方法であって、前記バスへの入力および出力を有するマスタ・エージェント上の前記方法は、前記マスタからのデータまたは前記バスからのデータがあるかどうかを判定し、前記マスタからのデータがある場合に、前記バスからの前記データがトークンであるかどうかをテストするサブステップと、前記バスからの前記データがトークンである場合に、前記データを前記マスタから前記バスに移動し、前記バスからの前記トークンを破棄するサブステップと、前記バスからの前記データがトークンでない場合に、前記バスの前記入力からのデータを前記バスの前記出力に移動するサブステップとを実行し、前記データが前記バスからである場合に、前記バスの前記入力からのデータを前記バスの前記出力に移動するステップを含む方法が提供される。
前記出力にデータがない場合、または前進線がアサートされる場合、かつ前記出力にデータがないか前進線がアサートされる場合に、前記バスからのデータがあるかどうか、または前記マスタからのデータがあるかどうかを判定するステップを実行することが好ましい。好ましい実施形態では、この方法が、さらに、前記マスタ・エージェントが、アクセス・マクロに結合されるかどうかを判定するステップであって、前記マスタ・エージェントが、アクセス・マクロに結合される場合に、前記バスが初期化される時に、前記バスにトークンを置くステップを実行し、前記バス上のトークンの最大個数が、マスタ・エージェントの総数とスレーブ・エージェントの総数の合計から1を引いた数と等しくなるようにセットされる、ステップを含む。この方法は、さらに、適切に、リセット・コマンドを受け取るステップと、リセットされた後に、前記マスタ・エージェントがアクセス・マクロに結合されるかどうかを判定し、前記マスタ・エージェントがアクセス・マクロに結合される場合に、n−1個のトークンを前記バスに置くステップであって、nが、前記バスで通信するマスタ・エージェントおよびスレーブ・エージェントの総数である、ステップとを含む。
第2の態様によれば、コンピュータ・プログラムであって、前記プログラムがコンピュータで実行される時に、上記の方法のステップのすべてを実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラムが提供される。
第3の態様によれば、少なくとも1つのマスタ・エージェントを少なくとも1つのスレーブ・エージェントに結合するバスを介する同時通信の方法であって、前記バスへの入力および出力を有するスレーブ・エージェント上の前記方法は、前記バスからのデータまたは前記スレーブからのデータがあるかどうかを判定し、前記バスからであって前記スレーブからでないデータがある場合に、前記データを前記バスから前記出力に移動し、前記スレーブからであって前記バスからでないデータがある場合に、前記データを前記スレーブから前記出力に移動するステップと、前記バスからおよび前記スレーブからの両方のデータがあるかどうかを判定し、前記バスからおよび前記スレーブからの両方のデータがある場合に、前記バスが優先権を有する場合に、前記データを前記バスから前記出力に移動し、前記スレーブに前記優先権をセットするサブステップと、前記バスが優先権を有しない場合に、前記データを前記スレーブから前記出力に移動し、前記バスに前記優先権をセットするサブステップとを実行するステップとを含む方法が提供される。適切に、この方法は、さらに、出力にデータないかどうか、または前進線がアサートされるかどうかを判定し、出力にデータがないか前進線がアサートされる場合に、前記バスからのデータがあるかどうか、または前記スレーブからのデータがあるかどうかを判定するステップを実行するステップを含む。
第4の態様によれば、コンピュータ・プログラムであって、前記プログラムがコンピュータで実行される時に、上記の方法のステップのすべてを実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラムが提供される。
第5の態様によれば、本発明は、複数のエージェントの間の同時通信のデータ通信ネットワークであって、通信バスに結合された、スレーブ・エージェントとして指定された少なくとも1つのエージェントと、前記通信バスに結合された、マスタ・エージェントとして指定された少なくとも1つのエージェントと、前記バスからの入力および前記バスへの出力を有する前記マスタ・エージェントへのインターフェースとを含み、前記インターフェースは、データがあるかどうかをテストし、前記マスタからのデータがある場合に、前記バスからのデータがトークンであるかどうかをテストする複数のラッチであって、前記バスからの前記データがトークンである場合に、前記データを前記マスタから前記バスに移動し、前記トークンを破棄し、前記データが前記バスからのトークンでない場合に、前記データを前記バスの前記入力から前記バスの前記出力に移動し、前記データが前記マスタからでなく、前記データが前記バスからである場合に、前記データを前記バスの前記入力から前記バスの前記出力に移動する複数のラッチを含む、データ通信ネットワークを提供する。
第6の態様によれば、本発明は、複数のエージェントの間の同時通信のデータ通信ネットワークであって、通信バスに結合された、スレーブ・エージェントとして指定された少なくとも1つのエージェントと、前記通信バスに結合された、マスタ・エージェントとして指定された少なくとも1つのエージェントと、前記バスへの入力および前記バスへの出力を有する、各スレーブ・エージェント上のインターフェースとを含み、前記インターフェースは、前記バスからまたは前記スレーブ・エージェントからのデータがあるかどうかをテストする複数のラッチであって、前記スレーブからではなく前記バスからのデータがある場合に、前記データを前記バスから前記出力に移動し、前記バスからではなく前記スレーブからのデータがある場合に、前記データを前記スレーブから前記出力に移動する複数のラッチを含み、前記複数のラッチは、前記バスからのデータおよび前記スレーブからのデータの両方があるかどうかをテストし、前記バスからおよび前記スレーブからの両方のデータがある場合に、前記バスが優先権を有するかどうかをテストし、前記バスが優先権を有する場合に、前記データを前記バスから前記出力に移動し、前記スレーブに前記優先権をセットし、前記バスが優先権を有しない場合に、前記データを前記スレーブから前記出力に移動し、前記バスに前記優先権をセットするデータ通信ネットワークを提供する。
データに、さらに、制御、データ、およびパリティ・データが含まれることが好ましい。通信エージェントの少なくとも1つが、第1ブランドのコンピュータに接続され、通信エージェントの少なくとも1つが、第2ブランドのコンピュータに接続されて、異機種環境が形成されることが、より好ましい。バスが、有線、無線、および赤外線からなるバスの群から選択されることが、さらに好ましい。
好ましい実施形態では、各スレーブ・エージェントのインターフェースに、データがそのスレーブ・エージェントに関するものであるかどうかをテストし、データがスレーブ・エージェントに関する場合にそのデータをスレーブに転送する複数のラッチが含まれる。マスタ・エージェントへのインターフェースに、さらに、データがそのマスタ・エージェントに関するものであるかどうかをテストし、データがマスタ・エージェントに関する場合にそのデータをマスタに渡す複数のラッチが含まれることが好ましい。
第7の態様によれば、複数のエージェントの間の同時通信のデータ通信ネットワークであって、上に記載の通信バスに結合された、マスタ・エージェントとして指定される少なくとも1つのエージェントと、上に記載の通信バスに結合された、スレーブ・エージェントとして指定される少なくとも1つのエージェントとを含むデータ通信ネットワークが提供される。
第8の態様によれば、少なくとも1つのマスタ・エージェントを少なくとも1つのスレーブ・エージェントに結合するバス上の同時通信のプログラミング命令を含むコンピュータ可読媒体であって、マスタ・エージェントの方法がバスへの入力および出力を有し、前記プログラミング命令が、リセット・コマンドを受け取ることと、リセットされた後に、前記マスタ・エージェントがアクセス・マクロに結合されるかどうかを判定し、前記マスタ・エージェントが前記アクセス・マクロに結合される場合にn−1個のトークンを前記バスに置くことであって、nが、前記バス上のマスタ・エージェント・エージェントおよびスレーブ・エージェント通信の総数である、置くことを含む、コンピュータ可読媒体が提供される。
第9の態様によれば、少なくとも1つのマスタ・エージェントを少なくとも1つのスレーブ・エージェントに結合するバス上の同時通信のプログラミング命令を含むコンピュータ可読媒体であって、マスタ・エージェントの方法が、前記バスへの入力および出力を有し、前記プログラミング命令が、前記マスタからのデータがあるかどうかを判定し、前記マスタからのデータがある場合に、前記入力からのデータがトークンであるかどうかをテストするプログラミング命令と、前記バスからのデータがトークンである場合に、前記データを前記マスタから前記バスに移動し、前記トークンを破棄するプログラミング命令と、前記バスからのデータがトークンでない場合に、前記データを前記バスの前記入力から前記バスの前記出力に移動するプログラミング命令であって、前記データが、前記マスタからではなく、前記データが、前記バスからである場合に前記データを前記バスの前記入力から前記バスの前記出力に移動するプログラミング命令とを実行することを含む、コンピュータ可読媒体が提供される。
本発明を、例としてのみ、添付図面に示された好ましい実施形態に関して説明する。
この開示で使用される用語の用語集
エージェント 要求側(マスタ)または応答側(スレーブ)を通信構造に接続するデータ通信論理の組。
バス 2つのノードの間でデータおよび制御を送るのに使用されるワイヤまたはワイヤのグループ。用語バスは、閉ループ・バス・トポロジについて、本発明では用語リングと交換可能に使用される。
異機種ネットワーク 異なる製品によって共通して使用され、したがってそれらが互いに通信できるようにする、標準規格に適合するハードウェア・インターフェースおよびソフトウェア・インターフェースに基づくネットワーク。インターネット自体が、異機種ネットワークの例である。
LAN ローカル・エリア・ネットワーク(LAN)は、共通の通信信号線を共用し、通常は小さい地理的区域(たとえば、オフィス・ビルディング内)の単一のプロセッサまたはサーバのリソースを共用する、コンピュータおよび関連装置のグループである。通常、サーバは、複数のコンピュータ・ユーザによって共通して共用されるアプリケーションおよびデータのストレージを有する。ローカル・エリア・ネットワークは、2、3人程度のユーザ(たとえば、ホーム・ネットワークで)または数千人のユーザ(たとえば、FDDIネットワークで)にサービスすることができる。
マスタ/スレーブ マスタ:要求を生成し、応答を消費する、通信する実体。マスタは、マスタ・エージェントを介して通信ファブリックに接続される。スレーブ:要求を消費し、応答を生成する、通信する実体。スレーブは、スレーブ・エージェントを介して通信ファブリックに接続される。
リング 論理リングを形成する、閉ループ・トポロジ。トークン・リング・トポロジによって、論理リングが形成されるが、そのケーブル・レイアウトは、中央ハブを有するスター・トポロジである。スター・トポロジの方が計画およびインストールが簡単なので、真のリング・トポロジは、まれである。
ラウンド・トリップ マスタ・エージェントからリングまたはバスを介する、要求と応答の両方を含む完全な送信および受信のトランザクション。スレーブ・エージェントは、要求を開始することができない。
同時 マスタ・エージェントまたはスレーブ・エージェントのいずれかである複数のエージェントが、クロック信号と独立に同時に通信する、バス上の通信。アイソクロナスおよび同期式と対照をなす。通信は、バスに結合された複数のエージェントの間で行われ、その結果、要求および応答が、バスの1ラウンド・トリップまたは1サイクルで達成される。
トークン・リング・ネットワーク トークン・リング・ネットワークは、すべてのコンピュータがリングまたはスター・トポロジで接続され、同時にメッセージを送ろうとする2台のコンピュータの間のデータの衝突を防ぐために2進数またはトークン・パッシング方式が使用される、ローカル・エリア・ネットワーク(LAN)である。トークン・リング・プロトコルは、ローカル・エリア・ネットワークでイーサネット(R)に次いで広く使用されているプロトコルである。IBMトークン・リング・プロトコルは、IEEE 802.5として指定される標準版につながった。両方のプロトコルが、使用され、非常に似ている。IEEE 802.5トークン・リング技術によって、4メガビット毎秒または16メガビット毎秒のいずれかのデータ転送レートが提供される。この技術の簡単な説明を下に示す。
1.空の情報フレームが、継続的にリングを循環する。
2.コンピュータは、送信すべきメッセージを有する時に、空のフレームにトークンを挿入し(これは、フレームのトークン・ビット部分の0を1に単純に変更することからなるものとすることができる)、そのフレームにメッセージおよび宛先識別子を挿入する。
3.その後、フレームが、各連続するワークステーションによって検査される。ワークステーションは、それがメッセージの宛先であることを知った場合に、フレームからメッセージをコピーし、トークンを0に戻す。
4.フレームが、発信元に達した時に、発信元は、トークンが0に変更され、メッセージがコピーされ、受信されたことを知る。発信元は、フレームからメッセージを除去する。
5.フレームは、「空の」フレームとして循環し続け、送信すべきメッセージを有するワークステーションによって取り上げられる準備ができている。
WAN (広域ネットワーク)は、地理的に分散した遠隔通信ネットワークであり、この用語によって、より広い遠隔通信構造が、ローカル・エリア・ネットワーク(LAN)から区別される。広域ネットワークは、私有または賃貸とすることができるが、この用語は、通常は、公衆(共用ユーザ)ネットワークの包含を意味する。
リング・トポロジとパケットの定義
図1(a)は、本発明による、2つのマスタ・エージェント102および106(M1およびM2)および2つのスレーブ・エージェント104および108(S1およびS2)を示す、通常のトークン・リング・ネットワーク100のブロック図である。各エージェント102、104、106、および108は、シリアルまたはパラレルのバスまたはリング110によって接続される。マスタ・エージェント102は、パラレル・リング110からポート112に接続され、リング110にポート114で接続される。
図1(b)は、本発明による、データ・ビット122および制御ビット124がどのように定義されるかの例を示す、パケット120のブロック図である。この実施形態では、データ・パケット120が、64ビット幅または8バイトとして図示されている。各バイトに関連するのが、パリティ・ビットである。これによって、データ・ビット全体の幅が72ビットになる。データ・ビット122および制御ビット124の総数ビットおよび割振りが、変更可能であり、本発明の教示に対して制限的でないことに留意することが重要である。
プロトコルの概要
マスタ/スレーブ・エージェント通信デバイスを有する通常のトークン・リング・ネットワークでは、マスタ・エージェントは、普通のトークン・リング・プロトコルと同様に、トークンを有する時だけ新しい要求を発行することができる。しかし、普通のトークン・プロトコルからの複数の新展開がある。
・ラウンド・トリップは、要求と応答の両方を含む、マスタ・エージェントからのリングまたはバスを介するラウンド・トリップである。スレーブ・エージェントは、要求を開始することができない。
・マスタ・エージェントが、リングからトークンを受け取り、保留中の要求を有する時に、マスタ・エージェントは、リングからトークンを除去し、要求を発行する。トークンは、指定されたスレーブ・エージェントからの要求に対する応答が受け取られるまで、リングに戻されない。すなわち、トークン時間スロットが、要求または応答の単純な送出ではなく、完全なラウンド・トリップ・トランザクションに使用される。これによって、スレーブ応答のスロットを事前に割り振ることによるデッドロックが回避される。
・スレーブ・エージェントは、要求を受け取る時に、応答を生成し、トークンを待たずにできる限り早くリングに置く。トークンは、マスタ・エージェントによって、完全なラウンド・トリップを開始するのに使用される。マスタ・エージェントによって使用されるトークンによって、要求と応答の両方のスペースが予約される。
・複数のトークンが、同時にリングを循環することができる。
エージェント・インターフェース
図2に移ると、バス110と、マスタ・エージェント(102および106)またはスレーブ・エージェント(104および108)とすることができるエージェント(102、104、106、および108)との間のインターフェース200の実施形態を示す論理ブロック図が示されている。L2ラッチ202が、ポート112で前のエージェント(図示せず)に接続される。L2ラッチ202は、信号線210を介してパケット120から制御情報およびデータ情報を受け取る。制御ビット124が、L2にラッチされたならば、CTS(送信可)212信号が、上流の前のエージェント(図示せず)に送り返される。L2の受信された制御ビット124に基づいて、関連するデータがこのエージェントに関するものであるかどうかを判断する。そうである場合には、制御ビット124が、このエージェントによる処理のために信号線228を介してL3ラッチ208に渡される。これによって、このエージェントの制御ビットおよびデータ・ビットの受取を説明した。
エージェントが、リングに置かれなければならない情報218を有する場合に、その情報が、接続230を使用してL4ラッチ206によってL1ラッチ204に提示される。この情報は、ポート114でバス110に提示される。これが、送信/受信ラウンド・トリップの完了である場合には、マスタ・エージェント(102および106)が、そのトークンを、同一のパス230を使用してバス110に提示する(図示せず)。これによって、バス110上でポート114でのエージェントからの制御およびデータの送信を説明した。
L2ラッチ202で受信されたデータが、このエージェントに関するものでない場合には、このデータは、接続226を使用してL1ラッチ204に提示される。L1ラッチ204によって、このエージェントに関して識別されない情報が渡される。これは、下流エージェントのL2(図示せず)によってL1ラッチ204にCTS信号216が提示された後に、この情報をバス110でパス214を介してポート114に提示することによって達成される。
送信側のマスタ・エージェントが、別のエージェントによって処理されずにバス110から要求を受信する場合には、送信側のマスタ・エージェントは、再試行するか、タイムアウトを行い、その後に試行することができる。
リングでのデータ・フロー
図3から9に移ると、本発明による、図1のリング・ネットワーク・トポロジ100の例示的な時間期間T0からT6の同時通信を示す一連の論理図が示されている。
図3から9の、左から右の順番の各英数字のラベル付け規約は、#がプレース・ホルダであるものとして、次の通りである。
1.最初の数字、たとえば3####および8####は、図面の番号である
2.次の英数字、たとえば#M1##および#S2##は、エージェントのタイプとその番号であり、Mはマスタ・エージェント、Sはスレーブ・エージェントである
3.次のラベル、たとえば###L2および###L3は、ラッチのLとラッチの番号である。
ケーブルの表記は、下記のような6つのプレース・ホルダすなわち###−##を有する。最初の数は、図面番号である。次の番号は、接続されたエージェントのラベルであり、「M」はマスタ・エージェント、「S」はスレーブ・エージェント###−##であり、「−」は、「から」を表し、たとえば、4M2−S2は、図4のマスタ・エージェント2(M2)からスレーブ・エージェント2(S2)へのケーブルである。
時刻T−0
図3を参照すると、4つのリング・エージェントおよび4つの相互接続ケーブルが示されている。T−0と定義されるこの時刻に、リング・エージェントは、電源投入またはリセットの直後である。リセットによって、トークンに関してn−1個のエージェントが初期化される。nは、リング・エージェントの総数である。この例では、4つのリング・エージェント(102、104、106、および108)があり、したがって、トークンの総数は3になる。
マスタ・エージェント1のL1 3M1L1、L3 3M1L3、およびL4 3M1L4は、空白である。L2 3M1L2は、T1というラベルが付けられたトークンを有する。
スレーブ・エージェント1のL1 3S1L1、L3 3S1L3、およびL4 3S1L4は、空白である。 L2 3S1L2は、T2というラベルが付けられたトークンを有する。
マスタ・エージェント2のL1 3M2L1、L3 3M2L3、およびL4 3M2L4は、空白である。L2 3M2L2は、T3というラベルが付けられたトークンを有する。
スレーブ・エージェント2のL1 3S2L1、L3 3S2L3、およびL4 3S2L4は、空白である。L2 3S2L2も空白である。バス110では、リング・エージェントより1つ少ないトークンが循環していなければならない。
時刻T−1
図4に移ると、4つのリング・エージェントおよび4つの相互接続ケーブルが示されている。T−1と定義されるこの時刻に、マスタ・エージェントは、下で説明するように、与えられたトークンを引き込み、要求をバス110に置くことによって、個々の制御に同時に反応している。
マスタ・エージェント1は、T1トークンを引き込み、要求READ S2をバス110に置く。したがって、
・L1 4M1L1のレジスタは、要求M1: Read S2を有する。
・L2 4M1L2のレジスタは、空白を有する。
・L3 4M1L3のレジスタは、空白を有する。
・L4 4M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、T2トークンを受け取るが、要求を開始することができず、したがって、
・L1 4S1L1のレジスタは、T2トークンを有する。
・L2 4S1L2のレジスタは、空白を有する。
・L3 4S1L3のレジスタは、空白を有する。
・L4 4S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、T3トークンを引き込み、要求WRITE S1をバス110に置く。したがって、
・L1 4M2L1のレジスタは、コマンドM2: WRITE S1を有する。
・L2 4M2L2のレジスタは、空白を有する。
・L3 4M2L3のレジスタは、空白を有する。
・L4 4M2L4のレジスタは、空白を有する。
スレーブ・エージェント2は、トークンを受け取っておらず、したがって、
・L1 4M2L1のレジスタは、空白を有する。
・L2 4M2L2のレジスタは、空白を有する。
・L3 4M2L3のレジスタは、空白を有する。
・L4 4M2L4のレジスタは、空白を有する。
これによって、T−1の説明が完了する。
時刻T−2
図5を参照すると、4つのバス110エージェントおよび4つの相互接続ケーブルが示されている。T−2と定義されるこの時刻に、バス110エージェントは、次のバス110エージェントへの個々の内容の送信を完了したばかりである。
マスタ・エージェント1は、スレーブ・エージェント2から空白の情報を受け取っている。したがって、
・L1 5M1L1のレジスタは、空白を有する。
・L2 5M1L2のレジスタは、空白を有する。
・L3 5M1L3のレジスタは、空白を有する。
・L4 5M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、マスタ・エージェント1エージェントから情報を受け取っており、次の通信サイクルの準備ができている。このコマンドは、このスレーブ・エージェントに関するものではない。したがって、
・L1 5S1L1のレジスタは、コマンドM1: read S2を有する。
・L2 5S1L2のレジスタは、空白を有する。
・L3 5S1L3のレジスタは、空白を有する。
・L4 5S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、スレーブ・エージェント1エージェントから情報を受け取っている。この情報は、T2トークンである。したがって、
・L1 5M2L1は、T2トークンを有する。
・L2 5M2L2のレジスタは、空白を有する。
・L3 5M2L3のレジスタは、空白を有する。
・L4 5M2L4のレジスタは、空白を有する。
スレーブ・エージェント2は、マスタ・エージェント2エージェントから情報を受け取ったばかりである。したがって、
・L1 5S2L1のレジスタは、M2: Write S1を有する。
・L2 5S2L2のレジスタは、空白を有する。
・L3 5S2L3のレジスタは、空白を有する。
・L4 5S2L4のレジスタは、空白を有する。
時刻T−3
図6を参照すると、4つのバス110エージェントおよび4つの相互接続ケーブルが示されている。T−3と定義されるこの時刻に、バス110エージェントは、次のバス110エージェントへの個々の内容のもう1つの送信を完了したばかりである。
マスタ・エージェント1は、マスタ・エージェント2の、S1に書き込むコマンドを受け取っている。このコマンドは、このマスタ・エージェントに関するものではない。したがって、
・L1 6M1L1のレジスタは、コマンドM2: write S1を有する。
・L2 6M1L2のレジスタは、空白を有する。
・L3 6M1L3のレジスタは、空白を有する。
・L4 6M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、空白の情報を受け取っている。したがって、
・L1 6S1L1のレジスタは、空白を有する。
・L2 6S1L2のレジスタは、空白を有する。
・L3 6S1L3のレジスタは、空白を有する。
・L4 6S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、M1: read S2コマンドを受け取っている。このコマンドは、このマスタ・エージェントに関するものではない。したがって、
・L1 6M2L1のレジスタは、M1: read S2コマンドを有する。
・L2 6M2L2のレジスタは、空白を有する。
・L3 6M2L3のレジスタは、空白を有する。
・L4 6M2L4のレジスタは、空白を有する。
スレーブ・エージェント2は、T2トークンを受け取っている。したがって、
・L1 6S2L1のレジスタは、T2トークンを有する。
・L2 6S2L2のレジスタは、空白を有する。
・L3 6S2L3のレジスタは、空白を有する。
・L4 6S2L4のレジスタは、空白を有する。
これによって、T−3の説明が完了する。
時刻T−4
図7を参照すると、4つのバス110エージェントおよび4つの相互接続ケーブルが示されている。T−4と定義されるこの時刻に、バス110エージェントは、次のバス110エージェントへの個々の内容のもう1つの送信を完了したばかりである。
マスタ・エージェント1は、T2を受け取っている。したがって、
・L1 M1L1のレジスタは、T2トークンを有する。
・L2 M1L2のレジスタは、空白を有する。
・L3 M1L3のレジスタは、空白を有する。
・L4 M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、コマンドM2: Write S1を受け取っている。このコマンドは、このスレーブ・エージェントに関するものであり、マスタ2からのWriteコマンドが実行される。したがって、
・L1 S1L1のレジスタは、何も有しない。
・L2 S1L2のレジスタは、空白を有する。
・L3 S1L3のレジスタは、コマンドM2: Write S1を有する。このコマンドは、このスレーブ・エージェントに関するものであり、したがって、マスタ・エージェント2からのWriteコマンドが実行される。このコマンドの結果が、L4レジスタに置かれる。
・L4 S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、スレーブ・エージェント1バス110エージェントから空白を受け取っている。したがって、
・L1 M2L1のレジスタは、空白を有する。
・L2 M2L2のレジスタは、空白を有する。
・L3 M2L3のレジスタは、空白を有する。
・L4 M2L4のレジスタは、空白を有する。
スレーブ・エージェント2は、そのレジスタにコマンドM1: Read S2を有する。このコマンドは、このスレーブ・エージェントに関するものなので、マスタ・エージェント1からのReadコマンドが実行される。したがって、
・L1 S2L1のレジスタは、空白を有する。
・L2 S2L2のレジスタは、空白を有する。
・L3 S2L3のレジスタは、コマンドM1: Read S2を有する。このコマンドは、このスレーブ・エージェントに関するものなので、マスタ・エージェント1からのReadコマンドが実行される。このコマンドの結果は、L4レジスタに置かれる。
・L4 S2L4のレジスタは、空白を有する。
これによって、T−4の説明が完了する。
時刻T−5
図8を参照すると、4つのバス110エージェントおよび4つの相互接続ケーブルが示されている。T−5と定義されるこの時刻に、バス110エージェントは、次のバス110エージェントへの個々の内容のもう1つの送信を完了したばかりである。
マスタ・エージェント1は、スレーブ・エージェント1バス110から空白を受け取っている。したがって、
・L1 8M1L1のレジスタは、空白を有する。
・L2 8M1L2のレジスタは、空白を有する。
・L3 8M1L3のレジスタは、空白を有する。
・L4 8M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、T2トークンを受け取り、応答M2: Write Verify S1をバス110に置いている。したがって、
・L1 8S1L1のレジスタは、コマンドM2: Write Verify S1を有する。
・L2 8S1L2のレジスタは、トークンT2を有する。
・L3 8S1L3のレジスタは、空白を有する。応答M2: Write verify S1は、L1に置かれる。
・L4 8S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、スレーブ・エージェント1バス110から空白を受け取っている。したがって、
・L1 8M2L1のレジスタは、空白を有する。
・L2 8M2L2のレジスタは、空白を有する。
・L3 8M2L3のレジスタは、空白を有する。
・L4 8M2L4のレジスタは、空白を有する。
スレーブ・エージェント2は、トークンを受け取っていないが、応答M1: Data from S2をバス110に置いている。したがって、
・L1 8S2L1のレジスタは、応答M1: Data from S2を有する。
・L2 8S2L2のレジスタは、空白を有する。
・L3 8S2L3のレジスタは、空白を有する。
・L4 8S2L4のレジスタは、空白を有する。
これによって、T−5の説明が完了する。
時刻T−6
図9を参照すると、4つのバス110エージェントおよび4つの相互接続ケーブルが示されている。T−6と定義されるこの時刻に、バス110エージェントは、次のバス110エージェントへの個々の内容のもう1つの送信を完了したばかりである。
マスタ・エージェント1は、保留中のコマンドの結果を受け取っている。この時に、マスタ・エージェント1バス110エージェントによる要求が、完了している。マスタ・エージェント1は、T1トークンをバス110に置く。したがって、
・L1 9M1L1のレジスタは、空白を有する。
・L2 9M1L2のレジスタは、空白を有する。
・L3 9M1L3のレジスタは、応答M1: Data from S2を有する。
・L4 9M1L4のレジスタは、空白を有する。
スレーブ・エージェント1は、T2トークンを受け取っている。したがって、
・L1 9S1L1のレジスタは、空白を有する。
・L2 9S1L2のレジスタは、トークンT2を有する。
・L3 9S1L3のレジスタは、空白を有する。
・L4 9S1L4のレジスタは、空白を有する。
マスタ・エージェント2は、保留中のコマンドの結果を受け取っている。この時に、マスタ・エージェント2による要求が完了している。マスタ・エージェント2は、トークンをバス110に置く。したがって、
・L1 9M2L1のレジスタは、空白を有する。
・L2 9M2L2のレジスタは、応答M2: Write verify S1を有する。
・L3 9M2L3のレジスタは、空白を有する。
・L4 9M2L4のレジスタは、空白を有する。
スレーブ・レジスタ2は、トークンを受け取らなかった。したがって、
・L1 9S2L1のレジスタは、空白を有する。
・L2 9S2L2のレジスタは、空白を有する。
・L3 9S2L3のレジスタは、空白を有する。
・L4 9S2L4のレジスタは、空白を有する。
これによって、T−6の説明が完了し、本発明のトークン・リング同時情報転送の例の説明が完了する。
各エージェントのリング・ルールの要約
要約では、下記が、図2のインターフェース200に関するリング上の各構成要素のルールおよび挙動の説明である。
1.初期化時に、1つのマスタ・エージェントが、n−1個のトークンをリングに置く。ここで、nは、リング・エージェントの総数である。トークンは、単に短いメッセージであり、これによって、マスタ・エージェントが要求を開始することの許可が示される。このトークンのすべてを、同一とすることができる。もう1つの実施形態では、初期化時に、アクセス・マクロに結合されたエージェント以外のすべてのリング・エージェントが、リングにトークンを置く。
2.L2ラッチは、単一のバッファを有する。バッファが空の場合に、送信可であることの信号が、上流L1に提示される。
3.L4のどれかが、送信すべきデータを有する時に、そのL4は、Valid(有効)と、Request(要求)またはResponse(応答)のいずれか適当なものをL1に示す。L4は、L1からCTS(送信可)を受け取る時にこれを送ることができる。
4.L1ラッチは、下流エージェントからのCTS(送信可)信号を受け取る時に、下記の順序付け方式を介してデータを見つけることを試みる。
A)L4からのValidを探す
・L4がValidおよびResponseを示す場合に、L1は、L4へのCTSをセットし、そのデータを受け取る。
・L4がValidおよびRequestを示す場合に、L1は、下流エージェントからCTSを受け取り、L2がValidおよびTokenを示す場合に、L4へのCTSをセットすることだけができる。この場合に、L1は、L2およびL4の両方にCTSを発行する。L4のデータが、バス110で転送され、L2のデータ(トークン)は破棄される。
B)L2がValidを示す場合に、L2へのCTSをセットし、データを受け取る。
・L2のいずれかが、L3に応答を送る場合に、そのL2は、バス110上でトークンを転送する(ValidおよびTokenをL1に示す)。これは、必ず、トランザクションを完了し、トークンを使用可能にするマスタ・エージェントである。
・L3のいずれかが要求を受け取る時には、特別な機能を実行する必要がない。しかし、付加される論理によって、L4が要求を送信するまで、L3が別の要求を受け取らないことを保証する必要がある。これは、必ず、要求を受け取るスレーブ・エージェントである。このエージェントは、トランザクションを完了するために、暗黙の送信許可を有する。1実施形態では、L3は、L4が空になるまで上流L2へのCTSをアサートしない。
マスタ・エージェントの流れ図
図10に、前に説明したバスまたはリング110での、マスタ・エージェントのL1ラッチの展望からの流れ図1000を示す。ページの最上部に、要約ノード1002があり、このノードから処理が開始される。
要約ノード1002の下に、判断ブロックであるステップ1004がある。L1にデータがなく、次のバス110エージェントが前進線(advance line)(A)を送らない場合に、要約ノード1002に戻ることによってリング110がインデクシングされる。L1にデータがないか、次のバス・エージェントが前進線を送る場合には、この処理は、下のステップ1006で継続される。
ステップ1006で、バス110またはこのマスタ・ユニット(102および106)からの有効なデータがあるかどうか関する判定を行う。バス110またはマスタからでは「ない」場合に、要約ノード1002に戻ることによってリング110をインデクシングする。リング110またはこのマスタからの有効なデータがある場合には、この処理は、ステップ1008で継続される。
ステップ1008で、データが、バス110からであってマスタからで「ない」かどうかに関する判定を行う。ステップ1008で、データ120が、バス110からであってマスタからで「ない」場合に、この処理は、ステップ1009で継続される。データ120が、バス110からでは「なく」マスタからである場合には、この処理はステップ1010で継続される。
ステップ1009で、バス110のデータがこのマスタ・エージェントに関するものであるかどうかの判定を行う。バス110のデータが、このマスタ・エージェントに関するものである場合には、ステップ1017で、バス110のデータが、マスタに渡され、要約ノード1002に戻ることによってリングをインデクシングする。バス110のデータが、このマスタ・エージェントに関するもので「ない」場合には、ステップ1016で、バス110のデータをL1に渡し、要約ノード1002に戻ることによってリングをインデクシングする。
ステップ1010では、データが、マスタからであってバス100からで「ない」かどうかに関する判定を行う。データが、マスタからであってバス110からで「ない」場合には、要約ノード1002に戻ることによってリングをインデクシングする。そうでない場合には、データは、マスタからで「ない」か、バス110からであり、処理は、ステップ1012で継続される。
ステップ1012では、バス110からのデータがトークンと等しい場合に、ステップ1014で、マスタ要求をL1に置き、ビット・バケット内で破棄することによってトークンをデシメート(decimate)し、要約ノード1002に戻ることによってリングをインデクシングする。そうではなく、バス110からのデータがトークンと等しく「ない」場合には、ステップ1018で、バス110からのデータをL1に渡し、要約ノード1002に戻ることによってリング110をインデクシングする。
スレーブ・エージェントの流れ図
図11に移ると、スレーブ・エージェントのプログラミング流れ図1100が示されている。ページの最上部に、要約ノード1102がある。この点は、進入される場合にリング110のサイクルを表す。
要約ノード1102ステップの下に、ステップ1104の第1の判断ブロックNOT L1またはAdvanceがある。どちらもが有効でない場合に、要約ノード1102に戻ることによってリング110をインデクシングする。どちらかが有効である場合には、処理はステップ1106で継続される。
ステップ1106で、情報がこのスレーブ・エージェントに関するものか、リング110に渡されるかに関する判定を行う。データが、リング110またはこのスレーブ・エージェントに関するもので「ない」場合に、要約ノード1102に戻ることによってリング110をインデクシングする。情報が、リングまたはこのスレーブ・エージェントのいずれかに関するものである場合に、処理は、ステップ1107で継続される。
ステップ1107で、情報がこのスレーブ・エージェントに関するものであるかどうかに関する判定を行う。データが、このスレーブ・エージェントに関するものである場合に、ステップ1105で、リング110によって、この情報がスレーブに転送され、ステップ1102で処理が継続される。
リング情報が、このスレーブ・エージェントに関するものでない場合には、ステップ1108で、リング情報とスレーブ・タグの排他的論理和(すなわちXOR)をとる。情報がリングに関する「または」情報がスレーブから提示されつつあるのいずれかである場合に、ステップ1110で、データがL1に転送されるか、スレーブ応答がL1に転送され、要約ノード1102に戻ることによってリングをインデクシングする。そうではなく、情報が、リングからのものであり「かつ」スレーブ・エージェントに関するものである場合には、この処理は、ステップ1112で継続される。
ステップ1112で、優先順位(P)を、リング情報と比較する。優先順位が、一致する場合には、ステップ1114で、リング情報をL1に置き、要約ノード1102に戻ることによってリングをインデクシングした後に、スレーブ情報が処理される。そうではなく、ステップ1112で優先順位がリング情報と等しく「ない」場合には、1114で、スレーブ情報をL1に置き、リングをインデクシングした後にリング情報が処理される。ステップ1112から1116によって、ラウンドロビン法でスレーブ・エージェント104および109の優先順位を設定できるが、この場合に、優先順位が、各サイクル中にリング110とスレーブの間で切り替えられることを理解されたい。
本発明は、当業者に既知のように、ハードウェアまたはソフトウェア、あるいはハードウェアおよびソフトウェアの組合せで作ることができる。好ましい実施形態に関して開示された発明的原理によるシステムまたは方法は、記載されまたは請求される個々の機能またはステップを実行する別々の要素または手段あるいは記載されまたは請求される機能またはステップのいずれかの実行を組み合わせる1つまたは複数の要素または手段を有する単一のコンピュータ・システムで作ることができ、あるいは、当業者に既知の適当な手段によって相互接続された分散コンピュータ・システムに配置することができる。
好ましい実施形態に関して開示された発明的原理によれば、本発明および発明的原理は、特定の種類のコンピュータ・システムに制限されるのでは「なく」、当業者に既知の、説明された機能および説明された方法ステップを実行するように配置されたすべての汎用コンピュータと共に使用することができる。そのようなコンピュータの動作は、上で説明したように、当業者に既知のように、コンピュータの動作または制御に使用される、媒体に含まれるコンピュータ・プログラムによるものとすることができる。コンピュータ・プログラム製品を保持または含むのに使用することができるコンピュータ媒体は、当業者に既知のように、組込みメモリなどのコンピュータの備品とすることができ、あるいは、ディスクなどの移動可能媒体とすることができる。
本発明は、特定のコンピュータ・プログラムまたは論理または言語あるいは命令に制限されるのではなく、当業者に既知のように、任意の適当なプログラム、言語、または論理あるいは命令を用いて実践することができる。開示される発明の原理を制限せずに、そのようなコンピューティング・システムに、なかんずく、少なくとも、コンピュータがデータ、命令、メッセージ、またはメッセージ・パケットを読み取れるようにするコンピュータ可読媒体、およびコンピュータ可読媒体からの他のコンピュータ可読情報を含めることができる。コンピュータ可読媒体には、ROM、フラッシュ・メモリ、フロッピ・ディスク、ディスク・ドライブ・メモリ、CDROM、および他の永続記憶装置などの不揮発性メモリを含めることができる。さらに、コンピュータ可読媒体に、たとえば、RAM、バッファ、キャッシュ・メモリ、およびネットワーク回路などの揮発性記憶装置を含めることができる。
さらに、コンピュータ可読媒体に、ネットワーク・リンクまたはネットワーク・インターフェースあるいはその両方など、コンピュータがコンピュータ可読情報を読み取れるようにする、有線ネットワークおよび無線ネットワークを含む一時的状態媒体内のコンピュータ可読情報を含めることができる。
本発明の特定の実施形態を説明した。当業者は、本発明の趣旨および範囲から逸脱せずに、この特定の実施形態に対して変更を行えることを理解するであろう。したがって、本発明の範囲は、この特定の実施形態に制限されず、添付請求項によって、すべてのそのような応用例、修正形態、および実施形態が、本発明の範囲内に含まれることが意図されている。
2つのマスタ・エージェントおよび2つのスレーブ・エージェントを示す通常のトークン・リング・ネットワークを示すブロック図、およびデータおよび制御を定義する方法の例を示す、パケットを示すブロック図である。 マスタ・エージェントまたはスレーブ・エージェントとすることができるエージェントとバスの間のインターフェースの実施形態を示す論理ブロック図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T0の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T1の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T2の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T3の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T4の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T5の同時通信を示す論理図である。 図1(a)のリング・ネットワーク・トポロジの例示的な時間期間T6の同時通信を示す論理図である。 前に説明したバスまたはリング上のマスタ・エージェントのL1ラッチの展望からの流れ図である。 スレーブ・エージェントのプログラミング流れ図1100である。

Claims (10)

  1. 少なくとも1つのマスタ・エージェントを少なくとも1つのスレーブ・エージェントに結合するバスを介する同時通信の方法であって、前記バスへの入力および出力を有するスレーブ・エージェント上の前記方法は、
    前記バスからのデータまたは前記スレーブからのデータがあるかどうかを判定し、前記バスからであって前記スレーブからでないデータがある場合に、前記データを前記バスから前記出力に移動し、前記スレーブからであって前記バスからでないデータがある場合に、前記データを前記スレーブから前記出力に移動するステップと、
    前記バスからおよび前記スレーブからの両方のデータがあるかどうかを判定し、前記バスからおよび前記スレーブからの両方のデータがある場合に、
    前記バスが優先権を有する場合に、前記データを前記バスから前記出力に移動し、前記優先権を前記スレーブにセットするサブステップと、
    前記バスが優先権を有しない場合に、前記データを前記スレーブから前記出力に移動し、前記優先権を前記バスにセットするサブステップと
    を実行するステップと
    を含む方法。
  2. 前記出力にデータがないかどうか、または前進線がアサートされるかどうかを判定し、前記出力にデータがないか前進線がアサートされる場合に、前記バスからのデータがあるかどうか、または前記スレーブからのデータがあるかどうかを判定するステップを実行するステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記マスタ・エージェントが、アクセス・マクロに結合されるかどうかを判定し、前記マスタ・エージェントが、アクセス・マクロに結合される場合に、前記バスが初期化される時に、前記バスにトークンを置くステップを実行し、前記バス上のトークンの最大個数が、マスタ・エージェントの総数とスレーブ・エージェントの総数との合計から1を引いた数と等しくなるようにセットされる、ステップ
    をさらに含む、請求項1または請求項2に記載の方法。
  4. リセット・コマンドを受け取るステップと、
    リセットされた後に、前記マスタ・エージェントがアクセス・マクロに結合されるかどうかを判定し、前記マスタ・エージェントがアクセス・マクロに結合される場合に、n−1個のトークンを前記バスに置くステップであって、nが、前記バスで通信するマスタ・エージェントおよびスレーブ・エージェントの総数である、ステップと
    をさらに含む、請求項1または請求項2に記載の方法。
  5. 複数のエージェントの間の同時通信のデータ通信ネットワークであって、
    通信バスに結合された、スレーブ・エージェントとして指定された少なくとも1つのエージェントと、
    前記通信バスに結合された、マスタ・エージェントとして指定された少なくとも1つのエージェントと、
    前記バスへの入力および前記バスへの出力を有する、各スレーブ・エージェント上のインターフェースであって、前記スレーブ・エージェント上のインターフェースは、前記バスからまたは前記スレーブ・エージェントからのデータがあるかどうかをテストする複数のラッチであって、前記スレーブからではなく前記バスからのデータがある場合に、前記データを前記バスから前記出力に移動し、前記バスからではなく前記スレーブからのデータがある場合に、前記データを前記スレーブから前記出力に移動する複数のラッチを含む、前記スレーブ・エージェント上のインターフェースと
    を含み、
    前記複数のラッチは、前記バスからのデータおよび前記スレーブからのデータの両方があるかどうかをテストし、前記バスからおよび前記スレーブからの両方のデータがある場合に、前記バスが優先権を有するかどうかをテストし、
    前記スレーブ・エージェント上のインターフェースは、前記バスが優先権を有する場合に、前記データを前記バスから前記出力に移動し、前記スレーブに前記優先権をセットする手段を含み、
    前記スレーブ・エージェント上のインターフェースは、前記バスが優先権を有しない場合に、前記データを前記スレーブから前記出力に移動し、前記バスに前記優先権をセットする手段を含む
    データ通信ネットワーク。
  6. 各スレーブ・エージェント上のインターフェースが、前記データが前記スレーブ・エージェントに関するかどうかをテストし、前記データが前記スレーブ・エージェントに関する場合に前記データを前記スレーブに転送する、複数のラッチをさらに含む、請求項に記載のデータ通信ネットワーク。
  7. 請求項5又は6に記載のデータ通信ネットワークであって、
    前記バスからの入力および前記バスへの出力を有する前記マスタ・エージェントへのインターフェースであって、前記マスタ・エージェントへのインターフェースは、データがあるかどうかをテストし、前記マスタからのデータがある場合に、前記バスからのデータがトークンであるかどうかをテストする複数のラッチを含む、前記マスタ・エージェントへのインターフェースと
    を含み、
    前記マスタ・エージェントへのインターフェースは、前記バスからの前記データがトークンである場合に、前記データを前記マスタから前記バスに移動し、前記トークンを破棄する手段を含み、
    前記マスタ・エージェントへのインターフェースは、前記データが前記バスからのトークンでない場合に、前記バスの前記入力からの前記データを前記バスの前記出力に移動する手段を含み、
    前記マスタ・エージェントへのインターフェースは、前記データが前記マスタからではなく、かつ前記データが前記バスからである場合に、前記データを前記バスの前記入力から前記バスの出力に移動する手段を含む、
    前記データ通信ネットワーク。
  8. 前記マスタ・エージェントへのインターフェースが、前記データが前記マスタ・エージェントに関するかどうかをテストし、前記データが前記マスタ・エージェントに関する場合に前記データを前記マスタに渡す、複数のラッチをさらに含む、請求項に記載のデータ通信ネットワーク。
  9. 複数のエージェントの間の同時通信のデータ通信ネットワークであって、
    請求項または請求項に記載の通信バスに結合された、マスタ・エージェントとして指定される少なくとも1つのエージェントと、
    請求項5または請求項に記載の通信バスに結合された、スレーブ・エージェントとして指定される少なくとも1つのエージェントと
    を含むデータ通信ネットワーク。
  10. コンピュータで実行される時に、請求項1ないし4のいずれかのすべてのステップを実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
JP2003563158A 2002-01-23 2003-01-15 通信リング上の複数のトークンの同時管理の方法およびシステム Expired - Fee Related JP3995249B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/055,335 US7099922B2 (en) 2002-01-23 2002-01-23 Method and system for simultaneous management of multiple tokens on a communication ring
PCT/GB2003/000127 WO2003063424A2 (en) 2002-01-23 2003-01-15 Method and system for simultaneous management of multiple tokens on a communication ring

Publications (2)

Publication Number Publication Date
JP2005516477A JP2005516477A (ja) 2005-06-02
JP3995249B2 true JP3995249B2 (ja) 2007-10-24

Family

ID=21997161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003563158A Expired - Fee Related JP3995249B2 (ja) 2002-01-23 2003-01-15 通信リング上の複数のトークンの同時管理の方法およびシステム

Country Status (6)

Country Link
US (1) US7099922B2 (ja)
JP (1) JP3995249B2 (ja)
KR (1) KR100628630B1 (ja)
CN (1) CN100367728C (ja)
TW (1) TWI236813B (ja)
WO (1) WO2003063424A2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367168B (en) * 1999-05-25 2004-02-18 Safepay Australia Pty Ltd System for handling network transactions
US6965560B2 (en) * 2002-07-10 2005-11-15 I/O Controls Corporation Multi-tier, hierarchical fiber optic control network
US6961306B2 (en) * 2002-07-10 2005-11-01 I/O Controls Corporation Fiber optic control network and related method
US7046621B2 (en) * 2002-07-10 2006-05-16 I/O Controls Corporation Redundant multi-fiber optical ring network
FR2849730A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Methode pour reserver de la bande passante dans un reseau de type ethernet
US8228931B1 (en) * 2004-07-15 2012-07-24 Ciena Corporation Distributed virtual storage switch
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7809871B2 (en) * 2006-12-07 2010-10-05 Integrated Device Technology Inc. Common access ring system
JP5012387B2 (ja) * 2007-10-05 2012-08-29 ヤマハ株式会社 音声処理システム
CN101594433A (zh) * 2008-05-30 2009-12-02 鸿富锦精密工业(深圳)有限公司 网络电话语音监听系统及方法
KR101398346B1 (ko) * 2008-06-02 2014-05-22 미쓰비시덴키 가부시키가이샤 데이터 통신 시스템 및 데이터 통신 장치
US8203932B2 (en) * 2008-12-02 2012-06-19 Electronics And Telecommunications Research Institute Method and system for protection switching in ethernet ring
CN102710480B (zh) * 2008-12-25 2015-11-18 三菱电机株式会社 通信管理装置、通信装置以及通信方法
WO2010073352A1 (ja) * 2008-12-25 2010-07-01 三菱電機株式会社 データ通信システムおよびデータ通信装置
TWI474678B (zh) * 2009-06-12 2015-02-21 Mitsubishi Electric Corp 通信管理裝置及資料通信方法
GB2484483B (en) * 2010-10-12 2018-07-11 Advanced Risc Mach Ltd Communication using integrated circuit interconnect circuitry
KR101720347B1 (ko) * 2011-01-20 2017-03-27 엘에스산전 주식회사 적응성의 다중 링 네트워크 시스템 및 우회경로 설정방법
CN104115451A (zh) * 2012-02-27 2014-10-22 松下电器产业株式会社 主机装置、通信系统以及通信方法
US9213660B2 (en) * 2013-06-14 2015-12-15 Arm Limited Receiver based communication permission token allocation
US10205666B2 (en) * 2013-07-29 2019-02-12 Ampere Computing Llc End-to-end flow control in system on chip interconnects
TWI743736B (zh) * 2020-04-08 2021-10-21 瑞昱半導體股份有限公司 資料傳輸系統、電路與方法
KR102338517B1 (ko) * 2021-04-28 2021-12-13 주식회사 인코어드 테크놀로지스 태양광 발전을 위한 rtu

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602365A (en) 1984-02-10 1986-07-22 Prime Computer, Inc. Multi-token, multi-channel single bus network
JP2642332B2 (ja) 1985-04-15 1997-08-20 株式会社日立製作所 優先レベル更新制御方法
AU622208B2 (en) 1988-08-12 1992-04-02 Digital Equipment Corporation Frame removal mechanism for token ring networks
US6070003A (en) * 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
US5235593A (en) 1989-12-01 1993-08-10 National Semiconductor Corporation Ring latency timer
US5155726A (en) 1990-01-22 1992-10-13 Digital Equipment Corporation Station-to-station full duplex communication in a token ring local area network
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JPH0695686B2 (ja) 1990-08-24 1994-11-24 登 山口 データ通信ユニットおよびデータ通信装置
JPH04332065A (ja) * 1991-05-08 1992-11-19 Matsushita Electric Ind Co Ltd データ転送方法
US6275864B1 (en) * 1991-08-13 2001-08-14 Storage Technology Corporation Matrix switch for a network management system
SE501373C2 (sv) 1992-12-17 1995-01-30 Televerket Anordning vid kommunikationsnät
JP2793489B2 (ja) 1993-01-13 1998-09-03 インターナショナル・ビジネス・マシーンズ・コーポレイション 共通データ・リンク・インターフェース
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5457683A (en) * 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
FR2710804B1 (fr) * 1993-09-29 1995-11-10 Alcatel Business Systems Dispositif numérique de connexion d'une pluralité de stations de travail sur un réseau local en anneau.
US5666497A (en) * 1995-03-08 1997-09-09 Texas Instruments Incorporated Bus quieting circuits, systems and methods
US5657315A (en) 1995-06-01 1997-08-12 International Business Machines Corporation System and method for ring latency measurement and correction
US5634138A (en) * 1995-06-07 1997-05-27 Emulex Corporation Burst broadcasting on a peripheral component interconnect bus
US5764634A (en) 1996-03-13 1998-06-09 International Business Machines Corporation Lan switch with zero latency
US5970510A (en) 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
EP0802655A3 (en) * 1996-04-17 1999-11-24 Matsushita Electric Industrial Co., Ltd. Communication network
US5764896A (en) 1996-06-28 1998-06-09 Compaq Computer Corporation Method and system for reducing transfer latency when transferring data from a network to a computer system
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US5948089A (en) 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
JP3813013B2 (ja) * 1998-01-23 2006-08-23 松下電器産業株式会社 ネットワーク制御装置

Also Published As

Publication number Publication date
TWI236813B (en) 2005-07-21
US7099922B2 (en) 2006-08-29
US20030140109A1 (en) 2003-07-24
WO2003063424A2 (en) 2003-07-31
KR100628630B1 (ko) 2006-09-26
KR20040070167A (ko) 2004-08-06
CN100367728C (zh) 2008-02-06
JP2005516477A (ja) 2005-06-02
TW200307427A (en) 2003-12-01
WO2003063424A3 (en) 2003-09-12
CN1620783A (zh) 2005-05-25

Similar Documents

Publication Publication Date Title
JP3995249B2 (ja) 通信リング上の複数のトークンの同時管理の方法およびシステム
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
JP3663385B2 (ja) 非サイクル有向グラフで接続された構成要素間の通信方法
US6122667A (en) Method and integrated circuit for high-bandwidth network server interfacing to a local area network using CSMA/CD
CA2698614C (en) Method and apparatus for unique address assignment, node self-identification and topology mapping for a directed acyclic graph
KR900006793B1 (ko) 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
US5124981A (en) Access control method for dqdb network
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US6519657B1 (en) Method and device for identifying an active 1394A node attached to a 1394B network
JPH08507623A (ja) ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置
US5781745A (en) High speed communication bus
GB2226737A (en) Local area network with an active star topology
US6529518B1 (en) Method and apparatus for providing a network interface
US5666488A (en) Port expansion network and method for lAN hubs
JPH0865317A (ja) マルチセグメント・ネットワークの通信方法および装置
US20040225734A1 (en) Method and system to control the communication of data between a plurality of inteconnect devices
JP2001257686A (ja) 計算機システム及び計算機システムのデータ通信方法
Sadiku et al. Local Area Networks
CN114595185A (zh) 一种多cpu系统及其通信方法
Niwagaba LAN selection, engineering and design: Case of a Token Ring LAN for Research and Development type facility
Percinler Multiplexing Ethernet in a multi-user CP/M-86 system.
Dekkers Local area networks
KR20020067179A (ko) 토큰을 이용한 데이터 전송방법

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under section 34 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20040723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070326

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070725

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070730

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees