必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成21年度秋季問題一覧
  4. 平成21年度秋季問題31-解答・解説-分析

平成21年度秋季問題

問題31

分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切 なものはどれか。

参加者は、フェーズ1で調停者にコミット了解の応答を返してしまえば、フェーズ2のコミット要求を受信していなくても、ローカルにコミット処理を進められる。
調停者に障害が発生するタイミングによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。
一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。
フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。

分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切 なものはどれか。

参加者は、フェーズ1で調停者にコミット了解の応答を返してしまえば、フェーズ2のコミット要求を受信していなくても、ローカルにコミット処理を進められる。
調停者に障害が発生するタイミングによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。
一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。
フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。

解答:イ

<解説>

2層コミットプロトコルは一つのトランザクションが複数のサイトの更新を行う場合に整合性をとるため、すべてのサイトからのコミット応答を確認した後でなければコミット指示を出さない方式である。以下の手順で行われる。

  1. 調停者が参加者に対し更新を指示する。
    ⇒ フェーズ1
  2. 参加者はコミットまたはロールバックのいずれかの応答を調停者に返す。
  3. 参加者からの応答により調停者はコミット指示またはロールバック指示を参加者に対して出す。
    ⇒フェーズ2
  4. すべての参加者からのコミット応答があった場合だけ,参加者に対しコミットを指示しデータベースの更新を行う。一方,参加者から一つでもロールバックの応答があった場合,すべての参加者に対してロールバックの指示を出す。
× 参加者は、フェーズ2のコミット要求を受信しなければ、コミット処理を進められない。
参加者は調停者の要求がない限り更新処理を実行できない。したがって調停者に障害が発生した場合には最悪、参加者全員がコミットもロールバックも行えない事態が起こる。
× 一つの分散トランザクションに複数の調停者及び参加者は存在しえない。
× フェーズ1で返答のない参加者が存在する場合、調停者はそのトランザクションをコミットすることができない。