JP4515262B2 - フォールトトレランススキームを動的に切換えるための方法 - Google Patents

フォールトトレランススキームを動的に切換えるための方法 Download PDF

Info

Publication number
JP4515262B2
JP4515262B2 JP2004536519A JP2004536519A JP4515262B2 JP 4515262 B2 JP4515262 B2 JP 4515262B2 JP 2004536519 A JP2004536519 A JP 2004536519A JP 2004536519 A JP2004536519 A JP 2004536519A JP 4515262 B2 JP4515262 B2 JP 4515262B2
Authority
JP
Japan
Prior art keywords
fault tolerance
time
scheme
average
application
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 - Lifetime
Application number
JP2004536519A
Other languages
English (en)
Other versions
JP2005539312A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2005539312A publication Critical patent/JP2005539312A/ja
Application granted granted Critical
Publication of JP4515262B2 publication Critical patent/JP4515262B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、一般に、フォールトトレラント分散演算システムに関し、特に、ユーザインタフェースイベントの待ち時間に基づいて分散システムのフォールトトレランススキームを動的に切換えるための方法に関する。
フォールトトレランスは、電子商取引、データベーストランザクション、B2B等の、ユーザにとって重大なアプリケーションにおける動作の信頼性を確保するために、分散システムにおいて重要な技術である。分散システムは、通信ネットワークを用いて相互に接続され協働してアプリケーションを実施する演算装置のグループである。フォールトトレランスは、重大なシステム構成要素における故障を隠すことにより、ユーザの観点からの動作の信頼性を与える。分散システムのための公知のフォールトトレラント機構は、様々な故障検知・回復手段を含む様々なフォールトトレランススキームを使用して、装置故障およびネットワーク故障等の様々なタイプの故障を取り扱うことができる。
一方で、フォールトトレランススキームが異なるフォールトトレランスおよび性能トレードオフを有し得ることが知られている。対話型アプリケーションとの関連で、フォールトトレランススキームは、特にモバイル・コンピューティング環境においてユーザがシステムとやりとりする(相互作用する)際に、ユーザがシステム応答を待たなければならない時間に対して悪影響を与える可能性がある。この遅れは、システムの性能についてのユーザの認識に影響を与える可能性があり、深刻である。なぜなら、特定の時間制約内でユーザの要求が満たされない場合に、ユーザがアプリケーションに見切りをつけることが分かっているからである。したがって、フォールトトレランスと認識されるシステム性能との間で不利なトレードオフを制限することが望ましい。
また、異なるアプリケーションは、フォールトトレランスおよび性能に関して異なる要求を有し得る場合がある。更に、これらの要求は、同じアプリケーションの実行中に変化する場合がある。フォールトトレランス機構の特定の実施が全てのアプリケーションにおいてうまくいかないということもあり得る。この場合、フォールトトレランススキームを何時切換えるべきか、また、どのスキームを動的に選択すべきか、を知ることが重要である。
したがって、所望レベルのフォールトトレランスを考慮しつつ、ユーザに認識されるシステムの性能を向上させることができる、フォールトトレランススキームを動的に切換える方法が必要である。
本発明の一態様において、複数のフォールトトレランススキームを動的に切換えるための方法が提供される。フォールトトレランススキームは、分散システムで実働するフォールトトレランス機構に関連付けられている。本方法は、分散システムで生じる少なくとも1つのユーザインタフェースイベントの待ち時間を取得する工程を含んでいる。この待ち時間は、通信時間、サービス時間、フォールトトレランス時間のうちの少なくとも1つを含んでいる。本方法は、更に、待ち時間の平均が所定の平均待ち時間閾値よりも大きいか否かを判断する工程を含んでいる。また、本方法は、待ち時間の平均が所定の平均待ち時間閾値よりも大きい時に、通信時間、サービス時間、フォールトトレランス時間が互いに独立であるか否かを判断する工程を含んでいる。更に、本方法は、通信時間、サービス時間、フォールトトレランス時間が互いに独立である時に、フォールトトレランス時間の平均を減少させることにより待ち時間の平均を高めることができるか否かを判断する工程を含んでいる。また、本方法は、フォールトトレランス時間の平均を減少させることにより待ち時間を高めることができる場合に、第1のフォールトトレランススキームから第2のフォールトトレランススキームへと切換える工程を含んでいる。
本発明の他の態様においては、フォールトトレランス機構に関連付けられた複数のフォールトトレランススキームを動的に切換えることができるフォールトトレラント分散システムが提供される。本システムは、分散システムで生じる少なくとも1つのユーザインタフェースイベントの待ち時間を取得する手段を備えている。この待ち時間は、通信時間、サービス時間、フォールトトレランス時間のうちの少なくとも1つを含んでいる。本システムは、待ち時間の平均が所定の平均待ち時間閾値よりも大きいか否かを判断するための手段を更に備えている。また、本システムは、待ち時間の平均が所定の平均待ち時間閾値よりも大きい時に、通信時間、サービス時間、フォールトトレランス時間が互いに独立であるか否かを判断するための手段を備えている。更に、本システムは、通信時間、サービス時間、フォールトトレランス時間が互いに独立である時に、フォールトトレランス時間の平均を減少させることにより待ち時間の平均を高めることができるか否かを判断するための手段を備えている。また、本システムは、フォールトトレランス時間の平均を減少させることにより待ち時間を高めることができる場合に、第1のフォールトトレランススキームから第2のフォールトトレランススキームへと切換えるための手段を備えている。
ここで、添付図面に示される本発明の一実施の形態を詳しく参照する。以下、性能トレードオフが異なる複数のフォールトトレランススキームを有する典型的なフォールトトレランス機構としての信頼性が高いメッセージングシステムを使用して、開示された本発明の実施形態について説明する。しかしながら、信頼性が高いメッセージングシステムは、本発明を実施するための唯一の手段ではなく、他のタイプのフォールトトレランス機構を使用する分散システムにおいて本発明を実施できることは、容易に理解される。例えば、調整されていない、調整された、あるいは、通信誘発のチェックポインティングを含む、分散システムを通過するメッセージのための任意のチェックポイントに基づくロールバック回復技術を採用することもできる。
分散システムのネットワークに接続された演算装置、例えばサーバ装置およびクライアント装置は、信頼性が高いメッセージングシステムを介してネットワークにわたってメッセージを送受信することにより、互いに通信することができる。信頼性が高いメッセージングシステムは、ウェブサービス、遠隔手続呼び出し、電子商取引等の高い信頼度を要するアプリケーションと共に分散システムで使用できるフォールトトレラントメッセージに基づく通信機構である。例えば、ポイント・ツー・ポイントメッセージングまたは集中メッセージングまたはキュー(queuing )サーバを使用して非同期動作をサポートする、すなわち、ネットワークにわたってメッセージを送信または受信するために要する時間に制約を課さない信頼性が高いメッセージングシステムにより、相互に接続された装置は、装置のうちの一方が一時的に利用不可能となった場合であっても、互いに通信することができる。また、そのような信頼性が高いメッセージングシステムは、装置およびネットワークの故障下で、最大1回または少なくとも1回、特定アプリケーション向け配信セマンティクスにしたがってメッセージを確実に配信できる。
特に、信頼性が高いメッセージングシステムは、フォールトトレランスのタイプ及び程度とシステム性能とに影響を与える異なるタイプのメッセージロギングスキームを実施することができる。例えば、分散システムのクライアントおよびサーバの両方は、出力メッセージだけに関するもの、入力メッセージだけに関するもの、あるいは、両方向に関するものを含む、ロギングの方向に関する複数の選択肢を有している。また、クライアントは、出力メッセージを送信する前、出力メッセージを送信した後、あるいは、非同期的に、メッセージロギングを行ない得る。同様に、サーバは、入力メッセージをアプリケーションに対して配信する前あるいは後、または、非同期的に、メッセージを記録(log )し得る。許されることができる故障のタイプ及び程度の他、様々なメッセージロギングスキームによって定められる方向およびタイミングも、被る処理オーバーヘッドおよび回復それ自体に含まれる複雑度に対して影響を与え、これにより、システム性能に影響を与える。
図1を参照すると、クライアント装置14およびサーバ装置16に接続されたネットワーク12を有するモデル分散システム10が示されている。クライアント装置14およびサーバ装置16は、信頼性の高いメッセージングシステム18を使用して、ネットワークにわたって互いに通信する。信頼性の高いメッセージングシステム18は、クライアント14側で実行(実働)するクライアントモジュール18aと、サーバ16側で実行するサーバモジュール18bと、を有している。特に、クライアント14側で実行するクライアントアプリケーション20およびサーバ16側で実行するサーバアプリケーション22は、分散アプリケーション24の構成要素である。クライアントおよびサーバアプリケーション20、22は、信頼性の高いメッセージングシステム18を介して送られるメッセージを使用して、アプリケーション24のための分散処理を調整する。例えば、サーバアプリケーション22は、サーバ16側でデータ記憶およびデータ検索を管理するデータベースエンジンであっても良く、一方、クライアントアプリケーション20は、クライアント14側でデータ提供を担うウェブブラウザであっても良い。サーバおよびクライアントアプリケーションは、共に、本発明に従ってフォールトトレランススキームを動的に切り換えるために、ユーザの観点から1つの分散データベースアプリケーション24を形成する。
図1のモデル分散システム10は、クライアント−サーバアーキテクチャを示しているが、このアーキテクチャは、単なる例示的なものであり、限定しようとするものでないことが理解されるべきである。他のタイプの分散演算システムを使用して、本発明に係るフォールトトレランススキーム、特に後述されるメッセージロギングシステム、を動的に切り換えることもできる。例えば、複数のクライアント装置が、信頼性の高いメッセージングシステム18を介して、ピアツーピアまたはアドホク(その場しのぎ)ネットワークモードで互いに通信しても良く、また、複数のサーバ装置が、バックエンド処理のために、信頼性の高いメッセージングシステムを介して、互いに通信しても良い。
以下の表1に示される信頼性の高いメッセージングシステム18のためのメッセージロギングスキームの1つのクラスに従って、メッセージは、クライアント14側の固定記憶装置26およびサーバ16側の固定記憶装置28に対して記録されることができる。表1に示されるクライアント/サーバメッセージロギングスキームは、一連のイベントによって識別される。具体的には、スキーム「xyz」は、イベントxがイベントyの前に行なわれ、イベントyがイベントzの前に行なわれるという前提(仮定)を示している。同様に、スキーム「xyz」は、イベントxが最初に行なわれ、その後、イベントyおよびイベントzが非同期的に行なわれることを意味している。以下のイベントのリストが考えられる。すなわち、参照符号「1」で示されるように、クライアントアプリケーション20が出力メッセージを生成し、参照符号「2」で示されるように、クライアント14が出力メッセージをクライアント固定記憶装置26に記録し、参照符号「3」で示されるように、クライアント14が出力メッセージを送信し、あるいは、サーバ16が入力メッセージを受信し、参照符号「4」で示されるように、サーバ16が入力メッセージをサーバ固定記憶装置28に記録し、参照符号「5」で示されるように、サーバ16が入力メッセージをサーバアプリケーション22に配信する。これらのイベントは、図2に図式的に示されている。
以下の速記表記は、故障に起因して回復され得るエンティティを示すために使用される。すなわち、CDは、クライアント装置が回復可能であることを意味し、SDは、サーバ装置が回復可能であることを意味し、NTは、ネットワークが回復可能であることを意味し、−Xは、エンティティX(CD,SDまたはNT)が回復不可能であることを意味し、X(out)は、エンティティX(CD,SDまたはNT)が出力メッセージだけを回復できることを意味し、X(in)は、エンティティX(CD,SDまたはNT)が入力メッセージだけを回復できることを意味し、X if Yは、エンティティY(CD,SDまたはNT)が回復時に利用可能な場合にだけエンティティX(CD,SDまたはNT)が回復可能であることを意味している。
Figure 0004515262
表1に示されるクライアント/サーバメッセージロギングスキームは、図1のモデル分散システム10のための比較的高レベルのフォールトトレランスを与える。しかし、これらのスキームも、比較的高い性能オーバーヘッドを招く。これは、サーバ16およびクライアント14の両方で入力メッセージおよび出力メッセージの全てが記録されるためである。クライアント/サーバロギングは、最高度のフォールトトレランスを必要とするアプリケーション、例えば電子商取引、のために有用であり得る。
あるいは、図1に示されるモデル分散システム10は、クライアント14側の固定記憶装置26のみにメッセージを記録しても良い。以下の表2に示されるように、幾つかのクライアント側ロギングスキームが考えられる。
Figure 0004515262
クライアント側ロギングスキームは、サーバ16がオーバーロードされてメッセージを記録することができず且つクライアント14がメッセージロギング動作を行なうのに十分な処理能力を有しているという状況において有用である。また、これらのスキームは、故障の存在下でのアプリケーションの回復に対して、クライアントフォールトトレランスがサーバフォールトトレランスよりも価値がある場合に有用である。例えば、サーバシステムの信頼性が非常に高いことが分かっており且つクライアントシステム(例えば、携帯端末)の信頼性が無くクライアントシステムが頻繁に一時的に故障するような場合には、クライアント側ロギングスキームがより重要であり得る。
同様に、以下の表3に示されるように、図1のモデル分散システム10は、サーバ16側の固定記憶装置28だけにメッセージを記録しても良い。
Figure 0004515262
サーバ側ロギングスキームのクラスは、クライアント14がオーバーロードされてメッセージを記録することができず且つサーバ16がメッセージロギング動作を行なうのに十分な処理能力を有しているという状況において有用である。また、サーバ16は、クライアントからのユーザの要求をサービスするサーバのメインプロセッサにかかる負担を減らす専用のハードウェアリソースを含む、メッセージを記録するための専門の処理能力を有していても良い。また、サーバ側ロギングスキームは、例えばトランザクションサーバに関する故障に耐えるために、サーバフォールトトレランスがクライアントフォールトトレランスよりも有用である場合に適しているといえる。サーバ側ロギングスキームによって与えられるフォールトトレランス特性は、クライアント側ロギングスキームのそれと対称的であるが、サーバ側ロギングの性能特性は、クライアント側ロギングと異なっている場合がある。なぜなら、サーバ装置およびクライアント装置は、一般に異なるハードウェアリソースを有しているからである。
本発明に従ってフォールトトレランススキームを切り換えることによって可能となる性能の向上を説明するために、ユーザとアプリケーションとのやりとりにおけるタイムラインが図3に示されている。ユーザは、アプリケーションとやりとりする間、思考時間TTと待ち時間Wとを交互に持って進んでいく。各思考時間の最後に、ユーザは、アプリケーションに要求を送って、応答を待つ。これは、ユーザインタフェースイベントと称される。例えば、ユーザは、ウェブページ形式を送ることにより、あるいは、ユニフォーム・リソース・ロケータ(「URL」)リンクをクリックしてウェブページを得ることにより、ウェブブラウザを使用するアプリケーションから情報を要求することができる。これらの作業は、ユーザインタフェースイベンツと称される。アプリケーションは、一般に、ループ状態で、ユーザからの要求を待つ。アプリケーションは、要求を受けると、演算を行なうとともに、データにアクセスしてユーザの要求を満たし得る。その後、アプリケーションは、ユーザに対して応答を送り戻す。
ユーザインタフェースイベントの待ち時間Wは、当該イベントにおけるユーザ要求の処理に関連付けられる時間である。待ち時間の平均および分散がシステムの性能についてのユーザの認識に影響を与えることは知られている。以下に詳述されるように、本発明に係るフォールトトレランス切り換えアルゴリズムは、ユーザに認識されるシステム性能を向上させるために、測定される待ち時間に基づいて、フォールトトレランススキームを切り換えることができる。
図1のモデル分散システム10を再び参照して、ユーザは、クライアントアプリケーション20を操作することにより、信頼性の高いメッセージングシステム18を介して、サーバアプリケーション22に要求を送信することができる。この場合、分散されたアプリケーション24におけるユーザインタフェースイベントの待ち時間Wは、1)クライアント14とサーバ16との間の通信に費やされる総使用時間と、2)要求されるサーバアプリケーション22によるデータ入力/出力動作および演算に費やされる時間を含む、ユーザ要求を満たす総サービス時間と、3)クライアント14およびサーバ16側のフォールトトレランスで費やされる時間を含む、フォールトトレランスに費やされる総使用時間と、に分けられ得る。
したがって、以下の計算が行なわれ得る。
W=C+S+FT・・・・・・・・(1)
ここで、
Wは、待ち時間であり、
Cは、通信に費やされる総使用時間であって、両方向C,Cでの通信時間の合計であり、
Sは、総サービス時間であって、演算に費やされる時間とデータI/O時間との合計であり、
FTは、フォールトトレランスに費やされる総使用時間であって、サーバ側での総フォールトトレランス時間FT,FTと、クライアント側での総フォールトトレランス時間FT,FTとの合計である。
パラメータC,S,FTが連続する確率変数である場合、それらの平均に関して以下の関係が成り立つ。
m(W)=m(C)+m(S)+m(FT)・・・・・・・・(2)
ここで、
m(W)は、待ち時間の平均であり、
m(C)は、通信に費やされる総使用時間の平均であり、
m(S)は、総サービス時間の平均であり、
m(FT)は、フォールトトレランスに費やされる総使用時間の平均である。
また、パラメータC,S,FTが相互に独立である場合には、それらの分散に関して以下の関係が成り立つ。
v(W)=v(C)+v(S)+v(FT)・・・・・・・・(3)
ここで、
v(W)は、待ち時間の分散であり、
v(C)は、通信に費やされる総使用時間の分散であり、
v(S)は、総サービス時間の分散であり、
v(FT)は、フォールトトレランスに費やされる総使用時間の分散である。
しかしながら、当業者であれば分かるように、これらの計算は、例えばユーザが1つのクライアントを操作して他のクライアントで遠隔的に実行するアプリケーションを要求する場合のように、図1のモデル分散システム10における分散アプリケーション24の他の構成にも、同様に適用することができる。
パラメータC,S,FTにおける相互独立の制限の重要性は、それによってこれらのパラメータの各平均および各分散を方程式(2)及び(3)にしたがって互いに独立に最適化できるということである。我々は、パラメータC,S,FTを、以下の認知に基づいて、特定の閾値まで互いに独立なものとして扱う。当該閾値の後は、もはや状態が維持されない。
まず第1に、通信に費やされる時間(C)は、一般に、サービス時間(S)から独立している。しかしながら、任意の所与の瞬間におけるサービス時間(S)は、サーバ16側またはユーザ要求を処理する装置側での現在の負荷に依存し得る。すなわち、サーバ側の負荷が非常に大きく、サーバの演算がビジー状態となり、更なるユーザ要求を時宜に処理することができないという可能性がある。しかし、サーバ負荷それ自体は、サーバ16とクライアント14との間で送られるメッセージの数(N)に依存する。結果として、サービス時間(S)はメッセージの数(N)に依存し得る。同様に、通信に費やされる時間(C)も、ネットワーク12にわたって放送されるメッセージの数(N)に依存し得る。なぜなら、ネットワークの帯域幅がネットワークによって伝えられるトラフィック量を制限する可能性があるからである。したがって、メッセージの数(N)がある特定の閾値を超えて増大すると、サーバ側の負荷の増大によってサービス時間(S)が増大し得て、ネットワークの過密によってネットワーク通信に費やされる時間(C)が増大し得る。従って、サービス時間(S)と通信に費やされる時間(C)との間には、メッセージの数(N)に対するそれらの相互依存のために、間接的な関係がある。
第2に、通信に費やされる時間(C)は、一般に、フォールトトレランスで費やされる時間(FT)から独立している。しかしながら、この場合も、クライアント14側およびサーバ16側のフォールトトレランス時間を含むフォールトトレランスで費やされる時間(FT)は、任意の所与の瞬間において、サーバおよびクライアント側の負荷に依存し得る。したがって、フォールトトレランスで費やされる時間(FT)は、サーバ16とクライアント14との間で送られるメッセージの数(N)に依存する可能性がある。結果として、通信に費やされる時間(C)とフォールトトレランスで費やされる時間(FT)との間には、メッセージの数(N)に対するそれらの相互依存のために、間接的な関係がある。
第3に、フォールトトレランスで費やされる時間(FT)は、一般に、サービス時間(S)から独立しているが、この場合も同様に、パラメータFTとSとの間には、メッセージの数(N)に対するそれらの相互依存のために、間接的な関係がある。
これらの認知は、パラメータC,S,FTがメッセージの数(N)のある特定の閾値まで互いに独立であり、その閾値の後、これらのパラメータは互いに依存するようになるかもしれない、という仮定に至る。この仮定が意味するところは、パラメータC,S,FTが互いに独立である限りは、フォールトトレランススキームを切り換えてパラメータm(C),m(S),m(FT)のうちの任意の1つを減らすことにより平均待ち時間(m(W))を最適化することができるということである。相互独立状態がもはや維持されなくなると直ぐに、平均待ち時間(m(W))および認識されるシステム性能への全体の影響を決定するために、各パラメータm(C),m(S),m(FT)に関してフォールトトレランススキームを切り換えることの影響を考慮することが必要になる。
待ち時間に基づいてフォールトトレランススキームを動的に切り換えるための本発明に係るアルゴリズム30の実行が、図4の決定ツリーを使用して示される。この実行については、図1のモデル分散システムを参照して説明されるが、このシステムにおいて、待ち時間(W)は、クライアントアプリケーション20からサーバアプリケーション22へのユーザ要求に関連付けられている。切換えアルゴリズム30は、信頼性が高いメッセージングシステム18のためのメッセージロギングスキームを切り換えるために、クライアント14側およびサーバ16側で連続的に実行されることができる。したがって、サーバアプリケーション22が最初に要求される或いはその実行中に動的に要求される場合に、切換えアルゴリズムはメッセージロギングスキームを切り換え得る。切換えアルゴリズム30がクライアント14側およびサーバ16側で同時に実行されると、ハンドシェイクプロトコルを使用して、所望のフォールトトレランススキームに関する2つの装置間の任意の対立(conflict )が解決され得る。ハンドシェイクプロトコルによって、クライアント14およびサーバ16は、使用されるフォールトトレランススキームについてクライアント14およびサーバ16が同意することを可能にするメッセージを交換することができる。
第1のブロック32として、切換えアルゴリズム30は、測定された待ち時間Wの値を得るとともに、アプリケーションにおける平均待ち時間(m(W))の値を計算する。例えば、図1の分散システムにおけるクライアント14およびサーバ16は、分散アプリケーション24のユーザインタフェースイベントに関連付けられた作業に関するタイムスタンプを使用して、待ち時間(W)を測定することができる。具体的には、HTMLに基づくクライアント14は、ウェブブラウザ型のクライアントアプリケーション20からサーバアプリケーション22への全てのHTTP「GET」要求および「POST」要求を傍受することができる。「GET」要求または「POST」要求が発行されると、クライアント14は第1のタイムスタンプをとる。「GET」要求または「POST」要求が戻り且つサーバアプリケーションによって生成された応答がブラウザを使用して表示されると、第2のタイムスタンプがクライアント14によってとられる。この場合の測定された待ち時間(W)は、第2のタイムスタンプと第1のタイムスタンプとの間の差である。その後、待ち時間(W)に関して測定された複数の値から、公知の統計学的方法を使用して、平均待ち時間(m(W))が計算される。
分散アプリケーション24が実行を開始すると、切換えアルゴリズム30は、分散アプリケーションの過去の実行から予め測定された待ち時間Wまたは平均待ち時間(m(W))を得ることができる。分散アプリケーション24が実行されてしまえば、切換えアルゴリズム30は、実行中に測定された待ち時間Wの現在の値を使用して、平均待ち時間(m(W))を計算することができる。
次に、ブロック34において、切換えアルゴリズム30は、平均待ち時間(m(W))が所定の平均待ち時間閾値(T(W))よりも大きいか否かを判断する。平均待ち時間閾値(T(W))は、例えば、分散アプリケーション24の開発者、クライアント14とやりとりするユーザ、あるいは、サーバ16を維持するシステム管理者、によって設定され得る。一般に、平均待ち時間閾値(T(W))は、分散アプリケーション24の各構成要素において同じである。しかしながら、以下の順番(最高から最低)で、すなわち、ユーザの好み、システム管理者、アプリケーション開発者の順番で、優先順位を割り当てることができる。したがって、アプリケーション開発者は、システム管理者またはユーザによって変更され得る平均待ち時間閾値(T(W))における最初の値を提供し得る。平均待ち時間閾値が変更されると、分散アプリケーション24を実行する全ての装置に対して新たな閾値が通信される。
幾つかの要因が、平均待ち時間閾値(T(W))のための特定の値の選択に影響を与え得る。例えば、アプリケーション開発者は、アプリケーションのタイプに基づいて、アプリケーションにおける平均待ち時間閾値を選択する場合がある。したがって、対話型実時間ネットワークゲームは、約1から3秒という平均待ち時間閾値を有し得るウェブブラウジングアプリケーションによってアクセス可能なデータベースアプリケーションよりも、短い平均待ち時間閾値、例えば約3から6ミリ秒、を有し得る。また、高性能または高い信頼性に関するユーザの好みにより、ユーザは、平均待ち時間閾値(T(W))に関してアプリケーション開発者によって選択された値と異なる値を選択する場合がある。更に、例えばシステム管理者は、平均待ち時間閾値(T(W))を変更して、サーバ能力を高める場合がある。
アプリケーション開発者、ユーザ、及び、システム管理者は、アプリケーション毎に平均待ち時間閾値(T(W))を与える他に、アプリケーションのユーザインタフェースイベントの異なるクラスに別個の平均待ち時間閾値(T(W))を与えることができる。後者の場合には、アプリケーションに関連付けられたユーザインタフェースイベントの各クラス毎に、待ち時間(W)が測定され得る。その後、切換えアルゴリズム30は、ユーザインタフェースイベントの特定のクラスにおける平均待ち時間が所定の閾値よりも大きいか否かを判断するとともに、後述する機能を、アプリケーション毎にではなく、ユーザインタフェースイベントの異なるクラスと共同で果たすことができる。更に、ユーザは、アプリケーション開発者によって設定された平均待ち時間閾値(T(W))をいつでも無効にすることができるとともに、信頼性を低めてしまう恐れはあるが、より短い待ち時間を要求することができ、あるいは、待ち時間が長くなる恐れはあるが、より高い信頼性を要求することができる。
あるいは、ユーザプロファイルに基づいて、平均待ち時間閾値(T(W))を設定することができる。具体的には、同じアプリケーションの場合であっても、第1のユーザが所定量の待ち時間を許容できると考え、一方、第2のユーザが同じ平均待ち時間閾値を許容できないと考えても良い。したがって、システム性能についてのユーザ自身の認識に基づいて、平均待ち時間閾値を含むユーザプロファイルが形成され得る。ユーザプロファイルは、アプリケーション毎に平均待ち時間閾値を特定しても良い。また、ユーザプロファイルは、アプリケーションタイプ毎に、すなわち、関連するアプリケーションの異なるクラスごとに、平均待ち時間閾値を特定しても良い。あるいは、ユーザプロファイルは、装置毎に、平均待ち時間閾値における値を特定し、それにより、要求されるアプリケーションとは関係無く、ある装置で実行している時にはアルゴリズムによって同じ平均待ち時間閾値が使用されるようになっていても良い。
また、切換えアルゴリズム30は、測定された待ち時間(W)の分散をも計算できる、ということが理解される。その時、切換えアルゴリズムは、平均待ち時間(m(W))ではなく、分散待ち時間(v(W))を所定の分散待ち時間閾値と比較することができる。
(待ち時間閾値超え)
ブロック34において、平均待ち時間閾値(T(W))が超えられたことを切換えアルゴリズム30が判断すると、当該アルゴリズムは、ブロック36において、通信に費やされる時間(C)と、サービス時間(S)と、フォールトトレランスで費やされる時間(FT)と、の値を得る。当業者であれば分かるように、前述された待ち時間Wの測定と同様に、通信プロセスと、ユーザ要求の処理と、フォールトトレランス機構と、にそれぞれ関連する作業のためのタイムスタンプを使用して、パラメータC,S,FTが測定され得る。例えば、図1の分散システムのクライアント14およびサーバ16は、メッセージロギング動作の最初と最後のタイムスタンプを使用することにより、信頼性が高いメッセージングシステム18におけるフォールトトレランスで費やされる時間(FT)を計算することができる。
ブロック38において、切換えアルゴリズム30は、通信に費やされる時間(C)、サービス時間(S)、フォールトトレランスで費やされる時間(FT)の測定値に基づいて、これらのパラメータが互いに独立であるか否かを判断する。C,S,FTにおける相互独立の判断は、分散アプリケーション24の実行環境と、ハードウェアリソースと、処理能力と、クライアント14およびサーバ16のメモリリソースと、に依存している。所与の実行環境において、パラメータC,S,FTは、前述したように、メッセージの数(N)に関する所定の閾値(T(N))まで、互いに独立である。メッセージの数(N)がメッセージ閾値T(N)を超えると、パラメータC,S,FTは、もはや互いに独立なものとして扱われない。メッセージ閾値T(N)の値は、様々な実行環境と組み合わせて、分散アプリケーション24のために実験的に決定され得る。その値は、同様の環境における分散アプリケーション24の今後の実行のために使用され得る。
パラメータC,S,FTが互いに独立である場合、ブロック40において、切換えアルゴリズム30は、フォールトトレランスで費やされる平均時間(m(FT))を減らすことにより平均待ち時間(m(W))を高めることができるか否かを判断する。特に、アルゴリズムは、平均待ち時間(m(W))のパーセンテージとしての、フォールトトレランスで費やされる平均時間(m(FT))の値が、フォールトトレランスにおける所定の閾値(T(FT))を超えたか否かを判断する。例えばシステム管理者または分散アプリケーション24によって、フォールトトレランス閾値(T(FT))の値は特定され得る。
ブロック40において現在のフォールトトレランススキームにおけるフォールトトレランス閾値(T(FT))が超えられていると、切換えアルゴリズム30は、ブロック42において、フォールトトレランススキームを切り換え得る。異なるフォールトトレランススキームを選択するための基準は、分散アプリケーション24によって与えられる一連の所定の要件を含み得る。例えば、分散アプリケーションは、フォールトトレランス閾値(T(FT))が超えられる場合には、常に特定の所定のフォールトトレランススキームが利用されるべきであることを定めても良い。ハンドシェイクプロトコルが、既存のスキームに取って代わるべき所望のフォールトトレランススキームにサーバおよびクライアントが同意することを保証し得る。
また、フォールトトレランススキームを選択するための基準は、異なるフォールトトレランススキームの実施コストに基づいていても良い。フォールトトレランススキームの実施コストは、サービス時間(S)とフォールトトレランスで費やされる時間(FT)との合計によって規定される。これらの計算において、通信時間(C)は無視される。実施コストは、サービス時間(S)およびフォールトトレランスで費やされる時間(FT)を測定するためのタイムスタンプを使用して決定されても良い。その後、分散システムの一部分を構成する装置は、様々なフォールトトレランススキームのための実施コストを記憶して共有することができる。実施コストは、個々のフォールトトレランススキームに関して、あるいは、フォールトトレランススキームのクラスに関して、測定され得る。切換えアルゴリズムは、異なるフォールトトレランススキームにおけるこれらの実施コストを使用して、フォールトトレランス閾値(T(FT))が超えられる際にいずれのスキームが選択されるべきかを決定することができる。したがって、現在のフォールトトレランススキームよりも低い実施コストを有する新たなフォールトトレランススキームが選択されて、平均待ち時間(m(W))が高められ得る。
例えば、信頼性が高いメッセージングシステム18は、クライアント14およびサーバ16の両方が両方向のメッセージ、すなわち入力メッセージおよび出力メッセージ、を記録するメッセージロギングスキームを使用していても良い。このスキームは、それがクライアント14、サーバ16及びネットワーク12の故障を回復させることができるため、比較的高レベルのフォールトトレランスを与える。しかしながら、このスキームは、メッセージを記憶するための固定記憶装置への複数の書き込みを必要として、したがって、フォールトトレランスで費やされる時間がより多く必要となるため、比較的高い実施コストを有している。一方、メッセージを送信している間にのみメッセージロギングが行なわれるスキームは、サーバ16およびクライアント14での任意の出力メッセージを完全に回復させることができるが、他のエンティティが実行中であり且つネットワークが回復時に利用可能である場合にだけ、サーバまたはクライアントのいずれかで受けた(入力)メッセージを回復させる。しかし、このスキームは、両方向のメッセージを記録する前記スキームのオーバーヘッドの半分のオーバーヘッドを有しているため、比較的低い実施コストを有している。したがって、切換えアルゴリズムは、フォールトトレランス閾値が超えられた場合に、前者のメッセージロギングスキームから後者のメッセージロギングスキームへと切り換えて、待ち時間を高め得る。
フォールトトレランススキームを切り換えることにより、システムの信頼性の保証が変わってしまう可能性がある。切換えアルゴリズム30は、決定が成される時に使用されているスキームと同じレベルの信頼性を与えるフォールトトレランススキームだけを切り換えることを考慮しても良い。しかしながら、このアルゴリズムにより、分散アプリケーション24またはユーザは、別な方法で特定することができる。例えば、アプリケーションは、決定時に使用されているフォールトトレランススキームよりも選択されたスキームの方が信頼性が低い場合であっても、平均待ち時間(m(W))を高めるフォールトトレランススキームをアルゴリズムに選択させても良い。ブロック42においてアルゴリズムがフォールトトレランススキームを切り換えると、ブロック44において、アルゴリズムは、クライアントアプリケーション20およびサーバアプリケーション22を含む分散アプリケーション24に対し、新たなフォールトトレランススキームに関連付けられた信頼性の保証の変化と性能波及効果とについて知らせる。
ブロック38において、パラメータC,S,FTの値が互いに依存していると判断される場合、ブロック46において、切換えアルゴリズムは、使用中のフォールトトレランススキームにおけるフォールトトレランスのコストを決定する。すなわち、切換えアルゴリズムは、フォールトトレランスで費やされる時間(FT)が、通信に費やされる時間(C)、サービスに費やされる時間(S)、及び、最終的に待ち時間(W)に与えている影響を判断する必要がある。ブロック48において、現在のフォールトトレランススキームが通信に費やされる時間(C)およびサービスに費やされる時間(S)に対して十分な影響、詳細は後述する、を与えているとアルゴリズムが判断する場合には、アルゴリズムは、ブロック50において、現在のフォールトトレランススキームを切り換えて、ブロック52において、クライアントアプリケーション20およびサーバアプリケーション22を含む分散アプリケーション24に対して信頼性の保証の変化および性能波及効果を知らせても良い。ブロック50においてフォールトトレランススキームを選択するための基準は、分散アプリケーション24によって与えられても良く、あるいは、前述したように、異なるフォールトトレランススキームの実施コストに基づいていても良い。ブロック48において、現在のフォールトトレランススキームは許容できない待ち時間を引き起こしていないと切換えアルゴリズムが判断する場合、切換えアルゴリズムはフォールトトレランススキームを切り換えない。
十分な影響とは、通信に費やされる時間(C)およびサービスに費やされる時間(S)に対するフォールトトレランススキームの影響であって、フォールトトレランスで費やされる時間(FT)が通信で費やされる時間(C)およびサービスで費やされる時間(S)に比べて短い場合であっても、平均待ち時間(m(W))が増大して平均待ち時間閾値(T(W))を越えるようにこれらのパラメータの値を引き上げるような影響、として規定される。
現在のフォールトトレランススキームが通信で費やされる時間(C)およびサービスで費やされる時間(S)に対して十分な影響を与えているか否かをブロック48で判断するために、切換えアルゴリズム30は、パラメータC,S,FTを相互に依存させることができる程度に十分多いメッセージの所与の数(N)における分散アプリケーション24の過去の実行から、待ち時間Wに関する値の2つのセットを得る。待ち時間値の第1のセットは、現在のフォールトトレランススキームとの組み合わせの分散アプリケーション24の過去の実行に対応している。待ち時間値の第2のセットは、フォールトトレランススキームが実施されていない分散アプリケーション24の過去の実行に対応している。例えば、図1の分散システムにおけるクライアント14およびサーバ16は、分散アプリケーション24における待ち時間値を測定するとともに、この待ち時間値を、信頼性が高いメッセージロギングシステム18におけるメッセージロギングスキームの異なるタイプおよびメッセージの数(N)の様々な値に関して切換えアルゴリズムによりアクセスされ得る不揮発性の機械可読媒体内、例えば固定記憶装置26内または固定記憶装置28内、に記憶することができる。その後、切換えアルゴリズムは、フォールトトレランススキームの実施を伴う平均待ち時間(m(W_FT))を計算するとともに、フォールトトレランススキームが無い平均待ち時間(m(W_noFT))を計算する。m(W_noFT)が平均待ち時間閾値(T(W))よりも短く、かつ、m(W_FT)とm(W_noFT)との間の差が所定のパーセンテージ量よりも大きい場合、例えばm(W_FT)の約20%よりも大きい場合に、アルゴリズムは、現在のフォールトトレランススキームが通信に費やされる時間(C)およびサービスに費やされる時間(S)に対して十分な影響を与えていると判断するとともに、フォールトトレランススキームを切り換えることを試みる。20%という値は例示であって限定的なものではなく、他の値をも採用できることが理解される。
(待ち時間閾値以下)
ブロック34において、平均待ち時間(m(W))が所定の待ち時間閾値(T(W))よりも短い場合、ブロック54において、切換えアルゴリズムは、現在のフォールトトレランススキームが与え得る信頼性よりも高い信頼性をユーザまたは分散アプリケーション24が必要としているか否かを判断する。
例えば、図1のクライアントアプリケーション20は、現在使用中のフォールトトレランススキームよりも信頼性が高いフォールトトレランススキームを要求し得る。あるいは、図1のモデル分散システム10におけるサーバアプリケーション22は、それが実行を開始する際に、クライアント/サーバロギングスキームを要求していても良い。しかしながら、待ち時間を高めるため、切換えアルゴリズム30は、その後、平均待ち時間(m(W))が所定の平均待ち時間閾値(T(W))を越えて増大する場合には、クライアント側ロギングスキームに切り換えても良い。その後のある時間に、平均待ち時間は、所定の平均待ち時間閾値を下回る可能性がある。その時、切換えアルゴリズムは、サーバアプリケーション22によって最初に要求されたクライアント/サーバロギングスキームに切換え戻すか否かを判断する。
更に信頼性が高いフォールトトレランススキームが望まれる場合には、ブロック56において、切換えアルゴリズム30は、所望のフォールトトレランススキームが平均待ち時間閾値(T(W))を満たすことができるか否かを判断する。特に、アルゴリズムは、フォールトトレランススキームの切換えによって平均待ち時間(m(W))が平均待ち時間閾値(T(W))を所定のΔ量(d(W))だけ上回るか否かを判断する。切換えアルゴリズムは、フォールトトレランススキームに関連付けられた待ち時間の過去の測定値を使用して、所望のフォールトトレランススキームにおける期待される平均待ち時間を計算することができる。複数のフォールトトレランススキームが選択利用できる場合には、選択基準は、前述したように、異なるフォールトトレランススキームの実施コストに基づいていても良く、あるいは、分散アプリケーション24によって与えられても良い。
更に信頼性が高いフォールトトレランススキームへの切換えによって、所定のΔ量(d(W))を越えては平均待ち時間閾値を上回らない場合には、アルゴリズムは、ブロック58において、フォールトトレランススキームを切り換えるとともに、ブロック60において、信頼性の保証における変化および性能波及効果を分散アプリケーション24に対して知らせる。
本発明の特定の例示的な実施形態に関して本発明を説明して図示してきたが、本発明をこれらの例示的な実施形態に限定しようとする意図はない。当業者であれば分かるように、以下の、請求項で規定された本発明の真の範囲および思想から逸脱することなく、変形や修正を行なうことができる。したがって、添付の請求項およびその等価物の範囲に入るそのような変形および修正は、すべて本発明の範囲に含まれるものである。
本発明に係るフォールトトレランススキームを動的に切換えるための方法を実施するモデル分散システムのブロック図である。 図1の信頼性が高いメッセージングシステムのメッセージロギングスキームに関連付けられたイベントを示すブロック図である。 図1の分散システムにおけるユーザインタフェースイベントのタイムラインを示すブロック図である。 本発明に係るフォールトトレランススキームを動的に切換えるための方法におけるフローチャートである。

Claims (17)

  1. 分散システムで実行されるフォールトトレランス機構に関連付けられた複数のフォールトトレランススキームを動的に切換える方法において、
    前記分散システムで生じるユーザインタフェースイベントの待ち時間であって、通信時間、サービス時間、フォールトトレランス時間を含む待ち時間を取得する工程と、
    前記待ち時間の平均が所定の平均待ち時間閾値よりも大きいか否かを判断する工程と、
    前記待ち時間の前記平均が前記所定の平均待ち時間閾値よりも大きい時に、前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立であるか否かを判断する工程と、
    前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立である時に前記複数のフォールトトレランススキームのうちの第1のフォールトトレランススキームから、前記複数のフォールトトレランススキームのうちの第2のフォールトトレランススキームへと切換える工程と、
    を備えたことを特徴とする方法。
  2. 前記平均待ち時間閾値は、前記ユーザインタフェースイベントに関連付けられたアプリケーションによって設定される
    ことを特徴とする請求項1に記載の方法。
  3. 前記アプリケーションは、前記アプリケーションに関連付けられたユーザインタフェースイベントのクラス毎に前記平均待ち時間閾値を定める
    ことを特徴とする請求項2に記載の方法。
  4. 前記アプリケーションによって設定された前記平均待ち時間閾値は、前記アプリケーションのユーザによって変更され得る
    ことを特徴とする請求項2に記載の方法。
  5. 前記平均待ち時間閾値は、前記ユーザインタフェースイベントに関連付けられたアプリケーションのユーザのプロファイルを使用して設定される
    ことを特徴とする請求項1に記載の方法。
  6. 前記平均待ち時間閾値は、装置毎に、前記ユーザプロファイルを使用して設定される
    ことを特徴とする請求項5に記載の方法。
  7. 前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立であるか否かを判断する前記工程は、前記ユーザインタフェースイベントに関連付けられたアプリケーションを実行する装置間で送られるメッセージの数が所定のメッセージ閾値を超えるか否かを判断する工程を含んでいる
    ことを特徴とする請求項1に記載の方法。
  8. 前記複数のフォールトトレランススキームのうちの第1のフォールトトレランススキームから前記複数のフォールトトレランススキームのうちの第2のフォールトトレランススキームへ切換える前記工程は、前記ユーザインタフェースイベントに関連付けられたアプリケーションによって定められる待ち時間に関する値に基づいて前記第2のフォールトトレランススキームを選択する工程を更に含んでいる
    ことを特徴とする請求項1に記載の方法。
  9. 前記複数のフォールトトレランススキームのうちの第1のフォールトトレランススキームから前記複数のフォールトトレランススキームのうちの第2のフォールトトレランススキームへ切換える前記工程は、前記第1および第2のフォールトトレランススキームのうちの少なくとも一方に関連付けられた実施コストに基づいて前記第2のフォールトトレランススキームを選択する工程を更に含んでいる
    ことを特徴とする請求項1に記載の方法。
  10. 前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立でない時に前記第1のフォールトトレランススキームにおける実施コストを判断する工程と、
    前記第1のフォールトトレランススキームが前記通信時間および前記サービス時間に対して十分な影響を与えているか否かを判断する工程と、
    前記十分な影響が判断される時、前記第1のフォールトトレランススキームから、前記複数のフォールトトレランススキームのうちの第3のフォールトトレランススキームへと切換える工程と、
    を更に備えたことを特徴とする請求項1に記載の方法。
  11. 前記十分な影響は、前記通信時間およびサービス時間に対する影響であって、前記平均待ち時間閾値を上回るように前記平均待ち時間を増大させる影響として規定される
    ことを特徴とする請求項10に記載の方法。
  12. 前記待ち時間の前記平均が所定の平均待ち時間閾値よりも大きくない時に、前記ユーザインタフェースイベントに関連付けられたアプリケーションが更にレベルの高いフォールトトレランスを必要としているか否かを判断する工程と、
    前記更にレベルの高いフォールトトレランスを有する少なくとも1つのフォールトトレランススキームが前記平均待ち時間閾値を満たすことができるか否かを判断する工程と、
    前記第1のフォールトトレランススキームから、前記更にレベルの高いフォールトトレランスを有する前記少なくとも1つのフォールトトレランススキームのうちの選ばれた1つへと切換える工程と、
    を更に備えたことを特徴とする請求項10に記載の方法。
  13. 前記ユーザインタフェースイベントに関連付けられたアプリケーションに対して、フォールトトレランススキームを切換える決定を知らせる工程
    を更に備えたことを特徴とする請求項12に記載の方法。
  14. フォールトトレランス機構に関連付けられた複数のフォールトトレランススキームを動的に切換えることができるフォールトトレラント分散システムにおいて、
    前記分散システムで生じるユーザインタフェースイベントの待ち時間であって、通信時間、サービス時間、フォールトトレランス時間を含む待ち時間を取得する手段と、
    前記待ち時間の平均が所定の平均待ち時間閾値よりも大きいか否かを判断する手段と、
    前記待ち時間の前記平均が前記所定の平均待ち時間閾値よりも大きい時に、前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立であるか否かを判断する手段と、
    前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立である時に前記複数のフォールトトレランススキームのうちの第1のフォールトトレランススキームから、前記複数のフォールトトレランススキームのうちの第2のフォールトトレランススキームへと切換える手段と、
    を備えたことを特徴とするフォールトトレラント分散システム。
  15. 前記通信時間、前記サービス時間、前記フォールトトレランス時間が互いに独立でない時に前記第1のフォールトトレランススキームにおける実施コストを判断する手段と、
    前記第1のフォールトトレランススキームが前記通信時間および前記サービス時間に対して十分な影響を与えているか否かを判断する手段と、
    前記十分な影響が判断される時、前記第1のフォールトトレランススキームから、前記複数のフォールトトレランススキームのうちの第3のフォールトトレランススキームへと切換える手段と、
    を更に備えたことを特徴とする請求項14に記載のシステム。
  16. 前記待ち時間の前記平均が所定の平均待ち時間閾値よりも大きくない時に、前記ユーザインタフェースイベントに関連付けられたアプリケーションが更にレベルの高いフォールトトレランスを必要としているか否かを判断する手段と、
    前記更にレベルの高いフォールトトレランスを有する少なくとも1つのフォールトトレランススキームが前記平均待ち時間閾値を満たすことができるか否かを判断する手段と、
    前記第1のフォールトトレランススキームから、前記更にレベルの高いフォールトトレランスを有する前記少なくとも1つのフォールトトレランススキームのうちの選ばれた1つへと切換える手段と、
    を更に備えたことを特徴とする請求項15に記載のシステム。
  17. 前記ユーザインタフェースイベントに関連付けられたアプリケーションに対して、フォールトトレランススキームを切換える決定を知らせるための手段
    を更に備えたことを特徴とする請求項16に記載のシステム。
