JP2006277634A - 排他制御方法と情報処理装置 - Google Patents

排他制御方法と情報処理装置 Download PDF

Info

Publication number
JP2006277634A
JP2006277634A JP2005099576A JP2005099576A JP2006277634A JP 2006277634 A JP2006277634 A JP 2006277634A JP 2005099576 A JP2005099576 A JP 2005099576A JP 2005099576 A JP2005099576 A JP 2005099576A JP 2006277634 A JP2006277634 A JP 2006277634A
Authority
JP
Japan
Prior art keywords
shared data
data area
generation
generation information
lock
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.)
Granted
Application number
JP2005099576A
Other languages
English (en)
Other versions
JP5105713B2 (ja
Inventor
Hiroaki Koyama
博昭 小山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005099576A priority Critical patent/JP5105713B2/ja
Priority to US11/388,860 priority patent/US7752399B2/en
Publication of JP2006277634A publication Critical patent/JP2006277634A/ja
Application granted granted Critical
Publication of JP5105713B2 publication Critical patent/JP5105713B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

【課題】参照、更新の一方の実行中であっても、参照、更新の他方にかかる応答時間の短縮を実現可能とする排他制御方法と装置の提供。
【解決手段】排他制御の必要な共有データ領域の管理情報101として排他制御に必要な更新手順用セマフォ102と、共有データ領域の新旧世代を管理するための世代管理用情報103を有し、世代管理用情報103は共有データ領域の世代情報の1つを指示し、世代毎に設けられる世代情報201として、参照数を計測する参照数計測用カウンタ202と、世代情報の更新用セマフォ203と、旧世代情報へのポインタ204と、共有データ領域の実体を指すポインタ205を有し、最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、それに対応するあらたな世代情報を生成し、複製した共有データ領域上のデータを更新し、更新後の共有データ領域に対応する世代情報を最新として登録する。
【選択図】図1

Description

本発明は、情報処理装置に関し、特に排他制御方法と装置に関する。
複数プロセスからの共有リソースへのアクセスに関し、参照アクセスのみの場合、排他制御は不要であるが1つでも更新アクセスが入ると排他制御が必要となる。例えば常に参照されるような共有データで、頻繁に更新が行われるような状況は、頻繁に発生している。排他制御機構は、共有データの一貫性を維持する為、参照、更新は、それぞれの獲得要求が通るまで、待たされる可能性があった。
従来より、「リードライトロック」と呼ばれる排他制御により、同時参照が可能となるように改善されているが、更新が関与するようなケースでは、実行中の処理が完了するまで、必ず待ち合わせが発生する。このため、応答時間が一定とならないことが多かった。リードライトロックと呼ばれるような排他制御では、参照時は、同時に複数のロック獲得要求を許可するが、更新時には、参照者も含めて、獲得要求が許可されるのは、唯、一のみとなる。そのため、更新時のロック中に、参照を行おうとしても、更新時のロックが解放されるまで、ロック獲得が許可されず待たされることとなる。
また、更新を行おうとする場合でも、全ての参照者(参照アクセスを行うプロセス)が、ロックを解放するまで、ロック獲得が許可されず待たされることとなる。
以上のことから、何らかの更新が行われる際には、更新側のプロセスだけでなく、参照側のプロセスにも、必ず、ロック獲得待ちが発生し、処理が滞る事態が発生することになる。このため、処理の効率化、高速化を困難としている。
なお、特許文献1には、シノニム機能を持たないデータベースであっても、更新と参照の排他に要する時間を軽減するデータベース排他制御システムとして、マスタレコードにその世代開始番号および世代終了番号を付加してマスタテーブルに格納するとともに、現在参照可能なマスタレコードの有効世代番号を世代管理テーブルに格納しておき、新たにマスタレコードをマスタテーブルに組み込む場合、マスタレコードの世代開始番号を前記有効世代番号よりも大きくして組み込み、その後にマスタテーブルへの参照を排除して正常終了すれば、マスタレコードの有効世代番号を有効世代番号以上の番号に更新し、排除を解除する構成が開示されている。また特許文献2には、ファイルをブロック単位に排他制御を行い、それまでの更新をロールバックする間、プログラムで更新中のブロックに対応する更新前のブロックを一時保持する保持手段に一時保持したブロックを用いて他のプログラムからの当該ロールバックの対象となるブロックへの参照・更新を可能とし、ロールバックの対象となるブロックの参照・更新をその終了を待たずに優先して行えるようにし、一つのファイルを複数のプログラムで同時に参照・更新する際のプログラムの処理効率を向上させるようにした構成が開示されている。
特開2002−132565号公報 特開2001−344142号公報
本発明の目的は、参照の実行中であっても、更新にかかる応答時間の短縮を実現可能とする排他制御方法と装置並びにプログラムを提供することにある。
本発明の他の目的は、更新の実行中であっても、参照にかかる応答時間の短縮を実現可能とする排他制御方法と装置並びにプログラムを提供することにある。
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクトに係る方法は、排他制御の必要な共有データ領域を有する情報処理装置の排他制御方法であって、排他制御の必要な前記共有データ領域について、参照用とは別に、独立して、更新用の共有データ領域を設け、更新中の参照を妨げないようにし、排他制御の必要な共有データ領域について世代管理を行う、ことを特徴とする。
本発明の他のアスペクトに係る装置は、排他制御の必要な共有データ領域の排他制御を行う排他制御処理手段を有する情報処理装置であって、排他制御の必要な前記共有データ領域について、参照用とは別に、更新用の共有データ領域を備えることで、更新中の参照を妨げないようにし、排他制御の必要な共有データ領域について世代管理を行う手段を備えている。
本発明において、前記情報処理装置は、最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、それに対応するあらたな世代情報を生成し、複製した前記共有データ領域上のデータを更新し、更新後の前記共有データ領域に対応する世代情報を最新として登録する。
本発明において、前記情報処理装置は、排他制御の必要な共有データ領域の管理情報として、排他制御に必要な更新手順用セマフォと、共有データ領域の新旧世代を管理するための世代管理用情報と、を備え、前記世代管理用情報として、世代毎に設けられる共有データの世代情報の1つを指示し、前記世代情報は、共有データ領域へのポインタを有する構成としてもよい。
本発明において、前記情報処理装置は、世代毎に設けられる前記世代情報として、
参照数を計測する参照数計測用カウンタと、
世代情報の更新用セマフォと、
前の世代情報を指すポインタと、
共有データ領域の実体を指すポインタとを有する構成としてもよい。
本発明において、前記共有データ領域の参照用のロックの獲得手順として、最新となる世代情報の更新用セマフォのロックを獲得し、
前記世代情報の参照数計測用カウンタをインクリメントし、
前記世代情報の共有データ領域を指すポインタを取得し、
前記世代情報の更新用セマフォのロックを解放し、
前記共有データ領域の参照用のロックの獲得した前記プロセスは、取得した共有データ領域を必要な期間だけ、参照し続けることが可能とされる。
本発明において、前記共有データ領域の参照用ロック解放手順として、
解放対象となる領域に対応する世代情報の更新用セマフォのロックを獲得し、
前記世代情報の参照数計測用カウンタをデクリメントし、
前記参照数計測用カウンタが零値であり、かつ、解放対象となる共有データ領域が最新ではない、ことの判断結果の真偽を保存し、
解放対象となる共有データ領域に対応する世代情報の更新用セマフォのロックを解放し、
前記判断結果が真である場合、ロック解放対象である、共有データ領域とそれに対応する世代情報を削除し、前記判断結果が偽である場合、終了し、
参照用に取得した共有データ領域のロックを解放する。
本発明において、前記共有データ領域の更新手順として、
前記更新手順用セマフォのロックを獲得し、
前記参照用ロックの獲得手順により、最新の共有データ領域を取得し、
前記共有データ領域の複製を作成し、それに対応する世代情報を生成し、
複製した前記共有データ領域上のデータを更新し、
更新後の共有データ領域に対応する世代情報を最新として登録し、
前記参照用ロック解放手順により、旧世代の共有データ領域の参照状態を解除し、
更新手順用セマフォのロックを解放し、
前記共有データ領域の最新データを使って共有データ領域を更新可能としている。
本発明の他のアスペクトに係るコンピュータプログラムは、コンピュータで読み出し可能な媒体に記憶されるプログラムであって、排他制御を必要とする共有データ領域の排他制御を行うコンピュータに、前記共有データ領域について、参照用とは別に、更新用の共有データ領域を設ける処理と、排他制御の必要な共有データ領域について世代管理を行う処理と、を実行させるプログラムよりなる。
本発明に係るプログラムにおいて、最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、前記複製した共有データ領域に対応するあらたな世代情報を生成する処理と、前記複製した共有データ領域上のデータを更新し、更新後の前記共有データ領域に対応する世代情報を最新として登録する処理とを前記コンピュータに実行させるようにしてもよい。
本発明によれば、参照の実行中であっても、排他制御で待たされることなく、更新にかかる応答時間の短縮を実現可能としている。
また本発明によれば、更新処理の実行中であっても、更新処理の完了を待つことなく、参照処理を開始できるので、参照にかかる応答時間の短縮が実現できる。
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して以下に説明する。まず、本発明の基本的な動作原理を説明しておく。
本発明の基本的な原理としては、
・排他制御の必要な共有データ領域について、参照用とは、別に独立して、更新用にも用意し、更新中の参照を妨げないようにする。
・排他制御の必要な共有データ領域について、世代管理を行い、必要以上に、領域を持たないようにする。
かかる本発明を実現するために、本発明の一実施形態において、排他制御のために用意される情報について説明する。
排他制御が必要とされるデータの管理単位である管理情報として、
(A1)更新手順用のセマフォ;
(A2)共有データ領域の新旧世代を管理するための情報;
が必要となる。
このうち、更新手順用のセマフォは、排他制御に必要な管理情報である。
また、共有データ領域の新旧世代を管理するための情報は、従来技術であれば、共有データそのものとなるところを、本発明では、世代管理を行うために、セマフォと共有データとを分けて管理している。具体的には、共有データ領域の新旧世代を管理するための情報は、世代情報へのポインタとなる。
なお、セマフォとは、一般的に排他制御に使用されるもので、順序保証が求められる区間を、複数、同時に実行されることがないよう制御するためのデータ構造のことである。 同時に、ロックを獲得できるプロセスは唯一であり、一のプロセスがロック獲得中に、他のプロセスが新しいロックを獲得するには、獲得中のロックが解放されるまで待たされる。
また、本発明の一実施形態において、共有データそのものに付随する管理用情報として、好ましくは、以下の情報を有する。
世代毎に必要となる世代情報として、
(B1)参照数計測用カウンタ;
(B2)本世代情報の更新用セマフォ;
(B3)旧世代情報を指すポインタ;
(B4)共有データ領域の実体を指すポインタ;
が必要となる。
このうち、参照数計測用カウンタは、ロックを獲得したもの(プロセス)が存在しない場合、零値をとるものとする。これらの情報を使用して、排他制御の必要なデータを管理する。
なお、本発明において、参照については、複数の参照を同時に実行することが可能であるが、更新における同時実行数は1つとする。
本発明の一実施形態において、ロック獲得手順としては、参照用と更新用の2通り存在し、ロック獲得目的に応じて、情報処理装置の利用者が使い分けるものとする。
参照用のロックの獲得手順は、次の通りである(図4参照)。
ステップS11: 最新となる世代情報の更新用セマフォのロックを獲得する。
ステップS12: 同世代情報の参照数計測用カウンタをインクリメントする。
ステップS13: 同世代情報の共有データ領域を指すポインタを取得する。
ステップS14: 同世代情報の更新用セマフォのロックを解放する。
以上の手順により、取得した共有データ領域を必要な期間、参照し続けることが出来る。
参照用ロック解放手順は次の通りである(図5参照)。
ステップS21: 解放対象となる領域に対応する世代情報の更新用セマフォのロックを獲得する。
ステップS22: 同世代情報の参照数計測用カウンタをデクリメントする。
ステップS23: 以下の判断を行い、判断結果を記憶部(不図示)に保存する。
「ステップS22の処理の結果、参照数計測用カウンタが零値であり、かつ、解放対象となる共有データ領域が最新ではない」
ステップS24: 解放対象となる共有データ領域に対応する世代情報の更新用セマフォのロックを解放する。
ステップS25: ステップS23の判断結果が偽である場合、何もせずに終了となる。
一方、ステップS23の判断結果が真である場合、ステップS26に移行し、ロック解放対象である、共有データ領域とそれに対応する世代情報を削除する。
以上の手順により、参照用に取得した共有データ領域のロックを解放することが出来る。
また、本発明における更新用手順は次の通りである(図6参照)。
ステップS31: 更新手順用セマフォのロックを獲得する。
ステップS32: 前述した参照用ロック獲得手順(図4のステップS11〜S14)により、最新の共有データ領域を取得する。
ステップS33: 共有データ領域の複製を作成し、それに対応する世代情報を生成する。
ステップS34: 複製した共有データ領域上のデータを更新する。
ステップS35: 更新後の共有データ領域に対応する世代情報を最新として登録する。
ステップS36: 前述した参照用ロック解放手順(図5のステップS21〜S26)により、旧データの参照状態を解除する。
ステップS37: 更新手順用セマフォのロックを解放する。
以上の手順により、共有データ領域の最新データを使って、共有データ領域を更新することができる。なお、上記図4乃至図6に示した処理手順は、情報処理装置(不図示)で実行されるプログラムにより実行される。以下実施例に即して説明する。
図1は、本実施例の情報処理装置における排他制御手段の関連情報の初期状態を示す図である。なお、図1は、排他制御手段の要部構成を示した図であり、既存の情報処理装置に実装可能であり、情報処理装置のCPU、メモリ等は示されていない。
管理用情報としては、管理情報101と世代情報201を備え、管理情報101は、更新手順用セマフォ102と、世代管理用情報103を備えている。世代情報201は、参照数計測用カウンタ202、更新用セマフォ203、旧世代情報へのポインタ204、共有データ領域の実体を指すポインタ205を備えている。
本実施例では、共有データ領域の参照は、複数プロセスによる同時実行が可能であるが、更新における同時実行数は、唯一としている。
初期状態としては、ロックを獲得したプロセスが、存在しない場合を想定する。
即ち、
・更新手順用セマフォ102は獲得されていない状態である。
・世代管理用情報103は世代情報201を指す。
・参照数計測用カウンタ202は零値である。
・更新用セマフォ203は獲得されていない状態である。
・旧世代情報へのポインタ204は指す対象が存在しない。
・共有データ領域の実体を指すポインタ205は、共有データ領域301を指すというのが初期状態である。
本実施例におけるロック獲得及び解放として、次の順序で行われるケースについて、実施例として説明する。
ステップ1: 参照用ロック獲得(1)
ステップ2: 参照用ロック獲得(2)
ステップ3: 更新用ロック
ステップ4: 参照用ロック獲得(3)
ステップ5: 参照用ロック解放(2)
ステップ6: 参照用ロック解放(1)
ステップ7: 参照用ロック解放(3)
なお、括弧内の数字は、ロック獲得と解放がそれぞれ対応することを表しており、参照用ロック解放(1)は、参照用ロック獲得(1)に対応している。
ステップ1の参照用ロック獲得(1)では、参照用ロック獲得手順に従って、世代情報201の更新、即ち、
・参照数計測用カウンタ202のインクリメント、及び、
・共有データ領域301の実体を指すポインタ205の返却、
が行われる。
次に、ステップ2において行われる参照用ロック獲得(2)では、同様に、参照用ロック獲得手順に従って、世代情報201の更新、即ち、
・参照数計測用カウンタ202のインクリメント、及び、
・共有データ領域301の実体を指すポインタ205の返却、
が行われる。
次に、ステップ3において行われる更新用ロックでは、更新用手順に従って、
・共有データ領域311(図2参照)と世代情報211(図2参照)の作成、及び、
・管理情報101の更新、
が行われる。
この時点で、図2に示す状態に置き換わることになる。即ち、世代管理用情報103は、最新となる世代情報211を指すように、旧世代情報へのポインタ214は、世代情報201を指すように再設定される。
次に、上記ステップ4において行われる参照用ロック獲得(3)では、参照用ロック獲得手順に従って、最新の世代情報211の更新、即ち、
・参照数計測用カウンタ212のインクリメント、及び、
・共有データ領域311の実体を指すポインタ215の返却、
が行われる。
次に、ステップ5において行われる参照用ロック解放(2)では、上記ステップ2において獲得したロックの解放を行う。
参照用ロック解放手順に従って、
・世代情報201の更新、即ち、参照数計測用カウンタ202のデクリメント、
が行われる。
この時点では、参照数計測用カウンタ202は零値ではないので、共有データ領域301と世代情報201の削除は行われない。
次に、上記ステップ6において行われる参照用ロック解放(1)では、上記ステップ1において獲得したロックの解放を行う。
参照用ロック解放手順に従って、世代情報201の更新、即ち、参照数計測用カウンタ202のデクリメントを行う。
ここで、
・参照数計測用カウンタ202はデクリメントの結果、カウント値は零値である、及び、
・世代情報201が最新でない、
ことから、共有データ領域301と世代情報201の削除も併せて行われる。この結果、図3に示す状態に置き換わることになる。
次に、ステップ7において行われる参照用ロック解放(3)では、ステップ4において獲得したロックの解放を行う。
参照用ロック解放手順に従って、世代情報211の更新、即ち、参照数計測用カウンタ212のデクリメントを行う。
この時点で、参照数計測用カウンタ212のカウント値は零値となるが、世代情報211が最新であることから、共有データ領域311と世代情報211の削除は行われない。
本実施例に示したように、参照の実行中であっても、排他制御で待たされることなく更新処理が続行できるので、更新にかかる応答時間の短縮が実現できる。また、逆のケース、即ち更新処理の実行中であっても、更新処理の完了を待つことなく、参照処理を開始できるので、参照にかかる応答時間の短縮が実現できる。
つまり、最小処理の応答性を、常に、一定のレベルに保ち、応答性能の向上と安定に寄与することが出来る。
本発明によれば、例えば、テーブル中の行単位でロックを行うリレーショナルデータベースのレコードを参照・更新するような場合に適用することができる。また、参照と更新の順序関係で強い制約がない場合には、より大きな効果を得ることが出来る。
以上本発明を上記実施形態に即して説明したが、本発明は上記実施形態の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施例を模式的に説明するための図である。 本発明の一実施例を模式的に説明するための図である。 本発明の一実施例を模式的に説明するための図である。 本発明における参照用ロック獲得手順の一例を示す流れ図である。 本発明における参照用ロック解放手順の一例を示す流れ図である。 本発明における更新用手順の一例を示す流れ図である。
符号の説明
101 管理情報
102 更新手順用セマフォ
103 世代管理用情報
201、211 世代情報
202、212 参照数計測用カウンタ
203、213 更新用セマフォ
204、214 旧世代情報へのポインタ
205、215 共有データ領域の実体を指すポインタ
301、311 共有データ領域

Claims (16)

  1. 排他制御の必要な共有データ領域を有する情報処理装置の排他制御方法であって、
    前記共有データ領域について、参照用とは別に、更新用の共有データ領域を設ける工程と、
    排他制御の必要な共有データ領域について世代管理を行う工程と、
    を含む、ことを特徴とする排他制御方法。
  2. 前記情報処理装置において、最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、前記複製した共有データ領域に対応する新たな世代情報を生成する工程と、
    前記複製した共有データ領域上のデータを更新し、更新後の前記共有データ領域に対応する世代情報を最新として登録する工程と、
    を含む、ことを特徴とする請求項1記載の排他制御方法。
  3. 前記情報処理装置は、排他制御の必要な共有データ領域の管理情報として、排他制御に必要な更新手順用セマフォと、共有データ領域の新旧世代を管理するための世代管理用情報と、
    を有し、
    前記世代管理用情報として、世代毎に設けられる共有データ領域の世代情報の1つを指示し、
    前記世代情報は、共有データ領域へのポインタを有する、ことを特徴とする請求項1又は2記載の排他制御方法。
  4. 前記情報処理装置は、世代毎に設けられる前記世代情報として、
    参照数を計測する参照数計測用カウンタと、
    世代情報の更新用セマフォと、
    旧世代情報を指すポインタと、
    共有データ領域の実体を指すポインタと、
    を有する、ことを特徴とする請求項3記載の排他制御方法。
  5. 前記共有データ領域の参照用のロック獲得手順として、
    最新となる世代情報の更新用セマフォのロックを獲得し、
    前記世代情報の参照数計測用カウンタをインクリメントし、
    前記世代情報の共有データ領域を指すポインタを取得し、
    前記世代情報の更新用セマフォのロックを解放し、
    前記共有データ領域の参照用のロックを獲得したプロセスは、取得した共有データ領域を必要な期間、参照し続けることが可能とされる、ことを特徴とする請求項4記載の排他制御方法。
  6. 前記共有データ領域の参照用ロック解放手順として、
    解放対象となる領域に対応する世代情報の更新用セマフォのロックを獲得し、
    前記世代情報の参照数計測用カウンタをデクリメントし、
    前記参照数計測用カウンタが零値であり、かつ、解放対象となる共有データ領域が最新ではない、ことの判断結果の真偽を保存し、
    解放対象となる共有データ領域に対応する世代情報の更新用セマフォのロックを解放し、
    前記判断結果が真である場合、ロック解放対象である共有データ領域と、前記共有データ領域に対応する世代情報を削除し、前記判断結果が偽である場合、終了し、
    プロセスが参照用に取得した共有データ領域のロックを解放する、ことを特徴とする請求項4又は5記載の排他制御方法。
  7. 前記共有データ領域の更新手順として、
    前記更新手順用セマフォのロックを獲得し、
    前記参照用ロックの獲得手順により、最新の共有データ領域を取得し、
    前記共有データ領域の複製を作成し、前記複製した共有データ領域に対応する世代情報を生成し、
    前記複製した共有データ領域上のデータを更新し、
    更新後の共有データ領域に対応する世代情報を最新として登録し、
    前記参照用ロック解放手順により、旧世代の共有データ領域の参照状態を解除し、
    更新手順用セマフォのロックを解放し、
    前記共有データ領域の最新データを使って共有データ領域を更新可能としてなる、ことを特徴とする請求項4乃至6のいずれか一に記載の排他制御方法。
  8. 排他制御を必要とする共有データ領域の排他制御を行う手段を備えた情報処理装置であって、
    前記共有データ領域について、参照用とは別に、更新用の共有データ領域を設ける手段と、
    排他制御の必要な共有データ領域について世代管理を行う手段と、
    を備えている、ことを特徴とする情報処理装置。
  9. 最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、前記複製した共有データ領域に対応する新たな世代情報を生成する手段と、
    前記複製した共有データ領域上のデータを更新し、更新後の前記共有データ領域に対応する世代情報を最新として登録する手段を備えている、ことを特徴とする請求項8記載の情報処理装置。
  10. 排他制御の必要な共有データ領域の管理情報として、排他制御に必要な更新手順用セマフォと、共有データ領域の新旧世代を管理するための世代管理用情報と、
    を備え、
    前記世代管理用情報は、世代毎に設けられる共有データ領域の世代情報の1つを指示し、
    前記世代情報は、前記共有データ領域へのポインタを有する、ことを特徴とする請求項8又は9記載の情報処理装置。
  11. 世代毎に設けられる前記世代情報として、
    参照数を計測する参照数計測用カウンタと、
    世代情報の更新用セマフォと、
    旧世代情報を指すポインタと、
    共有データ領域の実体を指すポインタと、
    を有する、ことを特徴とする請求項10記載の情報処理装置。
  12. 前記共有データ領域の参照用のロックの獲得手順として、
    最新となる世代情報の更新用セマフォのロックを獲得し、
    前記世代情報の参照数計測用カウンタをインクリメントし、
    前記世代情報の共有データ領域を指すポインタを取得し、
    前記世代情報の更新用セマフォのロックを解放し、
    前記共有データ領域の参照用のロックを獲得した前記プロセスは、取得した共有データ領域を必要な期間、参照し続けることが可能とされる、ことを特徴とする請求項11記載の情報処理装置。
  13. 前記共有データ領域の参照用ロック解放手順として、
    解放対象となる領域に対応する世代情報の更新用セマフォのロックを獲得し、
    前記世代情報の参照数計測用カウンタをデクリメントし、
    前記参照数計測用カウンタが零値であり、かつ、解放対象となる共有データ領域が最新ではない、ことの判断結果の真偽を保存し、
    解放対象となる共有データ領域に対応する世代情報の更新用セマフォのロックを解放し、
    前記判断結果が真である場合、ロック解放対象である、共有データ領域とそれに対応する世代情報を削除し、前記判断結果が偽である場合、終了し、
    プロセスが参照用に取得した共有データ領域のロックを解放する、ことを特徴とする請求項11又は12記載の情報処理装置。
  14. 前記共有データ領域の更新手順として、
    前記更新手順用セマフォのロックを獲得し、
    前記参照用ロックの獲得手順により、最新の共有データ領域を取得し、
    前記共有データ領域の複製を作成し、前記複製した共有データ領域に対応する世代情報を生成し、
    前記複製した共有データ領域上のデータを更新し、
    更新後の共有データ領域に対応する世代情報を最新として登録し、
    前記参照用ロック解放手順により、旧世代の共有データ領域の参照状態を解除し、
    更新手順用セマフォのロックを解放し、
    プロセスは、共有データ領域を更新するときに、前記共有データ領域の最新データを使って更新可能としてなる、ことを特徴とする請求項11乃至13のいずれか一に記載の情報処理装置。
  15. 排他制御を必要とする共有データ領域の排他制御を行うコンピュータに、
    前記共有データ領域について、参照用とは別に、更新用の共有データ領域を設ける処理と、
    排他制御の必要な共有データ領域について世代管理を行う処理と、
    を実行させるプログラム。
  16. 請求項15記載のプログラムにおいて、最新の共有データを更新する場合、最新の共有データ領域の複製を作成し、前記複製した共有データ領域に対応する新たな世代情報を生成する処理と、
    前記複製した共有データ領域上のデータを更新し、更新後の前記共有データ領域に対応する世代情報を最新として登録する処理と、
    を前記コンピュータに実行させるプログラム。
JP2005099576A 2005-03-30 2005-03-30 情報処理装置 Expired - Fee Related JP5105713B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005099576A JP5105713B2 (ja) 2005-03-30 2005-03-30 情報処理装置
US11/388,860 US7752399B2 (en) 2005-03-30 2006-03-24 Exclusion control method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005099576A JP5105713B2 (ja) 2005-03-30 2005-03-30 情報処理装置

Publications (2)

Publication Number Publication Date
JP2006277634A true JP2006277634A (ja) 2006-10-12
JP5105713B2 JP5105713B2 (ja) 2012-12-26

Family

ID=37072054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005099576A Expired - Fee Related JP5105713B2 (ja) 2005-03-30 2005-03-30 情報処理装置

Country Status (2)

Country Link
US (1) US7752399B2 (ja)
JP (1) JP5105713B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110063A (ja) * 2007-10-26 2009-05-21 Toyota Motor Corp 記憶装置、情報処理装置、データアクセス方法、プログラム
JP2010277347A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 業務排他管理装置及び業務排他管理プログラム
JP2015230689A (ja) * 2014-06-06 2015-12-21 株式会社東芝 データベース装置およびデータアクセス方法
WO2018055907A1 (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2450538A (en) * 2007-06-28 2008-12-31 Symbian Software Ltd Copying computer files when manipulation is requested
US8909601B2 (en) * 2007-11-13 2014-12-09 Oracle America, Inc. System and method for implementing shared scalable nonzero indicators
US20090327904A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Presenting dynamic folders

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211140A (ja) * 1988-02-16 1989-08-24 Internatl Business Mach Corp <Ibm> データ資源アクセス方法
JPH03130834A (ja) * 1989-10-17 1991-06-04 Nec Corp テーブル排他制御方式
JPH08328933A (ja) * 1995-05-30 1996-12-13 Nec Corp 並列処理システムのファイルアクセス制御方式
JPH1185597A (ja) * 1997-09-04 1999-03-30 Fuji Electric Co Ltd 階層化された複数オブジェクトのロック制御方法
JPH11232162A (ja) * 1998-02-19 1999-08-27 Fujitsu Ltd ガベージコレクション方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US6823511B1 (en) * 2000-01-10 2004-11-23 International Business Machines Corporation Reader-writer lock for multiprocessor systems
JP2001344142A (ja) 2000-05-31 2001-12-14 Nec Corp マルチプログラム処理装置及びそれに用いるファイルのロールバック方式
JP2002132565A (ja) 2000-10-24 2002-05-10 Nec Soft Ltd データベース排他制御システム
US20050086656A1 (en) * 2003-10-20 2005-04-21 Gemstone Systems, Inc. Methods and systems for inter-process copy sharing of data objects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211140A (ja) * 1988-02-16 1989-08-24 Internatl Business Mach Corp <Ibm> データ資源アクセス方法
JPH03130834A (ja) * 1989-10-17 1991-06-04 Nec Corp テーブル排他制御方式
JPH08328933A (ja) * 1995-05-30 1996-12-13 Nec Corp 並列処理システムのファイルアクセス制御方式
JPH1185597A (ja) * 1997-09-04 1999-03-30 Fuji Electric Co Ltd 階層化された複数オブジェクトのロック制御方法
JPH11232162A (ja) * 1998-02-19 1999-08-27 Fujitsu Ltd ガベージコレクション方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110063A (ja) * 2007-10-26 2009-05-21 Toyota Motor Corp 記憶装置、情報処理装置、データアクセス方法、プログラム
JP2010277347A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 業務排他管理装置及び業務排他管理プログラム
JP2015230689A (ja) * 2014-06-06 2015-12-21 株式会社東芝 データベース装置およびデータアクセス方法
WO2018055907A1 (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム
JP2018049405A (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Also Published As

Publication number Publication date
JP5105713B2 (ja) 2012-12-26
US20060224949A1 (en) 2006-10-05
US7752399B2 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
JP5105713B2 (ja) 情報処理装置
CN100422940C (zh) 在数据处理系统中仲裁线程访问共享资源的系统和方法
US20050273474A1 (en) Method and system for data processing with data replication for the same
WO2017028688A1 (zh) 文件读写方法、装置和系统
JP2009259009A (ja) トランザクションの実行を制御する装置及び方法
JP2006012153A (ja) 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization)
JP2000284995A (ja) データ処理装置及び記録媒体
JPH09503328A (ja) 非同期に順序付けされた動作を行うコンピュータ方法及び装置
JP2006072986A (ja) データストアに対して動的に生成されるオペレーションを検証すること
US20070214195A1 (en) Idempotent journal mechanism for file system
JP2013526750A (ja) オブジェクトの共有および同期
JP2007305029A (ja) リアルタイムosにおける処理時間配分方法
JP2008287548A (ja) データベースの制御方法及びプログラム
JP2006107519A (ja) バージョンストアのリソース使用を制限する方法およびシステム
TW201015441A (en) Central processing unit measurement facility
TWI226549B (en) High-performance lock management for flash copy in n-way shared storage systems
JP2004318288A (ja) データ処理方法および装置ならびにその処理プログラム
JP5818824B2 (ja) デュアル・モード・リーダ・ライタ・ロック
US7743271B2 (en) Use of a UUID as a time epoch to determine if the system clock has been reset backwards in time
JPH1063557A (ja) 分散ファイルの同期方式
JP2006228060A (ja) ディレクトリ更新方法及びディレクトリ更新プログラム、並びに、木構造型データ記憶装置
CN109791541B (zh) 日志序列号生成方法、装置及可读存储介质
Abduljalil et al. A new secure 2PL real-time concurrency control algorithm (ES2PL)
JP6036692B2 (ja) 情報処理装置、情報処理システム、情報処理方法および制御プログラム記録媒体
JP2003150431A (ja) サーバ装置及びこれを用いたプラント制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110601

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110609

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110715

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees