Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4885342B2 - クラスタコンピュータシステムにおける高度に利用可能な非同期i/o - Google Patents
[go: Go Back, main page]

JP4885342B2 - クラスタコンピュータシステムにおける高度に利用可能な非同期i/o - Google Patents

クラスタコンピュータシステムにおける高度に利用可能な非同期i/o Download PDF

Info

Publication number
JP4885342B2
JP4885342B2 JP32342099A JP32342099A JP4885342B2 JP 4885342 B2 JP4885342 B2 JP 4885342B2 JP 32342099 A JP32342099 A JP 32342099A JP 32342099 A JP32342099 A JP 32342099A JP 4885342 B2 JP4885342 B2 JP 4885342B2
Authority
JP
Japan
Prior art keywords
client
request
primary server
server
sending
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
JP32342099A
Other languages
English (en)
Other versions
JP2000194678A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2000194678A publication Critical patent/JP2000194678A/ja
Application granted granted Critical
Publication of JP4885342B2 publication Critical patent/JP4885342B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に、故障に強い分散コンピューティングシステムにおけるオペレーティングシステムに関する。より詳細には、本発明は、I/O要求用の一次サーバが故障した場合に、二次サーバに切り換えることができる、非同期I/O要求をサポートするシステムおよび方法に関する。
【0002】
【従来の技術】
コンピュータネットワークが、独立したコンピュータシステムにリンクするためにますます共に用いられるにつれ、分散オペレーティングシステムは、コンピュータネットワーク上の複数のコンピュータシステム間における相互作用を制御するように開発されてきている。分散オペレーティングシステムは、一般に、クライアントコンピュータシステムがサーバコンピュータシステム上のリソースまたはサービスにアクセスすることを可能にする。例えば、クライアントコンピュータシステムは、サーバコンピュータシステム上のデータベース内に含まれる上方にアクセスし得る。しかし、サーバが故障した場合に、分散オペレーティングシステムが、ユーザクライアントがその故障に気づいて処理することなく、自動的にこの故障から回復することが望ましい。分散コンピュータシステムがそのようなワイヤの故障から回復する能力を処理することは、「高度に利用可能なシステム」と呼ばれ、そのような高度に利用可能なシステム上に記憶されたデータオブジェクトは、「高度に利用可能なデータオブジェクト」と呼ばれる。
【0003】
正常に機能するために、高度に利用可能なシステムは一次サーバの故障を検出できなければならない。そして、故障した一次サーバが二次サーバ上のバックアップコピーにリダイレクトされるように、そのシステム自体を再設定する。この二次サーバ上のバックアップコピーへ切り換えるプロセスは、「フェイルオーバー」と呼ばれる。
【0004】
【発明が解決しようとする課題】
非同期I/O要求は、特に高度に利用可能なシステムにおいて実現することは難しい。非同期I/O要求は、プロセスがI/O要求を初期化し、そしてI/O要求が処理されている間、処理し続けることを可能にする。このようにして、I/O要求が進行している間、プロセスは有益な活動を(ブロッキングする代わりに)行い続け、それによりシステムパフォーマンスを高める。あいにく、プロセスは通常、I/O要求が完了する際にはほとんど制御できない。I/O要求のタイミングに対するこの制御の欠如は、高度に利用可能なシステム(非同期I/O要求が進行中である間のいかなるときにも起こり得る、一次サーバの故障から回復できなければならない。)において問題を生じ得る。
【0005】
ここで、I/O要求用の一次サーバが故障した場合に、二次サーバに切り換え可能な非同期I/O要求をサポートする、高度に利用可能なシステムが必要とされる。
【0006】
【課題を解決するための手段】
本発明によるI/O要求を処理している一次サーバが故障し、そして二次サーバが該一次サーバを継承する場合に、I/O要求が進行することを可能にする方法は、クライアント上で駆動しているクライアントアプリケーションからのI/O要求を受信する工程と、該クライアント上のI/O要求用のパラメータを記憶する工程と、該一次サーバへのI/O要求を送信する工程と、該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にする工程と、該I/O要求が該一次サーバに送信された後であって、しかしI/O要求完了インジケータが該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する工程とを含み、それにより上記目的が達成される。
【0007】
I/O要求が進行することを可能にする方法は、前記I/O要求を前記二次サーバへ再試行する前記動作が、前記クライアントアプリケーションが前記一次サーバの故障に気づくことなく生じる方法であってもよい。
【0008】
I/O要求が進行することを可能にする方法は、前記クライアント上の前記I/O要求用の前記パラメータを記憶する前記動作が、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作製する工程と、該分散オブジェクトについての参照を、前記一次サーバ上に記憶されるように送信する工程であって、分散オペレーティングシステムに該参照のトラックを辿らせる工程とを含み、該一次サーバが故障した場合に、該分散オペレーティングシステムが該クライアントに、該分散オブジェクトが非参照であることを通知し、該クライアントが、該一次サーバが故障したことを推測することを可能する方法であってもよい。
【0009】
I/O要求が進行することを可能にする方法は、前記I/O要求完了インジケータが前記一次サーバに送信される前に、該一次サーバが故障した場合に、該I/O要求を前記二次サーバへ送信する工程をさらに含んでもよい。
【0010】
I/O要求が進行することを可能にする方法は、前記I/O要求用のバラメータを記憶する前記動作が、前記クライアント上の該I/O要求用のステータスインジケータを記憶する工程を含み、該ステータスインジケータは該I/O要求が進行中であるか、あるいは完了したかを示す方法であってもよい。
【0011】
I/O要求が進行することを可能にする方法は、前記一次サーバが完了し、前記I/O要求完了インジケータを前記クライアントへ戻す場合に、前記ステータスインジケータを該I/O要求が完了することを示す値に設定する工程をさらに含んでもよい。
【0012】
I/O要求が進行することを可能にする方法は、前記一次サーバが完了し、前記I/O要求完了インジケータを前記クライアントへ戻す場合に、該クライアント上に予め記憶された該I/O要求用前記パラメータを取り除く工程をさらに含んでもよい。
【0013】
I/O要求が進行することを可能にする方法は、前記I/O要求を前記一次サーバへ送信する前に、該I/O要求に関連したメモリのページをロックする工程と、該一次サーバが完了し、前記I/O要求完了インジケータを前記クライアントに戻す場合に、該メモリのページをロック解除する工程とをさらに含んでもよい。
【0014】
I/O要求が進行することを可能にする方法は、前記I/O要求が、ファイルシステムアクセス、データベースシステムからのI/O要求、および視覚的メモリシステムからのページング要求の内の1つである方法であってもよい。
【0015】
本発明によるI/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする方法を、コンピュータにより実行される際にコンピュータに行わせる命令を記憶する、コンピュータ読み出し可能記憶媒体は、該方法が、クライアント上で駆動しているクライアントアプリケーションからのI/O要求を受信する工程と、該クライアント上のI/O要求用のパラメータを記憶する工程と、該一次サーバへのI/O要求を送信する工程と、該クライアントアプリケーションが、該I/O要求が処理されている間、実行し続けることを可能にする工程と、該I/O要求が該一次サーバに送信された後であって、しかしI/O要求完了インジケータが該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する工程とを含み、それにより上記目的が達成される。
【0016】
本発明によるI/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする方法を、コンピュータにより実行される際にコンピュータに行わせる命令を運ぶ、搬送波において実施されるコンピュータ命令信号は、該方法が、クライアント上で駆動しているクライアントアプリケーションからのI/O要求を受信する工程と、該クライアント上のI/O要求用のパラメータを記憶する工程と、該一次サーバへのI/O要求を送信する工程と、該クライアントアプリケーションが、該I/O要求が処理されている間、実行し続けることを可能にする工程と、該I/O要求が該一次サーバに送信された後であって、しかしI/O要求完了インジケータが該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する工程とを含み、それにより上記目的が達成される。
【0017】
本発明によるI/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする方法は、クライアント上で駆動しているクライアントアプリケーションからの該I/O要求を受信する工程と、該クライアント上の該I/O要求用のパラメータを記憶する工程であって、該パラメータは該I/O要求が進行中であるか、あるいは完了したかを示すステータスインジケータを含む工程と、該I/O要求を該一次サーバへ送信する工程と該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にする工程と、該一次サーバが、該I/O要求が該一次サーバへ送信される前に故障した場合に、該I/O要求を該二次サーバへ送信する工程と、該I/O要求が該一次サーバに送信された後であって、しかしI/O要求完了インジケータが該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する工程であって、該再試行する工程が、該クライアントアプリケーションが該一次サーバの故障に気づくことなく生じる工程と、該一次サーバが完了し、該I/O要求完了インジケータを該クライアントへ戻す場合に、該ステータスインジケータを該I/O要求が完了することを示す値に設定する工程とを含み、それにより上記目的が達成される。
【0018】
I/O要求が進行することを可能にする方法は、前記クライアント上の前記I/O要求用の前記パラメータを記憶する前記動作が、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作製する工程と、該分散オブジェクトについての参照を、前記一次サーバ上に記憶されるように送信する工程であって、分散オペレーティングシステムに該参照のトラックを辿らせる工程とを含み、該一次サーバが故障した場合に、該分散オペレーティングシステムが該クライアントに、該分散オブジェクトが非参照であることを通知し、該クライアントが、該一次サーバが故障したことを推測することを可能にする方法であってもよい。
【0019】
I/O要求が進行することを可能にする方法は、前記I/O要求完了インジケータが前記一次サーバに送信される前に、該一次サーバが故障し、該I/O要求を前記二次サーバへ送信する工程をさらに含んでもよい。
【0020】
I/O要求が進行することを可能にする方法は、前記I/O要求を前記一次サーバへ送信する前に、該I/O要求に関連したメモリのページをロックする工程と、該一次サーバが完了し、前記I/O要求完了インジケータを前記クライアントに戻す場合に、該メモリのページをロック解除する工程とをさらに含んでもよい。
【0021】
I/O要求が進行することを可能にする方法は、前記I/O要求が、ファイルシステムアクセス、データベースシステムからのI/O要求、および視覚的メモリシステムからのページング要求の内の1つである方法であってもよい。
【0022】
本発明によるI/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする装置は、
クライアント上で駆動するクライアントアプリケーションからの該I/O要求を受信するように構成されたI/O処理機構と、該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にする実行機構と、該I/O要求が該一次サーバに送信された後であって、しかしI/O要求完了インジケータが該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する再試行機構とを含み、それにより上記目的が達成される。
【0023】
I/O要求が進行することを可能にする装置は、前記再試行機構が、前記I/O要求が前記二次サーバへ、前記クライアントアプリケーションが前記一次サーバの故障に気づくことなく再試行するように構成されてもよい。
【0024】
I/O要求が進行することを可能にする装置は、前記I/O要求の受信により、該I/O処理機構が、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作製し、該分散オブジェクトについての参照を、前記一次サーバ上に記憶されるように送信し、分散オペレーティングシステムに該参照のトラックを辿らせるように構成され、該一次サーバが故障した場合に、該分散オペレーティングシステムが該クライアントに、該分散オブジェクトが非参照であることを通知し、該クライアントが該一次サーバが故障したことを推測することを可能にする装置であってもよい。
【0025】
I/O要求が進行することを可能にする装置は、前記再試行機構が、前記I/O要求が前記一次サーバに送信される前に該一次サーバが故障した場合に、該I/O要求を前記二次サーバへ送信するように構成されてもよい。
【0026】
I/O要求が進行することを可能にする装置は、前記I/O処理機構が、前記I/O要求用のパラメータを記憶する前記動作が、前記クライアント上の該I/O要求用のステータスインジケータを記憶するように構成され、該ステータスインジケータは該I/O要求が進行中であるか、あるいは完了したかを示す装置であってもよい。
【0027】
I/O要求が進行することを可能にする装置は、前記I/O要求を前記一次サーバへ送信する前に、該I/O要求に関連したメモリのページをロックし、かつ該一次サーバが完了し、前記I/O要求完了インジケータを前記クライアントに戻す場合に、該メモリのページをロック解除するように構成される、ページロック機構をさらに含んでもよい。
【0028】
本発明の1つの実施の形態は、I/O要求を処理している一次サーバが故障し、二次サーバが一次サーバを継承する場合に、I/O要求が進行することを可能にするシステムを提供する。クライアント上で駆動しているアプリケーションからのI/O要求の受信により、システムはクライアント上のI/O要求用のパラメータを記憶し、そしてI/O要求を一次サーバへ送信する。次に、システムは、I/O要求が処理されている間、クライアント上のアプリケーションが実行し続けることを可能にする。I/O要求が一次サーバへ送信された後であって、しかしI/O要求完了インジケータが一次サーバから戻る前に一次サーバが故障した場合に、システムはクライアント上に記憶されたパラメータを用いてI/O要求を二次サーバへ再試行する。I/O要求は、多くの異なるソース(ファイルシステムアクセス、データベースシステムからのI/O要求、および視覚的メモリシステムからのページング要求を含む)から起こり得る。上記の実施の形態における多様性の中で、クライアント上のI/O要求用のパラメータを記憶する作業は、分散オブジェクト指向プログラミング環境内において規定された分散オブジェクトを作製すること、および分散オブジェクトについての参照を、一次サーバ上に記憶されるように送信することを含む。このことは、分散オペレーティングシステムがその参照のトラックを辿るようにし、一次サーバが故障した場合に、分散オブジェクト上の参照数は0まで落ち、そして分散オペレーティングシステムは分散オブジェクトが非参照であることをクライアントに通知する。それにより、クライアントは一次サーバが故障したことを推測できる。
【0029】
上記の実施の形態の1つの局面は、I/O要求が一次サーバに送信される前に、I/O要求に関連するメモリのページをロックすることに関する。このことは、I/O要求が再試行される必要がある場合において、そのページが変更されないことを確実にする。このページは、I/O要求が完了し、一次サーバがI/O要求の完了をクライアントに知らせる際に、最終的にロック解除される。
【0030】
また本発明の他の実施の形態は、以下の詳細な説明から当業者には容易に明らかなものとなる。ここでは、本発明を実施することを意図した実施態様を図示することにより、本発明の実施の形態のみを示し、説明している。後に理解されるように、本発明は他の、または異なる実施の形態を可能とし、またその詳細のいくつかは、本発明の精神および範囲から逸脱することなく、多様な明白な観点における改変も可能とする。よって、図面および詳細な説明は、本質的な説明として見なされるものであって、制限されるものではない。
【0031】
【発明の実施の形態】
分散システムの説明
図1は、本発明の実施の形態による分散コンピューティングシステムを示す。この分散コンピューティングシステムは、クライアント102に連結するネットワーク110、一次サーバ106、および二次サーバ108を含む。ネットワーク110は、通常コンピュータ間のワイヤ(またはワイヤレス)リンクの任意のタイプを意味する。この任意のタイプとは、ローカルネットワーク、広域ネットワーク、もしくはネットワークの組合せを含む(しかし、これらに限定されない)。一般に、クライアント102のようなクライアントは、リソースまたはサービスを要求するエンティティを意味する。対応して、一次サーバ106または二次サーバ108のようなサーバは、リソースおよびサービス用の要求をサービスする。いくつかのケースにおいては、オブジェクト用のクライアントおよびサーバは、同じコンピューティングノード上に存在し得る。他のケースにおいては、クライアントおよびサーバは、異なるコンピューティングノード上のオブジェクト用に存在する。図1に示す実施の形態においては、クライアント102、一次サーバ106、および二次サーバ108は、独立したコンピューティングノード上に存在する。
【0032】
一次サーバ106および二次サーバ108は、記憶デバイス112に連結する。記憶デバイス112は、一次サーバ106および二次サーバ108によりアクセスされるデータ用の非揮発性メモリを含む。図1は、記憶デバイス112から一次サーバ106へ、そして二次サーバ108への直接的な通信リンクを示しているが、これら通信リンクは、実際にはネットワーク110(または別の独立したネットワーク)を渡るメッセージにより実現され得る。
【0033】
本発明に1つの実施の形態において、図1に示す分散コンピューティングシステム用のオペレーティングシステムは、Solaris MCオペレーティングシステムであり、これはCalifornia州、Palo AltoのSunMicrosystems,Inc.の製品である。Solaris MCオペレーティングシステムは、UNIX−ベースのオペレーティングシステムである。よって、現在の技術を説明するにあたって、UNIXの用語法および概念は、頻繁に用いられる。しかし、この使用は説明を目的としたものであって、この特定のオペレーティングシステムに限定すると見なされるものではない。
【0034】
説明している実施の形態において、クライアント102は高度に利用可能な非同期I/Oシステム104を含み、これはライブラリとして実現され得、またこれは、I/O要求を処理している一次サーバ106が故障した場合に、二次サーバ108に向けられ得る非同期I/O操作を促進する。例えば、クライアント102が一次サーバ106への未処理(outstanding) のI/O要求を有すると仮定する。I/O要求が未処理である間に一次サーバ106が故障すると、クライアント102は、最終的に分散オペレーティングシステムにより一次サーバ106が故障したことを通知される。それにより、クライアント102は、故障したI/O要求を二次サーバ108上で再試行する。二次サーバ108は、記憶デバイス112にもアクセスできることから、同じI/O要求を処理することができることに注目されたい。
【0035】
非同期I/Oに関与する機能的構成要素
図2は、クライアント102および一次サーバ106内における機能的構成要素を示し、これらの構成要素は、本発明の実施の形態による高度に利用可能な非同期I/O操作に関与している。図示する実施の形態においては、図1からのクライアント102はユーザプロセス204を包含する。ユーザプロセス204は、システムライブラリ208からのI/O機能を呼び出すことにより、I/O要求を作製する。システムライブラリ208は、プロキシファイルシステム(PXFS)212と通信する機能を含む。ユーザプロセス204は、一次サーバ106へのI/O要求を生成することができるクライアント102内の任意のプロセスを含み得る。これは、ファイルシステム参照を生成するユーザプロセスに限定されないが、データベースアクセスを生成するデータベースプロセス、およびページ参照を生成するページングシステムを含む。図2は、図示的な目的として「ユーザ」プロセスを表すが、一般に、任意の「ユニット」または「システム」プロセスがI/O要求を生成し得る。
【0036】
I/O要求を実行する機能を含むシステムライブラリ208は、多様なシステムコールを実現する機能の集まりを含む。システムライブラリ208内におけるI/Oルーチンは、典型的にはユーザプロセス204からのユーザレベルシステムコールをカーネルレベルシステムコールへ変換し、I/O操作を行う。
【0037】
プロキシファイルシステム(PXFS)212は、高度に利用可能な分散ファイルシステムの一部であり、これは一次サーバ106が故障した場合に、一次サーバ106から二次サーバ108へのフェイルオーバーをサポートする。図示する実施の形態において、PXFS212はコールバックオブジェクト214を含み、これは関連非同期I/O操作に関する情報を包含する。
【0038】
クライアント102内におけるPXFS212は、一次サーバ106内におけるPXFS222と通信する。クライアント102内におけるPXFS212、および一次サーバ106内におけるPXFS222は、同じ分散ファイルシステムの異なる部分である。PXFS222は、分散オブジェクトポインタ223を含み、これはクライアント102内におけるコールバックオブジェクト214についての参照である。実際には、分散オブジェクトポインタ223は、コールバックオブジェクト214への分散参照225を作製する。一次サーバ106が故障すると、分散参照225は消える。それにより、コールバックオブジェクト214についてのアクティブ参照の数は0まで落ち、従って分散オペレーティングシステムはクライアント102上のPXFS212に、コールバックオブジェクト214が非参照であることを通知する。一次サーバ106はコールバックオブジェクト214についての参照を保持する唯一のエンティティであることから、クライアント102は、一次サーバ106が故障したと分析し得る。
【0039】
一次サーバ106は、さらに記憶デバイスドライバ224を包含し、これはPXFS222からコマンドを受信し、それらのコマンドに応答して、記憶デバイス112へアクセスする。
【0040】
記憶デバイスドライバ224は、特定のI/O操作を記憶デバイス112に行うために、記憶デバイス112と通信する。
【0041】
図3は、本発明の実施の形態によるコールバックオブジェクト214の内部構造の一部を示す。図3に示す実施の形態は、I/O要求302およびI/O要求ステータス304を指すポインタを含む。I/O要求302を指すポインタは、ペンディングI/O要求に関する情報を含むI/O要求オブジェクトを指すポインタである。このポインタは、一次サーバ106が故障した場合に、ペンディングI/O要求が二次サーバ108上で再試行されることを可能にする。図3に示すコールバックオブジェクト214の実施の形態は、オブジェクト指向プログラミングシステム内において規定されるオブジェクトの形をとるが、一般に、同等のデータを記憶する任意のタイプのデータ構造が用いられ得る。クライアント102は、各ペンディングI/O要求用に、独立したコールバックオブジェクト214を作製し、そして維持することに注目されたい。
【0042】
非同期I/Oプロセス
図4は、本発明の実施の形態による非同期I/O操作を行う際に関与するいくつかの操作を示すフローチャートである。これらの要素を図2に示す機能的構成要素を参照しながら説明する。まず、ユーザプロセス204(図2より)にて、I/O要求(工程402)がなされる。上述したように、このI/O要求は、記憶デバイス112(図2より)への任意のタイプのI/O要求(ファイルシステムアクセス、データベースシステムからのI/O要求、または視覚的メモリシステムからのページング要求を含む)を含み得る。次に、I/O要求206は、システムライブラリ208からのシステムコールを実行する(工程404)。このシステムコールは、クライアント102上のプロキシファイルシステム(PXFS212)にアクセスする、カーネルシステムコール210を生成する。
【0043】
I/O要求を処理する際に、PXFS212はコールバックオブジェクト214を作製し、そして記憶する(工程406)。そうする間に、PXFS212は図3からのI/O要求302を指すポインタを初期化し、関連I/O要求オブジェクトを(I/O要求の再試行が可能となるように)指し示し、同じくI/O要求ステータス304を「進行中」に設定する(工程408)。
【0044】
次に、PXFS212が、一次サーバ106への呼出しをする(工程410)。この呼出しは、コールバックオブジェクト214についての参照を含む。呼出しに応答して、一次サーバ106内のPXFS222は、分散オブジェクトポインタ223として、コールバックオブジェクト214についての参照を記憶する。このことは、分散オペレーティングシステムに、コールバックオブジェクト214についての分散参照225のトラックを辿らせる。一次サーバ106がが故障すると、分散オペレーティングシステムはクライアント102に、コールバックオブジェクト214が非参照であることを通知する。一次サーバ106はコールバックオブジェクト214についての参照を保持する唯一のエンティティであることから、クライアント102は、一次サーバ106が故障したことを推測し得、そしてクライアント102は適切な動作をとることができる。
【0045】
その次に、一次サーバ106上のPXFS222は記憶デバイスドライバ224を呼び出し、I/O操作を始める(工程412)。記憶デバイスドライバ224は、コマンドを記憶デバイス112へ送信することによりI/O操作を初期化する。この時点で、呼出しはクライアント102へ戻る(工程414)。その後、クライアント102上のPXFS212は、ユーザプロセス204へのリターンを転送し、それによりユーザプロセス204は処理を継続し得る(工程416)。従って、ユーザプロセス204は、I/O操作の完了を待つ代わりに、有益な活動をし得る。しばらくの間、I/O操作が処理を続け、将来の未決定のときに完了する。
【0046】
I/O要求が記憶デバイス112により完了したときに、記憶デバイス122は記憶デバイスドライバ224へ割り込みを送信する。この割り込みに応答して、記憶デバイスドライバ224はI/O済み機能を呼び出す(工程420)。この機能により、一次サーバ106はクライアント102に、I/O要求が完了したことを通知する(工程422)。さらに、I/O要求が読み出し操作のためのものであった場合に、記憶デバイス112からのデータ読み出しは、このときにクライアント102から一次サーバ106へ送り戻される。そして、クライアント102上のPXFS212は、I/O要求ステータス304を「済み」に設定し、I/O要求中にロックされていた任意のページをロック解除する。I/O操作中、I/O操作が、I/Oが進行中のときにページがスワップアウトまたは消去を防ぐことを完了するまで、ページはロックされたままである。ページは、工程410においてI/O操作が一次サーバ106に送信される少し前にロックされることに注目されたい。また、割り込みは、工程412においてI/O要求が始まった後の任意のときに、完了し得ること(工程420)に注目されたい。これはI/O要求が独立したスレッド上で実行されているためである。よって、工程420は、破線により示されたようなステート412、414、および416のいずれの後にも続き得る。
【0047】
次に、一次サーバ106は分散参照225をコールバックオブジェクト214へリリースする(工程426)。コールバックオブジェクト214についての参照は1つしかないことから、分散参照225がリリースされたときに、コールバックオブジェクト214は非参照である。分散オペレーティングシステムは、最終的にはこの事実を検出し、クライアント102は、コールバックオブジェクト214上の「非参照」メッセージを受信する(工程428)。この非参照メッセージに応答して、クライアント102はコールバックオブジェクト214内におけるI/O要求ステータス304を検査する。I/O要求は、I/O要求ステータスが完了したことを表示し、クライアント102は最後にコールバックオブジェクト214を消去する(工程430)。この時点で、I/O操作は完了する。
【0048】
故障からの回復
図5は、本発明の実施の形態による非同期I/O操作中の故障から回復する際に関するいくつかの操作を示すフローチャートである。一次サーバ106が、I/O呼出しが一次サーバ106につくられる前に故障した場合に(図4の工程410)、呼出しは分散オペレーティングシステムにより、自動的に図1の二次サーバ108へ再試行される(工程504)。
【0049】
次に、一次サーバ106へのI/O呼出しが工程410においてつくられた後に一次サーバ106が故障した場合であって、しかし呼出しが工程414においてクライアント102へ戻される前に、分散オペレーティングシステムのレプリカフレームワークは、二次サーバ108へI/O要求の再試行を行う(工程502)。図示する実施の形態において、レプリカフレームワークは、California州、Palo AltoのSun Microsystems,Inc.により生産されるSolaris MCオペレーティングシステムの一部である。しかし、他のオペレーティングシステムでも、再試行を行うための類似の機構を用い得る。呼出しが一次サーバ106に届く前に、コールバックオブジェクト214についての分散参照225は存在し得ないことに注目されたい。よってクライアント102は、一次サーバ106が止まったケースにおいては、非参照通知を受信することを期待できない。
【0050】
次に、呼出しがクライアント102へ戻った後に一次サーバ106が故障した場合に(工程414)であって、しかし一次サーバ106が工程422におけるI/O操作の完了をクライアント102に通知する前に、一連のイベントが起こる(工程506)。一次サーバ106が止まった場合に、コールバックオブジェクト214用の分散オペレーティングシステムにより維持される参照数は0まで落ちる。このことは、分散オペレーティングシステムにより検出され、そしてクライアント102は、コールバックオブジェクト214上の非参照メッセージを分散オペレーティングシステムから受信する。この非参照メッセージに応答して、クライアント102内のPXFS212は、コールバックオブジェクト214内におけるI/O要求ステータス304が「進行中」に設定されることを確実にすることを検査する。その場合に、PXFS212は、コールバックオブジェクト214内におけるI/O要求302を指すポインタにより指標を付けられた最初の要求構造を用いて、I/O要求を二次サーバ108へ再試行する。ユーザプロセス204は、この故障に気づかないことに注目されたい。
【0051】
一次サーバ106がI/O要求の完了をクライアント102に通知した後に一次サーバ106が故障した場合に、クライアント102はI/O要求ステータス304を「済み」に設定する(工程508)。一次サーバ106は、加えてI/O要求に関連したデータ構造をきれいにする。これはI/O要求に関与するページのロック解除、およびコールバックオブジェクト214の消去を含み得る。
【0052】
結論
よって、本発明は、I/O要求用の一次サーバが故障した場合に二次サーバに切り換わり得る、高度に利用可能な非同期I/O要求をサポートする。
【0053】
本発明は特に実施の形態を参照しながら図示し、説明してきたが、当業者には形式および詳細において、上述および他の変更が本発明の精神および範囲から逸脱することなく行われ得ることを理解する。
【0054】
【発明の効果】
上述したように、本発明によるとI/O要求を処理している一次サーバが故障し、二次サーバが一次サーバを継承する場合に、I/O要求が進行することを可能にするシステムが提供される。
【図面の簡単な説明】
【図1】本発明による、分散コンピューティングシステムを示す図である。
【図2】本発明による、高度に利用可能な非同期I/O操作を実現する際に関与する、クライアントおよび一次サーバ内の機能的構成要素を示す図である。
【図3】本発明による、コールバックオブジェクトの内部構造の一部を示す図である。
【図4】本発明による、非同期I/O操作を行う際に関与する、いくつかの操作を示すフローチャートである。
【図5】本発明による非同期I/O操作中の故障から回復する際に関与する、いくつかの操作を示すフローチャートである。
【符号の説明】
102 クライアント
104 高度に利用可能な非同期I/Oシステム
106 一次サーバ
108 二次サーバ
112 記憶デバイス
204 ユーザプロセス
206 I/O要求
208 システムライブラリ
210 カーネルシステムコール
212 プロキシファイルシステム(PXFS)
214 コールバックオブジェクト
222 プロキシファイルシステム(PXFS)
223 分散オブジェクトポインタ
224 記憶デバイスドライバ

