JPH05225028A - ファイル管理システム - Google Patents

ファイル管理システム

Info

Publication number
JPH05225028A
JPH05225028A JP4025054A JP2505492A JPH05225028A JP H05225028 A JPH05225028 A JP H05225028A JP 4025054 A JP4025054 A JP 4025054A JP 2505492 A JP2505492 A JP 2505492A JP H05225028 A JPH05225028 A JP H05225028A
Authority
JP
Japan
Prior art keywords
data
file
information
latest
user
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.)
Pending
Application number
JP4025054A
Other languages
English (en)
Inventor
Ryuichi Aoki
青木隆一
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4025054A priority Critical patent/JPH05225028A/ja
Publication of JPH05225028A publication Critical patent/JPH05225028A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数のユーザによりデータを共有するシステ
ムにおいて、禁止制御をほとんど意識する必要がなく、
データへのアクセスを可能にする。 【構成】 複数のユーザによって共有されるファイルに
対する同時のアクセスを排他制御しつつ、各ユーザによ
るファイル内の情報の読み出し及び書き込みを統括管理
するファイル管理システムにおいて、現在参照している
情報が最新の情報であるか否かを所定時間ごとに判断処
理する演算処理手段と、参照情報を表示する表示手段と
を備え、前記演算処理手段は、現在参照している情報が
最新の情報でないときには最新の情報を読み出して表示
手段へ出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムを
利用する複数のユーザによって共有される各種電子ファ
イルのユーザによる読み出しや書き込みに係るアクセス
を統括管理するファイル管理システムに関し、特に複数
のユーザによって同時に同一のファイルがアクセスされ
る場合でも、ユーザは特に排他制御についての意識をす
る必要がなく、効率よくファイルのアクセスができるよ
うにしたファイル管理システムに関するものである。
【0002】
【従来の技術】複数のユーザが同時に同一のファイルを
アクセスするようにしたシステムにおいては、通常、ユ
ーザの1人があるファイルの内容を更新している最中に
別のユーザが同じファイルの内容を更新するようなこと
があると、このファイルからは意図した結果が得られな
くなり、ファイル内のデータ内容を正しく維持されなく
なってしまう。
【0003】そのため従来、複数のユーザによる同時ア
クセスによってファイル内のデータが消去されたり、内
容の一貫性が損なわれたりすることを避けるために、デ
ータ毎にロックがかけられるようにしている。すなわ
ち、単にファイルを参照するのは、複数のユーザによる
同時のアクセスは許可するものの、参照したデータを変
更する場合には、そのデータは変わる可能性があるため
他のユーザによるアクセスを禁止し、また参照している
間にデータが変更されないように参照時には内容の変更
を禁止する、所謂ロックをかけるということが行われて
いる。なお、データにロックをかけた場合には、ロック
解除の処理が必要となる。
【0004】こうして同一ファイルを複数のユーザが共
有し、同時に同一のファイルをアクセスできるようにし
たシステムにおいては、アクセスを統制管理し、ファイ
ル内のデータが誤って消去されたり、その内容の一貫性
が損なわれたりすることを回避するようにしている。
【0005】なお、このような複数のユーザが同時に同
一のファイルをアクセスすることを想定したアプリケー
ションとしては、例えば、マルチユーザ型のデータベー
スシステムがあり、社団法人 情報処理学会編「情報処
理ハンドブック」1989年5月30日 オーム社発行
第659〜662頁には、複数のユーザによるファイ
ルアクセスの統制を図る方法として、このデータベース
システムを前提としたいくつかの方法が紹介されてい
る。
【0006】
【発明が解決しようとする課題】しかしながら、1人の
ユーザがアクセスして内容の変更をしている期間中、フ
ァイルシステム全体が排他的にロックされてしまうと、
マルチユーザシステムとしての同時実行度が著しく低下
してしまう。すなわち、一度ロックされてしまうと他の
ユーザにとってはファイル参照すらできなくなると共
に、システムの規模が大きい場合には全体として待ち時
間のみが増大され、実用的ではない。
【0007】また、マルチユーザシステムにおいて、実
時間制御可能な表示装置、例えばCRT、液晶パネルを
用いる場合、ユーザが特別な操作を行わなくても常に最
新の状態の情報がユーザに提示されることが望まれてい
るが、従来の多くのシステムにおいては、ユーザが情報
の提示を要求した時点の状態が提示され続け、もし最新
の状態の情報を必要とする場合には情報の提示を再度要
求しなければならないという問題がある。さらにデータ
を変更する場合には変更対象の情報に対するロックをユ
ーザが意識して指示する必要がある。また、一般にレコ
ードと呼ばれるデータを単位として排他的制御を行うた
めに同一のレコードを同時に変更することは不可能であ
る。
【0008】このような事情に鑑み、本出願人はユーザ
が近似的に最新の状態の情報にアクセスする可能性を保
証するようにしたシステムをすでに出願している(特願
平3−80146)。
【0009】本発明はさらに最新の情報が自動的に提示
されるようにし、禁止制御をほとんど意識する必要がな
く、データへのアクセスを行うことが可能なファイル管
理システムを提供することを目的とする。
【0010】
【課題を解決するための手段】本発明は、複数のユーザ
によって共有されるファイルに対する同時のアクセスを
排他制御しつつ、各ユーザによるファイル内の情報の読
み出し及び書き込みを統括管理するファイル管理部を有
するマルチユーザシステムにおいて、データ参照、デー
タ変更、データ追加等のアクセス要求に際しての調停や
許可の付与をファイル管理部と協動して管理するアクセ
ス管理部と、現在参照している情報が最新の情報である
か否かを所定時間ごとに判断処理する演算処理手段と、
参照情報を表示する表示手段とを備え、前記演算処理手
段は、現在参照している情報が最新の情報でないときに
は最新の情報を読み出して表示手段へ出力することを特
徴とする。
【0011】また、本発明は、ファイルに格納している
情報が継続処理対象情報と独立処理対象情報とに分けら
れ、前記ファイル管理部は、継続処理対象情報に対する
更新処理時には、他のユーザによる更新を禁止するロッ
クをかけるようにしたこと、また、独立対象情報に対す
る更新処理において同一情報について同時に複数更新要
求があったとき、該情報の細部を対比して同時アクセス
の排他制御を行うようにしたことを特徴とする。
【0012】
【作用】本発明は、複数のユーザによる共有ファイルに
アクセスしてデータを受け取り、さらに所定インターバ
ル毎に割り込みをかけてファイルへのアクセスを行い、
更新されたデータがあればそれを読み出して自動的に最
新のデータを表示するようにしたものである。データが
更新されたかどうかは、例えば、ファイルのログテーブ
ルを参照し、ログテーブルの長さが前回と同じか否かに
よりデータの更新が行われた否かを検出し、更新が行わ
れたデータのみ読み出しを行うようにする。またデータ
には、継続的な変更が行われるデータとそれ以外のデー
タとを符号により区別し、継続的変更が行われるデータ
の更新時には、システムは自動的にロックをかけてデー
タの参照を禁止する。継続的変更が行われている状態で
もロックのかけられていない他のデータについての参照
は可能とし、また継続的変更が行われることのないデー
タについての独立変更処理においては、変更処理してい
るデータについてはロックがかけられるものの、さらに
データの細部を比較して衝突が回避される場合には、同
一データであっても更新を行うことが可能となる。
【0013】
【実施例】図1は本発明のファイル管理システムの全体
構成を示す図である。本システムは複数のユーザによっ
て共有されるファイル10、ファイル10の複数のユー
ザによる同時アクセスを制御しつつ、ファイル10内の
データの読み出しや書き込みを統括管理するファイル管
理部20、ファイル10を共有する複数のユーザによっ
て操作され、ファイル10に対しファイル管理部20を
通じて読み出し要求や書き込み要求等のアクセスを行う
第1〜第nの複数のユーザマシン(ワークステーション
等)30によって構成されている。
【0014】ファイル10はこれに含まれるデータをそ
の識別子(ID番号)から得るようになっており、これ
らのデータが格納されるデータ格納部11と、データ格
納部11内でのデータの格納位置を示すポインタが各デ
ータの識別子との対応のもとに登録される静的テーブル
12と、データのうちユーザによって実際に書き込みの
行われた(更新された)データがその識別子との対応の
もとに別途格納されるログテーブル13とを有してい
る。
【0015】一方、各ユーザマシン30は各マシン単位
でのファイルアクセス要求、すなわちこれを操作する各
ユーザによって指令されるファイル10のデータ参照、
データ変更、データ追加等のアクセス要求に際しての調
停や許可の付与をファイル管理部20と協動して管理す
るアクセス管理部31、ファイル10を共有するアプリ
ケーション仕様に応じて各マシン毎にその都度発生する
イベントやユーザ入力に基づく各種の処理を統括的に実
行する演算処理部32と、演算処理部32の内部メモリ
として各種処理データ等が一時的に格納されるシステム
メモリ33と、キーボードやマウス等からなる入力装置
35を通じて入力される情報を解読し、これを演算処理
部32に伝達すると共に演算処理部32から与えられる
表示情報を解読してその内容をCRTディスプレイ等か
らなる表示装置36に表示するための入出力制御部34
とを有している。
【0016】特にユーザによってファイル10を開く指
令が出された場合には、アクセス管理部31およびファ
イル管理部20を介してファイル10内の静的テーブル
12およびログテーブル13の内容をシステムメモリ3
3に読み込み、読み込んだ内容に基づいて書き込みの行
われていない元のままのデータについてはデータ格納部
11内での格納位置を示すポインタが、また実際に書き
込みが行われ、更新されたデータについては、ログテー
ブル13内での格納位置を示すポインタがそれぞれ該当
するデータの識別子との対応のもとに登録されるテーブ
ル(以下動的テーブル)40をシステムメモリ33内に
構築するように動作する。
【0017】すなわち、ファイル10内にもデータ格納
部11内でのデータ格納位置を示すポインタと、これら
各データの識別子とが対応付けされて登録される静的テ
ーブル12は存在するものの、このファイル10を実際
に開いた各ユーザマシン30では、静的テーブル12の
内容とログテーブル13の内容とに基づき、そのシステ
ムメモリ33内に構築する動的テーブル40を介してそ
の都度所望のデータの参照を行うことになる。
【0018】図2はこれらデータ格納部11、静的テー
ブル12、ログテーブル13および動的テーブル40を
通じたファイル10内のデータのアクセスメカニズムを
模式的に示したものである。すなわち、データ格納部1
1においてそのアドレス「01」「02」「03」「0
4」……にそれぞれ格納されているデータである「デー
タA0」「データB0」「データC1」「データD0」
…はその時点で更新されていない(正確には、後述する
ファイル圧縮に基づく更新処理が行われる以前の)デー
タであり、これらのデータのアドレスは静的テーブル1
2により、その識別子IDのA,B,C,D……を通じ
てポインティングされている。
【0019】一方、図2に示すログテーブル13におい
て、識別子IDのA,D,Sにそれぞれ対応して登録さ
れているデータである「データA1」「データD1」お
よび「データS0」は、後述するファイル圧縮に基づく
データの更新処理後にいずれかのユーザによって変更あ
るいは追加されたデータであり、例えば、「データA
1」はデータ格納部11に格納されている「データA
0」に関してこれに変更を加えたデータを、「データD
1」はデータ格納部11に格納されている「データD
0」に関して変更を加えたデータを、「データS0」は
データ格納部11に新たに追加するデータをそれぞれ示
したものである。
【0020】なお、変更のためにログテーブル13に登
録されているデータ、すなわちデータA、データD等は
その書き込みに際し、これらデータ内容の一貫性が最低
限維持される単位でログテーブル13に取り込まれてい
るものとする。このようにすることによって、データ格
納部11に格納されたデータ内容の一貫性の問題は解消
される。
【0021】各ユーザマシン30の動的テーブル40
は、静的テーブル12の内容とログテーブル13の内容
とに基づき構築される。すなわち、ログテーブル13に
識別子が登録されているデータについては、その識別子
と同データのログテーブル13内での登録位置を示すポ
インタLI,L2,L3……との対として、またログテ
ーブル13に識別子が登録されていないデータについて
は静的テーブル12における識別子と同データのデータ
格納部11内での格納位置を示すポインタとの対とし
て、それぞれこれら識別子およびポインタが登録された
データ参照テーブルとして構築される。
【0022】この動的テーブル40よりファイルへのデ
ータ参照は図示の矢印のように行われる。すなわち、 ・識別子「A」によって識別されるデータは、ログテー
ブル13内での登録位置を示す「L1」のポインティン
グによって、ログテーブル13内に登録されている最新
の「データA1」が参照される。
【0023】・識別子「B」によって識別されるデータ
は、データ格納部11内での格納アドレスである「0
2」のポインティングによって、データ格納部11内に
格納されている「データB0」が参照される。
【0024】・識別子「C」によって識別されるデータ
は、データ格納部11内での格納アドレスである「0
3」のポインティングによって、データ格納部11内に
格納されている「データC1」が参照される。
【0025】・識別子「D」によって識別されるデータ
Dは、ログテーブル13内での登録位置を示す「L2」
のポインティングによって、ログテーブル13内に登録
されている最新の「データD1」が参照される。
【0026】・識別子「S」によって識別されるデータ
Sは、そのログテーブル13内での登録位置を示す「L
3」のポインティングによって、ログテーブル13内に
登録されている最新の「データS0」が参照される。
【0027】次に、ファイル管理システムの動作を説明
する。いま、ユーザマシン30のアクセス管理部31を
通じてファイル10に対するオープン要求が発せられた
とすると、これを受けたファイル管理部20では同ファ
イル10についての圧縮中(後述する)でないことを条
件にこのオープン要求を許可する。オープン要求を許可
されたアクセス管理部31では、演算処理部32を通じ
て、システムメモリ33内に動的テーブル40を構築し
ファイル10をオープンする。動的テーブルの構築に際
しては、前述したように、その時点でのファイル10内
の静的テーブル12、ログテーブル13が参照される。
【0028】こうしてファイル10のオープンが完了さ
れると、アクセス管理部31では、そのユーザから同フ
ァイル10のクローズ指令があるまで、同ユーザによる
「データの参照要求」、「最新データを参照するための
移行要求」、「データの変更・追加要求」、および「フ
ァイル圧縮要求」に応じて、それぞれ次に示す態様での
処理をファイル管理部20との協動のもとに実行する。
【0029】以下にこれらの各要求別に、その動作を列
記する。 〔データの参照要求〕ユーザによる要求が、オープンし
たファイル10の参照要求であった場合、アクセス管理
部31では構築した動的テーブル40を通じて各データ
の所在を認知し、認知に基づいてファイル10内のデー
タを読み込む。読み込まれたデータはシステムメモリ3
3に一時的に保持され、演算処理部32および入出力制
御部34を通じて表示装置36に表示される。
【0030】〔最新のデータを参照するための移行要
求〕ユーザによる要求が上記オープンしたファイル10
についての最新データを参照するための移行要求であっ
た場合、アクセス管理部31ではファイル管理部20へ
の問い合わせを行って、このファイル10が他のユーザ
(ユーザマシン)によるデータ変更中やデータ追加中で
ないこと、および他のユーザが同ファイル10について
の最新データを参照するための移行中でないことを条件
に、ファイル10内のログテーブル13の内容を再び読
み込み、この新たに読み込んだ内容に基づいて動的テー
ブル40の内容を更新する。
【0031】最新データを参照するための移行要求は、
本実施例においては、図3に示すように、タイマ50よ
り所定インターバルごとに信号を出し、例えば5秒間隔
で割り込み処理部51よりファイル10に対して割り込
みをかけることにより行い、ログテーブル13より最新
でない、すなわち他のユーザにより更新されたデータの
み読み出すことにより行う。今、自分が見ている状態
(データの集合)が、最新か否かの判断は、前回参照時
のログテーブル13の長さを覚えておき、現在のログテ
ーブルの長さと比較することにより行い、現在の方が長
ければ更新されていて最新でないと判断する。今見てい
る状態が最新でないと判断した場合、具体的にどのデー
タが更新されたかは、図4に示すように動的テーブル4
0にID番号に対応して前回参照時と今回のポインタと
を記録しておき、前回のポインタと今回のポインタとが
同じであれば更新されておらず、異なっていれば更新さ
れたと判断する。
【0032】こうして、図5に示すように割り込み処理
部51を通してファイル10より更新された最新でない
データのみ読み出してこれを再表示する。したがって、
タイマで設定したインターバル(ユーザ毎に設定しても
よい)毎に、すなわち設定したインターバルの範囲で最
新のデータが自動的に表示される。この場合の読み出し
は更新されたデータのみであるので、伝送路の容量は小
さくても済む。
【0033】また、オブジェクト指向言語ではデータに
変換手続が付加されているので、図6に示すように、ユ
ーザAがデータ更新をした場合、その旨のメッセージ、
例えば「このデータは変更したよ」を付加してホストコ
ンピュータ60に返すようにすれば、このデータをユー
ザBが読み出した場合、前記メッセージ「このデータは
変更したよ」がデータより与えられるので容易にデータ
の更新を知ることが可能である。
【0034】なお、ある種の利用者との対話的処理、例
えばドラッキングと呼ばれる可視領域の移動において
は、最新の状態のデータの自動的な表示は、対話的処理
の継続を不可能とするなどの悪影響を及ぼすので禁止す
る必要がある。この場合には、図3、図5で示した割り
込み処理を行わないようにするか、或いは特定の対話的
処理の状態を示すフラグを設定し、このフラグが立った
ときには最新のデータの表示を禁止する。
【0035】〔データの変更・追加要求〕ユーザによる
要求が、オープンしたファイル10についてのデータ変
更・追加要求であった場合について、図7、図8の処理
フローに基づいて説明する。データの変更は、変更要求
されたデータが最新の状態にあることが必要であるが、
変更要求された状態が最新でない場合があり得る。この
ような場合には、図4、図6で説明したような方法で、
最新のデータか否かを検出し、最新でない場合には割り
込み処理により最新のデータを得る必要がある。
【0036】本発明においては、扱うデータを、継続的
な変更が行われる可能性のあるデータと継続的な変更が
行われる可能性のないデータとに分ける。これはデータ
毎に符号を付して区別するようにする。継続的な変更と
は、利用者の意図としてデータを変更する行為が、1つ
以上の特定のデータに対する連続した複数の操作に対応
するものを指しており、例えば、新たに文章を書いた
り、文章の書換えの場合などが該当する。このような場
合、その行為が中断されることは望ましくなく、行為の
開始が許可されたならばその行為が終了することを保証
する必要がある。なお、継続的でない変更を独立的な変
更と呼ぶ。
【0037】継続的な変更が行われる可能性のあるデー
タに対する変更要求は、それが独立的な変更であって
も、常に継続的な変更とみなして処理を行う。これは、
継続的な変更に対する処理(継続処理)を行う際に、そ
のデータに特殊なロック(継続処理ロック)を、ユーザ
が意識しなくても自動的にかけるためであり、継続処理
ロックを無視する独立的な変更(独力処理)を行うとデ
ータに対する矛盾を生ずるからである。継続処理ロック
はデータ単位の排他的なロックであり、同時に複数のユ
ーザがロックすることはできない。なお、継続的な変更
が行われる可能性のあるデータは、図9に示すように、
ロックされているか否か、ロックをかけたユーザ名、ロ
ックの開始時刻が付加され、他のユーザが知ることがで
きるようになっている。
【0038】なお、最後に変更が終了した時刻から一定
時間(一般には数10秒から数分程度)すると自動的に
継続処理が終了したと判断し、継続処理ロックを解除す
るとともに、それまでに与えられた変更をファイル反映
させるようにする。
【0039】継続的な変更が行われる可能性のないデー
タに対する変更要求は、常に独立的な変更(独立処理)
とみなして、継続処理と区別する。
【0040】継続処理の場合には、自動的にシステムが
継続処理ロックをかけるようにするが、独立処理の場
合、その時点において最新のデータであれば変更するこ
とができ、最新でないために、最新のデータを参照する
移行を行った際に、そのデータが他のユーザによって更
新された場合には、変更を阻止されるが、変更が成功す
る場合もある。すなわち、図10に示すように、データ
Xが、細部A0、B0からなっており、A0とB0との
間に制約関係が存在しない場合、A0はそのままでB0
がB1に変更されたとき(データX1)、B0はそのま
までA0→A1への変更(データX2)は、データ単位
では同じであってもデータ細部については同一箇所の変
更にはならない。このように、通常のデータ単位でみた
場合には変更が衝突している場合であっても、その細部
をみたときに図10のように衝突していない場合には変
更が許可される。
【0041】また、図11に示すように、データYが細
部A0、B0、C0からなり、B0とC0との間に制約
関係が存在し、その一方の変更が他方へ影響がある場合
には、B0→B1への変更(データY1)と、C0→C
1への変更(データY2)は衝突するので変更は阻止さ
れる。もちろん、データY2がA0に関する変更であれ
ばデータY1との衝突は回避されることになる。このよ
うな衝突の回避は、データの種類、要求された変更の種
類、他のユーザによる変更の種類等に依存して決められ
ることになり、システムによっては、衝突の回避を行わ
ないようにしてもよい。
【0042】図7において、ユーザがあるデータに対し
て変更や追加等の行為(副作用)が必要な操作を行った
とする(ステップ101)。前述したように、データ毎
に継続処理対象のデータか、独立処理対象のデータかが
決まっているので、これを判断し(ステップ102)、
独立処理対象のデータであればそのデータが最新の状態
か否か判断し(ステップ103)、最新の状態であれば
操作に対応した変更処理を行って、変更をファイルに反
映させる(ステップ104,105)。ステップ103
において、そのデータが最新の状態でなければ、前述し
たようにデータ更新はできないので最新のデータを参照
するための移行を行って更新する処理を行う(ステップ
106)。最新のデータを参照するための移行に際し
て、データが他のユーザにより更新されたか否か判断し
(ステップ107)、更新されていなければ参照して受
け取ったデータは最新の情報であるので、操作に対応し
た変更処理を行い、変更をファイルに反映させる(ステ
ップ108,109)。
【0043】最新のデータを参照するための移行に際し
て、データが他のユーザにより更新された場合には、衝
突回避ができるか否かを試みる。この衝突回避は、図1
0、図11で説明したようにデータ単位のさらに細部ま
で対比することにより行い、衝突回避可能であれば衝突
を回避しつつ変更処理を行い、変更をファイルに反映さ
せる(ステップ111,112)。衝突回避が不可能で
あれば、他のユーザが近似的に同時に同一箇所を変更し
ていたことにより、要求した変更が阻止されたので、状
態を確認の上、再度操作する必要があることをユーザに
伝えることになる(ステップ113)。
【0044】次に、ステップ102において、データが
継続処理対象である場合について、図8により説明す
る。
【0045】先ず、継続処理ロックがすでにかかってい
るか否かみて(ステップ114)、ロックがかかってい
れば、継続処理ロックの開始時刻(図9)を現在のデー
タ変更時刻に書き変え、操作に対応した変更処理を行う
(ステップ115,116)。継続処理ロックがかかっ
ていない場合には、ユーザマシンから継続処理ロックを
要求し(ステップ117)、継続処理ロックがかからな
い場合には、他のユーザがその情報を変更中であるた
め、しばらく待つ必要があることをユーザに伝える(ス
テップ118,119)。継続処理ロックがかかった場
合には、最新のデータを参照するための移行を行って、
データを最新の状態に更新する処理を行い(ステップ1
20)、最新のデータを参照するための移行を行った際
に、他のユーザによってその情報が更新されていなけれ
ば、操作に対応した変更処理を行い、最新のデータを参
照するための移行を行った際に、他のユーザによってそ
の情報が更新されていれば、他のユーザがその情報を更
新していたため、変更が阻止されたので、状態を確認の
上、再度操作する必要があることをユーザに伝えること
になる(ステップ123)。
【0046】〔ファイル圧縮要求〕ユーザによる要求
が、オープンしたファイル10の圧縮処理要求であった
場合アクセス管理部31ではファイル管理部20への問
い合わせを行い、このファイル10が他のユーザ(ユー
ザマシン)によってオープンされていないことを条件に
該ファイル管理部20と協動して データ格納部11内の不要となったデータを取り除い
て、その分各データを順次つめる。 この整理したデータ格納部11内のデータ格納内容
(格納位置)に基づいて静的テーブル部12の内容を更
新する。 ログテーブル13に登録されている最新のデータをデ
ータ格納部11に移す。 さらにこのデータの移されたデータ格納部11の内容
に基づいて静的テーブル12の内容を更新する。 最後にログテーブル13の内容をクリアしてその中を
空にする。 といった一連の処理を実行する。この空になったログテ
ーブル13には、その後のデータ変更・追加要求によっ
て新たに変更や追加されたデータが、その識別子ととも
に登録されることとなる。
【0047】なお、ファイル圧縮処理に関しては、当該
ファイルに対するアクセスが何れのユーザからもなされ
ていないことを条件に、ファイル管理部20を通じて自
動的に実行されるようにしてもよい。
【0048】このように、本実施例によるファイル管理
システムによれば、ファイル10という同一のファイル
に対して、書き込みおよび読み出しが同時に行われる場
合であっても、変更や追加の行われたデータのみがログ
テーブル13を通じて別途に管理されることから、ファ
イル10内の全てのデータがその書き込み等のアクセス
に伴って移動やコピーされる必要はなくなる。また、こ
のログテーブル13において管理の単位とされるデータ
がこれらデータ内容の一貫性が最低限維持される単位の
ものであり、これによってデータ内容の一貫性に関する
問題も解消される。しかも、ファイル管理部20および
アクセス管理部31の動作によれば、ファイル10に対
して書き込みのできるユーザは一人に限られることか
ら、マルチユーザシステムとしての多少の制限は残るも
のの、同ファイル10の信頼性は良好に維持される。
【0049】また、所定インターバル毎の割り込み処理
により、近似的に常に最新の状態が自動的に表示され、
また、排他制御をほとんど意識することなくデータの参
照、変更を行うことができるので、データを共有してい
ることによる不便を感じさせないようにすることができ
る。さらに、データの変更に際して、衝突が生じても解
決される可能性がある。
【0050】また、ファイル10がいずれのユーザによ
ってもオープンされていないことを条件に、これを圧縮
処理してそのデータ格納部11および静的テーブル12
の内容を整理することができるため、同ファイル10の
無駄のない常に好適な状態に維持することができる。
【0051】また、上記実施例においては、各ユーザマ
シンが、ファイル管理部20と協働してファイル10を
直接的に扱う例について述べたが、本発明はこれに限ら
ず、例えば、図12に示すような各クライアント(ワー
クステーション等)C1〜Cnによるファイル10内の
データの参照・変更等をファイルサーバSを通じて統括
的に行うとするサーバ・クライアント方式によるシステ
ム、あるいは図13に示すような各端末T1〜Tnによ
るファイル10内のデータ参照・変更要求をホストコン
ピュータHにより一括して処理するホスト・端末方式に
よるシステムにも適用可能である。
【0052】
【発明の効果】以上のように本発明によれば、マルチユ
ーザシステムにおいて、常に最新の状態が自動的に提示
され、排他制御をほとんど意識する必要がないため、デ
ータを共有していることを気にしないですみ、継続処理
で他のユーザがデータ変更している場合でも以前のデー
タを参照することができ、また、独立処理において、同
時に同一データを変更する場合であっても衝突を回避し
て変更できる可能性もある。
【図面の簡単な説明】
【図1】 本発明のファイル管理システムの一実施例の
構成を示すブロック図である。
【図2】 ファイル内のデータの参照メカニズムを示す
図である。
【図3】 最新データの自動的提示を説明する図であ
る。
【図4】 動的テーブルを説明する図である。
【図5】 最新でないデータの読み出しを説明する図で
ある。
【図6】 データ更新メッセージを説明する図である。
【図7】 データ更新処理フローを示す図である。
【図8】 データ更新処理フローを示す図である。
【図9】 継続処理対象データを説明する図である。
【図10】 衝突回避を説明する図である。
【図11】 衝突回避を説明する図である。
【図12】 本発明をサーバ・クライアント方式に適用
した場合の説明図である。
【図13】 本発明をホスト・端末方式に適用した場合
の説明図である。
【符号の説明】
10…ファイル、11…データ格納部、12…静的テー
ブル、13…ログテーブル、20…ファイル管理部、3
0…ユーザマシン、31…アクセス管理部、32…演算
処理部、33…システムメモリ、40…動的テーブル、
34…入出力制御部、35…入力装置、36…表示装
置、50…タイマ、51…割り込み処理部。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のユーザによって共有されるファイ
    ルに対する同時のアクセスを排他制御しつつ、各ユーザ
    によるファイル内の情報の読み出し及び書き込みを統括
    管理するファイル管理部を有するマルチユーザシステム
    において、 データ参照、データ変更、データ追加等のアクセス要求
    に際しての調停や許可の付与をファイル管理部と協動し
    て管理するアクセス管理部と、 現在参照している情報が最新の情報であるか否かを所定
    時間ごとに判断処理する演算処理手段と、 参照情報を表示する表示手段とを備え、 前記演算処理手段は、現在参照している情報が最新の情
    報でないときには最新の情報を読み出して表示手段へ出
    力することを特徴とするファイル管理システム。
  2. 【請求項2】 請求項1記載のシステムにおいて、ファ
    イルに格納している情報が継続処理対象情報と独立処理
    対象情報とに分けられ、 前記ファイル管理部は、継続処理対象情報に対する更新
    処理時には、他のユーザによる更新を禁止するロックを
    かけるようにしたことを特徴とするファイル管理システ
    ム。
  3. 【請求項3】 請求項1記載のシステムにおいて、ファ
    イルに格納している情報が継続処理対象情報と独立処理
    対象情報とに分けられ、 前記ファイル管理部は、独立対象情報に対する更新処理
    において同一情報について同時に複数更新要求があった
    とき、該情報の細部を対比して同時アクセスの排他制御
    を行うようにしたことを特徴とするファイル管理システ
    ム。
