JP4900982B2 - サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム - Google Patents

サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム Download PDF

Info

Publication number
JP4900982B2
JP4900982B2 JP2010528436A JP2010528436A JP4900982B2 JP 4900982 B2 JP4900982 B2 JP 4900982B2 JP 2010528436 A JP2010528436 A JP 2010528436A JP 2010528436 A JP2010528436 A JP 2010528436A JP 4900982 B2 JP4900982 B2 JP 4900982B2
Authority
JP
Japan
Prior art keywords
server
failover
subscription
message
failed
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
JP2010528436A
Other languages
English (en)
Other versions
JP2011501254A5 (ja
JP2011501254A (ja
Inventor
ギルフィックス、マイケル
ムーア、ビクター
ジュニア、アンソニー、ウィリアム ロウベル
チェン、ベンソン、クアン、イー
ギルモア、マーク、デイビッド
タルアビブ、オフィラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011501254A publication Critical patent/JP2011501254A/ja
Publication of JP2011501254A5 publication Critical patent/JP2011501254A5/ja
Application granted granted Critical
Publication of JP4900982B2 publication Critical patent/JP4900982B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2035Error 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 without idle spare hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Description

本発明は、データ処理システムの改良に関する。具体的にいえば、本発明は、セッション・アフィニティを利用する分散型ネットワーク環境において、サーバ・フェイルオーバを処理するためにコンピュータを利用する方法、システム、及びコンピュータ・プログラムに関する。
今日、ほとんどのコンピュータが何らかのタイプのネットワークに接続される。ネットワークは、コンピュータが他のコンピュータ・システムと情報を共用することを可能にする。インターネットは、コンピュータ・ネットワークの一例である。インターネットは、コンピュータのグローバル・ネットワークであり、データ転送を処理し且つ、送信ネットワークのプロトコルから受信ネットワークにより使用されるプロトコルへのメッセージの変換を処理する、ゲートウェイによって結合されたネットワークである。インターネットでは、任意のコンピュータが、プロトコルとも呼ばれる種々の言語を通して情報がインターネット上を移動することによって、他のコンピュータと通信を行なうことを可能にする。一般に、インターネットは、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)と呼ばれる一連のプロトコルを使用する。
多くの最新のインターネット・アプリケーションは、異なる組織上の境界、異機種のプラットフォーム、並びにパブリッシャ(即ち、発行元)及びサブスクライバ(即ち、引用先)の大きな動的集団の全体にわたって情報を配布することを必要とする。パブリッシュ・サブスクライブ(パブ・サブ)・ネットワーク・サービスは、潜在的に無制限の数のパブリッシャおよびサブスクライバの全体にわたる情報の配布を可能にする通信機能である。パブ・サブ・システムは、多くの場合、ピア・ツー・ピア・オーバレイ・ネットワークよりも上位の通信を行なう空間的にまったく異なるノードの集合体として実現されている。
そのような環境では、パブリッシャはイベントの形で情報をパブリッシュし、サブスクライバは、パブ・サブ・ネットワークにサブスクリプション・フィルタを送ることにより或るイベント又は或るパターンのイベントに対する関心事を表す能力を有する。パブ・サブ・ネットワークは、すべての活動中のサブスクリプションに各パブリケーションを動的に対抗させるためにコンテンツ・ベースの経路指定方法を使用し、イベントがそれらの登録済みの関心事と一致する場合、しかもその場合にのみ、そのイベントをサブスクライバに通知する。
集中サービス(converged service)は、高いレベルの機能を提供するために多数のネットワーク・プロトコル及びプロトコル・セッション上の通信にまたがるアプリケーションである。ハイパーテキスト転送プロトコル(HTTP)及びセッション開始プロトコル(SIP)の場合、集中サービスは、HTTP及びSIPの両方からのセッション情報を結合し、1つのプロトコルによる対話がそのプロトコルの制約次第で他のプロトコルによる通信に影響を及ぼすことがある。集中サービスは、これらのプロトコルの各々にまたがって多数のプロトコル・セッションに及ぶこともある。
コードの構造化および高い有効性サービスを簡単にするために、セッション・アフィニティと呼ばれるメカニズムが集中サービスと関連して使用される。セッション・アフィニティは、そのセッション内の要求をサーバ・クラスタ内の特定のサーバに関連付けるためのクラスタ構成された環境における機構である。この関連付けは、セッションを管理サーバにマップする経路指定メカニズムを介して達成される。集中サービスと共にセッション・アフィニティを使用するとき、集中セッション・データは、単一のアプリケーション・サーバの場合、セッションのライフタイム内では生きており、集中セッションに関する要求を処理するときにアプリケーション・コードがクラスタ間通信を行なう必要のないようにし得る。
しかし、多くの集中アプリケーションは、多数の集中セッション全体にわたって共通の資源又はデータ構造にアクセスすること及びそれを操作することを必要とする。セッション・アフィニティによっても、集中セッションは、クラスタ内の種々のサーバに割り当てられる。その結果、クラスタにおける関連するセッションの場所に関係なくそれらのセッションに関連する共通の情報の集中セッションを通知するための方法が必要である。例えば、サーバA、B、及びCを含む3つのサーバがクラスタ構成された環境を考察する。サーバA及びサーバCにおけるアプリケーション資源に関する通知のためにサブスクリプションが設定される。パブリッシュ要求が入ってきてサーバBに与えられる。サーバBは、クラスタにおけるどのサーバがその関心のあるサブスクリプション・セッションを含むかを知らない。サーバBはサブスクリプション・データを高い信頼性でブロードキャストできなければならない。更に、サーバBが障害を生じた場合、サーバBによって管理されたセッションがそのクラスタ内のどこで再活性化されるかはわからない。
従って、本発明の目的は、セッション・アフィニティを利用するパブ・サブ分散型ネットワーク環境においてサーバ・フェイルオーバを管理するためにコンピュータを利用する改良された方法、システム、及びコンピュータプログラムを提供することにある。
本実施例は、サーバ・クラスタにおいてフェイルオーバを管理するためにコンピュータを利用する方法、システム、及びコンピュータプログラを提供する。分散型ネットワーク内のサーバ・クラスタにおける障害のあるサーバ(以下、障害サーバという)を検出したことに応答して、フェイルオーバ・サーバのサブスクリプション・メッセージ処理が停止される。障害サーバのサブスクリプション・キューが開かれる。特定のメッセージング・トピックのすべてのサブスクライバに対して、マーカ・メッセージがパブリッシュされる。マーカ・メッセージは、障害サーバのサブスクリプション・キューを現在管理しているフェイルオーバ・サーバの識別子を含む。障害サーバのサブスクリプション・キュー内のメッセージが処理される。障害サーバのサブスクリプション・キューにおけるメッセージがマーカ・メッセージであるかどうかが判断される。障害サーバのサブスクリプション・キューにおけるメッセージがマーカ・メッセージであるという判断に応答して、障害サーバのサブスクリプション・キューが閉じられる。しかる後、フェイルオーバ・サーバが、当該フェイルオーバ・サーバのオリジナルのサブスクリプション・キューの処理を再開する。
オリジナルのサブスクリプション・キューからの未検出のメッセージを処理している間、マーカ・メッセージが探索されることが望ましい。一旦そのマーカ・メッセージがオリジナルのサブスクリプション・キューにおいて見つかると、正規のオペレーションが再開されることが望ましい。
本発明の実施例を具体化し得るデータ処理システムのネットワークの概略図である。 本発明の実施例を具体化し得るデータ処理システムのブロック図である。 本発明の実施例に従って通常のサーバ・オペレーションのための例示的プロセスを示すフローチャートである。 本発明の実施例に従ってフェイルオーバ・サーバ・オペレーションのための例示的プロセスを示すフローチャートである。
次に、図面、特に図1及び図2を参照すると、本実施例を具体化し得るデータ処理環境の例示的概略図が示される。図1及び図2は単に例示的なものであって、種々の実施例を具体化し得る環境に関して如何なる制限も主張及び暗示することを意図するものではないということは明らかであろう。図示の環境に対して多くの修正を施すことが可能である。
図1は、本実施例を具体化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム100は、本実施例を具体化し得るコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、そのネットワークは、ネットワーク・データ処理システム100内で接続される種々の装置及びコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線通信リンク、無線通信リンク、又は光ファイバ・ケーブルのような接続体を含み得る。
図示の例では、サーバ104及びサーバ106が記憶ユニット108と共にネットワーク102に接続している。更に、クライアント110、112、及び114もネットワーク102に接続している。しかし、ネットワーク・データ処理システム100が、図示されてない更なるサーバ、クライアント、及び他の装置を含み得るということを留意されたい。クライアント110、112、及び114は、サーバ104及び/又はサーバ106に対するクライアントである。更に、クライアント110、112、及び114は、例えば、パーソナル・コンピュータ又はネットワーク・コンピュータであってもよい。
図示の例では、サーバ104及びサーバ106はクラスタ構成されたサーバである。更に、サーバ104及び106は、サブスクライバであるクライアント110、112、及び114にパブ・サブ・ネットワーク・サービスを提供する。パブ・サブ・ネットワークは、特定のメッセージング・トピックに対するメッセージのパブリッシュをサポートする。トピックは、複数のサブスクライバに対して関心のある主題を示す。一般に、メッセージは、パブリッシュ・プロセス中にトピックに割り当てられ、しかる後、その特定のメッセージング・トピックをサブスクライブしているすべての消費者によって受け取られる。ゼロ又はそれ以上のサブスクライバ・クライアントが、特定のメッセージ・トピックに関するメッセージを受け取ることに関心があることを登録し得る。
サブスクリプションは、それが永続的及び耐久的なものとなるように構成される。サブスクリプションは、或る消費者が或るクラスのイベントを受け取ることに関心があるということを表す。例えば、Javaメッセージング・サービス(JMS)のようなメッセージング・サービス環境内のサブスクリプションは、トピックに対するイベントを、そのイベントがパブリッシュされた順序で受け取るための「仮想キュー」として作用する。永続的であるということは、クライアントがサブスクリプションからメッセージを読むことを停止するとき、そのクライアントが取りやめたサブスクリプション・キュー内に未読のメッセージが残っているということを意味する。
更に、ネットワーク・データ処理システム100は、セッション・アフィニティを利用する分散型ネットワーク環境である。セッション・アフィニティは、同じアプリケーション・サーバ・インスタンスに同じ集中セッションの一部である要求を経路指定するために負荷平衡化要素を利用する。集中セッションに対処するために、本実施例はセッション情報を伴う要求を符号化する。なお、セッション情報は、要求を経路指定するために使用することが可能である。このセッション情報の符号化は2つの方法で行うことが可能である。1つの方法は、クライアント・アプリケーションが、例えば、クッキーのようなセッション基準を集中アプリケーションから得るものである。この場合、クライアント・アプリケーションは、その要求におけるかかるクッキーを再生する。もしくは、クライアント・アプリケーションが、要求が適切なサーバに送られるように、その要求のユニフォーム・リソース・アイデンティファイア(URI)を符号化する。
図示の例では、ネットワーク・データ処理システム100は、相互に通信を行なうためにTCP/IPスイート・プロトコルを使用するネットワーク及びゲートウェイの世界的な集合体を表すネットワーク102を備えたインターネットである。そのインターネットの中心には、数千個の商業的コンピュータ・システム、政府機関のコンピュータ・システム、教育機関のコンピュータ・システム、及び、データ及びメッセージを経路指定する他のコンピュータ・システムから成る、主要ノード又はホスト・コンピュータ間の高速データ通信回線のバックボーンがある。勿論、ネットワーク・データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)のような数多くの様々なタイプのネットワークとして具現化することも可能である。図1は種々の実施例の一例として意図され、それらの実施例に対するアーキテクチャ上の限定として意図されるものではない。
次に、図2を参照すると、本実施例を具現化し得るデータ処理システムのブロック図が示される。データ処理システム200は、図1におけるサーバ104又はクライアント110のようなコンピュータの一例であり、そこには、本実施例のためのプロセスを具現化するコンピュータ使用可能プログラム・コード又は命令が設けられる。
図示の例では、データ処理システム200は、インターフェース及びメモリ・コントローラ・ハブ(インターフェース/MCH)202並びにインターフェース及び入出力(I/O)コントローラ・ハブ(インターフェース/ICH)204を含むハブ・アーキテクチャを使用する。処理ユニット206、メイン・メモリ208、及びグラフィックス・プロセッサ210はインターフェース/MCH202に接続される。処理ユニット206は1つ又は複数のプロセッサを含み得るし、1つ又は複数の異種のプロセッサ・システムを使用して具現化されてもよい。グラフィックス・プロセッサ210は、例えば、アクセラレイテッド・グラフィック・ポート(AGP)を介してインターフェース/MCH202に接続されてもよい。
図示の例では、ローカル・エリア・ネットワーク(LAN)アダプタ212がインターフェース/ICH204に接続され、オーディオ・アダプタ216、キーボード及びマウス・アダプタ220、モデム222、リード・オンリ・メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)及び他のポート232、並びにPCI/PCIe装置234がバス238を介してインターフェース/ICH204に接続され、ハードディスクドライブ(HDD)226及びCD−ROM230がバス240を介してインターフェース/ICH204に接続される。PCI/PCIe装置は、例えば、イーサネット・アダプタ、アドイン・カード、及びノート型コンピュータ用PCカードを含み得る。PCIはカード・バス・コントローラを使用し、一方、PCIeはそれを使用しない。ROM224は、例えば、フラッシュ・バイナリ入出力システム(BIOS)であってもよく、HDD226及びCD−ROM230は、例えば、統合ドライブ・エレクトロニクス(IDE)又はシリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インターフェースを使用し得る。スーパI/O(SIO)装置236がインターフェース/ICH204に接続されてもよい。
オペレーティング・システムが処理ユニット206において作動し、図2におけるデータ処理システム200内の種々のコンポーネントの制御を調整及び提供する。オペレーティング・システムは、Microsoft Windows Vistaのような市販のオペレーティングであってもよい。なお、Microsoft及びWindows Vistaは、米国におけるマイクロソフト社の登録商標である。Javaプログラミング・システムのようなオブジェクト指向プログラミング・システムが、そのオペレーティング・システムに関連して作動し得るし、データ処理システム200において実行されるJavaプログラム又はアプリケーションからそのオペレーティング・システムにコールを行ない得る。Java及びすべてのJavaベースの商標は、米国におけるサン・マイクロシステムズ社の登録商標である。
オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムのための命令は、HDD226のような記憶装置に置かれ、処理ユニット206による実行のためにメイン・メモリ208にロードされる。本実施例のプロセスは、例えば、メイン・メモリ208、ROM224のようなメモリ或いは1つ又は複数の周辺装置に置かれるコンピュータ実装の命令を使用して処理ユニット206により遂行される。
図1及び図2におけるハードウェアは具現化態様に従って変化し得る。フラッシュ・メモリ、同等の不揮発性メモリ、又は光ディスク・ドライブ等のような他の内部ハードウェア又は周辺装置が、図1及び図2に示されたハードウェアに加えて、又はそのハードウェアの代わりに使用されてもよい。更に、本実施例のプロセスは、マルチプロセッサ・データ処理システムに適用されてもよい。
或る実例例では、データ処理システム200は、オペレーティング・システム・ファイル及び/又はユーザ生成のデータを格納するための不揮発性メモリを提供するために一般にはフラッシュ・メモリと共に構成される携帯情報端末(PDA)であってもよい。バス・システムは、システム・バス、I/Oバス、及びPCIバスのような1つ又は複数のバスで構成されてもよい。勿論、任意のタイプの通信ファブリック又はアーキテクチャを使用して、その通信ファブリック又はアーキテクチャに接続された種々のコンポーネント又は装置の間でデータの転送を行なうバス・システムが実装されてもよい。通信ユニットは、モデム又はネットワーク・アダプタのような、データを送受信するために使用される1つ又は複数の装置を含み得る。メモリは、例えば、メイン・メモリ208又は、インターフェース/MCH202において見られるようなキャッシュであってもよい。処理ユニットは、1つ又は複数のプロセッサ又はCPUを含み得る。図1及び図2における図示の例並びに上記の例は、アーキテクチャ上の限定を暗示することを意味しない。例えば、データ処理システム200は、PDA形式をとることの他に、タブレット・コンピュータ、ラップトップ・コンピュータ、又は電話装置であってもよい。
本実施例は、分散型ネットワーク内のサーバ・クラスタにおいてフェイルオーバを管理するためにコンピュータを利用する方法、システム、及びコンピュータ使用可能なプログラム・コードを提供する。サーバ・クラスタにおける障害サーバを検出したことに応答して、フェイルオーバ・サーバが、自己のサブスクリプション・メッセージング・キューのサブスクリプション・メッセージ処理を停止する。しかる後、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キューを開き、特定のメッセージング・トピックの全てのサブスクライバにマーカ・メッセージをパブリッシュする。マーカ・メッセージは、その障害サーバのサブスクリプション・キューをその時点で管理しているフェイルオーバ・サーバの識別子を含む。更に、マーカ・メッセージは、フェイルオーバに参加していない他のすべてのサーバによって無視される。
更に、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キュー内のメッセージを処理する。障害サーバのサブスクリプション・キューにおけるメッセージを処理している間、フェイルオーバ・サーバは、サブスクリプション・キューにおけるメッセージがマーカ・メッセージであるかどうかを判断する。障害サーバのサブスクリプション・キューにおけるマーカ・メッセージが見つかったことに応答して、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キューを閉じ、当該フェイルオーバ・サーバのサブスクリプション・メッセージ処理を再開して自己のサブスクリプション・キューを処理する。
本実施例は、分散型パブ・サブ・ネットワーク環境において具現化することが可能である。開始時における各アプリケーション・サーバは、セッションのライフタイムにおいて存続する一意的なサブスクリプション識別子を発生する。各サブスクリプションは耐久性及び永続性がある。セッションがアプリケーション・サーバにおいて作成されるときには常に、アプリケーション・サーバは、セッション属性がセッション状態複製の一部として複製されるように、一意的なサブスクリプション識別子をセッション属性に格納する。フェイルオーバが生じるとき、障害サーバのセッションが別のサーバプリケーション上で活性化される。
一般に、例えば、J2EEアプリケーション・サーバのようなアプリケーション・サーバ環境では、フェイルオーバ・サーバ・アプリケーション・コードは、ライフサイクル・リスナを介してこの活動を信号で知らされる。しかし、ライフサイクル・リスナを介するほかに、プラットフォームによる多くの様々な方法でこの活動をアプリケーション・コードに知らせることが可能であるということに留意されたい。活動時、フェイルオーバ・サーバ・アプリケーションは、フェイルオーバしたサブスクリプションをセッションから見つける。しかる後、フェイルオーバ・サーバは、先入れ/先出し(FIFO)順に配布され且つ障害サーバのサブスクリプション・キューにおいても現れるマーカ・メッセージを直ちにすべてのサブスクリプションにパブリッシュする。
しかる後、フェイルオーバ・サーバは、自己の一次サブスクリプションに関する処理を停止し、フェイルオーバしたサブスクリプションから回復するように進み、障害サーバのセッションに関連するメッセージだけを処理する。回復している間、フェイルオーバ・サーバは、それが処理したメッセージのマップを作成する。一旦マーカ・メッセージがその障害サーバのサブスクリプション・キューにおいてヒットされると、回復の第1段階が終了する。
その後、フェイルオーバ・サーバ・アプリケーションは、それがマーカ・メッセージを見つけるまで一次キューの処理を再開する。マーカ・メッセージは、キューが現在同期していることを示す。一次キューを探索している間、フェイルオーバ・サーバはマップにあるメッセージをスキップするので、それは、回復されたセッションのための如何なるメッセージも処理しない。一旦フェイルオーバ・サーバがマーカ・メッセージを見つけると、フェイルオーバ・サーバはフェイルオーバしたサブスクリプションを終了し、正規の処理を再開する。しかし、フェイルオーバ・サーバが回復しているとき、障害サーバが動き出す場合、障害サーバが新しい一意的なサブスクリプション識別子を生成し、それによって、フェイルオーバ・サーバとの不一致を回避するので、フェイルオーバ・サーバは影響を受けない、ということに留意されたい。
次に図3を参照すると、本実施例に従って、通常のサーバ・オペレーションに関する典型的なプロセスを表すフローチャートが示される。図3に示されるプロセスは、例えば、図1におけるサーバ104のようなサーバにおいて具現化することが可能である。
プロセスは、サーバが起動するときに始まる(ステップ302)。起動後、サーバは、そのセッションのライフタイムの間生きている一意的なサブスクリプション識別子を生成する(ステップ304)。サーバは、その一意的なサブスクリプション識別子を使って、サブスクリプション・データに対する変更の通知をサブスクライバ・クライアントにパブリッシュするために使用されるメッセージング・トピックに接続する。
ステップ304において一意的なサブスクリプション識別子を生成することに続いて、サーバは、その一意的なサブスクリプション識別子を使ってメッセージング・トピックに接続する(ステップ306)。ステップ306においてメッセージング・トピックに接続した後、サーバは、これが新しいセッションであるかどうかに関して決定を行なう(ステップ308)。これが新しいセッションである場合(ステップ308の「イエス」出力)、サーバは、一意的なサブスクリプション識別子を属性としてセッション・オブジェクトに格納する(ステップ310)。しかる後、プロセスはステップ312に進む。
これが新しいセッションではない場合(ステップ308の「ノー」出力)、サーバは要求をサービスする(ステップ312)。サーバは要求処理を行なう(ステップ314)。更に、サーバは、特定メッセージング・トピックに変更をパブリッシュする(ステップ316)。更に、サーバは、セッション状態複製のためにセッション・オブジェクトを複製する(ステップ318)。しかる後、プロセスはステップ312に戻り、サーバは要求のサービスを継続する。
次に、図4を参照すると、本実施例に従って、フェイルオーバ・サーバ・オペレーションのための例示的なプロセスを表すフローチャートが示される。図4に示されるプロセスは、例えば、図1におけるサーバ106のようなサーバおいて具現化することが可能である。
プロセスは、サーバが、例えば図1におけるサーバ104のようなサーバ・クラスタ内の別のサーバの障害を検出するときに始まる(ステップ402)。ステップ402において他のサーバの障害を検出した後、別のサーバの障害を検出したサーバ(フェイルオーバ・サーバ)はそれ自身のサブスクリプション・メッセージの処理を停止する(ステップ404)。しかる後、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キューを開く(ステップ406)。更に、フェイルオーバ・サーバは、現在その障害サーバのセッションにサービスを提供しているサーバに関する一意的なサブスクリプション識別子を含むマーカ・メッセージを、すべてのサブスクライバにパブリッシュする(ステップ408)。更に、マーカ・メッセージは、フェイルオーバが生じたとき、フェイルオーバ・サーバのサブスクリプション・キュー及び障害サーバのサブスクリプション・キューの両方においてFIFO順に現れる。フェイルオーバ・サーバは、このマーカ・メッセージを使用して、後述するように両方のサーバのサブスクリプション・キューを同期させる。
しかる後、フェイルオーバ・サーバは障害サーバのサブスクリプション・キューからメッセージを取得する(ステップ410)。しかる後、フェイルオーバ・サーバは、そのメッセージがマーカ・メッセージであるかどうかに関して判断を行なう(ステップ412)。メッセージがマーカ・メッセージではない場合(ステップ412からの「ノー」出力)、フェイルオーバ・サーバはそのメッセージを「読取り済み」として記録する(ステップ414)。ステップ414で見られるようにメッセージを記録した後、フェイルオーバ・サーバは関連のセッションに関する処理を行なう(ステップ416)。しかる後、プロセスはステップ410に戻り、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キューから別のメッセージを得る。
ステップ412に戻ると、メッセージがマーカ・メッセージである場合(ステップ412の「イエス」出力)、フェイルオーバ・サーバは、障害サーバのサブスクリプション・キューを閉じる(ステップ418)。しかる後、フェイルオーバ・サーバは、それ自身のサブスクリプション・キューの処理を再開する(ステップ420)。そのサブスクリプション・キューの処理を再開した後、フェイルオーバ・サーバは、そのサブスクリプション・キューからメッセージを得る(ステップ422)。しかる後、フェイルオーバ・サーバは、そのメッセージがマーカ・メッセージであるかどうかに関して判断を行なう(ステップ424)。メッセージがマーカ・メッセージである場合(ステップ424の「イエス」出力)、フェイルオーバ・サーバは正規の処理を再開する(ステップ426)。しかる後、プロセスは終了する。
メッセージがマーカ・メッセージではない場合(ステップ424の「ノー」出力)、フェイルオーバ・サーバは、メッセージが以前に読み取られたかどうかに関して判断を行なう(ステップ428)。メッセージが読み取られた場合(ステップ428の「イエス」出力)、プロセスはステップ422に戻り、フェイルオーバ・サーバはそれ自身のサブスクリプション・キューから別のメッセージを得る。メッセージが読み取られなかった場合(ステップ428の「ノー」出力)、フェイルオーバ・サーバは、関連のセッションに関する処理を行なう(ステップ430)。しかる後、そのプロセスは、再びステップ422に戻る。
従って、本実施例は、セッション・アフィニティを利用するパブリッシュ・サブスクライブ分散型ネットワーク環境においてサーバ・フェイルオーバを処理するためにコンピュータを利用する方法、システム、及びコンピュータ使用可能プログラム・コードを提供する。本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、又は、ハードウェア要素及びソフトウェア要素の両方を含む実施例の形式を取り得る。好ましい実施例では、本発明は、ファームウェア、駐在ソフトウェア、マイクロコード等を含むがそれに限定されないソフトウェアにおいて具現化される。
更に、本発明は、コンピュータ又は任意の命令実行システムによる使用、或いは、それに関連した使用のためのプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形式を取り得る。説明の便宜上、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによる使用、或いは、それに関連した使用のためのプログラムを含み、格納し、通信し、又は搬送し得る任意の有形の装置であってもよい。
その媒体は、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体システム(又は装置又はデバイス)であってもよい。コンピュータ可読媒体の例は、半導体又はソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、固定磁気ディスク、及び光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク−リード/ライト(CD−R/W)、又はDVDを含む。
更に、コンピュータ記憶媒体はコンピュータ可読プログラム・コードを含み又はそれを格納し得るので、そのコンピュータ可読プログラム・コードがコンピュータ上で実行されるとき、このコンピュータ可読プログラム・コードの実行は、そのコンピュータに、通信リンクを介して他のコンピュータ可読プログラム・コードを伝送させ得る。この通信リンクは、例えば、制限なく、物理的な媒体又は無線媒体を使用し得る。
プログラム・コードを格納及び/又は実行するに適したデータ処理システムは、システム・バスを介してメモリ素子に直接的又は間接的に接続された少なくとも1つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、プログラム・コードの実行中にそれらのコードが大容量記憶装置から検索されるべき回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含み得る。
入出力装置、即ちI/O装置(キーボード、ディスプレイ、ポインティング・デバイスを含むがそれらに限定されない)は、システムに、直接に又は介在するI/Oコントローラを介して接続される。
データ処理システムが、介在する専用ネットワーク又は公衆ネットワークを介して他のデータ処理システム或いは遠隔のプリンタ又は記憶装置に接続されることを可能にするために、ネットワーク・アダプタがシステムに接続されてもよい。モデム、ケーブル・モデム、及びイーサネット・カードは数少ない現在利用可能なタイプのネットワーク・アダプタである。
本発明に関する記述は説明を目的として示され、網羅的であること又は開示された形式の発明に限定されることを意図するものではない。当業者には多くの修正および変更が明らかであろう。実施例は、本発明の原理及び実用的応用例を最もよく説明するために、また、当業者が、意図した特定の用途に適するように種々の修正を備えた種々の実施例のために本発明を理解することを可能にするために、選択及び説明されたものである。

