JPH07182256A - コンピュータネットワークを介した動的データ交換方法及び装置 - Google Patents

コンピュータネットワークを介した動的データ交換方法及び装置

Info

Publication number
JPH07182256A
JPH07182256A JP6206226A JP20622694A JPH07182256A JP H07182256 A JPH07182256 A JP H07182256A JP 6206226 A JP6206226 A JP 6206226A JP 20622694 A JP20622694 A JP 20622694A JP H07182256 A JPH07182256 A JP H07182256A
Authority
JP
Japan
Prior art keywords
computer
application
dde
clipboard
conferencing
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.)
Granted
Application number
JP6206226A
Other languages
English (en)
Other versions
JP2613022B2 (ja
Inventor
Maltby John
ジョン・メルトビィ
Phipps Simon
サイモン・フィップス
Vincent Sethi
ビンセント・セシ
Singleton Pinns
ピンス・シングルトン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07182256A publication Critical patent/JPH07182256A/ja
Application granted granted Critical
Publication of JP2613022B2 publication Critical patent/JP2613022B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【目的】 コンピュータネットワークを介した動的デー
タ交換の提供 【構成】動的データ交換(DDE) は1つのアプリケーショ
ン内のデータ項目に対する更新をもう1つののアプリケ
ーションに通知又はコピーするプロセスである。、第1
のアプリケーションが1つのマシン 上にあり、そして
第2のアプリケーションがもう1つのマシン 上で走行
している。いずれのマシンも会議アプリケーションを走
行しており、通信リンクによりコンピュータネットワー
クを介して接続される。第1のアプリケーションは第1
のマシン上で、及び第2のアプリケーションは第2のマ
シン上でそれぞれ会議アプリケーションとのDDE 会話に
従事する。第1のマシン上の会議アプリケーションによ
り第1のアプリケーションから受信した更新は、ネット
ワークを介して第2のマシン上の会議アプリケーション
に伝送され、そして第2のアプリケーションにコピー又
は通知される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータネットワー
ク上で動的データ交換(DDE) を実行し、該ネットワーク
内の第1のコンピュータにある第1のアプリケーション
により行われた更新を、該ネットワーク内の第2のコン
ピュータにある第2のアプリケーションにコピーする方
法に関する。
【0002】
【従来の技術】OS/2(IBM社の商標)又はウィンドウ(wind
ows(マイクロソフト社の商標))のような多重タスクのオ
ペレーティングシステムを実行するパーソナルコンピュ
ータは、同時に2つ以上のアプリケーションの実行をサ
ポートできる。ユーザはときどき1つのアプリケーショ
ンから、別のアプリケーションに、データをコピーす
る、例えば、スプレッドシートからの数字を、ワードプ
ロセッサ上に作成されるリポートに、コピーできること
が必要である。この転送を実行する1つの方法は、第1
のアプリケーションからのデータをハードディスク上の
ファイルに書込んだのち、そのファイルを検索して第2
のアプリケーションに移すことである。これは簡単では
あるが割合に扱いにくい。
【0003】このような動作を実行するために、OS/2又
はウィンドウのオペレーティングシステムは、クリップ
ボードとして知られた、より精巧な機能を提供する。ア
プリケーションは(実効的に一個のメモリでありオペレ
ーティングシステムに従属する)クリップボードにデー
タをコピーする。そして別のアプリケーションがクリッ
プボード上で何が使用できるかを見出だすために該オペ
レーティングシステムに質問し、そしてもし必要なら、
クリップボードからデータのコピーを取る。通常、アプ
リケーションは該データを幾つかの異なるフォーマット
でクリップボードに書込み、そして受信側のアプリケー
ションは、これらのデータフォーマットのどれがデータ
を受信したいかを指定する。全てのアプリケーションが
使用できる幾つかの基準フォーマットがある。クリップ
ボードはテキスト、イメージ等の交換に用いることがで
きる。
【0004】1つの軽微な複雑化の要因は、遅延された
引渡しをクリップボードがサポートすることである。こ
の場合、データ自身は特定のフォーマットに関してはク
リッブボードに供給されず、むしろ該データに対する指
示のみである。データ自身は、別のアプリケーションが
当該特定のフォーマットを要求するときのみ、原始アプ
リケーションから供給される。クリップボードに送られ
たデータの特定の部分のフォーマットの一部、全部の遅
延された引渡し又はそれらを含まない遅延された引渡し
を用いることが可能である。
【0005】ユーザがクリップボード機能を用いうる典
型的な状況は、1つの文書から他の文書にテキストの一
部分をコピーすることである。ユーザは(通常はマウス
又はカーソルにより)コピーすべきテキストを最初に識
別し、そしてこのテキストをクリップボードに入れる適
切なメニューオプションを選択する。そしてアプリケー
ションは、例えば、テキストファイル、ビットマップ、
メタファイル、及びフォーマット情報を完備した小規模
の文書、等のような種々のフォーマットでテキストをオ
ペレーティングシステムに引渡す(オペレーティングシ
ステムは共通の所定のフォーマットのリストを指定する
が、アプリケーションはそれ自身の特定の即ち専用のフ
ォーマットを用いることもできる)。そしてユーザは別
のアプリケーションでテキスト/データのクリップボー
ドからの検索を要求できる。このような要求は、使用で
きるフォーマットの1つの選択をアプリケーションに求
めることになる。アプリケーションは自動的にどのフォ
ーマットをとるべきかを決定する(たぶんそれは特定の
フォーマットのみを受け入れる)か、又はこの選択をユ
ーザに引渡すことができる。
【0006】アプリケーションは(オペレーティングシ
ステム呼出しを介して)クリップボードの所有者又は観
察者になることを要求できる。クリップボードからのテ
キスト/データが要求される毎に通知を受信するアプリ
ケーションの遅延された引渡しのために、所有者になる
ことが必要である。アプリケーションは、それがクリッ
プボードの観察者になると、別のアプリケーションがク
リップボードに何かを書込むときに必ず通知を受取るこ
とになる。
【0007】クリップボードは一回限りの転送によく適
している。しかしながら、第1のアプリケーションにあ
るデータの特定の部分が定期的に更新され、そしてこれ
らの更新の各々が第2のアプリケーションにコピーされ
ることになっている場合、クリップボードの反復使用は
単調であり不便である。この問題はOS/2及びウィンドウ
に、動的データ交換(DDE) と呼ばれる新たな機能を設け
て処理される。DDE では、第1のアプリケーション(サ
ーバー)から第2のアプリケーション(顧客)にデータを
コピーするリンクがセットアップされる。名前が示すよ
うに、リンクは動的であるので、リンクが維持される限
り、サーバーのアプリケーション内の選択されたエント
リに対する変更は自動的に顧客のアプリケーションにコ
ピーされる。換言すれば、顧客はサーバー内のデータの
影又は鏡を含む。
【0008】OS/2又はウィンドウ内のアプリケーション
は2つの方法の1つでDDE を開始できる。第1の方法
(実際には今まで殆ど使われていない)では、アプリケー
ションはノードで実行中の他のアプリケーションに対し
てINITIATE(開始)メッセージを同報通信する。このメッ
セージは、ASCII テキストストリング中で、区切り文字
として0を用いて、下記の情報: アプリケーション名、
見出し、項目を含む。これらの情報の始まりが原始アプ
リケーションの識別に用いられ、そして見出しが特定の
データファイル又はどれかの指定に用いられると同時
に、項目がデータファイル内の位置を指示する。例え
ば、スプレッドシートは見出しとしてスプレッドシート
名を与え、そしてたぶん"R1C1"を最初の行及び最初の列
にあるデータセルを識別する項目として用いる。親ノー
ドとともにDDE に参加したいと望むメッセージを受信す
るアプリケーションは肯定的に応答し、そしてDDE 会話
をセットアップすることができる。
【0009】事実上の基準になっている第2の方法はク
リップボードを介してDDE を開始することになってい
る。データの一部分がクリップボードにコピーされると
き、使用されるフォーマットの1つはDDE を表わす専用
フォーマットである。この専用フォーマットにより記憶
されるデータは実際には前述のようなアプリケーショ
ン、見出し、及び項目パラメータである。ユーザがこの
データを検索して第2の(顧客)アプリケーションに入れ
るとき、DDE を与えるものとしてこの専用フォーマット
が指示される。このオプションが選択されると、顧客ア
プリケーションが応答してDDE の開始を要求する。この
応答は実際には、原始サーバーにより認識されるアプリ
ケーション及び見出しを含むメッセージの同報通信によ
り実行され、DDE 会話の開始に至る。会話は実際には2
つのウィンドウ、即ちサーバーに属するウィンドウと顧
客に属するウィンドウの間で行われる。これらはウィン
ドウハンドルとして知られた識別子によりアクセスされ
る。
【0010】よって、ユーザはサーバー及び顧客アプリ
ケーションの間のDDE 接続を開始することができる。こ
のDDE 会話の開始で、サーバーと顧客はそれらの間のデ
ータ転送のために用いるデータフォーマットに関して交
渉する。明らかに、DDE が働くためには、DDE への招待
としてサーバーによりクリップボード上に置かれた専用
フォーマットを顧客が認識し、そしてそれらが少なくと
も1つの共通のデータフォーマットをサポートする程度
まで、顧客とサーバーに互換性がなければならない。
【0011】DDE リンクには、コールド、ウォーム及び
ホットとして知られた3つの共通のモードがある。コー
ルドリンクでは、サーバーに対して行われた更新は顧客
の特定の要求で顧客に引渡されるだけである。ウォーム
リンクでは、サーバーは更新が行われる毎に顧客に通知
するので、顧客は関連した更新のコピーを要求できる。
最後に、ホットリンクでは、サーバーは新しい更新が行
われる毎に更新を顧客にコピーする。アプリケーション
によっては、ユーザはDDE リンクのタイプを、他のユー
ザが自動的に選択を行うとの条件で選択することができ
る。従来のDDE会話の間の実際の制御及び交換されたデ
ータメッセージは当業者にはよく知られている。
【0012】ユーザの将来の見通しからのOS/2環境にお
けるDDE 及びクリップボードの簡単な説明が文献 "Now
That I Have 0S/2 v2.0 On My Computer - What Do I D
o Next ?" by S Levenson and E Hertz, Van Nostrand
Reinhold, New York, 1992に発表されている。より詳細
な記述は文献 "OS/2 2.0 Technical Library: Programm
ing Guide, Volume II, version 2", from Internation
al Business MachinesCorporation, document referenc
e number S100-6494-00に記載されている (特にクリッ
プボード及びDDE に関する情報についてはそれぞれ31
章及び32章を参照されたい)。
【0013】
【発明が解決しようとする課題】DDE は今日ではシング
ルマシン上で広く使用できる機能であるけれども、ロー
カルエリアネットワーク(LAN) のようなネットワークに
よりパーソナルコンピュータを互いにリンクする傾向が
増大している。文献 Microsoft Windows for Workgroup
s Resource Kit(Document number 0033-37275)に1つの
可能なアプローチが記述されている(特に11章を参照
されたい)。しかしながら、本明細書での解決方法は、
特にネットワークを通じて作動するように設計されてい
る、同じオペレーティングシステムを走行する全てのネ
ットワークユーザに基づくものとされている。別々のマ
シンのユーザは、たとえそのマシンが主として独立マシ
ンのために設計された異なるオペレーティングシステム
を走行していても、ネットワークを介してできるだけ多
く対話できることが望ましい。従って、本発明の第1の
目的は、コンピュータネットワークを介して動的データ
交換(DDE) を実行する方法及び装置を提供することにあ
る。本発明の第2の目的は、前記ネットワーク内の第1
のコンピュータにある第1のアプリケーションにより行
われた更新を、前記ネットワーク内の第2のコンピュー
タにある第2のアプリケーションにコピーすることによ
り、動的データ交換(DDE) を実行する方法及び装置を提
供することにある。本発明の第3の目的は、前記第1及
び第2のコンピュータの各々が会議アプリケーションを
走行することにより動的データ交換(DDE) を実行する方
法及び装置を提供することにある。
【0014】
【課題を解決するための手段】本発明の方法は、コンピ
ュータネットワーク内の第1及び第2のコンピュータが
それぞれ会議アプリケーションを走行し、第1のコンピ
ュータにある第1のアプリケーションにより行われた更
新を、コンピュータネットワークを介して第2のコンピ
ュータにある第2のアプリケーションにコピーすること
により、動的データ交換(DDE) を実行する。本発明の方
法は、第1のコンピュータ上を走行する第1のアプリケ
ーションと会議アプリケーションの間のDDE を実行する
ステップと、第1のコンピュータ上の会議アプリケーシ
ョンが第1のアプリケーションから受信した更新を第2
のコンピュータ上の会議アプリケーションに転送するス
テップと、第2のコンピュータ上を走行する会議アプリ
ケーションと第2のアプリケーションの間のDDE を実行
して第2のコンピュータ上の会議アプリケーションが受
信した更新を第2のアプリケーションに供給するステッ
プとを含む。
【0015】実際に起きていることは、2つの別個のDD
E 会話、即ちマシン毎に1つのDDE会話が進行中であ
り、そしてこれらは2つの会議アプリケーションにより
リンクされ、更新を第1のマシン上の第1のアプリケー
ションから第2のマシンに転送し、第2のマシンにある
第2のアプリケーションに前記更新を通知し又はコピー
することを可能にする。本発明の重要な特徴は、アプリ
ケーションの各々がそれに対してシングルマシン上の通
常のDDE 会話であるように見えるものに関わるから、既
存のアプリケーションを、それらがネットワークを介し
たDDE を利用するために、変更する必要がないことであ
る。
【0016】良好な実施例では、コンピュータネットワ
ークを介したDDE は、第1のコンピュータ上の第1のア
プリケーションからクリップボードに資料を提示するス
テップと、第1のアプリケーションがクリップボードに
資料を提示したことを知らせる通知を第1のコンピュー
タ上の会議アプリケーションで受信し、そして前記提示
された資料に関して使用できるフォーマットのリストを
取得するステップと、前記使用できるフォーマットのリ
ストを第2のコンピュータに転送するステップと、前記
使用できるフォーマットのリストを第2のコンピュータ
上のクリップボードに提示するステップと、第2のアプ
リケーションからの要求に応答して、第2のコンピュー
タ上の会議アプリケーションと第2のアプリケーション
の間のDDE を開始し、そして第2のコンピュータ上の会
議アプリケーションから第1のコンピュータ上の会議ア
プリケーションに前記要求を転送するステップと、第1
のコンピュータで前記要求を受信するのに応答して、第
1のコンピュータ上の会議アプリケーションと第1のア
プリケーションの間のDDE を開始するステップとにより
開始される。
【0017】DDE 会話を開始するこの方法は前述の第2
の方法(即ち、実際に広く用いられている方法)に対応
する。第1の方法の理論では、会議アプリケーションは
ネットワーク中でINITIATE(開始)メッセージの同報通信
に使用できるが、このような方法に関する要求は実際に
は殆どない上に、ネットワークの通信オーバーヘッドが
ずっと大きくなるであろう。
【0018】第2のコンピュータの会議アプリケーショ
ンは、そのアプリケーション名を第1のコンピュータの
識別子を含む名前と置き換えることにより、DDE に対応
するフォーマットに関連したデータを変更することが望
ましい。これは第1のアプリケーションと同じ名前を有
するアプリケーションが第2のコンピュータ上で走行中
である場合に起こりうる問題を回避する。この名前の変
更は第1のコンピュータで行うこともできる。
【0019】遅延された引渡しを用いる第2のコンピュ
ータのクリップボードに、使用できるフォーマットのリ
ストを提示することにより、実際には決して要求されな
いクリップボードフォーマットに関する余分なネットワ
ーク通信量が回避されるので都合がよい。実際には、DD
E フォーマットに関連したデータは単にアプリケーショ
ン名、見出し及び項目を含むストリングであるので、DD
E フォーマットの遅延された引渡し自体は多くの帯域幅
を節減するものではない。しかしながら、これは、例え
ばかなりの帯域幅を必要とするビットマップを含む、全
ての他のクリップボードフォーマットと同じ方法をDDE
に用いることを可能にする。しかしながら、遅延された
引渡しの下でクリップボードに情報を供給するためのオ
ペレーティングシステムからのコマンドは一定の処理を
トリガーするのに用いうる。さもなければ、前記処理は
それまでにDDE が要求されたかどうかに関係なく早期に
実行する必要がある。
【0020】この方法は更に前記第1及び第2のコンピ
ュータの各々でDDE 会話の一意的な識別子を生成するス
テップと、DDE 会話を識別する一意的な識別子の対を用
いるステップとを含むことが望ましい。これらは所与の
マシンでDDE 会話毎に順次に生成できるので、当該会話
を識別する簡単な方法を提供する。ネットワーク上で類
似の名前のアプリケーションの間で同時に行われる複数
のDDE 会話がある場合、この方法は特に価値がある。識
別子を用いるとき、第1及び第2のコンピュータ上の会
話アプリケーションの各々により維持されたウィンドウ
ハンドルにこれらを関連づけることは都合がよい。これ
は関連したウィンドウハンドルに入るメッセージの迅速
な識別及び処理を可能にする。
【0021】コンピュータネットワーク上のDDE は第1
及び第2のコンピュータが異なるオペレーティングシス
テムを走行する場合にも用いることができる。前記状況
では、コンピュータ間で全てのメッセージが第1のオペ
レーティングシステムと互換性のあるフォーマットで転
送されることが望ましい。これは、第2のオペレーティ
ングシステムを走行するコンピュータが第1のオペレー
ティングシステムを走行中のコンピュータに転送するメ
ッセージを前記フォーマットに変換し、そして第1のオ
ペレーティングシステムを走行中のコンピュータから受
信したメッセージを前記フォーマットから変換する必要
があることを意味する。
【0022】本発明はコンピュータネットワークを介し
て動的データ交換(DDE) をサポートするコンピュータワ
ークステーションを提供し、前記コンピュータワークス
テーションにある第1のアプリケーションにより行われ
た更新が、前記ネットワークを介して遠隔コンピュータ
ワークステーションにある第2のアプリケーションにコ
ピーされる。前記コンピュータワークステーションは、
コンピュータワークステーション上で第1のアプリケー
ションと第1の会議アプリケーションの間のDDE を実行
する手段と、第1の会議アプリケーションが受信した更
新を遠隔コンピュータ上の第2の会議アプリケーション
に転送する手段と、遠隔コンピュータ上の第2の会議ア
プリケーションからメッセージを受信する手段と、前記
受信したメッセージに応答して、第1の会議アプリケー
ションからのDDEメッセージを前記第1のアプリケーシ
ョンに転送する手段とを備える。
【0023】
【実施例】図1はシステムユニツト10、表示装置12、キ
ーボード14及びマウス16を備えるコンピュータシステム
の簡略化された概要図である。システムユニット10はマ
イクロプロセッサ22、半導体メモリ(ROM/RAM) 24、及び
データを転送するバス26を備える。図1のコンピュータ
はIBM PS/2のような従来のワークステーションであれば
どれでもよい。図1のコンピュータはネットワークアダ
プタカード30を備えている。このカードは、付随するソ
フトウェアとともに、コンピュータワークステーション
によるメッセージの送受信を可能にする。種々の形式の
ネットワークアダプタカードがトークンリング、エサー
ネット、ISDN等のようなネットワークとともに使用でき
る。ネットワークアダプタカードの動作はよく知られて
いるので、詳細な説明は行わない。
【0024】図2は本発明を理解するのに必要な2つの
端末A及びB上のメインソフトウェア構成要素を示す。
両端末A及びBは通常は図1に示すようなワークステー
ションであり、そしてそれぞれの端末でオペレーティン
グシステムによりそれぞれサポートされるクリップボー
ド("クリップボードA"及び"クリップボードB")を備え
る。2つの端末はネットワークリンクにより各端末で適
切な通信ソフトウェア("COMMS") と接続される。前記通
信ソフトウェアは、技術的にもよく知られているネット
ワークアダプタカードとインタフェースする。
【0025】端末A及びBは、この2つの端末間のDDE
を実現する責任を有する会議ソフトウェアも実行する。
この会議ソフトウェアは端末A及びBでそれぞれP2P-A
及びP2P-B と呼ばれる。P2P-A 及びP2P-B は、それらの
現在の目的はたぶん最も簡単にCOMMS ソフトウェアを向
上させるものと見なされるけれども、オペレーティング
システムに関する限り、追加のアプリケーションに過ぎ
ない。P2P-A 及びP2P-B は従来の通信プロトコルを用い
て端末A及びBの間でメッセージを交換するためにCOMM
S ソフトウェアと対話する。P2P-A 及びP2P-B の動作に
ついて以下に詳述する。
【0026】端末A及びBの間のDDE を提供できるかど
うかは1つのマシンから別のマシンにクリップボード情
報を転送する能力による。このような機能を実行するた
めの手法はヨーロッパ特許出願第93306880.1号に記述さ
れている。この手順のうち本発明を理解するのに必要な
部分については本明細書で図3の流れ図に関連して説明
する。
【0027】アプリケーションプログラム("APPN A")と
P2P-Aの一部であるルーチン("CLIPSEND")とは、端末B
上で走行するアプリケーションプログラム("APPN B")と
ともに端末A上で走行する。CLIP SEND はCOMMS システ
ムを用いて端末Bにメッセージを送り、端末Bで、P2P-
B の一部である、別のルーチン("CLIP RECEIVE")を活動
化する。CLIP SEND は、通常のクリップボード操作に従
ってオペレーティングシステム呼出しを行い、クリップ
ボードAの観察者になる。ユーザは端末AでAPPN Aから
の適切な資料を選択し、これを通常の方法でクリップボ
ードAにコピーする。CLIP SEND はクリップボードAの
観察者であるので、クリップボードAのあらゆる更新に
ついて通知される。それがクリップボードAの変更を通
知されると、CLIP RECEIVEに送る使用可能なフォーマッ
トのリストを要求する。CLIP RECEIVEはこの時点でクリ
ップボードBの所有権を取得し、そして遅延された引渡
しを用いてフォーマットのリストを挿入する(即ち、ヌ
ルポインタをオペレーティングシステムに引渡す)。こ
れは実際のデータ自体の転送に関連した帯域幅オーバー
ヘッドを回避する。従って、クリップボードAの内容が
クリップボードBに再生される。
【0028】本発明はOS/2オペレーティングシステムに
限定されないけれども、OS/2動作環境では、図3に示す
ような特定の呼出しが下記のように与えられる。CLIP S
ENDがWINSETCLIPBRDVIEWER を用いてクリップボードA
の観察者になり (ステップ310)、そしてAPPN AがWINSET
CLIPBRDDATA を用いてクリップボードAにデータを挿入
する (ステップ320)。これにより通知WM_DRAWCLIPBOARD
がCLIP SEND に送られる (ステップ330)。CLIP SEND が
WINENUMCLIPBRDFMTSを用いてクリップボードAに質問
し、クリップボード上のデータを使用できるフォーマッ
トのリストを取得する (ステップ340)。それは通常のメ
ッセージングソフトウェアを用いてこのリストを遠隔端
末Bに引渡す (ステップ350)。そしてCLIP RECEIVEが呼
出しWINSETCLIPBRDOWNERを用いてクリップボードBの所
有者になる (ステップ360)。そしてWINSETCLIPBRDDATA
で遅延された引渡しオプションを用いてフォーマットが
クリップボードBに挿入され、そしてユーザ選択のため
に使用可能になる (ステップ370)。この時点で種々のク
リップボードフォーマットがAPPN B内から使用可能であ
る。これらのフォーマットの1つがAPPN BによりDDE に
対応するものとして認識され、そしてこのオプションが
ユーザに提供される。本発明の目的のために、端末Bの
ユーザはこのエントリをDDE に対応して選択すると仮定
することができる (ネットワーククリップボードに関す
る前述の特許出願では任意の他のフォーマットの選択が
論議されている)。
【0029】図4はDDE 要求を満たすのに必要な処理を
示す。ユーザはDDE に対応するクリップボードエントリ
を最初に選択し、それによりAPPN Bからクリップボード
Bに対して(OS/2内の)WINQUERYCLIPBRDDATA が呼出され
る (ステップ410)。遅延された引渡しを用いて全てのフ
ォーマットが (決して要求されないフォーマットを転送
する帯域幅を節減するために) クリップボードBに挿入
されるから、オペレーティングシステムはWM_RENDERFMT
を用いてクリップボード要求をCLIP RECEIVE、クリップ
ボードエントリの起点に戻す (ステップ420)。この要求
はCLIP RECEIVEからCLIP SEND に送られるメッセージに
変換される (ステップ430)。この時点で、 "アプリケー
ション、見出し、項目" に対応するデータストリングを
生成するWINQUERYCLIPBRDDATA を用いて、CLIP SEND が
クリップボードA上の対応するエントリに質問する (ス
テップ440)。これは前記クリップボードから直に取得で
き、又は遅延された引渡しを用いてAPPN Aにより生成で
きる (ステップ450)。そしてCLIP SEND はこのデータス
トリングを含むメッセージをCLIP RECEIVEに送る (ステ
ップ460)。
【0030】関連する専用フォーマットはこの時点でDD
E の提供を表わすことをP2P-B が識別できることが必要
である。DDE を表わす "リンク"、"オーナーリンク"、"
オブジェクトリンク" のようなフォーマット記述子を用
いる種々の市販のアプリケーションが検査され、見つか
っている。関連したデータストリングからDDE フォーマ
ットを認識できることもある。ひとたびDDE フォーマッ
トが認識されたならば、P2P-B は関連したデータストリ
ングを変更する (ステップ470)。従ってアプリケーショ
ン名がAPPN AからP2P-A 又は類似のものに変更される。
新しいアプリケーション名には "P2P"が前置きされ、ノ
ードBの他のアプリケーションがエントリのソースにつ
いて混同されるのを阻止する。そして "P2P"には "A"が
添付され、親ノードの識別を表わす。この名称変更を実
行することが絶対に必要ではないが、APPN Aと同じ名前
を持つアプリケーションが同様に端末B上をたまたま実
行している場合に問題が起きる。下記に説明するよう
に、これは間違ったアプリケーションとのDDE 開始に至
ることになる。ノードA及びBの間の並行DDE 会話をサ
ポートしたいと望む場合、更にノードAのサーバーアプ
リケーションのうちのある識別子を新しいアプリケーシ
ョン名に付加する必要があるかも知れない。見出し及び
項目パラメータは変更されない。そして、WINSETCLIPBR
DDATA を用いてクリップボードBに返送され (ステップ
480)、APPN Bに供給される (ステップ390)のは、この変
更された情報である。
【0031】ひとたびそれがP2P-B からの遅延された引
渡しによりDDE データストリングを受信したならば、AP
PN BはINITIATEメッセージの送出により通常の方法でDD
E の開始を試み、そして通常のDDE 動作に従って肯定応
答が来るのを待つ。このデータストリングはP2P-B によ
り認識され、そしてP2P-B はそれからP2P-B とAPPN Bの
間のDDE 会話でサーバーとして動作する。アプリケーシ
ョンの名称変更により、P2P-B のみがこのアプリケーシ
ョンを認識する。変更がない場合、Bで走行中の、APPN
Aと同じ名前を持つ第3のアプリケーションが肯定的に
応答し、間違ってAPPN Bとこの第3のアプリケーション
の間のDDE に至ることになる。APPN Bに関する限り、こ
のDDE 会話は完全に従来のものに見えるが、実際には、
下記に説明するようにP2P-B のみが中継局として動作し
ている。真の目標アプリケーション、即ちAPPN Aにより
いま置き換えられたP2P-A のアプリケーション名を除く
INITIATEメッセージがP2P-B からP2P-A に送られる。そ
してP2P-A がそれ自身のINITIATEメッセージを送る。こ
のメッセージはAPPN Aにより認識され、APPN AとP2P-A
の間の指定された見出しのDDE 会話をセットアップする
に至る。APPN AからP2P-A への肯定応答がP2P-B に中継
され、適切な変更ののち肯定応答をAPPN Bに送り、端末
BでAPPN BとP2P-B の間のDDE 会話を確認する。APPN B
はこの肯定応答が届くのを待つ必要があるから、所定の
時間(例えば、10秒間)内にマシンAから何も受信しない
場合には、P2P-B がそのDDE を打切るメッセージをAPPN
Bに返送できるように、P2P-B はタイマを備える。
【0032】このメッセージ交換の総合的な結果は2つ
のDDE 会話がセットアップされることである。その1つ
はサーバーとしてのAPPN Aと顧客としてのP2P-A の間の
マシンA上のDDE 対話であり、他の1つはサーバーとし
てのP2P-B と顧客としてのAPPN Bの間のマシンB上のDD
E 対話である。これらの2つの会話はリンクされ、P2P-
A はAPPN Aから顧客としての更新信号を受信すると、そ
れらをP2P-B に通知するかコピーし、そしてP2P-B は前
記更新信号をAPPN Bに通知するかコピーする。従って、
APPN Bに関する限り、P2P-B はAPPN Aであるように振舞
う。
【0033】P2P-A 及びP2P-B はマシンAのAPPN Aとマ
シンBのAPPN Bの間のDDE 会話の仲介者としてふるま
う。重要な特徴は、APPN A及びAPPN Bに関する限り、そ
れらはP2P-A 及びP2P-B との従来のDDE 会話をそれぞれ
行っているに過ぎない。これはネットワークDDE 機能を
利用するためにAPPN A又はAPPN Bを変更する必要がない
ことを意味する。これは既存のアプリケーションとの完
全な互換性を与えるからかなりの利点である。ユーザが
気づくことがある唯一の若干の矛盾は、APPN Bがユーザ
にサーバーの名前を与えるかどうかである。なぜなら、
これはAPPN AよりはむしろP2P-B のように見えるからで
ある。しかしながら、これによって実際にユーザに混乱
が起きるおそれはない。
【0034】図5はDDE 会話をセットアップする際の端
末Bの動作を示す。P2P-B はP2P-Aを介してアプリケー
ション名、見出し及び項目を受信すると、 (即ち、図4
のステップ470 に対応する時点で)、 クリップボードB
に挿入されたアプリケーション名及び見出し、原始アプ
リケーション名(APPN A)、及びマシンAとマシンBの間
の経路指定メッセージに用いられる通信識別子 (例えば
"h") を含むエントリをテーブル内に生成し (ステップ
510)、そしてリスト中のアプリケーション名及び見出し
に適合するINITIATEメッセージを待ち (ステップ520)、
そののち識別子iを生成する (ステップ530)。P2P-B に
関連するノードB上のDDE 会話の各々はそれ自身の一意
的なiの値を割当てられる。そして復元された原始アプ
リケーション名とともにINITIATEメッセージがP2P-A に
送られる (ステップ540)。そして端末Aにより生成され
た識別子jを含む肯定応答にP2P-A が応答するか、ある
いは手順をタイムアウトしてもよい (ステップ550)。こ
のDDE 会話を識別するために将来の全てのDDE メッセー
ジで一意的な対(i,j) が用いられる。INITIATE_ACK(肯
定応答開始)は、前記肯定応答が受信されるまでP2P-B
がそれ以上の動作を遅延させるから、端末Bが事前にj
の知識を持たなくてもINITIATE (開始) に関連づけられ
る。そしてP2P-B はAPPN BとのDDE 会話のためのウィン
ドウハンドル (このハンドルには情報として識別子i、
j及び通信識別子hが付加されている)及び (最初のINI
TIATEメッセージで供給されたような) APPN Bのウィン
ドウハンドルを取得する (ステップ560)。この時点でP2
P-B はINITIATE_ACKをAPPN Bに返送し、DDE の開始を可
能にする (ステップ570)。
【0035】図6は図5に示す端末Bの動作 (実効的に
それらの動作は図5のステップ540とステップ550 の間
で起きる) と相補的な端末Aの動作を示す。P2P-A はノ
ードBからINITIATEメッセージを受信し (ステップ61
0)、そしてそれに含まれたアプリケーション名を用い
て、INITIATEメッセージを送出する (ステップ620)。IN
ITIATEメッセージを送る前に、それはDDE 会話に用いる
ウィンドウハンドルを得る必要がある。ステップ630 に
示すように、P2P-A はAPPN Aから返送されたINITIATE_A
CKメッセージを受信し、そしてそれ自身の一意的な識別
子を生成する (ステップ640)。そしてi,j,h (通信識
別子) の値及びAPPN Aにより供給されたウィンドウハン
ドルは、このDDE 会話のためにP2P-A が有するウィンド
ウに付加される。そしてP2P-A はP2P-B に応答でき、こ
の肯定応答はjの値を含む (ステップ650)。
【0036】INITIATEメッセージの処理は、それらが全
てのアプリケーションに同報通信される点で、全ての他
のDDE メッセージと異なる。対照的に、後にDDE メッセ
ージが特定のウィンドウハンドルに送られ、図7に示す
ように処理される。APPN AからのDDE メッセージがP2P-
A のウィンドウハンドルで受信される (ステップ710)。
そしてこのメッセージから会話識別子i、j及び通信識
別子hの値を用いてメッセージが生成され (ステップ72
0)、P2P-B に送られる (ステップ730)。これは通常の入
力通信メッセージとして端末Bに到来する。i及びjの
値がメッセージから検索され、そしてP2P-B のDDE ウィ
ンドウハンドルの各々がi及びjの値が一致するまで順
次に検査される (ステップ740)。一致が見つかると、正
しいDDE会話が識別されている。この時点で、DDE メッ
セージはi及びjとともに記憶されたウィンドウハンド
ルを用いて顧客アプリケーションAPPN Bに転送される
(ステップ750)。反対方向、即ちサーバーから顧客への
代わりに顧客からサーバーへのメッセージの処理は厳密
に相似であることが理解されるべきである。
【0037】これまで説明した手順は同じオペレーティ
ングシステムを実行する2つのマシン (例えば、2つの
OS/2又は2つのウィンドウ) の間のDDE に適する。しか
しながら、交差プラットフォームのサポートが要求され
る場合、例えば第1のマシンがウィンドウを走行し第2
のマシンがOS/2を走行するとき、複雑化の要因が生ず
る。
【0038】解決すべき1つの問題は (アトムと呼ばれ
る) 数値を用いてクリップボード上にフォーマットを置
くことである。一般にアトムは特定のストリングを示す
ためにオペレーティングシステムで用いる伝達方式であ
る。一定の規格のフォーマットは予め割振られたアトム
を有する。例えばOS/2では、フォーマットCF_TEXT はア
トム1を有し、そしてCF_BITMAP はアトム2を有する
(CF_TEXT及びCF_BITMAPはそれぞれテキスト及びイメー
ジの特定のフォーマットである)。 専用のフォーマット
はそれら自身のアトム数値を持つ必要がある。これは適
切なストリングのオペレーティングシステムによる登録
により行われ、そして当該ストリングを示すためにアト
ムを再割当てされる。どの特定の専用ストリングにアト
ムが割当てられるかは現在のマシン状態に依存し、そし
てネットワーク中で変化する。専用フォーマットに割当
てられるアトムについては、特定のアトムに関連したス
トリングのオペレーティングシステムに質問するか、又
はその逆に質問する。
【0039】よって、端末Aから端末Bにクリップボー
ドをコピーするとき、アトム数値を直接転送することが
できない。なぜなら、予め割振られたフォーマットを除
き、それらはマシンに従属するからである。しかしなが
ら、これは、アトム数値自身というよりも、どれか特定
のフォーマットに関連した一意的なストリングを送るこ
とにより比較的容易に解決できる。そして受信端末は当
該ストリングの正しいアトムを当該端末のオペレーティ
ングシステムから取得できる (もし必要ならそれを登録
できる)。 OS/2では、ストリング "#1" は予め割振られ
たアトム1を有するフォーマット(CF_TEXTはフォーマッ
トに関連したストリングであるよりはむしろフォーマッ
トの名前である)に関連づけられ、 "#2"は予め割振られ
たアトム2を有するフォーマットに関連づけられ、以下
同様である。従って、OS/2では、下記の手順が2つの予
め割振られた専用のフォーマットのために使用できる。
対応するストリングを取得するためにクリップボードフ
ォーマットに対応するアトムが質問され、そして前記ス
トリングがネットワークを介して転送される。そして受
信端末では、このストリングが登録され、当該マシン上
の適切なアトムを取得することができる。フォーマット
CF_TEXT のために送られたストリングは "#1" であり、
CF_BITMAP の場合は "#2" である。以下同様である。も
ちろん、これらの予め割振られたフォーマットの場合に
代わりにアトム数値を直に送ることがありうるのは、こ
れらがネットワーク中の全てのOS/2マシン上で等しいか
らである。
【0040】ウィンドウオペレーティングシステムはOS
/2とは若干異なる。それは一定のフォーマットの予め割
振られたアトム数値も有するけれども、数値が必ずしも
OS/2に対応するとは限らない。例えば、両者は、アトム
数値1を割当てられるCF_TEXT をサポートするが、対照
的に、フォーマットCF_DSTTEXTは、OS/2では予め割振ら
れたアトム3を有し、そしてウィンドウでは予め割振ら
れたアトム数値129 を有する。もう1つの相違は、ウィ
ンドウでは、予め割振られたアトムの1つを質問する試
みがこれらの予め割振られたフォーマット (即ち、"#
1"、"#2"等) のストリングの登録を試みるときのような
エラーを生じることである。最後に、データフォーマッ
ト自身は必ずしも一致しないので、両システム上のCF_T
EXT は同じであるが、2つのオペレーティングシステム
上のCF_METAFILE は異なるフォーマットを表わす。従っ
て、フォーマット名/番号がときどき異なるだけではな
く、フォーマット自身が適合しないこともときどきあ
る。
【0041】テーブル1はOS/2及びウィンドウのオペレ
ーティングシステムの双方でのアトムの使用をまとめた
ものである。テーブル1の第1列 (フォーマット名) は
これらの2つのオペレーティングシステムの一方又は他
方 (ないしは双方) において予め割振られたフォーマッ
トの名前を表わす。そしてOS/2及びウィンドウの双方
で、当該フォーマットに割当てられる前記予め割振られ
たアトムが列挙される。この列で "n/a"は、CF_DSPMETA
FILEに関するウィンドウの場合のように、このフォーマ
ットが (もちろんそれが専用フォーマットとして用いら
れることがあっても) 特にオペレーティングシステムに
よりサポートされないことを表わす。そして各アトムに
ついて、それに関連したストリングが与えられる。この
ストリングが与えられると、オペレーティングシステム
に質問して対応するアトムを取得できる。ウィンドウの
場合、予め割振られたフォーマットはどれも関連したス
トリングを持っていない。
【0042】最後の列はP2P 会議アプリケーションによ
り使用されるストリングを表わし、内部通信における当
該フォーマットを示す。本質的にフォーマットは関連し
たOS/2ストリングによって転送される。よってOS/2マシ
ン上で、送信アプリケーション (即ちP2P-A)は容易にク
リップボード上のアトム数値に関連したストリングに質
問し、そして当該ストリングを転送する。しかしなが
ら、ウィンドウ送信マシンでは、アプリケーションP2P-
A はフォーマット名を決定するために最初にテーブル1
内の値を走査する必要がある。一致が見つからない場
合、その名前はオペレーティングシステムからその名前
が得られる専用フォーマットに対応し転送される。即
ち、この手順はOS/2の場合の手順に類似する。しかしな
がら、一致が見つかる (即ち、アトムが予め割振られた
ウィンドウフォーマットである) 場合、当該フォーマッ
トを示すために送るストリングがテーブル1の最後の列
から得られる。更に、OS/2及びウィンドウの間の若干異
なるフォーマット、例えばCF_BITMAP の場合、ウィンド
ウ会議アプリケーションはデータを転送前に変換して正
しいOS/2フォーマットにする必要がある。
【0043】OS/2受信マシン上で、別のOS/2マシンから
のストリングを受信するとき、アトム数値を得るために
到来ストリングをオペレーティングシステムに対して質
問する (そして必要なら登録する) ことができるので、
手順は簡単である。ウィンドウマシンから受信中である
場合、テーブル1の最後の列に従って、正確に同じ手順
が続く。ウィンドウとOS/2のストリング及びフォーマッ
トが一致する場合、クリップボードエントリはその起源
とは関係なく同じ方法で処理される。他のフォーマット
は、OS/2にそれらに等しいものがない場合、専用フォー
マットとしてクリップボードに入力される。このカテゴ
リはCF_METAFILE のようなフォーマットを含み、これら
のフォーマットは、両タイプのオペレーティングシステ
ムで同じ名前を有するけれども、プラットホーム毎に、
実際には2つの異なるフォーマットとしての処理を要す
る大きな相違がある。P2P ストリングのフォーマット名
は、それらがOS/2ストリングに対応しないとき、規格外
として選択されるので、偶然にそれらを認識し且つアク
セスを試みるOS/2アプリケーションはない。実際、一般
に任意のOS/2アプリケーションがウィンドウ専用フォー
マットを理解しアクセスしうる見込みはない。しかしな
がら、それらをクリップボード上に維持することは、も
しクリップボードBが更に別のマシン、今回はウィンド
ウマシンにコピーされれば、フォーマットがそこでは意
味があることを保証し、そしてマシンAとこの新しいコ
ンピュータの間のクリップボード動作を可能にする。
【0044】この手順はウィンドウオペレーティングシ
ステムをサポートする端末でストリングが受信される場
合には類似している。到来するストリングが別のウィン
ドウ端末から生じる場合にも、処理は簡単である。テー
ブル1からの関連した列を含む索引テーブルが探索さ
れ、そしてストリングが見つかる場合には、対応する予
め割振られた数値の決定ができる。あるいは、ストリン
グが見つからない場合には、オペレーティングシステム
に質問して当該専用フォーマットのアトムを取得するこ
とができる。本質的には、OS/2オペレーティングシステ
ムを実行する端末から前記ストリングが生じた場合に
は、同じ手順が続く。しかしながら、ウィンドウではサ
ポートされない予め割振られたOS/2のフォーマット (例
えば、"#6")にストリングが対応する場合には、アトム
を取得する前に "-OS/2.Format" がストリングに付加さ
れる。これは予め割振られたフォーマットに対応するス
トリングの記録を試みの前述のエラーの生起を回避す
る。しかしながら、このようなクリップボードエントリ
が更に別のOS/2マシンにコピーされる場合、"-OS/2.For
mat"を取り除き、新しいOS/2マシンで原始クリップボー
ドフォーマットエントリが有効に解釈される状態を保持
することができる。
【0045】OS/2とウィンドウの間でデータフォーマッ
トがいくらか異なる前述の場合に、ウィンドウマシン上
でデータを受信するとき、P2P は必要なデータ変換を実
行する必要がある点に注目されたい。換言すれば、デー
タフォーマットのOS/2バージョンがP2P で内部通信に用
いられ、そしてウィンドウマシンからの送信前にかつウ
ィンドウマシンによる受信時に、必要なあらゆる変換が
実行される。
【0046】上記手順はOS/2マシンとウィンドウマシン
の間で相互にクリップボードをコピーしうる。本発明に
関しては、これはDDE への案内を、遠隔マシンに、当該
マシンが親マシンと同じオペレーティングシステムを実
行するかどうかにかかわらず通知しうる。しかしなが
ら、DDE 自身の提供はOS/2とウィンドウでは同じではな
いという点で、別の問題が起きる。以下は特有の相違点
である: (a) OS/2及びウィンドウではメッセージの番号付与が異
なる; (b) OS/2では、メッセージは全て互いに独立している
が、ウィンドウでは、そうではない (例えば、REQUEST
(要求) メッセージに応答して受信したACK(肯定応答)
メッセージはDATA (データ) メッセージに応答して受信
したACK メッセージと異なる処理を要する; (c) OS/2では、2つのメッセージ構造、開始メッセージ
のためのDDEINIT 及び全ての他のメッセージのためのDD
ESTRUCT があるが、ウィンドウでは、4つの異なる構造
が用いられる; (d) OS/2では、各メッセージの処理は常に同じである
が、ウィンドウでは、メッセージ内の制御情報により処
理が異なる; (e) OS/2では、メッセージ中のデータが従う制御構造
が、そのメッセージが送信されるときオペレーティング
システムに引渡される1つの連続するメモリブロックに
含まれ、それ以上のメモリブロックの処理を要しないの
に対し、ウィンドウでは、メッセージの制御構造及びデ
ータはメッセージ毎に処理が異なり、あるものは前記構
造を含むメモリを指すメッセージパラメータを有し、あ
るものではパラメータはハンドルを含むメモリを指し、
前記ハンドルはそれ自身にデータを含むメモリを指し、
その他のものではメッセージパラメータはそれ自身が制
御構造であり;ある場合にはデータを含むメモリをメッ
セージを送ったプロセスにより解放する必要があり、他
の場合にはメッセージを受信するプログラムによりメモ
リを解放する必要があり;後者の2つのケースは制御構
造内のフラグにより決定される。
【0047】これらの相違の結果として、1つのオペレ
ーティングシステムから別のオペレーティングシステム
にメッセージを写像する際に注意が必要である。会議ア
プリケーションはOS/2フォーマットでメッセージを交換
するように実現される。よって、ウィンドウを実行中の
端末はどれも到来/送出メッセージに、即ちウィンドウ
送信については図7のステップ720 に対応し、そしてウ
ィンドウ受信については図7のステップ740 に対応して
追加の処理を実行する必要がある。
【0048】テーブル2はOS/2とウィンドウの間のメッ
セージの基本的な写像を示す。各ウィンドウシステムは
テーブル2と同等のものを含む索引テーブルを維持し、
それが必要な変換を実行することを可能にする。大部分
の場合、入力及び出力構造が与えられると、入力メッセ
ージから出力メッセージ関連データ項目を写像すること
は簡単であるので、この手順の詳細な説明は行わない。
本来、ウィンドウ制御情報及びデータは転送のためにOS
/2のDDESTRUCT フォーマットに写像され、そして受信時
にそこから取出される。OS/2とウィンドウの間の、異な
るデータフォーマット、例えば若干異なるビットマップ
構造に関して必要な変換も同様に比較的簡単である。も
ちろん、1つのマシンから別のマシンにクリップボード
データを移動する際にも同じ変換が用いられる。
【0049】処理中のDDE 会話毎に両方向に送られた前
のメッセージを、ウィンドウの会議アプリケーションが
記憶することにより、より厄介な状況が処理される。従
って、関連するDDE 会話に用いたウィンドウに関連づけ
られるのは、下記の項目:(a) このマシン上のアプリケ
ーションから最後に受信したメッセージ、(b) それに伴
うデータのハンドル、(c) 他のマシンから最後に受信し
たメッセージ、(d) それに伴うデータのハンドルであ
る。ウィンドウマシン上の開始シーケンスの一部として
ACK が受信されると、それはリンクによる転送のINITIA
TE_ACKに変換され、逆に、INITIATE_ACKは、もしそれが
ネットワークにより受信されれば、ウィンドウマシン上
のアプリケーションへの送付前に、再びACK メッセージ
に変換される。
【0050】テーブル3はメッセージのタイプに応答し
て生成されたACK メッセージ上でメモリ割振り及び解放
方式により実行される異なる処理を示す。テーブル3の
中の各エントリは対の形式であり、第1の部分は顧客か
らサーバーに送られ、そして第2の部分はサーバーから
顧客に (又はその逆に) 送られたメッセージに対する応
答を表わす。ウィンドウ内のDATA及びPOKE(ポーク)メッ
セージはフラグ"fRelease"を有する。このフラグは、も
しセットされれば、該メッセージを受信するプログラム
が該メッセージに関連したメモリを解放することを意味
し、さもなければ、メッセージを送信するプログラム
は、それが肯定応答を受信すると、それを解放すること
を意味する。これは受信端末として動作するウィンドウ
の会議アプリケーションで対応するフラグをセットする
ことによりエミュレートされ、そのとき目標アプリケー
ションにメッセージを出し、そしてそれに応じてそれ自
身のメモリの割振り及び解放を行う。従って、サーバー
及び顧客の両者はそれらが丁度シングルマシン上で動作
していたかのように振舞い、ネットワークDDE の透明性
を維持する。
【0051】本発明はサーバーとして動作する1つのマ
シン及び顧客として動作する1つのマシンにより記述さ
れているが、一般にコンピュータは2つの動作をしかも
同時にサポートできる。更に、本発明は2つのマシンの
ネットワークに限定されることはない。むしろDDE 会話
はずっと大きな会議における対のコンピュータの間で維
持できる。例えばIBM 社から市販されているソフトウェ
ア "パースン対パースン/2" は6人までの会議を可能
にする。また、本発明は主としてOS/2及びウィンドウオ
ペレーティングシステムに関して論述されているが、そ
の適用はそれに限定されず、動的データ交換をサポート
するシステムであれば、どれでも利用することができ
る。
【0052】
【表1】
【0053】
【表2】
【0054】
【表3】
【0055】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0056】(1) コンピュータネットワーク内の第1
及び第2のコンピュータの各々が会議アプリケーション
を実行しているとき第1のコンピュータ上の第1のアプ
リケーションが行った更新を第2のコンピュータ上の第
2のアプリケーションにコピーする際に前記コンピュー
タネットワークを介した動的データ交換(DDE) を提供す
る方法であって、第1のコンピュータで実行中の第1の
アプリケーションと会議アプリケーションの間のDDE を
実行するステップと、第1のコンピュータ上の会議アプ
リケーションが第1のアプリケーションから受信した更
新を第2のコンピュータ上の会議アプリケーションに転
送するステップと、第2のコンピュータで実行している
会議アプリケーションと第2のアプリケーションの間の
DDE を実行することにより、第2のコンピュータで会議
アプリケーションが受信した更新を第2のアプリケーシ
ョンに供給するステップとを含む方法。
【0057】(2) 第1のアプリケーションからの資料
を第1のコンピュータ上のクリップボードに提示するス
テップと、第1のアプリケーションが前記クリップボー
ドに資料を提示したことを知らせる通知を第1のコンピ
ュータで会議アプリケーションが受信し且つ前記提示さ
れた資料の使用可能なフォーマットのリストを取得する
ステップと、前記使用可能なフォーマットのリストを第
2のコンピュータに転送するステップと、第2のコンピ
ュータ上のクリップボードに前記使用可能なフォーマッ
トのリストを提示するステップと、第2のアプリケーシ
ョンからの要求に応答して、第2のコンピュータの会議
アプリケーションと第2のアプリケーションの間のDDE
を開始し且つ第2のコンピュータの会議アプリケーショ
ンからの前記要求を第1のコンピュータの会議アプリケ
ーションに転送するステップと、前記要求を第1のコン
ピュータが受信するのに応答して、第1のコンピュータ
の会議アプリケーションと第1のアプリケーションの間
のDDE を開始するステップとにより前記コンピュータネ
ットワークを介したDDE を開始するステップを更に含
む、請求項1の方法。
【0058】(3) 第2のコンピュータの会議アプリケ
ーションが、その中のアプリケーション名を第1のコン
ピュータの識別子を含む名前に置き換えることにより、
DDEに対応するフォーマットに関連したデータを変更す
るステップを更に含む、請求項2の方法。
【0059】(4)遅延された引渡しを用いて第2のコ
ンピュータのクリップボードに前記使用可能なフォーマ
ットのリストを提示する、請求項2又は3の方法。
【0060】(5) 前記第1及び第2のコンピュータの
各々でDDE 会話の一意的な識別子を生成し、そして前記
一意的な識別子の対を用いて前記DDE 会話を識別するス
テップを更に含む、請求項1乃至4のいずれかの方法。
【0061】(6) 第1及び第2のコンピュータの会議
アプリケーションの各々がウィンドウハンドルを維持し
且つ前記ウィンドウハンドルに前記一意的な識別子の対
を関連づけるステップを更に含む、請求項5の方法。
【0062】(7) 前記第1及び第2のコンピュータ
が第1及び第2のオペレーティングシステムを実行す
る、請求項1乃至6の方法。
【0063】(8) 前記第1のオペレーティングシステ
ムと互換性のあるフォーマットで全てのメッセージをコ
ンピュータ間で転送し、そして前記第2のオペレーティ
ングシステムを実行するコンピュータで前記第1のオペ
レーティングシステムを実行するコンピュータに転送す
るメッセージを前記フォーマットに変換し、そして前記
第1のオペレーティングシステムを実行するコンピュー
タから受信したメッセージを前記フォーマットから変換
するステップを含む、請求項7の方法。
【0064】(9) コンピュータワークステーションに
ある第1のアプリケーションにより行われた更新をコン
ピュータネットワークを介して遠隔コンピュータワーク
ステーションにある第2のアプリケーションにコピーす
るとき、前記コンピュータネットワークを介した動的デ
ータ交換(DDE) をサポートするコンピュータワークステ
ーションであって、前記コンピュータワークステーショ
ン上の第1のアプリケーションと第1の会議アプリケー
ションの間のDDE を実行する手段と、第1の会議アプリ
ケーションが受信した更新を遠隔コンピュータ上の第2
の会議アプリケーションに転送する手段と、遠隔コンピ
ュータ上の第2の会議アプリケーションからのメッセー
ジを受信する手段と、前記受信したメッセージに応答し
て、第1の会議アプリケーションからのDDE メッセージ
を前記第1のアプリケーションに転送する手段とを備え
るコンピュータワークステーション。
【0065】
【発明の効果】本発明によれば、コンピュータネットワ
ークを介して動的データ交換(DDE) を実行する方法及び
装置が提供され、前記ネットワーク内の第1のコンピュ
ータにある第1のアプリケーションにより行われた更新
を前記ネットワーク内の第2のコンピュータにある第2
のアプリケーションにコピーすることにより、動的デー
タ交換(DDE) が実行される。
【図面の簡単な説明】
【図1】典型的なコンピュータワークステーションの概
要ブロック図である。
【図2】図1のワークステーション上で走行するメイン
ソフトウェア構成要素の簡略図である。
【図3】第1のマシンのクリップボードエントリを第2
のマシンのクリップボードにコピーするプロセスを示す
流れ図である。
【図4】第1のマシンからのクリップボードエントリに
対する第2のマシンの要求の処理を示す流れ図である。
【図5】顧客のDDE 会話の開始を示す流れ図である。
【図6】サーバーのDDE 会話の開始を示す流れ図であ
る。
【図7】顧客とサーバーの間で引渡されるDDE メッセー
ジの処理を示す流れ図である。
【符号の説明】
10 システムユニツト 12 表示装置 14 キーボード 16 マウス 22 マイクロプロセッサ 24 半導体メモリ(ROM/RAM) 26 バス 30 ネットワークアダプタカード
フロントページの続き (72)発明者 サイモン・フィップス イギリス国ハンブシャー、サウザンブト ン、ハイフィールド、チェンバレン・ロー ド 53 (72)発明者 ビンセント・セシ イギリス国ハンブシャー、サウザンプト ン、ノーザン、ヨーク・クロウズ、クラレ ンス・ハウス 26 (72)発明者 ピンス・シングルトン イギリス国ノーザンツ、ダヴェントリー、 モートン・ピンキー、クルワース・ステイ ション(番地なし)

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】コンピュータネットワーク内の第1及び第
    2のコンピュータの各々が会議アプリケーションを実行
    しているとき第1のコンピュータ上の第1のアプリケー
    ションが行った更新を第2のコンピュータ上の第2のア
    プリケーションにコピーする際に前記コンピュータネッ
    トワークを介した動的データ交換(DDE) を提供する方法
    であって、 第1のコンピュータで実行中の第1のアプリケーション
    と会議アプリケーションの間のDDE を実行するステップ
    と、 第1のコンピュータ上の会議アプリケーションが第1の
    アプリケーションから受信した更新を第2のコンピュー
    タ上の会議アプリケーションに転送するステップと、 第2のコンピュータで実行している会議アプリケーショ
    ンと第2のアプリケーションの間のDDE を実行すること
    により、第2のコンピュータで会議アプリケーションが
    受信した更新を第2のアプリケーションに供給するステ
    ップとを含む方法。
  2. 【請求項2】第1のアプリケーションからの資料を第1
    のコンピュータ上のクリップボードに提示するステップ
    と、 第1のアプリケーションが前記クリップボードに資料を
    提示したことを知らせる通知を第1のコンピュータで会
    議アプリケーションが受信し且つ前記提示された資料の
    使用可能なフォーマットのリストを取得するステップ
    と、 前記使用可能なフォーマットのリストを第2のコンピュ
    ータに転送するステップと、 第2のコンピュータ上のクリップボードに前記使用可能
    なフォーマットのリストを提示するステップと、 第2のアプリケーションからの要求に応答して、第2の
    コンピュータの会議アプリケーションと第2のアプリケ
    ーションの間のDDE を開始し且つ第2のコンピュータの
    会議アプリケーションからの前記要求を第1のコンピュ
    ータの会議アプリケーションに転送するステップと、 前記要求を第1のコンピュータが受信するのに応答し
    て、第1のコンピュータの会議アプリケーションと第1
    のアプリケーションの間のDDE を開始するステップとに
    より前記コンピュータネットワークを介したDDE を開始
    するステップを更に含む、請求項1の方法。
  3. 【請求項3】第2のコンピュータの会議アプリケーショ
    ンが、その中のアプリケーション名を第1のコンピュー
    タの識別子を含む名前に置き換えることにより、DDE に
    対応するフォーマットに関連したデータを変更するステ
    ップを更に含む、請求項2の方法。
  4. 【請求項4】遅延された引渡しを用いて第2のコンピュ
    ータのクリップボードに前記使用可能なフォーマットの
    リストを提示する、請求項2又は3の方法。
  5. 【請求項5】前記第1及び第2のコンピュータの各々で
    DDE 会話の一意的な識別子を生成し、そして前記一意的
    な識別子の対を用いて前記DDE 会話を識別するステップ
    を更に含む、請求項1乃至4のいずれかの方法。
  6. 【請求項6】第1及び第2のコンピュータの会議アプリ
    ケーションの各々がウィンドウハンドルを維持し且つ前
    記ウィンドウハンドルに前記一意的な識別子の対を関連
    づけるステップを更に含む、請求項5の方法。
  7. 【請求項7】前記第1及び第2のコンピュータが第1及
    び第2のオペレーティングシステムを実行する、請求項
    1乃至6の方法。
  8. 【請求項8】前記第1のオペレーティングシステムと互
    換性のあるフォーマットで全てのメッセージをコンピュ
    ータ間で転送し、そして前記第2のオペレーティングシ
    ステムを実行するコンピュータで前記第1のオペレーテ
    ィングシステムを実行するコンピュータに転送するメッ
    セージを前記フォーマットに変換し、そして前記第1の
    オペレーティングシステムを実行するコンピュータから
    受信したメッセージを前記フォーマットから変換するス
    テップを含む、請求項7の方法。
  9. 【請求項9】コンピュータワークステーションにある第
    1のアプリケーションにより行われた更新をコンピュー
    タネットワークを介して遠隔コンピュータワークステー
    ションにある第2のアプリケーションにコピーすると
    き、前記コンピュータネットワークを介した動的データ
    交換(DDE) をサポートするコンピュータワークステーシ
    ョンであって、 前記コンピュータワークステーション上の第1のアプリ
    ケーションと第1の会議アプリケーションの間のDDE を
    実行する手段と、 第1の会議アプリケーションが受信した更新を遠隔コン
    ピュータ上の第2の会議アプリケーションに転送する手
    段と、 遠隔コンピュータ上の第2の会議アプリケーションから
    のメッセージを受信する手段と、 前記受信したメッセージに応答して、第1の会議アプリ
    ケーションからのDDEメッセージを前記第1のアプリケ
    ーションに転送する手段とを備えるコンピュータワーク
    ステーション。
JP6206226A 1993-11-02 1994-08-31 コンピュータネットワークを介した動的データ交換方法 Expired - Lifetime JP2613022B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9322587.8 1993-11-02
GB9322587A GB2283589A (en) 1993-11-02 1993-11-02 Dynamic data exchange over a computer network

Publications (2)

Publication Number Publication Date
JPH07182256A true JPH07182256A (ja) 1995-07-21
JP2613022B2 JP2613022B2 (ja) 1997-05-21

Family

ID=10744516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6206226A Expired - Lifetime JP2613022B2 (ja) 1993-11-02 1994-08-31 コンピュータネットワークを介した動的データ交換方法

Country Status (4)

Country Link
EP (1) EP0651330B1 (ja)
JP (1) JP2613022B2 (ja)
DE (1) DE69424251T2 (ja)
GB (1) GB2283589A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124461A (ja) * 1996-09-27 1998-05-15 Internatl Business Mach Corp <Ibm> コンピュータ及び実行方法
JP2013539109A (ja) * 2010-08-20 2013-10-17 ファスドットコム カンパニー リミテッド Drm環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体
JP2019530270A (ja) * 2016-07-29 2019-10-17 パーマネント プライバシー エルティディー 安全な暗号化に関連するアプリケーション
JP2022528075A (ja) * 2019-03-28 2022-06-08 ビーワイディー カンパニー リミテッド ヘテロジニアスオペレーティングシステムに基づくメッセージ伝送システム、方法及び車両

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
GB2353111A (en) 1999-08-07 2001-02-14 Ibm System for wireless communications between computers
US6704770B1 (en) * 2000-03-28 2004-03-09 Intel Corporation Method and apparatus for cut, copy, and paste between computer systems across a wireless network
DE10230690A1 (de) * 2002-07-08 2004-01-29 Siemens Ag Verfahren zur Aktualisierung von Diensten in Kommunikations-Netzwerken
US11848099B1 (en) 2020-01-15 2023-12-19 Navvis & Company, LLC Unified ecosystem experience for managing multiple healthcare applications from a common interface with context passing between applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0284860A (ja) * 1988-05-13 1990-03-26 Hitachi Ltd 対話通信方法およびシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051892A (en) * 1989-02-09 1991-09-24 International Business Machines Corp. Full duplex conversation between transaction programs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0284860A (ja) * 1988-05-13 1990-03-26 Hitachi Ltd 対話通信方法およびシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124461A (ja) * 1996-09-27 1998-05-15 Internatl Business Mach Corp <Ibm> コンピュータ及び実行方法
JP2013539109A (ja) * 2010-08-20 2013-10-17 ファスドットコム カンパニー リミテッド Drm環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体
JP2019530270A (ja) * 2016-07-29 2019-10-17 パーマネント プライバシー エルティディー 安全な暗号化に関連するアプリケーション
JP2022528075A (ja) * 2019-03-28 2022-06-08 ビーワイディー カンパニー リミテッド ヘテロジニアスオペレーティングシステムに基づくメッセージ伝送システム、方法及び車両

Also Published As

Publication number Publication date
EP0651330A2 (en) 1995-05-03
DE69424251D1 (de) 2000-06-08
GB2283589A (en) 1995-05-10
EP0651330A3 (en) 1995-11-29
EP0651330B1 (en) 2000-05-03
DE69424251T2 (de) 2001-01-04
GB9322587D0 (en) 1993-12-22
JP2613022B2 (ja) 1997-05-21

Similar Documents

Publication Publication Date Title
US6202100B1 (en) Object linking and embedding over a computer network
US8255359B2 (en) System and methods for asynchronous synchronization
US6574674B1 (en) Method and system for managing data while sharing application programs
US5987402A (en) System and method for efficiently retrieving and translating source documents in different languages, and other displaying the translated documents at a client device
WO1991010191A1 (en) Object oriented distributed processing system
JPH11331245A (ja) ネットワ―ク・ディレクトリ・アクセス機構及び方法
JP2002183066A (ja) 異種表示装置の間で文書を対象とする論議を支援するシステム、異種表示装置の間で文書を対象とする論議を支援するための方法、ならびにユーザ論議メッセージを転送するための方法
JP2000148708A (ja) 通信方法、サーバへアクセスする方法、通信システム、サーバにアクセスすることを指示するプログラムコードを含む記憶媒体
JPH07117932B2 (ja) プロセス間通信のための通信方法及び通信システム
JP2613022B2 (ja) コンピュータネットワークを介した動的データ交換方法
JPH06214743A (ja) 共同情報処理システム
US5432901A (en) Method of dynamically generating a local format for use by a logical unit in a VTAM-type communications session
JP2000020465A (ja) データ処理装置及び記憶媒体
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
JPH11312154A (ja) 協同作業支援システム及び記録媒体
JPH10254890A (ja) ネットワークを利用した各種サービスへのアクセス方式
JPH10134002A (ja) 共同作業支援システム、計算機、表示情報作成者連絡方法および記憶媒体
JPH07160631A (ja) データ共同編集システム
JPH10320367A (ja) ネットワーク移動可能なオブジェクト間の通信方法及び通信システム
JP2000089995A (ja) ネットワークにおけるワークスペースエレメントの多数のコピーを安全に同期させる方法およびシステム
JPH0991234A (ja) ワークフローシステム
JPH08249290A (ja) 分散システム
JPH09223050A (ja) 共有ファイルの利用方法
JPH0662048A (ja) ネットワークを利用した文書回覧方法
JP2973935B2 (ja) データベース環境の共有方法