JP2000515657A - 共有資源の分散制御を可能にする方法と装置 - Google Patents

共有資源の分散制御を可能にする方法と装置

Info

Publication number
JP2000515657A
JP2000515657A JP10507949A JP50794998A JP2000515657A JP 2000515657 A JP2000515657 A JP 2000515657A JP 10507949 A JP10507949 A JP 10507949A JP 50794998 A JP50794998 A JP 50794998A JP 2000515657 A JP2000515657 A JP 2000515657A
Authority
JP
Japan
Prior art keywords
clients
client
file
field
act
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.)
Ceased
Application number
JP10507949A
Other languages
English (en)
Other versions
JP2000515657A5 (ja
Inventor
ジェームズ ジェイ ウォルフ
ディヴィッド ラスロップ
Original Assignee
トランソフト コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21813768&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2000515657(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by トランソフト コーポレイション filed Critical トランソフト コーポレイション
Publication of JP2000515657A publication Critical patent/JP2000515657A/ja
Publication of JP2000515657A5 publication Critical patent/JP2000515657A5/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 システムは制御表(206、208)と制御プロセスから成り、前者は制御表(206、208)が使用可能か否かを示す可用性インデシアとデータボリューム所有権を示すインデシアとを含み、後者は記憶ボリューム(64、66)への排他的書込アクセスをクライアントに提供するため、制御表(206、208)の排他的所有権の要求、取得を求めて各クライアント(54、56)上で実行される。クライアントは記憶ボリューム(64、66)、又は、各々がソースファイル名(1458)、宛先ファイル名(1478)、アプリケーションプログラムコード(1474)を含む1つ又はそれ以上の記録を含むプロジェクト管理フォルダの何れかへの排他的編集アクセスを求め互いに裁定し合う。各クライアントは管理プロセス(1306、1312)を実行して、プロジェクト管理フォルダ(1314、1320)の位置を特定し、常駐アプリケーション(1456)を使って記録を管理するが、これらは共に未完成であり、処理クライアント上に見つかるアプリケーションを呼び出す。

Description

【発明の詳細な説明】 共有資源の分散制御を可能にする方法と装置 関連仮出願に関するクロスレファレンス 本出願は、1996年8月2日出願の米国仮特許出願第60/023,218 号の発明の恩典を主張し、ここに参考資料として挙げる。本出願は、ジェームス ・J・ウォルフを発明者とし1997年8月1日出願(弁理士事件整理番号16 598.702)の米国特許出願第 号「共有記憶ボリュームを分散制御する 方法と装置」、ジェームス・J・ウォルフ、ダビット・ラスロップを発明者とし 1997年8月1日出願(弁理士事件整理番号16598.703)の米国特許 出願第 号「複数プロセッサを分散制御する方法と装置」、ジェームス・J・ ウォルフを発明者とし1997年8月1日出願(弁理士事件整理番号16598 .704)の米国特許出願第 号「データベースを分散制御する方法と装置」 に関係している。これら参考文献もここに参考資料として挙げる。 発明の背景 著作権の承認 本特許書類が開示するものの一部は、著作権保護を受けた資料を含んでいる。 そうした資料が特許開示の際にファクシミリで複製されることについて、米国特 許商標局のファイル又は記録に登場するのであれば、著作権者は異議を申し立て るものではないが、これ以外の場合に関しては全著作権を留保する。 発明の技術的分野 本発明は一般的には、コンピュータネットワーク上の共有資源を分散制御する システムに関係している。より詳しくは、記憶装置、データベース、プロジェク ト等の資源に対してネットワーク化された環境での複数のコンピュータ間に制御 を分散させることに関係している。 背景 コンピュータシステムの場合、様々なコミュニケーシヨン手段によりファイル 情報を複数のコンピュータで共有するのが普通である。コンピュータがファイル 情報を送るには、モデムとネットワークが使われる。モデムはネットワークに比 べ速度が非常に遅い。ネットワークはファイルサーバを必要とし、高速ネットワ ークの場合ファイルサーバの速度は隘路となる。この隘路は、ファイルサーバの 追随できる速度以上でファイル情報を共有せねばならぬアプリケーションに対し 障害となる。ファイルサーバは、いわゆるクライアント/サーバ・パラダイムの 下で作動する。このパラダイムの下では、クライアントがサーバに要求をすると 次にサーバがその要求を実行する。1つのファイルサーバの場合、複数のクライ アントがファイルサーバに要求をすることがあり得る。ファイルサーバは要求を 受理し、要求を待機させ、要求に対し一度で答える。ファイルシステムの一貫性 はこの方法で維持されるが、それは、1つのエンティティであるファイルサーバ が、ファイル情報が1つの記憶媒体上に論理的かつ一貫性をもって存在するファ イルシステムを制御するデータ構造上で作動しているからである。 ネットワーク技術の進歩により、1つのプリンタをネットワーク全体の付随周 辺機器(NAP)としてネットワークに取り付けたように、様々な手段で記憶装 置をネットワーク上に直接取り付けることができるようになった。NAPパラダ イムではファイルサーバに関する速度上の隘路を除去できるようになるが、柔軟 性が犠牲になる。NAPパラダイムの下では、ファイルシステムの一貫性を維持 する方法がない。このため、複数コンピュータはファイル情報への読み取り専用 アクセスに制限されることになり、ファイル情報の変更が許されなくなる。複数 コンピュータでファイル情報を修正する場合ファイルシステムは損なわれること になるが、それは、キャッシュされたファイルシステムのデータ構造の一貫性を 維持する手段がない儘でファイルシステムを修正しようとするエンティティが複 数存在し、記憶媒体上に論理的かつ一貫性のあるやり方でファイルシステムのデ ータ構造を維持する方法がないためである。それゆえ、このようなNAP型シス テムは、高速の読み取り専用のファイル情報共有システムとなっている。 ファイル情報を共有するためのより改善されたシステムと方法が必要とされて いる。こうしたシステムは、NAPパラダイムが引き起こす、アクセス速度を高 める際のファイルサーバの隘路を取り除き、同時にクライアント/サーバ・パラ ダイムの柔軟性を維持することが好ましい。 コンピュータシステムの場合、計算の集中的処理を完了させるには膨大な時間 が掛かるのが普通である。マルチプロセッサシステムの場合、コンピュータ中に 存在するプロセッサに処理を配分すれば、計算を迅速に処理することができる。 これが可能な理由は、1台のコンピュータ中に存在するプロセッサが、処理の基 である同一の物理的資源(PCI、メモリ、ディスク、CPUバス)を、直付け する方法で共有するからである。このアプローチの欠点は、非常に高価で一般的 ではないハードウェア装置が必要なことであり、そして特定のハードウェアモデ ル上でのこの能力の利点を生かすようにソフトウェアを書かなければならないこ とである。更に処理能力は、1台のコンピュータシステムに設置できるCPUの 数に厳格に制限されてしまう。1台のコンピュータでマルチプロセッサを使うア プローチは、物理的資源を数の増えたCPUの間で分割する際に生ずる厳しい隘 路によって更に制限を受ける。 二番目のアプローチは、1つのネットワークを通して取り付けられている複数 のプロセッサに対して処理を配分するものである。このアプローチは、関与する プロセッサの数が実質的に制限されず、使用されるコンピュータは高価なもので なく普通のものである点から魅力的である。しかし、このアプローチには多くの 欠点があるために極端に非効率的となり、多くの場合ほとんど役に立たない。ネ ットワークに処理を分散させる第一の欠点は、各マシンが処理を実行する際に必 要とする情報の伝達及び処理結果の伝達が、従来のクライアント/サーバネット ワーク(クライアント/サーバモデルが関係する隘路と並んで)を通して普通の 遅いネットワーク接続で行わねばならないために、非常に遅くなりかねないこと である。この制約は、入出力の少なくとも一方で膨大なデータが必要な場合には 膨大な処理オーバーヘッドを生じさせることになる。処理にコンピュータを増や すに連れてネットワーク内での送信量が増えるため、分散処理の効率は更に低下 してしまう。 ネットワークを通じて分散処理するためのより改善されたシステムと方法が必 要とされている。こうしたシステムは、現在の分散ネットワークに関係する隘路 と欠点を取り除き、同時にその長所を維持するものである。そうしたシステムで は、処理の分散機能が働くようになり、クロスプラットフォーム環境下に管理さ れることになろう。 発明の概要 ボリュームの分散制御 本発明の第一実施例では分散ボリューム管理システムを開示する。本実施例で は、ネットワーク上の複数クライアントが、データ記憶ボリュームの一貫性に関 し制御と責任を共有している。このシステムはデータ記憶ボリュームに関係した 制御表を有している。制御表は、制御表が利用可能か否かを示す可用性インデシ アと制御表の所有状態を示す識別インデシアとを含んでいる。システムは又クラ イアント上で実行される制御プロセスを含んでいる。制御プロセスでは、クライ アントにデータ記憶ボリュームへの排他的な書込アクセスを提供するために、制 御表に関する排他的所有権が要求され取得される。 本発明のある実施例では、データ記憶ボリュームに接続された複数のクライア ントの間で、データ記憶ボリュームへの排他的な書込アクセスを互いに実施させ る方法は、第一クライアントの書込要求を検出する行為と、前記検出行為に応じ て第一クライアント上で要求ルーチンを開始する行為と、第二クライアントの解 放要求を取得する行為と、前記取得行為に応じて第二クライアント上で解放ルー チンを開始する行為とから成り、前記要求ルーチンは、a)制御表中の所有イン デシアに基づいて、第二クライアントがデータ記憶ボリュームへの書込アクセス を有していると決定する行為と、b)前記決定する行為に応じて、第二クライア ントが書込アクセスを解放するよう、解放要求を送る行為と、c)第二クライア ントからの肯定通告に応じて、i)制御表中の所有インデシアを第一クライアン トの所有インデシアに置き換える行為と、ii)書き込みアクセスのためにデー タ記憶ボリュームをマウントする行為とから成り、前記解放ルーチンは、a)前 記データ記憶ボリュームに対する書き込みアクセスを解放する行為と、b)肯定 通告を解放行為の第一クライアントに送付する行為とから成っている。 データベースの分散制御 本発明のもう一つの実施例では分散データベース管理システムが開示されてい る。本実施例では、ネットワーク上の複数クライアントが、複数の記録を含むデ ータベースの一貫性に関し制御と責任を共有している。クライアントは各記録内 の各フィールドへの排他的編集アクセスに関し互いの間で裁定する。データベー ス管理システムは複数記録内の各フィールドに関係するロックフィールドを含ん でいる。各クライアントは常駐コヒーレンシープロセスを実行する。コヒーレン シープロセスはフィールドを編集する要求に応答する。このプロセスはフィール ド上にフィールドロックがない場合に要求を認める。要求が認められると、コヒ ーレンシープロセスはフィールドにロックを設置し、フィールドの排他的所有を 主張する。コヒーレンシープロセスは、フィールドの編集を出る要求にも応答す る。編集を出る要求が受信されると、コヒーレンシープロセスはロックを取り除 きフィールドの排他的所有を取り下げる。各クライアントはデータベース処理を 実行して、照会を受付け、照会に応えてデータベースから記録を提供し、フィー ルドを編集する要求を受付け、フィールドを編集する要求をコヒーレンシープロ セスへ送る。データベースプロセスはフィールドを編集する要求を受付け、そし てフィールドの編集を出る要求をコヒーレンシープロセスに伝える。 本発明のある実施例では、複数の記録を含むデータベースを管理し、各記録内 のフィールド各々への排他的編集アクセスをデータベースに接続されているクラ イアントに提供するための方法は、第一クライアントにおいてフィールドを編集 する要求を検知する行為と、前記検知する行為に応じて第一クライアント上でコ ヒーレンシールーチンを開始する行為と、前記複数のクライアントの第一のクラ イアントにおいてフィールドの編集を出る要求を取得する行為と、取得する行為 に応じて第一のクライアント上でコヒーレンシールーチンを開始し、そこで前記 コヒーレンシールーチンは第一クライアント所有インデシアをそのフィールドか ら取り除く行為とから成り、前記コヒーレンシールーチンは、a)フィールドに 関係する所有インデシアに基づいて、複数のクライアントの内の他のクライアン トがフィールドに編集アクセスすることを決定する行為と、b)決定する行為に 応じて、所有権の取り下げられるフィールドに関する所有インデシアを待つ行為 と、c)フィールドに関する所有インデシアの取り下げに応じて、i)編集され るフィールドに第一クライアントの所有インデシアを取り付ける行為と、ii) そのフィールドに編集アクセスを提供する行為とから成っている。 プロセッシングの分散制御 本発明のもう一つの実施例では、分散プロジェクト管理システムが開示されて いる。本実施例では、ネットワーク上の複数クライアントが、ネットワーク上に 記憶され、クライアントがアクセス可能なプロジェクト管理フォルダに定義され ているプロジェクトに対し制御と責任を共有している。プロジェクト管理フォル ダは一つ又はそれ以上の記録を含んでいる。記録には、ソースファイル名、ソー スファイル位置、アプリケーション名、アプリケーションプログラムコード、宛 先ファイル名、宛先ファイル位置が含まれている。ネットワーク上の各クライア ントは、フォルダの位置を探し、フォルダ内の記録を読むために管理プロセスを 実行する。記録が読まれると、資源即ち記録が必要とするアプリケーションがク ライアントに在るか否かが判定される。もし無ければ、クライアントはフォルダ へ進む。もし資源が在れば、管理プロセスは、ソースファイル名、ソースファイ ル位置、アプリケーション名、アプリケーションプログラムコード、宛先ファイ ル名、宛先ファイル位置をはじめとする記録の内容を読む。管理プロセスは次に クライアントの常駐アプリケーション/資源に記録内に名前が挙げられているソ ースファイルを開かせる。次に管理プロセスは、クライアントの常駐アプリケー ションに、これも又記録から得られたアプリケーションプログラムコードの指示 の下にそのソースファイルに関するプロセスを実行させる。管理プロセスが、ア プリケーションプログラムコードに従ってアプリケーションがタスクを完了した と検知すると、管理プロセスはアプリケーション/資源に指示して、完了したタ スク/成果物を記録内の宛先ファイル名に対応する名称を付けてファイル内に記 憶させ、そのファイルを記録内で見つけられた宛先ファイル位置に対応するネッ トワーク上の位置に記憶させる。管理プロセスは次に、プロジェクト管理フォル ダに完了の印を付ける。 本発明のある実施例では、コンピューターネットワークに接続されている選択 されたクライアントにプロジェクトの管理を分配する方法は、コンピューターネ ットワーク上にプロジェクト管理ファイルを作り、且つソースファイル名、ソー スファイル位置、第一アプリケーション名、第一アプリケーションプログラムコ ード、第一アプリケーション宛先ファイル名、第一アプリケーション宛先ファイ ル位置を含む少なくとも一つの記録を含むプロジェクト管理フォルダを作る行為 と、第一クライアントにおいてプロジェクト管理ファイルのネットワーク上の位 置を検知する行為と、前記検知する行為に応じて第一クライアント上で管理プロ セスを開始する行為とから成り、前記管理プロセスは、a)プロジェクト管理フ ァイル記録を読む行為と、b)第一アプリケーション名が第一クライアント上の 対応するアプリケーションと合うと裁定する行為と、c)対応するアプリケーシ ョンに、第一アプリケーションプログラムコードに従ってソースファイル上で演 算を実行させ、宛先ファイル位置において結果成果物を宛先ファイル名のついた ファイルに記憶させるために、対応するアプリケーションに第一アプリケーショ ンプログラムコードを送る行為と、d)少なくとも一つの記録が完了したと印を 付ける行為とから成っている。 図面の簡単な説明 本発明のこうした特徴と利点は、以下の詳細な記述と付属図面とを付き合わせ ることで当業者に一層明らかなものとなろう。 図1Aは、従来技術によるクライアントサーバネットワークのハードウェアブ ロック線図である。 図1Bは、図1Aの各クライアント上に存在するソフトウェアモジュールを示 す。 図1Cは、図1Bのモジュールの機能上の関係を示す。 図2Aは、複数クライアントと共有記憶ボリュームとの間をサーバ無しでネッ トワーク接続した場合のハードウェアブロック線図である。 図2Bは、図2Aの各クライアント上に存在するソフトウェアモジュールを示 す。 図2Cは、図2Aのソフトウェアモジュール間の機能上の関係を示す。 図3Aは、図2Aの共有記憶ボリューム上のアクセス制御表を示す。 図3Bは、図2Aの共有記憶ボリューム内のボリューム制御表を示す。 図4は、図2Aの共有記憶ボリュームに関するファイルディレクトリ構造の例 を示す。 図5A−Eは、複数クライアントが、一つの共有記憶ボリュームへの読取/書 込アクセスをできるようにするプロセスを示す。 図6は、クライアントネットワークに接続された、従来技術によるデータベー スサーバのハードウェアブロック線図である。 図7は、複数クライアントが、一つの共有記憶ボリューム上のデータベースに 直接取り付けられる場合のハードウェアブロック線図である。 図8Aは、図7の共有ボリューム上のアクセス制御表を示す。 図8Bは、図7の共有ボリューム上のボリューム制御表を示す。 図8Cは、図7の共有ボリューム上の更新リストを示す。 図9A、9Bはそれぞれ、図7の共有ボリューム上のリレーショナルデータベ ース、フラットデータベースに関する強化されたデータ構造を示す。 図10は、分散データベースプロセスを実行する各クライアント上のソフトウ ェアモジュールを示す機能ブロック線図である。 図11は、あるデータベースエンジンの全体構造内に、図10A−Fの各々を 組み込んだ全体プロセスフローである。 図12A−Fは、共有記憶ボリューム上に一貫性のあるデータベースを維持す るために、図7の各クライアント上で実行されるプロセスを示す。 図13A−Cは、あるプロジェクト管理ファイルが命じたタスクを複数クライ アントが共同で処理するネットワーク環境を示す。 図14A−Dは、図13A−Cのプロジェクト管理ファイルに関する詳細デー タ構造を示す。 図15A−Bは、図13A−Cのネットワーク上で実行できるプロジェクトの 例を示す。 図16A−Dは、図15Aのプロセスに関する画面インタフェイスを示す。 図17A−Fは、分散プロセス管理を実行するために、図13A−Cのクライ アント上で実行されるプロセスを示す。 発明の詳細な説明 図1Aは、従来技術によるクライアントサーバネットワークのハードウェアブ ロック線図である。ネットワークはクライアント54−56(各々をクライアン トA−Bと名付ける)、サーバ60、記憶ボリューム64、66とから成る。記 憶ボリューム66はコンパクトディスクである。記憶ボリューム64はディスク の冗長配列(RAID)である。各記憶ボリュームは自分に関するファイルディ レクトリを有する。記憶ボリューム64はファイルディレクトリ62を含む。各 クライアント54、56はそれぞれファイルディレクトリ62のキャッシュコピ −50、52を含む。 コンピュータ54、56はローカルエリアネットワーク(LAN)を介してサ ーバ60に接続される。サーバ60は、スモールコンピュータシステムインタフ ェイス(SCSI)コネクションにより、記憶ボリューム64、66に接続され る。クライアントA、Bが記憶ボリューム64、66のいずれかと接続するため には、まずサーバ60へのアクセス要求をログしなければならない。要求に応じ てサーバ60は、記憶ボリュームの一貫性を維持するために、ボリューム管理、 書込アクセス、ファイル管理に対応するプロセス58を実行する。 図1Bは電源が入っている間のサーバ60上のハードウェアモジュールとソフ トウェアモジュールを示す。サーバ60は不揮発性メモリ84、CPU80、ロ ーカル記憶装置86とから成る。不揮発性メモリ84内には、オペレーティング システム(OS)カーネルとして識別されるソフトウェアモジュールが存在する。 記憶装置86はフルOS90、関連ドライバー92、スタートアップ構成94を 含む。作動時に電源が入ると、CPU80はOSカーネル88のコードシーケン スを開始する。次にCPUは、記憶装置86上の主OS90にアクセスする。O S初期設定の間に、種々のドライバー92が初期設定される。これらのドライバ ーはCPUを、キーボード、モニター、プリンタ、記憶装置等の周辺装置に接続 する。OSが初期設定されると、スタートアップファイル94が実行され、1つ 又はそれ以上のアプリケーションが実行可能な状態になる。 ソフトウェアモジュールブロック82に、電源が入っているときに作動可能な ソフトウェアモジュールを示す。OSに関係するモジュールは、アクセス制御モ ジュール96、コマンド受信モジュール98、スケジューリングモジュール10 2、ロジカル・ツー・フィジカル・トランスレーション及びスペース割当モジュ ール110である。他のモジュールは、スクリーンドライバー104、CDドラ イバー106、RAID記憶ドライバー108である。最後に、アプリケーシヨ ンモジュール100がスタートアップファイル94で実行可能な状態にされる。 図1Cは、図1B、Cのソフトウェアモジュール間の機能上の入出力I/Oの 関係を示すブロック線図であり、この関係には、最初の図1Aに示したようにク ライアントアプリケーション150がサーバ60と交信し、次にサーバ60が記 憶装置64、66のいずれかと交信する様子が含まれている。ファイルサーバ6 0は、ロジカルI/Oブロック158とフィジカルI/Oブロック160から成 る。ロジカルI/Oブロック158は、コマンド受信モジユール98、アクセス 制御モジュール96、ファイルディレクトリ166から成る。フィジカルI/O ブロック160は、スケジューリングモジュール102、ロジカル・ツー・フィ ジカルトランスレーション及びスペース割当モジュール110、モニタ、CD、 RAID記憶装置のそれぞれに関係するドライバー104−108から成る。R AID記憶装置64はファイルディレクトリ62を有しており、ファイルディレ クトリ62には記憶装置64上に位置する全データに関するディレクトリツリー とアクセス権が含まれている。 作動中、クライアントアプリケーション150はサーバ60を介し記憶装置6 4、66のいずれかと交信する。クライアントアプリケーション150から受信 するコマンドには、クリエイト削除、オープン、クローズ、読取、書込が含まれ る。各コマンドにはロジカルファイル名が付いている。コマンドはコマンド受信 モジュール98からアクセス制御モジュール96へと転送される。アクセス制御 モジュール96は各々対応するファイルディレクトリ166の一つとインタフェ ースが取れている。一般的には、各フィジカルボリュームに対して1つのファイ ルディレクトリがある。更に、ボリュームは複数のフィジカル記憶装置に亘って 存在することがソフトウェアストライピングの場合のように可能である。フィジ カルボリュームは1つの記憶装置でもよいし記憶装置上の1区画でもよい。 ファイルディレクトリについては図4との関連で詳細に述べるが、通常、ロジカ ルファイル名のディレクトリツリーと各ファイル名に関するアクセス特権とを含 んでいる。アクセス制御モジュール96はファイルディレクトリ166に含まれ ているアクセス特権に基づいて、特定のコマンドが実行されるべきか否かを決定 する。例えばアプリケーションコマンドが、読取専用としてリストされているフ ァイル又はボリュームに対する書込要求を含む場合、アクセス制御モジュールは その要求を実行しない。その代わり、アクセス制御モジュールが実行するコマン ドが受信されると、当該コマンドに関係したデータはスケジューリングモジュー ル102へ直接転送される。フィジカルI/Oブロックは、コンピュータシステ ム外の環境との主要なインタフェイスである。フィジカルI/Oは、ディスク又 はテープシステムとの間で交換されるデータブロックをやり取りする。従ってフ ィジカルI/Oは、二次記憶装置上のブロックの配置と主メモリー中でのブロッ クのバッファリングに関係し、スケジューリングモジュールは、性能を最適化す るためにディスク又はテープへのアクセスをスケジューリングすることに関係し ている。I/Oバッファ、二次メモリーの割当はこのレベルでなされる。例えば 、特定のロジカル位置からデータを読み取るコマンドは、スケジューリングモジ ュール102からロジカル・ツー・フィジカル・トランスレーション及びスペー ス割当モジュール110へ転送される。モジュール110はロジカル位置を特定 の記憶装置上の実際の物理的位置に直す役目を担っている。ファイルは例えば、 記憶装置の連続した部分に記憶されなくても構わない。代わりに切れ切れのセグ メント上に記憶されてもよい。次にこのモジュールは、ロジカルファイル名を一 連のフィジカルセグメントに翻訳する。このモジュールはスペース割当の役目も 担っている。スペース割当の意味は、書込コマンドが受信された場合、データが 書き込まれるべき実際の物理的アロケーションをモジュール110が決定すると いうことである。サーバ60と記憶装置との間の最終的なソフトウェアインタフ ェイスは、適当なデバイスドライバー経由でなされる。各デバイスドライバーは 1つのデバイスタイプを扱う。デバイスドライバーは、ディスクコントローラが どれだけのレジスターを有しており、そのレジスターが何に使われるのかを知っ ているOSの唯一の部分である。セクター、トラック、シリンダー、ヘッドアー ム の動き、インタリーブファクタ、モータドライブ、ヘッドセットリング回数、及 び記憶装置を適切に作動させるその他全てのメカニックに関して知っているのは このデバイスドライバーのみである。概略的に言えば、デバイスドライバーの仕 事は、デバイスとは独立しているソフトウェアから抽象的な要求を受け取り、当 該要求が実施されるのを見届けることにある。 図2Aは、ボリューム内に含まれるデータの一貫性を失わせずに、1つ又はそ れ以上の共有記憶ボリュームにクライアントを直接接続する本発明の好適実施例 のハードウェアブロック線図である。クライアント54−56、記憶装置64− 66、サーバ60が示されている。RAID記憶装置64は、ファイルディレク トリ204、アクセス制御表206、ボリューム制御表208を含む。各クライ アント54、56は、記憶装置64−66を分散管理するプロセスを実行する。 クライアント54、56はプロセス214、216をそれぞれ実行する。クライ アント54、56はファイルディレクトリ62の常駐コピ−200−202を有 する。 xマーカー212で示されているサーバ60は、クライアント54、56のい ずれかが記憶装置64−66に対して発する要求に答えるためにはもはや必要で はない。替わりに、クライアント54、56は記憶ボリューム64−66に直接 接続されている。ある好適実施例では、ファイバチャネルANSIスタンダード X3.230及び/又はSCSI−3ANSIスタンダードX3.230のいず れかを基に接続がなされるが、他のメディア接続によるシステムの支援も可能で ある。本発明の他の実施例は、記憶装置802とホスト804を接続させる他の 方法を支援するように適合化することもでき、そうした例として、ファースト4 0(ウルトラSCSI)、シリアルストレージアーキテクチャ(SSA)、「ファ イヤワイア」IEEE標準P1394、非同期転送モード(ATM)、スケーラ ブルコヒーレントインタフェイス(SCI)IEEE標準1596−1992及 び上記の内の幾つかの組合せを挙げることができる。ファイバチャネルアーキテ クチャは、シリアルコミュニケーションとI/O記憶装置の両者に対して高速イ ンタフェイスリンクを提供する。このリンクは、業界標準のインタフェイスを使 って、既存アーキテクチャの10倍から100倍の速度でデータの転送をする ことができる。ファイバチャネルはデータ通信における極々最近の革命的出来事 の一部であるが、パラレルベースタイプのデータ送信を従来使用してきたアプリ ケーションとコンピュータアーキテエクチュアに、シリアル伝送線、設計技法、 設計技術を組み込むことによりもたらされたものである。伝送線は、データ送信 とバスベース設計に対し優れた特性を有しており、長距離及び/又は高速でエラ ーのない信号送信を可能にする。ファイバチャネルは、ポイント・ツー・ポイン トリンク、パケット切換、共有メディアループトポロジイを始めとする柔軟なト ポロジイを支援している。ある好適実施例では、ファイバチャネルネットワーク がクライアント54、56を記憶装置64、66の両方ににリンクさせる。記憶 装置64には、複数ディスクに亘ってデータを同時に読取・書込するストライピ ングソフトウェアが備えられている。このストライピング能力により、ネットワ ーク媒体であるファイバチャネルの帯域を記憶装置の帯域に等しくすることがで きる。記憶装置上の個々のディスクはネットワーク接続の帯域の一部のデータし か提供できないと言う事実にも拘わらず、こうしたことが起こるのである。ファ イルを複数ディスクに亘ってストライピングすることにより、複数ディスクが並 行してデータをドライバーに提供できるようになり、ヘッドアームに関して物理 的限界によって課せられる帯域制約は克服されることになる。 クライアントA,Bのどちらかが記憶装置64に書込んだデータの一貫性を維 持するため、プロセス214−216がクライアント54、56上でそれぞれ実 行される。各プロセスは新たなボリュームのマウンティング、書込アクセス、フ ァイル管理を制御する。記憶装置64にデータを書込むために、クライアントは 先ず、共有記憶ボリューム上のアクセス制御表206、ボリューム制御表208 の両者の内に書込条件が存在することを確認しなければならない。当該条件が存 在することが確認されると、クライアントは記憶ボリュームにデータを書込むこ とができる。当該条件が存在しない場合、書込要求は拒否される。ある好適実施 例では、アクセス制御表、ボリューム制御表は物理的な記憶装置上の、読取・書 込の両能力を備えた個別のボリューム上に存在する。従って、アクセス制御表、 ボリューム制御表は、両制御表がアクセスを制御している同一の物理的デバイス 上に存在する必要はなく、通常、実際にも存在しない。代わりに214、216 の各プロセスは共通なアクセス制御表、ボリューム制御表を共有して、プロセス が接続される多くの装置のどれか1つへ、何時どんな条件の下で書込めるのかを 確認する。 図2Bは、クライアント54のハードウェア・ソフトウェアブロック線図であ る。クライアント54は、CPU250、不揮発性メモリ254、ローカル記憶 装置258から成る。不揮発性メモリ254はISO256を含んでいる。不揮 発性メモリ258は、メインOS260、デバイスドライバ262、スタートア ップファイル264から成る。 電源が入ると、CPU250はOSカーネルをブートROM254からアップ ロードしOS260の残りの部分をローカル記憶装置258であるディスクドラ イブから読み取る。OS作動が使用可能な後の段階の間は、デバイスドライバ2 62、スタートアップファイル264が使用可能である。ソフトウェアモジュー ルブロック252は、電源が入っている際に使用可能なソフトウェアモジュール を示す。OS260が使用可能な間は、コマンド受信モジュール98、アクセス 制御モジユール96、スケジューリングモジュール102、ロジカル・ツー・フ ィジカル・トランスレーション及びスペース割当モジュール110、変換モジュ ール268は使用可能である。デバイスドライバ262が使用可能な間、スクリ ーンドライバー104、CDドライバー106、RAIDドライバー270は使 用可能である。スタートアップファイルのイニシエーションの間、ボリューム制 御アプリケーション266と常駐アプリケーション100は使用可能である。 図2Cは、図2Bで電源が入っている間に使用可能なソフトウェアモジュール 間の機能上の関係を示す。クライアント54と物理的記憶装置64、66が示し てある。物理的記憶装置64はファイルディレクトリ62、アクセス制御表20 6、ボリューム制御表208、1からNまでのブロックを含んでいる。物理的記 憶装置66は自分自身のファイルディレクトリと1からNまでのブロックを含ん でいる。クライアント54はボリューム制御アプリケーション266、ロジカル I/Oブロック158、物理的I/Oブロック160を含んでいる。ロジカルI /Oブロック158は、コマンド受信モジュール98、アクセス制御モジュール 96、ファイル変換モジュール268、ファイルディレクトリ166を含んでい る。物理的ブロック160はスケジューリングモジュール102、ロジカル・ツ ー・フィジカル・トランスレーション及びスペース割当モジュール110、デバ イスドライバ104−106、270を含んでいる。 作動状態であっても、OSが初期設定されている間、デバイスドライバ270 は全面的に使用可能な訳ではない。従ってクライアント54にとっては、物理的 装置64は利用可能状態、即ち接続されているようには見えない。ボリューム制 御モジュール266は使用可能になると、一連のコマンドをコマンド受信モジュ ール98に送る。このコマンドにより、ボリューム制御モジュール266がロッ ク記憶ドライバ270を発見することになる。この発見プロセスの間、ボリュー ム制御モジュールは物理的記憶装置64上のアクセス制御表206とボリューム 制御表208をも発見する。この発見プロセスの間、ボリューム制御アプリケー ション以外の他のアプリケーションは、物理的記憶装置64にアクセスしない。 ボリューム制御モジュール266がアクセス制御表206とボリューム制御表2 08から、アクセス特権とボリューム特権をそれぞれ読み取ると、次にボリュー ム制御モジュール266はファイルディレクトリ166にアクセス特権を書き込 むよう意図された一連のコマンドに携わる。例えば、クライアント54が物理的 デバイス64へ読み取り/書込アクセスすることをボリューム制御表が標示する と決められると、ボリューム制御モジュールは次にマウントR/Wコマンドを発 し、このコマンドをコマンド受信モジュールが受信すると、ファイルディレクト リ166は更新されこの特権が含まれることになる。続いて、ファイルディレク トリ166が物理的デバイス64に書き戻されると、実際の物理的デバイス64 上に常駐するファイルディレクトリ62も更新される。従って、アクセス特権と ボリューム特権はアクセス制御表とボリューム制御表から読み取られ、ボリュー ム制御モジュール266によってキャッシュされたファイルルディレクトリ16 6と物理的ファイルディレクトリ62に書き込まれる。好適実施例中のデバイス の1つにのみ存在するアクセス及びボリューム制御表に基づいて、本プロセスを 複数の物理的デバイスに亘って実行することが可能であるが、これらの表を他の 場所に置くこともできる。 機能の観点から未だ論じていない残りのモジュールは、プロトコル変換モジュ ール268である。プロトコル変換モジュール268はアクセス制御モジュール 96をファイルディレクトリ166にインタフェースし、一様なファイルディレ クトリ構造を、例えばクライアント54、56に存在しうる異種のOSに跨って 維持している。例えばクライアント54は、マッキントシュシステム7のOSを 作動させ、クライアント56は、ウィンドウズNTを作動させているかもしれな い。これら各クライアント上のプロトコル変換モジュール268は均質なファイ ルディレクトリ構造を強要し、本発明によるクロスプラットフォームを使用可能 にする。プロトコル変換モジュール268は、共通APIの交信規則及びコマン ドフォーマットへ、交信規則変換及びコマンドフォーマット変換を提供する。従 って、ディレクトリとファイルを複数のOSにまたがってデータフォーマットの 形で記憶させることができる。このフォーマットは特定のASCII文字、ファ イル名に関する規定、特定の規定を有しているが、これについてはファイルディ レクトリとアクセス制御に関する図4の関係で詳述する。プロトコル変換ユニッ トがコマンドを受信すると、コマンドのタイプに対応する処理ルーチンを自身内 部から呼び出し、この処理ルーチンがコマンドを扱う。 図3Aは、図2A−Cに関連して先に述べたアクセス制御表206の詳細なデ ータ構造を示す。アクセス制御表のログドオンフィールド356は、どのユーザ ープロセス214−216(図2A参照)が、アクセス制御表とボリューム制御 表に対してログオンされているかを標示する。あるユーザーがアクセス制御表に ログオンするまでは、そのクライアント上の如何なるアプリケーションも、デバ イスドライバーがデバイスドライバー270に似たロック制御を有するような如 何なる物理的デバイスにもアクセスできない(図2C参照)。アクセス及び制御 表は、各クライアントに関係したリフレッシュ通知フィールド358も有してい る。特定クライアントに関係したフィールド内のブール真条件は、システム上の 他ユーザーのアクセス特権に変化が起きた時、クライアントはその常駐ボリュー ム制御プロセスによって知らせを受けることを保証している。ブール偽条件は反 対の効果をもたらし、即ち、アクセス制御表のリフレッシュ通知フィールドにブ ール偽を有するクライアント上のボリューム制御プロセスは通知を与えることは ない。アクセス制御表は、クライアント間でメッセージを転送する能力を提供す る。フィールド360は要求メッセージを含んでいる。フィールド362とフィ ールド354は各々テキストベース及びブールベース応答メッセージを含んでい る。最後に、アクセス制御表はセマフォフィールド352を有している。セマフ ォフィールド内にセマフォが存在すれば、クライアント54、56の一方がアク セス制御表206とボリューム制御表208をそれぞれ制御していることを示し ていることになる。セマフォフィールド352に識別子を書き込んだクライアン トプロセスは各ボリュームに関係する特権を変更することができ、又書込状態中 に変化を開始させることができる。 図3Bはボリューム制御表208に関するデータ構造を示す。特に、表208 A、208Bを示す。各ボリューム毎に1つのボリューム制御表が存在し、複数 ライターによる分散制御を支援する。制御記録208A内のフィールドは全てサ フィクスAで識別される。ボリューム制御表208Bで識別されるフィールドは 全てサフィクスBを有する。フィールド390は特定のボリューム制御表に関係 するロジカルボリュームを識別する。フィールド390AはRAID記憶装置6 4(図2A参照)がボリューム制御表208Aに関係していることを示す。フィ ールド390BはCD−ROM66(図2A参照)がボリューム制御表208B に関係していることを示す。フィールド392は、特定のボリュームが書込可能 であるか否かを示すブール真偽標示を含んでいる。フィールド392Aは、RA ID装置64(図2A参照)が書込可能であることを示す。フィールド392B は、CD−ROM66(図2A参照)が書込可能でないことを示す。フィールド 394は、現在どのクライアントが特定のボリュームに書込アクセスしているか を示す。フィールド394Aは、クライアント54(図2A参照)が現在RAI D記憶装置64に書込アクセスしていることを示す。フィールド394Bは、ど のクライアントもCD−ROM66(図2A参照)に書込アクセスしていないこ とを示す。フィールド388は、どのクライアントが各特定のボリュームに対す るマウントアクセス特権を有しているかを示す。ブール真値は、クライアントが ボリュームをマウントできることを示す。ブール偽値はこの逆を示す。フィール ド396は各クライアントが現在のボリュームセッティングに対して変更を要求 する能力について示す。ブール偽値は、クライアントが変更要求、例えば読み取 り専用から読み取り/書込(又はその逆)に変更することから閉め出されていな いことを示す。ブール真値は、クライアントが変更要求することから閉め出され ていることを示す。フィールド384はブール真偽値であり、特定のボリューム に関して他のクライアントが変更を行った時に、読み取り専用の特権を有するク ライアントが更新されるか否かを示している。フィールド386はタイムスタン プであり、クライアントがファイルディレクトリ62(図2A参照)の更新コピ ーを最後に受信した時を示す。フィールド382はタイムスタンプであり、特定 のボリュームが何れかのクライアントによる最終の変更の時を示す。最終変更時 フィールド386をボリューム変更時フィールド382と比べることにより、プ ロセス214−216(図2A参照)は、自動更新特権を有するクライアントが ファイルディレクトリリフレッシュをいつ必要とするか確認することができる。 以下に、ボリューム制御表とアクセス制御表に関する別の実施例の場合につい て、データ構造と機能コールをリストで示す。リストはこれらの表に関するデー タ構造要素の一部を示す。アクセス表は、StudioBOSS_DB_Hea der14xxとPartition Volume Record‘s14x xのアレイで構成される。Volume DB Header 14xx Volume DB Header 14xxは、本発明の第一実施例のボリ ューム表の先頭に記憶されるが、実際の位置は変わってもよい。各フィールドを 以下に記載する。 Table Version Number 14xx 表フォーマットのバージョンナンバーを表す。現在の所SB_DB_VERS IONにセットされている。将来の互換性を狙ったものである。 Table_Open_Counter 14xx 表が開けられた回数を追跡する。現在の所DEMOコピーと共に使われ、DE MOバージョンの満了に関する基準の1つを決定する(SB_DB_OPENS _UNTIL_EXPIRE 14xx参照)。 Table_Write_Lockout_Semaphore 14xx 表にアクセスしても安全であれば、MAXIMUM_USERS 14xxに セットされる。そうでない場合、セマフォを捕らえているユーザー番号にセット される。捕らえられている場合、表は信頼性がなく、表を変更してはならない。 Number Of Users 14xx 表中に作成された全ユーザー数を示す。 Number Of Volumes 14xx 表中の全ボリューム数を示す。 User_Names[MAXIMUM_USERS 14xx]14xx 表中のユーザーの名前をパスカルストリングフォーマットで示す(長さバイト +文字)。注意:リスト中で次の名前を見つけるには、次の非零長ストリングの アレイを探すこと。 User_Has_Owner[MAXIMUM_USERS 14xx]14 xx ユーザーが有効ならTRUEに、そうでなければFALSEにセットする。 User_Logged_On[MAXIMUM_USERS 14xx]14 xx ユーザーが表にログオン中ならTRUEに、そうでなければFALSEにセッ トする。 User_Refresh_DB[MAXIMUM_USERS 14xx]1 4xx 表ファイルを完全に閉鎖/再スタートせねばならぬ表の変更をユーザーに知ら せる必要がある場合、TRUEにセットする(ユーザーのログオン等によってボ リュームが追加又は削除されたときなど)。 User_Receiving_Request 14xx 受信パーティのユーザー数であるか、そうでない場合はMAXIMUM_US ERS 14xxにセットされる。 User_Snding_Request 14xx 送信パーティのユーザー数であるか、そうでない場合はMAXIMUM_US ERS 14xxにセットされる。 Volume_With_Request_Position 14xx 要求を含んだボリューム記録のファイルのスタートからのインデックスである か、そうでない場合は0。 Request_Response 14xx レスポンスが正でレスポンス_メッセージが有効である場合、TRUEにセッ トする。 Sender_Message 14xx 要求の一部として送信者から受信者に送られるパスカル型ストリングのメッセ ージ。 Response_Message 14xx 要求の一部として受信者から送信者に送られるパスカル型ストリングのメッセ ージ。 DB_Header_Filler[400] 特別に確保してある。0にセットすべきものである。Partition Volume Record[MAXIMUMVOLUM ES 14xx]14xx Volume_DB_Header 14xxの後に、Partition_ Volume_Record‘s 14xxが続く。各フィールドを以下に記載 する。 Volume Info 14xx 本フィールドはPartition_Volume_Header 14xx 記録であって、表中の次のボリュームに関する情報を含んでいる。フィールドに 関する全体の記述を以下に掲げる。 Users[MAXIMUM USERS 14xx]14xx 本フィールドはPartition_User_Record 14xx記録 のアレイであって、ボリュームのMAXIMUM USERS 14xx(20 0)ユーザーまでの情報を含んでいる。フィールドに関する全体の記述を以下に 掲げる。Partition Volume Header 14xx Partition_Volume_Header 14xx記録フィールド に関する記述を以下に掲げる。 Volume Name 14xx ボリューム名のパスカルストリング。 Writer User Number 14xx ボリュームに対して書き込みアクセスを有するユーザー数。いない場合、MA XIMUM USERS 14xxにセットする。 Volume Last Modified Time 14xx ボリュームが変更されたことにソフトウェアが気付いた最後の時を含む。 Vol_Header_Filler[100]14xx 特別に確保してある。0にセットすべきものである。Partition User Record 14xx Partition User Record 14xxの記録フィールドに 関する記述を以下に掲げる。 User Number 14xx 表中のユーザー数である。ユーザーの[MAXIMUM USERS 14x x]アレイへのインデックスに等しくなければならない。 Write Access 14xx ユーザーが読み取り/書込アクセスを有しているなら、TRUEに、そうでな い場合はFAULSEにセットされる。 Mount Access 14xx ユーザーが、アクセスするためボリュームをマウントして欲しいとしているな ら、TRUEににセットされる。 Auto_Update 14xx ボリュームが変更に関して自動的にチェックされかつ更新されることをユーザ ーが欲するなら、TRUEにセットされる。FAULSEにセットされると、下 記Auto_Update_Check_Seconds 14xxは無効にな る。 Auto_Update_Check_Seconds 14xx Auto_Update 14xxがTRUEならば、ボリュームが変更に関 し再度チェックされるまでに必要な秒数を表す。 Last Modified Time 14xx ボリュームが変更されたことにユーザーが気が付いた最後の時を含む。 Reserved[50] 特別に確保してある。0にセットすべきものである。 各ホストコンピューターにはPreference_Record 14xx から成る優先ファイルが配置されている。この情報の目的は、各ホストが固有の ユーザー番号をボリューム表内に持てるようにして、各ホストがボリューム表に ログインし、各ファイルシステムに対し構成されるパラメータの自分自身のセッ トを持てるようにすることである。 File_Signature 14xx これは、以下の情報がPreference_Record 14xxとして 依存できる有効なデータセットに最もふさわしいことを標示する固有の値に対し てセットされる。 Admin_Expired 14xx これはTRUE又はFALSEの何れかにセットされる値であり、満了したソ フトウェアのDEMOコピーであるか否かを標示する。 Total tables 14xx この値は、構成され先の検索で発見されたボリューム表の総数を標示する。こ れはネットスタートアップ時に発見されると自動的に期待される数である。 SB Process Ticks 14xx これは、ボリュームファイル制御ソフトウェア構成要素がユーザー事象又は表 変更のチェックをするために呼び出される各時間の間の時間値である。 Monitor DB Ticks 14xx これは、ボリュームファイル制御ソフトウェア構成要素が、他のユーザーから の書込アクセスに関する要求のような表変更に対しチェックを行うまでに経過す るにちがいない時間値である。 User Name 14xx これはボリューム表ログオンに際し検索される、ユーザー名を表示する文字ス トリングであり、これからユーザー番号が生成され後のアクセスに用いられる。 Admin Password 14xx これは、このホストに対するボリュームファイル制御ソフトウェア構成要素の アドミニストレーター関数へのアクセスに必要な現在のパスワードを標示する、 文字ストリングである。 Volume_Volume_Names[MAXIMAM_Volume]14 xx これは、ボリュームファイル制御ソフトウェア構成要素がボリューム表を検索 すべきファイルシステム名を標示する、文字ストリングのアレーである。 Pref Filler 14xx これは、将来の拡張のためのプレースフォルダであるバイトのアレーである。 Ignore_Bad_Mount 14xx これは、失敗したファイルシステムのマウント試行の間に、ユーザーにエラー を知らせるべきか否かを標示する、TRUE又はFALSEにセットできる変数 である。 Lockout_Access_Change 14xx これは、ユーザーが、読み取り/書込特権を変更する要求のようなボリューム 表の変更を許されているか否かを標示する、TRUE又はFALSEにセットで きる変数である。ユーザーは如何なるセッティングの変更もできてはならないと 決められたら、アドミニストレーターはこれをセットすることができる。 Keep_DB_Volume_Locked 14xx これはTRUE又はFALSEにセットできる変数であり、ボリュームファイ ル制御ソフトウェア構成要素が、ボリューム表ファイルが配置されているファイ ルシステムをロックしているか否かを標示する。これはTRUEにセットされて いることが望ましいが、必要条件ではない。 Keep_DB_Volume_Unmounted 14xx これはTRUE又はFALSEにセットできる変数であり、ボリュームファイ ル制御ソフトウェア構成要素が、ボリューム表が配置されているファイルシステ ムをマウントされていないままにしておくべきか否かを標示する。これはTRU Eにセットされていることが望ましいが、必要条件ではない。 Volume Node Record 14xxはボリュームファイル制御 ソフトウェア構成要素によってリンクされたリストの形式で使用されるデータ構 造であり、モニターされる各ファイルシステムのためのものである。 Next Volume Node 14xx これは、リンクされたリスト内の次のVolume_Node_Record 14xxに対するポインターである変数である。 Volume Reference 14xx これはファイルシステムに対するリファランスであり、その内部演算システム 依存構造であるデータ構造である。それは、ロック/アンロックし、マウント/ アンマウントし、フリースペースや最終修正時間等の情報を発見するためにファ イルシステムにリファランスを付けるのに使われる。 Volume Check Timer 14xx この変数は、満了の際には、ボリュームをリフレッシュする必要があるかどう かを見るためにボリュームをチェックする時間であることを標示するタイマーで ある。 Free_Megabytes 14xx この変数はファイルシステム上のフリースペースの量を標示する変数である。 Volume Record Position 14xx この変数は、このファイルシステムをこのホストのために記述するボリューム 表内の位置の表示である。 User Record Position 14xx この変数は、このユーザー情報をこのホストのために表示するボリューム表内 の位置の表示である。 SN DB File Reference 14xx この変数は、ボリューム表それ自身へのアクセスに使われるリファレンスデー タ構造である。 Volume Enabled 14xx これは、ファイルシステムが使用可能か不可能かを標示する、TRUE又はF ALSE何れかである、変数である。使用不可能なファイルシステムはそれに関 する正常なモニタリング機能を何も有していない。これは使用不可能ボリューム は更新されず、必要であればリフレッシュされることを意味している。通常、ボ リュームは使用可能であり、ファイルシステムが正常なエンティティとしてシス テムに関与できるようにする。 ボリュームファイル制御ソフトウェア構成要素に全面的に有用なデータ構造を 以下に幾つか挙げる。 SB Admin Preferences 14xx このホストに対するPreference_File_Record 14x Xである。 Head Volume Node 14xx 開始からのリストを検索するのに用いられるVolume_Node_Rec ord 14xxのリンクされたリストの開始に対するポインターである。 Tail Volume Node 14xx 新しい記録の挿入に用いられるVolume_Node_Record 14 xxのリンクされたリストの最後に対するポインターである。 Current Volume Node 14xx モニターされている現在のVolume_Node_Record 14xx に対するポインターである。 Current DB Header Ptr 14xx current_Volume_Node 14xxと標示される、モニター されている現在のファイルシステムをメインライン化している表の現在のVol ume_DB_Headerに対するポインターである。 Current DB Volume Header Ptr 14xx モニターされている現在のファイルシステムに属する現在のPartitio n Volume Header 14xxに対するポインターである。 Current DB User Record Ptr 14xx モニターされている現在のファイルシステムに属する現在のPartitio n_User_Record 14xxに対するポインターである。 SB Process Timer 14xx 満了時には、次のファイルシステムをチェックする時間であることを標示する タイマーである。 Monitor DB Timer 14xx 満了時には、保留されている表の要求の何れをもチェックするsis時間であ ることを標示する、タイマーである。 Administration Mode 14xx 何時ボリュームファイル制御ソフトウェア構成要素がユーザーの利用可能なア ドミニストレーター関数と共に作動しているかを標示する、TRUE又はFAL SEの何れかである変数である。 Restart Volume 14xx 全ての表をログアウトしてログインし直す、遮断と再開の時間であるかを標示 する、TRUE又はFALSEの何れかである変数である。 Suspend_Operations 14xx 全てのファイルシステム及び表のモニタリングを中断すべきかを標示する、T RUE又はFALSEの何れかである変数である。 図4は本発明を利用した両クライアントA−B上で実行される一様ファイルデ ィレクトリフォーマットに関する詳細なデータ構造線図である。本ディレクトリ 構造は、各クライアント上のOSに妨げられることなく、図2Cに述べたプロト コル変換モジュール268によって維持することができる。図4はファイルディ レクトリ62及び記憶装置64に対する物理アドレスマップ452を示す。ファ イルディレクトリ62はボリュームヘッダー454、ディレクトリ記録456、 ファイル記録458、ファイル位置記録(エクステント)460から成る。本デ ィレクトリ構造は一般的に、マッキントッシュコンピュータにより提供されてい るシステム8OSに関するHFSファイルディレクトリフォーマットに関係して いる。ボリュームヘッダー454は、ボリューム名、作成日、更新日、ソフトウ ェアロック、属性と特権に関するリスト、ボリューム可用性ビットマップ、物理 的ボリュームを広範に定義付けする他の多くのパラメータを有している。ボリュ ーム記録454には、その記録456が参照される複数のディレクトリ記録が関 係している。各ディレクトリ記録は、親ディレクトリに対するポインタ、名称、 作成時、更新時を含んでいる。その次は、そのファイル記録458が参照される 各ディレクトリに関係する複数のファイル記録である。各ファイル記録は名称、 タイプ、ロックインジケーター、作成された時、更新された時、ファイルレベル の他の情報を含んでいる。各ファイル及びディレクトリ記録に関係して、複数の ファイル位置記録が存在し、このファイル位置記録に関しては記録460が参照 される。各ファイル位置記録は、ファイルが始まる物理的アドレスに対するポイ ンタと、ファイル長さに関する標示を含んでいる。ファイルが不連続なセグメン トに記憶されている場合、ファイルの次の部分の物理的アドレスと当該部分の長 さを示すオーバーフローインジケーターが存在する。物理的アドレス記録452 に示されているように、ファイル位置記録アドレスとアドレス長は、ファイル内 容の実際の物理的アドレス位置に対応する。例えば、ファイル位置記録460で は、ファイル1は物理的アドレス1000で始まり、44セクター長を持ってい るとリスとされている。物理的アドレス記録452では、ファイル1は物理的メ モリアドレスが1000から始まり1044まで伸びており、全体で44セクタ の長さである。各OSは固有のファイルディレクト構造を有し、その構造は図4 に開示したものとは多くの面で異なっている。図2Cで述べた本発明の好適実施 例の場合、各クライアントプロセス214、216に関係するプロトコル変換モ ジュール268は、各クライアント上のOSに妨げられることなく、一様なファ イルディレクトリフォーマットを要求する。このお陰で、クライアント上に存在 するOSに妨げられることなく、いずれのクライアント上の如何なるアプリケー ションの間でもクロスプラットフォーム互換性が保証される。従って、マッキン トシュシステム8のOSを作動させるクライアントでも、ウィンドウズNTのO Sを作動させる別のクライアントが作成したファイルに対して読み取り又は書込 ができる。 図5A−Eは、図2AのクライアントA、Bに関係したプロセス214、21 6を示す。各クライアントは図5A−Eに示した全機能を実行する。 パワーアップとログオンに関係するプロセスを図5Aに示す。プロセス500 に始まり、デバイスドライバーとボリューム制御プロセスがクライアントにロー ドされる。制御は次にプロセス500に移行し、ここではロッキング機能を含む ようカスタマイズされたデバイスドライバーが配置される。更に、ボリューム制 御表とアクセス制御表(図2C参照)を含む物理的ボリュームに接続された特定 のデバイスドライバーが識別される。制御は次に決定プロセス504に移る。決 定プロセス504では、ボリューム及びアクセス制御表が作成されているか否か の決定が下される。決定が否定の場合、制御は次にプロセス506に移行し、ボ リューム制御プロセスはアクセス及びボリューム制御表を作成するテンプレート を、アドミニストレーターに提供する。制御は次にプロセス508に移行し、新 たに作成されたアクセス及びボリューム制御表は、カストマイズされたロック可 能ドライバーを有するボリューム上に記憶される。制御は次に決定プロセス51 2に移行する。決定プロセス504で決定が肯定、即ちボリューム制御表が存在 するとなった場合、制御はプロセス512に直接移行する。 決定プロセス512では、セマフォフィールド352(図3A参照)が空であ るか否かの決定が下される。決定が否定の場合、制御はプロセス510に移行し 遅延を導入した後、遅延インターバル制御は決定プロセス512に戻る。決定プ ロセス512で肯定の決定が下された場合、即ちアクセス制御表206(図2A 参照)のセマフォフィールド352が空であるとなった場合、制御はプロセス5 14に移行する。プロセス514でクライアント識別子はセマフォフィールドに 書き込まれる。次に制御はプロセス516に移行し、アクセス及びボリューム制 御表を捕らえたクライアントはボリューム制御表とアクセス制御表を読み取る。 次に制御は決定プロセス518に移行する。決定プロセス518ではフィールド 352内のクライアント識別子がプロセスを実行するクライアントのIDである か否かのついての決定が下される。決定が否定の場合、クライアントはボリュー ム制御表とアクセス制御表を捕らえていないことになる。従って制御は決定プロ セス512に移行する。決定が肯定の場合、クライアントはボリューム制御表と アクセス制御表を捕らえているとの決定が、決定プロセス518で下され、制御 は次にプロセス522に移行する。プロセス522で、クライアントはボリュー ム制御表とアクセス制御表を読み取る。制御は次にプロセス520に移行する。 プロセス520で、クライアントはIDをアクセス制御表206のフィールド3 56(図3A参照)上の対応するログに書き込む。制御は次にプロセス524に 移行する。プロセス524でクライアントは、ボリューム制御表とアクセス制御 表をその識別子をセマフォフィールド352から除去することにより解放する。 制御は次にプロセス526に移行し、アクセス制御モジュール266(図2C参 照)は各物理的デバイスのアクセス特権を、本プロセスを実行する特定クライア ントのためのアクセス及びボリューム制御表に標示されているこれら特権に従っ てセットする。図2Cで先に述べたように、これらの特権は、マウントボリュー ムコマンドをコマンド受信モジュール98に送るボリューム制御プロセスでセッ トされ、読み取り特権又は読み取り/書込特権のいずれかを有している。制御は 次に接続ブロックAに移行する。 図5Bは、ファイルシステム又はボリュームに対する書込特権を要求するクラ イアント上で実行されるプロセスを示す。接続ブロックAに始まる制御は、決定 プロセス550に移行する。決定プロセス550では、書込要求がボリューム制 御プロセス266(図2C参照)により受信されたか否かについて決定が下され る。ボリューム制御プロセスは本書込要求を、グラフィカルユーザーインタフェ イス(GUI)経由でいつでも受信できる。GUIにより、ユーザーは自分が読 み取り特権を有する特定ボリュームを選択でき、又そうした特権を書込特権に変 更するよう要求することができる。代わりに、別のプロセス経由で書込要求をプ ログラムすることもできる。決定が否定、即ちボリューム制御プロセスで書込要 求が受信も生成もされていない場合、制御は接続ブロックDに移行する。決定プ ロセス550で肯定となった場合、制御は決定プロセス554に移行する。決定 プロセス554では、アクセス制御表(図3A参照)内のフィールド352にセ マフォアがあるか否かについて決定が下される。この決定が否定の場合、制御は プロセス552に移行し、ポーズが導入される。次に制御は決定プロセス554 に戻る。決定プロセス554で肯定となった場合、制御はプロセス556に移行 し、書込コマンドが発行され、プロセスを実行するクライアントの識別子がフィ ールド352に書込まれる。次に制御はプロセス558に移行する。プロセス5 58でフィールド352の値が読み取られる。次に制御は決定プロセス560に 移行する。決定プロセス560では、フィールド352の値がプロセスを実行す るクライアントIDに対応するか否かについて決定が下される。本決定が否定の 場合、制御は決定プロセス554に戻る。決定プロセス560で肯定の決定にな った場合、制御は決定プロセス562に移行する。決定プロセス562では、書 込要求がなされているボリュームをこの特定クライアントがマウントできるか否 かについて、マウントアクセスフィールド388(図3B参照)に基づいて決定 が下される。この決定が否定の場合、制御はプロセス570に移行し書込要求が 拒否された旨の通知が出される。制御は次に接続ブロックDに移行する。決定プ ロセス562で、プロセスを実行するクライアントに関してボリュームがマウン トできる旨の決定が下された場合、制御は決定プロセス564に移行する。決定 プロセス564では、このクライアントが特定ボリュームへの書込アクセスを得 られるか否か又はクライアントが要求アクセスから閉め出されているか否かにつ いて、マウントアクセスフィールド396(図3B参照)に基づいて決定が下さ れる。決定が肯定、即ちクライアントは書込アクセスを得られない場合、制御は 上記のプロセス570に移行する。決定プロセス564での決定が否定、即ちク ライアントはボリュームへの書込アクセスを得ることから閉め出されていない場 合、制御は決定プロセス566に移行する。決定プロセス566では、現在のラ イターがネットワークから事実上ログオフしているか否かについて、フィールド 394(図3B参照)とフィールド356(図3A参照)に基づいて決定が下さ れる。この決定が肯定の場合、制御は次にプロセス572に移行し、ボリューム に対する取り外しコマンドが発行される。制御は次にプロセス574に移行し、 マウントボリュームコマンドがボリューム制御プロセス266(図2C参照)に よりコマンド受信モジュール98に送られる。こうして最新の変更を反映したボ リュームがマウントされることになる。制御は次にプロセス576に移行し、ボ リューム制御表中のフィールド394(図3B参照)がプロセスを実行するクラ イアントIDで更新される。制御は次にプロセス578に移行し、クライアント はアクセス制御表とボリューム制御表を、そのセマフォ、即ちIDをボリューム 制御表のセマフォフィールド352(図3A参照)から除くことにより、解放す る。制御は次に接続ブロックDに移行する。 決定プロセス566で、現在のライターがネットワークからログアウトしてい ない旨の決定がなされると、制御はプロセス568に移行する。プロセス568 では、書込要求がアクセス制御表の要求フィールド360(図3A参照)に書き 込まれる。この要求は、書込要求が向けられるボリュームの識別子、要求を行っ ているクライアント識別子、要求者からのテキストメッセージを含んでいる。書 込要求が向けられるボリュームの識別子は、ボリューム記録のフィールド394 から読み取られる。テキストメッセージは、ボリューム制御プロセス266(図 2参照)が提供するGUIインタフェイス中に手動で入力できる。制御は次に決 定プロセス580に移行する。決定プロセス580では、応答メッセージ362 と応答ブールフィールド354(図3A参照)が読み取られ、現在のライターが 書込特権を放棄したか否かについての決定が、これらのフィールドに基づいて下 される。この決定が肯定の場合、制御は先に論じたプロセス574に移行する。 この決定が否定の場合、制御はプロセス578に移行し、そこで現在の要求者は そのIDをアクセス制御表のセマフォフィールド352(図3A参照)から取り 除き、次に制御は接続ブロックCに移行する。 図5Cは書込アクセス特権を要求する別のクライアントに対する応答に接続 されたプロセスを示す。プロセス部分は接続ブロックBから始まり、制御はプロ セス600に移行する。プロセス600では、アクセス制御表と特定要求メッ セージフィールド360(図3A参照)が読み取られる。制御は次に決定プロセ ス602に移行する。決定プロセス602では要求に関係するクライアントID がプロセスを実行するクライアントIDに対応しているか否かが決定される。決 定が肯定、即ちプロセスを実行するクライアントが要求の向けられたクライアン トである場合、制御は決定プロセス604に移行する。決定プロセス604では 、この特定クライアントに対して自動応答機能が使用可能であるか否かが決定さ れる。ある好適実施例では、アクセス制御表206(図3A参照)内の別のフィ ールドエントリに基づいてこの決定を下すことができる。この実施例には各クラ イアントに対応するフィールドがあり、そこで、ブール真条件は自動応答が使用 可能であったことを示し、ブール偽条件は自動応答が使用可能でなかったことを 示すことになる。決定プロセス604で、自動応答が使用可能であったという決 定が下された場合、制御は決定プロセス610に直接移行する。決定プロセス6 10では、クライアント上の現在の処理に基づいて、その時に制御を放棄できる か否かについての決定が下される。例えばクライアントが大量のレンダリングプ ロジェクトを行っている最中であるなら、否定の決定が下るであろう。否定の決 定の場合、制御は決定プロセス614に移行する。プロセス614では、応答す るクライアントは、アクセス制御表の応答メッセージフィールド362(図3A 参照)にブール偽条件を書き込むことになる。制御は接続ブロックDに移行する ことになる。 決定プロセス602で、要求に関係するクライアントIDがプロセスを実行す るクライアントIDでなかった旨の決定が下されると、制御は接続ブロックDに 直接移行することになる。 決定プロセス604で、要求がプロセスを実行するクライアントで作られてお り(プロセスブロック602がイエスの場合)、更に自動応答機能が使用可能でな かった旨の決定が下されると、制御はプロセス606に直接移行することになる 。プロセス606では、ボリューム制御プロセス266(図2C参照)のGUI 部が、メッセージプロンプトをユーザーに提供する。ユーザーは、要求にイエス ・ノーを回答するか、テキストベースのメッセージに応答するかの選択肢を提供 される。この応答は応答メッセージフィールド362とブール応答フィールド 354(図3A参照)に書き込まれることになる。制御は次に決定プロセス60 8に移行する。決定プロセス608では、ユーザーが書込特権を放棄したか否か についての決定が下される。肯定の決定の場合、制御は決定プロセス616に移 行する。決定プロセス610で、書込制御を現時点では放棄できない旨の決定が 下される場合も、制御はプロセス616に移行する。プロセス616では、ブー ル真条件がアクセス制御表と特定のブール応答フィールド354(図3A参照) に書き込まれる。これは、要求を受信し現在書込特権を有するクライアントがこ れらの特権を解放しようとしていることを示す。制御は次にプロセス618に移 行する。プロセス618では、要求されたボリューム上の全てのファイルが閉じ られ、読み取り及び書込アクセスに関するボリュームは取り外され、読み取り専 用アクセスモードに再マウントされる。制御は次に接続ブロックDに移行する。 決定プロセス608で、ユーザーは要求ボリュームに対する書込特権を放棄し ないという選択をしている旨の決定が下されると、制御は次にプロセス612に 移行する。プロセス612では、ブール偽条件がアクセス制御表とその特定のブ ール応答フィールド354(図3A参照)に書き込まれる。制御は次に接続ブロ ックDに移行する。 図5Dは、書込特権をファイルシステムへの実際の書込アクセスに変換するこ とに関係したプロセス部分を示している。プロセス部分は接続ブロックCに始ま り、制御は決定プロセス650に移行する。決定プロセス650では、ボリュー ム制御表内のフィールド392(図3B参照)に基づいて、書込要求の向けられ ているボリュームが実際に使用可能であるか否かについての決定が下される。こ の決定が否定の場合、制御はプロセス666に移行し、ボリューム制御プロセス 266(図2C参照)のGUIインタフェイス部分が、当該ボリュームは使用不 可能であり書込アクセスを提供できない旨を示すメッセージをユーザーに提供す る。制御は次に接続ブロックBに移行する。決定プロセス650で肯定、即ち書 込要求の向けられているボリュームが実際に使用可能である旨の決定が下ると、 制御は次に決定プロセス652に移行する。決定プロセス652では、プロセス を実行するクライアントに対してボリュームがマウントされているか否かについ ての決定が下される。この決定が否定の場合、制御はプロセス658に移行し、 ボリューム制御プロセス266(図2C参照)は読み取り書込特権付きのマウン トコマンドをコマンド受信モジュール98に送る(図2C参照)。この結果、読み 取り書込特権付きのボリュームがマウントされる。制御は次に決定プロセス65 4に移行する。決定プロセス652で肯定、即ち読み取り特権又は読み取り/書 込特権何れかの付いたボリュームがマウントされている旨の決定が下ると、制御 は決定プロセス654に移行する。決定プロセス654では、この特定ボリュー ムに関してファイルディレクトリーレベルでソフトウェアロックビットが使用可 能であるか否か、及び当該ソフトウェアロックビットがボリュームへのアクセス を妨げるか否かについての決定が下される。この決定が肯定の場合、制御はプロ セス660に移行する。プロセス660では、ソフトウェアロック及びファイル ディレクトリがバイパスされるか或いは使用不能にされる。ある好適実施例では 、ソフトウェアロックをバイパスするのが好ましい。そうすることにより、ボリ ューム制御プロセスフォームを有していないネットワーク上のクライアントが制 御されたボリュームにうっかりアクセスするのを防ぐ利点が得られる。制御は次 にプロセス656に移行する。プロセス654で、ソフトウェアロックがファイ ルディレクトリレベルに存在しないか、或いはファイルディレクトリレベルのソ フトウェアロックをボリューム制御プロセス266のコマンドによってバイパス できるかの何れかの決定が下されると、制御は決定プロセス656に直接移行す る。 決定プロセス656では、読み取り及び書込特権付きのボリュームが現在マウ ントされているか否かに付いての決定が下される。この決定が否定の場合、制御 はプロセス662に移行し、そこでボリューム制御プロセス266がコマンド受 信モジュール98(図2C参照)に、要求されたボリュームに関するボリューム 取り外しコマンドを次に読み取り/書込特権付きのマウントコマンドを送る。こ れにより、読み取り/書込特権付きのボリュームをクライアントに関して再マウ ントすることになる。制御は次に接続ブロックDに移行する。決定プロセス65 6での決定が肯定、即ちボリュームがマウントされしかも読み取り/書込特権付 きでマウントされている場合、制御は接続ブロックBに直接移行する。図5Dの プロセスによってもたらされるファイルディレクトリ内の変更は、書込アクセス が提供されたボリュームに対応するファイルデイレクトリ166のキャッシュさ れたコピー内でまず立証される(図2C参照)。次にキャッシュされたコピーの 更新はフラッシュバックされるか物理的デバイス64上のファイルディレクトリ に書き戻されるかして、結果的に一貫性のあるファイルディレクトリのセットと なり、このセット中で新たなアクセス特権が立証される。 図5Eは、読み取り専用ボリュームに関係するプロセス部分を含んでいる。ボ リュームに対して読み取り専用状態でマウントされたクライアントは、当該ボリ ュームに対して起こるファイルディレクトリ内の変更、即ちシステム上の他のク ライアントに関係して当該ボリュームに書込がなされた時でも、更新されること がない。従って自動更新能力を欲するクライアントに対して、図5Eのプロセス によってその能力が与えられる。プロセスは接続ブロックDに始まり、制御は決 定ブロック700に移行する。決定ブロック700では、ボリューム制御表のフ ィールド384(図3B参照)に基づいて、クライアントが現在読み取り専用状 態で接続されている全てのボリュームが自動更新を示しているか否かについての 決定が下される。こうしたボリュームの各々に関し、この特定クライアントに対 する最新変更時期フィールド386(図3B参照)がプロセス702で読み取ら れ、フィールド382(図3B参照)と比較される。このプロセスの目的は以下 の通りである あるボリュームに対する読み取り特権を有するクライアントは当該ボリューム に対するファイルディレクトリーのローカルのキャッシュされたコピーをリフレ ッシュしない。その結果、コピーは古くなり、即ち、もはや存在しないディレク トリ/ファイルを示すか、或いは実際に存在するディレクトリ/ファイルを示さ ないかの何れかが起こりかねない。従って、読み取り専用アクセスを有するクラ イアントは、他のクライアントがボリュームを変更した時には自分のキャッシュ されたディレクトリーコピーを定期的にリフレッシュさせるオプションを持てる ことが重要となる。このリフレッシュと更新のオプションを提供するのがフィー ルド384(図3B参照)である。リフレッシュ/更新が必要か否かに関する決 定は、制御が次に移行するプロセス704、706でなされる。プロセス704 では、最後のボリューム変更に関するタイムスタンプ即ちフィールド382と、 ファイルディレクトリの新しいコピーを得るためにクライアントがディスマウン トとマウントを行った最後の時即ちフィールド386との間で比較が行われる。 決定プロセス706では、クライアントのキャッシュされたディレクトリコピー が古いか否かについての決定が下される。この決定が否定の場合、クライアント はボリューム上にあるファイルディレクトリの最新のコピーを有していることに なる。更新は不必要なので制御は接続ブロックAに移行する。決定プロセス70 6で決定が肯定、即ちキャッシュされたファイルディレクトリ166(図3B参 照)が古いと決定された場合、制御は決定プロセス708に移行する。決定プロ セス708では、アクセス制御データベースセマフォフィールド352(図3A 参照)が空であるか否かについて決定が下される。この決定が否定の場合、制御 はプロセス710に移行する。決定プロセス710ではポーズが導入された後、 制御はプロセス708に戻る。決定プロセス708でセマフォフィールド352 が利用可能である旨の決定が下されると、制御はプロセス712に移行して、ク ライアントIDがアクセス制御表206(図3A参照)セマフォフィールドに書 き込まれる。次に制御はプロセス714に移行し、アクセス制御表のセマフォフ ィールド部分が読み取られ、次に制御は決定プロセス716に移行する。決定プ ロセス716では、セマフォフィールドに存在するクライアントIDが本プロセ スを実行するクライアントのIDと同一か否かについて決定が下される。この決 定が否定の場合、クライアントはアクセス制御表を捕らえていないことになり、 処理は決定プロセス708に戻る。この決定が肯定、即ちクライアントがアクセ ス制御表を捕らえている場合、制御はプロセス718に移行する。プロセス71 8では、ボリューム制御プロセス266が、コマンド受信モジュール98(図2 C参照)に、先ずボリューム取り外しコマンドを次に読み取り/書込特権付きの マウントコマンドを送る。これにより、更新されたファイルディレクトリ166 のコピーがプロセス720でユーザーに表示されることになる。ユーザーへの表 示は全ボリュームと当該ボリュームに関係する全クライアントの状態に関する情 報、即ちマウント/ディスマウント、読み取り専用、読み取り/書込、ロック/ アンロックを含んでいてもよい。次に制御は接続ブロックAに移行する。 分散データベース 図6は従来技術によるクライアントデータベースサーバの構成である。ハード ウェア構成要素としてクライアント54−56、サーバ60、記憶装置64が含 まれる。各々複数のフィールドを有する複数記録のデータベース754は記憶装 置64に記憶され、同記憶装置はSCSI接続によりサーバ60に接続される。 サーバ60はLAN経由でクライアント54、56両方に接続される。クライア ント54、56の何れかが照会を開始すると、照会に応えてサーバ60はデータ ベース機能750を実行する。次にサーバ60は、物理的装置64上に記憶され ているデータベースのコピーを得て、クライアントの照会に一致する記録を探す ため記録をソートする。次にサーバは照会に一致する記録のみをクライアントに 提供する。この従来技術によるアーキテクチュアの利点は、データベースをソー ト探索するという膨大な作業を高速サーバにまかせ、高価でないクライアントの ワークスステーションが照会プロセスに携われるようになる点である。 図7は、本発明の別の実施例を示しており、ここでは共有資源であるデータベ ースは、直接接続しているクライアント全てにより分散管理される。本アーキテ クチャの利点は、データベースが記憶されている物理的装置とデータベースにア クセスするクライアントとの間を仲介するサーバを必要としない点である。本ア ーキテクチャの不利な点は、各クライアントが一揃いのデータベースエンジンを 実行することを要求することである。にもかかわらず、データベースが一連のフ ィールドからなり、各フィールドが膨大な画像、動画、音声ファイルのポインタ を有するような、ある種のデータベースアプリケーションでは、本発明を有利な ものとして利用できる。この例では、各クライアントの処理時間が、転送される 画像音声ファイル又は動画に対するポインターを見つけだして行われる実際の照 会及び分類プロセスに際して行われるよりも、より密接に画像転送プロセスに関 連している。このような条件の下では、隘路となるサーバーのない方が有利であ る。又、この実施例を修正して、(LANでクライアントに接続されている)多数 の従来型サーバー全てを共有の記憶装置に直接接続するようにすれば、全サーバ ーが(従って全クライアントが)アクセスできる単一の場所に全てのデータが記 憶されることになり、データの可用性が高くなる。 図7の構成要素には、各々クライアントA、Bとラベルの付けられたクライア ント54、56と、サーバー60と、記憶装置64が含まれる。データベース8 04は物理的記憶装置64上に常駐しており、本発明のこの実施例を実行するの に適した追加のフィールドを含んでいる。この追加のフィールドは、以下の図9 A、9Bに詳細に記載する。記憶装置64は各クライアントA、Bに直接接続さ れている。ネットワーク接続は例えば図2Aで記述し論議したようにファイバー チャネルであってもよい。このタイプのネットワークは記憶装置64と各クライ アントの間に非常に高い帯域の交信経路を提供する。これにより、ビットマップ された画像、動画、サウンドクリップを、削除のマーク212で示したように取 り除かれたサーバーに邪魔されることなく、迅速に転送できるようになる。クラ イアント54、56は各々データベースソーティングインデックスのキャッシュ コピーを含んでいる。ソーティングインデックス800、802は各々クライア ント54、56に関連している。これらのインデックスは実際の物理的装置64 上に記憶されているメインインデックスから定期的にリフレッシュされる。クラ イアント54、56は各々、エンハンスされたデータベースプロセス808、8 10を実行する。照会、マッチング、ロッキングという正規のデータベース機能 に加え、これらのプロセスには記録ロッキング、記録更新、ボリューム制御の機 能が含まれており、これらを詳細に論議することとする。個々の記録及び1つの 記録内のフィールドへのデータベースアクセスの一貫性は、クライアント常駐の プロセス808、810と、アクセス制御表206、ボリューム制御表208、 更新リスト806との間の対話によって維持されるが、これらの表及びリストは 全て物理的装置64内のボリュームにに常駐しており、このボリュームには全て のクライアントがアクセスできる。 図8Aにアクセス制御表206の詳細なデータ構造を示す。アクセス制御表は 図3Aで説明、議論したものと同じである。このアクセス制御表は以下の図12 Fで議論するプロセスに利用される。 図8Bに、データベース804(図7参照)がソートされる読み取りボリュー ムと関係するボリューム制御表の詳細なデータ構造を示す。ロックアウトフィー ルド396Aに、クライアント54及び56各々が、両者がそのボリュームに対 する書込特権を持っていることを意味するブール偽値で標示されていることに注 目されたい。更に、クライアントA及びBは双方ともフィールド394A内で同 時書込特権を持っているものとして識別されている。 図8Cに、更新リスト806(図7参照)の詳細なデータ構造を示す。更新リ ストは各クライアントフィールド830に対し、クライアントが編集しているフ ィールドに関係する対応する記録ポインター832を含んでいる。このリストは エンハンスされたデータベースプロセス808、810(図7参照)が、フィー ルドに対する更新を、対応する記録を現在参照しているクライアント全てに同報 通信するために利用する。フィールド832に示すように、クライアント54、 56の双方は記録2内のフィールドを現在参照している。 図9Aに、図7で議論したデータベース804の関係データベース実施例80 4Aに関連する詳細なデータ構造を示す。この関係データベースには、名称表8 04A−1、ワークアドレス表804A−2、ホームアドレス表804A−3が 含まれる。表は各々複数のフィールドを含んでおり、各フィールドに対し対応す るロックフィールドがある。表804A−1内には、各記録に対する接頭語及び 最終名称フィールドがある。ロックフィールド856は接頭語フィールドの各々 に、ロックフィールド858は最終名称フィールドに関連する。ワークアドレス 表内には各記録に対してストリートフィールドとシティフィールドがある。スト リートフィールドの各々には対応するフィールドロック862が関係する。シテ ィフィールドの各々にはフィールドロック864が関係する。ホームアドレス表 804A−3は各記録に対するストリートフィールドとシティフィールドの両方 を含む。ストリートフィールドは対応するロックフィールド868を有する。シ ティフィールドは対応するロックフィールド870を有する。各表中の各記録に はフリーフィールド860、866、872が関係し、これは2つの状態、即ち アクティブかフリーかの何れであるかを標示する。アクティブの印が付けられた フリーフィールドを有する記録は有効なデータを含む。フリーの印が付けられた フリーフィールドを有する記録はデータを含んでおらず、新しい記録の追加に使 用できる。削除の印が付けられたフリーフィールドは、データベースの記憶要件 を低減するためにデータベースから物理的に削除するように決められた記録を含 んでいる。それ故、データベースからの記録の削除は、記録にフリーと印を付け るか削除の印を付けるかの何れかで行うことができる。データベースに記録を追 加するには、フリーフィールドをアクティブフィールドに変えるか、新しい記録 をデータベースに物理的に加えるかの何れかで行うことができる。これらの行為 に関係するプロセスは図12A−12Fで詳細に論議する。 図9Bにデータベース804のフラットデータベース実現804Bに関係する 詳細なデータ構造を示す。データベース804Bは、行から構成されており、そ の各行が個別の記録に対応する。データベースは接頭語フィールド、最終名称フ ィールド、ホーム及びワークアドレスフィールド、シティフィールドを含んでい る。接頭語フィールドに関係して、ロックフィールド880Bがある。最終名称 フィールドに関係して、対応するロックフィールド882Bがある。ホーム/ワ ークアドレスフィールドの各々に関係して、対応するロックフィールド884B がある。シティフィールドの各々に関係して、対応するロックフィールド886 Bがある。各記録に関係して、対応するフリーフィールド888Bがあり、その 中ではアクティブ、フリー、削除の各状態が可能である。これらフリーフィール ドの状態の影響は図9Aで論議したものと同じである。 図10に分散データベースを管理するための各クライアント上のソフトウェア モジュールを示す。クライアント54とRAID記憶装置64が示されている。 RAID記憶装置64はデータベース及びロッキングフィールド804を含んで いる。クライアント54は実行時間スーパバイザ900、処理ルーチン902、 コマンド及びパスインタセプト904、バッファマネジャ908、ロックマネジ ャ906、ロックリルーター910を含んでいる。 作動時には、実行時間スーパバイザ900が照会を受信し、処理ルーチンモジ ュール902に送る。処理ルーチンモジュールは記憶媒体64からの記録に対す る要求を提出する。この要求は、コマンド及びパスインタセプションモジュール 904によってインタセプトされる。このコマンドパスインタセプトモジュール は、要求をバッファマネジャ908に送る前に、図12A−Fで詳細を論ずる分 散管理機能を開始する。バッファマネジャ908は記憶装置64内のデータベー ス804のデータを読み取り、それにデータを書込む。処理要求がコマンド及び パスインタセプトモジュール904に通知される時には、それはロックマネジャ 906へも通知される。ロックマネジャはロック要求を要求されたソースへ発行 する。この要求はロックリルーター910によってインタセプトされる。ロック リルーター910フィールドロック手続きを実行する責任を持っており、これに ついては図12C−Fで詳細に論ずる。 図11に、各クライアント54、56についての、分散データベースプロセス 808、810各々に関わる全体プロセスフローを示す。処理はプロセス950 で始まり、アドミニストレーターが、特定のフィールド及び記録特性を有し複数 のライターを許容する特定の記憶ボリューム上に、データベースをセットアップ する。データベース内のフィールドは、テキスト、又は数字データ、又は画像フ ァイル、音声ファイル、動画ファイルに対するポインターを含んでいてもよい。 ある好適実施例では、データベースは、将来の利用を勘案したサイズを予め規定 するため複数の空/フリー/利用可能記録で樹立されることとなる。それ故、新 しい記録は物理的記憶スペースを変更する要求無しに、データベースに追加する ことができる。制御は次にプロセス952に移行し、そこでは、照会を受け取り 処理できるように、ユーザーにGUIが提供される。次に制御はプロセス954 に移行し、データベースから検索した記録が参照される。次に制御はサブルーチ ンブロック956に移行する。サブルーチンブロック956は図12Aに詳細を 示すプロセスに対応する。次に制御は決定ブロック958に移行する。決定ブロ ック958ではユーザーが参照中の記録内の特定のフィールドを編集することを 欲しているか否かについて決定が下される。この決定が否定であれば、制御は決 定ブロック966に移行する。この決定が肯定、即ち、フィールドは編集される 場合、制御はサブルーチン960に移行する。サブルーチン960でのプロセス は図12Cで詳細に述べる。次に制御は決定プロセス962に戻る。決定プロセ ス962では、ユーザーが編集されているフィールドから出たか否かについて決 定が下される。決定が肯定、即ち、ユーザーがフィールドを出ている場合、制御 はサブルーチンモジュール964に移行する。サブルーチンモジュール964は 図12Dで詳細が述べられるプロセスに対応する。サブルーチンを実行した後、 制御は決定プロセス966に戻る。決定プロセス966では、ユーザーが記録を 出たか否かについての決定が下される。この決定が否定の場合、制御は決定プロ セス958に戻る。決定が肯定の場合、即ち、ユーザーが記録を出ている場合、 制御はサブルーチンブロック968に移行する。サブルーチンブロック968は 図12Bで詳細を述べるプロセスに対応する。制御はサブルーチン968から決 定プロセス970に移行する。決定プロセス970では、ユーザーが記録の追加 を欲しているか否かについて決定が下される。この決定が肯定の場合、制御はサ ブルーチン972に移行する。サブルーチン972は図12Fで詳細を述べるプ ロセスに対応する。サブルーチン972から帰ると、制御は削除決定プロセス9 74に移行する。決定プロセス970で否定のの決定が下される場合、即ち、ユ ーザーが記録の追加を欲していない場合、制御は削除決定プロセス974に直接 移行する。削除決定プロセス974では、ユーザーが記録の削除を欲しているか 否かについて決定が下される。この決定が否定の場合、制御は照会プロセス95 2に移行する。この決定が肯定の場合、即ち、ユーザーが記録の削除を欲してい る場合、制御はサブルーチンモジュール976に移行する。サブルーチンモジュ ール976は後に図12Eで詳細に述べるプロセスを含んでいる。 図12Aは、先に図11で論議した参照記録サブルーチンモジュール956に 関係するプロセスの概要を示す。プロセスは接続ブロックAで始まり、インタセ プトプロセス1000に移行する。インタセプトプロセス1000では、参照さ れている記録に対応する記録ポインターがコマンドパスインタセプトモジュール 904(図10参照)によってインタセプトされる。制御はセクター予約プロセ ス1002に移行する。セクター予約プロセス1002では、記録更新表806 (図8C参照)に対応する記憶装置64内のセクターが予約される。次に、制御 は予約確認決定プロセス1004に移行する。予約確認決定プロセス1004で は、セクターが実際に予約されたか否かについて決定が下される。この決定が肯 定の場合、制御はセクター読み取りプロセス1006に移行する。セクター読み 取りプロセス1006では、更新表を含んでいるセクターが読み取られ、プロセ スを実行するクライアントのIDと同じIDを持つ表内の特定の記録に対するポ インターが入手される。制御は次にプロセス1008に移行する。プロセス10 08では、プロセス1000で入手された記録ID及び/又は記録ポインターが このプロセスを実行中のクライアントに対応する制御表内のフィールドに書き込 まれる。制御は次にセクター解放プロセス1010に移行する。プロセス101 0では読み取られたセクターが解放される。制御は次に接続ブロックB経由で帰 る。 図12Bに、先に図11で述べたサブルーチンモジュール968に関係する記 録離脱プロセスを示す。サブルーチンは接続ブロックCで始まり、制御はプロセ ス1030に移行する。プロセス1030では、ユーザーが離脱する記録に対す る記録ポインターをコマンドパスインタセプトモジュール904(図10参照) が入手する。制御は次にセクター予約プロセス1032に移行する。このプロセ スでは、更新表(図8C参照)のある記憶装置64上のセクターが予約される。 制御は次に予約確認決定プロセス1034に移行する。この決定プロセスでは、 セクター予約が受け付けられ実行されているか否かについて決定が下される。肯 定の決定であれば、制御はセクター読み取りプロセス1036に移行する。セク ター読み取りプロセス1036では、更新表が読み取られ、プロセスを実行する クライアントに対応するその表内の特定の行に対してポインターが入手される。 制御は次にプロセス1038に移行する。プロセス1038では、プロセスを実 行するクライアントに対応する記録IDフィールドが消去される。これは、ユー ザーが最早記録を参照していないことを意味する。制御は次にプロセス1040 に移行する。プロセス1040では、予約セクターが解放され、制御は接続ブロ ックD経由で戻る。 図12Cに、フィールドを編集するためサブルーチンモジュール960(図1 1参照)により実行されるプロセスを示す。このサブルーチンは接続ブロックE で始まり制御はプロセス1070へ移行する。プロセス1070では、コマンド パスインタセプトモジュール904(図10参照)が編集されるフィールドに対 応するフィールドポインターをインタセプトする。制御は次にプロセス1072 に移行する。プロセス1072では、セクター予約要求が、フィールドが記憶さ れる物理的記憶装置64(図10参照)内のセクターに対して設置される。制御 は次に確認決定プロセス1074に移行する。確認決定プロセス1074では、 要求されたセクターが実際に予約されているか否かについて決定が下される。決 定が否定の場合、制御は同報通信決定プロセス1076に移行する。同時通信決 定プロセス1076では、現在そのセクターを予約している他のクライアントが そのセクターが解放されていることを標示するメッセージを同報通信したか否か について決定が下される。肯定の決定の場合、制御はセクター予約プロセス10 72に戻る。決定プロセス1074で肯定の決定が下されると、制御はプロセス 1078に移行する。プロセス1078では予約セクターが読み取られる。制御 は次に、決定プロセス1080に移行する。決定プロセス1080では、編集権 が要求されているフィールドが実際にフリーであるか否かについて決定が下され る。この決定は、先に図9A−Bに関して記載し論議したロックフィールドに基 づいて行われる。決定が否定の場合、制御はセクター解放プロセス1082に移 行する。プロセス1082では、セクターが解放され、制御は同報通信決定プロ セス1076に戻る。 決定プロセス1080での決定が肯定の場合、即ち、要求されたフィールドが ロックされていない場合、制御はプロセス1084に移行する。プロセス108 4では、ロックリルーター910(図10参照)がクライアントのIDを編集さ れるロッキングフィールドに記入する。制御は次にセクター解放プロセス108 6に移行する。セクター解放プロセス1086では、予約されたセクターが解放 され、制御はプロセス1088に移行する。プロセス1088でユーザーは選択 されたフィールドを編集し、制御は接続ブロックF経由で帰る。 図12Dに、編集したフィールドから出るためにサブルーチンモジュール96 4(図11参照)により実行されるプロセスを示す。先に図11に関して記述し 論議したサブルーチンモジュール964はこれらのプロセスに対応する。このサ ブルーチンは接続ブロックGで始まり、制御はプロセス1100に移行する。プ ロセス1100では、離脱するフィールドに対するポインター及び対応する記録 ポインターを、コマンドパスインタセプトモジュール904(図10参照)が入 手する。制御は次にプロセス1102に移行する。プロセス1102では、記録 及びフィールドの在る物理的記憶装置上のセクターが予約される。次に制御は予 約確認決定プロセス1104に移行する。決定プロセス1104では、セクター が実際に予約されているか否かについて決定が下される。決定が否定の場合、制 御は同報通信決定1106に移行する。同報通信決定1106では、セクターが 何時、誰であれ今そのセクターを予約しているクライアントによって解放される かについての決定が下される。解放されると制御は次にプロセス1102に移行 する。決定プロセス1104で肯定の決定が下された場合、即ち、セクターが予 約されている場合、制御はプロセス1108に移行する。プロセス1108では 予約セクターが読み取られ、制御はプロセス1110に移行する。プロセス11 10ではロックリルーター910(図10参照)が離脱するフィールドに関係す るブロックフィールドを消去し、制御はプロセス1112に移行する。プロセス 1112では、コマンドパスインタセプトモジュール904(図10参照)編集 されたフィールドに対する更新記録を物理的記憶装置64に送る。制御は次にプ ロセス1114に移行する。プロセス1114では、記録ポインターフィールド 832(図8C参照)が更新表806(図8C参照)を読み取り、ソートする。 制御は次にプロセス1116に移行し、そこで、更新されたばかりのフィールド に関係する記録と同じ記録を参照しているクライアントが識別される。制御は次 にプロセス1118に移行する。プロセス1118で同報通信メッセージが更新 された記録を参照するクライアントに送られる。このメッセージには、更新され たばかりのフィールドを含む記録に対応する識別子が含まれている。制御は次に 1120に移行する。プロセス1120では予約されたセクターが解放され、制 御は接続ブロックH経由で戻る。 図12Eに、記録を削除することに関係する、先に図11に関して記述し論議 したサブルーチン976に対応する詳細なプロセスを示す。プロセスは接続ブロ ックIで始まり、制御はプロセス1150に移行する。プロセス1150では、 削除される記録に対するポインターがコマンドパスインタセプトモジュール90 4(図10参照)によってインタセプトされる。制御は次にプロセス1152に 移行する。プロセス1152では、削除される記録に関係する物理的記憶装置内 のセクターが予約される。制御は次に決定プロセス1154に移行する。決定プ ロセス1154では、予約されたセクターが実際に予約されているか否かについ て決定が下される。決定が否定の場合、制御は決定プロセス1156に戻る。決 定プロセス1156では、そのセクターを予約しているクライアントがそのセク ターを何時解放するかについて決定が下される。肯定的決定が下されると、制御 はプロセス1152に戻る。 決定プロセス1154において肯定的決定が下された場合、即ち、セクターが 予約されていた場合、制御はプロセス1158に移行する。プロセス1158で は、ロックリルーター910(図10参照)が記録を含む物理的記憶装置上のセ クターを読み取る。制御は次に決定プロセス1160に移行し、そこでロックリ ルーターが記録内の全てのロックフィールドがフリーであるか否かについての決 定を下す。決定が否定、即ち、全てのフィールドがフリーではなく、従って他の クライアントがフィールドの一つを編集している場合、制御はプロセス1162 に移行する。プロセス1162では、予約セクターは解放され、制御は同報通信 決定プロセス1156に戻る。 決定プロセス1160で肯定の決定が下された場合、即ち、削除される記録内 の全てのロックフィールドがフリーである場合、制御はプロセス1164に移行 する。プロセス1164では、ロックリルーター910がフリーフィールド(図 9A−B参照)に削除インジケーターを書き込む。制御は次にプロセス1166 に移行する。プロセス1166では、削除される記録内の全てのフィールドをロ ックリルーター910が消去する。制御は次にプロセス1168に移行する。プ ロセス1168では予約セクターが解放される。制御は次に接続ブロックJ経由 で戻る。 図12Fに、図11のサブルーチンモジュール972に関連して先に記述し論 議した記録の追加に関係する詳細なプロセスを示す。制御は接続ブロックKで始 まりプロセス1180に移行する。プロセス1180では、コマンドパスインタ セプトモジュール904(図10参照)が追加処理要求をインタセプトし、制御 をプロセス1182に進める。プロセス1182では、データベース内の全ての 記録のフリーフィールドが分析され、制御は決定プロセス1184に移行する。 決定プロセス1184では、現在データベース内にある各記録に関係するフリー フィールドの何れかがフリーインジケーターを含んでいるか否かについての決定 が下される。決定が否定、即ち、利用できる記録がない場合、制御はプロセス1 186に移行する。プロセス1186では、アクセス制御表に対するセマフォフ ィールド352(図8A参照)が捕捉される(図5A、プロセス510−518 参照)。制御は次にプロセス1188に移行する。プロセス1188では、デー タベース用に予約されている実際の物理的記憶スペースが新しい記録を追加する ことにより増やされる。これらの新しい記録のフリーフィールドにはフリーイン ジケーターの印が付けられる。制御は次にプロセス1190に移行する。プロセ ス1190では、制御表206(図8A参照)に対しセマフォフィールド352 が解放される。制御は次にプロセス1192に戻る。 決定プロセス1184で肯定の決定が下された場合、即ち、データベース内に 現在フリーの記録がある場合、制御はプロセス1192に移行する。プロセス1 192では、フリーの記録が関係する物理的セクターが予約される。制御は次に 決定プロセス1194に移行する。決定プロセス1194では、セクターが実際 に予約されているか否かについての決定が下される。決定が否定の場合、制御は 決定プロセス1196に移行する。決定プロセス1196では、現在そのセクタ ーを予約しているクライアントが何時その予約を解除するかについて決定が下さ れる。決定が肯定である場合、制御はプロセス1192に戻る。決定プロセス1 194において肯定の決定が下された場合、即ち、セクターが実際に予約されて いる場合、制御はプロセス1198に移行する。プロセス1198では、フリー の記録を含んでいる物理的セクターが読み取られる。制御は次にプロセス120 0に移行する。プロセス1200では、アクティブインジケーターが記録のフリ ーフィールド(図9A−B参照)に書き込まれる。これは記録が使用下に置かれ ていることを標示する。制御は次にプロセス1202に移行する。プロセス12 02では、予約されたセクターは解放され、制御は接続ブロックL経由で戻る。 分散処理 図13A−Cに、ネットワーク環境内の複数のプロセッサーに跨る分散制御の ための全体フォーマットを示す。ネットワーク環境は、NAPパラダイム及びク ライアントーサーバーパラダイムの両方又は何れかで構成することができる。図 13A−Cはクライアント54−56及び1302−1304を含んでおり、こ れらはネットワーク1300に接続されている。一連のプロジェクト管理フォル ダ1314−1320は、ネットワーク上の全てのクライアントが利用可能であ る。各クライアントがアプリケーションプログラム及び分散プロジェクト管理プ ロセスを含んでいる。クライアント54は分散プロジェクト管理プロセス131 0を含んでおり、クライアント56は分散プロセス管理プロセス1312を含ん でおり、クライアント1302は分散プロセス管理プロセス1306を含んでお り、クライアント1304は分散プロジェクト管理プロセス1308を含んでい る。分散プロジェクト管理プロセスは各々が、プロジェクト管理フォルダを選択 し、そのプロジェクト管理フォルダの選択された部分の処理を開始し、結果のフ ァイルをアッセンブリ位置に記憶する能力を含んでいる。このように画像編集、 レンダリング、キーフレーム変換を始めとしたマルチメディア表示のような複雑 なプロジェクトをネットワーク環境内の複数のクライアントと共同で実行するこ とができる。 図13Bでは、クライアント54−56及び1302は各々プロジェクト管理 フォルダ1314のコピー1314A−Cを入手している。各クライアントはプ ロジェクト管理フアイル(PMF)1314内で定義されたプロジェクトのセグ メントを選択している。プロジェクト管理プロセス1310−1312及び13 06は、PMF1314の選択されたセグメントに関係する処理の際に、その各 クライアント上に存在するアプリケーションを利用する。常駐アプリケーション が要求されたタスクを完了すると、結果はファイル内に記憶される。 図13Cは、クライアント54−56及び1302がPMF1314のコピー を解放したことを示している。更に、常駐プロセス1310−12及び1306 は、ローカルアプリケーションにより生成された成果物をネットワーク上に記憶 させている。クライアント54は、例示の目的で画像フレームの左側部分150 0として絵画的に表現しているその成果物をネットワーク上のファイル1330 内に記憶している。クライアント56は画像フレームの中央部分1502として 絵画的に表現しているその成果物をネットワーク上のファイル1332内に記憶 している。クライアント1302は画像フレームの右側部分1504として絵画 的に表現しているその成果物をネットワーク上のファイル1334内に記憶して いる。これらファイル各々のネットワーク上の位置はPMF1314に記録され ている。 処理が開始される次のPMFはPMF1318である。クライアント1302 −1304は各々、PMF1318のコピー1318C−Dを入手している。こ れらのクライアントはこれらのPMFのあるセグメントを処理するよう契約され ている。 図14A−Dに、プロジェクト管理フォルダに関係するデータ構造を示す。図 14Aはプロジェクト管理フォルダに対応するデータ構造を示す。プロジェクト 管理フォルダ1314を見ると、プロジェクトファイル1450、容量表135 0、プロセスオプションテンプレート1400A−Bが含まれている。 図14Bに容量表1350に関係する詳細なデータ構造を示す。容量表135 0はネットワーク上の各クライアント毎に1つの行/記録を有している。各クラ イアント毎に、記録アプリケーション可用性フィールド1356−1362がク ライアント上でのアプリケーションの可用性を記録する。これらアプリケーショ ンの各々に対し、アプリケーションが消費する処理帯域幅の割合のインジケータ ーがある。例えば、クライアントA(54)では、電気的画像レンダリングパッ ケージ1358がその処理容量の25%を消費したと示されている。CADパッ ケージ1360は、クライアントA(54)では、処理容量の10%を消費した と示されている。レンダリングパッケージ1362は、クライアントA(54) の処理帯域幅の25%を消費したと示されている。最後に残った規定されていな いアプリケーション及びOSは、クライアントAの処理帯域幅の別の10%を消 費している。更に、ワープロパッケージがフィールド1356にN/Aと表示し て挙げてあるが、これはこのアプリケーションがクライアントA(54)上に丁 度存在しないことを示している。フィールド1352は各クライアントに対し、 特にこの例ではクライアントA(54)について、フィールド1356−62に おける利用エンティティの積算を記録する。このように、クライアントAでは、 利用1352がその合計処理帯域幅の70%と表示されている。容量表の残りの フィールドは秒当たり百万命令(MIPS)の単位で表した処理速度1354で ある。クライアントA(54)は表示してあるように、266MIPSの処理容 量を持っている。ネットワーク上の全てのクライアントが相当する情報を利用で きる。容量表内の各記録は、対応する分散プロジェクト管理プロセス1306− 1312の一つによって保守更新される。プロセスはOS呼び出しを生成する。 これらの呼び出しは、アプリケーション特定ベースでブレークダウンしたパーセ ント利用に対応する変数を返す。次にプロセスはこれらの更新された結果を、制 御表内のそれらの記録に関係する対応するフィールドに書き込む。このように、 単一の表が、共通の位置内の全てのネットワーク資源に対するパーセント利用を 記録するのに利用される。 図14Cに、プロセスオプションテンプレート1400A−Bに対応する詳細 なデータ構造を示す。通常、プロセスオプションテンプレートは特定のアプリケ ーションと関係している。プロセスオプションテンプレートはクライアント上に 在るアプリケーションを特定のやり方で実行させる。例えば、プロセスオプショ ンテンプレート1400Aは電気影像というソフトウェアアプリケーションと関 係している。フィールド1402A−1408Aは各々、アプリケーションに対 する適切なフレームサイズ、圧縮、書式、秒当たりフレーム、持続時間インジケ ーターを記録する。図14Cに示す例では、フレームサイズ1402Aは640 x480と示されている。JPEG圧縮技法1404Aが表示されている。フレ ーム/秒で表した再生速度1406Aは15と表示してある。最後の、動画の意 図持続時間1408Aは2秒である。 プロセスオプションテンプレート1400Bはコンピューター支援設計(CA D)アプリケーションと関係している。このアプリケーションに対しては、フレ ームサイズ圧縮技法及びビット深さ標準が各々フィールド1402B−1408 Bに表示されている。X軸フレームサイズは24、y軸フレームサイズは12、 圧縮技法はTIFF、ビット解像度は8ビットである。プロセスオプションテン プレートの各々は多くの方法のどれで生成してもよい。プロセスオプションテン プレートは、アプリケーションが使用可能なように、好みの処理パラメーターを 選択し、そしてそれらを関係する出力ファイルに記憶させながら、ユーザーが作 ることがもきる。又、プロセスオプションテンプレートは管理的に作って、丁度 そのような目的に意図されたシェルプログラムに添付することもできる。 図14Dに、プロジェクトファイル1450の詳細なデータ構造を示す。この プロジェクトファイルは、契約フィールド1454、マスター参照フィールド1 452を有するヘッダーを含んでいる。契約フィールドは、ネットワーク上の様 々なクライアント中のどのクライアントがプロジェクトと契約しているかを表示 する。クライアントA、B、Cはプロジェクトと契約しており、クライアントD はしていないことが標示されている。マスター状態フィールド1452内の全て のエンティティがゼロなので、クライアントは誰もマスター状態に要求されても いなければ指名されてもいない。 プロジェクトファイル1450は資源要件セクションを含んでいる。このセク ションはプロジェクトを完了するのに必要なアプリケーションの名前を含んでい る。更に、実行可能パスフィールド1456はアプリケーションに対する実行可 能ファイルを指定する。ソースデータファイルフィールド1458は、各アプリ ケーションがどのファイルをロードすべきかを標示する。この特定のプロジェク トは、ワープロアプリケーション、電気影像アプリケーション、CADアプリケ ーション、レンダリングアプリケーションを必要とする。電気影像アプリケーシ ョンは「center.vsd」という名前のソースデータファイルを必要とし、このファ イルへのパスはc:\\center.vsdと標示されている。プロジェクトファイルの次 の部分はセグメント部である。2つのセグメント部が示されている。一般的には 、これらの部の数はネットワーク上のクライアントの数に対応し、これだけは特 定のプロジェクトに関係する処理に同時に関与できる。あるプロジェクトは1つ のセグメントを有し、又、ある複雑なレンダリングプロジェクトは多数のクライ アントに分割できて、多数のセグメントを持つことになる。 各セグメントはセグメント定義フィールド1460、プログラムフィールド1 462、記憶パスフィールド1464、優先フィールド1466、処理者フィー ルド1468、セグメント状態フィールド1470から成る。 セグメント定義フィールド1460は、特定のセグメントに対する開始点と終 了点を定義する。電気影像アプリケーションに対する第1セグメントにおける開 始点と終了点はフレーム1−2と表示してある。プログラム制御フィールド14 62は制御スクリプト、即ち、この特定のプロジェクトに適したやり方でアプリ ケーションを実行させるビジュアルベーシック・ジャバ、又は「DDEスクリプ ト」を含んでいる。但し、ここで言う「アプリケーション」とは、オートカード のような高級なプログラムからOSを始めとする低級なアプリケーションまで、 コンピューター上で実行されるあらゆるプロセスを含む。記憶パスフィールド1 464は結果を何処に記憶するか(図13C、1330−1334参照)を標示 する。フィールド1466はプロジェクト内でのアプリケーションとセグメント の処理順序を決める。処理者フィールド1468はネットワーク上のクライアン トの内誰が局部駐在のアプリケーションを使ってPMFのセグメントを実行した かを標示する。例えばセグメント1では、「a」識別子が、クライアントA上の プロジェクト管理プロセスが電気影像タスクのセグメント1の処理を引き受けて いることを示している。最後のセグメント状態フィールド1470はプロジェク トファイル内の各セグメント及び各アプリケーションに対し、セグメントの状態 がどうであるかを標示する。可能な項目は「0」、「1」、「2」である。項目「0 」はセグメントがまだ処理されていないことを示し、項目「1」はセグメントが 処理中であることを示し、項目「2」はセグメント処理が完了し、処理の結果と して生成されたファイルがネットワーク上の記憶パス位置に記憶されていること を示している。プロジェクトファイルの次の部分は、フィールド1472−14 78から成るアッセンブリー部分である。フィールド1472は様々なクライア ントの内誰が最終アッセンブリーを行ったかを示すIDフィールドである。フィ ールド1474は、そのタスクの実行に関係するプログラムコード又はDDEシ ーケンスを含んでいる。フィールド1478は結果が記憶されるネットワーク上 の位置を標示する。プロジェクトファイルの次の部分はプロセスオプションテン プレートフィールド1480である。このフィールドは各アプリケーションに対 し、対応するプロセスオプションテンプレート又はプロセスオプションテンプレ ートパスを標示する。 図15A−Bに分散プロジェクトの2つの例を示す。図15Aは2次元の画像 を示し、レンダリングされる画像が3つの部分に分割され、その各々を別々のク ライアントがレンダリングしている。1500部分は画像の左部分、1502部 分は画像の中心部分、1504部分は画像の右部分である。これら各部分はネッ トワーク上の対応するファイル1330−1334に記憶される。 図15Bは6つのフレームから成る動画シーケンスである。最初の2つのフレ ーム1522は一人のクライアントが作り、ネットワーク上のファイル1330 に記憶される。次の部分1524は動画帯のフレーム3と4から成り、ネットワ ーク上のファイル1332に記憶される。プロジェクトの最後の部分1526は フレーム5と6であり、ネットワーク上のファイル1334に記憶される。ファ イル1330−1334が最終アッセンブリーで接続されると動画シーケンス1 520が出来上がる。 図16A−Dに、分散プロジェクト管理プロセスの指示の下で、クライアント 常駐アプリケーションが、ファイルを処理し(図16C参照)、ファイルをセー ブする(図16D)するためにソースデータファイル(図16A−B参照)を開 くところを示す。アプリケーションはこのやり方で、セグメントに関係する制御 スクリプト1462(図14D)が実行する。このコードは分散管理プロセスに よってアップロードされ、プロセスはこれを利用してアプリケーションを予め定 められた方法で実行する。図16AにアプリケーションのためのGUI1550 を示す。このGUIに重ねて、ファイルを開くGUI1554が示されている。 ファイルを開くGUIは、ファイルメニュー1552内にあるファイルを開くコ マンドを実行するプログラムコードスクリプトで使用可能である。GUIオペレ ーター1554内には、選択されたファイル1558の内容が示されるプレビュ ーウィンドウ1556がある。図16Bでは、ファイル1558に関係する画像 1560がGUI1550内に表示されている。 図16Cでは、プロジェクト管理プロセスがCADアプリケーションに実行可 能なコードの次のラインを送り、その結果ツールメニュー1562から陰影処理 が選択される。この選択の結果、CADアプリケーションは画像1560の一部 1564に陰影を施し、それを表示する。図16Dでは、分散プロジェクト管理 プロセスがアプリケーションにコードの次のラインを送る。コードの次のライン を受け取ると、アプリケーションはメニューツリー1552内のファイル「セー ブアズ」機能を実行する。これに応えて、「セーブアズ」GUIインタフェース 1556が使用可能となり、ファイル名「center.vsd」がファイル名ウィンドウ に表示される。続いて、今処理されたセグメントに対応するファイルがネットワ ーク上に記憶される。 図17A−Fに、様々な分散プロジェクト管理プロセスを示すプロセスフロー 線図を示す。 図17Aはプロジェクト生成プロセスを示す。開始ブロックから始まって制御 はプロセス1652に移行する。プロセス1652でプロジェクトファイルが生 成される。ある好適実施例では、ユーザーには図14Dで示したのとは異なるG UIインタフェースが提示される。このテンプレートを使って、ユーザーはプロ ジェクトファイルに対し様々なパラメータを入力する。制御は次にプロセス16 54に移行する。プロセス1654ではプロセスオプションテンプレートが生成 される。ある好適実施例では、図14Cに示したのに似たGUIインタフェース を使って、ユーザーもこれらを生成する。制御は次にプロセス1656に移行す る。プロセス1656では、プロセス管理フィールドと、関係するプロセスオプ ションテンプレートとがネットワーク上に記憶される。制御は次に接続ブロック Aに移行する。 図17Bに、図14Bに示した利用/容量表1350の保守に関するプロセス を示す。先に記述し論議したように、分散管理プロセス1302、1304、1 310、1312(図13A−C参照)は独立してこのプロセスステップを実行 する。接続ブロックAに始まって、制御はプロセス1680に移行する。アプリ ケーションによってブレークダウンされた利用情報を得るために、機能呼び出し がOSに送られる。制御は次にプロセス1682に移行する。プロセス1682 では、利用表が見つけだされ、読み取られる。制御は次にプロセス1684に移 行する。プロセス1684では、このプロセスを実行中のクライアントに対応す る利用表中の行/記録が識別される。制御は次にプロセス1686に移行する。 プロセス1686では、先にプロセス1680で得られた値が利用表中の適切な フィールドに置かれる。制御は次にプロセス1688に移行する。プロセス16 88では、利用表に入力されたクライアントに対する処理速度がその表から読み 取られる。制御は次にプロセス1690に移行する。プロセス1690では、ク ライアントの処理速度を得るために、機能呼び出しがOSに送られる。制御は次 に決定プロセス1692に移行する。決定プロセス1692では、表中の項目が プロセスを実行しているクライアントの実際の処理速度に対応しているか否かに ついての決定が下される。両者が合っていない場合、プロセスはプロセス169 4に移行し、そこで表中の項目が現在のクライアントの処理能力を反映するよう に更新される。制御は次に接続ブロックBに移行する。決定プロセス1692で 肯定の決定が下された場合、即ち、このクライアントに関する利用表中の項目が 正しい場合、制御は接続ブロックBに直接移行する。 図17Cに、マスター/スレーブ(主/従)関係が使用できる場合に実行され る分散管理プロセスの部分を示す。分散プロセス管理に対しては基本的に2つの モードがある。主/従モードでは、予めマスター状態に指名されるか、或いはP MFを最初に捕捉しマスター状態を得るかしたクライアントがプロジェクトファ イルの全てのセグメントの次の処理を指示する。もう一つの実施例では、分散処 理に対する対等関係アプローチが実行される。対等関係アプローチでは、各クラ イアントはプロセスに対する未完成のPMFを継続的に探している。 図17Cでは、プロセスは接続ブロックBで始まる。制御はプロセス1720 に移行し、次のPMFの位置が特定される。ある好適実施例では、次のPMFは 先入れ先出し(FIFO)待ち行列から選択され、そのPMFに関する処理はフ ァイル内の全セグメントが完成し最終アッセンブリーが行われるまで続く。又別 の好適実施例では、次のPMFは、未完成のセグメントを持っているか、又は最 終アッセンブリーされていない何れかのファイルと定義される。制御は次にプロ セス1722に移行し、そこで選択されたPMFが読み取られる。制御は次に決 定プロセス1724に移行する。決定プロセス1724では、この特定のプロジ ェクト管理フォルダが主/従状態に対して使用可能か否かについて決定が下され る。決定が否定の場合、制御は接続ブロックDに移行する。決定が肯定の場合、 制御は決定プロセス1726に移行する。決定プロセス1726で、マスターフ ィールド1452(図14D参照)に基づいて、何れかのマスターがこのプロジ ェクト管理フォルダに契約されているか否かについての決定が下される。決定が 肯定の場合、制御は接続ブロックCに移行する。否定の決定が下された場合、制 御は決定プロセス1728に移行する。決定プロセス1728では、マスター状 態フィールド1452(図14D参照)でマスター状態に指名されたクライアン トが自分のIDに対応するIDを持っているか、即ちそのクライアントがこのプ ロセスを実行しているか否かについての決定が下される。決定が否定の場合、制 御は接続ブロックCに移行する。決定が肯定の場合、制御はプロセス1730に 移行する。プロセス1730では、クライアントはマスターを引き受けることを 契約し、プロジェクト管理フォルダ内の適当なフィールド1454に契約識別子 を書き込んでこれを行う。制御は次にプロセス1732に移行する。プロセス1 732では、スレーブの可用性及び処理容量を決めるために利用表が読み取られ る。制御は次にプロセス1734に移行する。プロセス1734では未だ「2」 の印が付けられたセグメント状態フィールド1470(図14D参照)を持って いない、最高優先度1466(図14D参照)を有するセグメント記録が入手さ れ、そのセグメントに必要なアプリケーション1456が決定される。制御は次 にプロセス1736に移行する。 プロセス1736では、マスターはスレーブ請求及び/又はスレーブ割当てプ ロセスに従事する。セグメントに対するアプリケーション1456に合った局所 駐在アプリケーションを持ったスレーブだけが選ばれる。又、プロセス1732 で使用可能な処理能力が高く且つ利用されていないと判定されたスレーブは、処 理速度が遅く能力が限られているものよりも好まれる。制御は次に決定プロセス 1738に移行する。決定プロセス1738では、スレーブがスレーブ状態を受 け容れたか否かについての決定が下される。スレーブ状態を受け容れたスレーブ に対して、制御はプロセス1740に移行し、スレーブIDが決定される。制御 は次にプロセス1742に移行する。プロセス1742では、スレーブが処理す るように指定されたPMFセグメントに基づいて、マスターは情報をスレーブに 送る。この情報は、スレーブがプロセスに従事するために必要となるソースファ イルに対するポインター、どのセグメントを処理するかを表示するセグメント定 義、スレーブがその駐在アプリケーションを使用可能なようにするための実行可 能なコードシーケンス、プロセスオプションテンプレートを含んでいる。最後に マスターは、スレーブがその成果物を記憶させるネットワーク上の位置に対する ポインターをスレーブに送る。制御は次に決定プロセス1744に移行する。決 定プロセス1744では、未完成のセグメントが残っているか否かについて決定 が下され、残っている場合、制御は次のスレーブを選択するためにプロセス17 38に戻る。未完成の項目が残っていない場合、制御は決定プロセス1746に 移行する。決定プロセス1746では、全てのスレーブがこの仕事を完了したか 否かについての決定が下される。プロジェクトファイル、及び特にセグメント状 態フィールド1470(図14D参照)内のスレーブによって作られた項目に基 づいて、仕事の完成が決定される。決定が肯定の場合、即ち、全てのセグメント が処理されている場合、制御はプロセス1748に移行する。プロセス1748 では、プロジェクトファイル(図14D参照)のアッセンブリー部分に含まれる 命令に従って、プロジェクトファイルの各セグメントの最終アッセンブリーを完 了する。制御は次にプロセス1750に移行する。プロセス1750でマスター は、PMFそして特にフィールド1472に、最終アッセンブリーが完了し、こ のプロジェクト管理フォルダを閉じてもよいことを標示する状態インジケーター を書き込む。制御は次に接続ブロックAに移行する。 図17Dに、スレーブが従事するプロセスを示す。処理は接続ブロックCで始 まり、制御は決定プロセス1780へと進む。決定プロセス1780では、マス ターの要求が受信されているか否かについての決定が下される。決定が否定の場 合、制御は接続ブロックBに移行する。決定が肯定の場合、制御はプロセス17 82に移行する。プロセス1782でスレーブは、スレーブ状態を受け容れるこ とを標示する肯定応答をマスターに送る。制御は次にプロセス1784に移行し て、そこでスレーブは、プロジェクトファイルの指定されたセグメントを処理す るのに必要な情報をマスターから受け取る。制御は次にプロセス1786に移行 する。プロセス1786では、スレーブは指定されたアプリケーションを使用可 能であり、そのアプリケーションを適切な制御スクリプトで制御し、オプション テンプレートを処理する。これによってアプリケーションはその指定された機能 を実行する。制御は次にプロセス1786に移行する。プロセス1786でスレ ーブは、プロジェクトファイル(図14D参照)内の対応するセグメント状態フ ィールド1470に、状態「1」インジケーターを書き込む。これは、このプロ ジェクトファイルを読んでいる全てのクライアントに、そのセグメントをスレー ブが現在処理していることを標示する。制御は次に決定プロセス1788に移行 し、そこでスレーブは常駐アプリケーションがそのプロジェクトセグメントを完 了したか否かについて決定を下す。決定が肯定の場合、制御はプロセス1790 に移行する。プロセス1790でアプリケーションは、その成果物をプロセス1 784で指定された位置に記憶し、アプリケーションは閉じる。制御は次にプロ セス1800に移行する。プロセス1800では、セグメント完了インジケータ ー「2」が、プロジェクトファイル内の適切なフィールド1470に書き込まれ る。制御は次に接続ブロックBに移行する。 図17Eは、クライアント間の主/従関係ではなく対等関係に関連する分散プ ロジェクトプロセスの部分を開示する。処理は接続ブロックDで始まる。制御は 次にプロセス1820に移行し、そこで次のPMFが読み取られる。制御は次に プロセス1822に移行し、そこで利用表が読み取られる。制御は次にプロセス 1824に移行し、そこでPMF内のセグメントが優先度でソートされ、それら のセグメントがまだ完成されていないか否かについて決定が下される。この決定 は先に述べ論議した優先度1466及びセグメント状態1470フィールド(図 14D参照)内の項目に基づいている。制御は次に決定プロセス1826に移行 する。決定プロセス1826では、未完成のセグメントが残っているか否かにつ いての決定が下される。決定が否定の場合、制御は接続ブロックEへ進む。決定 が肯定の場合、即ち、処理されるべきセグメントが残っている場合、制御はプロ セス1828へ進む。プロセス1828では、次に優先順位の高いセグメントに 関係するアプリケーションがこのプロセスを処理するクライアント上で利用可能 であるか否かについて決定が下される。制御は次に決定プロセス1830に移行 し、そこで決定が実行される。 プロセス1736で、マスターはスレーブ請求及び/又はスレーブ割当てプロ セスに従事する。セグメントに対するアプリケーション1456に合う局所常駐 アプリケーションを有するスレーブのみが選ばれる。又、ある好適実施例では、 プロセス1732で使用可能な処理能力が高く且つ利用されていないと判定され たスレーブは、処理速度が遅く能力が限られているものよりも好まれる。プロセ スを実行するクライアントがアプリケーション呼び出しを持っていなければ、制 御は接続ブロックBに移行する。決定が肯定の場合、即ち、クライアントが必要 な常駐アプリケーションを持っている場合は、制御はプロセス1832に移行す る。プロセス1832では、クライアントはプロジェクトファイル内のセグメン トと契約する。クライアントは、状態「1」インジケーターをプロジェクトファ イル(図14D参照)内の適切なセグメント状態フィールド1470に書き込む ことによってこれを行う。制御は次にプロセス1834に移行する。プロセス1 834では、クライアントはプロセスファイルから、ソースファイルに対するポ インター、セグメント定義、アプリケーション処理コード、プロセスオプション テンプレート及び/又はプロセスオプションテンプレートに対するパスステート メント、成果物を記憶させる指定された位置を含む適切なセグメント情報を読み 取る。制御は次にプロセス1836に移行する。プロセス1836では、クライ アントは、プログラムコードシーケンス及びプロジェクトファイルから提供され たプロセスオプションテンプレートを利用するその常駐アプリケーションを使用 可能である。制御は次にプロセス1838に移行し、そこでプロジェクトを完遂 したアプリケーションはその成果物を記憶する。記憶位置は指定されたソースパ ス(図14D参照)に対応する。制御は次にプロセス1840に移行する。プロ セス1840では、状態フィールド1470の中の適切な1つが、特定のセグメ ントが完成していることをプロジェクトファイル内に標示するため、状態「2」 に更新される。 図17Fに、全てのセグメントが完成したプロジェクトファイルの再アッセン ブリーに関係する対等関係に関するプロセスを示す。処理は接続ブロックEで始 まり、制御はプロセス1860に移行する。プロセス1860でプロジェクト管 理フォルダが読み取られる。制御は次に決定プロセス1862に移行する。決定 プロセス1862では、プロジェクトフィールド(図14D参照)内の最終アッ センブリーフィールド1472に基づいて、PMFがアッセンブリされた否かに ついて決定が下される。決定が肯定の場合、制御は接続ブロックBに戻る。決定 が否定の場合、即ち、PMFがまだ最終アッセンブリーされていない場合、制御 はプロセス1864に移行する。プロセス1864で、最終アッセンブリーが、 PMF内に記憶されているアッセンブリー命令に従って実行される。制御は次に プロセス1866に移行する。プロセス1866では、適切な最終アッセンブリ ーフィールドに、最終アッセンブリーが完了したことを標示する状態「2」の印 が付けられる。Inter Application Calls Distribute_Process(POT_Fi1e_Pathname ,Project_Fi1e_Pathname)From To Notes MPA MSB MPCA MSB Launch_ProcessFrom To Notes SSB SPA MSB SPA マスター機の処理能力が必要な時に用いる。(未オープン) Process_Segment(PMF_File_Pathname,Pl ugin_ID,Timestamp,Segment_Parameters )From To Notes SBPI SPA SBPI MPA マスター機の処理能力が必要な時に用いる。 Processing_Segment(PMF_File_Pathname, Plugin_ID,Timestamp,Segment_Paramete rs)From To Notes SPA SSB 要求セグメントの処理が実際に始まったことを示す。 MPA MSB マスター機の処理能力が必要な時に用いる。 Segment_Done(PMF_Fi1e_Pathname,Plugi n_ID,Timestamp,Segment_Parameters)From To Notes SPA SSB 要求セグメントの処理を終了したことを示す。 MPA MSB 同じ、マスター機の処理能力が必要な時に用いる。 Quit_ProcessFrom To Notes SSB SPA MSB SPA マスター機の処理能力を使った場合(最初開いておらず)。 Assemble_Process(PMF_File_Pathname,P lugin_ID,Timestamp)From To Notes SBPI SPA プラグイン自身で結果を組立られない時のオプションの組立 方法。 SBPI MSB 同じ、マスター機の処理能力が必要な時に用いる。 ASSembly_Done(PMF_File_Pathname,Plug in_ID,Timestamp)From To Notes SPA SSB プロセス助手を使って組立が済んだ場合、完了を示す。 MPA MSB 同じ、マスター機の処理能力を使った場合に用いる。 Process_Complete(POT_File_Pathname,P roject_File_Pathname)From To Notes MSB MPA 全プロセスの完了を示す。 MSB MPCA 同じStudioBOSS to StudioBOSS Calls FOR PROCESS CONRTROL SB_Process_Segment(PMF_Fi1e_Pathname , PMF_Reference)From To Notes MSB SSB SB_Processing_Segment(PMF_Reference)From To Notes SSB MSB 要求セグメントの処理が実際に始まったことを示す。 SB_Segment_DoneFrom To Notes(PMF_Reference) SSB MSB 要求セグメントの処理が終ったことを示す。 SB_Quit_Process(PMF_Reference)From To Notes MSB SSB 要求セグメントの処理終了後、清掃のため呼ばれる。 SB_Assemble_Process(PMF_Reference)From To Notes MSB SSB プロセス結果を組み立てるために呼ばれる。(プラグイン/ アプリケーションをMSB上で利用できない場合)FOR ARBITRATION MASTER/SLAVE CONTROL SB_Become_Slave(PMF_File_Pathname,PM F_Reference)From To Notes MSB SSB スレーブとなるために呼ばれる。 SB_Slave_Response(PMF_File_Pathname, PMF_Reference)From To Notes SSB MSB プロセスに対しスレーブとなる場合、(真/偽)応答する。 SB_Become_FreeFrom To Notes MSB SSB スレーブを解放するPlugin Calls PI_Process_Segment(PMF_File_Pathname ) プロセスセグメントを分散させるために呼ばれる。Process_Segme nt IACを呼ぶことになる。 PI_Assemble_Process(PMF_File_Pathnam e) プロセスセグメントを組み立てるために呼ばれる。プラグインはプロセスアプリ ケーションなしで結果を組み立てられる、又は全てを組み立てるためAssem ble_Process IACを呼び出す命令をオプションとして出せる。 凡例 MPA マスタープロセスアプリケーション MPCA マルチプロセスコントローラアプリケーション PI プラグイン PMF プロセス管理ファイル SB スタジオボス MSB マスタースタジオボス SSB スレーブスタジオボス POT プロセスオプションテンプレート SBPI MSB又はSSBの内部にあるスタジオボスプラグインPROCESS OPTION TEMPLATE(POT) Template_Signature (アプリケーションの特別オプション) POT例、メモリ中に組み立てられる結果−フレームベースプロセスの場合 Template_Signature Bit_DePth Frame_Size_X Frame_Size_Y POT例、ファイル中に組み立てられる結果−タイムベースプロセスの場合 Template_Signature Frame_Size Frames_Per_Second Compressor Start_Time End_TimePMF Project_File_Path Remaining_Segments_To_Process Process_Application_Signature Master_Host_ID Reassembly_Method Number_Of_Slaves (各スレーブ毎に以下がある) Slave_ID Segment_Being_Processed Sgment_Status(not_processing,process ing_in_progress,processing_complete) Result_Location Process_Option_Template 以上、本発明の好適実施例についての記述を図解と説明を目的として行った。 本記述は、発明を網羅し、開示した形式そのものに本発明を制限することを意図 するものではない。多くの修正、変更が行えることは当業者には自明である。本 発明の範囲は、以下の請求項並びにそれと等価なものによって規定されるもので ある。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG,ZW),EA(AM,AZ,BY,KG ,KZ,MD,RU,TJ,TM),AL,AM,AT ,AU,AZ,BA,BB,BG,BR,BY,CA, CH,CN,CU,CZ,DE,DK,EE,ES,F I,GB,GE,GH,HU,IL,IS,JP,KE ,KG,KP,KR,KZ,LK,LR,LS,LT, LU,LV,MD,MG,MK,MN,MW,MX,N O,NZ,PL,PT,RO,RU,SD,SE,SG ,SI,SK,SL,TJ,TM,TR,TT,UA, UG,US,UZ,VN,YU,ZW