Claims (18)

  1. I/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、I/O要求が進行することを可能にする方法であって、該方法は、
    クライアントが、該クライアント上で実行されているクライアントアプリケーションからI/O要求を受信することと、
    該クライアントが、該I/O要求用のパラメータを記憶することと、
    該クライアントが、該一次サーバに該I/O要求を送信することと、
    該I/O要求が開始された後に、該クライアントに制御を戻すことと、
    該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にすることと、
    該一次サーバから該クライアントにI/O完了の通知を送信することであって、該クライアントが該一次サーバからI/O完了の通知を受信しない場合に、該クライアントは該一次サーバが故障したと決定する、ことと、
    該I/O要求が該一次サーバに送信された後であって、I/O完了の通知が該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアントが、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行することと
    を含み、
    該クライアント上で該I/O要求用のパラメータを記憶する動作は、
    該クライアントが、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作成することと、
    該クライアントが、該一次サーバに該分散オブジェクトへの参照を送信することであって、該参照を送信することは、該一次サーバが該参照を記憶することを生じさせる、ことと
    を含み、
    該一次サーバが故障した場合に、該分散オブジェクトが参照されていないことを該クライアント上の分散オペレーティングシステムが該クライアントに通知し、これにより、該一次サーバが故障したことを該クライアントが結論付けることを可能にする、方法。
  2. 前記I/O要求を前記二次サーバへ再試行する動作が、前記クライアントアプリケーションが前記一次サーバの故障に気づくことなく生じる、請求項1に記載の方法。
  3. 前記I/O要求が前記一次サーバに送信される前に、該一次サーバが故障した場合に、前記クライアントが、該I/O要求を前記二次サーバへ送信することをさらに含む、請求項1に記載の方法。
  4. 前記I/O要求用のパラメータを記憶する動作が、前記クライアントが、該I/O要求用のステータスインジケータを記憶することを含み、該ステータスインジケータは、該I/O要求が進行中であるか、あるいは完了したかを示す、請求項1に記載の方法。
  5. 前記一次サーバが完了し、前記I/O完了の通知を前記クライアントへ戻す場合に、前記クライアントが、前記ステータスインジケータを該I/O要求が完了することを示す値に設定することをさらに含む、請求項4に記載の方法。
  6. 前記一次サーバが完了し、前記I/O完了の通知を前記クライアントへ戻す場合に、前記クライアントが、前記I/O要求用の前記パラメータを取り除くことをさらに含む、請求項1に記載の方法。
  7. 前記I/O要求を前記一次サーバへ送信する前に、前記クライアントが、該I/O要求に関連したメモリのページをロックすることと、
    該一次サーバが完了し、前記I/O完了の通知を前記クライアントに戻す場合に、該クライアントが、該メモリのページをロック解除することと
    をさらに含む、請求項1に記載の方法。
  8. 前記I/O要求が、ファイルシステムアクセス、データベースシステムからのI/O要求、および仮想メモリシステムからのページング要求の内の1つである、請求項1に記載の方法。
  9. 命令を記憶したコンピュータ読み出し可能記憶媒体であって、該命令は、コンピュータにより実行されたときに該コンピュータに、I/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする方法を実行させ、該方法は、
    クライアントが、該クライアント上で実行されているクライアントアプリケーションからI/O要求を受信することと、
    クライアントが、I/O要求用のパラメータを記憶することと、
    クライアントが、該一次サーバに該I/O要求を送信することと、
    該I/O要求が開始された後に、該クライアントに制御を戻すことと、
    該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にすることと、
    該クライアントへ該一次サーバからI/O完了の通知を送信することであって、該クライアントが該一次サーバからI/O完了の通知を受信しない場合に該クライアントは該一次サーバが故障したと決定する、ことと、
    該I/O要求が該一次サーバに送信された後であって、I/O完了の通知が該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアントが、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行することと
    を含み、
    該クライアント上で該I/O要求用のパラメータを記憶する動作は、
    該クライアントが、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作成することと、
    該クライアントが、該一次サーバに該分散オブジェクトへの参照を送信することであって、該参照を送信することは、該一次サーバが該参照を記憶することを生じさせる、ことと
    を含み、
    該一次サーバが故障した場合に、該分散オブジェクトが参照されていないことを該クライアント上の分散オペレーティングシステムが該クライアントに通知し、これにより、該一次サーバが故障したことを該クライアントが結論付けることを可能にする、コンピュータ読み出し可能記憶媒体。
  10. I/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする方法であって、該方法は、
    クライアントが、該クライアント上で実行されているクライアントアプリケーションからI/O要求を受信することと、
    該クライアントが、該I/O要求用のパラメータを記憶することであって、該パラメータは、該I/O要求が進行中であるか、あるいは完了したかを示すステータスインジケータを含む、ことと、
    該クライアントが、該一次サーバに該I/O要求を送信することと、
    該I/O要求が開始された後に、該クライアントに制御を戻すことと、
    該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にすることと、
    I/O完了の通知を該一次サーバから該クライアントに送信することであって、該クライアントが該一次サーバからI/O完了の通知を受信しない場合に該クライアントは該一次サーバが故障したと決定する、ことと、
    該I/O要求が該一次サーバへ送信される前に該一次サーバが故障した場合に、該I/O要求を該二次サーバへ送信することと、
    該I/O要求が該一次サーバに送信された後であって、I/O完了の通知該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアントが、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行することであって、該再試行することが、該クライアントアプリケーションが該一次サーバの故障に気づくことなく生じる、ことと、
    該一次サーバが完了し、該I/O完了の通知を該クライアントへ戻す場合に、該ステータスインジケータを該I/O要求が完了することを示す値に設定することと
    を含み、
    該クライアント上で該I/O要求用のパラメータを記憶する動作は、
    該クライアントが、分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作成することと、
    該クライアントが、該一次サーバに該分散オブジェクトへの参照を送信することであって、該参照を送信することは、該一次サーバが該参照を記憶することを生じさせる、ことと
    を含み、
    該一次サーバが故障した場合に、該分散オブジェクトが参照されていないことを該クライアント上の分散オペレーティングシステムが該クライアントに通知し、これにより、該一次サーバが故障したことを該クライアントが結論付けることを可能にする、方法。
  11. 前記一次サーバが完了し、前記I/O完了の通知を前記クライアントへ戻す場合に、該クライアントが、前記I/O要求用の前記パラメータを取り除くことをさらに含む、請求項10に記載の方法。
  12. 前記I/O要求を前記一次サーバへ送信する前に、前記クライアントが、該I/O要求に関連したメモリのページをロックすることと、
    該一次サーバが完了し、前記I/O完了の通知を前記クライアントに戻す場合に、該クライアントが、該メモリのページをロック解除することと
    をさらに含む、請求項10に記載の方法。
  13. 前記I/O要求が、ファイルシステムアクセス、データベースシステムからのI/O要求、および仮想メモリシステムからのページング要求の内の1つである、請求項10に記載の方法。
  14. I/O要求を処理している一次サーバが故障し、二次サーバが該一次サーバを継承する場合に、該I/O要求が進行することを可能にする装置であって、
    該装置は、
    一次サーバと二次サーバとに結合されたクライアントと
    クライアント上で実行されているクライアントアプリケーションからI/O要求を受信し、該クライアント上に該I/O要求用のパラメータを記憶し、該一次サーバに該I/O要求を送信するように構成された、該クライアント内のI/O処理機構と、
    該I/O要求が開始された後に該クライアントに制御を戻すように構成された、該クライアント内のリターン機構と、
    該I/O要求が処理されている間、該クライアントアプリケーションが実行し続けることを可能にする、該クライアント内の実行機構と、
    I/O完了の通知を該一次サーバから該クライアントに送信するように構成された、該クライアント内の送信機構であって、該クライアントが該一次サーバからI/O完了の通知を受信しない場合に、該クライアントは該一次サーバが故障したと決定する、送信機構と、
    該I/O要求が該一次サーバに送信された後であって、I/O完了の通知が該一次サーバから戻る前に、該一次サーバが故障した場合に、該クライアント上に記憶された該I/O要求用の該パラメータを用いて、該I/O要求を該二次サーバへ再試行する、該クライアント内の再試行機構と
    を含み、
    該I/O要求を受け取ると、該I/O処理機構は、
    分散オブジェクト指向のプログラミング環境内において規定された分散オブジェクトを作成することと、
    該一次サーバに該分散オブジェクトへの参照を送信することであって、該参照を送信することは、該一次サーバが該参照を記憶することを生じさせる、ことと
    を行うように構成されており、
    該一次サーバが故障した場合に、該分散オブジェクトが参照されていないことを該クライアント上の分散オペレーティングシステムが該クライアントに通知し、これにより、該一次サーバが故障したことを該クライアントが結論付けることを可能にする、装置。
  15. 前記再試行機構が、前記クライアントアプリケーションが前記一次サーバの故障に気づくことなく、前記I/O要求を前記二次サーバへ再試行するように構成されている、請求項14に記載の装置。
  16. 前記再試行機構が、前記I/O要求が前記一次サーバに送信される前に該一次サーバが故障した場合に、該I/O要求を前記二次サーバへ送信するように構成される、請求項14に記載の装置。
  17. 前記I/O処理機構が、前記クライアント上に前記I/O要求用のステータスインジケータを記憶するように構成され、該ステータスインジケータは、該I/O要求が進行中であるか、あるいは完了したかを示す、請求項14に記載の装置。
  18. 前記I/O要求を前記一次サーバへ送信する前に、該I/O要求に関連したメモリのページをロックするように構成され、かつ、該一次サーバが完了し、前記I/O完了の通知を前記クライアントに戻す場合に、該メモリのページをロック解除するように構成された、前記クライアント内のページロック機構をさらに含む、請求項14に記載の装置。
