JPH01312647A - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JPH01312647A
JPH01312647A JP1105700A JP10570089A JPH01312647A JP H01312647 A JPH01312647 A JP H01312647A JP 1105700 A JP1105700 A JP 1105700A JP 10570089 A JP10570089 A JP 10570089A JP H01312647 A JPH01312647 A JP H01312647A
Authority
JP
Japan
Prior art keywords
data
link
objects
file
child
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1105700A
Other languages
English (en)
Inventor
John A Dysart
ジョン・アンドリュー・ディサート
William M Crow
ウイリアム・エム・クロウ
Peter S Showman
ピーター・エス・ショーマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH01312647A publication Critical patent/JPH01312647A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はデータ転送方式に関し、より詳しくは、コンピ
ュータシステム内における、オブジェクト間のデータ転
送に関する。
〔従来技術およびその問題点〕
各種のコンビエータアプリケーションによって作られる
複数のデータファイル間での互換性を得るというのは、
しばしば達成できない目標である。
通常、個々のコンピュータアプリケーションは他のコン
ピュータアプリケーションとは独立に動作する。あるコ
ンピュータアプリケーションからのデータが別のアプリ
ケーションからのデータに効果的に取り込めるのは、極
めて稀である。
時折、所謂統合型ソフトウェア(integrated
software )が開発され、これによりある種の
アプリケーション間で多少のデータ互換性がもたらされ
る。しかし、これら統合型ソフトウェアパッケージは、
その統合型ソフトウェアパッケージの一部分ではないコ
ンピュータアプリケーションとの間でのデータ互換性を
与えるものではない。
〔発明の目的〕
本発明の目的は、上述した従来技術の問題点を解消し、
柔軟なデータの移し換えのための基盤を与えるデータ転
送方式を提供することにある。
〔発明の概要〕
本発明の一実施例によれば、ファイル管理システムと複
数のオブジェクトを有するコンピュータが与えられる。
ファイル管理システムにより、オブジェクト間でのデー
タの転送の統御ができるようになる。−船釣に、オブジ
ェクトは一つまたはそれ以上のファイル中のデータを含
むとともにこのファイル中のデータをコンピュータによ
って処理できる実行可能コードも含む実体であると考え
られる。
本発明の好ましい実施例では、ファイル管理システムに
は、複数のアプリケーションプログラム、複数のデータ
ファイル、複数のクラスデータ構造、および複数のオブ
ジェクトデータ構造が含まれる。
各クラスデータ構造は複数のアプリケーションプログラ
ムの内のあるアプリケーションプログラムへの参照を含
む。各オブジェクトデータ構造は、複数のクラスデータ
構造の内のあるクラスデータ構造への参照と、複数のデ
ータファイルの内の少なくとも一つのデータファイルへ
の参照を含む。
オブジェクトデータ構造を用いることで、コンピュータ
のユーザとデータファイルとの間にレイヤが追加される
。これにより、コンピュータはユーザにはアクセスでき
ないタグを使用して、オブジェクトデータ構造を参照し
、それに対応付けられているファイルにアクセスできる
ようになる。
ユーザはオブジェクトのスクリーン上の物理的な位置に
基づいてそのオブジェクトを参照する。ユーザはまたオ
ブジェクトデータ構造に名前を付与することができるが
、この名前はタグの値には全く関係付けられない。この
ようにすることによって、ユーザは例えば同一のディレ
クトリにある2つのオブジェクトに同じ名前を付けるこ
とができる。
これに加えて、ファイル管理システムは複数のりンクデ
ータ構造も含んでいる。各データリンク構造は、複数の
オブジェクトデータ構造の内の当該リンクの親オブジェ
クトとして働く第1オブジェクトデータ構造への参照を
含むとともに、複数のオブジェクトデータ構造の内の当
該リンクの子オブジェクトとして働く第2オブジェクト
データ構造への参照を含む。子オブジェクトと親オブジ
ェクトは各々のリンクデータ構造に対して必ずしも同一
ではない。
ビューが付いたリンクを子オブジェクトと親オブジェク
トとの間に以下のようにして作ることができる。ユーザ
が、表示されるべきオブジェクトを子オブジェクトに対
して指定する。ユーザはまたデータが表示されるべき位
置を親オブジェクトに対して指定する。ユーザはまたフ
ァイル管理システムに子オブジェクトと親オブジェクト
のリンクを作らせ、これによりこのリンクデータ構造に
リンクデータ構造を識別する参照名と、子オブジェクト
への参照と、親オブジェクトへの参照と、転送されるべ
きデータを識別するデータアイデンティファイアとが含
まれるようにする。
親オブジェクトからの要求により、子オブジェクトは親
オブジェクトから指定された位置にそのデータを表示す
る。親オブジェクトは、ファイル管理システムに対して
、参照名と、データが表示されるべき位置と、データの
転送要求とを送ることで、このこの要求を行う。親オブ
ジェクトは、子オブジェクトもデータアイデンティファ
イアも&f1認しない、親オブジェクトがこれらを知る
必要はないのである。
ファイル管理システムが親オブジェクトから要求を受は
取ると、このシステムはデータ転送の要求を子オブジェ
クトに送る。後者の要求にはデータが表示されるべき位
置とデータアイデンティファイアが含まれているが、親
オブジェクトの参照名やそれを識別できるものは含まれ
てはいない。
ここで子オブジェクトは指定された位置にデータを表示
する。
こうする代わりに、リンクが設定されたとき、子オブジ
ェクトがスナップショットオブジェクトを設定してもよ
い。このスナップショットは指定された位置へ表示を行
う責任を引き受ける。ファイル管理システムが親オブジ
ェクトから供給を受は取ると、このシステムはデータ転
送要求を子オブジェクトへではなくスナップショットへ
送る。
するとこのスナップショットは指定された位置にデータ
を表示する。
本発明のひとつの利点は、これによりあるアプリケーシ
ョンを使用しているユーザが別のアプリケーションから
のデータへアクセスできるようになることである。例え
ば、ある一つのスプレッドシートをいくつかの別々のフ
ォルダにリンクして、ワードプロセッサによる文書中で
表として使用されたり、また棒グラフの元データとして
使用することができる。例えば、これらのリンクされた
何れの位置からでも、ユーザはもっとよく調べたりある
いは修正したりするためにこのスプレッドシートを極め
て簡単に表示させることができる。
スナップショットを使用する利点は、通常、親オブジェ
クトが子オブジェクトにデータを要求したときには、こ
の子オブジェクトに関連するアプリケーションが活性化
されなければならないということに関係する。これには
、複雑なアプリケーションでは大きなオーバヘッドが必
要とされることがある。これに対して、スナップショッ
トが用いられると、子オブジェクトに関連しているアプ
リケーションが活性化される必要はなく、要求されたデ
ータをずっと少ないオーバへ・ノドで表示できる。
[発明の実施例] 第1図には、モニタ14、キーボード19、及び、マウ
ス20×を備えたコンピュータ18が示されている。矢
印9によって、コンピュータの主記憶装置17の一部が
コンピュータ18内にあることが示されている。コンピ
ュータ18の主記憶装置17内には、オブジェクト管理
機構(object management faci
−1ity、 OM F 000、アプリケーション1
01.102.103、104、105、106が示さ
れている。
アプリケーション 101〜106のそれぞれは、オブ
ジェクトを用いてデータを記憶する。例えば、第2図に
おいて、オブジェクト 202.203.204.20
5を用いてデータを記憶しているアプリケーション10
1が示されている。同様に、オブジェクト207.20
8.209.210にデータを記憶したアプリケーショ
ン 106も示されている。OMF  100は、どの
オブジェクトがどのアプリケーションに付随するかを示
す情報を記憶している。ある単一のアプリケーションに
関連したオブジェクトは、同じタイプ、つまり同じクラ
スのオブジェクトであるとみなされる。例えば、オブジ
ェクト 202.203.204.205は夫々アプリ
ケーション101に関連しているので、同じクラスであ
る。同様に、オブジェクト 207.208.209.
210は、夫々アプリケーション106に関連している
ので、同じクラスである。同じクラスの全てのオブジェ
クトは、同じアプリケーションを使用する。コンピュー
タ18がアプリケーションを実行している間に、OM 
F 100がこのアプリケーションに対し、このアプリ
ケーションがどのオブジェクトに対してデータアクセス
すべきかを教える。このとき当該オブジェクトは活動状
態にあるとみなされる。あるオブジェクトが関連するア
プリケーションがコンピュータ18によって実行されて
いない場合、あるいはそのオブジェクトが関連するアプ
リケーションが実行中であるが、このオブジェクトのデ
ータを使ってX実行されていない場合は、そのオブジェ
クトは非活動状態にある。
活動状態のオブジェクトはメツセージを用いて互いに連
絡することができる。例えば、アプリケ−ション 10
1の2つのインスタンスがメニンピユータ18上夛走っ
ていて、一方のインスタンスはオブジェクト202のデ
ータを使い、他方はオブジェクト 203のデータを使
っているとき、オブジェクト202およびオブジェクト
 203は両方とも活動状態にある。従って、オブジェ
クト 202はオブジェクト 203に対しメツセージ
211を送信できる。同様に、コンピュータ18がオブ
ジェクト 202のデータによってアプリケーション1
01を実行し、オブジェクト 207のデータによって
アプリケーション105を実行している場合、オブジェ
クト 202とオブジェクト 207は両方とも活動状
態にある。オブジェクト 202はオブジェクト 20
7に対しメツセージ212を送信できる。
メツセージ211、212のようなメツセージは全ての
タイプのオブジェクトによって送受信が行われるように
ツーマットすることができる。この結果、活動状態の全
てのオブジェクト間での自由な通信が可能になる。また
、これによって、新しいタイプを用いるために現存する
オブジェクトタイプを更新することを必要とせずに、新
しいオブジェクトタイプを定義してシステムに加えるこ
とが可能になる。
各オブジェクトは1組のデータファイルと関連している
。例えば、オブジェクト 210はデータファイル22
1.222.223と関連しているように図示しである
。データファイル221.222.223内のデータは
アプリケーション106が解釈できるフォーマットにな
っている。
名前を指定することによってアクセスできる値とを有し
ている。さらに、各クラスのオブジェクトは、そのクラ
スの全てのオブジェクトに共通したリストのプロパティ
に関連付けられている。例えば、第2A図にはオブジェ
クト 205とアプリケーション101が示されている
。オブジェクト 205は2プロパテイ 231.23
2.233に関連付けられている。またアプリケーショ
ン101はプロパティ 131.132.133に関連
付けられている。
プロパティリストには、任意の個数のプロパティを含む
ことができる。各プロパティの値は0〜32762バイ
トの長さとすることができる。プロパティは名前やコメ
ント等といった、オブジェクトおよびクラスに関する説
明的な情報を記憶するために用いられる。
オブジェクトは他のオブジェクトへの参照(re−fe
rence)を持つことができる。これらの参照はリン
クと呼ばれる。リンクは方向性を有しており、その一方
のオブジェクトは親と呼ばれ、もう一方のオブジェクト
は子と呼ばれる。各リンクは、その子を夫々識別するた
め、親オブジェクトによって割当てられた番号である参
照名を有している。
オブジェクトの子、その子の子・・・・・・は、そのオ
ブジェクトの子孫と総呼される。同様に、オブジェクト
の親、その親の親・・・・・・は、そのオブジェクトの
先祖と総呼される。本発明の望ましい実施例において、
ユーザが操作できるオブジェクトは、ゼロ以上の子と1
つ以上の親を持つことができる。
オブジェクトはそれ自身の子孫になることはできない。
第3図には、オブジェクト 301.302.303.
304.305.306.307.308.309が示
されている。オブジェクト 301〜309は、各リン
ク毎に括弧内に示された番号である参照名を持つリンク
を有している。オブジェクト 301はオブジェクト3
02.303に対し夫々参照名“1”、“2″を持つリ
ンク 310.311を有している。オブジェクト30
2はオブジェクト 304.305に対し夫々参照名“
7”、“8”を持つリンク 312.313を有してい
る。オブジェクト 303はオブジェクト 306.3
07に対し夫々参照名“1”、“4”を持つリンク31
4.315を有している。オブジェクト 304.30
5は共通のオブジェクト 308に対し、夫々参照名″
1″゛、17″を持つリンク 316.317を有して
いる。オブジェクト 306は、オブジェクト 309
に対し参照名“8″を持つリンク 318を有している
。オブジェクト 307はオブジェクト 306.30
9に対し夫々参照名“9”、“13”を持つリンク31
9.320を有している。オブジェクト 308は、オ
ブジェクト 309.303に対し夫々参照名“11、
3″を持つリンク 321.322を有している。
オブジェクト 301は、オブジェクト 302.30
3の親である。オブジェクト 303はオブジェクト3
011308の子である。オブジェクト 302〜30
9はオブジェクト 301の子孫である。オブジェクト
 303の子孫は、オブジェクト 306.307.3
09である。
オブジェクト 309はオブジェクト 301〜308
をその先祖に持つ。オブジェクト 303はオブジェク
ト301.302.304.305.308をその先祖
に持つ。
以下同様である。
活動状態にあるオブジェクトは、他のオブジェクトに対
して動的にリンクを形成しまた削除できる。あるオブジ
ェクトに対するリンクが削除されると、OMF  10
0は、そのオブジェクトに他の親があるかどうかチエツ
クする。もしなければ、OMFlooはそのオブジェク
トのデータファイルを削除し、そのオブジェクトに関連
している他の記憶スペースを回収することによって、そ
のオブジェクトを破壊する。
オブジェクトのリンクは各種の目的に用いることができ
る。例えば、フォルダ(folder)をオブジェクト
の形態とすることができる。フォルダとして用いられて
いるオブジェクトの子は、各種アプリケーションに用い
られるデータが入っているオブジェクトでもよいし、あ
るいは、これら子のオブジェクトは別のフォルダであっ
てもよい。第4図には、オブジェクトをフォルダとして
利用した例が示されている。オブジェクト401.40
2.403.404はフォルダとして用いられ、フォル
ダ401〜404とも呼ばれる。フォルダ401には、
データの収容に用いられるオブジェクト405.406
.407、およびフォルダ402が入っている。フォル
ダ402には、データの収容に用いられるオブジェクト
408、゛およびフォルダ403.404が入っている
。フォルダ403には、データの収容に用いられるオブ
ジェクト 409.410が入っている。フォルダ40
4には、データの収容に用いられるオブジェクト 41
1. 412.413が入っている。
リンクのもっと高度な使い方は、複合オブジェクトを構
成することである。例えば、第5図において、文書51
0には、テキスト行511.512、グラフィクス図面
513.514、及びスプレッドシートデータ 515
が含まれている。第6図に示すように、テキスト及びフ
ォーマットデータはオブジェクト 611に記憶され、
グラフィクス図面513.514に関するグラフィクス
データは夫々オブジェクト612.613に記憶され、
スプレッドシートデータ515はオブジェクト 614
に記憶されている。複合オブジェクトを構築するのに用
いられるリンクは常にリンクに関連したある種のデータ
転送を行う。
従ってこのリンクはデータリンクと呼ばれる。第6図に
はデータリンク 615、616、617が示されてい
る。文書510において、オブジェクト612.613
.614は単に表示されるだけである。従って、内にデ
ータ表示を行うように、その子に対して要求を送信する
第7図において、第1のスプレッドシートに関するデー
タを含むオブジェクト 701は、データリンク 70
4を介して、第2のスプレッドシートに関するデータを
含むオブジェクト 702にリンクされ、データリンク
 705を介して、第3のスプレッドシートに関するデ
ータを含むオブジェクト 703にリンクされる。第1
のスプレッドシートは、第2のスプレッドシートからの
データを利用する。第1のスプレッドシートが行うこと
は、単に第2、第3のスプレッドシートからのデータを
表示するだけにはとどまらないので、データリンク 7
04とデータリンク 705はデータ受渡しデータリン
クと呼ばれる。
オブジェクトをコピーしたりまたはメイルする際には、
OMF  100は「簿記(bookkeeping)
 Jを行う。オブジェクトをコピーする際、OMF  
100は、そのオブジェクトに関連したデータファイル
のコピーを作る。コピーされるオブジェクトに子があれ
ば、OMFlooは、そのオブジェクトの子孫のコピー
も作成し、これら新しいオブジェクト間にリンクを作成
して、新しい複合オブジェクトにオリジナルと同じ構造
を与える。
例えば、第8図は、第3図中のオブジェクト308およ
びオブジェクト308の子孫を示している。
OMF  100がオブジェクト 308のコピーを作
成する際、OMF  100は第8図に示すように、オ
ブジェクト 308の各子孫、およびそのリンクをコピ
ーする。第9図はオブジェクト 308のコピーを示し
ている。オブジェクト 308a s  303a s
  306’a 。
307a 、  309aは夫々オブジェクト 308
.303.306、307、309のコピーである。リ
ンク 321a。
322a、  314a、  315a、  318a
、  319a、 320aは夫々リンク 321. 
322.314.315.318.319、320のコ
ピーである。
望ましい実施例では、親をコピーする際、デフォルトで
は親の子のコピーもできる。しかし、子が「パブリック
」であると指定されていると、それはコピーされず、親
のコピーに、その子に対するリンクが含まれる。例えば
、第10図において、親のオブジェクト 161をコピ
ーするものとする。
親のオブジェクト161はリンク 163を介して子の
オブジェクト 162にリンクされている。子のオブジ
ェクトは、パブリックオブジェクトである。第11図に
示すように、親のオブジェクト 161をコピーすると
、新しいオブジェクト 161aは新しいリンク 16
1 aを介してオブジェクト 162にリンクされる。
オブジェクト 161aはオブジェクト 161のコピ
ーである。リンク 163aはリンク 163のコピー
である。
第12図〜第71図には、オブジェクトがユーザに対し
、どのようにモニタ14に表示されるかについて示して
いる。第12図には、“File Drawer  (
ファイル引出し)”、“Waste Ba5ket (
(ずかご)″、“Diagnostic (診断)″、
”Pr1nters (プリンタ)”、”5tar (
星ど、“MyFolder(私の7 オルグ)″とラベ
ル表示されたアイコンを含むデスクトップメタフ用いて
カーソル781を操作して“Myl?01der”を選
択したところである。
第13図には、モニタ14に表示されているオブジェク
トがどのようにリンクされているかが示されている。“
NewWave 0ffice″ (オブジェクト 7
00として示されている)は、リンク 711〜716
を介して、夫々“File Drawer” (オブジ
ェクト 701として示されている)、“Waste 
Ba5ket”  (オブジェクト 702として示さ
れている)、′口iagnostic’(オブジェクト
 703として示されている) 、”pr−inter
s”(オブジェクト704として示されている)、“M
yFolder” (オブジェクト 705として示さ
れている)、“Staビ(オブジェクト 70Gとして
示されている)の親になっている。
第14図において、ユーザは、カーソル781を用いて
、プルダウンメニュー782の“Create改New
・・・・・・ (新しい・・・・・・を作成する)”を
選択したところである。この選択の結果、対話ボックス
779が第調表示させ、作成すべき新しいオブジェクト
に対する名前として“Pa5te Up (貼込み)”
という名前をキーボード19を使って打ち込んだところ
である。
カーソル781は今’OK”とラベル表示された領域を
指示している。この領域を選択すれば、第16図に示す
ように、“Pa5te Llp”というタイトルのつい
た新しいオブジェクトが作成される。
第17図には、“Pa5te Up″が、リンク 71
7を介してNewWave 0fficeの子としてリ
ンクされたオブジェクトとして示されている。
基本的なりリップボード操作は、カット(cut)、コ
ピー (copy) 、および貼込み (paste)
である。
ユーザは、移動またはコピーすべきデータを選択肢、次
にカットコマンドかコピーコマンドのいずれかを与えな
ければならない。カットコマンドは、選択したデータを
クリップボードに移動させる(つまりそれをそのもとの
位置から削除する)。
コピーコマンドは選択されたデータをクリップボード上
に複写させる。ユーザは次に、彼がデータを移動または
コピーしたいと思う場所の選択を行い、貼込みコマンド
を与える。このコマンドによって、クリップボードの内
容が選択された場所にコピーされる。
第18面には、ユーザが、”Pa5te Up’を選択
したところが示されている。この選択を行ったことは、
“Pa5te Up”に対応するアイコンが反転ビデオ
表示されていることで表されている。ユーザはカーソル
781を用い、プルダウンメニュー783から“Cop
y (コピー)″を選択する。第18AIZには、クリ
ップボードオブジェクト 720がリンク 721を介
してオブジェクト708の親になっている様子が示され
ている。オブジェクト 708はオブジェクト707(
paste Up”)のコピーテアル。
第19図に示すように、ユーザは次に、プルダウンメニ
ュー 783から“Pa5te (貼込み)″を選択す
る。
この結果、第20図に示すように、もとの“Pa5te
Up″オブジェクト707のコピーであるカーソル78
1で指示されたオブジェクト 708が付加される。
第21図には、この新しいオブジェクトが、リンク 7
18を介してNewWave 0fficeの子として
リンクされているオブジェクト708として示されてい
る。
第22図には、カーソル781を用いて“MyFold
er”に対応するアイコンをダブルクリックすることに
よって、“MyFolder”をオーブンしたところを
示す。その結果” MyFolder”を表す一==n
十新しいウィンドウ785が現れる。
第23図には、カーソル781を用いて“Pa5te 
Up”(オブジェクト 708)をウィンドウ 785
までドラックしていく (つまり引きずっていく)とこ
ろが示されている。第24図になると、このプロセスは
完了しており、”Pa5te Up−(オブジェクト7
08)は、今や“MyFolder”のウィンドウ内に
ある。第25図に示すように、オブジェクト 708と
して示された“Pa5te Up”は今やリンク 72
8を介して“MyFolder”の子である。
ユーザは、共有コマンド(Share command
)を用いて多重リンクを設定する。このコマンドは、シ
ステム内でデータを移動させてコピーするソフトウェア
パッケージにおいて今日普通に見られるクリップボード
メタファーの拡張である。クリップボードは移動中のデ
ータの保持のためにシステムが用いる特殊なバッファで
ある。
ある面では、共有コマンドは上述のカットコマンドやコ
ピーコマンドと同様の働きをする。すなわち、ユーザは
共有、カット、またはコピーを用いてまずい(つかのデ
ータを選択し、次に共有コマンドを与えてクリップボー
ドに何かが付加されるようにする。共有コマンドの場合
、クリップボードに付加されるものは、実際のデータで
もなければ実際のデータのコピーでもない。ここで付加
されるのは、選択されたデータへのリンクである。
このリンクが貼り込まれると、もとのデータと貼込み位
置の間に恒久的な結合ができる。OM F 100を利
用することによって、関連するアプリケーションはこの
リンクを用いて、もとのデータに(アプリケーション全
体に渡って)簡単にアクセスできるようになるとともに
、もとのデータを修正する際に自動的な更新を行えるよ
うになる。
第26図では、NewWave 0fficeのウィン
ドウが活動状態になったところである。”Pa5te 
Up” (オブジェク)  707)が反転ビデオ表示
されていることで明示されているように“Pa5te 
Lip” (オブジェクト 707)が選択されている
。カーソル781を利用して、メニュー783から@5
hare (共有)”を選択する。第26A図において
、クリップボードオブジェクト 720がリンク 72
2を介して“Pa5te Up″オブジェクト 707
の親になっていることが示されている。
第27図では、ウィンドウ 785が活性化されたとこ
ろである。メニュー787から“paste”が選択さ
れる。その結果、第28図に示すように、’paste
Up” (オブジェクト707)がウィンドウ 785
とNew−11ave 0fficeのウィンドウに共
有されていることを示すアイコン707 aがウィンド
ウ785に現れる。
第28A図には、この貼込みの結果として、“Pa5t
eII+)”が今やリンク 722を介してクリップボ
ード7200子であるとともに、リンク 727を介し
て“MyFo−1der”の子にもなっていることが示
されている。
ユーザから見えているオブジェクトの相互結合だけを示
した第29図には、′″Pa5te Llp″ (オブ
ジェクト 707)がリンク727を介して” MyF
older”705の子になっていることが示されてい
る。’ Pa5teUρ”(オブジェクト 707)は
コピーされたのではなく共有されているので、”Pa5
te Up” (オブジェクト 707)はリンク 7
17を介してNewWave 0fficeの子のまま
になっている。
データリンクの主たる機能の1つは、自動化されたデー
タ転送である。子のオブジェクトがオーブンされており
、ユーザーがそれの「共有されている(Shared 
out) Jところの一部を変更すると、この変更によ
りOMF  100への呼出しが夙行われる。OMFl
ooは、このオブジェクトの親のうち、この特定の変更
について「関心を持つ」ものがあるかチエツクする。も
しこの変更に関心を持つとともに、オーブンされている
ものがあれば、OMF  100はその親に対しメツセ
ージを送り、新しいデータが利用できることを伝える。
これにより、その親は、子に対してデータを作ったりあ
るいは表示するようにメツセージを送ることが可能にな
る。この機能によって、ユーザは、複雑なデータ依存関
係を持つ複合オブジェクトを形成し、これにより、その
一部分に加えられた変更が別の部分に自動的に反映され
るようにすることが可能になる。例えば、スプレッドシ
ート中の数を変更するとグラフが描き直され、文書中の
図面として更新される。オブジェクトは多くの親を持つ
ことができるため、任意の個数の他のオブジェクトに対
する「共通記事(boiler plate)」として
、単一のオブジェクトを用いることができる。共通記事
における変更は、それにリンクした全てのオブジェクト
に反映される。自動化データ転送については以下の議論
中で説明する。
第30図においては、“MyFolder”についての
ウィンドウ 785が閉じられたところが示されている
第31図では、カーソル781を用いて、プルダウンメ
ニ、−782から“[:reate a New、、、
、、”が選択される。この選択の結果、第32図に示す
ように、対話ポック°スフ79が現れる。カーソル78
1を用いて、アイコンHP Textが強調表示され、
作成される新しいオブジェクトに対する名前として“S
ampleText”という名がキーボード19を用い
て打ち込まれたところが示されている。この時点で、カ
ーソル781は“OK”とラベルに表示された領域を指
示している。この領域の選択がすむと、第33図に示さ
れるように、”Sample Text”とタイトルの
ついた新しいオブジェクトが作成される。
第34図には、リンク719を介してNewWave 
0ffi−ceの子になっている’Sample Te
xt”(オブジェクト709)が示されている。第34
図では“MyFolder”は閉じているため、“pa
ste Up” (オブジェクト708)、リンク 7
28.727は示されていない。ただし、これらはまだ
存在しているが、現在のところユーザには見えていない
ということである。
第35図では、カーソル781をアイコン″Sampl
eText”上に置いてからマウス20のボタンをダブ
ルクリックすることによって、“Sample Tex
t”がオーブンされる。第36図には“Sample 
Text”のためにオーブンされたウィンドウ 789
が示されている。
第37図では”Pa5te IJp″ (オブジェクト
 707)のためのウィンドウ 791が“Pa5te
 Up″に関するアイコンをダブルクリックすることで
オーブンされている。第38図においては、カーソル7
81を用い、マウス20によって制御することで、“S
ampleText’中のテキストの一部790が選択
されている。
’NewWave 0ffice environme
nt″で始まる反転ビデオで表示されている部分が上で
言うところの部分790である。
第39図に来ると、カーソル781を用いて、プルダウ
ンメニュー792中の選択肢“5hare”が選択され
る。第40図では、ウィンドウ 791内の領域793
が、カーソル781を用いて選択される。第41図では
、選択肢“Pa5te”が、カーソル781を用いてプ
ルダウンメニュー794から選択される。第42図にお
いて、”Sample Text″が“Pa5te U
p″ (オブジェクト 707)にリンクされ、表示さ
れるテキスト790は“Pa5te Llp”ウィンド
ウ 791に表示されている。第43図においては、”
Sample Text” (オブジェクト°709)
はリンク729を介して“Pa5te tlp″(オブ
ジェクト 707)の子となっているように示されてい
る。第42図では“5tar”のウィンドウ 789が
オーブンされているため、表示テキスト 790は中間
調で表示される。第44図では、“5tar”のウィン
ドウが閉じているため、表示テキスト 790ははっき
りと表示される。
第45図では、ウィンドウ 791中の領域795がカ
ーソル781を用いて選択される。第46図には、カー
ソル781がウィンドウ 791中の領域795ヘアイ
コン“5tar“をドラックしていくところが示されて
いる。
第47図になると“5tar”(オブジェクト 706
)からのデニタがウィンドウ 791中の領域795に
現に表示されている。第48図に示されているように、
今や“5tar”(オブジェクト 706)は、リンク
 726を介してPa5te Up”の子になっている
第49図において、ユーザがカーソル781をウィンド
ウ 791の領域795の上に位置決めしてから、マウ
ス20のボタンをダブルクリックしたところである。そ
の結果、“5tar”(オブジェクト 706)がオー
ブンされ、ウィンドウ 796中に表示される。
第50図には、カーソル781を用いてメニューのウィ
ンドウ 797中の選択肢“B111pse”が選択さ
れ、その結果”5tar”(オブジェク)  706)
内のデータが星から楕円へとこれから変わるところが示
されている。第51図に示すように、その結果、ウィン
ドウ 796に表示されているデータとウィンドウ 7
91中の領域795に表示されているデータの両方が変
化する。
第52図では、カーソル781を用いてウィンドウ79
1中に領域797が定義される。第53図では、カーソ
ル781を用いて、プルダウンメニュー798中の選択
肢“Create a New、、、、”が選択される
。この選択の結果、対話ボックス799が第54図に示
すように現れる。対話ボックス799には利用可能な2
つのクラスのオブジェクトに対応するアイコンる。これ
らのオブジェクトはウィンドウ 791の領域797に
データを表示することができるものである。カーソル7
81を用いて、アイコン“HP 5hape″≠會##
≠が強調表示されている。作成すべき新しいオブジェク
トに対する名前として、”New Sha −pe”と
いう名前がキーボード19を用いて打ち込まれている。
カーソル781は今、“OK”とラベル表示された領域
を指示している。この領域の選択がすむと、”New 
5hape”というタイトルのついた新しいオブジェク
トが作成される。第55図に示すように、“New 5
hape”に対するデータがウィンドウ 791の領域
797に表示される。第56図では、リンク 760を
介して“Pa5te lp″(オブジェクト707)の
子になっているNew 5hape”(オブジェクト7
50)が示されている。
第57図では、ウィンドウ 791の領域797の上に
カーソル781を位置決めしてからマウス20のボタン
を2度クリックすることによってNew 5hape”
についてのウィンドウ 800がオープンされている。
第58図では、カーソル781を用いて、プルダウンメ
ニュー801から選択肢“Triangle″が選択さ
れる。この結果、第59図に示すように、今度は三角形
がウィンドウ 800とウィンドウ91の領域7970
両方に表示される。
第60図では、ウィンドウ 800は閉じられている。
第61図で、カーソル781をウィンドウ 796の領
域797の上に位置決めしてからマウス20のボタンを
クリックすることにより、”New 5hape”が選
択される。第62図で、カーソル781を用いて、プル
ダウンメニュー794から選択肢“5hare”が選択
される。第63図で、カーソル781を用いて、ウィン
ドウ 791の領域802が選択される。第64図で、
カーソル781を用いて、プルダウンメニュー794か
ら選択肢“Pa5te”が選択される。この結果、第6
5図に示すように、”New 5hape”が共有され
、“Newshape“からのデータがウィンドウ 7
91中の領域797と領域802に表示される。第66
図には、“New 5ha−pe″(オブジェクト 7
50)がその親”Pa5te Up”(オブジェクト 
707)からのリンク 770が付加されている状態が
示されている。
第67図では、カーソル781を用いて領域797が選
択されている。次にカーソル781を用いて、プルダウ
ンメニュー794から選択肢“Cut”が選択される。
この結果、第68図に示すように、領域797がウィン
ドウ 791から除去された。第69図では、カーソル
781を用いて、プルダウンメニュー783から選択肢
“Pa5te”が選択される。この結果、第70図に示
すように、“New 5hape″に対するアイコンが
カーソル781によって指示されているように現れる。
第71図には、”New 5hape”は今やリンク7
80を介して“NewWave 0ffice″ (オ
ブジェクト100)の子であることが示されている。
第72図には、7つのシステムファイル601〜607
を含むOMF  100が示されている。OMFインタ
ーフェース 599は、コンピュータ18で実行される
他のプログラムに対するOMFのインターフェースとし
て働く。システムファイル601〜607は、各種情報
を提供するデータベースとして働く。これらは、各オブ
ジェクトがどんなりラスであるか、各オブジェクトの名
前がどうであるかといった、オブジェクトの特性に関す
る情報を提供する。システムファイル601〜607は
、どんなアプリケーションが各クラスのオブジェクトに
関連しているか、どんなアイコンが特定のクラスのオブ
ジェクトを表しているか、右よび特定のクラスのオブジ
ェクトによって、どんなメツセージのリスト(第2図に
示すような)を処理することができるかといった、オブ
ジェクトのクラスに関する情報を提供する。システムフ
ァイル601〜607はまた、各オブジェクトについて
、および親からの各リンクの参照名のリスト、各オブジ
ェクトについて、子および子への各リンクの参照名のリ
スト、および、データリンク間でのデータ交換を管理す
る付加情報等の親オブジェクトと子オブジェクトの間の
リンクに関する情報も含んでいる。さらに、システムフ
ァイル601〜607は、インストールされている各ク
ラス毎に、どんなファイルがオペレーティングシステム
にインストールされているか、どのオブジェクトが、O
MF  100の再始動の際の自動再始動を要求したか
といった、−船釣な情報を含んでいる。
本発明の望ましい実施例ではシステムファイル601〜
607は夫々、 HPOMF、CAT、  HPO14
F、CLS%)IP−〇MP、XRF1HPOMF、P
RP、  )IPOMF、INS、  HPOMF、S
DF。
HPOMFICOoNWBと呼ばれる。ここで、各シス
テムファイルについて説明する。
システムファイル601つまり)IPOMF、CATは
、5YSCATとも呼ばれる。HPOMF、 CATは
システム内に存在する全てのオブジェクトのカタログで
ある。第る。第73図にはファイルレコード0〜8が示
されているがHPOMF、 CATは、第73図に示す
よりも多くのファイルレコードを含んでもよい。ファイ
ルレコード0は、各種のシダネチュア(signatu
re)を含むヘッダであり、空きファイルレコードのリ
ストを管理するために用いられる。シダネチュアはある
既知の値であって、これがもしあれば、そのファイルは
破壊(corrupt)されていないことを示す。ファ
イルレコード1〜8および他のファイルレコード(図示
せず)は、現存するオブジェクトを定義するか、あるい
は空きであるかのいずれかである。望ましい実施例では
、IIPOMF、 CATは、さらに多くのファイルが
必要になるにつれて、動的に成長することができるが、
収縮することはできない。
ファイルレコード1は、大域的親と呼ばれる特殊なオブ
ジェクトを定義する。大域的親は他のどのオブジェクト
とも異なる形態をしており、“擬似”オブジェクトとみ
なすことができる。第74図には、大域的親249が夫
々リンク 260〜265を介して大域的オブジェクト
250〜255の親になっていることが示されている。
大域的オブジェクト250〜255もHPOMF、 C
AT内にある。各大域的オブジェクト 250〜255
は、HPOMF、 CAT中の1つ以上のオブジェクト
の親になることができる。HPOMF。
CAT中の大域的オブジェクトではないオブジェクトは
各々大域的オブジェクトの子孫である。第74図には6
つの大域的オブジェクトしか示されていないがシステム
上で働く大域的オブジェクトの数はシステム構成に依存
する事項である。システム中のどのオブジェクトも、大
域的親から大域的オブジェクトへのリンクの参照名を用
いることによって、大域的オブジェクトを参照すること
ができる。
第73図から分かるように、HPOMF、 CAT内の
ファイルレコードには、一連の番号がつけられている。
これらの番号は各オブジェクトの識別を行うタグの働き
をする。
本発明の望ましい実施例では、各レコードは長さが12
8バイトである。ファイルレコード0についてのフィー
ルドを以下の表1に示す。
表1 1 FirstFreeBntry  HPOMF、 
CAT中の最初の空きレコー十′のレコード番号が入る
。空きレコードがなければ“0”。
Fileed  ナルコードで終端されたストリングH
P−OMF、 CATが入る。これがシグネチュアとし
て働く。
Version  ファイルフォーマットのバージョン
番号が入っており、やはりシグネチュアとして働く 。
I MaxRecordNumber  tlPOMF
、 CAT内からこれまでに割り当てられた最高位のレ
コードの番号が入る(この最高位のレコードは、空きで
あるかもしれないし、あるいはそうではないかもしれな
い)。
以下の表2には、ファイルレコード0以外のファイルレ
コードについて、)IPOMF、CA’l’中のファイ
ルレコードのフィールドを示す。
表2 1 FirstFreeBntry  このレコードが
あるオブジェクトを定義している場合には“−1”をと
る。
さもなければこのレコードは空きであり、このフィール
ドは、次の空きレコードのレコード番号となる。もしこ
れ以上空きレコードがなければ、′0″になる。レコー
ドが空きである場合、そのレコード中の他のフィールド
はどれも意味をもたない。
TypelnCIass  このオブジェクトのクラス
を指定する。これは、HPO!JP、 CLS中にあっ
てオブジェクトが−どのクラスに属しているかを示すレ
コードの番号である(クラスに関して上に示した議論を
参照すること)。
SysCatFIags  このバイト中のJ6進数2
0でマスクされるビットがセットされているかどうかに
よってこのオブジェクトが大域的か否かを指定する。望
ましい実施例では、他の全てのビット位置は“0”を含
まねばならず、またこれらのビット位置は使用されてい
ない。
propertles  プロパティの個数、プロパテ
ィ塩の長さ、HPOMF、 PRP中でのこのオブジェ
クトのプロパティの位置を指定する。このフィールドの
構造に関するこれ以上の定義については、以下のHPO
MF、 PRPに関する説明を参照のこと。
fastprops  名前のようないくつかのオブジ
ェクトのプロパティはかなり頻繁にアクセスされるため
、これらをプロパティファイルへ間接的に記憶せず、こ
のフィールドへ直接的に記憶する。
このフィールドに記憶されるプロパティは「高速プロパ
ティ」と呼ばれる。
システムファイル602つまり)IPOMF、 CLS
は5YS−CLASSとも呼ばれる。このシステムファ
イルはシステムにインストールされた全てのクラスのリ
ストである。それはレコード志向である。番号が0の最
初のレコードは各種シグネチュア(上で述べたことを参
照のこと)を含むヘッダであり、空きレコードのリスト
を管理するために用いられる。
他の全てのレコードはインストールされたクラスを定義
するかそれとも空きであるかのいずれかである。望まし
い実施例では、HPOMF、 CLSは動的に成長する
ことができるが、収縮することはできない。
HPOMF、CLS中の各ファイルレコードは32バイ
トの長さである。HPOMF、 CLSのファイルレコ
ード0(ヘッダ)には、以下の表3に示すフィールドが
含まれている。
表3 1 FirstPreeEntry  )IPOMF、
 CLS中の最初の空きレコードのレコード番号が入る
