(57)【要約】      （修正有）【課題】コンピュータシステムにおいてオブジェクト間をナビゲートする新規な参照機能を提供する。【解決手段】第１、第２ドキュメントがストレージにロードされディスプレイに表示される。第１ドキュメント内のセレクションオブジェクトが作成され、セレクションオブジェクトに対する参照が第２ドキュメント内の第１セレクションと関連づけられる。最後に、第２ドキュメント内の参照を通して第１ドキュメント内のセレクションへナビゲーションが行われる。【選択図】図５
2006073024.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、プロセッサに接続されその制御下に置かれているストレージと、プロセッサに接続されその制御下に置かれたディスプレイとを装備したコンピュータ・システムにおいて第１オブジェクトから第２オブジェクトへナビゲーションを行う方法であって、
（ａ）  第１ドキュメントを前記ストレージにロードし、該第１ドキュメントを前記ディスプレイに表示するステップと、
（ｂ）  第１セレクションに関連するセレクション・オブジェクトを前記ストレージ内に作成するステップと、
（ｃ）  前記第１セクションに関連する参照を前記ストレージ内に作成するステップと、
（ｄ）  第２ドキュメントを前記ストレージにロードし、該第２ドキュメントを前記ディスプレイに表示するステップと、
（ｅ）  前記第１セレクションに関連する参照を前記第２ドキュメントに入れるステップと、
（ｆ）  前記第２ドキュメント内の参照を通して前記第１ドキュメント内の前記第１セレクションへナビゲーションを行うステップと
を具えたことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権所有表記
本明細書の一部には、著作権保護の対象となる内容が含まれている。著作権所有者は、米国特許商標庁の特許ファイルまたは記録に記載されている特許文書または特許開示事項を第三者がファクシミリで複製することを妨げるものではないが、その他の場合には、著作権に係る一切の権利を留保する。
【０００２】
関連特許出願の相互参照
本特許出願は「オブジェクト指向フレームワーク・システム」(Object Oriented Framework System)という名称のDebra L.Orton、David B.Goldsmith、Christopher P.Moeller、Andrew G.Heningerによる特許出願であって、1992年12月23日に出願され、Taligentに譲渡された特許出願の関連出願であり、その特許出願の開示事項は引用により本明細書の一部を構成するものである。
【０００３】
本特許出願は「動的リンキング・システム」(Dynamic Linking System)という名称のArn Schaeffer、David Anderson、Jack Palevich、Larry Rosensteinによる特許出願であって、1993年７月19日に出願され、Taligentに譲渡された特許出願の関連出願であり、その特許出願の開示事項は引用により本明細書の一部を構成するものである。
【０００４】
本特許出願は「コンテナ・オブジェクト・システム」(Container Object System) という名称のFrank Nguyenによる特許出願であって、1993年６月23日に出願され、Taligentに譲渡された特許出願の関連出願であり、その特許出願の開示事項は引用により本明細書の一部を構成するものである。
【０００５】
本発明は一般的には、コンピュータ・システムにおける改良に関し、より具体的には、情報のエリアとシステム全体との間をナビゲートするシステムおよび方法に関し、さらにリモート・オブジェクトがあたかもローカルの場所に置かれているものとしてリモート・オブジェクトを使用することに関する。
【背景技術】
【０００６】
コンピュータ・システムは精油所を制御するために使用されるプロセス制御システムに見られるもののようなアプリケーションの間をリンケージで結ぶことを必要とすることがよくある。その結果、例えば、グラフィカル・ワークステーションにいるオペレータがバルブを示すグラフィカル記号を選択して、そのステータス（状況）を閉から開に変更すると、ディスプレイ上のそのイメージが変更され、これに対応して、バルブが閉じているプロセス環境が変更されるようになっている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、大部分のプロセス制御システムは、特定のタスクを実施するために「ハード・コード化(hard-coded)」されている。リンケージはオペレータのコンソールを介して再定義することが容易になっていない。さらに、リンケージは柔軟性がなく、多目的にもなっていない。むしろ、各リンケージはタスクが事前に定義されているため、その変更が容易になっていなかった。
【０００８】
最近では、アップル社や他社の対話式コンピュータ・システム(interactive computer system)は、クローズしているドキュメントとコンテナ(container) またはフォルダ(folder)との間をリンケージで結んでいる。その結果、例えば、対話式コンピュータ・システムのユーザはドキュメントを示すグラフィカル記号を選択して、そのグラフィカル記号を通してドキュメントをオープンすることが可能になっている。フォルダは、フォルダを示すグラフィカル記号を使用すると、選択したドキュメントがフォルダにドロップされるようになっている。
【課題を解決するための手段】
【０００９】
本発明は、コンピュータ・システムにおいてオブジェクト間をナビゲートするシステムと方法を提供することによりさらに、コンピュータ・システムにおいてリモート・オブジェクトがあたかもローカルの場所に置かれているものとしてリモート・オブジェクトを使用することにより従来技術の問題点を解消する。接続されたストレージ（記憶装置）とディスプレイを装備したプロセッサを含んでいるオブジェクト指向コンピュータ・システムにおいてナビゲーションを行うための手法が開示されている。第１ドキュメントがストレージにロードされ、ディスプレイから表示される。そのあと、セレクション・オブジェクト(selection  object) が作成され、ディスプレイ上の第１ドキュメントと関連づけられる。参照(reference) がストレージ内の第１セレクションと関連づけられる。次に、第２ドキュメントがストレージにロードされ、ディスプレイ上に表示され、参照が第２ドキュメント内の第１セレクションと関連づけられる。最後に、第２ドキュメント内の参照を通して、第１ドキュメント内の第１のセレクションへナビゲーションを行うことが可能になる。
【発明の効果】
【００１０】
第１ドキュメントがストレージにロードされ、ディスプレイから表示される。そのあと、セレクション・オブジェクト(selection  object) が作成され、ディスプレイ上の第１ドキュメントと関連づけられる。参照(reference) がストレージ内の第１セレクションと関連づけられる。次に、第２ドキュメントがストレージにロードされ、ディスプレイ上に表示され、参照が第２ドキュメント内の第１セレクションと関連づけられる。最後に、第２ドキュメント内の参照を通して、第１ドキュメント内の第１のセレクションへナビゲーションを行うことが可能になる。
【発明を実施するための最良の形態】
【００１１】
発明の好適実施例の詳細な説明
ナビゲーション・リンクの概要
参照オブジェクトは、グラフィック・ディスプレイ上で自身と他のオブジェクトとを区別する固有の特性をもっている。第一に、参照はユーザ・データを置くことができる場所ならば、どこにでも置くことができる（例えば、ドキュメントやコンテナ、プレース内に置くことも、デスクトップ上に置いておくだけでも可能である）。第二に、参照は別の参照ではなく、現実のオブジェクトを参照する。参照は、複数のオブジェクトを収めておくことができる１つセレクションであって、その１つのセレクションだけを参照する。参照は、参照の数やオブジェクトの属性（例えば、名前、アイコン）および／または包含階層(containment  heirarchy)に置かれているオブジェクトの位置が変更されても、その変更とは関係なくそのオブジェクトを参照し続ける。参照をオープンすると、参照オブジェクト(referred-to object)がオープンされ、表われる。参照をコピーしても、削除しても、その参照オブジェクトはコピーも、削除もされない。参照は参照オブジェクトの存在を保証していないので、デフォルトによって参照は一方向(unidirectional)になっている。
【００１２】
参照の継承特性
参照は「動的リンキング・システム」という名称の特許出願（全内容は本明細書の一部を構成する）に記載されているようにモデル・アンカ(model anchor)であるので、参照は次のような特性を継承する。
・  参照は参照オブジェクトへのリンクをたどっていくことができる。
・  参照は属性（例えば、名前、アイコンなど）をキャッシュすることができる。
・  参照はアイコン・ビュー(icon view) として表示することができる。
【００１３】
使用例を示すシナリオ
最初の組のシナリオは、参照がシステムでどのように使用されるかを示している。
【００１４】
技術論文
ある著者は別の著者による論文のあるセクションへの参照を行っている。この参照はどのページとパラグラフがトピックと関係があるかを正確に規定している。読者はこの参照を使用すると、一番目の著者の論文から二番目の著者の論文中の関係情報へナビゲートすることができる。
【００１５】
スプレッドシート
スプレッドシートのあるセルの値を、別のセルの値を計算する式の中で参照することが望ましいことがよくある。ユーザはその参照を使用して、セルが同じスプレッドシートにあるか、別のスプレッドシートにあるかに関係なく、そのセルへナビゲートすることもできる。
【００１６】
フォルダ
ユーザはあるフォルダへの参照を別のフォルダ内に置いておくことできるので、その参照は別のフォルダ階層にあるかのように見える。その参照フォルダをオープンすると、ユーザは元のフォルダ・ロケーションに到達する。
【００１７】
アプライアンス
システム上の別のロケーションからあるアプライアンス（プリンタ、ファックスマシン、テレホンなど）へアクセスする必要がユーザにある場合、ユーザはそのアプライアンスへの参照を作成して、それを望みのロケーションに置いておくことができる。この参照をナビゲーション・エイド(navigational aid)として使用することも、その実際のロケーションへナビゲートしないでその参照を通してアプライアンスを直接に使用することも可能である。
【００１８】
ビジネス・カード
ある人のプリンタへの参照はエレクロトニック・ビジネス・カード(electronic business card)に置いておくことができるので、ビジネス・カードの受取人はその参照を使用して最初のパーティのプリンタへナビゲートすることができる。
【００１９】
以下に示すシナリオでは、ユーザと参照とのやりとりを説明するためにフォルドとドキュメントの参照を使用している。他のタイプの参照も、その働き方は大体同じである。
【００２０】
あるフォルダ内のドキュメントの参照を同じフォルダから行う：ユーザはドキュメントＡをフォルダＸからコマンド・ドラッグし（ドラッグしている間にコマンド・キーを押す）、それを同じフォルダの中にドロップする。これはフォルダＸ内ではドキュメントＡ（ドキュメントＡへの参照）として現われる。
【００２１】
ドキュメント内のテキスト・セレクションの参照を別のフォルダから行う：ユーザはドキュメントＢ内のテキスト・セレクションをコマンド・ドラッグし、それをフォルダＸの中にドロップする。これはフォルダＸ内ではドキュメントＢ（ドキュメントＡへの参照）として現われる。
【００２２】
フォルダ内のあるドキュメントの参照を別のドキュメントから行う：ユーザはフォルダＸ内のドキュメントＡをコマンド・ドラッグし、それをドキュメントＢの中にドロップする。これはドキュメントＢ内ではドキュメントＡ（ドキュメントＡへの参照）として現われる参照を削除する：ユーザはドキュメントＡをドキュメントＢからドラッグしてウェストバスケット(Waste Basket-Trash Can への参照）へ入れるか、Trash Can 自体へ入れる。
【００２３】
参照をあるフォルダから別のフォルダへコピーする（移動する）：ユーザはドキュメントＡをフォルダＸからフォルダＹへオプション・ドラッグ(option-drag) する（ドラッグする）。これはフォルダＹ内ではドキュメントＡ′として現われる。
【００２４】
参照をフォルダからドキュメントへコピーする（移動する）：ユーザはドキュメントＡをフォルダＸからドキュメントＢへオプション・ドラッグ(option-drag) する（ドラッグする）。これはドキュメントＢ内ではドキュメントＡ′として現われる。
【００２５】
参照をドキュメントからフォルダへコピーする（移動する）：ユーザはドキュメントＡ′をドキュメントＢからフォルダＸへオプション・ドラッグする（ドラッグする）。これはドキュメントＢ内ではドキュメントＡ″として現われる。
【００２６】
クラス・アーキテクチャの詳細
ハイパリンク(hyperlink) はソース・アンカ(source anchor) からデスティネーション・アンカ(destination anchor)までの双方向リンクである。コンテナブル(containables)は、潜在的には、空のアンカ(empty anchor)からデスティネーション・アンカまでの双方向リンクである。参照は、潜在的には、空になっている可能性のあるアンカからデスティネーション・アンカまでの双方向リンクである。それぞれは、属性の表示と属性のキャッシング、およびリンクをたどってデスティネーション・アンカまでに到達するための独自のプロトコルをもっている。ハイパリンク、コンテナブル、および参照によって示される類似性を扱うための設計は次のようになっている。
・  ハイパリンク、コンテナブル、および参照に対するサポートはTContainPolicyから提供され、そのデフォルト・インプリメンテーションはTStandardContainPolicyである。これらのクラスはコンテナ・フレームワーク(Container Framework) の一部になっており、このフレームワークは、サブクラス化 (subclassing)によって新しいデータ・タイプを作成するための２つの抽象モデル・クラス(abstract model classes)を与える。詳しくは後述の「モデル・クラス」セクションを参照されたい。セレクション側では、このサポートはMSelectionCanContainePolicy により提供され、このデフォルトインプリメンテーションはTSelectionCanContain Policy である。これらのクラスもコンテナ・フレームワークの一部になっており、このフレームワークは、サブクラス化によって新しいセレクション・タイプを作成するための２つの抽象セレクション・クラスを与える。詳細は後述の「セレクション・クラス」セクションを参照されたい。
・  ハイパリンク、コンテナブル、および参照のリストはTModelAnchorポインタの単一リストである。ハイパリンクはTModelAnchorである。コンテナブルと参照は共通のクラス、つまり、TModelAnchorのサブクラスであるTContainableから派生している。詳細は後述の「ハイパリンク／コンテナブル／参照クラス」セクションを参照されたい。
【００２７】
ユーザは、オブジェクトまたはオブジェクトのコレクションを選択し、そのセレクションをコマンド・ドラッグしドロップすることにより参照を作成することができる。このアクションにより、ソース・モデル・セレクション（つまり、ドラッグされたオブジェクト）をパラメータとして持つMakeReference コマンドがソース・モデルへ送られ、ターゲット・モデル・セレクション（たとえば全体ターゲット・モデル）をパラメータとして持つペースト(Paste) ・コマンドがターゲット・モデルへ送られる。ソースとターゲットは同じモデルでも、異なるモデルでも構わない。詳細は後述の「コマンド・クラス」セクションを参照されたい。
【００２８】
どのモデルも、またどのモデル・セレクションも(TContainPolicy をインプリメントしている場合）、別のモデルおよびモデル・セレクション(TContainPolicy をインプリメントしている場合）からの参照を表示し、操作することをサポートしている。例えば、フォルダには、複合ドキュメント(compound document)(複合ドキュメント・セレクション）内の特定のテキスト部分を指す参照を収めておくことができ、また、複合ドキュメントには、フォルダ内の特定のドキュメントを規定する参照を収めておくことができる。このような相互操作性(interoperability)が可能であるのは、参照が常にTContainableWrapperModelに包み込まれており、どのモデルも、どのモデル・セレクション（TContainPolicyがインプリメントされている場合）も、それをどのように取り入れるかを知っているからである。詳細は後述の「ラッパ・モデル・クラス」セクションを参照されたい。
【００２９】
モデル・クラス
コンテナ・フレームワークにはTEembedderContainerModelが用意されているので、これをサブクラス化すると、組込み(embed) と収容(contain) ができる新しいデータ・タイプを作成することができる。例えば、TCompoundDocumentModelは、ハイパリンク、コンテナブル、および参照と同じように、組み込まれたモデルをサポートできるドキュメントである。同様に、コンテナ・フレームワークにはTContainerModel が用意されているので、これをサブクラス化すると、収容だけができる新しいデータ・タイプを作成することができる。例えば、TFolderModelはハイパリンク、コンテナブルおよび参照をサポートできるフォルダである。
【００３０】
セレクション・クラス
コンテナ・フレームワークにはTEmbedderContainerModelSelectionが用意されているので、これをサブクラス化すると、組込みと収容ができる新しいセレクション・タイプを作成することができる。例えば、
TCompoundDocumentModelSelection は、ハイパリンク、コンテナブルおよび参照と同じように、組み込まれたモデルをサポートするドキュメント・セレクションである。
【００３１】
同様に、コンテナ・フレームワークにはTContainerModelSelectionが用意されているので、これをサブクラス化すると、収容だけができる新しいセレクション・タイプを作成することができる。例えば、TFolderModelSelection は、ハイパリンク、コンテナブルおよび参照をサポートできるフォルダ・セレクションである。
【００３２】
ハイパリンク／コンテナブル／参照クラス
TModelAnchorにより、ハイパリンク、コンテナブルおよび参照を管理するための、次のようなプロトコルが与えられる。
・  属性管理プロトコル、つまり、属性の追加、削除、リスティング、およびルックアップ
・  データ管理プロトコル、つまり、データの追加、コピー、および削除
・  リンク管理プロトコル、つまり、リンクの追加、削除、フォロー、リスティング、およびルックアップ（コンテナブルまたは参照の場合は、リンクは１つだけである）
・  ビュー作成プロトコル、つまり、ハイパリンク、コンテナブルおよび参照のアイコン・  ビューの作成
ビュー作成プロトコルは、ハイパリンクのリンク・マップを作成するために複合ドキュメント・プレゼンテーションによって使用される。これは、コンテナブルと参照のアウトライン・ビュー(outline view)を作成するためにフォルダ・プレゼンテーションによって使用することもできる。
【００３３】
TContainableはTModelAnchorの抽象サブクラスである。これは、コンテナブル(TOwnedContainable) と参照(TReferencedContainable)に特有の新しいプロトコルを再定義する。
・  属性管理プロトコル、つまり、特殊な属性を取り出すためのアクセラレータメソッド(accelerator method)。これらの属性には、システム定義の属性（コンテナブルまたは参照のビューを作成するときのサイズ、作成者、作成日、タイプ、種々のアイコン表現）とユーザ定義の属性（名前、ユーザ定義のラベル）を含めることが可能である。TContainableはそのローカル・キャッシュ内に属性を見つけないと、モデル・ストア(model store) をアクセスして属性を取り出す。場合によっては、ユーザ・インタフェース・アーカイブ内に属性を見つけることがある。例えば、モデルにカスタム・アイコンがないと、総称的「ドキュメント」アイコンを取り出す。
・  データ管理プロトコル、つまり、コピーと削除のための再定義されたメソッド。
【表１】
2006073024.tif 000003
・  コンテナブルまたは参照をモデル内に包み込み、モデル・セレクションを使用してデータ交換（例えば、カット、コピー、ペースト）に参加できるようにするメソッド。
・  選好フレームワーク(Preferences Framework) がコンテナブル上のプロパティ・シートをオープンするためのメソッド。
【００３４】
TContainableの他のサブクラスは、異なるセマンティック(semantics) および／または作用(behavior)が必要なときに書くことができる。例えば、ステーショナリを「オープン」すると、新しいドキュメントが作成される。従って、TContainableのサブクラスである、TStationeryContainableは正しい作用を得るためにはそのリンク・フォロー・メソッド(link-follow method)を無効化(override)する必要がある。
【００３５】
コマンド・クラス
MakeReference コマンドは、どのモデル・セレクションとその関連モデルにも作用を及ぼす新しい標準コマンドである。MakeReference は次のような働きをする。
１．  データをソース・モデル・セレクションから取得する。このデータはTModelAnchorポインタ型であり、ハイパリンク、コンテナブル、または参照を表している。
２．  そのデータに基づき参照を作成する。
３．  この参照を新しいソース・モデル・セレクションにする。
４．  新しいソース・モデル・セクションをクリップボードにコピーする。
【００３６】
ペースト(Paste) コマンドはどのモデル・セレクションとその関連モデルにも作用を及ぼす既存の標準コマンドである。Paste は次のような働きをする。
１．  異質モデル (foreign model)を変換できるタイプのリストをクリップボードに要求する。
２．  異質モデルを変換しようするタイプと、変換した異質モデルをどのように受け入れるか（組込みか吸収か）をそのリストから選択するようにターゲット・モデル・セレクションに要求する。
３．  変換した異質モデルのコピーをクリップボードに要求する。
４．  変換した異質モデルを受け入れるようにターゲット・モデルに要求する。
５．  このモデルを新しいターゲット・モデル・セレクションにする。
【００３７】
ラッパ・モデル・クラス
モデル・セレクションを使用してデータ交換（例えば、カット、コピー、ペーストなど）を行うためにはコンテナブルと参照を包み込むためのメソッドが必要である。交換カレンシ(exchange currency) はモデルである。ラッパ・モデル(wrapper model) はTContainerPolicyとTEmbedPolicyのどちらのインプリメンテーションも必要としないので、TModel抽象クラスの具現サブクラスとして作成することができる。
【００３８】
第３図は、参照オブジェクトを作成する好適実施例に従って実行される処理を示すフローチャートである。処理はターミナル300 から開始され、即時に機能ブロック310 へ移り、そこで第１と第２のオブジェクトがオープンされる。オブジェクトはテキスト・ドキュメント、グラフィック・イメージ、スプレッドシート、フォルダ、または他のコンピュータ・アプリケーションのどれであっても構わない。次に、機能ブロック320 で、ディスプレイ上のエリアの第１コーナを選択し、選択したエリアを囲むように拡大する矩形アウトラインをドラッグすることにより、セレクションが第１オブジェクトで作成される。機能ブロック330 で、アンカ・オブジェクトをインスタンス化(instantiate−インスタンス生成）することによりアンカがセレクションから作成される。このアンカは、セレクション・エリアがアンカ・オブジェクトとリンクされた状態にある限り存続しているセレクション・エリアを管理する。機能ブロック340 は参照オブジェクトの作成を示している。参照オブジェクトはアンカ・オブジェクトを取り巻くラッパであり、このラッパによりアンカ・オブジェクトを他のオブジェクトまたはコンテナの内側に置いておくことができる。これについては、相互参照欄に列挙されている特許出願に説明されている。次に、機能ブロック350 で、サロゲート(surrogate) アンカが参照オブジェクトに受け入れられ(adopted) 、機能ブロック360 に示すように参照オブジェクトが第２のオブジェクトに受け入れられる。ここでサロゲート・オブジェクトとは、実際のアンカに対するポインタのことである。また、「受け入れる(Adoption)」とは、所有権をあるオブジェクトから別のオブジェクトへ移転するために必要な処理のことである。最後に、処理はターミナル370 で完了する。この例では、参照オブジェクトが一方のドキュメントで作成されて、他方のドキュメントに受け入れられているが、この分野に精通する当業者ならば理解されるように、参照オブジェクトは第１のドキュメントの別のロケーションに置いておくことも可能である。
【００３９】
第４図は、参照オブジェクトを使用する好適実施例に従って実行される処理を示すフローチャートである。処理はターミナル400 で開始され、即時に機能ブロック410 へ移り、そこで第１のオブジェクトがオープンされる。オブジェクトはテキスト・ドキュメント、グラフィック・イメージ、スプレッドシート、フォルダ、他のコンピュータ・アプリケーションのどれであっても構わない。次に、機能ブロック420 で、参照オブジェクトが選択される。この参照オブジェクトがアクションのターゲットを抽象的に規定しているのは、そのセレクションを規定しているアンカがそこに入っているためである。このアクションはフォローまたはルックアップ時に解決される。機能ブロック430 は、start_side（開始側）でのコマンドの作成処理を示している。この作成処理は、ユーザがダブルクリックしてオブジェクトをオープンするといった、特定のアクションを行うとこれに応答する。あるアクションがとられると、そのアクションにサービスするために適切なコマンドが出される。そのため、例えば、このコマンドはフォロー、またはオープン・コマンド、プリント・コマンド、削除コマンド、またはdest_side(デスティネーション側）ドキュメント内のセレクションに関係するどのコマンドであっても構わない。この処理はドキュメントのstart_sideで指示されたコマンドを作成する。次に、機能ブロック440 で、コマンドは他方のドキュメントのアンカのdest_side へ送られる。この送信オペレーションは機能ブロック450 に示すようにリンケージを照会し、必要ならばdest_side ドキュメントをオープンし、セレクションをdest_side のアンカに一致するようにセットし、機能ブロック460 に示すように、アンカの位置をビューまでスクロールする。次に、start_sideで適用されたコマンドが機能ブロック470 に示すようにdest_side で適用される。最後に、処理はターミナル480 で完了する。この例では、参照オブジェクトが一方のドキュメントに置かれ、参照されたアンカが他方のドキュメントに置かれているが、この分野に精通する当業者ならば理解されるように、参照オブジェクトと参照されたアンカは同じドキュメントに置いておくことも可能である。
【００４０】
第５図は好適実施例によるリモート・プリンタへの参照をもつディスプレイを示す図である。ドキュメント・アイコン500 は、現在、ドキュメントNew Request 510 に置かれている。リモート・プリンタMyPrinter 520 への参照はアイコン形式で使用可能にされる。リモート資源を操作するために使用されている参照オブエジェクトの例は第５図、第６図および第７図とこれらの図に付属する説明に示されている。
【００４１】
第６図は好適実施例においてユーザがオブジェクトのコピーを参照へドラッグしている様子を示している。第６図はドキュメント・アイコン600 とドキュメントのアウトライン610 を示している。アウトラインは、アイコン600 をドラッグしている間にオプション・キーを押すと作成される。アウトラインはドキュメントのコピーを表している。
【００４２】
第７図は好適実施例においてあるアクションがまだ完了していないときの参照オブジェクトの近くにあるオブジェクトを示している。ドキュメント・アウトライン710 はプリンタ参照720 でドロップされると、ドキュメント700 でプリント・コマンドが実行される。
【００４３】
REFERENCE プログラムのリスティング
C++ 言語
【００４４】
【表２】
2006073024.tif 000004
【００４５】
【表３】
2006073024.tif 000005
【００４６】
【表４】
2006073024.tif 000006
【００４７】
【表５】
2006073024.tif 000007
【００４８】
【表６】
2006073024.tif 000008
【００４９】
【表７】
2006073024.tif 000009
【００５０】
【表８】
2006073024.tif 000010
【００５１】
【表９】
2006073024.tif 000011
【００５２】
以上、特定のシステム環境における好適実施例を例に挙げて本発明を説明してきたが、この分野に精通した当業者ならば理解されるように、本発明は変更を加えることにより、請求の範囲に明確化されている精神と範囲内において他の異なるハードウェアおよびソフトウェア環境で実施することも可能である。
【図面の簡単な説明】
【００５３】
【図１】好適実施例におけるパーソナル・コンピュータ・システムを示すブロック図である。
【図２】好適実施例において選択したエリアと参照オブジェクトをもつドキュメント・ディスプレイを示す図である。
【図３】参照オブジェクトを作成する好適実施例に従って実行される処理を示すフローチャートである。
【図４】参照オブジェクトを使用する好適実施例による詳細ロジックを示すフローチャートである。
【図５】好適実施例においてリモート・プリンタを指す参照をもつディスプレイを示す図である。
【図６】好適実施例においてユーザがオブジェクトのコピーを参照へドラッグしている様子を示す図である。
【図７】好適実施例においてあるアクションがまだ完了していないとき参照オブジェクトの近くにあるオジェクトを示す図である。
【図１】
2006073024.tif 000012
【図２】
2006073024.tif 000013
【図３】
2006073024.tif 000014
【図４】
2006073024.tif 000015
【図５】
2006073024.tif 000016
【図６】
2006073024.tif 000017
【図７】
2006073024.tif 000018
【手続補正書】
【提出日】平成17年10月21日(2005.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ、メモリおよびディスプレイを有するコンピュータシステムにおいて第１のドキュメントから第２のドキュメントの中の予め定めた位置にナビゲーションするための方法であって、そこでは前記第１のドキュメントおよび第２のドキュメントの各々は、複数のモデルオブジェクトを保有する１つのコンテナオブジェクトを有し、各前記モデルオブジェクトはドキュメントの一部分を表し、前記ディスプレイに前記ドキュメントの一部分を表示する方法において、
（ａ）前記第２のドキュメントを前記メモリにロードし、および前記第２のドキュメントの始まりを除く前記第２のドキュメントの予め定めた位置に表示をスクロールし、該表示と対話して、前記第２のオブジェクトを前記予め定めた位置で表示する１つまたは複数のモデルオブジェクトを選択するステップと、
（ｂ）前記選択のモデルオブジェクトに対する参照を含む選択オブジェクトを前記メモリ中で作成するステップと、
（ｃ）前記第１のドキュメントを前記メモリ中にロードして前記参照オブジェクトを前記第１のドキュメントのコンテナオブジェクトに１つのモデルオブジェクトとして挿入するステップと、
（ｄ）前記第１のドキュメント中の参照オブジェクトを選択することにより前記参照オブジェクトを介してナビゲーションし、それにより、前記プロセッサは選択された参照オブジェクトの参照を使用して前記第２のドキュメントをメモリ中にロードし、および前記モデルオブジェクトが選択された、前記予め定められた位置に前記表示をスクロールするステップと
を備えたことを特徴とする方法。
【請求項２】
前記参照オブジェクトは前記表示上にアイコンを生成し、および前記（ｄ）のステップでは、
（ｄ１）前記メモリ中に前記第１のドキュメントをロードし、および前記アイコンを表示するために前記表示をスクロールし、
（ｄ２）前記アイコンを選択することにより前記参照オブジェクトを選択する
ことを特徴とする請求項１に記載の方法。
【請求項３】
（ｅ）前記第１のドキュメント中の参照オブジェクトを介して前記選択オブジェクト中で参照されている選択モデルオブジェクトに対しナビゲーションし、該選択モデルオブジェクトから属性を抽出し、および該属性を前記第１のドキュメントに送ることによりネットワークを経由して情報にアクセスするステップ
をさらに有することを特徴とする請求項１に記載の方法。
【請求項４】
（ｅ）前記第１のオブジェクト中の参照オブジェクトにコマンドを適用するステップと、
（ｆ）前記コマンドに応答して、前記第２のドキュメントを前記メモリ中にロードするステップと、
（ｇ）前記第２のドキュメントに前記コマンドを転送するステップと、
（ｈ）前記第２のドキュメント中の選択モデルオブジェクトに対して前記コマンドを適用するステップと
をさらに有することを特徴とする請求項１に記載の方法。
【請求項５】
前記第１のドキュメントおよび前記第２のオブジェクトはスプレッドシートであることを特徴とする請求項１に記載の方法。
【請求項６】
前記参照オブジェクト中で参照される１つまたは複数のモデルオブジェクトは前記第２のオブジェクト中のスプレッドシートのセルであることを特徴とする請求項５に記載の方法。
【請求項７】
（ｅ）前記第１のドキュメント中の参照オブジェクトに対して式を適用し、前記参照オブジェクトを介して前記第２のオブジェクトに前記式を送り、前記参照オブジェクトにより参照される１つまたは複数のセルに対して前記式を適用することにより、前記第２のドキュメント中のスプレッドシートのセルに対して前記式を適用するステップ
をさらに有することを特徴とする請求項６に記載の方法。
【請求項８】
前記コンピュータシステムは１つのフォルダおよびファイルを組織する別の１つのフォルダを有するファイルシステムを有し、
（ｅ）前記フォルダを参照する参照オブジェクトを作成するステップと、
（ｆ）前記フォルダを参照する参照オブジェクトを前記別のフォルダ内に置くステップと、
（ｇ）前記別のフォルダが開かれたときに前記フォルダを参照する参照オブジェクトを介して前記フォルダにナビゲーションするステップと
をさらに有することを特徴とする請求項１に記載の方法。
【請求項９】
前記コンピュータはプリンタを有し、
（ｅ）プリンタを参照し前記ディスプレイ上にアイコンを生成する参照オブジェクトを作成するステップ
をさらに有することを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１のドキュメントは前記ディスプレイ上にアイコンを表示し、
（ｆ）前記第１のドキュメントを表すアイコンを前記プリンタを参照する参照オブジェクトを表すアイコンにドラッグするステップと、
前記第１のドキュメントを表すアイコンを前記参照オブジェクトを表すアイコンにドロップして前記第１のドキュメントを印刷するステップと
をさらに有することを特徴とする請求項９に記載の方法。
【請求項１１】
プロセッサ、メモリおよびディスプレイを有するコンピュータシステムにおいて第１のドキュメントから第２のドキュメントの中の予め定めた位置にナビゲーションするための方法であって、そこでは前記第１のドキュメントおよび第２のドキュメントの各々は、複数のモデルオブジェクトを保有する１つのコンテナオブジェクトを有し、各前記モデルオブジェクトはドキュメントの一部分を表し、前記ディスプレイに前記ドキュメントの一部分を表示する方法において、
前記第２のドキュメントを前記メモリにロードし、および前記第２のドキュメントの始まりを除く前記第２のドキュメントの予め定めた位置に表示をスクロールし、該表示と対話して、前記第２のオブジェクトを前記予め定めた位置で表示する１つまたは複数のモデルオブジェクトを選択する手段と、
前記選択のモデルオブジェクトに対する参照を含む選択オブジェクトを前記メモリ中で作成する手段と、
前記第１のドキュメントを前記メモリ中にロードして前記参照オブジェクトを前記第１のドキュメントのコンテナオブジェクトに１つのモデルオブジェクトとして挿入する手段と、
前記第１のドキュメント中の参照オブジェクトを選択することにより前記参照オブジェクトを介してナビゲーションし、それにより、前記プロセッサは選択された参照オブジェクトの参照を使用して前記第２のドキュメントをメモリ中にロードし、および前記モデルオブジェクトが選択された、前記予め定められた位置に前記表示をスクロールする手段と
を備えたことを特徴とする装置。
【請求項１２】
前記参照オブジェクトは前記表示上にアイコンを生成し、および前記ナビゲーションを行なう手段は、
前記メモリ中に前記第１のドキュメントをロードし、および前記アイコンを表示するために前記表示をスクロールする手段と、
前記アイコンを選択することにより前記参照オブジェクトを選択する手段と
を有することを特徴とする請求項１１に記載の装置。
【請求項１３】
前記第１のドキュメント中の参照オブジェクトを介して前記選択オブジェクト中で参照されている選択モデルオブジェクトに対しナビゲーションし、該選択モデルオブジェクトから属性を抽出し、および該属性を前記第１のドキュメントに送ることによりネットワークを経由して情報にアクセスする手段
をさらに有することを特徴とする請求項１１に記載の装置。
【請求項１４】
前記第１のオブジェクト中の参照オブジェクトにコマンドを適用する手段と、
前記コマンドに応答して、前記第２のドキュメントを前記メモリ中にロードする手段と、
前記第２のドキュメントに前記コマンドを転送する手段と、
前記第２のドキュメント中の選択モデルオブジェクトに対して前記コマンドを適用する手段と
をさらに有することを特徴とする請求項１１に記載の装置。
【請求項１５】
前記第１のドキュメントおよび前記第２のオブジェクトはスプレッドシートであることを特徴とする請求項１１に記載の装置。
【請求項１６】
前記参照オブジェクト中で参照される１つまたは複数のモデルオブジェクトは前記第２のオブジェクト中のスプレッドシートのセルであることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記第１のドキュメント中の参照オブジェクトに対して式を適用し、前記参照オブジェクトを介して前記第２のオブジェクトに前記式を送り、前記参照オブジェクトにより参照される１つまたは複数のセルに対して前記式を適用することにより、前記第２のドキュメント中のスプレッドシートのセルに対して前記式を適用する手段
をさらに有することを特徴とする請求項１６に記載の装置。
【請求項１８】
前記コンピュータシステムは１つのフォルダおよびファイルを組織する別の１つのフォルダを有するファイルシステムを有し、
前記フォルダを参照する参照オブジェクトを作成する手段と、
前記フォルダを参照する参照オブジェクトを前記別のフォルダ内に置く手段と、
前記別のフォルダが開かれたときに動作可能で、前記フォルダを参照する参照オブジェクトを介して前記フォルダにナビゲーションする手段と
をさらに有することを特徴とする請求項１１に記載の装置。
【請求項１９】
前記コンピュータはプリンタを有し、
（ｅ）プリンタを参照し前記ディスプレイ上にアイコンを生成する参照オブジェクトを作成する手段
をさらに有することを特徴とする請求項１１に記載の装置。
【請求項２０】
前記第１のドキュメントは前記ディスプレイ上にアイコンを表示し、
前記第１のドキュメントを表すアイコンを前記プリンタを参照する参照オブジェクトを表すアイコンにドラッグする手段と、
前記第１のドキュメントを表すアイコンを前記参照オブジェクトを表すアイコンにドロップして前記第１のドキュメントを印刷する手段と
をさらに有することを特徴とする請求項１９に記載の装置。