JP32342099A 1998-11-12 1999-11-12 クラスタコンピュータシステムにおける高度に利用可能な非同期i/o Expired - Lifetime JP4885342B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/190,664 US6223231B1 (en) 1998-11-12 1998-11-12 Method and apparatus for highly-available processing of I/O requests while application processing continues
US09/190.664 1998-11-12

Publications (2)

Publication Number Publication Date
JP2000194678A JP2000194678A (ja) 2000-07-14
JP4885342B2 true JP4885342B2 (ja) 2012-02-29

Family

ID=22702276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32342099A Expired - Lifetime JP4885342B2 (ja) 1998-11-12 1999-11-12 クラスタコンピュータシステムにおける高度に利用可能な非同期i/o

Country Status (4)

Country Link
US (1) US6223231B1 (ja)
EP (1) EP1001343B1 (ja)
JP (1) JP4885342B2 (ja)
DE (1) DE69907852T2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366968B1 (en) * 1998-06-26 2002-04-02 Intel Corporation Physical write packets processing when posted write error queue is full, with posted write error queue storing physical write requests when posted write packet fails
US6615235B1 (en) * 1999-07-22 2003-09-02 International Business Machines Corporation Method and apparatus for cache coordination for multiple address spaces
US6816980B1 (en) 2000-09-15 2004-11-09 Zeronines Technology, Inc. Fault tolerant, state-compatible computer system and method
US6760861B2 (en) * 2000-09-29 2004-07-06 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster
US6772363B2 (en) * 2001-03-12 2004-08-03 Hewlett-Packard Development Company, L.P. Fast failover database tier in a multi-tier transaction processing system
JP3791388B2 (ja) * 2001-10-17 2006-06-28 コニカミノルタビジネステクノロジーズ株式会社 データ処理装置ならびにデータ処理方法
US8688787B1 (en) 2002-04-26 2014-04-01 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous e-mail operations independent of device failure or disaster
US7246255B1 (en) * 2003-01-17 2007-07-17 Unisys Corporation Method for shortening the resynchronization time following failure in a computer system utilizing separate servers for redundancy
US7155638B1 (en) * 2003-01-17 2006-12-26 Unisys Corporation Clustered computer system utilizing separate servers for redundancy in which the host computers are unaware of the usage of separate servers
US7149923B1 (en) * 2003-01-17 2006-12-12 Unisys Corporation Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy
KR100503796B1 (ko) * 2003-06-05 2005-07-26 삼성전자주식회사 액세스 대기신호 오류 검출방법 및 장치
US20050234961A1 (en) * 2004-04-16 2005-10-20 Pinnacle Systems, Inc. Systems and Methods for providing a proxy for a shared file system
US7284020B2 (en) * 2004-09-01 2007-10-16 Hitachi, Ltd. System and method for data recovery in a storage system
US8856276B2 (en) * 2006-05-11 2014-10-07 International Business Machines Corporation Method, system and program product for collecting web metric data
US7743039B2 (en) * 2006-12-11 2010-06-22 Simdesk Technologies, Inc. File operations with multiple level file locking techniques
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
US8099522B2 (en) 2008-06-09 2012-01-17 International Business Machines Corporation Arrangements for I/O control in a virtualized system
US9218257B2 (en) 2012-05-24 2015-12-22 Stec, Inc. Methods for managing failure of a solid state device in a caching storage
US9612927B1 (en) * 2016-09-14 2017-04-04 International Business Machines Corporation Managing server processes with proxy files

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0789328B2 (ja) * 1988-05-31 1995-09-27 日本電気株式会社 データ処理装置
US5633999A (en) * 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
DE69521101T2 (de) 1994-10-31 2001-10-18 International Business Machines Corp., Armonk Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung
US5621795A (en) * 1994-12-27 1997-04-15 Pitney Bowes Inc. System and method for fault tolerant key management
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
JPH09179823A (ja) * 1995-12-26 1997-07-11 Mitsubishi Electric Corp メッセージ管理装置及び方法
US5828847A (en) * 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US5818448A (en) * 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
JPH10116257A (ja) 1996-10-15 1998-05-06 Nec Corp 分散メディア処理サーバおよび該分散メディア処理サーバを用いた通信ネットワーク
JP3730740B2 (ja) * 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
GB2328044B (en) * 1997-08-01 2002-02-27 Ibm Apparatus,method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
US6101323A (en) * 1998-07-15 2000-08-08 Antrim Design Systems, Inc. Method and apparatus for improvement of sparse matrix evaluation performance

