JP3930743B2 - 耐故障性プラットフォームにおいてネットワーク接続を提供する方法 - Google Patents

耐故障性プラットフォームにおいてネットワーク接続を提供する方法 Download PDF

Info

Publication number
JP3930743B2
JP3930743B2 JP2002020221A JP2002020221A JP3930743B2 JP 3930743 B2 JP3930743 B2 JP 3930743B2 JP 2002020221 A JP2002020221 A JP 2002020221A JP 2002020221 A JP2002020221 A JP 2002020221A JP 3930743 B2 JP3930743 B2 JP 3930743B2
Authority
JP
Japan
Prior art keywords
connection
standby
state
active
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002020221A
Other languages
English (en)
Other versions
JP2002319963A (ja
JP2002319963A5 (ja
Inventor
ジャック・ボウド
ステラ・クゥォン
アイザック・ウォン
デニス・ロジャー
アブデサター・サッシ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002319963A publication Critical patent/JP2002319963A/ja
Publication of JP2002319963A5 publication Critical patent/JP2002319963A5/ja
Application granted granted Critical
Publication of JP3930743B2 publication Critical patent/JP3930743B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は耐故障性コンピューティングに関し、より具体的には、たとえばインターネットプロトコル(IP)ネットワークにおいて、耐故障性プラットフォームによって確立されるネットワーク接続を維持する耐故障性コンピューティングに関する。
【0002】
【従来の技術】
インターネットがさらに普及し、一般的になってくると、それに応じて、毎日、終日稼動し続けなければならないミッション・クリティカルなアプリケーションに対応するために高い可用性を提供するインターネット装置の必要性も増す。ネットワーク内の1つの故障箇所、すなわちゲートウエイおよびファイアウォールのような構成要素は、高い信頼性をもって構成される必要があり、冗長な装置および種々のタイプのクラスタ化システムで強化されている。しかしながら、耐故障性のTCP/IPベースのシステムでは、効率的なフェイルオーバ処理が実施されないと、メッセージトラフィックの損失、およびネットワークセッションの再初期化といった問題が生じる。
【0003】
たとえば、H.323ゲートキーパーのハードウエア故障に対処するために、同じソフトウエアを動作させる2つの冗長ゲートキーパーを採用することができる。それらのゲートキーパーはいずれも、全く同じように、IPネットワークに接続され、同じデータを受信し、同じデータを生成する。
【0004】
ゲートキーパーの一方に故障が生じた場合、故障の直前にはいずれのゲートキーパーにおいてもソフトウエア状態が同じであるので、何ら切り換えの問題を生じさせることなく、他方のゲートキーパーが単独で作業を継続する。しかしながら、このような装置はコストがかかり、いずれのシステムにおいてもソフトウエアが全く同じように動作するため、その解決策は完全に満足できるものではない。すなわち、ゲートキーパーの一方に現れたソフトウエア障害は、他方のゲートキーパーにも現れる。
【0005】
米国特許第6,078,957号は、それぞれが自身の特定の接続を持つ1組のクラスタメンバを備えたクラスタアセンブリを提案する。各クラスタメンバは、別のクラスタメンバが動作不能になっていることを認識する手段と、動作不能となったクラスタメンバによって実施されていたタスクのうちのいくつかを再びバランスするための手段とを備える。動作不能になったクラスタメンバがクラスタマスターである場合には、他のクラスタメンバは直ちに、クラスタマスターのタスクを、別のクラスタメンバに再度割当てる。
【0006】
【発明が解決しようとする課題】
あるクラスタメンバが故障した場合にその接続を移すために、各クラスタメンバは、他の各クラスタメンバに、そのクラスタメンバが責任を担っていた接続に関する、記憶された不可欠な状態情報を転送する。しかしながら、このシステムは、IPネットワークと直接通信するアプリケーションを提供する耐故障性プロセスの問題には対処しない。したがって、上記特許は、クラスタ要素から他のクラスタ要素に接続が移るとき、接続される端末から見て、そのようなアプリケーションが依然として同じ段階のままであることを保証するための手段を提供しない。
【0007】
本発明は主に、IPエンドポイントとの接続を有するシステム、およびそのような接続を処理するための方法を提供することを目的とする。それにもかかわらず、ここに記載される技術は、たとえばTCP(伝送制御プロトコル)接続、OSI TP(トランザクション処理)接続、またはSCTP(ストリーム制御伝送プロトコル)を用いるシステムにおける、任意のタイプの通信ネットワークまたは通信プロトコルに適用されることができることは理解されよう。
【0008】
【課題を解決するための手段】
簡単に言うと、本発明は、アクティブ状態のプロセス、スタンバイ状態のプロセス、およびスタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え能力とを有する耐故障性プラットフォームにおいて、ネットワーク接続を提供する方法を提供する。この方法は、アクティブプロセスからスタンバイプロセスに、アクティブプロセスのネットワーク接続の状態データを複製するステップと、スタンバイプロセスについて、該複製されたデータで更新された対応するスタンバイネットワーク接続を維持するステップと、スタンバイプロセスからアクティブ状態への移行中、ネットワーク上の接続を閉じる(クローズする)ことなく、アクティブシステムのネットワーク接続を非活動化するステップと、ネットワークアドレスをスタンバイプロセスに転送するステップと、該ネットワークアドレスで対応するスタンバイ接続をアクティブ状態にするステップとを含み、それにより、移行したスタンバイプロセスが、ネットワーク上の接続を再開する必要性をなくす。
【0009】
このようにしてスタンバイ接続を維持することにより、ネットワーク接続のリモートエンドに対して高いトランスペアレンシー(透過性)を保持しつつ、フェイルオーバの達成を可能にする。
【0010】
スタンバイプロセスのネットワークアドレスを活動化するステップは、スタンバイ接続が活動化される前に実行される。アクティブプロセスの接続を監視し、状態データの複製を起動するステップは、その接続のアイドル状態中に実行される。
【0011】
接続の状態データを複製するステップは、アクティブプロセスがその接続を使用することができる間に実行されることができるようにするのが有利である。
【0012】
第2の態様によれば、本発明は、アクティブ状態のプロセス、スタンバイ状態のプロセス、およびスタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え手段とを有する耐故障性プラットフォームを提供する。このプラットフォームは、アクティブ状態に関連付けられた接続から状態データを抽出する第1の接続マネージャと、アクティブプロセスに関連付けられたネットワーク接続の状態データをスタンバイプロセスに複製する複製マネージャと、スタンバイプロセスについて、該複製されたデータで更新された対応するスタンバイネットワーク接続を維持する第2の接続マネージャとを備える。最後に、切り換え手段が、スタンバイプロセスのアクティブ状態への移行の一部として、ネットワーク上の接続を閉じることなくアクティブシステムのネットワーク接続を非活動化し、ネットワークアドレスをスタンバイプロセスに転送し、該ネットワークアドレスで対応するスタンバイ接続を活動化するように構成され、それにより、移行したスタンバイプロセスが、ネットワーク上で接続を再開する必要性をなくす。
【0013】
好ましい実施形態では、複製マネージャ、および/または第1および/または第2の接続マネージャは、個別のソフトウエアモジュールの形態をとる。
【0014】
本発明の第3の態様は、上記の汎用タイプの耐故障性プラットフォームを提供し、そのプラットフォームでは、ネットワーク接続は、関連するプロセスがその接続を閉じるか、またはそのプロセスが終わる度に、ネットワーク上でそれらの接続が閉じられる第1の状態と、関連するプロセスがその接続を閉じるか、またはそのプロセスが終了するときに、ネットワーク上でそれらの接続が閉じられない第2の状態とを有する。このプラットフォームは、プログラムの制御下で、接続が第1の状態と第2の状態との間で切り換えられるようにし、さらに、接続状態情報を抽出して、該接続状態情報の設定を可能にするアプリケーションプログラミングインターフェースを有する。接続状態情報は、ネットワークアドレスをそのスタンバイ接続に転送することにより、ネットワーク上で接続を再開することを必要とすることなく、アクティブプロセスから複製された状態情報で更新された、維持されるスタンバイネットワーク接続が、移行したスタンバイプロセスによって用いられることを可能にするような情報である。
【0015】
【発明の実施の形態】
本発明の他の特徴、目的および利点は、本発明の好ましい実施形態の以下に記載される説明を通して、および図面を通して、当業者には明らかになるであろう。
【0016】
図1を参照すると、接続110および210を介していずれもIPネットワーク300に接続されることができる2つのハードウエア装置100および200を含む耐故障性コンピュータシステムが示される。耐故障性システムはたとえば、米国特許第5,978,933号に記載されるタイプの耐故障性プラットフォーム、またはヒューレット・パッカード社によって市販されるOpenCallINプラットフォームに基づくことができる。そのようなシステムでは、故障検出のためのアプリケーション監視および故障に起因するアクションは、構成要素、詳細には、当業者によく知られている高可用性(HA)コントローラ101、201によって管理される。図2は、HAコントローラ101、201によって用いられる状態機械と、HP OpenCall INプラットフォームによって用いられるHAプロセスとを示す。
【0017】
図2では、図示される状態のうちのいくつか、すなわちブート状態300と、同期状態310と、活動化状態320と、停止状態330は、過渡(非常駐)状態である。そのプロセスは、最終的な安定状態に達する前の中間ステップとしてのみ、それらの状態を通過する。安定状態は、アクティブ状態340、ホットスタンバイ状態350、およびコールドスタンバイ状態360である。そのプロセスは、任意の状態でダウンすることがあるが、簡略化するために、ダウンへの状態遷移は図2には示されない。1つの装置上のOpenCall耐故障性コントローラは、ピア装置200上の対応するプロセスの状態を考慮に入れて、装置100上で実行されるHAプロセスの状態遷移を調整する。
【0018】
図1の装置100および200は、ローカルエリアネットワーク(LAN)400によって互いにリンクされ、それぞれ、その接続に最も近い層からその接続から最も離れた層への少なく4つのソフトウエア層、120〜150および220〜250、すなわちインターネットプロトコル(IP)層120、220、伝送制御プロトコル(TCP)層130、230、オペレーティングシステム層140、240、およびアプリケーション層150、250を含む。
【0019】
アプリケーション層150、250は、関連する特定用途のアプリケーションにしたがって種々のアプリケーションレベルのサービスを実行する。たとえば、1つのアプリケーションレベルの機能は、プリペイド通信に対するアプリケーションにおいて、通信時間のプリペイド度数を更新することができる。各装置100および200において、プロセスはアクティブ状態またはスタンバイ状態のいずれかであることができる。アクティブプロセスは、任意の特定の時間においてアプリケーションサービスを提供するプロセスである。スタンバイプロセスは、アクティブプロセスに障害が生じた場合に引き継ぎの役割を果たす。アクティブ装置100のアプリケーション150はデータを処理し、一方、スタンバイ装置200のアプリケーション250の状態は、それ自体がよく知られているやり方で、ローカルネットワーク400を通して耐故障性コントローラによって更新される。
【0020】
本システムでは、システムのうちの1つのシステムのTCP接続のみ、たとえば、装置100のTCP接続110のみが任意のある時点でアクティブ状態にある。他のシステム上のTCP接続、たとえば210のTCP接続は、その接続がデータを全く受信も送信もできないように構成されるという意味で、スタンバイ接続である。したがって、スタンバイ装置200は、物理的にはネットワークには接続されるが、インターネットプロトコルネットワーク300からは見えない。
【0021】
ここで、2つの装置間でのアプリケーション切り換え中に、確立されたTCP接続を保持するための技術について説明する。用いられる一般的なアプローチは、その接続を同期した状態にしておくために、アクティブ接続とスタンバイ接続との間でデータおよび状態情報を伝達するための複製機構をアクティブアプリケーション150に設けることである。言い換えると、アプリケーション150は、TCPコンテキストを、アクティブ装置100からスタンバイ装置200に移動させる。
【0022】
以下の説明では、リモート側、すなわちエンドポイントが、装置100と装置200との間の切り換え後にその接続を再開する必要がなければ、TCP接続は保持されるものと見なされる。ここで用いられる用語「アクティブTCP接続」、ここでは接続110は、パケットを送受信することのできる接続のことを指す。用語「スタンバイTCP接続」、ここでは接続210は、活動化されるまでパケットを全く送受信することができない接続のことを指す。詳細には、これは、その接続が開始または終了されるときに、この接続を提供しているTCPスタック130、230によって、アプリケーションのためにパケットが送信されることはなく、そのTCP接続のリモートエンドに、生存しているパケットが全く送信されないことを意味する。
【0023】
図3は、複製マネージャモジュール160、260および接続マネージャモジュール170、270を用いて、接続管理および複製機能を、アプリケーションコア150、250から分離する好ましい構造を示す。当然、他の実施形態では、接続マネージャ機能および複製マネージャ機能がアプリケーション自体に、またはオペレーティングシステムに組み込まれることができることは理解されよう。
【0024】
接続マネージャ170、270は、接続110、210を開始し、構成し、その状態を抽出し、その状態を更新し、かつその接続を終了するために、アプリケーション150、250によって用いられる単一インターフェースである。その際、接続マネージャ170、270は、アプリケーション150、250のコアから接続保持の実施の細部を隠すことができ、ここに記載される接続保持機能を使用することを望む他のアプリケーションによって再使用されることができる。
【0025】
また接続マネージャ170、270は、1つのアプリケーションのすべての保持される接続を管理するのに好ましい場所でもある。例として、接続マネージャは、すべてのアプリケーションコアモジュール150、250の内部の詳細に影響を及ぼすことなく、かつそれを知る必要なく、ある時点におけるすべての接続の終了、非活動化、または活動化を容易にする。
【0026】
複製マネージャ160、260は、スタンバイにどのようにデータが送信されるかの詳細と、そのようなデータの肯定応答受信の複雑な手順とを隠すようにして、アプリケーションのための抽象複製サービスを提供することができる。
【0027】
図4は、1つの接続が有することができる種々の状態と、アクティブ側100およびスタンバイ側200の両方において取り得る状態遷移とを示す状態図である。図4に示される状態および遷移は、アプリケーション150の視点からのTCP接続を表す。
【0028】
その接続の各状態は、その状態に付随した以下の特性を有することができる。
【0029】
P:ある状態において“P”があるとき、これは、その接続が保持された接続(TCP接続保持拡張のうちのいずれにも対応しない標準的なTCP接続とは対照的に)であること示す。図4の3つのすべての状態は保持された状態であり、他のタイプの接続は示されていない。
【0030】
A:ある状態において“A”があるとき、これは、その状態がアクティブな(活動中の)接続であることを示す。アクティブ状態はデータ転送を実行することができ、F/NFフラグによって示されるように終了動作中に特定の挙動を持つ。
【0031】
S:ある状態において“S”があるとき、これは、その状態がスタンバイ接続であることを示す。接続が閉じられるときであっても、そのような接続上ではパケットは送信されない。
【0032】
F:ある状態において“F”があるとき、これは、TCP接続がローカル的に閉じられるときには必ず、該TCP接続はそのネットワーク上においてTCPピアで終了されることを示す。状態370の場合のように、Aインジケータと組み合わせられるときには、その接続は標準的なTCP接続のように動作する。
【0033】
NF:ある状態において“NF”があるとき、これは、アプリケーションによって明示的に要求される際、またはプロセス終了時に、TCP接続がローカル的に閉じられるときには、該TCP接続がピアTCPで終了されないことを示す。そのローカルソケットは、暗黙のうちにパージされる。このオプションは、リモートTCPピアが接続の終了を起動する場合には機能しない。その場合には、現在のオプション値が何であろうと、その接続は有効に終了される。状態390の場合のように、Aインジケータと組み合わせられるときには、その接続は、同期した対応するスタンバイ接続を有するアクティブ接続である。
【0034】
アクティブアプリケーション150が開始し、スタンバイアプリケーション250が開始され同期する前に、そのアプリケーションが開いた(開始した)すべての保持された接続がアクティブ状態(状態370)になる。アクティブアプリケーション150が終わった場合には、TCPは、ネットワーク上のリモート側への接続を閉じる。この挙動によって、TCPスタックは、リモート側への接続を閉じることができる。なぜなら、接続処理を引き継ぐためのスタンバイアプリケーションが存在しないためである。
【0035】
以下により詳細に記載されることになる同期段階中に、スタンバイアプリケーションは、保持されたスタンバイ接続を形成し、アクティブ側から接続状態情報を複製する。同期段階が正常に完了すると、アクティブアプリケーションは、そのすべての保持された接続を状態390に移し、保持されたTCP接続が処理終了時に閉じられないようにする。これにより、切り換え後に、スタンバイアプリケーションがその接続処理を引き継ぐことができるようになる。アプリケーションが接続を閉じることを欲した場合には、そのアプリケーションはその接続を状態370に戻さなければならない。
【0036】
スタンバイ接続は状態380にある。そのような接続が活動化されると、その接続は状態370に移される。新しいスタンバイシステムが再開され同期すると、そのような接続は状態390に移されることができる。
【0037】
アクティブアプリケーションでは、socket()、connect()、bind()、listen()、accept()コールを含む標準的なソケットコールを用いて、ソケットが形成される。これが図5(a)に示される。アクティブアプリケーション150はアクティブ接続110を管理する。2つの装置間で複製される必要がある情報の大部分は、両方の装置100および200上に設けられるTCPスタックモジュール130、230によって保持される。
【0038】
その後、アクティブ側の接続に生じている変化は、その接続の持続時間にわたって、スタンバイ側に繰返し複製される。複製は、パケットが受信または送信される度に行われる必要はない。むしろ、その状態が安定している接続持続時間中の選択された時点においてのみ、この情報を複製することがより効率的である。その接続によってトラフィックが処理されていない(すなわち、その接続がアイドル状態である)とき、接続状態は安定している。待ち状態のアウトバウンドデータが存在せず、アプリケーションによって読み取られるのを待っている受信データが存在しない場合には、TCP接続110はアイドル状態であると見なされる。そのようなアイドル接続は、ここに記載される技術を用いて保持されることができる。
【0039】
アプリケーション150が、その接続状態が安定している(すなわち、その接続がアイドル状態である)と判断したとき、該アプリケーションは、TCPスタック130から各接続の状態を抽出し、それをスタンバイアプリケーション250に送信することにより、対応するスタンバイ接続に接続110を複製することを決定することができる。スタンバイアプリケーション250はソケットを形成し、それをスタンバイソケットに構成し、そのソケットを、アクティブアプリケーションから受信された接続状態情報で更新する。最後に、スタンバイアプリケーションは、アクティブアプリケーションに肯定応答ACKを送信する。このプロセスが図5(b)に示される。接続状態データは、アクティブ装置100のアプリケーション層150によって、OS層140を介してTCPスタック130から取得され、その後、LAN400を介して、スタンバイ装置200のアプリケーション層250に送信される。
【0040】
この期間中、アクティブアプリケーションは、スタンバイシステムからACKを受信するのを待つことはなく、接続は単に状態370においてアクティブ状態のままであることが好ましいことに留意されたい。ACKが受信されると、アクティブアプリケーションはソケットを構成し、それを図4の状態390に設定することにより、決してネットワーク上の接続を閉じないようにする。スタンバイ200において接続の複製が失敗した場合に、これがアクティブ接続110に影響を及ぼさないことが許容可能とされる。その場合、アプリケーションは、スタンバイ肯定応答を待って妨害されることがないので、複製が非常に速く行われる。他の状況では、確立された接続110の保持を促進し、その接続がスタンバイシステム200上で保持されることができた場合でもその接続が該アプリケーションによってのみ用いられることを確実にするために、ACKを待つことが好ましい場合がある。
【0041】
アクティブアプリケーション150が接続110を閉じることを決めたとき、最初に、その接続を状態370に設定することにより、ネットワーク上においてその接続をピアで終了するようにその接続を構成し、その後に該接続を閉じなければならない。その後、この終了動作は、そのスタンバイ接続210を閉じるスタンバイアプリケーション250に複製される。このプロセスが図5(c)に示される。
【0042】
その接続がリモート側によって閉じられる場合には、TCPスタック130は、標準的な接続の場合と同様に動作する。アクティブアプリケーション150は終了動作をスタンバイアプリケーション250に複製し、その後、その接続を閉じる。これが図5(d)に示される。
【0043】
アクティブアプリケーション150が終わる場合には、スタンバイアプリケーション250がアクティブ状態になる前に、該アクティブアプリケーションに割り当てられたIPアドレスがスタンバイホストに移される。装置110は、1つのIPアドレスのみを有することが可能である。しかしながら、各アクティブアプリケーション150は、そのアプリケーションのプロセスによって用いられる、自身に専用のIPアドレスを有することが好ましい。そのアプリケーションのIPアドレスは、アクティブアプリケーション150を提供するアクティブ装置100上でのみ有効である。切り換え中に、IPアドレスは、古いアクティブ装置100から新しいアクティブ装置200に移される(すなわち、そのIPアドレスは古いアクティブ装置上で非活動化され、新しい装置上で活動化される)。そのIPアドレスは、任意の時点で1つの装置においてのみアクティブ状態である。
【0044】
1つのMACアドレスから別のMACアドレスにIPアドレスを転送するための技術は当業者にはよく知られており、HP Opencall製品は、これを行うためのIPアドレスマネージャ構成要素を含む。そのような技術の記載は、たとえば、米国特許第6,049,825号に見いだすことができる。
【0045】
HAプロセス状態機械は、切り換え中に、IPアドレスが装置上でアクティブ状態になった後にのみ、スタンバイプロセスがアクティブ状態になり、IPアドレスが装置上で非活動化された後にのみ、アクティブプロセスがスタンバイ状態になるように、IPアドレスの移動と同期する。これは、IPアドレスマネージャとアプリケーションとの間で通信を行うことによって、または任意のスタンバイ接続を活動化する前にアプリケーション200にIPアドレス状態を検査させることによって、確実に実行されることができる。標準的なAPIコールを、IPアドレス状態を検査するために利用することができることは理解されよう。
【0046】
プロセス終了時に、カーネルは、すべてのそのファイル記述子を閉じる。すべての複製されたアクティブ接続が、ピアで接続を終了しないように設定されたので(状態390)、TCPスタック130は、その接続が閉じられていることを該接続のリモート側に示さない。
【0047】
同時に、高可用性コントローラによって障害を通知されているスタンバイシステムは、その装置上でIPアドレスが活動化されるまで待機する。その後、その装置は、そのスタンバイ接続を活動化し、そのリスン(listen)接続を開始する。活動化の後、新しいスタンバイシステムが再開され同期するまで、その接続は状態370に留まらなければならない場合があることに留意されたい。これらのプロセスが図6(a)に示されており、好ましい実施形態では、それらのプロセスは、図2に示される活動化状態320中に行われる。
【0048】
スタンバイソケットがアクティブ状態になると、TCP接続は、そのTCPピアと依然として同期しているか否かを判断する。最後の同期点以来アクティブTCP接続がデータを受信していた場合には、スタンバイTCPは同期から外れるであろう。その場合、該TCP接続は閉じられ、スタンバイアプリケーションによって再形成される。
【0049】
手動切り換え(すなわち、プロセス終了によって引き起こされない切り換え)の場合、たとえば予防保守の場合、または、ソフトウエアあるいはハードウエアアップグレードを可能にするために、アクティブアプリケーション100はそのすべての接続を非活動化し、スタンバイ状態になる。一方、スタンバイアプリケーション200はすべての接続を活動化し、アクティブ状態になる。この手動切り換えは図6(b)に示されており、好ましい実施形態では、そのプロセスは、図2に示される「停止」状態330において行われる。
【0050】
リスン(listen)するために用いられるソケットは、それらが接続の一部を形成しないので保持される必要がないことに留意されたい。アクティブプロセスによって確立されるリスンソケットを処理するために、スタンバイプロセスは2つの方策のうちの1つの採用することができる。第1に、スタンバイプロセスは、アクティブプロセス状態に切り替わるときに、リスンソケットを再形成することができる。これは、ソケット機能シーケンス、socket()、connect()、bind()、listen()、accept()を実行することにより行うことができる。一般に、このアプローチは、最も安全で、かつ最も簡単であると考えられる。しかしながら、代替的に、スタンバイプロセスがリスンソケットを形成し、そのリスンソケットを任意のIPアドレス(IPアドレス=INADDR_ANY)および指定されたポート番号にバインドすることができる。これは、リスンソケットを再形成するステップを節約することになるが、スタンバイプロセスは、依然としてスタンバイモードにあるとき(その装置上でアクティブ状態にあるIPアドレスについて)、接続要求の可能性を制御しなければならないであろう。
【0051】
TCP接続110が、切り換えが生じた時点でアイドル状態でない場合には、その接続110は終了され、スタンバイアプリケーションによって再形成される必要がある。
【0052】
以下により詳細に記載されるように、好ましい実施形態では、アプリケーションが接続特性を制御し、アクティブ側の状態を抽出し、スタンバイ側の状態を更新できるようにするために、拡張されたソケットアプリケーション・プログラミング・インターフェース(API)が設けられる。このAPIはたとえば、アプリケーションとは個別の、アプリケーションによってコールされる接続マネージャ170、270および複製マネージャ160、260のようなモジュールの形で、都合のいいように実装されることができる。図1に示されるIP層120、220またはTCP層130、230を基点としたソフトウエア階層を参照すると、このAPIは、アプリケーション150、250とオペレーティングシステム140、240との間に配置されることができる。各接続110の状態は、具体的にはTCPデータとOSデータとを含む。
【0053】
好ましい実施形態は、標準のHP−UXソケットおよび関連するコールへの追加からなる。具体的には、getsockopt()コールは、同様の接続/確立されたソケットを構築するのに必要とされるTCP状態情報を戻すために拡張される。これは、アクティブまたはスタンバイソケット上で実行されることができ、そのソケットにもその接続にも影響を及ぼさない読出し専用動作である。状態370から390への、または状態390から370へのソケットを設定するのに同じコールが用いられる。
【0054】
状態情報の特質は、プラットフォームに応じて変化し、ネットワーク上で接続を再開することを必要とせずに、活動化されるスタンバイプロセスによって用いられるべき情報で、スタンバイソケットが更新されることを可能にするように選択される。
【0055】
setsockopt()コールは、アクティブソケットから取得されるTCP状態情報でスタンバイソケットを再同期できるようにするために拡張される。これは、スタンバイソケットにおいてのみ行われることができ、すべての必要とされる層に影響を及ぼす。setsockopt()コールは、socket()後にスタンバイソケット接続を形成するために実行される。これは、アクティブ接続をスタンバイ状態にする(非活動化する)ために、アクティブ接続上でコールされる。これは、スタンバイ接続をアクティブ状態にするために、スタンバイ接続上でコールされる。
【0056】
図3に戻ると、好ましい実施形態では、接続マネージャ170は、1つの場所で、すべての開始している接続110と、その状態とを追跡する。接続マネージャ170は、同時に複数の接続110上で動作を実行することができ、たとえば、すべての接続を閉じ、すべての接続を複製し、すべての接続を活動化/非活動化することができる。接続マネージャ170は、それが複製されているか否かを示すために、接続110において特定のフラグを設定することができ、その際、接続テーブル上をただ単にループすることにより、未だ複製されていない接続を複製する。接続マネージャ170は、アプリケーション150によって用いられている接続の複製、活動化、抽出、または状態取得の間の長い期間の間に、アプリケーション150を妨害するのを避けるために、マルチスレッドであるのが好ましい。
【0057】
アプリケーション150はTCP接続状態を抽出し、それを、スタンバイアプリケーション250に送信する。その後、スタンバイアプリケーション250は、状態データを、スタンバイ装置200のTCP層230に送信する。
【0058】
ここに記載されるソフトウエア障害フェイルオーバ技術は、個別のスタンバイ装置を用いて実装することに制限されない。むしろ、記載される方法は、同じ装置上のスタンバイアプリケーションに対するアプリケーションソフトウエアのフェイルオーバにも同様に適用することができる。アプリケーションモニタが、そのアプリケーション自体に障害があるものと判断することができる場合には、ローカルにフェイルオーバを行うことを選択することができる。
【0059】
2つのプロセスを含み、各プロセスが同様のサービスアプリケーション命令セットを提供し、各プロセスがIPアドレスを有し、各プロセスがインターネットプロトコルエンドポイントを有する一連のアクティブ接続を提供することができるシステムが記載される。このシステムは、他のプロセスにおいてアクティブ接続を提供しない間に、1つのアクティブプロセスの一連のアクティブ接続を提供するための手段を備える。このシステムは、そのアクティブプロセスから他のアクティブプロセスに、アクティブ接続の状態データを含むデータと、アクティブプロセスのサービスアプリケーションの命令セットの状態データを含むデータとを複製するための手段を備える。アクティブ接続の状態データを含むデータは、更新されたスタンバイ接続を該他のプロセスが維持できるようにするためのものであり、アクティブプロセスのサービスアプリケーションの命令セットの状態データを含むデータは、該他のプロセスの命令セットが更新された状態に維持されるようにするためのものである。このシステムは、該アクティブプロセスが利用できなくなったとき、アクティブプロセスのIPアドレスを非活動化し、他のプロセスのIPアドレスを活動化するための手段を備える。
【0060】
本発明の特定の実施形態が記載されてきたが、本発明は、そのような記載される特定の構成に限定されるべきではない。本発明は、特許請求の範囲によってのみ制限される。特許請求の範囲自体は、請求される本発明の周辺を指示することを意図しており、本明細書によって開示される例示的な実施形態のみを請求するものと解釈されるのではなく、言語そのものが許容するのと同じ広さで解釈されることを意図している。
【0061】
本発明は、以下の実施態様を含む。
【0062】
(1)アクティブ状態のプロセス、スタンバイ状態のプロセス、および前記スタンバイ状態のプロセスをアクティブ状態に移行させる切り換え能力を有する耐故障性プラットフォームにおいてネットワーク接続を提供する方法であって、
アクティブプロセスからスタンバイプロセスに、該アクティブプロセスのネットワーク接続の状態データを複製するステップと、
前記スタンバイプロセスについて、前記複製されたデータで更新された対応するスタンバイネットワーク接続を維持するステップと、
前記アクティブ状態への前記スタンバイプロセスの移行中に、前記アクティブシステム内の前記ネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化し、前記スタンバイプロセスにネットワークアドレスを転送し、該ネットワークアドレスで前記対応するスタンバイ接続を活動化するステップと、を含み、
前記移行したスタンバイプロセスが前記ネットワーク接続を再開する必要がないようにする、耐故障性プラットフォームにおいてネットワーク接続を提供する方法。
【0063】
(2)前記スタンバイプロセスの前記ネットワークアドレスを活動化するステップは、前記スタンバイ接続が活動化される前に実行される、上記(1)に記載の方法。
(3)前記アクティブプロセスの前記接続を監視するステップと、該接続のアイドル状態が識別されたことに応答して前記状態データの複製を起動するステップと、を含む、上記(1)または(2)に記載の方法。
(4)接続の状態データを複製する前記ステップは、前記アクティブプロセスが前記接続を用いることができる間に実行される、上記(3)に記載の方法。
(5)それぞれ異なるネットワークアドレスを有するアクティブプロセスおよびスタンバイプロセスの複数の対を維持するステップを含む、上記(1)から(4)のいずれかに記載の方法。
(6)前記ネットワークアドレスはIPアドレスである、上記(1)から(5)のいずれかに記載の方法。
【0064】
(7)アクティブ状態のプロセス、スタンバイ状態のプロセス、および該スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え手段を有する耐故障性プラットフォームであって、
アクティブプロセスに関連付けられた接続から状態データを抽出する第1の接続マネージャと、
前記アクティブプロセスに関連付けられたネットワーク接続の状態データをスタンバイプロセスに複製する複製マネージャと、
前記スタンバイプロセスについて、前記複製されたデータで更新された対応するスタンバイネットワーク接続を維持する第2の接続マネージャとを備え、
前記切り換え手段は、前記スタンバイプロセスのアクティブ状態への移行の一部として、前記アクティブシステム内の前記ネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化し、ネットワークアドレスを前記スタンバイプロセスに転送し、該ネットワークアドレスで前記対応するスタンバイ接続を活動化するように構成されており、
前記移行したスタンバイプロセスが前記ネットワーク上で前記接続を再開する必要がないようにするプラットフォーム。
【0065】
(8)前記複製マネージャは、個別のソフトウエアモジュールの形をとる、上記(7)に記載のプラットフォーム。
(9)前記第1および/または第2の接続マネージャは、個別のソフトウエアモジュールの形をとる、上記(7)または(8)に記載のプラットフォーム。
(10)各プロセスは、命令セットを形成するアプリケーションソフトウエア層と、オペレーティングシステムソフトウエア層と、伝送制御プロトコルを適用することができるソフトウエア層とを提供し、
前記システムは、前記アクティブ接続の前記状態データを複製することができるプロセスを提供し、該プロセスは、少なくとも部分的に、前記アクティブプロセスの前記アプリケーション層によって実行される、上記(7)から(9)のいずれかに記載のプラットフォーム。
(11)それぞれ異なるネットワークアドレスを有する、アクティブプロセスおよびスタンバイプロセスの複数の対を維持することを含む、上記(7)から(10)のいずれかに記載のプラットフォーム。
(12)前記ネットワークアドレスはIPアドレスである、上記(7)から(11)のいずれかに記載のプラットフォーム。
【0066】
(13)アクティブ状態のプロセスをサポートする手段、スタンバイ状態のプロセスをサポートする手段、および該スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え能力を有する耐故障性プラットフォームであって、ネットワーク接続は、関連付けられたプロセスが前記ネットワーク接続を閉じるか、または該関連付けられたプロセスが終わる度に、該ネットワーク接続が前記ネットワーク上で閉じられる第1の状態と、関連付けられたプロセスが前記ネットワーク接続を閉じるか、または該関連付けられたプロセスが終わるときに、該ネットワーク接続が該ネットワーク上で閉じられない第2の状態とをとることができ、
前記プラットフォームは、プログラム制御下で前記接続を前記第1の状態と前記第2の状態との間で切り換え、接続状態情報を抽出し、該接続状態情報を設定することを可能にするアプリケーションプログラミングインターフェースを含み、前記接続状態情報は、ネットワークアドレスを前記スタンバイ接続に転送することにより、前記ネットワーク上で接続が再開されることを必要とすることなく、アクティブプロセスから複製された前記状態情報で更新され維持されたスタンバイネットワーク接続が、移行したスタンバイプロセスによって用いられることを可能にするような情報である耐故障性プラットフォーム。
【0067】
(14)アクティブ状態のプロセス、スタンバイ状態のプロセス、および該スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え能力とを有する耐故障性プラットフォームにおいてネットワーク接続を提供するための方法であって、
アクティブプロセスからスタンバイプロセスに、該アクティブプロセスのネットワーク接続の状態データを複製するステップと、
前記スタンバイプロセスについて、前記複製されたデータで更新された対応するスタンバイネットワーク接続を維持するステップと、
前記スタンバイ状態のプロセスをアクティブ状態に移行させるステップとを含み、
前記スタンバイ状態のアクティブ状態への移行中に、前記アクティブシステム内の前記ネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化し、ネットワークアドレスを前記スタンバイプロセスに転送し、該ネットワークアドレスで前記対応するスタンバイネットワーク接続を活動化し、該移行したスタンバイプロセスが前記ネットワーク上で前記接続を再開する必要がないようにする、方法。
【0068】
(15)アクティブ状態のプロセス、スタンバイ状態のプロセス、および該スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え能力とを有する耐故障性プラットフォームにおいてインターネットプロトコル(IP)ネットワーク接続を提供する方法であって、
アクティブプロセスからスタンバイプロセスに、該アクティブプロセスのネットワーク接続の状態データを複製するステップと、
前記スタンバイプロセスについて、前記複製されたデータで更新された対応するスタンバイネットワーク接続を維持するステップと、
前記スタンバイ状態のプロセスをアクティブ状態に移行させるステップとを含み、
前記スタンバイ状態のアクティブ状態への移行中に、前記アクティブシステム内の前記ネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化し、IPネットワークアドレスを前記スタンバイプロセスに転送し、該IPネットワークアドレスで前記対応するスタンバイネットワーク接続を活動化し、前記移行したスタンバイプロセスが前記ネットワーク上で前記接続を再開する必要がないようにし、
前記スタンバイプロセスの前記ネットワークアドレスを活動化するステップは、前記スタンバイ接続が活動化される前に実行される、方法。
【0069】
【発明の効果】
本発明によれば、ネットワーク接続のリモートエンドに対して高いトランスペアレンシー(透過性)が保持され、フェイルオーバが達成される。
【図面の簡単な説明】
【図1】本発明の一実施形態に従う、システムのアーキテクチャの概略図。
【図2】本発明の一実施形態に従う、システムにおける1つの装置の種々の状態を示す状態図。
【図3】本発明の一実施形態に従う、複製マネージャモジュールおよび接続マネージャモジュールを含むシステムの概略図。
【図4】本発明の一実施形態に従う、システム内の接続の種々の状態を示す状態図。
【図5】本発明の一実施形態に従う、アクティブ接続およびスタンバイ接続を設定するために用いられるプロセス、および閉じるために用いられるプロセスを示す図。
【図6】本発明の一実施形態に従う、プロセス終了時、またはアクティブシステムからスタンバイシステムへの接続の手動による移動時のプロセスを示す図。
【符号の説明】
100、200 ハードウェア装置
110、210 接続
300 ネットワーク
160、260 複製マネージャ
170、270 接続マネージャ

Claims (16)

  1. アクティブ状態のプロセス、スタンバイ状態のプロセス、スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え能力を有する耐故障性プラットフォームにおいてネットワーク接続を提供する方法であって、
    該アクティブ状態のプロセスは、ネットワークアドレスを有し、該方法は、
    該スタンバイ状態のプロセスをアクティブ状態へ移行させ、該スタンバイ状態のプロセスの移行中に該ネットワークアドレスを該スタンバイ状態のプロセスに転送し、
    該スタンバイ状態のプロセスのアクティブ状態への移行に先立って、
    該スタンバイ状態のプロセスに、該アクティブ状態のプロセスのネットワーク接続の状態データを複製するステップと、
    スタンバイ状態のプロセスについて、複製されたデータで更新された対応するスタンバイネットワーク接続を維持するステップと、
    クティブ状態へのスタンバイ状態のプロセスの移行中に、アクティブ状態のプロセス内のネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化し、スタンバイ状態のプロセスにネットワークアドレス転送されたら、該ネットワークアドレスで対応するスタンバイネットワーク接続を活動化するステップと、を含み、
    移行したスタンバイ状態のプロセスがネットワークにおける接続を再開する必要がないようにする、耐故障性プラットフォームにおいてネットワーク接続を提供する方法。
  2. 前記ネットワーク接続が伝送制御プロトコル(TCP)接続、トランザクション処理(OSI TP)接続またはストリーム制御伝送プロトコル(SCTP)接続のいずれかである請求項1に記載の方法
  3. 前記アクティブプロセスの前記接続を監視するステップと、該接続のアイドル状態が識別されたことに応答して前記状態データの複製を起動するステップと、を含む、請求項1または2に記載の方法。
  4. 接続の状態データを複製する前記ステップは、前記アクティブプロセスが前記接続を用いることができる間に実行される、請求項1から3のいずれか1項に記載の方法。
  5. それぞれ異なるネットワークアドレスを有するアクティブプロセスおよびスタンバイプロセスの複数の対を維持するステップを含む、請求項1から4のいずれかに記載の方法。
  6. 前記ネットワークアドレスはIPアドレスである、請求項1から5のいずれかに記載の方法。
  7. 前記ネットワーク接続がTCP接続である場合に、状態データを複製するステップは、TCP状態情報を複製することを含む請求項2から6のいずれかに記載の方法。
  8. アクティブ状態のプロセス、スタンバイ状態のプロセス、および該スタンバイ状態のプロセスをアクティブ状態に移行させるための切り換え手段を有する耐故障性プラットフォームであって、
    該アクティブ状態のプロセスは、ネットワークアドレスを有し、該切り換え手段は、スタンバイ状態のプロセスのアクティブ状態のプロセスへの移行の一部として、該ネットワークアドレスをスタンバイ状態のプロセスへ転送するように構成され、該プラットフォームは、
    アクティブ状態のプロセスに関連付けられた接続から状態データを抽出する第1の接続マネージャと、
    アクティブ状態のプロセスに関連付けられたネットワーク接続の状態データをスタンバイ状態のプロセスに複製する複製マネージャと、
    スタンバイ状態のプロセスについて、複製されたデータで更新された対応するスタンバイネットワーク接続を維持する第2の接続マネージャとを備え、
    切り換え手段は、スタンバイ状態のプロセスのアクティブ状態への移行に先立ってアクティブ状態のプロセス内のネットワーク接続を、該ネットワーク上の該接続を閉じることなく非活動化するように構成され、ネットワークアドレスが該スタンバイ状態のプロセスに転送されたら、該ネットワークアドレスで対応するスタンバイネットワーク接続を活動化するように構成されており、
    移行したスタンバイ状態のプロセスがネットワーク上で接続を再開する必要がないようにするプラットフォーム。
  9. 前記ネットワーク接続が伝送制御プロトコル(TCP)接続、トランザクション処理(OSI TP)接続またはストリーム制御伝送プロトコル(SCTP)接続のいずれかである請求項8に記載のプラットフォーム
  10. 前記複製マネージャは、個別のソフトウエアモジュールの形をとる、請求項8または9に記載のプラットフォーム。
  11. 前記第1および/または第2の接続マネージャは、個別のソフトウエアモジュールの形をとる、請求項8から10のいずれかに記載のプラットフォーム。
  12. 各プロセスは、命令セットを形成するアプリケーションソフトウエア層と、オペレーティングシステムソフトウエア層と、伝送制御プロトコルを適用することができるソフトウエア層とを提供し、
    前記システムは、前記アクティブ接続の前記状態データを複製することができるプロセスを提供し、該プロセスは、少なくとも部分的に、前記アクティブプロセスの前記アプリケーション層によって実行される、請求項8から11のいずれかに記載のプラットフォーム。
  13. それぞれ異なるネットワークアドレスを有する、アクティブプロセスおよびスタンバイプロセスの複数の対を維持することを含む、請求項8から12のいずれかに記載のプラットフォーム。
  14. 前記ネットワークアドレスはIPアドレスである、請求項8から13のいずれかに記載のプラットフォーム。
  15. 前記ネットワーク接続がTCP接続である場合に、前記複製マネージャは、TCP状態情報を含む状態データを複製するように構成されている請求項8から14のいずれかに記載のプラットフォーム。
  16. 請求項8から15のいずれかに記載の耐故障性プラットフォームであって、
    ネットワーク接続は、関連付けられたプロセスが前記ネットワーク接続を閉じるか、または該関連付けられたプロセスが終わる度に、該ネットワーク接続が前記ネットワーク上で閉じられる第1の状態と、関連付けられたプロセスが前記ネットワーク接続を閉じるか、または該関連付けられたプロセスが終わるときに、該ネットワーク接続が該ネットワーク上で閉じられない第2の状態とをとることができ、
    前記プラットフォームは、プログラム制御下で前記接続を前記第1の状態と前記第2の状態との間で切り換え、接続状態情報を抽出し、該接続状態情報を設定することを可能にするアプリケーションプログラミングインターフェースを含み、
    前記接続状態情報は、ネットワークアドレスを前記スタンバイ接続に転送することにより、前記ネットワーク上で接続が再開されることを必要とすることなく、アクティブ状態のプロセスから複製された前記状態情報で更新され維持されたスタンバイネットワーク接続が、移行したスタンバイ状態のプロセスによって用いられることを可能にするような情報である耐故障性プラットフォーム。
JP2002020221A 2001-02-06 2002-01-29 耐故障性プラットフォームにおいてネットワーク接続を提供する方法 Expired - Fee Related JP3930743B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/777,609 US20020107966A1 (en) 2001-02-06 2001-02-06 Method and system for maintaining connections in a network
US09/777,609 2001-02-06

Publications (3)

Publication Number Publication Date
JP2002319963A JP2002319963A (ja) 2002-10-31
JP2002319963A5 JP2002319963A5 (ja) 2005-07-14
JP3930743B2 true JP3930743B2 (ja) 2007-06-13

Family

ID=25110725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002020221A Expired - Fee Related JP3930743B2 (ja) 2001-02-06 2002-01-29 耐故障性プラットフォームにおいてネットワーク接続を提供する方法

Country Status (3)

Country Link
US (1) US20020107966A1 (ja)
EP (1) EP1231756A3 (ja)
JP (1) JP3930743B2 (ja)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6664779B2 (en) * 2000-11-16 2003-12-16 Texas Instruments Incorporated Package with environmental control material carrier
US20020129146A1 (en) * 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
US7543067B2 (en) * 2001-08-01 2009-06-02 Canon Kabushiki Kaisha Flexible secure network data transfer and messaging
DE60129022T2 (de) * 2001-10-30 2008-05-08 Hewlett-Packard Development Co., L.P., Houston Kommunikationssystem und -verfahren
EP1309220B1 (en) * 2001-10-31 2009-08-05 Hewlett-Packard Company, A Delaware Corporation Data processing system and method
EP1311102A1 (en) * 2001-11-08 2003-05-14 Hewlett-Packard Company Streaming audio under voice control
US7111035B2 (en) * 2001-12-26 2006-09-19 Hewlett-Packard Development Company, L.P. Fault tolerance associations for IP transport protocols
US7978598B1 (en) * 2002-03-01 2011-07-12 Cisco Technology, Inc. Connection replication
US20030212802A1 (en) * 2002-05-09 2003-11-13 Gateway, Inc. Proximity network encryption and setup
US7275081B1 (en) 2002-06-10 2007-09-25 Juniper Networks, Inc. Managing state information in a computing environment
US7197660B1 (en) * 2002-06-26 2007-03-27 Juniper Networks, Inc. High availability network security systems
US20040054943A1 (en) * 2002-08-08 2004-03-18 International Business Machines Corporation Method and system for improving the availability of software processes utilizing configurable finite state tables
AU2003275118A1 (en) * 2002-09-20 2004-04-08 Tekelec Methods and systems for locating redundant telephony call processing hosts in geographically separate locations
EP1406171A1 (en) * 2002-10-04 2004-04-07 Hewlett-Packard Company Data processing system and method
US7389411B2 (en) * 2003-08-29 2008-06-17 Sun Microsystems, Inc. Secure transfer of host identities
US7739403B1 (en) 2003-10-03 2010-06-15 Juniper Networks, Inc. Synchronizing state information between control units
US7929424B2 (en) * 2003-10-31 2011-04-19 Ericsson Ab Switchover for broadband subscriber sessions
GB2408891A (en) * 2003-12-05 2005-06-08 Stephen Casey Network device
US7433368B2 (en) * 2003-12-11 2008-10-07 Nokia Corporation Signaling transport converter
US20050149753A1 (en) * 2003-12-30 2005-07-07 Cromer Daryl C. Apparatus, system, and method for validating interface addresses
US7870602B2 (en) 2005-09-14 2011-01-11 At&T Intellectual Property I, L.P. System and method for reducing data stream interruption during failure of a firewall device
US7518986B1 (en) 2005-11-16 2009-04-14 Juniper Networks, Inc. Push-based hierarchical state propagation within a multi-chassis network device
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US7948909B2 (en) 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US8477614B2 (en) 2006-06-30 2013-07-02 Centurylink Intellectual Property Llc System and method for routing calls if potential call paths are impaired or congested
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8102770B2 (en) 2006-08-22 2012-01-24 Embarq Holdings Company, LP System and method for monitoring and optimizing network performance with vector performance tables and engines
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8098579B2 (en) 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US7808918B2 (en) * 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8125897B2 (en) 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8040811B2 (en) 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US7889660B2 (en) * 2006-08-22 2011-02-15 Embarq Holdings Company, Llc System and method for synchronizing counters on an asynchronous packet communications network
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8051326B2 (en) * 2006-12-29 2011-11-01 Futurewei Technologies, Inc. System and method for completeness of TCP data in TCP HA
US9648147B2 (en) * 2006-12-29 2017-05-09 Futurewei Technologies, Inc. System and method for TCP high availability
US20080285436A1 (en) * 2007-05-15 2008-11-20 Tekelec Methods, systems, and computer program products for providing site redundancy in a geo-diverse communications network
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
US7890662B2 (en) * 2007-08-14 2011-02-15 Cisco Technology, Inc. System and method for providing unified IP presence
US20090067435A1 (en) * 2007-09-11 2009-03-12 International Business Machines Corporation Systems, methods and computer products for a tcp/ip stack to notify an application of a state change made to all routes over a single ipv4 interface
US7971099B2 (en) * 2008-04-02 2011-06-28 International Business Machines Corporation Method for enabling faster recovery of client applications in the event of server failure
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
JP5088281B2 (ja) * 2008-09-19 2012-12-05 沖電気工業株式会社 パケット同期切替方法及びゲートウェイ装置
FR2939596A1 (fr) * 2008-12-08 2010-06-11 Alcatel Lucent Procede de delegation de traitement de donnees
US8751627B2 (en) 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
US8363549B1 (en) 2009-09-02 2013-01-29 Juniper Networks, Inc. Adaptively maintaining sequence numbers on high availability peers
US8614941B2 (en) * 2011-05-09 2013-12-24 Telefonaktiebolaget L M Ericsson (Publ) Hitless switchover from active TCP application to standby TCP application
EP2525292A1 (en) * 2011-05-20 2012-11-21 ABB Technology AG System and method for using redundancy of controller operation
GB2485866B (en) * 2011-08-26 2012-10-10 Metaswitch Networks Ltd Data replication for a backup entity
WO2012149750A1 (zh) 2011-09-19 2012-11-08 华为技术有限公司 一种对用户服务进行迁移的方法、装置及系统
KR20180091107A (ko) * 2012-02-17 2018-08-14 어펌드 네트웍스, 인크. 가상화된 개방형 무선 서비스 소프트웨어 아키텍처
JP6129526B2 (ja) * 2012-11-20 2017-05-17 株式会社東芝 通信装置、通信方法およびプログラム
JP6256904B2 (ja) 2013-04-18 2018-01-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理の要求を振り分ける装置及び方法
JP6403976B2 (ja) * 2014-04-09 2018-10-10 アルパイン株式会社 コンピュータプログラム、情報処理装置及び処理実行方法
US10855645B2 (en) 2015-01-09 2020-12-01 Microsoft Technology Licensing, Llc EPC node selection using custom service types
EP3292707A4 (en) 2015-05-07 2019-04-17 Affirmed Networks, Inc. METHODS AND SYSTEMS FOR PROVIDING DETAILED CALL RECORDING FOR CHARGING SYSTEMS
US10924520B2 (en) 2016-12-13 2021-02-16 Microsoft Technology Licensing, Llc Online charging mechanisms during OCS non-responsiveness
EP3958646A3 (en) 2016-12-13 2022-06-22 Microsoft Technology Licensing, LLC Machine-to-machine network optimization and online charging
US10548140B2 (en) 2017-05-02 2020-01-28 Affirmed Networks, Inc. Flexible load distribution and management in an MME pool
JP7178365B2 (ja) 2017-05-05 2022-11-25 マイクロソフト テクノロジー ライセンシング,エルエルシー サービス能力公開機能(scef)ベースのインターネットオブシングス(iot)通信の方法とシステム
CN110800275B (zh) 2017-05-31 2022-09-23 微软技术许可有限责任公司 Ipsec地理冗余的解耦控制和数据平面同步
US10856134B2 (en) 2017-09-19 2020-12-01 Microsoft Technolgy Licensing, LLC SMS messaging using a service capability exposure function
US11051201B2 (en) 2018-02-20 2021-06-29 Microsoft Technology Licensing, Llc Dynamic selection of network elements
BR112020018950A2 (pt) 2018-03-20 2020-12-29 Affirmed Networks, Inc. Sistemas e métodos para fatiamento de rede
EP3827577B1 (en) 2018-07-23 2023-09-13 Microsoft Technology Licensing, LLC System and method for intelligently managing sessions in a mobile network
US10862978B2 (en) * 2018-09-19 2020-12-08 Citrix Systems, Inc. Systems and methods for maintaining and transferring SaaS session state
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US12113837B2 (en) * 2020-10-26 2024-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Interactive calling for internet-of-things

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816422A (ja) * 1994-07-04 1996-01-19 Fujitsu Ltd バス通信方法及びバス通信システム
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US6049825A (en) * 1997-03-19 2000-04-11 Fujitsu Limited Method and system for switching between duplicated network interface adapters for host computer communications
US5948108A (en) * 1997-06-12 1999-09-07 Tandem Computers, Incorporated Method and system for providing fault tolerant access between clients and a server
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6195705B1 (en) * 1998-06-30 2001-02-27 Cisco Technology, Inc. Mobile IP mobility agent standby protocol
US6229538B1 (en) * 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6389550B1 (en) * 1998-12-23 2002-05-14 Ncr Corporation High availability protocol computing and method
WO2000060472A1 (en) * 1999-04-06 2000-10-12 Lipstream Networks, Inc. Facilitating real-time, multi-point communications over the internet
US20030055967A1 (en) * 1999-05-17 2003-03-20 David Dewitt Worley Encapsulating local application environments in a cluster within a computer network

Also Published As

Publication number Publication date
US20020107966A1 (en) 2002-08-08
JP2002319963A (ja) 2002-10-31
EP1231756A2 (en) 2002-08-14
EP1231756A3 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
JP3930743B2 (ja) 耐故障性プラットフォームにおいてネットワーク接続を提供する方法
US6760859B1 (en) Fault tolerant local area network connectivity
EP1309142B1 (en) Communication system and method
CN101136900B (zh) 一种面向服务的快速透明故障转移装置及实现方法
US7107481B2 (en) Server takeover system and method
KR101099822B1 (ko) 액티브 라우팅 컴포넌트 장애 처리 방법 및 장치
US9141502B2 (en) Method and system for providing high availability to computer applications
US9378005B2 (en) Hitless software upgrades
US7304940B2 (en) Network switch assembly, network switching device, and method
US8462767B2 (en) Internet protocol compliant private branch electronic exchange and a method for redundantly configuring terminal interfaces
JP2005535241A (ja) マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置
JP2002319963A5 (ja)
JPH0926891A (ja) アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システム
WO2021185169A1 (zh) 一种切换方法、装置、设备和存储介质
JPH1185644A (ja) 冗長構成システムの系切替制御方法
CN108282346B (zh) 软件升级方法及装置
JP2005136690A (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム
GB2455075A (en) A network controller for mirroring server applications
KR101401006B1 (ko) 고가용성 시스템에서 소프트웨어 업데이트를 수행하기 위한 방법 및 장치
KR100587531B1 (ko) 클러스터 시스템에서 통신 프로토콜의 처리를 이관하는방법 및 그 시스템
KR100456461B1 (ko) 네트워크계층 및 전송계층 프로토콜 이중화를 위한 패킷전달방법
JPH1093617A (ja) 通信処理装置の予備切り替えシステム
JPH0432953A (ja) 複合計算機システムおよびその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

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

Free format text: PAYMENT UNTIL: 20100316

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110316

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120316

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130316

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140316

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees