JPS63156256A - データ管理方法 - Google Patents
データ管理方法Info
- Publication number
- JPS63156256A JPS63156256A JP62305530A JP30553087A JPS63156256A JP S63156256 A JPS63156256 A JP S63156256A JP 62305530 A JP62305530 A JP 62305530A JP 30553087 A JP30553087 A JP 30553087A JP S63156256 A JPS63156256 A JP S63156256A
- Authority
- JP
- Japan
- Prior art keywords
- node
- link
- attribute
- nodes
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
- G06F16/94—Hypermedia
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンピユータ化したデータ蓄積及び検索方法
、特に独立のデータ・ファイルをユーザが定義可能な関
係でリンクするデータ管理方法に関する。
、特に独立のデータ・ファイルをユーザが定義可能な関
係でリンクするデータ管理方法に関する。
一般に、大型エンジニアリングプロジェクト等で最も困
難なことの1つは、記録の保持である。
難なことの1つは、記録の保持である。
原子核プラントを設計及び構築する場合、予備調査、図
面、仕様書、手紙、報告書等の膨大な量の文書が生じる
。これら文書は、必要なときに検索できるように論理型
式で蓄積しておかなければならない。これら文書の数が
非常に多くなり、これらを蓄積してしまうと、検索しよ
うとする文書名及びファイルし次参照番号ではなく、文
書の特徴しか判らない場合、その文書を見つけることは
困難な場合が多い。
面、仕様書、手紙、報告書等の膨大な量の文書が生じる
。これら文書は、必要なときに検索できるように論理型
式で蓄積しておかなければならない。これら文書の数が
非常に多くなり、これらを蓄積してしまうと、検索しよ
うとする文書名及びファイルし次参照番号ではなく、文
書の特徴しか判らない場合、その文書を見つけることは
困難な場合が多い。
文書の蓄積及び検索に関連した問題のほかに、あるプロ
ジェクト文書の変更が他のプロジェクト文書に関係する
という「リップル」効果に関連した事項も考慮すべきで
ある。例えば設計図面を変更した場合、その図[1[r
T/c関する仕様の他の図面も変更しなければならない
。非常に複雑なプロジェクトでは、影響を受ける他の文
書を判断するのは容易でない。文書の前のバージョンの
みでなく、文書の変更理由及び変史者の付加的記録等の
文書変更記録を保持することもしばしば重要である。
ジェクト文書の変更が他のプロジェクト文書に関係する
という「リップル」効果に関連した事項も考慮すべきで
ある。例えば設計図面を変更した場合、その図[1[r
T/c関する仕様の他の図面も変更しなければならない
。非常に複雑なプロジェクトでは、影響を受ける他の文
書を判断するのは容易でない。文書の前のバージョンの
みでなく、文書の変更理由及び変史者の付加的記録等の
文書変更記録を保持することもしばしば重要である。
=r y ビュー fi 化したデータ・ペース・シス
テムの利用は周知である。データ・ペース・システムに
よれば、「編集者」、「文書型式」、「要旨」等の文書
の種々のアトリビュート(属性)によって文書を特徴づ
けることができる。例えば、スミスが書いたポンプの仕
様を特徴づけるには、ユーザが文字列「スミス」、「仕
様」及び「ポンプ」を編集者、文書型式及び要旨のアト
リビュートの値として割当てることができる。一般に、
かかるデータ・ペース・システムは、ユーザが選択した
アトリビュート値のリストに一致する割当てアトリビュ
ート僅か、指示する文書を探す検索ルーチンを含んでい
るので、スミスの書いた総てのポンプ仕様の如き1組の
共通のアトリビュートを有する総ての文書をユーザは容
易に探せるようになる。
テムの利用は周知である。データ・ペース・システムに
よれば、「編集者」、「文書型式」、「要旨」等の文書
の種々のアトリビュート(属性)によって文書を特徴づ
けることができる。例えば、スミスが書いたポンプの仕
様を特徴づけるには、ユーザが文字列「スミス」、「仕
様」及び「ポンプ」を編集者、文書型式及び要旨のアト
リビュートの値として割当てることができる。一般に、
かかるデータ・ペース・システムは、ユーザが選択した
アトリビュート値のリストに一致する割当てアトリビュ
ート僅か、指示する文書を探す検索ルーチンを含んでい
るので、スミスの書いた総てのポンプ仕様の如き1組の
共通のアトリビュートを有する総ての文書をユーザは容
易に探せるようになる。
つい最近は、高速アクセス大容量データ蓄積装に及0’
マルチ・コンピュータ・ネットワークの出現により、コ
ンピュータ・システムが大容量蓄積装置内に文書の履歴
を保持するほかに、ファイルとして文書を正確に作成し
たシミ気的に蓄積したりすることが可能に々つた。大き
なプロジェクトに関連した文書を効果的に蓄積したり検
索するために、ファイル管理システムは、共通アトリビ
ュートの文書を含んだファイルのグループを見つけられ
るだけでなく、ある定義できる方法で、所定ファイルに
関連したファイルのグループも発見できなければならな
い。例えば、ユーザは、スミスのポンプ規格を含んだ特
定のファイルを見つけると、ポンプ規格に関する検閲者
のコメント又はこのポンプ仕様に関連したポンプ図If
rを含んだ他のファイルを探そうとするかもしれない。
マルチ・コンピュータ・ネットワークの出現により、コ
ンピュータ・システムが大容量蓄積装置内に文書の履歴
を保持するほかに、ファイルとして文書を正確に作成し
たシミ気的に蓄積したりすることが可能に々つた。大き
なプロジェクトに関連した文書を効果的に蓄積したり検
索するために、ファイル管理システムは、共通アトリビ
ュートの文書を含んだファイルのグループを見つけられ
るだけでなく、ある定義できる方法で、所定ファイルに
関連したファイルのグループも発見できなければならな
い。例えば、ユーザは、スミスのポンプ規格を含んだ特
定のファイルを見つけると、ポンプ規格に関する検閲者
のコメント又はこのポンプ仕様に関連したポンプ図If
rを含んだ他のファイルを探そうとするかもしれない。
「ハイパーテキスト(hypert@xt) Jシステ
ムに属するコンピユータ化したデータ蓄積及び検索シス
テムには、連続的動作がある。このハイパ−テキスト・
システムは、2つの蓄積されたデータ・シーケンス(r
ノード」ともいう。)が何らかめ点で関連していること
を示すノード間をユーザが「リンクコすることを可能に
する( 1985年10月にI EEEが発行した「コ
ンピュータ」の15〜30ページに掲載すしたニコル・
ヤンケロピッチ及びノーマン・メイロウイツツの論文「
リーディング・アンド書ライティング・ジ・エレクトロ
ニック・ブック」に、この型式のシステムに関する情報
の要点が記載されている。)。第2ノードが第1ノード
に関係していることを示す第1ノーrから第2ノードへ
のポインタとして、「リンク」を目に見えるようにする
ことができる。リンクされた第1及び第2ノードを示す
データ並びにこれら2つのノード間の関係の%倣を定義
するリンク・アトリビュート・データを含む蓄積記録と
して、リンクを実現できる。例えば、第1ノードが仕様
で′あり、第2ノーFがこの仕様に関するコメントのと
き、縞1及び第2ノードを示し、これらノード間の関係
がコメントの1つであることを示すリンク・アトリビュ
ート・データを含んだリンク記録を作成してもよい。リ
ンクされたノードの総ての対に対して、独立したリンク
記録を設ける。3つのコメントを特定の仕様用に書込み
、独立したノーrに蓄積する場合、3つのリンク記録を
作成してもよいが、各リンク記録は、仕様ノード及びコ
メント・ノードの対応した。1つの「コメント」関係を
示す。リンクされたノードに応じてリンク記録をグルー
プ化できるので、仕様ノーPの如き特定ノードを確認す
ると、この特定ノードにリンクされるコメン、ト・ノー
ドの如き他の総てのノードは、特定ノードに関連したリ
ンク記録のみを精食することにより迅速に判断できる。
ムに属するコンピユータ化したデータ蓄積及び検索シス
テムには、連続的動作がある。このハイパ−テキスト・
システムは、2つの蓄積されたデータ・シーケンス(r
ノード」ともいう。)が何らかめ点で関連していること
を示すノード間をユーザが「リンクコすることを可能に
する( 1985年10月にI EEEが発行した「コ
ンピュータ」の15〜30ページに掲載すしたニコル・
ヤンケロピッチ及びノーマン・メイロウイツツの論文「
リーディング・アンド書ライティング・ジ・エレクトロ
ニック・ブック」に、この型式のシステムに関する情報
の要点が記載されている。)。第2ノードが第1ノード
に関係していることを示す第1ノーrから第2ノードへ
のポインタとして、「リンク」を目に見えるようにする
ことができる。リンクされた第1及び第2ノードを示す
データ並びにこれら2つのノード間の関係の%倣を定義
するリンク・アトリビュート・データを含む蓄積記録と
して、リンクを実現できる。例えば、第1ノードが仕様
で′あり、第2ノーFがこの仕様に関するコメントのと
き、縞1及び第2ノードを示し、これらノード間の関係
がコメントの1つであることを示すリンク・アトリビュ
ート・データを含んだリンク記録を作成してもよい。リ
ンクされたノードの総ての対に対して、独立したリンク
記録を設ける。3つのコメントを特定の仕様用に書込み
、独立したノーrに蓄積する場合、3つのリンク記録を
作成してもよいが、各リンク記録は、仕様ノード及びコ
メント・ノードの対応した。1つの「コメント」関係を
示す。リンクされたノードに応じてリンク記録をグルー
プ化できるので、仕様ノーPの如き特定ノードを確認す
ると、この特定ノードにリンクされるコメン、ト・ノー
ドの如き他の総てのノードは、特定ノードに関連したリ
ンク記録のみを精食することにより迅速に判断できる。
ノード又はリンクに、そのノード又はリンクを%徴つけ
るアトリビュートを定めることができるが、当業者忙周
知の如くノード・アトリビュートの概念は、リンク・ア
トリビュートの概念といくらか異なっている。ノード・
アトリビュートにょり独立ノードを関連づけられるが、
かかるノーrの関係は一般的なものの1つであり、非方
向的である。ここで、この関係は1つのノードから他の
ノードへの指示を意味しない。例えば、スミスが作成し
た総てのノードは共通の編集者を有することによシ関係
づけられ、各ノード用の「編集者」ノード・アトリビュ
ートの値として「スミス」を利用することにより、かか
るノードの各々のこの共通の特徴を示すことができる。
るアトリビュートを定めることができるが、当業者忙周
知の如くノード・アトリビュートの概念は、リンク・ア
トリビュートの概念といくらか異なっている。ノード・
アトリビュートにょり独立ノードを関連づけられるが、
かかるノーrの関係は一般的なものの1つであり、非方
向的である。ここで、この関係は1つのノードから他の
ノードへの指示を意味しない。例えば、スミスが作成し
た総てのノードは共通の編集者を有することによシ関係
づけられ、各ノード用の「編集者」ノード・アトリビュ
ートの値として「スミス」を利用することにより、かか
るノードの各々のこの共通の特徴を示すことができる。
これと対比して。
リンクは方向付けた状態でノードの対の関係を記述し、
リンクがユーザを第1文書「から」他の文書「に」特別
の理由で導くという意味において、リンク・アトリビュ
ートはその理由を記述する。
リンクがユーザを第1文書「から」他の文書「に」特別
の理由で導くという意味において、リンク・アトリビュ
ートはその理由を記述する。
よって、リンク・アトリビュートが示した関係は、一般
的なものの1つではなく、「連績したもの」の1つであ
る。例えば、図面を含むグlノードと、この図面に関す
るコメントを含む第2ノードとの関係は、仁れらノード
が共通に有しているもの(即ち、ノード・アトリビュー
ト)によっては容易に説明できない。これは、ノードが
異なっている、即ち、1つのノードは「図面」で、他の
ノーYが「コメント」であるからである。しかし、「コ
メント」の概念を用いて、ノードの一方の特徴を説明す
るのではなく、これら2つのノード間のリンクを説明す
れば、これらノード間の関係を明瞭に規定できる。
的なものの1つではなく、「連績したもの」の1つであ
る。例えば、図面を含むグlノードと、この図面に関す
るコメントを含む第2ノードとの関係は、仁れらノード
が共通に有しているもの(即ち、ノード・アトリビュー
ト)によっては容易に説明できない。これは、ノードが
異なっている、即ち、1つのノードは「図面」で、他の
ノーYが「コメント」であるからである。しかし、「コ
メント」の概念を用いて、ノードの一方の特徴を説明す
るのではなく、これら2つのノード間のリンクを説明す
れば、これらノード間の関係を明瞭に規定できる。
ノードが「コメント」を含んでいると考えて、ノード・
アトリビュート値「コメント」を定めることができるが
、ユーザはコメントを含む総てのノードのグループを見
つけることに一般的には関心をもってhないので、この
ようにすることは特に有効ではない。代わりに、二−デ
け、特定のユーザの確認したノードに関する成分を含む
ノーrを見つける仁とに通常はより関心をもっている。
アトリビュート値「コメント」を定めることができるが
、ユーザはコメントを含む総てのノードのグループを見
つけることに一般的には関心をもってhないので、この
ようにすることは特に有効ではない。代わりに、二−デ
け、特定のユーザの確認したノードに関する成分を含む
ノーrを見つける仁とに通常はより関心をもっている。
よって、リンクが「コメント」アトリビュートを有する
2つのノード間のリンクを確立することがより有用であ
る。
2つのノード間のリンクを確立することがより有用であ
る。
リンクは、ノード対を接続して「網状組iCw@b)J
又は「図表」を形成することにより、ノード構造を収集
する。いくつかのシステムは1図表の表示に適してお)
、地図が道路又は川によって町をどのように相互接続さ
れているかを示しているのと同じ方法で、1組のノード
がどのように相互接続されているかをユーザの目に見え
るようにしている。よって、例えば、ユーザが1つのノ
ードの変更を決めたとき、変更されるノードにリンクさ
れた他のノードを調べることにより、変更により影響を
受ける他の総てのノードを迅速に判断できる。
又は「図表」を形成することにより、ノード構造を収集
する。いくつかのシステムは1図表の表示に適してお)
、地図が道路又は川によって町をどのように相互接続さ
れているかを示しているのと同じ方法で、1組のノード
がどのように相互接続されているかをユーザの目に見え
るようにしている。よって、例えば、ユーザが1つのノ
ードの変更を決めたとき、変更されるノードにリンクさ
れた他のノードを調べることにより、変更により影響を
受ける他の総てのノードを迅速に判断できる。
しかし、プロジェクトに関連したノーrの数が増えると
、図表は複雑となり、表示が困難となり、ユーザが利用
するのも困難となる。よって、一般的には、ユーザがこ
のシステムに対して関心のある種々のノードのアトリビ
ュートを特定して1表示する図表の大きさを小さくでき
るようにする。
、図表は複雑となり、表示が困難となり、ユーザが利用
するのも困難となる。よって、一般的には、ユーザがこ
のシステムに対して関心のある種々のノードのアトリビ
ュートを特定して1表示する図表の大きさを小さくでき
るようにする。
次に、このシステムは、特定のアトリビュートが特徴づ
けるノードのみを含む「81図表」を表示する。例えば
、ユーザがポンプに関連したノードにのみ関心があると
き、このシステムFi$ y f関連のノードを表わす
ノードと共にそれらの相互接続リンクを表示する。よっ
て、関心のある特定ノードを見つけるなめ、ユーザが調
べなければならないノードの数が減る。
けるノードのみを含む「81図表」を表示する。例えば
、ユーザがポンプに関連したノードにのみ関心があると
き、このシステムFi$ y f関連のノードを表わす
ノードと共にそれらの相互接続リンクを表示する。よっ
て、関心のある特定ノードを見つけるなめ、ユーザが調
べなければならないノードの数が減る。
従来のシステムは°、ユーザを助けて蓄積データを系統
化し検索するが、これらのシステムは、問題を抱えるい
くつかの記録を未解決のまま残している。問題の1つは
、最も有利なノード又はリンク・アトリビュートの型式
を予め選択することが困難という仁とである。システム
を有用とするために、ノード及びリンクを説明するため
にユーザが利用できるアトリビュート及びそれらの値は
、システムが実行すべき探索に適当な原理を与えなけれ
ばならない。しかし、限定された数のアトリビュートの
みが通常予想される。
化し検索するが、これらのシステムは、問題を抱えるい
くつかの記録を未解決のまま残している。問題の1つは
、最も有利なノード又はリンク・アトリビュートの型式
を予め選択することが困難という仁とである。システム
を有用とするために、ノード及びリンクを説明するため
にユーザが利用できるアトリビュート及びそれらの値は
、システムが実行すべき探索に適当な原理を与えなけれ
ばならない。しかし、限定された数のアトリビュートの
みが通常予想される。
プロジェクトの文書が時間と共にいかに変更したかの包
括的な記録を保持する設備をノ・イA!−テキスト・シ
ステムが含んでいる場合、このシステムもより有効であ
る。いくつかのコンピユータ化され次データ蓄積システ
ムは文書の古いバージョンも蓄積するが、大きなプロジ
ェクトの文書はしばしば多くの改訂を受けているので、
総ての文書の隨てのバージョンを蓄積することは非現実
的であり、不可能である。また、ノード及びリンク・ア
トリビュートの変更の履歴を保持することも望ましい。
括的な記録を保持する設備をノ・イA!−テキスト・シ
ステムが含んでいる場合、このシステムもより有効であ
る。いくつかのコンピユータ化され次データ蓄積システ
ムは文書の古いバージョンも蓄積するが、大きなプロジ
ェクトの文書はしばしば多くの改訂を受けているので、
総ての文書の隨てのバージョンを蓄積することは非現実
的であり、不可能である。また、ノード及びリンク・ア
トリビュートの変更の履歴を保持することも望ましい。
例えば、ノード・アトリビュートは、その文書の変更の
承認に責任のある人の名前を示すことができ、他の人が
その責任を引き継いだときは、対応するアトリビュート
値を変更しなければならない。しかし、そのようにする
際、その情報を維持するための何らかの手段を設けるこ
とができなければ、前から変更の承認責任がある人の同
一性が失なわれる。理想的なシステムでは、それが任意
の以前の時点に存在している如く、その時のノードの内
容、それらノードに割当てられたノード・アトリビュー
ト、その時に存在するノード間のリンク、及びその時に
存在するリンク・アトリビュートを含んで、システムの
全体固形を再作成できる。この特徴は、プロジェクト期
間中に生じた問題の原因を把握するのに非常に有効であ
るが、その実現は、従来のシステムでは一般に困難であ
る。
承認に責任のある人の名前を示すことができ、他の人が
その責任を引き継いだときは、対応するアトリビュート
値を変更しなければならない。しかし、そのようにする
際、その情報を維持するための何らかの手段を設けるこ
とができなければ、前から変更の承認責任がある人の同
一性が失なわれる。理想的なシステムでは、それが任意
の以前の時点に存在している如く、その時のノードの内
容、それらノードに割当てられたノード・アトリビュー
ト、その時に存在するノード間のリンク、及びその時に
存在するリンク・アトリビュートを含んで、システムの
全体固形を再作成できる。この特徴は、プロジェクト期
間中に生じた問題の原因を把握するのに非常に有効であ
るが、その実現は、従来のシステムでは一般に困難であ
る。
マルチユーザ・システムの利用に関する他の問題は、2
人が独立に同じノーrを同時に変更しようとしたときに
生じる。どちらの新バージョンを最新バージョンとみな
すかについて競合が生じる。
人が独立に同じノーrを同時に変更しようとしたときに
生じる。どちらの新バージョンを最新バージョンとみな
すかについて競合が生じる。
いくつかのシステムでは、2Å以上が同時にノードをア
クセスするのを防止してこの競合を避けるが、この方法
は、特に1人のユーザがノードを変更するのではなく単
に読出したいとき、マルチユーザ能力を効果的に利用で
きない。
クセスするのを防止してこの競合を避けるが、この方法
は、特に1人のユーザがノードを変更するのではなく単
に読出したいとき、マルチユーザ能力を効果的に利用で
きない。
したがって、本発明の目的は、上述の従来技術の欠点を
克服すると共に、ユーザが定義可能な「ノード・アトリ
ビュート」に応じて蓄積されたノードの特性を明らかに
できるデータ管理方法の提供にある。
克服すると共に、ユーザが定義可能な「ノード・アトリ
ビュート」に応じて蓄積されたノードの特性を明らかに
できるデータ管理方法の提供にある。
〔問題点を解決するための手段及び作用〕本発明によれ
ば、各ノード(データ・シーケンス)・アトリビュート
は、「編集者」又は「要旨」の如くユーデ定義名の変数
であり、ユーザは値を各ノードのノード・アトリビュー
トに割当てることができる。ノード・アトリビュートに
割当てできる値は、「スミス」又は「ポンダ仕様」の如
くユーザ定義文字列でもよいし、整数でもよい、データ
管理システムは、ノード・アトリビュート及びそれらの
値を表わすデータを1組の「ノード記録」に蓄積する。
ば、各ノード(データ・シーケンス)・アトリビュート
は、「編集者」又は「要旨」の如くユーデ定義名の変数
であり、ユーザは値を各ノードのノード・アトリビュー
トに割当てることができる。ノード・アトリビュートに
割当てできる値は、「スミス」又は「ポンダ仕様」の如
くユーザ定義文字列でもよいし、整数でもよい、データ
管理システムは、ノード・アトリビュート及びそれらの
値を表わすデータを1組の「ノード記録」に蓄積する。
なお、各ノーr記録はノードに関連したデータの集合か
ら成る。
ら成る。
アトリビュートはユーザが定義可能なので、ユーザがノ
ーrに関する新たな識別特徴を認めたときはいつでも新
たなアトリビュートを設定できる。
ーrに関する新たな識別特徴を認めたときはいつでも新
たなアトリビュートを設定できる。
例えば、テキスト・ノードは、種々の言語で書いて作成
でき、ユーザは書かれた言語に応じてノードを分類でき
る。本発明によれば、ユーザは、例えば文字列「言語」
と名付けた新友なノード・アトリビュートを設定できる
。次にユーザは、フランス語で書かれた認てのノードに
対して言語アトリビュートの頃として文字列「フランス
語」を割当てることができ、また、英語で書かれた認て
のノードに対して言語アトリビュートの値として文字列
「英語」を割当てることができる。よって。
でき、ユーザは書かれた言語に応じてノードを分類でき
る。本発明によれば、ユーザは、例えば文字列「言語」
と名付けた新友なノード・アトリビュートを設定できる
。次にユーザは、フランス語で書かれた認てのノードに
対して言語アトリビュートの頃として文字列「フランス
語」を割当てることができ、また、英語で書かれた認て
のノードに対して言語アトリビュートの値として文字列
「英語」を割当てることができる。よって。
従来のデータ管理方法と異なり、本発明によれば、必要
なときはいつでもユーザは新たなノード・アトリビュー
トを設定でき、ユーザは所定数の子め定めたアトリビュ
ートの中から選択するというような制限は受けない。
なときはいつでもユーザは新たなノード・アトリビュー
トを設定でき、ユーザは所定数の子め定めたアトリビュ
ートの中から選択するというような制限は受けない。
本発明のデータ管理方法は、ユーザが関連ノード対間の
1リンク」を行なうのを可能にする。
1リンク」を行なうのを可能にする。
「リンク」は、2つのノード間のユーザ定義関係であり
、このリンクは蓄積された「リンク記録」罠より明らか
となる。また、データの集合は、リンクされる2つのノ
ードの参照(レファレンス)を含むと共に、「リンク・
アトリビュート」及びそれらに割当てられた値を表わす
データを含む。
、このリンクは蓄積された「リンク記録」罠より明らか
となる。また、データの集合は、リンクされる2つのノ
ードの参照(レファレンス)を含むと共に、「リンク・
アトリビュート」及びそれらに割当てられた値を表わす
データを含む。
「リンク・アトリビュート」は、ユーザが定義した名前
としての文字列から成る変数である。更にユーザは、2
つのノード間の関係を特徴づけるリンク・アトリビュー
ト変数に値を割当てることができる。このアトリビュー
ト値は、ユーザが定義した文字列でもよいし、整数でも
よい。リンクの利用例として、第1ノーrがポンダの図
面を含んでおり、第2ノードが図面に示したポンプの仕
様を含んでおシ、第3ノーrが図面に関するコメントを
含んでいるとき、ユーザは2つのリンクを定義できる。
としての文字列から成る変数である。更にユーザは、2
つのノード間の関係を特徴づけるリンク・アトリビュー
ト変数に値を割当てることができる。このアトリビュー
ト値は、ユーザが定義した文字列でもよいし、整数でも
よい。リンクの利用例として、第1ノーrがポンダの図
面を含んでおり、第2ノードが図面に示したポンプの仕
様を含んでおシ、第3ノーrが図面に関するコメントを
含んでいるとき、ユーザは2つのリンクを定義できる。
なお、第1リンクは第1及び第2ノードをリンクし、第
2リンクは第1及び第3ノードをリンクする。ユーザが
例えば「レファレンス」と名付けたり、ンク・アトリビ
ュートにより、各リンクを特徴づけることができる。図
面ノードを仕様ノードに関連させるリンクに対して、ユ
ーザが「仕様」と呼ぶ「レファレンス」リンク・アトリ
ビュートに値を割当ることができる。図面ノードを設計
者コメント・ノードに関連させるリンクに対して、ユー
ザは、「レファレンス」リンク・アトリビュートの値と
しての文字列「コメント」を割当ることができる。本発
明は、リンクすべきノード、リンク・アトリビュートの
名前及び僅に関したユーザ入力を基本とした適当なリン
ク記録を作成できる。
2リンクは第1及び第3ノードをリンクする。ユーザが
例えば「レファレンス」と名付けたり、ンク・アトリビ
ュートにより、各リンクを特徴づけることができる。図
面ノードを仕様ノードに関連させるリンクに対して、ユ
ーザが「仕様」と呼ぶ「レファレンス」リンク・アトリ
ビュートに値を割当ることができる。図面ノードを設計
者コメント・ノードに関連させるリンクに対して、ユー
ザは、「レファレンス」リンク・アトリビュートの値と
しての文字列「コメント」を割当ることができる。本発
明は、リンクすべきノード、リンク・アトリビュートの
名前及び僅に関したユーザ入力を基本とした適当なリン
ク記録を作成できる。
本発明によれば、ノーr及びリンクの図表を1組の独立
した「フyテキス) (cont・、tg) Jに分割
できる。なお、各コンテキストは、図表の独立した「一
覧(マ1sv) Jを有しており、ユーザは、これによ
って図表のノード及びリンクの特定部分をアクセスする
。図表を初めで作成する際、ユーザが新しいノード及び
リンクを蓄積かつアクセスできる空(から)の「ルート
・コンテキスト」を作成する。その結果、ユーザは、初
め空のコンテキストを更に作成し、このコンテキストに
ノード及びリンクを更に蓄積できる。ユーザは、1つの
コンテキスト内に存在するノード及びリンクを任意の他
のコンテキストにコピー(「マージ」)することもでき
るので、同じノーr又はリンクの多くのr例」が夫々異
なるコンテキストに同時に存在できる。ノード又はリン
クの特定例をアクセスするには、ユーザは、ノード又は
リンクが存在する図表及びコンテキストと共に、コンテ
キスト内でアクセスされる特定のノード又はリンクを確
認する。
した「フyテキス) (cont・、tg) Jに分割
できる。なお、各コンテキストは、図表の独立した「一
覧(マ1sv) Jを有しており、ユーザは、これによ
って図表のノード及びリンクの特定部分をアクセスする
。図表を初めで作成する際、ユーザが新しいノード及び
リンクを蓄積かつアクセスできる空(から)の「ルート
・コンテキスト」を作成する。その結果、ユーザは、初
め空のコンテキストを更に作成し、このコンテキストに
ノード及びリンクを更に蓄積できる。ユーザは、1つの
コンテキスト内に存在するノード及びリンクを任意の他
のコンテキストにコピー(「マージ」)することもでき
るので、同じノーr又はリンクの多くのr例」が夫々異
なるコンテキストに同時に存在できる。ノード又はリン
クの特定例をアクセスするには、ユーザは、ノード又は
リンクが存在する図表及びコンテキストと共に、コンテ
キスト内でアクセスされる特定のノード又はリンクを確
認する。
ユーザは、新たなコンテキストを「プライベート・ワー
クスペース」として作成し、存在するノード及びリンク
を「マスタ」コンテキストからプ9イペ−)・ワークス
ペースにコピースる。マスク・コンテキスト内の元のノ
ード及びリンクに影響することなく、新たなコンテキス
ト内でこれらノード及びリンクを変更できる。その結果
、変更したノード又はリンクをマージして、マスク・コ
ンテキストに戻せる。このマスク・コンテキストからこ
れらノード又はリンクをコピーして、1スタ・コンテキ
ストに元のノード又はリンクの新しいバージョンを作成
する。図表を独立したコンテキストに分割することによ
り、ユーザはノーr及びリンクの大きな図表を構成する
ことができる。
クスペース」として作成し、存在するノード及びリンク
を「マスタ」コンテキストからプ9イペ−)・ワークス
ペースにコピースる。マスク・コンテキスト内の元のノ
ード及びリンクに影響することなく、新たなコンテキス
ト内でこれらノード及びリンクを変更できる。その結果
、変更したノード又はリンクをマージして、マスク・コ
ンテキストに戻せる。このマスク・コンテキストからこ
れらノード又はリンクをコピーして、1スタ・コンテキ
ストに元のノード又はリンクの新しいバージョンを作成
する。図表を独立したコンテキストに分割することによ
り、ユーザはノーr及びリンクの大きな図表を構成する
ことができる。
また、ノード及びリンクを変更した際に衝突の可能性を
減らすことによシ、互いに干渉するリスクが限定された
文書の集合について、編集者の千−ムは一緒に動くこと
ができる。
減らすことによシ、互いに干渉するリスクが限定された
文書の集合について、編集者の千−ムは一緒に動くこと
ができる。
本発明の要旨は、本明細書に指摘しである。しかし、本
発明の構成、動作、利点及び目的は、添付図を参照した
以下の説明から最も艮〈理解できるであろう。なお、添
付図において、同じ構成要素は同じ参照番号で示す。
発明の構成、動作、利点及び目的は、添付図を参照した
以下の説明から最も艮〈理解できるであろう。なお、添
付図において、同じ構成要素は同じ参照番号で示す。
第2図は、本発明を利用した情報管理システム(10)
のブロック図であり、この情報管理システム(10)は
、マルチユーザ用の選択し念データ処理動作を実行する
。このシステムは、本発明によるソフトウェアを基本と
したデータ管理袋ht(マシン)(14)を具えており
、システム・ユーザが作成した独立のデータ・シーケン
ス内のデータ間の関係の表示を保存するデータ蓄積及び
検索ユーティリティを提供する。本発明の好適な実施例
において、システム(10)は、マルチユーザUNIX
オペレーティング・システム環境で動作するのに適合
している( UNZXオペレーティング・システムは、
デ・アメリカン・テレホン・アンド・テレグラフ・カン
/4’二により開発さn、 1981年にデ・レストン
・パブリッシング・カンパニーが発行したリチャーP・
がラシャ−による「ユージング・デUNIXシステム」
に説明されている。)。独立したUNIX処理として実
行するユーザ・インタフェース・アプリケーション・ソ
フトウェアにより、各ユーザはデータ・シーケンスを作
成し、修正する。第2図の例においては、マシン(14
)と同一コンピュータ(16) 上で実行され、UNI
X /eイブを介してこのマシンをアクセスする独立し
たアプリケーション・ソフトウェア(12)及び(12
m)を2人のユーザが同時に使用できる( UNIX−
#イブは、マシン(14)及びアプリケーション・プロ
グラム(12)又は(12m)の如き2つの処fl1間
のコミュニケーション・チャンネルである。)。他の2
人のユーザは、リモート・サーバ(18)及び(18m
)を介してマシン(14)をアクセスするリモート・コ
ンピュータ(20)及び(20m)上で実行されるアプ
リケーション・ソフトウェア(12’)及び(12m’
)を使用できる。コンピュータ(16)、(20)及び
(20m)は、デジタル・イクイップメント・コーポレ
ーション製VAX型コンピュータ、又dUNIXオペレ
ーティング・システム環境内で動作できる他のコンピュ
ータで適切に構成されている。
のブロック図であり、この情報管理システム(10)は
、マルチユーザ用の選択し念データ処理動作を実行する
。このシステムは、本発明によるソフトウェアを基本と
したデータ管理袋ht(マシン)(14)を具えており
、システム・ユーザが作成した独立のデータ・シーケン
ス内のデータ間の関係の表示を保存するデータ蓄積及び
検索ユーティリティを提供する。本発明の好適な実施例
において、システム(10)は、マルチユーザUNIX
オペレーティング・システム環境で動作するのに適合
している( UNZXオペレーティング・システムは、
デ・アメリカン・テレホン・アンド・テレグラフ・カン
/4’二により開発さn、 1981年にデ・レストン
・パブリッシング・カンパニーが発行したリチャーP・
がラシャ−による「ユージング・デUNIXシステム」
に説明されている。)。独立したUNIX処理として実
行するユーザ・インタフェース・アプリケーション・ソ
フトウェアにより、各ユーザはデータ・シーケンスを作
成し、修正する。第2図の例においては、マシン(14
)と同一コンピュータ(16) 上で実行され、UNI
X /eイブを介してこのマシンをアクセスする独立し
たアプリケーション・ソフトウェア(12)及び(12
m)を2人のユーザが同時に使用できる( UNIX−
#イブは、マシン(14)及びアプリケーション・プロ
グラム(12)又は(12m)の如き2つの処fl1間
のコミュニケーション・チャンネルである。)。他の2
人のユーザは、リモート・サーバ(18)及び(18m
)を介してマシン(14)をアクセスするリモート・コ
ンピュータ(20)及び(20m)上で実行されるアプ
リケーション・ソフトウェア(12’)及び(12m’
)を使用できる。コンピュータ(16)、(20)及び
(20m)は、デジタル・イクイップメント・コーポレ
ーション製VAX型コンピュータ、又dUNIXオペレ
ーティング・システム環境内で動作できる他のコンピュ
ータで適切に構成されている。
ユーザ・アプリケーション・ソフトウェア(12)(及
び(12m) ) (以下「ユーザ」という。)は、任
意の種々のデータ処理機能を実行でき、例えば、ワード
0・プロセッサ、コンピュータ支援設計及び他の図形シ
ステム並びにデータ・ペース−システムから構成しても
よく、これらの各々は蓄積すべきデータ・シーケンスを
発生する。ユーザからのこのデータ・シーケンスをマシ
ン(14)に転送する。
び(12m) ) (以下「ユーザ」という。)は、任
意の種々のデータ処理機能を実行でき、例えば、ワード
0・プロセッサ、コンピュータ支援設計及び他の図形シ
ステム並びにデータ・ペース−システムから構成しても
よく、これらの各々は蓄積すべきデータ・シーケンスを
発生する。ユーザからのこのデータ・シーケンスをマシ
ン(14)に転送する。
このマシン(14)は、 UNIXオペレーティング・
システムにより動作するが、ディスクの如き大容量蓄積
媒体にファイルとしてデータ・シーケンスを蓄積するの
を制御する責任がある。
システムにより動作するが、ディスクの如き大容量蓄積
媒体にファイルとしてデータ・シーケンスを蓄積するの
を制御する責任がある。
データ管理マシン(14)Fi、ユーザ定義可能なrノ
ード・アトリビュート」に応じて蓄積データ・シーケン
ス(ノード)をユーザが特徴づけるのを可能にする。ノ
ーP・アトリビュートは、「編集者」又は「要旨」の如
きユーザ定義名を有する変数であり、各ノードを特徴づ
けるユーザ定義IViLを割当てることができる。ノー
ド・アトリビュートah、「スミス」又は「ポンプ仕様
」の如きユーザ定義文字列でもよいし、ユーザ選択の整
数でもよい。ユーザは、ノードを特徴づけるのに、所定
数の子め定めたノード・アトリビュートの中から選択す
るということに限定されず、必要なときにはいつでも新
たなノード・アトリビュート及び新たなノード・アトリ
ビュート値を設定できる。例えば、ユーザがノード内の
データのバイト数に応じてノーrを分類すると決めると
、ユーザが文字列「長さ」と名前を選んだ新たなノード
・アトリビュートを設定でき、「長さ」の1として文書
の長さを表わす整数を各ノーrのアトリビュートに割当
てることができる。ユーザが、アトリビュートを割当て
るべきノードを示すデータ並びにアトリビュートの名前
及び値をマシン(14)に与えると、このマシンはその
ノードに関連した「ノード記録」内にノード・アトリビ
ュート及びその値を示すデータを蓄積する。各ノードに
関連したノード記録は、ユーザが定義し、ノーrに割当
てられ九総てのノーP、アトリビュート及びそれらの値
を示すデータを含んでいる。
ード・アトリビュート」に応じて蓄積データ・シーケン
ス(ノード)をユーザが特徴づけるのを可能にする。ノ
ーP・アトリビュートは、「編集者」又は「要旨」の如
きユーザ定義名を有する変数であり、各ノードを特徴づ
けるユーザ定義IViLを割当てることができる。ノー
ド・アトリビュートah、「スミス」又は「ポンプ仕様
」の如きユーザ定義文字列でもよいし、ユーザ選択の整
数でもよい。ユーザは、ノードを特徴づけるのに、所定
数の子め定めたノード・アトリビュートの中から選択す
るということに限定されず、必要なときにはいつでも新
たなノード・アトリビュート及び新たなノード・アトリ
ビュート値を設定できる。例えば、ユーザがノード内の
データのバイト数に応じてノーrを分類すると決めると
、ユーザが文字列「長さ」と名前を選んだ新たなノード
・アトリビュートを設定でき、「長さ」の1として文書
の長さを表わす整数を各ノーrのアトリビュートに割当
てることができる。ユーザが、アトリビュートを割当て
るべきノードを示すデータ並びにアトリビュートの名前
及び値をマシン(14)に与えると、このマシンはその
ノードに関連した「ノード記録」内にノード・アトリビ
ュート及びその値を示すデータを蓄積する。各ノードに
関連したノード記録は、ユーザが定義し、ノーrに割当
てられ九総てのノーP、アトリビュート及びそれらの値
を示すデータを含んでいる。
マシン(14)により、ユーザは関連ノート0の選択し
た対間の「リンク」を設定できる。「リンク」は 9つ
のノール間のユーザ中超園孤であわ とのリンクは蓄積
した「リンク記録」内のデータにより明らかになる。リ
ンク記録は、リンクする2つのノーr1fr識別するデ
ータを含み、種々の「リンク・アトリビュート」及びそ
れらの割当てた「リンク・アトリビュート値」を説明す
る蓄積ファイルである。「リンク・アトリビュート」は
、ノードの識別した対の間の関係を特徴づけるリンク・
アトリビュート値をユーザが割当てらnる「レファレン
ス」の如きユーザ定義可能な名前を有する・ぐラメータ
である。アトリビュート値もユーザ定義であり、文字列
又は数字の一方である。
た対間の「リンク」を設定できる。「リンク」は 9つ
のノール間のユーザ中超園孤であわ とのリンクは蓄積
した「リンク記録」内のデータにより明らかになる。リ
ンク記録は、リンクする2つのノーr1fr識別するデ
ータを含み、種々の「リンク・アトリビュート」及びそ
れらの割当てた「リンク・アトリビュート値」を説明す
る蓄積ファイルである。「リンク・アトリビュート」は
、ノードの識別した対の間の関係を特徴づけるリンク・
アトリビュート値をユーザが割当てらnる「レファレン
ス」の如きユーザ定義可能な名前を有する・ぐラメータ
である。アトリビュート値もユーザ定義であり、文字列
又は数字の一方である。
例えば、第1ノードはI7f用の図面を含んでおり、第
2ノー−は同じポンプの仕様を含んでおり、第3ノーP
け図面に関するコメントを含んでいる。
2ノー−は同じポンプの仕様を含んでおり、第3ノーP
け図面に関するコメントを含んでいる。
ユーザは2つのリンクを設定できるが、1つのリンクは
第1及び第2ノーr間であり、他のリンクは第1及び第
3ノード間である。ユーザが「レファレンス」と名付け
てもよいリンク・アトリビュートにより各リンクを特徴
づけることができ、その頭は、ノーr及びそのノードを
参照する他の総てのノード間に存在する1組の関係の1
つをより正確に説明する。ユーザは、仕様を図面に関係
させるリンクに対して、「仕様」と呼ぶ「レファレンス
」リンク・アトリビュートに値を割当てることができる
。ユーザは、図面を設計者のコメントに関係させるリン
クに対して、文字列「コメント」をレファレンス・リン
ク・アトリビュートの値と。
第1及び第2ノーr間であり、他のリンクは第1及び第
3ノード間である。ユーザが「レファレンス」と名付け
てもよいリンク・アトリビュートにより各リンクを特徴
づけることができ、その頭は、ノーr及びそのノードを
参照する他の総てのノード間に存在する1組の関係の1
つをより正確に説明する。ユーザは、仕様を図面に関係
させるリンクに対して、「仕様」と呼ぶ「レファレンス
」リンク・アトリビュートに値を割当てることができる
。ユーザは、図面を設計者のコメントに関係させるリン
クに対して、文字列「コメント」をレファレンス・リン
ク・アトリビュートの値と。
して割当てることができる。次に、マシン(14)は、
第1リンク記録及び第2リンク記録を有する適当なリン
ク記録を設定する。なお、この第1リンク記録は第1及
び第2ノードを識別し、「レファレンス」をそのリンク
のアトリビュートとして示し、「仕様」をそのアトリビ
ュートの値として示すデータを含んでいる。また、第2
リンク記録は、第1及び第3ノードを識別し、「レファ
レンス」をそのリンクのアトリビュートとして示し、「
コメント」をそのアトリピートの値として示すデータを
含んでいる。リンクを特徴づける際、ユーザには所定の
リンク・アトリビュートの限定された組の中から選択す
るという制限はなく、ユーザは、必要なときはいつでも
、任意の数の断念なリンク・アトリビュート及び断念な
リンク・アトリビュート値を定伐できる。
第1リンク記録及び第2リンク記録を有する適当なリン
ク記録を設定する。なお、この第1リンク記録は第1及
び第2ノードを識別し、「レファレンス」をそのリンク
のアトリビュートとして示し、「仕様」をそのアトリビ
ュートの値として示すデータを含んでいる。また、第2
リンク記録は、第1及び第3ノードを識別し、「レファ
レンス」をそのリンクのアトリビュートとして示し、「
コメント」をそのアトリピートの値として示すデータを
含んでいる。リンクを特徴づける際、ユーザには所定の
リンク・アトリビュートの限定された組の中から選択す
るという制限はなく、ユーザは、必要なときはいつでも
、任意の数の断念なリンク・アトリビュート及び断念な
リンク・アトリビュート値を定伐できる。
よって1本発明によれば゛、ユーザがノーr及びリンク
・アトリビュートの断念な値を定義できるばかりでなく
、新たなノード及びリンク・アトリビュートを作成でき
る。ノード及びリンク・アトリビュートを利用できる従
来のシステムにおいては、ノード及びリンク・アトリビ
ュートの数及び名前は固定されており、ユーザは特定の
ノード及びリンクに関連したノード及びリンク・アトリ
ビュートの値を変更できるだけであり、新たなノード又
はリンク・アトリビュートを定義できなかった。
・アトリビュートの断念な値を定義できるばかりでなく
、新たなノード及びリンク・アトリビュートを作成でき
る。ノード及びリンク・アトリビュートを利用できる従
来のシステムにおいては、ノード及びリンク・アトリビ
ュートの数及び名前は固定されており、ユーザは特定の
ノード及びリンクに関連したノード及びリンク・アトリ
ビュートの値を変更できるだけであり、新たなノード又
はリンク・アトリビュートを定義できなかった。
ユーザがどのノーrを探そうとしているのかニーfには
正確に識別できないが、そのノードのある特徴が判って
いる場合、適切に選択したリンク及びファイル・アトリ
ビュートを利用することにより、ユーザは関心のあるノ
ードを迅速に探せる。
正確に識別できないが、そのノードのある特徴が判って
いる場合、適切に選択したリンク及びファイル・アトリ
ビュートを利用することにより、ユーザは関心のあるノ
ードを迅速に探せる。
マシン(14)は、ノード及びリンク・アトリビュート
値のユーデ選択組合せにより特徴づけられる総てのノー
ド及びリンクのリストをユーザに与える。
値のユーデ選択組合せにより特徴づけられる総てのノー
ド及びリンクのリストをユーザに与える。
このマシンは、ノーP及びリンク・アトリビュート情報
を含むノード及びリンク記録を検索することによシ、適
切なノード及びリンクを見つける。
を含むノード及びリンク記録を検索することによシ、適
切なノード及びリンクを見つける。
よって、新たに認知したノーr又はリンクの特徴が有効
な検索の基本を与えるとユーザが判断したとき、新たな
アトリビュートをノーr及びリンクに対して定義し、割
当てられるというユーザの能力により、割当て可能なノ
ード及びリンク・アトリビュートの数及び特性が固定で
予め定まっている場合よシも、ユーザは検索に対してよ
り制御ができる。
な検索の基本を与えるとユーザが判断したとき、新たな
アトリビュートをノーr及びリンクに対して定義し、割
当てられるというユーザの能力により、割当て可能なノ
ード及びリンク・アトリビュートの数及び特性が固定で
予め定まっている場合よシも、ユーザは検索に対してよ
り制御ができる。
2種類の検索を実行するようにマシン(14)を適合さ
せる。なお、検索の1つは「横断」検索と呼び、他は「
質問」検索と呼ぶ。「横断」検索を実行するには、ユー
ザはマシンに第1ノーll別を与えると共に、そのノー
ドの述部及びリンクの述部を与える。なお、各述部は、
1組のリンク又はノード・アトリビュートの説明と、ユ
ーザが関心のあるノード又はリンクを説明する値とを有
している。次に、マシンは「デプス・ファースト」検索
を実行し、これによりマシンは、一連の中間リンク及び
ノードを介して第1ノードに接続された総てのノードを
識別する。なお、中間ノーr及びリンクは、選択された
ノード又はリンク・アトリビュート値により総て特徴づ
けられている。よって、横断検索において、マシン(1
4)は、初メツノードで開始し、選択したリンク・アト
リピートを有するリンクのみ追跡し、選択したファイル
・アトリビュートを有するノーrのみ通過して、図表を
「横断」する。そして、このマシンは、この型式で横断
したノード及びリンクをユーザに知らせる。
せる。なお、検索の1つは「横断」検索と呼び、他は「
質問」検索と呼ぶ。「横断」検索を実行するには、ユー
ザはマシンに第1ノーll別を与えると共に、そのノー
ドの述部及びリンクの述部を与える。なお、各述部は、
1組のリンク又はノード・アトリビュートの説明と、ユ
ーザが関心のあるノード又はリンクを説明する値とを有
している。次に、マシンは「デプス・ファースト」検索
を実行し、これによりマシンは、一連の中間リンク及び
ノードを介して第1ノードに接続された総てのノードを
識別する。なお、中間ノーr及びリンクは、選択された
ノード又はリンク・アトリビュート値により総て特徴づ
けられている。よって、横断検索において、マシン(1
4)は、初メツノードで開始し、選択したリンク・アト
リピートを有するリンクのみ追跡し、選択したファイル
・アトリビュートを有するノーrのみ通過して、図表を
「横断」する。そして、このマシンは、この型式で横断
したノード及びリンクをユーザに知らせる。
リンクが整然と連続したノーrを示すとき、例えば、仕
様の各部分を独立し次ノーrとして蓄積し、「次の部分
」のアトリビュート値を有するリンクを各連続部分に関
連させるとき、この横断検索は特に有効である。よって
、ユーザは、仕様の第1部分を識別し、「仕様」ノード
・アトリビュ−ト値及び「次の部分」のリンク・アトリ
ビュート値をマシンに与えることが必要なだけである。
様の各部分を独立し次ノーrとして蓄積し、「次の部分
」のアトリビュート値を有するリンクを各連続部分に関
連させるとき、この横断検索は特に有効である。よって
、ユーザは、仕様の第1部分を識別し、「仕様」ノード
・アトリビュ−ト値及び「次の部分」のリンク・アトリ
ビュート値をマシンに与えることが必要なだけである。
マシンは、仕様の総ての部分を見つけ、出会った順にそ
れらもユーザに知らせる。整然としたリンクを横断する
ことにより検索を実行しているので、仕様部分に出会う
順序は、その部分が仕様内で生じる順序と一致する・ 「質問」検索が実行できるように、マシン(14)を更
に適合させる。質問検索に対して、ユーザは、1ffi
のアトリビュート及びその値を説明するノード及びリン
ク述部を与えるが、開始ノーPは与えない。次に、シス
テムは、ノーr及びリンク記録を検索して、選択したノ
ード・アトリビュート値で特徴づけられる総てのノーr
と、識別したノードを相互接続する選択したリンク・ア
トリビュート値により%徴づけられる総てのリンクとを
識別する。横断検索及び質問検索の結果における違いは
、デプス・ファースト横断検索が適当な順序でノードを
常に識別するのに対して、質問検索は任意の順序でノー
ドに戻ることである。十分に選択的である質問検索にと
って、ノード・アトリビュートは横断検索よりもより正
確に定義しなければならない。仕様の例では、2つ以上
の仕様をシステムに蓄積したならば、異なる仕様に関連
したノード間を区別するのに、付加ノード・アトリビュ
ート値を利用しなければなら々い。これは、横断法には
必要ない。横断法は、質問法よりもはるかに高速にでき
る。これは、横断中に出会ったノード記録のみを点検し
ているからであるが、ユーザが横断検索の開始ノーPを
識別できないとき、質問検索は有効である。
れらもユーザに知らせる。整然としたリンクを横断する
ことにより検索を実行しているので、仕様部分に出会う
順序は、その部分が仕様内で生じる順序と一致する・ 「質問」検索が実行できるように、マシン(14)を更
に適合させる。質問検索に対して、ユーザは、1ffi
のアトリビュート及びその値を説明するノード及びリン
ク述部を与えるが、開始ノーPは与えない。次に、シス
テムは、ノーr及びリンク記録を検索して、選択したノ
ード・アトリビュート値で特徴づけられる総てのノーr
と、識別したノードを相互接続する選択したリンク・ア
トリビュート値により%徴づけられる総てのリンクとを
識別する。横断検索及び質問検索の結果における違いは
、デプス・ファースト横断検索が適当な順序でノードを
常に識別するのに対して、質問検索は任意の順序でノー
ドに戻ることである。十分に選択的である質問検索にと
って、ノード・アトリビュートは横断検索よりもより正
確に定義しなければならない。仕様の例では、2つ以上
の仕様をシステムに蓄積したならば、異なる仕様に関連
したノード間を区別するのに、付加ノード・アトリビュ
ート値を利用しなければなら々い。これは、横断法には
必要ない。横断法は、質問法よりもはるかに高速にでき
る。これは、横断中に出会ったノード記録のみを点検し
ているからであるが、ユーザが横断検索の開始ノーPを
識別できないとき、質問検索は有効である。
ユーザが蓄積すべき新たなデータ・シーケンスを作ると
、ユーザはそのデータをマシン(14)に転送し、マシ
ン(14)は、UNIXオペレーティング・システムが
UNIXデータ・ファイル内のノードとしてディスク又
は他の大容量蓄積装置にそのデータ・シーケンスを蓄積
するのに必要なUNIX命令を発生する。マシン(14
)は、ノーrを(後述する如く)「コンテキスト」にグ
ループ分けし、3つのパラメータにより各ノードを識別
する。これら3つの/母うメータには、ノードの特定コ
ンテキストを識別するのに用いるパラメータ「コンテキ
ストアイディ(ConttxtId) Jと、特定コン
テキスト内で他のノードと区別する特定ノードに関連し
た独特のコード「ノードインデックス(Nod・Ind
@x) Jと、そのノードが作成された日時に応じて決
まる数である「タイム(Time) Jとがある。ファ
イルが蓄積されたときに、これら/やラメータはユーザ
に戻る。
、ユーザはそのデータをマシン(14)に転送し、マシ
ン(14)は、UNIXオペレーティング・システムが
UNIXデータ・ファイル内のノードとしてディスク又
は他の大容量蓄積装置にそのデータ・シーケンスを蓄積
するのに必要なUNIX命令を発生する。マシン(14
)は、ノーrを(後述する如く)「コンテキスト」にグ
ループ分けし、3つのパラメータにより各ノードを識別
する。これら3つの/母うメータには、ノードの特定コ
ンテキストを識別するのに用いるパラメータ「コンテキ
ストアイディ(ConttxtId) Jと、特定コン
テキスト内で他のノードと区別する特定ノードに関連し
た独特のコード「ノードインデックス(Nod・Ind
@x) Jと、そのノードが作成された日時に応じて決
まる数である「タイム(Time) Jとがある。ファ
イルが蓄積されたときに、これら/やラメータはユーザ
に戻る。
よって、ユーザが存在するノードの内容にアクセスしよ
うとするとき、ユーザはそのノーPをアクセス(「チェ
ック・アウト」)するようにマシン(14)に要求を転
送して、ContextId 、 NodeIndex
及びT1m@パラメータによりそのノードを識別する。
うとするとき、ユーザはそのノーPをアクセス(「チェ
ック・アウト」)するようにマシン(14)に要求を転
送して、ContextId 、 NodeIndex
及びT1m@パラメータによりそのノードを識別する。
次に、マシン(14)は、そのノードの内容のコピーを
ユーザに転送する。ユーザは、その内容を修正したり、
蓄積するためその変更した内容をマシン(14)に戻し
たりすることができる。マシンは、ノードの内容を変更
したとき、Timeノ4ラメータを更新して、そのノー
ドが初めに作成された時ではなく、変更さnた時を反映
する。T1m@ /41ラメータの利用により、マシン
(14)は、異なるユーザが同じノードの内容を修正し
ようとする際に生じる競合を識別し解決できる。ノード
内容の変更又は修正において、現在のノード内容の代わ
りに新たなノード内容を蓄積(「チェック・イン」)す
るようにマシン(14)に要求したとき、第1ユーデは
ContextId 、 ModeIndex及びTi
me /4ラメータを供給してそのノードを識別する。
ユーザに転送する。ユーザは、その内容を修正したり、
蓄積するためその変更した内容をマシン(14)に戻し
たりすることができる。マシンは、ノードの内容を変更
したとき、Timeノ4ラメータを更新して、そのノー
ドが初めに作成された時ではなく、変更さnた時を反映
する。T1m@ /41ラメータの利用により、マシン
(14)は、異なるユーザが同じノードの内容を修正し
ようとする際に生じる競合を識別し解決できる。ノード
内容の変更又は修正において、現在のノード内容の代わ
りに新たなノード内容を蓄積(「チェック・イン」)す
るようにマシン(14)に要求したとき、第1ユーデは
ContextId 、 ModeIndex及びTi
me /4ラメータを供給してそのノードを識別する。
供給したT1meノfラメータ値がそのノードの現在の
内容(現在バージョン)に対応するT1m5 /4’ラ
メータ値に等しくない場合、マシン(14)は第1ユー
ザのバージョンの蓄積を中止する。これは、第1ユーザ
のチェック・アウト以後、第2ユーザがそのノードを修
正したことを第1ユーザの供給した不正確なTime
ノ4ラメータが示しているからである。
内容(現在バージョン)に対応するT1m5 /4’ラ
メータ値に等しくない場合、マシン(14)は第1ユー
ザのバージョンの蓄積を中止する。これは、第1ユーザ
のチェック・アウト以後、第2ユーザがそのノードを修
正したことを第1ユーザの供給した不正確なTime
ノ4ラメータが示しているからである。
マシン(14)は、ノードが「ファイル」型式か「アー
カイブ(archive) J型式かをユーザが明らか
にできるようにする。ユーザがノード内容の修正さnた
バージョンにチェック・インすると共に、そのノードの
前のバージョンが失われた「ファイル」型式ノードにチ
ェック・インしたとき、存在するノードの内容は書替え
らnる。しかし、「アーカイブ」ノーrの場合、マシン
(14)は、バージョンが続いたときノードの最新バー
ジョンを前のバージョンに変換する1組の命令(「バー
ジョン履歴」)を蓄積する。アーカイブ・ノート°が変
更される毎に、バージョン履歴が作成され、蓄積される
。アーカイブ・ノードに関連したこれら1組の蓄積さ扛
たバージョン履歴により、マシン(14)はアーカイブ
・ノードの総ての以前のバージョンを再作成できる。
カイブ(archive) J型式かをユーザが明らか
にできるようにする。ユーザがノード内容の修正さnた
バージョンにチェック・インすると共に、そのノードの
前のバージョンが失われた「ファイル」型式ノードにチ
ェック・インしたとき、存在するノードの内容は書替え
らnる。しかし、「アーカイブ」ノーrの場合、マシン
(14)は、バージョンが続いたときノードの最新バー
ジョンを前のバージョンに変換する1組の命令(「バー
ジョン履歴」)を蓄積する。アーカイブ・ノート°が変
更される毎に、バージョン履歴が作成され、蓄積される
。アーカイブ・ノードに関連したこれら1組の蓄積さ扛
たバージョン履歴により、マシン(14)はアーカイブ
・ノードの総ての以前のバージョンを再作成できる。
マシン(14)は、またリンクインデックス(Link
Index)ノぐラメータ及びT im@パラメータに
応じて、各リンクを識別する。LinkIndex /
4ラメータはリンクを識別する独特なコードであり、T
im・ノ母うメータはリンクが作成され九時(「バージ
ョン・タイム」)を示す数である。ユーザは、マシンに
「図表」からリンクを削除するように命令できる。リン
クが「ファイル」型式のノードしか接続していないため
にバージョン履歴が保持されていない場合、マシンは、
その応答として削除すべきリンクを説明するリンク記録
を破壊する。しかし、リンクが「アーカイブ」型式ノー
ドを接続していると、マシン(14)はリンク記録を破
壊しないであろう。代わりに、マシン(14)は、リン
クが削除された時を示す記録内に付加的なT1m@Aラ
メータを蓄積する。
Index)ノぐラメータ及びT im@パラメータに
応じて、各リンクを識別する。LinkIndex /
4ラメータはリンクを識別する独特なコードであり、T
im・ノ母うメータはリンクが作成され九時(「バージ
ョン・タイム」)を示す数である。ユーザは、マシンに
「図表」からリンクを削除するように命令できる。リン
クが「ファイル」型式のノードしか接続していないため
にバージョン履歴が保持されていない場合、マシンは、
その応答として削除すべきリンクを説明するリンク記録
を破壊する。しかし、リンクが「アーカイブ」型式ノー
ドを接続していると、マシン(14)はリンク記録を破
壊しないであろう。代わりに、マシン(14)は、リン
クが削除された時を示す記録内に付加的なT1m@Aラ
メータを蓄積する。
よって、マシンは、リンク記録内に蓄積された作成及び
削除T1m5 ノ’?ラメータからそのリンクが「存在
した」時間を決定できる。
削除T1m5 ノ’?ラメータからそのリンクが「存在
した」時間を決定できる。
更に、マシンは、ノード及びリンク・アトリビュート値
が任意時間に存在したとして、これらノード及びリンク
・アトリビュートの以前に割尚て7?+値の記録を保持
する。時間基準リンク記録及びノード・バージョン履歴
に関連したこれらの記録によシ、ノーr、リンク及びア
トリビュート値が以前に存在したとして、マシン(14
)はこれらの状態を決定できる。実際には、総てのノー
Pがアーカイブ型式ノードとして明らかになった場合、
マシン(14)は、「図表」が以前に存在したとしてそ
の「図表」を完全に再構成できる。
が任意時間に存在したとして、これらノード及びリンク
・アトリビュートの以前に割尚て7?+値の記録を保持
する。時間基準リンク記録及びノード・バージョン履歴
に関連したこれらの記録によシ、ノーr、リンク及びア
トリビュート値が以前に存在したとして、マシン(14
)はこれらの状態を決定できる。実際には、総てのノー
Pがアーカイブ型式ノードとして明らかになった場合、
マシン(14)は、「図表」が以前に存在したとしてそ
の「図表」を完全に再構成できる。
上述の如く、ユーザがマシン(14)に質問又は横断検
索の実行を要求するとき、ユーザはマシンに特定の以前
の時間を与えることができ、図表がユーザ指定時yに存
在したので、マシンはその図表を質問又は横断検索の基
礎にする。よって、マシン(14)は、以前に存在した
図表の再構成に適合するばかりでなく、図表の以前の状
態を基礎としたユーザ命令の質問及び横断検索の実行に
も適合するので、ユーザにとって、ノードの以前のバー
ジョンを探すのが容易になる。
索の実行を要求するとき、ユーザはマシンに特定の以前
の時間を与えることができ、図表がユーザ指定時yに存
在したので、マシンはその図表を質問又は横断検索の基
礎にする。よって、マシン(14)は、以前に存在した
図表の再構成に適合するばかりでなく、図表の以前の状
態を基礎としたユーザ命令の質問及び横断検索の実行に
も適合するので、ユーザにとって、ノードの以前のバー
ジョンを探すのが容易になる。
本発明によれば、ノード及びリンクの図表1−1組の独
立した「コンテキスト」に分割する。このコンテキスト
の各々は、図表の独立した「ビュー(マfew) Jを
具えており、これによりユーザは図表の特定ノード及び
リンクをアクセスする。図表を最初に作成すると、空の
「ルート・コンテキスト」も作成され、ユーザは新−た
なノード及びリンクをそこに蓄積し念り、アクセスし次
りできる。その結果、ユーザは初めは空の付加的コンテ
キストを作成でき、ユーザはその中に付加的なノード及
びリンクを蓄積できる。ユーザは、同じコンテキスト内
の2つのノード間にリンクを作成できるか、又は異なる
コンテキスト内のノート0間にリンクを作成できる。ユ
ーザは、1つのコンテキストに存在するノードを他のコ
ンテキストにコピー(「マージ」)することにより存在
するノードの新たな「インスタンス」を作成できるので
、1つのノードの多くのインスタンスを同時に存在させ
ることが可能である。しかし、そのノート0の各インス
タンスは、異なるコンテキスト内に帰属しなければなら
ない。よって、コンテキストを3次元図表の独立した層
又はプレーンとみなしうる。ここでは、同じノードの異
なるインスタンスが1つ以上のプレーンに現われる。同
じノードの異なるインスタンスを独立に変更でき、独立
のバージョン履歴を1つのノードの各インスタンス用に
維持する。しかし、1つのインスタンスが変更された後
でさえ、同じノードの異なるインスタンスは、同じノー
ドのインスタンスとしてそnらの同一性を常に維持fる
。ノート0の第1インスタンスを、あるコンテ中ストか
ら同じノーrの第2インスタンスを常に含む他のコンテ
キストにマージすると、第1インスタンスのマージされ
たコピーは、そのノードの第2インスタンスの最終バー
ジョンとなる。
立した「コンテキスト」に分割する。このコンテキスト
の各々は、図表の独立した「ビュー(マfew) Jを
具えており、これによりユーザは図表の特定ノード及び
リンクをアクセスする。図表を最初に作成すると、空の
「ルート・コンテキスト」も作成され、ユーザは新−た
なノード及びリンクをそこに蓄積し念り、アクセスし次
りできる。その結果、ユーザは初めは空の付加的コンテ
キストを作成でき、ユーザはその中に付加的なノード及
びリンクを蓄積できる。ユーザは、同じコンテキスト内
の2つのノード間にリンクを作成できるか、又は異なる
コンテキスト内のノート0間にリンクを作成できる。ユ
ーザは、1つのコンテキストに存在するノードを他のコ
ンテキストにコピー(「マージ」)することにより存在
するノードの新たな「インスタンス」を作成できるので
、1つのノードの多くのインスタンスを同時に存在させ
ることが可能である。しかし、そのノート0の各インス
タンスは、異なるコンテキスト内に帰属しなければなら
ない。よって、コンテキストを3次元図表の独立した層
又はプレーンとみなしうる。ここでは、同じノードの異
なるインスタンスが1つ以上のプレーンに現われる。同
じノードの異なるインスタンスを独立に変更でき、独立
のバージョン履歴を1つのノードの各インスタンス用に
維持する。しかし、1つのインスタンスが変更された後
でさえ、同じノードの異なるインスタンスは、同じノー
ドのインスタンスとしてそnらの同一性を常に維持fる
。ノート0の第1インスタンスを、あるコンテ中ストか
ら同じノーrの第2インスタンスを常に含む他のコンテ
キストにマージすると、第1インスタンスのマージされ
たコピーは、そのノードの第2インスタンスの最終バー
ジョンとなる。
2つ以上のノードを第1コンテキストから第2コンテ中
ストにマージすることをユーザが要求すると、データ管
理マシンは、マージし念ノードを相互接続する総てのリ
ンクを第2コンテキス)K自動的にマージするので、第
2コンテキスト内にそのリンクの新たなインスタンスが
形成される。
ストにマージすることをユーザが要求すると、データ管
理マシンは、マージし念ノードを相互接続する総てのリ
ンクを第2コンテキス)K自動的にマージするので、第
2コンテキスト内にそのリンクの新たなインスタンスが
形成される。
元のリンクが第1コンテキスト内のノードのインスタン
スを相互接続するのと同じ方法で、新たなリンク・イン
スタンスは、マージされたノート1の新たなインスタン
スを相互接続する。データ管理マシンは、第2コンテキ
ストにマージされていない第1コンテキストのノードに
、第1コンテキスト内のマージさnたノードを接続する
多くのリンクの新たなインスタンスも作成する。これら
新たなリンク・インスタンスは、第2コンテキストに帰
属するノードの新たなインスタンスを第1コンテキスト
に帰属するマージされていないノード・インスタンスに
接続するので、これら新たなリンク・インスタンスは「
クロス・コンテキスト」リンクである。ノード及びリン
ク・アトリビュートは、ノード又はリンクの各インスタ
ンスに対して独立に維持され、ノード又はリンクが異な
るコンテキストにマージされると、総てのノード及びリ
ンク・アトリビュートも新たなコンテキストにマージさ
れる。異なるコンテキストに属するノード又はリンクの
異なるインスタンスのアトリビュートも、独立に変更で
きる。総てのリンク・インスタンス用と、各ノード及び
リンク・インスタンスに関連したアトリビュート用に個
々のバージョン履歴を維持する。ノード又はリンクの特
定インスタンスの特定バージョンをアクセスするのに、
ユーザは、ノード又はリンク、特定のインスタンスが属
するコンテキスト、及びインスタンスのバージョン時期
を識別し々ければならない。
スを相互接続するのと同じ方法で、新たなリンク・イン
スタンスは、マージされたノート1の新たなインスタン
スを相互接続する。データ管理マシンは、第2コンテキ
ストにマージされていない第1コンテキストのノードに
、第1コンテキスト内のマージさnたノードを接続する
多くのリンクの新たなインスタンスも作成する。これら
新たなリンク・インスタンスは、第2コンテキストに帰
属するノードの新たなインスタンスを第1コンテキスト
に帰属するマージされていないノード・インスタンスに
接続するので、これら新たなリンク・インスタンスは「
クロス・コンテキスト」リンクである。ノード及びリン
ク・アトリビュートは、ノード又はリンクの各インスタ
ンスに対して独立に維持され、ノード又はリンクが異な
るコンテキストにマージされると、総てのノード及びリ
ンク・アトリビュートも新たなコンテキストにマージさ
れる。異なるコンテキストに属するノード又はリンクの
異なるインスタンスのアトリビュートも、独立に変更で
きる。総てのリンク・インスタンス用と、各ノード及び
リンク・インスタンスに関連したアトリビュート用に個
々のバージョン履歴を維持する。ノード又はリンクの特
定インスタンスの特定バージョンをアクセスするのに、
ユーザは、ノード又はリンク、特定のインスタンスが属
するコンテキスト、及びインスタンスのバージョン時期
を識別し々ければならない。
一般的には、ユーザは、新たなコンテキストを「プライ
ベート・ワークスペース」として作成し、その中に「マ
スク」コンテキストから存在するノード及びリンクのイ
ンスタンスをコピースル。次に、ユーザは、マスク・コ
ンテキストの元のノード及びリンクに影響を与えること
なく、断念なコンテキスト内のこれらノーr及びリンク
・インスタンスを変更できる。その結果、変更したノー
ド又はリンクをマージしてマスク・コンテキストに戻す
。ここからこnらをコピーして、マスク・コンテキスト
内に元のノード又はリンクの新しいバージョンを作成す
る。
ベート・ワークスペース」として作成し、その中に「マ
スク」コンテキストから存在するノード及びリンクのイ
ンスタンスをコピースル。次に、ユーザは、マスク・コ
ンテキストの元のノード及びリンクに影響を与えること
なく、断念なコンテキスト内のこれらノーr及びリンク
・インスタンスを変更できる。その結果、変更したノー
ド又はリンクをマージしてマスク・コンテキストに戻す
。ここからこnらをコピーして、マスク・コンテキスト
内に元のノード又はリンクの新しいバージョンを作成す
る。
図表を独立したコンテキストに分割することKよシ、ユ
ーザはノード及びリンクの大きな図表を構成できるので
、ノーr及びリンクが変更された際の競合の可能性を小
さくすることにより、互いに干渉するリスクを限定して
、編集者のチームは集合文書について一緒に作業するこ
とができる。
ーザはノード及びリンクの大きな図表を構成できるので
、ノーr及びリンクが変更された際の競合の可能性を小
さくすることにより、互いに干渉するリスクを限定して
、編集者のチームは集合文書について一緒に作業するこ
とができる。
各編集者は、マスク・コンテキスト内のノード及びリン
クの部分を自分自身のプライベート・コンテキスト内に
マージする目的で、特定のマスク・コンテキストにアク
セスすることが許される。ここで、マスク・コンテキス
トのノード及ヒリンクに影響を与えることなく、また任
意の他の編集者のコンテキストに影響を与えることなく
、ノード及びリンクのインスタンスを変更できる。ま念
、編集者は、自分のプライベート・コンテキスト内に新
たなノード及びリンクも作成できる。同じ特定時点く、
プライベート・コンテキストのノード及びリンクをマス
ク・コンテキストにマージすることにより、プライベー
ト・コンテキスト内の作業をチームに解放できる。プラ
イベート・コンテキストからのノード又はリンクが、マ
スク・コンテキストのノード又はリンクの変更されたイ
ンスタンスの場合、変更されたインスタンスはマスク。
クの部分を自分自身のプライベート・コンテキスト内に
マージする目的で、特定のマスク・コンテキストにアク
セスすることが許される。ここで、マスク・コンテキス
トのノード及ヒリンクに影響を与えることなく、また任
意の他の編集者のコンテキストに影響を与えることなく
、ノード及びリンクのインスタンスを変更できる。ま念
、編集者は、自分のプライベート・コンテキスト内に新
たなノード及びリンクも作成できる。同じ特定時点く、
プライベート・コンテキストのノード及びリンクをマス
ク・コンテキストにマージすることにより、プライベー
ト・コンテキスト内の作業をチームに解放できる。プラ
イベート・コンテキストからのノード又はリンクが、マ
スク・コンテキストのノード又はリンクの変更されたイ
ンスタンスの場合、変更されたインスタンスはマスク。
コンテキスト内の元のインスタンスの最新バージョンと
なる。
なる。
しかし、2Å以上の編集者が、マスク・ノード又はリン
クのプライベート・インスタンスを変更でき、そのイン
スタンスをマスク・コンテキスト内にマージできるので
、競合が生じる。第3図は、コンテキストA内のノーr
・インスタンスrXJの展開を示す「バージョン・ツリ
ー」であり、このノーr・インスタンスXをコンテキス
トBにマージしてノーr・インスタンスrYJを形成す
る。次に、ノード・インスタンスYを変更しコンテキス
トAにマージして、ノード・インスタンスXの新しいバ
ージョンを形成する。ノードXのノ々−ジョンXOを時
点t0にコンテキス)A内に形成して、時点t1に変更
してバージョンX1f:形成する。時点t2に、パージ
ョンX1をコンテキストBにマージして、ノーrYのバ
ージョンYOを形成する。次に、時点t3及びt5にノ
ーPYt−変更して、その結果、ノードYの2つの/J
−ジョンY1及ヒY2ヲ形成する。その間、時点t4に
、コンテキス)A内のノーrXを変更してバージョンX
2を形成する。
クのプライベート・インスタンスを変更でき、そのイン
スタンスをマスク・コンテキスト内にマージできるので
、競合が生じる。第3図は、コンテキストA内のノーr
・インスタンスrXJの展開を示す「バージョン・ツリ
ー」であり、このノーr・インスタンスXをコンテキス
トBにマージしてノーr・インスタンスrYJを形成す
る。次に、ノード・インスタンスYを変更しコンテキス
トAにマージして、ノード・インスタンスXの新しいバ
ージョンを形成する。ノードXのノ々−ジョンXOを時
点t0にコンテキス)A内に形成して、時点t1に変更
してバージョンX1f:形成する。時点t2に、パージ
ョンX1をコンテキストBにマージして、ノーrYのバ
ージョンYOを形成する。次に、時点t3及びt5にノ
ーPYt−変更して、その結果、ノードYの2つの/J
−ジョンY1及ヒY2ヲ形成する。その間、時点t4に
、コンテキス)A内のノーrXを変更してバージョンX
2を形成する。
時点t6にて、コンテキス)B内のノードYのノ9−ジ
ョンY2をコンテキストAにマージして、Xの新たなバ
ージョンX3を形成する。ノ4−ジョンX3は、バージ
ョンX2から得たのではなく、ノードYのi4−ジョン
Y2から得たので、ノードXの/?−ジョン履歴はノー
rXのバージョンX2及びX3間が不連続である点に留
意されたい。X2を形成するためにXI ?変樋するこ
とは、これらの変更がノ4−ジョンX3に反映しないと
いう意味において「失われる」。
ョンY2をコンテキストAにマージして、Xの新たなバ
ージョンX3を形成する。ノ4−ジョンX3は、バージ
ョンX2から得たのではなく、ノードYのi4−ジョン
Y2から得たので、ノードXの/?−ジョン履歴はノー
rXのバージョンX2及びX3間が不連続である点に留
意されたい。X2を形成するためにXI ?変樋するこ
とは、これらの変更がノ4−ジョンX3に反映しないと
いう意味において「失われる」。
よって、コンテキストBからノード及びリンクをマスタ
・コンテキストAにコピーシテ、マスク・コンテキスト
内に元のノード及びリンクの新たなバージョンを形成す
るというマージ動作を実行する前に、コンテキストBを
制御するユーザは、他のユーザがマスタ・コンテキス)
A内の同じノード又はリンクのいくつかを既に更新して
しまったかを知りたがるであろう。ユーザがこれを行な
うには、マスク・コンテキスト・ノードの最新バージョ
ン(X2)を識別するTimeパラメータをチェックし
、それが、コンテキストB内のバージョンYOを形成す
るためにコピーされたバージョン(Xl)と同じでおる
かを判断すnばよい。この例では、ノードX2のT1m
@パラメータは、ノードX1のTimeパラメータとq
論一致せず、競合が検出さnる。
・コンテキストAにコピーシテ、マスク・コンテキスト
内に元のノード及びリンクの新たなバージョンを形成す
るというマージ動作を実行する前に、コンテキストBを
制御するユーザは、他のユーザがマスタ・コンテキス)
A内の同じノード又はリンクのいくつかを既に更新して
しまったかを知りたがるであろう。ユーザがこれを行な
うには、マスク・コンテキスト・ノードの最新バージョ
ン(X2)を識別するTimeパラメータをチェックし
、それが、コンテキストB内のバージョンYOを形成す
るためにコピーされたバージョン(Xl)と同じでおる
かを判断すnばよい。この例では、ノードX2のT1m
@パラメータは、ノードX1のTimeパラメータとq
論一致せず、競合が検出さnる。
ユーザは「差チェック(ChsakForDiffer
ences) Jルーチンを要求で、き、このルーチン
は、2つのノードのコンテキストを比較し、それらの差
を戻す。
ences) Jルーチンを要求で、き、このルーチン
は、2つのノードのコンテキストを比較し、それらの差
を戻す。
これは、ノード・アトリビュート、ノードのリンク及び
リンク・アトリビュートにおける差をチェックする。
リンク・アトリビュートにおける差をチェックする。
競合が検出されると、編集者は、バージョン℃及びX2
間(又はノードX2及び72間)の差は何かを知ろうと
するので、その編集者は、インスタンスY2 iコンテ
キストAにマージすることによシ重寮な情報が失われた
かを判断できる。よって、本発明によるマシン(14)
は、後述する手順を用いて。
間(又はノードX2及び72間)の差は何かを知ろうと
するので、その編集者は、インスタンスY2 iコンテ
キストAにマージすることによシ重寮な情報が失われた
かを判断できる。よって、本発明によるマシン(14)
は、後述する手順を用いて。
任意の2つのノード間の差をユーザに示す。
本発明の好適な実施例において、リンクはあるコンテキ
ストのノードを他のコンテキストに接続するが、リンク
が接続するノードの1つとして、このリンクは同じコン
テキスト内に「属さ」なければならない。マージ動作に
おいて、1つのコンテキストから他のコンテキストにコ
ピーすべき1つ以上のノードをユーザは特定できるが、
コピーすべきリンクを特定しなくてもよい。むしろ、ユ
ーザが第1コンテキストから第2コンテキストヘコピー
すべきノードを特定するとき、マシン(14)はノード
に接続さnた総てのリンクを第2コンテキストに自動的
にコピーする。
ストのノードを他のコンテキストに接続するが、リンク
が接続するノードの1つとして、このリンクは同じコン
テキスト内に「属さ」なければならない。マージ動作に
おいて、1つのコンテキストから他のコンテキストにコ
ピーすべき1つ以上のノードをユーザは特定できるが、
コピーすべきリンクを特定しなくてもよい。むしろ、ユ
ーザが第1コンテキストから第2コンテキストヘコピー
すべきノードを特定するとき、マシン(14)はノード
に接続さnた総てのリンクを第2コンテキストに自動的
にコピーする。
検索を容易にするためにユーザがノーr及びリンクにア
トリビュート及びアトリビュート値を割当てるのと同じ
方法で、ユーザはアトリビュート及びアトリビュート値
をコンテキストに割当てることができる。このマシンは
、後述する如く、割当てられたコンテキスト・アトリビ
ュート値を基本にしたコンテキストを捜すためにユーザ
を援助することを要求される検索プログラムを含んでい
本発明によシマシン(14)を実現するプログラムは、
C言語で書ける。第1図はこのプログラムのブロック図
であシ、各ブロックがプログラム又はこのプログラムが
保持するいくつかのデータ・ファイルの1つを表わす。
トリビュート及びアトリビュート値を割当てるのと同じ
方法で、ユーザはアトリビュート及びアトリビュート値
をコンテキストに割当てることができる。このマシンは
、後述する如く、割当てられたコンテキスト・アトリビ
ュート値を基本にしたコンテキストを捜すためにユーザ
を援助することを要求される検索プログラムを含んでい
本発明によシマシン(14)を実現するプログラムは、
C言語で書ける。第1図はこのプログラムのブロック図
であシ、各ブロックがプログラム又はこのプログラムが
保持するいくつかのデータ・ファイルの1つを表わす。
各コンテキス)K対して第1図のノード内容ファイル(
22)を維持し、ノードの前のバージョンに関する情報
及びノード内容を蓄積する。単一のコンテキスト辞書フ
ァイル(29)を設け、図表の各コンテキスト用のエン
トリを記憶する。コンテキスト辞’l (29)内の各
エントリには、次のパラメータがある。
22)を維持し、ノードの前のバージョンに関する情報
及びノード内容を蓄積する。単一のコンテキスト辞書フ
ァイル(29)を設け、図表の各コンテキスト用のエン
トリを記憶する。コンテキスト辞’l (29)内の各
エントリには、次のパラメータがある。
作成時間(creationTlms) :これは、こ
のコンテキスト(コンテキスト辞書エントリに関連した
コンテキスト)を作成した時を示すTimeパラメータ
である。
のコンテキスト(コンテキスト辞書エントリに関連した
コンテキスト)を作成した時を示すTimeパラメータ
である。
編集者(author ) :
これは、このコンテキストのアクセスを制御する人間の
能力の識別を表わす。
能力の識別を表わす。
ア ト リ ビ ュ − ト (attri
butes) :これは、第1図のアトリビュート
名辞書(32)及びアトリビュート位牌’!(34)に
おける項目を示す1組のアトリビュート/値ノナ2メー
タ対である。各アトリビュート名辞書(32)エントリ
は、特定のアトリビュートの名前を示し、各アトリビュ
ート値辞書(34)エントリは特定のコンテキスト・ア
トリビュート値を示す。
butes) :これは、第1図のアトリビュート
名辞書(32)及びアトリビュート位牌’!(34)に
おける項目を示す1組のアトリビュート/値ノナ2メー
タ対である。各アトリビュート名辞書(32)エントリ
は、特定のアトリビュートの名前を示し、各アトリビュ
ート値辞書(34)エントリは特定のコンテキスト・ア
トリビュート値を示す。
このコンテキストを特徴づける各アトリビュート用に、
1つのアトリビュート・パラメータ対は、各コンテキス
ト辞書(29)エントリ内に含まれる。
1つのアトリビュート・パラメータ対は、各コンテキス
ト辞書(29)エントリ内に含まれる。
(アレントアイデイ(par@ntId ) :このパ
ラメータは、このコンテキストの「ペアレント(親)」
を識別する。階層において、コンテキストを配置して、
ルート(グローバル)コンテキストではなく、新たなコ
ンテキストを存在する( 、oアレント)コンテキスト
の「チャイルド(子)」として作成する。この階層構造
により、ユーザはコンテキストを構成する。
ラメータは、このコンテキストの「ペアレント(親)」
を識別する。階層において、コンテキストを配置して、
ルート(グローバル)コンテキストではなく、新たなコ
ンテキストを存在する( 、oアレント)コンテキスト
の「チャイルド(子)」として作成する。この階層構造
により、ユーザはコンテキストを構成する。
ファーストチャイルド(firstchild ) :
このパラメータは、このコンテキストの子コンテキスト
のリンクしたリストにおけるこのコンテキストの第1の
子を識別する。
このパラメータは、このコンテキストの子コンテキスト
のリンクしたリストにおけるこのコンテキストの第1の
子を識別する。
ネクストシブリング(n@xtsibllng ) :
このノ臂うメータは、このコンテキストの親コンテキス
トの子のリンクされたリストにおけるこのコンテキスト
の次のシブ′リング(兄弟)を識別する。
このノ臂うメータは、このコンテキストの親コンテキス
トの子のリンクされたリストにおけるこのコンテキスト
の次のシブ′リング(兄弟)を識別する。
1つのノード辞’!(24)ファイルt−6コンテキス
ト用に設けるが、このファイル#i1組のエントリ(「
ノード記録」)をコンテキストの各ノードに対して1つ
含んでいる。各エントリは、次のパラメータを含む対応
ノードに関する情報を含んでいる。
ト用に設けるが、このファイル#i1組のエントリ(「
ノード記録」)をコンテキストの各ノードに対して1つ
含んでいる。各エントリは、次のパラメータを含む対応
ノードに関する情報を含んでいる。
作成時間(creationTims、 ) :このノ
やラメータは、(このノード辞書エントリが説明する)
このノードのバージョン・タイムを示す。
やラメータは、(このノード辞書エントリが説明する)
このノードのバージョン・タイムを示す。
最終更新時間(1astUpdateTims ) :
このパラメータの値は、このノードの次の最新バージョ
ン用のバージョン・タイムを示す。
このパラメータの値は、このノードの次の最新バージョ
ン用のバージョン・タイムを示す。
本発明の好適な笑施例において、任意の開始瞬間以後に
経過した秒数によりバージョン・タイムを表わす。
経過した秒数によりバージョン・タイムを表わす。
削除時間(d@letlonTime ) :このノー
ドが図表から「削除」され、このノーとがアーカイブ・
ノードであると、このノードが削除された第1時間を示
す値にこのパラメータを割当てる。
ドが図表から「削除」され、このノーとがアーカイブ・
ノードであると、このノードが削除された第1時間を示
す値にこのパラメータを割当てる。
ステータス(at息tu霞):
このノぐラメータは、このノードがアーカイブ型ノード
であるかどうかを示す。
であるかどうかを示す。
作成器(areator ) :
このパラメータは、このノードを作成したユーザを識別
する。
する。
実際のインデクス(actualIndex ) :こ
のノやラメータは、このノード用の「グローバル」識別
である。異なるコンテキスト内の同じノードの総てのイ
ンスタンスを同じaetualIndexノぐラメータ
値で識別する。
のノやラメータは、このノード用の「グローバル」識別
である。異なるコンテキスト内の同じノードの総てのイ
ンスタンスを同じaetualIndexノぐラメータ
値で識別する。
第1出力リンク(firstOutlink ) :こ
のノぐラメータは、このノードから図表内の他のノード
を指示する第1の1組の総ての「出力リンク」を説明す
るLinkInd+xである。
のノぐラメータは、このノードから図表内の他のノード
を指示する第1の1組の総ての「出力リンク」を説明す
るLinkInd+xである。
第1人力リンク(firstInlink ) :この
パラメータは、コンテキスト内の任意の他のノードから
このノードを指示する第1の1組の総ての「入力リンク
」を説明するLinkIndexである。
パラメータは、コンテキスト内の任意の他のノードから
このノードを指示する第1の1組の総ての「入力リンク
」を説明するLinkIndexである。
ア ト リ ピ ュ − ト (attri
butes ) :これは、第1図のアトリビュ
ート名辞書(32)及びアトリビュート位牌? (34
)における項目を示す1組のアトリビュート/値パラメ
ータ対である。各アトリビュート名辞曹(32)項目は
、特定のアトリビュートの名前を示し、各アトリビュー
ト値辞書(34)項目は特定のノードアトリビュート値
を示す。ノードを特徴づける各アトリビュート用に、1
つのアトリビュート・パラメータ対は、各ノード辞書(
24)項目内に含まれる。
butes ) :これは、第1図のアトリビュ
ート名辞書(32)及びアトリビュート位牌? (34
)における項目を示す1組のアトリビュート/値パラメ
ータ対である。各アトリビュート名辞曹(32)項目は
、特定のアトリビュートの名前を示し、各アトリビュー
ト値辞書(34)項目は特定のノードアトリビュート値
を示す。ノードを特徴づける各アトリビュート用に、1
つのアトリビュート・パラメータ対は、各ノード辞書(
24)項目内に含まれる。
各コンテキスト用に第1図の1つのリンク辞書(26)
を設けるが、次のパラメータを含むコンテキスト内の各
リンクに関する情報を蓄積するために1組のエントリ(
リンク記録)を含んでいる。
を設けるが、次のパラメータを含むコンテキスト内の各
リンクに関する情報を蓄積するために1組のエントリ(
リンク記録)を含んでいる。
フロムノード(fromNode ):コ(7) z4
ラメ−タは「ノードから」のNodeIndexであ
り、ここからこのリンク(リンク辞書エントリが説明し
たリンク)が指摘する。
ラメ−タは「ノードから」のNodeIndexであ
り、ここからこのリンク(リンク辞書エントリが説明し
たリンク)が指摘する。
ツーノード(toNods ) :
このノやラメータは、「ノードへ」の現在ツバ−ジョン
用のNadeIndexであり、このリンクがここを指
摘する。
用のNadeIndexであり、このリンクがここを指
摘する。
削除時間(del@tionTime ) :これは、
このリンクが削除された場合、図表からリンクが削除さ
れた第1時間を示すバージョン・タイム・パラメータで
ある。リンクが削除されていないと、del@tion
Time/4’ラメ−タを最大の零でない整数に割当て
る。
このリンクが削除された場合、図表からリンクが削除さ
れた第1時間を示すバージョン・タイム・パラメータで
ある。リンクが削除されていないと、del@tion
Time/4’ラメ−タを最大の零でない整数に割当て
る。
作成器(creator ) :
このパラメータは、このリンクを作成するユーザを識別
する。
する。
実際のインデックス(metualInd@x ) :
このノやラメータは、このリンク用のグローバルな識別
である。異なるコンテキスト内の同じリンクの総てのイ
ンスタンスを、同じacturlIndIx数によシ識
別する。
このノやラメータは、このリンク用のグローバルな識別
である。異なるコンテキスト内の同じリンクの総てのイ
ンスタンスを、同じacturlIndIx数によシ識
別する。
ア ト リ ビュー ト (attrlbutas
) :これは、アトリビュート値辞書(34)及びア
トリビュート名辞−f (32)におけるエントリを指
摘する1組のパラメータ対である。1つのアトリビュー
ト・パラメータ対は、このリンクを特徴づける各アトリ
ビュート用に含まれる。
) :これは、アトリビュート値辞書(34)及びア
トリビュート名辞−f (32)におけるエントリを指
摘する1組のパラメータ対である。1つのアトリビュー
ト・パラメータ対は、このリンクを特徴づける各アトリ
ビュート用に含まれる。
アトリビュート値辞書(34)エントリは、そのリンク
に関連したアトリビュートの値を示し、アトリビュート
名辞−if (32)エントリはそのリンクに関連した
アトリビュートの名前を示す。
に関連したアトリビュートの値を示し、アトリビュート
名辞−if (32)エントリはそのリンクに関連した
アトリビュートの名前を示す。
現在値(curr@ntValue ) :これは、f
romNode及びtoNod@のContextId
、リンクにより関係づけられた「フロムノード」及、び
「ツーノード」に蓄積されたデータ・シーケンス内の「
リンク点位置」を示す1組のパラメータである。「リン
ク点位置」は、ノード内のデータの特定ビットを参照す
る。なお、そのノードへ又はそのノードからこのリンク
が指摘する。
romNode及びtoNod@のContextId
、リンクにより関係づけられた「フロムノード」及、び
「ツーノード」に蓄積されたデータ・シーケンス内の「
リンク点位置」を示す1組のパラメータである。「リン
ク点位置」は、ノード内のデータの特定ビットを参照す
る。なお、そのノードへ又はそのノードからこのリンク
が指摘する。
以前のバージョン(previousVers 1on
)、以前のインデックス(prevIndax) :
このパラメータは、リンクの以前のバージョンを説明す
るリンク・バージョン・ファイル(28)内の第2エン
トリを指摘する。
)、以前のインデックス(prevIndax) :
このパラメータは、リンクの以前のバージョンを説明す
るリンク・バージョン・ファイル(28)内の第2エン
トリを指摘する。
次の出力リンク(ntxtOutlink ) :この
ノぐラメータは、このリンクと同じ「フロムノード」か
ら向けられた他のリンクに関連したリンク辞V (26
)内の他のエントリ用のLinkIndexである。各
リンク辞書(26)エントリ内のnextoutlin
kノ9ラメータは、任意の個々のノードから向けられた
リンクを説明する総てのリンク辞書エントリを相互接続
して、「出力リンク」エントリのリンクされたリストを
形成する。各ノードを説明するノード辞書(24)エン
トリ内のfirstoutlink /4ラメータは、
「出力リンク」エントリのリンクされたリストの第1リ
ンク辞! (26)エントリを指摘し、出力リンク・リ
ストを横断することにより他の総ての出力リンクを決定
できる。
ノぐラメータは、このリンクと同じ「フロムノード」か
ら向けられた他のリンクに関連したリンク辞V (26
)内の他のエントリ用のLinkIndexである。各
リンク辞書(26)エントリ内のnextoutlin
kノ9ラメータは、任意の個々のノードから向けられた
リンクを説明する総てのリンク辞書エントリを相互接続
して、「出力リンク」エントリのリンクされたリストを
形成する。各ノードを説明するノード辞書(24)エン
トリ内のfirstoutlink /4ラメータは、
「出力リンク」エントリのリンクされたリストの第1リ
ンク辞! (26)エントリを指摘し、出力リンク・リ
ストを横断することにより他の総ての出力リンクを決定
できる。
次の入力リンク(n@xtInlink ) :このパ
ラメータは、このリンクと同じノードに向かうリンクに
関連したリンク辞書(26)内の他のエントリ用のLi
nkIndexである。各リンク辞書(26)エントリ
におけるnextinLinkノソラメータは、任意の
個々のノードに向かったリンクを説明する総てのリンク
辞書エントリを相互接続して、エントリのリンクされた
「入力リンク」リストを形成する。特定のノードを説明
するノード辞J (24)エントリ内のfirstIn
Linkパラメータは、出力リンクエントリのリンクさ
れたリストの第1リンク辞書(26)エントリを指摘す
る。よって、リンク辞書エントリのリンクされた「入力
リンク」リストもノード毎に設ける。関連した「入力リ
ンク」リストを横断することにより、各ノード用の「入
力リンク」を決定できる。
ラメータは、このリンクと同じノードに向かうリンクに
関連したリンク辞書(26)内の他のエントリ用のLi
nkIndexである。各リンク辞書(26)エントリ
におけるnextinLinkノソラメータは、任意の
個々のノードに向かったリンクを説明する総てのリンク
辞書エントリを相互接続して、エントリのリンクされた
「入力リンク」リストを形成する。特定のノードを説明
するノード辞J (24)エントリ内のfirstIn
Linkパラメータは、出力リンクエントリのリンクさ
れたリストの第1リンク辞書(26)エントリを指摘す
る。よって、リンク辞書エントリのリンクされた「入力
リンク」リストもノード毎に設ける。関連した「入力リ
ンク」リストを横断することにより、各ノード用の「入
力リンク」を決定できる。
第1図の1つのアトリビュート値辞書(34)を各コン
テキスト用に設け、各コンテキスト、各ノード又はコン
テキストの各リンクに対する各アトリビュート値用のエ
ントリを含んでいる。このアトリビュート位牌誉の各エ
ントリは以下のパラメータを含んでいる。
テキスト用に設け、各コンテキスト、各ノード又はコン
テキストの各リンクに対する各アトリビュート値用のエ
ントリを含んでいる。このアトリビュート位牌誉の各エ
ントリは以下のパラメータを含んでいる。
エンティティ(entity ) :
これは、アトリビュート値辞書(34)エントリが参照
したアトリビュート値が割当てられたノード辞! (2
4)リンク辞書(26)又はコンテキスト辞書(29)
のエントリに対するNodeIndex。
したアトリビュート値が割当てられたノード辞! (2
4)リンク辞書(26)又はコンテキスト辞書(29)
のエントリに対するNodeIndex。
LinkIndex又はContextIdである。
現在の値(currsntValue ) :リンクノ
ード又はコンテキストのアトリビュートの値を時々変(
でき、アーカイブ・ノード及びアーカイブ・ノードを接
続するリンク用に各アトリビュート値のバージョン履歴
を保持する。アトリビュート値もバージョン・タイムに
91当てて、同じアトリビュートの異なるバージョンを
識別する。eurrentValu・パラメータは、ア
トリビュートの現在の値に関連し、現在のア) IJビ
ュート値の文字列名を表わす整数値又は列インデックス
・ノeラメ−l’ f 含むバージョン・タイムの記録
である。
ード又はコンテキストのアトリビュートの値を時々変(
でき、アーカイブ・ノード及びアーカイブ・ノードを接
続するリンク用に各アトリビュート値のバージョン履歴
を保持する。アトリビュート値もバージョン・タイムに
91当てて、同じアトリビュートの異なるバージョンを
識別する。eurrentValu・パラメータは、ア
トリビュートの現在の値に関連し、現在のア) IJビ
ュート値の文字列名を表わす整数値又は列インデックス
・ノeラメ−l’ f 含むバージョン・タイムの記録
である。
第1図の列テーブル(46)をアクセスして1列インデ
ックス・・9ラメータが表わす文字列を決定する。
ックス・・9ラメータが表わす文字列を決定する。
前の(previous) 、前のインデックス(pr
evIndex):アトリビュート値バージョン・ファ
イル(36)は、アトリビュート値の前のバージョンに
説明されたエントリを含んでおシ、アトリビュート値バ
ージョン・ファイル内のこレラエントリは、横断される
リンク・リストを形成して、ノード、リンク又はコンテ
キスト・アトリビュート値の任意の前のバージョンを確
かめる。前の又はpreviousIndaxパラメー
タを用いて、リンクされたリストの第1エントリを探す
。
evIndex):アトリビュート値バージョン・ファ
イル(36)は、アトリビュート値の前のバージョンに
説明されたエントリを含んでおシ、アトリビュート値バ
ージョン・ファイル内のこレラエントリは、横断される
リンク・リストを形成して、ノード、リンク又はコンテ
キスト・アトリビュート値の任意の前のバージョンを確
かめる。前の又はpreviousIndaxパラメー
タを用いて、リンクされたリストの第1エントリを探す
。
第1図の1つのアトリビュート名辞書(32)を各コン
テキスト用に設ける。この辞書は各アトリビュート名に
対するエントリを収容しており、またアトリビュートを
名付ける文字列を識別する列インデックス・ノ4ラメー
タも含んでいる。第1図のエンティティ・アトリビュー
ト辞! (30)を各コンテキスト用に設ける。この辞
書は超過アトリビュート・ノ2ラメータ対を蓄積する。
テキスト用に設ける。この辞書は各アトリビュート名に
対するエントリを収容しており、またアトリビュートを
名付ける文字列を識別する列インデックス・ノ4ラメー
タも含んでいる。第1図のエンティティ・アトリビュー
ト辞! (30)を各コンテキスト用に設ける。この辞
書は超過アトリビュート・ノ2ラメータ対を蓄積する。
これら超過アトリビュート・・ぐラメータ対は、固定化
された記録サイズのために、稀々のノード、リンク又は
コンテキストに関係するノード辞書(24)、リンク辞
書(26)又はコンテキスト辞書(29)のエントリ内
に蓄積できない。アトリビュート・ノ量うメータ対で満
たせるノード辞書(24)、リンク辞書(26)又はコ
ンテキスト辞書(29)の各エントリは、付加アトリビ
ュート・パラメータ対が蓄積されるエンティティ・アト
リビュート辞書(30)内のエントリに対するポインタ
を含んでいる。同じノード、リンク又はコンテキストに
関するエンティティ・アトリビュート辞書内のエントリ
をポインタによシリンジして、そうでなければノード、
リンク又はコンテキスト用のノード、リンク又はコンテ
キスト辞書エントリ内に蓄積されていないノード、リン
ク又はコンテキスト用に総てのアトリビュート値の対を
決定するために横断されるリンクされたリストを形成す
る。
された記録サイズのために、稀々のノード、リンク又は
コンテキストに関係するノード辞書(24)、リンク辞
書(26)又はコンテキスト辞書(29)のエントリ内
に蓄積できない。アトリビュート・ノ量うメータ対で満
たせるノード辞書(24)、リンク辞書(26)又はコ
ンテキスト辞書(29)の各エントリは、付加アトリビ
ュート・パラメータ対が蓄積されるエンティティ・アト
リビュート辞書(30)内のエントリに対するポインタ
を含んでいる。同じノード、リンク又はコンテキストに
関するエンティティ・アトリビュート辞書内のエントリ
をポインタによシリンジして、そうでなければノード、
リンク又はコンテキスト用のノード、リンク又はコンテ
キスト辞書エントリ内に蓄積されていないノード、リン
ク又はコンテキスト用に総てのアトリビュート値の対を
決定するために横断されるリンクされたリストを形成す
る。
アトリビュート名、アトリビュート値、UNIXシステ
ム辞書プリフィックス、及びユーデ名用VC文字列を利
用し、各文字列を独特な列インデックス・ノクラメータ
値に割当てる。第1図の列ハツシュ・テーブル(42)
及び列テーブル(46)と共に列インデックス・テーブ
ル(44)を設けて1文字列から列インデックス・パラ
メータ値に及びその逆に変換する。総てのコンテキスト
が、これらファイルの各々のグローバル・コピーをアク
・セスする。列ハツシュ・テーブル(42)は、ハツシ
ュさレタ文字列に関する列インデックス番号が蓄積され
た列インデックス・テーブル(44)内のエントリに対
するポインタを与える文字列ハツシング技術を実現する
。列テーブル(46)を利用して、列インデックス番号
を対応文字列に変換する。
ム辞書プリフィックス、及びユーデ名用VC文字列を利
用し、各文字列を独特な列インデックス・ノクラメータ
値に割当てる。第1図の列ハツシュ・テーブル(42)
及び列テーブル(46)と共に列インデックス・テーブ
ル(44)を設けて1文字列から列インデックス・パラ
メータ値に及びその逆に変換する。総てのコンテキスト
が、これらファイルの各々のグローバル・コピーをアク
・セスする。列ハツシュ・テーブル(42)は、ハツシ
ュさレタ文字列に関する列インデックス番号が蓄積され
た列インデックス・テーブル(44)内のエントリに対
するポインタを与える文字列ハツシング技術を実現する
。列テーブル(46)を利用して、列インデックス番号
を対応文字列に変換する。
ノード辞? (24)及び第1図の種々の他のファイル
間の関係を第4図に示す。シード辞! (24)の1つ
のエントリ(110)に含まれた・マラメータの選択さ
れた部分は、リング・マツプ・テーブル(24)により
リンク辞! (26)内のエントリ(112)にマツプ
をする第1人力リンク(firstInlink)パラ
メータを含んでい゛る。エントリ(112)は、エント
リ(110)が説明するノードを指摘する総てのリンク
の「入力リンク」リストの第1リンクを説明すると共に
、リンク・マツプ・テーブル(24)により入力リンク
・リストの次のリンク辞書エントリにマツプするntx
tInlinkポインタを含んでいる。同様に、ノード
辞書エントリ(110)の第1出力リンクf 1rst
Outlinkノー2メータは、リンク辞書(26)内
のエントリ(114)にマツプする。このリンク辞#
(26)はエントリ(110)が説明するノードから指
摘する総てのリンクを説明する「出力リンク」エントリ
のリンクされたリストの第1エントリから成る。
間の関係を第4図に示す。シード辞! (24)の1つ
のエントリ(110)に含まれた・マラメータの選択さ
れた部分は、リング・マツプ・テーブル(24)により
リンク辞! (26)内のエントリ(112)にマツプ
をする第1人力リンク(firstInlink)パラ
メータを含んでい゛る。エントリ(112)は、エント
リ(110)が説明するノードを指摘する総てのリンク
の「入力リンク」リストの第1リンクを説明すると共に
、リンク・マツプ・テーブル(24)により入力リンク
・リストの次のリンク辞書エントリにマツプするntx
tInlinkポインタを含んでいる。同様に、ノード
辞書エントリ(110)の第1出力リンクf 1rst
Outlinkノー2メータは、リンク辞書(26)内
のエントリ(114)にマツプする。このリンク辞#
(26)はエントリ(110)が説明するノードから指
摘する総てのリンクを説明する「出力リンク」エントリ
のリンクされたリストの第1エントリから成る。
エントリ(114)は、出力リンク・リストの次のリン
ク辞書(26)エントリをマツプする次の出力リンク(
nectoutl Ink ) /4’ラメータを含ん
でいる。
ク辞書(26)エントリをマツプする次の出力リンク(
nectoutl Ink ) /4’ラメータを含ん
でいる。
ノード辞書(24)のエントリ(110)の1つのアト
リビュート・ノfラメータ対(attribute及び
valueで示す)を第4図に示す。この対のアトリビ
ュート部分は、アトリビュート名辞it (32)のエ
ントリ(116)を指摘する。このエントリは、そのア
トリビュートの名前に関連した列インデックス(str
ingInd@x )パラメータを含んでいる。この対
の値部分は、ノード・マツプ(31)によりアトリビュ
ート値辞書(34)のエントリ(118)にマツプする
。上述の如く、ノードをそのノード用のノード辞? (
24)エントリ内に蓄積できる以上にアトリビュート・
ノ卆うメータ対に割当てると、超過アトリビュート・ノ
やラメータ対がエンティティ・アトリビュート辞書(3
0)内に蓄積される。、第4図の例において、ノード辞
書エントリ(110)内の「次の(next ) Jポ
インタは、アトリビュート対の次のグループを含むエン
ティティ・アトリビュート辞書のニジトリ(120)を
指摘する。エントリ(120)は、ノード辞書エントリ
(110)が説明したノードに関連したアトリビュート
対の付加グループを含んだ他のアトリビュート辞書エン
トリに対する欧の(next ) Jポインタも含んで
いる。
リビュート・ノfラメータ対(attribute及び
valueで示す)を第4図に示す。この対のアトリビ
ュート部分は、アトリビュート名辞it (32)のエ
ントリ(116)を指摘する。このエントリは、そのア
トリビュートの名前に関連した列インデックス(str
ingInd@x )パラメータを含んでいる。この対
の値部分は、ノード・マツプ(31)によりアトリビュ
ート値辞書(34)のエントリ(118)にマツプする
。上述の如く、ノードをそのノード用のノード辞? (
24)エントリ内に蓄積できる以上にアトリビュート・
ノ卆うメータ対に割当てると、超過アトリビュート・ノ
やラメータ対がエンティティ・アトリビュート辞書(3
0)内に蓄積される。、第4図の例において、ノード辞
書エントリ(110)内の「次の(next ) Jポ
インタは、アトリビュート対の次のグループを含むエン
ティティ・アトリビュート辞書のニジトリ(120)を
指摘する。エントリ(120)は、ノード辞書エントリ
(110)が説明したノードに関連したアトリビュート
対の付加グループを含んだ他のアトリビュート辞書エン
トリに対する欧の(next ) Jポインタも含んで
いる。
ノード辞書エントリ(110)内の値ポインタが参照し
たアトリビュート値辞書(34)のエントリ(118)
に、整数値を収容する現在値(currentValu
e ) /4’ラメータか、又はアトリビュート値名に
関連した列インデックス(stringlndex )
数を含んでいる。
たアトリビュート値辞書(34)のエントリ(118)
に、整数値を収容する現在値(currentValu
e ) /4’ラメータか、又はアトリビュート値名に
関連した列インデックス(stringlndex )
数を含んでいる。
咀にエントリ(118)は、アトリビュート値の前のバ
ージョンを参照するアトリビュート値を収容するエント
リ(124)に対する「前の(prsvlous) J
ポインタを含んでいる。またエントリ(124)は、ア
トリビュート値の初期のパー・ジョンに関連した付加ア
トリビュート値バージョン・ファイル(36)のエント
リをリンクする「前の(previous ) J 7
N’インクを含んでいる。アトリビュート値辞書エント
リ(118)は、ノード・マツプ(31)によりノード
辞書エントリ(110)に戻って指摘するエンティティ
・ノ9ラメータも含んでいる。
ージョンを参照するアトリビュート値を収容するエント
リ(124)に対する「前の(prsvlous) J
ポインタを含んでいる。またエントリ(124)は、ア
トリビュート値の初期のパー・ジョンに関連した付加ア
トリビュート値バージョン・ファイル(36)のエント
リをリンクする「前の(previous ) J 7
N’インクを含んでいる。アトリビュート値辞書エント
リ(118)は、ノード・マツプ(31)によりノード
辞書エントリ(110)に戻って指摘するエンティティ
・ノ9ラメータも含んでいる。
アトリビュート値バージョン・ファイル(36)に連結
したアトリビュート辞書(34)により、マシン(14
)id、選択した値のアトリビュート値を有する゛
総てのノードを決定し、アトリビュート値の特性を変更
し、各アトリビュート値の前のバージョンを決定するこ
とができる。例えば、ノード内のデータの変更を承認す
る責任者名を示す各ノード用K、「所有権(owner
ship) Jアトリビュートを作成してもよい。スミ
スに1組のノードに対する変更責任がある場合、その組
の各ノード用の「所有権」アトリビュートを「スミス」
という値に割当ててもよい。エントリ(100) K対
応するノードをその組の1つのノードと仮定する易、「
スミス」はアトリビュート値辞書ファイル(34)のエ
ントリ(118)に蓄積された現在の値である。この組
の所有権責任がジョーンズに渡されると、その組の総て
のノードに対するアトリビュート値を変更する必要があ
る。記録(124)に類似した新たなアトリビュート値
バージョン・ファイル(36)を作成して、古い値「ス
ミス」を蓄積し、この記録内の「前の(previou
s ) Jポインタが記録(124)を指摘するように
に!する。記録(118)内の「現在の値(curre
ntValue) J /’?ラメータを「ジョーンズ
」に変更し、記録(118)内の「前の(previo
us) Jポインタを変更して、「スミス」値を収容す
るアトリビュート値/J−ジョン・ファイル(36)内
の新たな記録を指摘するようにする。
したアトリビュート辞書(34)により、マシン(14
)id、選択した値のアトリビュート値を有する゛
総てのノードを決定し、アトリビュート値の特性を変更
し、各アトリビュート値の前のバージョンを決定するこ
とができる。例えば、ノード内のデータの変更を承認す
る責任者名を示す各ノード用K、「所有権(owner
ship) Jアトリビュートを作成してもよい。スミ
スに1組のノードに対する変更責任がある場合、その組
の各ノード用の「所有権」アトリビュートを「スミス」
という値に割当ててもよい。エントリ(100) K対
応するノードをその組の1つのノードと仮定する易、「
スミス」はアトリビュート値辞書ファイル(34)のエ
ントリ(118)に蓄積された現在の値である。この組
の所有権責任がジョーンズに渡されると、その組の総て
のノードに対するアトリビュート値を変更する必要があ
る。記録(124)に類似した新たなアトリビュート値
バージョン・ファイル(36)を作成して、古い値「ス
ミス」を蓄積し、この記録内の「前の(previou
s ) Jポインタが記録(124)を指摘するように
に!する。記録(118)内の「現在の値(curre
ntValue) J /’?ラメータを「ジョーンズ
」に変更し、記録(118)内の「前の(previo
us) Jポインタを変更して、「スミス」値を収容す
るアトリビュート値/J−ジョン・ファイル(36)内
の新たな記録を指摘するようにする。
リンク辞書(26)及び他の種々のファイルの関係を第
5図に示す。リンク辞書(26)の1つのエンドIJ
(130)用の/4’ラメータの選択した部分は、ツー
ノード(toNode)パラメータを含んでおり、この
ノ臂うメータは、このリンクに関係したツーノード(t
oNod自)を説明するノード辞? (24)内のエン
トリ(132)をノード・マツプ(31)によりマツプ
する。
5図に示す。リンク辞書(26)の1つのエンドIJ
(130)用の/4’ラメータの選択した部分は、ツー
ノード(toNode)パラメータを含んでおり、この
ノ臂うメータは、このリンクに関係したツーノード(t
oNod自)を説明するノード辞? (24)内のエン
トリ(132)をノード・マツプ(31)によりマツプ
する。
エントリ(130)のフロムノード(fromNode
) z#ラメータは、ノード・マツプ(31)により
このリンクに関連したフロムノード(fromNoda
)を説明するノード辞V (24)内のエントリ(1
34)にマッグする。
) z#ラメータは、ノード・マツプ(31)により
このリンクに関連したフロムノード(fromNoda
)を説明するノード辞V (24)内のエントリ(1
34)にマッグする。
異なるコンテキストのノード間をリンクするために、ノ
ードが属するコンテキスト以外のコンテキストに関係し
たノード辞書(24)内にエントリ(132)を存在さ
せる。リンク辞# (26)のエントリ(130)の1
つのリンク・アトリビュート・パラメータ対を示す。こ
の対のアトリビュート(attribut・)部分は、
リンク・アトリビュートの名前に関連した列インデック
ス(atringInd@x )ノぐラメータを収容す
るアトリビュート塩;’%1(32)のエントリ(13
6)を指摘する。また、この対の値(value )部
分は、アトリビュート位牌V (34)のエントリ(1
38)を指摘する。二ン) !j (130)内の次の
(next )ボイ/りは、アトリビュート対の次のグ
ループを収容するエンティティ・アトリビュート辞書(
30)のエントリ(140)を指摘する。エントリ(1
40)は、リンク・マツf (27)によりリンク辞書
エントリ(130)が説明するリンクに関連したアトリ
ビュート・・9ラメータ対の付加グループを収容する他
のエンティティ・アトリビュート辞’!!’ (30)
エントリに対する他の次のポインタも含んでいる。
ードが属するコンテキスト以外のコンテキストに関係し
たノード辞書(24)内にエントリ(132)を存在さ
せる。リンク辞# (26)のエントリ(130)の1
つのリンク・アトリビュート・パラメータ対を示す。こ
の対のアトリビュート(attribut・)部分は、
リンク・アトリビュートの名前に関連した列インデック
ス(atringInd@x )ノぐラメータを収容す
るアトリビュート塩;’%1(32)のエントリ(13
6)を指摘する。また、この対の値(value )部
分は、アトリビュート位牌V (34)のエントリ(1
38)を指摘する。二ン) !j (130)内の次の
(next )ボイ/りは、アトリビュート対の次のグ
ループを収容するエンティティ・アトリビュート辞書(
30)のエントリ(140)を指摘する。エントリ(1
40)は、リンク・マツf (27)によりリンク辞書
エントリ(130)が説明するリンクに関連したアトリ
ビュート・・9ラメータ対の付加グループを収容する他
のエンティティ・アトリビュート辞’!!’ (30)
エントリに対する他の次のポインタも含んでいる。
アトリビュート値辞書(34)のエントリ(13B)
l−1、整数値又はリンク・アトリビュート値名の列イ
ンデックス(atrlngIndex )を収容する現
在値(currentValue )パラメータを含ん
でいる。更にエントリ(138) fl、リンク・アト
リビュート値の前のバージョンを参照するアトリビュー
ト値を収容するエントリ(144)に対する前のポイン
タも含んでいる。エントリ(144)は、リンク・アト
リビュート値のまだ初期のバージョンに関連した付加ア
トリビュート値バージョン・ファイル(36)t−!j
ンクする他の前のポインタを収容する。アトリビュート
値辞去エントリ(138)は、ノード辞去エントリ(1
30)に戻って指摘するエンティティ・パラメータを収
容する。
l−1、整数値又はリンク・アトリビュート値名の列イ
ンデックス(atrlngIndex )を収容する現
在値(currentValue )パラメータを含ん
でいる。更にエントリ(138) fl、リンク・アト
リビュート値の前のバージョンを参照するアトリビュー
ト値を収容するエントリ(144)に対する前のポイン
タも含んでいる。エントリ(144)は、リンク・アト
リビュート値のまだ初期のバージョンに関連した付加ア
トリビュート値バージョン・ファイル(36)t−!j
ンクする他の前のポインタを収容する。アトリビュート
値辞去エントリ(138)は、ノード辞去エントリ(1
30)に戻って指摘するエンティティ・パラメータを収
容する。
第5図のリンク辞d (26)のエントリ(130)に
、リンク・バージョン・ファイル(28)ツエントリ(
146)に対する前の(previous)ポインタを
更に設ける。このエントリ(146)は、リンクの前の
バージョンに関する情報を収容する。また、エントリ(
146)は、このリンクのまだ初期のバージョンに関す
る情報を収容するリンク・バージョン・ファイル(28
)のエントリを指摘する前のノ臂うメータを収容する。
、リンク・バージョン・ファイル(28)ツエントリ(
146)に対する前の(previous)ポインタを
更に設ける。このエントリ(146)は、リンクの前の
バージョンに関する情報を収容する。また、エントリ(
146)は、このリンクのまだ初期のバージョンに関す
る情報を収容するリンク・バージョン・ファイル(28
)のエントリを指摘する前のノ臂うメータを収容する。
第1図において、各コンテキストに対してトランザクシ
ョン・ログ・ファイル(41)を設けて、ユーザが要求
した動作をマシンが実行する際、第1図のファイルに対
する変更に関する情報を蓄積する。何らかの理由で、要
求された動作が不適当に終了すると、トランザクション
・ログによシ、マシン(14)Fi、第1図の他のファ
イルの変更を取り消す。動作がうまく終了すると、トラ
ンザクション・ログ内に蓄積された情報を放棄する。
ョン・ログ・ファイル(41)を設けて、ユーザが要求
した動作をマシンが実行する際、第1図のファイルに対
する変更に関する情報を蓄積する。何らかの理由で、要
求された動作が不適当に終了すると、トランザクション
・ログによシ、マシン(14)Fi、第1図の他のファ
イルの変更を取り消す。動作がうまく終了すると、トラ
ンザクション・ログ内に蓄積された情報を放棄する。
本発明によるプログラムは、第1図に示した種種のデー
タ・ファイルを制御する。第1図において、f、−no
deFi Isプログラム(47)はノード内容ファイ
ル(22)に対する入出力アクセスを緩衝し、f−no
desプログラム(43) Fiノード辞書(24)K
対するアクセスを緩衝する。プログラムfjinks
(49)は、リンク辞書ファイル(26)に対する入出
力アクセスを緩衝する。f、、−mapping 7’
ログラム(51)及びf−contextグロダラム(
53)は、リンク・マツダ・ファイル(27)に対する
アクセスを緩衝し、ノード・マツプ・ファイル(31)
及びf−contsxtプログラム(53)はコンテキ
スト辞書ファイル(29)のアクセスを緩衝する。プロ
グラムfjinkH1at (48)はリンク・バージ
ョン・ファイル(28)に対するアクセスを緩衝し、
f−entAttプログラム(50) 、 f−att
DtfプロゲラA (52)、f−attValusプ
ログラム(54)及びf −a t tHl s tプ
ログラム(56)は、エンティティ・アトリビュート辞
’9! (30) 、アトリビュート辞書(32)、ア
トリビュート値辞書(34)及びアトリビュート値バー
ジョン・ファイル(36) K対するアクセスを夫々緩
衝する。f−stringsプログラム(60)は、列
ハツシュ・テーブル(42)、ダリインデックス・テー
ブル(44)及び列テーブル(46)に対するアクセス
を緩衝する。ダイレクト・プログラム(45)及びfl
laMan7’ログラム(55)は、システム指令書及
びマシン従属ファイル・システム・ユーティリティ用の
一般的フアイル・アクセス・ルーチンを与える。このユ
ーティリティは、上述のファイル・アクセス・バッファ
・プログラムが用いる。
タ・ファイルを制御する。第1図において、f、−no
deFi Isプログラム(47)はノード内容ファイ
ル(22)に対する入出力アクセスを緩衝し、f−no
desプログラム(43) Fiノード辞書(24)K
対するアクセスを緩衝する。プログラムfjinks
(49)は、リンク辞書ファイル(26)に対する入出
力アクセスを緩衝する。f、、−mapping 7’
ログラム(51)及びf−contextグロダラム(
53)は、リンク・マツダ・ファイル(27)に対する
アクセスを緩衝し、ノード・マツプ・ファイル(31)
及びf−contsxtプログラム(53)はコンテキ
スト辞書ファイル(29)のアクセスを緩衝する。プロ
グラムfjinkH1at (48)はリンク・バージ
ョン・ファイル(28)に対するアクセスを緩衝し、
f−entAttプログラム(50) 、 f−att
DtfプロゲラA (52)、f−attValusプ
ログラム(54)及びf −a t tHl s tプ
ログラム(56)は、エンティティ・アトリビュート辞
’9! (30) 、アトリビュート辞書(32)、ア
トリビュート値辞書(34)及びアトリビュート値バー
ジョン・ファイル(36) K対するアクセスを夫々緩
衝する。f−stringsプログラム(60)は、列
ハツシュ・テーブル(42)、ダリインデックス・テー
ブル(44)及び列テーブル(46)に対するアクセス
を緩衝する。ダイレクト・プログラム(45)及びfl
laMan7’ログラム(55)は、システム指令書及
びマシン従属ファイル・システム・ユーティリティ用の
一般的フアイル・アクセス・ルーチンを与える。このユ
ーティリティは、上述のファイル・アクセス・バッファ
・プログラムが用いる。
本発明によるソフトウェアは、 nod@lプログラム
(62) 、アーカイブ・プログラム(64)及びle
sプログラム(66)のリストを含んでおシ、これらは
、第1図のノード辞書ファイル(24)及びノード内容
ファイル(22)の内容を、Lnodeaプログラム(
43)及びf−nodeFlle 7’ログラム(47
)内のユーティリティによりアクセス及び操作するサポ
ート・ルーチンを与える。各ノード内容ファイル(22
)H、ノードの現在のバージョンを含んでおり、また、
アーカイブ・ノードの前のバージョンを作成するために
、現在のバージョンに要求された変更を示すバージョン
履歴データも収容する。node17’ログラム(62
)は、ノード内容ファイル(22)内に蓄積されたデー
タへの変更をit!I御し、アーカイブ・プログラム(
64)はノード内容ファイル内に蓄積されたバージョン
履歴データの入出力を制御する。lcs 7’ログラム
(66) U、ユーザが提供したノードのファイルの最
新バージョンを最近蓄積されたバージョンと比較して、
ノード内容ファイル(22)に@積すべきバージョン履
歴データを発生する。
(62) 、アーカイブ・プログラム(64)及びle
sプログラム(66)のリストを含んでおシ、これらは
、第1図のノード辞書ファイル(24)及びノード内容
ファイル(22)の内容を、Lnodeaプログラム(
43)及びf−nodeFlle 7’ログラム(47
)内のユーティリティによりアクセス及び操作するサポ
ート・ルーチンを与える。各ノード内容ファイル(22
)H、ノードの現在のバージョンを含んでおり、また、
アーカイブ・ノードの前のバージョンを作成するために
、現在のバージョンに要求された変更を示すバージョン
履歴データも収容する。node17’ログラム(62
)は、ノード内容ファイル(22)内に蓄積されたデー
タへの変更をit!I御し、アーカイブ・プログラム(
64)はノード内容ファイル内に蓄積されたバージョン
履歴データの入出力を制御する。lcs 7’ログラム
(66) U、ユーザが提供したノードのファイルの最
新バージョンを最近蓄積されたバージョンと比較して、
ノード内容ファイル(22)に@積すべきバージョン履
歴データを発生する。
本発明によるプログラムは、1ink1プログラム(6
3)及びattr1butelプログラム(65)も含
んでいる。
3)及びattr1butelプログラム(65)も含
んでいる。
11nklプログラムは、f−11nks 7’ oグ
ラム(49)及びfjinkH1stプログラム(48
)内のユーティリティを用いるリンク・データをアクセ
スし操作するルーチンをサポートして、第1図のリンク
・バージョン・ファイル(28)及びリンク辞V (2
6)をアクセスする。attributelプログラム
は、f−attDafプロゲラA (52)、f−at
tValue 7’ログラム(54) 、f−aLtH
1stプログラム(56)及びj@ntAttプログラ
ム(5o)内のユーティリティを用いるアトリビュート
・データをアクセスし更新するルーチンをサポートして
、アトリビュート名辞書(32) 、アトリビュート値
辞書(34)、アトリビュート値バージョン・ファイル
(36)及びエンティティ・アトリビュート辞?(30
)をアクセスする。
ラム(49)及びfjinkH1stプログラム(48
)内のユーティリティを用いるリンク・データをアクセ
スし操作するルーチンをサポートして、第1図のリンク
・バージョン・ファイル(28)及びリンク辞V (2
6)をアクセスする。attributelプログラム
は、f−attDafプロゲラA (52)、f−at
tValue 7’ログラム(54) 、f−aLtH
1stプログラム(56)及びj@ntAttプログラ
ム(5o)内のユーティリティを用いるアトリビュート
・データをアクセスし更新するルーチンをサポートして
、アトリビュート名辞書(32) 、アトリビュート値
辞書(34)、アトリビュート値バージョン・ファイル
(36)及びエンティティ・アトリビュート辞?(30
)をアクセスする。
本発明によるソフトウェアは1列プログラム(68)及
びログ・プログラム(70)を含む。列プログラムは、
f−strings 7’ログラム(60)Icよシ列
テーブル(42) 、 (44)及び(46)を用いて
、所定入力文字列に関する列インデックスを見つけ、戻
す。この列プログラムは、新たな文字列用の新たなイン
デックス番号も生成する。attributslプログ
ラム(65)は、アトリビュートに関係した列を扱う列
プログラムも利用する。ログ・プログラム(70)tl
、)ランデクジョン・ログ・ファイル(41)の入出力
を制御し、f、mapping 7’ログラム(51)
及びFileManプログラム(55)内のユーティリ
ティを利用して、ユーザによる図表アクセスの不適当な
終了に対する回復機構を実現し、リンク・マツプ(27
)及びノード・マツf (31)をアクセスする。ログ
・プログラム(7o)は、図表に対するマルチユーザ・
アクセスを同期させる。
びログ・プログラム(70)を含む。列プログラムは、
f−strings 7’ログラム(60)Icよシ列
テーブル(42) 、 (44)及び(46)を用いて
、所定入力文字列に関する列インデックスを見つけ、戻
す。この列プログラムは、新たな文字列用の新たなイン
デックス番号も生成する。attributslプログ
ラム(65)は、アトリビュートに関係した列を扱う列
プログラムも利用する。ログ・プログラム(70)tl
、)ランデクジョン・ログ・ファイル(41)の入出力
を制御し、f、mapping 7’ログラム(51)
及びFileManプログラム(55)内のユーティリ
ティを利用して、ユーザによる図表アクセスの不適当な
終了に対する回復機構を実現し、リンク・マツプ(27
)及びノード・マツf (31)をアクセスする。ログ
・プログラム(7o)は、図表に対するマルチユーザ・
アクセスを同期させる。
本発明による1組のプログラムは、ユーザが要求した種
々の動作を実現する。この動作を以下に示す表記により
定義する。
々の動作を実現する。この動作を以下に示す表記により
定義する。
OperationNam@ :
オペランド1×オペランド2×・・・×オペランドn
→結果Ox 結果1 ×・・・X 結果mここで、
nは1以上であシ、mは0以上である。
→結果Ox 結果1 ×・・・X 結果mここで、
nは1以上であシ、mは0以上である。
オ(ランドはユーザが与えた1組の情報であ勺、結果は
データ管理マシンがユーザに戻す1組の情報である。各
オペランド及び各結果の値の定義域は、次の通シである
。
データ管理マシンがユーザに戻す1組の情報である。各
オペランド及び各結果の値の定義域は、次の通シである
。
Attribute: アトリビュート名(
文字列)AttributeIndex: アトリ
ビュート名(番号)用の独特な識別番号 Boolean: 真/偽インジケータC
ontents: ノードの内容Cont
・ntType: ノード内のデータのフォー
マットContsxtId: 現在アクセス
した図表内の現在アクセスしたコンテキスト用の独特 な識別 Differ@nce: 削除、挿入又は交換
命令Dirsetory: 有効なUNI
Xファイル・ディレクトリ塩 Explanation: 説明テキストLi
nkIndex : リンク用識別Mach
ine: コンピュータ・ネットワーク
内ノ個々のコンピュータ用cm別 NodeIndex: ノード用識別Po5
ition: ノード内のデータの選択し
た対の位置を表わす番号 Predlcate: アトリビュート及び
それらの値によるプール式 ProjsetId: 図表用の独特な識別
Protectiona: ?J数のファイル
保護−T−−)’O1つTime:
所定データ及び時間を表わす負でない整数 Value: アトリビュート値第1図
において、図表プログラム(72) Ifi、flls
Manプログラム(55)及びattrlbutsl
プログラム(65)内のユーティリティを用いて、ディ
レクトリに影響する次の動作を実現する。
文字列)AttributeIndex: アトリ
ビュート名(番号)用の独特な識別番号 Boolean: 真/偽インジケータC
ontents: ノードの内容Cont
・ntType: ノード内のデータのフォー
マットContsxtId: 現在アクセス
した図表内の現在アクセスしたコンテキスト用の独特 な識別 Differ@nce: 削除、挿入又は交換
命令Dirsetory: 有効なUNI
Xファイル・ディレクトリ塩 Explanation: 説明テキストLi
nkIndex : リンク用識別Mach
ine: コンピュータ・ネットワーク
内ノ個々のコンピュータ用cm別 NodeIndex: ノード用識別Po5
ition: ノード内のデータの選択し
た対の位置を表わす番号 Predlcate: アトリビュート及び
それらの値によるプール式 ProjsetId: 図表用の独特な識別
Protectiona: ?J数のファイル
保護−T−−)’O1つTime:
所定データ及び時間を表わす負でない整数 Value: アトリビュート値第1図
において、図表プログラム(72) Ifi、flls
Manプログラム(55)及びattrlbutsl
プログラム(65)内のユーティリティを用いて、ディ
レクトリに影響する次の動作を実現する。
CreateGraph:
Dlrectory X Protections−+
ProjectId XTim5 X Contex
tId この動作Cr@at@Graph ri、特定のUNI
Xファイル保獲モード(Protections )を
利用する特定のUNIXディレクトリ(Directo
ry )において新たな「空(から)の」図表を作成す
る。図表は。
ProjectId XTim5 X Contex
tId この動作Cr@at@Graph ri、特定のUNI
Xファイル保獲モード(Protections )を
利用する特定のUNIXディレクトリ(Directo
ry )において新たな「空(から)の」図表を作成す
る。図表は。
いかなるノードも収容していないという意味で初め「空
」である。図表用の独特な識別から成るProject
Id /’?ラメータ図表の作成時間を示すTime
/’?ラメータ、及び図表のルート・コンテキスト用の
独特な識別を有するContextIdパラメータを呼
出したユーザにCreateQraph動作が戻る。
」である。図表用の独特な識別から成るProject
Id /’?ラメータ図表の作成時間を示すTime
/’?ラメータ、及び図表のルート・コンテキスト用の
独特な識別を有するContextIdパラメータを呼
出したユーザにCreateQraph動作が戻る。
その後、ユーザは、オープンすべき図表全識別するため
に新たな図表をオープンするときはいつでも、 Pro
jsctId及びDirectory ノ4’ラメータ
を特定しなければならないし、特定のコンテキストをア
クセスするときはいつでも、 ContextIdを・
特定しなければならない。
に新たな図表をオープンするときはいつでも、 Pro
jsctId及びDirectory ノ4’ラメータ
を特定しなければならないし、特定のコンテキストをア
クセスするときはいつでも、 ContextIdを・
特定しなければならない。
d@5troyGraph:
ProjectId X Directory−41−
動作destroyGraphは、Directory
内に存在する図表を破壊する。ProjsetIdは、
第1の場所に図表を作成したcr@atsGraph動
作が戻したのと同じ値でなければならない。図表の破壊
は、この図表に関連する第1図の総てのファイルの破壊
を含む。
動作destroyGraphは、Directory
内に存在する図表を破壊する。ProjsetIdは、
第1の場所に図表を作成したcr@atsGraph動
作が戻したのと同じ値でなければならない。図表の破壊
は、この図表に関連する第1図の総てのファイルの破壊
を含む。
openGraph:
ProjectId X Machlns X Dlr
ectory→ContsxtId ユーザは、openGraph動作を呼出して、マルチ
コンピュータ・システムの選択シタコンヒュータ(マシ
ン)が保持する蓄積装置用の特定のブイレフ) ’)
(Dir@ctory )内に位置する実在の図表をア
クセス(オープン)する。ProjectIdノ9ラメ
ータの値は、図表を作成したcraatsGraph動
作が戻したのと同じでなければならない。
ectory→ContsxtId ユーザは、openGraph動作を呼出して、マルチ
コンピュータ・システムの選択シタコンヒュータ(マシ
ン)が保持する蓄積装置用の特定のブイレフ) ’)
(Dir@ctory )内に位置する実在の図表をア
クセス(オープン)する。ProjectIdノ9ラメ
ータの値は、図表を作成したcraatsGraph動
作が戻したのと同じでなければならない。
r ContextId Jは図表のルート・コンテキ
スト用の独特な識別である。
スト用の独特な識別である。
第1図のコンテキスト・プログラム(73)H、コンテ
キストを生成し、削除し、かつアクセスするルーチンを
含んでおり、これらコンテキストはコンテキスト辞書(
29)をアクセスするf−contextプログラム(
53)及びコンテキスト・アトリビュートを制御するa
ttributel f *グラムを用いる。コンテキ
スト・プログラムは次の動作を提供する。
キストを生成し、削除し、かつアクセスするルーチンを
含んでおり、これらコンテキストはコンテキスト辞書(
29)をアクセスするf−contextプログラム(
53)及びコンテキスト・アトリビュートを制御するa
ttributel f *グラムを用いる。コンテキ
スト・プログラムは次の動作を提供する。
createcontext:
Protections −+ ContextIdこ
の動作は、新たなコンテキストを現在のコンテキストの
直系子孫として生成し、ここから動作が開始する。この
動作は、新たなコンテキスト用にContaxtIdを
戻し、その結果の動作用の新たなコンテキストをオープ
ンする。
の動作は、新たなコンテキストを現在のコンテキストの
直系子孫として生成し、ここから動作が開始する。この
動作は、新たなコンテキスト用にContaxtIdを
戻し、その結果の動作用の新たなコンテキストをオープ
ンする。
opencontext:
ContextId −+ −
この動作は、ContextIdが与えた予め存在する
コンテキストをオープンする。
コンテキストをオープンする。
d@5troycont@xt:
Cont@xtId →−
この動作は、ContextIdがその親コンテキスト
の子孫として与えたコンテキストを除去する。
の子孫として与えたコンテキストを除去する。
ContextIdは、ルート・コンテキスト又は現在
オープンしているコンテキストであってはならず、そこ
から動作が要求され、多くの子コンテキストを有しては
ならない。
オープンしているコンテキストであってはならず、そこ
から動作が要求され、多くの子コンテキストを有しては
ならない。
compactcontext:
ContextId X Boolean 4−この動
作は%Contextldが与えたコンテキスト内のノ
ード・ライン及びアトリビュートの古いバージョンを除
去(破壊)する。Bool@anが真ならば、現在のバ
ージョンを除いた総てのバージョンを除去する。Boo
l@aHが偽ならば、現在のバージョンと最後にコンパ
クト化したバージョン間のバージョンのみを除去する。
作は%Contextldが与えたコンテキスト内のノ
ード・ライン及びアトリビュートの古いバージョンを除
去(破壊)する。Bool@anが真ならば、現在のバ
ージョンを除いた総てのバージョンを除去する。Boo
l@aHが偽ならば、現在のバージョンと最後にコンパ
クト化したバージョン間のバージョンのみを除去する。
mergsContext:
fromContextId X tocontext
Id X (Nod@Id XTime)”→− この動作は、tocontextIdが与えたコンテキ
ストを拡張し、(NodeId X−Time )”及
びそれらに所属したリンクが表わすfromconte
xtIdが識別したコンテキスト内にこれらのノードを
含んでいる。T imeがゼロの場合、NodeIdは
ノードの現在のバージョンを参照する。(−表記は、1
つ以上の第4ランドを特定できることを示す。)eh@
ckForDifferences:fromcont
rxtId X tocontextIdX(Node
IndetXTims)”−+ (LinkIndec
XTim5)”−+Conflictsこの動作は、
(NodeIndex X Time )”及び(L
inkIndex X Tim5 )”が表わすfro
mContextIdからのノード及びリンクにより、
蓋用toContextIdが与えたコンテキストをチ
ェックする。T imeがゼロならば、NodeInd
@!又はLinkIndexはノード又ハリンクの現在
のバージョンを参照する。
Id X (Nod@Id XTime)”→− この動作は、tocontextIdが与えたコンテキ
ストを拡張し、(NodeId X−Time )”及
びそれらに所属したリンクが表わすfromconte
xtIdが識別したコンテキスト内にこれらのノードを
含んでいる。T imeがゼロの場合、NodeIdは
ノードの現在のバージョンを参照する。(−表記は、1
つ以上の第4ランドを特定できることを示す。)eh@
ckForDifferences:fromcont
rxtId X tocontextIdX(Node
IndetXTims)”−+ (LinkIndec
XTim5)”−+Conflictsこの動作は、
(NodeIndex X Time )”及び(L
inkIndex X Tim5 )”が表わすfro
mContextIdからのノード及びリンクにより、
蓋用toContextIdが与えたコンテキストをチ
ェックする。T imeがゼロならば、NodeInd
@!又はLinkIndexはノード又ハリンクの現在
のバージョンを参照する。
tocontextIdは、fromcontaxtI
dの親又は子コンテキストでなければならない。Con
fliclgにおいて、この動作は、いかなる方法でも
競合するContaxtId内の総てのノード及びリン
クを戻す。
dの親又は子コンテキストでなければならない。Con
fliclgにおいて、この動作は、いかなる方法でも
競合するContaxtId内の総てのノード及びリン
クを戻す。
getparantofContext:Cont@x
tId −+ ContextIdこの動作は、Con
textIdが識別したコンテキストの親コンテキスト
のcontextldを戻す。
tId −+ ContextIdこの動作は、Con
textIdが識別したコンテキストの親コンテキスト
のcontextldを戻す。
gs+ tDeaeendantsOfContext
:ContaxtId X Tim5−+Cont@
xtId”この動作は、T1m5+ /#ラメータが指
示した時点現在のContsxtIdが識別するコンテ
キストの孫コ/テキストのContextrdを戻す。
:ContaxtId X Tim5−+Cont@
xtId”この動作は、T1m5+ /#ラメータが指
示した時点現在のContsxtIdが識別するコンテ
キストの孫コ/テキストのContextrdを戻す。
本発明によるプログラムのnodeoプログラム(78
)は、ユーザ・アプリケーション・ソフトウェア用のイ
ンタフェース・ルーチンを与える。このソフトウェアに
より、ユーザ・ソフトウェアは、ノードを作成し、削除
し、アクセスでき、nod・1プログラム(62)及び
attributelプログラム(65)内のユーティ
リティを利用する。nodeQプログラムがサポートす
る動作に次のものを含んでいる。
)は、ユーザ・アプリケーション・ソフトウェア用のイ
ンタフェース・ルーチンを与える。このソフトウェアに
より、ユーザ・ソフトウェアは、ノードを作成し、削除
し、アクセスでき、nod・1プログラム(62)及び
attributelプログラム(65)内のユーティ
リティを利用する。nodeQプログラムがサポートす
る動作に次のものを含んでいる。
addNode:
ContextId X Protactlons X
Boolean XContentTyp@→Nod
elndax X Timeひとたびユーザがコンテキ
ストをオープンすると、ユーザはaddNode動作を
要求することにより新たな空のノードを付加できる。B
ooleanが真ならば、バージョン履歴をそのノード
用に保持、即ちそのノードをアーカイブ・ノードとして
保持する。Booleanが偽ならば、そのノードはフ
ァイル・ノードであるとみなして、バージョン履歴を保
持しない。ひとたびノードを作成すれば、addNod
@は新たなノード用のNodelndB及びTim5y
?ラメータを戻す。その後、ユーザは他の動作r mo
dlfyNode J (後述する)を呼出して、それ
をデータで満たすことができる。
Boolean XContentTyp@→Nod
elndax X Timeひとたびユーザがコンテキ
ストをオープンすると、ユーザはaddNode動作を
要求することにより新たな空のノードを付加できる。B
ooleanが真ならば、バージョン履歴をそのノード
用に保持、即ちそのノードをアーカイブ・ノードとして
保持する。Booleanが偽ならば、そのノードはフ
ァイル・ノードであるとみなして、バージョン履歴を保
持しない。ひとたびノードを作成すれば、addNod
@は新たなノード用のNodelndB及びTim5y
?ラメータを戻す。その後、ユーザは他の動作r mo
dlfyNode J (後述する)を呼出して、それ
をデータで満たすことができる。
Proteetlons /母うメータは特典のアクセ
スを特定し、Con1extIdパラメータは新たなノ
ードのコンテキストを特定する。
スを特定し、Con1extIdパラメータは新たなノ
ードのコンテキストを特定する。
d@1eteNode:
Cont@xt X NodeIndex →−d@l
@teNode動作は、Contextが識別したコン
テキストと共に、削除したノードに又はこのノーどの外
の総てのリンクから、Nodalndexが識。
@teNode動作は、Contextが識別したコン
テキストと共に、削除したノードに又はこのノーどの外
の総てのリンクから、Nodalndexが識。
別したノードを除去する。ファイル・ノードの場合、第
1図のノード内容ファイル(22)を蓄積装置から除去
するが、アーカイブ・ファイルの場合、そのノードは「
削除された」とマークされ、そのノードの前のバージョ
ンを再構成できるようにノード・ファイル内容及びノー
ド内容ファイルのノード履歴部分を保持する。
1図のノード内容ファイル(22)を蓄積装置から除去
するが、アーカイブ・ファイルの場合、そのノードは「
削除された」とマークされ、そのノードの前のバージョ
ンを再構成できるようにノード・ファイル内容及びノー
ド内容ファイルのノード履歴部分を保持する。
本発明における11nkOプログラム(80)は、ユー
ザ・アプリケーション参ソフトウェア用のインタ7 z
−x・ルーチンを提供する。これによシ、ユーザ・ア
プリケーション・ソフトウェアは、リンクを生成し、削
除し、かつアクセスでき、1inklプロゲラA (6
3)及びattrlbut*1 プログラム(65)
内のユーティリティを用いる。l i nkoプログラ
ムがサポートする動作は、次のものを含む。
ザ・アプリケーション参ソフトウェア用のインタ7 z
−x・ルーチンを提供する。これによシ、ユーザ・ア
プリケーション・ソフトウェアは、リンクを生成し、削
除し、かつアクセスでき、1inklプロゲラA (6
3)及びattrlbut*1 プログラム(65)
内のユーティリティを用いる。l i nkoプログラ
ムがサポートする動作は、次のものを含む。
addLink:
LjnkPtlXIJnkPt2→
LinkIndex XTim5
addLink動作は、2つのノード間の新たなリンク
を作成する。第6図は2つのノード内容ファイル間のリ
ンクを示しておシ、データをバイトのジ−タンスとして
各ノード内容ファイルに蓄積する。リンクは、「ノード
からJ (102)内の1つの選択したバイ) (10
0)を「ノードへ」(106)内の他の選択したパイ)
(104)に接続する。リンクを行なったノード内容
ファイル内のバイト・シーケンスの特定のバイトである
リンり点(LinkPt)は1次のように特定する。
を作成する。第6図は2つのノード内容ファイル間のリ
ンクを示しておシ、データをバイトのジ−タンスとして
各ノード内容ファイルに蓄積する。リンクは、「ノード
からJ (102)内の1つの選択したバイ) (10
0)を「ノードへ」(106)内の他の選択したパイ)
(104)に接続する。リンクを行なったノード内容
ファイル内のバイト・シーケンスの特定のバイトである
リンり点(LinkPt)は1次のように特定する。
LinkPt=ContextIdxNod@Inde
xXPomltionXTimexBoolean ここで、 Cont@xtIdはノードのコンテキスト
を識別し、NodeInt@xはノードを識別し、Ti
meはノードのパージ目ンを識別し、 Po5itio
nハ9ンクが指摘するノード内のバイト・シーケンス位
置を識別する。Booleanが真なら、リンク点はリ
ンク舎デスティネーシ目ンであi 、Boolsanが
偽ならば、リンク点はリンク・ソースである。
xXPomltionXTimexBoolean ここで、 Cont@xtIdはノードのコンテキスト
を識別し、NodeInt@xはノードを識別し、Ti
meはノードのパージ目ンを識別し、 Po5itio
nハ9ンクが指摘するノード内のバイト・シーケンス位
置を識別する。Booleanが真なら、リンク点はリ
ンク舎デスティネーシ目ンであi 、Boolsanが
偽ならば、リンク点はリンク・ソースである。
リンク点(LinkPTl又はLinkPT2 )がア
ーカイブ・ノードを参照すると、リンクのバージョン履
歴を保持する。addLlnk動作はLinkInde
x 。
ーカイブ・ノードを参照すると、リンクのバージョン履
歴を保持する。addLlnk動作はLinkInde
x 。
新たなリンク用の独特な識別子、及びリンク用の作成時
間(Time)を戻す。
間(Time)を戻す。
copyLink:
Can textldxLi nklndezXTlm
elXBoolsan XLinkPt−41nkIn
d*x2XTimscopyLink動作は2つのノー
ド間のCont@xtldが与えたテキスト内に新たな
リンクを作成するが、リンクの一端は、LinkInd
ex及びTim@lが識別した存在するリンクの一端と
等しい、よって、この存在するリンクの端を新たなリン
クの一端として扱い、LinkPtが新たなリンクの他
端を識別する。Booleanが真ならば、LinkI
ndexlが新たなリンク点のソースを識別し、Lin
kPtがデスティネーションを識別する。Boolea
nが偽ならば、Linklnd・xiは新たなリンクの
デスティネーションを識別し、LinkPtはソースを
識別する。
elXBoolsan XLinkPt−41nkIn
d*x2XTimscopyLink動作は2つのノー
ド間のCont@xtldが与えたテキスト内に新たな
リンクを作成するが、リンクの一端は、LinkInd
ex及びTim@lが識別した存在するリンクの一端と
等しい、よって、この存在するリンクの端を新たなリン
クの一端として扱い、LinkPtが新たなリンクの他
端を識別する。Booleanが真ならば、LinkI
ndexlが新たなリンク点のソースを識別し、Lin
kPtがデスティネーションを識別する。Boolea
nが偽ならば、Linklnd・xiは新たなリンクの
デスティネーションを識別し、LinkPtはソースを
識別する。
cOP3’Link動作は、新たなリンク及びそのある
時間(Time)用のLinkInd@x2 tik別
子を戻す。
時間(Time)用のLinkInd@x2 tik別
子を戻す。
deleteLink:
ContextIdXL1nkIndex→−del*
t*Link動作は、Cont@xtIdが与えたコン
テキストからLinkIndeKが識別したリンクを除
去するが、リンク・バージョン履歴は削除しない。
t*Link動作は、Cont@xtIdが与えたコン
テキストからLinkIndeKが識別したリンクを除
去するが、リンク・バージョン履歴は削除しない。
第1図において、線形プログラム(74)は、バッファ
・プログラム(84)を用いて以下の動作を実現する。
・プログラム(84)を用いて以下の動作を実現する。
LinearizeGraph:
ContextldXNod@Ind@xxT1mex
PredieatelXPredleite2XAtt
ribul@Indexl” XAttributeI
ndex2”−+(NodeInl@xxValuem
)本×(LinkIndexxValu@”)”この動
作は、上述した「横断」検索を実行し、Tim@が識別
した現在のアクセス図表のバージョンのり/りされた副
図表を戻す。本記号は、1つ以上の指示され九結果を戻
すことを示す。この副図表は、図表のあらゆるノードを
収容する。
PredieatelXPredleite2XAtt
ribul@Indexl” XAttributeI
ndex2”−+(NodeInl@xxValuem
)本×(LinkIndexxValu@”)”この動
作は、上述した「横断」検索を実行し、Tim@が識別
した現在のアクセス図表のバージョンのり/りされた副
図表を戻す。本記号は、1つ以上の指示され九結果を戻
すことを示す。この副図表は、図表のあらゆるノードを
収容する。
なお、この図表は、Pr5dieat@lを満足する。
そして、この図表は、Pr5dieat@lを満足する
リンクのみを横断して、Predieatelを満足す
る他のノードを通過して、(ContextZdが指示
した)特定コンテキスト内の1始ノード(NodeIn
dexによ#)識別される〕から到達することができる
。
リンクのみを横断して、Predieatelを満足す
る他のノードを通過して、(ContextZdが指示
した)特定コンテキスト内の1始ノード(NodeIn
dexによ#)識別される〕から到達することができる
。
[predicat・(述部月は、各7トリビユートに
関連した1つ以上の値と共に、選択した1組のノード又
はリンク・アトリビュートを示す。述部を「満足する」
ために、ノード又はり/りは、その述部が示したアトリ
ビュート値を所有しなげればならない。ノード及びリン
ク述部(predicate )を以下の原理により説
明する。
関連した1つ以上の値と共に、選択した1組のノード又
はリンク・アトリビュートを示す。述部を「満足する」
ために、ノード又はり/りは、その述部が示したアトリ
ビュート値を所有しなげればならない。ノード及びリン
ク述部(predicate )を以下の原理により説
明する。
predicmte → expressionsx
pr*5sion→ −expression→(ex
pression) → term → expresslon & expression
→expression l expressiont
s+rm −+ attribute rel
op value→ @true ’ → @f&1ae ’ relop → 1く′ → °〉′ → 1≦′ → °≧′ → 1 = ′ → ′N′ attribut@−4string ”value
′→integer l″string”l ”’上の
原理において1文字「?」は任意の値を弐わす。例えば
、ノードが値[t@xt Jであるアトリビュート塩r
type J及びアトリビュート塩r year J
tNすると仮定すれば、典型的なPredicatel
i現は上述の規則により次のようになる。
pr*5sion→ −expression→(ex
pression) → term → expresslon & expression
→expression l expressiont
s+rm −+ attribute rel
op value→ @true ’ → @f&1ae ’ relop → 1く′ → °〉′ → 1≦′ → °≧′ → 1 = ′ → ′N′ attribut@−4string ”value
′→integer l″string”l ”’上の
原理において1文字「?」は任意の値を弐わす。例えば
、ノードが値[t@xt Jであるアトリビュート塩r
type J及びアトリビュート塩r year J
tNすると仮定すれば、典型的なPredicatel
i現は上述の規則により次のようになる。
typ@=text & year ) 1985この
述部は、1985年以後に啓かれたテ中スト・ノードが
、副因表内に含まれるべきであることを示している。副
図表のノード及びリンクを識別する1組のModeIn
dex及びLinkIndex値としての11near
i zaGraphにより副図表を戻す。
述部は、1985年以後に啓かれたテ中スト・ノードが
、副因表内に含まれるべきであることを示している。副
図表のノード及びリンクを識別する1組のModeIn
dex及びLinkIndex値としての11near
i zaGraphにより副図表を戻す。
また、l 1nearizeGraph 動作は、副図
弐のノード及びリンクに関連し選択した特定のアトリビ
ュートの値(Valuem及びValu@n) 、 A
ttrlbutaIndrxlmが特定した1組のmノ
ード、及びAttributeIndex2”が特定し
た1組のnリンクを戻す。1ineariz*Grap
h動作の実行において、線形グログラム(74)は、ア
トリビュート・プログラム(8,2)を呼出すことによ
りノード及びリンク用の7トリピユート値を得、「検索
」プログラム(75)を利用して、ノード及びリンクの
アトリビュートを評価し、Predicmtel又はP
r5dleats2が満足されたかを判断する。線形プ
ログラム(74)は、bitMapプログラム(77)
及びデータ構造を用いて、多くの組合せも効率的に管理
する。
弐のノード及びリンクに関連し選択した特定のアトリビ
ュートの値(Valuem及びValu@n) 、 A
ttrlbutaIndrxlmが特定した1組のmノ
ード、及びAttributeIndex2”が特定し
た1組のnリンクを戻す。1ineariz*Grap
h動作の実行において、線形グログラム(74)は、ア
トリビュート・プログラム(8,2)を呼出すことによ
りノード及びリンク用の7トリピユート値を得、「検索
」プログラム(75)を利用して、ノード及びリンクの
アトリビュートを評価し、Predicmtel又はP
r5dleats2が満足されたかを判断する。線形プ
ログラム(74)は、bitMapプログラム(77)
及びデータ構造を用いて、多くの組合せも効率的に管理
する。
1対のプログラム(76)、即ちr FilterN
J及びr FllterCJと、第1図の「・・ント」
プログラム(79)は、検索プログラム(75)、r
res@arch Jプログラム(81) 、バッファ
・プログラム(84)及びbitMap7゜ログラム(
77)を用いて、次の動作を実行する。
J及びr FllterCJと、第1図の「・・ント」
プログラム(79)は、検索プログラム(75)、r
res@arch Jプログラム(81) 、バッファ
・プログラム(84)及びbitMap7゜ログラム(
77)を用いて、次の動作を実行する。
Ge tGra phQue r)’ :Contex
tldXTimaXPredi catslXPred
i cate2XAttrlbut*Indexlrn
Attrlbutelnd@x2”−+(NodeIn
dexXValuem)”x(LlnkIndexxV
alue”)”この動作は上述の「質問検索」を実行し
、ContextIdが与えたコンテキストの現在オー
プンしている図表の副図表が時点Timgmに存在した
ので、この祠図表を戻す。副図表は、Predicmt
elを満足する総てのノードと、これら副図表ノードを
接続するPredicat・2を満足する総てのリンク
を含む。Pr5dleats 1及びPredlcal
e 2 #i、l i near 1zeGraph動
作に関連した述部用の上述の原理に従う。getGra
pbQu*ry動作によシ戻された副図表は、Pr@d
icmtelを満足する図表のノードと、Predic
mts2を満足する任意の相互接続リンクとを識別する
1組のNod@Index及びLi nkInd@x値
から成る。また、この動作は、副図表のノード及びリン
クに関係する特定の7トリビユートの値(Valu@”
及びValuen)、AttributeIndexl
”が特定したノード・アトリビュート、及びAttri
but@Indax2nが特定したリンク・アトリビュ
ートを戻す。
tldXTimaXPredi catslXPred
i cate2XAttrlbut*Indexlrn
Attrlbutelnd@x2”−+(NodeIn
dexXValuem)”x(LlnkIndexxV
alue”)”この動作は上述の「質問検索」を実行し
、ContextIdが与えたコンテキストの現在オー
プンしている図表の副図表が時点Timgmに存在した
ので、この祠図表を戻す。副図表は、Predicmt
elを満足する総てのノードと、これら副図表ノードを
接続するPredicat・2を満足する総てのリンク
を含む。Pr5dleats 1及びPredlcal
e 2 #i、l i near 1zeGraph動
作に関連した述部用の上述の原理に従う。getGra
pbQu*ry動作によシ戻された副図表は、Pr@d
icmtelを満足する図表のノードと、Predic
mts2を満足する任意の相互接続リンクとを識別する
1組のNod@Index及びLi nkInd@x値
から成る。また、この動作は、副図表のノード及びリン
クに関係する特定の7トリビユートの値(Valu@”
及びValuen)、AttributeIndexl
”が特定したノード・アトリビュート、及びAttri
but@Indax2nが特定したリンク・アトリビュ
ートを戻す。
gstcontextQu@ry:
TlmeXPredicateXAttributsI
ndex” →(Contextld XValus”
)この動作は、Pr5dleatsを満足する各コン
テキストのContext Idを戻すと共に、Pr5
dleatsを満足する各コンテキスト用の各特定 Attrlbut@Index用の値(Value、”
)も戻す。
ndex” →(Contextld XValus”
)この動作は、Pr5dleatsを満足する各コン
テキストのContext Idを戻すと共に、Pr5
dleatsを満足する各コンテキスト用の各特定 Attrlbut@Index用の値(Value、”
)も戻す。
makesearch:
String→−
この動作は、通常説明String を構文解析し、
この通常説明が生じ九のを見つけるために適正化された
限定ステート・マシンを作成する。このステート−マシ
ンは、次の5earchcontents動作中に用い
る。
この通常説明が生じ九のを見つけるために適正化された
限定ステート・マシンを作成する。このステート−マシ
ンは、次の5earchcontents動作中に用い
る。
t@archcontents :
ContextldX(Nodelnd*xIXT1m
e、XT1me2XPos 1tion1 )”XAt
tributeInds:trn−+(ModeInd
ex2xT1me3XPos itlon2Lengt
hXValu@rn)” この動作は、オフセットしたPo5itionlにてC
ontextIdがスタートすることによシ与えられた
コンテキスト内の各ノードNodeIndexlのTi
melからTime2まで、各バージョンの内容を検索
して、最新のmak@s@arch @作が特定した通
常説明を見つけるO口archcontents動作は
nodos (ModeIndex2)のリストを戻し
、このリストは、各ノードの説明の第1発生の位置(P
osltion2)、ノードのバージョン・タイム(T
lms3 ) 、AttributeIndexが識別
した各ノード・アトリビュートの値、一致が生じるバイ
ト(Length )の数を有する説明を含んでいる。
e、XT1me2XPos 1tion1 )”XAt
tributeInds:trn−+(ModeInd
ex2xT1me3XPos itlon2Lengt
hXValu@rn)” この動作は、オフセットしたPo5itionlにてC
ontextIdがスタートすることによシ与えられた
コンテキスト内の各ノードNodeIndexlのTi
melからTime2まで、各バージョンの内容を検索
して、最新のmak@s@arch @作が特定した通
常説明を見つけるO口archcontents動作は
nodos (ModeIndex2)のリストを戻し
、このリストは、各ノードの説明の第1発生の位置(P
osltion2)、ノードのバージョン・タイム(T
lms3 ) 、AttributeIndexが識別
した各ノード・アトリビュートの値、一致が生じるバイ
ト(Length )の数を有する説明を含んでいる。
node 07’ログラム(78)は、ノードに影4す
る以下の動作を実行する。
る以下の動作を実行する。
openMode:
Contaxld XNoderndex X Tim
@IX AttributeInd@x 1mX At
tribut@Index 2n−+Contents
XValue” X Time 2 X (Link
Pt XValue ) Tlms lが零ならば、openNod*動作は、C
ontextId 25”識別した=+ンテキストのN
a1deIndexが識別した存在するノードの内容(
Content8)及び現在のバージョン・タイム(T
lms2) f戻す。
@IX AttributeInd@x 1mX At
tribut@Index 2n−+Contents
XValue” X Time 2 X (Link
Pt XValue ) Tlms lが零ならば、openNod*動作は、C
ontextId 25”識別した=+ンテキストのN
a1deIndexが識別した存在するノードの内容(
Content8)及び現在のバージョン・タイム(T
lms2) f戻す。
71melが零でなければ、openMode i、T
ime ]としてのノードの内容の最終バージョン及び
戻された内容のバージョン・タイム(Tlms2) ’
l: 戻す。更に、この動作は、AttributeI
ndex 1mが識別した存在するノードのノード・ア
トリビュートの値(Valu@”) 、そのノードに接
続された各リンクのl、1nkPt 識別、及びAtt
ributeIndex2nが識別したリンク・アトリ
ビュートの値(Valueジを戻す、 op@nNod
eノード動作は、nod@17’ログラム(62)t−
呼出すことにより、ノード内容ファイル(22)内のノ
ードの現在のバージョンをアクセスする。
ime ]としてのノードの内容の最終バージョン及び
戻された内容のバージョン・タイム(Tlms2) ’
l: 戻す。更に、この動作は、AttributeI
ndex 1mが識別した存在するノードのノード・ア
トリビュートの値(Valu@”) 、そのノードに接
続された各リンクのl、1nkPt 識別、及びAtt
ributeIndex2nが識別したリンク・アトリ
ビュートの値(Valueジを戻す、 op@nNod
eノード動作は、nod@17’ログラム(62)t−
呼出すことにより、ノード内容ファイル(22)内のノ
ードの現在のバージョンをアクセスする。
modifyNode:
Contextld X Nod@lnd@zXT
1m* XCont@ntsX (LinkInd@
xXPosition) −+ −modifyNod
s−動作を呼出して、Timeが識別したノード・パー
ジシンである特定コンテキスト(Contaxtld)
の存在するノード(Nodelndex)の新たなバー
ジョン(Cont@nts) t−蓄積するe Tim
eの値が、ノードの現在のバージョンに等しくなければ
、modifyNode動作は、競合の指示をユーザに
戻し、新たなノード・バージョンヲ#槓シない。更に、
動作modifyNodeは、Linklnd@Xが識
別した存在する各リンクのノードにおいて、始点又は終
点(Posltion ) f再配置する。nodeO
プログラム(78)はnodelプログラム(62)
t”利用して、新たなノード内容を#積する。node
l 7’ログラムは、アーカイトプログラム(64)
及びIcsプログラム(66)t−交互に利用して、変
更すべきノードがアーカイ!・モードのと@新たなバー
ジョン履歴を作成する。nod@Qプログラム(78)
は、f−nodesグログラA(43)”e呼出して、
リンク点°において指示した変更を反映するように、ノ
ード辞# (24)内のエントリをイj正する。
1m* XCont@ntsX (LinkInd@
xXPosition) −+ −modifyNod
s−動作を呼出して、Timeが識別したノード・パー
ジシンである特定コンテキスト(Contaxtld)
の存在するノード(Nodelndex)の新たなバー
ジョン(Cont@nts) t−蓄積するe Tim
eの値が、ノードの現在のバージョンに等しくなければ
、modifyNode動作は、競合の指示をユーザに
戻し、新たなノード・バージョンヲ#槓シない。更に、
動作modifyNodeは、Linklnd@Xが識
別した存在する各リンクのノードにおいて、始点又は終
点(Posltion ) f再配置する。nodeO
プログラム(78)はnodelプログラム(62)
t”利用して、新たなノード内容を#積する。node
l 7’ログラムは、アーカイトプログラム(64)
及びIcsプログラム(66)t−交互に利用して、変
更すべきノードがアーカイ!・モードのと@新たなバー
ジョン履歴を作成する。nod@Qプログラム(78)
は、f−nodesグログラA(43)”e呼出して、
リンク点°において指示した変更を反映するように、ノ
ード辞# (24)内のエントリをイj正する。
aompactNode:
ContextId X Nod@Index XBo
olean −+ −この動作は、ContsxtId
が識別したコンテキスト内のModeIndexが識別
したノードの古いバージョンを除去すると共に、リンク
及びアトリビュー、トの古いバージョンも除去する。B
oolsanが真ならば、compmctNodeがノ
ードの総ての前のバージョン金除去する。しかし、Bo
olsanが偽ならば、このノードが最後にコン・ザク
トされたので、この動作は作成された前のパーゾョンの
み金除去する。
olean −+ −この動作は、ContsxtId
が識別したコンテキスト内のModeIndexが識別
したノードの古いバージョンを除去すると共に、リンク
及びアトリビュー、トの古いバージョンも除去する。B
oolsanが真ならば、compmctNodeがノ
ードの総ての前のバージョン金除去する。しかし、Bo
olsanが偽ならば、このノードが最後にコン・ザク
トされたので、この動作は作成された前のパーゾョンの
み金除去する。
ge tNod@T1msstamp :Contex
tld X NodaIndex −e Timeこの
動作は、ContextIdが識別したコンテキスト内
のNod@Znd*zが識別し之ノードに対して、現在
ツバ−ジョン・タイム(T tm* ) を戻す。
tld X NodaIndex −e Timeこの
動作は、ContextIdが識別したコンテキスト内
のNod@Znd*zが識別し之ノードに対して、現在
ツバ−ジョン・タイム(T tm* ) を戻す。
getNodeVersions :
ContextId X Nod@Ind@x −+
Vsrslon l XVersion2* このgetNodsVersions動作は、Vers
ionl”が識別した「ノージャ。バージョン」及びV
srslon2”が識別した「マイカ・バージョンJt
−含ムコンテ午スト(ContextId)のノード(
NodsIndex)用のバージョン履歴を戻す。「V
srmionJ結果は次のように定義する・ V@rsion=Time X Explanatio
nここで、Timeはバージョンを識別し、Expla
nation t’iパーショアの特性(即ち、メージ
ャ・バージョンかマイカ・バージョンか)全説明するテ
キストでるる。メージャ・バージョンはノード内容の更
新であり、一方、マイカ・バージョンは、リンクの付加
又はアトリビュート値の変更に関係した如きノードに関
する他の変更であるが、ノード内容は変更しない。mo
deQプログラム(78)Fif−nod@グログラA
(43) t−利用して、ノード辞書からバージョン
履歴データを取入れる。
Vsrslon l XVersion2* このgetNodsVersions動作は、Vers
ionl”が識別した「ノージャ。バージョン」及びV
srslon2”が識別した「マイカ・バージョンJt
−含ムコンテ午スト(ContextId)のノード(
NodsIndex)用のバージョン履歴を戻す。「V
srmionJ結果は次のように定義する・ V@rsion=Time X Explanatio
nここで、Timeはバージョンを識別し、Expla
nation t’iパーショアの特性(即ち、メージ
ャ・バージョンかマイカ・バージョンか)全説明するテ
キストでるる。メージャ・バージョンはノード内容の更
新であり、一方、マイカ・バージョンは、リンクの付加
又はアトリビュート値の変更に関係した如きノードに関
する他の変更であるが、ノード内容は変更しない。mo
deQプログラム(78)Fif−nod@グログラA
(43) t−利用して、ノード辞書からバージョン
履歴データを取入れる。
getNodeDl ffer@nc*s:Conte
xtId X Nod@Indax X Time I
X Time 2−+ Diff@rence” このgstNodeDifferences動作は、C
ontextIdが識別したコンテキストにてNod・
Indexが識別したノードのTime 1及びTim
e2バージョン間のrDiff@rence (s)
J f戻す。この差は、TimelバージョンをTlm
2バージヨンに変更する1組の削除及び挿入指令を含
んでいる。nod@Q 7’ログラムは、 nod@1
プログラム(62)、アーカイブ・プログラム(64)
及び1 c、sプログラム(66) ′fr:利用して
、ノード内容ファイル(22)からツマ−ジョン履歴を
取込む@ 「1ink OJプログラム(SO) #:tリンクに
関する次の動作を実行する。
xtId X Nod@Indax X Time I
X Time 2−+ Diff@rence” このgstNodeDifferences動作は、C
ontextIdが識別したコンテキストにてNod・
Indexが識別したノードのTime 1及びTim
e2バージョン間のrDiff@rence (s)
J f戻す。この差は、TimelバージョンをTlm
2バージヨンに変更する1組の削除及び挿入指令を含
んでいる。nod@Q 7’ログラムは、 nod@1
プログラム(62)、アーカイブ・プログラム(64)
及び1 c、sプログラム(66) ′fr:利用して
、ノード内容ファイル(22)からツマ−ジョン履歴を
取込む@ 「1ink OJプログラム(SO) #:tリンクに
関する次の動作を実行する。
g働tToNod@:
ContextId XLinkInd@x XTlm
el−+NodeIndsxX Tim・2 このgstToNod@動作は、ContaxtIdが
識別したコンテキストにてLinkIndexが識別し
たリンクのTimelバージョンのディスティネーショ
ンノードの識別NodsInd@x及びバージョン・タ
イム(Tlme2 )を戻す。1ink07’ログラム
(80)は。
el−+NodeIndsxX Tim・2 このgstToNod@動作は、ContaxtIdが
識別したコンテキストにてLinkIndexが識別し
たリンクのTimelバージョンのディスティネーショ
ンノードの識別NodsInd@x及びバージョン・タ
イム(Tlme2 )を戻す。1ink07’ログラム
(80)は。
fjinksプログラム(49)及びf−11nkHi
stグロダラム(48)を用いて、リンク辞書(26)
及びリンク・バージョン・ファイル(28)からLin
klndax番号を得る。
stグロダラム(48)を用いて、リンク辞書(26)
及びリンク・バージョン・ファイル(28)からLin
klndax番号を得る。
gatFromNode:
ContextId X LlnkIndex X T
lme 1→NodeIndsx X Tim52 このg@tFromNode動作は、ContextI
dが識別したコンテキストにてLinkIndexが識
別したリンクのソース・ノードの識別Nod@Ind@
x及びバージョン・タイム(Tims+2)を戻す。こ
のリンクのバージョン・タイムは、Timelが識別す
る。
lme 1→NodeIndsx X Tim52 このg@tFromNode動作は、ContextI
dが識別したコンテキストにてLinkIndexが識
別したリンクのソース・ノードの識別Nod@Ind@
x及びバージョン・タイム(Tims+2)を戻す。こ
のリンクのバージョン・タイムは、Timelが識別す
る。
1組のプログラム(82) (rattributaO
J 。
J 。
r attributeN J、rattribute
cJ及びrattributeLJは次の動作を実行す
る。
cJ及びrattributeLJは次の動作を実行す
る。
gstAttrlbut@s:
ContextId X Tim5−+ (Attri
bute XAttrlbul@lnd@x )” このg*tAttributes動作は、Contsx
tldが識別したコンテキスト用の所定時点(Time
)に存在する総てのAttrlbut・及びそれらに関
連したAttribut@Ind@xsを戻す。ノード
及びリンクに関連したAttributsIndex番
号を取込むために、attribut・0プログラム(
82)は、アトリビュート名辞書(68)からAttr
ibutaIndex査号を取込むf−attDafプ
ログラム(52)を呼出す。アトリビュート・プログラ
ム(82)は、列プログラム(68)を呼び出して、各
Attribut@Index番号に関連したアトリビ
ュート名(Attribut@)を決定する。
bute XAttrlbul@lnd@x )” このg*tAttributes動作は、Contsx
tldが識別したコンテキスト用の所定時点(Time
)に存在する総てのAttrlbut・及びそれらに関
連したAttribut@Ind@xsを戻す。ノード
及びリンクに関連したAttributsIndex番
号を取込むために、attribut・0プログラム(
82)は、アトリビュート名辞書(68)からAttr
ibutaIndex査号を取込むf−attDafプ
ログラム(52)を呼出す。アトリビュート・プログラ
ム(82)は、列プログラム(68)を呼び出して、各
Attribut@Index番号に関連したアトリビ
ュート名(Attribut@)を決定する。
g@tAttrlbut@Valu*a:Contex
tId X AttrlbuteInd*x X Ti
me →Valu@” このg*tAttr1butsValuas td、所
定時(Time )にContextIdが識別したコ
ンデキスト用に。
tId X AttrlbuteInd*x X Ti
me →Valu@” このg*tAttr1butsValuas td、所
定時(Time )にContextIdが識別したコ
ンデキスト用に。
Attribut・Indexが識別し選択したアトリ
ピュートに割当てた値(Valus”)のリストを戻す
。
ピュートに割当てた値(Valus”)のリストを戻す
。
attribute Oプログラム(82) Hlf−
attValusプログラム(54)及びf、、−at
tHlst 7’ログラム(56)を利用して、アトリ
ビュート値バージョン・ファイル(36)内に蓄積され
たアトリビュート値列インデックス・データを探すと共
に、列プログラム(68)は利用して、アトリビュート
値列インデックス・データを、選択したAttrlbu
te Indexに関保したア) +Jピュート値を表
わす文字列に変換する。
attValusプログラム(54)及びf、、−at
tHlst 7’ログラム(56)を利用して、アトリ
ビュート値バージョン・ファイル(36)内に蓄積され
たアトリビュート値列インデックス・データを探すと共
に、列プログラム(68)は利用して、アトリビュート
値列インデックス・データを、選択したAttrlbu
te Indexに関保したア) +Jピュート値を表
わす文字列に変換する。
gstAttribut@Ind@x:Contrxt
Id X Attribute−+Attrlbuts
Indexアトリビュート・プログラムのgetAtt
ribut・Index動作は、列プログラム(68)
を利用して、Contextrdが識別したコンテキス
トに関連したアトリビュート名月の独特な列インデック
ス識別(Attribut@Index )を戻す。ア
トリビュートが新しければ、この動作は新たなアトリビ
ュー。
Id X Attribute−+Attrlbuts
Indexアトリビュート・プログラムのgetAtt
ribut・Index動作は、列プログラム(68)
を利用して、Contextrdが識別したコンテキス
トに関連したアトリビュート名月の独特な列インデック
ス識別(Attribut@Index )を戻す。ア
トリビュートが新しければ、この動作は新たなアトリビ
ュー。
ト・インデックス値を割当てる。
5etNodeAttributaValua:Con
textId X Nod@Ind@x X Attr
lbutaIndexX Valus →− このs@tNodeAttribut@Value動作
は、新たな値を、Nodelnd@x及びContex
trdが識別したノードの現在のバージョンのアトリビ
ュート(Attrlbut@Ind@xによ)識別され
る)に割当てると共に、値(Valus )をアトリビ
ュートに割当チル。NodsIndexが識別したノー
ドがアーカイブ・ノードならば、アトリビュート値の新
たなバージョンを作成する。
textId X Nod@Ind@x X Attr
lbutaIndexX Valus →− このs@tNodeAttribut@Value動作
は、新たな値を、Nodelnd@x及びContex
trdが識別したノードの現在のバージョンのアトリビ
ュート(Attrlbut@Ind@xによ)識別され
る)に割当てると共に、値(Valus )をアトリビ
ュートに割当チル。NodsIndexが識別したノー
ドがアーカイブ・ノードならば、アトリビュート値の新
たなバージョンを作成する。
getNodsAttributaValue :Co
ntextrd X Nodelndex X Att
ributerndexX Tim5 →Value このgetNod@Attribut@Value動作
は、f−nodesプログラム(43)を用いてノード
辞? (24)をアクセスするModeIndex及び
Contextrdが識別した所定ノード用の所定時点
(Tim@)において、AttrlbutsIndex
が識別したアトリビュート用の値(Value )を戻
す。
ntextrd X Nodelndex X Att
ributerndexX Tim5 →Value このgetNod@Attribut@Value動作
は、f−nodesプログラム(43)を用いてノード
辞? (24)をアクセスするModeIndex及び
Contextrdが識別した所定ノード用の所定時点
(Tim@)において、AttrlbutsIndex
が識別したアトリビュート用の値(Value )を戻
す。
del@t@NodsAttributa:Conte
xtId X NodaIndex X Attri
butslndaxこのdslst@NodsAttr
ibuts動作は、f−modesプログラム(43)
を利用してノード辞書(24)を修正するNode I
ndex及びContextrdが識別したノード用の
AttributaInd@xが識別したアトリビュー
トを削除する。
xtId X NodaIndex X Attri
butslndaxこのdslst@NodsAttr
ibuts動作は、f−modesプログラム(43)
を利用してノード辞書(24)を修正するNode I
ndex及びContextrdが識別したノード用の
AttributaInd@xが識別したアトリビュー
トを削除する。
getNodeAttrlbutes:Context
rd X Nodelndtx XTim5−+ (A
ttrlbutvXAttribut@Indax X
Value)”このgetNodeAttrlbut
ea動作は、図表Cont@xtIdが識別したコンテ
キストの選択したノード(NodeInd@x )用の
選択した時点(Time)におけるアトリビュート塩(
Attrlbut・)、それらに対応した列インデック
ス識別子 (AttributsInd@x )、及びそれらの値
(Valu@”)の総てを戻す。このAttribut
@Indexは、f−nod@gプログラム(43)に
よシノード辞書(24)から得、またアトリビュート用
のValueIndexIぐラメータは、f−attV
alu*グロダラム(54)によシアトリビュート値辞
書(34)から得る。よって、列プログラム(68)
t−呼出して、取込んだValusjnd@x及びAt
tributelnd@x番号を文字列(Attrlb
ute及びValue)にに換するコ 5etLinkAttrlbuts+Value:Co
ntextId X Linklndex X Att
ributeIndexX Value →− この5etLlnkAttributaValue動作
は、アトリビュート/値ポインタ対七すンク辞# (2
6)に付加して、コンテキスト及びContextId
のリンク(LinkIndex )の選択したアトリビ
ュート(AttributeIndex )の値(Va
lue ) k d ’iEする。
rd X Nodelndtx XTim5−+ (A
ttrlbutvXAttribut@Indax X
Value)”このgetNodeAttrlbut
ea動作は、図表Cont@xtIdが識別したコンテ
キストの選択したノード(NodeInd@x )用の
選択した時点(Time)におけるアトリビュート塩(
Attrlbut・)、それらに対応した列インデック
ス識別子 (AttributsInd@x )、及びそれらの値
(Valu@”)の総てを戻す。このAttribut
@Indexは、f−nod@gプログラム(43)に
よシノード辞書(24)から得、またアトリビュート用
のValueIndexIぐラメータは、f−attV
alu*グロダラム(54)によシアトリビュート値辞
書(34)から得る。よって、列プログラム(68)
t−呼出して、取込んだValusjnd@x及びAt
tributelnd@x番号を文字列(Attrlb
ute及びValue)にに換するコ 5etLinkAttrlbuts+Value:Co
ntextId X Linklndex X Att
ributeIndexX Value →− この5etLlnkAttributaValue動作
は、アトリビュート/値ポインタ対七すンク辞# (2
6)に付加して、コンテキスト及びContextId
のリンク(LinkIndex )の選択したアトリビ
ュート(AttributeIndex )の値(Va
lue ) k d ’iEする。
このようにするため、attributeLプログラム
は、11nkOプログラム(80) t−呼出し、この
ゾログラA (80)は、fjinksプログラム(4
9)’を介してリンク辞書(26) t−アクセスする
。このリンクがアーカイブ型式ノードに適合していれば
(即ち、ノーどのバージョン履歴を保守すべきであれば
)、f−attValueプログラム(54)’を介し
てアクセスしたアトリビュート値辞書(34)において
、アトリビュート値の新たなバージョン全作成する。
は、11nkOプログラム(80) t−呼出し、この
ゾログラA (80)は、fjinksプログラム(4
9)’を介してリンク辞書(26) t−アクセスする
。このリンクがアーカイブ型式ノードに適合していれば
(即ち、ノーどのバージョン履歴を保守すべきであれば
)、f−attValueプログラム(54)’を介し
てアクセスしたアトリビュート値辞書(34)において
、アトリビュート値の新たなバージョン全作成する。
g@tLinkAttribut@Valu* :Pr
oJeatld X ContsxtId X Lin
klndax XAttributalndez X
Tim5 −+ValueこのgetLinkAt
tributaValue動作は、 ContaxtI
dが識別したコンテキストのLinkInd@zが識別
したリンクの越択したバージョン(Time)用のAt
tributeIndexが識別したアトリビュートの
値(Value ) t−戻す。1inkOプログラム
(80) t−呼出して、リンク辞書(26)からアト
リビュートに関連した値ポインタを得、次に、f、、−
attValu・プログラム(54)t−呼出して、ア
トリビュート値辞書(34)からアトリビュートの値を
得る。
oJeatld X ContsxtId X Lin
klndax XAttributalndez X
Tim5 −+ValueこのgetLinkAt
tributaValue動作は、 ContaxtI
dが識別したコンテキストのLinkInd@zが識別
したリンクの越択したバージョン(Time)用のAt
tributeIndexが識別したアトリビュートの
値(Value ) t−戻す。1inkOプログラム
(80) t−呼出して、リンク辞書(26)からアト
リビュートに関連した値ポインタを得、次に、f、、−
attValu・プログラム(54)t−呼出して、ア
トリビュート値辞書(34)からアトリビュートの値を
得る。
deLeteLinkAttribute :Cont
extId X Llnklndex X Attri
buteIndexこのdel@t@LinkAttr
ibuta動作は、Lin1lnd+exが参照したコ
ンテキスト及びContaxtIdのリンク用のAtt
ribut@1adex が示したアトリビュートを
リンク辞書(26)から削除する。
extId X Llnklndex X Attri
buteIndexこのdel@t@LinkAttr
ibuta動作は、Lin1lnd+exが参照したコ
ンテキスト及びContaxtIdのリンク用のAtt
ribut@1adex が示したアトリビュートを
リンク辞書(26)から削除する。
getLinkAttributes :Contax
tId X Linklndez X Time →(
AttrlbutaX Attributelndex
X Value )”このg@tLinkAttri
butes動作は、ContaxtIdが識別し次コン
テキストのリンク(LinkIndex )用の各アト
リビュートの7トリピユ一ト名(Attribute
)、この7)リヒュート用ノ列インデックス(Attr
ibuteIndex)及び値(Value)を戻す。
tId X Linklndez X Time →(
AttrlbutaX Attributelndex
X Value )”このg@tLinkAttri
butes動作は、ContaxtIdが識別し次コン
テキストのリンク(LinkIndex )用の各アト
リビュートの7トリピユ一ト名(Attribute
)、この7)リヒュート用ノ列インデックス(Attr
ibuteIndex)及び値(Value)を戻す。
なお、このリンク・バージョンは、Timeが識別する
。この動作の実行の際、attributeLグログラ
A (82) LIi、11nkQグロダラム(80)
t−呼び出して、リンク辞″f (26)又はリンク・
バージョン・ファイル(28)がら夕(1インデックス
番号を取込むと共に、f−attValuaプログラム
(54)及びf−attHimtプログラム(56)
k呼び田して、アトリビュート値を8照するValue
Index番号を取込む。また列プログラム(68)
t−用いて、列インデックス番号が参照したアトリビュ
ート及び値文字列t−戻す。
。この動作の実行の際、attributeLグログラ
A (82) LIi、11nkQグロダラム(80)
t−呼び出して、リンク辞″f (26)又はリンク・
バージョン・ファイル(28)がら夕(1インデックス
番号を取込むと共に、f−attValuaプログラム
(54)及びf−attHimtプログラム(56)
k呼び田して、アトリビュート値を8照するValue
Index番号を取込む。また列プログラム(68)
t−用いて、列インデックス番号が参照したアトリビュ
ート及び値文字列t−戻す。
getContextAttributeValue:
Cant@xtIdX AttributeIndex
X Valu@−* −このgetContextA
ttributeValue動作は、コンテキスト(C
ontextld )用のアトリビュート(Attri
buteIndex )t−1Valu@ パラメータ
が指示した値に設足する。
Cant@xtIdX AttributeIndex
X Valu@−* −このgetContextA
ttributeValue動作は、コンテキスト(C
ontextld )用のアトリビュート(Attri
buteIndex )t−1Valu@ パラメータ
が指示した値に設足する。
deletsContextAttribut*:Co
ntaxtId X AttributeIndex−
+−このdel@t@ContextAttribut
e動作は、特定コンテキスト(Cont@xtldン用
のアトリビュート(AttributeIndex )
f削除する。
ntaxtId X AttributeIndex−
+−このdel@t@ContextAttribut
e動作は、特定コンテキスト(Cont@xtldン用
のアトリビュート(AttributeIndex )
f削除する。
getContextAttributeValue
二Conteztld X Time X Attri
buteIndex →va 1 us この動作は、特定時点(Time )にて、コンテキス
ト(ContaxtId )の7トリビユート(Att
ributslndeX )用の値(Value )
f戻す。
二Conteztld X Time X Attri
buteIndex →va 1 us この動作は、特定時点(Time )にて、コンテキス
ト(ContaxtId )の7トリビユート(Att
ributslndeX )用の値(Value )
f戻す。
getConl@xtAttribut@s :Con
textld X Tim5−+ (Attribut
e XAttributslndex X Value
)”このg@tCont@xtAttributsa
動作は、特定コンテキスト(ContextId)用に
存在したアトリビュート(Attribute) 、そ
れら各々の識別子(Attributelndex)及
びそれらの値(Valu・)の総てを戻す。エラーが生
じた際、上述の多くのプログラムは、「エラー」プログ
ラム(83)’に要求し、このエラー・プログラムはエ
ラー・メツ七−ジをユーザに戻すO 〔発明の効果〕 よって、本発明のデータ管理方法は、大型コンピユータ
化7”−タ#積システムにおいて関心のあるノードを探
すプログラムを効果的に処理する。
textld X Tim5−+ (Attribut
e XAttributslndex X Value
)”このg@tCont@xtAttributsa
動作は、特定コンテキスト(ContextId)用に
存在したアトリビュート(Attribute) 、そ
れら各々の識別子(Attributelndex)及
びそれらの値(Valu・)の総てを戻す。エラーが生
じた際、上述の多くのプログラムは、「エラー」プログ
ラム(83)’に要求し、このエラー・プログラムはエ
ラー・メツ七−ジをユーザに戻すO 〔発明の効果〕 よって、本発明のデータ管理方法は、大型コンピユータ
化7”−タ#積システムにおいて関心のあるノードを探
すプログラムを効果的に処理する。
上述の動作により、データ雪埋システムは、リンクによ
フ相互接続されたノードから成る図表にノード及びリン
ク全組織化することができる。なお、ノード及びリンク
の両方にユーザ定義可能なアトリビュート七割当てるこ
とができる。また、ユーデ足義可能なアトリビュートに
割当てたコンテキストに図表を細分することもできる。
フ相互接続されたノードから成る図表にノード及びリン
ク全組織化することができる。なお、ノード及びリンク
の両方にユーザ定義可能なアトリビュート七割当てるこ
とができる。また、ユーデ足義可能なアトリビュートに
割当てたコンテキストに図表を細分することもできる。
図表を誠別可能なコンテキストに分割し、あるコンテキ
ストからのノード及びリンクを他のコンテキストにマー
ジする能力によシ、2Å以上のユーザがノードを変更し
ようとした際に生じる競合を減らすことができる。
ストからのノード及びリンクを他のコンテキストにマー
ジする能力によシ、2Å以上のユーザがノードを変更し
ようとした際に生じる競合を減らすことができる。
getGraphQusry 、 Lit+ea
rizsGraph、 getcontextQIe
5及びa@archcontenta動作は、割当てた
ノード、リンク及び/又はコンテキスト・アトリビュー
トを用いて、ユーザが関心のあるこれらのノード及びリ
ンクのみを収容する副図表を検索する。これら副図表は
、同じアトリビュート値を共有しないコンテキスト及び
/又はノードと関係ない副図表から除外して、コンテキ
スト又はノード名を知ることなく、特定のアトリビュー
ト値(即ち、要旨、編集者等)を有するコンテキスト内
の特定のコンテキスト又はノードを探すことをユーザに
とってより容易にする。これは、ユーザが特定ファイル
を見つけるために精査しなければならないファイルの数
を減らす。また、この副図表は、リンク・アトリビュー
ト値を選択しなかったリンクが、選択されたノードにリ
ンクされたノードを削除することにより゛、何らかの点
で選択さnたノードに関連したノードを探すのを、ユー
ザにとってより簡単にする。ノーr、リンク及びコンテ
キスト・アトリビュートの割当てとデータ管理システム
の検索能力の組合せにより、副図表に含まれるノード及
びリンクをユーザが高い自由度で定義できる。
rizsGraph、 getcontextQIe
5及びa@archcontenta動作は、割当てた
ノード、リンク及び/又はコンテキスト・アトリビュー
トを用いて、ユーザが関心のあるこれらのノード及びリ
ンクのみを収容する副図表を検索する。これら副図表は
、同じアトリビュート値を共有しないコンテキスト及び
/又はノードと関係ない副図表から除外して、コンテキ
スト又はノード名を知ることなく、特定のアトリビュー
ト値(即ち、要旨、編集者等)を有するコンテキスト内
の特定のコンテキスト又はノードを探すことをユーザに
とってより容易にする。これは、ユーザが特定ファイル
を見つけるために精査しなければならないファイルの数
を減らす。また、この副図表は、リンク・アトリビュー
ト値を選択しなかったリンクが、選択されたノードにリ
ンクされたノードを削除することにより゛、何らかの点
で選択さnたノードに関連したノードを探すのを、ユー
ザにとってより簡単にする。ノーr、リンク及びコンテ
キスト・アトリビュートの割当てとデータ管理システム
の検索能力の組合せにより、副図表に含まれるノード及
びリンクをユーザが高い自由度で定義できる。
よって、ノード・アトリビュートのみ又はリンク・アト
リビュートのみを割当てるときに可能なよシも、ユーザ
はノードの特性及びそれらの相互関係をより容易に探し
たり決定できる。
リビュートのみを割当てるときに可能なよシも、ユーザ
はノードの特性及びそれらの相互関係をより容易に探し
たり決定できる。
上述の動作により、本発明のデータ管理方法は、コンテ
キスト、ノード及びリンク・バージョン履歴を維持する
ことにより、コンテキスト、ノード及びリンクへの文書
変更を可能にし、図表が以前の時点に存在していたよう
に図表を再構成する。
キスト、ノード及びリンク・バージョン履歴を維持する
ことにより、コンテキスト、ノード及びリンクへの文書
変更を可能にし、図表が以前の時点に存在していたよう
に図表を再構成する。
データ管理システムは、フンテキスト、ノード及びリン
クに関連したアトリビュート値にアトリビュート履歴文
書を変更するのにも適合する。
クに関連したアトリビュート値にアトリビュート履歴文
書を変更するのにも適合する。
第1図は本発明に応じたコンピュータ・ソフトウェアの
ブロック図、第2図は本発明を利用し次データ管理シス
テムのブロック図、第3図は、2つのコンテキスト間の
マージ動作におけるノード展開を示す図、第4図及び第
5図は第1図のソフトウェアが保持する選択したデータ
・ファイル間の関係を示すブロック図、第6図は2つの
ノード間のリンクを示す図である。 代 理 人 伊 藤 直向 松
隈秀盛
ブロック図、第2図は本発明を利用し次データ管理シス
テムのブロック図、第3図は、2つのコンテキスト間の
マージ動作におけるノード展開を示す図、第4図及び第
5図は第1図のソフトウェアが保持する選択したデータ
・ファイル間の関係を示すブロック図、第6図は2つの
ノード間のリンクを示す図である。 代 理 人 伊 藤 直向 松
隈秀盛
Claims (1)
- 【特許請求の範囲】 ユーザからのコマンド及びデータ・シーケンスを受ける
データ処理装置によって、各々が独立したデータ・シー
ケンスで構成されたノードをデータ蓄積手段に蓄積し、
該データ蓄積手段に蓄積されたノードを読出し、データ
をユーザに転送するデータ管理方法であって、 各々がユーザから受けた独立したデータ・シーケンスか
ら構成されたノードを上記データ蓄積手段に蓄積し、 各々が蓄積された上記ノードの独立したグループから構
成された複数のコンテキストの1つに含まれるとして、
蓄積されている上記ノードの各々を識別し、 蓄積された上記ノードの少なくとも1対を関係があると
して参照するリンク・データをユーザから受けて上記デ
ータ蓄積手段に蓄積することを特徴とするデータ管理方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US93820786A | 1986-12-02 | 1986-12-02 | |
| US938207 | 1986-12-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63156256A true JPS63156256A (ja) | 1988-06-29 |
Family
ID=25471098
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62305530A Pending JPS63156256A (ja) | 1986-12-02 | 1987-12-02 | データ管理方法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0270360A3 (ja) |
| JP (1) | JPS63156256A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0728688A (ja) * | 1993-07-09 | 1995-01-31 | Sony Corp | 情報処理方法 |
| JP2005308637A (ja) * | 2004-04-23 | 2005-11-04 | Toshiba Microelectronics Corp | テストプログラム自動生成装置、テストプログラム自動生成方法及びテストプログラム自動生成プログラム |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4982344A (en) * | 1988-05-18 | 1991-01-01 | Xerox Corporation | Accelerating link creation |
| US5438511A (en) * | 1988-10-19 | 1995-08-01 | Xerox Corporation | Disjunctive unification |
| US5159669A (en) * | 1988-12-15 | 1992-10-27 | Xerox Corporation | Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation |
| US5297249A (en) * | 1990-10-31 | 1994-03-22 | International Business Machines Corporation | Hypermedia link marker abstract and search services |
| EP0837400A3 (en) * | 1996-10-18 | 1999-04-28 | Fuji Xerox Co., Ltd. | Structured data and document processing apparatus and method |
| EP1107128A1 (en) * | 1999-12-03 | 2001-06-13 | Hyundai Electronics Industries Co., Ltd. | Apparatus and method for checking the validity of links in a computer network |
| US7620621B2 (en) | 2001-05-01 | 2009-11-17 | General Electric Company | Methods and system for providing context sensitive information |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4646229A (en) * | 1982-11-15 | 1987-02-24 | At&T Bell Laboratories | Time-ordered data base |
-
1987
- 1987-12-02 JP JP62305530A patent/JPS63156256A/ja active Pending
- 1987-12-02 EP EP19870310621 patent/EP0270360A3/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0728688A (ja) * | 1993-07-09 | 1995-01-31 | Sony Corp | 情報処理方法 |
| JP2005308637A (ja) * | 2004-04-23 | 2005-11-04 | Toshiba Microelectronics Corp | テストプログラム自動生成装置、テストプログラム自動生成方法及びテストプログラム自動生成プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0270360A2 (en) | 1988-06-08 |
| EP0270360A3 (en) | 1990-09-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5047918A (en) | File management system | |
| Mena et al. | OBSERVER: An approach for query processing in global information systems based on interoperation across pre-existing ontologies | |
| US7480661B2 (en) | Query services for database system | |
| US5283894A (en) | Lockless concurrent B-tree index meta access method for cached nodes | |
| EP1347394B1 (en) | Schema-oriented content management system | |
| JP5038939B2 (ja) | 情報検索システム、方法及びプログラム | |
| WO1998030962A2 (en) | Method for content-based dynamic formatting for interoperation of computing and edi systems | |
| CN108255972A (zh) | 一种全文检索方法及系统 | |
| JPH02501514A (ja) | 属性データ モデル データベースを使用するソフトウエア応用プログラムを結合する方法 | |
| JP2009009590A (ja) | ウェブサイトのコンテンツの開発システム及び方法 | |
| EP2131293A1 (en) | Method for mapping an X500 data model onto a relational database | |
| JPH0550774B2 (ja) | ||
| JP2001306372A (ja) | 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 | |
| JPS63156256A (ja) | データ管理方法 | |
| US7769719B2 (en) | File system dump/restore by node numbering | |
| Clifton et al. | The design of a document database | |
| JPH0358249A (ja) | フアイルのアクセス方法 | |
| US7949656B2 (en) | Information augmentation method | |
| CN113032450A (zh) | 一种数据存储与检索方法、系统、存储介质、处理终端 | |
| Macleod | A Model for Integrated Information Systems. | |
| JP3532083B2 (ja) | 情報管理装置及び情報検索方法 | |
| Bin et al. | Base Platform for Knowledge Graphs with Free Software. | |
| Lawrence | Automatic conflict resolution to integrate relational schema | |
| Kaplanis et al. | HB+ tree: use hadoop and HBase even your data isn't that big | |
| CN113282551B (zh) | 数据处理方法、系统及设备 |