JPH09319646A - 環境間で情報を転送する方法および装置 - Google Patents

環境間で情報を転送する方法および装置

Info

Publication number
JPH09319646A
JPH09319646A JP9028311A JP2831197A JPH09319646A JP H09319646 A JPH09319646 A JP H09319646A JP 9028311 A JP9028311 A JP 9028311A JP 2831197 A JP2831197 A JP 2831197A JP H09319646 A JPH09319646 A JP H09319646A
Authority
JP
Japan
Prior art keywords
environment
data
computer
program code
data transfer
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
JP9028311A
Other languages
English (en)
Inventor
Michael K Yee
マイケル・ケイ・イー
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09319646A publication Critical patent/JPH09319646A/ja
Pending 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)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 環境間またはシステム間で情報を転送できる
ようにカット・アンド・ペースト機能を提供すること。 【解決手段】 カット、コピーまたはペーストなどデー
タ転送操作は、第1の環境内のアプリケーションによっ
て開始される。操作の開始は、データ転送インタフェー
スによって検出される。データ転送インタフェースは、
各環境内でデータ転送操作を処理する機能を有する。さ
らに、データ転送インタフェースは、環境間でデータを
転送する機能を有する。第1の環境内で選択されたデー
タは、他の環境内の要求側が使用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、環境間で情報を転
送する方法に関する。
【0002】
【従来の技術】OpenStepTMは、オブジェクト指
向計算用のオープン大容量ポータブル規格であり、標準
のアプリケーション・プログラミング・インタフェース
(API)となっている。OpenStep規格はNe
XTStepに基づく。NeXTStepTMは、NeX
Tコンピュータ社のオブジェクト指向オペレーティング
・システムである。
【0003】NeXTの環境内で動作するNeXTSt
epのウィンドウ・サーバは、イメージをスクリーンに
描画し、事象をアプリケーションに送る役目を果たす低
レベル・プロセスである。NeXTStepのウィンド
ウ・サーバは、スクリーン、キーボードおよびマウスを
管理する。
【0004】NeXTStepのウィンドウ・サーバ
は、線、テキストおよび図形の実際の描画を実行するD
isplay PostScriptインタプリタを含
む。PostScriptは、スクリーン上およびプリ
ンタ出力上で線画、組版および画像表示を実行するコマ
ンドを処理する装置独立性のある図形記述言語である。
【0005】NeXTStepは、グラフィック・ユー
ザ・インタフェース(GUI)能力を与える他に、アプ
リケーション開発環境を与える。NeXTStep A
pplication KitまたはApp Kit
は、開発環境の他に、アプリケーションに機能を与える
オブジェクト・クラスを提供する。
【0006】NeXTStep環境は、Machオペレ
ーティング・システム(OS)において動作する。Ma
ch OSは、マイクロカーネル・ベースのオペレーテ
ィング・システムである。マイクロカーネル・ベースの
OSは、サービスの基本レベルに、ユーザレベルのサー
ビスによって供給されるオペレーティング・システム・
サービスのバルクを与える。例えば、Machカーネル
は、プロセス管理、メモリ管理、通信および入出力サー
ビスを提供する。ファイルやディレクトリなどのサービ
スは、ユーザレベルのプロセスによって処理される。
【0007】Mach OSによって提供される通信サ
ービスでは、ポートと呼ばれるデータ構造が使用され
る。ポートはメールボックスに類似している。送信側
(例えば、スレッド、またはプロセスの実行可能副構成
要素)は、メールボックスにメッセージを書き送ること
によって受信側(例えば、他のプロセスのスレッド)と
通信する。受信側は、ポートから送信側のメッセージを
検索する。
【0008】上記の例では、送信側のメッセージは実際
にはポート内に記憶されない。メッセージはメッセージ
待ち行列内に記憶される。ポートは、メッセージ待ち行
列内のメッセージの数のカウントを含む。ポートが作成
されると、ポートを識別する整数が作成側(例えば、ス
レッド)に返送される。メッセージを送信または受信す
るためにポートにアクセスするには、その識別子を使用
する。
【0009】SolarisTMは、Intel x86
プロセッサ、SPARCプロセッサ、およびPower
PCプロセッサなど多数のハードウェア・プラットフォ
ーム上で動作できるUNIX操作環境である。Open
WindowsTMは、Solaris内で動作するX1
1ウィンドウ操作規格に基づくウィンドウ操作システム
である。X11/DPSは、OpenWindows内
で動作するウィンドウ操作システムである。Solar
is、OpenWindows、およびX11/DPS
は、Sun Microsystems社が市販してい
る製品である。Sun Microsystems社の
OpenWindows、X11/DPS、およびSo
larisは、米国および他のいくつかの国におけるS
un Microsystems社の商標または登録商
標である
【0010】図2に、データ交換能力を有しない2つの
別個の独立したカット・アンド・ペースト機構206お
よび216を示す。機構206は、アプリケーション2
04と208に環境202内で情報を交換できる機能を
与える。機構206は、例えば、Inter−clie
nt Communication Conventi
on Manual(ICCCM)version2、
X Consortium Standard、X v
ersion11、Release6に記載されている
X選択カット・アンド・ペースト機構である。Sola
risオペレーティング・システム内でOpenWin
dowsを動作させるSunのX11/DPSウィンド
ウ操作システムは、この機構を実施する。ウィンドウ2
04内で動作中のアプリケーションAは、データを選択
し、操作を選択すると、選択の所有者になる。現在の選
択データを得るために、ウィンドウ208内で動作中の
アプリケーションBは、機構206にアイデンティティ
を要求することによって現在の選択の所有者を識別す
る。アプリケーションBは、選択データを求めて現在の
選択の所有者、すなわちアプリケーションAに要求す
る。
【0011】アプリケーションCおよびDは、環境21
2内のウィンドウ214および218内で動作する。そ
れらは、機構216を介して情報を共用する。機構21
6は、例えば、NeXTStep環境内で提供されるP
asteboard機能である。アプリケーションCお
よびDは、NeXTStep環境内で提供されるメッセ
ージ機構およびポート機構を使用してデータを交換す
る。例えば、アプリケーションCはデータを選択し、操
作を選択する。アプリケーションCが転送用のデータを
有することを識別するために、メッセージが機構216
に送られる。選択データは、アプリケーションC内に残
るか、または機構216に転送される。アプリケーショ
ンDは、機構216にメッセージを送ることによってデ
ータを要求する。データが機構216に送られれば、ア
プリケーションDは機構216からデータを検索するこ
とができる。そうでなければ、データは機構216に転
送され、次いでアプリケーションDによって検索され
る。
【0012】
【発明が解決しようとする課題】従来のカット・アンド
・ペースト機能は単一の環境内で使用されていた。環境
間でデータを交換することはできない。すなわち、環境
202内で動作するアプリケーション(すなわち、アプ
リケーションAおよびB)は、環境212内のアプリケ
ーション(すなわち、アプリケーションCおよびD)と
データを交換することができない。環境間またはシステ
ム間で情報を転送できるようなカット・アンド・ペース
ト機能を提供することは有益であろう。
【0013】
【課題を解決するための手段】環境間またはシステム間
でデータを透過的に交換する方法および装置について説
明する。カット、コピーまたはペーストなどデータ転送
操作は、第1の環境内のアプリケーションによって開始
される。操作の開始は、データ転送インタフェースによ
って検出される。データ転送インタフェースは、各環境
内でデータ転送操作を処理する機能を有する。さらに、
データ転送インタフェースは、環境間でデータを転送す
る機能を有する。
【0014】データ転送操作は、例えば、データを選択
し、操作を選択することによって開始される。データ転
送操作の開始は、データ転送操作が開始される環境に関
わらず検出される。データ転送操作において選択された
データは、後で使用するために位置付けされる。選択デ
ータの位置付けを実行すれば、要求された場合にデータ
を使用できるようになる。例えば、選択データを後で検
索できる位置にコピーすることによって、データを使用
できるようになる。あるいは、選択時のデータの位置を
後で使用するために保持することができる。
【0015】ペースト操作などデータ転送操作は、選択
データを求める要求である。データ転送操作は、それが
開始される環境と無関係に検出される。そのような操作
が検出されると、要求側がデータを使用できるようにな
る。
【0016】第1の環境内で選択されたデータは、他の
環境内の要求側が使用できる。ある環境内で動作中のア
プリケーションは、他の環境内で動作中のアプリケーシ
ョン内に常駐するデータへのアクセス権を得ることがで
きる。2つのアプリケーションは、他のアプリケーショ
ンが常駐する環境を意識せずにデータを交換することが
できる。データを交換するためにアプリケーションを変
更する必要はない。
【0017】データ転送操作を処理するには、データ転
送インタフェースを使用する。データ転送インタフェー
スは、インタフェース・ペーストボード・サーバ(IP
BS)および関連するIPBSウィンドウを含む。選択
データは、要求側がアクセスできるように、IPBSに
コピーできる。データがある環境内で選択されると、I
PBSは現在のデータ選択をバッファ内に記憶する。し
たがって、データは、IPBSにアクセスするアプリケ
ーションによってアクセス可能である。したがって、デ
ータは、要求側が常駐している環境に関わらず、IPB
Sにアクセスする要求側が使用できる。データを要求す
るアプリケーションは、データを選択した環境と異なる
環境内に常駐する。あるいは、要求側は、データを選択
したアプリケーションと同じ環境内に常駐する。したが
って、選択データは、多数の環境が使用できる。
【0018】例えば、NeXTStep/OpenSt
ep環境内では、IPBSは、データ転送操作が開始さ
れた場合、アプリケーションによって生成されたメッセ
ージを処理する。データ転送操作が開始されると、IP
BSは、関連するメッセージを受信する。IPBSは、
カットやペーストなどの操作を実行した場合、選択デー
タの位置を探し出す。ペースト操作と関連するメッセー
ジが受信されると、IPBSは、選択データを使用でき
るようにする。
【0019】Solarisオペレーティング・システ
ム内で動作中のOpenWindows下のX11/D
PSウィンドウ操作システムでは、IPBSおよびその
関連するIPBSウィンドウは実行選択の所有者にな
る。IPBSは選択所有権を要求する。IPBSは選択
所有権を監視する。選択所有権が失われると、IPBS
は現在の選択の所有者を決定する。IPBSは、現在の
選択の所有者(例えば、X11ウィンドウ)から選択デ
ータを検索する。IPBSは、選択所有権指示を取り戻
すように要求する。したがって、要求側が現在の選択デ
ータを必要とする場合、要求側はIPBSに対して選択
データにアクセスするように指示される。
【0020】
【発明の実施の形態】環境間またはシステム間で情報を
転送する方法および装置について説明する。以下の説明
では、本発明をより完全に記述するために、多数の具体
的な詳細を示す。しかしながら、本発明は、これらの具
体的な詳細なしに実施できることが当業者には明らかで
あろう。他の場合、周知の特徴については、本発明が不
明瞭にならないように詳細に説明していない。
【0021】本発明は、図1に示されるような汎用コン
ピュータ上で実施できる。キーボード110およびマウ
ス111は双方向システム・バス118に結合される。
キーボードおよびマウスは、ユーザ入力をコンピュータ
・システムに導入し、そのユーザ入力をCPU113に
伝達するためのものである。図1のコンピュータ・シス
テムはまた、キーボード110、マウス111およびC
PU113とともにすべて双方向システム・バス118
に結合されたメモリ114、主メモリ115および大容
量記憶装置112を含む。大容量記憶装置112は、磁
気記憶システム、光学記憶システムまたは磁気光学記憶
システム、または他の使用可能な大容量記憶技術など、
固定の媒体ならびに取外し可能な媒体を含む。バス11
8は、例えば、ビデオ・メモリ114または主メモリ1
15をアドレス指定するための32本のアドレ・スライ
ンを含む。システム・バス118はまた、例えば、CP
U113、主メモリ115、ビデオ・メモリ114およ
び大容量記憶装置112など、構成要素間でDATAを
転送するための32ビットDATAバスを含む。あるい
は、別個のDATAラインおよびアドレス・ラインの代
わりに、多重DATA/アドレス・ラインが使用でき
る。
【0022】本発明の好ましい実施形態では、CPU1
13は、680X0プロセッサなどMotorola社
製の32ビット・マイクロプロセッサ、Intel社製
の80X86マイクロプロセッサ、またはSPARCマ
イクロプロセッサである。しかしながら、他の適切なマ
イクロプロセッサまたはマイクロコンピュータも使用で
きる。主メモリ115はダイナミック・ランダム・アク
セス・メモリ(DRAM)から構成される。ビデオ・メ
モリ114はデュアルポート・ビデオ・ランダム・アク
セス・メモリである。ビデオ・メモリ114の一方のポ
ートはビデオ増幅器116に結合される。ビデオ増幅器
116は、陰極線管(CRT)ラスタ・モニタ117を
駆動するのに使用される。ビデオ増幅器116は当技術
分野において周知であり、適切な手段によって実施でき
る。この回路は、ビデオ・メモリ114内に記憶された
ピクセルDATAをモニタ117で使用するのに適した
ラスタ信号に変換する。モニタ117は、グラフィック
・イメージを表示するのに適したタイプのものである。
【0023】上記のコンピュータ・システムは例示のた
めのものにすぎない。本発明は、任意のタイプのコンピ
ュータ・システムまたはプログラミング環境または処理
環境内で実施できる。記載のものなど汎用コンピュータ
・システムは、本願に記載のプロセスおよびプロセス・
フローを実行する場合、環境間で情報を転送するように
構成される。
【0024】環境は一組の資源をユーザまたはアプリケ
ーション・プログラムに供給する。環境は、基礎的なオ
ペレーティング・システムおよびハードウェア上で独立
の層を形成する。例として、本発明は、Solaris
のOpenWindowsの下でX11/DPSを使用
したNeXTStep/OpenStep環境と関連さ
せて説明する。しかしながら、本発明の機能を使用すれ
ば、多くのシステムまたは環境間で情報を転送できるこ
とが明らかであろう。さらに、本発明は、他の環境のウ
ィンドウ内で環境を動作させるように構成されたコンピ
ュータ・システムにおいても使用できる。しかしなが
ら、本発明の機能は、異なるシステム内で動作中の2つ
の自立システムにおいて実施できることが当業者には明
らかであろう。
【0025】図3に本発明の一実施形態によるデータ交
換の概要を示す。エミュレートされた環境304はホス
ト環境302内で動作する。ホスト環境302は、例え
ば、Solarisオペレーティング・システム上のO
penWindows内のX11/DPSウィンドウ操
作システムである。エミュレートされた環境304は、
例えばNeXTStep/OpenStep環境であ
る。エミュレートされた環境304は、ホスト環境30
2のウインドウを動作させている。他の環境のウィンド
ウ内の環境を動作させる方法が、本発明の譲受人に譲渡
され、参照により本発明の一部となる1996年1月2
9日出願の同時係属の米国特許出願第08/59371
2号「Method and Apparatus f
or Executing and Displayi
ng Output of anEnvironmen
t in a Host Environment」に
記載されている。
【0026】エミュレートされた環境304のアプリケ
ーションは、ホスト環境302内で動作中のエミュレー
トされた環境304内で実行される。エミュレートされ
た環境304のアプリケーションによって生成された出
力は、ホスト環境302のウィンドウ内に表示される。
ウィンドウ322および324、例えば、環境304内
で動作中のアプリケーションと関連し、それからの出力
を表示する。ウィンドウ326および328は、ホスト
環境302内のアプリケーションと関連している。
【0027】データは、データ転送インタフェース30
6を介してウィンドウ322、324、326および3
28と関連するアプリケーション間で交換される。デー
タ転送インタフェース306は、それぞれウィンドウ3
22、324、326および328内で動作中のアプリ
ケーションA、B、CおよびDによって生成されたデー
タ交換操作をサービスする。データ交換操作は、インタ
ー(inter) 環境操作またはイントラ(intra) 環境操作で
ある。すなわち、アプリケーションAは、エミュレート
された環境304内でアプリケーションBにデータを転
送できる。アプリケーションAはまた、ホスト環境30
2内で動作するアプリケーションCまたはDにデータを
転送できる。同様に、アプリケーションCはアプリケー
ションA、BまたはDにデータを転送できる。
【0028】データ転送インタフェース306を使用し
て、エミュレートされた環境304とホスト環境302
は情報を透過的に交換することができる。したがって、
アプリケーションAは、他のアプリケーションとの間で
データを送信または受信するために、他のアプリケーシ
ョンが動作している環境を意識する必要はない。
【0029】データ転送インタフェース306は、イン
タフェース・ペーストボード・サーバ(IPBS)30
8およびIPBSウィンドウ310を含む。IPBSウ
ィンドウ310は、IPBS308と関連したマップさ
れていないウィンドウであることが好ましい。IPBS
ウィンドウ310は、例えばX11/DPSウィンドウ
操作システム内で選択をサポートするのに使用される。
IPBS308は、各環境ごとにデータ転送を処理する
機能を含む。すなわち、IPBS308は、各環境のデ
ータ転送要件に適合する。例えば、環境304がNeX
TStep/OpenStep環境であり、環境302
が上述のSun環境である場合、IPBS308は、メ
ッセージ、ペーストボード・サービス、および2つの環
境によって期待される選択機能を提供する。IPBS3
08は、2つのプロセッサ又は単一のプロセスの2つの
スレッドからなるのが好ましい。一方のプロセッサまた
はスレッドは、一方の環境内で開始されたデータ転送操
作を処理する。他方のプロセッサまたはスレッドは、他
方の環境の操作を処理する。あるいは、IPBS308
は、両方の環境の操作を処理する単一のプロセスでもよ
い。
【0030】さらに、IPBS308は環境間のインタ
フェースを形成する。IPBS308は、2つの環境が
データを透過的に交換できる透過性のレベルを与える。
環境または環境内で動作するアプリケーションは、デー
タ転送の発信源環境または宛先環境を意識する必要はな
い。
【0031】図4に、本発明の一実施形態によるデータ
転送選択または要求に応答するためのプロセス・フロー
を示す。ステップ402(すなわち、「操作が検出され
たか」)において、データ転送操作(選択または要求)
が開始されたかどうか判定する。例えば、アプリケーシ
ョンは、コピーやカット操作などデータ転送操作を開始
するとき、データと操作を選択する。データと操作の選
択は、IPBS308に対するトリガの働きをする。ス
テップ404において、IPBS308は、そのトリガ
に応答して、データの環境またはアプリケーションの環
境と無関係にデータを他のアプリケーションへ転送でき
るようにする。
【0032】ステップ402において、データの要求が
検出された場合、データは、要求側の環境と無関係に要
求側アプリケーションへ転送される。アプリケーション
が、例えばペースト操作を開始するとき、IPBS30
8は、現在の選択データを要求側アプリケーションが使
用できるようにする。
【0033】アプリケーションが現在の選択データ(例
えば、ペースト操作)の要求を開始するとき、IPBS
は、選択および要求が発生した環境と無関係に要求を処
理する。図5に、本発明の一実施形態によるデータの要
求に応答するためのプロセス・フローを示す。
【0034】ステップ502(すなわち、「データが要
求されたか」)において、選択データの要求が行われた
かどうか判定する。選択データの要求が行われていない
場合、プロセス・フローはステップ510において終了
する。データ要求が検出された場合、ステップ504に
おいて処理を続行する。ステップ504(すなわち、起
動側と要求側が同じ環境内にあるか)において、データ
選択側とデータ要求側が同じ環境内にあるかどうか判定
する。データ選択側とデータ要求側が同じ環境内にある
場合、ステップ506において処理を続行し、起動側
(および要求側)環境のデータ転送機能を使用して要求
を処理する。データ選択側とデータ要求側が同じ環境内
にない場合は、ステップ508において処理を続行し、
要求側環境のデータ転送機能を使用して要求を処理す
る。
【0035】以下に、本発明の一実施形態によるデータ
転送機能の例を示す。この例では、ホスト環境は、So
larisオペレーティング・システム(「Sun環
境」)内で動作中のOpenWindowsのX11/
DPSを使用する。NeXTStep/OpenSte
p環境はエミュレートされた環境304である。
【0036】データの選択 上記のように、Sun環境は、ICCCMで規定されて
いる選択所有権機構を実施する。アプリケーションがデ
ータを選択し、操作を選択すると、X11ウィンドウ操
作システム内で動作中のアプリケーションは選択の所有
者になる。選択の所有者は、他のアプリケーションがデ
ータを要求するならば、現在のデータの発信源を識別す
る。選択所有権は、選択データを含むX11ウィンドウ
に譲渡される。選択データを得るために、X11ウィン
ドウ操作システム内で動作中の他のアプリケーション、
すなわち要求側アプリケーションは、現在の選択の所有
者を決定する。要求側アプリケーションは選択の所有者
にデータを要求する。
【0037】図6に、本発明の一実施形態によるSun
環境に対処するデータ選択インタフェースのプロセス・
フローを示す。ステップ602(すなわち、「現在の選
択があるか」)において、現在の選択があるかどうか判
定する。現在の選択がある場合、ステップ604におい
て処理を続行し、現在の選択の所有者について質問す
る。例えば、IPBS308は、現在の選択の所有者で
あるウィンドウを識別するためにSun環境内で動作中
のウィンドウ・サーバに質問する。ステップ606にお
いて、選択データは、現在の選択の所有者(例えば、X
11ウィンドウ)から得られる。ステップ608におい
て処理を続行する。ステップ602において、現在の選
択がない場合、ステップ608において処理を続行す
る。
【0038】ステップ608において、IPBS308
は、選択の所有者になるようにウィンドウ・サーバに要
求する。この要求の結果、IPBSウィンドウ310は
現在の選択の所有者になる。ステップ610(すなわ
ち、「所有権が変化したか」)において、選択所有権の
変化が検出されない場合、ステップ610において処理
を続行し、選択所有権を監視する。ただし、Sun環境
内のアプリケーションがデータ選択を実行する場合は、
選択所有権は、選択データを含むそのアプリケーション
のウィンドウに戻る。選択所有権の変化がある場合、I
PBS308は、ステップ610において所有権の変化
を検出する。ステップ604において処理を続行し、新
しい選択の所有者(例えば、X11ウィンドウ)を識別
し、選択データを得、ステップ604、606および6
08と関連して上述したように選択の所有者になる。
【0039】選択の所有者になり、次いで所有権を監視
し、所有権が変化した際に所有権を取りもどすことによ
って、IPBS308は、現在の選択の排他的所有権を
保持する。したがって、選択データのどんな要求もIP
BS308によって処理される。
【0040】データ選択は、NeXTStep/Ope
nStep環境内で別な形で処理される。NeXTSt
ep/OpenStep環境では、アプリケーション
は、データを選択し、データ転送操作を選択する。デー
タ転送操作が選択されると、ペーストボード・サーバへ
のメッセージが開始される。選択データのデータ・タイ
プを判定し、設定し、データを「セット」することによ
って、データは、要求側が使用できるようになる。
【0041】図7に本発明の一実施形態によるNeXT
Step/OpenStep環境に対処するデータ選択
インタフェースのプロセス・フローを示す。ステップ7
02(すなわち、「データ転送メッセージが受信された
か」)において、データ転送メッセージが受信されたか
どうか判定する。データ転送メッセージが受信されない
場合、ステップ702において処理を続行する。メッセ
ージが受信された場合には、ステップ704において処
理を続行する。NeXTStep/OpenStep環
境のメッセージおよびポート能力を使用して、IPBS
308は、ステップ704において起動側アプリケーシ
ョンから選択データおよびデータ・タイプを得る。選択
データは、ステップ706においてバッファ内に記憶さ
れる。処理はステップ708において終了する。
【0042】データの要求 アプリケーションは、Sun環境内で現在の選択データ
を検索しようとするとき、現在の選択の所有者(例え
ば、X11ウィンドウ)のアイデンティティについてウ
ィンドウ・サーバに質問する。アプリケーションは、現
在の選択の所有者から選択データを要求する。上記のよ
うに、IPBS308は選択の排他的所有権を保持す
る。選択データはバッファ内に維持される。したがっ
て、Sun環境内で動作中のアプリケーションがデータ
を要求した場合、IPBS308内に常駐するデータが
選択データとして識別される。このデータがSun環境
から発生したのかまたはNeXTStep/OpenS
tep環境から発生したのかは重要ではない。図8に、
本発明の一実施形態によるSun環境に対処するデータ
要求インタフェースのプロセス・フローを示す。
【0043】ステップ802において、選択データを必
要とするSunアプリケーションは、現在の選択の所有
者のアイデンティティについてウィンドウ・サーバに質
問する。IPBSウィンドウ310は、ステップ804
において現在の選択の所有者として識別される。Sun
アプリケーションは、ステップ806においてIPBS
308にデータを要求する。ステップ808において、
IPBS308はバッファの内容を要求側Sunアプリ
ケーションに送る。プロセス・フローはステップ810
において終了する。
【0044】NeXTStep/OpenStep環境
では、データ要求メッセージを開始することによってデ
ータが要求される。データ要求メッセージは、例えば、
ペースト操作を選択することによって開始される。デー
タは、要求側アプリケーションが使用できるようにな
る。要求側アプリケーションは、その現在位置(例え
ば、選択側アプリケーションのウィンドウまたはペース
トボード・サーバのバッファ内)からデータを検索す
る。データ・タイプを設定し、データをセットすること
によって、データは、この環境内で使用できるようにな
る。
【0045】上記のように、Sun環境内で選択された
データは、IPBS308のバッファにコピーされる。
図9に、本発明の一実施形態によるNeXTStep/
OpenStep環境に対処するデータ要求インタフェ
ースのプロセス・フローを示す。ステップ902(すな
わち、「要求メッセージが送られたか」)において、デ
ータ要求メッセージがNeXTStep/OpenSt
epアプリケーションによってIPBS308に送られ
たかどうかを判定する。データ要求メッセージが送られ
ない場合、ステップ902において処理を続行し、デー
タ要求を待つ。要求がIPBS308によって受信され
た場合、ステップ904において処理を続行し、データ
を要求側アプリケーションが使用できるようにする。デ
ータ・タイプを設定する。データはIPBS308のバ
ッファ内に常駐するので、要求側アプリケーションはバ
ッファからデータを検索することができる。ステップ9
02において処理を続行し、他の要求を待つ。
【0046】以上、1つまたは複数の特定の実施形態と
関連して、環境間で情報を転送する方法および装置につ
いて説明した。本発明は、請求の範囲およびその同等物
の全範囲によって規定される。
【図面の簡単な説明】
【図1】 本発明の実施形態に従って使用される汎用コ
ンピュータの例を示す図である。
【図2】 データ交換能力を有しない2つの別個の独立
したカット・アンド・ペースト機構206および216
を示す図である。
【図3】 本発明の一実施形態によるデータ交換の概要
を示す図である。
【図4】 本発明の一実施形態によるデータ転送選択ま
たは要求に応答するためのプロセス・フローを示す図で
ある。
【図5】 本発明の一実施形態によるデータの要求に応
答するためのプロセス・フローを示す図である。
【図6】 本発明の一実施形態によるSun環境に対処
するデータ選択インタフェースのプロセス・フローを示
す図である。
【図7】 本発明の一実施形態によるNeXTStep
/OpenStep環境に対処するデータ選択インタフ
ェースのプロセス・フローを示す図である。
【図8】 本発明の一実施形態によるSun環境に対処
するデータ要求インタフェースのプロセス・フローを示
す図である。
【図9】 本発明の一実施形態によるNeXTStep
/OpenStep環境に対処するデータ要求インタフ
ェースのプロセス・フローを示す図である。
【符号の説明】
110 キーボード 111 マウス 112 大容量記憶装置 113 CPU 114 ビデオ・メモリ 115 主メモリ 116 ビデオ増幅器 117 モニタ 118 システム・バス 204 アプリケーション 206 カット・アンド・ペースト機構 208 アプリケーション 214 ウィンドウ 216 カット・アンド・ペースト機構 218 ウィンドウ 302 ホスト環境 304 エミュレートされた環境 306 データ転送インタフェース 308 IPBS 310 IPBS 322 ウィンドウ 324 ウィンドウ 326 ウィンドウ 328 ウィンドウ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 13/00 351 G06F 13/00 351B

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 第1の環境内でデータ転送操作を検出す
    るステップと、 第2の環境へ向けられたデータに対する要求を検出する
    ステップと、 前記データを前記第1の環境から前記第2の環境へ転送
    するステップとを含む環境間で情報を転送する方法。
  2. 【請求項2】 前記データ転送操作と関連するデータの
    位置を探し出するステップをさらに含むことを特徴とす
    る請求項1に記載の方法。
  3. 【請求項3】 前記位置を探すステップが、前記データ
    転送操作を開始した前記第1の環境内のアプリケーショ
    ンへの通信パスを識別するステップをさらに含むことを
    特徴とする請求項2に記載の方法。
  4. 【請求項4】 アプリケーション内で選択されたデータ
    を一時記憶装置に記憶するステップをさらに含むことを
    特徴とする請求項2に記載の方法。
  5. 【請求項5】 前記転送操作を検出するステップが、 データ転送選択の所有権を取得するステップと、 前記所有権の変化を検出するステップと、 前記変化が起こった場合に前記所有権を再取得するステ
    ップとをさらに含むことを特徴とする請求項1に記載の
    方法。
  6. 【請求項6】 前記転送操作を検出するステップが、前
    記データ転送操作を開始するアプリケーションからメッ
    セージを受信するステップをさらに含むことを特徴とす
    る請求項1に記載の方法。
  7. 【請求項7】 前記転送するステップが、 前記第1の環境が前記第2の環境と同じであるかどうか
    判定するステップと、 前記第1の環境と前記第2の環境が同じ場合に、前記第
    1の環境のデータ転送機能を使用して前記要求を処理す
    るステップと、 前記第1の環境と前記第2の環境が同じでない場合に、
    前記第2の環境のデータ転送機能を使用して前記要求を
    処理するステップとをさらに含むことを特徴とする、請
    求項1に記載の方法。
  8. 【請求項8】 コンピュータに第1の環境内でデータ転
    送操作を検出させるように構成されたコンピュータ読出
    し可能プログラム・コードと、 コンピュータに第2の環境へ向けたデータに対する要求
    を検出させるように構成されたコンピュータ読出し可能
    プログラム・コードと、 コンピュータに前記データを前記第1の環境から前記第
    2の環境へ転送させるように構成されたコンピュータ読
    出し可能プログラム・コードとを含むコンピュータ読出
    し可能プログラム・コードが設けられたコンピュータ使
    用可能媒体を含む製品。
  9. 【請求項9】 コンピュータに前記データ転送操作と関
    連するデータの位置を探し出させるように構成されたコ
    ンピュータ読出し可能プログラム・コードをさらに含む
    ことを特徴とする請求項8に記載の製品。
  10. 【請求項10】 コンピュータにデータの位置を探し出
    させるように構成された前記プログラム・コードが、 コンピュータに前記データ転送操作を開始した前記第1
    の環境内のアプリケーションへの通信パスを識別させる
    ように構成されたコンピュータ読出し可能プログラム・
    コードをさらに含むことを特徴とする請求項9に記載の
    製品。
  11. 【請求項11】 コンピュータにデータの位置を探し出
    させるように構成された前記プログラム・コードが、 コンピュータにアプリケーション内で選択されたデータ
    を一時記憶装置内に記憶させるように構成されたコンピ
    ュータ読出し可能プログラム・コードをさらに含むこと
    を特徴とする請求項9に記載の製品。
  12. 【請求項12】 コンピュータに転送操作を検出させる
    ように構成された前記プログラム・コードが、 コンピュータにデータ転送選択の所有権を取得させるよ
    うに構成されたコンピュータ読出し可能プログラム・コ
    ードと、 コンピュータに前記所有権の変化を検出させるように構
    成されたコンピュータ読出し可能プログラム・コード
    と、 コンピュータに前記変化が起こった場合に前記所有権を
    再取得させるように構成されたコンピュータ読出し可能
    プログラム・コードとをさらに含むことを特徴とする請
    求項8に記載の製品。
  13. 【請求項13】 コンピュータに転送操作を検出させる
    ように構成された前記コンピュータ読出し可能プログラ
    ム・コードが、 前記データ転送操作を開始するアプリケーションからメ
    ッセージを受信させるように構成されたコンピュータ読
    出し可能プログラム・コードをさらに含むことを特徴と
    する請求項8に記載の製品。
  14. 【請求項14】 コンピュータにデータを転送させるよ
    うに構成された前記コンピュータ読出し可能プログラム
    ・コードが、 コンピュータに前記第1の環境が前記第2の環境と同じ
    であるかどうか判定させるコンピュータ読出し可能プロ
    グラム・コードと、 コンピュータに、前記第1の環境と前記第2の環境が同
    じ場合に、前記第1の環境のデータ転送機能を使用して
    前記要求を処理させるコンピュータ読出し可能プログラ
    ム・コードと、 コンピュータに、前記第1の環境と前記第2の環境が同
    じでない場合に、前記第2の環境のデータ転送機能を使
    用して前記要求を処理させるコンピュータ読出し可能プ
    ログラム・コードとをさらに含むことを特徴とする請求
    項8に記載の製品。
  15. 【請求項15】 プロセッサと、 前記プロセッサに結合され、環境間で情報を転送する操
    作を処理するデータ転送インタフェースとを含む環境間
    で情報を転送する装置。
  16. 【請求項16】 インタフェース・ペーストボード・サ
    ーバと、 前記インタフェース・ペーストボード・サーバに結合さ
    れたウィンドウとを含むことを特徴とする請求項15に
    記載の装置。
  17. 【請求項17】 前記インタフェース・ペーストボード
    ・サーバがデータ転送を処理することを特徴とする請求
    項16に記載の装置。
JP9028311A 1996-01-29 1997-01-29 環境間で情報を転送する方法および装置 Pending JPH09319646A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59374596A 1996-01-29 1996-01-29
US08/593745 1996-01-29

Publications (1)

Publication Number Publication Date
JPH09319646A true JPH09319646A (ja) 1997-12-12

Family

ID=24375973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9028311A Pending JPH09319646A (ja) 1996-01-29 1997-01-29 環境間で情報を転送する方法および装置

Country Status (2)

Country Link
EP (1) EP0786724A1 (ja)
JP (1) JPH09319646A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487597B1 (en) 1998-08-06 2002-11-26 Casio Computer Co., Ltd. Personal digital assistant and information transmission apparatus for use with the personal digital assistant

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982371A (en) * 1996-01-29 1999-11-09 Sun Microsystems, Inc. Method and apparatus for executing and displaying output of an environment in a host environment
US6292842B1 (en) * 1998-08-28 2001-09-18 Hewlett-Packard Company Method for transferring data to an application
EP1172751B1 (en) * 2000-07-13 2008-03-26 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut-paste operation
US7178098B2 (en) 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US20050210401A1 (en) * 2004-03-18 2005-09-22 Nokia Corporation Method and system for centralized copy/paste functionality
CN105144094B (zh) * 2013-01-30 2018-10-16 谷歌技术控股有限责任公司 用于管理应用当中的导航的系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU631749B2 (en) * 1990-09-14 1992-12-03 Digital Equipment Corporation System and method for communication between windowing environments
US5301268A (en) * 1990-10-10 1994-04-05 Fuji Xerox Co., Ltd. Apparatus for transferring information between different window systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487597B1 (en) 1998-08-06 2002-11-26 Casio Computer Co., Ltd. Personal digital assistant and information transmission apparatus for use with the personal digital assistant

Also Published As

Publication number Publication date
EP0786724A1 (en) 1997-07-30

Similar Documents

Publication Publication Date Title
US5740371A (en) Load balancing of connections to parallel servers
US6338079B1 (en) Method and system for providing a group of parallel resources as a proxy for a single shared resource
US5404527A (en) System and method for remote program load
US5146568A (en) Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US6629153B1 (en) Method and apparatus for providing peer ownership of shared objects
US5313581A (en) System and method for communication between windowing environments
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
US8489764B2 (en) Restricting communication of selected processes to a set of specific network addresses
US20090307428A1 (en) Increasing remote desktop performance with video caching
EP0780756B1 (en) Method and apparatus for docking, launching and running applications in a foreign environment
JP2002502515A (ja) Guiウインドウに含まれるデータを捕捉し、処理し、ルーティングする装置および方法
US6038664A (en) Method for selecting communication access method for local area networks
JP2006318499A (ja) サーバとクライアントノードとの間の接続を管理するシステムおよび方法
US6732211B1 (en) Intercepting I/O multiplexing operations involving cross-domain file descriptor sets
JP3308026B2 (ja) 二重プロセス表示サーバシステム
US11716428B1 (en) Method of dynamically mapping scanner names from client to agent
US6247039B1 (en) Method and apparatus for disposing of objects in a multi-threaded environment
US6625641B1 (en) Method and apparatus for providing client support without installation of server software
JPH09319646A (ja) 環境間で情報を転送する方法および装置
US7447761B1 (en) Device detection system and method
EP0319796A3 (en) Job control for an on-line system
JP2002505474A (ja) ルックアップ・サービスに対するアクセスを容易にするための方法及びシステム
US5982371A (en) Method and apparatus for executing and displaying output of an environment in a host environment
JP3884239B2 (ja) サーバ計算機
JPH076110A (ja) 分散処理システムの通信オーバヘッド低減方法