Claims (15)

  1. サーバ・クラスタにおいてフェイルオーバを管理するため方法であって、
    前記サーバ・クラスタのうちの一つのサーバが分散型ネットワーク内の前記サーバ・クラスタにおける障害のあるサーバ(以下、障害サーバという)を検出したことに応答して、前記障害サーバを検出した前記サーバ(以下、フェイルオーバ・サーバという)が、当該フェイルオーバ・サーバのサブスクリプション・キューについてのサブスクリプション・メッセージ処理を停止するステップと、
    前記フェイルオーバ・サーバが、前記障害サーバのサブスクリプション・キューを開くステップと、
    前記フェイルオーバ・サーバが、前記障害サーバの前記サブスクリプション・キューを現在管理しているフェイルオーバ・サーバの識別子を含むマーカ・メッセージを特定メッセージング・トピックをサブスクライブしている全てのサブスクライバにパブリッシュするステップであって、前記特定のメッセージング・トピックは、サブスクライバに対して関心のある主題を示す、前記パブリッシュするステップと、
    前記フェイルオーバ・サーバが、前記障害サーバのサブスクリプション・キュー内のメッセージを処理するステップと、
    前記フェイルオーバ・サーバが、前記障害サーバの前記サブスクリプション・キューにおけるメッセージが前記マーカ・メッセージであるかどうかを判断するステップと、
    前記フェイルオーバ・サーバが、前記障害サーバの前記サブスクリプション・キューにおけるメッセージが前記マーカ・メッセージであることに応答して、前記障害サーバの前記サブスクリプション・キューを閉じるステップと、
    前記フェイルオーバ・サーバが、当該フェイルオーバ・サーバの前記サブスクリプション・キューについての前記サブスクリプション・メッセージ処理を再開するステップと
    を含む、前記方法。
  2. 前記フェイルオーバ・サーバが、前記障害サーバの前記サブスクリプション・キューにおけるメッセージが前記マーカ・メッセージではないことに応答して、前記メッセージを読み取り済みとして記録するステップと、
    前記フェイルオーバ・サーバが、前記障害サーバに対する関連のサブスクリプション・セッションにおける処理を遂行するステップと
    を更に含む、請求項1に記載の方法。
  3. 前記フェイルオーバ・サーバが、当該フェイルオーバ・サーバの前記サブスクリプション・キューにおけるメッセージが前記マーカ・メッセージであるかどうかを判断するステップと、
    前記フェイルオーバ・サーバが、当該フェイルオーバ・サーバの前記サブスクリプション・キューにおけるメッセージが前記マーカ・メッセージであることに応答して、正規のオペレーションを再開するステップと
    を更に含む、請求項1又は2に記載の方法。
  4. 前記フェイルオーバ・サーバが、当該フェイルオーバ・サーバの前記サブスクリプション・キューにおけるメッセージがマーカ・メッセージではなく且つ前記メッセージが読み取られてないことに応答して、前記フェイルオーバ・サーバに対する関連のサブスクリプション・セッションにおける処理を遂行するステップを更に含む、請求項13のいずれか一項に記載の方法。
  5. 前記フェイルオーバ・サーバが、サーバの起動に応答して、前記起動したサーバに対する一意的なサブスクリプション識別子を生成するステップと、
    前記フェイルオーバ・サーバが、新しいセッションを作成したことに応答して、前記一意的なサブスクリプション識別子を前記新しいセッションに格納するステップと
    を更に含み、
    前記一意的なサブスクリプション識別子は、前記新しいセッションのライフタイムの間前記新しいセッションにおいて継続する、請求項14のいずれか一項に記載の方法。
  6. 前記一意的なサブスクリプション識別子は、メッセージング・トピックに接続するために使用される、請求項5に記載の方法。
  7. 前記分散型ネットワークが、セッション・アフィニティを利用する分散型パブリッシュ・サブスクライブ・ネットワークである、請求項16のいずれか一項に記載の方法。
  8. 前記マーカ・メッセージが、前記障害サーバの前記サブスクリプション・キュー及び前記フェイルオーバ・サーバの前記サブスクリプション・キューにおいて同時に現れる、請求項1〜7のいずれか一項に記載の方法。
  9. 前記マーカ・メッセージ、前記フェイルオーバ・サーバが前記正規のオペレーションを再開する前に、前記障害サーバの前記サブスクリプション・キュー及び前記フェイルオーバ・サーバの前記サブスクリプション・キューを同期させるために使用される、請求項に記載の方法。
  10. 前記マーカ・メッセージが、前記障害サーバの前記サブスクリプション・キュー及び前記フェイルオーバ・サーバの前記サブスクリプション・キューを同期させるために使用される、請求項1〜8のいずれか一項に記載の方法。
  11. 前記マーカ・メッセージが、フェイルオーバに参加していない他のすべてのサーバによって無視される、請求項1〜10のいずれか一項に記載の方法。
  12. サーバ・クラスタにおいてフェイルオーバを管理するためのフェイルオーバ・サーバであって、
    バス・システムと、
    前記バス・システムに接続され、命令のセットを含む記憶装置と、
    前記バス・システムに接続された処理ユニットと
    を含み、
    前記処理ユニットに、請求項1〜11のいずれか一項に記載の方法の各ステップを実行させる、前記フェイルオーバ・サーバ
  13. サーバ・クラスタにおいてフェイルオーバを管理するためのサーバであって、
    バス・システムと、
    前記バス・システムに接続され、命令のセットを含む記憶装置と、
    前記バス・システムに接続された処理ユニットと
    を含み、当該サーバが、分散型ネットワーク内の前記サーバ・クラスタにおける障害のあるサーバ(以下、障害サーバという)を検出したことに応答して、
    前記処理ユニットに、請求項1〜11のいずれか一項に記載の方法の各ステップを実行させる、前記サーバ
  14. コンピュータ・プログラムであって、フェイルオーバ・サーバに、請求項1〜11のいずれか一項に記載の方法の各ステップを実行させるためのコンピュータ・プログラム。
  15. コンピュータ・プログラムであって、分散型ネットワーク内の前記サーバ・クラスタにおける障害のあるサーバ(以下、障害サーバという)を検出したことに応答して、前記障害サーバを検出したサーバ(以下、フェイルオーバ・サーバという)に、請求項1〜11のいずれか一項に記載の方法の各ステップを実行させるためのコンピュータ・プログラム。