JP4025054A 1992-02-12 1992-02-12 ファイル管理システム Pending JPH05225028A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4025054A JPH05225028A (ja) 1992-02-12 1992-02-12 ファイル管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4025054A JPH05225028A (ja) 1992-02-12 1992-02-12 ファイル管理システム

Publications (1)

Publication Number Publication Date
JPH05225028A true JPH05225028A (ja) 1993-09-03

Family

ID=12155213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4025054A Pending JPH05225028A (ja) 1992-02-12 1992-02-12 ファイル管理システム

Country Status (1)

Country Link
JP (1) JPH05225028A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190442A (ja) * 1996-01-11 1997-07-22 Canon Inc 情報登録検索装置及び情報表示方法
JP2002229824A (ja) * 2001-01-31 2002-08-16 Seran:Kk プログラム及び当該プログラムを記録した媒体
US7584199B2 (en) 2004-06-28 2009-09-01 Konica Minolta Business Technologies, Inc. System and server for managing shared files
JP2012203633A (ja) * 2011-03-25 2012-10-22 Toshiba Corp 画面制御プログラム及び情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190442A (ja) * 1996-01-11 1997-07-22 Canon Inc 情報登録検索装置及び情報表示方法
JP2002229824A (ja) * 2001-01-31 2002-08-16 Seran:Kk プログラム及び当該プログラムを記録した媒体
US7584199B2 (en) 2004-06-28 2009-09-01 Konica Minolta Business Technologies, Inc. System and server for managing shared files
JP2012203633A (ja) * 2011-03-25 2012-10-22 Toshiba Corp 画面制御プログラム及び情報処理装置