Claims (1)

  1. 【特許請求の範囲】 1.データ記憶ボリュームを管理し、データ記憶ボリュームに接続される複数の クライアントへ排他的書込アクセスを提供するボリューム管理システムにおい て、a)制御表が利用可能か否かを示す可用性インデシアと、b)データ記憶 ボリュームの所有権を示す識別インデシアとを含む、前記データ記憶ボリュー ムに関係する制御表と、複数の制御プロセスであって、各プロセスが前記複数 のクライアントの内の対応するクライアント上で実行され、前記複数の制御プ ロセスが、前記複数のクライアントの各々に前記データ記憶ボリュームへの排 他的な書込アクセスを提供するために、前記制御表に関する排他的な所有権を 要求して取得する、そのような複数の制御プロセスとから成ることを特徴とす るボリューム管理システム。 2.前記制御表が、c)前記複数のクライアントの各々に関し、前記データ記憶 ボリュームへのアクセス特権を示すセキュリティインデシアを更に含み、前記 複数の制御プロセスが、データ記憶ボリュームへの読み取り専用アクセス特権 を示すセキュリティインデシアを有するとして前記制御表中に標示された複数 のクライアントの中のあるクライアントに対して、データ記憶ボリュームへの 書込アクセスを拒否するプロセスを更に含むことを特徴とする、請求項1に記 載のボリューム管理システム。 3.前記複数の制御プロセスが、読み取り専用アクセス特権を有する前記複数の クライアントの各々の上のデータ記憶ボリュームに対応するファイルディレク トリを、更新するプロセスを更に含むことを特徴とする、請求項1に記載のボ リューム管理システム。 4.前記複数の制御プロセスが、読み取り専用アクセス特権を有する前記複数の クライアントの各々の上のデータ記憶ボリュームに対応するファイルディレク トリを更新するプロセスを更に含むことを特徴とする、請求項2に記載のボリ ューム管理システム。 5.前記複数の制御プロセスが、前記データ記憶ボリュームへの排他的書込アク セスを有する前記複数のクライアントの内の一クライアントのモニター上 に、排他的書込状態を解放する要求を表示するプロセスと、複数のクライアン トの内の一クライアントの入力装置から、解放要求に対する諾否の応答を受理 するプロセスとを更に含むことを特徴とする、請求項1に記載のボリューム管 理システム。 6.前記複数の制御プロセスが、データ記憶ボリュームに関する複数のクライア ントの各々の状態を、あるクライアントのモニター上に表示するプロセスを更 に含み、前記状態は、読み取り専用と読み取り/書込の状態を含むことを特徴 とする、請求項1に記載のボリューム管理システム。 7.前記複数の制御プロセスが、複数のクライアントの各々をデータ記憶ボリュ ームに接続する複数のデータ記憶ボリュームドライバーの各々を、複数のクラ イアントの各々が初期パワーアップされる間ロックするプロセスと、要求プロ セスと取得プロセスの開始時には、複数のデータ記憶ボリュームドライバーの 各々をアンロックするプロセスとを更に含むことを特徴とする、請求項1に記 載のボリューム管理システム。 8.前記複数の制御プロセスが、前記複数のクライアントの内の第一クライアン トから前記複数のクライアントの内の第二クライアントへのメッセージを受理 し、かつ前記メッセージを前記制御表に書き込むプロセスと、メッセージが前 記制御表中に存在する旨決定し、かつ前記メッセージを前記複数のクライアン トの内の前記第二クライアントのモニター上に表示するプロセスとを更に含む ことを特徴とする、請求項1に記載のボリューム管理システム。 9.データ記憶ボリュームに接続される複数のクライアントの間で、前記データ 記憶ボリュームに対し、互いに排他的な書込アクセスを実施させるコンピュー タシステム中の方法において、前記互いに排他的な書込アクセスを実施させる 方法が、制御表可用性のインデシアとデータ記憶ボリュームの所有権のインデ シアを記憶するために、前記複数のクライアントの各々に接続される制御表を 作成する行為と、前記複数のクライアントの内の第一クライアントの所で書込 要求を検出する行為と、前記検出行為に応じて、前記複数のクライアントの内 の前記第一クライアントに関する要求ルーチンを開始する行為であって、前記 要求ルーチンは、a)データ記憶ボリュームの所有権に関 するインデシアを基にして、前記複数のクライアントの内の他クライアントが 前記データ記憶ボリュームへの書込アクセスを有していると決定する行為と、 b)前記決定する行為に応じて前記複数のクライアントの内の前記他のクライ アントに書込アクセスを解放するように解放要求を送る行為と、c)前記複数 のクライアントの内の前記他のクライアントからの肯定通告に応じて、i)所 有権に関するインデシアを、第一クライアントの所有権に関するインデシアで 置き換える行為と、ii)書込アクセス用に前記データ記憶ボリュームをマウ ントする行為とから成る、そのような要求ルーチンを開始する行為と、前記解 放要求を前記複数のクライアントの内の前記第二クライアントのところで取得 する行為と、前記複数のクライアントの内の前記第二クライアントに関する解 放ルーチンを開始する行為であって、前記解放ルーチンは、a)前記データ記 憶ボリュームへの書込アクセスを解放する行為と、b)前記解放行為に関して 前記第一クライアントに肯定通告を送る行為とから成る、そのような解放ルー チンを開始する行為とから成ることを特徴とする方法。 10.前記要求ルーチンと前記解放ルーチンが、複数の異なるファイルシステム プロトコルから発生してもよいことを特徴とする、請求項9に記載の方法。 11.前記作成する行為が、データ記憶ボリュームへのアクセス特権を示すため の前記制御表中のセキュリティインデシアの記憶を複数のクライアントの各々 に提供する行為を更に含み、書込要求を検出する前記行為が、データ記憶ボリ ュームへの読み取り専用アクセスを標示する前記制御表中のセキュリティイン デシアを持った前記複数のクライアントの内の一つのクライアントに対して、 データ記憶ボリュームへの書込要求を拒否する行為を更に含むことを特徴とす る、請求項9に記載の方法。 12.互いに排他的な書込アクセスを実施させる方法が、前記データ記憶ボリュ ームファイルディレクトリに変更が起きた際には、データ記憶ボリュームへの 読み取り専用アクセス特権を有する複数のクライアントの内の一クライアント 上のデータ記憶ボリュームファイルのコピーを更新する行為を更に含むことを 特徴とする、請求項9に記載の方法。 13.互いに排他的な書込アクセスを実施させる方法が、排他的書込状態を解放 する要求を、前記データ記憶ボリュームへの排他的書込アクセスを有する複数 のクライアントの内の一クライアントのモニター上に表示する行為と、複数の クライアントの内の一クライアントの入力装置から、解放要求に対する肯定及 び拒否の応答を受理する行為とを更に含むことを特徴とする、請求項9に記載 の方法。 14.互いに排他的な書込アクセスを実施させる方法が、データ記憶ボリューム に関する複数のクライアントの各々の状態を、複数クライアントの内の一クラ イアントのモニター上に表示する行為を更に含むことを特徴とする、請求項9 に記載の方法。 15.互いに排他的な書込アクセスを実施させる方法が、複数のクライアントの 各々をデータ記憶ボリュームに接続する複数のデータ記憶ボリュームドライバ ーの各々を、複数のクライアントの各々の初期パワーアップの間ロックする行 為と、複数のデータ記憶ボリュームドライバーの各々を、前記要求及び取得プ ロセスが開始された時にアンロックする行為とを更に含むことを特徴とする、 請求項9に記載の方法。 16.互いに排他的な書込アクセスを実施させる方法が、前記複数のクライアン トの内の第一クライアントから、前記複数のクライアントの内の第二クライア ントへのメッセージを受理し且つ前記制御表に前記メッセージを書き込む行為 と、メッセージが前記制御表中に存在することを決定する行為と、前記複数の クライアントの内の前記第二クライアントのモニター上にメッセージを表示す る行為とを更に含むことを特徴とする、請求項9に記載の方法。 17.データ記憶ボリュームに接続された複数のクライアント間で、前記データ 記憶ボリュームへの互いに排他的な書込アクセスを実行させるべく具体化され たコンピュータ読み取り可能プログラムコード手段を有するコンピュタ使用可 能媒体において、前記製造物品中の前記コンピュータ読み取り可能プログラム コード手段が、制御表可用性のインデシアとデータ記憶ボリューム所有権のイ ンデシアを記憶するために、前記複数のクライアントの各々に接続された制御 表をコンピュータに作成させるためのコンピュータ読み取り 可能プログラムコード手段と、前記複数のクライアントの内の第一クライアン トのところで書込要求をコンピュータに検出させるコンピュータ読み取り可能 プログラムコード手段と、書込要求の前記検出に応じて前記複数のクライアン トの内の第一クライアントに関する要求ルーチンをコンピュータに開始させる ためのコンピュータ読み取り可能プログラムコード手段であって、前記要求ル ーチンは、a)前記複数クライアントの内の他クライアントが前記データ記憶 ボリュームへの書込アクセスを有している旨を、データ記憶ボリューム所有権 のインデシアに基づいて決定する行為と、b)前記決定行為に応じて、前記複 数のクライアントの内の前記他クライアントに、書込アクセスを解放するよう 解放要求を送る行為と、c)前記複数のクライアントの内の前記別のクライア ントからの肯定通告に応じて、i)所有権インデシアを第一クライアントの所 有権インデシアで置き換える行為と、ii)書込アクセス用に前記データ記憶 ボリュームをマウントする行為から成る、そのような要求ルーチンをコンピュ ータに開始させるためのコンピュータ読み取り可能プログラムコード手段と、 前記複数のクライアントの内の前記第二クライアントのところで、前記解放要 求をコンピュータに取得させるためのコンピュータ読み取り可能プログラムコ ード手段と、前記解放要求の前記取得に応じて前記複数のクライアントの内の 前記第二クライアント上で解放ルーチンをコンピュータに開始させるためのコ ンピュータ読み取り可能プログラムコード手段であって、前記解放ルーチンは a)前記データ記憶ボリュームへの書込アクセスを解放する行為と、b)前記 解放行為に関する肯定通告を前記第一クライアントに送る行為とから成る、そ のような解放ルーチンをコンピュータに開始させるためのコンピュータ読み取 り可能プログラムコード手段とから成ることを特徴とする、コンピュータ使用 可能媒体。 17.複数のアクセス可能な記録のデータベースを管理し、各記録内の各フィー ルドへの排他的編集アクセスを、前記データベースに接続される複数のクライ アントに提供するための分散データベース管理システムにおいて、複数のロッ クフィールドであって、各フィールドが前記複数のアクセス可能な記録のフィ ールドの内の対応する一フィールドに関係する、そのような複数の ロックフィールドと、複数のコヒーレンシープロセスであって、各コヒーレン シープロセスは、前記複数のクライアントの内の対応する一クライアント上で 実行され、前記複数のコヒーレンシープロセスは、フィールドを編集する要求 を受信し、フィールド上に既存フィールドロックが無い場合、編集されたフィ ールドに係する前記複数のロックフィールドの内の一フィールドの排他的所有 権を主張することによりフィールド編集の要求を許可し、編集離脱要求を受信 した際には、編集されたフィールドに関係する前記複数のロックフィールドの 内の一フィールドの排他的所有権を取り下げる、そのような複数のコヒーレン シープロセスと、複数のデータベースプロセスであって、各データベースプロ セスが前記複数のクライアントの内の対応する一クライアント上で実行され、 前記複数のデータベースプロセスは、照会を受信し、照会に応じてデータベー スから記録を提供し、記録内のフィールドを編集する要求を受理し、フィール ド編集要求を対応するコヒーレンシープロセスに送り、フィールド編集離脱要 求を受理し、フィールド編集離脱要求を対応するコヒーレンシープロセスに送 る、そのような複数のデータベースプロセスとから成ることを特徴とする分散 データベース管理システム。 18.前記複数のデータベースプロセスが、記録削除コマンドを受信し、記録の フィールドを消去し、前記記録に「フリー」のインジケーターを付けるプロセ スを更に含むことを特徴とする、請求項17に記載の分散データベース管理シ ステム。 19.前記複数のデータベースプロセスが、「フリー」のインジケーターを有す る記録の位置を特定し且つ前記インジケーターを「アクティブ」に変更するこ とにより、記録を追加するプロセスを更に含むことを特徴とする、請求項18 に記載の分散データベース管理システム。 20.前記複数のデータベースプロセスが、前記複数のクライアントの各々が参 照する記録のリストを保守するためのプロセスを更に含むことを特徴とする、 請求項17に記載の分散データベース管理システム。 21.前記複数のデータベースプロセスが、リスト中の第一記録に関係するクラ イアントに編集離脱通告を同報通信することにより、第一記録のフィール ドに関する編集離脱通告に応答するプロセスを更に含むことを特徴とする、請 求項20に記載の分散データベース管理システム。 22.前記複数のデータベースプロセスが、フィールド編集を離脱するクライア ントからの同報通信を受信することにより、既存のフィールドロックを取り除 く時を決定するプロセスを更に含むことを特徴とする、請求項17に記載の分 散データベース管理システム。 23.前記複数のデータベースプロセスが、データベースへの排他的な書込アク セスを捕らえ、記録を追加し、排他的書込アクセスを解放することにより、記 録を追加するプロセスを更に含むことを特徴とする、請求項17に記載の分散 データベース管理システム。 24.前記複数のデータベースプロセスが、データベースの1部分であるロック フィールドを更に含むことを特徴とする、請求項17に記載の分散データベー ス管理システム。 25.複数のアクセス可能な記録のデータベースを管理し、各記録内の各フィー ルドへの排他的な編集アクセスを前記データベースに接続される複数のクライ アントに提供するためのコンピュータシステムにおける方法において、前記デ ータベースを管理するための方法が、前記複数のクライアントの内の第一クラ イアントのところであるフィールドを編集するための要求を検出する行為と、 前記検出する行為に応じて前記複数のクライアントの内の第一クライアント上 でコヒーレンシールーチンを開始する行為であって、前記コヒーレンシールー チンは、a)前記フィールドに関係する所有権インデシアに基づいて、前記複 数のクライアントの内の別クライアントが前記フィールドへの編集アクセスを 有していると決定する行為と、b)前記決定する行為に応じて、取り下げられ るべきフィールドに関係する所有権インデシアを待つ行為と、c)フィールド に関係する所有権インデシアの取り下げに応じて、i)編集されるべきフィー ルドに第一クライアントの所有権インデシアを付ける行為と、ii)フィール ドに編集アクセスを提供する行為とから成る、そのようなコヒーレンシールー チンを開始する行為と、前記複数のクライアントの内の第一クライアントのと ころでフィールド編集離脱要求を取得する 行為と、前記取得する行為に応じてa)前記フィールドから第一クライアント の所有権インデシアを取り除く行為を含むコヒーレンシールーチンを前記複数 のクライアントの内の第一クライアント上で開始する行為とから成ることを特 徴とする方法。 26.前記データベースを管理するための方法が、記録削除コマンドを受信する 行為と、前記受信する行為に応じて、a)前記記録のフィールドを消去する行 為と、b)前記記録に「フリー」のインジケーターを付ける行為とを更に含む ことを特徴とする、請求項25に記載の方法。 27.前記データベースを管理するための方法が、記録追加コマンドを受信する 行為と、前記受信する行為に応じて、a)「フリー」のインジケーターを有す る記録の位置を特定する行為と、b)前記「フリー」のインジケーターを「ア クティブ」のインジケーターに変更する行為とを更に含むことを特徴とする、 請求項25に記載の方法。 28.前記データベースを管理するための方法が、記録を参照する行為と、前記 参照する行為に応じて、a)複数のクライアントの各々が参照する記録のリス トを更新する行為とを更に含むことを特徴とする、請求項25に記載の方法。 29.前記データベースを管理するための方法が、リスト中の第一記録に関係す るクライアントに編集離脱通告を同報通信することにより、前記第一記録のフ ィールドに対する編集離脱要求に応答する行為を更に含むことを特徴とする、 請求項28に記載の方法。 30.前記データベースを管理するための方法が、フィールド編集を離脱するク ライアントからの同報通信を受信することにより、既存のフィールドロックを 取り除く時を決定する行為を更に含むことを特徴とする、請求項25に記載の 方法。 31.前記データベースを管理するための方法が、データベースへの排他的書込 アクセスを捕らえ、記録を加え、排他的書込アクセスを解放することにより、 データベースに記録を追加する行為を更に含むことを特徴とする、請求項25 に記載の方法。 32.前記データベースを管理するための方法が、前記ロックフィールドを前記 データベース内に作成する行為を更に含むことを特徴とする、請求項25に記 載の方法。 33.複数のクライアントに接続されているネットワーク上のプロジェクトを管 理するための分散プロジェクト管理システムにおいて、前記分散プロジェクト 管理システムが、コンピューターネットワーク上に記憶された少なくとも一つ のプロジェクト管理フォルダと、各管理プロセスが前記複数のクライアントの 内の対応するクライアント上で作動する複数の管理プロセスとから成り、前記 プロジェクト管理フォルダは少なくとも一つの記録を含み、前記少なくとも一 つの記録は、ソースファイル名、ソースファイル位置、第一アプリケーション 名、第一アプリケーションプログラムコード、第一アプリケーション宛先ファ イル名、第一アプリケーション宛先ファイル位置を含んでおり、前記複数の管 理プロセスは、前記プロジェクト管理フォルダ内の前記少なくとも一つの記録 を読み取り、前記第一アプリケーション名に対応する常駐アプリケーションに 前記ソースファイルを読ませ、前記ソースファイル上で前記第一アプリケーシ ョンプログラムコードに従って演算実行させ、結果的成果物を宛先ファイル名 を有するファイル内の宛先ファイル位置に記憶せることを特徴とする分散プロ ジェクト管理システム。 34.宛先ファイル位置に結果的成果物を記憶させるための前記複数の管理プロ セスが、前記少なくとも一つのプロジェクト管理フォルダ内の前記少なくとも ーつの記録に完了の印を付けるプロセスを更に含むことを特徴とする、請求項 33に記載の分散プロジェクト管理システム。 35.前記複数の管理プロセスが、複数のクライアントの間で複数のクライアン トの各々に対する利用インジケーターを共有するプロセスを更に含むことを特 徴とする、請求項33に記載の分散プロジェクト管理システム。 36.前記複数の管理プロセスが、前記利用インジケーターに基づいて、前記複 数のクライアントの内の一つのクライアントにプロジェクト管理フォルダを割 り当てるプロセスを更に含むことを特徴とする、請求項35に記載の分散プロ ジェクト管理システム。 37.前記複数の管理プロセスが、複数のプロジェクト管理フォルダを管理する プロセスを更に含むことを特徴とする、請求項33に記載の分散プロジェクト 管理システム。 38.複数のプロジェクト管理フォルダを管理するための前記プロセスが、前記 複数のプロジェクト管理フオルダに処理優先順位を割り当てるプロセスを更に 含むことを特徴とする、請求項37に記載の分散プロジェクト管理システム。 39.複数のプロジェクト管理フォルダを管理するための前記プロセスが、複数 クライアントの内の選択されたクライアントにプロジェクト管理フォルダの管 理を分配するためのプロセスを更に含むことを特徴とする、請求項33に記載 の分散プロジェクト管理システム。 40.複数のクライアントの内の選択されたクライアントが、前記プロジェクト 管理フォルダ上で対等な関係で作動することを特徴とする、請求項39に記載 の分散プロジェクト管理システム。 41.複数のクライアントの内の選択されたクライアントが、前記プロジェクト 管理ファイル上で階層的関係で作動することを特徴とする、請求項39に記載 の分散プロジェクト管理システム。 42.複数のクライアントに接続されたネットワーク上でプロジェクトを管理す るための方法において、コンピュータネットワーク上でプロジェクト管理ファ イルを作成する行為であって、前記プロジェクト管理フォルダは少なくとも1 つの記録を含み、前記少なくとも1つの記録は、ソースファイル名、ソースフ ァイル位置、第一アプリケーション名、第一アプリケーションプログラムコー ド、第一アプリケーション宛先ファイル名、第一アプリケーション宛先ファイ ル位置を含む、そのようなコンピュータネットワーク上でプロジェクト管理フ ァイルを作成する行為と、前記複数のクライアントの内の第一クライアントの ところで、プロジェクト管理ファイルのネットワーク上の位置を検出する行為 と、前記検出する行為に応じて前記複数のクライアントの内の前記第一クライ アント上で管理プロセスを開始する行為であって、前記管理プロセスは、a) 前記プロジェクト管理ファイル内の前記少なくとも 一つの記録を読み取る行為と、b)前記第一アプリケーション名が前記複数の クライアントの内の前記第一クライアント上の対応するアプリケーションに合 致することを決定する行為と、c)前記対応するアプリケーションに前記第一 アプリケーションプログラムコードに従って前記ソースファイル上で演算を実 行させ、結果的成果物を宛先ファイル名を有するファイル内の宛先ファイル位 置に記憶させるため、前記第一アプリケーションプログラムコードを、前記対 応するアプリケーションに送る行為とから成る、そのような前記複数のクライ アントの内の前記第一クライアント上で管理プロセスを開始する行為とから成 ることを特徴とする、プロジェクトを管理するための方法。 43.前記送る行為が、前記少なくとも一つのプロジェクト管理フォルダの中の 前記少なくとも一つの記録に完了の印を付ける行為を更に含むことを特徴とす る、請求項42に記載のプロジェクトを管理するための方法。 44.複数のクライアントの間で、複数のクライアントの各々に対する利用イン ジケーターを共有することを特徴とする、請求項42に記載のプロジェクトを 管理するための方法。 45.プロジェクト管理フォルダを前記複数のクライアントの内の一つに、前記 利用インジケーターに基づいて割り当てる行為を更に含むことを特徴とする、 請求項42に記載のプロジェクトを管理するための方法。 46.複数のプロジェクト管理フォルダを管理する行為を更に含むことを特徴と する、請求項42に記載のプロジェクトを管理するための方法。 47.前記複数のプロジェクト管理フォルダに、処理優先順位を割り当てる行為 を更に含むことを特徴とする、請求項46に記載のプロジェクトを管理するた めの方法。 48.プロジェクト管理フォルダの管理を複数のクライアントの内の選択された クライアントに配分する行為を更に含むことを特徴とする、請求項42に記載 のプロジェクトを管理するための方法。 49.複数のクライアントの内の前記選択されたクライアントが、前記プロジェ クト管理ファイル上で、対等の関係で作動することを特徴とする、請求項48 に記載のプロジェクトを管理するための方法。 50.複数のクライアントの内の前記選択されたクライアントが、前記プロジェ クト管理ファイル上で、階層的関係で作動することを特徴とする、請求項48 に記載のプロジェクトを管理するための方法。
