JP2531783B2 - 共用ファイル環境をサポ―トする方法 - Google Patents
共用ファイル環境をサポ―トする方法Info
- Publication number
- JP2531783B2 JP2531783B2 JP1096578A JP9657889A JP2531783B2 JP 2531783 B2 JP2531783 B2 JP 2531783B2 JP 1096578 A JP1096578 A JP 1096578A JP 9657889 A JP9657889 A JP 9657889A JP 2531783 B2 JP2531783 B2 JP 2531783B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- block
- level
- reader
- updater
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は一般に共用ファイルをサポートするデータ処
理システムにおける改良、更に詳細に説明すれば、ファ
イルを、該ファイルが更新者により更新されている間
に、1又は複数の読取者により直接且つ即時にアクセス
することを可能にするプロセスに関する。
理システムにおける改良、更に詳細に説明すれば、ファ
イルを、該ファイルが更新者により更新されている間
に、1又は複数の読取者により直接且つ即時にアクセス
することを可能にするプロセスに関する。
B.従来技術及びその問題点 データベース・アプリケーション・プログラムを実行
する大規模データ処理システムでは、一般にデータベー
スのファイルを同時にアクセスする複数のユーザーが存
在する。更に、データベースの1つのファイルを同時に
二人以上のユーザーがアクセスすることがある。1つの
ファイルに対する前記多重アクセスは、ユーザーの各々
が単にそのファイルを読取るだけの場合には許可される
が、ユーザーの一人がファイルを編集又は更新する目的
のため該ファイルをアクセスする場合には問題がある。
このような場合、更新者は更新が終了するか又は確約さ
れるまで他のユーザーを締出すので、読取動作を実行す
るため該ファイルをアクセスすることを必要とするユー
ザーにかなりの遅延を生じさせることがある。
する大規模データ処理システムでは、一般にデータベー
スのファイルを同時にアクセスする複数のユーザーが存
在する。更に、データベースの1つのファイルを同時に
二人以上のユーザーがアクセスすることがある。1つの
ファイルに対する前記多重アクセスは、ユーザーの各々
が単にそのファイルを読取るだけの場合には許可される
が、ユーザーの一人がファイルを編集又は更新する目的
のため該ファイルをアクセスする場合には問題がある。
このような場合、更新者は更新が終了するか又は確約さ
れるまで他のユーザーを締出すので、読取動作を実行す
るため該ファイルをアクセスすることを必要とするユー
ザーにかなりの遅延を生じさせることがある。
このような共用ファイル環境では、更新されつつある
ファイルを、複数のユーザーが並行して読取ることが許
可されることが望ましい。そうすれば、読取者は更新を
含む作業の単位が確約されるまでファイルの更新者を待
ったり(wait on)更新が行われるのを調べたり(see)
しなくてもよい。従って、ファイルをオープンする各読
取者は確約された最新のファイル・レベルを調べること
になる。
ファイルを、複数のユーザーが並行して読取ることが許
可されることが望ましい。そうすれば、読取者は更新を
含む作業の単位が確約されるまでファイルの更新者を待
ったり(wait on)更新が行われるのを調べたり(see)
しなくてもよい。従って、ファイルをオープンする各読
取者は確約された最新のファイル・レベルを調べること
になる。
本発明の目的は複数のユーザーが更新されつつあるフ
ァイルを並行して読取ることができる共用ファイル環境
を提供することである。
ァイルを並行して読取ることができる共用ファイル環境
を提供することである。
更に、本発明の目的はたとえファイルが一人又は複数
の更新者により連続して更新されることがあっても該フ
ァイルを複数のユーザーが読取ることを可能にするため
1つのファイルについてNレベル・シャドー(shadow)
を維持するプロセスを提供することである。
の更新者により連続して更新されることがあっても該フ
ァイルを複数のユーザーが読取ることを可能にするため
1つのファイルについてNレベル・シャドー(shadow)
を維持するプロセスを提供することである。
C.問題点を解決するための手段 本発明により、ファイルの読取者は該ファイルの更新
者を待ったり実行中の更新を調べたりする必要はない。
ファイルをオープンする各読取者はファイルの最新の確
約されたレベルを調べる。即ち、更新者Bがファイルの
変更を確約する前に、もし読取者Aが読取りのため該フ
ァイルをオープンすれば、更新者Bが確約した後に該フ
ァイルについて1レベル・シャドーが現われる。更に、
本発明の良好な実施例では一度に一人のファイル更新者
しか許可されないが、本発明は1つのファイルについて
Nレベル・シャドーを維持するプロセスを企図する。
者を待ったり実行中の更新を調べたりする必要はない。
ファイルをオープンする各読取者はファイルの最新の確
約されたレベルを調べる。即ち、更新者Bがファイルの
変更を確約する前に、もし読取者Aが読取りのため該フ
ァイルをオープンすれば、更新者Bが確約した後に該フ
ァイルについて1レベル・シャドーが現われる。更に、
本発明の良好な実施例では一度に一人のファイル更新者
しか許可されないが、本発明は1つのファイルについて
Nレベル・シャドーを維持するプロセスを企図する。
本発明は、NAY(“また使用可能ではない”の意)構
造(structure)と呼ばれる新しい構造を導入する。こ
の構造は読取りのため現在オープンしている全てのファ
イルの項目を含む。更に詳細に説明すれば、NAY構造は
読取りのためオープンされているファイルの各レベルの
項目を含む。項目に関連したカウンタはそのファイルの
当該レベルの読取者の数を示す。これらの項目はシャド
ー・ブロックのブロック数のリストについてのアンカー
である。当該レベルには少なくとも一人の読取者がいる
から、それらを割振り解除することはできない。本発明
はNレベル・シャドー・ブロックをトラックするためブ
ロックの割振り及び割振り解除をロギングする手順を企
図する。
造(structure)と呼ばれる新しい構造を導入する。こ
の構造は読取りのため現在オープンしている全てのファ
イルの項目を含む。更に詳細に説明すれば、NAY構造は
読取りのためオープンされているファイルの各レベルの
項目を含む。項目に関連したカウンタはそのファイルの
当該レベルの読取者の数を示す。これらの項目はシャド
ー・ブロックのブロック数のリストについてのアンカー
である。当該レベルには少なくとも一人の読取者がいる
から、それらを割振り解除することはできない。本発明
はNレベル・シャドー・ブロックをトラックするためブ
ロックの割振り及び割振り解除をロギングする手順を企
図する。
D.実施例 本発明によるNレベル・ファイル・シャドーの実施に
用いる方法を説明するため、共用ファイル・システム内
で用いる幾つかの構造について説明する。
用いる方法を説明するため、共用ファイル・システム内
で用いる幾つかの構造について説明する。
OBJECTCATと呼ばれる共用ファイル・システム・カタ
ログにはファイルに関する記述がある。第1図はOBJECT
CAT項目を示す。このタイプの項目は、共用ファイル・
システムに存在するファイル毎にある。項目にはファイ
ル・データが駐在するディスク上のブロック番号10があ
る。ブロック番号は共用ファイル・システムにより管理
された所与の物理的直接アクセス記憶装置(DASD)上に
4Kブロックを配置するために用いる内部参照機構であ
る。この機構は従来のものであり本発明には関連しない
ので、その説明は行わない。ファイルの項目内のブロッ
ク番号は論理ファイル・ブロック順に記憶されている。
即ち、第1の項目は該ファイルの第1のブロックに対応
し、第2の項目は第2のブロックに対応し、以下同様で
ある。
ログにはファイルに関する記述がある。第1図はOBJECT
CAT項目を示す。このタイプの項目は、共用ファイル・
システムに存在するファイル毎にある。項目にはファイ
ル・データが駐在するディスク上のブロック番号10があ
る。ブロック番号は共用ファイル・システムにより管理
された所与の物理的直接アクセス記憶装置(DASD)上に
4Kブロックを配置するために用いる内部参照機構であ
る。この機構は従来のものであり本発明には関連しない
ので、その説明は行わない。ファイルの項目内のブロッ
ク番号は論理ファイル・ブロック順に記憶されている。
即ち、第1の項目は該ファイルの第1のブロックに対応
し、第2の項目は第2のブロックに対応し、以下同様で
ある。
1つの作業単位がファイルを更新する時、これらのフ
ァイル・ブロックは同じ場所では更新されない。代り
に、該更新を含む別のブロックが割振られる。該ファイ
ルの最初のブロックはシャドー・ブロックと呼ばれる。
更新者がその変更を確約すると、そのシャドー・ブロッ
クは割当て解除され、OBJECTCAT項目は該更新されたブ
ロック番号を反映するように更新される。
ァイル・ブロックは同じ場所では更新されない。代り
に、該更新を含む別のブロックが割振られる。該ファイ
ルの最初のブロックはシャドー・ブロックと呼ばれる。
更新者がその変更を確約すると、そのシャドー・ブロッ
クは割当て解除され、OBJECTCAT項目は該更新されたブ
ロック番号を反映するように更新される。
OBJECTCAT中のファイル項目に関連するのは該ファイ
ルの確約レベル12である。これは該ファイルの最後に確
約されたレベルを含む。即に、ファイルが更新される毎
に、該ファイルの確約レベルが確約処理中に増大され
る。
ルの確約レベル12である。これは該ファイルの最後に確
約されたレベルを含む。即に、ファイルが更新される毎
に、該ファイルの確約レベルが確約処理中に増大され
る。
第2図に示すNAY構造は読取りのため現在オープンさ
れている全ファイルの項目を含む。それは実際に読取り
のためオープンされているファイルのレベル毎の項目を
有する。ファイルの当該レベルの読取者の数を表わすた
めに項目に関連したカウンタがある。これらの項目はシ
ャドー・ブロックのブロック番号のリストのアンカーで
ある。当該レベルには少なくとも一人の読取者がいるか
ら、その割振りを解除することはできない。
れている全ファイルの項目を含む。それは実際に読取り
のためオープンされているファイルのレベル毎の項目を
有する。ファイルの当該レベルの読取者の数を表わすた
めに項目に関連したカウンタがある。これらの項目はシ
ャドー・ブロックのブロック番号のリストのアンカーで
ある。当該レベルには少なくとも一人の読取者がいるか
ら、その割振りを解除することはできない。
第2図に示すNAY構造は、下記の1つになりうる、同
じ大きさの一組の制御ブロックから成る。
じ大きさの一組の制御ブロックから成る。
(1)NAY見出しブロック(NAYHBLK)22 (2)読取りのため現在オープンされているファイル/
確約レベルを識別するNAYGATE24 (3)更新者により変更されているが、この読取者がま
だ読取り中のブロックの物理的ブロック番号を含むNAYP
BNE26 NAYHBLK22は1つだけある。この制御ブロックは未使
用のNAYブロック(NAYBLK)27の自由な待ち行列のアン
カーである。読取りのためにオープンしているファイル
を探索しているときNAY構造に対するアクセスを最適化
するハッシュ・テーブル(NAYHASHT)28もある。
確約レベルを識別するNAYGATE24 (3)更新者により変更されているが、この読取者がま
だ読取り中のブロックの物理的ブロック番号を含むNAYP
BNE26 NAYHBLK22は1つだけある。この制御ブロックは未使
用のNAYブロック(NAYBLK)27の自由な待ち行列のアン
カーである。読取りのためにオープンしているファイル
を探索しているときNAY構造に対するアクセスを最適化
するハッシュ・テーブル(NAYHASHT)28もある。
回復プロセスはブロック割振り及び割振り解除のロギ
ングから成る。ファイルのユーザー・データはログされ
ない。割振りは生ずる毎にログされるが、割振り解除は
確約ログ・レコードの一部としてログされる。回復はそ
の時点で行われ、作業単位が逆戻りする場合に該ブロッ
クが使用可能であることを保証する。
ングから成る。ファイルのユーザー・データはログされ
ない。割振りは生ずる毎にログされるが、割振り解除は
確約ログ・レコードの一部としてログされる。回復はそ
の時点で行われ、作業単位が逆戻りする場合に該ブロッ
クが使用可能であることを保証する。
回復プロセスの部分もチェックポイントである。チェ
ックポイントは進行中の作業単位の状態に関係なくシス
テムのスナップショットを記録する。チェックポイント
を取っている事実はログに記録される。遮断ののち、共
用ファイル・システムが再始動されると、それが予期さ
れても予期されなくても、該システムは最後のチェック
ポイントで再始動したように見える。ログはチェックポ
イント・ログ・レコードを介して最後のチェックポイン
トに同期され、回復処理は最後のチェックポイントから
始まる。
ックポイントは進行中の作業単位の状態に関係なくシス
テムのスナップショットを記録する。チェックポイント
を取っている事実はログに記録される。遮断ののち、共
用ファイル・システムが再始動されると、それが予期さ
れても予期されなくても、該システムは最後のチェック
ポイントで再始動したように見える。ログはチェックポ
イント・ログ・レコードを介して最後のチェックポイン
トに同期され、回復処理は最後のチェックポイントから
始まる。
ファイル・データの一貫性を維持するため、ファイル
に対する更新を含む第2のブロックが論理的な作業単位
によって割振られる。更新が確約されると、ファイルの
OBJECTCAT項目(第1図参照)は該更新を含むブロック
番号とともに更新され、シャドー・ブロック(該ブロッ
クの最後に確約されたピクチャー)が解放される。該フ
ァイルの確約レベルも増大する。
に対する更新を含む第2のブロックが論理的な作業単位
によって割振られる。更新が確約されると、ファイルの
OBJECTCAT項目(第1図参照)は該更新を含むブロック
番号とともに更新され、シャドー・ブロック(該ブロッ
クの最後に確約されたピクチャー)が解放される。該フ
ァイルの確約レベルも増大する。
もしファイルが読取者及び更新者により共用されたこ
とがないなら、処理は極めて簡単である。ファイルをオ
ープンし、ファイル・ブロックを検索すると、データの
ブロック番号はOBJECTCAT項目から得られ、データはDAS
Dから読取られる。ファイル・ブロックが更新され、再
書込みされると、第2のブロックが更新されたファイル
・ブロックに割振られ、これらのブロック番号は対応す
るOBJECTCAT項目に取って代わる。しかし、共用環境で
は、事態はそれほど簡単ではない。
とがないなら、処理は極めて簡単である。ファイルをオ
ープンし、ファイル・ブロックを検索すると、データの
ブロック番号はOBJECTCAT項目から得られ、データはDAS
Dから読取られる。ファイル・ブロックが更新され、再
書込みされると、第2のブロックが更新されたファイル
・ブロックに割振られ、これらのブロック番号は対応す
るOBJECTCAT項目に取って代わる。しかし、共用環境で
は、事態はそれほど簡単ではない。
読取りのためファイルがオープンされると、ファイル
のOBJECTCAT項目のコピーがキャッシュされる。第2図
に示すように、ファイルのこのレベルが読取りのために
オープンされていることを表わす、NAY構造と呼ばれる
新しい構造にも項目が入力される。ファイルの更新者も
キャッシュされたOBJECTCAT項目のコピーを有するが、N
AY構造に項目は入力されない。ここで、システムは任意
のファイルの任意のレベルの全ての読取者のレコードを
有する。システムはこのリストを用い、そのレベルの全
ての読取者がファイルをクローズするまでファイルのそ
のレベルを維持する。
のOBJECTCAT項目のコピーがキャッシュされる。第2図
に示すように、ファイルのこのレベルが読取りのために
オープンされていることを表わす、NAY構造と呼ばれる
新しい構造にも項目が入力される。ファイルの更新者も
キャッシュされたOBJECTCAT項目のコピーを有するが、N
AY構造に項目は入力されない。ここで、システムは任意
のファイルの任意のレベルの全ての読取者のレコードを
有する。システムはこのリストを用い、そのレベルの全
ての読取者がファイルをクローズするまでファイルのそ
のレベルを維持する。
最新レベル(更新者は一度に一人だけであるから常に
最新である)の更新者が更新を確約し、ファイルのOBJE
CTCAT項目は該更新を含む新しいブロック番号を反映す
るように更新され、且つ該ファイルの確約レベルが増大
される。確約プロセスはNAY構造を問合わせることによ
り、該ファイルの前のレベルの読取者がいるかどうかを
調べる。もし当該レベルの読取者がいるなら、シャドー
・ブロック(前のバージョン)が当該ファイル・レベル
のNAY項目から連鎖され、この時点では解放されない。
ファイルの最後の読取者がファイルをクローズすると、
クローズ処理は該ファイルのこのレベルのNAY構造項目
を削除し、もし該項目から連鎖されたブロックがあれ
ば、それらの割振りを解除する。
最新である)の更新者が更新を確約し、ファイルのOBJE
CTCAT項目は該更新を含む新しいブロック番号を反映す
るように更新され、且つ該ファイルの確約レベルが増大
される。確約プロセスはNAY構造を問合わせることによ
り、該ファイルの前のレベルの読取者がいるかどうかを
調べる。もし当該レベルの読取者がいるなら、シャドー
・ブロック(前のバージョン)が当該ファイル・レベル
のNAY項目から連鎖され、この時点では解放されない。
ファイルの最後の読取者がファイルをクローズすると、
クローズ処理は該ファイルのこのレベルのNAY構造項目
を削除し、もし該項目から連鎖されたブロックがあれ
ば、それらの割振りを解除する。
割振られるブロック及び割振り解除されるブロック
は、該作業単位で実行されたロギングの一部として共用
ファイル・システム・ログにログされる。新しいブロッ
ク割振りは新しいレコード・タイプとしてログされ、ブ
ロック解放は確約ログ・レコードの一部としてログされ
る。確約されるまでブロックを解放しない理由は、作業
単位が逆戻りする場合にファイルの一貫性を維持するた
めである。さもなければ、該ブロックは他の更新された
ファイルに割振られることがある。もし作業単位が逆戻
りすれば、新たに割振られたブロックが(ログを読取る
ことにより)解放され、そのシャドー・ブロックは割振
られたままである 更に考慮すべきことは、ファイルの多重レベル及び共
用ファイル・システムのチェックポイント処理による対
話である。回復プロセスの説明で述べたように、進行中
の作業単位とは無関係に、チェックポイントはシステム
のスナップショットを取る。さて、ファイルの読取者に
よりなお割振られているブロックがあっても、再開始後
はこれらの読取者は存在しないし、これらのブロックを
割振り解除する方法もないので、それは記録しなくても
よい。従って、チェックポイント・プロセスはNAY構造
を問合わせ、これらのブロックが割振り解除されること
を、そのピクチャーに記録する。
は、該作業単位で実行されたロギングの一部として共用
ファイル・システム・ログにログされる。新しいブロッ
ク割振りは新しいレコード・タイプとしてログされ、ブ
ロック解放は確約ログ・レコードの一部としてログされ
る。確約されるまでブロックを解放しない理由は、作業
単位が逆戻りする場合にファイルの一貫性を維持するた
めである。さもなければ、該ブロックは他の更新された
ファイルに割振られることがある。もし作業単位が逆戻
りすれば、新たに割振られたブロックが(ログを読取る
ことにより)解放され、そのシャドー・ブロックは割振
られたままである 更に考慮すべきことは、ファイルの多重レベル及び共
用ファイル・システムのチェックポイント処理による対
話である。回復プロセスの説明で述べたように、進行中
の作業単位とは無関係に、チェックポイントはシステム
のスナップショットを取る。さて、ファイルの読取者に
よりなお割振られているブロックがあっても、再開始後
はこれらの読取者は存在しないし、これらのブロックを
割振り解除する方法もないので、それは記録しなくても
よい。従って、チェックポイント・プロセスはNAY構造
を問合わせ、これらのブロックが割振り解除されること
を、そのピクチャーに記録する。
このプロセスで用いられたもう1つの新しい構造は、
更新により解放されているブロック番号のリストであ
る。これらのリストは作業単位により更新されたファイ
ル及びレベル毎の項目を含むテーブルからアンカーされ
る。従って、作業単位により更新されている任意のファ
イルの割振り解除されたブロック毎に、適切なファイル
項目についてテーブルが走査され、ブロック番号が適切
なリストに加えられる。これは確約プロセスによる効率
的な処理のため解放すべき全てのブロックを集める。
更新により解放されているブロック番号のリストであ
る。これらのリストは作業単位により更新されたファイ
ル及びレベル毎の項目を含むテーブルからアンカーされ
る。従って、作業単位により更新されている任意のファ
イルの割振り解除されたブロック毎に、適切なファイル
項目についてテーブルが走査され、ブロック番号が適切
なリストに加えられる。これは確約プロセスによる効率
的な処理のため解放すべき全てのブロックを集める。
以上説明したプロセスのロジックは第3図、第4図及
び第5図の流れ図に示す。第3図の機能ブロック30で、
更新されたブロックの書込みにより、ブロック割振り/
割振り解除プロセスが始まる。判定ブロック31で、これ
が初回のブロック更新であるかどうかを判定する検査が
行われる。もし初回ではないなら、機能ブロック32で、
該更新されたブロックが書込まれ、プロセスは終了す
る。しかしながら、もしこれが初回のブロック更新であ
るなら、機能ブロック33で、新しいブロックが割振られ
る。機能ブロック34で、更新されたブロックが新しいブ
ロックに書込まれ、次いで、機能ブロック35で、古いブ
ロック番号が割振り解除されたリストに加えられた後、
プロセスは終了する。
び第5図の流れ図に示す。第3図の機能ブロック30で、
更新されたブロックの書込みにより、ブロック割振り/
割振り解除プロセスが始まる。判定ブロック31で、これ
が初回のブロック更新であるかどうかを判定する検査が
行われる。もし初回ではないなら、機能ブロック32で、
該更新されたブロックが書込まれ、プロセスは終了す
る。しかしながら、もしこれが初回のブロック更新であ
るなら、機能ブロック33で、新しいブロックが割振られ
る。機能ブロック34で、更新されたブロックが新しいブ
ロックに書込まれ、次いで、機能ブロック35で、古いブ
ロック番号が割振り解除されたリストに加えられた後、
プロセスは終了する。
第4図は確約プロセスを示す。このプロセスは割振り
解除されたリスト項目があるかどうかを判定する判定ブ
ロック40の検査で始まる。もしなければ、ユーザーは読
取者だけと判定され、プロセスは終了する。もし割振り
解除されたリスト項目があれば、判定ブロック41で、読
取者がいるかどうかを判定する検査が行われる。もしな
ければ、機能ブロック42で、古いブロックが割振り解除
され、制御は機能ブロック44に移行する。もし読取者が
いなければ、機能ブロック43で、古いブロック番号がNA
Y構造に加えられた後、制御は機能ブロック44に移行す
る。機能ブロック44で、古いブロック番号がログされ
る。次に、機能ブロック45で、OBJECTCATがブロック番
号と共に更新され、機能ブロック46で、確約レベルが増
大された後、プロセスは終了する。
解除されたリスト項目があるかどうかを判定する判定ブ
ロック40の検査で始まる。もしなければ、ユーザーは読
取者だけと判定され、プロセスは終了する。もし割振り
解除されたリスト項目があれば、判定ブロック41で、読
取者がいるかどうかを判定する検査が行われる。もしな
ければ、機能ブロック42で、古いブロックが割振り解除
され、制御は機能ブロック44に移行する。もし読取者が
いなければ、機能ブロック43で、古いブロック番号がNA
Y構造に加えられた後、制御は機能ブロック44に移行す
る。機能ブロック44で、古いブロック番号がログされ
る。次に、機能ブロック45で、OBJECTCATがブロック番
号と共に更新され、機能ブロック46で、確約レベルが増
大された後、プロセスは終了する。
第5図はクローズ・プロセスを示す。このプロセスは
ユーザーが読取者であるかどうかを判定する判定ブロッ
ク50の検査で始まる。もし読取者ではないなら、プロセ
スは終了する。もし読取者なら、判定ブロック51で、該
読取者が該ファイルの最後の読取者であるかどうかを判
定する検査が行われる。もし最後の読取者でなければ、
プロセスは終了する。もし最後の読取者なら、判定ブロ
ック52で、ファイルが更新されているかどうかを判定す
る検査が行われる。もし更新されていなければ、プロセ
スは終了する。もし更新されていれば、機能ブロック53
で、古いブロックが割振り解除された後、プロセスは終
了する。
ユーザーが読取者であるかどうかを判定する判定ブロッ
ク50の検査で始まる。もし読取者ではないなら、プロセ
スは終了する。もし読取者なら、判定ブロック51で、該
読取者が該ファイルの最後の読取者であるかどうかを判
定する検査が行われる。もし最後の読取者でなければ、
プロセスは終了する。もし最後の読取者なら、判定ブロ
ック52で、ファイルが更新されているかどうかを判定す
る検査が行われる。もし更新されていなければ、プロセ
スは終了する。もし更新されていれば、機能ブロック53
で、古いブロックが割振り解除された後、プロセスは終
了する。
プログラム設計言語(PDL)で記述された下記の擬似
コードは、本発明によるNレベル・シャドーを維持する
ために必要な第3図、第4図及び第5図の流れ図に示さ
れた詳細なロジックを実現する。熟練したプログラマは
パスカル又はCのような任意のプログラミング言語で擬
似コードからソース・コードを記述し、適切なコンパイ
ラによりオブジェクト・コードを取出すことができる。
コードは、本発明によるNレベル・シャドーを維持する
ために必要な第3図、第4図及び第5図の流れ図に示さ
れた詳細なロジックを実現する。熟練したプログラマは
パスカル又はCのような任意のプログラミング言語で擬
似コードからソース・コードを記述し、適切なコンパイ
ラによりオブジェクト・コードを取出すことができる。
読取り処理のオープン ファイルのFILEIDと確約レベルをハッシュする IF NAYHASHT項目=空 THEN DO NAYFREEL(フリーリスト)からNAYBLOCKを取得する FILEID/確約レベルから成るNAYGATEを構築する NAYHASHT項目に連鎖する END ELSE DO NAYHASHT項目から連鎖されたNAYGATEを走査する IF FILEID/確約レベルのNAYGATEが見つからない THE
N DO NAYHASHT項目からNAYBLOCKを取得する FILEID/確約レベルから成るNAYGATEを構築する NAYHASHT項目に連鎖する END ELSE(NAYGATEが見つかった) NAYGATE中のオープン・カウントを増大する END ブロック書込み処理 IF この作業単位で最初にブロックが更新中であるTHEN DO 更新を含む新しいブロックを割振るブロック番号をロ
グする LNALLOCATEリストに(確約で割振り解除される)古い
ブロック番号を加える 確約で更新されるファイルの新たに割振られたブロッ
ク番号を、キャッシュされたOBJETCATに記憶する END (注):割振り解除リストはFILEID/確約レベルにより
構成される。ブロック番号はそれらの適切なファイル項
目に連鎖される。
N DO NAYHASHT項目からNAYBLOCKを取得する FILEID/確約レベルから成るNAYGATEを構築する NAYHASHT項目に連鎖する END ELSE(NAYGATEが見つかった) NAYGATE中のオープン・カウントを増大する END ブロック書込み処理 IF この作業単位で最初にブロックが更新中であるTHEN DO 更新を含む新しいブロックを割振るブロック番号をロ
グする LNALLOCATEリストに(確約で割振り解除される)古い
ブロック番号を加える 確約で更新されるファイルの新たに割振られたブロッ
ク番号を、キャッシュされたOBJETCATに記憶する END (注):割振り解除リストはFILEID/確約レベルにより
構成される。ブロック番号はそれらの適切なファイル項
目に連鎖される。
読取り処理のクローズ NAYGATEのオープン・カウントを減少する IF オープン・カウント=0 THEN DO NAYGATEに連鎖されたブロックを割振り解除する NAYBLOCKをNAYFREEL(フリーリスト)に返す END 確約処理 割振り解除リストのファイル項目毎に DO FILEIDと確約レベルをハッシュする IF NAYHASHT項目=空 THEN(読取者がいない場合) DO 割振り解除リスト項目中のブロックを割振り解除する END ELSE DO 更新ブロック毎に NAYPBNEについてNAYFREEL(フリーリスト)のNAYBLOC
Kを取得する。
Kを取得する。
ブロック番号をNAYPBNEに記憶する NAYGATEを連鎖を外す END ブロック番号を確約ログ・レコードにログする このファイルのOBJECTCATを新しいブロック番号によ
り更新し、確約レベルを増大する(それで新しい読取者
は更新を調べる) END チェックポイント処理 NAY構造を走査する NAYPBNE毎に DO ブロック割振りマップのチェックポイントされたコピ
ー中のブロックを割振り解除する END E.発明の効果 本発明によれば、ファイルの更新が確約される前であ
っても該ファイルを読取ることが可能になる。
り更新し、確約レベルを増大する(それで新しい読取者
は更新を調べる) END チェックポイント処理 NAY構造を走査する NAYPBNE毎に DO ブロック割振りマップのチェックポイントされたコピ
ー中のブロックを割振り解除する END E.発明の効果 本発明によれば、ファイルの更新が確約される前であ
っても該ファイルを読取ることが可能になる。
第1図はOBJECTCATと呼ばれる共用ファイルシステム・
カタログ中の項目でファイルの記述形式を示すブロック
図である。 第2図はNAY構造を示すブロック図である。 第3図は本発明によるブロック割振り/割振り解除プロ
セスのロジックを示す流れ図である。 第4図は本発明のよる確約プロセスのロジックを示す流
れ図である。 第5図は本発明によるクローズ・プロセスのロジックを
示す流れ図である。
カタログ中の項目でファイルの記述形式を示すブロック
図である。 第2図はNAY構造を示すブロック図である。 第3図は本発明によるブロック割振り/割振り解除プロ
セスのロジックを示す流れ図である。 第4図は本発明のよる確約プロセスのロジックを示す流
れ図である。 第5図は本発明によるクローズ・プロセスのロジックを
示す流れ図である。
Claims (3)
- 【請求項1】データ処理システムにおいて、システムに
ストアされているファイルが更新者によって更新中であ
っても、複数のユーザーが該ファイルを並行して読取る
ことができる共用ファイル環境をサポートする方法であ
って、 読取者によって読み取りのためにオープンされたファイ
ルの現在のレベルを表示する項目を含むブロックをデー
タ構造中に作成し、それによって前記ファイルのレベル
が何であろうとすべての読み取り者のレコードを発生
し、 前記ファイルの各レベルのための読み取り者の数を計数
し、 前記ファイルが書込みのため更新者によってオープンさ
れるときは、該更新者により該ファイルに対する更新を
含めるべくデータ・ブロックを割振り、 前記ファイルのレベルを増加させ、かつ前記ファイルが
前記更新者によってコミットされた時に前のレベルのデ
ータブロックを割り振り解除し、 前記ファイルの前のレベルの読み取り者がいるかを調
べ、前のレベルの読み取り者がいる場合には、各前のレ
ベルの全てのデータブロックをシャドウブロックに割り
当て、前記シャドウブロック内で前記ファイルのNレベ
ルを維持するようにし、 前記ファイルの前記レベルの1の最後の読み取り者がク
ローズするときに、前記ファイルのための前記項目から
前記連鎖されたシャドウブロックのいずれも割り振り解
除し、それによって前記ファイルの前記レベルを割り振
り解除する前記方法。 - 【請求項2】共用ファイル環境の現在の状況のチェック
ポイントを実行し、前記チェックポイントをチェックポ
イントログに記録し、前記チェックポイントは前記共用
ファイル環境のスナップショットとして提供され、 予期されたあるいは予期されないシャットダウンの後に
前記チェックポイントをアクセスし、再スタートの後に
それらの読み取り者が存在しないのでファイルのシャド
ウブロックを割り振り解除し、コミットされたファイル
の更新によって解放されたブロックを割り振り解除し、
およびシャットダウン前の最後のコミットされたレベル
を反映して矛盾がないようにした共用ファイル環境を確
立するために回復処理を実行する 請求項1記載の方法。 - 【請求項3】1以上の使用者によってファイルが読みと
られている間に、読み取り者または更新者として1以上
の使用者によって同時にアクセス可能な複数のファイル
を有するデータ処理システムでファイルを同時に更新
し、たとえ連続して1以上の更新者によって更新された
であろうファイルであろうとも複数の使用者にファイル
を読みとることを許可するためにファイルへ複数のレベ
ルのシャドウを維持することを含み、読み取り者によっ
て前記ファイルがオープンされたときに、各読み取り者
は最近にコミットされたレベルとして存在するファイル
を読みとる 請求項2記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/199,437 US5043876A (en) | 1988-05-27 | 1988-05-27 | N-level file shadowing and recovery in a shared file system |
| US199437 | 1988-05-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01319837A JPH01319837A (ja) | 1989-12-26 |
| JP2531783B2 true JP2531783B2 (ja) | 1996-09-04 |
Family
ID=22737491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1096578A Expired - Lifetime JP2531783B2 (ja) | 1988-05-27 | 1989-04-18 | 共用ファイル環境をサポ―トする方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5043876A (ja) |
| EP (1) | EP0348614A3 (ja) |
| JP (1) | JP2531783B2 (ja) |
Families Citing this family (125)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0540682A (ja) * | 1990-06-08 | 1993-02-19 | Internatl Business Mach Corp <Ibm> | アトミシテイを有する記憶装置の高可用性耐故障再配置 |
| JPH04284548A (ja) * | 1991-03-14 | 1992-10-09 | Nec Corp | データベース排他制御方式 |
| US5276871A (en) * | 1991-03-18 | 1994-01-04 | Bull Hn Information Systems Inc. | Method of file shadowing among peer systems |
| US5511177A (en) * | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
| US5280612A (en) * | 1991-11-26 | 1994-01-18 | International Business Machines Corporation | Multiple version database concurrency control system |
| JP2793399B2 (ja) * | 1991-12-09 | 1998-09-03 | 日本電気株式会社 | バッファ装置 |
| US5355477A (en) * | 1991-12-23 | 1994-10-11 | International Business Machines Corporation | Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning |
| US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
| JPH0827754B2 (ja) * | 1992-05-21 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおけるファイル管理方法及びファイル管理システム |
| US5555388A (en) * | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
| US5317749A (en) * | 1992-09-25 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for controlling access by a plurality of processors to a shared resource |
| JP3751018B2 (ja) * | 1993-06-03 | 2006-03-01 | ネットワーク・アプライアンス・インコーポレイテッド | ライトエニウエアファイルシステムレイアウト |
| US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
| US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
| US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
| DE59501924D1 (de) * | 1994-05-10 | 1998-05-20 | Siemens Ag | Datenverwaltungssystem eines realzeitsystems |
| US5586219A (en) * | 1994-09-30 | 1996-12-17 | Yufik; Yan M. | Probabilistic resource allocation system with self-adaptive capability |
| US5729735A (en) * | 1995-02-08 | 1998-03-17 | Meyering; Samuel C. | Remote database file synchronizer |
| DE69615565T2 (de) * | 1995-07-20 | 2002-07-11 | Novell, Inc. | Transaktionssynchronisierung in einem netz abtrennbarer rechner |
| CA2227431C (en) | 1995-07-20 | 2001-05-15 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
| US5878434A (en) * | 1996-07-18 | 1999-03-02 | Novell, Inc | Transaction clash management in a disconnectable computer and network |
| US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
| US5950199A (en) * | 1997-07-11 | 1999-09-07 | International Business Machines Corporation | Parallel file system and method for granting byte range tokens |
| US5974424A (en) * | 1997-07-11 | 1999-10-26 | International Business Machines Corporation | Parallel file system and method with a metadata node |
| US5956734A (en) * | 1997-07-11 | 1999-09-21 | International Business Machines Corporation | Parallel file system with a quota check utility |
| US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
| US5940838A (en) * | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system and method anticipating cache usage patterns |
| US5999976A (en) * | 1997-07-11 | 1999-12-07 | International Business Machines Corporation | Parallel file system and method with byte range API locking |
| US5987477A (en) * | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
| US5960446A (en) * | 1997-07-11 | 1999-09-28 | International Business Machines Corporation | Parallel file system and method with allocation map |
| US5963963A (en) * | 1997-07-11 | 1999-10-05 | International Business Machines Corporation | Parallel file system and buffer management arbitration |
| US5893086A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Parallel file system and method with extensible hashing |
| US6021508A (en) * | 1997-07-11 | 2000-02-01 | International Business Machines Corporation | Parallel file system and method for independent metadata loggin |
| US5940841A (en) * | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system with extended file attributes |
| US5946686A (en) * | 1997-07-11 | 1999-08-31 | International Business Machines Corporation | Parallel file system and method with quota allocation |
| US6516351B2 (en) * | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
| US6360223B1 (en) | 1997-12-22 | 2002-03-19 | Sun Microsystems, Inc. | Rule-based approach to object-relational mapping strategies |
| US6385618B1 (en) | 1997-12-22 | 2002-05-07 | Sun Microsystems, Inc. | Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool |
| US6374256B1 (en) | 1997-12-22 | 2002-04-16 | Sun Microsystems, Inc. | Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application |
| US6175837B1 (en) | 1998-06-29 | 2001-01-16 | Sun Microsystems, Inc. | Object-relational mapping toll that processes views |
| US6268850B1 (en) | 1997-12-22 | 2001-07-31 | Sun Microsystems, Inc. | User interface for the specification of lock groups |
| US6240413B1 (en) * | 1997-12-22 | 2001-05-29 | Sun Microsystems, Inc. | Fine-grained consistency mechanism for optimistic concurrency control using lock groups |
| US6260040B1 (en) | 1998-01-05 | 2001-07-10 | International Business Machines Corporation | Shared file system for digital content |
| US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
| US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
| US6697846B1 (en) * | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
| US6411970B1 (en) * | 1998-05-21 | 2002-06-25 | Intergraph Corporation | Methods and apparatus for an automatic file indexer |
| US6418456B1 (en) * | 1998-11-24 | 2002-07-09 | International Business Machines Corporation | Clean-up of files in a network system |
| US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
| US6523063B1 (en) | 1999-08-30 | 2003-02-18 | Zaplet, Inc. | Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier |
| US6505233B1 (en) | 1999-08-30 | 2003-01-07 | Zaplet, Inc. | Method for communicating information among a group of participants |
| US6457045B1 (en) | 1999-08-30 | 2002-09-24 | Zaplet, Inc. | System and method for group choice making |
| US6507865B1 (en) | 1999-08-30 | 2003-01-14 | Zaplet, Inc. | Method and system for group content collaboration |
| US6691153B1 (en) | 1999-08-30 | 2004-02-10 | Zaplet, Inc. | Method and system for process interaction among a group |
| US6463461B1 (en) | 1999-08-30 | 2002-10-08 | Zaplet, Inc. | System for communicating information among a group of participants |
| US6453337B2 (en) | 1999-10-25 | 2002-09-17 | Zaplet, Inc. | Methods and systems to manage and track the states of electronic media |
| US6591275B1 (en) | 2000-06-02 | 2003-07-08 | Sun Microsystems, Inc. | Object-relational mapping for tables without primary keys |
| US6829678B1 (en) * | 2000-07-18 | 2004-12-07 | International Business Machines Corporation | System for determining the order and frequency in which space is allocated on individual storage devices |
| US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
| US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
| US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
| AU2001296866A1 (en) | 2000-09-05 | 2002-03-22 | Zaplet, Inc. | Methods and apparatus providing electronic messages that are linked and aggregated |
| US6665675B1 (en) | 2000-09-07 | 2003-12-16 | Omneon Video Networks | Shared file system having a token-ring style protocol for managing meta-data |
| AU2001295748A1 (en) * | 2000-10-18 | 2002-04-29 | Chasseral Limited | Concurrent file access |
| US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
| US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
| KR100520301B1 (ko) * | 2001-10-13 | 2005-10-13 | 한국전자통신연구원 | 객체관계형 데이터베이스 관리 시스템 및 그것의 클래스인스턴스 삭제 방법 |
| US6763423B2 (en) | 2001-11-30 | 2004-07-13 | International Business Machines Corporation | Storage area network methods and apparatus for logical-to-physical block address mapping |
| ITMI20020132A1 (it) | 2002-01-25 | 2003-07-25 | Gmt Fine Chemicals Sa | Processo per l'ottenimento dell'acido (6s)-5,6,7,8-tetraidrofolico |
| US6857001B2 (en) * | 2002-06-07 | 2005-02-15 | Network Appliance, Inc. | Multiple concurrent active file systems |
| US7546319B1 (en) * | 2003-04-28 | 2009-06-09 | Ibrix, Inc. | File system consistency checking in a distributed segmented file system |
| US7305393B2 (en) * | 2003-04-29 | 2007-12-04 | International Business Machines Corporation | Mounted filesystem integrity checking and salvage |
| US7730033B2 (en) * | 2003-06-13 | 2010-06-01 | Microsoft Corporation | Mechanism for exposing shadow copies in a networked environment |
| US7313720B1 (en) | 2004-02-12 | 2007-12-25 | Network Appliance, Inc. | Technique for increasing the number of persistent consistency point images in a file system |
| US7653664B2 (en) * | 2006-11-03 | 2010-01-26 | Microsoft Corporation | Anchor for database synchronization excluding uncommitted transaction modifications |
| KR101321369B1 (ko) * | 2007-03-21 | 2013-10-28 | 삼성전자주식회사 | 디스크 블록 액세스 처리 방법 및 시스템 |
| US8326814B2 (en) | 2007-12-05 | 2012-12-04 | Box, Inc. | Web-based file management system and service |
| US8521776B2 (en) * | 2008-12-05 | 2013-08-27 | International Business Machines Corporation | Accessing data in a multi-generation database |
| US10554426B2 (en) | 2011-01-20 | 2020-02-04 | Box, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
| US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
| EP2729877A4 (en) | 2011-07-08 | 2015-06-17 | Box Inc | DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR |
| WO2013062599A1 (en) | 2011-10-26 | 2013-05-02 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
| US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
| US8990307B2 (en) | 2011-11-16 | 2015-03-24 | Box, Inc. | Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform |
| WO2013082320A1 (en) | 2011-11-29 | 2013-06-06 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
| US9019123B2 (en) | 2011-12-22 | 2015-04-28 | Box, Inc. | Health check services for web-based collaboration environments |
| US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
| US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
| US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
| US9575981B2 (en) * | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
| US9413587B2 (en) | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
| GB2514947B (en) | 2012-05-04 | 2015-06-17 | Box Inc | Repository redundancy implementation of a system which incrementally updates clients with events that occured via a cloud-enabled platform |
| US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
| US8914900B2 (en) | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
| US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
| GB2505072A (en) | 2012-07-06 | 2014-02-19 | Box Inc | Identifying users and collaborators as search results in a cloud-based system |
| US9237170B2 (en) | 2012-07-19 | 2016-01-12 | Box, Inc. | Data loss prevention (DLP) methods and architectures by a cloud service |
| US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
| US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
| US8745267B2 (en) | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
| US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
| US9135462B2 (en) | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
| US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
| US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
| US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
| US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
| US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
| US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
| US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
| US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
| US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
| US9628268B2 (en) | 2012-10-17 | 2017-04-18 | Box, Inc. | Remote key management in a cloud-based environment |
| US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
| US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
| US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
| EP2755151A3 (en) | 2013-01-11 | 2014-09-24 | Box, Inc. | Functionalities, features and user interface of a synchronization client to a cloud-based environment |
| EP2757491A1 (en) | 2013-01-17 | 2014-07-23 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
| US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
| US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
| GB2515192B (en) | 2013-06-13 | 2016-12-14 | Box Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
| US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
| US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
| US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
| US10049122B1 (en) * | 2014-06-26 | 2018-08-14 | EMC IP Holding Company LLC | Cluster file system comprising multiple burst buffers each including virtual file system and metadata server components |
| US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
| US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
| US4400773A (en) * | 1980-12-31 | 1983-08-23 | International Business Machines Corp. | Independent handling of I/O interrupt requests and associated status information transfers |
| US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
| US4498145A (en) * | 1982-06-30 | 1985-02-05 | International Business Machines Corporation | Method for assuring atomicity of multi-row update operations in a database system |
| US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
| US4646229A (en) * | 1982-11-15 | 1987-02-24 | At&T Bell Laboratories | Time-ordered data base |
| US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
| JPS60209858A (ja) * | 1984-04-04 | 1985-10-22 | Hitachi Ltd | フアイル処理方式 |
| US4648036A (en) * | 1985-03-06 | 1987-03-03 | At&T Bell Laboratories | Method for controlling query and update processing in a database system |
| US4714992A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Communication for version management in a distributed information service |
| US4716528A (en) * | 1986-02-03 | 1987-12-29 | International Business Machines Corporation | Method for managing lock escalation in a multiprocessing, multiprogramming environment |
| US4823310A (en) * | 1987-08-10 | 1989-04-18 | Wang Laboratories, Inc. | Device for enabling concurrent access of indexed sequential data files |
| US4914569A (en) * | 1987-10-30 | 1990-04-03 | International Business Machines Corporation | Method for concurrent record access, insertion, deletion and alteration using an index tree |
| US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
| US4875159A (en) * | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
-
1988
- 1988-05-27 US US07/199,437 patent/US5043876A/en not_active Expired - Fee Related
-
1989
- 1989-04-15 EP EP19890106770 patent/EP0348614A3/en not_active Withdrawn
- 1989-04-18 JP JP1096578A patent/JP2531783B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5043876A (en) | 1991-08-27 |
| EP0348614A3 (en) | 1990-12-27 |
| EP0348614A2 (en) | 1990-01-03 |
| JPH01319837A (ja) | 1989-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2531783B2 (ja) | 共用ファイル環境をサポ―トする方法 | |
| US11288252B2 (en) | Transactional key-value store | |
| US4853842A (en) | Computer memory system having persistent objects | |
| JP5021677B2 (ja) | デルタページャを使用した状態の管理 | |
| US5287496A (en) | Dynamic, finite versioning for concurrent transaction and query processing | |
| US9183156B2 (en) | Read-copy update implementation for non-cache-coherent systems | |
| US6571259B1 (en) | Preallocation of file system cache blocks in a data storage system | |
| US6886080B1 (en) | Computing system for implementing a shared cache | |
| CN100367239C (zh) | 用于数据库系统的考虑了高速缓存的并行控制方案 | |
| US20160071233A1 (en) | Graph Processing Using a Mutable Multilevel Graph Representation | |
| US20110264870A1 (en) | Using region status array to determine write barrier actions | |
| JPH05143453A (ja) | 分散キヤツシユの階層無効化方法 | |
| JPH04337850A (ja) | データベース・トランザクション及び照会処理システム | |
| JPH05210637A (ja) | 同時アクセス管理方法 | |
| JP2004062869A (ja) | コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置 | |
| CN112597254B (zh) | 面向混合dram-nvm主存的联机事务型数据库系统 | |
| WO2007024419A2 (en) | Database heap management system with variable page size and fixed instruction set address resolution | |
| US6772296B1 (en) | Method and apparatus facilitating automatic persistence in asymmetric storage | |
| Chu | Mdb: A memory-mapped database and backend for openldap | |
| Shaull | Retro: a methodology for retrospection everywhere | |
| Roy | Unix File Access and Caching in a Multicomputer Environment1 | |
| Chang et al. | Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors | |
| EP0058846B1 (en) | Multiprocessing system with variably shared paging storage | |
| JPH02212949A (ja) | オンライン中データベース再編成処理方式 | |
| Scheverl et al. | The DataSafe failure recovery mechanism in the Flask architecture |