JPH07168779A - 複数のコンピューター表示の高速複製 - Google Patents

複数のコンピューター表示の高速複製

Info

Publication number
JPH07168779A
JPH07168779A JP6229274A JP22927494A JPH07168779A JP H07168779 A JPH07168779 A JP H07168779A JP 6229274 A JP6229274 A JP 6229274A JP 22927494 A JP22927494 A JP 22927494A JP H07168779 A JPH07168779 A JP H07168779A
Authority
JP
Japan
Prior art keywords
computer
host
gdi
user
annotation
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
JP6229274A
Other languages
English (en)
Inventor
John Hester
ヘスター ジョン
Krista S Schwartz
エス.シュワルツ クリスタ
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.)
NCR International Inc
NCR Voyix Corp
Original Assignee
AT&T Global Information Solutions Co
AT&T Global Information Solutions International Inc
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 AT&T Global Information Solutions Co, AT&T Global Information Solutions International Inc filed Critical AT&T Global Information Solutions Co
Publication of JPH07168779A publication Critical patent/JPH07168779A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/04Display device controller operating with a plurality of display units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

(57)【要約】 【目的】 本発明は、複数コンピューターディスプレー
の高速複製手段を与える。 【構成】 本発明が発生する共通の視覚的画像は、ビデ
オ会議に参加できるすべてのコンピューターに表示する
ことができる。しかし本発明はその画像の全ビットマッ
プをコンピューターに分配することはしない。その代わ
りに本発明はその画像が作成されるコマンドを分配す
る。さらに分配されたコマンドはデータ構造を参照す
る。このデータ構造はペンの色、背景の色、線幅等のパ
ラメーターを確定する。データ構造は各コンピューター
内に格納されている。データ構造が変更されても、本発
明はただちに情報を他のすべてのコンピューターにその
変更を通知することはせず、必要があるまで通知を保留
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピューター会議シス
テムに関し、特に複数のユーザーが単一のコンピュータ
ープログラムを遠隔操作することができるシステムに関
する。
【0002】
【従来の技術】近代的電話システムは、異なる場所に居
る複数のパーティーが会議を行なうことを可能にさせ
る。しかしながら電話会議は参加者すべてが会議室の共
通のテーブルで面会する会議で得られるすべての便宜を
与えることはできない。
【0003】例えば会議室では参加者は話題に関わる図
面あるいは製品等を見ることができる。その様な観察は
電話会議では不可能である。
【0004】本発明は、電話システムを使って協同ビデ
オ会議を行なうためのシステムに関する。本発明はいく
つかのコンピューターに分配される共通の視覚的画像を
発生する。当該コンピューターのユーザーはその共通画
像に添え書き(annotations)をすることができる。ユ
ーザーがこれを行なうと、本発明はすべてのコンピュー
ターのすべてのディスプレー上にその添え書きを複製す
る。
【0005】本発明は共通の視覚的画像の発生に関し
て、分配されるデータ量を低減する。
【0006】
【発明が解決しようとする課題】本発明の課題は改良さ
れた電子会議システムを与えることである。
【0007】本発明の別の課題は、ユーザーが遠隔的に
コンピュータプログラムを作動させることができるよう
にするシステムを与えることである。
【0008】本発明のさらに別の課題は、複数のコンピ
ュータの一つに存在する単一のプログラムを、それらの
コンピューターが作動させることができるようにするシ
ステムを与えることである。
【0009】本発明のさらに別の課題は、複数のコンピ
ューターのユーザーが共通の表示を見ることができると
ともに、それに添え書きすることができるシステムを与
えることである。
【0010】本発明のさらに別の課題は、コンピュータ
ー間で転送されるデータ量を低減するビデオ会議システ
ムを与えることである。
【0011】
【課題を解決するための手段】本発明は、共通のビデオ
画像を発生するためのコマンドを送信することにより、
当該ビデオ画像の複製を複数個作成する。これらコマン
ドは、送信上、必要なデータ量がビットマップよりも小
さい。
【0012】しかしながら、当該画像を描くためには、
コンピューター上で走っているプログラムはコマンド自
体に含まれているよりも大きなデータを必要とする。追
加すべきデータはコンピューターに収容されているデー
タ構造を使って供給する。これらのデータ構造はしばし
ば「デバイス コンテクスト」あるいは「オブジェク
ト」と呼ばれ、線の色とか線の幅のようなパラメーター
を特定する。データ構造はユーザーが変更することがで
き、もしもユーザーが何もしないときはデータ構造はデ
フォルト値に維持される。
【0013】データ構造が変更されると、本発明は他の
すべてのコンピューターにその変更をただちに通知する
ことはせず、他のコンピューターがその変更について知
ることが必要となるときまで待つ。
【0014】
【実施例】
概観 図1は電話線で接続された三台のコンピュータを示す。
各コンピュータは、メッセージ駆動されるマルチタスキ
ンググラフィカルユーザーインターフェイス(Graphica
l User Interface, GUI)を走らせる。その一例はワシ
ントン州レッドモンド市のマイクロソフトコーポレーシ
ョンから市販されているウインドウズという名のものが
ある。そのような GUI はまたオペレーティング動作環
境(operating environments)とも呼ばれる。
【0015】GUI のユーザーはウィンドウズを使ったプ
ログラムを介して相互作用を与えるできる。本発明は遠
方にあるコンピュータのディスプレー全体ではなくて、
選択したいくつかのウィンドウを複製する。この選択的
な複製によってユーザーは自分のディスプレー(共用さ
れていない自分のエリア)上に個人的エリアを維持する
ことが可能となる。各コンピュータはまた本発明者が開
発したソフトウェアを走らせることができる。さらに、
一つのコンピュータ(ホスト)がアプリケーションプロ
グラムを走らせる。(GUI のマルチタスキング能力があ
るため、ホストが 両方のプログラムを走らせることが
可能である)。
【0016】本発明は4つの基本モードのオペレーショ
ンを有する。
【0017】1.アプリケーションモード(Applicatio
n Mode) 図1に示す三台のコンピュータのいずれのユーザーもア
プリケーションプログラムに命令を出すことができる。
例えば、アプリケーションプログラムが手持ち型計算機
をシュミレートするものであると仮定しよう。その初め
の状態が図2に示してある。この場合、各コンピュータ
ディスプレーが計算機を図示する。次の事象が起こると
仮定する: ・ホストのユーザーが(計算機プログラムの設計に応じ
てキーボードの入力あるいはマウスの入力により)計算
機のボタン「3」を押す。これに応答して、各計算機が
その表示領域に「3」を表示する。
【0018】・遠隔使用者の一人が「+」を押す。他の
遠隔ユーザーが「6」を押す。
【0019】・ホストユーザーが「=」を押す。
【0020】この時点ですべての計算機が3と6の和で
ある「9」を表示する。ユーザー達は集団でこの計算機
プログラムのオペレーションを行い、各自のディスプレ
ーがその結果を表示する。
【0021】この計算機プログラムは、合法的なシーケ
ンスが受信される限り、いずれのユーザーがボタンを押
したかは考慮せず、またユーザーの誰かがボタンを押さ
なかったかも考慮しない。(ただしユーザーたちは協力
的であり、いずれのユーザーも計算機のオペレーション
を懈怠しないと仮定する)。
【0022】2.添え書きモード(Annotaion Mode) いずれのユーザーも「ペイント」プログラムに見られる
ものと同様の作図ツールを使ってユーザー自身のローカ
ルディスプレー上に描画することができる。ユーザー
は、ボックス、円、円弧、楕円等を作図することができ
る。ユーザーはまたディスプレー上の項目を消去するこ
とができる。
【0023】本発明はユーザー達の添え書きを他のすべ
てのディスプレー上に複製することができ、したがって
すべてのユーザーが類似のディスプレーを見ることがで
きる。しかし次のような因子があるので、それらの表示
は異なることがあり得る。
【0024】(A)ディスプレーモニターが異なれば、
色の表現能力等の性質が異なる。
【0025】(B)ディスプレーのプロトコル(IGA、B
GA など)が異なればグラフィックイメージの表現が異
なり、表示能力が異なる。
【0026】(C) GUIが異なり 、あるいは同一の GU
I でもバージョンの異なる場合は表示方式が異なること
がある。
【0027】(D)ユーザーの何人かは計算機が表示さ
れるウィンドウの大きさを変更することがあり、その結
果縮尺に差異が生じていることがある。
【0028】これらの差異は表示されるイメージの外観
に差を生じさせる。しかしすべてのディスプレーの基本
的な内容は同一なはずである。寸法の差異を許容するた
めに、本発明は適当な縮尺で作図をすることができる。
【0029】3.ローカル添え書きモード(Local Anno
taion Mode) ユーザーはローカルディスプレーに添え書きすることが
できるが、それらの添え書きは秘密に保たれるので、他
のユーザーはその添え書きを見ることができない。
【0030】4.観察モード(View Mode) いずれのユーザーも添え書きすることができず、命令を
発行することもできない。しかし添え書きに類似した行
動を取ることができる。ユーザーは自分たちのカーソル
を移動させることができ、他のユーザーはその動きを見
ることができるので、遠隔的指摘(カーソルによる表示
物の位置の指摘)ができる。観察モードは、例えば添え
書きモードの実行中にある特定ユーザーのモードを観察
モードに指定する実施例などで有用である。この実施例
ではすべてのユーザーが添え書きすることができるが
「観察」ユーザーは見ることができるだけであり、添え
書きすることができない。
【0031】各モードの説明 図3-図14は例として計算機プログラムの使用を通し
て色々なモードを図示する。
【0032】図3 ホストがアプリケーションプログラムを走らせる。
【0033】モードは「添え書き」である。
【0034】ユーザーの入力はホストコンピュータで行
なわれる。
【0035】ユーザーが計算機のオペレーションを試み
る。
【0036】ホストコンピューターのユーザーが計算機
を使って二つの数の加算を試みると仮定する。その試み
の対象となる最初の数について考える。
【0037】ホストユーザーはホストのカーソルを計算
機のキー上に移動させ、マウスをクリックすることによ
りキー入力を試みる。しかしマウスのクリックはアプリ
ケーションプログラムに届かない。なぜならば本発明が
それを阻止するからである。アプリケーションプログラ
ムは応答しない。なぜならばプログラムがマウスのクリ
ックを受理しないからである。
【0038】すなわち、さらに詳細に説明すると、 GUI
はこのマウスの移動を検出し、発生すべき「マウスメ
ッセージ」を発生させる。 GUI はこのマウスメッセー
ジをキュー(queue)におく。マウスメッセージはこの
キューの中で処理を待機する。図15に示す「入力ルー
ター(INPUT ROUTER)」がこれらのメッセージを読む。
「添え書きモード」が現在実行中であるので、入力ルー
ターはこのメッセージを添え書きブロックに送る。アプ
リケーションはこのメッセージを受理せず、従って応答
しない。このマウスクリックは無視される。
【0039】「添え書き」の応答 「添え書き」はマウスのメッセージに対して2通り(あ
るいはそれ以上)の応答をするように構成することがで
きる。その一つの構成では、添え書きはマウスが初めに
添え書きツールを選択することを要求する。選択がまっ
たく行われないと、「添え書き」はマウスメッセージを
無視する。
【0040】選択は通常「ペイント」プログラムで行な
われるようにツールイメージ上でマウスをクリックする
ことにより行なう。「添え書き」はこのツールの選択を
認識し、次いでそれ以降のマウスのクリックは選択ツー
ルで描画するためのデータとして扱う。例えば長方形ツ
ールが選択されたときは、次の二つのマウスのクリック
が長方形の対角線上の隅を確定する。(後で議論する図
4が長方形の描画を例示する。) 第二の構成では、添え書きモードにあるときはペンのよ
うなデフォルトツールが自動的に選択される。この構成
ではユーザーが(クリックすることにより)計算機のボ
タンを押す試みを行うと、そのペンを使ったユーザーの
線の描画が(意図せずに)始まる。これを認識したユー
ザーは公知方法のいずれかを使って線の描画を修了させ
ることができる。
【0041】それゆえ添え書き モードでは本発明は
(a)デフォルトの「添え書き」を開始することによっ
てマウスの入力に応答する、あるいは(b)「添え書
き」ツールが選択されないためにマウスの入力を無視す
る、のいずれかの応答をする。ユーザーからのキーボー
ド入力も同様に扱われる。もちろん「添え書き」が他の
応答をするように設計することもできる。
【0042】カーソルの追跡 各ディスプレーは関連のマウスで位置決定できるカーソ
ルを示す。本発明はすべてのディスプレー上に各カーソ
ルを複製することができる。この様にして図3に示すよ
うに3つマウスを使うとき、3つのカーソルがある。
(ただし簡単のため、ただ一つのみ図示してある。) その結果、一人のユーザーがマウスを動かすとそれに対
応するカーソルがすべてのディスプレー上で運動する。
【0043】一般的に3つのカーソルは識別が可能であ
る:各カーソルは例えば色・形状・ラベルの導入等によ
りその所有者を同定する。
【0044】図4 ホストがアプリケーションプログラムを走らせる。
【0045】モードは添え書きモードである。
【0046】ユーザーの入力はホストコンピューターで
行なう。
【0047】ユーザーは計算機の上にボックスの描画を
試みる。
【0048】この状況は図3に示すものと極めて類似し
ている。ただし今の場合ユーザーが図3においてはボタ
ンを押すことを意図している代わりに添え書きを描画し
ようと試みている点が異なる。
【0049】ホストコンピュータのユーザーが計算機の
上にボックスを描画すると仮定する。(このボックスは
強調のため過度に大きく図示されている。ボックスは計
算機自身を越えて伸びないことが望ましい。)本発明は
遠隔のコンピューター上にそのボックスを複製する。
(このボックスは図示していない添え書きツールを使っ
て描かれる)。
【0050】図15で見て、入力ルーターは論理の流れ
を「添え書き」宛てに送る。「添え書き」はそのボック
スを描くための適当なGDI機能を呼び出す。また「添
え書き」は「添え書きメッセージ」を接続APIに送
る。この接続APIが遠隔者に添え書きメッセージを届
ける。
【0051】図15に示す「添え書き」はこの添え書き
メッセージを受信する。この「添え書き」ブロックは各
遠隔コンピュータにおいて実行される論理を表す。この
「添え書き」はブロックGDIを経由して適当なGDI
機能を呼び出す。
【0052】「GDI」とはグラフィカル デバイス イ
ンターフェイスの略号である。「GDI機能」はGD
I.EXEと呼ばれる大きなプログラムに含まれてい
る。GDI機能は、呼び出されると、その後でユーザー
が入力する入力に基づいて円、ボックスあるいはテキス
トのような特定のグラフィックイメージを描く。ほかの
GDI機能はペン幅の選択などの他のタスクを行なう。
【0053】GDIEXEは市販されている製品であ
る。GDI.EXEに関する技術的な詳細はマイクロソ
フト社から入手可能な「ウィンドウズ ソフトウェア開
発キット」およびチャールス ペトゾルド著の「ウイン
ドウ図3.1のプログラミング」(ワシントン州レドモン
ド市:マイクロソフト プレス、ISBN 1-55615-395-3、
1992年発行)に記載されている。
【0054】図5 ホストがアプリケーションプログラムを走らせる。
【0055】モードは「アプリケーション」である。
【0056】ユーザー入力はホストコンピューターで行
なわれる。
【0057】ユーザーは計算機の使用を試みる。
【0058】ホストユーザーは計算機のキー「3」の上
にカーソルを移動させマウスをクリックする。 GUI は
マウスメッセージを発生し、それをキューにおく。本発
明はマウスメッセージを呼んで、そのメッセージをアプ
リケーションプログラム(すなわち計算機プログラム)
に送る。このプログラムは、(1)キー「3」が押され
たこと、及び(2)GDIのコールを使って計算機のデ
ィスプレーに数字「3」を描画する、という応答をす
る。
【0059】このアプリケーションプログラムはまた、
そのプログラムの内部的オペレーションを行うため、ユ
ーザーが「3」を入力したという事実を記録する。
【0060】本発明は、計算機の中に「3」を描画して
いる際、および押されている「3」のボタンを表示する
際に、アプリケーションプログラムが出すGDIコール
を中断する。他のコンピューターは同一のGDI機能を
実行することによりホストディスプレーを複製する。こ
のGDI中断に関する一層詳細な説明は「一般的な考
察」と題する後の節で述べる。
【0061】この様にして、ホストのユーザーが計算機
を動作させることを全てのユーザーが同時に見ることが
できる。(きわめて短い遅延が関与するので、このホス
トの動作は厳密に同時的ではない。とは言え、ホスト及
び遠隔のコンピューターが並んで動作したとしても人は
多分その遅延に気付くことができないであろう。)図1
5においてマウスメッセージがアプリケーションプログ
ラムに指向されるべきであるということを入力ルーター
が認識し、論理の流れをアプリケーション(すなわち計
算機プログラム)に指向する。アプリケーションは、
(1)押された「3」のキーを描画し、(2)適当なG
DI機能を呼び出す、ことによって計算機のディスプレ
イ内に数字「3」を書き込む。
【0062】しかし本発明はそれらが実行される前に、
アプリケーションプログラムのGDI呼び出しを図15
に示すGDIキャプチャー経由で捕捉(キャプチャー)
する。本発明は捕捉した呼び出し(コール)に付いてふ
たつのことを行なう。その一つとして、本発明は「接続
API」ブロックを経由してこれらの呼び出しを他のコ
ンピューターに通告する。このアクションは図15に示
す「捕捉されたGDIディスプレイ」ブロックに届く。
そうするとブロックGDIによって示すようにこのブロ
ックが各遠隔者に同一のGDI機能を実行させる。
【0063】その二として、図15に示すブロックGD
I経由で本発明は、ホストで実行すべきアプリケーショ
ンプログラムが呼び出すGDI機能をホストで実行する
ことを許す。
【0064】それゆえ、本発明はアプリケーションプロ
グラムが行なったGDI機能の呼び出し(コール)を捕
捉する。本発明は捕捉したコールを遠隔コンピューター
に通告する結果、遠隔コンピューターはそれらのコール
を複製することができる。本発明は、その捕捉したコー
ルが意図されたようにホスト上で実行されることを許
す。
【0065】図6 ホストがアプリケーションプログラムを走らせる。
【0066】モードは「ローカルな添え書き」である。
【0067】ユーザー入力はホストコンピューターで行
なわれる。
【0068】ユーザーが計算機に演算を行なわせること
を試みる。
【0069】添え書きモードにおいて、ユーザーに与え
られているデフォルト添え書きツールがまったく無いと
仮定しよう。この仮定の下で、ユーザーがカーソルを計
算機のボタンまで移動させてボタンを「押す」と、図1
5の「入力ルーター」がマウスメッセージを「添え書
き」ブロックまで通過させる。このマウスクリックは有
効な添え書き入力シーケンスではないではない(ツール
が何も選択されていない)ので、何の「添え書き」も描
かない。
【0070】更に、遠隔コンピューターは、ホストコン
ピューターのマウスに対応するカーソルの移動を示さな
い。なぜならば前述したように、「ローカルな添え書
き」の実行中は図15のライン5が添え書きメッセージ
を他のコンピューターに送らないからである。
【0071】更にまた、ホストディスプレイ上で計算機
のボタンを押しても、それに応答して押されたボタンを
描き直すことはしない。なぜならば、アプリケーション
がマウスメッセージを受信しなかったからである。アプ
リケーションが責任をもつのは押された計算機ボタンの
描画である。
【0072】添え書きのデフォルトがローカル添え書き
モードをとっているユーザーに指定されているときは、
そのユーザーのマウスクリックによってそのツールによ
る描画が開始される。ユーザーが誤りに気づいたとき、
ユーザーは公知の方法で描画を終了するだろう。
【0073】図7 ホストがアプリケーションプログラムを走らせる。
【0074】モードは「ローカルの添え書き」である。
【0075】ユーザー入力はホストコンピューターで行
なわれる。
【0076】ユーザーは計算機に添え書きを試みる。
【0077】これらの条件のもとで、図15のA部に示
す入力ルーターはボックスの描画などの有効な添え書き
を認識する。入力ルーターはその論理の流れを「添え書
き」ブロックに指向し、「添え書き」ブロックが図7に
示すボックスの描画等の添え書きのための適当なGDI
機能を呼び出す。
【0078】しかし、添え書きがローカルであるので、
図7に示すように遠隔コンピューター上には何のボック
スも描かれない。図15のデータ路5に沿って何のデー
タも送られない。
【0079】図8 ホストがアプリケーションプログラムを走らせる。
【0080】モードは「観察」である。
【0081】ユーザー入力はホストコンピューターで行
う。
【0082】ユーザーが計算機のオペレーションを試み
る。
【0083】図8が示すようにマウスのクリックは無視
され、遠隔コンピューターには何にも起きない。
【0084】図15において入力ルーターはこのマウス
メッセージを読むが、アプリケーションに届かないよう
にそれを阻止する。なぜなら現在のモードが「観察モー
ド(View Mode)」だからである。
【0085】図9 ホストがアプリケーションプログラムを走らせる。
【0086】モードは「添え書き」である。
【0087】ユーザー入力は遠隔コンピューターで行な
う。
【0088】ユーザーが計算機のオペレーションを試み
る。
【0089】ユーザーがマウスカーソルを計算機のボタ
ン上に移動させ、マウスをクリックすると仮定する。こ
のクリックは無視される。他のコンピューター(ホスト
及び他の遠隔コンピューター)はユーザーのカーソルの
運動を示すが、それ以外は何も示さない。その理由は、
ツールが何も選択されていないからである。
【0090】図15において、入力ルーターはこのマウ
スメッセージがアプリケーションに到達することを阻止
する。論理演算は「添え書き」に当てられ、GDIブロ
ックを経由して「添え書き」がユーザーの遠隔ディスプ
レイ上にカーソルを描画する。「添え書き」もまた接続
APIにデータを送り、この接続APIが論理演算を図
15の「添え書き」に当てる。この「添え書き」は、他
の二つのコンピューター(すなわちホスト及び当該他の
遠隔コンピューター)上に存在する添え書き論理内容を
表す。これらの「添え書き」ブロックはそれぞれのユー
ザーのカーソルに対応するカーソルを、図15に示すG
DIブロックを経由してそれぞれの場所で描画する。図
15のGDIはGDI機能コールの内容を表わす。
【0091】ホストがボックス描画ツールのような一つ
のツールを使うことができる一方、遠隔コンピューター
は円を描くツールのような別のツールを使用することが
できる。
【0092】図10 ホストがアプリケーションプログラムを走らせる。
【0093】モードは「添え書き」である。
【0094】ユーザー入力は遠隔コンピューターで行な
う。
【0095】ユーザーが計算機への添え書きを試みる。
【0096】添え書きはボックスであると仮定する。全
てのディスプレイ上にボックスが描かれる。図15にお
いて、ユーザーの遠隔コンピューターにある入力ルータ
ーがマウスメッセージを「添え書き」ブロックに送る。
「添え書き」は二つのことを行なう。その一つは「添え
書き」が添え書きであるボックスの描画を行なうための
適当なGDIを呼び出す。
【0097】その二は、「添え書き」が接続APIに添
え書きメッセージを送り、接続APIが他方のコンピュ
ータに添え書きメッセージを送る。ただしこれらの一方
はホストコンピューターであり、他方は遠隔コンピュー
ターである。ホストの論理プロセスが図15の「添え書
き」に到達し、前記他方の遠隔コンピューターの論理プ
ロセスが図15にある「添え書き」に到達する。
【0098】これらの「添え書き」ブロックは両者と
も、適当なGDI機能を呼び出してこれにユーザー所望
の添え書きを描かせる。しかしホストの論理経路5はこ
の時点で取り上げられない。なぜなら、ホストの添え書
きを他のコンピューターに複製する必要がないからであ
る。
【0099】図11 ホストがアプリケーションプログラムを走らせる。
【0100】モードはアプリケーションである。
【0101】ユーザー入力は遠隔コンピューターで行
う。
【0102】ユーザーが計算機のオペレーションを試み
る。
【0103】読者はこの計算機プログラムがホストにの
みロードされていることを思い起こされたい。ただし遠
隔コンピューターのユーザーがそれを作動させたいと希
望している。
【0104】図15に示す遠隔ユーザーの入力ルーター
は、マウスメッセージを接続APIに送る。ホストはこ
れらのメッセージを受信し、これらのメッセージは図1
5に示すホストの入力ルーターに届けられる。ホストの
入力ルーターはこれらメッセージをブロックアプリケー
ション(すなわち計算機プログラムであるアプリケーシ
ョンプログラムに)送る。このプログラムは二つの重要
なことを行なう。
【0105】遠隔マウスがそれらメッセージ出したにも
関わらず、計算機プログラムはそれらのメッセージをあ
たかもホストのマウスによって発行されたかのように扱
う。計算機プログラムはユーザーがデータ(すなわち
「3」)を入力したことを知ると、通常の方法で応答す
る。その応答は次のことを含んでいる:(1)押された
計算機ボタン「3」を示すこと。(2)計算機のディス
プレイ内に数字「3」を書き込むこと。及び(3)それ
自身の内部的計算を行なうこと。
【0106】しかし、計算機プログラムが前節の(1)
(2)を実行することができるようになるまえに、本発
明は最初に計算機プログラムが呼び出すGDI機能を捕
捉する。この捕捉は図15のGDI捕捉ブロックに例示
されている。この捕捉の際、本発明は二つのことを行な
う。その一つは、(他のコンピューターが使用できるよ
うにするため)本発明がこれらのGDI機能を接続AP
Iに送る。ユーザーの遠隔コンピューターにおいては、
図15に示す接続APIがこのGDI機能を「捕捉され
たGDIディスプレイ」に送る。このディスプレイはホ
ストディスプレイの複製を作成する。その二として本発
明は(図15に示すブロックGDIを経由して)ホスト
で実行されるべきGDI機能をホストで実行させる。そ
れゆえ、事象の一般的シーケンスは次の通りである: ・遠隔ユーザーが計算機ボタンを押す試みをする。
【0107】・遠隔コンピューター上で作動している本
発明は、この試みを検出し、ホスト上で走っている計算
機プログラムにデータを送る。このデータはメッセージ
の形式を取る。計算機のプログラムはこのメッセージが
ホストのマウスからきたものと「考える」。
【0108】・計算機プログラムが通常通りに働き、G
DIコールを経由してホストディスプレイ上にイメージ
を描く。
【0109】・本発明がGDIコールを捕捉し、それら
を遠隔コンピューターに通報する。
【0110】・遠隔コンピューターはホストのウィンド
ウを複製する。遠隔ユーザーはこのようにして、ホスト
上で走っている計算機プログラムを遠隔的に作動させる
ことができる。
【0111】別の言い方で要約すると、本発明は遠隔コ
ンピューターのマウスメッセージに基づいてマウスメッ
セージをホストに発生する。(ホスト上で走っている)
計算機プログラムが、それらのマウスメッセージがあた
かもホストで発生されたかのようにマウスメッセージに
応答する。本発明は計算機プログラムが行ったGDIコ
ールを中断し、遠隔コンピューターにおける同一のGD
Iコールを実行することにより、ホストディスプレイを
遠隔コンピューターに複製する。
【0112】図12 ホストがアプリケーションプログラムを走らせる。
【0113】モードは「ローカルな添え書き」である。
【0114】ユーザー入力は遠隔コンピューターで行な
う。
【0115】ユーザーが計算機のオペレーッションを試
みる。
【0116】当該ユーザーのマウスクリックは無視され
る。ツールの選択に失敗しているので、このマウスの運
動に応答して他のディスプレー上に何も現われない。
【0117】図13 ホストがアプリケーションプログラムを走らせる。
【0118】モードは「ローカルな添え書き」である。
【0119】ユーザー入力は遠隔コンピューターで行な
われる。
【0120】ユーザーが計算機への添え書きを試みる。
【0121】上に記したように、添え書きはユーザーの
ディスプレイ上に描かれる。他のディスプレイ上には何
の添え書きも起きない。
【0122】図14 ホストがアプリケーションプログラムを走らせる。
【0123】モードは「観察」である。
【0124】ユーザー入力は遠隔コンピューターで行な
う。
【0125】ユーザーが計算機のオペレーションを試み
る。
【0126】ユーザーのディスプレイ上でマウスのカー
ソルが移動するが、マウスクリックは無視される。また
他の二つのディスプレイはユーザーのマウスカーソルの
運動を示さない。
【0127】一般的考察 1.別異のプログラムはディスプレイ全体のうちの異な
る部分で描画を行う。ディスプレイはGDI機能を使っ
て描かれる。しかし一つのディスプレイでも異なる部分
はそれぞれ別のプログラムによって描かれる。
【0128】これらすべての描画オペレーションがGD
I機能を使用して行なわれるにも拘わらず、GDI機能
はコンピューター間の排他的ディスプレイ複製通信媒体
ではない。
【0129】添え書きは一つの形態のコンピューター間
データ転送を含む。
【0130】アプリケーションプログラムによる描画は
他の形態のものを含む。
【0131】例えば、ユーザーが添え書きを行なうと
き、ユーザーのマウスメッセージは図15に示す経路5
を経由して、他のコンピューターにおいて「メッセー
ジ」として複製される。これらの複製メッセージは次い
で、(他のコンピューターにおける)それぞれの「添え
書き」ブロックがその添え書きを描くための適当なGD
Iコールを発行させる。すなわちGDIコールは、その
添え書きを行なっているユーザーからは直接に他のコン
ピューターに送られない。
【0132】それとは対照的に、アプリケーションプロ
グラムがグラフィックイメージをディスプレイ上に描か
せている場合、本発明はそのGDIコールを(図15に
示す「GDI捕捉」を経由して)中断し、そのGDIコ
ールを他のコンピューター上に複製させる。
【0133】相違の理由 二つの異なる手順(マウスメッセージの複製及びGDI
コールの複製)を行なう主な理由は、添え書きがディス
プレイ情報とは異なったロケーションに格納されるため
である。
【0134】すなわち図2の計算機に戻って、アプリケ
ーションプログラムは次のような一般的な方法で計算機
のイメージを格納する。添え書きデータは本発明によっ
て格納される。アプリケーションプログラムデータは
(ホストにある)アプリケーションプログラムによって
格納される。各キーのイメージはGDI機能がそのキー
を引き出すことのできるデータとして格納される。この
データは位置、大きさ、色等の情報を含む。各キーは関
連の数を含む。その数は位置・大きさ・フォントタイプ
などの情報とともにテキストキャラクターとして格納す
ることができる。
【0135】添え書きデータは異なった場所に格納され
るが同じ一般的な方法で格納される。
【0136】添え書きあるいはアプリケーションプログ
ラムのいづれかがビットマップを必要とするときは公知
の方法でビットマップがGUIにより格納される。
【0137】本発明は、マスキングに関する公知の技術
によって添え書きイメージをアプリケーションのイメー
ジと組み合わせる。すなわち本発明は、遠隔コンピュー
ターが受信したGDI機能をビットマップに再生する。
本発明は、受信した添え書き情報を、それとは異なるビ
ットマップに再生する。これら二つのビットマップは相
互にマスク掛けされる。
【0138】ユーザーがアプリケーションイメージを添
え書き抜きで保存できるようにする等の目的で、添え書
きデータはアプリケーションデータから分離して保存さ
れる。この代わりとして、ユーザーは添え書きデータを
単独に、あるいは添え書き済み表示の形で、保存するこ
とができる。
【0139】別個保存するもう一つの理由は、添え書き
データを別個に保存することは添え書きデータを全く有
しないディスプレイを描くのに便利であるからである。
添え書きデータが計算機イメージデータと混和してしま
ったときは、添え書きデータを除去することは不可能で
ないまでも困難である。
【0140】もしもGDIコールを排他的に送信すると
すると(すなわちメッセージの複製が全く行なわれない
とすると)、添え書きデータを別個の格納するように構
成するための余分の作業が必要となろう。
【0141】2.GDIの中断もしくは捕捉 GDIの中断は次のように理解することができる。
【0142】A.スタートアップの時点で、本発明は各
GDI機能の最初の5バイトを、ある特定のプログラム
すなわち Trap.GDI へのジャンプ指令(JUMP)で置換す
る。
【0143】B. Trap.GDI は、所望のグラフィックイ
メージに対するパラメーターを獲得する(例えばボック
スの場合はふたつの対角線の角の位置など)。そしてサ
ブプログラムであるPkgDispCallを呼び出す。 Trap.GDI
はまた最初の5バイトをも置換する。
【0144】C.PkgDispCall は、 Trap.GDI からパラ
メーターを受信してブジェクト構造体(object structu
re )を発生する。このオブジェクト構造体はほかのコ
ンピューターがボックスを描くのに必要な全ての要素を
含んだデータブロックである。
【0145】例えば、オブジェクト構造体はボックスの
寸法及び位置に関する情報を含んでいる。更にGUI
は、「コンテクスト(context)」内にイメージを描
く。このコンテクストは、ペンの巾・色そのほかの特徴
的なものを含んでいる。本発明は各コンピューターのコ
ンテクストを追跡する。もしも描いたボックスのコンテ
クストが遠隔コンピューターのコンテクストと異なって
いると、他のコンピューターが正しいコンテクストを発
生するのに必要なデータをPkgDispCall が含める。
【0146】D.オブジェクト構造体は他のコンピュー
タに発送され、当該他のコンピューターが同一のGDI
機能を実行する。
【0147】E.本発明はオリジナルのGDI機能を実
行する。
【0148】3.ディスプレイ全体が転送されることは
ない。ディスプレイはビット単位で置換されることはな
い。例えば、図2に示す計算機のイメージはビット単位
でコンピューター間を転送することもできよう。もしも
計算機が200×300ピクセルの空間を占めるなら
ば、6万ピクセル(すなわち200×300のピクセ
ル)に関する情報が送られなければならない。この代わ
りとして、図2に示す特定の計算機は18個の長方形お
よび18個の長方形各々に対する一テキスト文字として
扱われ、その結果全部で34個のオブジェクトとなる。
各オブジェクトは、大きさ及び位置のようなパラメータ
ーを必要とする。パラメーターの数は小さくて3乃至1
0である。10個のパラメーターがあると仮定すると、
340個のデータを送らなければならない。もちろん、
各データピース(データ片)の大きさは色々の因子に依
存するが、各ピースには小さなバイト数を想定すれば足
りる。
【0149】それゆえ、本発明はビット単位の複製では
6万ピース必要なデータを、オブジェクト複製のための
最大340ピースに低減する。もちろんオブジェクトに
よってはビットマップの形態を取ることがあり、ビット
ごとに送らなければならない。しかし一般的にビットマ
ップは稀にしか現われない。更に、一般的にビットマッ
プを送るときは一回だけ送られると予想される。
【0150】さらにオブジェクトデータは可能でれば圧
縮される。すなわちコンピューター間の情報伝達は、可
能であれば、圧縮したデータの形で行なわれる。圧縮は
本技術分野で公知である。
【0151】4.データリンクの形態 コンピュータ間の通信はいくつかの形態を取り得る。市
販されているネットワーク、ローカルエリア、及びワイ
ドエリアを使うことができる。市販されているISDN
電話回線は地方の電話会社から提供されており、これら
を使うこともできる。モデム通信を使うこともできる。
【0152】5.先行技術のメッセージ検出 入力デバイスに応答してGUIで発生したメッセージを
検出する市販のパッケージが利用できる。そのようなパ
ッケージの一つは WINSIGHT であり、これはボーランド
インターナショナルから入手できる。しかしこれらの
パッケージは遠隔コンピューターにメッセージ通報しな
いと思われる。
【0153】6.代わりとなる「GDI捕捉」 上記のグラフィックの捕捉に代わる方法は次の通りであ
る。本システムが与えるGDIを、実際のシステムGD
Iを呼び出す前にGDIコールを処理する別個のプロシ
ージャで置き換える。システムGDIの名前は二つのモ
ジュール間で混同することを防止するために変更され
る。システムに提供されているモジュールを介して行な
われるGDIコールを捕捉するために、USR.EXE にも同
じテクニックが使われる。
【0154】7.一つ以上のコンピューターがアプリケ
ーションプログラムを走らせることができる。一つのプ
ログラムに対してある特定のコンピューターがホストと
して行動することができ、別のプログラムに対して遠隔
コンピューターが行動することができる。例えば一つの
コンピューターはワープロを走らせることができ、別の
コンピューターは描画プログラムを走らせることができ
る。それぞれのプログラムに対しては各々がホストであ
る。
【0155】各コンピューターに搭載された本発明のソ
フトウェアーは同一もしくは実質上同一であるので、す
べてのユーザーがワードプロセッサまたはCADプログ
ラムを上述したように走らせることができる。
【0156】8.「リアル」カーソルおよび「疑似」カ
ーソル 二つのタイプの「カーソル」がある。各GUIはそれ自
身の「リアル(real,実際の)」カーソルを所有する。
実際のカーソルはGUI機能よっては発生されず、GU
Iの中の独立の機能によって発生される。このカーソル
は、マウスの運動に応答してGUIが移動させるビット
マップと見做すことができる。ローカルマウスによって
制御されるそのリアルカーソルに加えて、本発明は各遠
隔の参加者に対する「疑似」カーソルを発生する。疑似
カーソルはGDI機能を使って発生される。時折リアル
カーソルはカーソルの移動とともに変化する。例えば、
ツールバー上にあるときはカーソルは矢印の形状を取る
ことができ、クライアント領域上にあるときは手の形に
変化することができる。しばしばこの変化はアプリケー
ションプログラムの制御のもとにおかれる。
【0157】それゆえ、(図11に示すように)遠隔ユ
ーザーがホストマシーン上で走っているアプリケーショ
ンプログラムを制御するときは、GDIコールを使用せ
ずにアプリケーションプログラムがホストマシーン上の
カーソルを変化させることができる。従って、図15及
び15Aに示すGDIの捕捉は、変化したカーソルを遠
隔ディスプレイ上で複製することに対して非能率であ
る。
【0158】この問題に対処するため、本発明はリアル
カーソル(例えば SetCursor コマンド等)を変化させ
る機能を監視する。本発明は遠隔コンピューター上でカ
ーソル変化を複製する。
【0159】同一の SetCursor コマンドを実行するこ
とも一つの方法である。もう一つの代わりの方法は、適
当なGDIコールのシーケンスを実行することによっ
て、ホストカーソルが変化するときに遠隔カーソルを変
化させ、またはビットマップを描かせることであろう。
【0160】9.ディスプレイ全体は複製されない。本
発明はディスプレイのユーザーが同定するウィンドウを
複製するだけである。すなわちユーザーはノートパッド
のような作図片を会議の期間中秘密に保持することがで
きる。GDIコールはタスクハンドル(task handle)
を使用する。共用するアイテムをタスクハンドルが参照
しないならば、GDIコールは共用されない。
【0161】10.GDIコールのすべてのパラメータ
ーは必ずしも常に共用しない。
【0162】本発明のこの特徴はおそらく、以下の「背
景」に基づいて最も良く例示できる。
【0163】背景 GDIコールが発行されると、二つの主要な特徴が喚起
される。それらは「デバイスコンテクスト」と「オブジ
ェクト」である。最初にデバイスコンテクストを考え
る。
【0164】デバイスコンテクスト 黒板上に一つの長方形を描くとすると、その長方形は黒
の背景上に描かれたある幅の白線から成るであろう。こ
の状況は、黒の背景上に設けたある線幅の白線からなる
型の「デバイスコンテクスト」を例示している。黒板上
に(同じチョークを使って)描いたどのような画像も、
このデバイスコンテクストに符合する。
【0165】ビデオディスプレー、プリンター、あるい
はプロッターのようなコンピューターの出力デバイス上
に長方形を描くため、GUIを使用するとき、同様の考
えがあてはまる。我々は自分の描きたいデバイスコンテ
クストを明示的に、あるいはデフォルトによって、特定
する。
【0166】GUIが使用するデバイスコンテクストに
は、次のパラメーターが含まれる: --長方形の色、 --背景の色、 --長方形を構成する四本の線の太さ、 --長方形を収容するウインドウの大きさと位置、および --その他のデータ。
【0167】(好ましい本実施例のGUIは約19個の
異なるパラメーターを収容するデバイスコンテクストを
使用する。)オブジェクト オブジェクトにも類似の概念があてはまる。長方形を描
くためのGDIを発行するときは「ペン」を選択する。
このペンは物理的なペンではなく、描くべき線を記述す
るパラメーターの集合である。このペンのパラメーター
は線の幅、色およびダッシング(点描)の型(実線、破
線、中心線等)である。これらのパラメーターはコンピ
ューターにより格納されており、ペンをアクションに呼
び込むときに使用される。
【0168】このようにしてGUIは複数のソースから
描画指令を得る。ここで考えている例では、以下の三つ
のソースがある: (1)GDIコール。これは画像の型(長方形)その他
大きさおよび位置のようなパラメーターを特定する。
【0169】(2)デバイスコンテクスト。これは(デ
フォルトによってではく)GDIコールによって特定さ
れる。
【0170】(3)関与するオブジェクト。これも(デ
フォルトによってではなく)GDIコールによって特定
される。
【0171】本発明が遠隔コンピューターにGDIコー
ルを中継(relay)するときは、遠隔コンピューターは
関与するデバイスコンテクストおよびオブジェクトが何
であるか通知を受けなければならない。本発明は、所定
帯域幅を守るため、送信する情報を圧縮する。
【0172】 次のことを仮定しよう。
【0173】(1)遠隔会議セッションがちょうど今開
始した。
【0174】(2)アプリケーションが共用されてい
る。
【0175】(3)今より前にGDIコールは発行され
ていない。
【0176】(4)デバイスコンテクストもペンも、デ
フォルト状態から修正されていない。
【0177】(5)APP_WINNDOW という名前のウインド
ウ内に、その共用されているアプリケーションが現われ
ている。
【0178】(6)ホストコンピューターにいるユーザ
ーが「APP_WINNDOW」上に円を描くことを希望してい
る。
【0179】添え書きをする者がマウスを使って円を描
くと、本発明は上述したようにマウスメッセージを受信
し、適当なGDIコールを発行する。GDIコールはデ
バイスコンテクストおよびペンの両方について明示的に
あるいはデフォルトにより、参照を行ない、その結果G
UIが円を描くことができるようになる。仮定により、
デバイスコンテクストおよびペンのデフォルト値には何
ら変更がなさていないので、GUIは円を描くのにデフ
ォルト値を使用する。
【0180】当該アプリケーションが共用されているた
め、本発明はGUIを呼び出す途上でGDIコールに割
り込み、描かれた円のことを遠隔コンピューターに通知
する。本発明は、(a)GDIコールの同一性と共に、
(b)デバイスコンテクスト、および(c)ペンに関す
る情報を遠隔コンピューターに通知しなければならな
い。このとき本発明に重要でない他のデータも併せて通
知される。
【0181】デバイスコンテクストおよびペンのデフォ
ルト値に何ら変更がなさていないので、本発明は実際、
デフォルトデバイスコンテクストおよびデフォルトペン
の両方を使用するよう、遠隔コンピューターに通告す
る。本発明はデフォルトデバイスコンテクスト全体を送
信することはせず、デフォルトペン全体を送信すること
もしない。
【0182】他の例 添え書きする者がデバイスコンテクストまたはぺんのい
ずれかを変更する、と仮定しよう。例えば、添え書き者
は背景の色を変更し(従ってデバイスコンテクストを変
更する)、あるいはペンの線幅を変更する(それゆえペ
ンのパラメーターを変更する)ことができる。
【0183】本発明は、遠隔コンピューターにデバイス
コンテクストの全体を送信することはせず、ペンパラメ
ーターの集合全体を送信することもしない。その代わり
に本発明は、当該変更のみを送信する。
【0184】さらに、本発明は、変更されたデバイスコ
ンテクストあるいは変更されたペンへの参照を行なうG
DIコールが発行されたときのみ、当該変更のみを送信
する。この遅延が重要となる場合の一例を示そう。もう一つの例 遠隔会議セッションの期間中に、ある添え書き者が添え
書きをする準備をしていて、ウインドウの背景の色を変
更し、したがって当該ウインドウのデバイスコンテクス
トを変更する、と仮定する。その変更直後に、ある会議
参加者がある声明を行なうと仮定する。この声明が添え
書き者の注意を引き、このため、行なわれようとしてい
る目前の添え書きが中断される。
【0185】本発明は二つの主な理由からこの時点にお
ける当該デバイスコンテクストの変更を送信しない。第
一に、差し迫った必要がない。というのは、デバイスコ
ンテクストを必要とするGDIコールが発行されていな
いからである。第二に、そのような送信は帯域を占有す
ることになるが、それよりも他のトランザクション(処
理)のために使用したほうがよい。この例では上記声明
は大量のデータ送信の開始を合図することができる。
【0186】その代わり、添え書き者が、変更したデバ
イスコンテクストを使用するGDIコールを発行させる
まで、本発明は待機する。その時期が来たとき、その時
点で本発明は遠隔者に変更を中継する。しかしながら、
再び繰り返して言うが、この時点でもデバイスコンテク
スト全体は送信されない。送信されるのは変更だけであ
る。
【0187】さらに別の例 遠隔コンピューターは、当該GDIコールに関わるデバ
イスコンテクストおよびオブジェクトの両方を格納して
いる。遠隔コンピューターが変更を受信すると、遠隔者
は格納されているデバイスコンテクストおよびオブジェ
クトを適宜修正する。従って遠隔コンピューターはホス
トコンピューターに格納されている同一のデバイスコン
テクストおよびオブジェクトに対応するデバイスコンテ
クストおよびオブジェクトを維持する。ホストは遠隔者
と共に必要に応じて、当該デバイスコンテクストおよび
オブジェクトを更新する。全く更新されないときは、デ
バイスコンテクストおよびオブジェクトはそれらのデフ
ォルト値を維持する。
【0188】遠隔者がそのデバイスコンテクストを使用
せず、ホストのGDIを使用する描画 ホストコンピューターが遠隔者にGDIを送ると、遠隔
コンピューターは自分対応する自身のデバイスコンテク
ストおよびオブジェクト中にすでに収容されている情報
を使って、GDIコールによりリクエストされている画
像を描く。すなわち、ホストは指定されたコールに必要
なデバイスコンテクスト全体もオブジェクト全体も送信
しない。
【0189】本発明のこの局面は、既に進行している会
議に遠隔コンピューターが参加するときに、特に意味が
ある。ホストコンピューターは使用中のデバイスコンテ
クストおよびオブジェクトの現在のステータスを維持し
ている。しかし、新規に参加する遠隔コンピューターは
現在のステータスを知らない。
【0190】それにもかかわらず、本発明はその遠隔者
に情報を送信するので、その情報から遠隔者はデバイス
コンテクストおよびオブジェクトを構築することができ
る。要するにこの情報は、生じた変更である。遠隔者
は、既知のデフォルトの内容および当該変更に基づい
て、デバイスコンテクストおよびオブジェクトを構築す
る。
【0191】上記の議論は添え書きについて考えた。し
かし、本発明は添え書きを行なわない遠隔コンピュータ
ーに対し、GDIコールを発行し、それを送信する。こ
れらの例では、本発明は上述したように動作する:遠隔
者はホストから受信した変更に基づいて、デバイスコン
テクストおよびオブジェクトを維持する。
【0192】定義 「デバイスコンテクスト」は、描く画像の背景を特定す
る変更可能なデータの集合、と定義することができる。
そのようなデータの集合の例が、前記ペトゾルドの本の
514ないし515頁の表に記載されている。
【0193】ホストのデバイスコンテクストに生じた変
更に基づいて、かつ当該デバイスコンテクスト全体を送
信することなく、遠隔コンピューター内にデバイスコン
テクストを維持する方法は、「非冗長」維持法("non-r
edandant" maintenance)と呼称することができる。
【0194】すなわち、ホストのデバイスコンテクスト
が19個のパラメーターを収容しており、単一のパラメ
ーターが変更されたと仮定しよう。変更後に19個のパ
ラメーターすべてを遠隔者に送信することは冗長であろ
う。遠隔者は既に18個のパラメーター値を知っている
からである。
【0195】注意点 好ましい本実施例ではペンのようなオブジェクトに対し
て変更が行なわれると、当該変更だけでなくオブジェク
ト全体が他のコンピューターに送信される。その理由
は、一般にオブジェクト全体が占めるデータ空間が小さ
いからである。
【0196】
【発明の効果】本発明の改良された電子会議システム
は、ユーザーが遠隔的にコンピュータプログラムを作動
させることができるため、複数のコンピュータの一つに
存在する単一のプログラムを作動させることができる。
【0197】加えて、本発明では複数のコンピューター
のユーザーが共通の表示共用することができる。すなわ
ち、共通の表示に添え書きすることができる。遠隔コン
ピューターへのかかるデータ通信は変更にかかるデバイ
スコンテクストおよびオブジェクト情報送信すればよい
ので、小量のデータ通信で済み、またデータは圧縮して
送ることができるので、高速通信できるビデオ会議シス
テムを与えることができる。
【図面の簡単な説明】
【図1】 電話線で接続された三台のコンピュータを例
示する図である。
【図2】 図の3ないし図14に詳細に説明する実施例
の一例を示す。本例では計算機プログラムがいろいろの
パーティーにより作動され、添え書きを付けられる。
【図3】 本発明が添え書きモードにあるときにホスト
ユーザーの一人が計算機のオペレーションを試みる場
合、本発明がどのように応答するかを示す図である。
【図4】 本発明が添え書きモードにあるときにホスト
ユーザーの一人が計算機に添え書きを試みる場合、本発
明がどのように応答するかを示す図である。
【図5】 本発明がアプリケーションモードのあるとき
にホストユーザーの一人が計算機のオペレーションを試
みる場合、本発明がどのように応答するかを示す図であ
る。
【図6】 本発明がローカル添え書きモードにあるとき
にホストユーザーの一人が計算機のオペレーションを試
みる場合、本発明がどのように応答するかを示す図であ
る。
【図7】 本発明がローカル添え書きモードにあるとき
にホストユーザーの一人が計算機に添え書きを試みる場
合、本発明がどのように応答するかを示す図である。
【図8】 本発明がビューモードにあるときにホストユ
ーザーにどのように応答するかを示す図である。
【図9】 本発明が添え書きモードにあるときに遠隔の
ユーザーが計算機のオペレーションを試みる場合、本発
明がどのように応答するかを示す図である。
【図10】 本発明が添え書きモードにあるときに遠隔
のユーザーが計算機に添え書きを試みる場合、本発明が
どのように応答するかを示す図である。
【図11】 本発明がアプリケーションモードにあると
きに遠隔のユーザーが計算機のオペレーションを試みる
場合、本発明がどのように応答するかを示す図である。
【図12】 本発明がローカル添え書きモードにあると
きに遠隔のユーザーが計算機のオペレーションを試みる
場合、本発明がどのように応答するかを示す図である。
【図13】 本発明がローカル添え書きモードにあると
きに遠隔のユーザーが計算機に添え書きを試みる場合、
本発明がどのように応答するかを示す図である。
【図14】 本発明がビューモードにあるときに遠隔の
ユーザーにどのように応答するかを示す図である。
【図15】 本発明で使用する論理の流れを例示する図
である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クリスタ エス.シュワルツ アメリカ合衆国 イリノイ州 60510 バ タビア、ジェニファー ドライブ 953

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピューター上でGUIが走っ
    ており、デバイスコンテクストを参照するGDIコール
    を発行することにより、グラフィック画像を発生するシ
    ステムにおいて、 遠隔コンピューターに類似のデバイスコンテクストを維
    持し、 ホストのデバイスコンテクストに生じた変化を該遠隔コ
    ンピューターに遅滞なく送信する、ことを特徴とするコ
    ンピューター表示の方法。
  2. 【請求項2】 ホストコンピューター上でGUIが走っ
    ており、デバイスコンテクストを参照するGDIコール
    を発行することにより、グラフィック画像を発生するコ
    ンピューターシステムにおいて、 i)選択したGDIコールを遠隔コンピューターに中継
    し、 ii)該遠隔コンピューターにデバイスコンテクスト全体
    を送信せず、デバイスコンテクストに生じた変化を該遠
    隔コンピューターに通知する、ようにホストコンピュー
    ター上でプログラムを走らせる方法。
JP6229274A 1993-09-28 1994-09-26 複数のコンピューター表示の高速複製 Pending JPH07168779A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/128,012 1993-09-28
US08/128,012 US5704042A (en) 1993-03-19 1993-09-28 Accelerated replication of multiple computer displays

Publications (1)

Publication Number Publication Date
JPH07168779A true JPH07168779A (ja) 1995-07-04

Family

ID=22433161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6229274A Pending JPH07168779A (ja) 1993-09-28 1994-09-26 複数のコンピューター表示の高速複製

Country Status (3)

Country Link
US (1) US5704042A (ja)
EP (1) EP0645695A1 (ja)
JP (1) JPH07168779A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09238271A (ja) * 1996-02-29 1997-09-09 Nikon Corp 画像伝送システム
JP2015518675A (ja) * 2012-03-27 2015-07-02 グーグル インコーポレイテッド ビデオ通信の間のアプリケーションへのユーザアクセスを提供すること

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649104A (en) * 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
EP0622930A3 (en) * 1993-03-19 1996-06-05 At & T Global Inf Solution Division of applications for computer arrangement with collaboration.
US7989689B2 (en) 1996-07-10 2011-08-02 Bassilic Technologies Llc Electronic music stand performer subsystems and music communication methodologies
US7297856B2 (en) 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
GB2317470A (en) * 1996-09-24 1998-03-25 Ibm Screen remote control
US6166734A (en) * 1996-10-01 2000-12-26 Diamond Multimedia Systems, Inc. Portable interactive graphics display tablet and communications system
US6662210B1 (en) 1997-03-31 2003-12-09 Ncr Corporation Method of remote collaboration system
US6115038A (en) * 1997-07-09 2000-09-05 Christofferson Enterprises, Llc Method for creating lower cost real-time 3D graphics in a distributed environment
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
JPH11215126A (ja) * 1998-01-28 1999-08-06 Sharp Corp 情報処理装置
US6346962B1 (en) 1998-02-27 2002-02-12 International Business Machines Corporation Control of video conferencing system with pointing device
US6895591B1 (en) 1999-10-18 2005-05-17 Unisys Corporation Virtual file system and method
US6877027B1 (en) * 2000-02-19 2005-04-05 Hewlett-Packard Development Company, L.P. System and method for providing synchronization verification of multiple applications across remote systems
US20030088875A1 (en) * 2001-11-08 2003-05-08 Gay Lance J Simultaneous viewing of video files on networked computer systems
US7076735B2 (en) * 2003-07-21 2006-07-11 Landmark Graphics Corporation System and method for network transmission of graphical data through a distributed application
US7948448B2 (en) 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
US7834819B2 (en) * 2004-04-01 2010-11-16 Polyvision Corporation Virtual flip chart method and apparatus
US20070044028A1 (en) * 2004-04-01 2007-02-22 Dunn Michael H Virtual flip chart method and apparatus
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US8340130B2 (en) 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
JP4508077B2 (ja) * 2005-10-24 2010-07-21 株式会社デンソー 車載マルチカーソルシステム
US7962552B2 (en) * 2005-11-14 2011-06-14 Red Hat, Inc. Borrow and give back of windows
US7764632B2 (en) * 2006-08-24 2010-07-27 Interwise Ltd. Software bridge for multi-point multi-media teleconferencing and telecollaboration
US8054241B2 (en) 2006-09-14 2011-11-08 Citrix Systems, Inc. Systems and methods for multiple display support in remote access software
US7791559B2 (en) 2006-09-14 2010-09-07 Citrix Systems, Inc. System and method for multiple display support in remote access software
US8060887B2 (en) 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765261B2 (en) 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US7950046B2 (en) 2007-03-30 2011-05-24 Uranus International Limited Method, apparatus, system, medium, and signals for intercepting a multiple-party communication
US7765266B2 (en) 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium, and signals for publishing content created during a communication
US8627211B2 (en) 2007-03-30 2014-01-07 Uranus International Limited Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
US8199891B2 (en) * 2008-02-06 2012-06-12 Interactive Intelligence, Inc. System and method for remote screen monitoring
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US9888568B2 (en) 2012-02-08 2018-02-06 Crane Electronics, Inc. Multilayer electronics assembly and method for embedding electrical circuit components within a three dimensional module
WO2013123368A1 (en) 2012-02-16 2013-08-22 Covidien Lp Multifunctional conferencing systems and methods
US9046982B2 (en) * 2012-07-03 2015-06-02 International Business Machines Corporation Representing a graphical user interface using a topic tree structure
US9230726B1 (en) 2015-02-20 2016-01-05 Crane Electronics, Inc. Transformer-based power converters with 3D printed microchannel heat sink
US9667676B1 (en) * 2016-01-29 2017-05-30 Dropbox, Inc. Real time collaboration and document editing by multiple participants in a content management system
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US20220377059A1 (en) * 2021-05-21 2022-11-24 Zoom Video Communications, Inc. Long-term key management for end-to-end encryption of videoconferences

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4414621A (en) * 1977-06-13 1983-11-08 Canadian Patents & Development Ltd. Interactive visual communications system
US4516156A (en) * 1982-03-15 1985-05-07 Satellite Business Systems Teleconferencing method and system
US4903218A (en) * 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US5036315A (en) * 1988-09-06 1991-07-30 Spectragraphics, Inc. Simultaneous display of interleaved windowed video information from multiple asynchronous computers on a single video monitor
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US4953159A (en) * 1989-01-03 1990-08-28 American Telephone And Telegraph Company Audiographics conferencing arrangement
CA2021865A1 (en) * 1989-07-26 1991-01-27 Seizi Maruo Multimedia telemeeting terminal device, terminal device system and manipulation method thereof
US5119319A (en) * 1989-12-14 1992-06-02 Options Unlimited Research Corp. Full-duplex video communication system
US5136581A (en) * 1990-07-02 1992-08-04 At&T Bell Laboratories Arrangement for reserving and allocating a plurality of competing demands for an ordered bus communication network
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09238271A (ja) * 1996-02-29 1997-09-09 Nikon Corp 画像伝送システム
JP2015518675A (ja) * 2012-03-27 2015-07-02 グーグル インコーポレイテッド ビデオ通信の間のアプリケーションへのユーザアクセスを提供すること

Also Published As

Publication number Publication date
EP0645695A1 (en) 1995-03-29
US5704042A (en) 1997-12-30

Similar Documents

Publication Publication Date Title
JPH07168779A (ja) 複数のコンピューター表示の高速複製
JPH0773141A (ja) 遠隔協同システム
JPH0793251A (ja) 遠隔協同システム
JPH0749835A (ja) 遠隔協同システム
JPH0749834A (ja) 遠隔協同システム
US6662210B1 (en) Method of remote collaboration system
US5920694A (en) Annotation of computer video displays
US5872923A (en) Collaborative video conferencing system
JP2859559B2 (ja) コンピュータ・ネットワーク・システム、コンピュータ・システム、及びクリップボード制御方法
US7209948B2 (en) Collaborative review of distributed content
US6691154B1 (en) Instantaneous remote control of an unattended server
JPH07182282A (ja) コンピュータービデオ表示の添え書き
KR20000076508A (ko) 동기적 공동 작업을 위한 주해층
JPH07177486A (ja) ビデオ会議システムにおけるビデオ像の表示方法および表示装置
Lee Xsketch: A multi-user sketching tool for X11
JPH0836546A (ja) 協調作業支援システム
JPH07175733A (ja) ビデオ会議データの直接捕捉
JPH07284076A (ja) 電子会議表示方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050905