JP10507949A 1996-08-02 1997-08-01 共有資源の分散制御を可能にする方法と装置 Ceased JP2000515657A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2321896P 1996-08-02 1996-08-02
US60/023,218 1996-08-02
PCT/US1997/012843 WO1998006036A1 (en) 1996-08-02 1997-08-01 Method and apparatus for allowing distributed control of shared resources

Publications (2)

Publication Number Publication Date
JP2000515657A true JP2000515657A (ja) 2000-11-21
JP2000515657A5 JP2000515657A5 (ja) 2005-04-07

Family

ID=21813768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10507949A Ceased JP2000515657A (ja) 1996-08-02 1997-08-01 共有資源の分散制御を可能にする方法と装置

Country Status (9)

Country Link
US (3) US6076105A (ja)
EP (1) EP0972247B1 (ja)
JP (1) JP2000515657A (ja)
CN (1) CN1227644A (ja)
AT (1) ATE262196T1 (ja)
AU (1) AU3889497A (ja)
CA (1) CA2262450A1 (ja)
DE (1) DE69728176T2 (ja)
WO (1) WO1998006036A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003515202A (ja) * 1999-11-01 2003-04-22 イーエムシー コーポレイション 多重記憶アレイ制御装置

Families Citing this family (225)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6381633B2 (en) * 1997-05-09 2002-04-30 Carmel Connection, Inc. System and method for managing multimedia messaging platforms
US20020089551A1 (en) * 1997-07-14 2002-07-11 Hugh Harlan M. Method and apparatus for displaying a thought network from a thought's perspective
US6006331A (en) * 1997-07-29 1999-12-21 Microsoft Corporation Recovery of online sessions for dynamic directory services
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6658417B1 (en) * 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
US6212610B1 (en) * 1998-01-07 2001-04-03 Fujitsu Limited Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support
US6889358B1 (en) * 1998-01-08 2005-05-03 Lucent Technologies Inc. Concurrency control in materialized views of a database
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6370508B2 (en) * 1998-09-11 2002-04-09 Genesys Telecommunications Laboratories, Inc. Interface engine for managing business processes within a multimedia communication-center
US6182115B1 (en) * 1998-03-06 2001-01-30 International Business Machines Corp. Method and system for interactive sharing of text in a networked environment
US6148306A (en) * 1998-05-28 2000-11-14 Johnson Controls Technology Company Data structure for scheduled execution of commands in a facilities management control system
US7143193B1 (en) 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6336187B1 (en) * 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US7756986B2 (en) 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US7165152B2 (en) * 1998-06-30 2007-01-16 Emc Corporation Method and apparatus for managing access to storage devices in a storage system with access control
US6272662B1 (en) * 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446237B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6240416B1 (en) * 1998-09-11 2001-05-29 Ambeo, Inc. Distributed metadata system and method
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6847987B2 (en) * 1998-09-30 2005-01-25 International Business Machines Corporation System and method for extending client-server software to additional client platforms for servicing thin clients requests
US6453348B1 (en) 1998-11-06 2002-09-17 Ameritech Corporation Extranet architecture
US6427212B1 (en) 1998-11-13 2002-07-30 Tricord Systems, Inc. Data fault tolerance software apparatus and method
US6553376B1 (en) * 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
US6553375B1 (en) * 1998-11-25 2003-04-22 International Business Machines Corporation Method and apparatus for server based handheld application and database management
US6336171B1 (en) * 1998-12-23 2002-01-01 Ncr Corporation Resource protection in a cluster environment
GB2345555A (en) * 1999-01-05 2000-07-12 Ibm Controlling device access in a network
US6449731B1 (en) 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6530036B1 (en) 1999-08-17 2003-03-04 Tricord Systems, Inc. Self-healing computer system storage
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US6289376B1 (en) * 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US6665714B1 (en) 1999-06-30 2003-12-16 Emc Corporation Method and apparatus for determining an identity of a network device
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US8179809B1 (en) * 1999-08-23 2012-05-15 Oracle America, Inc. Approach for allocating resources to an apparatus based on suspendable resource requirements
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US7444390B2 (en) 1999-10-20 2008-10-28 Cdimensions, Inc. Method and apparatus for providing a web-based active virtual file system
US7496578B2 (en) * 1999-11-04 2009-02-24 Aol Llc Shared internet storage resource, user interface system, and method
US6351776B1 (en) * 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
US20100185614A1 (en) 1999-11-04 2010-07-22 O'brien Brett Shared Internet storage resource, user interface system, and method
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
US6928477B1 (en) * 1999-11-18 2005-08-09 International Business Machines Corporation Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6847984B1 (en) * 1999-12-16 2005-01-25 Livevault Corporation Systems and methods for backing up data files
JP4201447B2 (ja) * 1999-12-27 2008-12-24 富士通株式会社 分散処理システム
US6826580B2 (en) 2000-01-20 2004-11-30 Emc Corporation Distributed storage resource management in a storage area network
US8010703B2 (en) 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US7092983B1 (en) * 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US7783695B1 (en) 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7062527B1 (en) 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US6769010B1 (en) * 2000-05-11 2004-07-27 Howzone.Com Inc. Apparatus for distributing information over a network-based environment, method of distributing information to users, and method for associating content objects with a database wherein the content objects are accessible over a network communication medium by a user
US6523032B1 (en) * 2000-05-12 2003-02-18 Oracle Corporation Servicing database requests using read-only database servers coupled to a master database server
JP2001337854A (ja) * 2000-05-24 2001-12-07 Fujitsu Ltd データ連携システム
US20020049738A1 (en) * 2000-08-03 2002-04-25 Epstein Bruce A. Information collaboration and reliability assessment
US6523047B1 (en) 2000-08-17 2003-02-18 International Business Machines Corporation System and method for volume expansion in the presence of multiple plug-in features
US6633870B1 (en) * 2000-09-13 2003-10-14 Radiant Data Corporation Protocols for locking sharable files and methods for carrying out the protocols
US6687716B1 (en) * 2000-09-13 2004-02-03 Radiant Data Corporation File consistency protocols and methods for carrying out the protocols
US6611848B1 (en) * 2000-09-13 2003-08-26 Radiant Data Corporation Methods for maintaining data and attribute coherency in instances of sharable files
US6434682B1 (en) 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
US6604160B1 (en) 2000-09-28 2003-08-05 International Business Machines Corporation Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
US6715070B1 (en) 2000-10-12 2004-03-30 International Business Machines Corporation System and method for selectively enabling and disabling plug-ins features in a logical volume management enviornment
US7346928B1 (en) * 2000-12-01 2008-03-18 Network Appliance, Inc. Decentralized appliance virus scanning
US7778981B2 (en) * 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
US7260636B2 (en) * 2000-12-22 2007-08-21 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
US7328263B1 (en) * 2001-01-30 2008-02-05 Cisco Technology, Inc. Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach
US6795895B2 (en) * 2001-03-07 2004-09-21 Canopy Group Dual axis RAID systems for enhanced bandwidth and reliability
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US20050025291A1 (en) * 2001-03-12 2005-02-03 Vidius Inc. Method and system for information distribution management
US8478824B2 (en) * 2002-02-05 2013-07-02 Portauthority Technologies Inc. Apparatus and method for controlling unauthorized dissemination of electronic mail
US6941252B2 (en) * 2001-03-14 2005-09-06 Mcdata Corporation Striping data frames across parallel fibre channel links
US7266596B2 (en) * 2001-04-18 2007-09-04 International Business Machines Corporation Dynamic storage space linking
US7076736B2 (en) * 2001-07-31 2006-07-11 Thebrain Technologies Corp. Method and apparatus for sharing many thought databases among many clients
US6757695B1 (en) * 2001-08-09 2004-06-29 Network Appliance, Inc. System and method for mounting and unmounting storage volumes in a network storage environment
US7428548B2 (en) * 2001-08-15 2008-09-23 Bentley Systems, Inc. Computer readable medium for storing large data files
EP2597811B1 (en) * 2001-08-15 2019-10-09 Bentley Systems, Incorporated Method and system for storing large data files
DE10157251A1 (de) * 2001-11-22 2003-06-05 Siemens Ag Verfahren zum Zugriff auf Daten eines Automatisierungsgerätes und Automatisierungsgerät
US7734808B1 (en) 2001-12-18 2010-06-08 Cisco Technology, Inc. End-to-end congestion control in a Fibre Channel network
US7596627B2 (en) * 2001-12-18 2009-09-29 Cisco Technology, Inc. Methods and apparatus for network congestion control
US6877045B2 (en) 2001-12-18 2005-04-05 International Business Machines Corporation Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes
US7113937B2 (en) * 2001-12-18 2006-09-26 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database, operating on UNIX system services for the OS/390
US6754734B2 (en) 2001-12-18 2004-06-22 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
US7499410B2 (en) 2001-12-26 2009-03-03 Cisco Technology, Inc. Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs
US7480909B2 (en) * 2002-02-25 2009-01-20 International Business Machines Corporation Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
US6862668B2 (en) 2002-02-25 2005-03-01 International Business Machines Corporation Method and apparatus for using cache coherency locking to facilitate on-line volume expansion in a multi-controller storage system
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
US7246119B2 (en) * 2002-03-08 2007-07-17 Kabushiki Kaisha Toshiba Method and implementation of session-based file locking for network applications
US7464138B2 (en) * 2002-03-29 2008-12-09 International Business Machines Corporation Mirror queue in a shared queue environment
US7616637B1 (en) 2002-04-01 2009-11-10 Cisco Technology, Inc. Label switching in fibre channel networks
US7406034B1 (en) 2002-04-01 2008-07-29 Cisco Technology, Inc. Methods and apparatus for fibre channel frame delivery
CN101149772B (zh) * 2002-04-22 2012-11-14 微软公司 应用程序共享安全
US20040015556A1 (en) * 2002-05-10 2004-01-22 Renu Chopra Software-based process/issue management system
US7206288B2 (en) 2002-06-12 2007-04-17 Cisco Technology, Inc. Methods and apparatus for characterizing a route in fibre channel fabric
US20040006399A1 (en) * 2002-06-26 2004-01-08 Klein Alan L. Method and system for managing and monitoring an organization
US20040039781A1 (en) * 2002-08-16 2004-02-26 Lavallee David Anthony Peer-to-peer content sharing method and system
US7949690B2 (en) * 2002-09-06 2011-05-24 Autodesk, Inc. Project structure
US8805918B1 (en) 2002-09-11 2014-08-12 Cisco Technology, Inc. Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
US20040059734A1 (en) * 2002-09-23 2004-03-25 Hubbert Smith Data access control
US7437446B2 (en) 2002-09-30 2008-10-14 Electronic Data Systems Corporation Reporting of abnormal computer resource utilization data
US7243145B1 (en) * 2002-09-30 2007-07-10 Electronic Data Systems Corporation Generation of computer resource utilization data per computer application
US20040064523A1 (en) * 2002-10-01 2004-04-01 Zheng Zhang Placing an object at a node within a logical space in a peer-to-peer system
US20040078360A1 (en) * 2002-10-22 2004-04-22 Defauw Randy Data locking system and method for medical system architecture
US7327680B1 (en) 2002-11-05 2008-02-05 Cisco Technology, Inc. Methods and apparatus for network congestion control
JP2004157637A (ja) * 2002-11-05 2004-06-03 Hitachi Ltd ストレージ管理方法
US7433326B2 (en) 2002-11-27 2008-10-07 Cisco Technology, Inc. Methods and devices for exchanging peer parameters between network devices
US7367052B1 (en) * 2002-12-04 2008-04-29 Cisco Technology, Inc. Access list key compression
US7254736B2 (en) * 2002-12-18 2007-08-07 Veritas Operating Corporation Systems and method providing input/output fencing in shared storage environments
TWI238336B (en) * 2003-01-10 2005-08-21 Taiwan Semiconductor Mfg System, method, and user interface providing customized document portfolio management
WO2004068376A1 (de) * 2003-01-30 2004-08-12 Christoph Burkhard Verfahren zur organisation der zusammenarbeit in einer projekt- oder entwicklungsgruppe mit mehreren teilnehmern
US20040162807A1 (en) * 2003-02-14 2004-08-19 Montagne Michael D. Cooperative, simultaneous operation on data by many processes, with concurrent retention of process status, resumed processing, and minimal consumption of inter-nodal throughput
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US7603442B2 (en) * 2003-06-20 2009-10-13 Microsoft Corporation Method and system for maintaining service dependency relationships in a computer system
TWI225205B (en) * 2003-07-16 2004-12-11 Via Tech Inc Object management system and method thereof
AU2003903967A0 (en) * 2003-07-30 2003-08-14 Canon Kabushiki Kaisha Distributed data caching in hybrid peer-to-peer systems
US7225208B2 (en) * 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
US7567987B2 (en) * 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
US7619974B2 (en) 2003-10-31 2009-11-17 Brocade Communication Systems, Inc. Frame traffic balancing across trunk groups
US7593336B2 (en) 2003-10-31 2009-09-22 Brocade Communications Systems, Inc. Logical ports in trunking
US7934023B2 (en) * 2003-12-01 2011-04-26 Cisco Technology, Inc. Apparatus and method for performing fast fibre channel write operations over relatively high latency networks
US20050198146A1 (en) * 2004-01-14 2005-09-08 International Business Machines Corporation System and method for targeted notifications tracking
US20050159968A1 (en) * 2004-01-21 2005-07-21 Stephen Cozzolino Organizationally interactive task management and commitment management system in a matrix based organizational environment
US10776206B1 (en) 2004-02-06 2020-09-15 Vmware, Inc. Distributed transaction system
US8700585B2 (en) * 2004-02-06 2014-04-15 Vmware, Inc. Optimistic locking method and system for committing transactions on a file system
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
US7293039B1 (en) 2004-03-12 2007-11-06 Network Appliance, Inc. Storage resource management across multiple paths
US7844646B1 (en) * 2004-03-12 2010-11-30 Netapp, Inc. Method and apparatus for representing file system metadata within a database for efficient queries
US7630994B1 (en) 2004-03-12 2009-12-08 Netapp, Inc. On the fly summarization of file walk data
JP4585213B2 (ja) * 2004-03-24 2010-11-24 株式会社日立製作所 データ保護方法及び認証方法並びにプログラム
JP4551680B2 (ja) * 2004-03-26 2010-09-29 キヤノン株式会社 文書管理システム、文書管理方法及びそのプログラム、並びに記憶媒体
EP1591916B1 (en) * 2004-04-26 2013-11-06 Sap Ag Method, computer program and device for deleting data sets contained in a table system
JP4451705B2 (ja) 2004-04-26 2010-04-14 株式会社日立製作所 ストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラム
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
US7630955B2 (en) * 2004-08-10 2009-12-08 International Business Machines Corporation Apparatus, system, and method for analyzing the association of a resource to a business process
US20060059118A1 (en) * 2004-08-10 2006-03-16 Byrd Stephen A Apparatus, system, and method for associating resources using a behavior based algorithm
US20060036579A1 (en) * 2004-08-10 2006-02-16 Byrd Stephen A Apparatus, system, and method for associating resources using a time based algorithm
US7661135B2 (en) * 2004-08-10 2010-02-09 International Business Machines Corporation Apparatus, system, and method for gathering trace data indicative of resource activity
US7546601B2 (en) * 2004-08-10 2009-06-09 International Business Machines Corporation Apparatus, system, and method for automatically discovering and grouping resources used by a business process
US8725547B2 (en) * 2004-08-24 2014-05-13 Epic Systems Corporation Utilization indicating schedule scanner
US7340610B1 (en) * 2004-08-31 2008-03-04 Hitachi, Ltd. Trusted time stamping storage system
US20060090071A1 (en) * 2004-10-13 2006-04-27 Werner Sinzig Systems and methods for project management
US7593324B2 (en) 2004-10-25 2009-09-22 Cisco Technology, Inc. Graceful port shutdown protocol for fibre channel interfaces
US7916628B2 (en) * 2004-11-01 2011-03-29 Cisco Technology, Inc. Trunking for fabric ports in fibre channel switches and attached devices
US8359429B1 (en) * 2004-11-08 2013-01-22 Symantec Operating Corporation System and method for distributing volume status information in a storage system
US7649844B2 (en) 2004-12-29 2010-01-19 Cisco Technology, Inc. In-order fibre channel packet delivery
US7930316B2 (en) * 2004-12-30 2011-04-19 International Business Machines Corporation Method, system, and computer program product for dynamic field-level access control in shared documents
US20060168582A1 (en) * 2005-01-21 2006-07-27 International Business Machines Corporation Managing resource link relationships to activity tasks in a collaborative computing environment
US20060168550A1 (en) * 2005-01-21 2006-07-27 International Business Machines Corporation System, method and apparatus for creating and managing activities in a collaborative computing environment
US7177994B2 (en) * 2005-03-04 2007-02-13 Emc Corporation Checkpoint and consistency markers
US7609649B1 (en) * 2005-04-26 2009-10-27 Cisco Technology, Inc. Methods and apparatus for improving network based virtualization performance
JP4708862B2 (ja) * 2005-05-26 2011-06-22 キヤノン株式会社 光走査装置及びそれを用いた画像形成装置
US7630998B2 (en) * 2005-06-10 2009-12-08 Microsoft Corporation Performing a deletion of a node in a tree data storage structure
US8666957B2 (en) * 2005-08-29 2014-03-04 Hewlett-Packard Development Company, L.P. Method or apparatus for locking shared data
US8091089B2 (en) * 2005-09-22 2012-01-03 International Business Machines Corporation Apparatus, system, and method for dynamically allocating and adjusting meta-data repository resources for handling concurrent I/O requests to a meta-data repository
JP2007174062A (ja) * 2005-12-20 2007-07-05 Canon Inc データ通信装置、データ通信システム、データ通信方法、及びそのプログラム
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US8744885B2 (en) * 2006-03-28 2014-06-03 Snowflake Itm, Inc. Task based organizational management system and method
US7734648B2 (en) * 2006-04-11 2010-06-08 Sap Ag Update manager for database system
US20080004925A1 (en) * 2006-06-29 2008-01-03 Bangel Matthew J Multi-site project management
CN101110020B (zh) * 2006-07-21 2011-01-26 国际商业机器公司 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统
US7890921B2 (en) 2006-07-31 2011-02-15 Lifecylce Technologies, Inc. Automated method for coherent project management
US20080034167A1 (en) * 2006-08-03 2008-02-07 Cisco Technology, Inc. Processing a SCSI reserve in a network implementing network-based virtualization
US20080040674A1 (en) * 2006-08-09 2008-02-14 Puneet K Gupta Folksonomy-Enhanced Enterprise-Centric Collaboration and Knowledge Management System
US8719174B2 (en) * 2006-11-15 2014-05-06 International Business Machines Corporation Method, system, and computer program product for collaborative and integrated intellectual property management
US8276167B2 (en) * 2007-03-21 2012-09-25 International Business Machines Corporation Distributed pluggable middleware services
US7945724B1 (en) 2007-04-26 2011-05-17 Netapp, Inc. Non-volatile solid-state memory based adaptive playlist for storage system initialization operations
US8825970B1 (en) * 2007-04-26 2014-09-02 Netapp, Inc. System and method for mounting a storage volume utilizing a block reference list
US20080300945A1 (en) * 2007-05-31 2008-12-04 Michel Shane Simpson Techniques for sharing resources across multiple independent project lifecycles
US20090048896A1 (en) * 2007-08-14 2009-02-19 Vignesh Anandan Work management using integrated project and workflow methodology
US7783666B1 (en) 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
CA2699362A1 (en) * 2007-10-20 2009-04-23 Citrix Systems, Inc. Systems and methods for folder redirection
SG10201702345PA (en) * 2007-11-27 2017-04-27 Boeing Co Method and apparatus for loadable software airplane parts (lsap) distribution
US8271706B2 (en) * 2008-05-22 2012-09-18 International Business Machines Corporation Stabilization of host to storage subsystem ownership
US20090319544A1 (en) * 2008-06-20 2009-12-24 Griffin James R Facilitating integration of different computer data systems
US7975025B1 (en) 2008-07-08 2011-07-05 F5 Networks, Inc. Smart prefetching of data over a network
US8478798B2 (en) * 2008-11-10 2013-07-02 Google Inc. Filesystem access for web applications and native code modules
US8521776B2 (en) * 2008-12-05 2013-08-27 International Business Machines Corporation Accessing data in a multi-generation database
JP4892626B2 (ja) * 2009-07-08 2012-03-07 東芝テック株式会社 プリンタ及びメッセージデータ管理プログラム
US9864770B2 (en) 2009-11-12 2018-01-09 Salesforce.Com, Inc. Customizing enterprise level business information networking
US8843676B2 (en) 2012-06-27 2014-09-23 International Business Machines Corporation Optimizing an operating system I/O operation that pertains to a specific program and file
CN103544189A (zh) * 2012-07-17 2014-01-29 珠海金山办公软件有限公司 锁定正在编辑文件的方法及系统
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
CN106126673A (zh) * 2016-06-29 2016-11-16 上海浦东发展银行股份有限公司信用卡中心 一种基于Redis和HBase的分锁方法
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
CN107885488B (zh) 2016-09-29 2021-06-01 微软技术许可有限责任公司 意图和具有意图的锁
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
CN109213739A (zh) * 2017-06-29 2019-01-15 上海共联通信信息发展有限公司 一种共享文件的信息处理方法
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
RU2677494C1 (ru) * 2017-12-04 2019-01-17 федеральное государственное автономное образовательное учреждение высшего образования "Российский государственный университет нефти и газа (национальный исследовательский университет) имени И.М. Губкина" Кинетический ингибитор гидратообразования
US11227282B2 (en) 2018-08-20 2022-01-18 Probloch LLC Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer
JP2020052561A (ja) * 2018-09-25 2020-04-02 キヤノン株式会社 消耗品等の自動発注サービスが利用可能な装置、その制御方法、およびプログラム
JP2020052566A (ja) * 2018-09-25 2020-04-02 キヤノン株式会社 情報処理装置およびプログラム
US11163892B2 (en) * 2019-01-09 2021-11-02 International Business Machines Corporation Buffering data until encrypted destination is unlocked
CN110008225A (zh) * 2019-03-19 2019-07-12 阿里巴巴集团控股有限公司 分布式事务的处理方法和装置
CN112905533B (zh) * 2021-02-05 2023-04-25 优车库网络科技发展(深圳)有限公司 文件提交的管理方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120148A (ja) * 1984-07-07 1986-01-28 Nec Corp フアイルの排他制御方式
JPS6381523A (ja) * 1986-09-25 1988-04-12 Nec Corp 共有デイスク装置の排他制御方式
JPS63305438A (ja) * 1987-06-05 1988-12-13 Nec Corp 複数ホストコンピュ−タ間のファイル共有排他制御方式
JPH0277868A (ja) * 1988-09-14 1990-03-16 Hitachi Ltd 共用データの管理方法
JPH039443A (ja) * 1989-06-07 1991-01-17 Hitachi Ltd データセット管理方式
JPH04148363A (ja) * 1990-10-11 1992-05-21 Toshiba Corp マルチコンピュータシステム
JPH05113894A (ja) * 1991-10-23 1993-05-07 Nec Corp 仮想計算機システムにおけるフアイル資源管理方式
JPH0695859A (ja) * 1992-09-09 1994-04-08 Fujitsu Ltd ソフトウェア資産管理方式
JPH08166919A (ja) * 1994-12-15 1996-06-25 Fujitsu Ltd 異種プロトコルの複数システム間の入出力装置共用システム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
EP0394173A3 (en) * 1989-04-17 1993-10-27 International Business Machines Corporation High concurrency manager of open files
DE69031028T2 (de) * 1990-02-26 1997-11-20 Oracle Corp System zum physikalischen Entwurf von Datenbanken
US5226143A (en) * 1990-03-14 1993-07-06 International Business Machines Corporation Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US5459862A (en) * 1990-06-14 1995-10-17 Sunquest Informaion Systems, Inc. Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
EP0465019B1 (en) * 1990-06-29 1997-05-14 Oracle Corporation Method and apparatus for managing state identifiers for efficient recovery
JP2586219B2 (ja) * 1990-12-20 1997-02-26 日本電気株式会社 高速媒体優先解放型排他方式
US5261094A (en) * 1991-04-08 1993-11-09 International Business Machines Corporation Asynchronous replication of data changes by distributed update requests
US5983004A (en) * 1991-09-20 1999-11-09 Shaw; Venson M. Computer, memory, telephone, communications, and transportation system and methods
US5386525A (en) * 1991-10-29 1995-01-31 Pacific Bell System for providing application programs with direct addressability into a shared dataspace
US5499367A (en) * 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
JPH0619771A (ja) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5404510A (en) * 1992-05-21 1995-04-04 Oracle Corporation Database index design based upon request importance and the reuse and modification of similar existing indexes
JP3309425B2 (ja) * 1992-05-22 2002-07-29 松下電器産業株式会社 キャッシュ制御装置
WO1993025948A1 (en) * 1992-06-12 1993-12-23 The Dow Chemical Company Secure front end communication system and method for process control computers
ES2108875T3 (es) * 1992-06-12 1998-01-01 Dow Chemical Co Interfaz sigilosa para ordenadores de control de procesos.
US5386559A (en) * 1992-07-16 1995-01-31 International Business Machines Corporation Variant domains and variant maps in a versioned database management system
US5469575A (en) * 1992-10-16 1995-11-21 International Business Machines Corporation Determining a winner of a race in a data processing system
US5463754A (en) * 1992-10-30 1995-10-31 International Business Machines Corporation Shared direct access storage device for fixed block architecture devices
US5485607A (en) * 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
ATE172309T1 (de) * 1993-07-01 1998-10-15 Legent Corp Anordnung und verfahren zur verteilten datenverwaltung in vernetzten rechnersystemen
GB2284494B (en) * 1993-11-26 1998-09-09 Hitachi Ltd Distributed shared memory management system
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
JPH10502221A (ja) * 1994-04-01 1998-02-24 テレフオンアクチーボラゲツト エル エム エリクソン 電気通信ネットワークにおける移動性
JP3385091B2 (ja) * 1994-05-13 2003-03-10 三菱電機株式会社 計算機間の排他制御装置
US5638518A (en) * 1994-10-24 1997-06-10 Lsi Logic Corporation Node loop core for implementing transmission protocol in fibre channel
US5634122A (en) * 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US5623670A (en) * 1995-02-17 1997-04-22 Lucent Technologies Inc. Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
US5787175A (en) * 1995-10-23 1998-07-28 Novell, Inc. Method and apparatus for collaborative document control
US5826268A (en) * 1996-04-12 1998-10-20 Ontos, Inc. Secure multilevel object oriented database management system
US5734922A (en) * 1996-07-01 1998-03-31 Sun Microsystems, Inc. Multiprocessing system configured to detect and efficiently provide for migratory data access patterns
US5875327A (en) * 1997-02-18 1999-02-23 International Business Machines Corporation Hierarchy of preferences and preference groups

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120148A (ja) * 1984-07-07 1986-01-28 Nec Corp フアイルの排他制御方式
JPS6381523A (ja) * 1986-09-25 1988-04-12 Nec Corp 共有デイスク装置の排他制御方式
JPS63305438A (ja) * 1987-06-05 1988-12-13 Nec Corp 複数ホストコンピュ−タ間のファイル共有排他制御方式
JPH0277868A (ja) * 1988-09-14 1990-03-16 Hitachi Ltd 共用データの管理方法
JPH039443A (ja) * 1989-06-07 1991-01-17 Hitachi Ltd データセット管理方式
JPH04148363A (ja) * 1990-10-11 1992-05-21 Toshiba Corp マルチコンピュータシステム
JPH05113894A (ja) * 1991-10-23 1993-05-07 Nec Corp 仮想計算機システムにおけるフアイル資源管理方式
JPH0695859A (ja) * 1992-09-09 1994-04-08 Fujitsu Ltd ソフトウェア資産管理方式
JPH08166919A (ja) * 1994-12-15 1996-06-25 Fujitsu Ltd 異種プロトコルの複数システム間の入出力装置共用システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003515202A (ja) * 1999-11-01 2003-04-22 イーエムシー コーポレイション 多重記憶アレイ制御装置

Also Published As

Publication number Publication date
DE69728176D1 (de) 2004-04-22
ATE262196T1 (de) 2004-04-15
CN1227644A (zh) 1999-09-01
DE69728176T2 (de) 2005-01-27
US6009427A (en) 1999-12-28
US5999930A (en) 1999-12-07
WO1998006036A1 (en) 1998-02-12
EP0972247B1 (en) 2004-03-17
EP0972247A1 (en) 2000-01-19
CA2262450A1 (en) 1998-02-12
AU3889497A (en) 1998-02-25
EP0972247A4 (en) 2000-01-19
US6076105A (en) 2000-06-13

Similar Documents

Publication Publication Date Title
JP2000515657A (ja) 共有資源の分散制御を可能にする方法と装置
US10534681B2 (en) Clustered filesystems for mix of trusted and untrusted nodes
US9792294B2 (en) Using byte-range locks to manage multiple concurrent accesses to a file in a distributed filesystem
US9805056B2 (en) Synchronizing file updates between two cloud controllers of a distributed filesystem
US10169367B2 (en) Managing opportunistic locks in a distributed file system
US6564230B2 (en) Transferring a resource between caches of different nodes
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
US20060155705A1 (en) Managing hierarchical authority to access files in a shared database
US6298401B1 (en) Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
US20150356116A1 (en) Distributed change notifications for a distributed filesystem
EP1462956A2 (en) Computer system for managing file management information
US6611848B1 (en) Methods for maintaining data and attribute coherency in instances of sharable files
JPH07111688B2 (ja) コピー装置及び方法、並びにデータ処理装置
HU219996B (hu) Kliens számítógép, valamint eljárás annak üzemeltetésére
JPH08161215A (ja) ファイル管理システム
JP2002540530A (ja) 自動ファイル・プルーニング
US6687716B1 (en) File consistency protocols and methods for carrying out the protocols
JP2007018399A (ja) 条件別スナップショット取得方法及びシステム
JPH11120048A (ja) クライアント/サーバ分散システムにおけるデータキャッシング装置及び方法並びにデータキャッシングプログラムを記録した媒体
US6633870B1 (en) Protocols for locking sharable files and methods for carrying out the protocols
US20050108237A1 (en) File system
WO1999008173A2 (en) Object oriented data storage device
JPH064534A (ja) 寄せ書き文書システム
AU2003213536A1 (en) Method and apparatus for transferring data from the cache of one node to the cache of another node

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080325

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080512

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20080812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080930