JP3013343B2 - ジャーナル一括処理方式 - Google Patents
ジャーナル一括処理方式Info
- Publication number
- JP3013343B2 JP3013343B2 JP7068592A JP6859295A JP3013343B2 JP 3013343 B2 JP3013343 B2 JP 3013343B2 JP 7068592 A JP7068592 A JP 7068592A JP 6859295 A JP6859295 A JP 6859295A JP 3013343 B2 JP3013343 B2 JP 3013343B2
- Authority
- JP
- Japan
- Prior art keywords
- journal
- output
- thread
- processing
- journal data
- 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 - Fee Related
Links
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
システムなどにおいて、複数トランザクションのジャー
ナルデータを一括して取得するための方式に関する。
ムにおいては、保持するデータベースやファイル等の資
源の信頼性を確保するため、トランザクションのコミッ
トにより資源の内容を変更する度に、その変更内容をジ
ャーナルデータとして磁気ディスクなどのストレージに
記録している。
るジャーナルデータの記録処理(ジャーナル取得処理)
は、ジャーナルデータを確実に記録していくことに重点
がおかれているため、トランザクションコミットの都度
に逐次的に行われている。そのため、ジャーナル取得処
理はコミットされたトランザクション個数に等しい回数
だけ行われることになる。
ステムでは、逐次的にジャーナル取得処理を行うため、
ストレージへのデータ出力回数が多くなり、よって、1
トランザクション当たりの実質的なジャーナル取得時間
が長くなる。多くの場合、ジャーナル取得時間によって
トランザクション処理のスループットが決定されるの
で、従来システムではジャーナル取得時間が長いため
に、スループットが低いという問題がある。
ン処理システムにおいて、トランザクションコミット時
の1トランザクション当たりの実質的なジャーナル取得
時間を短縮し、トランザクション処理のスループットを
高めることのできるジャーナル一括処理方式を提供する
ことにある。
処理方式は、随時に到来する複数のジャーナルデータを
並行的に受信するための複数のジャーナル処理スレッド
を備える。そして、各ジャーナル処理スレッドは、他の
ジャーナル処理スレッドがストレージへの出力権を取得
してない条件下で、出力権を取得する出力権取得手段
と、他のジャーナル処理スレッドがストレージへのジャ
ーナルデータの出力を実行中か否かチェックする出力チ
ェック手段と、出力権を取得した場合、他のジャーナル
処理スレッドにより実行された出力が完了した時点で、
いずれかのジャーナル処理スレッドによって既に受信済
みである未出力のジャーナルデータを、一括してストレ
ージに出力する一括出力手段とを有する。
式によって実行されるジャーナル一括処理方法も提供す
る。
ンのジャーナルデータが次々と連続的に到来した場合、
それに呼応して複数のジャーナル処理スレッドが次々と
起動して、それらジャーナルデータを並行的に受信す
る。続いて、それら複数のジャーナル処理スレッドは、
それぞれ、ストレージへのジャーナルデータの出力権を
取得することを試みる。
する。出力権を取得したスレッドは、既に他のスレッド
によるストレージへのジャーナル出力が実行中であるか
否かをチェックし、実行中であればその出力が終わるま
で待ち、その出力が終わった時点で、それまでに何れか
のスレッドによって受信された未出力のジャーナルデー
タを、一括してストレージに出力する。
ャーナルデータが到来する度に、別のスレッドが起動し
てこれを受信している。その後、それら別のスレッドの
うちの一つが出力権を取得し、上記一括出力が終了した
段階で、その一括出力中に受信された上記後続のジャー
ナルデータを、再び一括してストレージに出力する。
ルデータが一括してストレージに出力されている間に、
後続のジャーナルデータが受信されており、その先のデ
ータの出力処理が完了すると直ちに、後続の受信済デー
タの一括出力処理が開始され、この出力処理の間に、更
に後続のデータの受信が行われる、という動作が繰り返
される。
置の一実施例の構成を示す。
イルを格納した磁気ディスク3を備え、図示しない外部
のトランザクション処理装置から個々のトランザクショ
ンのジャーナル電文を受信して、その受信電文に含まれ
るジャーナルデータを磁気ディスク3内のジャーナルフ
ァイルに取得する処理を行う。
ル処理の制御形態としてマルチスレッド方式が採用さ
れ、複数のジャーナル電文が連続的に到来した場合、各
ジャーナル電文の到来の度にその電文の処理を受け持つ
ジャーナル処理スレッド5-1(…、5-M)が次々に起動
して、各々のジャーナル処理を互いに並行して進める。
表7が用意されている。この制御表7は、起動したジャ
ーナル処理スレッド5-1(…、5-M)の各々に割当てら
れたエリアを有し、各エリアは、ジャーナルバッファ9
-1(9-2、…、9-N)と完了フラグ11-1(11-2、
…、11-N)とから構成される。図1の例では、2つの
ジャーナル処理スレッド5-1、5-Mが起動しており、一
方のジャーナル処理スレッド5-1には制御表7の最初の
エリア(ジャーナルバッファ9-1と完了フラグ11-1)
が割当てられ、他方のジャーナル処理スレッド5-Mには
2番目のエリア(ジャーナルバッファ9-2と完了フラグ
11-2)が割当てられている。
N)は、受信したジャーナル電文に含まれるジャーナル
データを一時的に保持するためのバッファメモリであ
る。完了フラグ11-1(11-2、…、11-N)は、受信
したジャーナル電文に基づくジャーナル取得処理の進行
段階を示すためのフラグであり、次の4種類の段階を示
すことができる。即ち、ジャーナルデータのジャーナル
バッファ9への書込中を意味する「書込中」と、ジャー
ナルバッファ9への書込完了を意味する「書込完了」
と、ジャーナルバッファ9から磁気ディスク3への出力
中を意味する「出力中」と、磁気ディスク3への出力完
了を意味する「出力完了」の4段階である。
た、出力トランザクション取得のロック変数13、出力
権取得のロック変数14及び出力権取得の許可フラグ1
5が用意されている。ここで、出力トランザクション取
得のロック変数13とは、或るジャーナル処理スレッド
5が完了フラグ11をチェックする際に、他のジャーナ
ル処理スレッドによって完了フラグ11が書き換えられ
ないよう、他のスレッドに対し書き換えを禁止(ロッ
ク)するための制御変数である。また、出力権取得のロ
ック変数14とは、或るジャーナル処理スレッド5が出
力権取得の許可フラグ15チェックする際に、他のジャ
ーナル処理スレッドによって許可フラグ15がき換えら
れないよう、他のスレッドに対し書き換えを禁止(ロッ
ク)するための制御変数である。また、出力権取得の許
可フラグ15とは、ジャーナルバッファ9内のジャーナ
ルを磁気ディスク3に出力する権利(出力権)を任意の
ジャーナル処理スレッド5が取得できるか否かを表示し
たフラグであり、その値が「許可」であれば、出力権が
取得できることを意味し、「不許可」であれば、出力権
が取得できないことを意味する。
ド5-1、5-Mを例にとり、その概略動作を説明する。
のトランザクションのコミットが発行されると、そのジ
ャーナル電文がジャーナル処理装置1に到来し(S
1)、これに応答してジャーナル処理スレッド5-1が起
動する。ジャーナル処理スレッド5-1は、まず、対応す
る完了フラグ11-1を「書込中」にセットした上で、対
応するジャーナルバッファ9-1にジャーナルデータを書
込み(S2)、この書込が完了すると、出力トランザク
ション取得のロック変数13をロックにセットした上で
完了フラグ11-1を「書込完了」にセットし、そしてロ
ック変数13を再びアンロックに戻す。
が発行されると、別のジャーナル電文が到来し(S
2)、これに応答して別のジャーナル処理スレッド5-M
が起動し、対応するジャーナルバッファ9-2にジャーナ
ルデータを書込む(S4)。この後発のジャーナル処理
スレッド5-Mの動作は、先発のジャーナル処理スレッド
5-1の動作と並行して行われる。
ャーナルデータ書込完了後、出力トランザクション取得
のロック変数13をロックにセットした上で、完了フラ
グ11-1をチェックし(S5)、「書込完了」であるこ
とを確認すると、出力権の取得を試みる。即ち、先ず、
出力権取得のロック変数をロックにセットした上で、出
力権取得の許可フラグ15をチェックし(S6)、それ
が「許可」であれば、ジャーナル処理スレッド5-1は出
力権を獲得する。出力権を獲得すると、ジャーナル処理
スレッド5-1は許可フラグ15を「不許可」にセット
し、且つロック変数13、14を一旦アンロックに戻
す。
発のジャーナル処理スレッド5-Mも同様に出力権取得を
試みる。しかし、既に許可フラグ15が「不許可」であ
るため、ジャーナル処理スレッド5-Mは出力権を取得で
きず、出力権を取得したジャーナル処理スレッド5-1か
らの出力完了通知を待つ状態となる。
レッド5-1は、制御表7内の全ての完了フラグ11-1、
11-2、…、11-Nをチェックして、「書込完了」とな
っている全てのジャーナルバッファ11-1、11-2を選
び、それらを「出力中」に変更する(S7)。続いて、
ジャーナル処理スレッド5-1は、許可フラグ15を許可
に戻し、そして、選んだジャーナルバッファ11-1、1
1-2のジャーナルデータを一括して磁気ディスク3に出
力する(S8)。この磁気ディスク3への一括出力が完
了すると、ジャーナル処理スレッド5-1は、完了フラグ
11-1、11-2を「出力完了」にセットすると共に、ジ
ャーナル処理スレッド5-Mに対して出力完了通知を送
る。
来すると、複数のジャーナル処理スレッドが起動して並
行的に複数のジャーナルデータをバッファに書込むと共
に、それら複数のスレッドの内の一つが出力権を取得し
て、バッファに並行的に書込まれた複数のジャーナルデ
ータを一括して磁気ディスク3に出力する。その結果、
1トランザクション当たりのジャーナル取得処理が非常
に短時間で完了することになる。
(…、5-M)が、ジャーナルデータの書込完了後に行う
処理の流れを詳細に示したものである。
ド5-1、5-Mを例にとり、図2を参照してその動作を詳
細に説明する。
ッド5-1は、ジャーナルバッファ9-1へのジャーナルデ
ータの書込が完了すると、完了フラグ11-1を「書込完
了」にセットする。この状態から、図2に示すように、
ジャーナル処理スレッド5-1は、まず、出力トランザク
ション取得のロック変数13をロックした上で(時刻T
1)、完了フラグ11-1をチェックする(S11)。そ
の結果は「書込完了」であるから、次にジャーナル処理
スレッド5-1は、出力権取得の変数14をロックした上
で、出力権が取得できるか否かを出力権取得の許可フラ
グ15を参照して判断する(S12)。
先に出力権を取得してなければ、許可フラグ13は「許
可」となっているため、ジャーナル処理スレッド5-1は
出力権を取得できることができる。そこで、ジャーナル
処理スレッド5-1は、許可フラグ15を「不許可」にセ
ットすることで出力権を取得し、そして、ロック変数1
3、14を一旦アンロックに戻す(時刻T2)。
のジャーナル処理スレッドが磁気ディスク3にジャーナ
ルデータを出力中か否かをチェックし(S13)、出力
中であればその出力完了を待ってから(S14)、ま
た、出力中でなければ直ちに、ロック変数13、14を
再度ロックした上で、制御表7内の全ての完了フラグ1
1-1、11-2、…、11-Nをチェックして、「書込完
了」のものを全て選択して「出力中」に変更し(S1
5)、続いて、許可フラグ15を「許可」に戻し、且
つ、ロック変数13、14を再びアンロックに戻す(時
刻T3)。
先程「出力中」に変更した完了フラグに対応するジャー
ナルバッファのジャーナルデータを全て一括して磁気デ
ィスク3に出力する(S16)。そして、この出力が完
了すると、ジャーナル処理スレッド5-1は、出力トラン
ザクション取得のロック変数13をロックした上で、一
括出力したジャーナルデータの完了フラグを「出力完
了」にセットし、再びロック変数13をアンロックに戻
し、且つ、出力完了通知を待っているた他のジャーナル
処理スレッドに対し出力完了通知を発行して、自身の処
理を終了する。
は、自身のジャーナルデータの書込が完了すると、上記
と同様に先ず、出力トランザクション取得のロック変数
13をロックしようとする。その場合、先発のジャーナ
ル処理スレッド5-1がステップS12後にロック変数1
3、14をアンロックするまで待ってから、ジャーナル
処理スレッド5-Mはロック変数13をロックし、続い
て、完了フラグ11-2をチェックする(S11)。その
結果「書込完了」であれば、ジャーナル処理スレッド5
-Mは、出力権取得のロック変数14をロックした上で、
書込権の取得を試みる(S12)。しかし、この場合、
先発のジャーナル処理スレッド5-1が既に書込権を取得
して許可フラグ15が「不許可」であるため、ジャーナ
ル処理スレッド5-Mは書込権を取得できず、ロック変数
13、14をアンロックに戻した上で、出力完了通知待
ちとなる(S19)。
-Mが待ち状態になると、先発のジャーナル処理スレッド
5-1がジャーナル処理スレッド5-Mの分まで一括してジ
ャーナル出力を行って、出力完了通知を返送してくる。
この通知を受けると、ジャーナル処理スレッド5-Mは自
身の処理を終了する。
ドが存在していたとする。もし、この3番目のジャーナ
ル処理スレッドが自身のジャーナルデータ書込が完了し
た時点で、既に最先発のジャーナル処理スレッド5-1が
ステップS15に進んだとすると、この3番目のスレッ
ドが受信したジャーナルデータも、最先発のジャーナル
処理スレッド5-1によって磁気ディスク3に一括出力さ
れることになる。その場合には、この3番目のスレッド
は、ステップS11で完了フラグをチェックした段階
で、完了フラグが「出力中」となっているため、ステッ
プS18からS19へと進んでジャーナル処理スレッド
5-1からの出力完了通知を待ち、通知を受けると処理を
終了する。また、タイミングによっては、ステップS1
8の段階で完了フラグが「出力完了」となるケースもあ
り、この場合には、直ちに処理を終了する。
ャーナル処理装置1によって実行されるジャーナル取得
処理の具体例を段階的に詳細に示したものである。以
下、順に説明する。
ザクションのコミットが連続的に発行され、これに呼応
して3つのスレッド5-1、5-2、5-3が、第1スレッド
5-1→第3スレッド5-3→第2スレッド5-2の順で起動
したとする。そして、現在、最先発の第1スレッド5-1
はジャーナル書込を完了して、図2の時刻T1の状態に
あるとする。
ンザクション取得の変数13をロックしたため、次に、
磁気ディスク3への出力権を取得しようとしている(S
11、S12)。次発の第3スレッド5-3も、既にジャ
ーナルデータの書込を完了しているが、出力トランザク
ション取得の変数13がロックできないため、第1スレ
ッド5-1がこの変数13をアンロックするまで待機して
いる。
ナルデータを受信中(書込中)である。この書込処理
は、第1及び第3スレッド5-1、5-3の動作と並行して
行われている。
権を取得して、出力トランザクション取得の変数13と
出力権取得の変数14をアンロックにした図2の時刻T
2の状態を示す。
ッド5-1は、2つの変数13、14をアンロックにした
後、磁気ディスク3への出力が可能か否かをチェックし
ている(S13、S14)。次発の第3スレッド5-3
は、出力トランザクション取得の変数を13をロックで
きたが、磁気ディスク3への出力権が得られないので、
第1スレッド5-1からの出力完了通知が来るのを待って
いる(S19)。
タの受信中であり、この処理は他のスレッドの処理と並
行して行われている。
が発行されたため、第4スレッド5-4が起動して、ジャ
ーナルデータを受信している。この処理も他のスレッド
の処理と並行して行われている。
1-1、11-2、…の検索を完了し、磁気ディスク3への
出力が可能になった図2の時刻T3での状態を示してい
る。
段階で「出力中」に変更した完了フラグ11-1、11-3
に対応するジャーナルバッファ9-1、9-3から、それら
のジャーナルデータを一括して磁気ディスク3に出力す
る(S16)。第3スレッド5-3は、第1スレッド5-1
から出力完了通知が来るのを待っている(S19)。
受信が完了したため、出力トランザクション取得の変数
13をロックし、そして、磁気ディスク3への出力権を
得て(S12)、次に、第1スレッド5-1から出力完了
通知が来るのを待っている(S14)。
ナルデータを受信中である。
た図2の時刻T4の状態を示している。
スク3への出力を完了し、出力完了通知を第2及び第3
スレッド5-2、5-3に発行する。第3スレッド5-3は、
この通知を受けて処理を終了する。
2のステップS15から処理を実行する。第4スレッド
5-4は、ジャーナルデータ受信中であり、他のスレッド
の処理と並行してバッファ9-4への書込を行っている。
のジャーナルデータを並行的に高速なバッファに受信し
た後、それらを一括して磁気ディスクに出力し、この磁
気ディスクへの出力時間中に、到来する後続のジャーナ
ルデータを並行的にバッファに受信しておき、出力完了
と同時に、それら後続のジャーナルデータを一括して再
び磁気ディスクに出力する、という動作が繰り返され
る。これにより、磁気ディスクへの出力回数が減ると共
に、磁気ディスクへの出力とバッファへの受信とが同時
並行的に行われ、磁気ディスクへの出力は無駄なインタ
ーバルをおくことなく、連続的に繰り返されることにな
る。その結果、1トランザクション当たりの実質的なジ
ャーナル取得時間が短縮され、トランザクション処理の
スループットが向上する。
たりの実質的なジャーナル取得時間が短縮し、トランザ
クション処理のスループットが高まる。
の一実施例の構成を示すブロック図。
の動作を示すフローチャート。
図。
図。
図。
図。
Claims (2)
- 【請求項1】 随時に到来する複数のジャーナルデータ
を並行的に受信するための複数のジャーナル処理スレッ
ドを備え、 各ジャーナル処理スレッドが、 他のジャーナル処理スレッドがストレージへの出力権を
取得してない条件下で、前記出力権を取得する出力権取
得手段と、 他のジャーナル処理スレッドが前記ストレージへのジャ
ーナルデータの出力を実行中か否かチェックする出力チ
ェック手段と、 前記出力権を取得した場合、前記他のジャーナル処理ス
レッドにより実行された出力が完了した時、その時点で
いずれかのジャーナル処理スレッドによって既に受信済
みである未出力のジャーナルデータを、一括して前記ス
トレージに出力する一括出力手段と、を有することを特
徴とするジャーナル一括処理方式。 - 【請求項2】 随時に到来する複数のジャーナルデータ
を並行的に受信する過程と、 ストレージへのジャーナルデータの出力が実行中か否か
チェックする過程と、 既に実行中のジャーナルデータの出力が完了した時、そ
の時点で既に受信済みである未出力のジャーナルデータ
を、一括して前記ストレージに出力する過程と、を有す
ることを特徴とするジャーナル一括処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7068592A JP3013343B2 (ja) | 1995-03-02 | 1995-03-02 | ジャーナル一括処理方式 |
US08/737,040 US6052695A (en) | 1995-02-28 | 1996-02-27 | Accurate completion of transaction in cooperative type distributed system and recovery procedure for same |
PCT/JP1996/000440 WO1996027157A1 (fr) | 1995-02-28 | 1996-02-27 | Systeme associatif decentralise et traitements de journaux et de reprise dans celui-ci |
EP96903243A EP0758114A4 (en) | 1995-02-28 | 1996-02-27 | COOPERATIVE DISTRIBUTED SYSTEM, NEWSPAPER PROCESSING AND RECOVERY PROCESSING IN THE SAME |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7068592A JP3013343B2 (ja) | 1995-03-02 | 1995-03-02 | ジャーナル一括処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08241233A JPH08241233A (ja) | 1996-09-17 |
JP3013343B2 true JP3013343B2 (ja) | 2000-02-28 |
Family
ID=13378226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7068592A Expired - Fee Related JP3013343B2 (ja) | 1995-02-28 | 1995-03-02 | ジャーナル一括処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3013343B2 (ja) |
-
1995
- 1995-03-02 JP JP7068592A patent/JP3013343B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08241233A (ja) | 1996-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353749B2 (en) | Lock-free dual queue with condition synchronization and time-outs | |
US6681226B2 (en) | Selective pessimistic locking for a concurrently updateable database | |
US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
JP2561696B2 (ja) | ネットワークシステムにおける共用領域管理方法 | |
EP0457473A2 (en) | Apparatus and method for accessing shared data | |
US5138713A (en) | Multiprocessing computer system with exit logic and method for maintaining resource integrity | |
JP2003536118A (ja) | マルチスレッドコンピュータシステムにおけるモニタ変換 | |
US6173375B1 (en) | Method for accessing a shared resource in a multiprocessor system | |
CA1279407C (en) | Buffer storage control system | |
JP3013343B2 (ja) | ジャーナル一括処理方式 | |
JP2000003302A (ja) | 共有メモリ排他アクセス制御方法 | |
JPH11110214A (ja) | 命令制御システム及びその方法 | |
EP0483250B1 (en) | Non-busy-waiting resource control | |
JPH08329019A (ja) | セマフォのデータ管理方式 | |
JPH0588954A (ja) | データベースの更新方法 | |
JPH05233531A (ja) | バス制御システム | |
JPH04139545A (ja) | データベース更新処理方式 | |
JP2980610B2 (ja) | トランザクション管理装置 | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JPH02173844A (ja) | 記憶制御方式 | |
JPS6325759A (ja) | 共用フアイル入出力制御方式 | |
JPH06103165A (ja) | テーブルのエントリ排他制御方式 | |
JPS60178547A (ja) | デ−タ処理方式 | |
JPH03218524A (ja) | 命令処理装置 | |
JPS62233868A (ja) | 主記憶デ−タのリカバリイ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19991117 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071217 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101217 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101217 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111217 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111217 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121217 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |