JP2002503000A - ウェブサイトを開発するためのシステムと方法 - Google Patents

ウェブサイトを開発するためのシステムと方法

Info

Publication number
JP2002503000A
JP2002503000A JP2000530856A JP2000530856A JP2002503000A JP 2002503000 A JP2002503000 A JP 2002503000A JP 2000530856 A JP2000530856 A JP 2000530856A JP 2000530856 A JP2000530856 A JP 2000530856A JP 2002503000 A JP2002503000 A JP 2002503000A
Authority
JP
Japan
Prior art keywords
module
area
directory
generation
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000530856A
Other languages
English (en)
Other versions
JP2002503000A5 (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
Application filed by インターウォーヴェン インコーポレイテッド filed Critical インターウォーヴェン インコーポレイテッド
Publication of JP2002503000A publication Critical patent/JP2002503000A/ja
Publication of JP2002503000A5 publication Critical patent/JP2002503000A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Sewage (AREA)
  • Branch Pipes, Bends, And The Like (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Document Processing Apparatus (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 「エリア」と呼ばれる階層的ファイルシステムで構成されたファイル管理用のシステムと方法を開示している。エリアには、ワークエリア、ステージエリア、エディションエリアの3タイプがある。ワークエリアは修正可能なファイルエリアで、このエリアでユーザはファイル及びディレクトリの作成、編集、削除を行うことができる。ステージエリアは、選択されたバージョンオペレーションをサポートする読み出し専用ファイルシステムである。ワークエリアの様々なユーザは、自分達のワークエリアのコンテンツをステージエリアに提出することによって、自分達のワークを統合化できる。ステージエリアで、開発者は、自分達のワークを比較し、自分達の変更がどう適合するかを知ることができる。エディションエリアは読み出し専用ファイルシステムであり、ステージエリアのコンテンツの固定された読み出し専用のスナップショットが生成するために、ステージエリアのコンテンツが仮想的にコピーされエディションとなる。ファイル管理のためのシステムと方法の1つの使い方として、ウェブサイト開発ツールとしての使い方が挙げられる。

Description

【発明の詳細な説明】
【0001】 (関連出願) 本出願は、1998年2月4日付けの米国特許出願番号第60/073,76 6号、「ウェブサイトを開発するためのシステムと方法」の内容を本明細書に完
全に開示された参考文献として援用する。 (発明の属する技術分野) 本発明は一般的には階層的ファイルシステムに関する。より厳密には、ウェブ
サイトを開発するツールとして使用できる、ファイル管理のためのシステムと方
法に関する。
【0002】 (先行技術) インタネットは商業的に大きな役割を果たしており、多くの会社がウェブサイ
トを所有する傾向にある。多くのウェブサイトはしばしば修正する必要があり、
通常は数十人のコントリビュータの手で特別なプロセスによって修正される。そ
れ故、ウェブサイトのコンテンツを更新し、正確にし、良好に統合された状態に
維持するための継続的プロセスは、初期計画及び開発のフェーズでのプロセスよ
りもしばしば大きな課題となる。インタネットは数百にも及ぶチームによって、
日毎、時間毎、又は分毎に更新される。同様に、イントラネットのコンテンツの
コントリビュータは新たなコンテンツを絶えず提出したり又は既存コンテンツに
変更したりするので、新たなコンテンツを素早く組み込まないと、基本的な通信
リソースとしてのイントラネットの有用性は限定されてしまう。
【0003】 大型ウェブサイトは、ウェブコントリビュータの数が指数的に増加すると、多
くの問題に直面する。これらのサイトの規模とコンテンツは急速に増加しつづけ
ており、サイトの通信量とインタネット商取引が増えるにつれ、より頻繁な更新
が必要となる。コントリビュータ、量、コンテンツの複雑さが増すにつれ、各変
更を監督し品質を管理することはウェブサイトの管理者(「ウェブマスタ」)に
とってますます困難となるに至った。 ウェブサイトの開発は複雑なので、ウェブサイト開発を監督/管理する中央シ
ステムが必要となる。ウェブサイトの開発を監督/管理するための既存のシステ
ムには、ソフトウェア構成監督システム、ドキュメント監督システム、データベ
ース発行システムが含まれている。
【0004】 このような既存のウェブサイト開発システムには、不利な点が幾つかある。例
えば、ウェブサイトを維持するには数十人又は数百人の手を煩わすことが必要な
ので、ウェブサイトコントリビュータを並列に作業させることが望ましい。ソフ
トウェア構成監督システムは、複数のコントリビュータがウェブサイトの同一エ
リアを変更することを許さない。更に、既存のシステムでは何れも、並行に作業
するコントリビュータがウェブサイトを実際に変更することなく自分の作業を別
々にテストすることを許さない。従って、矛盾する変更がウェブサイトに寄せら
れ、ウェブサイトにエラーを生じさせることもある。
【0005】 コントリビュータは自分の作業が他のコントリビュータの作業と組み合わされ
た際にどんな影響があるのか個別のレベルで予測することができないので、既知
のシステムでは、ウェブマスタがウェブサイトに寄せられた全ての変更点を統合
してエラーをチェックすることに依存している。ウェブマスタは又、変更を認め
られたコントリビュータがコンテンツを変更することを保証している。しかし、
ウェブマスタは、ウェブサイトの変更に関する統合と試験を全て行わねばならな
いので、しばしばウェブサイトを開発するプロセスのボトルネックとなる。複数
のユーザの作業を統合することは人手を介してなされ時間も掛かり、バグの判定
及び矛盾点の解決に膨大な時間が浪費されるのに対し、システムの設計、改革、
戦略には殆ど時間が掛けられていない。更にウェブマスタは、コントリビュータ
が変更点をウェブマスタへ提出する準備が整うまで、コントリビュータの変更の
進展度合を容易には監督することができない。従って、ウェブマスタは、早い段
階でエラーを正すこともできなければ、コントリビュータがどの位進展している
かを判定することもできない。
【0006】 既知のウェブサイト開発システムの別の欠点は、ファイルバージョンの履歴を
追跡しない点である。ウェブサイトのファイルは常に追加、除去、変更、移動、
再命名されているので、誰がどんなファイルバージョンを作ったか、バージョン
は何時作られたかを知ることが有効である。以前のバージョンへ完全にアクセス
することにより、ユーザは、バグを生じさせた変更を容易に見つけ、過去のバー
ジョンに立ち戻り、新たなバグを特定することができる。更に、既知のウェブサ
イト開発システムでは、サイトの一部又は全体についての如何なる過去のバージ
ョンへも直接アクセスすることができない。ウェブサイトの任意の過去のバージ
ョンへ直接立ち戻れることは、サイトエラーが起きたり又は不適切又は不正確な
情報が配分されたりした場合に惨事から回復するための不可欠なツールとなる。
【0007】 従って、ウェブサイトを実際に変更することなく、変更点がウェブサイト全体
の中でどう適合するかをコントリビュータが決められるウェブサイト開発システ
ムが求められている。更に、コントリビュータがファイルの初期バージョン、ウ
ェブサイトのサブセクション又はウェブサイトへアクセスでき、且つ、ウェブマ
スタがウェブサイトをより容易に変更できると同時にコントリビュータの進展状
況をチェックできるウェブサイト開発システムが求められている。
【0008】 (発明の概要) 本発明は、ファイル管理のためのシステムと方法を提供する。このようなシス
テムの1つの使い方は、ウェブサイト開発ツールとしての使い方である。 本発明のシステムは、本明細書で「エリア」と呼ばれる階層的ファイルシステ
ムで構成される。エリアには、ワークエリア、ステージエリア、エディションエ
リアの3タイプがある。ワークエリアは修正可能なファイルシステムエリアであ
り、このワークエリアでユーザは、ファイル及びディレクトリの作成、編集、削
除、追加,修正を行うことができる。1実施例では、ワークエリアは既存ウェブ
サイトの仮想的なコピーであり、ウェブサイトに関するユーザの個人的見解であ
る。
【0009】 ステージエリアは、選択されたバージョン化オペレーションをサポートする読
み出し専用ファイルシステムである。ワークエリアの様々なユーザは、自分達の
ワークエリアのコンテンツをステージエリアに提出することによって、自分達の
ワークを統合化することができる。ステージエリアにおいて、開発者は、自分達
のワークを比較し、自分達の変更点がどのように適合しているかを知ることがで
きる。
【0010】 エディションエリアは読み出し専用ファイルシステムである。ステージエリア
のコンテンツは仮想的にエディションエリアへコピーされ、ステージエリアのコ
ンテンツの固定された読み出し専用のスナップショットが生成される。1実施例
では、エディションエリアのコンテンツは、ウェブサイトのエディションのコン
テンツを表す。
【0011】 1実施例では、複数のエリアはディレクトリツリーを共有し、エリアが作成さ
れる毎にディレクトリ及びファイルを物理的にコピーする必要はない。これによ
り、エリアを素早く作成することができ、システムリソースを有効に利用できる
。ファイル又はディレクトリのコンテンツに関する情報を記憶する履歴オブジェ
クトは、ファイル又はディレクトリが存在する各エリア中の各ファイル又はディ
レクトリと関係付けられている。
【0012】 別の実施例では、本発明は各ファイル及びディレクトリのコンテンツの履歴を
追跡する。これにより、システムはファイル同志を又はディレクトリ同志を容易
に比べることができ、それらが同一なのか又は関係付けられているのかを識別す
ることができる。 更に別の実施例では、本発明のシステムは、1つのウェブサーバを複数のウェ
ブサーバであるかのように作動させることのできるHTTPプロトコルバーチャ
ライゼーションモジュールを含んでいる。これにより、各エリアはエリア毎に個
別のウェブサーバを持つことなく、HTTPプロトコルレベルにおける完全なウ
ェブサイトになることができる。
【0013】 (実施例) 本発明をウェブサイト開発と関連付けて以下に説明するが、当該技術分野に詳
しい当業者に理解されているように、本発明は他の具体的な形でも実現すること
ができる。
【0014】 図1は、ウェブサイト開発用のコンピュータネットワーク100を示す。従来
型のパソコンである開発ワークステーション110上で、ウェブサイト開発者は
ウェブサイト用のファイルを追加し、除去し、編集し、検査する。開発ワークス
テーション110は、インタネットのようなコンピュータネットワーク120を
介して開発サーバ130に接続される。 開発サーバ130は、ウェブサイトコンテンツを求める開発ワークステーショ
ン110からのHTTP要求を処理するウェブサーバ145を含んでいる。開発
サーバ130は、マイクロソフト社から商業的に入手可能なウインドウズNTフ
ァイルシステムのような従来型の支援記憶装置160も含んでおり、ここにWS
ファイルが物理的に記憶されている。
【0015】 開発サーバ130は、ウェブサイト開発ソフトウェアモジュール135を実行
することによって本発明のウェブサイト開発方法を実現する従来型のメモリ15
0(即ち、RAM)及び従来型プロセッサも含んでいる。以下に述べるウェブサ
イト開発モジュールはメモリ150に記憶される。メモリ150には、ウェブサ ーバ145を複数のウェブサーバの如く作動させる以下に述べるHTTPプロト
コルバーチャライゼーションモジュール137も記憶されている。
【0016】 開発サーバ130は、ネットワーク165を介してプロダクションウェブサー
バ170に連結される。ネットワーク165はネットワーク120のような同じ
ネットワークでも、別のネットワークでもよい。ウェブサイトプロダクションウ
ェブサーバ170はインタネット又はイントラネット175へ連結されており、
あるウェブサイトをワールドワイドウェブ又はイントラネットへ通知する準備が
整うと、開発サーバ130は当該ウェブサイトをプロダクションウェブサーバ1
70へ送り、プロダクションウェブサーバ170は、インタネット又はイントラ
ネットへのアクセスを当該ウェブサイトへ提供する。
【0017】 ウェブサイトは任意のファイルシステムのコンテンツで構成される。本発明の
ウェブサイト開発システムは階層的ファイルシステムの集合から構成される。こ
れらファイルシステムのそれぞれは、個別のファイルを管理する環境であり、個
別ファイルを操作するための手段を提供する。実行時に、ウェブサイト開発ソフ
トウェアモジュール135は、ファイルの管理と操作の大部分を行うことのでき
るファイルシステムの一部となる。支援記憶装置160には、ファイル及び対応
するメタデータ(即ち、オーナーID、グループID、アクセスコントロールフ
ァイル名、修正回数、作成回数等)が物理的に記憶される。1実施例では、ファ
イルは(支援記憶装置160中に物理的に記憶されていても)支援記憶装置16
0以外のドライブに記憶されているように見えるようにすることができる。
【0018】 階層的ファイルシステムは、ファイルとシンボルリンクを有するディレクトリ
ツリーを備えている。ディレクトリツリーの頂点にはルートディレクトリが存在
し、ここから他の全てのディレクトリが直接的に又は間接的に派生する。 ファイルシステムは、修正可能システム又は読み出し専用システムである。修
正可能ファイルシステムは、ファイル上の読み出しオペレーション(即ち、ルー
トディレクトリ取得、ディレクトリ読み出し、ディレクトリ参照、ファイル読み
出し、属性取得、シンボルリンク読み出し等)をサポートし、オペレーション(
即ち、ディレクトリ作成、ファイル作成、シンボルリンク作成、属性セット、フ
ァイル除去、ディレクトリ除去、ファイル再命名、ディレクトリ再命名、ファイ
ル書込等)を修正するファイルシステムである。
【0019】 読み出し専用ファイルシステムは、読み出しオペレーションのみを支援する。
読み出し専用ファイルシステムとしては、CDROMボリュームと、書き込みタ
ブがライトプロテクト位置にあるフロッピーディスクボリュームとの2つの例を
挙げることができる。
【0020】 上記のように、本発明のウェブサイト開発システムは階層的ファイルシステム
から構成される。階層的ファイルシステムの幾つかは、ウェブサイトのコンテン
ツを構成するファイルを生成するように修正することができる。他のファルシス
テムは、ウェブサイト開発に協調させるために他のファルシステムからのファイ
ルを比較することができ、更に別のファルシステムは、ウェブサイトのコンテン
ツを構成する完成したファイルを含んでいる。
【0021】 本発明の階層的ファイルシステムが従来のファイルシステムと異なる1つの点
は、読み出し及び/又は修正オペレ−ションに加えて、本発明のファイルシステ
ムの幾つかが、以下に述べるように2つ又はそれ以上の関係ファイルシステムを
操作できる選択されたバージョン化オペレーションをサポートする点である。ウ
ェブサイトのコンテンツは、本発明の関連ファイルシステムの集合上で読み出し
オペレーション、修正オペレーション、バージョン化オペレーションを実行する
ことにより作成される。
【0022】 本発明の階層的ファイルシステムは「エリア」と呼ばれ、ワークエリア、ステ
ージエリア、エディションエリアの3タイプのエリアがある。ワークエリアは、
修正可能なファイルシステムであるが、ステージエリアとエディションエリアは
読み出し専用ファイルシステムである。
【0023】 ワークエリアは、既存のウェブサイトの仮想的なコピーとして始まる(既存シ
ステムが存在しない場合を除く。存在しない場合、ワークエリアは空の状態から
始まる)。換言すると、ワークエリアは、ウェブサイトとして指定されたファイ
ルシステムと同じコンテンツを有して始まる。ワークエリアは、ウェブサイトに
関する開発者の個人的な見解であり、ウェブサイトに寄稿する各開発者はワーク
エリアへ寄稿をしているのである。ワークエリア中で、開発者はウェブサイトコ
ンテンツを自由に追加、削除、修正することができ、自分の変更がウェブサイト
全体のコンテキスト中でどう適合するかを知ることができる。追加、削除、修正
のオペレーションの詳細を以下に述べる。あるコントリビュータがあるワークエ
リアで行った変更は、他のコントリビュータが他のワークエリアで行ったワーク
には影響しない。これは、以下に述べるように各エリアが別のファイルシステム
となっているからである。
【0024】 開発者は、自分達のワークエリアのコンテンツをステージエリアへ提出するこ
とにより、自分達のワークをステージエリアで統合する。提出オペレーションと
は、上記の選択されたバージョン化オペレーションの1つであり、以下に更に詳 しく述べる。ステージエリアは、ブランチ(ブランチは以下に詳述)上の全ユー
ザが入手できるウェブサイトに関する共有の見解である。換言すると、ステージ
エリアは、ブランチに沿って全ユーザがアクセスすることができるファイルシス
テムである。ステージエリアは、複数の開発者のワークエリアの集合的ワークエ
リアを保持し、このステージエリアによって開発者は自分達の変更を共有し統合
化することができる。ステージエリアにおいて、開発者は自分達のワークを比較
し、自分達の変更がどのように適合するかを知ることができる。比較オペレーシ
ョンは、以下に詳述する選択されたバージョン化オペレーションの別のオペレー
ションである。
【0025】 ステージエリアにおける集合的ワークは、別のコントリビュータがワークエリ
アから新たなコンテンツを提出するにつれて変化するステージエリアの現状態に
ワークエリアを更新するために、個人のワークエリアへ仮想的にコピーし直すこ
とができる。エリアはディレクトリツリーを共有し、ディレクトリツリーを物理
的にコピーする必要がないようになっているので、コピーは「仮想的」である。
ステージエリアにおける集合的ワークが最終的なものと見なされると、そのコン
テンツが発行されウェブサイトのエディションが作成される。 エディションからワークエリアを作成する段階と、ステージエリアを発行する
段階とは、以下に述べる選択されたバージョン化オペレーションの追加オペレー
ションである。
【0026】 ステージエリアのコンテンツは、エディションエリアへ仮想的にコピーされ、
ウェブサイトのエディションが作成される。ここでも仮想的コピーは、エディシ
ョンがステージエリアの場合のように同じディレクトリツリーを参照することを
意味している。エディションは読み出し専用ファイルシステムであるので、エデ
ィションは、単一ブランチに沿った特定の点におけるウェブサイト全体のコンテ
ンツの固定されたスナップショットである。各エディションは記録され全開発者
がアクセスできる。
【0027】 エディションのコンテンツはワークエリアへ仮想的にコピーし直すことが可能
で、ウェブサイトを更に開発するベースとして使うことができる。エディション
は又、記録としての役割を果たし、ユーザはファイルやディレクトリを瞬間的に
呼び戻し、ウェブサイトの過去の全バージョンを再構成することができる。
【0028】 図2は本発明のある開発者の視点から見たワークエリアからエディションまで
の開発フローを要約したものである。開発者は段階210において、ワークエリ
アでファイルを編集、追加、削除する。次に開発者は段階220において、自分
のワークエリアのコンテンツをステージエリアへ提出する。ステージエリアで、
コントリビュータのワークエリアのコンテンツは段階230において、他のコン
トリビュータのワークエリアのコンテンツと統合される。段階240において、
ステージエリアへ提出された全てのコンテンツが良好に統合され承認されると、
ステージエリアのコンテンツは段階250において、エディションとして発行さ
れる。発行されなければ、コントリビュータは、自分のファイルが承認されるま
で、段階210において編集を継続する。
【0029】 1実施例によれば、ウェブサイト開発は開発の幾つかのブランチに沿って分割
することができる。開発者の視点からすると、ブランチとは単一のウェブサイト
の開発経路である。図3に示すように、単一のブランチ300は、ワークエリア
310、ステージエリア320、1つ又はそれ以上の記録されたウェブサイトエ
ディション330を含んでいる。ブランチは、開発チームが互いに別の代わりの
開発パスを保持できるように、サブブランチを含むことができる。コンテンツは
ブランチ、サブブランチの間で共有することができる。 ウェブサイト開発をブランチに沿って分割するある例では、現在のウェブサイ
トのために1つのブランチを有し且つウェブサイトの新たなバージョンのために
別のブランチを有している。別の例では、特定の領域又はクライアント用にウェ
ブサイトを誂えるために、別の領域又は別のクライアントのために別の開発ブラ
ンチを有している。
【0030】 ウェブサイト開発ソフトウェアモジュールが開発サーバにインストールされた
時に、メインブランチは生成される。図4に示すように、メインブランチ400
は最初、空のステージエリア420と空のエディション430とを含む。メイン
ブランチは最初、空のワークエリア410も含んでいる。ワークエリアは、メイ
ンブランチが作成される時、又は、ワークエリアの属性を定義する準備が整うま
でワークエリアの生成を遅らせたいとユーザが思う暫く後の時(人々がワークエ
リアへアクセスできる時)に生成することができる。
【0031】 ウェブサイト開発ソフトウェアモジュール以前から存在していたウェブサイト
がインストールされる場合、ワークエリアが事前に存在していなければ、空のワ
ークエリア410が生成される。図5に示すように、元のウェブサイトのコンテ
ンツ510は、空のワークエリア410へコピーされ、次に空のステージエリア
420へコピーされ、次に初期エディション440へ発行される。
【0032】 追加のワークエリアは、最も新しいエディションのコンテンツを新たなワーク
エリアへ仮想的にコピーすることにより、メインブランチとは別の形で作成する
ことができる。図6は、エディション440からメインブランチ上に3個のワー
クエリア600が生成されることを示す。ワークエリア600のコンテンツはス
テージエリア610へ提出され、ステージエリア610のコンテンツは新たなエ
ディション620へ発行される。
【0033】 サブブランチも又、メインブランチ又は他のブランチと別の形で作成すること
ができる。図7はサブブランチがメインブランチと別の形で作成されることを示
す。親ブランチ720からのエディション710が、サブブランチ730用の初
期エディション725として使われる。初期エディション725のコンテンツは
次に、ワークエリア740、ステージエリア750、サブブランチ730の新た
なエディション760へと、仮想的にコピーされる。サブブランチは他のサブブ
ランチと別の形で同様に作成できることに注目されたい。サブブランチ上でのワ
ークは、高次のブランチ上でのワークと並行且つ独立に起こる。
【0034】 サブブランチ上で生成されたワークは、サブブランチ上のエディションのコン
テンツを高次ブランチ上のワークエリアへ仮想的にコピーすることにより、高次
レベルのブランチへ組み込むことができる。サブブランチからのコンテンツは、
他のワークエリアからのコンテンツと統合され、高次のブランチの新たなエディ
ションとして発行される。 ウェブサイト開発システムの概要と代表的な使い方を述べたので、1実施例に
よるシステムの具体的な実行について述べる。
【0035】 各々の独立したワークエリア、ステージエリア、エディションエリアは、ツリ
ー構造に組織化された1つ又はそれ以上のファイル及びディレクトリから構成さ
れる。図8は、ディレクトリ1をルートディレクトリとしたエリアのディレクト
リの例を示す。エリアは同じディレクトリツリーを共有することができる。実際
に、既存エリアがコピーされて新たなエリアが作られる場合、新たなエリアは、
既存エリアとしての同じルートディレクトリを参照するだけである。
【0036】 各々の独立したワークエリア、ステージエリア、エディションエリアは、エリ
アを表し、且つ、ネームフィールド、オブジェクトIDフィールド、世代IDフ
ィールド、ディレクトリフィールド、ブランチフィールドを有するオブジェクト
を生成することによって、生成される。ネームフィールドは、ワークエリアの名
前を含んでいる。ディレクトリフィールドは、特定のワークエリア、ステージエ
リア、エディションエリアのディレクトリツリーのルートディレクトリを識別す
る。ブランチフィールドは、ワークエリアがどのブランチに沿って存在するかを
表す。図9はワークエリアオブジェクトの図形的に表したものである。ワークエ
リアを生成する際、ワークエリアオブジェクトが既存のディレクトリツリーを指
示するので、ディレクトリツリーの仮想コピーは実際のコピーに相対するものと
して作られることに注目されたい。
【0037】 各々のワークエリア、ステージエリア、エディションエリアは、2つの固有の
識別子を有し、本アプリケーションでは一方を「世代ID」、他方を「オブジェ
クトID」と呼ぶ。オブジェクトIDはエリアを表すオブジェクトを識別し、一
旦オブジェクトIDがあるオブジェクトに割り当てられると、このオブジェクト
IDは変更されることがない。各エリアは又、あるエリアが他のエリアとどのよ
うに関連しているかを示す固有の世代IDによっても識別される。特定のエリア
の世代IDは、以下に述べるように(例えば、ステージエリアがエディションへ
発行される時)変更することができる。世代IDは世代IDフィールドに配置さ
れている。オブジェクトIDはオブジェクトIDフィールドに配置されている。
【0038】 ディレクトリ、ファイル、履歴オブジェクト(以下に述べる)、及び他のオブ
ジェクトにも、一旦割り当てられると変更されることのないオブジェクトIDが
割り当てられることに注目されたい。 世代IDは、数字からなる固有のシーケンス又はセットから構成される。世代
IDは、エリアを固有に識別するだけでなく、上記のように、あるエリアが他の
エリアとどのように関連しているかを示す。
【0039】 エリアの1つが直接又は間接に他のエリアから派生している場合、あるエリア は別のエリアに関係している。例えば、図7において、サブブランチの初期エデ
ィションは、親ブランチのエディション2から直接派生している。サブブランチ
のワークエリアは、サブブランチの初期エディションから直接派生し、親ブラン
チのエディション2から間接的に派生している。 世代IDは、世代IDに固有な番号と、世代IDを派生する世代IDの数字と
を含んでいる。例えば、番号1があるエリアへ割り当てられた固有番号で、番号
0が別のエリアへ割り当てられた固有番号である場合、これらのエリアから派生
されたあるエリアの世代IDは、番号0と1と同様に例えば、自身の固有番号例
えば4である。
【0040】 図10は、親世代IDが新たなエリアの直接の親へ割り当てられる場合につい
て、親世代IDから新たなエリアへ割り当てられる世代IDを派生するための方
法を示す。ある固有番号が段階1000において、連続的に(例えば、1、2、
3、4)又は無作為に数字を生成するための従来のアルゴリズムを使って得られ
る。次に、親世代IDに関連する固有数字のセット又はシーケンスが段階101
0において検索される。次いで、親世代IDと丁度今発行された固有番号を連結
する数字のセット又はシーケンスが、段階1020で生成される。
【0041】 エリア間の関係も系図ツリーで表される。系図ツリーはデータ構造であり、ツ
リーの各ノードは異なる世代を表している(例:エリア。本アプリケーションエ
リアを通じてエリアをしばしば世代と呼んでいることに注意されたい)。
【0042】 図11は系図ツリーの例を表している。世代G0は初期エディションを表す。世
代G2はあるワークエリア(「ワークエリア1」)を表し、世代G3は別のワー
クエリア(「ワークエリア2」)を表し、世代G1はあるエディション(「エデ
ィション1」)を表し、世代G4はステージエリアを表している。系図ツリーは
G1、G2、G3がG0から直接派生されたことを示し、これはG1、G2、G
3がG0として同一のルートディレクトリを有することを意味する。G4はG0
から間接的に派生され、G1から直接的に派生されており、それ故にG0として
同一のルートディレクトリを有する。
【0043】 図12はディレクトリ1200を図形的に表示している。ディレクトリが変更
された世代毎に、ディレクトリは世代ページ1280を含んでおり、この世代ペ
ージ1280は、世代ページ1280に対応する世代でのディレクトリコンテン
ツを掲げるオブジェクトである。従ってディレクトリは、ディレクトリが変更さ
れた各世代におけるディレクトリコンテンツのスナップショットを含んでいる。
たとえディレクトリが別のエリアに別のコンテンツを有していても、世代ページ
1280により別のエリアは同じディレクトリを参照することができる。
【0044】 図12に示したディレクトリ1200で、ディレクトリページ1280は、ア
イテム「m」が世代G0でディレクトリ1200へ加えられたこと、アイテム「
n」が世代G2でディレクトリ1200へ加えられたこと、アイテム「p」が世
代G3でディレクトリ1200へ加えられたことを示している。如何なるものも
ディレクトリ1200から除去されなかったと仮定すると、ディレクトリページ
1280は、特定の世代で加えられたコンテンツを含むだけでなく、特定の世代
から派生された世代で加えられたコンテンツも含んでいる。例えば、図10の系
図ツリーをこの例に当てはめるとしよう。世代G0において、ディレクトリd1
はアイテム「m」を含んでいる。世代G2において、アイテム「n」がディレク
トリ1200に加えられており、従って、G2はG0から派生しているので、デ
ィレクトリ1200は世代G2において、アイテム「m」と「n」を含んでいる
(「m」は除去されてないと仮定する)。世代G3において、アイテム「p」が
ディレクトリd1に加えられるので、ディレクトリ1200はアイテム「p」と
「m」を含んでいる。G3はG2から派生されたのではないので、結果的にディ
レクトリ1200は世代G3において、アイテム「n」を含んでいない。
【0045】 1実施例では、ディレクトリが特定の世代で変更されてない場合、当該ディレ
クトリは当該世代の世代ページを含まないことになる。ディレクトリはある世代
で変更されると、当該世代に関する世代ページがディレクトリへ加えられる。
【0046】 ディレクトリ中の各アイテムは履歴オブジェクトに関係している。履歴オブジ
ェクトは、ファイル又はディレクトリのコンテンツが編集又は修正された世代を
示す。換言すると、履歴オブジェクトはディレクトリ中におけるアイテムの履歴
を示している。履歴オブジェクトは、世代IDのフィールド1225と、ファイ
ル又はディレクトリへのポインタのコンテンツフィールド1230とを含んでい
る。図12に示した例では、履歴オブジェクトh0は、世代g0においてアイテ
ムnがファイルf1に関係するコンテンツを含んでいることを示す。履歴オブジ
ェクトh0は又、世代G2においてアイテムnがファイルf2(ファイルf1で
はなく)に関係するコンテンツを含んでいることを示す。コンテンツフィールド
1230に掲げられたアイテムは、ファイルf2の実際のコンテンツを指してい
る。f2がディレクトリであったとすると、f2はディレクトリ1200のよう
な別のディレクトリを指すことになろう。コンテンツには、ディレクトリに掲げ
られたアイテムに関係して先行するファイル又はディレクトリへのポインタを有
する「以前のフィールド」1240が含まれている。例えば、f2は、f1への
ポインタ1240と同時に、世代G2に先行してアイテム「m」がf1のコンテ
ンツを有していたことを意味するコンテンツ「B」を有するファイルを指す。
【0047】 図13は、ワークエリア、ステージエリア、エディションエリアの生成と操作
を可能にする本発明の1実施例によるウェブサイト開発ソフトウェアモジュール
135を示す。ウェブサイト開発ソフトウェアモジュール135は、ワークフロ
ーサブシステム1300、バージョン化サブシステム1305、オブジェクトサ
ブシステム1310を含んでいる。ワークフローサブシステムは、ワークエリア
、ステージエリア、エディションエリア、ブランチを生成し管理する。バージョ
ン化サブシステムは、ファイル及びディレクトリの修正及び編集、ファイルの比
較、ディレクトリの比較、ワークエリアのコンテンツのステージエリアへの提出
、矛盾点に関するファイル及びディレクトリの照合等の機能を管理して制御する
。オブジェクトサブシステムは、サーバのメインメモリ中及びディスク中におけ
るオブジェクトの配分を管理する。オブジェクトサブシステムは、従来継続型の
オブジェクト記憶及びキャッシュサブシステムとして実行されてもよい。
【0048】 ワークフローサブシステムはワークエリア生成モジュール1312、ステージ
エリア生成モジュール1314、エディションエリア生成モジュール1316、
ブランチ生成モジュール1346、エリア削除モジュール1342を含む。バー
ジョン化サブシステム1305は、提出モジュール1336、矛盾照合モジュー
ル1338、比較モジュール1340、追加アイテムモジュール1318、参照
カウントモジュール1320、追加直接参照モジュール1322、取り除き直接
参照モジュール1324、読み出しディレクトリモジュール1326、取り除き
アイテムモジュール1328、エディットファイルモジュール1330、再命名
モジュール1332、世代ディレクトリ経路モジュール1334、ロックモジュ
ール1344、世代IDモジュール1348を含んでいる。ワークフローサブシ
ステム及びバージョン化サブシステムのこれらのモジュールによって、エリア、
ファイル、ディレクトリ、及びウェブサイト開発に使われる他のオブジェクトの
作成と操作ができるようになる。
【0049】 ワークフローサブシステム及びバージョン化サブシステムは、C++プログラ
ミング言語で実行される。ワークフローサブシステム及びバージョン化サブシス
テムのモジュールのオペレーションを以下に述べる。 上記のようにワークエリアは、以前のエディションのコンテンツをワークエリ
アへ仮想的にコピーすることによって作成される(メインブランチ上の最初のワ
ークエリアが初期において空状態にある場合は例外とする)。図14は、任意に
「エディションe」と名付けられたあるエディションからワークエリアを作成す
るためのワークエリア生成モジュール1312のオペレーションを示す。モジュ
ール1312は段階1410において、ルートディレクトリとエディションeの
世代IDとを取得する。次に、モジュール1312は段階1420において、世
代IDモジュール1348から新たな世代IDを取得するが、このIDはエディ
ションeの世代IDから派生されたものである。世代IDモジュール1348は
新たな世代IDを、図11に示したプロセスを実行することにより派生する。モ
ジュール1312は又、ワークエリア用の新たなオブジェクトID(無作為又は
連続的に生成された固有の数)も取得する
【0050】 モジュール1312は段階1430において、ワークエリアを表し且つネーム
フィールド、ルートディレクトリフィールド、オブジェクトIDフィールド、世
代IDフィールド、ブランチフィールドを有するオブジェクトを作成する。モジ
ュール1312は段階1440で、ワークエリアの名前をネームフィールドへ、
エディションeのルートディレクトリをルートディレクトリフィールドへ、段階
1420で派生された世代IDを世代IDフィールドへ、オブジェクトIDをオ
ブジェクトIDフィールドへ、ワークエリアが存在するブランチIDをブランチ
フィールドへ入れる。こうしてオブジェクトは、ワークエリアが、エディション
eの同じルートディレクトリを有し且つ派生された世代IDを有するデータ構造
であることを示す。ワークエリアを作成するためにエディションeのコンテンツ
が物理的にコピーされているのではないことに注目されたい。むしろ、新たに作
成されたワークエリアは初期にはエディションeと同じデータ構造を有している
ことを示すオブジェクトが作成されたのである。
【0051】 図15は、エディションeと呼ばれるエディションからステージエリアを作成
するためのステージエリア生成モジュール1314のオペレーションを示す。ス
テージエリアを作成するため、モジュール1314は段階1510において、エ
ディションeの世代IDを取得し、次に段階1520において、エディションe
の世代IDから派生された新たな世代IDを世代IDモジュール1348から取
得する。モジュール1314は又、ステージエリアのための新たなオブジェクト
ID(無作為又は連続的に生成された固有の数)も取得する。
【0052】 モジュール1314は、ステージエリアを表し且つネームフィールド、ルート
ディレクトリフィールド、世代IDフィールド、オブジェクトIDフィールド、
ブランチフィールドを有するオブジェクトを作成する。モジュール1314は段
階1540において、ステージエリアの名前をネームフィールドへ、エディショ
ンeのルートディレクトリをルートディレクトリフィールドへ、段階1520で
得られた世代IDを世代IDフィールドへ、段階1525で得られたオブジェク
トIDをオブジェクトIDフィールドへ、ステージエリアが存在するブランチI
Dをブランチフィールドへ入れる。
【0053】 複数のステージエリアを有することの望ましいことが時にはある。例えば、公
のステージエリアに加えて、選ばれたユーザのみがコンテンツを提出できる数個
の私的なステージエリアを有することが望ましい。複数のステージエリアは、上
記のステージエリア作成方法を複数回実行することによって作成することができ
る。
【0054】 図16a−bは、任意に「s」とラベル付けされたステージエリアのコンテン
ツからエディションを作成するためのエディションエリア生成モジュール131
6のオペレーションを示す。モジュール1316は段階1610において、世代
IDとステージエリア「s」のルートディレクトリとを取得する。モジュール1
316は段階1615において、エディションeの固有オブジェクトIDも取得
する。モジュール1316は段階1620において、新たなエディションを表し
且つネームフィールド、ルートディレクトリフィールド、世代IDフィールド、
オブジェクトIDフィールド、ブランチフィールドを有するオブジェクトを作成
する。モジュール1316は段階1630において、新たなエディションの名前
をネームフィールドへ、ステージエリアの世代IDを世代IDフィールドへ、ス
テージエリア「s」のルートディレクトリをルートディレクトリフィールドへ、
段階1625で得られたオブジェクトIDをオブジェクトIDフィールドへ、エ
ディションが存在するブランチIDをブランチフィールドへ入れる。
【0055】 ステージエリアの世代IDを取ることによって、モジュール1316は、ステ
ージエリア「s」を新たなエディションへ本質的に変換する。結果的に、エディ
ションが生成された時に、エディション生成モジュール1316は段階1640
において、新たな世代IDを取得し、段階1650において、この世代IDをス
テージエリアへ割り当てる。
【0056】 図17a−cは、ブランチ生成モジュール1346のオペレーションを示す。
ブランチを生成するために、モジュール1346は段階1705において、現在
作成されつつあるブランチがメインブランチであるか否かを判定する。ブランチ
がメインブランチでない場合、モジュール1346は段階1710において、新
たなブランチが派生した、「エディションb」と呼ばれる、親ブランチからのベ
ースエディションの世代IDを取得する。「エディションb」は親ブランチの上
に追加された任意のものである。次にモジュール1346は段階1715におい
て、「エディションb」の世代IDから派生された新たな世代IDを世代IDモ
ジュール1348から取得する。次に「エディションe」と呼ばれる初期エディ
ションが、「エディションb」としての同じルートディレクトリと段階1715
で得られた世代IDとを使って段階1720において生成される。更に、ゼロ又
はそれ以上のワークエリアが段階1730において作成され、各ワークエリアは エディションeと同じルートディレクトリを有し、エディションeの世代IDか
ら派生されたのとは異なる世代IDを有している。ワークエリアは、ブランチ作
成の時点又はそれよりも後の時点で作成される。エディションeと同じルートデ
ィレクトリを有し且つエディションeの世代IDから派生された世代IDを有す
るステージエリアが、段階1740において作成される。エディションe、ワー クエリア、ステージエリアは、図14-16で述べられた方法に従って作成され る。
【0057】 段階1705を参照すると、作成中のブランチがメインブランチである場合、
モジュール1346は段階1750において、g0と呼ばれるルート世代IDを 取得する。ルート世代IDは、固有の数を生成するための従来プログラムを使っ
て生成される数であり、別の世代IDから派生されるものではない。次にモジュ
ール1346は段階1755において、d0と呼ばれる空のディレクトリを生成
し、段階1760において、h0と呼ばれるディレクトリのための履歴オブジェ
クトを生成する。モジュール1346は段階1765において、履歴オブジェク
トが世代g0におけるディレクトリd0に関係することを示す履歴オブジェクト
へのエントリを追加する。このエントリは表記法(g0,d0)で表される。
【0058】 モジュール1346は、履歴オブジェクトを作成した後、段階1770におい
て、ルートディレクトリd0とルート世代g0とを有する初期エディションを生
成する。又、モジュール1346は段階1775において、1つ又はそれ以上の
ワークエリアと、1つのステージエリアを作成するが、それぞれのエリアは初期
エディション(即ち、空の)と同じルートディレクトリと、ルート世代から派生
されたのとは異なる世代IDとを有している。ワークエリアはブランチ生成の時
に生成される必要はないこと、即ちそれより後に生成されてもよいことに注目さ
れたい。
【0059】 追加アイテムモジュール1318により、ファイルやディレクトリのようなオ
ブジェクトをワークエリア又はステージエリアへ追加できる。図18a−dは、
コンテンツ「p」を有するアイテム「n」をエリア「a」のディレクトリ「d」
へ加えるための追加アイテムモジュール1318のオペレーションを示す。エリ
ア「a」はワークエリアでもステージエリアでもよく、アイテム「n」はファイ
ルでもディレクトリでもよい。アイテム「f」はファイルでもディレクトリでも
よい。アイテムを加えるため、モジュール1318は段階1805において、「
g」と呼ばれるエリア「a」のための世代IDを識別する。次にモジュール13
18は段階1810において、ディレクトリ「d」を読み出し、段階1815に
おいて、世代「g」用の世代ページがあるか否かを判定する。ディレクトリ「d
」のための世代ページがない場合、モジュール1318は段階1820において
、世代ページを有し最も緊密な関係にある親世代(「最適一致世代」)の世代ペ
ージをコピーすることにより、ディレクトリ「d」のための世代ページを生成す
る。世代ページを生成又は作成するための世代ページを見つけ出した後に、モジ
ュール1318は段階1825において、名前「n」を有するアイテムに関する
世代ページのコンテンツをスキャンし、段階1835において、アイテム「n」
が世代「g」中のディレクトリ「d」に存在するか否かを判定する。「n」と名
付けられたアイテムが世代「g」のディレクトリ「d」に見つからない場合、モ
ジュール1318は段階1840において、コンテンツ「f」が世代「g」中の
アイテム「n」に関係していることを示すエントリを備えた履歴オブジェクトを
履歴オブジェクト中に作成する。このようなエントリを表すために表記法(f,
g)を使う。続いて、モジュール1318は段階1845において、表記法(n
,h)で表されるエントリを、ファイル「n」が履歴オブジェクト「h」に関係
していることを示す世代ページ「g」へ加える。アイテム「n」をディレクトリ
「d」へ加えるために、アイテム「n」をディレクトリ「d」へ仮想的にコピー
することも物理的にコピーすることもないことに注目されたい。ディレクトリ「
d」は単なる参照アイテム「n」である。
【0060】 アイテム「n」がディレクトリへ既に加えられている場合、段階1835での
質問への答はイエスとなるが、アイテム「n」の更新されたバージョンが既存の
バージョン(即ち、新コンテンツがアイテム「n」と現在関係付けられつつある
)に取って代わる。この場合、モジュール1318は段階1850において、フ
ァイル「n」が変更された最も新しい世代のファイル「n」に関係する履歴オブ
ジェクトのコンテンツをスキャンする。次にモジュール1318は段階1855
において、アイテム「n」が世代「g」で変更されたか否かを判定する(即ちモ
ジュール1318は、アイテム「n」がエリア「a」において変更されたか否か
を判定する。何故ならエリア「a」は世代ID「g」を有しているからである)
。アイテム「n」が世代「g」で変更されていない場合、次にモジュール131
8は段階1860において、コンテンツ「f」が世代「g」のファイルに関係し
ていることを示す履歴オブジェクトへエントリを追加する。アイテム「f」は、
アイテム「n」の以前のコンテンツを示すフィールドを有する(即ちアイテム「
f」は、アイテム「n」の以前のコンテンツへのポインタを含んでいる)。モジ
ュール1318は段階1865において、最も良好に一致する世代中の「n」の
コンテンツを示すために、アイテム「f」の以前のフィールドをセットする。
【0061】 段階1855を参照すると、アイテム「n」が世代「g」で変更された場合、
モジュール1318は段階1870において、世代「g」においてアイテム「n
」のコンテンツがアイテム「f」であることを反映するために、世代「g」に関
係する履歴アイテムエントリを変更する。次にモジュール1318は段階187
5において、アイテム「f」の以前のフィールドが世代「g」の「n」の以前の
コンテンツを指すように設定する。
【0062】 リソースを再請求するために、オブジェクトが如何なるエリアからもアクセス
できない場合、当該オブジェクト(例:ディレクトリ、ファイル、履歴オブジェ
クト)は記憶装置から物理的に削除される。エリアへオブジェクトを加えたりエ
リアからオブジェクトを削除したりすることは、オブジェクトの物理的なコピー
が1つだけしばしば記憶されるので、仮想的に行える。従って、オブジェクトの
物理的なコピーを削除すべきか否かを判定するためには、何れかのエリアから当
該オブジェクトへアクセスできるか否かを知ることが必要である。あるエリアか
らオブジェクトへアクセスできる場合、そのオブジェクトは当該エリアにおいて
参照される。任意のエリアからあるオブジェクトへアクセスできるか否かを判定
するには、各オブジェクトのための参照カウントが維持され、参照カウントはオ
ブジェクトへアクセスすることのできるエリアの数を示すことになる。オブジェ
クトの参照カウントがゼロの場合、オブジェクトは削除することができる。
【0063】 参照カウントを計算できるようにするため、各オブジェクトは「参照リスト」
と「反参照リスト」へ関係付けられる。参照リストは、オブジェクトが加えられ
たディレクトリを示し、参照される各ディレクトリにつき、当該オブジェクトが
ディレクトリに加えられた際の世代(即ちエリア)を示す。厳密には、1つのオ
ブジェクトがディレクトリに加えられる都度、1つのエントリが参照リストに加
えられ、当該オブジェクトがディレクトリに加えられた際の世代が示される。 反参照リストは、オブジェクトが取り除かれたディレクトリを示し、参照され
る各ディレクトリにつき、当該オブジェクトが取り除かれた際の世代を示す。厳
密には、1つのオブジェクトがディレクトリから取り出される都度、1つのエン
トリが反参照リストに加えられ、当該オブジェクトがディレクトリから取り除か
れた際のディレクトリと世代を示すことになる。
【0064】 追加直接参照モジュール1322は、エントリを参照リストに加える。図19
は、オブジェクト(例:ファイル又はディレクトリ又は履歴オブジェクト)がエ
リア「a」のあるディレクトリ「d」に加えられる際の追加直接参照モジュール
1322のオペレーションを示す。オブジェクト「c」がディレクトリ「d」に
追加されるとき、「c」に対するdの直接参照が追加される。換言すると、「c
」の参照リストは、「c」がディレクトリ「d」に加えられたことを示す。直接
参照を追加するために、追加直接参照モジュール1322はまず段階1910に
おいて、エリア「a」の世代を得るがこれを便宜上「g」と呼ぶ。次に追加直接
参照モジュール1322は段階1920において、オブジェクト「c」の参照リ
ストに、オブジェクト「c」が世代「g」でディレクトリ「d」へ加えられたこ
とを示すエントリがあるか否かを判定する。便宜上このエントリを表記法(g,
d)で表す。(g,d)がオブジェクト「c」の参照リストになければ、段階1
930において当該エントリが参照リストに加えられる。
【0065】 (g,d)が参照リストに加えられた後、又は(g,d)が既に参照リストに
ある場合、追加直接参照モジュール1322は段階1940において、エントリ
(g,d)が反参照リストにあるか否かを判定する。オブジェクト「c」が以前
に世代「g」でディレクトリ「p」から取り出されていたなら、エントリ(g,
d)は反参照リストにあることになる。エントリ(g,d)がオブジェクト「c
」の反参照リストになければ、直接参照を加える処理は完了である。エントリ(
g,d)が反参照リストにあれば、当該エントリは段階1950において、反参
照リストから外される。更には、世代「g」から直接派生した世代、それをgi と呼ぶことにするがその各世代について、エントリ(gi,d)が段階1960 において、反参照リストに加えられる。この最後の段階を行うのは、派生した世
代はその親世代と同じコンテンツから始まっているからである。従って、オブジ
ェクトが1つの世代でアクセスされ得るなら、子世代の派生後に当オブジェクト
が親ディレクトリに加えられていない限り、又はオブジェクトが子世代から特定
して取り出されてない限り、オブジェクトはその世代から派生した全子世代から
アクセスすることができる。必然的に、あるオブジェクトが既存の子世代を有す
るある世代においてあるディレクトリに追加される場合、オブジェクトは既存の
子世代が派生した時点では親世代の部分ではなかったので、反参照リストは、当
該オブジェクトが既存の子世代からアクセスされようがないことを示すはずであ
る。無論、オブジェクトは、図18a−dに関連して図示され説明された方法を
使って、子世代に加えることもできる。
【0066】 取り除き直接参照モジュール1324は、エントリを反参照リストに加える。
図20は、オブジェクト「c」がエリア「a」のディレクトリ「d」から取り除
かれる場合の取り除き直接参照モジュール1324のオペレーションを示す。取
り除き直接参照モジュール1324は段階2010において、便宜上「g」と呼
ぶ、エリアaの世代IDを確認する。次に取り除き直接参照モジュール1324
は段階2020において、以前にオブジェクト「c」が世代「g」でディレクト
リ「d」へ加えられたことを示すオブジェクトの参照リストにエントリがあるか
否かを判定する。このようなエントリを表記法(g,d)で表す。(g,d)が
参照リストになければ、オブジェクト「c」は世代「g」でのディレクトリ「d
」に対する参照リストを有したことがなかったということで、処理は完了する。
従って、どの参照リストも取り除かれる必要はない。
【0067】 (g,d)が参照リストにあれば、(g,d)は段階2030において、オブ
ジェクト「c」の参照リストから取り除かれる。更に、世代「g」から派生した
世代、それを「gi」と呼ぶことにするがその各世代につき、エントリ(gi,d
)が反参照リストになければ、当該エントリは段階2040において、参照リス
トに加えられる。この段階を行うのは、オブジェクト「c」が既存の子世代から
アクセス可能であったなら、オブジェクト「c」が親世代から取り除かれている
という事実に関わらず、オブジェクト「c」へは既存の子世代からアクセスでき
るということを参照リストが示すからである。
【0068】 段階2040の後、取り除き直接参照モジュール1324は段階2050にお
いて、エントリ(g、d)が反参照リストにあるか否かを判定する。当該エント
リがまだ反参照リストになければ、当該エントリが段階2060において、反参
照リストに加えられる。そうでなければ、直接参照を取り除く処理は完了する。
エントリ(g,d)が反参照リストに既にあるはずがないとしても、エントリが
より早い時期に反参照リストへ間違って加えられた場合に備えて、取り除き直接
参照モジュール1324は、この判定を行う。 参照カウントモジュール1320は、あるアイテムに対する参照の数を計算す
る。計算のため、参照カウントモジュール1320は、2個組のリストを維持す
るが、これは初期には空である。参照カウントモジュール1320は、アイテム
「f」に対して行われた参照の数を表すために、整数nも使用するが、これは最
初ゼロである。
【0069】 図21a−bは、あるアイテム「f」の参照カウントを計算するための参照カ
ウントモジュール1320のオペレーションを示す。参照カウントモジュール1
320は段階2110及び段階2120において、アイテム「f」の参照リスト
及び反参照リストを検索する。参照カウントモジュールは段階2525で、便宜
上「g」と呼ぶ、系図ツリー(本発明の全エリアは系図に編成できるということ
を思い出されたい)のルートノードの世代IDを得る。参照カウントモジュール
1320は段階2130において、世代「g」を有する参照リスト中の全エント
リを見つける。例えば、アイテム「f」が世代「g」においてディレクトリd1 へ加えられた場合、参照リストにはエントリ(g,d1)があるはずで、参照カ ウントモジュール1320はこのエントリを突き止めるであろう。世代「g」を
持つエントリについて、参照カウントモジュール1320は段階2130におい
て、エントリ(アイテム名,+)をリスト「p」に加えるが、この場合の「アイ
テム名」は世代「g」において参照されたアイテムの名前である。「+」はアイ
テムが(反参照リストとは反対の)参照リスト中に参照されたことを意味する。
例えば、エントリ(g,d1)がアイテム「f」の参照リスト中に発見されたな
ら、エントリ(d1,+)がリスト「p」に加えられる。リスト「p」が同じア
イテム名を持つエントリ(例:d1,−)を既に含んでいる場合、参照カウント
モジュールはそのエントリが(アイテム名,+)へ設定されるのを保証する。
【0070】 参照カウントモジュール1320は段階2140において、世代「g」を備え
た反参照リスト中の全エントリを見つけるために、反参照リストの探索もする。
世代「g」の反参照リスト中の各エントリにつき、参照カウントモジュール13
20は段階2140において、エントリ(アイテム名,−)をリスト「p」へ加
えるが、この場合の「−」はアイテムが反参照リスト中で参照されたことを意味
する。リスト「p」が同じアイテム名を持つエントリを既に含んでいる場合、参
照カウントモジュールはそのエントリが(アイテム名,−)へ設定されるのを保
証する。
【0071】 次に参照カウントモジュール1320は段階2050において、「+」を持つ
リスト「p」中の各エントリにつき、n=n+1を設定する。nは初期にはゼロ
に設定されていることを思い出していただきたい。次に参照カウントモジュール
1320は段階2160において、世代「g」が子世代(即ち、世代「g」から
派生した世代)を有しているか否かを判定する。そうでない場合には、参照カウ
ントは段階2170において完了し、nはアイテム「f」への参照の数となる。
世代「g」が子世代を有する場合、各子世代につき、参照カウントモジュール1
320は段階2180において、「g」を子世代の世代IDに等しく設定し、段
階2130へ戻る。
【0072】 図22は、エリア「a」のディレクトリ「d」のコンテンツを読み出すための
読み出しディレクトリモジュール1326のオペレーションを示す。読み出しデ
ィレクトリモジュール1326は段階2210において、エリアaの世代を得る
が、これを「g」と称する。読み出しディレクトリモジュール1326は、ディ
レクトリ全体を構文解析し、世代「g」のための世代ページがあるか否かを段階
2220において判定する。ディレクトリ「d」が既にエリアaで変更されてい
たなら、世代「g」のための世代ページがあることになる。世代「g」のための
世代ページがあるなら、読み出しディレクトリモジュール1326は段階223
0において、世代ページ「g」上のエントリのリストを返却する。そうでないな
らば、ディレクトリは段階2240において、最も関係の深い親世代ページの世
代ページ(最適一致世代ページ)上のエントリのリストを返却する。
【0073】 読み出しディレクトリモジュールのオペレーションの例を図12に示した例を
使って説明する。世代G3を有するエリア中のディレクトリのコンテンツを読み
出すに当たり、読み出しディレクトリモジュール1326は、世代ページG3上
の(複数)エントリのリストを戻すが、本例ではこれはエントリ(m、h0)で
ある。
【0074】 図面12の世代が図10に示す方法で関連付けられていると仮定する。世代G
4中のディレクトリ「d」のコンテンツを読み出すために、読み出しディレクト
リモジュール1326は、G4用の世代ページがあるか否かを判定する。G4用
の世代ページがないことから、読み出しディレクトリモジュール1326は最適
一致世代ページにつき探索する。G1はG4に最も近密な親世代であるが、G1
に当たる世代ページはない。G0が次に近密な親世代であり、G0に当たる世代
ページはあるので、G0世代ページ中のエントリのリストが、G4のディレクト
リのコンテンツとして返却される。
【0075】 図23a−bは、世代ID「g」を有するエリア「a」中のディレクトリ「d
」からアイテム「n」が取り除かれる場合の、取り除きアイテムモジュール13
28のオペレーションを示す。アイテムnは、ファイル又は別のディレクトリの
ようなディレクトリ中の何れのオブジェクトでもよい。アイテムをディレクトリ
「d」から取り除くために、ディレクトリ「d」は段階2310において、図2
2に関連して説明した方法に従って読み出される。取り除きアイテムモジュール
1328は段階2320において、世代「g」用の世代ページがディレクトリ「
d」にあるか否かを判定する。ない場合には、最も近密な親世代(最適一致世代
)から世代ページをコピーすることにより、段階2330おいて世代「g」用の
世代ページが作成される。
【0076】 取り除きアイテムモジュール1328は段階2330において、世代ページ「
g」中にアイテムnに当たるエントリがあるか否かを判定する。ない場合、取り
除きアイテムモジュール1328は段階2330において、アイテムnが世代「
g」のディレクトリ「d」にないので従って世代「g」でディレクトリから取り
除くことが不可能であるという理由で、エラーが起きたことを示す。
【0077】 段階2330に戻ると、世代ページgにアイテムnに当たるエントリがあるな
ら、取り除きアイテムモジュール1328は段階2350において、nに対応す
る履歴オブジェクトを取得する。取り除きアイテムモジュール1328は段階2
355において、アイテムnが世代「g」中に変更されたことを履歴オブジェク
トが示しているか否かを判定する。換言すると、取り除きアイテムモジュール1
328は、履歴オブジェクトが、世代が「g」のエントリを含んでいるか否かを
判定する。
【0078】 アイテムnが世代「g」で変わっていなければ、取り除きアイテムモジュール
1328は段階2370において、アイテムnが世代「g」でディレクトリ「d
」から取り除かれたことを示すエントリを履歴オブジェクトへ加える。アイテム
nは本処理では仮想的に削除されるので、このエントリを追加することにより、
アイテムnをディレクトリ「d」から世代「g」で有効に削除することになる。
このエントリは表記法(g,z)により表され、この場合「z」はアイテムが取
り除かれてしまったことを示すオブジェクトを表す。zオブジェクトがアイテム
nのために作成されてなかったならば、取り除きアイテムモジュール1328は
zオブジェクトを作成する。
【0079】 段階2355に関して、アイテムnが世代「g」で変更されていたなら、取り
除きアイテムモジュール1328は段階2360において、nがディレクトリ「
d」から世代「g」で取り除かれたことを示すために、世代「g」に対応する履
歴オブジェクト中のエントリを変更する(即ち、エントリは(g,z)となる)
。取り除きアイテムモジュール1328は、まだオブジェクトが存在していなけ
れば、アイテムnのための「z」を作成する。
【0080】 図12に示されたファイルコンテンツ1235のように、zオブジェクトはあ
るアイテムの以前のコンテンツを示すフィールドも有している。このフィールド
は「以前のフィールド」と称される。段階2360又は段階2370の後で、z
オブジェクトの以前のフィールドは段階2380において、以前のコンテンツn
を指すように世代「g」において設定される。
【0081】 図24a−bは、世代ID「g」を有するワークエリア「a」のディレクトリ
「d」中にファイル「n」を編集するための編集ファイルモジュール1320の
オペレーションを示す。編集ファイルモジュール1320は段階2405におい
て、ファイル「n」に対する書き込みコマンドを受信する。編集ファイルモジュ
ール1320は段階2410において、次にファイルnについての履歴オブジェ
クトを取得し、ファイルnが世代「g」で変更されたか否か(即ち、世代が「g
」のエントリがあるか否か)を段階2420において判定する。そうであるなら
、編集ファイルモジュール1320は段階2430において、世代「g」でファ
イルnに関係付けられたコンテンツへファイル「n」に対する変更を全て書き込
む。
【0082】 履歴オブジェクトが世代「g」のエントリを持たない場合、編集ファイルモジ
ュール1320は段階2440において、最適一致世代を有するエントリを見つ
ける。編集ファイルモジュール1320は次に段階2450において、f1と呼
ばれる、段階2440でエントリに関係付けられたファイルをコピーし、ファイ
ルf1の新コピーに全変更を段階2460において書き込むが、この書き込まれ
たファイルをf2と呼ぶ。世代「g」においてファイルnのコンテンツがファイ
ルf2のコンテンツであることを示すエントリが段階2470において、履歴オ
ブジェクトに加えられる。換言すれば、編集ファイルモジュール1320は表記
法(g、f2)により表されるエントリを履歴オブジェクトへ加えるのである。
【0083】 図25は、ファイル又はディレクトリである、エリアaのディレクトリd1中
のアイテムn1を、エリアaのディレクトリd2中のアイテムn2に再命名する
ための再命名モジュール1332のオペレーションを示す。再命名モジュール1
332は段階2510において、ディレクトリd1のアイテムn1の履歴オブジ
ェクトを取得するが、この履歴オブジェクトはh1と呼ばれる。このような履歴
オブジェクトが存在しない場合は、再命名モジュール1332はユーザにエラー
が発生したと報告する点に留意されたい。履歴オブジェクトを取得後、再命名オ
ブジェクト1332は段階2520において、名前n2を有するアイテムがディ
レクトリd2に存在するか否か判定する。存在するならば、再命名モジュールは
段階2523において、アイテムn2に対する上書き防止があるか否かを判定す
る。1実施例では、ディレクトリに対する上書き防止はあるがファイルに対して
はない。上書き防止が存在する場合、再命名モジュール1332は段階2527
において、アイテムn2がディレクトリd2に既に存在することを報告する。上
書き防止がない場合、再命名モジュール1332は段階2830において、既存
のアイテムn2を図23a−dに関連して図示及び説明した方法に則りディレク
トリd2から取り除く。
【0084】 既存のアイテムn2がディレクトリd2から一旦取り除かれてしまった場合、
又はアイテムn2がディレクトリd2には存在しなかった場合、再命名モジュー
ル1332は段階2540において、名前n2を持つ新アイテムをディレクトリ
d2に加える。再命名モジュール1332は、履歴オブジェクトh1をディレク
トリd2のアイテムn2に関係付ける。アイテムn2のコンテンツの「以前のフ
ィールド」において、再命名モジュール1332は、n1がn2という「先祖か
らの再命名」(以下に定義する)であることを示す。再命名処理は、d1=d2
なら同じであることに留意されたい。
【0085】 図26a−bは、エリアaのディレクトリ「d」につきフルネーム経路を生成
するための生成ディレクトリ経路モジュール1334のオペレーションを示す。
生成ディレクトリ経路モジュール1334は、エリアaのディレクトリ「d」を
読み出し、ディレクトリ「d」に対する親ディレクトリを識別するが、これをP d と呼ぶ。本発明の1実施例によれば、親ディレクトリはディレクトリ中のエン トリ「..」と関係付けられる。本実施例では、生成ディレクトリ経路モジュー
ル1334はエントリ「..」に対応するディレクトリを識別する。
【0086】 モジュール1334はエリアa中のディレクトリPdを読み出し、ディレクト リ「d」に対するエントリを見つける。モジュール1334は次にディレクトリ
経路中の名前としてディレクトリ「d」を識別する。
【0087】 このアルゴリズムは、ルートディレクトリに達するまで繰り返される。厳密に
は、ディレクトリ「d」に関連して上述した方法が、ディレクトリPdにつき、 そして次にディレクトリPdの親ディレクトリにつきというように、ルートディ レクトリに到るまで以下同様に繰り返される。発見される名前はディレクトリ経
路中の名前である。名前は、ディレクトリ経路名中に末尾から先頭への順序で見
つけられる。
【0088】 図27は、エリア「a」のディレクトリ「d」中の履歴オブジェクト「h」の
ベースネームを生成するためのベースネーム生成モジュール1335のオペレー
ションを示す。ベースネーム生成モジュール1335は段階2710において、
ディレクトリ「d」のエリアaに対応する世代ページを読み出す。ベースネーム
生成モジュール1335は段階2720において、履歴オブジェクト「h」を持
つエントリを識別する。エントリ中の履歴オブジェクト「h」に対応するアイテ
ムの名前が、捜し求められたベースネームである。例えば、エントリ(n,h)
がエリアaのディレクトリ「d」に発見されたなら、「n」が履歴オブジェクト
のベースネームということになる。
【0089】 図28a−cは、履歴オブジェクト「h」とコンテンツ「f」を有するアイテ
ム「n」を、世代IDgを有するステージエリアのディレクトリ「d」へ提出す
るための提出モジュール1336のオペレーションを示す。提出オペレーション
は、ワークエリアのコンテンツをステージエリアに提出するために使われる。フ
ァイルのコンテンツはその履歴オブジェクトにより定義されるので、ファイルの
履歴オブジェクトはステージエリアに実際に提出されるものである。提出モジュ
ール1336は段階2805において、図26及び図27に関連して図示及び説
明した方法に則り、ディレクトリ「d」の完全経路名とエリアaのベースネーム
履歴オブジェクト「h」を計算することにより、履歴オブジェクト「h」の完全
経路を取得する。提出モジュール1336は段階2810において、同じ完全経
路名を持った対応するアイテムがステージエリアにあるか否かを判定する。これ
は、ステージエリアの別のオブジェクトが履歴オブジェクト「h」と同じ完全経
路名を有するか否かを判定するために、ディレクトリ「d」を(ディレクトリ読
み出しモジュール1326で)繰返し読み出すことにより行なわれる。
【0090】 対応するアイテムがステージエリアにない場合、提出モジュール1336は段
階2830において、段階2805で計算されたディレクトリ経路がステージエ
リアに存在するか否かを確かめる。存在しなかった場合、ディレクトリ経路が段
階2835において作成され、ファイル「f」は段階2840において、凍結し
た印を付けられる。段階2830又は段階2840の後、提出モジュール133
6は段階2845において、追加アイテムモジュール1318を呼び出し、コン
テンツ「f」を持つアイテムnをステージエリアaのディレクトリ「d」へ加え
る。提出モジュール1336は段階2840において、エントリ(g,f)を履
歴オブジェクトへ追加する。
【0091】 次に提出モジュール1336は、アイテム「f」がディレクトリであるか否か
を判定する。ディレクトリでなければ提出処理は完了する。アイテム「f」がデ
ィレクトリであるなら、各子ディレクトリdiにつき、提出モジュール1336 はエントリ(g,di)をワークエリアのdiに対応付けられた履歴オブジェクト
へ加える。この段階により、ディレクトリがステージエリアに提出される時に、
その子ディレクトリも確実に提出されることになる。
【0092】 段階2810に戻ると、ステージエリアに対応するアイテムがあるなら、提出
モジュール1336は段階2815において、矛盾照合モジュール1338(以
下に説明)を呼び出し、「hs」と呼ぶ対応する履歴オブジェクトと履歴オブジ ェクト「h」の間に矛盾があるか否か判定する。履歴オブジェクト「h」と「h s 」は、a)「h」と「hs」が同じ、又はb)「h」が「hs」から派生、或い はc)「hs」が「h」から派生、の場合には矛盾していない。「h」及び対応 する履歴オブジェクト「hs」の間に矛盾がなければ、提出モジュール1336 は段階2840に進む。そうでなければ、提出モジュール1336は段階282
0において、既存ファイルが上書きされるようにする上書きモードが有効か否か
を判定する。有効ならば、提出モジュール1336は段階2840に進む。そう
でなければ、矛盾があるために提出は無効になる。
【0093】 図29は、ブランチ「b」のエリアatargetの矛盾につき、ファイルftarget をファイルfreferenceに対して照合する場合の、矛盾照合モジュール1338 のオペレーションを示す。矛盾照合モジュール1338は段階2910において
、ftargetがブランチ「b」にロックされているか否かを判定する。ブランチ上
のたった1個のワークエリアしかファイルをステージエリアに提出できない場合
は、そのファイルはブランチにロックされる。ファイルをロックすることは、矛
盾を避ける手段を提供することになる。ftargetがブランチ「b」にロックされ
るなら、矛盾照合モジュール1338は段階2920において、ftargetについ
てのロックがatargetとは違うエリアにより所有されているか否かを判定する。
所有されている場合は、矛盾が存在し、ftargetはエリアatargetに提出される
ことはありえない。
【0094】 ftargetがブランチ「b」にロックされていない場合、若しくはftargetのロ
ックがatargetに所有されている場合には、矛盾照合モジュールは段階2930
において、ftargetとfreferenceが同じコンテンツを指しているか(即ち、ft arget とfreferenceが同じか)否かを確かめる。それらが同じコンテンツを指し
ている場合は、矛盾照合モジュール1338は矛盾がないことを発見する。2個
のファイルが同じコンテンツを有してない場合は、矛盾照合モジュール1338
は段階2940において、freferenceがftargetの先祖(即ち、以下に定義す るように、同一名の先祖、先祖からのコピー、又は先祖からの再命名)であるか
否かを判定する。freferenceが先祖であるなら、ftargetはfreferenceの望ま
しい修正である可能性が高いので、矛盾はない。そうでないなら、矛盾が存在す
る。
【0095】 図30a−bは、エリアatargetのディレクトリdtargetを、エリアarefere nce のディレクトリdreferenceと比較するための比較ディレクトリモジュール1
340のオペレーションを示す。比較するために、比較ディレクトリモジュール
1340は段階3005において、図22に関連して図示及び説明した方法に則
り、エリアatargetのディレクトリdtargetのコンテンツを読み出す。矛盾照合
モジュールも段階3010において、図22に関連して図示及び説明された方法
に則り、エリアareferenceのディレクトリdreferenceのコンテンツを読み出す
【0096】 比較ディレクトリモジュール1340は段階3015において、ディレクトリ
targetの最初のアイテムを識別し、ディレクトリdtargetの最初のアイテムと
同じ名前のアイテムがディレクトリdreference中にあるか否かを段階3020 において判定する。ない場合には、比較ディレクトリモジュール1340は、d target 中に識別されるアイテムに一致するアイテムがdreferenceにはないこと を段階3045において報告し、段階3050に進む。そうでない場合には、比
較ディレクトリモジュール1340は段階3025において、同一名を有する2
個のアイテムが同じコンテンツを有するか否かを判定する。このような比較は、
各アイテムの履歴オブジェクトを参照することにより行なわれ、エリアarefere nce のディレクトリdreferenceの履歴オブジェクトが、エリアatargetのディレ
クトリdtargetの履歴オブジェクトと同じコンテンツを指しているなら、双方の
ディレクトリのコンテンツは同じである。コンテンツが同じであるなら、比較デ
ィレクトリモジュール1340は段階3030において、アイテムが同じ名前と
コンテンツを有することを報告し、比較ディレクトリモジュール1340は段階
3050に進む。双方のコンテンツが同じでないなら、比較ディレクトリモジュ
ール1340は段階3035において、名前は同じであるがコンテンツは違うこ
とを報告し、比較ディレクトリモジュール1340は段階3050へ進む。
【0097】 段階3050では、比較ディレクトリモジュール1340は段階3050にお
いて、dtarget中に別のアイテムがあるか否かを確かめる。dtarget中に別のア
イテムがあれば、比較ディレクトリモジュール1340は段階3053において
、次のアイテムを識別し、段階3020へ戻る。dtarget中に別のアイテムがな
ければ、比較ディレクトリモジュール1340は段階3055において、drefe rence 中の最初のアイテムを識別する。比較ディレクトリモジュール1340は 段階3060において、識別されたアイテムがdtargetのアイテムと同じ名前を
有するか否かを判定する。同じ名前を有していない場合は、比較ディレクトリモ
ジュール1340は段階3065において、dtarget中に識別されたアイテムが
reference中の何れのアイテムにも一致しないことを報告し、段階3067に 進む。識別されたアイテムがdtarget中のアイテムと同じ名前を有するなら、識
別されたアイテムは段階3020で既に発見されていることになり、従って比較
ディレクトリモジュール1340は段階3067に進む。
【0098】 段階3067では、比較ディレクトリモジュール1340は、ディレクトリd reference に別のアイテムがあるか否かを判定する。dreferenceにこれ以上他の
アイテムがないことに応じて、dtargetとdreferenceの比較に関する処理は完 了する。そうでないなら、比較モジュール1340は段階3070において、d reference の次のアイテムを取得し、段階3060に戻る。
【0099】 比較ファイルモジュール1341は、(ディレクトリを比較する比較ディレク
トリモジュール1340とは反対に)ファイルを比較する。ファイルは、それら
がステージエリアに提出される際に比較される。更には、ウェブサイト開発者は
ファイルをそれぞれ個別のワークエリアで比較することを望むかもしれない。
【0100】 ファイルの比較には、ファイルの先祖を調べることも含まれる。ファイルが有
する可能性のある先祖の3つの型は、同一名先祖、先祖からのコピー、及び先祖
からの再命名である。
【0101】 同一名先祖は、「f」と呼ぶ、あるファイルの前のバージョンであって、ファ
イル「f」と同じ名前(即ち「f」)を有するが、その場合同一名先祖はファイ
ル「f」と同じエリアへ以前に提出されている。ファイルの「以前のフィールド
」(例:図12のフィールド1240)は当該ファイルの同一名先祖を指す。
【0102】 ファイルの先祖からのコピーは、「f」と呼ばれるが、そのコンテンツがコピ
ーされてファイル「f」になったファイルである。ファイルに関してのコピー作
成オペレーション又は先祖戻りオペレーションは、先祖からのコピーでワークエ
リアにファイルを作り出すことになる。オペレーションにより既存ファイルに上
書きが行われるならこれが起きる。例えば、ファイルe2をステージエリアにあ
るファイルとしよう。ファイルuは、ワークエリアにあってファイルe2と矛盾
しているものとする。ファイルuのコンテンツをファイルe2のコンテンツのコ
ピーに置き換えることによりファイルuが更新される場合、古いファイルuは更
新されたファイルuの同一名先祖であり、ファイルe2は更新されたファイルu
の先祖からのコピーである。ファイルe2は、別のエリア又は別のブランチから
のファイルであることもある。ファイルe2は、ファイルuのバージョン履歴中
のファイル、又は別のブランチ上の別のファイルのバージョン履歴中のファイル
であることがあり得る。あるファイルが先祖からのコピーを有するなら、当該フ
ァイルの「以前のフィールド」(例:図12のフィールド1240)は、同一名
先祖を指すと同時に先祖からのコピーも指す。
【0103】 先祖からの再命名というファイル、これを「f」と呼ぶが、このファイルはそ
れよりファイル「f」が再命名される命名元のファイルである。ファイルが先祖
からの再命名を有する場合は、当該ファイルの「以前のフィールド」は同一名先
祖を指すと同時に先祖からの再命名も指す。
【0104】 図31a−bは、ディレクトリdtargetのファイルFtargetをディレクトリd reference のファイルFreferenceと比較する場合の比較ファイルモジュール13
41のオペレーションを示す。比較ファイルモジュール1341は段階3110
において、ディレクトリdtargetのファイルFtargetのコンテンツを保有してい
る、ftと呼ばれるファイルをルックアップする。Ftargetとftとの違いは、F target がディレクトリ中のファイルの名前であるのに対し、ftはディレクトリ dtargetのファイルFtargetの実際のコンテンツであるという点に留意されたい
。Ftargetとftとの違いは、図12に示すディレクトリ中の「m」と名付けら れたファイルと世代G0のファイル「m」のコンテンツ「A」との違いに似てい
る。
【0105】 比較ファイルモジュール1341は段階3120において、frと呼ばれる、 ディレクトリdreferenceのファイルFreferenceのコンテンツを保有するファイ
ルをルックアップする。比較モジュールは次に段階3130において、frとft が同一であるか否かを判定する。同一であるなら、比較ファイルモジュール13
41は段階3140において、FreferenceとFtargetが同一であると報告する 。
【0106】 frとftが同一でないなら、比較ファイルモジュール1341は段階3145
において、FreferenceがFtargetの先祖であるか否かを判定する。各ファイル のコンテンツは、ファイル(例:以前のコンテンツ)の同一名先祖を指す(「以
前のフィールド」の)ポインタを含んでいること、及び、当該ファイルが先祖か
らのコピー又は先祖からの再命名を有する場合、各ファイルのコンテンツはこの
ような先祖を指すポインタを含んでいることに留意されたい。比較モジュールは
t並びにその先祖の「以前のフィールド」をずっと横断して戻りながらfrを探
索する。frが横断された「以前のフィールド」の1つに現れると、Freference はFtargetの先祖ということであり、比較ファイルモジュール1341は段階3
050において、FtargetがFreferenceの変更型であることを報告する。
【0107】 FreferenceがFtargetの先祖でない場合は、比較ファイルモジュール134 1は段階3155において、FtargetがFreferenceの先祖であるか否かを判定 する。厳密には、比較モジュールはfr並びにその先祖の「以前のフィールド」 をずっと横断して戻りながらftを探索する。ftが横断された「以前のフィール
ド」の1つに現れると、比較ファイルモジュール1341は段階3160におい
て、FtargetがFreferenceの変更型あることを報告する。そうでなければ、比 較ファイルモジュール1341は段階3165において、FtargetとFreferenc e の両方の先祖であるファイルがあるか否かを判定する。共通ファイルがある場 合には、比較ファイルモジュール1341は段階3170において、Freferenc e とFtargetが共通の先祖を有すると報告し、共通ファイルが存在しない場合に は、モジュールは、FtargetはFreferenceと無関係である旨を報告する。
【0108】 エリア削除モジュール1342は、ユーザ又はシステム管理者がもはや必要と
しないエリアを削除する。図32は、エリア「a」を削除する場合のエリア削除
モジュール1342のオペレーションを示す。エリア削除モジュールは段階32
10において、エリアaのディレクトリツリーを検索して、子供を持たないノー
ド(例:ディレクトリ)を段階3230において見つけるが、便宜上このノード
を「cノード」と呼ぶ。エリア削除モジュール1342は、cノードをその(複
数)親ディレクトリから取り除くために、取り除きアイテムモジュール1328
を呼び出す。エリア削除モジュール1342は又、親ディレクトリに対する参照
をcノードの参照リストから段階3240において取り除くために、取り除き直
接参照モジュール1324も呼び出す。次にエリア削除モジュール1342は参
照カウントモジュール1320を呼び出し、参照カウントがゼロであるか否かを
段階3260において判定し、それがゼロである場合、cノードに対応付けられ
た物理オブジェクトが記憶装置から段階3270において削除される。そうでな
い場合には、cノードがエリアaからは取り除かれていても、依然として他のエ
リアに存在することから、cノードに関係付けられた物理オブジェクトは記憶装
置から削除されない。参照カウントを判定後、エリア削除モジュール1342は
段階3280において、当該エリアにノードが残っているか否かを判定する。残
っている場合にはモジュール1342は段階3230に戻る。そうでなければ、
エリア削除処理は完了する。
【0109】 図33a−bと図34はロックモジュール1346のオペレーションを示す。
図33a−bは、ブランチ「b」に沿ってエリアaのディレクトリ「d」中のア
イテム「f」にロックを作成するためのロックモジュール1346のオペレーシ
ョンを示す。このようなロックを創造するために、ロックモジュール1346は
段階3310において、エリアaのディレクトリ「d」中のアイテム「f」の完
全経路名を確定し、次に段階3320において、他のロックが同一の完全経路名
を持っているか否かを確かめる。持っているなら、ロックモジュール1346は
段階3250において、矛盾しているロックのせいでロック作成オペレーション
が無効となった旨を報告する。他の如何なるロックも同一完全経路名を有してい
なければ、ロックモジュール1346は段階3230において、段階3310で
識別された完全経路名を含むロックを作成し、段階3240において、そのロッ
クにロックの所有者としてのエリアaの印を付ける。
【0110】 図34は、エリアaのディレクトリ「d」中のアイテムがロックされているか
否かを判定するためのロックモジュール1346のオペレーションを示す。ロッ
クモジュール1346は段階3410において、エリアaのディレクトリ「d」
中のアイテム「f」の完全経路名を確認し、次に同一完全経路名を有するロック
がブランチ「b」にあるか否かを段階3420において判定する。なければ、ロ
ックモジュールは段階3430において、アイテム「f」がロックされていない
旨を報告する。そうでなければ、ロックモジュールは段階3440において、ア
イテム「f」がロックされていると報告する。
【0111】 ウェブサイト開発ソフトウェアについて述べたが、これよりHTTPプロトコ
ルバーチャライゼーションモジュール137(「バーチャライゼーションモジュ
ール137」)について1つの実施例により説明する。
【0112】 各エリアは、HTTPプロトコルレベルでは完全なウェブサイトと見える。各
エリア用に別個のウェブサーバを持つことなくこれを実現するために、バーチャ
ライゼーションモジュール137は単一ウェブサーバを複数のウェブサーバに見
えるようにすることができる。これにより、開発費用及び保守費用を大幅に削減
できると同時に、各エリアはHTTPプロトコルレベルで完全なウェブサイトに
なることができる。
【0113】 図35は、開発ワークステーション上のウェブブラウザ110と、バーチャラ
イゼーションモジュール137と、ウェブサーバ145の間の通信経路を示す。
開発ワークステーション上のウェブブラウザ110は、ウェブサイトコンテンツ
用の(以下に述べるようにリンクの型により異なるが)全て又は選択されたHT
TPリクエストをバーチャライゼーションモジュール137へ経路付けするため
に方向決めされる。必要な場合には、バーチャライゼーションモジュール137
は、リクエストのディレクトリ経路を変更するので、ディレクトリ経路はリクエ
ストが生じた元のエリア(このエリアを「ビューイング域」と呼ぶ)又は別の希
望場所(以下に説明)に対応するようになる。換言すると、バーチャライゼーシ
ョンモジュール137へ送信されたHTTPリクエストは、必要ならば、ビュー
イングエリア又は他の希望場所に対応するファイルシステムに方向を再方向付け
されるということである。
【0114】 HTTPリクエストを処理した後、バーチャライゼーションモジュール137
はHTTPリクエストをウェブサーバ145に転送すると、ウェブサーバ145
は当該リクエストにより規定された場所から要求された文書を検索する。ウェブ
サーバ145が要求された文書(又はそれが発見されない場合はエラー信号)を
バーチャライゼーションモジュール137に送り返すと、モジュール137はこ
の要求された文書(又はエラー信号)をウェブブラウザに転送して戻す。
【0115】 バーチャライゼーションモジュール137は、HTTPリクエストを変更する
のか否か及びどのように変更するのかを確定するためにマッピング規則を使用す
る。マッピング規則は1つの表現を別の表現へマップする。マッピング規則は等
号により分解され2つの側に分けられる。マッピング規則の左側は、正規表現で
あり、これは一致されるべき可変パターンの部分を定義する。マッピング規則の
正規表現は、数学及びコンピュータ科学の分野における正規表現のしかるべく定
義された規則に従っており、1実施例では、マッピング規則に使われる正規表現
は、UNIXオペレーティングシステム(例:regex(5)拡張正規表現)
で正規表現に適用されているのと同じ様式で適用されている。
【0116】 マッピング規則の右側は置換表現(即ち、左側の正規表現に代わる表現)であ
る。置換表現では、Nが“1”、“2”、・・・、“9”である場合に符号$N
は、正規表現括弧演算子()により表現される左側のパターンの最初の10個の
部分を表す(即ち$1は左側の1番目のパターンを表し、$2は左側の2番目の
パターンを表すという具合である)。
【0117】 HTTPリクエストは、以下の順序で3個の部分に分割される。 エリア接頭語/文書ルート接頭語/要求されたファイルの名前 モジュール137は、リクエストの文書ルート接頭語及びエリア接頭語を変更
することにより、HTTPリクエストの方向を決め直す。文書ルート接頭語は、
「文書ルート」の経路名であり、文書ルートはウェブサーバ用のソースディレク
トリである。文書ルートは、その下でウェブサーバが要求された文書を探すファ
イルシステム中のディレクトリである(但し他に指定がある場合を除く)。文書
ルートは、ウェブサーバがそのルートディレクトリを表記した形として捉えるこ
とができる。
【0118】 あるエリアの最上レベルが必ず文書ルートであるとは限らない。開発者は、あ
るエリアの最上レベルがウェブサーバの文書ルートに対応しないようにエリアを
設定してもよい。ウェブサーバ用の実際の文書ルートは、最上域ディレクトリの
下にディレクトリを幾つ存在させてもよい。 あるエリアについての文書ルートは特別なマッピング規則により規定される。
1実施例では、各ブランチはマッピング規則のセットを有しており、本実施例で
は、特定のブランチに沿う各エリアは、特別な“_docroot”マッピング規則によ
り規定された同一文書ルートを有する。
【0119】 特定ブランチの文書ルート用のマッピング規則の1例は以下の通り示される。 _docroot/directoryA/directoryB 元のURLリクエストがGET/document/index.htmlである場合、文書ルート接 頭語は、元のリクエストの1番目の“/”の直前に付け加えられる。換言すると 、接頭語“/directoryA/directoryB”が“/document/index.html”の前に付け加
えられる。
【0120】 文書ルート接頭語の代わりに別の接頭語を使うことが望ましい状況もある。こ
のような状況には、開発者が文書ルートディレクトリの外側にコンテンツディレ
クトリを構成する場合、コンテンツディレクトリの名前を別の名前で呼ぶ場合、
又はエリアレベルで任意変換を用いる場合が含まれる。このような特別の状況に
合わせたマッピング規則があり、リクエストがこれらの特定マッピング規則の1
つに一致する場合、マッピング規則の置換表現(右側)は、文書ルート接頭語で
はなくリクエストに付け加えられる接頭語である。例えば、以下の表現が特定の
ブランチについてのマッピング規則であると仮定しよう。 /Special(.*)=/Foo$1
【0121】 元のリクエストがGET/special/index/htmlである場合、“/Foo"が“/index.ht
ml"に付け加えられる。
【0122】 エリア接頭語は、文書ルート接頭語の前、又は適用可能な場合は文書ルート接
頭語に代わる特別接頭語の前に付け加えられる。エリア接頭語は、元のリクエス
トと共に送信された「クッキー」をデコードすることにより派生される。クッキ
ーはウェブブラウザにより記憶されている永続的な少量のデータであって、バー
チャライゼーションモジュール137へ送信される。クッキーは様々なタイプの
情報(ユーザのアイデンティティ、ユーザセッションのアイデンティティ(「セ
ッションID」)、ポート番号など)を含むことができるが、そのような情報の
1つにビューイング域の経路の標示がある。1実施例では、クッキーは実際のエ
リア接頭語を含んでいる。別の実施例では、バーチャライゼーションモジュール
は、セッションID又はポート番号のような別タイプの情報をクッキーから抽出
し、抽出された情報の型をエリア接頭語へマップする外部ルックアップ表中のエ
リア接頭語をルックアップする。
【0123】 文書ルート接頭語例を継続するため、元のリクエストと共に送られたクッキー
から派生したエリア接頭語が“/iw-mount/default/main/workarea/joe"であるな
ら、変換されたリクエストは以下の通りになろう。 GET/iw-mount/default/main/workarea/joe/directoryA/directoryB/ docume
nts/index.html.
【0124】 ウェブブラウザが全HTTPリクエストをバーチャライゼーションモジュール
137に経路付けするか、又はその内の幾つかだけを経路付けするかは、システ
ム中のHTML文書内に保有されているリンクのタイプに左右される。HTML
文書内に保有されているリンクには少なくとも3つのタイプ、即ち相対リンク、
絶対リンク、及び完全修飾リンクがある。完全修飾リンクは、明示プロトコル仕
様と明示ホスト名とを含むリンクで、明示ホスト名の後には文書への完全経路名
が続く。絶対リンクは、プロトコル仕様もホスト名も持たないが、文書への完全
経路名を含むリンクである。絶対リンクは通常、初期スラッシュ記号(“/”)
で始まる。相対リンクは、絶対リンクに似ているが、代わりに先頭スラッシュ記
号(“/”)により特徴付けられ、これは経路が現在の文書リンクに関係するこ
とを示す。換言すると、相対リンクは、要求された文書の実際の名前以外は、現
在の文書の同一完全経路名を有する。
【0125】 バーチャライゼーションモジュール137は、3つのタイプのリンク全てを処
理できる。システム100内に記憶されたHTMLコンテンツが完全修飾リンク
のバーチャライゼーションを要求する場合、ウェブブラウザは全リクエストをバ
ーチャライゼーションモジュール137に送信するように構成される。多くの共
通ウェブブラウザは構成設定を使ってこの特性をサポートする。1実施例によれ
ば、ウェブサイトが完全修飾リンクの管理を必要としない場合、ウェブブラウザ
は絶対及び相対HTMLリンクだけをバーチャライゼーションモジュール137
に送る。ウェブサーバは通常、絶対及び相対リンクがバーチャライゼーションモ
ジュール137に自動的に送られるようにするのに特別な構成を全く必要としな
い。
【0126】 図36a−bは、絶対及び相対リクエストを取り扱うためのバーチャライゼー
ションモジュール137のオペレーションを示す。バーチャライゼーションモジ
ュール137は段階3610において、開発ワークステーションの1つにあるウ
ェブブラウザからHTTPリクエストを受信し、段階3620において当該リク
エストからユニフォームリソースロケータ(URL)アドレスを抽出する。バー
チャライゼーションモジュール137は段階3630において、URLアドレス
と共に送信されているクッキーも抽出する。
【0127】 バーチャライゼーションモジュール137は段階3640において、リクエス
トが絶対リクエストか相対リクエストなのかを判定する。あるリクエスト実施例
で、これらのリクエストは、相対HTMLリクエストなら、バーチャライゼーシ
ョンモジュール137により処理される(これはウェブブラウザにより自動的に
行なわれる)以前にエリア接頭語が既にリクエストに付け加えられている事実に
より、絶対リクエストなら、バーチャライゼーションモジュール137により処
理される以前にエリア接頭語が付け加えられていないという事実により、区別さ
れる。リクエストが相対リクエストの場合、当該リクエストは正しいファイルシ
ステムとディレクトリ(即ち、ビューイング文書へアクセスするためファイルシ
ステムとディレクトリ)へ方向決めされており、バーチャライゼーションモジュ
ール137は段階3690においてリクエストをウェブサーバに送る。 リクエストが絶対リクエストである場合、バーチャライゼーションモジュール
137は段階3650において、ビューイング域が沿って存在するブランチに対
応しているマッピング規則を探索し、段階3660において適切な接頭語((先
に説明したように)マッピング規則に基づく文書ルート接頭語又は特別接頭語の
何れか)を選択する。バーチャライゼーションモジュール137は段階3670
において、選択された接頭語を元のリクエスト又はその一部へ適切なマッピング
規則に則り付け加える。
【0128】 バーチャライゼーションモジュール137は段階3680において、エリア接
頭語をクッキーから(上述のように)抽出又は派生し、それを付け加えられた接
頭語の前へ段階3670において付ける。リクエストの経路又はその一部はここ
で完成するので、モジュール137は修正されたリクエストをウェブサーバ14
5へ経路決めする。
【0129】 図37は完全修飾リンクを処理するためのバーチャライゼーションモジュール
137の方法を示す。バーチャライゼーションモジュール137は段階3710
において、HTTPリクエストを開発ワークステーション110の1つにあるウ
ェブブラウザ110から受信し、段階3720においてURLとクッキーを当該
リクエストから抽出する。
【0130】 次にバーチャライゼーションモジュール137は段階3730において、マッ
ピング規則を介して完全修飾リクエストを探索し、当該リクエストがマッピング
規則の正規表現と一致するかどうかを判定する。一致しない場合、リクエストは
段階3780においてしかるべくウェブサーバに転送される。一致する場合、バ
ーチャライゼーションモジュール137は段階3750において、マッピング規
則に従って得た接頭語を当該リクエスト又はその一部へマッピング規則に則り付
け加える。
【0131】 バーチャライゼーションモジュール137は段階3760において、エリア接
頭語をクッキーから(上述のように)抽出又は派生させ、それをステップ375
0で付け加えられた接頭語の前へ段階3770において付け加える。リクエスト
の経路はここで完成するので、モジュール137は変更されたリクエストをウェ
ブサーバ145へ段階3780において経路決めする。 バーチャライゼーションモジュール137により、外部ウェブサーバからのコ
ンテンツを動的にスプライシングできる。場合によっては、ウェブサイトはシス
テム100により管理されないコンテンツを含んでいる。これらの場合、バーチ
ャライゼーションモジュール137は、文書が最初に探索された場所(例:ビュ
ーイング域)にないなら、文書リクエストを外部ウェブサーバへ動的に再方向付
けすることができる。文書リクエストが、「404ファイルは発見されず」とい
うHTTPエラーコードと共に戻された場合、バーチャライゼーションモジュー
ル137はマッピング規則を探索し、そして一致するものが見つかったら、マッ
ピング規則に則ってそのリクエストを変更する。変更されたリクエストは次に特
定の外部宛先ウェブサーバに送信される。
【0132】 バーチャライゼーションモジュール137は、異なるブランチからのコンテン
ツも動的にスプライシングできる。ウェブサイトコンテンツは、異なる開発ブラ
ンチへ分離される場合もある。このような例では、バーチャライゼーションモジ
ュール137が「404ファイルは発見されず」というHTTPエラーコードを
受信するなら、バーチャライゼーションモジュール137は、既存の文書ルート
接頭語を別のブランチの文書ルート接頭語に置き換える。変更されたリクエスト
はここでウェブサーバ145に送信される。
【0133】 図38は、動的サイトベース又はブランチベースのスプライシングを実行する
ためのバーチャライゼーションモジュールのオペレーションを示す。バーチャラ
イゼーションモジュール137は、ウェブサーバ145からHTTPリクエスト
の結果を受信する。バーチャライゼーションモジュールは、その結果から、要求
された文書が見つかったかどうかを確定する。見つかった場合、バーチャライゼ
ーションモジュール137は段階3825において、要求された文書を、バーチ
ャライゼーションモジュールへリクエストを送った元のウェブブラウザへ転送す
る。文書が発見されない場合は、バーチャライゼーションモジュール137は段
階3830において、マッピング規則を探索し、ウェブサーバへ送られたHTT
Pリクエスト又はその一部が何れかの規則の左側と一致するかどうかを段階38
40において判定する。一致するなら、リクエストは段階3850においてマッ
ピング規則に従って変更され、段階3860において適切なウェブサーバに転送
される。
【0134】 当業者には理解されるように、本発明は、その精神並びに本質的特性から逸脱
することなく他の具体的な形態に実施することができる。ウェブサイト開発は本
明細書に開示された発明の多くの実用的なアプリケーションの1つにすぎない。
本明細書に開示された発明の別のアプリケーションには、ソースコード、メディ
アファイル(例:CD−ROMマルチメディア)、メディアエンジン等を開発す
ることも含まれる。従って、本発明の開示は、冒頭の請求の範囲に述べられる本
発明の範囲を制限することではなく例示することを意図するものである。
【図面の簡単な説明】
【図1】 本発明の1実施例による、ウェブサイト開発用のコンピュータネットワークを
示す。
【図2】 本発明の1実施例による、ウェブサイトコンテンツを開発するための(開発者
の視点から見た)開発フローを示す。
【図3】 本発明の1実施例によるブランチの例を示す。
【図4】 本発明の1実施例による、メインブランチの初期コンテンツの例を示す。
【図5】 本発明の1実施例による、メインブランチの例を示す。
【図6】 本発明の1実施例による、メインブランチの別の例を示す。
【図7】 本発明の1実施例による、メインブランチとサブブランチの例を示す。
【図8】 本発明の1実施例による、エリアのディレクトリツリーの例を示す。
【図9】 本発明の1実施例による、ワークエリアオブジェクトの図的表示である。
【図10】 本発明の1実施例による、世代IDを派生するための方法を示す。
【図11】 本発明の1実施例による、系図ツリーの例を示す。
【図12】 本発明の1実施例による、ディレクトリの図的表示である。
【図13】 本発明の1実施例による、ウェブサイト開発モジュールを示す。
【図14】 本発明の1実施例による、ワークエリア作成モジュールのオペレーションを示
す。
【図15】 本発明の1実施例による、ステージエリア作成モジュールのオペレーションを
示す。
【図16a】 本発明の1実施例による、エディション作成モジュールのオペレーションを示
す。
【図16b】 本発明の1実施例による、エディション作成モジュールのオペレーションを示
す。
【図17a】 本発明の1実施例によるブランチ作成モジュールのオペレーションを示す。
【図17b】 本発明の1実施例によるブランチ作成モジュールのオペレーションを示す。
【図17c】 本発明の1実施例によるブランチ作成モジュールのオペレーションを示す。
【図18a】 本発明の1実施例による追加アイテムモジュールのオペレーションを示す。
【図18b】 本発明の1実施例による追加アイテムモジュールのオペレーションを示す。
【図18c】 本発明の1実施例による追加アイテムモジュールのオペレーションを示す。
【図18d】 本発明の1実施例による追加アイテムモジュールのオペレーションを示す。
【図19】 本発明の1実施例による、追加直接リファレンスモジュールのオペレーション
を示す。
【図20】 本発明の1実施例による、取り除き直接リファレンスモジュールのオペレーシ
ョンを示す。
【図21a】 本発明の1実施例による参照カウントモジュールのオペレーションを示す。
【図21b】 本発明の1実施例による参照カウントモジュールのオペレーションを示す。
【図22】 本発明の1実施例による、読み出しディレクトリモジュールのオペレーション
を示す。
【図23a】 本発明の1実施例による、取り除きアイテムモジュールのオペレーションを示
す。
【図23b】 本発明の1実施例による、取り除きアイテムモジュールのオペレーションを示
す。
【図24a】 本発明の1実施例による、エディットファイルモジュールのオペレーションを
示す。
【図24b】 本発明の1実施例による、エディットファイルモジュールのオペレーションを
示す。
【図25】 本発明の1実施例による、再命名モジュールのオペレーションを示す。
【図26a】 本発明の1実施例による、生成ディレクトリ経路モジュールのオペレーション
を示す。
【図26b】 本発明の1実施例による、生成ディレクトリ経路モジュールのオペレーション
を示す。
【図27】 本発明の1実施例による、生成ベースネームモジュールのオペレーションを示
す。
【図28a】 本発明の1実施例による、提出モジュールのオペレーションを示す。
【図28b】 本発明の1実施例による、提出モジュールのオペレーションを示す。
【図28c】 本発明の1実施例による、提出モジュールのオペレーションを示す。
【図29】 本発明の1実施例による、矛盾照合モジュールのオペレーションを示す。
【図30a】 本発明の1実施例による、比較ディレクトリモジュールのオペレーションを示
す。
【図30b】 本発明の1実施例による、比較ディレクトリモジュールのオペレーションを示
す。
【図31a】 本発明の1実施例による比較ファイルモジュールのオペレーションを示す。
【図31b】 本発明の1実施例による比較ファイルモジュールのオペレーションを示す。
【図32】 本発明の1実施例による、エリア削除モジュールのオペレーションを示す。
【図33a】 本発明の1実施例による、ロックモジュールのオペレーションを示す。
【図33b】 本発明の1実施例による、ロックモジュールのオペレーションを示す。
【図34】 本発明の1実施例による、ロックモジュールの別のオペレーションを示す。
【図35】 本発明の1実施例による、ウェブブラウザと、HTTPプロトコルバーチャラ
イゼーションモジュールと、ウェブサーバとの間のコミュニケーションパスを示
す。
【図36a】 本発明の1実施例による、HTTPプロトコルバーチャライゼーションモジュ
ールのオペレーションを示す。
【図36b】 本発明の1実施例による、HTTPプロトコルバーチャライゼーションモジュ
ールのオペレーションを示す。
【図37】 本発明の1実施例による、HTTPプロトコルバーチャライゼーションモジュ
ールの別のオペレーションを示す。
【図38】 本発明の1実施例による、HTTPプロトコルバーチャライゼーションモジュ
ールの更に別のオペレーションを示す。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,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,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IN,IS,JP,KE, KG,KP,KR,KZ,LC,LK,LR,LS,L T,LU,LV,MD,MG,MK,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SL,TJ,TM,TR,TT,U A,UG,UZ,VN,YU,ZW (72)発明者 イェー テランス ティー ダブリュー アメリカ合衆国 カリフォルニア州 95070 サラトガ モード アベニュー 18681 (72)発明者 パーク ブリット エイチ アメリカ合衆国 カリフォルニア州 94043 マウンテン ヴィュー イージー ストリート 280−#505 (72)発明者 バー サンフォード エル アメリカ合衆国 カリフォルニア州 94089 サニーヴェイル モース アベニ ュー 1063−#3−307 (72)発明者 イア ジャック エス アメリカ合衆国 カリフォルニア州 95120 サン ホセ ロイヤル エイコー ン プレイス 6102 (72)発明者 ヘッジ ガジャナーナ アメリカ合衆国 カリフォルニア州 95120 サン ホセ クロスゲーツ レー ン 1325 (72)発明者 コックラン ケヴィン アメリカ合衆国 カリフォルニア州 94306 パロ アルト マッケイ ドライ ヴ 4217 Fターム(参考) 5B009 QB02 SA03 SA14 VC03 5B082 HA05 HA08 【要約の続き】 る。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 選ばれたオブジェクトをワークエリア内で編集する段階と、 前記ワークエリアのコンテンツをステージエリアへ提出する段階と、 前記ワークエリアのコンテンツを前記ステージエリアへ提出された他のコンテ
    ンツと統合する段階と、 前記他のコンテンツが前記ワークエリアのコンテンツと矛盾しているか否かを
    判定する段階と、 前記他のコンテンツが前記ワークエリアのコンテンツと矛盾していない場合に
    は前記ステージエリアのコンテンツをウェブサイトのエディションとする段階と から成ることを特徴とするウェブサイトを開発するための方法。
  2. 【請求項2】 ファイルを管理するためのシステムにおいて、 ワークエリアであって、該ワークエリア内でユーザがファイルを編集できる読
    み出しオペレーション及び書き込みオペレーションを有するファイルシステムで
    ある、ワークエリアと、 読み出しオペレーション及びバージョン化オペレーションを有し且つ前記ワー
    クエリアのコンテンツを受け取るようになっているファイルシステムであるステ
    ージエリアと、 読み出しオペレーションを有し且つ前記ステージエリアのコンテンツを受け取
    るようになっているファイルシステムであるエディションエリアと を備えることを特徴とするシステム。
  3. 【請求項3】 複数のワークエリアを更に備え、前記ステージエリアが、前
    記複数のワークエリアの2つ又はそれ以上のワークエリアのコンテンツの矛盾を
    受け取り且つ照合するようになっていることを特徴とする請求項2に記載のシス
    テム。
  4. 【請求項4】 複数のファイルシステムを有するシステム中で、アイテムが
    含まれる前記ファイルシステムそれぞれの前記アイテムのコンテンツのアイデン
    ティティを維持するための方法において、 履歴オブジェクトを前記アイテムと関係付ける段階と、 前記アイテムが含まれる各ファイルシステムについて、前記ファイルシステム
    中の前記アイテムに関係ある前記コンテンツを示す前記履歴オブジェクト中にエ
    ントリを維持する段階と から成ることを特徴とする方法。
  5. 【請求項5】 新たなコンテンツを前記複数のファイルシステムの内の1つ
    のファイルシステム中のアイテムと関係付ける場合、前記アイテムが新たなコン
    テンツを有することを示すために、前記ファイルシステムに対応する前記履歴オ
    ブジェクト中のエントリを変更する段階と、 前記新たなコンテンツの参照を以前のコンテンツに追加する段階と を更に含むことを特徴とする請求項4に記載の方法。
  6. 【請求項6】 第2のアイテムが、該第2アイテム中のコンテンツが前記ア
    イテムの以前のコンテンツであるか否かを判定することにより、前記(第1)ア
    イテムと矛盾しているか否か判定する段階を更に含むことを特徴とする請求項5
    に記載の方法。
