特許
J-GLOBAL ID:200903028068578946
クリティカルセクションをトランザクション的に実行することによるロックの回避
発明者:
,
,
出願人/特許権者:
代理人 (3件):
山本 秀策
, 安村 高明
, 森下 夏樹
公報種別:公表公報
出願番号(国際出願番号):特願2008-524994
公開番号(公開出願番号):特表2009-508187
出願日: 2006年07月21日
公開日(公表日): 2009年02月26日
要約:
クリティカルセクションをトランザクション的に実行することでロックを回避するシステムは、以下のようにプログラムを修正する。(1)クリティカルセクションのトランザクション的実行中に、プログラムはまずクリティカルセクションに関連するロックが別の処理によって保持されているか否かを決定し、保持されている場合にはトランザクション的実行を打ち切る。(2)トランザクション的実行が別の処理からの干渉的データアクセスに遭遇することなく完了する場合には、プログラムはトランザクション的実行中に作成された変更をコミットし、クリティカルセクションの後のプログラムの通常の非トランザクション的実行を任意で再開する。(3)トランザクション的実行中に別の処理からの干渉的データアクセスに遭遇する場合には、プログラムはトランザクション的実行中に作成された変更を破棄し、クリティカルセクションの再実行を試みる。
請求項(抜粋):
クリティカルセクションをトランザクション的に実行することによってロックを回避するようにプログラムを修正するための方法であって、該方法は、
ロックによって保護される一つ以上のクリティカルセクションを含むプログラムを受信するステップと、
該クリティカルセクションと関連するロックを獲得することなく、ロックによって保護される該クリティカルセクションがトランザクション的に実行されるように、該プログラムを修正するステップと、
を包含し、
該プログラムは、
クリティカルセクションのトランザクション的実行中に、該プログラムはまず、該クリティカルセクションと関連するロックが別の処理によって保持されているか否かを決定し、保持されている場合には、該トランザクション的実行を打ち切り、
該クリティカルセクションの該トランザクション的実行が、別の処理からの干渉的データアクセスに遭遇せずに完了する場合には、該プログラムは、該トランザクション的実行中に作成された変更をコミットし、該クリティカルセクションの後の該プログラムの通常の非トランザクション的実行を任意で再開し、
該クリティカルセクションの該トランザクション的実行中に、別の処理からの干渉的データアクセスに遭遇する場合には、該プログラムは、該トランザクション的実行中に作成された変更を破棄し、該クリティカルセクションを再実行するようにゼロ以上の回数試みる、
ように修正される、
方法。
IPC (2件):
FI (5件):
G06F9/46 472B
, G06F12/08 531B
, G06F12/08 531F
, G06F12/08 563
, G06F12/08 519E
Fターム (7件):
5B005JJ11
, 5B005KK13
, 5B005KK22
, 5B005MM01
, 5B005NN71
, 5B005PP28
, 5B005UU32
引用文献:
前のページに戻る