。もし空きレコードがなければ、“0”が入る。
Fieldld  ナルコードで終端されているストリ
ング″HPOMF、 CLS”が入る。
Version  ファイルフォーマットのバージョン
番号が入っている。
l MaxRecordNumber  これまでにH
POMF、 CLS内から割り当てられた最高位のレコ
ード番号が入る(この最高位のレコードは、空きかもし
れないしそうでないかもしれない)。
イールドを示す: 表4 I FirstFree[!ntry  当該レコード
がインストールされたクラスを定義しているなら“−1
”。そうでないなら当該レコードは空きであり、このフ
ィールドは次の空きレコードのレコード番号となるか、
またはそれ以上空きレコードがなければ、“0”になる
。当該レコードが空きの場合、このレコード中の他のフ
ィールドはどれも意味を持たない。
ModuleFi IeName  このクラスのオブ
ジェクトに関連したアプリケーションの名前をナルコー
ドで終端されているせストリングとして指定する。
Properties  プロパティの数、プロパティ
塩の長さ、オブジェクトのプロパティのHPOMF、 
PRP中での位置を指定する。このフィールドの構造に
関するこれ以上の定義については、下記の)IPOM−
F、 PRPに関する説明を参照のこと。
第75図には、HPOMF、 CATと)IPOMF、
 CLSとの関係が示されている。)IPOMF、 C
