(57)【要約】  マスタ地図、ウィンドウ、文書またはデータベース上で実行されるマスタ処理が、その対応する形で１つ以上のスレーブ地図、ウィンドウ、文書および／またはデータベース上でも自動的に実行されることになるようにするためのシステムおよび方法である。本発明の実施例は、オペレータの所望およびコンピュータ装置の現在の状態に応じ、初期状態において開いている、または閉じている、またはその両方であり得るマスタおよびスレーブに作用することができる。本発明の実施例は、閉じているマスタおよび／またはスレーブを開くことができる。マスタおよび１つ以上のスレーブの選択を受けることができるイベントハンドラは、一部の実施例においてはオペレーティングシステムの一部であり、そして他の実施例においてはオペレーティングシステムとは別個にある。全ての実施例は１つのマスタと１つ以上のスレーブに作用する。特定の実施例においては、マスタおよび／または１つ以上のスレーブおよび／または処理は、デフォルトにより選択される。【選択図】    図３Ａ
2008544406.tif 000002
【特許請求の範囲】
【請求項１】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するための方法であって：
１台以上のコンピュータにおいて、オペレータによるマスタを指定する選択を受けるステップであって、前記マスタは、マスタ地図、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであることを特徴とするステップと；
前記オペレータによる１つ以上の選択を受けるステップであって、前記１つ以上の選択の各々は１つのスレーブを指定するものであることを特徴とするステップと；
前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けるステップと；そして
前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行するステップと；を含む方法。
【請求項２】
前記オペレータは、前記マスタ上で前記マスタ処理を実行することにより、前記マスタを選択するものであることを特徴とする請求項１に記載の方法。
【請求項３】
前記オペレータは、前記マスタを手動で選択することにより、前記マスタを選択するものであることを特徴とする請求項１に記載の方法。
【請求項４】
前記オペレータは、対応処理−地図群／ウィンドウ群／文書群／データベース群コマンドを選択し、その後手動で前記マスタを選択することにより、前記マスタを選択するものであることを特徴とする請求項１に記載の方法。
【請求項５】
前記オペレータは、前記マスタをデフォルトマスタとして事前選択することにより、前記マスタを選択するものであることを特徴とする請求項１に記載の方法。
【請求項６】
前記オペレータは、前記１つ以上のスレーブを１つ以上のデフォルトスレーブとして事前選択することにより、前記１つ以上のスレーブを選択するものであることを特徴とする請求項１に記載の方法。
【請求項７】
前記オペレータは、前記１つ以上のスレーブを１つ以上のデフォルトスレーブとして事前選択し、そして前記１つ以上のスレーブを開くことにより前記１つ以上のスレーブを選択するものであることを特徴とする請求項１に記載の方法。
【請求項８】
前記オペレータは、前記マスタをデフォルトマスタとして事前選択し、そして前記マスタを開くことにより前記マスタを選択するものであることを特徴とする請求項１に記載の方法。
【請求項９】
前記オペレータは、前記マスタ処理をデフォルトマスタ処理として事前選択することにより前記マスタ処理を選択するものであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記対応する処理は、対応処理マトリクスを参照することにより決定されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記オペレータは、前記マスタ処理を１エレメントとしてバッチコマンドセットに含ませることにより前記マスタ処理を選択することを特徴とする請求項１に記載の方法。
【請求項１２】
前記オペレータは、前記マスタ処理をデフォルトマスタ処理として事前選択することにより前記マスタ処理を選択するものであることを特徴とする請求項１に記載の方法。
【請求項１３】
前記マスタおよび前記１つ以上のスレーブは、前記オペレータにより対象ファイルとして選択されるものであり、ここでファイルは地図、文書、ウィンドウおよびデータベースのうちの１つとして定義されるものであり、そして前記マスタは前記対象ファイル群の中から後に選択されるものであることを特徴とする請求項１に記載の方法。
【請求項１４】
前記マスタの前記選択は、前記方法の後の適用時の変化による影響を受けるものであることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記１つ以上の対象ファイルの前記１つ以上の選択は、前記方法の後の適用時の変化による影響を受けるものであることを特徴とする請求項１３に記載の方法。
【請求項１６】
前記１つ以上の対象ファイルの前記選択の前記変化とは、１つ以上の新たなスレーブの前記対象ファイル群への追加、１つ以上の新たな対象ファイルの前記対象ファイル群への追加、１つ以上の既存スレーブの削除、および１つ以上の既存対象ファイルの削除のうちの１つ以上を含むものであることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記１つ以上のスレーブの前記選択の前記変化とは、１つ以上の新たなスレーブの前記スレーブ群への追加、および１つ以上の既存スレーブの前記スレーブ群からの削除のうちの１つ以上を含むものであることを特徴とする請求項１５に記載の方法。
【請求項１８】
前記対応する処理は、それを前記対応処理マトリクスへの参照により決定することができない場合は実行されないことを特徴とする請求項１に記載の方法。
【請求項１９】
オペレータによるマスタを指定する選択を受けるステップと、前記オペレータにより指定されたマスタ処理を受けるステップとが、同時に実行されることを特徴とする請求項１に記載の方法。
【請求項２０】
前記マスタは、電子地図を表示するマスタウィンドウであることを特徴とする請求項１に記載の方法。
【請求項２１】
前記１つ以上のスレーブは、電子地図を表示するスレーブウィンドウであることを特徴とする請求項１に記載の方法。
【請求項２２】
前記スレーブのうち少なくとも１つは、前記マスタとは同じコンピュータ上にはなく、前記システムは２台以上のコンピュータを具備したものであることを特徴とする請求項１に記載の方法。
【請求項２３】
前記２台以上のコンピュータは、遠隔通信システムにより通信を行うものであることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記遠隔通信システムは、インターネット、イントラネットおよび他の相互接続ネットワークのうちのいずれかであることを特徴とする請求項２２に記載の方法。
【請求項２５】
前記遠隔通信システムは、ウィンドウシステムであることを特徴とする請求項２２に記載の方法。
【請求項２６】
前記遠隔通信システムは、オペレーティングシステムであることを特徴とする請求項２２に記載の方法。
【請求項２７】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するための方法であって：
１台以上のコンピュータにおいて、オペレータによるマスタを指定する選択を受けるステップであって、前記マスタは、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであることを特徴とするステップと；
前記オペレータによる１つ以上の選択を受けるステップであって、前記１つ以上の選択の各々は前記１つ以上のスレーブの１つを指定するものであることを特徴とするステップと；
前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けるステップと；
現在開かれていない前記１つ以上のスレーブの全てを開くステップと；そして
前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行するステップと；を含む方法。
【請求項２８】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するためのシステムであって：
マスタ地図、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであるマスタを指定する、オペレータによる選択を受けることと；各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである前記１つ以上のスレーブの１つを、各々が指定する前記オペレータによる１つ以上の選択を受けることと；前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けることと；そして前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行することが可能な１つ以上のプロセッサと；そして
その上に処理群を記憶した機械可読媒体であって、前記１つ以上のプロセッサにより処理された場合に：前記システムに作用して、前記マスタ処理を指定する前記オペレータによる前記選択を受けるステップと；各々が前記１つ以上のスレーブの１つを指定する前記オペレータによる前記１つ以上の選択を受けるステップと；前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けるステップと；そして前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行するステップと；を実行させるものであることを特徴とする前記機械可読媒体と；を具備したシステム。
【請求項２９】
前記マスタ処理を受け、前記処理を前記１つ以上のプロセッサへと送ることができるイベントハンドラをさらに含む請求項２８に記載のシステム。
【請求項３０】
前記イベントハンドラは、オペレーティングシステムの一部であることを特徴とする請求項２８に記載のシステム。
【請求項３１】
前記イベントハンドラは、オペレーティングシステムの一部ではないことを特徴とする請求項２８に記載のシステム。
【請求項３２】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するための方法であって：
１台以上のコンピュータにおいて、オペレータによるマスタを指定する選択を受けるステップであって、前記マスタは、マスタ地図、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであることを特徴とするステップと；
前記オペレータによる１つ以上の選択を受けるステップであって、前記１つ以上の選択の各々は前記１つ以上のスレーブの１つを指定するものであり、前記スレーブの各々は、スレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つであることを特徴とするステップと；
前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けるステップと；そして
前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行するステップと；を含む方法。
【請求項３３】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するための方法であって：
１台以上のコンピュータにおいて、オペレータによるマスタを指定する選択を受けるステップであって、前記マスタは、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであることを特徴とするステップと；
前記オペレータによる１つ以上の選択を受けるステップであって、前記１つ以上の選択の各々は前記１つ以上のスレーブの１つを指定するものであり、前記スレーブの各々は、スレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つであることを特徴とするステップと；
前記オペレータにより指定された、前記マスタ上で実行されるべきマスタ処理を受けるステップと；
前記１つ以上の対応する処理群を生成するステップと；そして
前記１つ以上のスレーブ各々の上で前記１つ以上の対応する処理群の１つを自動的に実行するステップと；を含む方法。
【請求項３４】
１台以上のコンピュータにおいて、各々がスレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つである１つ以上のスレーブ各々の上で１つ以上の対応する処理群の１つを自動的に実行するための方法であって：
１台以上のコンピュータにおいて、マスタを選択するステップであって、前記マスタは、マスタ地図、マスタウィンドウ、マスタ文書およびマスタデータベースのうちの１つであることを特徴とするステップと；
前記１つ以上のスレーブを選択するステップであって、前記スレーブの各々は、スレーブ地図、スレーブウィンドウ、スレーブ文書およびスレーブデータベースのうちの１つであることを特徴とするステップと；
マスタ処理を前記マスタ上で実行するステップと；そして
前記１つ以上のスレーブ各々の上で、前記１つ以上の対応する処理群の１つの自動的な実行をプロセッサに許容するステップと；を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
２００５年６月２２日出願のGil Fuchsによる“SYSTEM AND METHOD FOR AUTOMATICALLY EXECUTING CORRESPONDING OPERATIONS ON MULTIPLE MAPS, WINDOWS, DOCUMENTS AND/OR DATABASES”（複数の地図、ウィンドウ、文書および／またはデータベース上で対応する処理を自動的に実行するためのシステムおよび方法）と題された米国特許出願第１１／１５８，７８９号。
【０００２】
著作権情報
本特許文書の一部は、著作権保護の対象となる要素を含んでいる。著作権者はその特許文書または特許開示が米国特許商標局の特許ファイルまたは記録として複製されることについては同意するものであるが、それ以外の場合においては全ての著作権を保持する。
【０００３】
本発明は一群のデータに対応する処理を実行するためのシステムおよび方法に関し、特には複数の地図、ウィンドウ、文書および／またはデータベースに対応する処理を自動的に実行するためのシステムおよび方法に関する。
【背景技術】
【０００４】
今日のコンピュータ化社会においては、既存のコンピュータ、コンピュータネットワーク、サーバおよび他の情報処理システムに対する要求の高まりは、留まるところがない。情報リソースの利用を最大化するように設計された手法は、推奨されるだけではなく、必須事項であることも多い。
【０００５】
マスタデータ群に実行されるべきマスタ処理を受け、対応する処理を自動的に１つ以上のデータ群（１つ以上のスレーブ）に実行することが望ましい場合がある。一実施例においては、対応する処理とはマスタ処理と同一である。マスタ処理、対応する処理およびデータセットの形態は様々である。マスタ処理および対応する処理の各々は、コマンド、演算、データセットの再分類、注釈の付加、削除または編集、地図の場合は地理上の転位、その他の無数の形態の連鎖における論理ステップを含み得る。一部の実施例においては、処理はデータセットの恒久的構造には影響を与えないものであり、例えば設計プログラムの実行を補助するために構造体の地理的回転を実行するなど、処理上の利便性を提供するものである。他の例としては電子地図の場合、複数セットの地図データの地理上の転位（回転を含む場合もある）を同時に実行することが望ましい場合がある。
【０００６】
一般に、マスタおよびスレーブは不確定指定ではなく、むしろ本発明の特定の用法から他の用法へと変化する指定である。一部の実施例においては、マスタおよびスレーブは、特定のウィンドウ／文書／データベースの恒久的分類に由来する指定ではなく、オペレータにより実施される処理に由来する指定である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
コンピュータおよびコンピュータネットワークにおいて利用されるウィンドウ型のオペレーティングシステム（以下「ＯＳ」と称する）は、データ処理において最も一般的に使用される環境の１つである。これは、１つのソース位置またはソース文書から所望の素材を「カット」し、その素材を次のターゲット位置またはターゲット文書へと「ペースト」することによるカットアンドペーストを実施するものとして周知である。また、所望の素材を１つのソース位置またはソース文書から「ドラッグ」し、その素材を次のターゲット位置またはターゲット文書に「ドロップ」することによるドラッグアンドドロップを実施するものとしても周知である。通常、各ターゲット位置またはターゲット文書について独立した「カットアンドペースト」処理（または最小で１つの独立した「ペースト」処理）、または独立した「ドラッグアンドドロップ」処理が実行されなければならない。
【０００８】
電子地図の場合、地理上の所定エリアの異なる特徴を表示する２枚の地図に、所定の変更を同時に加えたい場合が多々ある。一例として、一方の地図には所定エリアの高速道路および道路網を、他方の地図には同じ領域のレストランを表示することができる。
【０００９】
２つの異なるワープロソフトまたはワープロと表計算ソフトのように、異なるプログラムの場合においては、対応する処理が自動的に両プログラムにおいて実行されることが望ましい場合がある。多数ある例の１つを挙げると、ワープロと表計算ソフトの両方において、フォントの変更、色の変更、または右寄せが自動的に実行されることが望ましい場合がある。
【００１０】
一例として、ワープロシステムにおける２つの類似した文書の比較では、オペレータが第１の文書を下へとスクロールすると、同時に第２の文書において対応する下方へのスクロールが生じるように第１の文書を第２の文書と同調させる機能があることが望ましい。第３の文書が作られる場合においては、先の２つの文書間の差異がハイライトされ、オペレータが第１の文書（または第２の文書）を下へとスクロールすると、同時に第３の文書において対応する下方へのスクロールが生じるように、第１の文書を第３の文書と（そして同様に第２の文書を第３の文書と）同調させる機能がさらにあることが望ましい。さらには、オペレータがいずれか１つの文書を下へとスクロールすると、同時に他の２つの文書にも対応する下方へのスクロールが生じるように３つの文書全てを同調させることが望ましい。
【課題を解決するための手段】
【００１１】
一般に本発明の実施例においては、本発明は、オペレータがマスタウィンドウ、マスタ文書、またはマスタデータベース上で実行したマスタ処理を受け、対応する処理を自動的に、各々がウィンドウ、文書またはデータベースであり得る１つ以上のスレーブ上で生じさせるものである。
【００１２】
文書の場合、本発明の実施例は、オペレータの所望およびコンピュータ機器の状態に応じて初期段階においては開かれた、閉じられた、またはその両方にあるマスタおよびスレーブ文書を処理することができるものである。必要であれば、本発明の実施例は閉じられている文書を開くことができるものである。いずれにしても、本発明は地図、ウィンドウ、文書およびデータベース上で同様に作用する。コンピュータアーキテクチャは、当業者により概ねプログラミング可能なイベントハンドラを含んでおり、これが必要とされる、または要求される処理を適正なプロトコルに基づいて自動的に実行させる機能を担っている。
【００１３】
マスタおよびスレーブの選択を受けることができるイベントハンドラは、一部の実施例においてはＯＳの一部であり、他の実施例においてはＯＳとは別個にある。マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部である場合、イベントハンドラは直接的にＯＳの他のセグメントに作用してマスタ上ではマスタ処理を、スレーブ上では対応する処理を実行させる。イベントハンドラは全スレーブを特定し、マスタ上で実行された処理に対応する処理をそれら上で実行するように命令するメッセージをそれらの各々に送る。
【００１４】
一部の実施例においては、スレーブ上にて実行されるべき対応する処理は、マスタ上にて実行される処理と同一である。これは、マスタおよびスレーブがいずれも同じアプリケーションにて処理される場合にそうである可能性が高く、また、マスタおよびスレーブが異なるアプリケーションにて処理される文書である場合にも同様である。他の実施例においては、これとは異なり、１つ以上のスレーブにおいて対応する処理が、マスタで実行される処理とは違う場合がある。一実施例においては、システムは対応する処理のマトリクスを含んでおり、これをイベントハンドラが参照して１つ以上のスレーブ文書の各々について、どの処理がマスタ文書にて実行される処理に対応するものなのかが決定される。マトリクスの異なる要素間に必ずしも何らかの関連性があるわけではない。Ｎ個のウィンドウ／文書／データベースに関わるアプリケーションの対応処理マトリクスは、Ｎ２の大きさを持っている。いずれのケースにおいても対応処理がマスタ処理と同じ場合、対応処理マトリクスは、恒等マトリクス（identity matrix）となる。
【００１５】
全ての実施例は、１つのマスタと１つ以上のスレーブとにより作用する。マスタおよびスレーブは、必ずしも恒久的、または半恒久的指定というわけではない。マスタおよびスレーブとは、本発明のある用途の間に限って存続することができる指定である。本発明の一用途においてはマスタである地図、ウィンドウ、文書またはデータベースは、本発明の次の用途においてはスレーブとなる可能性があるのである。同様に、本発明の一用途においてはスレーブである地図、ウィンドウ、文書またはデータベースは、本発明の次の用途においてはマスタとなる可能性がある。さらに、本発明の所定用途には１つのマスタしか存在し得ないが、スレーブはいくつあっても良い。いくつかの図においては単純化するために１つのスレーブしか描かれていないが、これはあくまでも便宜上のことであり、本発明を１つのスレーブに限定することを意図したものではない。所定の実施例につき１つ以上のスレーブが可能なのである。
【００１６】
例えば、様々な実施例はマスタを選択するための方法を含んでおり、マスタ上でマスタ処理を実行する方法、オペレータ入力によりマスタを指定する方法、本発明の機能を実行する「対応処理−地図群／ウィンドウ群／文書群／データベース群」コマンドを選択し、その後マスタを選択する方法、デフォルトのマスタとしてマスタを事前選択しておく方法、そしてデフォルトのマスタとしてマスタを事前選択してからマスタを開く方法などを含んでいる。マスタを選択する他の方法は、当業者であればプログラミング可能である。様々な実施例はスレーブを選択する方法を含んでおり、例えば：（１）オペレータ入力によりスレーブを指定する方法；（２）「対応処理−地図群／ウィンドウ群／文書群／データベース群」コマンドを選択した後にスレーブを選択する方法；（３）１つ以上のスレーブを１つ以上のデフォルトスレーブとして事前に選択しておく方法；そして（４）１つ以上のスレーブを１つ以上のデフォルトスレーブとして事前に選択し、その後マスタを開く方法などがある。１つ以上のスレーブの選択とは、マスタと１つ以上のスレーブの各々との間に繋がりを同時に作るものであると考えることができる。１つ以上のスレーブの選択を実施する他の方法は、当業者には明らかである。さらに、様々な実施例は、ＯＳの一部として、他のソフトウェアに実現された別個のルーチンとして、スタンドアロンルーチンとして、または他の形態として機能するイベントハンドラを採用している。イベントハンドラ機能をシステムへと組み込んだ他の実施例は、当業者であればプログラミング可能である。
【００１７】
特定の実施例においては、マスタおよび／または１つ以上のスレーブおよび／またはマスタ処理は、デフォルトにより選択される。特定の実施例においては、オペレータがマスタと１つ以上のスレーブの各々との間を対応させることにより、１つ以上のスレーブを選択する。
【００１８】
本発明の一実施例においては、マスタおよびスレーブは、ワープロで作られた同様文書（同じ文書の異なる「原稿」）である。本発明のこの実施例によれば、本発明の作用に先立ち、一群の文書が選択される。本例においては、その文書群に３つの文書が含まれているが、その数はいくつであってもよい。本発明によれば、全ての文書は互いに同調しており、オペレータが文書のいずれか１つを下にスクロールすると、他の文書にも同時に対応する下へのスクロールが発生する。さらには、オペレータが１つの文書を下にスクロールするたびに、その文書が新たなマスタとなるものである。
【００１９】
本発明の一実施例においては、マスタおよび１つ以上のスレーブは写真である。所定の写真に実行されたマスタ処理は、自動的に他の写真に実行することができる。
【００２０】
本発明の一部の実施例においては、マスタウィンドウおよび／またはスレーブウィンドウが電子地図を表示している。異なるウィンドウは同じ地図の異なる表示、または異なる地図の表示（または、自明に同じ地図の同じ表示）を見せることができる。本発明は、様々なウィンドウ中に描かれた地図が同じか異なるかにかかわらず、同様に機能する。
【発明を実施するための最良の形態】
【００２１】
一般に、本発明の実施例は、マスタウィンドウまたはマスタ地図、マスタ文書またはマスタデータベース中にて実行されるマスタ処理が、自動的にそれぞれに対応する形態で１つ以上のスレーブウィンドウ中、および／または１つ以上のスレーブマップ、スレーブ文書またはスレーブデータベース上で実行されるようにすることができるものである。
【００２２】
一般的に言うと、文書やデータベースは開かれていても閉じられていても良い一方で、ウィンドウは存在させておくためには、縮小化されていても良いものの開かれていなければならない。さらに一般的には、文書およびデータベースは複数ある恒久的記憶媒体のいずれかに記憶しておくことができるが、ウィンドウはオペレータがスクリーン上にこれらを最大化または縮小化した状態で開いている間だけ存在するものである。文書およびデータベースの場合、本発明の実施例は、オペレータの所望およびコンピュータ装置の現在の状態に応じ、初期状態において開いている、または閉じている、またはその両方であり得るマスタおよびスレーブに作用することができる。必要であれば、本発明は閉じられている文書またはデータベースを開くことができる。いずれにしても、本発明はマップ、ウィンドウ、文書およびデータベース上で同様に作用するものである。
【００２３】
コンピュータアーキテクチャは、適正なプロトコルに準じて必要な、または要求される処理を実行させる役割を持つイベントハンドラを含んでいる。イベントハンドラは当該分野においては周知であり、ウィンドウズ（登録商標）、マックＯＳおよびＵＮＩＸ（登録商標）といった一般的なパソコンＯＳの全てに含まれているものである。イベントハンドラはイベントを「リッスン」し、本発明の機能を開始する、または本発明の機能に他の様式で関わりを持つ入力が受信された場合、それを追跡する。一部の実施例によれば、マスタおよびスレーブの選択を受けることができるイベントハンドラは、ＯＳ中に含まれる。マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳ中に含まれていない場合、本発明の一実施例は、ＯＳにより実現されたイベントハンドラの実行する機能を模倣する。
【００２４】
代表的な用途
一般的に言うと、本発明の実施例は、オペレータの所望およびコンピュータ装置の現在の状況に応じて初期状態において開かれた、閉じられたまたはその両方であるマスタおよびスレーブ文書またはデータベースに作用することができる。必要に応じ、本発明の実施例は閉じられている文書を開くことができる。いずれにしても、本発明は地図、ウィンドウ、文書およびデータベース上で同様に作用するものである。
【００２５】
図１はディスプレイ１０１およびユーザーインターフェース１０２を含むシステムを描いたものであり、本発明の一実施例を利用したオペレータ１０４がどのようにマスタ処理１２０をマスタ地図１０６、またはマスタ文書、またはマスタデータベース、またはマスタウィンドウ上で実行することができるか、そしてこれにより対応する処理を、各スレーブ上で個別に実行することを要さずに、スレーブ地図１１０、またはスレーブ文書またはスレーブデータベースまたはスレーブウィンドウ上で自動的に実行することができるか、を示す図である。オペレータ１０４は、マスタ処理１２０をマスタ文書１０６へと送る。その後、本発明の一実施例は、対応する処理１３０（これは処理１２０でもあり得る）がスレーブ文書１１０へと送られるように働く。この図においては、事を単純化するためにスレーブ文書１１０は１つしか描かれていない。実際は、いくつのスレーブ文書１１０を選択してもよい。
【００２６】
図２Ａ〜図２Ｄは、オペレータ２０４が本発明の実施例を利用してマスタ地図／文書／ウィンドウ／データベース２０６に実行された処理２２０を、どのように各文書またはデータベースまたは各ウィンドウ上で個別に処理を実行する必要を生じずに自動的にスレーブ地図／文書／ウィンドウ／データベース２１０上で実行させることができるかを、より具体的に示す例を描いたものである。一例として、ここではマスタ及びスレーブも地図である。図は、マスタ処理と対応する処理が同一の処理である実施例を描いたものである。
【００２７】
図２Ａにおいては、オペレータ２０４がマスタ２０６上で実行されるべきマスタ処理２２０（例えば２３度の逆時計回りの回転）を送る。本例においては、マスタ２０６は５本の道路２０９を含んでいる。図２Ｂにおいては、マスタ処理２２０がマスタ２０６上に実行される。図２Ｃにおいて、本発明の実施例は、対応する処理２３０（この例においてはマスタ処理２２０と同一の回転）が自動的にスレーブ２１０へと送られるように作用する。本例においては、スレーブ２１０は４つの位置２１１を含んでいる。図２Ｄにおいては、対応する処理２３０がスレーブ２１０上に実行される。
【００２８】
様々な実施例は、例えばマスタを選択するための方法を含んでおり、例えばマスタ上にマスタ処理を実行する方法、マスタを選択する方法、「対応処理−地図群／ウィンドウ群／文書群／データベース群」コマンドを選択した後にマスタを選択する方法、デフォルトマスタとしてマスタを事前選択する方法、そしてデフォルトマスタとしてマスタを事前選択し、マスタを開く方法が含まれる。一実施例においては、特定のマスタ上に実行されるオペレータによるマスタ処理指定は、マスタ処理の指定とマスタの選択とを同時に実施するものである。一実施例においては、従ってその後にオペレータがクリックした地図、ウィンドウ、文書またはデータベースがスレーブとして指定される。その他のマスタ選択法は当業者には周知である。様々な実施例は、例えばスレーブの選択法として、オペレータ入力による方法、１つ以上のデフォルトスレーブとして１つ以上のスレーブを事前選択する方法、そして１つ以上のデフォルトスレーブとして１つ以上のスレーブを事前選択し、スレーブを開く方法がある。対応付けは、これらをメモリ中に記憶することにより、または処理上、相互に関連するマップ、文書、ウィンドウまたはデータベース間の対応付けを含むサイドファイルにより、実現することができる。スレーブの選択は、マスタと各スレーブとの間に同時に繋がりを作ることにより視覚化することができる。スレーブを選択するための他の方法は、当業者には周知である。
【００２９】
さらに、様々な実施例は、マスタおよびスレーブの選択を受けることが可能なイベントハンドラをＯＳの一部として、他のソフトウェアに実現した別個のルーチンとして、スタンドアロンルーチンとして、または他の形態として実現している。マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部である場合、これがＯＳに作用して要求された処理をマスタおよびスレーブ上に実行させる。イベントハンドラは全てのスレーブの位置を特定し、マスタ上で実行されたマスタ処理に対応する処理をこれら各々において実行するように指示するメッセージをこれらに中継する。
【００３０】
図３Ａ〜図３Ｕは、ディスプレイ３０１およびユーザーインターフェース３０２を含むシステム３００が一実施例においてどのように作用するかをより詳細に説明するものであり、ここではマスタおよびスレーブの選択を受けることができるイベントハンドラ３０８がＯＳの一部であり、オペレータ３０４はマスタ３０６と２つのスレーブ３１０および３１４を選択する。この例においては、マスタ３０６はストリート群３０９を含んでおり、第１のスレーブ３１０は第１の位置群３１１、そして第２のスレーブ３１４は第２の位置群３１７を含んでいる。一例としてマップが描かれているが、原理はウィンドウ、文書またはデータベースの実施例と同じである。本例においては、対応する処理はマスタ処理と同一である。一般に、対応する処理がマスタ処理と同一である必要はなく、そして同一でない場合は多々ある。オペレータ３０４は、マスタ３０６と第１のスレーブ３１０との間に第１の対応付け３１２を作ることにより第１のスレーブ３１０を選択し、そしてマスタ３０６と第２のスレーブ３１４との間に第２の対応付け３１６を作ることにより第２のスレーブ３１４を選択する。図３Ａ〜図３Ｕは、２つのスレーブマップ３１０および３１４を描いたものではあるが、スレーブは１つ以上いくつあってもよい。オペレータ３０４がマスタ３０６にもスレーブ３１０／３１４にも選択しなかった他の地図群はいくつでも同時に表示しておくことはできるが、本発明の作用には関連がないため、図示はしていない。図３Ａにおいて、システム３００はディスプレイ３０１およびユーザーインターフェース３０２を含んでいる。オペレータ３０４はマスタ３０６を選択し、そのマスタ３０６の位置を指定および有効化するマスタアドレス３２０をイベントハンドラ３０８へと送る。イベントハンドラ３０８はマスタアドレス３２０を受ける。一部の実施例ではこの指定を行うために入力装置（図示せず）が使われるが、他の実施例においては、入力装置は存在せずにバッチコマンド群（図示せず）またはデフォルト選択（図示せず）のような他の手段によりこの指定が実施される。図３Ｂにおいては、イベントハンドラ３０８はマスタアドレス３２０を使ってマスタ３０６の位置を特定して活性化する。図においては、マスタ３０６が活性化されたことをマスタ３０６の内側端部を囲む太枠により象徴的に示した。図３Ｃにおいては、イベントハンドラ３０８はオペレータ３０４による第１のスレーブ３１０の選択を待つ。図３Ｄにおいて、オペレータ３０４が第１のスレーブアドレス３３０を持つ第１のスレーブ３１０を選択する。本発明の作用により、第１のスレーブアドレス３３０はイベントハンドラ３０８へと送られ、第１のスレーブ３１０位置の指定と有効化が行われる。イベントハンドラ３０８は、第１のスレーブ３１０位置を指定および有効化する第１のスレーブアドレス３３０をオペレータ３０４から受ける。図３Ｅにおいて、イベントハンドラ３０８は第１のスレーブアドレス３３０を使って第１のスレーブ３１０の位置を特定して活性化する。図においては、第１のスレーブ３１０が活性化されたことを第１のスレーブ３１０の内側端部を囲む太枠により象徴的に示した。図３Ｆにおいては、イベントハンドラ３０８がマスタアドレス３２０および第１のスレーブアドレス３３０を使ってマスタ３０６と第１のスレーブ３１０の間で第１の対応付け３１２を作るように命令３３４を送る。
【００３１】
図３Ｇにおいては、イベントハンドラ３０８はオペレータ３０４による第２のスレーブ３１４の選択を待つ。図３Ｈにおいては、オペレータ３０４が第２のスレーブアドレス３４０を持つ第２のスレーブ３１４を選択する。本発明の作用により、第２のスレーブアドレス３４０はイベントハンドラ３０８へと送られ、第２のスレーブ３１４位置の指定と有効化が行われる。イベントハンドラ３０８は、第２のスレーブ３１４位置を指定および有効化する第２のスレーブアドレス３４０をオペレータ３０４から受ける。図３Ｉにおいて、イベントハンドラ３０８は第２のスレーブアドレス３４０を使って第２のスレーブ３１４の位置を特定して活性化する。図においては、第２のスレーブ３１４が活性化されたことを第２のスレーブ３１４の内側端部を囲む太枠により象徴的に示した。図３Ｊにおいては、イベントハンドラ３０８がマスタアドレス３２０および第２のスレーブアドレス３４０を使ってマスタ３０６と第２のスレーブ３１４の間で第２の対応付け３１６を作るように命令３４４を送る。
【００３２】
図３Ｋにおいては、イベントハンドラ３０８はオペレータ３０４によるマスタ３０６上でのマスタ処理３５０を待つ。図３Ｌにおいては、オペレータ３０４がマスタ処理３５０（一例としては、逆時計回り２３度の回転）を選択する。本発明の作用により、マスタ処理３５０がイベントハンドラ３０８へと送られる。イベントハンドラ３０８はマスタ処理３５０を受け、マスタアドレス３２０を使ってマスタ３０６の位置を特定し、マスタ処理３５０をマスタ３０６へと送る。マスタ３０６上でマスタ処理３５０が実行される。図３Ｍは、マスタ処理３５０がマスタ３０６上で実行されたばかりのところである。マスタ３０６の逆時計回りの回転により、ストリート群３０９の各々を含むマスタ３０６が回転されている。
【００３３】
図３Ｎにおいては、イベントハンドラ３０８はマスタアドレス３２０を使って第１の対応付け３１２を確認して見つけるアクション３５６を実施する。図３Ｏにおいて、この第１の対応付け３１２により、イベントハンドラ３０８は第１のスレーブ３１０に対応する第１のスレーブアドレス３３０を読み出すことができる。オプションとして対応処理マトリクスを参照した後、イベントハンドラ３０８は第１のスレーブ３１０に実行されるべき第１の対応する処理３５８を決定する。図３Ｐにおいては、イベントハンドラ３０８は第１のスレーブ３１０上で実行されるべき第１の対応する処理３５８を送る。図３Ｑは、第１の対応する処理３５８（一例として、同様の逆時計回りの回転）が第１のスレーブ３１０で実施されたばかりのところである。第１のスレーブ３１０の逆時計回りの回転により、第１の位置群３１１の各々を含む第１のスレーブ３１０は回転されている。
【００３４】
図３Ｒにおいては、イベントハンドラ３０８はマスタアドレス３２０を使って第２の対応付け３１６を確認して見つけるアクション３６２を実施する。図３Ｓにおいて、この第２の対応付け３１６により、イベントハンドラ３０８は第２のスレーブ３１４に対応する第２のスレーブアドレス３４０を読み出すことができる。オプションとして対応処理マトリクスを参照した後、イベントハンドラ３０８は第２のスレーブ３１４に実行されるべき第２の対応する処理３６４を決定する。図３Ｔにおいては、イベントハンドラ３０８は第２のスレーブ３１４上で実行されるべき第２の対応する処理３６４を送る。図３Ｕは、第２の対応する処理３６４（一例として、同様の逆時計回りの回転）が第２のスレーブ３１４で実施されたばかりのところである。第２のスレーブ３１４の逆時計回りの回転により、第２の位置群３１７の各々を含む第２のスレーブ３１４は回転されている。
【００３５】
図４Ａ〜図４Ｍは、ディスプレイ４０１およびユーザーインターフェース４０２を含むシステム４００が、一実施例においてどのように作用するかをより詳細に説明するものであり、ここではマスタおよびスレーブの選択を受けることができるイベントハンドラ４０８がＯＳの一部ではなく、オペレータ４０４はマスタ４０６とスレーブ４１０を選択する。この例においては、マスタ４０６はストリート群４０９を含んでおり、スレーブ４１０は位置群４１１を含んでいる。一例としてマップが描かれているが、原理はウィンドウ、文書またはデータベースの実施例と同じである。本例においては、対応する処理はマスタ処理と同一である。一般に、対応する処理がマスタ処理と同一である必要はなく、そして同一でない場合は多々ある。オペレータ４０４は、マスタ４０６とスレーブ４１０との間に対応付け４１２を作ることによりスレーブ４１０を選択する。例示目的に限り、マスタ４０６およびスレーブ４１０は同じアプリケーション４１３中にあるものと仮定する。図４Ａ〜図４Ｍは１つのスレーブ４１０のみを描いたものではあるが、スレーブは１つ以上いくつあってもよい。オペレータ４０４がマスタ４０６にもスレーブ４１０にも選択しなかった他の文書群はいくつでも同時に表示しておくことはできるが、本発明の作用には関連がないため、図示はしていない。
【００３６】
図４Ａにおいて、システム４００はディスプレイ４０１およびユーザーインターフェース４０２を含んでいる。オペレータ４０４はマスタ４０６を選択し、マスタ４０６の位置を指定および有効化するマスタアドレス４２０をイベントハンドラ４０８へと送る。イベントハンドラ４０８はマスタアドレス４２０を受ける。一部の実施例ではこの指定を行うために入力装置（図示せず）が使われるが、他の実施例においては、入力装置は存在せずにバッチコマンド群（図示せず）またはデフォルト選択（図示せず）のような他の手段によりこの指定が実施される。図４Ｂにおいては、イベントハンドラ４０８はマスタアドレス４２０をアプリケーション４１３へと送り、アプリケーション４１３はマスタアドレス４２０を使ってマスタ４０６の位置を特定して活性化する。図においては、マスタ４０６が活性化されたことをマスタ４０６の内側端部を囲む太枠により象徴的に示した。図４Ｃにおいては、イベントハンドラ４０８はオペレータ４０４によるスレーブ４１０の選択を待つ。図４Ｄにおいて、オペレータ４０４があるスレーブアドレス４３０を持つスレーブ４１０を選択する。本発明の作用により、このスレーブアドレス４３０はイベントハンドラ４０８へと送られる。イベントハンドラ４０８は、スレーブ４１０位置の指定および有効化をするスレーブアドレス４３０をオペレータ４０４から受ける。図４Ｅにおいて、イベントハンドラ４０８はスレーブアドレス４３０をアプリケーション４１３へと送る。図４Ｆにおいては、アプリケーション４１３がスレーブアドレス４３０を使ってスレーブ４１０の位置を特定して活性化する。図においては、スレーブ４１０が活性化されたことをスレーブ４１０の内側端部を囲む太枠により象徴的に示した。図４Ｇにおいては、アプリケーション４１３がマスタアドレス４２０およびスレーブアドレス４３０を使ってマスタ４０６とスレーブ４１０との間で対応付け４１２を作るように命令４３４を送る。
【００３７】
図４Ｈにおいては、イベントハンドラ４０８はオペレータ４０４によるマスタ４０６上でのマスタ処理を待つ。図４Ｉにおいては、オペレータ４０４がマスタ処理４４０（一例として、ズーム）を選択する。本発明の作用により、マスタ処理４４０はイベントハンドラ４０８へと送られる。イベントハンドラ４０８はマスタ処理４４０を受け、このマスタ処理４４０をアプリケーション４１３へと送る。アプリケーション４１３は、マスタ処理４４０をマスタ４０６上で実行する。図４Ｊは、マスタ４０６上でマスタ処理４４０が実行されたばかりのところである。マスタ４０６のズームにより、以前は見えていたストリート４０９の外側部分がマスタ４０６の外側端部の外に出て見えなくなっている。図４Ｋにおいては、イベントハンドラ４０８がアプリケーション４１３へと対応付け４１２を確認するように命令４４１を送る。図４Ｌにおいては、アプリケーション４１３がマスタアドレス４３０を使って対応付け４１２を確認して見つけるアクション４４２を実行する。図４Ｍにおいて、対応付け４１２によりアプリケーション４１３はスレーブ４１０に対応するスレーブアドレス４３０を読み出すことができる。オプションとして対応処理マトリクスを参照した後、アプリケーション４１３はスレーブ４１０に実行されるべき対応する処理４５８を決定する。図４Ｎにおいては、アプリケーション４１３は対応する処理４５８をスレーブ４１０上で実行する。図４Ｏは、対応する処理４５８（例えばズーム）がスレーブ４１０で実施されたばかりのところである。スレーブ４１０のズームにより、従前は見えていた位置４１１がスレーブ４１０の外側端部の外へと出て見えなくなっており、また、未だに見える位置４１１間の離間距離が大きくなっている。
【００３８】
図５Ａ〜図５Ｅは、マスタおよびスレーブの選択を受けることができるイベントハンドラ５０８がＯＳ（図示せず）の一部であり、そしてマスタ文書５０６およびスレーブ文書５１０、５１４、５１８が写真である場合の本発明の一実施例を説明する一連の図である。図５Ａにおいては、オペレータ５０４がマスタ処理５２０をイベントハンドラ５０８へと送信する。図５Ｂにおいては、イベントハンドラ５０８がマスタ処理５２０をマスタ写真５０６に実行する。図５Ｃにおいては、イベントハンドラは第１の対応する処理５５８を第１のスレーブ写真５１０に実行する。図５Ｄにおいては、イベントハンドラ５００は第２の対応する処理５６４を第２のスレーブ写真５１４に実行する。図５Ｅにおいては、イベントハンドラは第３の対応する処理５７２を第３のスレーブ写真５１８に実行する。
【００３９】
図６Ａ〜図６Ｃは、本発明の一実施例の一連の画面出力であり、一例として３つの類似したワープロ文書である第１の文書６０６、第２の文書６１０、およびこれら２つの文書の違いをハイライトした第３の文書６１４に関するものである。本発明の本実施例によれば、本発明の作用に先立ち、文書グループが選択される。この場合、そのグループは３つの文書を含んでいるが、本発明の作用を実現する上で文書は２つ以上いくつあってもよい。文書は共に同調しており、従ってオペレータがいずれか１つの文書を下にスクロールすると、他の文書の各々においても同時に対応する下へのスクロールが自動的に生じる。さらに、オペレータが文書の１つを下にスクロールするたびにその文書が新たなマスタ文書となる。この例においては、第１の文書６０６はアブラハムリンカーンによるゲティスバーグの演説であり、第２の文書６１０は同じ演説の「編集」バージョンであり、そして第３の文書６１４は第１の文書６０６と第２の文書６１０の違いを比較するものである。
【００４０】
図６Ａは、文書６０６、６１０、６１４の冒頭部の画面出力を示している。オペレータが第１の文書６０６の中間部まで下にスクロールした場合、本発明の一実施例により対応する第２の文書６１０および第３の文書６１４の中間部が見えるように下への自動的なスクロールが生じる。逆に、オペレータが第２の文書６１０（または第３の文書６１４）の中間部まで下にスクロールした場合、本発明の一実施例により対応する他の２つの文書の中間部が見えることになるように下への自動的なスクロールが生じる。いずれの場合においても、図６Ｂは本発明の本実施例の作用により得られた文書６０６、６１０、６１４の対応する中間部の画面出力を示している。
【００４１】
次にオペレータが第１の文書６０６の最終部まで下にスクロールした場合、本発明の一実施例により対応する第２の文書６１０および第３の文書６１４の最終部が見えるように下への自動的なスクロールが生じる。逆に、オペレータが第２の文書６１０（または第３の文書６１４）の最終部まで下にスクロールした場合、本発明の一実施例により対応する他の２つの文書の最終部が見えることになるように下への自動的なスクロールが生じる。いずれの場合においても、図６Ｃは本発明の本実施例の作用により得られた文書６０６、６１０、６１４の対応する最終部の画面出力を示している。
【００４２】
図７は、マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部である本発明の一実施例に基づくプロセスの代表的な流れの概要を説明するフローチャートである。ステップ７００においてイベントハンドラは選択されたマスタに対応するマスタアドレスを受ける。ステップ７０２においてイベントハンドラは１つ以上のスレーブに対応する１つ以上のスレーブアドレスを受ける。ステップ７０４においては、イベントハンドラはマスタおよびスレーブ間の対応付けを作成する。ステップ７０６においては、イベントハンドラはマスタ処理を受ける。ステップ７０８においては、イベントハンドラはマスタ上で実行されるべきマスタ処理を送り、そしてそのマスタ処理がマスタ上で実行される。ステップ７１０においては、イベントハンドラは対応付けを確認して見つける。ステップ７１２においては、イベントハンドラはその対応付けに基づいてスレーブ上で実行されるべき対応する処理を送る。ステップ７１４においては、対応する処理がスレーブ上で実行される。スレーブは１つ以上、いくつあってもよい。
【００４３】
図８は、マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部ではなく、オペレータがマスタおよびスレーブを選択することを特徴とした本発明の一実施例に基づくプロセスの代表的な流れの概要を説明するフローチャートである。ステップ８００においてイベントハンドラは選択されたマスタに対応するマスタアドレスを受ける。ステップ８０２においてイベントハンドラは１つ以上のスレーブに対応する１つ以上のスレーブアドレスを受ける。ステップ８０４においては、イベントハンドラはマスタおよびスレーブ間の対応付けを作成する。ステップ８０６においては、イベントハンドラはマスタ処理を受ける。ステップ８０８においては、イベントハンドラがマスタ処理をアプリケーションへと送り、アプリケーションはそのマスタ処理をマスタ上で実行する。ステップ８１０においては、アプリケーションが対応付けを確認して見つける。ステップ８１４においては、アプリケーションが対応する処理をスレーブ上で実行する。スレーブの数は１つ以上いくつあってもよい。アプリケーションは１つ以上かつマスタおよびスレーブの合計数以下であればいくつあってもよい。
【００４４】
図９は、本発明の一実施例に基づくプロセスの代表的な流れのより詳細を説明するフローチャートである。図９は、マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部である実施例を説明するものである。一例として、図中、スレーブは１つしか描かれていない。スレーブの数は１つ以上いくつあってもよい。一例として、ここではマスタおよびスレーブは変化しないが、一般的には図１１に説明するように、本発明よれば、本発明の作用の間にマスタおよびスレーブのいずれも、変更することが可能である。
【００４５】
ステップ９００においては、オペレータがマスタアドレスを持つマスタを選択する。ステップ９０２においては、イベントハンドラがそのマスタアドレスを受ける。ステップ９０４においては、イベントハンドラはそのマスタアドレスを使ってマスタの位置を特定し、活性化する。ステップ９０６においては、イベントハンドラはオペレータによるスレーブの選択を待つ。ステップ９０８においては、オペレータがスレーブアドレスを持つスレーブを選択する。ステップ９１０においては、イベントハンドラはそのスレーブアドレスを受ける。ステップ９１２においては、イベントハンドラはそのスレーブアドレスを使ってスレーブの位置を特定し、活性化する。ステップ９１４においては、イベントハンドラはマスタアドレスおよびスレーブアドレスを用いてマスタおよびスレーブ間に対応付けを作成する。ステップ９１６においては、さらなるスレーブの存在があるかどうかが問い合わせられる。その答えがイエスの場合、処理はループしてステップ９０６へと戻る。その答えがステップ９１６においてノーの場合、処理はステップ９１８へと続く。ステップ９１８においては、イベントハンドラはオペレータによるマスタ上でのマスタ処理を待つ。
【００４６】
ステップ９２０においては、イベントハンドラは選択されたマスタ処理を受ける。ステップ９２２においては、イベントハンドラはマスタ上で実行されるべきマスタ処理を送り、そしてマスタ処理がマスタ上で実行される。ステップ９２４においては、イベントハンドラは対応付けを確認して見つける。ステップ９２５において、イベントハンドラはこの対応付けによりスレーブアドレスを読み出すことが可能となる。
【００４７】
ステップ９２６においては、オプションとして対応処理マトリクスが参照される。ステップ９２８においては、イベントハンドラがスレーブに関する対応する処理を決定する。ステップ９３０において、イベントハンドラはスレーブ上で実行されるべき対応する処理を送る。ステップ９３２においては、対応する処理がスレーブ上で実行される。ステップ９３４において、処理すべき対応付けが他にあるかどうかが問い合わせられる。通常、未だ考慮されていないスレーブが残っている場合にはさらに処理すべき対応付けがあり、そして考慮されていないスレーブが残っていない場合には処理すべき対応付けはないことが一般的である。ステップ９３４においてその答えがイエスの場合、処理はループしてステップ９２６へと戻る。ステップ９３４においてその答えがノーの場合、ステップ９３６において処理は終了する。
【００４８】
図１０は、本発明の一実施例に基づくプロセスの代表的なフローをより詳細に説明するフローチャートである。図１０は、マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部ではない実施例を説明するものである。一例として、図中、スレーブは１つしか描かれていない。スレーブの数は１つ以上いくつあってもよい。アプリケーションは１つ以上、かつマスタおよびスレーブの合計数以下であればいくつあってもよい。一例としてここではマスタおよびスレーブは変化しないが、一般に図１１に説明するように、本発明よれば、本発明の作用の間にマスタおよびスレーブのいずれも変更することが可能である。
【００４９】
ステップ１０００においては、オペレータがマスタアドレスを持つマスタを選択する。ステップ１００２においては、イベントハンドラがそのマスタアドレスを受ける。ステップ１００３においては、イベントハンドラがアプリケーションへとそのマスタアドレスを送る。ステップ１００４においては、アプリケーションはそのマスタアドレスを使ってマスタの位置を特定し、活性化する。ステップ１００６においては、イベントハンドラはオペレータによるスレーブの選択を待つ。ステップ１００８においては、オペレータがスレーブアドレスを持つスレーブを選択する。ステップ１０１０においては、イベントハンドラはそのスレーブアドレスを受ける。ステップ１０１２においては、イベントハンドラはそのスレーブアドレスをアプリケーションへと送る。ステップ１０１３においては、アプリケーションはスレーブアドレスを使ってスレーブの位置を特定し、活性化する。ステップ１０１４においては、アプリケーションはマスタアドレスおよびスレーブアドレスを用いてマスタおよびスレーブ間に対応付けを作成する。ステップ１０１６においては、さらなるスレーブの存在があるかどうかが問い合わせられる。その答えがイエスの場合、処理はループしてステップ１００６へと戻る。その答えがステップ１０１６においてノーの場合、処理はステップ１０１８へと続く。ステップ１０１８においては、イベントハンドラはオペレータによるマスタ上でのマスタ処理を待つ。
【００５０】
ステップ１０２０においては、イベントハンドラは選択されたマスタ処理を受ける。ステップ１０２２においては、イベントハンドラはマスタ処理をアプリケーションへと送り、アプリケーションはマスタ上でマスタ処理を実行する。ステップ１０２４においては、アプリケーションは対応付けを調べて探し出す。ステップ１０２５において、アプリケーションはその対応付けによりスレーブアドレスを読み出すことが可能となる。
【００５１】
ステップ１０２６においては、オプションとして対応処理マトリクス参照される。ステップ１０２８においては、アプリケーションがスレーブに関する対応する処理を決定する。ステップ１０３２においては、アプリケーションが対応する処理をスレーブ上で実行する。ステップ１０３４において、処理すべき対応付けが他にあるかどうかが確認される。通常、未だ考慮されていないスレーブが残っている場合にさらに処理すべき対応付けがあり、そして考慮されていないスレーブが残っていない場合には処理すべき対応付けがないことが一般的である。ステップ１０３４において、その答えがイエスの場合、処理はループしてステップ１０２６へと戻る。ステップ１０３４における答えがノーの場合、ステップ１０３６において処理は終了する。
【００５２】
図１１は、本発明の一実施例に基づくプロセスの代表的なフローを概略的に説明するフローチャートであり、これによれば、本発明は、本発明の作用の間、マスタおよびスレーブの両方を変更することを許容する。
【００５３】
図１１は、マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部ではない実施例を説明するものである。ステップ１１００において、イベントハンドラは対象ファイルの選択を受けるもので、ここで言う対象ファイルとは、地図、文書、ウィンドウおよびデータベースのうちの１つであると定義される。ステップ１１０１において、イベントハンドラはマスタに対応するマスタアドレスの指定を受ける（または、これに代えてマスタはデフォルトにより決められる）。ステップ１１０２においては、イベントハンドラは１つ以上のスレーブに対応する１つ以上のスレーブアドレスを受ける。ステップ１１０４においては、イベントハンドラはマスタおよびスレーブ間の対応付けを作成する。ステップ１１０６においては、イベントハンドラはマスタ処理を受ける。ステップ１１０８においては、イベントハンドラはマスタ上で実行されるべきマスタ処理を送り、そしてそのマスタ処理がマスタ上で実行される。ステップ１１１０においては、イベントハンドラは対応付けを確認して見つける。ステップ１１１２においては、イベントハンドラは対応付けに基づいてスレーブ上で実行されるべき対応する処理を送る。ステップ１１１４においては、対応する処理がスレーブ上で実行される。ステップ１１１６においては、オプションとしてイベントハンドラが対象ファイル選択の更新を受ける。この更新とは、１つ以上の新たな対象ファイルの１つ以上の追加、１つ以上の新たなスレーブの追加、１つ以上の既存対象ファイルの削除、および１つ以上の既存スレーブの削除を含む場合がある。スレーブの数は１つ以上いくつあってもよい。スレーブの数は、本発明の作用の連続的実施において変わるものであってもよい。その後プロセスはループしてステップ１１０１へと戻り、本発明の次のイタレーションが開始される。
【００５４】
マスタおよびスレーブの選択を受けることができるイベントハンドラは、本発明の一部の実施例においてはＯＳの一部であり、他の実施例においてはＯＳとは別個のものである。マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部である場合、イベントハンドラはＯＳの他セグメントに対して直接的に作用することにより、要求されたマスタ処理をマスタ上で、そして対応する処理をスレーブ上で実行させるものである。イベントハンドラは全スレーブの位置を特定し、そして各々にメッセージを送ってマスタ上で実行されたマスタ処理に対応する適切な対応処理がそれぞれで実行されるように指示する。
【００５５】
一部の実施例においては、スレーブ上で実行されるべき対応する処理がマスタ上で実行されるマスタ処理と同一のものである。これはマスタおよびスレーブが同じアプリケーションにて作動している場合にそうである可能性が高く、また、マスタおよびスレーブが異なるアプリケーションにて作動する文書である場合も同様である。他の実施例においては、これとは異なり、１つ以上のスレーブについて対応する処理はマスタ処理とは異なっている。一実施例においては、システムは対応処理マトリクスを含んでおり、これをオプションによりイベントハンドラが参照することで、どの処理がマスタ処理に対応しているのかが決定される。
【００５６】
全ての実施例は、１つのマスタおよび１つ以上のスレーブにより作用する。留意すべきは、マスタおよびスレーブが、本発明の特定用途の間だけ有効な指定であるという点である。マスタおよびスレーブ指定は、恒久的である必要も、さらには半恒久的である必要もない。本発明の一用途においてマスタである地図、ウィンドウ、文書またはデータベースは、本発明の次の用途においてはスレーブとなる可能性があるのである。同様に、本発明の一用途においてはスレーブである地図、ウィンドウ、文書またはデータベースは、本発明の次の用途においてはマスタとなる可能性がある。さらに、本発明の所定用途には１つのマスタしか存在し得ないが、スレーブはいくつあっても良い。いくつかの図においては単純化するために１つのスレーブしか描かれていないが、これはあくまでも便宜上のことであり、本発明を１つのスレーブに限定することを意図したものではない。所定の実施例につき１つ以上のスレーブが可能なのである。
【００５７】
さらに、本発明には特定の入力装置を関連付けていない。当業者には明らかなように、オペレータがマスタ、スレーブおよびマスタ処理を選択するために本発明の実施例に関連して利用することができる入力装置の種類には、実質的な制約がない。利用可能な入力装置の例としては、マウス、キーボード、タッチパッド、データグローブ、音声インターフェース、およびＰＤＡで使用するスタイラスペンが含まれる。さらには、マスタおよびスレーブ、そしてマスタ処理が入力装置を用いずに選択される実施例によれば、本発明の実施例は完全に入力装置が無くとも作用可能なのである。一実施例においては、マスタおよびスレーブはデフォルトとして事前に選択されており、ＯＳにより開かれるようになっている。この実施例においては、オペレータがマスタ処理を入力するが、しかしこれもデフォルトで設定しておくことができる。
【００５８】
当業者には明らかなように、所定の入力装置について、実質的に制約のない様々な入力様式がある。マウスは、左クリック、中央クリック、右クリックまたは多数ある他の可能性のいずれかにより、マスタおよびスレーブの選択を実施するように設計することができる。当業者には明らかなように、特定タイプの入力装置および入力様式が本発明の機能に実質的に影響することはない。
【００５９】
様々な実施例は、例えばマスタを選択する方法を含み、これにはマスタ上でマスタ処理を実行する方法、マスタを指定するオペレータ入力による方法、「対応処理−地図群／ウィンドウ群／文書群／データベース群」コマンドを選択した後にマスタを選択する方法、デフォルトマスタとしてマスタを事前選択しておく方法、およびデフォルトマスタとしてマスタを事前選択しておき、マスタを開く方法が含まれる。マスタを選択するための他の方法は当業者には周知である。様々な実施例は例えばスレーブを選択する方法を含み、これにはスレーブを指定するオペレータ入力による方法、「対応処理−地図群／ウィンドウ群／文書群／データベース群」コマンドを選択した後にスレーブを選択する方法、１つ以上のデフォルトスレーブとして１つ以上のスレーブを事前選択する方法、および１つ以上のデフォルトスレーブとして１つ以上のスレーブを事前選択し、マスタを開く方法が含まれる。スレーブの選択は、マスタおよび各スレーブ間に対応付けを同時に作ることとして概念化することができる。スレーブを選択するための他の方法は当業者であれば周知である。さらに様々な実施例は、イベントハンドラ機能を、ＯＳの一部として、他のソフトウェアに実現された別個のルーチンとして、スタンドアロンルーチンとして、または他の様式として実現している。イベントハンドラ機能をシステム中に実現する他の実施例は、当業者であれば周知である。
【００６０】
一部の実施例においては、マスタはデフォルトで選択される。特定の実施例においては、オペレータがマスタおよび１つ以上のスレーブの各々の間に特定の対応付けを作ることによりスレーブを選択する。例えば、これを実現する一手法は、「このマスタウィンドウ（または文書またはデータベース）を他と対応させる」ことをオペレータが選択することができるメニューアイテムを含ませることである。このメニューアイテムを選択することにより、オペレータが今、クリックする他の地図、ウィンドウ、文書またはデータベースは、注目を要求したものではなく、マスタとの対応付けに指定されたものであることをイベントハンドラに知らせることになるのである。対応付けは、作用上、関連する地図、ウィンドウ、文書またはデータベース間の対応付けを含むサイドファイルにより実現することができる。
【００６１】
他の実施例群においては、マスタおよび１つ以上のスレーブは、オペレータにより対象ファイルとして選択されるものであり、ここでのファイルとは、地図、文書、ウィンドウおよびデータベースの１つとして定義される。これらの実施例群によれば、マスタは後にこれらの対象ファイルの中から選択される。
【００６２】
本発明の他の実施例群によれば、マスタの選択は、本発明により開示される方法の、後の応用時に変更の対象となる。本発明の他の実施例群によれば、１つ以上のスレーブの選択は、本発明により開示される方法の、後の応用時に変更の対象となる。これは、対象ファイルまたはスレーブに１つ以上のスレーブを付加すること、および対象ファイルまたはスレーブから１つ以上の既存スレーブを削除することのうち、１つ以上により実現可能である。
【００６３】
一実施例においては、マスタおよびスレーブ上で実行される処理とは、ドラッグアンドドロップである。他の実施例においては、マスタおよびスレーブ上で実行される処理とは、カットアンドペーストである。他の実施例においては、マスタおよびスレーブ上で実行される処理とは、ペーストである。
【００６４】
地図、ウィンドウ、文書またはデータベースの少なくとも１つが開かれている一実施例においては、マスタは、入力装置または他の手段を用いることによるオペレータの選択で指定される。本実施例によれば、単に特定のマスタ上で実行されるべきマスタ処理を指定するだけでオペレータはマスタ処理の指定とマスタの選択とを同時に行うことになる。一実施例においては、その後にオペレータがクリックする地図、ウィンドウ、文書またはデータベースは、いずれもスレーブとして指定される。
【００６５】
他の実施例においては、オペレータは「対応処理−地図群／ウィンドウ群／文書群／データベース群」のモードを能動的に選択することができ、このモードが選択された場合に限り、入力装置による選択を通じてマスタおよびマスタ処理を指定する選択支が可能となっている。
【００６６】
他の実施例群によれば、オペレータは特定のマスタ上で実行されるべき特定のマスタ処理を入力することにより、能動的にマスタを選択する。一部の実施例においては、その後に全スレーブがデフォルトにより設定される。一部の実施例においては、このデフォルトは、他のマスタ処理を起動すること以外には、無効化することができない。他の実施例群においては、デフォルトはオペレータ入力により無効化することが可能である。
【００６７】
他の実施例においては、オペレータは特定のマスタ上で実行されるべき特定のマスタ処理を入力することにより、能動的にマスタを選択する。スレーブは手動で選択される。スレーブが１つも選択されない場合、本発明は機能することはない。
【００６８】
他の実施例においては、事前選択されたマスタがデフォルト選択として機能するもので、これは別のマスタが所望された場合は無効化されなければならない。
【００６９】
一実施例においては、事前選択された１つ以上のデフォルトスレーブのうち、開かれているもののみが使われる。さらなるスレーブの選択を望むかどうか、および事前指定されたスレーブのいずれかの排除を望むかどうかがオペレータに問い合わせられる。
【００７０】
他の実施例においては、スレーブが１つも開かれていない場合、単純に本発明が作用することはない。本実施例においては、対応する処理は開かれた文書にのみ発生する。
【００７１】
一実施例においては、開かれている場合に、デフォルトのマスタがマスタとしてのみ使用される。本実施例においては、デフォルトのマスタが開かれていない場合、オペレータは開かれたマスタの選択を促される。
【００７２】
他の実施例においては、マスタ処理はデフォルトにより選択される。一実施例においては、この選択はオペレータ入力により無効化することができる。他の実施例においては、マスタ処理が選択されていない場合、またはその処理がマスタおよびスレーブ上で何の意味も持たないものである場合、本発明が機能することはない。
【００７３】
本発明の一実施例においては、使用文書がマイクロソフトワードまたはコレルワードパーフェクトのようなワープロソフトにより作成される。本発明のこの実施例によれば、文書グループが本発明の作用に先立ち選択される。これらの文書は共に同調しており、従って３つの文書のいずれか１つをオペレータが下へとスクロールした場合、同時に他の文書のそれぞれにおいて対応する下へのスクロールが発生する。さらに、オペレータが文書の１つを下にスクロールするたびに、その文書が新たなマスタ文書となる。一例として、選択された文書グループは、類似はしているが同一ではない同じ文書の２つのバージョンと、文書１および２間の違いを比較する第３の文書を含んでいる。
【００７４】
全ての文書がスクリーン上の別個のウィンドウ中にある時、３つの文書のいずれか１つを下へとスクロールすると、本発明により、他の２つの文書に対応する下へのスクロールが実質的に同時に生じることになる。３文書は全て共に同調しており、これによりオペレータが３つの文書のいずれか１つを下へとスクロールすることで、他の２つの文書に対応する下へのスクロールが実質的に同時に生じることになるのである。本実施例の一例は、図６に描いたものであり、文書６０６はアブラハムリンカーンによるゲティスバーグの演説であり、文書６１０は同じ演説の「編集」バージョンであり、そして文書６１４は文書６０６と６１０の違いを比較したものである。
【００７５】
本発明の一実施例においては、マスタおよび１つ以上のスレーブは写真である。マスタ写真上で実行されるマスタ処理は、スレーブ写真上ではその対応する形態で実行される。
【００７６】
本発明の他の実施例においては、マスタウィンドウおよび１つ以上のスレーブウィンドウの全てが、同じ写真の異なる表示を示している。マスタウィンドウ上で実行されるマスタ処理は、スレーブウィンドウ上ではその対応する形態で実行される。
【００７７】
本発明の一部の実施例においては、マスタウィンドウおよび／またはスレーブウィンドウは電子地図を表示している。異なるウィンドウは同じ地図の異なる表示、または異なる地図の異なる表示（または、自明に同じ地図の同じ表示）を示していてもよい。本発明は様々なウィンドウ中に描かれたマップが同じであれ違うものであれ、同一に機能する。
【００７８】
図７および図８（そしてより詳細には図９および図１０）に示したように、通常、プロセスは本発明の実施例を実行するコンピュータシステムまたは他のプロセッサにより開始され、オペレータによるマスタの選択を可能とする表示、または手段が提供される。しかしながら、マスタおよび／または１つ以上のスレーブおよび／またはマスタ処理をデフォルトにより選択することが可能な実施例は確実に存在する。代表的な実施例においては、コンピュータディスプレイと、その上で実行される例えばＵＮＩＸ（登録商標）ウィンドウズ（登録商標）環境、マックＯＳまたはマイクロソフトウィンドウズ（登録商標）環境、または他のグラフィカルアプリケーション環境といった何等かのグラフィカルインターフェースを含むコンピュータシステムをオペレータが使用する。当業者には明らかなように、本発明の実施例は他の形態のグラフィカルオペレータインターフェース（ＧＵＩ）でも同様に利用可能である。本発明の他の実施例を、例えば車載ナビゲーションシステムまたは、海上や航空のナビゲーションおよび軍事アプリケーションにおける特殊なナビゲーションシステムといった特定のグラフィック装置およびシステム向けにデザインすることが可能である。
【００７９】
システム実装
図１２は、本発明の一実施例で利用することができるシステム１２００の一例を示すブロック図であり、これはスレーブ１２１０上で実行されるべき対応する処理の決定において参照することができるオプションの対応処理マトリクス１２１４を含んでいる。マトリクス１２１４中の異なる要素間に何等かの関係性を必ずしも要するわけではない。具体的には、マスタおよびスレーブが地図／ウィンドウ／文書／データベースのうちの同じタイプのものであったとしても、スレーブとマスタを逆にした場合にマトリクス１２１４では全く異なる値となり、よって全く異なる対応処理を得る可能性がある。Ｎ個のマップ／ウィンドウ／文書／データベースを含むアプリケーション用の対応処理マトリクス１２１４は、そのマップ／ウィンドウ／文書／データベースに可能な全ての置換を考慮したものでなければならない。Ｎ個のマップ／ウィンドウ／文書／データベースを含むアプリケーション用のマトリクス１２１４の大きさはＮ２となる。対応する処理がいずれの場合においてもマスタ処理と同一であるケースにおいては、対応処理マトリクス１２１４は、恒等マトリクス（identity matrix）である。
【００８０】
この図は各要素を論理的に別個に描いたものであるが、そのような描き方は、説明目的に限ってそうしているものである。当業者には明らかなように、この図に描かれている要素を組み合わせることも、別個のソフトウェア、ファームウェアおよび／またはハードウェア要素へと分割することもできる。さらにこのような要素は、これらがどのように組み合わせられているか、または分割されているかとは無関係に、同じコンピュータデバイスにおいて実行すること、または１つ以上のネットワークまたは他の好適な通信手段により接続された異なるコンピュータデバイス間に分散することが可能であることも当業者に明らかである。
【００８１】
ある実施例群においては、少なくとも１つのスレーブが、マスタと同じコンピュータ上にない。他の実施例群においては、システムが少なくとも２台のコンピュータを含んでいる。ある実施例群においては、少なくとも２台のコンピュータが遠隔通信システムという手段で通信を行っている。ある実施例群においては、遠隔通信システムが、インターネット、イントラネット、および他の相互接続ネットワークのうちの１つである。他の実施例群においては、遠隔通信システムはウィンドウシステムである。他の実施例群においては、遠隔通信システムがＯＳである。
【００８２】
システム１２００は、本発明の様々な実施例に基づき複数のウィンドウ、または複数の文書、または複数のデータベースにおける対応する処理の実行を可能とするものである。一例として１つのスレーブ１２１０のみが図示されている。スレーブ１２１０の数は１つ以上いくつあってもよい。
【００８３】
図１２に示したように、システム１２００は一般に、１つ以上のイベントハンドラ１２１６、１つ以上のメモリ１２１８、１つ以上のプロセッサ１２１９、および１つ以上の記憶装置または何等かの保存場所１２２０を具備している可能性のあるコンピュータデバイス１２０５を含んでいる。システムはさらに、マスタ１２０８、スレーブ１２１０および他の情報を表示することを可能とする、グラフィカルオペレータインターフェース、即ちＧＵＩ１２２３をその上で起動させるディスプレイ１２２２を含んでいてもよい。
【００８４】
図示したシステム１２００は、オペレータ１２０４にマスタ１２０６およびスレーブ１２１０を表示すると共に、オプションとしてマスタ処理を選択するための手段を提供するものであってもよい。マスタ１２０６および／またはスレーブ１２１０は外部記憶装置１２０３（一部の例においては記憶装置１２２０と同じ記憶装置とすることができる）から取得することができる。図１２はさらに、システムのロジック外にあるオプションの対応処理マトリクス１２１４も示しており、これは対応する処理の決定に利用することができる。
【００８５】
一部の実施例においては、システムはさらに、たとえばマスタ、スレーブ、マスタ処理の指定および／または本発明の所望の実施例など、本発明の実施例を作用させる上で必要となる命令をオペレータから受けることができる１つ以上の装置を含んでいる。そのような装置としては、マウス、キーボード、タッチパッド、データグローブ、音声インターフェースおよびＰＤＡ上でのスタイラスペンなど、当業者に馴染みの深い入力装置群が含まれる。本発明の実施例はさらに、マスタ、スレーブおよび／またはマスタ処理をデフォルト指定しておくことを含むある範囲の可能手段により、入力装置が無くとも機能することができる。
【００８６】
ソフトウェア業界の当業者には明らかなように、有能なプログラマであれば本開示の教示内容に基づいて適正なソフトウェア符号化を容易に行うことが可能である。本発明の実施例は、当業者には容易に明らかなように、特殊用途向け集積回路を作ることにより、または従来の部品回路を適正なネットワークに相互接続することにより、実現することも可能である。
【００８７】
本発明の実施例は、本発明のプロセスのいずれかを実行するようにコンピュータをプログラミングするための命令を記憶した記憶媒体（記憶媒体群）であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブおよび磁気光学ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ素子、磁気式または光学式カード、ナノシステム（含：分子記憶ＩＣ）、または命令および／またはデータを記憶するために好適ないずれかのタイプの媒体またはデバイスを含むが、これらに限られない。
【００８８】
本発明の実施例は、汎用／特化型コンピュータまたはマイクロプロセッサの両ハードウェアを制御するための、そして本発明の結果を利用する人であるオペレータ、または他の機構によるコンピュータまたはマイクロプロセッサとの相互作用を実現するための、１つ以上のコンピュータ読み込み可能媒体に記憶されたソフトウェアを含む。このようなソフトウェアはデバイスドライバ、ＯＳおよびユーザーアプリケーションを含むが、これらに限られない。最終的には、このようなコンピュータ読み込み可能媒体は、さらに上述した本発明を実行するためのソフトウェアを含む。
【００８９】
汎用／特化型コンピュータまたはマイクロプロセッサのプログラム（ソフトウェア）に含まれているのは本発明の教示内容を実現するためのソフトウェアモジュール群であり、これらは：オペレータによるマスタ、１つ以上のスレーブおよび／またはマスタ処理の選択を、デフォルトまたは直接的選択のいずれかにより可能とすること；マスタおよびスレーブ間の応答を記憶すること；マスタ処理をマスタ上で実行するための設定をすること；および本発明のプロセスに基づいて１つ以上のスレーブ上で対応する処理を自動的に実行するための設定をすること；を含むが、これらに限られない。ある実施例群においては、ソフトウェアモジュールはＯＳライブラリ中に含まれている。他の実施例群においては、ソフトウェアモジュールはＯＳとは別にある。他の実施例群においては、ソフトウェアモジュールはＯＳライブラリ中に含まれ、他のソフトウェアモジュールがＯＳとは別個にある。
【００９０】
本発明の実施例は、当業者には明らかなように、本開示の教示内容に基づいてプログラミングされた従来の汎用または特化型コンピュータまたはマイクロプロセッサを利用することにより好都合に実現することができる。
【００９１】
本発明の上述した説明は、図示および説明目的で提供したものである。本発明を開示した特定の形態により網羅する、または限定する意図はない。当業者には、多くの改変および変更が明らかである。特に、複数文書上または複数ウィンドウ中で対応する処理を実行するための上記システムおよび方法は、説明したタイプ以外のソフトウェアアプリケーション上で実現可能であることは言うまでもない。実施例は、当業者の本発明に対する理解を助けて企図する特定の用法に好適な様々な実施例および様々な変更形態を得ることができるように、本発明の原理とその実用的応用例を最もよく説明するために選択および記述したものである。本発明の範囲は、本願請求項およびこれらに相当するものによって定義することを意図するものである。
【図面の簡単な説明】
【００９２】
【図１】本発明の一実施例を利用するオペレータが、どのようにマスタウィンドウ、またはマスタ文書、またはマスタデータベース上でマスタ処理を実行し、その結果として、各スレーブ上でそれぞれの処理を別個に実行する必要を生じずに自動的に対応する処理をスレーブ上に発生させることができるかを説明する図である。
【図２Ａ】本発明の一実施例を利用するオペレータが、１つの地図／文書／ウィンドウ／データベース上で実行した処理をどのように第２の地図／文書／ウィンドウ／データベース上で自動的に実行させることができるかのより具体的な例を説明する一連の図である。
【図２Ｂ】本発明の一実施例を利用するオペレータが、１つの地図／文書／ウィンドウ／データベース上で実行した処理をどのように第２の地図／文書／ウィンドウ／データベース上で自動的に実行させることができるかのより具体的な例を説明する一連の図である。
【図２Ｃ】本発明の一実施例を利用するオペレータが、１つの地図／文書／ウィンドウ／データベース上で実行した処理をどのように第２の地図／文書／ウィンドウ／データベース上で自動的に実行させることができるかのより具体的な例を説明する一連の図である。
【図２Ｄ】本発明の一実施例を利用するオペレータが、１つの地図／文書／ウィンドウ／データベース上で実行した処理をどのように第２の地図／文書／ウィンドウ／データベース上で自動的に実行させることができるかのより具体的な例を説明する一連の図である。
【図３Ａ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｂ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｃ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｄ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｅ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｆ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｇ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｈ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｉ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｊ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｋ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｌ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｍ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｎ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｏ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｐ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｑ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｒ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｓ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｔ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図３Ｕ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてオペレータが２つのスレーブウィンドウを、各々にマスタウィンドウとスレーブウィンドウとの間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ａ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｂ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｃ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｄ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｅ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｆ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｇ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｈ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｉ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｊ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｋ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｌ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｍ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｎ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図４Ｏ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部ではないこと、そしてオペレータが１つのスレーブ文書を、マスタ文書とスレーブ文書との間の対応付けを作ることにより選択することを特徴とする一実施例において、システムがどのように作用するのかの詳細を説明する一連の図である。
【図５Ａ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてマスタ文書および１つ以上のスレーブ文書が写真であることを特徴とする本発明の一実施例を説明する一連の図である。
【図５Ｂ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてマスタ文書および１つ以上のスレーブ文書が写真であることを特徴とする本発明の一実施例を説明する一連の図である。
【図５Ｃ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてマスタ文書および１つ以上のスレーブ文書が写真であることを特徴とする本発明の一実施例を説明する一連の図である。
【図５Ｄ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてマスタ文書および１つ以上のスレーブ文書が写真であることを特徴とする本発明の一実施例を説明する一連の図である。
【図５Ｅ】マスタおよびスレーブの選択を受けることができるイベントハンドラが、ＯＳの一部であること、そしてマスタ文書および１つ以上のスレーブ文書が写真であることを特徴とする本発明の一実施例を説明する一連の図である。
【図６Ａ】３つの類似したワープロ文書に関わる本発明の一実施例の一連の画面出力であり、ここでオペレータによって３つの文書のいずれか１つが下へとスクロールされると、他の２つの文書の一方または両方における下へのスクロールが同時に生じるようになっている。
【図６Ｂ】３つの類似したワープロ文書に関わる本発明の一実施例の一連の画面出力であり、ここでオペレータによって３つの文書のいずれか１つが下へとスクロールされると、他の２つの文書の一方または両方における下へのスクロールが同時に生じるようになっている。
【図６Ｃ】３つの類似したワープロ文書に関わる本発明の一実施例の一連の画面出力であり、ここでオペレータによって３つの文書のいずれか１つが下へとスクロールされると、他の２つの文書の一方または両方における下へのスクロールが同時に生じるようになっている。
【図７】マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部であることを特徴とする実施例における、本発明に基づくプロセスの代表的な流れの概略を説明するフローチャートである。
【図８】マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部ではないことを特徴とする実施例における、本発明に基づくプロセスの代表的な流れの概略を説明するフローチャートである。
【図９】マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部であることを特徴とする実施例における、本発明に基づくプロセスの代表的な流れのより詳細を説明するフローチャートである。
【図１０】マスタおよびスレーブの選択を受けることができるイベントハンドラがＯＳの一部ではないことを特徴とする実施例における、本発明に基づくプロセスの代表的な流れのより詳細を説明するフローチャートである。図には一例としてスレーブが１つだけ描かれている。スレーブは１つ以上、いくつあってもよい。
【図１１】本発明の一実施例に基づくプロセスの代表的な流れの概要を単純化して示すフローチャートであり、これによれば本発明は、本発明の作用中にマスタおよびスレーブ両方の変更を許容するものである。
【図１２】本発明の一実施例において用いることができるシステム例の概要を描いたブロック図であり、システムは詳細説明に記載したように、オプションの対応処理マトリクスを含んでいる。
【図１】
2008544406.tif 000003
【図２Ａ】
2008544406.tif 000004
【図２Ｂ】
2008544406.tif 000005
【図２Ｃ】
2008544406.tif 000006
【図２Ｄ】
2008544406.tif 000007
【図３Ａ】
2008544406.tif 000008
【図３Ｂ】
2008544406.tif 000009
【図３Ｃ】
2008544406.tif 000010
【図３Ｄ】
2008544406.tif 000011
【図３Ｅ】
2008544406.tif 000012
【図３Ｆ】
2008544406.tif 000013
【図３Ｇ】
2008544406.tif 000014
【図３Ｈ】
2008544406.tif 000015
【図３Ｉ】
2008544406.tif 000016
【図３Ｊ】
2008544406.tif 000017
【図３Ｋ】
2008544406.tif 000018
【図３Ｌ】
2008544406.tif 000019
【図３Ｍ】
2008544406.tif 000020
【図３Ｎ】
2008544406.tif 000021
【図３Ｏ】
2008544406.tif 000022
【図３Ｐ】
2008544406.tif 000023
【図３Ｑ】
2008544406.tif 000024
【図３Ｒ】
2008544406.tif 000025
【図３Ｓ】
2008544406.tif 000026
【図３Ｔ】
2008544406.tif 000027
【図３Ｕ】
2008544406.tif 000028
【図４Ａ】
2008544406.tif 000029
【図４Ｂ】
2008544406.tif 000030
【図４Ｃ】
2008544406.tif 000031
【図４Ｄ】
2008544406.tif 000032
【図４Ｅ】
2008544406.tif 000033
【図４Ｆ】
2008544406.tif 000034
【図４Ｇ】
2008544406.tif 000035
【図４Ｈ】
2008544406.tif 000036
【図４Ｉ】
2008544406.tif 000037
【図４Ｊ】
2008544406.tif 000038
【図４Ｋ】
2008544406.tif 000039
【図４Ｌ】
2008544406.tif 000040
【図４Ｍ】
2008544406.tif 000041
【図４Ｎ】
2008544406.tif 000042
【図４Ｏ】
2008544406.tif 000043
【図５Ａ】
2008544406.tif 000044
【図５Ｂ】
2008544406.tif 000045
【図５Ｃ】
2008544406.tif 000046
【図５Ｄ】
2008544406.tif 000047
【図５Ｅ】
2008544406.tif 000048
【図６Ａ】
2008544406.tif 000049
【図６Ｂ】
2008544406.tif 000050
【図６Ｃ】
2008544406.tif 000051
【図７】
2008544406.tif 000052
【図８】
2008544406.tif 000053
【図９】
2008544406.tif 000054
【図１０】
2008544406.tif 000055
【図１１】
2008544406.tif 000056
【図１２】
2008544406.tif 000057
【国際調査報告】
2008544406.tif 000058