JPH07253894A - Shared storage device - Google Patents
Shared storage deviceInfo
- Publication number
- JPH07253894A JPH07253894A JP6044456A JP4445694A JPH07253894A JP H07253894 A JPH07253894 A JP H07253894A JP 6044456 A JP6044456 A JP 6044456A JP 4445694 A JP4445694 A JP 4445694A JP H07253894 A JPH07253894 A JP H07253894A
- Authority
- JP
- Japan
- Prior art keywords
- file
- access
- data
- requester
- history
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は共有記憶装置に係わり、
特に計算機の共有ファイル・システムやデータベース・
システムにおいて共有ファイル/データに対する複数の
非同期アクセスとそのファイル/データの更新を管理す
る共有記憶装置に関する。BACKGROUND OF THE INVENTION The present invention relates to a shared storage device,
Especially shared computer file systems and databases
The present invention relates to a shared storage device that manages a plurality of asynchronous accesses to a shared file / data and update of the file / data in a system.
【0002】[0002]
【従来の技術】従来、計算機に使用されるファイル・シ
ステムでは、複数のユーザからの非同期の編集をサポー
トしていなかった。ここで、「非同期」とは共有のデー
タ(同一のデータ)に対し複数の人が全くランダムにア
クセスし、それぞれ任意の時刻にデータの更新を行うこ
とを言い、「非同期の編集」とは上記のような状況にお
いてもデータの一貫性を損なわない編集のことを言うも
のとする。2. Description of the Related Art Conventionally, a file system used for a computer does not support asynchronous editing by a plurality of users. Here, "asynchronous" means that a plurality of people access the shared data (the same data) at random and update the data at arbitrary times, and the "asynchronous editing" means the above. Even in such situations, it means editing that does not impair data consistency.
【0003】非同期の編集をサポートしていないのは、
一般に全く非同期に行われるファイル・アクセスはデー
タの破壊やデータ構造の矛盾の原因となるからであり、
通常複数のユーザからの非同期アクセスに対しては、排
他制御を行ってデータの一貫性を保っている。What does not support asynchronous editing is
This is because file access, which is generally performed asynchronously, causes data destruction and data structure inconsistency.
Normally, for asynchronous access from multiple users, exclusive control is performed to maintain data consistency.
【0004】図16には、従来の一般的な共有記憶装置
の基本構成を示す。この共有記憶装置は、複数のアクセ
ス要求者221が記憶装置220に格納する共通のデー
タをアクセスするためのものである。共通のデータをア
クセスするのに、記憶装置220を直接読み書きするの
は不便なので、データはいくつかの意味のあるまとまり
として管理し、ファイル210という形で見える。な
お、ファイル210から記憶装置220へ到るデータ管
理方法については、良く知られているので説明は省略す
る。FIG. 16 shows the basic structure of a conventional general shared storage device. This shared storage device is used by a plurality of access requesters 221 to access common data stored in the storage device 220. Since it is inconvenient to directly read from or write to the storage device 220 to access common data, the data is managed as some meaningful chunks and is viewed as a file 210. The method of managing data from the file 210 to the storage device 220 is well known and will not be described.
【0005】アクセス要求者221はファイル・アクセ
ス手段211に対し、ファイル・アクセス要求206を
出す。この要求は、通常のオペレーティング・システム
ではファイルのオープンを要求する“open”、ファ
イルのクローズを要求する“close”、ファイルの
読み出しを要求する“read”、ファイルへの書き込
みを要求する“write”といったシステム・コール
の形で実現されるのが普通である。The access requester 221 issues a file access request 206 to the file access means 211. In a normal operating system, this request is "open" that requests opening of the file, "close" that requests closing of the file, "read" that requests reading of the file, and "write" that requests writing to the file. It is usually realized in the form of a system call such as.
【0006】ここで、アクセス要求者221とは、アク
セスするオペレータ(の操作する端末)だけではなく、
システム・コールを発するプロセスのことや、プロセス
の中で複数生成されるファイル記述子のことなど、あら
ゆるアクセス主体を含む。また、記憶装置220はハー
ドディスク、メモリ、ICカードなど、一時的なもの、
取り外し可能なものなどを全てを含む。[0006] Here, the access requester 221 is not limited to the operator (the terminal operated by) who accesses,
This includes all access subjects such as the process that issues the system call and the file descriptors that are created in the process. The storage device 220 is a temporary storage device such as a hard disk, a memory, or an IC card,
Includes all removable items.
【0007】このような従来の共有記憶装置において複
数のアクセス要求者221からの非同期アクセスを許可
することを想定した場合の動作は次のようになる。ま
ず、1番目のアクセス要求者221(以下、アクセス要
求者Aと言う)がファイルの最後尾にデータを追加する
ためにファイルをオープンし、このファイルをクローズ
する前に、2番目のアクセス要求者221(以下、アク
セス要求者Bと言う)が同様に、同一ファイルの最後尾
にデータを追加するためにファイルをオープンしたもの
とする。このとき、要求者Aおよび要求者Bの持つファ
イルのイメージは図17(a)のようになっている。た
だし、これは仮想的なイメージであって、実際のデータ
は要求者Aおよび要求者Bが持っているのではなく、フ
ァイル210が管理している。データを追加するために
ファイルをオープンしたので、次のデータを格納する先
を示すアクセス・ポインタ232はいずれもデータの最
後尾を指している。[0007] In such a conventional shared storage device, the operation when assuming asynchronous access from a plurality of access requesters 221 is as follows. First, the first access requester 221 (hereinafter referred to as access requester A) opens the file to add data to the end of the file, and before the second access requester 221 closes this file. Similarly, it is assumed that the file 221 (hereinafter referred to as the access requester B) has opened the file to add data to the end of the same file. At this time, the images of the files held by the requesters A and B are as shown in FIG. However, this is a virtual image, and the actual data is not held by the requesters A and B, but is managed by the file 210. Since the file has been opened to add data, the access pointers 232 indicating the destinations for storing the next data all point to the end of the data.
【0008】その後、図17(b)のように要求者Aは
追加データ233を書き込むため、“write”のフ
ァイル・アクセス要求206を発する。ファイル・アク
セス手段211はこれを受け取り、実際にファイル21
0の該当位置に書き込む。さらに、要求者Aは“clo
se”のファイル・アクセス要求206を発し、ファイ
ル・アクセス手段211は要求者Aによるファイル・ア
クセスが終了したことを知る。一方、要求者Bはまだ何
も書き込みを行っていないが、ファイル210のデータ
はすでに要求者Aにより変更が施されている。After that, as shown in FIG. 17B, the requester A issues a "write" file access request 206 to write the additional data 233. The file access means 211 receives this and actually
Write to the corresponding position of 0. Further, the requester A is “clo
Then, the file access means 211 knows that the file access by the requester A is completed. On the other hand, the requester B has not written anything but the file 210 of the file 210 The data has already been modified by requester A.
【0009】次に、同様な手順で要求者Bが追加データ
234を書き込むと、図17(c)のようにファイル2
10のデータが変更される。要求者Aがいかなる変更を
しようとも、要求者Bの発したファイル・アクセス要求
206はすべて処理が行われる。Next, when the requester B writes the additional data 234 in the same procedure, as shown in FIG.
10 data are changed. No matter what change is made by the requester A, all the file access requests 206 issued by the requester B are processed.
【0010】したがって、この時点で要求者Aの発した
ファイル・アクセス要求は、要求者Bの発したファイル
・アクセス要求によって破壊され、ファイルに正しく反
映されない。すなわち、要求者Aおよび要求者Bのいず
れについても、期待したファイルの変更内容が正しく残
らないことになる。Therefore, at this time, the file access request issued by the requester A is destroyed by the file access request issued by the requester B and is not correctly reflected in the file. In other words, neither the requester A nor the requester B has the expected contents of the file change left correctly.
【0011】このように、従来の共有記憶装置で同一フ
ァイルに対する非同期アクセスを受付けると、データの
一貫性の破綻が起こるという問題点があった。そこで、
データの一貫性を保つために、従来の共有記憶装置で
は、ファイルのアクセス時にロックを掛け、他の要求者
はロック解除後までファイルにアクセスできないように
する機構を設けて、排他制御を行うのが通常である。し
かしながら、他の要求者は、ファイル・アクセスするた
めには、ロックを掛けている先の要求者のアクセスが終
了するまで待たなければならず、要求者がオペレータ
(の操作する端末)である場合は非常に作業効率を悪く
するとともに、オペレータに余計な負担を強いることに
なり、また、要求者がシステム・コールを発するプロセ
スなどである場合は実行的に処理速度を損なうことにな
るという不具合があった。As described above, when the conventional shared storage device accepts the asynchronous access to the same file, there is a problem that the data consistency is broken. Therefore,
In order to maintain data consistency, in the conventional shared storage device, a lock is provided when a file is accessed, and a mechanism that prevents other requesters from accessing the file after releasing the lock is used to perform exclusive control. Is normal. However, in order to access the file, the other requester must wait until the access of the requester who is locked is completed, and the requester is the operator (terminal operated by the operator). Is extremely inefficient in working, imposes an extra burden on the operator, and if the requester is a process that makes a system call, the processing speed will be impaired. there were.
【0012】[0012]
【発明が解決しようとする課題】以上述べてきたよう
に、従来の共有記憶装置においては、複数のアクセス要
求者からのアクセスがあると、ロック機構を設ける場合
は最先の一のアクセス要求者以外はロックの解除まで待
たなければならなず処理効率を悪くする欠点があり、複
数の非同期アクセスを受付ける場合はデータの一貫性の
破綻が起こるという問題点があった。As described above, in the conventional shared storage device, when access is made from a plurality of access requesters, the first access requester when the lock mechanism is provided. Other than that, there is a drawback that processing efficiency is deteriorated because it is necessary to wait until the lock is released, and there is a problem that data consistency is broken when multiple asynchronous accesses are accepted.
【0013】本発明は、上記問題点を考慮してなされた
ものであり、一つの共有ファイルに対し複数の非同期の
アクセス要求を受け付けても、内容の一貫性を保つこと
が可能な共有記憶装置を提供することを目的とする。The present invention has been made in consideration of the above problems, and it is possible to maintain the consistency of contents even if a plurality of asynchronous access requests for one shared file are accepted. The purpose is to provide.
【0014】[0014]
【課題を解決するための手段】本発明(請求項1)に係
る共有記憶装置は、一固りのデータであるファイルを格
納するファイル格納手段と、このファイル格納手段に格
納された同一のファイルに対するアクセス要求を非同期
に複数受付ける要求管理手段と、この要求管理手段が受
付けた前記アクセス要求の履歴を記憶する第1の記憶手
段と、前記アクセス要求の履歴に従って前記ファイルに
対して施した変更の内容を示すデータの履歴を記憶する
第2の記憶手段と、前記第1の記憶手段に記憶された履
歴および前記第2の記憶手段に記憶された履歴に基づい
て、前記ファイル格納手段に格納された前記ファイルを
書き換えるファイル書換手段とを備えたことを特徴とす
る。A shared storage device according to the present invention (claim 1) is a file storage means for storing a file which is a set of data, and the same file stored in this file storage means. Request management means for asynchronously receiving a plurality of access requests to the file, first storage means for storing the history of the access requests received by the request management means, and a change made to the file according to the history of the access requests. Second storage means for storing a history of data indicating the contents, and stored in the file storage means based on the history stored in the first storage means and the history stored in the second storage means. And a file rewriting means for rewriting the file.
【0015】好ましくは、前記要求管理手段は、オペレ
ーティング・システム上で実行されるプログラムを利用
して所定の処理を行う、前記アクセス要求の内容に対応
して設けられた複数の処理部を有し、前記オペレーティ
ング・システムによって提供されるシステム・コール・
テーブルに前記複数の処理部の夫々を起動するためのア
ドレス情報を設定し、前記アクセス要求は、前記システ
ム・コール・テーブルを利用して所望の前記処理部を起
動する形で与えられることを特徴とする。[0015] Preferably, the request management means has a plurality of processing units provided corresponding to the contents of the access request for performing a predetermined process by using a program executed on an operating system. , System calls provided by the operating system
Address information for activating each of the plurality of processing units is set in the table, and the access request is given in a form of activating the desired processing unit using the system call table. And
【0016】[0016]
【作用】本発明(請求項1)に係る共有記憶装置では、
まず、ファイル格納手段に格納された1つの共有ファイ
ルに対するアクセス要求が非同期に複数発生した場合で
あっても、要求管理手段はそれらアクセス要求を受付け
る。In the shared storage device according to the present invention (claim 1),
First, even when a plurality of access requests for one shared file stored in the file storage means are asynchronously generated, the request management means accepts the access requests.
【0017】そして、要求管理手段は受付けたアクセス
要求の履歴を第1の記憶手段に格納する。これは、アク
セス要求を発した各アクセス要求者が、ファイル格納手
段中のファイルの内容を直接する変更する代わりに、第
1の記憶手段中のファイルの内容を変更することを意味
する。Then, the request management means stores the history of the received access request in the first storage means. This means that each access requester who has issued the access request changes the contents of the file in the first storage means, instead of directly changing the contents of the file in the file storage means.
【0018】上記アクセス要求者がファイルに対して施
した変更の内容を示すデータの履歴は、アクセス要求の
履歴に従って第2の記憶手段に記憶される。すなわち、
この変更の内容を示すデータの履歴を参照すれば、非同
期に行われたファイルの内容の変更結果が、任意のアク
セス要求があった時点において再現できる。The history of data indicating the contents of the changes made to the file by the access requester is stored in the second storage means in accordance with the history of the access request. That is,
By referring to the history of the data indicating the content of this change, the result of the asynchronous change of the content of the file can be reproduced at the time of an arbitrary access request.
【0019】ファイル書換手段は、アクセス要求の履歴
および変更の内容を示すデータの履歴に基づいて、ファ
イル格納手段に格納された前記ファイルを書き換える。
従って、一つの共有ファイルに対し複数のアクセス要求
が非同期に発生しても、排他制御を行うことなくすべて
を受け付け、データの一貫性を損なわずにデータの読み
書き/データの更新を行うことができる。The file rewriting means rewrites the file stored in the file storing means on the basis of the history of the access request and the history of the data showing the contents of the change.
Therefore, even if a plurality of access requests are asynchronously issued to one shared file, all can be accepted without performing exclusive control, and data read / write / data update can be performed without impairing data consistency. .
【0020】また、それぞれのアクセス要求者は、他の
アクセス要求者とこの共有記憶装置を共有していること
を考慮せずに、ファイル・アクセスを行うことができ
る。これは、アクセス要求者として既存のアプリケーシ
ョン・プログラム等をほとんどあるいは全く修正せずに
利用できることを意味する。Further, each access requester can perform file access without considering that this shared storage device is shared with other access requesters. This means that an existing application program or the like can be used as an access requester with little or no modification.
【0021】また、請求項2のようにアクセス要求を発
するのにオペレーティング・システムを利用する構成に
した場合は、オペレーティング・システムによって提供
されるコールテーブル中に設定された、ファイル書換手
段へ直接行う“open”,“close”,“rea
d”,“write”といったシステム・コールへのア
ドレス・ポインタの値を、要求管理手段に“ope
n”,“close”,“read”,“write”
のといった各アクセス要求を渡すためのアドレス・ポイ
ンタの値、すなわち要求管理手段中に設けられた“op
en”,“close”,“read”,“writ
e”の各アクセス要求に対応する処理部を起動するため
のアドレス・ポインタの値に書き替えるだけで、既存の
アプリケーション・ソフトウェア等のプログラム自体は
全く変更せずに、アクセス要求者として利用することが
できる。When the operating system is used to issue the access request as in claim 2, the file rewriting means set in the call table provided by the operating system is directly executed. "Open", "close", "rea"
The value of the address pointer to the system call such as "d" or "write" is sent to the request management means as "ope".
n ”,“ close ”,“ read ”,“ write ”
Value of an address pointer for passing each access request, such as "op" provided in the request management means.
en ”,“ close ”,“ read ”,“ writ ”
Use as an access requester without changing the existing application software or other program itself, simply by rewriting the value of the address pointer for activating the processing unit corresponding to each e "access request. You can
【0022】[0022]
【実施例】以下、図面を参照しながら本発明の実施例に
ついて説明する。 (第1の実施例)まず、本発明の第1の実施例に係る共
有記憶装置について説明する。図1には、本実施例の共
有記憶装置の要部構成を示す。この共有記憶装置は、複
数のアクセス要求者21が記憶装置20に格納する共通
のデータを非同期でアクセスできる環境を提供するため
の装置であり、アクセス監視部12、アクセス状態記憶
部14、履歴管理部13、ファイル・アクセス部11、
ファイル管理部10、記憶装置20を備えている。Embodiments of the present invention will be described below with reference to the drawings. (First Embodiment) First, a shared storage device according to a first embodiment of the present invention will be described. FIG. 1 shows the main configuration of the shared storage device of this embodiment. This shared storage device is a device for providing an environment in which a plurality of access requesters 21 can asynchronously access common data stored in the storage device 20, and includes an access monitoring unit 12, an access state storage unit 14, and a history management. Section 13, file access section 11,
A file management unit 10 and a storage device 20 are provided.
【0023】アクセス監視部12には、複数のアクセス
要求者21が接続される。ここで、アクセス要求者と
は、アクセスするオペレータ(の操作する端末等)だけ
ではなく、システム・コールを発するプロセスのこと
や、プロセスの中で複数生成されるファイル記述子のこ
となど、あらゆるアクセス主体を含む。A plurality of access requesters 21 are connected to the access monitoring unit 12. Here, the access requester is not limited to the operator (the terminal operated by the operator) who accesses it, but also the process that issues a system call, the file descriptors that are created in the process, and all other access requests. Including the subject.
【0024】実際には、記憶装置20に格納されている
データは、ファイル管理部10によって意味のある一固
りのデータであるファイルとして管理されており、アク
セス要求者21はファイル管理部10によって提供され
るファイルを編集することで、間接的に記憶装置20に
格納されているデータを編集する。この記憶装置20へ
のアクセスを仮想的に行うために設けられたファイル管
理部10は、公知のものを利用するものとし、ファイル
管理部10から記憶装置20へ到るデータ管理方法につ
いては、説明を省略する。なお、記憶装置20には、ハ
ードディスク、メモリ、ICカードなど、一時的なも
の、取り外し可能なものなど、どのような形式のものを
用いても構わない。In reality, the data stored in the storage device 20 is managed by the file management unit 10 as a file which is a meaningful and solid data, and the access requester 21 is managed by the file management unit 10. By editing the provided file, the data stored in the storage device 20 is indirectly edited. A publicly known file management unit 10 provided to virtually access the storage device 20 is used, and a data management method from the file management unit 10 to the storage device 20 will be described. Is omitted. It should be noted that the storage device 20 may be of any type such as a hard disk, a memory, an IC card or the like, such as a temporary one or a removable one.
【0025】アクセス要求者21は、アクセス監視部1
2に対し、共有ファイル・アクセス要求105を出す。
ここで、共有ファイル・アクセス要求とは、従来の排他
的に許可されるファイル・アクセス要求に対して、共有
のファイルに対して非同期の編集を行うためのアクセス
要求のことを言うものとする。一方、本実施例では、ア
クセス監視部12がファイル管理部10によって提供さ
れるファイルを読み書きするためにファイル・アクセス
部11に発する要求をファイル・アクセス要求という。The access requester 21 uses the access monitoring unit 1
2, the shared file access request 105 is issued.
Here, the shared file access request refers to an access request for asynchronously editing a shared file, in contrast to the conventional exclusively permitted file access request. On the other hand, in this embodiment, a request issued by the access monitoring unit 12 to the file access unit 11 to read / write a file provided by the file management unit 10 is called a file access request.
【0026】また、共有ファイル・アクセス要求には、
アクセス対象のファイル名またはファイル記述子、この
ファイルを開くための“open”要求,ファイルの内
容を読むための“read”要求,ファイルにデータの
追加/削除を行うための“write”要求,ファイル
を閉じるための“close”要求のいずれかの要求、
および“write”要求の場合における追加/削除す
るデータ等を含んでいるものとする。The shared file access request includes
File name or file descriptor to be accessed, "open" request to open this file, "read" request to read the contents of the file, "write" request to add / delete data to the file, file Any of the "close" requests to close the
And data to be added / deleted in the case of the “write” request.
【0027】なお、この共有ファイル・アクセス要求
は、例えば通常提供されている一般的なオペレーティン
グ・システムで、“open”、“close”、“r
ead”、“write”といったシステム・コールの
形で実現しても良い。The shared file access request is, for example, "open", "close", "r" in a generally provided general operating system.
It may be realized in the form of a system call such as "ead" or "write".
【0028】共有ファイル・アクセス要求105を受け
たアクセス監視部12は、共有ファイル・アクセス要求
105を受け取った記録をアクセス状態記憶部14に格
納する。それと同時にアクセス監視部12は、後述する
ように“open”の共有ファイル・アクセス要求、
“close”の共有ファイル・アクセス要求、“re
ad”の共有ファイル・アクセス要求、“write”
の共有ファイル・アクセス要求に応じた処理を行う。ま
た、それぞれの処理の内容は、アクセス状態記憶部14
に格納したデータの内容に従って行われ、ファイル・ア
クセス部11に対してファイル・アクセス要求101を
出す場合と、ファイル・アクセス要求101を出さない
場合がある。The access monitoring unit 12 that has received the shared file access request 105 stores the record that has received the shared file access request 105 in the access state storage unit 14. At the same time, the access monitoring unit 12 sends a shared file access request of “open”, as will be described later.
“Close” shared file access request, “re
shared file access request for "ad", "write"
Performs processing according to the shared file access request of. Further, the contents of each process are as follows.
The file access request 101 is issued to the file access unit 11 in some cases, and the file access request 101 is not issued in other cases.
【0029】ファイル・アクセス部11は、受け取った
ファイル・アクセス要求を処理し、実際のデータの変更
をファイル管理部10に対して行う。ファイル管理部1
0に対して書き込まれたデータは、通常、記憶装置への
アクセス機構であるデバイス・ドライバ(図示せず)を
通じて、実際に記憶装置20に対して書き込みが行われ
る。The file access unit 11 processes the received file access request and changes the actual data to the file management unit 10. File management unit 1
The data written to 0 is actually actually written to the storage device 20 through a device driver (not shown) that is an access mechanism to the storage device.
【0030】以下、ファイル・アクセス部11は、アク
セス監視部12からのファイル・アクセス要求だけを受
け付けるものとして本実施例を説明する。ただし、従来
のように、アクセス要求者21がファイル・アクセス要
求を直接ファイル・アクセス部11に対して与えること
もできるようにしても構わない。The present embodiment will be described below assuming that the file access unit 11 accepts only the file access request from the access monitoring unit 12. However, the access requester 21 may directly provide the file access request to the file access unit 11 as in the conventional case.
【0031】履歴管理部13は、最初のアクセス要求者
21から最後のアクセス要求者21に至るまでの非同期
編集において、共有ファイルの編集内容に関する履歴を
管理する。The history management unit 13 manages the history of the edit contents of the shared file in the asynchronous editing from the first access requester 21 to the last access requester 21.
【0032】次に、上記のごとき構成を有する共有記憶
装置において、非同期編集を行う具体例を処理の実行手
順に従って詳述する。初期状態として、ファイル管理部
10に対するアクセスは何も行われていないものとす
る。このとき、アクセス状態記憶部14は有効なデータ
を何も持っていない状態である。Next, a specific example of performing asynchronous editing in the shared storage device having the above-mentioned configuration will be described in detail according to the execution procedure of processing. In the initial state, it is assumed that no access is made to the file management unit 10. At this time, the access state storage unit 14 is in a state of not having any valid data.
【0033】最初に、第1番目のアクセス要求者21
(以下、要求者Aと呼ぶ)がファイルを読み出すため
に、アクセス監視部12に対して読み出し専用の“op
en”を指示する共有ファイル・アクセス要求105を
発する。このとき、アクセス監視部12は、アクセス履
歴リスト31を作成してアクセス状態記憶部14に格納
する。この状態におけるアクセス履歴リスト31の内容
を示したのが図2である。First, the first access requester 21
A read-only “op” is issued to the access monitoring unit 12 in order to read the file (hereinafter, referred to as requester A).
The shared file access request 105 indicating "en" is issued. At this time, the access monitoring unit 12 creates the access history list 31 and stores it in the access state storage unit 14. The contents of the access history list 31 in this state are stored. It is shown in FIG.
【0034】アクセス履歴リスト31は、ファイル管理
部10の該当するファイルにアクセスするために、現時
点で存在する、該当するファイルへのアクセス要求を記
憶したリストである。具体的には、アクセス要求者21
がアクセス監視部12に対し、ファイルのopen要求
(読み出しまたは書き込み処理の開始の要求)として発
した共有ファイル・アクセス要求105と同数のリスト
である。The access history list 31 is a list in which an access request to a corresponding file existing at the present time in order to access the corresponding file of the file management unit 10 is stored. Specifically, the access requester 21
Is a list of the same number as the shared file access requests 105 issued to the access monitoring unit 12 as file open requests (requests to start read or write processing).
【0035】このアクセス履歴リスト31に登録されて
いるデータは、非同期編集に必要な情報だけで十分あ
る。すなわち、全てのアクセス要求を恒久的に記録する
必要はなく、不要になった時点で消去することが可能で
ある。なお、不要となった時点の判断については後述す
る。The data registered in the access history list 31 is only the information necessary for asynchronous editing. That is, it is not necessary to permanently record all access requests, and it is possible to delete all access requests when they are no longer needed. Note that the determination at the time when it is no longer needed will be described later.
【0036】この時点において、アクセス要求者21は
要求者Aだけなので、アクセス履歴リスト31の持つデ
ータはアクセス履歴120だけである。このアクセス履
歴リスト31には、IDコード110、モード111、
オープン時刻112、クローズ時刻113、カレント1
14、ステート115、バッファ116の7つのフィー
ルドがある。At this point, the access requester 21 is only the requester A, so the access history list 31 has only the access history 120. The access history list 31 includes an ID code 110, a mode 111,
Open time 112, Close time 113, Current 1
There are seven fields, 14, state 115 and buffer 116.
【0037】IDコード110は、アクセス要求者21
からアクセス監視部12に対して与えられた“ope
n”の共有ファイル・アクセス要求ごとに固有に割り当
てられる識別子である。“open”要求以後は、アク
セス要求者21からの共有ファイル・アクセス要求は、
IDコード110を用いて管理される。The ID code 110 is the access requester 21
From the access monitoring unit 12
It is an identifier that is uniquely assigned to each n ”shared file access request. After the“ open ”request, the shared file access request from the access requester 21 is
It is managed using the ID code 110.
【0038】このIDコードは、アクセス監視部12が
“open”の共有ファイル・アクセス要求を受け付け
た度に、アクセス要求者21に対して発給し、以後アク
セス要求者21は、このIDコードを伴って共有ファイ
ル・アクセス要求を発するようにしても良い。また、I
Dコード発給手段を別途設けても良い。あるいはまた、
アクセス要求者21がオペレーティング・システムなど
の環境を利用して“open”の共有ファイル・アクセ
ス要求を発する場合は、この共有ファイル・アクセス要
求時に得られるファイル記述子を、以後IDコードとし
て利用するか、その代りにこのファイル記述子と一意に
対応付けた情報をIDコードとして利用しても良い。さ
らには、後述するオープン時刻、バージョン番号で代用
し、フィールドを1つ削除しても良い。This ID code is issued to the access requester 21 each time the access monitoring unit 12 accepts the shared file access request of "open", and the access requester 21 thereafter carries this ID code. Alternatively, the shared file access request may be issued. Also, I
A D code issuing means may be separately provided. Alternatively,
When the access requester 21 issues an "open" shared file access request using an environment such as an operating system, does the file descriptor obtained at the time of this shared file access request be used as an ID code thereafter? Alternatively, information uniquely associated with this file descriptor may be used as the ID code. Further, one field may be deleted by substituting the open time and the version number described later.
【0039】モード111は、このファイルへのope
n要求のモードを示したもので、ここに書かれている
“r”は読み出し専用であることを意味している。ま
た、ここに“w”と書かれていれば、書き込み専用また
は読み書き両方のモードであることを意味している。Mode 111 is an operation for this file.
The "n" request mode is shown, and "r" written here means read-only. If "w" is written here, it means that the mode is a write-only mode or a read / write mode.
【0040】オープン時刻112は、このファイルへの
open要求が発せられた時刻を示している。この例で
は、時刻t1にオープンされたことを意味している。ま
た、クローズ時刻113は、このファイルへのclos
e要求が発せられた時刻を示している。この例では、ク
ローズ時刻113は書かれていないので、現在オープン
中であるということがわかる。The open time 112 shows the time when the open request for this file is issued. In this example, it means that it was opened at time t1. Also, the close time 113 is the close to this file.
e indicates the time when the request is issued. In this example, since the closing time 113 is not written, it can be seen that it is currently open.
【0041】ここで、上記の時刻は、各事象の発生した
時刻の前後関係を示すためのものであり、例えば計算機
の持つ内部的な時刻でも良いし、またはファイル管理に
バージョン番号を付けてそれを時刻として用いても良
い。また、この時刻はアクセス監視部12だけで用いる
ものであるから、必ずしも他の部分(例えばアクセス要
求者21)から直接にこの時刻が参照できなくても良
い。Here, the above-mentioned time is for indicating the context of the time when each event occurs, and may be, for example, the internal time possessed by the computer, or the version number is added to the file management. May be used as the time. Moreover, since this time is used only by the access monitoring unit 12, it is not always necessary to refer to this time directly from other parts (for example, the access requester 21).
【0042】カレント114は、現在アクセスしている
アクセス要求に関して、ファイル管理部10の該当する
ファイル中で、現在アクセスしている位置を示す値(シ
ーク・ポインタ)である。このシーク・ポインタは、次
に来る“read”の共有ファイル・アクセス要求に対
して、読み出す位置(ファイル内の相対位置)を示すも
のであり、読み出し専用の“open”の場合、デフォ
ルトとして初期値が0となっている。The current 114 is a value (seek pointer) indicating the currently accessed position in the corresponding file of the file management unit 10 with respect to the currently accessed access request. This seek pointer indicates the read position (relative position in the file) for the next "read" shared file access request. In the case of read-only "open", the default value is the initial value. Is 0.
【0043】ステート115は、このアクセス要求者に
関して、実際のアクセス・データが現在どこに格納され
ているかを示している。ステートには、“remot
e”、“local”、“copying”、“cop
ied”、“modified”の5つのモードがあ
る。State 115 indicates where the actual access data is currently stored for this access requester. The state is "remote
e ”,“ local ”,“ copying ”,“ cop ”
There are five modes, ied "and" modified ".
【0044】“remote”は、ファイルの内容はオ
リジナルのファイル管理部10にのみ存在することを意
味している。“local”は、ファイルの内容は履歴
管理部13のデータを参照することによって得られるこ
とを意味している。"Remote" means that the content of the file exists only in the original file management unit 10. “Local” means that the content of the file is obtained by referring to the data of the history management unit 13.
【0045】“copying”は、現在、ファイルの
内容をバッファにコピー中であることを示し、“cop
ied”はバッファへのコピーが終了していることを示
している。“modified”はさらにコピーされた
データに1度でも変更が加えられたことを意味してい
る。"Copying" indicates that the contents of the file are currently being copied to the buffer.
“Ied” indicates that the copying to the buffer is completed, and “modified” means that the copied data has been changed even once.
【0046】図2では、要求者Aのステート115は
“remote”であり、ファイルの内容はファイル管
理部10にのみ存在している。すなわち、実際にファイ
ルの読み出しを行うにはファイル・アクセス部11に対
しファイル・アクセス要求を発しなければならない。In FIG. 2, the requester A state 115 is "remote", and the contents of the file exist only in the file management unit 10. That is, to actually read the file, the file access request must be issued to the file access unit 11.
【0047】バッファ116は、アクセス要求ごとに持
つファイル内容である。これはデータそのものでも良い
が、本実施例においては、データ本体へのポインタとし
て記述する。現在、要求者Aに関してはバッファは持た
ないので、このデータの内容は未定義である。バッファ
のデータを持つのは、書き込みモードで“open”さ
れた時だけである。The buffer 116 is a file content held for each access request. This may be the data itself, but in the present embodiment, it is described as a pointer to the data body. Currently, the requester A does not have a buffer, so the content of this data is undefined. The buffer has data only when it is "opened" in the write mode.
【0048】次に、第2のアクセス要求者21(以下、
要求者Bと呼ぶ)がファイルに書き込み(上書き)を行
うために、アクセス監視部12に対して時刻t2に書き
込みの“open”を指示する共有ファイル・アクセス
要求105を発したものとする。Next, the second access requester 21 (hereinafter,
In order to write (overwrite) the file by the requester B, it is assumed that the shared file access request 105 for instructing “open” for writing is issued to the access monitoring unit 12 at time t2.
【0049】このように、書き込みのできる“ope
n”が指示された場合は、先の要求者Aによる読み出し
専用の“open”の場合とは異なり、アクセス監視部
12は、ファイル・アクセス部11を用いてファイル管
理部10を作動させ、一旦ファイル全体を読み出して、
内容をアクセス状態記憶部14および履歴管理部13に
データを書き込む。As described above, the writable "ope"
When “n” is instructed, unlike the case of the read-only “open” by the requester A, the access monitoring unit 12 activates the file management unit 10 using the file access unit 11, and once Read the entire file,
The data is written in the access state storage unit 14 and the history management unit 13.
【0050】具体的には、ファイル・アクセス部11に
対しファイル・アクセス要求を出し、読み出し専用の
“open”をした後に“read”を行い、ファイル
全体を読み出して“close”する。そして読み出し
た内容を、アクセス状態記憶部14のバッファ201と
履歴管理部13に書き込む。なお、ここでは、要求者B
の共有ファイル・アクセス要求は書き込みモードである
が、ファイル・アクセス部11に与えるファイル・アク
セス要求は読み出し専用モードを用いる。Specifically, a file access request is issued to the file access unit 11, a read-only "open" is performed, and then "read" is performed, and the entire file is read and "closed". Then, the read contents are written in the buffer 201 and the history management unit 13 of the access state storage unit 14. Here, the requester B
The shared file access request is a write mode, but the file access request given to the file access unit 11 uses a read-only mode.
【0051】まず、ステート115に“copyin
g”を設定し、コピーを開始する。この時点で、要求者
Bからアクセス監視部12への“open”をする共有
ファイル・アクセス要求は正当に終了する。システム・
コールの場合には、正常に終了したことを意味するステ
ータスを要求者Bに返す。このようにするれば、コピー
している時間、要求者Bのプログラム処理の実行が中断
することを防ぐことができる。コピーが終了したら、ス
テート115を“copied”とする。First, the state 115 is set to "copyin".
g ”is set and copying is started. At this point, the request for shared file access from the requester B to the access monitoring unit 12 to“ open ”is properly terminated.
In the case of a call, the status indicating that the call is normally completed is returned to the requester B. By doing so, it is possible to prevent the execution of the program processing of the requester B from being interrupted during the copying. When the copying is completed, the state 115 is set to "copied".
【0052】この際、要求者Bの発した書き込みope
n要求が、元のファイル管理部10のデータとは関係な
く(つまり元のデータは消去して)書き込むモードであ
った場合には、バッファ201へのデータのコピーは省
略することができる。At this time, the write operation issued by the requester B
When the n request is the write mode regardless of the original data of the file management unit 10 (that is, the original data is erased), the copying of the data to the buffer 201 can be omitted.
【0053】この処理の終了後のアクセス状態記憶部1
4および履歴管理部13のデータは、それぞれ図3
(a)および図3(b)のようになる。アクセス履歴1
21のステート115は“copied”となっている
ので、要求者Bの読み書きするデータは一旦バッファ2
01で行うことを意味している。Access state storage unit 1 after completion of this processing
4 and the data of the history management unit 13 are shown in FIG.
It becomes like (a) and FIG.3 (b). Access history 1
Since the state 115 of 21 is “copied”, the data read / written by the requester B is temporarily stored in the buffer 2
01 means to do.
【0054】ここで、アクセス履歴121のステート1
15が“copying”である間は、要求者Bからの
write要求は一時ペンディングされるので、非常に
大きなサイズのファイルを扱う場合にはこのペンディン
グ時間が無視できなくなる。そこで、バッファをいくつ
かに分割し、それぞれにステート情報を付ける手法を用
いると、ペンディング時間を縮小できるので効果的であ
る。なお、この手法は、従来からある共有ファイルのロ
ック時間を短くする一般的な手法と同様であるので、本
実施例においては説明を省略する。Here, the state 1 of the access history 121
While 15 is "copying", the write request from the requester B is temporarily suspended. Therefore, this pending time cannot be ignored when handling a very large file. Therefore, it is effective to divide the buffer into several parts and add state information to each, because the pending time can be shortened. It should be noted that this method is similar to the conventional general method for shortening the lock time of a shared file, and therefore the description thereof will be omitted in this embodiment.
【0055】また、要求者Aからのopen情報である
アクセス履歴120のステート115は、“remot
e”から“local”に変わる。つまり、要求者Aか
らread要求があると、アクセス監視部12は、デー
タをファイル・アクセス部11へのファイル・アクセス
要求によって得るのではなく、履歴管理部13のデータ
から得ることを意味している。こうすることにより、余
分なファイル・アクセスを省略し、高速化することがで
きる。The state 115 of the access history 120, which is open information from the requester A, is "remote."
e ”changes to“ local. ”That is, when there is a read request from the requester A, the access monitoring unit 12 does not obtain the data by the file access request to the file access unit 11, but the history management unit 13 It means that it is obtained from the data of 1. By doing so, extra file access can be omitted and the speed can be increased.
【0056】履歴管理部13には、コピーしたデータ・
ブロック134および作成時刻131、消去時刻13
2、データ・ブロック134のサイズ133が記録され
る。作成時刻は、このブロックのデータが有効になった
時刻で、この場合は最初に要求者Aによってopenさ
れたt1となっている。また、削除時刻132は、ブロ
ックのデータが無効になった時刻であり、この場合は未
定義である。The history management unit 13 stores the copied data
Block 134, creation time 131, deletion time 13
2. The size 133 of the data block 134 is recorded. The creation time is the time when the data in this block becomes valid, and in this case, it is t1 that was first opened by the requester A. The deletion time 132 is the time when the data in the block becomes invalid, and in this case, it is undefined.
【0057】なお、削除時刻132が必要であること
は、このブロックのデータが消去されても、非同期編集
が終了するまでは上記履歴を残しておくことを意味す
る。次に、第3番目のアクセス要求者21(以下、要求
者Cと呼ぶ)が要求者Aと同様に、ファイルを読み出す
ためにアクセス監視部12に対して読み出し専用の“o
pen”を指示する共有ファイル・アクセス要求105
を時刻t3に出し、次のアクセス要求者21(以下、要
求者Dと呼ぶ)が要求者Bと同様に書き込みの“ope
n”を指示する共有ファイル・アクセス要求105を時
刻t4に発したものとする。The need for the deletion time 132 means that even if the data in this block is deleted, the above history is kept until the asynchronous editing is completed. Next, the third access requester 21 (hereinafter referred to as requester C), like requester A, requests the read-only “o” to the access monitoring unit 12 to read the file.
shared file access request 105 instructing "pen"
At time t3, and the next access requester 21 (hereinafter referred to as requester D) writes "ope" in the same manner as requester B.
It is assumed that the shared file access request 105 instructing "n" is issued at time t4.
【0058】このとき、アクセス状態記憶部14の内容
は図4のようになっている。この際、要求者Dからの共
有ファイル・アクセス要求によって、アクセス監視部1
2がバッファ202を作成する場合は要求者Bの場合と
は動作が異なる。すなわち、要求者Bの場合にはファイ
ル・アクセス部11に対し、ファイルを読み出すための
アクセス要求を出す必要があったが、要求者Dの場合に
は同一のデータが履歴管理部13に存在するので、それ
をコピーすれば済むわけである。コピーの方法として
は、履歴管理部13のデータ・ブロック134のうち、
消去時刻132に消去された時刻の記録されていないも
のの全てを順次コピーすれば良い。At this time, the contents of the access state storage unit 14 are as shown in FIG. At this time, the access monitoring unit 1 receives a shared file access request from the requester D.
When 2 creates the buffer 202, the operation is different from that of the requester B. That is, in the case of the requester B, it was necessary to issue an access request for reading the file to the file access unit 11, but in the case of the requester D, the same data exists in the history management unit 13. So you can just copy it. As a copying method, one of the data blocks 134 of the history management unit 13 is
At the erasing time 132, all the unerased times that have not been recorded may be sequentially copied.
【0059】なお、要求者Dのアクセス要求に応じた動
作は、先の要求者Bの場合と同様であるので、説明は省
略する。さて、現在、4人の要求者はそれぞれ独立にr
ead/writeを行っている。すなわち、要求者A
と要求者Cはファイル管理部10によって提供された該
当するファイルに対して、要求者Bと要求者Dはそれぞ
れバッファ201およびバッファ202に対して従来と
同様の方法でread/writeを行っている。この
時点での編集中のアクセス状態記憶部14のデータは、
図5のようになっているものとする。すなわち、要求者
Bからはファイルの途中を変更(上書き)されており、
要求者Dからはファイルの最後にデータが追加されてい
る。それぞれアクセス履歴121および123のカレン
ト114とステート115が書き変わっている。Since the operation in response to the access request from the requester D is the same as that of the requester B, the description thereof will be omitted. Now, the four requesters are now independent
I am doing ead / write. That is, requester A
The requester C and the requester C perform read / write on the corresponding file provided by the file management unit 10 in the same manner as in the conventional method, respectively, for the requester B and the requester D. . The data in the access state storage unit 14 being edited at this point is
It is assumed that it is as shown in FIG. That is, the requester B has changed (overwritten) the middle of the file,
Data is added from the requester D to the end of the file. The current 114 and state 115 of the access histories 121 and 123 are rewritten.
【0060】次に、要求者Bが時刻t5に、アクセス監
視部12に対しファイルの“close”を行う共有フ
ァイル・アクセス要求105を発したものとする。この
とき、アクセス履歴121のステート115が“cop
ied”であれば、何も書き込まれていないので、以下
の処理は行われない。一方、何らかの書き込みが行われ
て、ステート115が“modified”になった場
合は、以下のような処理が行われる。Next, it is assumed that the requester B issues a shared file access request 105 to "close" a file to the access monitoring unit 12 at time t5. At this time, the state 115 of the access history 121 is "cop.
If it is “ied”, nothing is written, and therefore the following processing is not performed. On the other hand, if the state 115 is changed to “modified”, the following processing is performed. Be seen.
【0061】まず、アクセス監視部12は、履歴管理部
13のデータを基に、要求者Bのオープン時点でのファ
イル内容を取り出す。それには、アクセス履歴121の
オープン時刻112からt2を取り出す。次に、履歴管
理部13のデータブロック134のうち、作成時刻13
1がt2と同じかまたは小さい(それ以前)であり、か
つ、消去時刻132が未定義かまたはt2より大きい
(それ以降)ものを順次取り出す。First, the access monitoring unit 12 extracts the file contents at the time of the requester B's opening, based on the data of the history management unit 13. To this end, t2 is retrieved from the open time 112 of the access history 121. Next, in the data block 134 of the history management unit 13, the creation time 13
Those in which 1 is the same as or smaller than t2 (before it) and the erase time 132 is undefined or larger than t2 (after that) are sequentially fetched.
【0062】取りだしたオープン時点の内容と現在のバ
ッファ201の内容とを比較し、内容の違いの検出(d
iff処理)を行う。内容の違いを検出するには、例え
ば公知のdiffアルゴリズムを使えば良い。また、d
iff処理の単位は任意であり、例えば電子掲示板や共
同著作のような文書であれば文字単位で行えば良いし、
行単位で行っても良いし、データ・ベースならばデータ
・レコード単位に行っても良い。どのような方法を採用
しても、基本的なアルゴリズムは同じであれる。The extracted contents at the time of opening are compared with the current contents of the buffer 201 to detect a difference in contents (d
if processing). To detect the difference in content, for example, a known diff algorithm may be used. Also, d
The unit of the if process is arbitrary. For example, in the case of a document such as an electronic bulletin board or a collaborative work, it may be performed in character units.
It may be performed on a line-by-line basis or on a data record basis if it is a data base. Whatever method is used, the basic algorithm is the same.
【0063】diff処理の結果としては、削除、挿
入、入替が得られるが、入替は削除と挿入との組み合わ
せとして取扱い、削除された部分および挿入された部分
に分ける。この結果を図形的に示したものが図6であ
る。これを数値的に、 (delete,#30,#20) (insert,#30,#20) と表すものとする。それぞれ、オープン時点での先頭か
ら#30の位置からサイズ#20だけ削除したこと、お
よびオープン時点での先頭から#30の位置にサイズ#
20のデータを挿入したことを意味している。この結果
を、履歴管理部13のデータに反映させる。As a result of the diff process, deletion, insertion, and replacement can be obtained. The replacement is treated as a combination of deletion and insertion, and divided into a deleted part and an inserted part. FIG. 6 graphically shows this result. This is numerically represented as (delete, # 30, # 20) (insert, # 30, # 20). The size # 20 is deleted from the position # 30 from the beginning at the time of opening, and the size # 20 is deleted from the position # 30 from the beginning at the time of opening.
This means that 20 data items have been inserted. The result is reflected in the data of the history management unit 13.
【0064】上記結果を反映させるための処理は、ロッ
クを掛け、他のclose処理と同時には行わないよう
に排他制御を行う。ただし、この排他制御による待ち時
間は、極めて短いものと考えられる。In the processing for reflecting the above result, a lock is applied and exclusive control is performed so as not to be performed at the same time as other close processing. However, the waiting time due to this exclusive control is considered to be extremely short.
【0065】上記結果を反映させるための処理では、ま
ず、データを削除/挿入する位置の検出を行う。それに
は、履歴管理部13のデータを先頭からスキャンし、指
定された位置まで数えて行く。データを数える際には、
オープン時点(t2)において存在したブロックだけを
数え、それ以外はカウントしない。オープン時点に存在
したか否かは、作成時刻131と消去時刻132とを用
い、読み出し時と同様に判断する。In the processing for reflecting the above result, first, the position where data is deleted / inserted is detected. To do this, the data in the history management unit 13 is scanned from the beginning, and counting is performed up to the designated position. When counting data,
Only the blocks existing at the time of opening (t2) are counted, and the other blocks are not counted. Whether or not the file exists at the time of opening is determined using the creation time 131 and the erasing time 132 as in the case of reading.
【0066】指定された位置を検出したら、該当する位
置がデータ・ブロック134の途中部分であればそこで
分割し、変更以前の情報が失われないようにしながらd
iff処理の結果をマージする。その結果、履歴管理部
13のデータは図7のようになる。異なるアクセス要求
者21が同一の箇所に挿入を行った場合には、両者の挿
入データが残り、同一の箇所を削除した場合には単純に
それを削除する。なお、これら手順の詳細は後述する。When the designated position is detected, if the corresponding position is in the middle of the data block 134, it is divided there, so that the information before the change is not lost.
Merge the results of the if process. As a result, the data of the history management unit 13 becomes as shown in FIG. When different access requesters 21 insert at the same location, both insert data remain, and when the same location is deleted, they are simply deleted. The details of these procedures will be described later.
【0067】図7に示すようなデータ構造を用いれば、
前述した方法により、時刻t5時点のファイル内容だけ
ではなく、任意の時刻におけるファイル内容を得ること
ができる。Using the data structure shown in FIG. 7,
By the method described above, not only the file content at time t5 but also the file content at any time can be obtained.
【0068】この時点で、時刻t5時点のファイル内容
を元のファイル管理部10の該当するファイルに保存し
て信頼性を向上させても良いが、本実施例ではこの時点
で保存は行わず、処理の効率化を図るために後述するよ
うにすべてのアクセス要求者21がクローズした時点で
保存する。At this point, the file contents at the time t5 may be saved in the corresponding file of the original file management unit 10 to improve the reliability, but in this embodiment, the saving is not performed at this time, In order to improve the efficiency of the processing, the data is saved when all access requesters 21 have closed, as will be described later.
【0069】一方、アクセス履歴121の内容は、クロ
ーズ時刻t5が書き込まれ、カレント114、ステート
115およびバッファ116は未定義となる。また、バ
ッファ201は不要となり消去される。なお、この時点
以降の処理において、このデータは参照されないので、
消去は最後にまとめて行っても良い。On the other hand, in the contents of the access history 121, the closing time t5 is written, and the current 114, the state 115 and the buffer 116 are undefined. Further, the buffer 201 becomes unnecessary and is erased. Note that this data is not referenced in the processing after this point, so
Erasing may be done together at the end.
【0070】これら詳述したclose操作の際には、
履歴管理部13の持つデータのうち、不要となったもの
があればそれを消去することができる。不要となったデ
ータとは、アクセス履歴リスト31に記載されたアクセ
ス履歴のうち、既にクローズされたもの以外のもののオ
ープン時刻の最も小さい(最も時刻の早い)ものよりも
消去時刻132の小さいか等しい(消去時刻132が未
定義のものは除く)データ・ブロック134およびそれ
に付随する作成時刻131、消去時刻132およびサイ
ズ133である。言い替えると、オープン中のアクセス
よりも以前に消去されたデータの履歴は不要になるとい
うことである。ただし、この例では、不要となる(消去
すべき)データは無い。In the close operation described above,
If there is unnecessary data among the data held by the history management unit 13, it can be deleted. The unnecessary data means that the erase time 132 is smaller than or equal to the smallest open time (earliest time) of the access histories listed in the access history list 31 other than those already closed. The data block 134 (excluding those whose erase time 132 is undefined) and its associated creation time 131, erase time 132, and size 133. In other words, the history of data erased before the open access is unnecessary. However, in this example, there is no unnecessary data (which should be erased).
【0071】一方、上記したような処理の間に、要求者
Aはデータの“read”を行い、アクセス履歴120
のカレントが#70まで進んでおり。要求者Cもデータ
の“read”を行い、アクセス履歴122のカレント
114は#30まで進んでいるものとする。このよう
に、各アクセス要求者21の処理は他の処理と並行して
実行することができる。On the other hand, during the processing as described above, the requester A performs "read" of the data, and the access history 120
The current of has advanced to # 70. It is assumed that the requester C also "reads" the data and the current 114 of the access history 122 has advanced to # 30. In this way, the processing of each access requester 21 can be executed in parallel with other processing.
【0072】このような手順により、クローズ後のアク
セス状態記憶部14の内容は、図8のようになる。次
に、要求者Cが時刻t6に“close”の共有ファイ
ル・アクセス要求を出し、クローズしたものとする。こ
こで必要となる処理は、アクセス履歴リスト31のアク
セス履歴122にクローズ時刻を書き込み、カレント1
14、ステート115のフィールドを未定義にするだけ
である。By this procedure, the contents of the access state storage unit 14 after closing are as shown in FIG. Next, it is assumed that the requester C issues a “close” shared file access request at time t6 and closes it. The processing required here is that the closing time is written in the access history 122 of the access history list 31, and the current 1
14. The state 115 field is simply undefined.
【0073】さらに、要求者Bの場合と同様、履歴管理
部13の持つデータのうち、不要となったものがあれば
消去する。ただし、この場合には不要となったものは無
い。次に、要求者Dが時刻t7に“close”の共有
ファイル・アクセス要求を出し、クローズしたものとす
る。この場合は、要求者Bの場合と同様に、まず要求者
Dのオープン時刻(t4)におけるファイルの内容を履
歴管理部13から同様の手順で読み出し、バッファ20
2のデータとの違いを検出する。その結果、 (insert,#100,#20) が得られる。すなわち、先頭から#100の位置(ファ
イルの最後尾に相当する位置)にサイズ#20のデータ
を挿入したという意味である。この変更を要求者Bの場
合と同様に履歴管理部13のデータに反映させ、アクセ
ス履歴リスト31のアクセス履歴123のクローズ時刻
113を書き込み、カレントll4とステート115と
バッファ116を無効にし、バッファ202のデータを
消去する。Further, as in the case of the requester B, of the data held by the history management unit 13, if there is unnecessary data, it is deleted. However, in this case, nothing is unnecessary. Next, it is assumed that the requester D issues a "close" shared file access request at time t7 and closes it. In this case, as in the case of the requester B, first, the contents of the file at the open time (t4) of the requester D are read from the history management unit 13 in the same procedure, and the buffer 20 is read.
Detect the difference from the data in 2. As a result, (insert, # 100, # 20) is obtained. That is, it means that the data of size # 20 is inserted at the position # 100 from the beginning (the position corresponding to the end of the file). As in the case of the requester B, this change is reflected in the data of the history management unit 13, the closing time 113 of the access history 123 of the access history list 31 is written, the current 114, the state 115, and the buffer 116 are invalidated, and the buffer 202 Erase the data in.
【0074】これらの操作を行った後のアクセス状態記
憶部14および履歴管理部13の内容をそれぞれ示した
のが図9(a)および図9(b)である。最後に、要求
者Aが“close”の共有ファイル・アクセス要求を
出し、クローズしたものとする。この時点で、オープン
中の要求者は一人もいなくなり、アクセス履歴リスト3
1に記述された全てのアクセス履歴を消去する。The contents of the access state storage unit 14 and the history management unit 13 after performing these operations are shown in FIGS. 9 (a) and 9 (b), respectively. Finally, it is assumed that the requester A issues a "close" shared file access request and closes it. At this point, no requester is open and access history list 3
All access history described in 1 is deleted.
【0075】そして、書き込みモードでのファイルの
“open”を行うファイル・アクセス要求をファイル
・アクセス部11に出し、履歴管理部13から最新の
(現在の)ファイルの内容を全て読み出し、そのデータ
のwrite要求およびclose要求をファイル・ア
クセス部11に出し、ファイル管理部10のデータの更
新が完了する。履歴管理部13のデータも不要になるの
で消去する。Then, a file access request for "opening" the file in the write mode is issued to the file access unit 11, all the contents of the latest (current) file are read from the history management unit 13, and the data of that data is read. The write request and the close request are issued to the file access unit 11, and the update of the data in the file management unit 10 is completed. The data of the history management unit 13 is also unnecessary and is deleted.
【0076】以上によって、例として取り上げたアクセ
ス要求者A〜Dによる、非同期編集のすべての処理が終
了する。ここで、書き込みモードでのファイルの“op
en”を行ったファイルをクローズする際に、変更部分
(diff)を履歴管理部13に反映させる手順の詳細
説明を行う。By the above, all the processes of asynchronous editing by the access requesters A to D taken as an example are completed. Here, the file "op" in write mode
A detailed description will be given of the procedure for reflecting the changed portion (diff) in the history management unit 13 when the file that has undergone "en" is closed.
【0077】この手順を、フローチャートを用いて具体
的に記述したのが図10,11および図12,13であ
る。図10,11は挿入処理の手順を示したものであ
る。fromは“open”した時点のデータで見た挿
入位置、“size”は挿入するデータのサイズであ
る。“cp”は現在スキャンしている履歴管理部13の
データの先頭からのバイアスである。“t0”はこの処
理を行う要求者21のオープンした時刻である。“t”
はclose処理を行った(現在の)時刻である。“s
izeof”はその変数の格納されている領域のサイズ
を意味している。This procedure is specifically described with reference to flowcharts in FIGS. 10 and 11 and FIGS. 10 and 11 show the procedure of the insertion process. "from" is the insertion position seen in the data at the time of "opening", and "size" is the size of the data to be inserted. "Cp" is a bias from the beginning of the data of the history management unit 13 that is currently being scanned. "T0" is the time when the requester 21 who performs this processing opens. "T"
Is the (current) time when the close process was performed. "S
“izeof” means the size of the area in which the variable is stored.
【0078】図12,13は消去処理の手順を示したも
のである。変数の意味は図10,11の場合と同様であ
る。ただし、“from”はオープンした時点のデータ
で見た削除開始位置である。12 and 13 show the procedure of the erasing process. The meanings of the variables are the same as those in FIGS. However, "from" is the deletion start position seen in the data at the time of opening.
【0079】以上のような手順により、要求者A,B,
C,Dからの4つの別々のアクセスを非同期に実行する
ことができ、しかもそれらのデータの読み出しおよび書
き込みを矛盾なく実行し、ファイルの内容に反映させる
ことができる。By the above procedure, requesters A, B,
Four separate accesses from C and D can be executed asynchronously, and reading and writing of those data can be executed without contradiction and reflected in the contents of the file.
【0080】以上説明したように、本実施例に係る共有
記憶装置では、1つの共有ファイルに対して非同期に複
数発生したアクセス要求の履歴と、アクセス要求によっ
て該当するファイルに対して施された変更の内容を示す
データの履歴とを記憶するとともに、この2つの履歴に
基づいてファイル管理部によって提供されるファイルす
なわち(記憶装置20中のデータ)を書き換えるように
構成した。従って、一つの共有ファイルに対し複数のア
クセス要求が非同期に発生しても、排他制御を行うこと
なくすべてを受け付け、データの一貫性を損なわずにデ
ータの読み書き/データの更新を行うことができる。As described above, in the shared storage device according to the present embodiment, the history of a plurality of access requests asynchronously generated for one shared file and the change made to the corresponding file by the access request. And a history of data indicating the contents of the above are stored, and a file provided by the file management unit, that is, (data in the storage device 20) is rewritten based on these two histories. Therefore, even if a plurality of access requests are asynchronously issued to one shared file, all can be accepted without performing exclusive control, and data read / write / data update can be performed without impairing data consistency. .
【0081】また、それぞれのアクセス要求者は、他の
アクセス要求者とこの共有記憶装置を共有していること
を考慮せずに、ファイル・アクセスを行うことができ
る。これは、アクセス要求者として既存のアプリケーシ
ョン・プログラム等をほとんどあるいは全く修正せずに
利用できることを意味する。Further, each access requester can perform file access without considering that this shared storage device is shared with other access requesters. This means that an existing application program or the like can be used as an access requester with little or no modification.
【0082】(第2の実施例)次に、本発明の第2の実
施例について説明する。本実施例は、第1の実施例の応
用として、同実施例の共有記憶装置を既存のアプリケー
ション・プログラムから活用することを可能にしたもの
である。また、本実施例では、少なくともアクセス監視
部12は、オペレーティング・システム上で実行される
プログラムを利用して所定の処理を行う部分を有すると
ともに、各共有アクセス要求は、オペレーティング・シ
ステムによって提供されるシステム・コールを利用して
行われることを前提としている。(Second Embodiment) Next, a second embodiment of the present invention will be described. As an application of the first embodiment, this embodiment makes it possible to utilize the shared storage device of the same embodiment from an existing application program. Further, in the present embodiment, at least the access monitoring unit 12 has a unit that performs a predetermined process using a program executed on the operating system, and each shared access request is provided by the operating system. It is supposed to be done by using system call.
【0083】まず、従来の共有記憶装置について図14
を参照しながら説明する。一般に、オペレーティング・
システムにおいて、ファイル管理部10にて提供される
ファイルに対するopen/close/read/w
riteといった処理は、システム・コールという形で
提供され、それをアクセス要求者(図示せず)がアクセ
ス要求する際に利用するようになっている。図14の従
来の共有記憶装置では、これらシステム・コールはファ
イル・アクセス部11に対しopen/close/r
ead/writeのファイル・アクセス要求を出し、
このファイル・アクセス要求を受け付けたファイル・ア
クセス部11が要求内容に応じてファイル管理部10に
よって提供されるファイルの読み書きを実行する。First, FIG. 14 shows a conventional shared storage device.
Will be described with reference to. In general, operating
In the system, open / close / read / w for files provided by the file management unit 10
A process such as write is provided in the form of a system call, which is used when an access requester (not shown) makes an access request. In the conventional shared storage device shown in FIG. 14, these system calls are issued to the file access unit 11 open / close / r.
Issue a file access request for ead / write,
The file access unit 11 that has received the file access request executes reading and writing of the file provided by the file management unit 10 according to the request content.
【0084】具体的には、アクセス要求者が、図14の
ように各システム・コールの関数を参照するシステム・
コール・テーブル41から、実際のシステム・コール関
数140を参照して呼び出し実行する。各システム・コ
ール関数140は直接、デバイス・ドライバ42に指示
を与えてファイル管理部10のファイルに対して読み書
きを実行する。Specifically, the system that the access requester refers to the function of each system call as shown in FIG.
From the call table 41, the actual system call function 140 is referred to and executed. Each system call function 140 directly gives an instruction to the device driver 42 to read / write the file of the file management unit 10.
【0085】なお、ここで説明しているシステム・コー
ル・テーブル41の構造は、ダイナミック・リンキング
(dynamic linking)と呼ばれる公知の
オペレーティング・システムの機構の概略であり、一般
にはより複雑な構造を有するが、良く知られているので
詳細な説明は省略する。The structure of the system call table 41 described here is a general outline of a known operating system mechanism called dynamic linking, and generally has a more complicated structure. However, since it is well known, detailed description is omitted.
【0086】上記構成を有するような従来の共有記憶装
置では、前述したように非同期編集を行うことができな
かった。これに対し、図15に示す本実施例の共有記憶
装置では、第1の実施例の構成を利用して非同期編集を
可能にするとともに、上記のようなオペレーティング・
システムにおいて、システム・コールの関数を参照する
システム・コール・テーブル41のデータを書き換え、
アクセス監視部12に対して共有ファイル・アクセス要
求を発する関数に置き換えるように構成して、既存のア
プリケーション・プログラムを修正せずにアクセス要求
者21として共有記憶装置に接続できるようにしてい
る。In the conventional shared storage device having the above structure, asynchronous editing cannot be performed as described above. On the other hand, the shared storage device of this embodiment shown in FIG. 15 uses the configuration of the first embodiment to enable asynchronous editing, and
In the system, rewrite the data in the system call table 41 that references the system call function,
The access monitoring unit 12 is configured to be replaced with a function that issues a shared file access request so that the access requester 21 can be connected to the shared storage device without modifying an existing application program.
【0087】図15に示すように、本実施例の構成は基
本的には前述した第1の実施例と同様であり、アクセス
要求者21がアクセス監視部12に与える共有ファイル
・アクセス要求の受け渡しの機構に特徴を持たせたもの
である。よって、図1に対応する部分には同一番号を付
してその詳細な説明は省略し、主に本実施例の特徴であ
る共有アクセス要求を説明する。As shown in FIG. 15, the configuration of this embodiment is basically the same as that of the first embodiment described above, and the shared file access request given to the access monitoring unit 12 by the access requester 21 is passed. It is a feature of the mechanism of. Therefore, the parts corresponding to those in FIG. 1 are denoted by the same reference numerals and detailed description thereof is omitted, and the shared access request, which is a feature of this embodiment, will be mainly described.
【0088】本実施例において、アクセス要求者21
は、システム・コール・テーブル41の持つシステム・
コールに対応する関数を参照した上で、open/cl
ose/read/writeの関数を実行する。オペ
レーティング・システムにおけるシステム・コールの関
数を参照するシステム・コール・テーブル41のデータ
は、オペレーティング・システムによって提供されるo
pen関数/close関数/read関数/writ
e関数140への接続データ(アドレス・ポインタ)か
ら、アクセス監視部12によって提供される共有ope
n関数/共有close関数/共有read関数/共有
write関数141への接続データ(アドレス・ポイ
ンタ)に書き換えられている。In this embodiment, the access requester 21
Is the system that the system call table 41 has
After referring to the function corresponding to the call, open / cl
Executes ose / read / write functions. The data of the system call table 41 that refers to the function of the system call in the operating system is provided by the operating system.
pen function / close function / read function / write
From the connection data (address pointer) to the e-function 140, the shared operation provided by the access monitoring unit 12
The connection data (address pointer) to the n function / shared close function / shared read function / shared write function 141 is rewritten.
【0089】従って、既存のアプリケーション・プログ
ラムからなるアクセス要求者21が、open関数/c
lose関数/read関数/write関数を実行し
た結果、実際は共有open関数/共有close関数
/共有read関数/共有write関数141が実行
されることになる。Therefore, the access requester 21 consisting of the existing application program is set to open function / c.
As a result of executing the lose function / read function / write function, the shared open function / shared close function / shared read function / shared write function 141 is actually executed.
【0090】ここで、共有open関数/共有clos
e関数/共有read関数/共有write関数は、そ
れぞれ第1の実施例で説明した“open”をする共有
ファイル・アクセス要求に応じた処理/“close”
をする共有ファイル・アクセス要求に応じた処理/“r
ead”をする共有ファイル・アクセス要求に応じた処
理/“write”をする共有ファイル・アクセス要求
に応じた処理に該当する。なお、図15では、共有op
en関数/共有close関数/共有read関数/共
有write関数141はそれぞれ独立した形で構成さ
れているが、各関数141に共通する処理に対応する部
分は1つの処理実体として構成して4つの関数141で
共有化しても良い。Here, shared open function / shared close
The e function / shared read function / shared write function are processes / “close” according to the shared file access request for “opening” described in the first embodiment, respectively.
Shared file access process / “r
This corresponds to a process in response to a shared file access request for "ead" / a process in response to a shared file access request for "write". Note that in FIG.
Although the en function / shared close function / shared read function / shared write function 141 are configured independently of each other, the portion corresponding to the processing common to each function 141 is configured as one processing entity and four functions are provided. You may share in 141.
【0091】一方、ファイル管理部10に対する実際の
open関数/close関数/read関数/wri
te関数は、ファイル・アクセス部11内からコールさ
れる。このopen関数/close関数/read関
数/write関数は、それぞれ第1の実施例で説明し
たファイル・アクセス部11が実際のデータの変更をフ
ァイル管理部10に対して行うopen/close/
read/writeのファイル・アクセス要求に該当
する。On the other hand, an actual open function / close function / read function / wri for the file management unit 10 is executed.
The te function is called from inside the file access unit 11. The open function / close function / read function / write function are open / close / for which the file access unit 11 described in the first embodiment actually changes the data to the file management unit 10.
This corresponds to a read / write file access request.
【0092】アクセス監視部12は、第1の実施例にお
いて詳述した通り、アクセス要求者21からの非同期ア
クセスを管理し、アクセス情報記憶部14の内容に従
い、必要に応じてファイル・アクセス部11に対しファ
イル・アクセス要求を出して、ファイル管理部10の該
当するファイルの読み書きを実行する。As described in detail in the first embodiment, the access monitoring unit 12 manages the asynchronous access from the access requester 21, and according to the contents of the access information storage unit 14, the file access unit 11 if necessary. To the file management unit 10, and the file management unit 10 reads and writes the corresponding file.
【0093】このように本実施例によれば、第1の実施
例で述べたように一つの共有ファイルに対し複数のアク
セス要求が非同期に発生しても、排他制御を行うことな
くすべてを受け付け、データの一貫性を損なわずにデー
タの読み書き/データの更新を行うことができる。As described above, according to the present embodiment, even if a plurality of access requests for one shared file are asynchronously generated as described in the first embodiment, all are accepted without performing exclusive control. , Data can be read / written / updated without impairing data consistency.
【0094】さらに本実施例では、オペレーティング・
システムによって提供されるコールテーブル41中に設
定された、ファイル・アクセス手段11へ直接行う“o
pen”,“close”,“read”,“writ
e”といったシステム・コールへのアドレス・ポインタ
の値(図14参照)を、アクセス監視手段12に“op
en”,“close”,“read”,“writ
e”のといった各アクセス要求を渡すためのアドレス・
ポインタの値、すなわちアクセス監視手段12中に設け
られた“open”,“close”,“read”,
“write”の各アクセス要求に対応する関数141
を起動するためのアドレス・ポインタの値(図15参
照)に書き替えるだけで、既存のアプリケーション・ソ
フトウェア等のプログラム自体は全く変更せずに、アク
セス要求者として利用して、非同期編集を行うことが可
能となる。また、本発明は上述した各実施例に限定され
るものではなく、その要旨を逸脱しない範囲で、種々変
形して実施することができる。Furthermore, in this embodiment, the operating
Directly to the file access means 11 set in the call table 41 provided by the system, "o
pen ”,“ close ”,“ read ”,“ writ ”
The value of the address pointer to the system call such as "e" (see FIG. 14) is sent to the access monitoring means 12 as "op".
en ”,“ close ”,“ read ”,“ writ ”
Address for passing each access request such as "e"
The value of the pointer, that is, “open”, “close”, “read”, provided in the access monitoring means 12.
Function 141 corresponding to each access request of "write"
Asynchronous editing can be performed by using as an access requester without changing the program itself such as existing application software, simply by rewriting the value of the address pointer (see FIG. 15) for activating Is possible. Further, the present invention is not limited to the above-described embodiments, and various modifications can be carried out without departing from the scope of the invention.
【0095】[0095]
【発明の効果】以上詳述したように、本発明に係る共有
記憶装置では、1つの共有ファイルに対して非同期に複
数発生したアクセス要求の履歴と、アクセス要求によっ
て該当するファイルに対して施された変更の内容を示す
データの履歴とを記憶するとともに、この2つの履歴に
基づいてファイル格納手段に格納されたファイルを書き
換えるように構成した。As described above in detail, in the shared storage device according to the present invention, the history of a plurality of access requests asynchronously generated for one shared file and the file requested by the access request are performed. The history of the data indicating the contents of the change is stored, and the file stored in the file storage means is rewritten based on these two histories.
【0096】従って、一つの共有ファイルに対し複数の
アクセス要求が非同期に発生しても、すべてのアクセス
要求によるファイルの内容の変更を反映することができ
るので、排他制御を行うことなく、データの一貫性を損
なわずに、非同期編集を行うことができる。Therefore, even if a plurality of access requests are asynchronously issued to one shared file, the changes in the file contents due to all the access requests can be reflected, so that data control can be performed without performing exclusive control. Asynchronous editing can be done without loss of consistency.
【図1】本発明の第1の実施例に係る共有記憶装置の要
部構成を示すブロック図FIG. 1 is a block diagram showing a main configuration of a shared storage device according to a first embodiment of the present invention.
【図2】要求者Aのオープン後のアクセス状態記憶部1
4の内容を示す図FIG. 2 is an access state storage unit 1 after requester A has opened.
Figure showing the contents of 4
【図3】要求者Bのオープン後のアクセス状態記憶部1
4および履歴管理部13の内容を示す図[FIG. 3] Access state storage unit 1 after requester B has opened
4 and the contents of the history management unit 13
【図4】要求者Dのオープン後のアクセス状態憶部14
の内容を示す図FIG. 4 is an access state storage unit 14 after the requester D has opened.
Figure showing the contents of
【図5】編集中のアクセス状態記憶部14の内容を示す
図FIG. 5 is a diagram showing the contents of an access state storage section 14 being edited.
【図6】変更部分の表現のイメージを示す図FIG. 6 is a diagram showing an image of expression of a changed portion.
【図7】要求者Bのクローズ後の履歴管理部13の内容
を示す図FIG. 7 is a diagram showing the contents of the history management unit 13 after the requester B has closed.
【図8】要求者Bのクローズ後のアクセス状態記憶部1
4の内容を示す図FIG. 8 is an access state storage unit 1 after the requester B is closed.
Figure showing the contents of 4
【図9】要求者Dのクローズ後のアクセス状態記憶部1
4および履歴管理部13の内容を示す図FIG. 9 is an access state storage unit 1 after the requester D is closed.
4 and the contents of the history management unit 13
【図10】履歴管理部13への挿入処理の手順を示すフ
ロー・チャートFIG. 10 is a flow chart showing a procedure of insertion processing into the history management unit 13.
【図11】同挿入処理の手順を示すフロー・チャートFIG. 11 is a flow chart showing the procedure of the insertion processing.
【図12】履歴管理部13への削除処理の手順を示すフ
ロー・チャートFIG. 12 is a flow chart showing the procedure of deletion processing to the history management unit 13.
【図13】同削除処理の手順を示すフロー・チャートFIG. 13 is a flow chart showing the procedure of the deletion process.
【図14】従来の共有記憶装置におけるシステム・コー
ル構成の一例を示す図FIG. 14 is a diagram showing an example of a system call configuration in a conventional shared storage device.
【図15】本発明の第2の実施例に係る共有記憶装置の
要部構成を示すブロック図FIG. 15 is a block diagram showing a main configuration of a shared storage device according to a second embodiment of the present invention.
【図16】従来の共有記憶装置の構成図FIG. 16 is a block diagram of a conventional shared storage device.
【図17】従来の共有記憶装置におけるファイル操作を
説明するための図FIG. 17 is a diagram for explaining a file operation in a conventional shared storage device.
10…ファイル管理部、11…ファイル・アクセス部、
12…アクセス監視部、13…履歴管理部、14…アク
セス状態記憶部、20…記憶装置、21…アクセス要求
者、31…アクセス履歴リスト、41…システム・コー
ル・テーブル、42…デバイス・ドライバ、131…作
成時刻、132…消去時刻、133…サイズ、134…
データ・ブロック10 ... File management unit, 11 ... File access unit,
12 ... Access monitoring unit, 13 ... History management unit, 14 ... Access state storage unit, 20 ... Storage device, 21 ... Access requester, 31 ... Access history list, 41 ... System call table, 42 ... Device driver, 131 ... Creation time, 132 ... Erase time, 133 ... Size, 134 ...
Data block
Claims (2)
ファイル格納手段と、 このファイル格納手段に格納された同一のファイルに対
するアクセス要求を非同期に複数受付ける要求管理手段
と、 この要求管理手段が受付けた前記アクセス要求の履歴を
記憶する第1の記憶手段と、 前記アクセス要求の履歴に従って前記ファイルに対して
施した変更の内容を示すデータの履歴を記憶する第2の
記憶手段と、 前記第1の記憶手段に記憶された履歴および前記第2の
記憶手段に記憶された履歴に基づいて、前記ファイル格
納手段に格納された前記ファイルを書き換えるファイル
書換手段とを備えたことを特徴とする共有記憶装置。1. A file storage means for storing a file which is a set of data, a request management means for asynchronously receiving a plurality of access requests for the same file stored in the file storage means, and the request management means. A first storage unit that stores a history of the received access request; a second storage unit that stores a history of data indicating the content of a change made to the file according to the history of the access request; And a file rewriting unit that rewrites the file stored in the file storage unit based on the history stored in one storage unit and the history stored in the second storage unit. Storage device.
システム上で実行されるプログラムを利用して所定の処
理を行う、前記アクセス要求の内容に対応して設けられ
た複数の処理部を有し、 前記オペレーティング・システムによって提供されるシ
ステム・コール・テーブルに前記複数の処理部の夫々を
起動するためのアドレス情報を設定し、 前記アクセス要求は、前記システム・コール・テーブル
を利用して所望の前記処理部を起動する形で与えられる
ことを特徴とする請求項1に記載の共有記憶装置。2. The request management means is an operating system.
A system call table provided by the operating system, which has a plurality of processing units provided corresponding to the contents of the access request, which performs a predetermined process using a program executed on the system. And setting address information for activating each of the plurality of processing units, and the access request is given in a form of activating the desired processing unit using the system call table. The shared storage device according to claim 1.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6044456A JPH07253894A (en) | 1994-03-15 | 1994-03-15 | Shared storage device |
EP95103758A EP0674253B1 (en) | 1994-03-15 | 1995-03-15 | Shared file editing system with file content secrecy, version management and asynchronous editing |
US08/404,871 US5835601A (en) | 1994-03-15 | 1995-03-15 | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
EP02017683A EP1265122A3 (en) | 1994-03-15 | 1995-03-15 | Shared file editing system with file content secrecy, version management and asynchronous editing |
DE69529635T DE69529635T2 (en) | 1994-03-15 | 1995-03-15 | Share a file system with secret file content, version management and asynchronous editing |
US09/140,671 US6760840B1 (en) | 1994-03-15 | 1998-08-26 | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
US10/838,313 US20040205340A1 (en) | 1994-03-15 | 2004-05-05 | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
US10/838,314 US7631185B2 (en) | 1994-03-15 | 2004-05-05 | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6044456A JPH07253894A (en) | 1994-03-15 | 1994-03-15 | Shared storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07253894A true JPH07253894A (en) | 1995-10-03 |
Family
ID=12691998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6044456A Pending JPH07253894A (en) | 1994-03-15 | 1994-03-15 | Shared storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07253894A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010129065A (en) * | 2008-12-01 | 2010-06-10 | Ntt Data Corp | Workflow management system, and method of the same |
CN103858127A (en) * | 2011-10-12 | 2014-06-11 | 国际商业机器公司 | Method, system, mediation server, client, and computer program for deleting information in order to maintain security level |
EP3402170A1 (en) * | 2009-08-21 | 2018-11-14 | Samsung Electronics Co., Ltd. | Method and system for image upload and image sharing via a communincations network |
US10339329B2 (en) | 2014-09-25 | 2019-07-02 | International Business Machines Corporation | Controlling access to data in a database |
-
1994
- 1994-03-15 JP JP6044456A patent/JPH07253894A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010129065A (en) * | 2008-12-01 | 2010-06-10 | Ntt Data Corp | Workflow management system, and method of the same |
EP3402170A1 (en) * | 2009-08-21 | 2018-11-14 | Samsung Electronics Co., Ltd. | Method and system for image upload and image sharing via a communincations network |
US10200373B2 (en) | 2009-08-21 | 2019-02-05 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system |
US10291618B2 (en) | 2009-08-21 | 2019-05-14 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system |
US10389720B2 (en) | 2009-08-21 | 2019-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system |
CN103858127A (en) * | 2011-10-12 | 2014-06-11 | 国际商业机器公司 | Method, system, mediation server, client, and computer program for deleting information in order to maintain security level |
US9460295B2 (en) | 2011-10-12 | 2016-10-04 | International Business Machines Corporation | Deleting information to maintain security level |
CN103858127B (en) * | 2011-10-12 | 2017-01-25 | 国际商业机器公司 | Method, system and mediation server for deleting information in order to maintain security level |
US9910998B2 (en) | 2011-10-12 | 2018-03-06 | International Business Machines Corporation | Deleting information to maintain security level |
US10339329B2 (en) | 2014-09-25 | 2019-07-02 | International Business Machines Corporation | Controlling access to data in a database |
US11036878B2 (en) | 2014-09-25 | 2021-06-15 | International Business Machines Corporation | Controlling access to data in a database |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5029125A (en) | Method of reading and writing files on nonerasable storage media | |
US5832493A (en) | Flash file management system | |
US20080005460A1 (en) | Disk drive, control method thereof and disk-falsification detection method | |
JPS63244243A (en) | Opening of file | |
US20060085487A1 (en) | Computer for storage device and method of control for storage device | |
JPS6369066A (en) | Data correcting system on unrewritable medium | |
JP2008090378A (en) | Hybrid file system, operating system, cache control method, and recording medium | |
JPH07253894A (en) | Shared storage device | |
US8909875B1 (en) | Methods and apparatus for storing a new version of an object on a content addressable storage system | |
JPH02257340A (en) | Virtual copy file system | |
US20060090042A1 (en) | Storage system | |
JP3636773B2 (en) | Information processing device for database check | |
JPH0322046A (en) | Control method for file using draw type storage medium | |
JP3818130B2 (en) | Data management method and apparatus, data management program, and storage medium storing data management program | |
JP2004341840A (en) | Backup method, system therefor, and restoration method | |
US20060143423A1 (en) | Storage device, data processing method thereof, data processing program thereof, and data processing system | |
JP2003140939A (en) | Information processing system | |
JP2735400B2 (en) | Asynchronous I/O control method | |
JPH0581096A (en) | Page deletion system for electronic filing device | |
JPH0357037A (en) | File management device | |
JPH0235537A (en) | Multiplexed volume update control method | |
JPH04293123A (en) | file editing device | |
JPH05324435A (en) | Method for processing directory management and device therefor | |
US8010741B1 (en) | Methods and apparatus for controlling migration of content | |
KR20230032654A (en) | Interated management method of runtime backup information and system therof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040809 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040831 |