JPH0926891A - アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システム - Google Patents
アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システムInfo
- Publication number
- JPH0926891A JPH0926891A JP8029973A JP2997396A JPH0926891A JP H0926891 A JPH0926891 A JP H0926891A JP 8029973 A JP8029973 A JP 8029973A JP 2997396 A JP2997396 A JP 2997396A JP H0926891 A JPH0926891 A JP H0926891A
- Authority
- JP
- Japan
- Prior art keywords
- node
- application
- data
- backup
- main
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Retry When Errors Occur (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 自発的なプロセス引き継ぎ時に、サーバ側の
プログラムとクライアント側のプログラムとの間の接続
が断たれないよう、スムーズな移行を実現する。 【解決手段】 プロトコルプロセスノードの主プロセッ
サは、データをバックアッププロセッサにチェックポイ
ントする。前記データは、サーバとクライアントとの間
のネットワーク接続の作成に関するものである。前記主
プロセッサの自発的な引き継ぎが行われる場合、このよ
うなチェックポイントされたデータを使用することによ
って、前記バックアッププロセッサは、前記主プロセッ
サの役割を引き継ぐ。
プログラムとクライアント側のプログラムとの間の接続
が断たれないよう、スムーズな移行を実現する。 【解決手段】 プロトコルプロセスノードの主プロセッ
サは、データをバックアッププロセッサにチェックポイ
ントする。前記データは、サーバとクライアントとの間
のネットワーク接続の作成に関するものである。前記主
プロセッサの自発的な引き継ぎが行われる場合、このよ
うなチェックポイントされたデータを使用することによ
って、前記バックアッププロセッサは、前記主プロセッ
サの役割を引き継ぐ。
Description
【0001】
【発明の属する技術分野】この発明は、自発的な処理切
り換え時にネットワーク接続を維持するための方法およ
び装置に関する。
り換え時にネットワーク接続を維持するための方法およ
び装置に関する。
【0002】
【従来の技術】主プロセッサが機能停止した場合に他方
のプロセッサが主プロセッサをバックアップする二重プ
ロセッサ環境において、“引き継ぎ(takeover)”また
は“切り換え(switchover)”は、前記プロセッサ間の
切換えとして定義される。
のプロセッサが主プロセッサをバックアップする二重プ
ロセッサ環境において、“引き継ぎ(takeover)”また
は“切り換え(switchover)”は、前記プロセッサ間の
切換えとして定義される。
【0003】
【発明が解決しようとする課題】しかし、これまで、引
き継ぎまたは切り換え時には、主プロセッサで実行され
るアプリケーションを介して調整される処理間のネット
ワーク接続が断たれていた。この発明は上述の点に鑑み
てなされたもので、自発的な処理引き継ぎ時に、サーバ
側のプログラムとクライアント側のプログラムとの間の
接続が断たれないよう、スムーズな移行を可能にする方
法およびシステムを提供することを目的とする。
き継ぎまたは切り換え時には、主プロセッサで実行され
るアプリケーションを介して調整される処理間のネット
ワーク接続が断たれていた。この発明は上述の点に鑑み
てなされたもので、自発的な処理引き継ぎ時に、サーバ
側のプログラムとクライアント側のプログラムとの間の
接続が断たれないよう、スムーズな移行を可能にする方
法およびシステムを提供することを目的とする。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、この発明に係る方法は、複数のアプリケーション間
のネットワーク接続を維持するための方法であって、主
ノードがバックアップノードに接続されていて、前記主
ノードおよびバックアップノードの各々が独立したプロ
セッサを有するものであり、該方法が、第1のアプリケ
ーションと主ノードプロトコルプロセスアプリケーショ
ンを実行する前記主ノードとの間のネットワーク接続を
確立することに関するデータを、前記第1のアプリケー
ションと前記主ノードとの間で伝送するステップと、前
記主ノードから前記バックアップノードに前記データを
チェックポイントするステップと、前記主ノードから前
記バックアップノードへの切り換えが行われる場合、前
記第1のアプリケーションと前記プロトコルプロセスア
プリケーションとの間のネットワーク接続を維持するた
めに、前記バックアップノードにおいて、チェックポイ
ントされた前記データを使用するステップとを具備し、
これらのステップが1または複数の前記プロセッサによ
って実行されるものである。
め、この発明に係る方法は、複数のアプリケーション間
のネットワーク接続を維持するための方法であって、主
ノードがバックアップノードに接続されていて、前記主
ノードおよびバックアップノードの各々が独立したプロ
セッサを有するものであり、該方法が、第1のアプリケ
ーションと主ノードプロトコルプロセスアプリケーショ
ンを実行する前記主ノードとの間のネットワーク接続を
確立することに関するデータを、前記第1のアプリケー
ションと前記主ノードとの間で伝送するステップと、前
記主ノードから前記バックアップノードに前記データを
チェックポイントするステップと、前記主ノードから前
記バックアップノードへの切り換えが行われる場合、前
記第1のアプリケーションと前記プロトコルプロセスア
プリケーションとの間のネットワーク接続を維持するた
めに、前記バックアップノードにおいて、チェックポイ
ントされた前記データを使用するステップとを具備し、
これらのステップが1または複数の前記プロセッサによ
って実行されるものである。
【0005】また、この発明に係るシステムは、データ
パケットを送信するデータ処理システムであって、少な
くとも1つのプロトコルプロセスノード、サーバノード
およびクライアントノードと、前記プロトコルプロセス
ノードが、主ノードおよびバックアップノードである2
つの独立したノードを備えており、各前記ノードが、独
自のプロセッサおよびメモリを有し、相互に通信するこ
とと、前記主ノードにおいて、データパケットを送受信
するために前記サーバノードおよびクライアントノード
と通信する手段と、前記サーバノードおよびクライアン
トノードが、ネットワーク接続を形成するために、前記
主ノードを介して相互に通信することと、前記主ノード
から前記バックアップノードに前記データパケットのう
ちの所定のものをチェックポイントする手段と、前記主
ノードから前記バックアップノードへの自発的な切り換
えを行う場合、前記サーバノードと前記クライアントノ
ードとの間のネットワーク接続を維持するために、前記
バックアップノードによって伝送されたデータを使用す
る手段とを具備したものである。
パケットを送信するデータ処理システムであって、少な
くとも1つのプロトコルプロセスノード、サーバノード
およびクライアントノードと、前記プロトコルプロセス
ノードが、主ノードおよびバックアップノードである2
つの独立したノードを備えており、各前記ノードが、独
自のプロセッサおよびメモリを有し、相互に通信するこ
とと、前記主ノードにおいて、データパケットを送受信
するために前記サーバノードおよびクライアントノード
と通信する手段と、前記サーバノードおよびクライアン
トノードが、ネットワーク接続を形成するために、前記
主ノードを介して相互に通信することと、前記主ノード
から前記バックアップノードに前記データパケットのう
ちの所定のものをチェックポイントする手段と、前記主
ノードから前記バックアップノードへの自発的な切り換
えを行う場合、前記サーバノードと前記クライアントノ
ードとの間のネットワーク接続を維持するために、前記
バックアップノードによって伝送されたデータを使用す
る手段とを具備したものである。
【0006】さらに、この発明の別の観点に従う方法
は、複数のアプリケーションのうちの第1のアプリケー
ションと第2のアプリケーションと間のネットワーク接
続を維持するための方法であって、第1のアプリケーシ
ョンとプロトコルプロセスアプリケーションとの間の接
続を確立するステップと、前記プロトコルプロセスアプ
リケーションを介して、前記第1のアプリケーションと
第2のアプリケーションとの間で、各々が識別用のシー
ケンス番号を有するデータパケットを送信するステップ
と、送信される前記データパケットのシーケンス番号
を、前記プロトコルプロセスアプリケーションの主ノー
ドからバックアップノードにチェックポイントするステ
ップとを具備し、これらのステップがデータ処理システ
ムによって実行されるものである。
は、複数のアプリケーションのうちの第1のアプリケー
ションと第2のアプリケーションと間のネットワーク接
続を維持するための方法であって、第1のアプリケーシ
ョンとプロトコルプロセスアプリケーションとの間の接
続を確立するステップと、前記プロトコルプロセスアプ
リケーションを介して、前記第1のアプリケーションと
第2のアプリケーションとの間で、各々が識別用のシー
ケンス番号を有するデータパケットを送信するステップ
と、送信される前記データパケットのシーケンス番号
を、前記プロトコルプロセスアプリケーションの主ノー
ドからバックアップノードにチェックポイントするステ
ップとを具備し、これらのステップがデータ処理システ
ムによって実行されるものである。
【0007】この発明は、二重プロセッサ環境における
切り換え時のネットワーク接続を維持する改良型の方法
およびシステムを提供する。切り換え時において、ネッ
トワーク接続に関するデータを使用することによって、
切り換え前になされた接続が損なわれないことが保証さ
れる。この発明は、二重プロセッサ環境における切り換
え時に、ネットワーク接続を維持する確実度を最大にす
るために、前記ネットワーク接続に関するデータを複写
保存できるようにする技術を指向している。
切り換え時のネットワーク接続を維持する改良型の方法
およびシステムを提供する。切り換え時において、ネッ
トワーク接続に関するデータを使用することによって、
切り換え前になされた接続が損なわれないことが保証さ
れる。この発明は、二重プロセッサ環境における切り換
え時に、ネットワーク接続を維持する確実度を最大にす
るために、前記ネットワーク接続に関するデータを複写
保存できるようにする技術を指向している。
【0008】好ましい実施の形態において、この発明
は、NonStop(商標)オペレーティングシステムのカー
ネルの下に実行され、IPX/SPXデータパケットを
送信するTandem社のマシーンに使用される。しかし、概
して、この発明は、任意のオペレーティングシステムお
よびTCP/IPのような任意の通信をプロトコルを実
行する任意の二重プロセッサハードウエア環境に使用さ
れてもよい。前記IPX/SPXプロトコルは、Susan
PurcelおよびJudy Wilsonによる“Inside Netware for
Unix, Ver.3.11”(Novell Research Report, (c)19
92年)に記載されている。
は、NonStop(商標)オペレーティングシステムのカー
ネルの下に実行され、IPX/SPXデータパケットを
送信するTandem社のマシーンに使用される。しかし、概
して、この発明は、任意のオペレーティングシステムお
よびTCP/IPのような任意の通信をプロトコルを実
行する任意の二重プロセッサハードウエア環境に使用さ
れてもよい。前記IPX/SPXプロトコルは、Susan
PurcelおよびJudy Wilsonによる“Inside Netware for
Unix, Ver.3.11”(Novell Research Report, (c)19
92年)に記載されている。
【0009】
【発明の実施の形態】図1には、この発明の好ましい一
実施の形態が動作するネットワークが示されている。該
ネットワークは、プロトコルプロセスノード20と通信
するサーバノード15を備えており、前記プロトコルプ
ロセスノード20は、WANまたはLANであってよい
送信ネットワーク30と通信する。該送信ネットワーク
30は、好ましくはIPX/SPXデータパケットであ
るデータパケットを使用する“蓄積転送(store-and-fo
rward)”メッセージ切り換えモードで動作するもので
あり、クライアントノード25に接続されている。
実施の形態が動作するネットワークが示されている。該
ネットワークは、プロトコルプロセスノード20と通信
するサーバノード15を備えており、前記プロトコルプ
ロセスノード20は、WANまたはLANであってよい
送信ネットワーク30と通信する。該送信ネットワーク
30は、好ましくはIPX/SPXデータパケットであ
るデータパケットを使用する“蓄積転送(store-and-fo
rward)”メッセージ切り換えモードで動作するもので
あり、クライアントノード25に接続されている。
【0010】当業者に知られているように、ノードは、
必要に応じて、メモリ17(例えばRAM)のような主
メモリと、補助メモリ(図示しないが、例えばディスク
ドライブ)と、キーボードと、モニタと、I/Oポート
18のような他のI/Oポートとを有するプロセッサ1
6のようなプロセッサを具備している。データバスまた
はその他の適当なデータパス接続部19は、複数のノー
ドのI/Oポートを相互に接続し、前記ポートを介した
IPX/SPXデータパケットの送受信を可能にする。
前記プロトコルプロセスノード20は、主プロトコルプ
ロセスノード22とバックアッププロトコルプロセスノ
ード24とである、2つの独立したノードで構成されて
いる。また、前記プロトコルプロセスノード20は、少
なくとも1つのサーバアプリケーション(プログラム)
とクライアントアプリケーションとの間の接続上の確実
性を確保する。
必要に応じて、メモリ17(例えばRAM)のような主
メモリと、補助メモリ(図示しないが、例えばディスク
ドライブ)と、キーボードと、モニタと、I/Oポート
18のような他のI/Oポートとを有するプロセッサ1
6のようなプロセッサを具備している。データバスまた
はその他の適当なデータパス接続部19は、複数のノー
ドのI/Oポートを相互に接続し、前記ポートを介した
IPX/SPXデータパケットの送受信を可能にする。
前記プロトコルプロセスノード20は、主プロトコルプ
ロセスノード22とバックアッププロトコルプロセスノ
ード24とである、2つの独立したノードで構成されて
いる。また、前記プロトコルプロセスノード20は、少
なくとも1つのサーバアプリケーション(プログラム)
とクライアントアプリケーションとの間の接続上の確実
性を確保する。
【0011】図1において、前記サーバノードアプリケ
ーションは、前記プロトコルプロセスノード20とは分
離した独立したサーバノード15で実行されるものとし
て概念的に示されている。一方、前記クライアントノー
ドアプリケーションは、分離したクライアントノード2
5で実行されるものとして概念的に示されている。しか
し、一般的なマルチタスク環境では、前記サーバノード
および/またはクライアントノードは、前記プロトコル
プロセスノード20と物理的に分離している必要はな
い。前記プロトコルプロセスノード20と物理的に分離
しているのは、メモリ11に格納された前記サーバアプ
リケーション、(前記主ノード22の)メモリ12pお
よび(前記バックアップノード24)のメモリ12bに
格納された前記プロトコルプロセスアプリケーション、
ならびに、メモリ13に格納された前記クライアントア
プリケーションのようなアプリケーション(プログラ
ム)である。
ーションは、前記プロトコルプロセスノード20とは分
離した独立したサーバノード15で実行されるものとし
て概念的に示されている。一方、前記クライアントノー
ドアプリケーションは、分離したクライアントノード2
5で実行されるものとして概念的に示されている。しか
し、一般的なマルチタスク環境では、前記サーバノード
および/またはクライアントノードは、前記プロトコル
プロセスノード20と物理的に分離している必要はな
い。前記プロトコルプロセスノード20と物理的に分離
しているのは、メモリ11に格納された前記サーバアプ
リケーション、(前記主ノード22の)メモリ12pお
よび(前記バックアップノード24)のメモリ12bに
格納された前記プロトコルプロセスアプリケーション、
ならびに、メモリ13に格納された前記クライアントア
プリケーションのようなアプリケーション(プログラ
ム)である。
【0012】さらに、前記プロトコルプロセスノード2
0は1つまたは複数のサーバアプリケーションをサポー
トしてもよく、1つのサーバアプリケーションはしばし
ば多数のクライアントアプリケーションに情報を与え
る。プロトコルプロセスノード20の前記主ノード22
およびバックアップノード24の各々は、主プロセッサ
および補助(バックアップ)プロセッサからなる独立し
たプロセッサを備えている。前記プロトコルプロセスノ
ード20は、この発明を実現するデータおよびコードの
両方を、前記主メモリ(RAM)に格納している。前記
2つの独立したプロセッサは、前記サーバノード15と
クライアントノード25との間の接続を確実に維持する
ことに関するデータを相互に伝送する。
0は1つまたは複数のサーバアプリケーションをサポー
トしてもよく、1つのサーバアプリケーションはしばし
ば多数のクライアントアプリケーションに情報を与え
る。プロトコルプロセスノード20の前記主ノード22
およびバックアップノード24の各々は、主プロセッサ
および補助(バックアップ)プロセッサからなる独立し
たプロセッサを備えている。前記プロトコルプロセスノ
ード20は、この発明を実現するデータおよびコードの
両方を、前記主メモリ(RAM)に格納している。前記
2つの独立したプロセッサは、前記サーバノード15と
クライアントノード25との間の接続を確実に維持する
ことに関するデータを相互に伝送する。
【0013】図1の矢印27によって示すように、デー
タは、データパス19に沿って前記主ノードおよびバッ
クアップノード、ならびに、他のノードに対して伝送さ
れる。前記主プロセッサは前記バックアッププロセッサ
に対してリアルタイムでデータを送り、前記バックアッ
ププロセッサは前記送られたデータを複写保存する。後
で詳細に説明するように、前記バックアッププロセッサ
は、前記データを受取り、主メモリ(RAM)に複写し
て格納した、ことを通知する。前記主ノードとバックア
ップノードとの間で重要なデータをやり取りし、このよ
うなデータを前記バックアッププロセッサのメモリにバ
ックアップすなわち複写保存する処理は、データを“チ
ェックポイントする”こととして知られている。
タは、データパス19に沿って前記主ノードおよびバッ
クアップノード、ならびに、他のノードに対して伝送さ
れる。前記主プロセッサは前記バックアッププロセッサ
に対してリアルタイムでデータを送り、前記バックアッ
ププロセッサは前記送られたデータを複写保存する。後
で詳細に説明するように、前記バックアッププロセッサ
は、前記データを受取り、主メモリ(RAM)に複写し
て格納した、ことを通知する。前記主ノードとバックア
ップノードとの間で重要なデータをやり取りし、このよ
うなデータを前記バックアッププロセッサのメモリにバ
ックアップすなわち複写保存する処理は、データを“チ
ェックポイントする”こととして知られている。
【0014】この発明の1つの特徴は、プロトコルプロ
セスノードの主ノードとバックアップノードとの間の自
発的な切り換え中に、データのチェックポイントを行う
ことである。前記“引き継ぎ”または“切り換え”と
は、前記主ノード22とバックアップノード24に設け
られているようなプロセッサ間における自発的または非
自発的な切り換え、として定義される。このような切り
換えにおいて、前記プロトコルプロセスプロセッサのバ
ックアッププロセッサは、主プロセッサの役割を引き継
ぐ。非自発的な引き継ぎは、例えば前記主プロセッサが
損傷したり、該主プロセッサへのデータ線が損傷したり
した場合のように、一般的に予期せざる様々な情況下で
行われる。自発的な引き継ぎは、“計画された”引き継
ぎであり、(負荷分散時などにおいて)人の介在によっ
て、または、(あるハードウエアポートの機能停止など
の)なんらかのイベントの後に、自動的に行われる。
セスノードの主ノードとバックアップノードとの間の自
発的な切り換え中に、データのチェックポイントを行う
ことである。前記“引き継ぎ”または“切り換え”と
は、前記主ノード22とバックアップノード24に設け
られているようなプロセッサ間における自発的または非
自発的な切り換え、として定義される。このような切り
換えにおいて、前記プロトコルプロセスプロセッサのバ
ックアッププロセッサは、主プロセッサの役割を引き継
ぐ。非自発的な引き継ぎは、例えば前記主プロセッサが
損傷したり、該主プロセッサへのデータ線が損傷したり
した場合のように、一般的に予期せざる様々な情況下で
行われる。自発的な引き継ぎは、“計画された”引き継
ぎであり、(負荷分散時などにおいて)人の介在によっ
て、または、(あるハードウエアポートの機能停止など
の)なんらかのイベントの後に、自動的に行われる。
【0015】さらに、前記主プロセッサが損傷していな
い場合の自発的な切り換えの後、および、それが可能で
ある時にはいつでも、前記バックアップノードが主ノー
ドとなり、それまで主ノードであったノードがそれまで
バックアップノードであったノードをバックアップす
る。この発明は、特に好ましくは自発的な引き継ぎであ
る引き継ぎ中に、サーバアプリケーションとクライアン
トアプリケーションとの間の接続が損なわれないような
スムーズな移行を可能にする。また、チェックポイント
を行うことによって、切り換え時にサーバアプリケーシ
ョンとクライアントアプリケーションとの間の接続を維
持する確実性を高める。
い場合の自発的な切り換えの後、および、それが可能で
ある時にはいつでも、前記バックアップノードが主ノー
ドとなり、それまで主ノードであったノードがそれまで
バックアップノードであったノードをバックアップす
る。この発明は、特に好ましくは自発的な引き継ぎであ
る引き継ぎ中に、サーバアプリケーションとクライアン
トアプリケーションとの間の接続が損なわれないような
スムーズな移行を可能にする。また、チェックポイント
を行うことによって、切り換え時にサーバアプリケーシ
ョンとクライアントアプリケーションとの間の接続を維
持する確実性を高める。
【0016】一般的に、IPX/SPX環境において、
サーバアプリケーションは、プロトコルプロセスノード
のような特定のノードに、“ソケット”または“IPX
/SPXソケット”と呼ばれる、クライアントアプリケ
ーションとの接触(接続)点を形成する。このようなI
PX/SPXソケットは、そのノードにおけるアプリケ
ーション(または、より高水準のプロトコル)を特定す
る。“ポート”はTCP/IPプロトコルとの関係で使
用されるので、IPX/SPXソケットはIPX/SP
Xポートのようなものとして考えることができる。“エ
ンドポイント(endpoint)”は、アプリケーションによ
って使用されるデータ構造に関係するという意味で、よ
り具体的な接触点である。より一般的に、前記メモリ1
2p、12bに格納されたプロトコルプロセスアプリケ
ーションのようなプロトコルプロセスアプリケーション
を介して対話する、前記メモリ11、13に格納された
サーバアプリケーションおよびクライアントアプリケー
ションのようなサーバアプリケーションとクライアント
アプリケーションとの間の接続を、以下“ネットワーク
接続”という。
サーバアプリケーションは、プロトコルプロセスノード
のような特定のノードに、“ソケット”または“IPX
/SPXソケット”と呼ばれる、クライアントアプリケ
ーションとの接触(接続)点を形成する。このようなI
PX/SPXソケットは、そのノードにおけるアプリケ
ーション(または、より高水準のプロトコル)を特定す
る。“ポート”はTCP/IPプロトコルとの関係で使
用されるので、IPX/SPXソケットはIPX/SP
Xポートのようなものとして考えることができる。“エ
ンドポイント(endpoint)”は、アプリケーションによ
って使用されるデータ構造に関係するという意味で、よ
り具体的な接触点である。より一般的に、前記メモリ1
2p、12bに格納されたプロトコルプロセスアプリケ
ーションのようなプロトコルプロセスアプリケーション
を介して対話する、前記メモリ11、13に格納された
サーバアプリケーションおよびクライアントアプリケー
ションのようなサーバアプリケーションとクライアント
アプリケーションとの間の接続を、以下“ネットワーク
接続”という。
【0017】図2には、データを送信し、ソケットおよ
びエンドポイントを設定し、より一般的には、サーバア
プリケーションとプロトコルプロセスアプリケーション
とクライアントアプリケーションとの間にネットワーク
接続を確立するときにおいて、図1のネットワークに発
生する様々な状態を略述するテーブルが示されている。
図2において前記主プロセッサおよびバックアッププロ
セッサを表すコラム間の実線矢印および破線矢印は、前
記プロトコルプロセッサノードのこれら2つの独立した
プロセッサとノードとの間における通信を示すものであ
る。また、前記サーバアプリケーションおよびプロトコ
ルプロセスアプリケーションを表すコラム間の実線矢印
および破線矢印は、これらのアプリケーションの間の通
信を示すものである。前記主ノード22のプロセッサお
よび前記バックアップノード24のプロセッサは、共
に、各々のオペレーティングシステム内のTandem NonSt
opカーネルを実行する。
びエンドポイントを設定し、より一般的には、サーバア
プリケーションとプロトコルプロセスアプリケーション
とクライアントアプリケーションとの間にネットワーク
接続を確立するときにおいて、図1のネットワークに発
生する様々な状態を略述するテーブルが示されている。
図2において前記主プロセッサおよびバックアッププロ
セッサを表すコラム間の実線矢印および破線矢印は、前
記プロトコルプロセッサノードのこれら2つの独立した
プロセッサとノードとの間における通信を示すものであ
る。また、前記サーバアプリケーションおよびプロトコ
ルプロセスアプリケーションを表すコラム間の実線矢印
および破線矢印は、これらのアプリケーションの間の通
信を示すものである。前記主ノード22のプロセッサお
よび前記バックアップノード24のプロセッサは、共
に、各々のオペレーティングシステム内のTandem NonSt
opカーネルを実行する。
【0018】この発明の典型的な実施の形態において
は、前記サーバアプリケーションとクライアントアプリ
ケーションとの間に、ソケットを維持しなければならな
い。主プロセッサの引き継ぎを行う場合に、バックアッ
ププロセッサが前記主プロセッサの役割を引き継ぎ、前
記ソケットをオープン状態に維持するよう、関連データ
は、前記主ノードのプロセッサ26からバックアッププ
ロセッサ46にチェックポイントされる。なお、一般的
に、1つの主プロセッサによって数個のソケットが維持
されるようになっていてよい。ここに開示したTandemの
設計は、1つの主プロセッサによって2500個のソケ
ットが維持されることを可能にするものである。また、
多数の主プロセッサが並列的に使用されてもよい。
は、前記サーバアプリケーションとクライアントアプリ
ケーションとの間に、ソケットを維持しなければならな
い。主プロセッサの引き継ぎを行う場合に、バックアッ
ププロセッサが前記主プロセッサの役割を引き継ぎ、前
記ソケットをオープン状態に維持するよう、関連データ
は、前記主ノードのプロセッサ26からバックアッププ
ロセッサ46にチェックポイントされる。なお、一般的
に、1つの主プロセッサによって数個のソケットが維持
されるようになっていてよい。ここに開示したTandemの
設計は、1つの主プロセッサによって2500個のソケ
ットが維持されることを可能にするものである。また、
多数の主プロセッサが並列的に使用されてもよい。
【0019】図2において、典型的には、サーバノード
15におけるアプリケーションは、ロウ(row)におけ
る“SOCKET( )”によって表されるような機能を呼出す
ことによって、前記プロトコルプロセスノード20の主
ノード22の主メモリ27(例えばRAM)にソケット
を作成する。該ソケットは、前記主ノード22の主メモ
リ27に、参照符号42によって示されるような通信エ
ンドポイントを形成し、これにより、前記主ノード22
は、クライアントノード25で実行されるクライアント
アプリケーションによってアクセスされる前記サーバノ
ード内のアプリケーションを特定することができる。こ
の目的のため、実線矢印44によって示すさように、オ
ープンすべきソケットを示すメッセージが、前記サーバ
プロセッサアプリケーションから前記主プロセッサアプ
リケーションに与えられる。前記主プロセッサは、メモ
リのエンドポイント42にオープン制御ブロック(OC
B)を作成する。該制御ブロックは、データパケットの
やり取りを調整するために、前記サーバアプリケーショ
ンおよびクライアントアプリケーションによって使用さ
れる。
15におけるアプリケーションは、ロウ(row)におけ
る“SOCKET( )”によって表されるような機能を呼出す
ことによって、前記プロトコルプロセスノード20の主
ノード22の主メモリ27(例えばRAM)にソケット
を作成する。該ソケットは、前記主ノード22の主メモ
リ27に、参照符号42によって示されるような通信エ
ンドポイントを形成し、これにより、前記主ノード22
は、クライアントノード25で実行されるクライアント
アプリケーションによってアクセスされる前記サーバノ
ード内のアプリケーションを特定することができる。こ
の目的のため、実線矢印44によって示すさように、オ
ープンすべきソケットを示すメッセージが、前記サーバ
プロセッサアプリケーションから前記主プロセッサアプ
リケーションに与えられる。前記主プロセッサは、メモ
リのエンドポイント42にオープン制御ブロック(OC
B)を作成する。該制御ブロックは、データパケットの
やり取りを調整するために、前記サーバアプリケーショ
ンおよびクライアントアプリケーションによって使用さ
れる。
【0020】前記ソケット/オープン制御ブロック(O
CB)が主プロセッサ26によって作成されたという通
知は、破線矢印46によって示すように、前記サーバア
プリケーションに返送される。前記ソケット/オープン
制御ブロック(OCB)に関するデータは、クライアン
トアプリケーションとサーバアプリケーションとの間に
オープンソケットを維持するために必要なので、複写保
存(“チェックポイント”)されなければならない。こ
のようにして、前記主プロセッサによってソケットが作
成されると、該ソケットを維持するために必要なパラメ
ータに関するオープン制御ブロック(OCB)のような
データが、実線矢印50によって示すように前記バック
アッププロセッサ24にチェックポイントされ、そし
て、前記データが首尾よく前記バックアッププロセッサ
24によって格納されたという旨の通知が、破線矢印5
2によって示すように、前記主プロセッサ52に返送さ
れる。前記プロトコルプロセスノード20の主プロセッ
サおよびバックアッププロセッサの主メモリにこの情報
を格納するデータ構造(OCB)は、エンドポイントで
もある。
CB)が主プロセッサ26によって作成されたという通
知は、破線矢印46によって示すように、前記サーバア
プリケーションに返送される。前記ソケット/オープン
制御ブロック(OCB)に関するデータは、クライアン
トアプリケーションとサーバアプリケーションとの間に
オープンソケットを維持するために必要なので、複写保
存(“チェックポイント”)されなければならない。こ
のようにして、前記主プロセッサによってソケットが作
成されると、該ソケットを維持するために必要なパラメ
ータに関するオープン制御ブロック(OCB)のような
データが、実線矢印50によって示すように前記バック
アッププロセッサ24にチェックポイントされ、そし
て、前記データが首尾よく前記バックアッププロセッサ
24によって格納されたという旨の通知が、破線矢印5
2によって示すように、前記主プロセッサ52に返送さ
れる。前記プロトコルプロセスノード20の主プロセッ
サおよびバックアッププロセッサの主メモリにこの情報
を格納するデータ構造(OCB)は、エンドポイントで
もある。
【0021】この時点(前記サーバアプリケーションが
ソケット機能SOCKET( )を呼出し、オープン制御ブロッ
ク(OCB)の作成が行われた後)において自発的な引
き継ぎが行われる場合、この引き継ぎは前記サーバノー
ドのエンドユーザには認識されず(すなわち、トランス
ペアレントであり)、前記サーバアプリケーションとプ
ロトコルプロセスプロセッサアプリケーションとの間の
接続は、その接続をリセットする必要なしに維持され
る。
ソケット機能SOCKET( )を呼出し、オープン制御ブロッ
ク(OCB)の作成が行われた後)において自発的な引
き継ぎが行われる場合、この引き継ぎは前記サーバノー
ドのエンドユーザには認識されず(すなわち、トランス
ペアレントであり)、前記サーバアプリケーションとプ
ロトコルプロセスプロセッサアプリケーションとの間の
接続は、その接続をリセットする必要なしに維持され
る。
【0022】この後、典型的には、前記サーバノードの
アプリケーションは、図2における次のロウのBIND( )
および実線矢印60によって示すように、特定のソケッ
トに“バインド”され、破線矢印62に示すように、適
当な通知が前記サーバアプリケーションに返送される。
前記バインドの間、特定のサーバアプリケーションが作
成されたばかりのソケットに関連づけられ、前記主ノー
ドのメモリ27に、クライアントアプリケーションによ
って参照されるネットワークアドレスが作成される。こ
の情報は、また、前記サーバアプリケーションとクライ
アントアプリケーションとの間のオープンネットワーク
接続部すなわちソケットを維持するのに重要であるの
で、前記主ノード22の主プロセッサは、実線矢印64
に示すように、このデータを前記バックアップノード2
4のバックアッププロセッサ46にチェックポイントす
る。そして、破線矢印66に示すように、該データが首
尾よくメモリにチェックポイントされた旨の通知が、前
記バックアッププロセッサ46から主プロセッサ26に
返送される。
アプリケーションは、図2における次のロウのBIND( )
および実線矢印60によって示すように、特定のソケッ
トに“バインド”され、破線矢印62に示すように、適
当な通知が前記サーバアプリケーションに返送される。
前記バインドの間、特定のサーバアプリケーションが作
成されたばかりのソケットに関連づけられ、前記主ノー
ドのメモリ27に、クライアントアプリケーションによ
って参照されるネットワークアドレスが作成される。こ
の情報は、また、前記サーバアプリケーションとクライ
アントアプリケーションとの間のオープンネットワーク
接続部すなわちソケットを維持するのに重要であるの
で、前記主ノード22の主プロセッサは、実線矢印64
に示すように、このデータを前記バックアップノード2
4のバックアッププロセッサ46にチェックポイントす
る。そして、破線矢印66に示すように、該データが首
尾よくメモリにチェックポイントされた旨の通知が、前
記バックアッププロセッサ46から主プロセッサ26に
返送される。
【0023】この時点(前記サーバアプリケーションに
おけるBIND( )機能呼出しの後)におけるプロトコルプ
ロセスプロセッサの自発的な切り換えによって、前記バ
ックアッププロセッサが前記主プロセッサの役割を引き
継ぐことを可能にし、チェックポイントされた前記デー
タを使用するバックアッププロセッサは、前記サーバの
エンドユーザに全くトランスペアレントな状態で、前記
サーバアプリケーションとプロトコルプロセスノードア
プリケーションとの間の接続を維持できる。従って、前
記エンドユーザは、前記切り換えが行われたことに気付
かない。
おけるBIND( )機能呼出しの後)におけるプロトコルプ
ロセスプロセッサの自発的な切り換えによって、前記バ
ックアッププロセッサが前記主プロセッサの役割を引き
継ぐことを可能にし、チェックポイントされた前記デー
タを使用するバックアッププロセッサは、前記サーバの
エンドユーザに全くトランスペアレントな状態で、前記
サーバアプリケーションとプロトコルプロセスノードア
プリケーションとの間の接続を維持できる。従って、前
記エンドユーザは、前記切り換えが行われたことに気付
かない。
【0024】このステップの後、典型的には、SPX
(パケット伝送を確実にするSequential Packet Exchan
ge)サーバのためのアプリケーションがACCEPT( )機能
(この機能は、当業者に周知であり、標準的なUNIXライ
ブラリに見られる)を呼出す。前記ACCEPT( )機能の
後、前記SPXサーバは、クライアントアプリケーショ
ンからのデータ受信を待つ状態となる。SPXサーバは
接続を志向したものであり、パケットシーケンス番号の
使用によって適切なデータパケットシーケンスが存在す
ることを保証するので、SPXサーバのみが前記ACCEPT
( )機能を利用することになる。これとは対照的に、I
PXサーバは、パケット送信を保証しないステートレス
またはコネクションレスサーバプロトコルの下で動作す
る。
(パケット伝送を確実にするSequential Packet Exchan
ge)サーバのためのアプリケーションがACCEPT( )機能
(この機能は、当業者に周知であり、標準的なUNIXライ
ブラリに見られる)を呼出す。前記ACCEPT( )機能の
後、前記SPXサーバは、クライアントアプリケーショ
ンからのデータ受信を待つ状態となる。SPXサーバは
接続を志向したものであり、パケットシーケンス番号の
使用によって適切なデータパケットシーケンスが存在す
ることを保証するので、SPXサーバのみが前記ACCEPT
( )機能を利用することになる。これとは対照的に、I
PXサーバは、パケット送信を保証しないステートレス
またはコネクションレスサーバプロトコルの下で動作す
る。
【0025】この発明において、前記ACCEPT( )機能の
呼出しは、前記SPXサーバアプリケーションによって
最初に呼出された後にチェックポイントされる必要はな
い。この段階においてチェックポイントを行わないこと
は、図2において、この時点に前記主ノードとバックア
ップノードとの間の通信が無いことを示す参照符号72
の無矢印部分によって示されている。このようにして、
矢印70によって示すように、前記サーバアプリケーシ
ョンは、前記ACCEPT( )機能が実行されたことを前記主
プロセッサに連絡する。しかし、この時点では、前記AC
CEPT( )機能の呼出しに関するデータのチェックポイン
トは行われない。
呼出しは、前記SPXサーバアプリケーションによって
最初に呼出された後にチェックポイントされる必要はな
い。この段階においてチェックポイントを行わないこと
は、図2において、この時点に前記主ノードとバックア
ップノードとの間の通信が無いことを示す参照符号72
の無矢印部分によって示されている。このようにして、
矢印70によって示すように、前記サーバアプリケーシ
ョンは、前記ACCEPT( )機能が実行されたことを前記主
プロセッサに連絡する。しかし、この時点では、前記AC
CEPT( )機能の呼出しに関するデータのチェックポイン
トは行われない。
【0026】この発明において、前記ACCEPT( )機能の
呼出し後のチェックポイントは必要ではない。なぜなら
ば、この時点で前記主プロセッサが機能停止した場合、
前記サーバノードが、フォールトトレラント型のNonSto
pカーネルの下で動作するので、自動的にそのリクエス
トを前記バックアッププロセッサに再送しないからであ
る。前記バックアッププロセッサに対する自動的なリク
エスト再送については、この出願と同じ出願人に譲渡さ
れ、同時に出願されたMarc Desgrousilliersによる米国
特許出願“Network System with Resilient Virtual Fa
ult Tolerant Sessions”に記載されている。
呼出し後のチェックポイントは必要ではない。なぜなら
ば、この時点で前記主プロセッサが機能停止した場合、
前記サーバノードが、フォールトトレラント型のNonSto
pカーネルの下で動作するので、自動的にそのリクエス
トを前記バックアッププロセッサに再送しないからであ
る。前記バックアッププロセッサに対する自動的なリク
エスト再送については、この出願と同じ出願人に譲渡さ
れ、同時に出願されたMarc Desgrousilliersによる米国
特許出願“Network System with Resilient Virtual Fa
ult Tolerant Sessions”に記載されている。
【0027】典型的には、前記SPXサーバアプリケー
ションによる前記SOCKET( )、BIND()およびACCEPT( )機
能の呼出し後、線18によって示すように、前記主プロ
セッサは、クライアントアプリケーションからの受信す
るデータパケットの形の応答を受け取る。このデータ
は、前記主プロセッサによって、特定のバインドされた
ソケットに送られる。参照符号82で示す弧状ループ
は、この間には、前記バックアッププロセッサによって
データが送られていない、ことを示す。
ションによる前記SOCKET( )、BIND()およびACCEPT( )機
能の呼出し後、線18によって示すように、前記主プロ
セッサは、クライアントアプリケーションからの受信す
るデータパケットの形の応答を受け取る。このデータ
は、前記主プロセッサによって、特定のバインドされた
ソケットに送られる。参照符号82で示す弧状ループ
は、この間には、前記バックアッププロセッサによって
データが送られていない、ことを示す。
【0028】リクエストを受け取ると、前記主プロセッ
サは、破線矢印90に示すように、前記サーバアプリケ
ーションに対して、前記クライアントアプリケーション
から応答を受け取ったことを知らせる。ここで、前記サ
ーバアプリケーションとクライアントアプリケーション
との間に、接続が確立される。このように接続がなされ
ると、前記クライアントアプリケーションの接続の維持
に関する、例えば前記クライアントのアドレスなどの情
報が、矢印94、96によって示すように、前記主プロ
セッサからバックアッププロセッサにチェックポイント
される。この時点(前記ACCEPT( )機能についての通知
がなされ、前記クライアントのアドレスがチェックポイ
ントされた後)において、前記バックアッププロセッサ
は、前記サーバノードとクライアントノードとの接続を
維持するために十分な情報を有することになる。
サは、破線矢印90に示すように、前記サーバアプリケ
ーションに対して、前記クライアントアプリケーション
から応答を受け取ったことを知らせる。ここで、前記サ
ーバアプリケーションとクライアントアプリケーション
との間に、接続が確立される。このように接続がなされ
ると、前記クライアントアプリケーションの接続の維持
に関する、例えば前記クライアントのアドレスなどの情
報が、矢印94、96によって示すように、前記主プロ
セッサからバックアッププロセッサにチェックポイント
される。この時点(前記ACCEPT( )機能についての通知
がなされ、前記クライアントのアドレスがチェックポイ
ントされた後)において、前記バックアッププロセッサ
は、前記サーバノードとクライアントノードとの接続を
維持するために十分な情報を有することになる。
【0029】上述したようなソケットの作成、該ソケッ
トのバインド、および、任意には(SPXサーバにおけ
る)ACCEPT( )機能の呼出しは、クライアントアプリケ
ーションとサーバアプリケーションとによって費やされ
る時間のほんの一部分にすぎない。前記時間のほとんど
は、好ましくはIPX/SPXデータパケットであるデ
ータパケットの形でデータを送受信することに費やされ
る。こうして、前記サーバアプリケーションは、矢印1
00によって示すように、SEND( )機能を呼出すことに
よって、前記クライアントアプリケーションで使用され
るデータを送信する。同様に、矢印110によって示す
ように、前記サーバアプリケーションは、RECV( )機能
を呼出すことによって、クライアントノードからのデー
タを受入れる。
トのバインド、および、任意には(SPXサーバにおけ
る)ACCEPT( )機能の呼出しは、クライアントアプリケ
ーションとサーバアプリケーションとによって費やされ
る時間のほんの一部分にすぎない。前記時間のほとんど
は、好ましくはIPX/SPXデータパケットであるデ
ータパケットの形でデータを送受信することに費やされ
る。こうして、前記サーバアプリケーションは、矢印1
00によって示すように、SEND( )機能を呼出すことに
よって、前記クライアントアプリケーションで使用され
るデータを送信する。同様に、矢印110によって示す
ように、前記サーバアプリケーションは、RECV( )機能
を呼出すことによって、クライアントノードからのデー
タを受入れる。
【0030】現在の技術では、典型的なアプリケーショ
ンにおけるデータパケットの絶対的な番号により、前記
サーバアプリケーションによって送受信される個々のデ
ータパケットのチェックポイントは行われない。現在で
は、送受信中の個々のデータパケットをチェックポイン
トする代りに、前記サーバアプリケーションおよびクラ
イアントアプリケーションが接続状態かまたは非接続状
態かに関するデータがチェックポイントされる。前記接
続状態において、前記SEND( )機能およびRECV()機能を
使用することによって、前記サーバアプリケーションと
クライアントアプリケーションとの間でデータパケット
の送受信を、それぞれ行うことができる。前記非接続状
態において、接続が存在しないので、前記SEND( )機能
およびRECV( )機能を使用することができない。前記サ
ーバアプリケーションおよびクライアントアプリケーシ
ョンが接続状態かまたは非接続状態かを示すデータは、
矢印102、104によって示すようにチェックポイン
トされる。切り換えが行われる場合において、前記アプ
リケーションが接続状態である場合、前記バックアップ
ノードは、このようにチェックポイントされたデータを
使用して、前記SEND()機能およびRECV( )機能をトラン
スペアレントに処理し続ける。前記アプリケーションが
非接続状態である場合、前記プロトコルプロセスアプリ
ケーションによって全処理をリセットしなければならな
い。
ンにおけるデータパケットの絶対的な番号により、前記
サーバアプリケーションによって送受信される個々のデ
ータパケットのチェックポイントは行われない。現在で
は、送受信中の個々のデータパケットをチェックポイン
トする代りに、前記サーバアプリケーションおよびクラ
イアントアプリケーションが接続状態かまたは非接続状
態かに関するデータがチェックポイントされる。前記接
続状態において、前記SEND( )機能およびRECV()機能を
使用することによって、前記サーバアプリケーションと
クライアントアプリケーションとの間でデータパケット
の送受信を、それぞれ行うことができる。前記非接続状
態において、接続が存在しないので、前記SEND( )機能
およびRECV( )機能を使用することができない。前記サ
ーバアプリケーションおよびクライアントアプリケーシ
ョンが接続状態かまたは非接続状態かを示すデータは、
矢印102、104によって示すようにチェックポイン
トされる。切り換えが行われる場合において、前記アプ
リケーションが接続状態である場合、前記バックアップ
ノードは、このようにチェックポイントされたデータを
使用して、前記SEND()機能およびRECV( )機能をトラン
スペアレントに処理し続ける。前記アプリケーションが
非接続状態である場合、前記プロトコルプロセスアプリ
ケーションによって全処理をリセットしなければならな
い。
【0031】IPXサーバとは異なり、データパケット
の送信を保証することに関するSPXサーバの場合、送
信されるデータパケットと共にシーケンス番号が含まれ
るので、接続の維持は複雑である。前記主プロセッサが
機能停止した場合、前記バックアッププロセッサは、そ
の役割を引き継ぐが、個々のデータパケットがチェック
ポイントされていないので、必ずしもどのシーケンス番
号が受信されたのかを知らない。このため、前記バック
アッププロセッサはデータパケットの送信が適切になさ
れたのかを保証できず、これはSPXプロトコルを妨害
する。一般的に、このような情況では、前記SPXサー
バとクライアントとの間のネットワーク接続をリセット
しなければならない。
の送信を保証することに関するSPXサーバの場合、送
信されるデータパケットと共にシーケンス番号が含まれ
るので、接続の維持は複雑である。前記主プロセッサが
機能停止した場合、前記バックアッププロセッサは、そ
の役割を引き継ぐが、個々のデータパケットがチェック
ポイントされていないので、必ずしもどのシーケンス番
号が受信されたのかを知らない。このため、前記バック
アッププロセッサはデータパケットの送信が適切になさ
れたのかを保証できず、これはSPXプロトコルを妨害
する。一般的に、このような情況では、前記SPXサー
バとクライアントとの間のネットワーク接続をリセット
しなければならない。
【0032】しかし、引き継ぎ時にSPXサーバにおけ
る送受信接続をリセットするという一般原則には、いく
つかの例外がある。そのうちの1つは、Tandemマシーン
を使用した環境において、オペレータ(操作者)の選択
(例えば、プロセッサ間の負荷分散に関する)などに応
じた、前記主プロトコルノードから前記バックアップノ
ードへの自発的な切り換えを伴う自発的な引き継ぎの場
合、または、前記送信ネットワーク30および前記主ノ
ード22の主プロセッサ26とインターフェースするI
/Oポートに見られるポートのようなハードウエアポー
トが損傷した場合である。これらの引き継ぎの両方は、
意図されたものなので、自発的な引き継ぎであるとみな
される。プロセッサを切り換える直前のこのような引き
継ぎにおいて、前記主ノード22は、そのメモリに格納
された(且つ待機させられた)データパケットからのシ
ーケンス番号をチェックポイントする。こうして、この
ような自発的な引き継ぎが行われると、前記SPXクラ
イアントアプリケーションとSPXサーバアプリケーシ
ョンとの間のネットワーク接続が、トランスペアレント
に維持される。
る送受信接続をリセットするという一般原則には、いく
つかの例外がある。そのうちの1つは、Tandemマシーン
を使用した環境において、オペレータ(操作者)の選択
(例えば、プロセッサ間の負荷分散に関する)などに応
じた、前記主プロトコルノードから前記バックアップノ
ードへの自発的な切り換えを伴う自発的な引き継ぎの場
合、または、前記送信ネットワーク30および前記主ノ
ード22の主プロセッサ26とインターフェースするI
/Oポートに見られるポートのようなハードウエアポー
トが損傷した場合である。これらの引き継ぎの両方は、
意図されたものなので、自発的な引き継ぎであるとみな
される。プロセッサを切り換える直前のこのような引き
継ぎにおいて、前記主ノード22は、そのメモリに格納
された(且つ待機させられた)データパケットからのシ
ーケンス番号をチェックポイントする。こうして、この
ような自発的な引き継ぎが行われると、前記SPXクラ
イアントアプリケーションとSPXサーバアプリケーシ
ョンとの間のネットワーク接続が、トランスペアレント
に維持される。
【0033】しかし、図4に示すようなこの発明の好ま
しい実施の形態においては、上記のような自発的な切り
換えの場合であっても、データパケットが前記主プロト
コルによって待機させられていて、該データパケットが
前記SPXサーバによって読み取られる、または、前記
クライアントノードアプリケーションに送信されるのを
待っているとき、すなわち、前記SPXサーバアプリケ
ーションとプロトコルプロセスアプリケーションとの接
続が“非遊閑(非アイドル)”状態であるときには、事
実上、接続は維持されない。ほとんどの場合、接続は
“遊閑(アイドル)”状態であるので、“非遊閑”状態
に備える必要はない。これは、典型的には、サーバアプ
リケーションがデータの読み取りを行っている間は待ち
行列が存在せず、データの再送信および受取通知を待つ
ことがほとんど無いよう、前記プロトコルプロセッサと
クライアントアプリケーションとの間におけるデータパ
ケット送信が十分効率的であるからである。しかし、上
記の教示内容に基づいて、並ばされたデータが自発的な
引き継ぎの直前にチェックポイントされるよう、図4に
示したこの発明の実施の形態を変更できる。こうして、
前記SPXサーバアプリケーションとプロトコルプロセ
スアプリケーションとの“遊閑”状態の接続と“非遊
閑”状態の接続との間の差異を除去でき、且つ、前記SE
ND( )状態およびRECV( )状態にある時に前記クライアン
トアプリケーションとサーバアプリケーションとの間の
接続が常に維持されるようにできる。
しい実施の形態においては、上記のような自発的な切り
換えの場合であっても、データパケットが前記主プロト
コルによって待機させられていて、該データパケットが
前記SPXサーバによって読み取られる、または、前記
クライアントノードアプリケーションに送信されるのを
待っているとき、すなわち、前記SPXサーバアプリケ
ーションとプロトコルプロセスアプリケーションとの接
続が“非遊閑(非アイドル)”状態であるときには、事
実上、接続は維持されない。ほとんどの場合、接続は
“遊閑(アイドル)”状態であるので、“非遊閑”状態
に備える必要はない。これは、典型的には、サーバアプ
リケーションがデータの読み取りを行っている間は待ち
行列が存在せず、データの再送信および受取通知を待つ
ことがほとんど無いよう、前記プロトコルプロセッサと
クライアントアプリケーションとの間におけるデータパ
ケット送信が十分効率的であるからである。しかし、上
記の教示内容に基づいて、並ばされたデータが自発的な
引き継ぎの直前にチェックポイントされるよう、図4に
示したこの発明の実施の形態を変更できる。こうして、
前記SPXサーバアプリケーションとプロトコルプロセ
スアプリケーションとの“遊閑”状態の接続と“非遊
閑”状態の接続との間の差異を除去でき、且つ、前記SE
ND( )状態およびRECV( )状態にある時に前記クライアン
トアプリケーションとサーバアプリケーションとの間の
接続が常に維持されるようにできる。
【0034】図3および図4には、図1および図2に関
して上述したこの発明の好ましい実施の形態を説明する
フローチャートが示されている。図3は、この発明の典
型的なアプリケーションによって実現される処理を示
す。説明の便宜上、そうでない旨特に明記しないかぎ
り、上述のような自発的な引き継ぎが意図されており、
前記主ノードが、損傷しておらず、(引き継ぎ後に“主
ノード”として使用される)オリジナルのバックアップ
ノードに対するバックアップとして機能可能なもの、と
仮定する。
して上述したこの発明の好ましい実施の形態を説明する
フローチャートが示されている。図3は、この発明の典
型的なアプリケーションによって実現される処理を示
す。説明の便宜上、そうでない旨特に明記しないかぎ
り、上述のような自発的な引き継ぎが意図されており、
前記主ノードが、損傷しておらず、(引き継ぎ後に“主
ノード”として使用される)オリジナルのバックアップ
ノードに対するバックアップとして機能可能なもの、と
仮定する。
【0035】ソケットは、サーバアプリケーションとク
ライアントアプリケーションとの間にオープンされ、デ
ータは、二重プロセッサプロトコルプロセスノード20
の前記主ノード22によって、ネットワーク30を介し
て、前記サーバアプリケーションとクライアントアプリ
ケーションとの間で送信される。この目的のため、ステ
ップ205では、図2および前記SOCKET( )機能に関し
て上述したように、この発明を実施する前記主ノード2
2のプロトコルプロセスアプリケーションと共働する前
記サーバノードのアプリケーション(プログラム)によ
って、特有のソケットが作成される。データおよびメッ
セージは、前記サーバアプリケーションと主ノードアプ
リケーションとの間でやり取りされ、前記主ノード22
のメモリにOCB/ソケットが作成され、その通知がな
される。この時点では前記OCB/ソケットのチェック
ポイントが行われていないので、この時点での引き継ぎ
(ステップ210)はこの処理のリセット(ステップ2
15)を必要とし、前記OCB/ソケットに関するエン
ドポイントが無効にされ、ステップ200において前記
処理が再スタートされる。前記OCB/ソケットに関す
るデータが、前記プロトコルプロセスアプリケーション
によって、前記主ノード22からバックアップノード2
4にチェックポイントされる(ステップ220)。この
時点での引き継ぎ(ステップ225)によって、前記バ
ックアップノード24が主ノード22の役割を引き継ぐ
ことができ、前記主ノード22は、それそまでのバック
アップノードに対する“バックアップ”となる(ステッ
プ230)。
ライアントアプリケーションとの間にオープンされ、デ
ータは、二重プロセッサプロトコルプロセスノード20
の前記主ノード22によって、ネットワーク30を介し
て、前記サーバアプリケーションとクライアントアプリ
ケーションとの間で送信される。この目的のため、ステ
ップ205では、図2および前記SOCKET( )機能に関し
て上述したように、この発明を実施する前記主ノード2
2のプロトコルプロセスアプリケーションと共働する前
記サーバノードのアプリケーション(プログラム)によ
って、特有のソケットが作成される。データおよびメッ
セージは、前記サーバアプリケーションと主ノードアプ
リケーションとの間でやり取りされ、前記主ノード22
のメモリにOCB/ソケットが作成され、その通知がな
される。この時点では前記OCB/ソケットのチェック
ポイントが行われていないので、この時点での引き継ぎ
(ステップ210)はこの処理のリセット(ステップ2
15)を必要とし、前記OCB/ソケットに関するエン
ドポイントが無効にされ、ステップ200において前記
処理が再スタートされる。前記OCB/ソケットに関す
るデータが、前記プロトコルプロセスアプリケーション
によって、前記主ノード22からバックアップノード2
4にチェックポイントされる(ステップ220)。この
時点での引き継ぎ(ステップ225)によって、前記バ
ックアップノード24が主ノード22の役割を引き継ぐ
ことができ、前記主ノード22は、それそまでのバック
アップノードに対する“バックアップ”となる(ステッ
プ230)。
【0036】その後、典型的には、前記サーバアプリケ
ーションは、前記ソケットをバインドし(ステップ23
5)、これを特定のアプリケーションに関連づけ、クラ
イアントアプリケーションが参照するネットワークアド
レスを作成する。 この情報は前記主ノードから前記バ
ックアップノードにチェックポイントされるので、この
時点後の引き継ぎ(ステップ240)の場合、前記バッ
クアップノードは、リセットする必要なしに、前記サー
バアプリケーションに対してシームレス(継ぎ目無く)
でトランスペアレントな状態で主ノードになる(ステッ
プ230)。
ーションは、前記ソケットをバインドし(ステップ23
5)、これを特定のアプリケーションに関連づけ、クラ
イアントアプリケーションが参照するネットワークアド
レスを作成する。 この情報は前記主ノードから前記バ
ックアップノードにチェックポイントされるので、この
時点後の引き継ぎ(ステップ240)の場合、前記バッ
クアップノードは、リセットする必要なしに、前記サー
バアプリケーションに対してシームレス(継ぎ目無く)
でトランスペアレントな状態で主ノードになる(ステッ
プ230)。
【0037】前記サーバアプリケーションは、ステップ
250において、該サーバアプリケーションがSPXサ
ーバであるかを確認し、SPXサーバではない場合、進
行する必要がないので、該アプリケーションが退出する
(ステップ252)。前記サーバアプリケーションがS
PXサーバアプリケーションである場合、該アプリケー
ションは、SPXサーバアプリケーションをクライアン
トアプリケーションからのデータ受信を待つ状態にする
ACCEPT( )機能に進む(ステップ255)。この時点に
おける引き継ぎによって、前記バックアップノードが、
ACCEPT( )機能をチェックポイントする必要ないことを
理解した上で、主ノードの役割を引き継ぐことができ
る。というのは、前記プロトコルプロセスノードを実行
する前記NpnStopカーネルが、前記主ノードプロセッサ
26に向けられたリクエストを自動的に前記バックアッ
ププロセッサ46に再送する(ステップ265)ことに
なる、からである。前記バックアッププロセッサに対す
るリクエストの自動的な再送については、この出願と同
じ出願人に譲渡され、同時に出願された上記Marc Desgr
ousilliersによる米国特許出願“Network System with
Resilient Virtual Fault Tolerant Sessions”に記載
されている。
250において、該サーバアプリケーションがSPXサ
ーバであるかを確認し、SPXサーバではない場合、進
行する必要がないので、該アプリケーションが退出する
(ステップ252)。前記サーバアプリケーションがS
PXサーバアプリケーションである場合、該アプリケー
ションは、SPXサーバアプリケーションをクライアン
トアプリケーションからのデータ受信を待つ状態にする
ACCEPT( )機能に進む(ステップ255)。この時点に
おける引き継ぎによって、前記バックアップノードが、
ACCEPT( )機能をチェックポイントする必要ないことを
理解した上で、主ノードの役割を引き継ぐことができ
る。というのは、前記プロトコルプロセスノードを実行
する前記NpnStopカーネルが、前記主ノードプロセッサ
26に向けられたリクエストを自動的に前記バックアッ
ププロセッサ46に再送する(ステップ265)ことに
なる、からである。前記バックアッププロセッサに対す
るリクエストの自動的な再送については、この出願と同
じ出願人に譲渡され、同時に出願された上記Marc Desgr
ousilliersによる米国特許出願“Network System with
Resilient Virtual Fault Tolerant Sessions”に記載
されている。
【0038】ステップ270によって示すように、クラ
イアントアプリケーションが前記プロセッサノードの主
プロセッサに応答すると、ステップ275に示すよう
に、前記主ノードのプロトコルプロセスアプリケーショ
ンが、前記サーバアプリケーションに対して前記応答の
受取りを通知し、クライアントのアドレスに関する情報
がチェックポイントされ、前記サーバアプリケーション
とクライアントアプリケーションとの間の接続がなされ
る。この時点後の引き継ぎ(ステップ280)の結果、
ステップ230に示すように、前記クライアントノード
とサーバノードとの間のソケットがリセットされる。こ
うして、ステップ282に示すように、前記ネットワー
ク接続は、IPX/SPXデータパケットを送受信でき
る状態になる。
イアントアプリケーションが前記プロセッサノードの主
プロセッサに応答すると、ステップ275に示すよう
に、前記主ノードのプロトコルプロセスアプリケーショ
ンが、前記サーバアプリケーションに対して前記応答の
受取りを通知し、クライアントのアドレスに関する情報
がチェックポイントされ、前記サーバアプリケーション
とクライアントアプリケーションとの間の接続がなされ
る。この時点後の引き継ぎ(ステップ280)の結果、
ステップ230に示すように、前記クライアントノード
とサーバノードとの間のソケットがリセットされる。こ
うして、ステップ282に示すように、前記ネットワー
ク接続は、IPX/SPXデータパケットを送受信でき
る状態になる。
【0039】SPXサーバに関する図4において、アプ
リケーションの時間の大部分は、エンドポイントまたは
ソケットを設定するためには費やされず、データパケッ
トの送受信に費やされる(ステップ290)。前記サー
バアプリケーションとクライアントアプリケーションと
の間の接続がなされると、該接続の確立に関するデータ
がチェックポイントされる(ステップ290)。データ
送受信時の引き継ぎの場合(ステップ295)、前記ア
プリケーション間のネットワーク接続が接続状態であり
(ステップ297)、且つ、前記サーバアプリケーショ
ンと主アプリケーションとの間の接続が“遊閑”状態で
ある(ステップ301)とき、前記バックアップノード
は、シームレスでトランスペアレントな状態で、前記主
ノードの役割を引き受ける。そうでない場合、前記アプ
リケーションが接続されておらず、または、接続が“非
遊閑”状態であるとき、関連したソケットがリセットさ
れる(ステップ310)。“遊閑”状態の接続とは、先
に定義した通りであり、前記プロトコルプロセスアプリ
ケーションにデータパケットの待ち行列が無いことを意
味する。
リケーションの時間の大部分は、エンドポイントまたは
ソケットを設定するためには費やされず、データパケッ
トの送受信に費やされる(ステップ290)。前記サー
バアプリケーションとクライアントアプリケーションと
の間の接続がなされると、該接続の確立に関するデータ
がチェックポイントされる(ステップ290)。データ
送受信時の引き継ぎの場合(ステップ295)、前記ア
プリケーション間のネットワーク接続が接続状態であり
(ステップ297)、且つ、前記サーバアプリケーショ
ンと主アプリケーションとの間の接続が“遊閑”状態で
ある(ステップ301)とき、前記バックアップノード
は、シームレスでトランスペアレントな状態で、前記主
ノードの役割を引き受ける。そうでない場合、前記アプ
リケーションが接続されておらず、または、接続が“非
遊閑”状態であるとき、関連したソケットがリセットさ
れる(ステップ310)。“遊閑”状態の接続とは、先
に定義した通りであり、前記プロトコルプロセスアプリ
ケーションにデータパケットの待ち行列が無いことを意
味する。
【0040】この発明の1つの実施の形態においては、
比較的高水準のC言語を使用して関連したソフトウエア
を実行するが、その他任意の言語を使用してもよい。さ
らに、当業者に理解されるように、ここに記載した発明
を実施するために使用されるソフトウエア命令(コー
ド)、データ、データ構造、および、これらを組込んだ
コンピュータハードウエアは、ネットワークシステムに
おけるその他の同様な構造と共に、この発明を一体的に
構成するものである。
比較的高水準のC言語を使用して関連したソフトウエア
を実行するが、その他任意の言語を使用してもよい。さ
らに、当業者に理解されるように、ここに記載した発明
を実施するために使用されるソフトウエア命令(コー
ド)、データ、データ構造、および、これらを組込んだ
コンピュータハードウエアは、ネットワークシステムに
おけるその他の同様な構造と共に、この発明を一体的に
構成するものである。
【0041】
【発明の効果】以上のように、この発明は、自発的な処
理引き継ぎ時に、サーバ側のプログラムとクライアント
側のプログラムとの間の接続が断たれないようスムーズ
な移行を可能にする、という優れた効果を奏する。
理引き継ぎ時に、サーバ側のプログラムとクライアント
側のプログラムとの間の接続が断たれないようスムーズ
な移行を可能にする、という優れた効果を奏する。
【図1】この発明の一実施の形態に係る二重プロセッサ
型コンピュータシステムを示す図。
型コンピュータシステムを示す図。
【図2】この発明を実施するときに発生する様々な状態
を示す図。
を示す図。
【図3】この発明の動作を説明するフローチャート。
【図4】この発明の動作を説明するフローチャート。
15 サーバノード 16 プロセッサ 20 プロトコルプロセスノード 22 主ノード 24 バックアップノード 25 クライアントノード 26 プロセッサ 30 ネットワーク 46 プロセッサ
Claims (20)
- 【請求項1】 複数のアプリケーション間のネットワー
ク接続を維持するための方法であって、主ノードがバッ
クアップノードに接続されていて、前記主ノードおよび
バックアップノードの各々が独立したプロセッサを有す
るものであり、該方法が、 第1のアプリケーションと主ノードプロトコルプロセス
アプリケーションを実行する前記主ノードとの間のネッ
トワーク接続を確立することに関するデータを、前記第
1のアプリケーションと前記主ノードとの間で伝送する
ステップと、 前記主ノードから前記バックアップノードに前記データ
をチェックポイントするステップと、 前記主ノードから前記バックアップノードへの切り換え
が行われる場合、前記第1のアプリケーションと前記プ
ロトコルプロセスアプリケーションとの間のネットワー
ク接続を維持するために、前記バックアップノードにお
いて、チェックポイントされた前記データを使用するス
テップとを具備し、これらのステップが1または複数の
前記プロセッサによって実行されるものである前記方
法。 - 【請求項2】 前記主ノードから前記バックアップノー
ドへの切り換えが、自発的なプロセスの切り換えである
請求項1に記載の方法。 - 【請求項3】 前記自発的なプロセスの切り換えが、人
が介在することによって行われる請求項2に記載の方
法。 - 【請求項4】 前記自発的なプロセスの切り換えが、前
記ネットワーク接続の故障によって、オペレーティング
システムの制御の下に自動的に行われる請求項2に記載
の方法。 - 【請求項5】 前記主ノードおよびバックアップノード
の各々が、プロセッサを備えている請求項1に記載の方
法。 - 【請求項6】 前記第1のアプリケーションがサーバア
プリケーションであり、 前記サーバアプリケーションとクライアントアプリケー
ションとの間でデータの送信を行うステップをさらに含
む請求項1に記載の方法。 - 【請求項7】 前記データを伝送ステップが、前記第1
のアプリケーションと主ノードとの間で、オープンすべ
きソケットを識別するデータを伝送するステップを含
み、 前記主ノードに、オープンされた前記ソケットに関する
データを含むオープン制御ブロックを設定するステップ
をさらに含み、 前記伝送されるデータをチェックポイントするステップ
が、前記主ノードから前記バックアップノードに、設定
された前記オープン制御ブロックをチェックポイントす
るステップを含む請求項1に記載の方法。 - 【請求項8】 前記オープン制御ブロックが前記オープ
ン制御ブロックをチェックポイントするステップでチェ
ックポイントされた後に、前記切り換えが行われ、 前記データを使用するステップが、前記第1のアプリケ
ーションと前記プロトコルプロセスアプリケーションと
の間のネットワーク接続を維持するために、前記バック
アップノードにおいて前記オープン制御ブロックを使用
するステップを含む請求項7に記載の方法。 - 【請求項9】 前記データを伝送するステップが、前記
第1のアプリケーションをソケットにバインドするため
に、前記第1のアプリケーションと前記主ノードとの間
でデータを伝送するステップを含み、 前記主ノードに、バインドされた前記ソケットに関する
ネットワークアドレスを設定するステップをさらに含
み、 前記伝送されるデータをチェックポイントするステップ
が、前記主ノードから前記バックアップノードに前記ネ
ットワークアドレスをチェックポイントするステップを
含む請求項1に記載の方法。 - 【請求項10】 前記ネットワークアドレスが前記ネッ
トワークアドレスをチェックポイントするステップでチ
ェックポイントされた後に、前記切り換えが行われ、 前記データを使用するステップが、前記第1のアプリケ
ーションと前記プロトコルプロセスアプリケーションと
の間のネットワーク接続を維持するために、前記バック
アップノードにおいて前記ネットワークアドレスを使用
するステップを含む請求項9に記載の方法。 - 【請求項11】 前記データを伝送するステップが、前
記第1のアプリケーションを第2のソケットにバインド
するために、前記第1のアプリケーションと主ノードと
の間でデータを伝送するステップを含み、 バインドされた前記第2のソケットに関するネットワー
クアドレスを設定するステップをさらに含み、 前記伝送されるデータをチェックポイントするステップ
が、前記主ノードから前記バックアップノードに前記第
2のネットワークアドレスをチェックポイントするステ
ップを含む請求項9に記載の方法。 - 【請求項12】 前記データを使用するステップが、前
記システムのユーザにトランスペアレントなものである
請求項1に記載の方法。 - 【請求項13】 データパケットを送信するデータ処理
システムであって、 少なくとも1つのプロトコルプロセスノード、サーバノ
ードおよびクライアントノードと、 前記プロトコルプロセスノードが、主ノードおよびバッ
クアップノードである2つの独立したノードを備えてお
り、各前記ノードが、独自のプロセッサおよびメモリを
有し、相互に通信することと、 前記主ノードにおいて、データパケットを送受信するた
めに前記サーバノードおよびクライアントノードと通信
する手段と、 前記サーバノードおよびクライアントノードが、ネット
ワーク接続を形成するために、前記主ノードを介して相
互に通信することと、 前記主ノードから前記バックアップノードに前記データ
パケットのうちの所定のものをチェックポイントする手
段と、 前記主ノードから前記バックアップノードへの自発的な
切り換えを行う場合、前記サーバノードと前記クライア
ントノードとの間のネットワーク接続を維持するため
に、前記バックアップノードによって伝送されたデータ
を使用する手段とを具備したデータ処理システム。 - 【請求項14】 前記通信する手段が、前記第1のアプ
リケーションと主ノードとの間で、オープンすべきソケ
ットを指定するデータを伝送する手段を含み、 前記主ノードに、オープンされた前記ソケットに関する
データを含むオープン制御ブロックを設定する手段をさ
らに具備し、 前記チェックポイントする手段が、前記主ノードから前
記バックアップノードに、前記オープン制御ブロックを
チェックポイントする手段を含む請求項13に記載のデ
ータ処理システム。 - 【請求項15】 前記オープン制御ブロックが前記オー
プン制御ブロックをチェックポイントする手段でチェッ
クポイントされた後に、前記切り換えが行われ、 前記データを使用する手段が、前記第1のアプリケーシ
ョンと前記プロトコルプロセスアプリケーションとの間
のネットワーク接続を維持するために、前記バックアッ
プノードにおいて前記オープン制御ブロックを使用する
手段を含む請求項14に記載のデータ処理システム。 - 【請求項16】 前記通信する手段が、前記第1のアプ
リケーションをソケットにバインドするために、前記第
1のアプリケーションと前記主ノードとの間でデータを
伝送する手段を含み、 前記主ノードに、バインドされた前記ソケットに関する
ネットワークアドレスを設定する手段をさらに具備し、 前記チェックポイントする手段が、前記主ノードから前
記バックアップノードに前記ネットワークアドレスをチ
ェックポイントする手段を含む請求項13に記載のデー
タ処理システム。 - 【請求項17】 前記ネットワークアドレスが前記ネッ
トワークアドレスをチェックポイントする手段でチェッ
クポイントされた後に、前記切り換えが行われ、 前記データを使用する手段が、前記第1のアプリケーシ
ョンと前記プロトコルプロセスアプリケーションとの間
のネットワーク接続を維持するために、前記バックアッ
プノードにおいて前記ネットワークアドレスを使用する
手段を含む請求項16に記載の方法。 - 【請求項18】 複数のアプリケーションのうちの第1
のアプリケーションと第2のアプリケーションと間のネ
ットワーク接続を維持するための方法であって、 第1のアプリケーションとプロトコルプロセスアプリケ
ーションとの間の接続を確立するステップと、 前記プロトコルプロセスアプリケーションを介して、前
記第1のアプリケーションと第2のアプリケーションと
の間で、各々が識別用のシーケンス番号を有するデータ
パケットを送信するステップと、 送信される前記データパケットのシーケンス番号を、前
記プロトコルプロセスアプリケーションの主ノードから
バックアップノードにチェックポイントするステップと
を具備し、これらのステップがデータ処理システムによ
って実行されるものである方法。 - 【請求項19】 前記プロトコルプロセスアプリケーシ
ョンが非遊閑状態にあるときに、前記チェックポイント
するステップが、前記送信されるデータパケットを前記
主ノードから前記バックアップノードにチェックポイン
トするステップを含む請求項18に記載の方法。 - 【請求項20】 前記第1のアプリケーションとプロト
コルプロセスアプリケーションとの間の接続を確立する
ために必要なソケットバインドデータを、前記主ノード
から前記バックアップノードにチェックポイントするス
テップと、 前記主ノードから前記バックアップノードへの自発的な
切り換え時において、前記第1のアプリケーションと主
プロトコルプロセスとのネットワーク接続を維持するた
めに、前記バックアップノードにおいて前記ソケットバ
インドデータを使用するステップとをさらに含む請求項
18に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US37730495A | 1995-01-23 | 1995-01-23 | |
| US08/377,304 | 1995-01-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0926891A true JPH0926891A (ja) | 1997-01-28 |
Family
ID=23488565
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8029973A Pending JPH0926891A (ja) | 1995-01-23 | 1996-01-23 | アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5828569A (ja) |
| EP (1) | EP0723227A3 (ja) |
| JP (1) | JPH0926891A (ja) |
| CA (1) | CA2167634A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000057095A (ja) * | 1998-08-06 | 2000-02-25 | Shikoku Nippon Denki Software Kk | 通信処理方法及び通信処理システム |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5754752A (en) * | 1996-03-28 | 1998-05-19 | Tandem Computers Incorporated | End-to-end session recovery |
| US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
| US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
| US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
| US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
| US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
| US6092213A (en) * | 1997-09-30 | 2000-07-18 | Tandem Computers Incorporated | Fault tolerant method of maintaining and distributing configuration information in a distributed processing system |
| US6618819B1 (en) * | 1999-12-23 | 2003-09-09 | Nortel Networks Limited | Sparing system and method to accommodate equipment failures in critical systems |
| US7054948B2 (en) * | 2000-03-07 | 2006-05-30 | Opcoast Llc | Collaborative host masquerading system |
| US6625753B1 (en) * | 2000-05-09 | 2003-09-23 | International Business Machines Corporation | Recovery facility for an SNA communication network |
| US7421505B2 (en) * | 2000-12-21 | 2008-09-02 | Noatak Software Llc | Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation |
| US7512686B2 (en) * | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
| US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
| US7546369B2 (en) * | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
| US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
| US7287090B1 (en) | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
| US6883110B1 (en) | 2001-06-18 | 2005-04-19 | Gateway, Inc. | System and method for providing a data backup of a server on client systems in a network |
| US7076555B1 (en) * | 2002-01-23 | 2006-07-11 | Novell, Inc. | System and method for transparent takeover of TCP connections between servers |
| US7996517B2 (en) * | 2002-01-23 | 2011-08-09 | Novell, Inc. | Transparent network connection takeover |
| US20050283529A1 (en) * | 2004-06-22 | 2005-12-22 | Wan-Yen Hsu | Method and apparatus for providing redundant connection services |
| US20070180312A1 (en) * | 2006-02-01 | 2007-08-02 | Avaya Technology Llc | Software duplication |
| KR100734110B1 (ko) | 2006-02-09 | 2007-06-29 | 주식회사 팬택앤큐리텔 | Tcp단에서의 서버 에러 복구 방법 |
| US7657787B2 (en) * | 2006-04-11 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Method of restoring communication state of process |
| US7523344B2 (en) * | 2006-05-08 | 2009-04-21 | Sun Microsystems, Inc. | Method and apparatus for facilitating process migration |
| US8130084B2 (en) * | 2007-04-30 | 2012-03-06 | International Business Machines Corporation | Fault tolerant closed system control using power line communication |
| US8683033B2 (en) * | 2007-09-17 | 2014-03-25 | International Business Machines Corporation | Apparatus, system, and method for server failover to standby server during broadcast storm or denial-of-service attack |
| US8421614B2 (en) * | 2007-09-19 | 2013-04-16 | International Business Machines Corporation | Reliable redundant data communication through alternating current power distribution system |
| US9473598B2 (en) * | 2007-12-18 | 2016-10-18 | International Business Machines Corporation | Network connection failover during application service interruption |
| US20090171839A1 (en) * | 2007-12-28 | 2009-07-02 | Rosano Sharon A | Systems and methods for processing recurring payment transactions |
| US8924779B2 (en) * | 2012-03-30 | 2014-12-30 | Lsi Corporation | Proxy responder for handling anomalies in a hardware system |
| US12001888B2 (en) | 2022-01-28 | 2024-06-04 | Hewlett Packard Enterprise Development Lp | Server instance allocation for execution of application instances |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
| US4347563A (en) * | 1980-06-16 | 1982-08-31 | Forney Engineering Company | Industrial control system |
| US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
| US4823256A (en) * | 1984-06-22 | 1989-04-18 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reconfigurable dual processor system |
| US5271013A (en) * | 1990-05-09 | 1993-12-14 | Unisys Corporation | Fault tolerant computer system |
| US5157663A (en) * | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
| US5363503A (en) * | 1992-01-22 | 1994-11-08 | Unisys Corporation | Fault tolerant computer system with provision for handling external events |
-
1996
- 1996-01-19 CA CA002167634A patent/CA2167634A1/en not_active Abandoned
- 1996-01-23 JP JP8029973A patent/JPH0926891A/ja active Pending
- 1996-01-23 EP EP96100920A patent/EP0723227A3/en not_active Withdrawn
-
1997
- 1997-05-21 US US08/861,264 patent/US5828569A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000057095A (ja) * | 1998-08-06 | 2000-02-25 | Shikoku Nippon Denki Software Kk | 通信処理方法及び通信処理システム |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2167634A1 (en) | 1996-07-24 |
| US5828569A (en) | 1998-10-27 |
| EP0723227A2 (en) | 1996-07-24 |
| EP0723227A3 (en) | 2000-02-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0926891A (ja) | アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システム | |
| JP3156083B2 (ja) | フォルトトレラント・コンピュータ装置 | |
| EP1231756A2 (en) | Method and system for maintaining connections in a network | |
| US7526549B2 (en) | Cluster data port services for clustered computer system | |
| US7231461B2 (en) | Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system | |
| US5027269A (en) | Method and apparatus for providing continuous availability of applications in a computer network | |
| US7194652B2 (en) | High availability synchronization architecture | |
| US5727142A (en) | Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure | |
| JP3932994B2 (ja) | サーバ引継システムおよびその方法 | |
| US5600791A (en) | Distributed device status in a clustered system environment | |
| US7188237B2 (en) | Reboot manager usable to change firmware in a high availability single processor system | |
| US7590760B1 (en) | Hybrid interface synchronization method and driver-client model for high availability systems | |
| US20030204772A1 (en) | System and method for concurrent logical device swapping | |
| US20060242297A1 (en) | Database cluster systems and methods for maintaining client connections | |
| JP2004519024A (ja) | 多数のノードを含むクラスタを管理するためのシステム及び方法 | |
| US6061807A (en) | Methods systems and computer products for error recovery of endpoint nodes | |
| US8504873B1 (en) | Method and apparatus for providing in-memory checkpoint services within a distributed transaction | |
| US7065673B2 (en) | Staged startup after failover or reboot | |
| CN101136900A (zh) | 一种面向服务的快速透明故障转移装置及实现方法 | |
| GB2359384A (en) | Automatic reconnection of linked software processes in fault-tolerant computer systems | |
| JP6856574B2 (ja) | サービス継続システムおよびサービス継続方法 | |
| US7296073B1 (en) | Mechanism to survive server failures when using the CIFS protocol | |
| JPH06110800A (ja) | 動的パス切替方法 | |
| Selikhov et al. | CMDE: a channel memory based dynamic environment for fault-tolerant message passing based on MPICH-V architecture | |
| JP2007141129A (ja) | システム切替方法、その計算機システム及びプログラム |