JP2004536519A 2002-09-13 2003-09-10 フォールトトレランススキームを動的に切換えるための方法 Expired - Lifetime JP4515262B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/243,083 US6745339B2 (en) 2002-09-13 2002-09-13 Method for dynamically switching fault tolerance schemes
PCT/US2003/028591 WO2004025890A1 (en) 2002-09-13 2003-09-10 Method for dynamically switching fault tolerance schemes

Publications (2)

Publication Number Publication Date
JP2005539312A JP2005539312A (ja) 2005-12-22
JP4515262B2 true JP4515262B2 (ja) 2010-07-28

Family

ID=31991545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004536519A Expired - Lifetime JP4515262B2 (ja) 2002-09-13 2003-09-10 フォールトトレランススキームを動的に切換えるための方法

Country Status (4)

Country Link
US (2) US6745339B2 (ja)
JP (1) JP4515262B2 (ja)
AU (1) AU2003272325A1 (ja)
WO (1) WO2004025890A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118686A1 (en) * 2001-02-26 2002-08-29 Sudeep Gupta Multi-homing proxy apparatus, and associated method, for digital communication network
US6745339B2 (en) * 2002-09-13 2004-06-01 Docomo Communications Laboratories Usa, Inc. Method for dynamically switching fault tolerance schemes
US7702739B1 (en) * 2002-10-01 2010-04-20 Bao Tran Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
US7693952B2 (en) * 2003-03-27 2010-04-06 Microsoft Corporation Availability and scalability in a messaging system in a manner transparent to the application
ATE373913T1 (de) * 2003-06-24 2007-10-15 Research In Motion Ltd Serialisierung von eine verteiltenapplikation einer router
US7440553B2 (en) * 2004-02-04 2008-10-21 Samsung Electronics Co., Ltd. Apparatus and method for checkpointing a half-call model in redundant call application nodes
US7885182B2 (en) * 2004-05-14 2011-02-08 Arris Group, Inc. Method for fast recovery from ring protection switches on DOCSIS networks
GB2420639A (en) * 2004-11-24 2006-05-31 Hewlett Packard Development Co Monitoring Copy on write (COW) faults to control zero-copy data transfer
KR20120138546A (ko) * 2011-06-15 2012-12-26 한국전자통신연구원 분산 네트워크에서 우선순위에 기반한 디스커버리를 수행하는 장치 및 방법과, 디스커버리 백오프 타임 결정 방법
US8949653B1 (en) * 2012-08-03 2015-02-03 Symantec Corporation Evaluating high-availability configuration
US10409353B2 (en) * 2013-04-17 2019-09-10 Qualcomm Incorporated Dynamic clock voltage scaling (DCVS) based on application performance in a system-on-a-chip (SOC), and related methods and processor-based systems
RU170236U1 (ru) * 2016-09-19 2017-04-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) Резервированная многоканальная вычислительная система

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
US5367668A (en) * 1993-02-26 1994-11-22 Stratus Computer, Inc. Method and apparatus for fault-detection
US5828847A (en) * 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US5963540A (en) * 1997-12-19 1999-10-05 Holontech Corporation Router pooling in a network flowswitch
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
DE19835216B4 (de) * 1998-08-05 2005-10-27 Systemonic Ag Prozessor und Verfahren zur parallelen Datenverarbeitung
US6674713B1 (en) * 1999-02-23 2004-01-06 Cisco Technology, Inc. Method and apparatus for providing continuous voice and call communications between a data network and a telephony network
US6453468B1 (en) * 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US6446218B1 (en) * 1999-06-30 2002-09-03 B-Hub, Inc. Techniques for maintaining fault tolerance for software programs in a clustered computer system
EP1232575B1 (en) * 1999-11-29 2009-06-03 Samsung Electronics Co., Ltd. method for assigning a common packet channel in a cdma communication system
US6745339B2 (en) * 2002-09-13 2004-06-01 Docomo Communications Laboratories Usa, Inc. Method for dynamically switching fault tolerance schemes
US20040111510A1 (en) * 2002-12-06 2004-06-10 Shahid Shoaib Method of dynamically switching message logging schemes to improve system performance

Also Published As

Publication number Publication date
US6745339B2 (en) 2004-06-01
WO2004025890A1 (en) 2004-03-25
US20040205373A1 (en) 2004-10-14
AU2003272325A1 (en) 2004-04-30
US7243263B2 (en) 2007-07-10
US20040054942A1 (en) 2004-03-18
JP2005539312A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
Castelli et al. Proactive management of software aging
US8015281B2 (en) Dynamic server flow control in a hybrid peer-to-peer network
US20020087612A1 (en) System and method for reliability-based load balancing and dispatching using software rejuvenation
US7409436B2 (en) Exactly once JMS communication
US6826601B2 (en) Exactly one cache framework
US8099379B2 (en) Performance evaluating apparatus, performance evaluating method, and program
JP4107676B2 (ja) トランザクション引継ぎシステム
US6782408B1 (en) Controlling a number of instances of an application running in a computing environment
JP4515262B2 (ja) フォールトトレランススキームを動的に切換えるための方法
Zhang et al. Fault-tolerant grid services using primary-backup: feasibility and performance
CN114218012A (zh) 用于在集群系统中备份和恢复数据的方法和系统
US20080288812A1 (en) Cluster system and an error recovery method thereof
EP1762069B1 (en) Method of selecting one server out of a server set
JP2004192647A (ja) メッセージ記録手法の動的切り替え方法
Chawathe et al. System support for scalable and fault tolerant internet services
CN113766013A (zh) 一种会话创建方法、装置、设备及存储介质
JP4129473B2 (ja) コンピュータクラスタにおけるデータ収集
Maassen et al. Middleware adaptation with the delphoi service
Dumitraş et al. Architecting and implementing versatile dependability
Chen et al. Dynamic replication scheduling for cloud datacenters based on workload statistics
Zhu et al. A scheduling framework for web server clusters with intensive dynamic content processing
Das et al. Modeling the coverage and effectiveness of fault-management architectures in layered distributed systems
Almhanna et al. Utilizing Probability Distribution for Selecting Optimal and Minimal Replicas to Achieving Fault Tolerance in a Distributed System.
Han et al. Scheduling proxy: enabling adaptive-grained scheduling for global computing system
Arapé et al. On the Development of an Enhanced Least-Loaded Strategy for the CORBA Load Balancing and Monitoring Service.

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100416

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4515262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term