JP2000510976A - 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法 - Google Patents

相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法

Info

Publication number
JP2000510976A
JP2000510976A JP09541383A JP54138397A JP2000510976A JP 2000510976 A JP2000510976 A JP 2000510976A JP 09541383 A JP09541383 A JP 09541383A JP 54138397 A JP54138397 A JP 54138397A JP 2000510976 A JP2000510976 A JP 2000510976A
Authority
JP
Japan
Prior art keywords
computer
synchronization
data
task
processing
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
JP09541383A
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2000510976A publication Critical patent/JP2000510976A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 本方法ではコンピュータのなかのプログラムの命令の処理が、処理の際に他のコンピュータ上のプログラムとの同期化を要求する命令が生ずるときには、中断される。次いで各々の関与するプログラムから少なくとも1つの他のコンピュータ上のパートナープログラムに対する同期化データのセットが入力され、受信状態に切換えられ、プログラムの命令の処理が、他のコンピュータのプログラムの同期化データのセットが受信されるまで、中断される。

Description

【発明の詳細な説明】 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための 方法 ますますコンピュータ設備は通信装置を介して互いにネットワーク接続される 。多くの応用では、相互接続システムのなかに統合されたデータ処理設備の同期 化に特に注意が払われなければならない。 その際に同期化の形式に関して種々の要求が存在し得る。一方では相互接続シ ステムのコンピュータから要求される同期性は主として時間的な性質であり得る 。この場合にはコンピュータは可能なかぎり並列に動作すべきである、すなわち 、現在のプログラムの命令の処理に関して時間的に可能なかぎり常に等しい処理 状態にあるべきである。すなわちコンピュータは各瞬間にそれぞれ可能なかぎり 等しい処理シーケンスを処理すべきである。 純粋に時間的な並列性を越えて相互接続システムのなかのコンピュータの同期 性の際には、コンピュータのなかのそれぞれの処理シーケンスが可能なかぎり等 しいデータ技術的な意味内容を有するべきであるという追加的な要求が生ずる。 このことは、相互接続システムのコンピュータが近似的に時間的に等しい命令処 理の際に可能なかぎり同一の出力値に基づいて可能なかぎり同一の結果値をも達 成すべきであることを意味する。このような場合には時間的同期化の枠内で、複 数のコンピュータ上の個々のプログラムの出力値または選ばれた現在の処理値の 比較も有利である。 実際的な技術的な応用では、さまざまな擾乱となる影響に基づいて、相互接続 システムのなかの種々の互いにネットワーク接続されているコンピュータのなか の命令処理がより長い時間にわたって時間的および/または論理内容的な同期性 を保つことは達成できない。それどころか通常、コンピュータのなかの命令処理 の同期性を維持し、または回復するため、サイクリックに特別な技術的な対策が 実行されなければならない。 このことは、相互接続システムのコンピュータがいわゆるハイアベイラブルま たはフェイルセーフなシステムを形成すべきときに特に重要である。その例はい わゆる“1-フロム-2”または“2-フロム-2”システムである。 たとえば“1-フロム-2”システムでは、同一のプログラムを有する2つの接 続されているコンピュータは、たとえば測定値のような等しい出力データを高い コンピュータシステムアベイラビリティの周辺条件のもとに処理すべきである。 両コンピュータの処理状態が、場合によってはごくわずかに相違する処理速度に 基づいて、中期的に過度に強く相違しないことが一般に保証されなければならな い。さらに一般に、両コンピュータが合致した処理結果を有することが保証され ていなければならない。このことは、両コンピュータが、たとえば高いアベイラ ビリティを必要とする技術的プロセスを制御するために使用されている場合、両 コンピュータの一方が故障したとき、他方のコンピュータがほぼ跳躍なしに技術 的プロセスの制御を継続し得るための前提である。すなわち、このような“1- フロム-2”システムでは、両方の関与するコンピュータが、特別な同期化対策 により時間的に同期化されなければならない。さらに、一般にそれらの現在の処 理内容の同一性が検査されなければならない。 これらの条件は、いわゆる“2-フロム-2”コンピュータシステムにおいても 、“1-フロム-2”コンピュータシステムと非常に類似している。その際に同一 のプログラムを有する2つの接続されているコンピュータはたとえば測定値のよ うな等しい出力データを高い処理確実性の周辺条件のもとに処理すべきである。 しかしその際に処理結果の突然の除去不可能な不同一性が検出されると、望まれ る結果確実性はもはや得られない。すなわち確実性にとって重要な処理の際には 、両コンピュータ上の応用プログラムが確実な状態、たとえば停止状態、にもた らされなければならない。確実性にとって重要なプロセスの別の処理はもはや可 能でない。なぜならば、両コンピュータのどちらの上のどのプログラムが不同一 性の突然の生起の瞬間になお“正しい”処理結果を有しているかを判定すること ができないからである。 比較可能な周辺条件は、いわゆる“2-フロム-3”システムにおいても存在す る。この際には一方ではシステムの高いアベイラビリティの要求、また他方では データの高い処理確実性の要求が同時に満足され得る。このような場合には、 3つの接続されているコンピュータが等しい出力データを同一のプログラムによ り処理し得る。この際にも規則的な時間間隔で、3つのコンピュータの処理状態 が過度に強く相違しないこと、および特に各々のコンピュータのなかに等しい処 理結果が存在することが保証されなければならない。現在の処理結果の比較の際 に不同一性が検出されると、その現在の処理結果が突発的かつ持続的に両方の他 のコンピュータの合致する処理結果から偏差するならば、コンピュータが故障と みなされ、相互接続システムから除外されなければならない。システムは、3つ のコンピュータのうちの1つのコンピュータの故障の際にも処理の確実さもアベ イラビリティも保証する。この過程は多数決とも呼ばれる。このような場合に引 き続いて、もとの“3-フロム-2”システムが、システムの両方の残存するコン ピュータが高い結果の確実さまたは高いアベイラビリティをもってそれぞれのプ ログラムのデータを引き続いて処理すべきかどうかに関係して、いわば“2-フ ロム-2”システムまたは“1-フロム-2”システムに逆戻りしている。 上記の種類のコンピュータシステムでは、一般に規則的に繰り返す対策により 命令の内部的な処理順序の時間的な並列性が保証され、または再び確立されなけ ればならない。その際にこのような同期化のために必要な対策は、各個の関与す るコンピュータの正常な動作を可能なかぎり阻害せず、かつ少なくとも可能なか ぎり迅速に経過すべきである。 従って、本発明の課題は、互いに接続されているコンピュータ上の少なくとも 2つのプログラム、特に応用プログラムを同期化するための可能なかぎり簡単で 、堅牢で、特にわずかしか処理時間を必要としない方法を提供することである。 この課題は請求項1にあげられている同期化方法により解決される。本発明の 他の有利な実施例は従属請求項にあげられている。 以下、図面に示されている実施例により本発明を一層詳細に説明する。 図1は、例として通信接続によりデータバスを介して相互接続システムを形成 する2つのコンピュータを示し、 図2は、例としていわゆる放送によりデータバスを介してデータを交換する2 つのコンピュータを示し、 図3は、いわゆる“1-フロム-2”または“2-フロム-2”コンピュータ システムを形成し得る相互接続システムの2つのコンピュータの例について、本 発明による同期化方法の経過を説明する第1の時間的経過図であり、 図4はいわゆる“2-フロム-3”コンピュータシステムの3つのコンピュータ を形成し得る相互接続システムの例について、本発明による同期化方法の経過を 説明する第2の時間的経過図である。 図1には、2つのデータ処理設備(以下では短縮してコンピュータと呼ばれる )の間の通信接続の第1の例が示されている。その際に、キーボードおよび像ス クリーン4を介して操作可能な第1のコンピュータAが、第1の結合器3を介し て、またキーボードおよび像スクリーン7を介して操作可能な第2のコンピュー タBが、第2の結合器6を介してデータバス1と接続されている。これらの両コ ンピュータの間に、図1中に点線8により示されている定常的な通信接続8が確 立されている。このような、固定的な、接続オリエンティッドな通信接続を介し て、データが絶え間なく両コンピュータの間で直接に交換され得る。各コンピュ ータはデータを正確に他のコンピュータに送り、またはこれから受けるように構 成されている。 図2は、両データ処理設備AおよびBの間の通信接続の別の例を示す。その際 には通信接続が固定的に両コンピュータの間に設けられていない。それどころか この通信はいわゆる“放送原理”に基づいている。その際にたとえばコンピュー タAは、必要の際にメッセージ10、すなわちいわゆる放送、をデータバス1の なかに供給する。データバス1に接続されているすべての他のコンピュータ、図 1の例ではコンピュータBおよび場合によっては図1中に示されていないその他 のコンピュータは、データバス1を介してデータ受信を可能にする動作形式にあ る。すべての他のコンピュータは、先ずコンピュータAからデータバスのなかに 供給された放送を受信し、放送のデータが自身に向けられたものか、または利用 可能な内容を有するかどうかをチェックする。 本発明による同期化方法は、無制限に少なくとも図1、2により示されている 両接続形式に対して使用可能であり、また以下に図3の例により詳細に説明され る。 図3の時間的経過図のなかで、左側にはタイムマークT1…T11を有する一 般的な時間軸14が示されている。これらの時点は、本発明による同期化方法の 経過の際に生ずる両コンピュータAおよびBの処理状態の開始点を表す。これら の処理状態は、コンピュータAに対しては一般的な時間軸14の右に位置してい る時間軸15の上に、またコンピュータBに対しては図3の最も右に位置してい る時間軸16の上に、機能ボックスの形態で示されている。基本的にコンピュー タA、Bに対する時間軸15、16は、現在のプログラム、特にユーザープログ ラムの命令(コンピュータAに対してはタスクA、コンピュータBに対してはタ スクBと呼ばれている)の処理の経過または進展をシンボル的に示す。本発明に よる同期化方法に対して必要とされる処理状態は、タスクAおよびBの命令の処 理の自然の経過のなかに挿入され、またこうしてタスクA、Bの命令文の処理シ ーケンスにそれぞれ1つの少なくとも一時的な中断を生じさせる。本発明による 方法は、同期化によりひき起こされる個々のタスクの経過のなかに挿入される追 加的な処理状態が可能なかぎり短いという利点を有する。すなわち、コンピュー タA、Bの上で経過する両タスクは相互の同期化の目的のためにどうしても必要 な長さしか中断されない。 図3中に示されている例では、コンピュータのなかのタスクの経過の間に処理 状態が生じること、すなわちコンピュータのなかの現在の応用プログラムの命令 処理の際にたとえば、両コンピュータの間の同期化過程の経過を要求する命令が 生じることが仮定されている。コンピュータAに対する時間軸15の上で、これ らはたとえば時点T2=syncpoint XおよびT11=syncpoi nt X+1である。相応の仕方でコンピュータBに対する時間軸16の上で、 それぞれ1つの同期化をトリガーする時点T6=syncpoint Yおよび T11=syncpoint Y+1が存在している。本発明の説明を簡単化す る理由から、最初にたとえば追加的に、コンピュータAおよびBのなかで経過す るタスクAおよびBは、それぞれ命令文の合致する連鎖から成っており、従って コンピュータA、Bにより等しいユーザープログラムが処理されると仮定されて いる。このことは、たとえば同期化時点およびT6=syncpoint Yに 属する処理状態が、それぞれのタスクA、Bにおいて内容的に同一であることを 意味する。しかし図3の例では、このタスクの処理はコンピュータAおよびBの 上で時間的に離れ離れに進められる、すなわち処理はもはや近似的に同時にまた は同期化しては行われない。このことは図3中で、時点T2でのタスクAのなか のsyncpoint Xが時点T6でのタスクBのなかの相応のsyncpo int Yよりも時間的に早く生ずることから認識される。 したがって、時点T2でトリガーされる同期化過程が必要である。これは、本 発明によれば、他のコンピュータまたは相互接続システムの他のコンピュータと の同期化を要求する相互接続システムのコンピュータ、図3の例ではコンピュー タAが、最初に相応のタスクの処理の間に同期化点に到達すること、すなわち命 令処理の際に命令を達成することによって開始される。その際に時点T2で、現 在のユーザープログラムの命令の引き続いての処理が、先ずコンピュータAによ り中断され、相互接続システムの少なくとも1つの他のコンピュータに対する同 期化データの少なくとも1つのデータセットがデータインタフェースに入力され る。図3の例にはこのことが、“send syncdata x”と記された 、それから出る矢線35を有する処理ブロック17により示されている。 本発明により、同期化をトリガーするコンピュータは、同期化データセットの 入力のすぐ後に直ちに受信状態に、すなわち相互接続システムの他のコンピュー タ上のプログラムの相応のデータセットの受入れを可能にする動作形式に切換わ る。特に入力過程の終了のための送信するコンピュータのプログラムの同期化デ ータセットの入力の枠内では、相互接続システムの受信するコンピュータ上のプ ログラムの確認信号の受入れは期待されない。それどころか同期化データセット の入力の後に直ちにデータ受信状態に切換えられ、現在のタスクの引き続いての 処理が、相互接続システムの他のコンピュータのプログラムの相応の同期化デー タセットの到来まで中断される。図3中にこのことはコンピュータAの時間軸1 5上の“receive wait”と名付けられている処理ブロック19によ りシンボル化されている。 同期化の枠内で交換されるべき、および比較されるべきデータの量を減ずるた め、いわゆるシグネチァ形成により、転送されるべきデータの範囲が明白に減ぜ られ得る。シグネチァの形成の際にデータセットは一種の圧縮により、このデー タセットに比較してはるかに小さい大きさを有し得る一義的に特徴付ける同定文 字に減ぜられる。 いわゆる“受信可能状態を有する待ち状態”ともみなされ得るこの“rece ive wait”と名付けられる処理ブロック19の間に、コンピュータB上 のユーザープログラム“task B”の命令の処理が先頭を進み、時点T6で “syncpoint Y”と名付けられる相応の同期化時点に到達する。本発 明により、いまコンピュータBも現在のユーザープログラムの命令文の処理を中 断し、同期化データセットをデータバスに入力する。これはコンピュータBの時 間軸16上の“send syncdata Y”と名付けられる処理ブロック 20およびそれから出る矢線36によりシンボル化されている。好ましくは同期 化データセットの入力のすぐ後に、コンピュータBはデータを受信する状態に切 換わる。例では相互接続システムの他のコンピュータAは、既に時点T2でその 同期化データセットを入力し終わっているので、処理状態“receive”へ のコンピュータBの切換わりの後に“wait”相は生ぜずに、既に生じている コンピュータAの同期化データセット“syncdata x”が直接に受け入 れられ得る。このことは図3中に時点T8にコンピュータBの時間軸16上の“ receive/receive syncdata x”と名付けられる処理 ブロック26によりシンボル化されている。 他方において、コンピュータBから送出された同期化データセットは図3中に 矢線36により示されている伝送時間の経過後に動作状態“receive”を とり続けるコンピュータAにより直ちに受信され、このことはコンピュータAの 時間軸15上の“rceive syncdata y”と名付けられる処理ブ ロック22によりシンボル化されている。これによりその“wait”状態が終 了される。同期化データセット“syncdata y”の一般に比較的わずか な伝送時間に基づいて、この受信は同じく近似的に時点T8で開始する。いま両 コンピュータAおよびBの間でそれらの処理状態の近似的な同期性が達成されて おり、かつ引き続いての命令処理がこうして近似的に同時に行われるので、目指 される同期化目的が達成されている。 両コンピュータによりそれぞれ時点T10でそれぞれ受信される同期化データ セットの解析が行われることは有利である。コンピュータAに対してこのことは 時間軸15上に処理ブロック24“Bearbeitung syncdata y”により、またコンピュータAに対してこのことは時間軸16上に処理ブロ ック28“Bearbeitung syncdata x”により示されてい る。これらの両処理もいま近似的に同時に進行する。 本発明による同期化方法に対して、それぞれの同期化データセットの内容は役 割を演じない。最も簡単な場合には、交互に伝送される同期化データセットsy ncdata xおよびsyncdata yは、たとえばそれぞれ単一のビッ トから成っていてよい。これはタイミングマークの機能を有する。既にそれによ ってコンピュータの処理状態の時間的同期が、本発明による方法の応用のもとに 達成され得る。さらに同期化データセットはもちろん、たとえば両コンピュータ の処理結果の調整の役割をし得る任意の追加的な情報を含み得る。図3の例では 、たとえば処理ブロック24(“Bearbeitung syncdatay ”)でのコンピュータAの同期化データセットsyncdata xとコンピュ ータBの同期化データセットsyncdata yとの比較により、比較結果に 関係して、特に両同期化データセットの合致が認識されたならば、中断されたタ スクAの命令文の処理の続行がトリガーされる(“return to/…:t ask A”)。他方において特に不一致が存在する際には、引ぎ続いての処理 は中断され、またはもはや開始されない(“…/stop:task A”)。 等しい仕方で、処理ブロック28(“Bearbeitung syncdat a x”)でのコンピュータBの同期化データセットsyncdata yとコ ンピュータAの受信された同期化データセットsyncdata xとの比較に より、中断されたタスクBの命令文の処理の続行がトリガーされる(“retu rn to/…:task B”)か、もしくは引き続いての処理が最終的に中 止される(“…/stop:task B”)。 本発明による方法は、同期化データをデータインタフェースのなかに入力する 相互接続システムのなかのコンピュータからたとえば相互接続システムのなかの 他のコンピュータによるこれらのデータの正常な受信を確認する帰還報知が必要 でなく、また期待されないので、同期化が特に速く進行し得るという特別な利点 を有する。それどころかいわばそれが自ら同期化データをデータインタフェース のなかに入力する相互接続システムの他のコンピュータが“応答する”。この仕 方で、最小の時間的損失と相互接続システムのコンピュータの間のデータ伝送路 の最小の追加的な負荷とにより、追加的に交換される同期化データセットに基づ いて、非常に効果的な同期化が達成可能である。図3の例では、この達成または 回復された同期化は、時点T11でほぼ同時に時間軸15上のタスクAの命令文 の経過中にも時間軸16上のタスクBの命令文の経過中にも生起する各1つの引 き続いての同期化時点“syncpoint x+1”または“syncpoi nt y+1”により示されている。 本発明の別の実施例によれば、有利に、コンピュータにより、相互接続システ ムの少なくとも1つの他のコンピュータに対する同期化データの少なくともセッ トの入力の後に、経過時間が開始され、経過時間の終了までに同期化データのセ ットが少なくとも1つの他のコンピュータにより受信され得なかった場合には、 一方のコンピュータにより予め定められた命令文が実行される、特に報知が発生 され、または正常な命令処理が続行される。この措置は、同期化を要求するコン ピュータが、相互接続システムの他のコンピュータのなかの障害の生起の際に永 続的に、また場合によってはむなしく、この他のコンピュータからの同期化デー タセットの到来を待つことを防止する役割をする。固有の同期化データセットの 入力により同期化を要求するコンピュータによる予め定められた経過時間の終端 の到達により、他のコンピュータの同期化データセットが受信され得なかったな らば、要求するコンピュータにより適当な措置が開始され得る。たとえば相互接 続システムの他のコンピュータとの同期化の試みが中断され、同期化の試みの継 続中に中断されたそれぞれ現在のユーザープログラムの命令の処理が続行され得 る。 図3の例に本発明のこの実施例が既に示されている。すなわち、一方ではコン ピュータAにより時点T3で同期化データセット“send syncdata X”の入力にすぐ続いて、このような経過時間が処理ブロック18“star t timeout A”のなかで開始される。他の同期化データセット、示さ れている例ではコンピュータBのsyncdata yが、時点T8で特定の待 ち時間“wait”の経過後に、それにもかかわらず適時に受信され得たので、 経過時間は時点T10の到達により処理ブロック23“reset timeo ut A”で再びリセットされる。等しい仕方でコンピュータBにより時点T7 で、同期化データセット“send syncdata y”の入力にすぐ続い てこのような経過時間が処理ブロック“start timeout B”のな かで開始される。コンピュータBは、既に説明されたように、既に生じている同 期化データセットsyncdata x をコンピュータAから処理ブロック2 6で直ちに受け得るので、経過時間はそれにすぐ続いて処理ブロック27“re set timeout B”で既に再びリセットされ得る。 図4に示されている第2の時間経過図の例で、相互接続システムの3つのコン ピュータに対して本発明による同期化方法の経過が説明される。本発明による同 期化方法は、制限なしに相互接続システムのなかに一括接続されているより多数 のコンピュータに対しても応用可能である。図4の例では、コンピュータAに対 する第1の処理ブロックのなかの左側の範囲内に、ユーザープログラム“tas k A”よび特に本発明により構成されている同期化ルーチン“sync ro utine A”の経過が示され、図4の中央の範囲内に、コンピュータBに対 する第2の処理ブロックのなかにユーザープログラム“task B”および特 に本発明により構成されている同期化ルーチン“sync routine B ”の経過が示され、また最後に図4の右側の範囲内に、コンピュータCに対する 第3の処理ブロックのなかにユーザープログラム“task C”および特に本 発明により構成されている同期化ルーチン“sync routine C”の 経過が示されている。コンピュータは、相互接続システムのなかで特にデータ回 路網を介して互いに結合されている。ある用途では、ユーザープログラムtas k A、task Bおよびtask Cは同一の命令文から成っており、従っ て図4に示されている相互接続システムは既に説明されたいわゆる“2-アウト オブ-3”コンピュータ相互接続システムを示す。 通常の命令処理の間は、コンピュータA、BおよびCから相互接続システムの なかの他のコンピュータとの同期化が要求またはトリガーされるそれぞれ1つの プログラム点が到達される。図4の処理ブロックのなかで、これは“taskA ”の経過中のプログラム点“syncpoint X”、“task B”の 経過中のプログラム点“syncpoint Y”および“task C”の経 過中のプログラム点“syncpoint Z”である。これらのプログラム点 の各々に、名称“write syncdata X”、“write syn cdata Y”または“write syncdata Z”を有するそれぞ れ1つの命令ルーチンが続いている。これによって、それぞれのtask A、 task Bまたはtask Cの処理が中断され、場合によっては仮のデータ がプログラム処理のその後の続行のために一時記憶され、相応のコンピュータA 、BまたはCから同期化データセット“syncdata x”、“syncd ata y”または“syncdata z”がそれぞれの同期化ルーチンに対 して、およびデータインタフェースへの入力のために発生される。 コンピュータAの“sync routine A”は図4の例では下記の命 令文を有する: 1.send C,x 2.send B,x 3.set timeout A 4.receive B,y 5.wait 6.receive C,z 7. wait 8. reset timeout A 9. bool=x eq y eq z コンピュータBの“sync routine B”は図4の例では下記の命 令文を有する: 10.send A,y 11.send C,y 12.set timeout B 13.receive C,z 14.wait 15.receive A,x 16. wait 17. reset timeout B 18. bool=xeq yeq z コンピュータCの“sync routine C”は図4の例では下記の命 令文を有する: 19.send B,z 20.send A,z 21.set timeout C 22.receive A,x 23.wait 24.receive B,y 16. wait 17. reset timeout C 18. bool=xeq yeq z 同期化ルーチンの個々の命令文1.ないし28.の意味は下記のように説明さ れる: 1.コンピュータAが相互接続システムのコンピュータCに向けられている同 期化データセットxをデータインタフェースのなかに入力する(参照符号 29を有する点線の矢印を見よ)。 2.コンピュータAが相互接続システムのコンピュータBに向けられている同 期化データセットxをデータインタフェースのなかに入力する(参照符号 32を有する点線の矢印を見よ)。 3.コンピュータAが経過時間Aを開始し、そのなかで相互接続システムの他 のコンピュータB、Cの同期化テレグラムy、zの受信が期待される。 4.コンピュータAが受信状態に切換わり、またその後の命令処理を中断する 。 5.コンピュータAがそれに向けられたコンピュータBから入力された同期化 データセットyを受信する(参照符号31を有する実線の矢印を見よ)。 6.コンピュータAが受信状態にとどまり、またさらに命令処理を中断する。 7.コンピュータAがそれに向けられたコンピュータCから入力された同期化 データセットzを受信する(参照符号30を有する点線の矢印を見よ)。 8.コンピュータAが経過時間Aを予め定められた経過時点の到達の前にリセ ットする。なぜならば、中間時間中に適時に期待される同期化データセッ トがコンピュータBおよびCから受信され得たからである。 9.コンピュータAが固有の同期化データセットxおよび受信された同期化デ ータセットyおよびzの処理オペレーションを実行する。特に同期化デー タセットx、y、zの内容がアイデンティティの存在に関して検査される。 所望の結果が処理オペレーションの際に生ずるならば、task aのそ の後の処理が続行される。さもなければ、コンピュータA上のtask Aの命令処理は中断された状態にとどまり、応用に関係するエラー処理が トリガーされ得る。 10.コンピュータBが相互接続システムのコンピュータAに向けられている 同期化データセットyをデータインタフェースのなかに入力する(参照符 号31を有する点線の矢印を見よ)。 11.コンピュータBが相互接続システムのコンピュータCに向けられている 同期化データセットyをデータインタフェースのなかに入力する(参照符 号34を有する点線の矢印を見よ)。 12.コンピュータBが経過時間Bを開始し、そのなかで相互接続システムの 他のコンピュータA、Cの同期化テレグラムx、zの受信が期待される。 13.コンピュータBが受信状態に切換わり、その後の命令処理を中断する。 14.コンピュータBがそれに向けられたコンピュータCから入力された同期 化データセットzを受信する(参照符号33を有する実線の矢印を見よ)。 15.コンピュータBが受信状態にとどまり、さらに命令処理を中断する。 16.コンピュータBがそれに向けられたコンピュータAから入力された同期 化データセットxを受信する(参照符号32を有する実線の矢印を見よ)。 17.コンピュータBが経過時間Bを予め定められた経過時点の到達の前にリ セットする。なぜならば、中間時間中に適時に期待される同期化データセ ットがコンピュータAおよびCから受信され得たからである。 18.コンピュータBが固有の同期化データセットyおよび受信された同期化 データセットxおよびzの処理オペレーションを実行する。特に同期化デ ータセットx、y、zの内容がアイデンティティの存在を検査される。所 望の結果が処理オペレーションの際に生ずるならば、task bのその 後の処理が続行される。さもなければ、コンピュータB上のtask B の命令処理は中断された状態にとどまり、応用に関係するエラー処理がト リガーされ得る。 19.コンピュータCが相互接続システムのコンピュータBに向けられている 同期化データセットzをデータインタフェースのなかに入力する(参照符 号33を有する実線の矢印を見よ)。 20.コンピュータCが相互接続システムのコンピュータAに向けられている 同期化データセットzをデータインタフェースのなかに入力する(参照符 号30を有する点線の矢印を見よ)。 21.コンピュータCが経過時間Cを開始し、そのなかで相互接続システムの 他のコンピュータA、Bの同期化テレグラムx、yの受信が期待される。 22.コンピュータCが受信状態に切換わり、その後の命令処理を中断する。 23.コンピュータCがそれに向けられたコンピュータAから入力された同期 化データセットxを受信する(参照符号29を有する点線の矢印を見よ)。 24.コンピュータCが受信状態にとどまり、さらに命令処理を中断する。 25.コンピュータCがそれに向けられたコンピュータBから入力された同期 化データセットxを受信する(参照符号29を有する点線の矢印を見よ)。 27.コンピュータCが経過時間Cを予め定められた経過時点の到達の前にリ セットする。なぜならば、中間時間中に適時に期待される同期化データセ ットがコンピュータAおよびBから受信され得たからである。 28.コンピュータCが固有の同期化データセットzおよび受信された同期化 データセットxおよびyの処理オペレーションを実行する。特に同期化デ ータセットx、y、zの内容がアイデンティティの存在に関して検査され る。所望の結果が処理オペレーションの際に生ずるならば、task c のその後の処理が続行される。さもなければ、コンピュータC上のtas k Cの命令処理は中断された状態にとどまり、また応用に関係するエラ ー処理がトリガーされ得る。 図4に示されている実施例では、本発明の別の実施態様により、2つよりも多 いコンピュータがデータインタフェースを介して結合されている、または結合可 能である場合に対して、各コンピュータA、BまたはCが相互接続システムのな かの他のコンピュータに向けられた各セットを入力し、またこのコンピュータが 先行の入力に対して逆にされた順序で相互接続システムのなかの他のコンピュー タからの同期化データにおける相応のセットの受信を期待することが既に考慮に 入れられている。したがって、図4においては、たとえばコンピュータAは、相 互接続システムのコンピュータAおよびコンピュータBに向けられた同期化デー タセットxを入力する(send C,xおよびsend B+,x)。この送 信順序と逆に、コンピュータAにより次いでコンピュータBおよびCの同期化デ ータセットyおよびzの受信が期待される(receive B,yおよびre ceive C,z)。 本発明による同期化方法は変更されずに、接続されているコンピュータのタス クが同一の順序の命令文から成っておらずに、単に特定のプログラム点でデータ を交換するように構成されているとき、またはただ1つのコンピュータが他のコ ンピュータからのデータを受け取るように構成されているときにも応用可能であ る。

Claims (1)

  1. 【特許請求の範囲】 1.データインタフェース(1、3、6)を介して互いに接続された、または接 続可能である相互接続システムの少なくとも2つのコンピュータ(A、B、C) 上のプログラムを同期化するための方法において、相互接続システムのコンピュ ータ(A)が a)処理の際にコンピュータ(A)のなかのプログラム(task A)と相互 接続システムの少なくとも1つの他のコンピュータ(B、C)上の少なくと も1つのプログラム(task B、task C)との同期化を要求する 命令(syncpoint X、…)が生ずるときに、現在のプログラム (task A)の命令のその後の処理を中断し、 b)相互接続システムの少なくとも1つの他のコンピュータ(C、D)に対する 同期化データ(syncdata x、…)の少なくとも1つのセットをデ ータインタフェース(1、3、6)のなかに入力し、 c)同期化データ(syncdata x、…)の少なくとも1つのセットの入 力の後に受信状態(receive)に切換わり、 d)コンピュータ(A)により相互接続システムの少なくとも1つの他のコンピ ュータ(B、C)上のプログラム(task B、task C)の同期化 データ(syncdata y、syncdata z)の少なくとも1つ のセットがデータインタフェース(1、3、6)を介して受信されるまで、 現在のプログラム(task A)の命令のその後の処理を中断する(wa it) ことを特徴とする同期化方法。 2. a)相互接続システムの1つのコンピュータ(A、B、C)から相互接続システ ムの少なくとも1つの他のコンピュータに対する同期化データ(syncd ata x、…)の少なくとも1つのセットの入力の後に、内部の経過時間 (timeout A、…)が開始され、また b)1つのコンピュータ(A、B、C)により、経過時間(timeout A 、timeout B)の終了までに少なくとも1つの他のコンピュータ( A、B、C)から同期化データのセットが受信されなかった場合には、予め 定められた命令文が実行され、特にある報知が発生され、および/または現 在のプログラム(task A)の命令の処理が最終的に中止され、 c)さもなければ1つのコンピュータ(A、B、C)により内部の経過時間(t imeout A)がリセットされ、また現在のプログラム(task A 、…)の命令の処理が続行される ことを特徴とする請求項1記載の方法。 3.2つよりも多いコンピュータがデータインタフェースを介して結合されてい る、または結合可能である場合に対して、 a)相互接続システムのなかの1つのコンピュータ(A、…)がそれぞれ相互接 続システムのなかの各1つの他のコンピュータ(B、C)に向けられた少な くとも1つのセットを同期化データに入力し(send 3,x、send 2,x、…)、 b)このコンピュータ(A、…)が先行の入力に対しで逆にされた順序で相互接 続システムのなかの他のコンピュータからの同期化データにおける相応のセ ットの受信を期待する(receive 2,x、receive 3,x 、…) ことを特徴とする請求項1または2記載の方法。
JP09541383A 1996-05-22 1997-05-21 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法 Pending JP2000510976A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19620622A DE19620622A1 (de) 1996-05-22 1996-05-22 Verfahren zur Synchronisation von Programmen auf unterschiedlichen Computern eines Verbundes
DE19620622.7 1996-05-22
PCT/DE1997/001023 WO1997044731A1 (de) 1996-05-22 1997-05-21 Verfahren zur synchronisation von programmen auf unterschiedlichen computern eines verbundes

Publications (1)

Publication Number Publication Date
JP2000510976A true JP2000510976A (ja) 2000-08-22

Family

ID=7795027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09541383A Pending JP2000510976A (ja) 1996-05-22 1997-05-21 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法

Country Status (9)

Country Link
US (1) US6308223B1 (ja)
EP (1) EP0898744B1 (ja)
JP (1) JP2000510976A (ja)
KR (1) KR20000015819A (ja)
CN (1) CN1217798A (ja)
AT (1) ATE186790T1 (ja)
DE (2) DE19620622A1 (ja)
ES (1) ES2140241T3 (ja)
WO (1) WO1997044731A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19831720A1 (de) * 1998-07-15 2000-01-20 Alcatel Sa Verfahren zur Ermittlung einer einheitlichen globalen Sicht vom Systemzustand eines verteilten Rechnernetzwerks
JP3831154B2 (ja) * 1999-08-13 2006-10-11 株式会社東芝 プログラム多重化拡大方法
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US7024214B2 (en) * 2002-02-26 2006-04-04 Microsoft Corporation Synchronizing over a number of synchronization mechanisms using flexible rules
EP1787196B1 (en) * 2004-08-16 2014-07-23 National Instruments Corporation Synchronizing execution of graphical programs executing on different computer systems
US7346793B2 (en) * 2005-02-10 2008-03-18 Northrop Grumman Corporation Synchronization of multiple operational flight programs
US8010997B2 (en) * 2005-06-30 2011-08-30 Microsoft Corporation Enforcing device settings for mobile devices
US8626128B2 (en) 2011-04-07 2014-01-07 Microsoft Corporation Enforcing device settings for mobile devices
US7472261B2 (en) * 2005-11-08 2008-12-30 International Business Machines Corporation Method for performing externally assisted calls in a heterogeneous processing complex
US7934063B2 (en) * 2007-03-29 2011-04-26 International Business Machines Corporation Invoking externally assisted calls from an isolated environment
US20090307610A1 (en) * 2008-06-10 2009-12-10 Melonie Elizabeth Ryan Method for a plurality of users to be simultaneously matched to interact one on one in a live controlled environment
US8495403B2 (en) * 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
SG166014A1 (en) * 2009-04-14 2010-11-29 Electron Database Corp Pte Ltd Server architecture for multi-core systems
WO2012019617A1 (de) * 2010-08-09 2012-02-16 Siemens Aktiengesellschaft Verfahren und vorrichtung zum synchronisieren von ereignissen autarker systeme
CN102857383A (zh) * 2011-06-28 2013-01-02 鸿富锦精密工业(深圳)有限公司 同步测试控制方法及系统
JP5819184B2 (ja) 2011-12-28 2015-11-18 富士通株式会社 情報処理装置及び情報処理装置の制御方法
KR101920278B1 (ko) 2012-06-08 2019-02-08 삼성전자주식회사 디스플레이 장치, 디스플레이 동기화 장치, 디스플레이 동기화 시스템 및 디스플레이 장치의 동기화 방법,
US9706508B2 (en) * 2013-04-05 2017-07-11 Honeywell International Inc. Integrated avionics systems and methods

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US4584643A (en) * 1983-08-31 1986-04-22 International Business Machines Corporation Decentralized synchronization of clocks
US5041966A (en) * 1987-10-06 1991-08-20 Nec Corporation Partially distributed method for clock synchronization
JPH0640324B2 (ja) * 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
JP2779032B2 (ja) * 1990-01-23 1998-07-23 株式会社日立製作所 情報処理装置
ATE127598T1 (de) * 1990-06-01 1995-09-15 Bell Telephone Mfg Verfahren zum modifizieren eines fehlertoleranten datenverarbeitungssystems.
US5450573A (en) * 1990-08-14 1995-09-12 Siemens Aktiengesellschaft Device for monitoring the functioning of external synchronization modules in a multicomputer system
US5382950A (en) * 1990-08-14 1995-01-17 Siemens Aktiengesellschaft Device for implementing an interrupt distribution in a multi-computer system
GB2271251B (en) * 1992-10-01 1996-08-14 Digital Equipment Int Timer synchronisation system
US5428645A (en) * 1992-11-03 1995-06-27 International Business Machines Corporation Anonymous time synchronization method
US5689688A (en) * 1993-11-16 1997-11-18 International Business Machines Corporation Probabilistic anonymous clock synchronization method and apparatus for synchronizing a local time scale with a reference time scale
US5727154A (en) * 1995-04-28 1998-03-10 Fry; Shawn C. Program synchronization on first and second computers by determining whether information transmitted by first computer is an acceptable or unacceptable input to second computer program
US5761439A (en) * 1995-09-25 1998-06-02 Intel Corporation Method and apparatus for synchronizing communications between networked computers
US5887143A (en) * 1995-10-26 1999-03-23 Hitachi, Ltd. Apparatus and method for synchronizing execution of programs in a distributed real-time computing system

Also Published As

Publication number Publication date
ES2140241T3 (es) 2000-02-16
EP0898744B1 (de) 1999-11-17
CN1217798A (zh) 1999-05-26
US6308223B1 (en) 2001-10-23
WO1997044731A1 (de) 1997-11-27
EP0898744A1 (de) 1999-03-03
DE59700733D1 (de) 1999-12-23
DE19620622A1 (de) 1997-11-27
ATE186790T1 (de) 1999-12-15
KR20000015819A (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
JP2000510976A (ja) 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法
CA2091993C (en) Fault tolerant computer system
US7194652B2 (en) High availability synchronization architecture
US7076689B2 (en) Use of unique XID range among multiple control processors
US7188237B2 (en) Reboot manager usable to change firmware in a high availability single processor system
CN103262044A (zh) 虚拟机失效转移管理的方法及其支持系统
JP7161008B2 (ja) アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法
US5894547A (en) Virtual route synchronization
CA2411788C (en) Device and method for synchronising a system of coupled data processing facilities
JPH08316957A (ja) 二重化ネットワーク管理システム
KR100494522B1 (ko) 이중화 시스템 및 그 시스템에서의 이중화 절체 방법과,그 방법을 실현하는 프로그램을 저장한 컴퓨터 판독가능기록매체
JP2799104B2 (ja) プログラマブルコントローラの二重化切替装置
KR100408979B1 (ko) 무선통신시스템에서 프로세서 이중화를 위한 결함 허용장치 및 그 방법
JPH1097505A (ja) 情報伝送方法および情報伝送システム
JPH0126096B2 (ja)
JPS61213932A (ja) 分散形2重系計算機システムおよびその制御方法
Selikhov et al. CMDE: a channel memory based dynamic environment for fault-tolerant message passing based on MPICH-V architecture
WO1992005489A1 (en) Method of nonsynchronous access to shared memory
JPS63213013A (ja) 計算機ネツトワ−クシステムの時刻指定方式
JPH10207856A (ja) 分散型計算機システム
JPH04171539A (ja) 二重化計算機システム
JPS61118848A (ja) 端末システムのフアイルバツクアツプ方法
JPS5983202A (ja) 制御装置間の情報授受方法
JPH10254722A (ja) 制御装置及び従系制御装置追加方法
JPH10136127A (ja) 外部課金システム