JP2010528436A 2007-10-15 2008-10-15 サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム Expired - Fee Related JP4900982B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/872,235 2007-10-15
US11/872,235 US7793140B2 (en) 2007-10-15 2007-10-15 Method and system for handling failover in a distributed environment that uses session affinity
PCT/EP2008/063850 WO2009050187A1 (en) 2007-10-15 2008-10-15 Method and system for handling failover in a distributed environment that uses session affinity

Publications (3)

Publication Number Publication Date
JP2011501254A JP2011501254A (ja) 2011-01-06
JP2011501254A5 JP2011501254A5 (ja) 2011-09-22
JP4900982B2 true JP4900982B2 (ja) 2012-03-21

Family

ID=40229881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010528436A Expired - Fee Related JP4900982B2 (ja) 2007-10-15 2008-10-15 サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム

Country Status (8)

Country Link
US (1) US7793140B2 (ja)
EP (1) EP2215773B1 (ja)
JP (1) JP4900982B2 (ja)
KR (1) KR20100080786A (ja)
CN (1) CN101821993B (ja)
AT (1) ATE496454T1 (ja)
DE (1) DE602008004674D1 (ja)
WO (1) WO2009050187A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7847174B2 (en) * 2005-10-19 2010-12-07 Yamaha Corporation Tone generation system controlling the music system
US7631214B2 (en) * 2007-05-31 2009-12-08 International Business Machines Corporation Failover processing in multi-tier distributed data-handling systems
JP4549408B2 (ja) * 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
CN102035862B (zh) 2009-09-30 2013-11-06 国际商业机器公司 Svc集群中配置节点的故障移交方法和系统
US8700698B2 (en) 2010-05-04 2014-04-15 Microsoft Corporation Scalable affinitized state management
US8589732B2 (en) * 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
WO2012106726A1 (en) 2011-02-04 2012-08-09 Nextplane Method and system for federation of proxy-based and proxy-free communications systems
US20140040404A1 (en) * 2011-03-31 2014-02-06 NextPlane, Inc. System and method for federating chat rooms across disparate unified communications systems
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US8639965B1 (en) * 2011-07-20 2014-01-28 Cellco Partnership Client based high availability method for message delivery
US8849977B2 (en) 2012-03-09 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and a control node in an overlay network
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
EP4033350A3 (en) * 2013-05-20 2022-09-14 Packsize LLC Method and system for flexible node composition on local or distributed computer systems
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems
US9519509B2 (en) * 2014-10-21 2016-12-13 Oracle International Corporation System and method for supporting transaction affinity based request handling in a middleware environment
US10171288B2 (en) * 2015-12-18 2019-01-01 International Business Machines Corporation Diagnosing faults in stateless distributed computing platforms
CN105677792B (zh) * 2015-12-31 2019-04-19 南京邮电大学 一种基于重用距离的数据亲缘性分析方法
CN108701096B (zh) * 2016-02-18 2021-06-08 日本电气株式会社 通信系统、边缘服务器、方法和存储介质
US10394670B2 (en) * 2017-06-02 2019-08-27 Verizon Patent And Licensing Inc. High availability and disaster recovery system architecture
US11388058B2 (en) * 2018-08-02 2022-07-12 Synadia Communications Inc. System and method for a distributed computing cluster architecture
CN111147534B (zh) * 2018-11-05 2022-12-16 中兴通讯股份有限公司 一种微服务架构下的通信方法及系统
CN110278109B (zh) * 2019-05-21 2022-02-01 创新先进技术有限公司 一种容灾方法及系统
CN110401592B (zh) * 2019-07-30 2022-03-04 三体云智能科技有限公司 一种消息通道中数据流转的方法及设备
CN114422335A (zh) * 2021-12-31 2022-04-29 长园深瑞继保自动化有限公司 通信方法、装置、服务器及存储介质
CN117370066B (zh) * 2023-12-08 2024-03-15 杭州沃趣科技股份有限公司 一种服务器集群的恢复方法、装置、设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236999B1 (en) 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6581088B1 (en) 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6298455B1 (en) * 1998-12-29 2001-10-02 International Business Machines Corporation Publish and subscribe data processing with failover using cascaded sequence numbers
US6742136B2 (en) * 2000-12-05 2004-05-25 Fisher-Rosemount Systems Inc. Redundant devices in a process control system
US6886041B2 (en) * 2001-10-05 2005-04-26 Bea Systems, Inc. System for application server messaging with multiple dispatch pools
US7107497B2 (en) * 2002-09-30 2006-09-12 Sun Microsystems, Inc. Method and system for event publication and subscription with an event channel from user level and kernel level
US7308502B2 (en) 2002-12-20 2007-12-11 Hewlett-Packard Development Company, L.P. Method and architecture to provide client session failover
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
GB0405595D0 (en) * 2004-03-12 2004-04-21 Ibm Method and system for affinity management
JP3909062B2 (ja) * 2004-03-25 2007-04-25 株式会社日立製作所 Nasの制御装置及びバックアップ方法並びにプログラム
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
US7886180B2 (en) * 2004-05-14 2011-02-08 International Business Machines Corporation Recovery in a distributed stateful publish-subscribe system
US9112831B2 (en) 2004-07-28 2015-08-18 International Business Machines Corporation Scalable infrastructure for handling light weight message protocols
ZA200506983B (en) * 2004-10-01 2007-04-25 Microsoft Corp System and method for determining target tailback and target priority for a distributed file system
US7822801B2 (en) * 2004-10-14 2010-10-26 International Business Machines Corporation Subscription propagation in a high performance highly available content-based publish/subscribe system
US20060129684A1 (en) 2004-11-10 2006-06-15 Chutney Technologies, Inc. Apparatus and method for distributing requests across a cluster of application servers
US8451713B2 (en) * 2005-04-12 2013-05-28 Fujitsu Limited Special marker message for link aggregation marker protocol
US7639614B2 (en) * 2005-04-12 2009-12-29 Fujitsu Limited Distribution-tuning mechanism for link aggregation group management
US7693050B2 (en) * 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
JP4856949B2 (ja) * 2005-12-28 2012-01-18 株式会社野村総合研究所 フェイルオーバ方法、フェイルオーバプログラム、および、クラスタシステム
GB0606226D0 (en) * 2006-03-29 2006-05-10 Ibm A method for resolving a unit of work
US9473316B2 (en) * 2006-10-17 2016-10-18 International Business Machines Corporation Resource consumption reduction via meeting affinity