AT内における各オブジェクトエントリ内において、オ
ブジェクトのタグであるレコード番号は、大容量ストレ
ージメモリ170内のこのオブジェクトに関連したデー
タファイルの識別子650として働く。フィールドTy
pel−nCIass“は)IPOMF、 CLS中の
クラスエントリの識別子651として働き、各オブジェ
クトのクラスを識別する。HPOMF、 CLS中の各
クラスエントリ内において、フィールド’Module
FileName”は、大容量ストレージメモリ内のそ
のクラスに関連したアプリケーションファイルの識別子
652として働く。
第76図には、大容量ストレージメモリ 17(lの一
部の構成が示されている。ルートブイレフ) !J 6
60には、HPNW口AT^ディレクトリ 661とH
PNWPROGディレクトリ 668へのポインタが含
まれている。HPNW−PROGディレクトリ 668
は矢印 669で表したアプリケーションファイルのた
めのストレージロケーションである。FIPNWO^T
Aには、ディレクトリ 662.663.664.66
5、及び、666で表される複数のHPOMFdddデ
ィレクトリが含まれている。)IPOMFdddディレ
クトリには、オブジェクトに関連付けられたデータファ
イルが記憶されている。HPOMFdddという表記中
の” ddd”なる部分は、必要があればゼロが頭に付
加された3桁の16進数を表している。
各11POMPdddディレクトリには別々の16進数
“ddd″がついている。数“ddd”数は、どの1I
POAIFclcldデイレクトリがある特定のオブジ
ェクトに関するデータファイルを記憶しているかを示し
ている。特定のオブジェクトに関するデータファイルは
、そのオブジェクトに対するタグをある整数、例えば5
4で割ったものに等しい“ddd”数を有する)lPO
MFdddディレクトリに記憶されている。各HPOM
Fdddディレクトリ内において、ファイルは、タグ番
号で記憶されている。例えば、データファイル名は、X
XXXXXXX、 Illなるフォーマットを有してい
る。ここで“XXXXXXXX”は必要ならゼロが先行
する8桁の16進数のタグであり、“Ill”はアプリ
ケーションによって選択された参照である。
システA7フイル603、つまり IIPOMF、 X
RFハ5YSXRBFとも呼ばれる。このファイルはシ
ステム内に存在するすべてのリンクのリストである。こ
れはレコード志向であるが、ヘッダレコードは持ってい
ない。各レコードファイルは空きか、現存するリンクを
定義しているか、あるいは前のレコードからのあふれレ
コードとして用いられて、付加的なビュー仕様情報を指
定するかのいずれかである。ビュー仕様を含むレコード
はビュー仕様ファイルレコードと呼ばれる。ビュー仕様
ファイルレコードは、現存するデータリンクを定義して
いるところの前のレコードによってのみ識別可能である
。ビュー仕様ファイルレコードは、ビュー仕様ファイル
レコードの内容によって識別することはできない。HP
OMF、XRFは一度に16にバイトずつサイズが増大
する。HPOMF、 XRFの新たに割り当てられた部
分には、ゼロが充填される。空きであるか、あるいは、
リンクを定義する、HPOMF、 XRF内のファイル
レコード状は、表5に記載する下記フイールドを持って
いる。
表5 ParentTag  当該リンクの親オブジェクトに
関するタグ(HPOMF、 (:ATのレコード番号)
が入る。
このフィールドが0の場合は、当該レコードは、入る。
当該レコードのParentTagが0でかつこのフィ
ールドも0の場合、HPOMF、XRF中にはこのレコ
ードよりも先にあるどのレコードもリンクを定義しては
いない。
RefName  親がリンクに割り当てた参照名が入
る。
ParentTagまたはChildTagがゼロの場
合、このフィールドは意味をもたない。これ以外の場合
、この値の上位3ビツトが110の場合当該ファイルの
次のレコードはビュー仕様になる。
ビュー仕様ファイルレコードである、IIPOMF、X
RF中のファイルレコードには、表5Aに記載した下記
フィールドが入っている: 表5A Datald  子が割り当てた値が入る。この値はこ
の子自身のうちのリンクを介して見られている部分を識
別するためのものである。
5napshot  ビューのスナップショットである
オブジェクトのタグ()IPOMF、 、CATレコー
ド番号)が入る。これがゼロの場合は当該ビューはスナ
ップショットを持っていない。スナップショットに関す
るこれ以上の説明については以下を参照のこと。
Misc  以下に説明するいくつかのビットフィール
ドから構成される。: VS  NBWDATASBT  子がOMFに対し、
新しいデータの利用が可能であることを知らせたが、親
には告知されていない場合に、セットされる。16進数
80000000は、どのビットがこのビットフィール
ドのために用いられているかを示すマスクである。
VS  NEWDATAANNOUNCBD  子がO
MFに対し新しいデータを親に告知するように命じたが
、親が非活動状態にあり伝えられなかった場合に、セッ
トされる。16進数40000000はどのビットがこ
のビットフィールドのために用いられているかを示すマ
スクである。
VS  5NAPSHOTOLD  子がOMFに対し
ビューのスナップショットが、旧版になってしまったこ
とを伝えた場合にセットされる。16進数200000
00は、どのビットがこのビットフィールドのために用
いられているかを示すマスクである。
VS  WANTMESSAGE!S  子がOM F
 g、:対し、スナップショットが旧版である場合には
ビューメツセージを処理したい、ということを伝えた場
合に、セットされる。16進数10000000は、ど
のビットがこのビットフィールドのために用いられてい
るかを示すマスクである。
VS  TBXTDISKLOCヒ、 −(7) 32
文字のテキストデータIDが置かれている、l(POM
F、 PRP中のファイルポジション。子がテキストデ
ータIDを定義していなければ、ここにはゼロが入る。
ファイルポジションの低位の5つのビットは、常にゼロ
であり、従ってtJiscフィールドにはこれらは記憶
されない。16進数0FFFFFIl!Oは、どのビッ
トが、このビットフィールドのために用いられているか
を示すマスクである。
VS  INITIALIZBD  tl”ニー仕様の
初期設定が行われた場合にセットされる。クリアされて
いれば、ビュー仕様中の全ての情報がゼロである。16
進数00000010は、どのビットがこのビットフィ
ールドのために用いられているかを示すマスクである。
VS  RBSBRVBD  将来の拡張に備えて予約
されている。16進数00000008は1.どのビッ
トがこのビットフィールドのために用いられているかを
示すマスクである。
VS  VIBWCLASS  子がビューに対し割り
当てたビュークラスを指定する。ビュークラスは、親に
どんなビューメソッドが利用できるかを定義する。16
進数00000007は、どのビットがこのビットフィ
ールドのために用いられているかを示すマスクである。
例えば、第77図では、オブジェクト 671は、)オ
ルグであり、タグ6”を持っている。オブジェクト 6
71は、リンク 674を介してオブジェクト672の
親になっており、またリンク675を介してオブジェク
ト 673の親になっている。オブジェクト672はタ
グ12”を備えている。リンク 674は参照名“1”
を持っている。オブジェクト673はタグ19”を持っ
ている。リンク 675は参照名“7”を持っている。
参照名は親オブジェクトによって選択されるので、特定
の親オブジェクトに対し一意的であることが必要とされ
るが、各参照名が各親に対し一意性であれば、他の親が
同じ参照名の付いたリンクを持ってもよい。
第79C1]i HPOMP、XRF 603ノブD−
7り図が示されている。HPOMF、 XRFには、親
と子の間のリンク毎のエントリが含まれている。HPO
MF、 XRF603では列731はリンク毎にその親
のタブが入っている。
列732はリンク毎にその子のタブが入っている。
列733はリンク毎にその参照名が入っている。734
として第79図に示された列733の最初の3つのビッ
ト位置には、ビュー仕様ファイルレコードが存在する(
“110”)、後続するビュー仕様ファイルレコードが
ない(“000”)、当該リングが大域的親−から大域
的オブジェクトへのリンクである(“100”)のいず
れかを示している。
見てわかるように、エン)!7735は第77図に示さ
れたりンク 674について記述しているエントリが入
っており、列733には参照名“1”が存在する。オブ
ジェクト671はフォルダであるためビューはなく、従
って部分列734内の前述の3ビツトは ”ooo”に
なる。
同様にエントリ 736は第77図に示すリンク 67
5照名“7″が入っている。オブジェクト 671はフ
ォルダであるためビューはなく、従って部分列734内
の前述の3ビツトは000″である。
第78図では、オブジェクト 676に文書であり、タ
ブ17”を持っている。オブジェクト6761劣リンク
 679を介してオブジェクト 677の親になってお
り、またリンク 680を介してオブジェクト 678
の親になっている。オブジェクト677はタグ″8″を
持っている。リンク 679は参照名“1”を持ってい
る。オブジェクト678はタグ21”を持っている。リ
ンク 680は参照名“3”を持っている。
第79図では、エントリ 737は第78図に示すリン
参照名“I”が入っている。オブジェクト 676は文
書であり、リンク 679に関連したビューが存在する
と仮定すると部分列734内の前述の3ビツトには“1
10”が含まれており、エントリ738はビュー仕様レ
コードである。
同様に、エントリ739は第78図に示したリンク名“
3”が入っている。リンク 680に関連したビューが
存在すると仮定すれば部分列734内の前述のビットに
は”110’が入っており、エントリ740はビュー仕
様レコードである。
第80図には、ビューに対するデータI D (dat
aidentification)が入るフィールド7
41、ビューに用いられるスナップショットが存在する
かどうかを示すフィールド742、およびビューに関す
る雑情報を含むフィールド743を備えたビュー仕様レ
コード740が示されている。データ識別番号は、リン
クの子オブジェクトがどのようなデータをリンクを介し
て送るのかを決めるために用いる。
第37図〜第43図には、ビューとのリンクの確立が示
されている。前述のように、第37図では、”P−as
te Up’に関するアイコンをダブルクリックするこ
とによって“Pa5te Up” (オブジェクト70
7)に関するウィンドウ 791がオーブンされている
。第38図では、カーソル781を利用し、マウス20
による制御で、“Sample Text”の一部79
0が選択された。“NewWave 0ffoce E
nvironment”について述べた反転ビデオの部
分が、部分790である。
第39図ではカーソル781を利用して、プルダウンメ
ニュー792中の選択肢“5hare″が選択される。
5hare”の選択が行なわれると、子オブジェクト7
09(“Shample Taxt”)は、子オブジェ
クト709に対してテキストの一部790を識別するデ
ータ識別番号を作成する。子オブジェクト 709はま
た、OMF  100が子オブジェクト 709に対す
るリンクをクリップボード720にも置くようにしむけ
る(子オブジェクトはあるコマンドによってOMF]、
OOとの連絡を行なう)。子オブジェクト709はまた
、どんなデータ識別番号が子709とクリップボード7
20の間の新しいリンクと関連しているかについても、
OM F 100に知らせる。このリンクに関連したス
ナップショットがあれば、子709はそのリンクに関連
したスナップショットが存在することも、OM F 1
00に知らせる。スナップショットについては後でさら
に詳しく述べる。この結果0M中に作成する。リンクに
関するビュー仕様レコードには、子709によってOM
F  100に与えられたデータ識別番号が含まれる。
第40図では、ウィンドウ 791中の領域793がカ
ーソル781を用いて選択される。第41図では、カー
ソル781を用いて、プルダウンメニュー794から選
択肢“Pa5te [Ip”が選択される。この時点で
、親オブジェクト707(“Pa5te [Ip”)は
、クリップボード720上にあるものに対して自分が親
になれるようなリンクを、OMF  100に要求する
。クリップボード720と子709の間のリンクについ
てのビュー仕様レコードが、親707と子709の間の
リンク 729のためにコピーされる。第43図では、
リンク 729を介して“paste IJp″(オブ
ジェクト707)の子になっている“Sample T
ext” (オブジェクト709)が示されている。
第42図では、表示されているテキスト790が、“p
aste Up”該ウィンドウ ?91に表示されてい
る。
これを行なう際、親オブジェクト 707は、○MF1
00を呼出して、リンク 729に関する参照名によっ
て識別されるオブジェクトに対しメツセージを送るよう
に求める。このメツセージは、このリンクからのデータ
を親オブジェクト707が指定した場所へ表示するよう
に、子オブジェク)  709に対し要求するものであ
る。OMF  100は親707からこのメツセージを
受取り、リンク 729に関するビュー仕様レコードか
らのデータ識別番号を付加して、このメツセージを子7
09へ送る。子709は、指定の場所、この場合は領域
793へそのデータを表示する。親707からOMF 
 100へ、さらに子709へと送られるメツセージの
名前は“旧5PLAY−VIBW”である。
端末スクリーンにデータを表示するのではなく、プリン
タでデータをプリントするのが望まれる場合には、もう
1つのメツセージ“PRINT 5LAVE!″を用い
ることができる。
さらに、親707は、“GBTJIZB″メツセージを
子オブジェクト 709に送ることができる。親オブジ
ェクト 707は、”GE!T 5IZE’メツセージ
中でリンク 729についての参照名を識別し、また表
示のだめの座標を指示する。OMF  100は親70
7からGBTJIZEメツセージを受取り、リンク 7
29についてのビュー仕様レコードからのデータ識別番
号を付加して、そのメツセージを子709に送る。子7
09は指定されたエリアのうちでデータ表示のために子
709が用いることになるであろう部分のサイズを親7
07に戻す。これにより、子709が親707の指定し
た領域に適合するようにデータを縮尺できない場合に、
親707が子709からのデータを表示するため予約さ
れた領域を修正することが可能になる。
子オブジェクトからのデータが親オブジェクトによって
表示中であり、子オブジェクトが表示データに変更を加
えるという場合には、子オブジェクトは、°データオブ
ジェクトに変更があったことをOM F 100に知ら
せる。例えば、上述のように、第47図では、今“5t
ar” (オブジェクト706)からのデータがウィン
ドウ 791の領域795中に表示されている。第48
図かられかるように、5tar”(オブジェクト706
)は、リンク726を介して“Pa5te Up”(オ
ブジェク) 707)の子になっている。データが子オ
ブジェクト 706から親オブジェクト 707へ渡さ
れているところであるので、リンク 726はビュー仕
様を持ったデータリンクである。
第49図には、子オブジェクト706のデータ変更を行
なう方法が示されている。ユーザはウィンドウ 791
の領域795の上にカーソルを置いてからマウス20の
ボタンをダブルクリックする。この結果“5tar″ 
(オブジェクトウィンドウ796)中にオーブンされて
表示される。カーソル781を用いて、メニューウィン
ドウ 797中の選択肢“B111pse”を選択する
と、” 5tar’″ (オブジェク、 ) 706)
内のデータが、星から楕円に変更される。その結果第5
1図に示すようにウィンドウ 796中に表示されてい
るデータと、ウィンドウ 791の領域795中に表示
されているデータの両方とも変更される。
子オブジェクト706は、OMF  100を呼出し、
リンク 726に関連したデータ識別番号に関連するデ
ータが変更されることを宣言することによって、この変
更を行なう。OMF  100は、そのデータ識別番号
を利用する全リンクを調べ上げる。もしいずれかのリン
クについて、その親オブジェクトが非活動状態であれば
OMF  1001t、HPOMF、XRF 中テ当該
すンクニツイテノビットVS NBWOATAANNO
[JN−C日りをセットする。これ1こよりこの親オブ
ジェクトは、活動状態にされたときに新しいデータを要
求することができる。
親オブジェクトが活動状態にあれば、OM F 100
は親オブジェクトに対しメツセージを送り、新しいデー
タが利用可能であることを伝える。OMFlooは、付
加されたデータのあるリンクの参照名をこの親オブジェ
クトに対して明かす。親オブジェクトは、その新しいデ
ータの表示を望む場合には、子オブジェクトに対しメツ
セージを送る。この場合、親オブジェクト707は活動
状態にあり、ウィンドウ′791の領域795にその新
しいデータを表示するように要求した。
本発明の長所は、親オブジェクト 707または子オブ
ジェクト706が互いについての身元(identit
y)やその他の詳細を知らなくても、親オブジェクト7
07と子オブジェクト 706がOMF  100を介
して通信し得る点にある。親オブジェクトは、リンクの
参照名だけを用いてリンクの識別を行なう。子オブジェ
クトは、リンクのデータ識別番号だけを用いてリンクの
識別を行なう。OMF  100は、どのリンクおよび
どのオブジェクトがここに関与しているかについての、
全ての翻訳および識別を行なう。
システムファイル604つまりHPOMF、 PRPは
5YSPROPとも呼ばれる。IIPOMF、 PRP
には、HPOMF、CATに含まれている高速オブジェ
クトプロパティを除く全てのオブジェクトおよびクラス
プロパティが含まれている。システムファイル601 
(I(POMF、 CAT)およびシステムファイル6
01 ()IPOMF、 CLS)の各レコードは、上
述のプロパティフィールドを備えている。
各プロパティフィールドには、以下の表6に記載したフ
ィールドが含まれている。
表6 DirDiskLoc  HPOMF、PRP中でのプ
ロパティリストディレクトリ位置(バイトオフセット)
が入る。
nProps  プロパティリスト中のプロパティの数
が入る。これは、後述するデイレクトエントリアレイの
中のエントリの数である。
PoolSize  プロパティリスト中の全プロパテ
4名は、後述のディレクトリ名プールのサイズである。
各オブジェクト及び各クラス毎に、HPOMF、 PR
Pファイル中のD irD 1skLoc位置には、当
該オブジェクトおよび当該クラスについてのプロパティ
テ゛イレクトリがある。このディレクトリには、2つの
主要部、すなわちエントリアレイおよびこれに続いて名
前プールが設けられている。エントリアレイは、プロパ
ティリスト内の各プロパティ毎に1つのエントリを有し
ている。各エントリは、以下の表7に記載したフィール
ドを備えている。
表7 ValueLen  関連するプロパティのバイト長を
指定する。これはゼロであり得る。
ValueDiskLoc  関連するプロパティの値
のHPOMF。
PPP内での位置が入る。ValueLenがゼロであ
ればこれもゼロになり、どこかに記憶される値はない。
CacheOffset  このフィールドは実行時に
用いられるだけであり、ファイル中では意味を持っては
いない。
エン) Uアレイの直後に名前プールがくる。
11PO!JP、PRPのこの部分には、プロパティリ
スト中での、ナルコード本#端されているプロパティの
名前がエントリアレイと同じ順序で入っている。
プロパティには、タイトル、ユーザのコメント、作成の
日時、そのオブジェクトを作成したユーザ等のような事
項を含めることができる。
HPOMF、 PPPは、必要に応じて動的に生長する
HPOMR,PRPの頭には1IPO&lF、 PRP
の最初の1024ページの割当てを制御する 128バ
イトのビットマツプがある。これらのページは、このビ
ットマツプのすぐ後に続く。ビットマツプは語のアレイ
であり、各語の最上位ビットが先ず使用される。従って
、ビットマツプの最初の語のピッ)15〜0が、夫々フ
ァイルのページO〜15に関する割当てを制御する。
最初の1024ページでの記憶では不充分であるときに
は、第2のビットマツプがファイルの1023ページの
後ろの位置に追加される。このビットマツプは、102
4〜2047ページの割当てを制御する。これらのペー
ジは第2のビットマツプのすぐ後に続く。必要に応じて
更なるビットマツプおよびページが同様にして追加され
る。
各ディレクトリおよびプロパティ値は、単一ブロックと
してファイル中に記憶される。すなわち、全て同じビッ
トマツプに割り当てられる一連のページとして記憶され
る。この結果ディレクトリやプロパティ値の長さが32
にバイトを超えてはならないという制限が生じる。
システムファイル605つまりHPOMF、 INSは
5YSI−NSTLとも呼ばれる。HPQMF、  I
NSには、各クラスのインストール時にシステムファイ
ルされたファイルのリストが含まれている。この情報は
、クラスをシステムから除去する際に用いられ、これら
のファイルを削除できるようにする。
HPOMF、 INSの最初の部分は、妥当性(val
idity>/バージョン識別子として働く、ダブルワ
ード値である。望ましい実施例では、このダブルワード
の値は、16進数0101A B CDでなければ正し
くない。望ましい実施例では特定のプロセッサ、Int
e−I Corporation製の80286が使用
されるため、このプロセッサによる記憶の規約に合わせ
るため、このダブルワード値は表8に示すように記憶さ
れる。
このダブルワードの後には、一連の可変長のレコードが
くる。インストールされている各クラス毎に1つのレコ
ードがある。各レコードの最初の語は、当該レコードの
残りの部分の長さをバイトで表したものである。その次
には、インストールされたクラスの     ゛   
     −ナルコードで終端されたクラス名が続く。
更にその次には、OMFディレクトリヘコビーされたフ
ァイルのファイル名が続く。各ファイル名はナルバイト
で終端され、またその前にはその長さを示す長さバイト
が置かれる。長さバイト中の値はナルバイトおよび長さ
バイト自体も算入したものである。ファイル名が特殊文
字“*″で始まる場合には、そのファイルはHPNLP
ROGディレクトリ中に置かれているものと見なされる
。ファイル名が特殊文字“+”で始まる場合には、その
ファイルは)IPNW[1ATAデイレクトリ中に置か
れているものと見なされる。
例えば、2つのクラス″AB”および’CD E”がイ
ンストールされているものと仮定する。クラス″AB’
によって2つのファイルがインストールされた。すなわ
ち、)IPNIIPROGディレク)!1668へ“Z
”が、またHPNWDATAディレクトリへは“YY”
が゛インストールされた。クラス“CDE”によって1
つのファイル、すなわち“xxx”がHP−NWPRO
Gディレクトリ 668にインストールされた。
以下の表8にこの状況下での本例に関するIIPOMF
INSの内容を示す。
表8 tフセブト   内容        コメントOCD
ABOIOI   ファイルヘッダ/バ(10数進で1
2) 6  414200    mAB”+ナル9  04
         長さバイトと“*Z”十ナルの長さ A   2A5A(10”*Z”+ナルD   05 
        長さバイト+1十YY”十ナルの長さ 14  43444500    “CDE”+ナル1
806         長さバイト+”*xxX”+
ナルの長さ 19  2A 58585800  ’*XXX″+−
1−JL。
ばれる。HPOMF、 SDFは、システムがきれいに
(つまり正常に)シャットダウンした場合にだけ存在す
る。このファイルはシステムの始動時に削除され、その
停止時に生成される。始動時に、このファイルが見つか
らなければ、OMFは、最後のセツションが異常な形で
終了したものと想定し、従ってそのクラッシュ回復手順
を実行し、システムファイルの妥当性を確認して、可能
な限り手直しする。システムは、クラッシコ時、正しく
はないが予測可能な状態になる可能性がある。こうした
エラーは、ユーザが介入しなくても修正される。
他にもいくつかの種類のファイルの無矛盾性に関するエ
ラーが検出されるが、これらは実際のところ、“通常の
”システムクラッシュからは起り得ない。これらのエラ
ーは、一般には修正し得るものではなく、OMFは、シ
ステムがこのケースに出くわすことを認めない。
HPOMF、SDFが存在すれば、それにはオブジェク
トのリストが含まれる。システムが通常の形でのシャッ
トダウンの過程にある場合、その時点て活動状態にある
各オブジェクトは、システムの再始動時にOMFがそれ
らを再始動させるように要求することができる。従って
、このオブジェクトのストである。
HPOMF、 SDF中の最初の語はフラグ語である。
この語がゼロでない場合、たとえHPOMF、 SOP
が存在してもOMFは、そのクラッシュ回復コードを実
行する。終了したセツションに重大なエラーがあった場
合、HPOMF、 SDFファイルの生成時に、通常の
シャットダウンによって、このフラグがセットされる。
2バイトには、復元すべきオブジェクトのタグが含まれ
ている。第3のバイトは、望ましい実施例では用いられ
ておらず、ゼロになっている。
7を持つ2つのオブジェクトが再始動を要求した場合、
HPOMP、 S叶の内容は下記の表9に示す通りにな
る。
表9 tフセヲト   内容        コメントo  
 oooo      クラッシュ回復を必要としない
ことを示す 4 00       未使用で、予約されている 7  00       未使用で、予約されている システムファイル7つまり)IPOMFICO,NWB
は、ダミーエントリポイントを含みデータを含まないぶ
Microsoft llindows動的ライブラリ
実行可能7フイルである。Microsoft Win
dowsは、16011N E 36th Way、 
Red、pond、 MA 98073−9717 [
J、S、A、所在のMicrosoft Corpor
ationによって販売されているプログラムである。
HPOMFICO,NIIBには、「資源」として、イ
ンストールされている各クラスのアイコンも含まれてい
る。OMFはljPOMFIcO,NIIBを実行時に
直接修正し、それをロードしたりエンロードしたりして
、それからアイコン資源を得る。
HPOMFICO,NWBの7オ 7ツ)は、Micr
osoft Co−rporationによって頒布さ
れているMicrosoft Wi−ndowsのドキ
ュメンテーション中で定義されている。
ビューに関して作業をすると(上記ビューに関する議論
を参照のこと)、普通、子のアプリケーションが呼び出
される。大規模なアプリケーションがかかわっている場
合、これによってかなりの不要なオーバーヘッドが生じ
ることがある。スナップショットを用いることにより、
このオーバーヘッドを除去することができる。
スナップショットは、アブ5リケーシヨン実行可能コー
ド全体を用いるのではなく、動的アクセスライブラリ 
(DAL)と呼ばれる別個のライブラリからの実行可能
コードを用いるオブジェクトである。スナップショット
に関連した唯一のデータファイルは、子オブジェクトか
ら親オブジェクトへ送られるべきデータを含んでいる。
データファイルを内部に包む(encapsulata
)コードは、動的ライブラリーと呼ばれるが、やはりデ
ィレクトリHPOMFPROG (ディレクトリ668
)に記憶される。
例えば、第81図には、リンク 504を介して子オブ
ジェクト502にリンクされた親オブジェクト501が
示されている。リンク 504にはスナップショット5
03が関連している。子オブジェクトがいったんリンク
 504に関するビュー仕様レコード中でスナップショ
ット 503を指定すると、スナップショットは子オブ
ジェクト 502に関連したアプリケーションめ呼出し
を必要とせずに、子オブジェクト502から親オブジェ
クト501ヘデータを提供することが可能になる。
第82図に示すように、スナップショットがなければ、
ビューデータ 522を親オブジェクト501に送り、
親オブジェクト 501が、ウィンドウディスらない。
しかしながら、第83図には、子502が活動状態にあ
ることを必要とせずに、ピコ−データ522を親オブジ
ェクト 501に提供するスナップショット503が示
されている。
〔発明の効果] 以上詳細に説明したように、本発明によれば、あるアプ
リケーション中から他のアプリケーションのデータに簡
単にアクセスすることが可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例を用いて構成されたコンビエ
ータのブロック図、 第2図および第2A図は本発明の一実施例におけるオブ
ジェクト、アプリケーションおよびデータファイルとの
間の関係を示すブロック図、第3図は本発明の一実施例
に基づいてリンクされた複数のオブジェクトを示す図、 第4図は本発明の一実施例における、データを含むオブ
ジェクトの親として、フォルダとして(妨く一連のオブ
ジェクトを示す図、 第5図は本発明の一実施例に基づいて各種のオブジェク
トをリンクした結果のスクリーン表示を示す図、 第6図は第5図に示すスクリーン表示を生成するだめの
オブジェクト間のリンクを示す図、第7図は本発明の一
実施例に基づいて3つのオブジェクトがどのようにして
リンクできるかを示す図、 第8図および第9図は本発明の一実施例に基づいてオブ
ジェクトがどのようにしてコピーできるかを示す図、 第1O図および第11図は本発明の一実施例にもとづく
パブリックオブジェクトのコピーを示す図、 第12図ないし第18図、第18A図、第19図ないし
第26図、第26A図、第27図、第28図、第28A
図、第29図ないし第71図は本発明の一実施例におけ
る操作例を説明するための図、 第72図は本発明の一実施例に基づ<OMFのブロック
図、 第73図は本発明の一実施例に基づいくシステムファイ
ルHPOMF、CATの構成を示すブロック図、 第74図は本発明の一実施例に基づく大域的親と大域的
オブジェクトとの関係を示す図、第75図は第72図に
示したOMF中のファイルが大容量記憶装置中のデータ
ファイルとアプリケーションにどのようにしてアクセス
するかを示す図、 第76図は第75中に示された貴置く装置の構成を示す
ブロック図、 第77図および第78図は本発明の一実施例に基づいた
オブジェクトとリンクを示す図、第79図は第72図に
示されるOMFに含まれるシステムファイルHPOMF
、XRFの構成を示すブロック図、 第80図は本発明の一実施例に基づいたビュー指定レコ
ードを示す図、 第81図は本発明の一実施例に基づいたスナップショッ
トの使用を示す図、 第82図は本発明の一実施例に基づいた、スナップショ
ットがない場合の、ビューのデータ径路を示す図、 第83図は本発明の一実施例に基づいた、スナップショ
ットがある場合の、ビューのデータ径路を示す図である
。 14:モニタ 18:コンピュータ 19:キーボード 20:マウス 100:OMF 101〜106:アプリケーション 131〜133.231〜233ニブロバテイ161.
161a、162.202〜205.207〜210.
301〜309.405〜413.611〜614.7
01〜706:オブジェクト 163.163a、260〜265.310〜322.
504.674.675.679.680.711〜7
19.722.727〜729.760.770.78
0:リンク 170:大容量ストレージメモリ 221〜223:データファイル 250〜255:大域的オブジェクト 401〜404:フォルダ 503ニスナツプシヨツト 51O二文書 511.512:テキスト行 513.514:グラフィクス図面 515ニスブレツドシートデータ 521:ウィンドウデイスプレィ 522:ビニ−データ 599:OMFインターフェース 601〜607:システムファイル 615〜617.704.705:データリンク 650〜652:識別子 660:ルートディレクトリ 661〜666.668:ディレクトリ707a:アイ
コン 779:対話ボックス 78I:カーソル 782.783.787.794.798.801ニブ
ルダウンメニユー 785.789.791,796.797.800:ウ
ィンドウ

Claims (5)

    【特許請求の範囲】
  1. (1)ファイル管理システムを有し、前記ファイル管理
    システムは第1オブジェクトからのデータ転送を、第2
    オブジェクトからの要求に従って統御するこのが可能な
    コンピュータであって、前記ファイル管理システムはリ
    ンク参照ファイルを含み、前記リンク参照ファイルは以
    下の(a)ないし(d)を含むエントリを有する: (a)前記エントリの参照名; (b)前記第1オブジェクトへの参照; (c)前記第2オブジェクトへの参照; (d)前記第1オブジェクトからのデータを識別するア
    イデンティファイア。
  2. (2)ファイル管理システムを有し、前記ファイル管理
    システムはあるオブジェクトからのデータ転送を、他の
    オブジェクトからの要求に従って統御することが可能な
    コンピュータであって、前記ファイル管理システムは夫
    々以下の(a)ないし(d)を含む複数のエントリを有
    する: (a)当該エントリの参照名; (b)転送されるべきデータの源泉となるべき第1オブ
    ジェクトへの参照; (c)前記第1オブジェクトにデータ転送を要求してい
    る第2オブジェクトへの参照; (d)前記第1オブジェクトから転送されるべきデータ
    を識別する参照。
  3. (3)ファイル管理システムと複数のオブジェクトを有
    するコンピュータにおいて、前記複数のオブジェクトの
    内の第1オブジェクトからのデータの表示を、前記複数
    のオブジェクトの内の第2オブジェクトの要求に従って
    統御するための以下の(a)ないし(c)のステップを
    含む方法: (a)リンク参照ファイル中にリンクエントリを生成す
    る:前記リンクエントリは当該リンクエントリを識別す
    る参照名と、前記第1オブジェクトへの参照と、前記第
    2オブジェクトへの参照と、転送されるべきデータを識
    別するアイデンティファイアを含む; (b)データを表示するための第1表示要求を、前記第
    2オブジェクトから前記ファイル管理システムへ送る:
    前記第1表示要求は前記参照名と前記データが表示され
    るべき位置を含む; (c)データを表示するための第2要求を、前記ファイ
    ル管理システムから前記第1オブジェクトへ送る:前記
    第2要求は前記データが表示されるべき位置と前記デー
    タアイデンティファイアを含む。
  4. (4)ファイル管理システムと複数のオブジェクトを有
    するコンピュータにおいて、前記複数のオブジェクトの
    内の第1オブジェクトからのデータの表示を、前記複数
    のオブジェクトの内の第2オブジェクトの要求に従って
    統御するための以下の(a)ないし(c)のステップを
    含む方法: (a)リンク参照ファイル中にリンクエントリを生成す
    る:前記リンクエントリは当該リンクエントリを識別す
    る参照名と、前記第1オブジェクトへの参照と、前記第
    2オブジェクトへの参照と、転送されるべきデータを識
    別するアイデンティファイアと、転送されるべき前記デ
    ータへのアクセスを有するスナップショットオブジェク
    トを含む; (b)データを表示するための第1表示要求を、前記第
    2オブジェクトから前記ファイル管理システムへ送る:
    前記第1表示要求は前記参照名と前記データが表示され
    るべき位置を含む; (c)データを表示するための第2要求を、前記ファイ
    ル管理システムから前記スナップショットオブジェクト
    へ送る:前記第2要求は前記データが表示されるべき位
    置と前記データアイデンティファイアを含む。
  5. (5)ファイル管理システムと複数のオブジェクトを有
    するコンピュータにおいて、前記複数のオブジェクトの
    内の第1オブジェクトからのデータの表示を、前記複数
    のオブジェクトの内の第2オブジェクトの要求に従って
    統御するための以下の(a)ないし(c)のステップを
    含む方法: (a)データを表示するための第1表示要求を、前記第
    2オブジェクトから前記ファイル管理システムへ送る:
    前記第1表示要求は前記データが表示されるべき位置を
    含むが、前記第1オブジェクトのアイデンティファイア
    も表示されるべきデータのための特定的なアイデンティ
    ファイアも含まない; (b)データを表示するための第2要求を、前記ファイ
    ル管理システムから前記第1オブジェクトへ送る:前記
    第2要求は前記データが表示されるべき位置と前記デー
    タアイデンティファイアを含むが、前記第2オブジェク
    トのアイデンティファイアを含まない。 (c)前記第1オブジェクトにより前記データを表示す
    る。
JP1105700A 1988-04-25 1989-04-25 データ転送方式 Pending JPH01312647A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US186,312 1988-04-25
US07/186,312 US5079695A (en) 1988-04-25 1988-04-25 Object management facility which includes a snapshot facility for providing data transfer between two objects

Publications (1)

Publication Number Publication Date
JPH01312647A true JPH01312647A (ja) 1989-12-18

Family

ID=22684446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1105700A Pending JPH01312647A (ja) 1988-04-25 1989-04-25 データ転送方式

Country Status (7)

Country Link
US (1) US5079695A (ja)
EP (1) EP0339221A3 (ja)
JP (1) JPH01312647A (ja)
KR (1) KR970007758B1 (ja)
CN (1) CN1041839A (ja)
AU (1) AU607063B2 (ja)
CA (1) CA1340484C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100487012B1 (ko) * 1996-09-11 2005-06-16 마츠시타 덴끼 산교 가부시키가이샤 프로그램의일부만수신한상태에서도당해프로그램을실행개시할수있는프로그램수신실행장치및그를위한프로그램송신장치
US6934952B2 (en) * 2001-04-09 2005-08-23 International Business Machines Corporation Method and apparatus for managing multiple instances of server code on a machine
US6944861B2 (en) 1998-05-04 2005-09-13 Matsushita Electric Industrial Co., Ltd. Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1328027C (en) * 1988-07-14 1994-03-22 Toshio Kashio Data processing apparatus
US5283895A (en) * 1988-07-14 1994-02-01 Casio Computer Co., Ltd. Apparatus and method for processing data corresponding to word labels
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
EP0408812B1 (en) * 1989-07-21 2000-03-01 Hewlett-Packard Company Distributed object based systems
GB8917490D0 (en) * 1989-07-31 1989-09-13 Hewlett Packard Co Object based computer system
US5619638A (en) * 1989-07-31 1997-04-08 Hewlett-Packard Company Object based computer system having representation objects for providing interpretative views onto a data object
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
EP0469199B1 (en) * 1990-07-31 1998-05-27 Hewlett-Packard Company Object based system
EP0469198B1 (en) * 1990-07-31 1998-05-27 Hewlett-Packard Company Object based system
US5412774A (en) * 1990-08-29 1995-05-02 At&T Corp. Apparatus for and method of displaying a data item of a database using the display function of a selected data item
US5367623A (en) * 1990-09-25 1994-11-22 Sharp Kabushiki Kaisha Information processing apparatus capable of opening two or more windows on screen, one window containing a page and other windows containing supplemental information
US5463727A (en) * 1990-10-16 1995-10-31 Advanced Systems, Inc. Window selection method and system for an interactive display
US5293615A (en) * 1990-11-16 1994-03-08 Amada Carlos A Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command
US5446896A (en) * 1990-12-17 1995-08-29 Next, Inc. Method and apparatus for inter-program communication
US5442742A (en) * 1990-12-21 1995-08-15 Apple Computer, Inc. Method and apparatus for the manipulation of text on a computer display screen
JP3074737B2 (ja) * 1990-12-29 2000-08-07 カシオ計算機株式会社 ファイル更新処理装置
EP0496494A3 (en) * 1991-01-22 1993-05-12 International Business Machines Corporation Software maintenance system
DE69228621T2 (de) * 1991-02-25 1999-07-22 Hewlett Packard Co Objektorientiertes verteiltes Rechnersystem
US5430836A (en) * 1991-03-01 1995-07-04 Ast Research, Inc. Application control module for common user access interface
US5528744A (en) * 1991-04-02 1996-06-18 International Business Machines Corporation Data processing system
US5421008A (en) * 1991-11-08 1995-05-30 International Business Machines Corporation System for interactive graphical construction of a data base query and storing of the query object links as an object
CA2071309C (en) * 1991-11-15 1998-01-20 Daryl J. Kahl Method and apparatus utilizing data icons
JPH0785216B2 (ja) * 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
US5408659A (en) * 1992-03-05 1995-04-18 International Business Machines Corporation Link pane class and application framework
US5461710A (en) * 1992-03-20 1995-10-24 International Business Machines Corporation Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
JP3134505B2 (ja) * 1992-05-29 2001-02-13 カシオ計算機株式会社 伝票処理装置
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
JP3181592B2 (ja) * 1992-12-01 2001-07-03 マイクロソフト コーポレイション 埋め込まれたオブジェクトとイン・プレース対話するための方法及びシステム
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5499334A (en) * 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US5696915A (en) * 1993-03-03 1997-12-09 Apple Computer, Inc. Method and apparatus for linking routines for different contexts
US5754178A (en) * 1993-03-03 1998-05-19 Apple Computer, Inc. Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US6212577B1 (en) * 1993-03-03 2001-04-03 Apple Computer, Inc. Method and apparatus for improved interaction with an application program according to data types and actions performed by the application program
US5621878A (en) * 1993-03-03 1997-04-15 Apple Computer, Inc. Method and apparatus or manipulating data from a suspended application program on a computer-controlled display system
US5598524A (en) * 1993-03-03 1997-01-28 Apple Computer, Inc. Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5530865A (en) * 1993-03-03 1996-06-25 Apple Computer, Inc. Method and apparatus for improved application program switching on a computer-controlled display system
US5734905A (en) * 1993-05-06 1998-03-31 Board Of Trustees Of The Leland Stanford Junior University User interface in object oriented computer system for performing intuitive object transformations
US5969705A (en) * 1993-06-28 1999-10-19 Apple Computer, Inc. Message protocol for controlling a user interface from an inactive application program
US5721919A (en) 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US5808611A (en) * 1993-09-23 1998-09-15 International Business Machines Corporation Positioning for multiple icons in an object-oriented interface
JP2692782B2 (ja) * 1993-12-13 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトをリンクする方法
US5819090A (en) * 1994-03-04 1998-10-06 Ast Research, Inc. Application control module for common user access interface
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US5724532A (en) * 1994-10-27 1998-03-03 Bay Networks, Inc. Method and apparatus for exchanging information between application programs according to a drag and drop operation
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US5771379A (en) * 1995-11-01 1998-06-23 International Business Machines Corporation File system and method for file system object customization which automatically invokes procedures in response to accessing an inode
US5848272A (en) * 1996-06-04 1998-12-08 Lucent Technologies Inc. Object-oriented intra-process messaging arrangement for windows environments
US6157380A (en) * 1996-11-05 2000-12-05 International Business Machines Corporation Generic mechanism to create opendoc parts from workplace shell objects
US6219717B1 (en) 1996-11-20 2001-04-17 Merrill Lynch & Co., Inc. Method and apparatus for implementing object transparent invocation
US5937402A (en) * 1997-06-19 1999-08-10 Ontos, Inc. System for enabling access to a relational database from an object oriented program
US5890155A (en) * 1997-08-22 1999-03-30 Honeywell Inc. System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
WO2001043075A1 (en) * 1999-12-08 2001-06-14 Browseup, Inc. Automatic publishing system and method
US6874035B1 (en) * 2000-02-02 2005-03-29 Storage Technology Corporation System and methods for transforming data from a source to target platform using snapshot
EP1351108B1 (en) * 2000-11-24 2015-06-24 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
GB0107766D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvements relating to developing documents
FR2834104B1 (fr) * 2001-12-20 2004-10-15 France Telecom Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
JP4325524B2 (ja) * 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
CN100362509C (zh) * 2004-10-11 2008-01-16 佛山市顺德区顺达电脑厂有限公司 在若干个电脑间进行电脑对象选取及传送的方法及装置
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
KR100773782B1 (ko) * 2005-08-02 2007-11-12 엔에이치엔(주) 클라이언트 시스템 사이의 게임 플레이 데이터 보정 시스템및 그 방법
US8468441B2 (en) * 2005-09-15 2013-06-18 Microsoft Corporation Cross-application support of charts
US8578277B2 (en) * 2005-09-15 2013-11-05 Microsoft Corporation Integrating charts in documents
US20070130183A1 (en) * 2005-12-01 2007-06-07 Morris Robert P Methods, systems, and computer program products for associating computer-system-accessible resources using behaviors
US20070198542A1 (en) * 2006-02-09 2007-08-23 Morris Robert P Methods, systems, and computer program products for associating a persistent information element with a resource-executable pair
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US20140108564A1 (en) * 2012-10-15 2014-04-17 Michael Tolson Architecture for a system of portable information agents
US20160019210A1 (en) 2014-07-21 2016-01-21 Dropbox, Inc. Sharing unmanaged content using a content management system
CN106126489A (zh) * 2016-06-23 2016-11-16 江苏中威科技软件系统有限公司 一种报告文件动态图表编辑方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4635189A (en) * 1984-03-01 1987-01-06 Measurex Corporation Real-time distributed data-base management system
EP0162670B1 (en) * 1984-05-19 1991-01-02 British Aerospace Public Limited Company Industrial processing and manufacturing systems
US4723210A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Superblock structure in a multiple in a data editor
US4713754A (en) * 1984-10-09 1987-12-15 Wang Laboratories, Inc. Data structure for a document processing system
US4701848A (en) * 1984-11-19 1987-10-20 Clyde, Inc. System for effectively paralleling computer terminal devices
US4674040A (en) * 1984-12-26 1987-06-16 International Business Machines Corporation Merging of documents
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4868745A (en) * 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US4815030A (en) * 1986-09-03 1989-03-21 Wang Laboratories, Inc. Multitask subscription data retrieval system
US4849877A (en) * 1986-12-22 1989-07-18 American Telephone And Telegraph Company Virtual execution of programs on a multiprocessor system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100487012B1 (ko) * 1996-09-11 2005-06-16 마츠시타 덴끼 산교 가부시키가이샤 프로그램의일부만수신한상태에서도당해프로그램을실행개시할수있는프로그램수신실행장치및그를위한프로그램송신장치
US6944861B2 (en) 1998-05-04 2005-09-13 Matsushita Electric Industrial Co., Ltd. Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
US7948867B2 (en) 1998-05-04 2011-05-24 Panasonic Corporation Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
US6934952B2 (en) * 2001-04-09 2005-08-23 International Business Machines Corporation Method and apparatus for managing multiple instances of server code on a machine

Also Published As

Publication number Publication date
KR970007758B1 (ko) 1997-05-16
EP0339221A3 (en) 1990-06-13
US5079695A (en) 1992-01-07
AU3307389A (en) 1989-10-26
CA1340484C (en) 1999-04-06
CN1041839A (zh) 1990-05-02
AU607063B2 (en) 1991-02-21
KR890016476A (ko) 1989-11-29
EP0339221A2 (en) 1989-11-02

Similar Documents

Publication Publication Date Title
JPH01312647A (ja) データ転送方式
JPH01312646A (ja) ファイル管理方式
US6636250B1 (en) Methods and apparatus for presenting information to a user of a computer system
JP4249670B2 (ja) グループ内の既存ファイル位置の転送方法およびコンピュータシステム
JP4195444B2 (ja) ファイル・システムapiを拡張するための方法およびシステム
US5911066A (en) Data transfer utilizing a single functionally independent data transfer mechanism
US6437810B1 (en) Shell extensions for an operating system
US6091409A (en) Automatically activating a browser with internet shortcuts on the desktop
US7278106B1 (en) Method and apparatus for interacting with a source code control system
EP0628907B1 (en) Method of running on a computer system an application not designed to run on the computer system
JP2019086867A (ja) 情報処理装置及びプログラム
JP7392788B2 (ja) 情報処理装置及びプログラム
JP2019086864A (ja) 情報処理装置及びプログラム
CA1340917C (en) Encapsulation of applications for inclusion within an object management facility environment
JP2019086862A (ja) 情報処理装置及びプログラム
JP2019086861A (ja) 情報処理装置及びプログラム
JP2019086866A (ja) 情報処理装置及びプログラム