Also Published As

Publication number Publication date
JP2000194678A (ja) 2000-07-14
EP1001343B1 (en) 2003-05-14
DE69907852D1 (de) 2003-06-18
DE69907852T2 (de) 2004-02-26
US6223231B1 (en) 2001-04-24
EP1001343A1 (en) 2000-05-17

Similar Documents

Publication Publication Date Title
JP4885342B2 (ja) クラスタコンピュータシステムにおける高度に利用可能な非同期i/o
EP0950954B1 (en) Method and apparatus for transparent server failover for highly available objects
US5590277A (en) Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
JP3145236B2 (ja) フォールトトレラントコンピューティング装置
US5440726A (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
US6145094A (en) Transaction locks for high availability
US6401216B1 (en) System of performing checkpoint/restart of a parallel program
US6393583B1 (en) Method of performing checkpoint/restart of a parallel program
JP4570312B2 (ja) コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置
US5566297A (en) Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
AU752846B2 (en) Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
KR100423687B1 (ko) 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버
US6266781B1 (en) Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US5659682A (en) Scheme to determine completion of directory operations for server recovery
US6332200B1 (en) Capturing and identifying a complete and consistent set of checkpoint files
CA2344311C (en) Protocol for replicated servers
US5530802A (en) Input sequence reordering method for software failure recovery
US6338147B1 (en) Program products for performing checkpoint/restart of a parallel program
JPH02228744A (ja) データ処理システム
WO2003073278A2 (en) Clustering infrastructure system and method
JP3467750B2 (ja) 分散オブジェクト処理システム
CA2619778C (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
Sens et al. The star fault manager for distributed operating environments. design, implementation and performance
Zhou et al. A system for managing remote procedure call transactions
JPH1125062A (ja) 障害回復システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100402

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100701

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100802

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100805

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110414

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110719

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110812

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111027

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

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

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4885342

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

Year of fee payment: 3

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

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