Also Published As

Publication number Publication date
KR20100080786A (ko) 2010-07-12
WO2009050187A1 (en) 2009-04-23
EP2215773A1 (en) 2010-08-11
DE602008004674D1 (de) 2011-03-03
EP2215773B1 (en) 2011-01-19
US20090100289A1 (en) 2009-04-16
CN101821993A (zh) 2010-09-01
ATE496454T1 (de) 2011-02-15
JP2011501254A (ja) 2011-01-06
US7793140B2 (en) 2010-09-07
CN101821993B (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
JP4900982B2 (ja) サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム
US9794365B2 (en) Re-establishing push notification channels via user identifiers
US7136881B2 (en) Method and system for processing directory events
US7519730B2 (en) Copying chat data from a chat session already active
JP5476316B2 (ja) ソフトウェア・コンポーネントの再開可能なプロビジョニングのためのシステムおよび方法
US11379522B2 (en) Context preservation
WO2004025466A2 (en) Distributed computing infrastructure
US8060891B2 (en) Management of external hardware appliances in a distributed operating system
US20090064192A1 (en) Managing Collections of Appliances
US10592296B2 (en) Maintaining state information in a multi-component, event-driven state machine
US20080115128A1 (en) Method, system and computer program product for implementing shadow queues for recovery of messages
US9152441B2 (en) Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
WO2009092676A1 (en) Method and system for message delivery in messaging networks
CN105493474A (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
US8296367B2 (en) Synchronizing shared files during communication sessions
US20080313330A1 (en) Hidden Group Membership in Clustered Computer System
US8762542B2 (en) Protocol for sharing information in a peer to peer service
WO2016139621A1 (en) Methods and systems for requesting access to limited service instances
US11546405B2 (en) Methods for exposing mainframe data as a web service and devices thereof
US20080295106A1 (en) Method and system for improving the availability of a constant throughput system during a full stack update
US11880586B2 (en) Storage array remote replication
US10289691B2 (en) Dynamic replication of networked files
JP2002334057A (ja) 負荷分散時のセッション継続方法
Dooley et al. Experiences migrating the agave platform to a kubernetes native system on the jetstream cloud
JP4109624B2 (ja) 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110804

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111018

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111020

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: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111206

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees