JPH10510403A - 多プロセッサ環境 - Google Patents

多プロセッサ環境

Info

Publication number
JPH10510403A
JPH10510403A JP8517432A JP51743296A JPH10510403A JP H10510403 A JPH10510403 A JP H10510403A JP 8517432 A JP8517432 A JP 8517432A JP 51743296 A JP51743296 A JP 51743296A JP H10510403 A JPH10510403 A JP H10510403A
Authority
JP
Japan
Prior art keywords
node
data packet
datagram
receiving
acknowledgment
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
JP8517432A
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of JPH10510403A publication Critical patent/JPH10510403A/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/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 多プロセッサ環境(図2参照)では、それぞれが多数のユーザプロセス(図3の31,32,など)を実行している多数の網(10,21,22)によって相互接続される複数のノード(10,11,12)があり、および該プロセスによって転送されるメッセージが送りノードから受けノードへ連続的に転送されるのに、異なる網を使用して各データグラムを転送する各データグラム(データ・グラムに由来し、データを搬送する電子メッセージである)を転送するようにした。

Description

【発明の詳細な説明】 多プロセッサ環境 本発明は、多プロセッサ環境、とくにこの環境内で動作するプロセス間でデー タを転送するための構造に関する。例えば電話網のような複雑なシステムにおい て、“インテリジェンス”は多数のポイントに存在する。多数の制御プロセッサ が網の主機能を有するが、実質的な処理能力が中央局から離れても存在している 。 とくに、インテリジェント周辺装置、すなわちデータ処理意志決定能力を含む 周辺装置は、顧客により近い場所に存在する。 インテリジェント周辺装置によって与えられる機能によって、特定の網を介す る物理的な接続の設定は必要とされない。したがって、このようなインテリジェ ンス周辺装置のなかには、幾つかの異なる動作網上のノードを代表することがで きるものがある。さらに、網が多数のホストコンピュータを含むとき、該ホスト コンピュータの1つにおけるプロセスは他のホストコンピュータにおけるプロセ スと直接に相互作用することが必要な場合がある。 したがって、異なるホストで動作するプロセス間通信は信頼性がなければなら ない。 プロセス間の恒久的リンクは信頼性があるのだが、それらは多くの資本投下を 示し、変えられないものとなっている。したがってホストコンピュータは、イン ターネットのような共有の公衆網を介してより日常的にアクセスすることができ るようにしている。 インターネットは、ホストプロセス間のデータ転送を可能にする単純なデータ グラム装置を設けている。(尚、データグラムとはデータテレグラムという技術 用語を短縮したものである。したがってこれはデータを搬送する電子メッセージ を示す。)転送には、インターネットによって供給される単純なユーザデータグ ラムプロトコル(UDP)が使用される。このようなプロトコルは、例えば Pos tel,Jによって、ARPANET Working Group Request for Comments number 768に 記載されている。データグラム(UDP datagram)によって、プロセス間のデータ 転送は可能になったが、固定されたまたはPSTNリンクにおけるデータ転送方 法ほど信頼性はない。 TCPとして知られる装置を含むこれまでのデータグラム転送装置は、メッセ ージ境界を維持しないので、データグラム内に含まれるデータを分割する可能性 があり、実際に配送の失敗の報告があるときは、それを相当な時間をかけて知ら せる。 したがって本発明は、インターネットタイプの網における信頼性のあるデータ 転送方法を提供することである。 この発明によると、多プロセッサ環境内で動作するプロセス間でデータパケッ トを転送する方法が提供されており、この環境の種類はというと、それぞれが複 数の網ノードアドレスでアクセス可能である複数のホスト計算機で成る。この構 成方法は、アドレスされる各プロセスに対して指向地ホスト識別子と指向地ホス トポートとを設定する段階と、各指向地ホスト識別子に対して複数の対応する網 ノードアドレスで成るアドレスリストを設定する段階と、データパケットの各伝 送に対して、目的地ホストに対するそれぞれのアドレスリストから、ノード間の 伝送に使用された最終アドレスに対するリスト内で循環的に次のアドレスとなる 網ノードアドレスを選択する段階と、データパケットに選択された網ノードアド レスと目的地ポートとを定義するヘッダを加える段階と、パケットの受領告知の ための戻りデータを監視する段階と、受領告知されないデータパケットをアドレ スリスト内の次の網ノードアドレスへ再送信する段階とからなる方法である。 プロセス間で送られる各メッセージヘッダは、伝送プロセッサによってインク リメントされるメッセージのシーケンス番号を含むことができるので、受けプロ セッサは正しい順番でメッセージを再構成することができ、一連のメッセージに おいて1以上のメッセージがないことを識別できる。 より長いデータパケットでは、ヘッダは伝送される特定のデータパケットに対 する部分的な番号を含むことができる。第1のホストコンピュータ上の複数のプ ロセスが第2のホストコンピュータ上の複数のプロセスと相互作用をするとき、 シーケンス番号はノード間で転送されるメッセージを表し、受けユーザプロセス の形成前に完全なメッセージであることを再断定可能とするためにプロセス間で 転送される一連のポートメッセージを表している部分的な番号をシーケンス内に 有さなくてもよい。 ここで本発明の方法を使用して分散された多プロセッサ網が、添付の図面を参 照して例のみの目的で記載される。 図1は、遠隔通信システムの一部分を概略的に示す。 図2は、配置された多プロセッサ網の概略的なブロック図を示す。 図3は、図2の網の通信プロセスとのプロセスの相互作用を概略的に示す。 図4は、プロトコルにおいて使用されるデータおよびヘッダ情報を概略的に示 す。 図5は、送りの端末プロセッサ(エンドプロセッサ)の動作を示す状態変化図 である。 図6は、受けの端末プロセッサの動作を示す状態変化図である。 図7ないし9は、図1の構造の伝送ノードにおける図3のモジュールの1つの 動作を示すフローチャートである。 図11ないし13は、受けノードにおける図3のモジュールの動作の一部分を 示すフローチャートである。 最初に図1を参照すると、一般的な通信構造の中央局交換器が、多数の制御プ ロセッサ1(その中の1つのみが図示されている)、並びにスイッチ選択、遠隔 測定、および他の網におけるサービスのような機能を行なう資源2を含んでいる 。 したがって、制御プロセッサ1が、応用ソフトウエア3の実行によって、特定 の資源2が要求される機能を実行するために使用されることを識別するとき、制 御プロセッサ1は該資源2に対するメッセージの形態で情報を転送することが必 要である。 この動作を完了するために、制御プロセッサは参照符号4で概略的に示された 通信ソフトウエア、および多数の通信出力ポート5を含む。遠隔通信出力ポート 5は、1つ以上の網によって必要される資源に接続される。これらの網は、図1 においてメッセージインターフェイス6として概略的に示されている。メッセー ジ転送動作は、以下の説明からさらに詳細が明白になる。 資源2に対応する通信ポート7が設けられ、網を変化させることによってメッ セージを受ける。 さらに図2を参照すると、各通信ポート10a、10b、10c等によって多数の網 20-2mに各々が接続されている多数のノード10-1が示されており、これらのポー トは図1の通信ポート5および7を表している。ノード10-1nの接続パターンは ノードによって異なるが、全てのポートが全ての網に接続されている訳ではない ことに注意すべきである。例えばノード10は代表的に示されている網20、21、お よび 2mに各ポートによって接続され、一方でノード11は網21には接続されてい ないが、網22に接続される。 上述のように、網20-2mの通信リンクは、UDPとして知られている単純なデ ータグラム転送プロトコルで与えられるインターネット内に含まれていることも ある。ユーザデータグラムプロトコル(UDP)では、メッセージをその他のプ ログラムに送るための応用プログラムのための処理手順がある。転送されるメッ セージは、通信プロトコルがソース識別子、指向地識別子、長さ、およびチェッ クサムバイトを付加することになるデータバイト数として纏められる。UDPソ フトウエアモジュールは、ソースおよび指向地アドレスを使用してインターネッ トのヘッダを形成し、2つのプロセッサ間でデータメッセージの転送を行なう。 一般的なUDPメッセージは、以下で参照する図4aに概略的に示されている。 ここで図1および3を参照すると、図1の資源2に制御されるソフトウエアお よび制御プロセッサ1に制御される応用ソフトウエア3が、図3のユーザプロセ ス31-3pによって表されている。1つのユーザプロセス31-3pが、同じまたは異 なるプロセッサにおいて情報を別のユーザプロセス31-3pに転送することを要求 するならば、それは指向地ヘッダおよび転送されるデータを含むデータグラムに 纏められる。 さらに図4aを参照すると、既知のシステムにおいてデータグラム40は、ヘッ ダ42内の指向地ノード(インターネットアドレス)およびポートアドレスと一緒 にプロセッサ上のUDPプロセス41に送られる。UDPプロセス41はヘッダ42か らのインターネットアドレスを使用し、それ自身のヘッダ43に別の情報を付加す る。この別の情報には、ソースプロセス31-3pのポートアドレス44、データグラ ム40によって決定される長さバイト45、および伝送においてエラーが発生したか 否かを検査するために指向地ノードにおいて使用することができるチェックサム バイト46が含まれる。 UDPプロセス41は、完全なUDPデータグラム47からインターネットプロト コルモジュール48を通り、そこでデータパケットは適切なドライバ49によって網 (例えば参照符号20)へ、さらに指向地プロセスへ転送される。該指向地におい て、網20から受けたデータは対応するドライバ49およびインターネットモジュー ル48を介してUDPモジュール41に、さらに指向地プロセス31-3pに送られる。 本発明のシステムには、ユーザプロセス31-3pとUDPプロセス41との間に別 のプロセスが導入されれている。このプロセス、すなわちRDPドライバ50は、 オペレーティングシステムインターフェイス51-5pによってユーザプロセス31-3 pからデータグラム40を受ける。これらのインターフェイスは、UDPプロセス 41のみを使用するシステムにおいてデータを転送するために使用することができ 、目的によって特定されるメモリ区域内のプロセスによりデータ転送のために使 用される効果的なデータメモリ区域である。ここでさらに図4bを参照すると、 このケースにおいて、ヘッダ42はRDPノード61およびRDPポート62のアドレ スを搬送する。 ユーザプロセスによって割当てられるメモリ区域に転送されるデータグラムを ユーザプロセス31-3pがコンパイルするシステムもある。続いてオペレーティン グシステムインターフェイス51-5pによって、記憶されたデータグラムのアドレ スは、RDPモジュール50に転送され、そこで別の処理のために特定されたメモ リ区域からデータグラムを回復する。別のケースでは、纏められたデータグラム を、オペレーティングシステムインターフェイス51-5pを介して直接に転送する ことができる。 受けノードにおいて、RDPモジュール50はデータグラムを受けるときに、受 けプロセス31-3pのためのメモリスペースを割当てられたポート待ち行列にデー タグラムを入れる。 指向地ノード61はルックアップ表(検索表)と対照して考慮され、RDPドラ イバ50内では、ソースノードが接続されているどの網において、該指向地ノード が現れるかを判断する。したがって、図2、3、および4を見ると、ノード10で 動作しているプロセス31が、ノード12で動作しているプロセス32に対してデータ グラム40を転送することを要求するとき、両方のノードがイーサーネットタイプ の網20および21によって接続される。そのためRDPドライバ50はこれらの網の 1つを選択し、16ビットのDNバイトで指向地ノードアドレス(16)を転送す ることになる。指向地ポートは16ビットバイト(DP)として纏められ、一方 でソースノード(SN)およびソースポート(SP)は同じ様に識別される。 明白にするために、ユーザプロセス31-3pは指向地プロセスに対して単一のノ ードアドレスのみを使用し、ノードアドレス61はさらにUDPによって使用され 、この変換はRDPモジュール50によって幾つかのインターネットアドレスの1 つに変換されるので、ユーザに透明であることに注意すべきである。 論理(RDP)アドレスのためのアドレスリストは、データパケットをその論 理ノードに伝送する間であっても、ユーザが付加的なまたは別のアドレスを特定 することによって変更できることにも注意すべきである。アドレスリストからア ドレスを除去することも可能であり、次のデータグラムを指向地ノードに伝送す るために、修正されたアドレスリストが使用される。したがってユーザはノード 上のポート間の移動中にデータグラムの喪失なしに使用中の網を修正できる。 アドレスが使用できないと示されていない限り、ノード間の各伝送において、 アドレスリストから次の利用可能なアドレスが使用されることに注意すべきであ る。したがって、論理(RDP)アドレスがそれに関係付けられている複数のイ ンターネットアドレスを有するとき、インターネットアドレスは循環して使用さ れる。 RDPヘッダ63内のその他のバイトは、8ビットエラーフィールド(E)、フ ラッグフィールド(FL)、部分的およびシーケンスの番号(それぞれFLAG およびSEQで表される)、およびデータの長さフィールドから構成される。最 後の3つの各フィールドは、32ビットから成る。フラッグ(FL)バイトは、 以下の指示を与える。 ビット1 第1のフラッグ データグラムが分割されたときのデータの 第1の部分を示し、部分的な番号(フィー ルドFLAG内に含まれる)は第1の部分 として示される; ビット2 最後のフラッグ 分割されたデータグラムの最後の部分を示 す; ビット3 セットシーケンス 2つのノード間のシーケンス番号を初期設 定するためのメッセージ; ビット4 受領告知 前もって受けたデータグラムの受領告知; (アクノレッジメント) ビット5 前のデータグラムに対する受領告知の否定 ; ビット6 テストインジケータ; ビット7 高優先順位インジケータ; ビット8 告知ビット−スペースのないプロセス待ち 行列のために指向地RDPプロセスが有効 なデータグラムを配送することができない ことを示すために使用される。 ユーザプロセス相互間のデータグラムの転送を考慮することによって、本発明 をさらに理解することができる。転送されるデータ、すなわちユーザプロセス、 例えば参照符号31によって供給されるデータは、RDPデータグラム内でパッケ ージ化されており、それ自身UDPデータグラム内でパッケージ化されている。 言い換えればそのヘッダを含む完全なRDPデータグラムは、適切なUDPヘッ ダ43が付加された図4aに示された形のデータグラムとして扱われる。 指向地ノード識別子DNは、適切なインターネット指向地アドレスに変換され 、データグラムはその指向地ノードに伝送される。RDPを送るプロセスは、タ イムアウト(中休み)を始める。これが2つのノード間の第1のメッセージであ るとき、データグラムが出てくるノード内のポートに関係なく、セットシーケン スフラッグSはFLバイトに設定され、シーケンスバイト(SEQ)はある数を 含むようになる。しばらくの間、データグラムの部分化に関係するバイトを無視 することが好都合である。上で説明したように動作しているUDPモジュール41 は、RDPヘッダを含むデータグラムを指向地ノードに配送する。UDPヘッダ は指向地ノードで除去され、データグラムは指向地ノード12のRDPドライバ50 へ送られる。最初のノード10のRDPドライバ50で始まったタイムアウトは、指 向地ノード12からデータグラムを受けるのを待つ。 第1のメッセージを受けたときに指向地ノード12のRDPドライバ50は、SN バイトによって識別されるそれぞれのソースノードからデータグラムの受領に対 してシーケンス番号(一連番号)を設定してシーケンスバイトで特定されるシー ケンス値にする。受けRDPドライバは、シーケンス番号およびフラッグフィー ルドにおいて設定された受領告知ビット(A)を含むデータグラムを戻す。 送りノード10と指向地ノード12との間で転送される第1のデータグラムは、現 在ユーザプロセスからデータを保持していないが、それは可能である。データの 長さバイトはゼロに設定され、データは流れない。現在のシステム開発において 、伝送された第1のデータグラムは、受領告知が送られる前に送りノードと指向 地ノードとの間で転送することができるデータグラム数を決定するスライディン グウインドウを修正するために使用される。 送りノード10から第1の伝送が行われるこのケースでは、ノードは送信端が最 大値として機能するように修正された値を含むことになる。受けのとき、指向地 ノード12は受けノードの容量内であるならば、送信端で出された値を受取る。し かしながら、受けノード12が送りノード10によって出される値よりも小さい最大 能力(ウインドウ)であれば、そのときはACK(受領告知信号)を送りノード へ戻すときに、指向地ノード12はそれ自身の最大値になる。次に修正された値は 送りノード10によって採用される。 第1の伝送の受領告知が、タイムアウトが終了する前に第1のノード10のRD Pプロセス50によって受けられないときは、RDPドライバ50は、例えば代りの 網21によって同じデータグラムを進めようとし、第1のRDP変換、すなわちノ ード12を特定する変換に網20では失敗したとしるしをする。RDP変換によって 決定された特定のアドレスに伝送するための所定数の試行が失敗するとき、RD Pモジュール41はリンクの故障としてこれを識別することができ、再設定された ようにテストデータグラムが特定のリンクの識別に成功するまで、使用できない リンクとしるしをつける。 複数のプロセスが同時にノード10と12との間でデータを転送することができ、 第1のデータ転送が成功すると、このデータは逐次に(シーケンスで)転送され 、最初の送りノード10は正しいシーケンス番号を含み、かつAフラッグを設定す る 有効な戻りデータグラムを受領していることに注意すべきである。次のデータグ ラムは、Sフラッグを設定することなく、ソースノード10によって前へ送られる 。 RDPプロセス50は、ソースノード10と指向地ノード12との間でデータグラム を前へ進めるための多数の試行をすることができ、所定数の試行が済むまで、異 なる網アドレスによってデータグラムを伝送するための試行が続けられる。所定 数の試行が行われてしまうと、受けノードが失敗したことを基礎として失敗のメ ッセージはソースノード上の最初のプロセスに戻される。2つのノード間でルー トを設定するための別の試行は、2つのノード間におけるデータグラムの転送の 初期化に関して上で説明したように、多数のシーケンス番号を使用して実行され ることになる。 受領告知(ACK)、再伝送、シーケンス番号、および多イーサーネット網相 互接続を使用して、別々のノードにおけるデータプロセス間のデータ転送の信頼 性が達成される。1ノードにおいてポートとして動作する送りプロセス31-3pと 別のノードにおいてポートとして動作する受けプロセス31-3pとのリンクは接続 されていない。その結果送りプロセスは、異なる受けプロセスに対して一連のデ ータグラムを同時に送ることができる。同様に、受けプロセスは多数の異なる送 りプロセスからデータグラムを受けることができる。 受領告知されたシーケンス番号でデータ転送路を確立した後に、データグラム はソースノードから指向地ノードへ順次インクリメントされたシーケンス番号で 送られる。送られたメッセージの受領告知が受け取られたことになるときまで、 RDPドライバ50は全ての伝送されたメッセージのコピーを保持する。受領告知 が受取られてしまうと、次のメッセージは第1のノードから第2のノードへのみ 送られる。しかしながら、受領告知が受領される前に“N”のメッセージのウイ ンドウが受容可能であるという上記で参照した好ましい動作方法では、データグ ラムを待ちわびているACKの最大数が送られてしまうまでメッセージを順次転 送することができる。したがって、シーケンス番号は、各伝送されたデータグラ ムに対して送りノードRDPドライバ50によってインクリメントされ、受領告知 が受けられないときにリセットされる。受けRDPドライバ50は、各データグラ ムが到達するときに、メッセージのシーケンス番号を検査する。受けノード12に おけるRDPドライバ50は、それが有効であるとすることができる限定された数 のシーケンス番号を有する。正しくない、最大の許容値外であるシーケンス番号 をドライバが受けるとき、またはその他の失敗、例えばデータグラムヘッダ内で 特定される指向地ホストポートが受けRDPドライバに知られていないときは、 “N”フラッグのセットを備えたデータグラムを戻して、最初のデータグラムに 最初のRDPモジュールを再送させるか、または失敗の理由に応じてデータグラ ムを最初のプロセスに戻すようにする。 ここで、失敗を迅速に識別し、送りノードを介して否定(NACK)信号を直 ちに戻すことによって、失敗の素早い告知が受けられることに気付く。 受けノード12のRDPプロセス50はデータグラムを順次受けることを予期して いる。しかしながら、受けたデータグラムのシーケンス番号がスライディングウ インドウの制限内であり、受けたデータグラムが、最後に受けて、受領告知され たデータグラムよりも“N”を越えないだけ大きいのであれば、モジュールは、 若い番号のデータグラムの受領を留保して、後で受けるデータグラムを保持する 。受けモジュール内のタイムアウトが終了すると、または後で受けたデータグラ ムのシーケンス番号が前に受けたデータグラムのシーケンス番号よりも大きいと 、受けモジュールは、最後に連続的に受けたシーケンス番号を有するデータグラ ムに関して受領告知を送る。この受領告知は、送りモジュールに対して全てのよ り若いシーケンス番号を付けたデータグラムを受領告知もする。したがって、こ の受領告知を受けると、送りノード10のRDPプロセス50は、受けノード12によ って受けた最後に受領告知されたデータグラムによる限度まで表示された送りウ インドウをリセットすることができる。現在送られているシーケンス番号のデー タグラムと最後に受領告知されたシーケンス番号のデータグラムとの間の差が“ N”に到達するとき、タイムアウトが終了する。受領告知を受けるまで別のデー タグラムが送られ、さもなければより若い番号のデータグラムの再伝送が行われ る。 上述の説明のように、受領告知を受けずに送ることができるデータグラム数は 、最初のノード10と受けノード12との間で調節することができる。別のセキュリ ティ(保安)尺度にデータグラムが含まれ、最初のRDPドライバ50によって受 領告知された“N”フラッグセットと一緒に、データグラムに対する受領告知が 失 敗したデータグラムに続いて送られる前に、受けRDPドライバによって送られ るようにする。したがって、システムが、例えば10のシーケンス番号のウインド ウで動作し、次にデータグラム3を除いて、前もってデータグラム1、2、4、 5等に対するシーケンス番号が受領されているならば、受けノード12内のRDP ドライバモジュール50は、データグラム2の受領告知を送ることになる。送りR DPモジュール50は、悪い兆しがなくなると、データグラム3を再送する。 データグラム3を受領すると、受けノード12のRDPモジュール50は今度は大 きなシーケンス番号を有する前に受けたデータグラムの受領告知を送ることがで き、例えばデータグラム8の受領告知がデータグラム3の再送に応答することに なる。 受けノード12での指向地ユーザプロセスが、データグラムを受けるときほど素 早くそれらを受入れることができない場合、RDPモジュール50は受けた各デー タグラムを待ち行列に加える。ホストプロセッサが待ち行列の大きさを制限され 、受けて待ち行列に加えたデータグラムの数が大きすぎると、指向地RDPモジ ュール50は短期間の間送りノード10に対する受領告知を行なわず、一方でその待 ち行列にデータグラムを再び加えようとする。データグラムを待ち行列に加える 試みが何度も行われるが、最大数の反復試行が行われると、最初のノード10に対 してデータグラムで否定の受領告知が戻され、それによってそのノードがユーザ プロセスに対して失敗したデータグラムを再試行するようにする。 その信頼性を考慮して、ユーザプロセスはこのような受領告知を受けることを 期待しないので、通常RDPモジュールはユーザプロセスに対するデータグラム の配送確認を送らない。しかしながら、ユーザプロセスはとくに確認を要求する ことができ、その場合に、RDPモジュールは受けノードから受領告知を受ける とき、オペレーティングシステムインターフェイス51−50を経由して配送確認を 送る。 最初のRDPモジュールドライバ50が、送ってあるが、まだ受領告知を受けて いないデータグラムのどれにも対応しないシーケンス番号で受領告知を受けると き、その受領告知を無視する。タイムアウトが終了するとき、ソースから指向地 への失敗した伝送は修正される。 受領の通知の中で、RDPモジュールは、(n−s)ないし((n+s)−1 )(なお、nは受けたが、まだ受領告知していない最小のシーケンス番号であり 、sはデータグラムの番号である)の範囲内のシーケンス番号で受けたデータグ ラムを受入れることができ、送りモジュールは受領告知を受けずに送りができる 。このケースにおいて、戻された受領告知は、シーケンスの順番で一番最近に受 けたデータグラムのシーケンス番号を有している。受けRDPドライバが、前に 受けたデータグラムに対して受領告知を送り、そのシーケンス番号をインクリメ ントするときに、この状況になるが、ソースノードは戻された受領告知を受取ら ない。第1のRDPドライバのタイムアウトが終了するとき、ソースノード10に おける第1のRDPドライバ50は再送を試みる。 2つのノード間の新しい伝送路を設定することが要求される場合はいつも、セ ットのシーケンスフラッグとシーケンス番号とはソースノードから指向地ノード へ伝送されることに注意すべきである。両方向においてデータの相互交換が行わ れるとき、別々の転送が行われ、すなわち1つのケースでは、ソースノード、例 えば参照符号10が最初に第1のメッセージを指向地ノード12へ送るというシーケ ンスをセットし、メッセージの別のシーケンスが、ソースノードとしてのノード 12から指向地ノードとしてのノード10へ送り始められる。第1の方向、すなわち ノード10からノード12への伝送においては、ノード12からノード10への送り用の 異なる網を使用することができる。 ここで部分バイトFRAG、および最初と最後の部分フラッグFおよびLに関 して考慮する。ユーザプロセス31-3pから得られたデータグラム40が顕著な長さ を有するならば、そのデータグラム部分が直列となっているところに送ることが 必要である。このとき、2つのノード間での最初の送りは、部分は第1の部分F であり、1に等しいかまたは等しくない部分の番号を有することを示すことにな る。データグラム40の次の部分のそれぞれを送るとき、特定のダイヤグラム40の 最後の部分が送られて、そこでLフラッグが設定されるまで、部分番号FRAG は1だけ増加する。 転送データがどの部分が最初でどの部分が最後であるかを示すものを含み、F RAGにおいて一連番号付け機構が使用されるので、データグラム部分がシーケ ンス外で受けられても、指向地ノードにおいて完全なデータグラム40を再び纏め ることができる。ユーザプロセスデータグラムの部分化が要求されないとき、す なわち、ノルムでもよい場合のようなとき、部分化プロセスに割当てられたバイ トとビットとを他の目的に使用できるし、また全く存在しなくてもよいことに注 意すべきである。部分化が使用されるとき、ノード間で転送される部分化されて いないデータパケットは、フラッグ(FL)バイト内で設定された最初および最 後の部分(FおよびL)ビットの両方を有することができる。システム機能をさ らに拡大できるように、他の余分なバイトをヘッダ中に用意することができる。 これは、2つのノード間の転送の初期設定の際に示すようにできる。 1つの特定のノードの異なるポートとして動作している多数のプロセスが、同 じ指向地ノードのポートとして動作している1つ以上のプロセスと通信するとき 、この2つのノード間のメッセージの相互交換は連続する1つのデータグラム部 分ではなくてもよいことが認識されるであろう。 多数のデータグラムがRDPモジュール50によって取扱われるときはいつも、 送りノードから受けノードへの送りを待っているデータグラムの待ち行列を生ず る。FLバイト内にpビットを設定することによって高い優先順位としてユーザ プロセス31-3pが特定されているデータグラムは、他のデータグラムの転送を取 扱う前に、モジュール50によって取扱われることになる。高い優先順位を有する 複数のデータグラムが待ち行列に加えられているときは、RDPモジュール50に よって受けた順に、高い優先順位のデータグラムが送られる。 上述の説明のように、特定のRDP指向地ノードに対する特定の指向地アドレ スは使用できないと判断されたとき、失敗したルート上でテストメッセージを送 ることができ、それがそのメッセージの受領告知を受けるまで続く。そのような メッセージはフラッグフィールド内にTフラッグを設定することによって示され る。1つ以上の成功したテストメッセージが送られたとき、アドレスが無効であ ることを示すマーカは放棄される。失敗したルートをテストする目的には活きた データは使用されない。 使用できないとしてアドレスリスト内の特定の指向地アドレスに最初にマーク を付けると、RDPモジュール50は、特定のアドレスへの接続が失敗して、特定 のアドレスが使用できないことをそのノードの1ポートに告知することができる 。そのような告知は、そのポートで動作しているプロセスによって、ノード間の 単一のインターネットリンクの失敗をユーザに警告するために使用され、さもな ければユーザはこのようなリンクの失敗に気付かないことになる。 その目的地に到達するのに失敗し、かつ部分が特定の順番で受領されてないデ ータグラムを再構成することに失敗したデータグラムを識別するというRDPド ライバ50の能力は、(応用可能であるならば)通常のUDPプロセスにおける信 頼性の著しい向上を確実にする。したがって、網20-2mの1つの失敗は、RDP プロセスによって克服され、UDPのみを使用して相互接続されるプロセスによ って時々必要とされる反復的な試行を無くすことができる。 ここで図5を参照すると、送り状態機械は、指向地ノードのアドレスリストを 与えることによって初期化を完了すると、同様のものがセットのシーケンス状態 を送るために待機状態で静止する。ユーザプロセスから有効なデータグラムを受 けるとき、図7および4bをさらに参照すると、図3のRDPプロセス50は、デ ータグラムを一時的に記憶し(ステップ(段階)700)、特定の指向地ノードに 対するアドレスリストから新しい網指向地ノードアドレスを得る送りのための、 新しいデータグラムを準備する(ステップ705)。データグラムのDNフィール ドは、与えられたアドレスに対して設定される。指向地ポートアドレスは、ステ ップ715 で指向地ポートフィールドDPに転送され、ステップ720 において現在 の転送ラウンドで使用するために提案されたメッセージのシーケンス番号がSN ビットに設定される。最後に、RDPヘッダ63のFLフィールド内のSフラッグ は、ステップ730 でタイマが始動する前に1に設定され、この再送信タイマは、 受けノードへデータグラムを送り、受領告知ウインドウ プラス2によって乗算 される受領告知を戻すためにこのノードに関係するアドレスにかかる最大時間に ほぼ等しい。ステップ735 では完全なRDPデータグラムは、インターネットへ の転送のためにアドレスリスト(ステップ205 において得られる)から指向地ノ ードの周期的アドレスと一緒に、図3のUDPモジュール41に送られる。ここで RDPモジュール50は、セットウインドウ状態80の待ち状態に入る。 セットウインドウ状態80の待ち状態は、図8に一層詳細に示されており、ここ で参照する。図3のUDPモジュール41を使用することによってデータグラムを 受けノードから受けるとき、第1の出口路が生成される。RDPプロセス50は、 ステップ810 でブランクフィールドに質問し、セットビット“S”が設定される か否かを判断する。Sビットが設定されるとき、ステップ815 でシーケンス番号 のビットが検査されて、それがゼロであるか、または最初のメッセージ番号に等 しいか否かを判断する。 シーケンス番号がゼロであることは、受信端は逐次的でない順番で受けたデー タグラムと動作することができ、最大のウインドウサイズはデータグラムの部分 40内に保持されることを示す。データグラム40に保持される値Nが、ステップ82 0 で判断されたように送りノードが動作適用されている、Nの最大値の限度を越 えないならば、ウインドウ値はステップ825 でNに設定されるか、さもなければ ステップ830 でウインドウは送信端が処理できる最大値に設定される。ここで受 領告知およびセットビットをフラッグフィールド内に設定するデータグラムを含 み、セットウインドウ受領告知データグラムは受信端に送られ、ステップ825 お よび830 でシーケンス番号はゼロに設定され、データグラムは送りノードによっ て選択されたウインドウサイズに設定される。ここでRDPモジュールは、セッ トシーケンス受領告知状態100 のための待ち状態に入る。 しかしながら、シーケンス番号がステップ815 でゼロに等しくないと判断され ると、ステップ805 で受領告知ビットが質問される。受領告知ビットが設定され ていれば、受信端は、ある時刻に転送される1つのメッセージのみで動作するこ とが要求されていることを示す。受領告知ビットはステップ805 で設定されない ならば、否定の受領告知がステップ840 で設定されるか否かが判断され、設定さ れないときは、“???ウインドウ”は退出しない。しかしながら、ステップ84 0 で、否定の受領告知ビットが設定されると、通信の試みにエラーが存在するこ とを示し、ステップ845 で特定の指向地ノードおよびポートへの転送のために保 持されるデータグラムは、送りノードと受けノードとの間の通信を再び初期設定 するためにセットシーケンス状態を送るための待ち状態に入るのに先立って、エ ラー識別子と一緒にユーザに戻される。 ここで図9を参照すると、受領告知の待ち状態において、次のイベント(事象 )、すなわち前もって設定されたタイムアウトの終了、ヘッダ63のフラッグフィ ールドに設定された受領告知ビットを含むUDPモジュール41からのデータグラ ム、およびユーザプロセスからの別のデータラムの受けが認識される。 最初に受領告知フラッグを含むデータグラムを受けることを考慮すると、ステ ップ900 では、最後に受けたメッセージ手段の受領告知は前もって送られたデー タグラムをもはや保持する必要がないことを意味するので、前に保持されていた 全メッセージが受領告知のシーケンス番号まで放棄される。ステップ905 では、 特定のノードに関してアドレスリスト内の失敗したアドレスを判断するのに使用 される試行カウントのように前もって設定したタイマはリセットされる。 ステップ910 では、別のデータグラムが送られた待ち行列内に存在するかに関 して判断され、否であれば、ステップ915 で前もって送られた全てのデータグラ ムが受領告知されたかを判断するために検査が行われる。前に受けたデータグラ ムの全てが受領告知されていて、送られるべき別のデータグラムがないときは、 RDPモジュール50は、ユーザまたは受信端から別の動作を待つアイドル状態に 入る。 ステップ910 で別のデータグラムが送られた待ち行列にあるとき、ステップ92 0 では、送られるべき次のデータグラムが、前もってセットしたウインドウ(N )内に含まれるかが判断される。それが未解決の受領告知の所定数内であるとき 、ここでステップ930 に記載されているようにメッセージヘッダが生成され、網 へ 送られるように最後のメッセージがUDPモジュール41へ転送される。ここでシ ステムは、送られるべき別のデータグラムがあるかを検査することができる。 ステップ935 でユーザプロセスの1つからの新しいデータグラムを受けると、 受けたデータグラムは、送られるべき記憶されたメッセージの待ち行列に加入さ れる。送ることが必要な別のデータグラムに関して前に記載されているような処 理手順がステップ920 で行われる。 受信端から受領告知を待つ一方でタイムアウトの再送を行なうとき、最古の記 憶したデータグラム、すなわち一番初期のデータグラムで未だ受領告知されてい ないものがステップ940 で再生され、このデータグラムを送るのに使われるアド レスリスト内の指向地アドレスが使用できないとしるしを付けられる。もっとも 特定のアドレスを使ってデータグラムの送りを試行した数が超過した場合でこの ステップは図示していない。ステップ945 で特定のデータグラムに対するデータ グラム転送試行カウントが限度を越えたとき、要求される指向地に対するアドレ スリスト内の幾つかのまたは全てのアドレスが試行されることになるので、該指 向地は使用できないと決め込むことができる。この結果、全ての後続の未送のデ ータグラムを有するユーザプロセスに対してエラーメッセージが戻される。試行 カウントが限度を越えていないとすると、ステップ950 で試行数はインクレメン トし、ステップ955 でアドレスリストの別のアドレスに最古のデータグラムを送 る別の試みが行われる。 ユーザプロセスからの有効なデータグラムを受けて、RDPモジュール50が、 上述の説明のようにステップ935 に戻って、データグラムを送ることに注意する ことを除けば、本発明の実行のためにアイドル状態をさらに詳細に説明する必要 はないと考える。 セットシーケンス受領告知の待ち状態100 において、図8のステップ805 ない し860 に示されたのと同じ方法でセットシーケンスを受けると、システムは受領 告知の待ち状態90に入る。その代りに、例えば図8のステップ840 で、または図 7のステップ740 ないし745 で設定された方法で発生するタイムアウトによって 判断されるように、否定の受領告知信号が送られるならば、セットシーケンスの 受領告知システムはシステムをリセットしてセットシーケンス状態を送るために 待ち状態を始めるようにする。 ここで図6を参照すると、図3のRDPモジュール50の受けユニット側は、最 初にセットシーケンスの待ち状態200 になる。さらに図10を参照すると、FL フィールドの“S”ビットが設定されるUDPモジュール41からのデータグラム の受けることによって、モジュールはこの状態から受けたデータグラムを検査す る状態に移行する。 ステップ210 でRDPヘッダ63に保持されるシーケンス番号が記憶され、ヘッ ダの別の検査によって図2の送りノード10が少なくとも1つの未解決の受領告知 で動作できるか否かが確認される。したがってステップ215 で複数の未解決のデ ータグラムが許されるならば、ステップ220 で受けノード12が処理することがで きる最大数の未解決のメッセージがメモリから再生され、ステップ225 でこの値 がRDPデータグラムのメッセージ部分に転送され、受領告知ビットがクリアさ れ、ヘッダ63のフラッグフィールドFLのセットビットが設定され、シーケンス 番号がクリアされて、これがセットウインドウの要求メッセージであることを送 りノードに示す。ここでステップ230 でデータグラムはインターネット網への転 送のためにUDPモジュール41に転送される。 ステップ235 でタイマが始動され、このタイマは受領告知ウインドウサイズを 送りおよび受けノード10および12の間で予測される最悪の往復時間倍した値にセ ットされる。ここでモジュール50は、セットウインドウの受領告知の待ち状態30 0 に入る。 ここでステップ215 で送りノード10がスライディングウインドウプロトコルで 動作することができないと判断されるときは、ステップ240 で受領告知されてい ない未解決のデータグラムが何れも許可されないことを確実にするために受けた ウインドウを設定し、かつ全てのデータグラムが受けた順番に受領告知されるこ とを確実にするために受領告知されたウインドウを設定する。 ここでステップ250 では、受領告知ビットは設定するが、セットウインドウ受 領告知を要求しないというデータグラムが構築される。したがって、戻されたデ ータグラムは、記憶され受領されるときのシーケンス番号、“A”ビット、およ びゼロに設定された“S”ビットを含み、再びステップ255 でデータグラムはユ ーザデータグラムプロトコルモジュール41に転送され、RDPモジュール50の受 け側は別のデータグラムを受けるのを留保するアイドル状態に入る。 最後に図10を参照すると、セットシーケンスの待ち状態200 における動作、 すなわち無効のデータグラムを受けた結果はエラーを戻すことになり、そこには 否定の受領告知を含んでいて、ステップ260 で受けたシーケン番号と共に“N” ビットを使用して、ステップ265 でユーザデータグラムプロトコルを介して戻す 。このケースではRDPモジュール50は最初の状態、すなわちセットシーケンス の待ち状態200 のままである。 再び図6を参照すると、セットウインドウ受領告知の待ち状態300 において、 図3のRDPモジュール50は、ステップ230 で前もって送られたウインドウサイ ズのセットメッセージの受領告知を待つ。データグラムに保持されているNと異 なる値のモジュールから受領告知を受け、かつSビットが設定されると、受けた ウインドウサイズは新しいNに調節され、図10のステップ250 および255 と同 じ方法でセットシーケンスの受領告知が設定され、その後にRDPモジュールが アイドル状態となって別のデータグラムが送りノードからメッセージを戻すのの 受け待ちに入る。 その代りに、ステップ235 で設定されたタイマが終了するときには、RDPモ ジュールをセットシーケンスの待ち状態200 に戻すことができ、またはセットシ ーケンス要求を再び受けるときには、図10のステップ210 で始まる処理手順が 反復される。 アイドル状態400 では、出口は網からのデータグラムによる。したがって図1 1を参照すると、データグラムを受けるとき、第1のステップはヘッダ63からメ ッセージのシーケンス番号が得ることである。したがってステップ405 でヘッダ からシーケンス番号が取除かれ、ステップ410 で比較されて、それが(n−s) ないし((n+s)−1)の範囲内にあることを確実にする(尚、nは受けたがまだ 受領告知されていない最小のシーケンス番号であり、sは受領告知を受けずに送 りモジュールが送ることができるデータグラム数である)。これがステップ410 であり、加えてメッセージのシーケンス番号が範囲外であるならば、データグラ ムは放棄され、モジュール50はアイドル状態のままである。シーケンス番号が範 囲内にあるとすると、ステップ415 でこれが実際に複製されたデータグラムであ るかを調べるための検査が実行される。したがって受けたメッセージのシーケン ス番号が前に受けたメッセージのシーケンス番号と同じであるとき、そのデータ グラムが関係する受領告知は送りノード10によって受けておらず、ステップ415 で受領告知が再送されることが示される。 ステップ415 でこれが実は複製でないと判断されると、ステップ430 で検査が 行われ、連続する番号のメッセージのみが指向地の待ち行列に転送されることを 確実にする。したがってステップ430 およびステップ435 に示されているように 前に番号を付けた全てのメッセージが受領されて、ポート待ち行列に転送され、 特定のポートに対する処理待ち行列にこのメッセージ用の記憶スペースが依然と してあると判断をすると、ステップ440 でメッセージは配送され、受領告知を送 るために待ち状態に入る。 しかしながら、データグラムが喪失している、すなわちシーケンス番号中に欠 番があると、ステップ450 では受けたデータグラムが一時的に記憶され、喪失メ ッセージの待ち状態に入る。同様に、ステップ435 でポート待ち行列が一杯であ り、したがって指向地プロセスが十分に素早くメッセージを処理できないでいる と、ステップ460 で、メッセージは一時的メモリに保持される。ステップ465 に おいて配送試行カウンタが設定され、システムは、スペースを有するポート待ち 行列を保留する間に再配送待ち状態に入る。 ここで図12を参照すると、受領告知を送る待ち状態中に別のデータグラムを UDPモジュール41から受けると、図11のメッセージ処置手順が実行される。 メッセージ処理手順から戻ると、RDPモジュール50は、ステップ510 で受領告 知無しに受けられるデータグラムの最大許容数を受領したかを判断する。この段 階において受領告知なしに受けた連続するデータグラムの最大数が受けていない とき、このモジュールは受領告知された状態を送り戻すための待ち状態で安定し 続ける。しかしながらステップ510 で判断されたところにより受領告知無しに受 けることができるデータグラム数に到達しているならば、または安定状態で、最 初に受けた受領告知されていないデータグラムを受けるときにセットされたタイ マが終了するならば、ステップ515 で受領告知は送りノードに送られ、次にそれ ぞれステップ520 および525 で受けウインドウおよび受領告知ウインドウの値が 調節される。 ここで送りおよび受けノードにおけるデータグラム流の制御が3つのウインド ウという限度の制御のしたにあり、これらは送り状態機械における送りウインド ウと、受け状態機械における受けウインドウと受領告知ウインドウであることに 注意すると便利である。送り状態機械における送りウインドウは、未解決になる ことができるデータグラム、すなわち送られたが、まだ受領告知されていないデ ータグラム数を制限する。データグラムが受領告知されると、それらは送り待ち 行列から取除かれ、送りウインドウはシーケンス番号と一緒に調節され、別のデ ータグラムを送ることができるようにする。送りウインドウは受けウインドウほ ど大きくないことに注意すべきである。 受けウインドウは、受けて記憶することができるデータグラム数、すなわちR DPモジュール50によって纏めることができるデータグラム数を制限し、したが って喪失データグラムの後で受けることができるデータグラム数を制限する。受 領告知ウインドウは受領告知を送る前に順番に受け、受け待ち行列に記憶するこ とができるデータグラム数を制限する。 ここで図13を参照すると、再配送待ち状態600 において、受領告知のタイム アウトが終了するか、またはステップ605 に示されているように、既に受けたメ ッセージのシーケンス番号を有するメッセージを再び受けるとき、システムは特 別な告知メッセージを送りノードに送り、データグラムを配送すべきでないこと を示し、受けプロセス31ないし3pが前に待ち行列に加えられたデータグラムを 処理していないので受領告知又は否定の受領告知を留保する。もっともステップ 605 で有効なデータグラムを受けて、それが配送を留保する一時的メモリに加入 されることを条件とする。 再配送のタイムアウトが終了するときに第3の状態が発生し、その場合に、ス テップ620 で処理待ち行列が検査され、それがもはや一杯でないならば、ステッ プ625 で最古の未解決のデータグラムをユーザ処理待ち行列に配送する試みが行 われる。さてステップ630 では最も古いデータグラムが配送されて、配送を待っ ている別のデータグラムがあるかを判断する検査が行われ、それがないときは、 前に受けた全てのデータグラムが受領告知されてしまっていれば、RDPモジュ ール50はアイドル状態に入る。 ステップ630 で別のデータグラムが配送のために利用可能であると判断される と、ステップ620,625,630 のループを通って別のデータグラムを配送する試みが 行われる。 しかしながらステップ620 で待ち行列が一杯であると判断されると、試行カウ ントがその最大値に到達していないならば、ステップ645 において再配送のタイ ムアウトが再び始められる。 試行カウントの質問によって、待ち行列に配送するためにした試行数が、ユー ザプロセスが失敗したことを示すと判断するときは、ステップ650 で否定の受領 告知が送られ、システムは送られる否定受領告知の受領告知を待つ。 最後に受けたデータグラムが逐次的順番でないと識別される場合に、多数の状 態から喪失データグラムの待ち状態に入ることができる。全ての受けたデータグ ラムが正しい順番になるまで、この状態は図11で設定されたステップの順序に 従う。 明白にするために、いつでも設定されたシーケンス要求は受けられ、未解決の 受けたデータグラムは無視され、送りノードと受けノードとの間の通信が再び初 期設定されるとした。通信が2つのノード間で設定されると、完全にネットワー クが失敗しない限り、反復設定されたシーケンス要求信号が送られる可能性が低 いことにも注意すべきである。
───────────────────────────────────────────────────── フロントページの続き (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),AP(KE,LS,MW,SD,SZ,U G),AL,AM,AT,AU,BB,BG,BR,B Y,CA,CH,CN,CZ,DE,DK,EE,ES ,FI,GB,GE,HU,IS,JP,KE,KG, KP,KR,KZ,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,TJ,TM,TT,UA,UG,US,UZ,V N (72)発明者 ラッキング、 アンドリュー・マイケル イギリス国、アイピー5・7ワイビー、サ フォーク、イプスウィッチ、ケスグレイ ブ、グランジ・ファーム、マーシャル・ク ローズ 9 (72)発明者 チャップマン、 ジェイムズ・クリストフ ァー・ティッド イギリス国、アイピー3・8アールエフ、 サフォーク、イプスウィッチ、パーディ ス・ファーム、ヘーゼル・ドライブ 6

Claims (1)

  1. 【特許請求の範囲】 1.それぞれが複数の網ノードアドレスにアクセス可能な複数のホスト計算機で 成る種類の多プロセッサ環境で動作しているプロセス間でのデータパケット転送 方法であって、 アドレスされる各プロセスに対して指向地ホスト識別子と指向地ホストポー トとを設定する段階と、 各指向地ホスト識別子に対して複数の対応する網ノードアドレスで成るアド レスリストを設定する段階と、 データパケットの各伝送に対して、目的地ホストに対するそれぞれのアドレ スリストから、ノード間の伝送に使用された最終アドレスに対するリスト内で循 環的に次のアドレスとなる網ノードアドレスを選択する段階と、 データパケットに選択された網ノードアドレスと目的地識別ポートとを定義 するヘッダを加える段階と、 パケット受領告知のための戻りデータを監視する段階と、 受領告知されないデータパケットをアドレスリスト内の次の網ノードアドレ スへ再送信する段階とから成る方法。 2.プロセス間で送られる各メッセージヘッダが、メッセージのシーケンス内に 少なくとも1のメッセージが欠けていることを受けノードが識別するために送り ノードによってインクリメントされるメッセージのシーケンス番号を含むことを 特徴とする請求項1記載のデータパケット転送方法。 3.受けノードから受領告知を受けるときに、送りノードがシーケンス番号をイ ンクリメントすることをさらに特徴とする請求項2記載のデータパケット転送方 法。 4.受けノードが最後に受けたシーケンス番号の記録を保持し、正しいシーケン ス番号を含むデータパケットを受けたときに、送りノードの受領告知を戻し、そ のシーケンス番号をインクリメントすることをさらに特徴とする請求項2または 3のデータパケット転送方法。 5.正しいシーケンス番号よりも1だけ小さい不正確なシーケンス番号を検出し たときに、受けノードが受領告知を送りノードに戻すことをさらに特徴とする請 求項4記載のデータパケット転送方法。 6.正しく受けたシーケンス番号がないときに、受けノードがシーケンス外のデ ータパケットを受けたことを示すフラッグを伴う受けシーケンス番号を有するメ ッセージを戻すことを特徴とする請求項4または5記載のデータパケット転送方 法。 7.ヘッダが部分番号を含み、それは転送データパケットが送りプロセスと受け プロセスとの間で転送されることとなる完全なデータパケットの一部分のみであ り、かつ受けノードが、受けプロセスへ送るための多数の転送されたデータパケ ットから完全なデータパケット部分を再び纏めることを示す部分的な番号を示す ことをさらに特徴とする請求項1ないし6の何れか1項記載の方法。 8.データパケットの故障の所定数を越える各アドレスリスト内の網ノードアド レスが、アドレスリストから削除されることを特徴とする請求項1ないし7の何 れか1項記載のデータパケット転送方法。 9.削除された網ノードアドレスへの接続を確立するために周期的な間隔で複数 の試みが行われることをさらに特徴とする請求項8記載のデータパケット転送方 法。 10.一連のメッセージ内にメッセージがないことを識別するときに、受けノー ドが送りノードからの受領告知を与えないでおくことをさらに特徴とする請求項 2ないし6の何れか1項記載のデータパケット転送方法。 11.所定の時間内に受領告知がないとき、送りノードが以前に前送りしたデー タパケットでそれについて受領告知を前に受けていなかったものを再送させるよ うにすることをさらに特徴とする請求項10記載のデータパケット転送方法。 12.前記受けノードが送りノードから複数のデータパケットを受け、所定数の データパケットを受けたかまたは所定の期間を終了したときに、受けノードが送 りノードから複数のデータパケットを受け、かつ受領告知を送ることをさらに特 徴とする請求項2または3記載のデータパケット転送方法。 13.特定のメッセージのシーケンス番号を有する受領告知を受けたとき、送り ノードが前に番号を付けられた全てのデータパケットを受けたと判断することを さらに特徴とする請求項12記載のデータパケット転送方法。 14.シーケンス外のメッセージ番号を有するデータパケットを受けると、デー タパケットの受領告知を送る前に番号を付けた全てのデータパケットを受けるま で受けノードがデータパケットを記憶することをさらに特徴とする請求項13記 載のデータパケット転送方法。 15.最も新しく受けたデータパケットの受けノードメッセージシーケンス番号 が、まだ受けていないメッセージの最小シーケンス番号に所定数を乗じたものを 越えるときは、受けノードが、連続するメッセージの最大シーケンス番号を有す る最後に受けたデータパケットの受領告知を送ることを特徴とする請求項14記 載のデータパケット転送方法。
JP8517432A 1994-12-09 1995-12-08 多プロセッサ環境 Pending JPH10510403A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP94309231 1994-12-09
GB94309231.2 1994-12-09
PCT/GB1995/002886 WO1996018256A2 (en) 1994-12-09 1995-12-08 Multi-processor environments

Publications (1)

Publication Number Publication Date
JPH10510403A true JPH10510403A (ja) 1998-10-06

Family

ID=8217936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8517432A Pending JPH10510403A (ja) 1994-12-09 1995-12-08 多プロセッサ環境

Country Status (11)

Country Link
US (1) US5931916A (ja)
EP (1) EP0796533B1 (ja)
JP (1) JPH10510403A (ja)
KR (1) KR980700762A (ja)
CN (1) CN1086531C (ja)
CA (1) CA2205068C (ja)
DE (1) DE69531410T2 (ja)
FI (1) FI972404L (ja)
NO (1) NO972619L (ja)
NZ (1) NZ296583A (ja)
WO (1) WO1996018256A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524727A (ja) * 2010-04-15 2013-06-17 マイクロソフト コーポレーション Httpを介した信頼性のあるプロトコルトンネリングのための方法およびシステム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489983B2 (ja) * 1997-12-26 2004-01-26 富士通株式会社 データ転送システム、端末装置、及びその方法
US6192414B1 (en) * 1998-01-27 2001-02-20 Moore Products Co. Network communications system manager
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US6611495B1 (en) * 1999-02-22 2003-08-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for improved data transfer in packet-switched communication networks
AU4476800A (en) * 1999-04-26 2000-11-10 Stanford Global Link Corporation Global unified messaging system and method
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
KR100324281B1 (ko) * 1999-08-31 2002-02-25 서평원 중앙 집중식 고속 데이터 전송 장치
FI109438B (fi) * 1999-10-15 2002-07-31 Nokia Corp Menetelmä tiedon siirtämiseksi pakettidatakanavalla
JP2001142845A (ja) * 1999-11-17 2001-05-25 Toshiba Corp コンピュータシステムおよびデータ転送制御方法
US20010032271A1 (en) * 2000-03-23 2001-10-18 Nortel Networks Limited Method, device and software for ensuring path diversity across a communications network
AU2001257132A1 (en) * 2000-04-20 2001-11-07 Ciprico Inc. Method and apparatus for providing fault tolerant communications between network appliances
US6701449B1 (en) 2000-04-20 2004-03-02 Ciprico, Inc. Method and apparatus for monitoring and analyzing network appliance status information
US6894976B1 (en) * 2000-06-15 2005-05-17 Network Appliance, Inc. Prevention and detection of IP identification wraparound errors
AU2001271609A1 (en) * 2000-06-30 2002-01-14 Kanad Ghose System and method for fast, reliable byte stream transport
US6530056B1 (en) * 2000-08-25 2003-03-04 Motorola, Inc. Method for setting a timer based on previous channel request statistics
CA2355473A1 (en) * 2000-09-29 2002-03-29 Linghsiao Wang Buffer management for support of quality-of-service guarantees and data flow control in data switching
US6898213B1 (en) * 2000-10-16 2005-05-24 Iprad Ltd. Circuit emulation service (CES) over IP
US6687700B1 (en) * 2000-11-09 2004-02-03 Accenture Llp Communications system for supporting inter-dependent data messages
JP3740982B2 (ja) * 2001-01-15 2006-02-01 日本電気株式会社 ネットワークに接続されたホストコンピュータの死活監視方法
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
DE50113534D1 (de) * 2001-05-04 2008-03-13 Nokia Siemens Networks Gmbh Verfahren zur Flusskontrolle bei mehreren Sendern mit unbekannter und/oder verschiedener Sendeleistung
US6976085B1 (en) * 2001-11-20 2005-12-13 Cisco Technology, Inc. Methods and apparatus for inserting data into a communications session
KR100954253B1 (ko) 2001-11-30 2010-04-23 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 데이터 전송 시스템, 동작 방법 및 디지털 미디어 캐리어
US7143169B1 (en) * 2002-04-04 2006-11-28 Cisco Technology, Inc. Methods and apparatus for directing messages to computer systems based on inserted data
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US7092990B2 (en) * 2002-06-26 2006-08-15 International Business Machines Corporation Handling node address failure in a distributed nodal system of processors
US7987271B1 (en) * 2002-08-12 2011-07-26 Cisco Technology, Inc. Methods and apparatus for inserting content within a content page
US7849140B2 (en) 2002-08-29 2010-12-07 Oracle America, Inc. Peer-to-peer email messaging
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
KR100964657B1 (ko) * 2002-12-07 2010-06-21 엘지전자 주식회사 홈 네트워크 시스템의 데이터 다운로드 방법
US20040210537A1 (en) * 2003-04-15 2004-10-21 Grubb Christopher J. User-controlled sale and delivery tracking system
US20050039184A1 (en) * 2003-08-13 2005-02-17 Intel Corporation Assigning a process to a processor for execution
US7444396B2 (en) 2003-08-29 2008-10-28 Sun Microsystems, Inc. Transferring system identities
US7389411B2 (en) 2003-08-29 2008-06-17 Sun Microsystems, Inc. Secure transfer of host identities
GB2405965B (en) * 2003-08-29 2005-11-02 Sun Microsystems Inc Transferring system identities
US7814188B2 (en) 2003-12-16 2010-10-12 Honeywell International Inc. Synchronized wireless communications system
US8015154B1 (en) * 2004-06-07 2011-09-06 Teradata Us, Inc. Starting database software in response to a broadcast message
JP4271160B2 (ja) * 2005-03-23 2009-06-03 ファナック株式会社 生産システムにおけるネットワーク開通方法
CN100471180C (zh) 2006-02-09 2009-03-18 华为技术有限公司 一种消息传递的方法、装置和系统
JP5494646B2 (ja) * 2009-02-25 2014-05-21 日本電気株式会社 通信ネットワーク管理システム、方法、及び管理計算機
CN102014055B (zh) * 2010-11-23 2015-09-16 中兴通讯股份有限公司 Mtp2协议中流量控制的方法及系统
JP6294002B2 (ja) 2013-02-08 2018-03-14 株式会社Nttドコモ 距離推定方法、及びユーザ装置
US9325586B1 (en) * 2014-03-26 2016-04-26 Marvell Israel (M.I.S.L.) Ltd. Packet duplication measurement in a network device
CN105933307A (zh) * 2016-04-19 2016-09-07 深圳市东微智能科技有限公司 一种支持多处理器的数据封装方法及系统
CN105897781B (zh) * 2016-06-30 2019-05-31 北京奇虎科技有限公司 移动终端与服务器之间数据传输的控制方法及装置
CN111291104B (zh) * 2020-01-20 2023-07-28 中国银联股份有限公司 一种基于异步应答的传输数据的方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058672A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched data communications system
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US4554656A (en) * 1982-08-11 1985-11-19 At&T Bell Laboratories Method and system for controlling the interconnecting of a plurality of local data networks
US4918686A (en) * 1987-07-27 1990-04-17 Hitachi, Ltd. Data transfer network suitable for use in a parallel computer
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
CA1294347C (en) * 1988-05-05 1992-01-14 Man Him Hui Remote interconnection of local area networks
US4947389A (en) * 1989-06-06 1990-08-07 At&T Bell Laboratories Multi-channel ring architecture for distributed networks
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JPH03270529A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd 総合ディジタル通信サービス網でのマルチホストシステム
ATE149276T1 (de) * 1991-05-08 1997-03-15 Semaphore Inc Gerät und verfahren zur parallelen und regelgestützten datenübertragung
DE69123149T2 (de) * 1991-09-03 1997-03-13 Hewlett Packard Co Nachrichtweglenking-Apparat
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5260933A (en) * 1992-05-15 1993-11-09 International Business Machines Corporation Acknowledgement protocol for serial data network with out-of-order delivery
US5541911A (en) * 1994-10-12 1996-07-30 3Com Corporation Remote smart filtering communication management system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524727A (ja) * 2010-04-15 2013-06-17 マイクロソフト コーポレーション Httpを介した信頼性のあるプロトコルトンネリングのための方法およびシステム

Also Published As

Publication number Publication date
DE69531410T2 (de) 2004-05-06
NO972619D0 (no) 1997-06-06
EP0796533A2 (en) 1997-09-24
WO1996018256A2 (en) 1996-06-13
FI972404A7 (fi) 1997-06-06
NZ296583A (en) 1998-04-27
MX9703743A (es) 1997-09-30
AU4122296A (en) 1996-06-26
KR980700762A (ko) 1998-03-30
FI972404A0 (fi) 1997-06-06
WO1996018256A3 (en) 1996-09-06
CA2205068A1 (en) 1996-06-13
CN1086531C (zh) 2002-06-19
FI972404L (fi) 1997-06-06
DE69531410D1 (de) 2003-09-04
NO972619L (no) 1997-06-06
CN1169224A (zh) 1997-12-31
US5931916A (en) 1999-08-03
EP0796533B1 (en) 2003-07-30
AU689005B2 (en) 1998-03-19
CA2205068C (en) 2000-08-01

Similar Documents

Publication Publication Date Title
JPH10510403A (ja) 多プロセッサ環境
US4807118A (en) Method for handling slot requests over a network
EP0409578B1 (en) Data communication method and system with cyclic sequence of acknowledgements
US5745685A (en) Protocol extension in NSPP using an acknowledgment bit
JP4017652B2 (ja) データ伝送方法およびデータ伝送装置
CN1319303C (zh) 通信设备,传输控制方法,和程序产品
US4430651A (en) Expandable and contractible local area network system
KR100812412B1 (ko) 데이터 패킷 전송 방법 및 네트워크 통신 시스템
US20040249948A1 (en) Performing application layer transactions during the connection establishment phase of connection-oriented protocols
US4410889A (en) System and method for synchronizing variable-length messages in a local area network data communication system
US20060164974A1 (en) Method of moving a transport connection among network hosts
EP0464014A2 (en) Communications systems using a fault tolerant protocol
US8675472B2 (en) Method and apparatus for network management system
CA2249169A1 (en) Mechanism for dispatching packets via a telecommunications network
US9451054B2 (en) Reliable transport layer protocol in low performance 8-bit microcontrollers
JPH0669931A (ja) 情報通信システムにおける誤り回復方法
US20030108044A1 (en) Stateless TCP/IP protocol
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
JP2003060735A (ja) 通信プロトコル試験装置
AU689005C (en) Multi-processor environments
CA2246134C (en) Enhanced network protocol
KR100298483B1 (ko) 다중 중앙처리장치 보드 레벨 상위 통신 프로토콜
JPS63246055A (ja) パケツト送受信装置
MXPA97003743A (en) Multip processor environment
CN109995724A (zh) 一种通信方法、客户端及通信系统