Similar Documents

Publication Publication Date Title
US6119118A (en) Method and system for extending file system metadata
US6026401A (en) Locking tool data objects in a framework environment
US5623659A (en) Parent/child subset locking scheme for versioned objects
US6240413B1 (en) Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US6009426A (en) Method of managing a shared memory using read and write locks
US4791554A (en) Method and apparatus for preventing deadlock in a data base management system
US5263155A (en) System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks
JP2574991B2 (ja) コンピュータ・システムにおける共用資源のプロセス内ロッキング方法及びコンピュータ・システム
US20010039551A1 (en) Document management apparatus and document management program storage medium
KR0126245B1 (ko) 체크인/체크아웃모델용 록킹 메카니즘
JPH05134913A (ja) データ処理方法及び装置
US20030009477A1 (en) Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system
KR20080086875A (ko) 데이터베이스를 관리하기 위한 컴퓨터 구현 방법, 및데이터베이스에 지향되는 트랜잭션들을 관리하기 위한컴퓨터 구현 방법
JPH07104805B2 (ja) 持続性があり再起動可能なカーソルを用いた順次バッチ・アプリ ケーションを支援するための方法
JPH04229355A (ja) データアクセス方法及びデータ処理システム
CN1906598B (zh) 信息处理设备及存储区管理方法
US5432929A (en) Storage subsystem having a modifiable key-lock
KR100313844B1 (ko) 프레임워크환경에서도구데이터객체를로킹하는메카니즘
JPH10254748A (ja) 分散共有メモリ一貫性最適制御方法
US5706511A (en) Data base system and load distribution control method
JPH02148235A (ja) データ退避方式
JPH05225028A (ja) ファイル管理システム
US6732239B2 (en) Concurrent access scheme for exclusive mode cache
JPH07295876A (ja) アクセス権管理装置
US7139856B2 (en) Use of set-by-read and set-by-write registers as semaphores