JPH06202997A - ネットワーク・クリップボード機構を提供する方法及びネットワーク・クリップボード機構用の計算機 - Google Patents

ネットワーク・クリップボード機構を提供する方法及びネットワーク・クリップボード機構用の計算機

Info

Publication number
JPH06202997A
JPH06202997A JP5228690A JP22869093A JPH06202997A JP H06202997 A JPH06202997 A JP H06202997A JP 5228690 A JP5228690 A JP 5228690A JP 22869093 A JP22869093 A JP 22869093A JP H06202997 A JPH06202997 A JP H06202997A
Authority
JP
Japan
Prior art keywords
clipboard
computer
application
clip
network
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
JP5228690A
Other languages
English (en)
Other versions
JP2540009B2 (ja
Inventor
Maltby John
ジョン・マルトビイ
Phipps Simon
サイモン・フィップス
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 JPH06202997A publication Critical patent/JPH06202997A/ja
Application granted granted Critical
Publication of JP2540009B2 publication Critical patent/JP2540009B2/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)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【目的】 計算機ネットワーク用のクリップボード機構
を提供すること。 【構成】クリップボードAからの資料を計算機Bの適用
業務へコピーするため、クリップ送信ルーチンはクリッ
プボードAのビューアとなり、クリップボードBの更新
情報を受信する。次いで、クリップ送信ルーチンは、ク
リップ受信ルーチンに対し、クリップボードA上の情報
が利用可能なフォーマットのリストを送信する。クリッ
プ受信ルーチンは、遅延引き渡しを使用して、これらの
フォーマットをクリップボードBへ発信する。ユーザが
クリップボードBから特定のフォーマットを要求する場
合、この要求は、クリップ受信ルーチンを介して、クリ
ップ送信ルーチンへ返送される。次いで、クリップ送信
ルーチンは、クリップボードAから必要な資料を獲得
し、これをクリップ受信ルーチンへ戻す。クリップ受信
ルーチンは、ユーザへ与えるために、この資料をクリッ
プボードBへパスする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機ネットワーク上に
クリップボード機構を設けることにより、第1の計算機
上の第1の適用業務と第2の計算機上の第2の適用業務
との間で資料を転送できるようにすることに係る。な
お、本明細書では、「クリップボード」という用語を、
適用業務が後でオペレーテイング・システムへ明け渡す
ような、メモリの一部を意味するものとして使用する。
【0002】
【従来の技術】OS/2又はウインドウの如き多重タス
ク用のオペレーテイング・システムを搭載するパーソナ
ル・コンピュータは、同時に実行中の複数の適用業務を
サポートすることができる。かかるオペレーテイング・
システムは、ユーザが第1の適用業務から第2の適用業
務へデータを転送することができるように、クリップボ
ード機構を提供する。このような環境で、第1の適用業
務は、データをクリップボードへコピーする。次に、第
2の適用業務は、クリップボードで利用可能なデータを
探索するように、オペレーテイング・システムに問い合
わせを行った後、必要に応じて、クリップボードからこ
のデータのコピーを取り出す。クリップボードは主とし
て適用業務間の通信のために使用されるから、その重要
な問題は、第1の適用業務が第2の適用業務のデータ・
フォーマットを受け入れない場合があるという点にあ
る。従って、送信用の第1の適用業務がデータを複数種
類のフォーマットでクリップボードへ書き込むのに対
し、受信用の第2の適用業務はこれらのフォーマットの
うち所望のものを指定する、というやり方が普通であ
る。クリップボードは、テキスト、イメージ、等の交換
に使用することができる。幾つかの適用業務は、クリッ
プボードを内部的に使用、すなわち後で検索するために
データを一旦クリップボードへ書き込んでおくようにし
ているが、かかる使用方法は、推奨すべきものではな
い。なぜなら、クリップボード内に現に存在するデータ
に上書きが行われると、このデータは失われてしまうか
らである。
【0003】電源切断時にクリップボード中の全てのデ
ータが失われてしまうという理由で、クリップボードは
本来は一時的な用途に適しているが、ファイルへデータ
をコピーすることに比較すると、クリップボードを使用
することは、一層容易で、しかも一層迅速である。同様
に、オペレーテイング・システムの保護モード下で実行
される各適用業務は、特定のメモリ領域のみをアクセス
可能であるにすぎないから(他の共有メモリ・アクセス
方式もあるが、これらの方式はユーザが管理できるよう
にはオープンにされていない)、適用業務間のデータ交
換を簡単に行うことができない。さらに、クリップボー
ドによって定義される複数種類の標準フォーマットが、
全ての適用業務に利用可能であるということもある。
【0004】クリップボード機構をユーザが使用する代
表的な状況とは、第1の文書から第2の文書へ、テキス
トの一部をコピーするようなものである。このような状
況では、ユーザは、例えばマウス及びカーソルを使用し
て、先ずコピーすべきテキストを識別し、次いでこのテ
キストをクリップボードに置くための適当なメニュー・
オプションを選択する。次に、該当する第1の適用業務
は、このテキストを種々のフォーマットで、例えばテキ
スト・ファイル、ビット・マップ、メタ・ファイル、フ
ォーマット情報を完備する縮小文書、等として、オペレ
ーテイング・システムへパスする(オペレーテイング・
システムは共通する予定フォーマットのリストを指定す
るが、第1の適用業務がそれ自体の特定フォーマットを
使用することも可能である)。第1の適用業務は、幾つ
かのフォーマットについては、このテキスト/データを
クリップボード専用のメモリへ実際に書き込むように決
定する一方、残りのフォーマットについては、第1の適
用業務への逆参照のみを記憶することがある。
【0005】次に、第2の適用業務のユーザは、クリッ
プボードからテキスト/データを検索することを要求し
得る。このような要求が行われると、第2の適用業務
は、利用可能なフォーマットの1つを選択するように指
示される。この指示に応答して、第2の適用業務は、利
用すべきフォーマットを自動的に選択するか(多くの場
合、第2の適用業務は特定のフォーマットのみを受け入
れることができるにすぎない)、又はその選択をユーザ
へ委せるようにしてもよい。もし、選択されたフォーマ
ットが、クリップボード内に実際に記憶されているテキ
スト/データ用のものであれば、オペレーテイング・シ
ステムは、このテキスト/データを第2の適用業務へ直
接的にパスする。しかしながら、選択されたフォーマッ
トが、参照のみを記憶されているテキスト/データ用の
ものであれば、オペレーテイング・システムは、先ずこ
のテキスト/データを送信側の第1の適用業務から要求
し、次いでこのテキスト/データを受信側の第2の適用
業務へパスしなければならない。遅延引き渡し(遅延レ
ンダリング)として知られている後者のプロセスは、ユ
ーザに対し透過である(つまり、要求されたフォーマッ
トがオペレーテイング・システムに実際に記憶されてい
るか、又は適用業務から要求されねばならないか、とい
う点については、ユーザは一般に不知である)。
【0006】各適用業務は、オペレーテイング・システ
ムのコール(呼び出し)を介して、クリップボードのオ
ーナとなるように要求することができる。オーナになっ
た適用業務は、クリップボードからテキスト/データが
要求されるとき、又は他の適用業務がクリップボードへ
データを書き込もうとするときはいつでも、その旨の通
知を受信することができる。遅延引き渡しの使用を望む
全ての適用業務は、クリップボードのオーナにならねば
ならないから、引き渡すべきデータをどの適用業務から
要求するかということは、オペレーテイング・システム
には既に判っている。このような適用業務が閉止される
場合、オペレーテイング・システムは、引き渡されてい
ない全てのフォーマットが継続的にアクセス可能となる
ように、これらのフォーマットを実際にクリップボード
に置くことを要求する。この代替方法は、引き渡されて
いない全てのフォーマットを、この適用業務の管理下
で、クリップボードから削除することである(さもなけ
れば、これらのフォーマットに対する要求はエラーを生
ぜしめることになろう)。クリップボード・メモリへコ
ピーされたこれらのフォーマットは、削除されるか又は
他の適用業務のクリップボード動作によって上書きされ
るまで、利用可能なままに留まる。
【0007】OS/2バージョン2のクリップボードに
関する詳細は、IBM社から発行されたマニュアルであ
る、「Presentation Manager,P
rogramming Reference Manu
al,Volume II」(文書番号S10G 62
65 00)と、「Programming Guid
e,Volume II」(文書番号S10G 6,4
94 00)、特にその第31章に記述されている。
【0008】
【発明が解決しようとする課題】クリップボード機構を
単独の計算機上でだけ利用可能にするのではなく、ネッ
トワーク上でも利用可能にして、第1の計算機上で実行
中の第1の適用業務と第2の計算機上で実行中の第2の
適用業務との間で、データを交換できるようにすること
が非常に望ましい。この点に係る公知の技術は、各計算
機専用のクリップボードとは別個に、1つの集中型ネッ
トワーク・クリップボードを設けることに基礎を置いて
いる。集中型クリップボードには、標準クリップボード
と同様の方法で、資料がコピーされる。かくて、他の計
算機は、それぞれのクリップボード機構を介して、集中
型クリップボード内の資料を表示及びコピーのために利
用することができるようになる。
【0009】しかしながら、この公知技術は、2つの潜
在的な問題点を有している。第1に、既存の適用業務
は、資料を集中型クリップボードへ置くための特別の手
段を持っていないから、この公知技術を既存の適用業務
に関連して使用することは困難である。第2に、単独の
計算機に搭載されたクリップボードの転送動作が同期的
であるのに対し、この公知技術の転送動作は非同期的と
なることがある。かくて、ユーザはそれ自体のクリップ
ボードへ資料を自動的に持ち込むのではなくて、集中型
クリップボードの内容を(電子メールを受信する場合と
類似する方法で)物理的に調査する必要があろう。
【0010】従って、本発明の目的は、計算機ネットワ
ーク上にクリップボード機構を設けることにより、第1
の適用業務から第1の計算機のクリップボードへ与えら
れた資料を、第2の計算機の第2の適用業務へコピーで
きるようにすることにある。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明のネットワーク・クリップボード機構を提供
する方法では、第1の計算機における第1の適用業務か
ら前記第1の計算機上のクリップボードへ発信された資
料を、第2の計算機における第2の適用業務へコピーで
きるように、前記第1の適用業務が前記第1の計算機上
のクリップボードへ資料を発信したという通知を受信す
るとともに、前記発信された資料について利用可能なフ
ォーマットのリストを獲得するステップと、前記利用可
能なフォーマットのリストを前記第2の計算機上のクリ
ップボードへ発信するステップと、前記発信された資料
の特定フォーマットのコピーに対する前記第2の適用業
務からの要求を受信し、この受信された要求に対応する
要求を前記第1の計算機へ返送するステップと、前記対
応する要求の受信に応答して、前記第1の計算機のクリ
ップボードから前記要求された資料を獲得するステップ
と、前記第2の適用業務へパスするために、前記獲得さ
れた資料を前記第2の計算機上のクリップボードへ発信
するステップと、を含んでいる。
【0012】本発明の方法によれば、ネットワークを介
してデータを複数種類のフォーマットで送信することが
不要となる。計算機ネットワーク用のクリップボード機
構を開発するという本出願人の当初の試みは、各ネット
ワーク用計算機のクリップボードをそれぞれ同一の状態
に維持することに基づいていた。しかしながら、このよ
うな方法に伴う問題は、2台の計算機間のトラフィック
量が過大となって、帯域幅の要件が過酷となるため、ク
リップボード機構の速度が非常に低下するばかりか、コ
ストも高くなる、という点にある。なぜなら、一般の適
用業務は、実際に使用されるよりもずっと多い資料を、
クリップボードへ書き込むのが普通だからである。例え
ば、テキストの一部をクリップボードへコピーすると、
4種類のフォーマットがこのクリップボードへ記憶され
ることがある。すなわち、テキスト自体(例えば、1k
バイト)、このテキストのビットマップ(例えば、50
kバイト)、このテキストのグラフィック・メタファイ
ル(例えば、12kバイト)及びフォント情報を完備し
たこのテキストの所謂「リッチ・テキスト」バージョン
(例えば、10kバイト)が、クリップボードへ記憶さ
れる場合がある。このクリップボードと同じものを遠隔
の端末にも設ける場合には、これらのフォーマットの全
てをリンクを介して送信しなければならない。
【0013】これとは対照的に、本発明によれば、最初
に利用可能なフォーマットのリストだけを転送すればよ
い。実際のデータは、特別に要求されるまで、転送する
必要はない。従って、受信用端末が普通のテキスト・フ
ォーマットだけを使用したいのであれば、このバージョ
ンだけを送信すればよいから、通信上の要件を著しく軽
減させることができるのである。かかる軽減の度合い
は、遠隔にある適用業務のユーザが、クリップボード中
のデータを使用しないと決定した場合には、さらに大き
くなる。また、ISDN電話回線又は非同期リンクのよ
うな帯域幅の小さいリンクが使用されている場合には、
前述の如き送信データ量の削減が特に重要となる。
【0014】さらに言えば、第1の計算機に対する更新
は自動的に且つ即座に第2の計算機に現れるから、本発
明のクリップボード機構は、非同期的な性格を有する集
中型クリップボード機構とは対照的に、同期的な性格を
有するものである。
【0015】また、本発明に従ったネットワーク・クリ
ップボード機構用の(送信側の)計算機では、第1の適
用業務から当該計算機のクリップボードへ発信された資
料を計算機ネットワーク中の他の計算機における第2の
適用業務へコピーするため、前記第1の適用業務が当該
計算機上のクリップボードへ資料を発信したという通知
を受信するとともに、前記発信済みの資料について利用
可能なフォーマットのリストを獲得する受信手段と、前
記利用可能なフォーマットのリストを前記他の計算機へ
送信する手段と、前記発信済みの資料の特定フォーマッ
トのコピーに対する前記第2の適用業務からの要求を受
信し、この要求に応答して前記発信済みの資料を当該計
算機のクリップボードから獲得する手段と、当該計算機
のクリップボードから獲得された前記発信済みの資料を
前記他の計算機へ送信する手段と、を備えた構成として
いる。
【0016】さらに、本発明に従ったネットワーク・ク
リップボード機構用の(受信側の)計算機では、遠隔の
適用業務からネットワーク中にある他の計算機上のクリ
ップボードへ発信された資料をローカルの適用業務へコ
ピーするため、前記遠隔の適用業務から前記他の計算機
上のクリップボードへ発信された資料が利用可能なフォ
ーマットのリストを、前記他の計算機から受信する受信
手段と、前記利用可能なフォーマットのリストを当該計
算機上のクリップボードへ発信する発信手段と、前記発
信済みの資料の特定フォーマットのコピーに対する前記
ローカルの適用業務からの要求を受信し、これに対応す
る要求を前記他の計算機へ送信する手段と、前記要求さ
れた発信済みの資料を前記他の計算機から受信する手段
と、前記ローカルの適用業務へパスするために、前記要
求された発信済みの資料を当該計算機上のクリップボー
ドへ送信する手段と、を備えた構成としている。
【0017】このような計算機は、遠隔の計算機からフ
ォーマットのリストという形式でクリップボードの更新
を受信し、遅延引き渡しを使用して、これらのリストを
クリップボードへ挿入する。クリップボードから特定の
フォーマットが選択される場合、適切な資料に対する要
求がクリップボードから遠隔の計算機へ戻される。
【0018】遠隔の計算機からこの資料を受信すると、
これを、要求中の適用業務へ転送するために、クリップ
ボードへパスすることができる。かくて、この計算機
は、ネットワーク・クリップボード機構における受信用
端末として動作するべく設けられている。
【0019】送信用端末として動作するべく設けられた
計算機では、その受信手段を切り離し可能として、第1
の適用業務がクリップボードへ資料を発信したという通
知を受信させないようにすることが望ましい。同様に、
受信用端末として動作するべく設けられた計算機では、
その発信手段を切り離し可能として、その適用業務上で
利用可能なフォーマットのリストをクリップボードへ発
信させないようにすることが望ましい。かかる接続/切
り離し(attach/detach)機構を設けた1
つの理由は、受信用端末におけるユーザが、そのクリッ
プボードの管理を送信用端末に委せることができるよう
にするためである。従って、受信用端末におけるユーザ
が、例えばこの端末上の2つの適用業務間で資料を転送
するために、それ自体のクリップボードの管理を取り戻
すことを望む場合は、発信手段を一時的に切り離すこと
が望ましい。
【0020】1台の計算機が送信用及び受信用端末の両
方として動作するのに必要な機構を含む場合、この計算
機は、任意の時間には1つの受信手段又は発信手段のみ
が接続されていることを保証する手段を含むのが望まし
い。このような手段を設けると、1台の端末が受信用及
び送信用の能力を同時に発揮するのを禁止することがで
きる。この制約は、無限ループのような状況(例えば、
第1の端末が第2の端末のクリップボードを更新する
と、これに応じて第2の端末が第1の端末のクリップボ
ードを更新し、またこれに応じて第1の端末が第2の端
末のクリップボードを更新するといった類の、循環的な
状況)に対する安全手段として作用する。
【0021】
【実施例】以下、図面を参照して、本発明の実施例を説
明する。
【0022】図1に示す2台の計算機、すなわち端末A
及びBは、各端末のオペレーテイング・システムによっ
てサポートされたクリップボードA及びクリップボード
Bをそれぞれ有する。これらの2台の端末A及びBは、
各端末に置かれた適当な通信ソフトウエア(COMM
S)の下で、ネットワーク・リンクへ接続される。端末
Aで実行中の第1の適用業務プログラム(APPN
A)から、端末Bで実行中の第2の適用業務プログラム
(APPN B)へ、データをパスすることが望まし
い。これを達成するため、端末Aでクリップ送信ルーチ
ンが起動される。このルーチンは、通信ソフトウエアを
使用して端末Bをコールすることにより、端末Bの他の
クリップ受信ルーチンを起動する。なぜなら、ユーザは
その端末にあるクリップ送信ルーチンを起動することは
できるが、遠隔のクリップ送信ルーチンのみによって起
動可能な、クリップ受信ルーチンを起動することはでき
ないからである。次に、クリップ送信ルーチンはオペレ
ーテイング・システムのコールを行って、クリップボー
ドAのビューア(視者)となる。
【0023】この時点で、これらの2台の端末は、ネッ
トワーク・クリップボード機構を提供することができ
る。第1の適用業務プログラム(APPN A)から第
2の適用業務プログラム(APPN B)へデータを転
送するため、端末Aのユーザは第1の適用業務プログラ
ム(APPN A)から適当な資料を選択し、これを通
常の方法でクリップボードAへコピーする(このプロセ
スが遅延引き渡しを使用しようとしまいと、結果には違
いがない)。クリップ送信ルーチンはクリップボードA
のビューアであるから、このルーチンは、クリップボー
ドAに対する更新のみを通知される。このルーチンがク
リップボードAに対する更新について警報を受ける場
合、このルーチンは利用可能なフォーマットのリストを
要求し、これをクリップ受信ルーチンに送信する。かく
て、クリップ受信ルーチンはクリップボードBのオーナ
シップを取り、遅延引き渡しを使用して各フォーマット
のリストを挿入する(すなわち、クリップ受信ルーチン
はナル・ポインタをオペレーテイング・システムへパス
し、かくてこのオペレーテイング・システムは、参照さ
れたデータのコピーを得るためには、オーナ・プログラ
ムであるクリップ受信ルーチンに戻らなければならない
ことを知る)。この段階で、クリップボードBがナル・
ポインタのみを保持するのに対し、クリップボードAは
データをも保持するのが普通である。但し、第1の適用
業務(APPN A)が遅延引き渡しのみを使用してい
て、2つのクリップボードが同じ条件にない場合は別で
ある。また、クリップボードAに対する更新は自動的に
且つ即座にクリップボードBにも現れるから、このクリ
ップボード機構は実際上は同期的な性格を持つ、という
点にも注意すべきである。
【0024】次に、ユーザは第2の適用業務(APPN
B)を介して、クリップボードBを調べた後、データ
の検索に使用すべき適当なフォーマットを選択すること
ができる(或いは、第2の適用業務はこの選択を自動的
に行うことができる)。この選択に応答して、クリップ
ボードBは、遅延引き渡しについて標準的な方法で、ク
リップ受信ルーチンからデータを要求する。クリップ受
信ルーチンはこの要求をネットワークを介してクリップ
送信ルーチンへ返送し、かくてこのルーチンは適当なフ
ォーマットのデータをクリップボードAから要求する。
次に、クリップボードAは、クリップ受信ルーチンへ送
信するために、このデータをクリップ送信ルーチンへパ
スする(第1の適用業務が遅延引き渡しを使用している
場合は、クリップ送信ルーチンは、このデータを第1の
適用業務から最初に与えられる)。このようにして、ク
リップ受信ルーチンは、遅延引き渡しの標準手順に従っ
て、このデータをクリップボードBへパスし、そこから
さらに第2の適用業務(APPN B)へパスすること
ができる。
【0025】要求されたデータのみを、要求された形式
で転送するようにすれば、この共有型クリップボードの
帯域幅の要件を最小に維持するすることができる。しか
しながら、もしクリップボードのビューアが端末Bで実
行されているのであれば、これはクリップボードAに対
する全ての更新を自動的に要求することと実質的に同じ
になるから、このような場合には通信上のパフォーマン
スが著しく低下する、という点に注意すべきである。従
って、ユーザにとっては、このようなビューアを活動的
な受信用端末で実行させないことが有利であろう。
【0026】図2には、2台の端末間に共有型クリップ
ボード機構を提供するための手順が、流れ図の形式で示
されており、図3には、「OS/2」と呼ばれる特定の
オペレーテイング・システムの、この手順に伴うコール
が示されている(但し、本発明はこのようなOS/2環
境に制限されるものではなく、例えば使用するデータ・
フォーマットの命名さえ気を付ければ、複数のオペレー
テイング・システムを備えた異種ネットワークにおいて
も同様に使用することができる)。図3に示すように、
第1の適用業務(APPN A)は「WinSetCl
ipbrdData」コールを使用してデータをこのク
リップボードへ挿入し、これに応じて「WM DRAW
CLIPBOARD」という通知がクリップ送信ルーチ
ンへ送信される。次に、クリップ送信ルーチンはクリッ
プボードAに問い合わせを行って、このクリップボード
上のデータが利用可能なフォーマットのリストを獲得す
る。一般に、これらのフォーマットは、オペレーテイン
グ・システムが規定し且つ両端末で認識可能なフォーマ
ットのサブセットに加えて、最初に第1の適用業務(A
PPN A)が指定したストリング記述子によって識別
されるような専用(プライベート)フォーマットを含
む。クリップ送信ルーチンは、「PCLIPSETFO
RMATS」ルーチンを使用して、このリストを遠隔の
端末Bへパスする。なお、「PCLIP」で始まるルー
チン名はOS/2の一部ではないが、当該ネットワーク
・クリップボード機構を実現する際に作成されたもので
ある。
【0027】次に、クリップ受信ルーチンは、[Win
SetClipbrdOwner」と称するコールを使
用して、クリップボードBのオーナとなる(このリスト
が転送すべき最初のフォーマット・リストではないか、
又は端末Aから以前のフォーマット・リストを獲得した
後に、端末Bの他の適用業務がクリップボードのオーナ
シップを取り続けていない限り、クリップボード受信ル
ーチンが既にクリップボードBのオーナであるというこ
とは十分にあり得る)。次に、これらのフォーマット
は、「WinSetClipbrdData」内の遅延
引き渡しオプションを使用してクリップボードBへ挿入
され、そこでユーザ選択のために利用可能となる。
【0028】或るユーザが「WinQueryClip
brdData」コールを使用して第2の適用業務(A
PPN B)から或るフォーマットを選択する場合、ク
リップボードBは、「WM RENDERFMT」コー
ルをクリップ受信ルーチンへパスして、指定したフォー
マットを提供するように要求する。これに応答して、ク
リップ受信ルーチンは、「PCLIP GETDAT
A」メッセージを端末Aへ返送する。このメッセージを
受信すると、クリップ送信ルーチンは、「WinQue
ryClipbrdData」コールを使用して、クリ
ップボードAから適切なデータを獲得する。このデータ
は、「PCLIP SETDATA」を使用して、端末
Bへ戻ることができる。次に、クリップボード受信ルー
チンは、「WinSetClipbrdData」コー
ルを使用して、このデータをクリップボードBへ挿入
し、このデータをそこから第2の適用業務(APPN
B)へ供給することができる。ここで、端末Aからデー
タが一旦獲得され且つクリップボードBへ提供された場
合、このデータはクリップボードの通常の動作に従って
クリップボードBによって保持される、という点に注意
すべきである。この意味するところは、もし同じデータ
・フォーマットが再び要求されたならば、このフォーマ
ットは即座に利用可能であるから、これをネットワーク
を介して再送する必要はない、ということである(但
し、その間に他の適用業務がクリップボードBに上書き
するような場合は別である)。
【0029】複雑化の1つの要因は、ビット・マップの
如きある種のデータ・フォーマットについては、「Wi
nQueryClipbrdData」コールが、デー
タのロケーションに対するポインタではなく、ハンドル
を戻す、ということにある。このハンドルはビット・マ
ップをその特定の計算機で表示するには十分であるが、
遠隔の端末へ送信するという状況では有用ではない。し
かしながら、ハンドルを使用すると、オペレーテイング
・システムのルーチンをコールして、ビット・マップを
保持する記憶領域を特定することができるし、送信に必
要なデータを構成することもできる。同様に、遠隔の端
末で受信する際に、このデータを正しいビット・マップ
形式へ「構成解除」することができる。
【0030】ここで、通信プロセスの全体は両システム
に対し透過である、という点に注意すべきである。従っ
て、端末Aの第1の適用業務(APPN A)及びクリ
ップボードAに関する限り、これらは他の適用業務であ
るクリップ送信ルーチンへ資料を単に転送しているにす
ぎず、クリップ送信ルーチンがこの資料の最終的な宛先
でないという点は不知である。同様に、端末Bの第2の
適用業務(APPNB)及びクリップボードに関する限
り、これらもまた1つの適用業務であるクリップ受信ル
ーチンから第2の適用業務(APPN B)へ資料を単
に転送しているにすぎず、クリップ受信ルーチンがこの
データの真のソースでないという点は不知である。この
ことが重要な利点となる所以は、第1の適用業務(AP
PNA)及び第2の適用業務(APPN B)を、単独
の計算機上でクリップボード動作をサポートするような
任意の標準的適用業務とすることが可能であり、しかも
ネットワーク上でクリップボード機構を提供するために
これらの適用業務を修正する必要はない、という点にあ
る。この唯一つの例外は、第1の適用業務(APPN
A)及び第2の適用業務(APPN B)がクリップボ
ード用の専用フォーマットを使用していて、この専用フ
ォーマットがデイスク・ドライブやデイレクトリの如き
計算機に特有の情報を含んでいるために、この専用フォ
ーマットをコールする際にエラーが生ずるような場合で
ある。しかしながら、これと同様の状況は、単独の計算
機上で実行されている或る適用業務が特定の専用フォー
マットを使用していて、その後にこの専用フォーマット
が他の適用業務によって誤って解釈されるような場合に
も起こり得るものである。
【0031】ネットワーク・クリップボード機構の重要
な1つの側面は、ユーザにとって、クリップ送信ルーチ
ンやクリップ受信ルーチンをそれぞれのクリップボード
から切り離したり、これらのルーチンを再び元のクリッ
プボードへ接続することが可能になる、という点にあ
る。クリップ送信ルーチンが切り離される場合、このネ
ットワーク・クリップボード機構は、クリップボードB
へ送信するためのクリップボードAからの更新を受信し
なくなるから、この切り離しの後は、クリップボードA
からのデータに対する端末Bの要求を満足させることは
できない。同様に、クリップボードBが切り離される場
合、このネットワーク・クリップボード機構は、クリッ
プボードAからの更新をクリップボードBへ記入しなく
なるから、この切り離しの後は、データに対するクリッ
プボードBからの要求に応答することはできない。
【0032】かくて、クリップ送信ルーチン及びクリッ
プ受信ルーチンの一方又は両方が切り離される場合、こ
のネットワーク・クリップボード機構は、もはや端末A
からデータを獲得することはできない(通信リンクに障
害が生ずる場合も同様である)。この場合、フォーマッ
トのリストは依然としてクリップボードBの内部に存在
するが、第2の適用業務(APPN B)は、以前に引
き渡されて現在はクリップボードBに記憶されているフ
ォーマットだけをアクセスできるにすぎない。引き渡さ
れていない他の任意のフォーマットに対する要求は、エ
ラーを生ぜしめる。これは、単独の計算機において、遅
延引き渡しに責任のある適用業務がクローズされた場合
の結果と同様である。クリップ送信ルーチン及びクリッ
プ受信ルーチンの両者は、切り離された形式で起動され
るが、これらのルーチンがクリップボードのビューア又
はオーナになるためには、その前にそれぞれのユーザに
よって明示的に接続されねばならない(図2又は図3は
この接続動作を示していない)。クリップ受信ルーチン
が接続される場合、このネットワーク・クリップボード
機構は、「PCLIP GETFORMATS」メッセ
ージをクリップ送信ルーチンへ送信することにより、ク
リップボードAの内部にある最新のフォーマット・セッ
トのコピーを獲得し、次いでこれをクリップボードBへ
発信することができる(従って、端末B上の他の適用業
務がクリップボードBに偶然に上書を行うことがあった
としても、ユーザは、クリップ受信ルーチンを切り離し
且つその後にこのルーチンを再び接続するだけで、クリ
ップボードAの内部にある現在のフォーマット・セット
を検索することができる)。
【0033】クリップ受信ルーチンが接続されている
間、クリップボードBは実質的に端末Aの制御下にある
から、クリップ受信ルーチンを接続したり切り離したり
できるという能力は、端末Bのユーザにとって有用であ
る。しかしながら、クリップ受信ルーチンが切り離され
る場合、端末Bのユーザは、端末Aからの更新によって
突然に上書きされるという危険もなしに、クリップボー
ドBをユーザ自身のために使用することができる。この
能力は、以下で説明するような、一層複雑な構成におい
ても重要である。
【0034】図1に示したシステムは、端末Aから端末
Bへデータを転送することができるにすぎない。反対方
向へデータを転送するためには、端末Bでクリップ送信
ルーチンを起動するとともに、端末Aでクリップ受信ル
ーチンを起動することが必要となろう。しかしながら、
ここでは無制限の状況(例えば、端末Aが端末Bのクリ
ップボードを更新すると、これに応じて端末Bが端末A
のクリップボードを更新し、またこれに応じて端末Aが
端末Bのクリップボードを更新するといった類の、循環
的な状況)が生起するという危険がある。この危険を避
けるため、このシステムは、各端末がクリップ受信ルー
チン及びクリップ送信ルーチンを同時には接続できない
ように構成される(勿論、この問題については他の解決
方法もあり得よう)。
【0035】本発明のネットワーク・クリップボード機
構は、複数通路の交換に容易に利用することができる。
このような状況は、図4に例示されている。但し、図4
に示す4台の端末AないしDの全ては、適当なネットワ
ーク・ソフトウエアによってリンクされているものと仮
定する。1個のクリップ送信ルーチンは複数のクリップ
受信ルーチンを起動することができ、従ってこれらのク
リップ受信ルーチンへリンクすることができる。例え
ば、端末Aのクリップ送信ルーチンは端末B及びCのク
リップ受信ルーチンへリンクされ、かくてこれらのクリ
ップ受信ルーチンはフォーマットの更新済みリストを受
信する。しかしながら、クリップ受信ルーチンの各々
は、各クリップボードが多数の他の端末によって上書き
されるという混乱を避けるために、唯1個のクリップ送
信ルーチンにだけリンクされている。
【0036】クリップ送信ルーチン又はクリップ受信ル
ーチンの複数のコピーを実行させれば、各端末は、同時
に複数のクリップボード共有グループの一部となること
ができる。かくて、図4に示すように、端末A、B及び
Cが1つのクリップボード共有グループを形成するのみ
ならず、端末A、D及びCもまた他のクリップボード共
有グループを形成するのである。しかしながら、特定の
時点には、各端末にクリップ送信ルーチン又はクリップ
受信ルーチンの一方だけが接続可能であるに留まるか
ら、共有グループA、D、CのうちDだけが現に接続さ
れているにすぎない。この制約は、或る時点では、唯1
つの適用業務だけがクリップボードのビューア又はオー
ナになり得る、というOS/2の制限を反映したもので
ある。もっとも、この制約があるために、或る共有グル
ープからの更新が偶然に他の共有グループの更新に上書
きを行うことがなくなるから、ユーザにとっては、混同
を回避できるという点で有利である。さらに、前述のよ
うに、任意の端末でクリップ送信ルーチン及びクリップ
受信ルーチンの両方を同時に接続するのを禁止すると、
単一の更新がネットワーク上で無限に永続する、という
ランナウエイ状況を有効に回避することができる。
【0037】
【発明の効果】以上のように、本発明によれば、計算機
ネットワークを構成する複数の計算機でそれぞれ実行中
の適用業務間で、資料をコピーすることが可能となる。
【図面の簡単な説明】
【図1】2台の端末間に設けられたネットワーク・クリ
ップボード機構の主要構成要素を概略的に示す図であ
る。
【図2】2台の端末間に設けられたネットワーク・クリ
ップボード機構の動作ステップを示す流れ図である。
【図3】図2の動作に含まれるOS/2オペレーテイン
グ・システム用のコールを示す図である。
【図4】4台の端末間に設けられたネットワーク・クリ
ップボード機構の主要構成要素を概略的に示す図であ
る。
【符号の説明】
AないしD ・・・・ 端末(計算機) APPN A ・・・・ 第1の適用業務 APPN B ・・・・ 第2の適用業務 COMMS ・・・・ 通信ソフトウエア
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サイモン・フィップス イギリス国 エスオー2・1ピーキュー、 ハンプシャー、サザンプトン、ハイフィー ルド、チェンバレン・ロード53

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】第1の計算機における第1の適用業務から
    前記第1の計算機上のクリップボードへ発信された資料
    を、第2の計算機における第2の適用業務へコピーでき
    るように、ネットワーク・クリップボード機構を提供す
    る方法であって、 前記第1の適用業務が前記第1の計算機上のクリップボ
    ードへ資料を発信したという通知を受信するとともに、
    前記発信された資料について利用可能なフォーマットの
    リストを獲得するステップと、 前記利用可能なフォーマットのリストを前記第2の計算
    機上のクリップボードへ発信するステップと、 前記発信された資料の特定フォーマットのコピーに対す
    る前記第2の適用業務からの要求を受信し、この受信さ
    れた要求に対応する要求を前記第1の計算機へ返送する
    ステップと、 前記対応する要求の受信に応答して、前記第1の計算機
    のクリップボードから前記要求された資料を獲得するス
    テップと、 前記第2の適用業務へパスするために、前記獲得された
    資料を前記第2の計算機上のクリップボードへ発信する
    ステップと、 を含む、ネットワーク・クリップボード機構を提供する
    方法。
  2. 【請求項2】クリップボードを備え、第1の適用業務か
    ら当該クリップボードへ発信された資料を計算機ネット
    ワーク中の他の計算機における第2の適用業務へコピー
    するように構成された、ネットワーク・クリップボード
    機構用の計算機であって、 前記第1の適用業務が当該計算機上のクリップボードへ
    資料を発信したという通知を受信するとともに、前記発
    信済みの資料について利用可能なフォーマットのリスト
    を獲得する受信手段と、 前記利用可能なフォーマットのリストを前記他の計算機
    へ送信する手段と、 前記発信済みの資料の特定フォーマットのコピーに対す
    る前記第2の適用業務からの要求を受信し、この要求に
    応答して前記発信済みの資料を当該計算機のクリップボ
    ードから獲得する手段と、 当該計算機のクリップボードから獲得された前記発信済
    みの資料を前記他の計算機へ送信する手段と、 を含む、ネットワーク・クリップボード機構用の計算
    機。
  3. 【請求項3】前記受信手段は、前記第1の適用業務が資
    料を前記クリップボードへ発信したという通知を受信し
    ないように切り離し可能にされている、請求項2に記載
    のネットワーク・クリップボード機構用の計算機。
  4. 【請求項4】遠隔の適用業務からネットワーク中にある
    他の計算機上のクリップボードへ発信された資料をロー
    カルの適用業務へコピーするように構成された、ネット
    ワーク・クリップボード機構用の計算機であって、 前記遠隔の適用業務から前記他の計算機上のクリップボ
    ードへ発信された資料が利用可能なフォーマットのリス
    トを、前記他の計算機から受信する受信手段と、 前記利用可能なフォーマットのリストを当該計算機上の
    クリップボードへ発信する発信手段と、 前記発信済みの資料の特定フォーマットのコピーに対す
    る前記ローカルの適用業務からの要求を受信し、これに
    対応する要求を前記他の計算機へ送信する手段と、 前記要求された発信済みの資料を前記他の計算機から受
    信する手段と、 前記ローカルの適用業務へパスするために、前記要求さ
    れた発信済みの資料を当該計算機上のクリップボードへ
    送信する手段と、 を含む、ネットワーク・クリップボード機構用の計算
    機。
  5. 【請求項5】前記発信手段は、前記利用可能なフォーマ
    ットのリストを当該計算機上のクリップボードへ発信し
    ないように切り離し可能にされている、請求項4に記載
    のネットワーク・クリップボード機構用の計算機。
  6. 【請求項6】前記受信手段及び発信手段の少なくとも1
    つが特定の時点で切り離されることを保証する手段をさ
    らに含む、請求項3又は5に記載のネットワーク・クリ
    ップボード機構用の計算機。
JP5228690A 1992-11-10 1993-09-14 ネットワ―ク・クリップボ―ド機構用の計算機 Expired - Lifetime JP2540009B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9223565.4 1992-11-10
GB9223565A GB2272544A (en) 1992-11-10 1992-11-10 Clipboard facility for computer network

Publications (2)

Publication Number Publication Date
JPH06202997A true JPH06202997A (ja) 1994-07-22
JP2540009B2 JP2540009B2 (ja) 1996-10-02

Family

ID=10724858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5228690A Expired - Lifetime JP2540009B2 (ja) 1992-11-10 1993-09-14 ネットワ―ク・クリップボ―ド機構用の計算機

Country Status (4)

Country Link
EP (1) EP0597575B1 (ja)
JP (1) JP2540009B2 (ja)
DE (1) DE69327384T2 (ja)
GB (1) GB2272544A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529162A (ja) * 2000-03-28 2003-09-30 インテル・コーポレーション 無線ネットワークを介してコンピュータ・システム間での切取り、コピー、および貼り付けを行う方法および装置
JP2006054669A (ja) * 2004-08-11 2006-02-23 Toshiba Corp 情報機器遠隔操作システムおよび情報機器

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2288041A (en) * 1994-03-23 1995-10-04 Ibm Object linking and embedding over a computer network.
JP2765538B2 (ja) * 1995-11-30 1998-06-18 日本電気株式会社 データ転送制御装置
WO2000073902A1 (en) * 1999-06-01 2000-12-07 Microsoft Corporation Single logical clipboard for multiple computers
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US8020112B2 (en) 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US7933296B2 (en) 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
CN100496015C (zh) * 2007-03-21 2009-06-03 中国科学院计算技术研究所 在多节点智能网络应用服务系统中实现剪贴板共享的方法
US7818458B2 (en) 2007-12-03 2010-10-19 Microsoft Corporation Clipboard for application sharing
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
EP2796998B1 (en) * 2013-04-24 2019-07-03 BlackBerry Limited Device, system and method for processing character data
US9736218B2 (en) 2013-04-24 2017-08-15 Blackberry Limited Device, system and method for processing character data
DE102014217357A1 (de) * 2014-08-29 2015-06-03 Siemens Schweiz Ag Verschieben von grafischen Bildschirmelementen auf berührungssensitiver Ein-/Ausgabeeinheit
WO2019090615A1 (zh) * 2017-11-09 2019-05-16 深圳传音通讯有限公司 一种用于智能终端的文本控制方法及文本控制装置
CN111625372A (zh) * 2019-12-03 2020-09-04 蘑菇车联信息科技有限公司 一种文本粘贴方法、装置、pc端、移动终端及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62243030A (ja) * 1986-04-16 1987-10-23 Fujitsu Ltd ウインドウ間連携によるデ−タ連携方式
EP0380211A2 (en) * 1989-01-17 1990-08-01 Landmark Graphics Corporation Method for information communication between concurrently operating computer programs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62243030A (ja) * 1986-04-16 1987-10-23 Fujitsu Ltd ウインドウ間連携によるデ−タ連携方式
EP0380211A2 (en) * 1989-01-17 1990-08-01 Landmark Graphics Corporation Method for information communication between concurrently operating computer programs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529162A (ja) * 2000-03-28 2003-09-30 インテル・コーポレーション 無線ネットワークを介してコンピュータ・システム間での切取り、コピー、および貼り付けを行う方法および装置
JP2006054669A (ja) * 2004-08-11 2006-02-23 Toshiba Corp 情報機器遠隔操作システムおよび情報機器

Also Published As

Publication number Publication date
GB9223565D0 (en) 1992-12-23
EP0597575B1 (en) 1999-12-22
GB2272544A (en) 1994-05-18
DE69327384D1 (de) 2000-01-27
DE69327384T2 (de) 2000-06-08
EP0597575A1 (en) 1994-05-18
JP2540009B2 (ja) 1996-10-02

Similar Documents

Publication Publication Date Title
JP2540009B2 (ja) ネットワ―ク・クリップボ―ド機構用の計算機
US8069144B2 (en) System and methods for asynchronous synchronization
US6694335B1 (en) Method, computer readable medium, and system for monitoring the state of a collection of resources
US8972348B2 (en) Method and system for supporting off-line mode of operation and synchronization
US7035931B1 (en) Volume location service for a distributed file system
US5408619A (en) Naming service database updating technique
US6343316B1 (en) Cooperative work support system
US8819194B2 (en) System for an open architecture deployment platform with centralized synchronization
US5642515A (en) Network server for local and remote resources
US5390316A (en) Multicomputer complex having a distributed shared memory system for providing a single system view from multiple consoles
US6571278B1 (en) Computer data sharing system and method for maintaining replica consistency
AU2005251380B2 (en) Method and apparatus for synchronizing contact data stores
EP0279232A2 (en) A system and method for version level negotiation
JPH09244940A (ja) 分散計算機資源の管理方法
JPH07271735A (ja) ネットワーク上でオブジェクトのリンク及び埋込みを行う方法
CN109376193B (zh) 基于自适应规则的数据交换系统
JP2002163182A (ja) 携帯型端末及びそれを用いた情報配信システム、並びに情報配信方法
JPH11316693A (ja) プログラム間データ連携システム及び方法
JPH10240600A (ja) データ共有システムにおけるデータの整合性維持方法
JPH0887463A (ja) 分散リソースリンク制御方法およびシステム
JPH05101020A (ja) ネツトワーク自動設定装置
JP3374320B2 (ja) ステートレスプロトコルによるデータベースアクセス方法及びシステム
JP2006163893A (ja) サーバ及び端末
JP2002024074A (ja) コンピュータ間のファイル透過方法および装置
WO2002021332A2 (en) System and method for central user management and authentication, authorization and accounting based on directory services and standard protocols