JP2000530856A 1998-02-04 1999-02-04 ウェブサイトを開発するためのシステムと方法 Pending JP2002503000A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7376698P 1998-02-04 1998-02-04
US60/073,766 1998-02-04
US09/244,333 US6505212B2 (en) 1998-02-04 1999-02-03 System and method for website development
US09/244,333 1999-02-03
PCT/US1999/002434 WO1999040509A2 (en) 1998-02-04 1999-02-04 System and method for website development

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008203263A Division JP2009009590A (ja) 1998-02-04 2008-08-06 ウェブサイトのコンテンツの開発システム及び方法

Publications (2)

Publication Number Publication Date
JP2002503000A true JP2002503000A (ja) 2002-01-29
JP2002503000A5 JP2002503000A5 (ja) 2006-03-23

Family

ID=26754864

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000530856A Pending JP2002503000A (ja) 1998-02-04 1999-02-04 ウェブサイトを開発するためのシステムと方法
JP2008203263A Pending JP2009009590A (ja) 1998-02-04 2008-08-06 ウェブサイトのコンテンツの開発システム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008203263A Pending JP2009009590A (ja) 1998-02-04 2008-08-06 ウェブサイトのコンテンツの開発システム及び方法

Country Status (14)

Country Link
US (1) US6505212B2 (ja)
EP (1) EP1053523B1 (ja)
JP (2) JP2002503000A (ja)
KR (1) KR20010040666A (ja)
CN (1) CN1318168A (ja)
AT (1) ATE223590T1 (ja)
AU (1) AU2583799A (ja)
BR (1) BR9908552A (ja)
CA (1) CA2319557A1 (ja)
DE (1) DE69902752T2 (ja)
DK (1) DK1053523T3 (ja)
ES (1) ES2183514T3 (ja)
PT (1) PT1053523E (ja)
WO (1) WO1999040509A2 (ja)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911145A (en) * 1996-07-29 1999-06-08 Rae Technology, Inc. Hierarchical structure editor for web sites
CA2268571C (en) * 1997-02-07 2010-04-06 General Internet, Inc. Collaborative internet data mining system
US7278098B1 (en) * 1997-04-09 2007-10-02 Adobe Systems Incorporated Method and apparatus for implementing web pages having smart tables
CN1176432C (zh) * 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
JP5113967B2 (ja) * 1999-08-05 2013-01-09 オラクル・インターナショナル・コーポレイション インターネットファイルシステム
US7418435B1 (en) * 1999-08-05 2008-08-26 Oracle International Corporation Multi-model access to data
US7886221B1 (en) 1999-11-05 2011-02-08 Decentrix, Inc. Method and apparatus for storing web site data by web site dimensions and generating a web site having complementary elements
US7152207B1 (en) * 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
US6701343B1 (en) * 1999-12-01 2004-03-02 Qwest Communications International, Inc. System and method for automated web site creation and access
US7107526B1 (en) * 2000-01-19 2006-09-12 Xerox Corporation Transparent injection of specific content into web pages viewed while browsing
US20010011275A1 (en) * 2000-01-31 2001-08-02 Benjamin Lin Distributive web page management system
US20010044834A1 (en) * 2000-03-22 2001-11-22 Robert Bradshaw Method and apparatus for automatically deploying data in a computer network
US20020035584A1 (en) * 2000-05-09 2002-03-21 Paul Scheier icFoundation web site development software and icFoundation biztalk server 2000 integration
AU2001274861A1 (en) * 2000-05-17 2001-11-26 Interwoven, Inc. Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in computer network
US7054885B1 (en) * 2000-05-23 2006-05-30 Rockwell Collins, Inc. Method and system for managing the configuration of an evolving engineering design using an object-oriented database
US6873957B1 (en) * 2000-10-27 2005-03-29 Getthere, Inc. System and method for replicating web-sites
WO2002037273A2 (en) * 2000-10-31 2002-05-10 Loudcloud, Inc. Code deployment systems and methods
JP2004533673A (ja) * 2001-03-14 2004-11-04 ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッド ネットワークを介して返品を開始するためのシステムおよび方法
US7200627B2 (en) * 2001-03-21 2007-04-03 Nokia Corporation Method and apparatus for generating a directory structure
US20030033378A1 (en) * 2001-05-18 2003-02-13 Fred Needham Method and apparatus for automatically creating and dynamically managing websites
US7325193B2 (en) * 2001-06-01 2008-01-29 International Business Machines Corporation Automated management of internet and/or web site content
WO2003007181A1 (en) 2001-07-13 2003-01-23 Performance Training Institute System and method for providing website business solutions to clients via the internet
US20030105758A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation System and method for testing and promoting database update code
CA2365372A1 (en) * 2001-12-18 2003-06-18 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for editing a production data store by shadowing content
KR100452470B1 (ko) * 2002-03-04 2004-10-12 쉬프트정보통신 주식회사 인터넷 환경에서의 가우스 시스템 제어방법
CN1307545C (zh) * 2002-12-24 2007-03-28 鸿富锦精密工业(深圳)有限公司 面向对象的商业网站架设系统
US7240077B1 (en) 2002-12-30 2007-07-03 Amazon.Com, Inc. Web site content change management
US20050235256A1 (en) * 2002-12-30 2005-10-20 Mark Freydl Web-site development tool
US9754038B2 (en) 2003-02-05 2017-09-05 Open Text Sa Ulc Individually deployable managed objects and system and method for managing the same
US7421418B2 (en) * 2003-02-19 2008-09-02 Nahava Inc. Method and apparatus for fundamental operations on token sequences: computing similarity, extracting term values, and searching efficiently
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
JP2004280283A (ja) * 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
JP4320195B2 (ja) * 2003-03-19 2009-08-26 株式会社日立製作所 ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法
US7373594B1 (en) 2003-04-30 2008-05-13 Amazon.Com, Inc. Managing the release of electronic content using a template without version logic
US8005925B1 (en) * 2003-10-17 2011-08-23 Adobe Systems Incorporated Live-server content staging
US7328217B2 (en) * 2003-11-26 2008-02-05 Symantec Operating Corporation System and method for detecting and storing file identity change information within a file system
JP4396242B2 (ja) * 2003-11-28 2010-01-13 富士ゼロックス株式会社 文書リンク構造情報作成装置及び方法
US20050149549A1 (en) * 2003-12-31 2005-07-07 Jos Jaspers Content management in web environments
US20050234921A1 (en) * 2004-02-18 2005-10-20 Raymond King System and method for automatic domain-name registration and web publishing
US20050228816A1 (en) * 2004-04-13 2005-10-13 Bea Systems, Inc. System and method for content type versions
US20050251503A1 (en) * 2004-04-13 2005-11-10 Bea Systems, Inc. System and method for content and schema versioning
US20060041558A1 (en) * 2004-04-13 2006-02-23 Mccauley Rodney System and method for content versioning
US20050256859A1 (en) * 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US20060074904A1 (en) * 2004-09-30 2006-04-06 Mungara Ajay M Content delivery rendering engine
US7921076B2 (en) 2004-12-15 2011-04-05 Oracle International Corporation Performing an action in response to a file system event
KR100645965B1 (ko) * 2005-08-29 2006-11-14 삼성전자주식회사 호스트 장치 및 그의 데이터 관리방법
US7627649B2 (en) * 2005-09-09 2009-12-01 At&T Intellectual Property I, L.P. Information submission tool for website development
US7970743B1 (en) 2005-09-15 2011-06-28 Emc Corporation Retention and disposition of stored content associated with multiple stored objects
US8949455B2 (en) 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US7814063B1 (en) 2006-03-07 2010-10-12 Emc Corporation Retention and disposition of components of a complex stored object
US7594082B1 (en) 2006-03-07 2009-09-22 Emc Corporation Resolving retention policy conflicts
US7818300B1 (en) 2006-03-07 2010-10-19 Emc Corporation Consistent retention and disposition of managed content and associated metadata
US7849030B2 (en) 2006-05-31 2010-12-07 Hartford Fire Insurance Company Method and system for classifying documents
US7801862B1 (en) * 2006-09-29 2010-09-21 Emc Corporation Retention of complex objects
US8972939B1 (en) * 2007-04-13 2015-03-03 United Services Automobile Association (Usaa) Systems and methods for processing and producing content for web sites
US7739547B2 (en) * 2007-06-07 2010-06-15 International Business Machines Corporation Failure recovery and error correction techniques for data loading in information warehouses
US8949564B2 (en) 2007-08-06 2015-02-03 Apple Inc. Staging electronic publications
WO2009029356A1 (en) * 2007-08-24 2009-03-05 Ankit Agarwal Verifying data consistency among multiple structured files
US9258385B2 (en) * 2007-09-25 2016-02-09 Infineon Technologies Ag Method for loading a program module into a network device and network with network devices
JP2009187136A (ja) * 2008-02-04 2009-08-20 Fujitsu Ltd 電子ファイル管理装置および電子ファイル管理方法
EP2271984A4 (en) * 2008-04-28 2012-01-18 Salesforce Com Inc OBJECT-BASED SYSTEM FOR CREATING AND MANAGING WEB SITES AND THEIR CONTENT
US9310980B2 (en) 2012-08-21 2016-04-12 Beyondvia Technologies Systems and methods for performance comparisons utilizing an infinite cylinder user interface
US8769423B2 (en) 2008-04-30 2014-07-01 Beyondvia Technologies Content distribution systems and methods using digital images
US8806353B2 (en) * 2008-04-30 2014-08-12 Beyondvia Technologies Mobile electronic communications dialog using sequenced digital images
US10304126B2 (en) 2008-04-30 2019-05-28 Beyondvia Technologies Visual communication systems and methods designing and building entire experiences
US8074176B2 (en) * 2008-04-30 2011-12-06 Beyondvia Technologies, Llc Electronic communications dialog using sequenced digital images stored in an image dictionary
US9305026B2 (en) 2008-04-30 2016-04-05 Beyondvia Technologies Systems and methods for digital images utilizing an infinite cylinder user interface
US20110145728A1 (en) * 2009-12-16 2011-06-16 Monika Bishop Rich content manager (rcm)
US20110202384A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise Rendering Platform
US20120072449A1 (en) * 2010-09-17 2012-03-22 Microsoft Corporation Object instance versioning
US9223892B2 (en) 2010-09-30 2015-12-29 Salesforce.Com, Inc. Device abstraction for page generation
US9560130B2 (en) * 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Presenting availability statuses of synchronized objects
US8935360B2 (en) 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
CN102541868A (zh) * 2010-12-15 2012-07-04 苏州荣盈科技有限公司 一种网站文件管理的操作方法
US8700985B2 (en) * 2011-06-20 2014-04-15 Google Inc. Collecting user feedback about web pages
US9819570B2 (en) * 2013-10-09 2017-11-14 International Business Machines Corporation Dynamic symbolic links for referencing in a file system
US9292482B1 (en) * 2015-04-30 2016-03-22 Workiva Inc. System and method for convergent document collaboration
US10325014B2 (en) 2015-04-30 2019-06-18 Workiva Inc. System and method for convergent document collaboration
JP6604672B2 (ja) * 2017-10-31 2019-11-13 デルタ ピーディーエス カンパニー,リミテッド フォルダ基盤のファイル管理装置
US11755825B2 (en) 2019-09-12 2023-09-12 Workiva Inc. Method, system, and computing device for facilitating private drafting
US11100281B1 (en) 2020-08-17 2021-08-24 Workiva Inc. System and method for maintaining links and revisions
US11443108B2 (en) 2020-08-17 2022-09-13 Workiva Inc. System and method for document management using branching
CN112363990A (zh) * 2020-11-09 2021-02-12 北京磨刀刻石科技有限公司 一种设计文件在线版本管理方法及装置
US11100277B1 (en) 2021-02-15 2021-08-24 Workiva Inc. Systems, methods, and computer-readable media for flow-through formatting for links
US11354362B1 (en) 2021-05-06 2022-06-07 Workiva Inc. System and method for copying linked documents
US11640495B1 (en) 2021-10-15 2023-05-02 Workiva Inc. Systems and methods for translation comments flowback

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540757A (ja) * 1991-01-28 1993-02-19 Fujitsu Ltd 文書処理装置
JPH0561657A (ja) * 1991-09-04 1993-03-12 Pfu Ltd プログラム編集方式
JPH0588867A (ja) * 1991-09-27 1993-04-09 Toshiba Corp ソフトウエア構成管理方式
JPH07182369A (ja) * 1993-12-24 1995-07-21 Matsushita Electric Ind Co Ltd 文書ファイル管理装置及び文書統合装置並びに文書管理システム
JPH08314780A (ja) * 1995-05-23 1996-11-29 Tohoku Nippon Denki Software Kk ファイル管理方式
JPH09138793A (ja) * 1995-11-14 1997-05-27 Matsushita Electric Ind Co Ltd ハイパーテキスト作成装置
JPH09330211A (ja) * 1996-04-12 1997-12-22 Fujitsu Ltd ソフトウェア生産物の構成管理システムおよび分散共有管理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0229232A2 (en) 1985-12-31 1987-07-22 Tektronix, Inc. File management system
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5193180A (en) 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5515491A (en) * 1992-12-31 1996-05-07 International Business Machines Corporation Method and system for managing communications within a collaborative data processing system
US5574898A (en) 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5659747A (en) 1993-04-22 1997-08-19 Microsoft Corporation Multiple level undo/redo mechanism
US5675802A (en) 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US6151609A (en) * 1996-08-16 2000-11-21 Electronic Data Systems Corporation Remote editor system
US6240444B1 (en) * 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6230185B1 (en) * 1997-07-15 2001-05-08 Eroom Technology, Inc. Method and apparatus for facilitating communication between collaborators in a networked environment
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540757A (ja) * 1991-01-28 1993-02-19 Fujitsu Ltd 文書処理装置
JPH0561657A (ja) * 1991-09-04 1993-03-12 Pfu Ltd プログラム編集方式
JPH0588867A (ja) * 1991-09-27 1993-04-09 Toshiba Corp ソフトウエア構成管理方式
JPH07182369A (ja) * 1993-12-24 1995-07-21 Matsushita Electric Ind Co Ltd 文書ファイル管理装置及び文書統合装置並びに文書管理システム
JPH08314780A (ja) * 1995-05-23 1996-11-29 Tohoku Nippon Denki Software Kk ファイル管理方式
JPH09138793A (ja) * 1995-11-14 1997-05-27 Matsushita Electric Ind Co Ltd ハイパーテキスト作成装置
JPH09330211A (ja) * 1996-04-12 1997-12-22 Fujitsu Ltd ソフトウェア生産物の構成管理システムおよび分散共有管理システム

Also Published As

Publication number Publication date
US20020049697A1 (en) 2002-04-25
ATE223590T1 (de) 2002-09-15
EP1053523B1 (en) 2002-09-04
DE69902752D1 (de) 2002-10-10
DK1053523T3 (da) 2003-01-06
DE69902752T2 (de) 2003-06-05
AU2583799A (en) 1999-08-23
US6505212B2 (en) 2003-01-07
KR20010040666A (ko) 2001-05-15
WO1999040509A3 (en) 1999-11-25
CA2319557A1 (en) 1999-08-12
BR9908552A (pt) 2001-10-16
WO1999040509A2 (en) 1999-08-12
CN1318168A (zh) 2001-10-17
JP2009009590A (ja) 2009-01-15
PT1053523E (pt) 2003-01-31
ES2183514T3 (es) 2003-03-16
EP1053523A2 (en) 2000-11-22

Similar Documents

Publication Publication Date Title
JP2002503000A (ja) ウェブサイトを開発するためのシステムと方法
US6792454B2 (en) System and method for website development
US7533136B2 (en) Efficient implementation of multiple work areas in a file system like repository that supports file versioning
US20080005164A1 (en) System and method for website development involving journaling and parent maps replacement
US8103639B1 (en) File system consistency checking in a distributed segmented file system
US8015156B2 (en) Systems and methods for a snapshot of data
US7346627B2 (en) Approaches for migrating portal objects from a source installation to a target installation
US20060106889A1 (en) Method, system, and program for managing revisions to a file
JP2006134214A (ja) ファイルのバージョン管理方法および計算機システム
EP1422901A1 (en) Client driven synchronization of file and folder content in web publishing
JP3450786B2 (ja) 異なるデータファイルを調停する方法
JP2001306372A (ja) 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体
JPH0550774B2 (ja)
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
JP4173189B2 (ja) ファイル管理プログラム
EP1235146A2 (en) System and method for website development
JPH07271569A (ja) プログラム仕様書作成システム
MXPA00007625A (en) System and method for website development
US8452823B2 (en) Method for coordinating relationships between multiple physical entities
Avagyan et al. The CLAS Calibration Database
JP3420255B2 (ja) 分散資源管理制御装置
Hancock Tru64 Unix file system administration handbook
CN101142572A (zh) 涉及日志和父映象替换的网站开发
JP2000250794A (ja) バージョン管理装置、バージョン管理方法およびその方法を実行させるための記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081001