JPH04213741A - インターフェース方法及びインターフェース・システム - Google Patents

インターフェース方法及びインターフェース・システム

Info

Publication number
JPH04213741A
JPH04213741A JP3019227A JP1922791A JPH04213741A JP H04213741 A JPH04213741 A JP H04213741A JP 3019227 A JP3019227 A JP 3019227A JP 1922791 A JP1922791 A JP 1922791A JP H04213741 A JPH04213741 A JP H04213741A
Authority
JP
Japan
Prior art keywords
interface
display
library
functions
adapter
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
JP3019227A
Other languages
English (en)
Other versions
JPH0727505B2 (ja
Inventor
Gregory L Bondy
グレゴリー・ルイス・ボンデイ
John A Cook
ジョン・アンドリュ・クック
Richard L Verburg
リチャード・リー・バーバーグ
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 JPH04213741A publication Critical patent/JPH04213741A/ja
Publication of JPH0727505B2 publication Critical patent/JPH0727505B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the program performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピユータ・グラフ
イツク処理において使用されるデイスプレー・サブシス
テムのアーキテクチヤに関する。より詳細に言えば、本
発明は、オペレーテイング・システムのデイスプレー・
サブシステムと、使用されている特定のデイスプレー・
アダプタとの間のプログラミング・インターフエースの
層を与えるものである。プログラミング・インターフエ
ースは、システム全体のハードウエア及びソフトウエア
の能力を最適にするように、装置とは独立している複数
のグラフイツク・モデルと、装置に従属する複数のデイ
スプレー・ドライバとを組み合わせる。グラフイツク・
モデルと装置ドライバとのこの組み合わせは「動的結合
」(dynamic binding)と呼ばれて知ら
れているプロシージヤを通じて実現される。
【0002】
【従来の技術】従来、GSL、X−ウインドウ、または
graPHIGS(これらはIBM社の製品である)が
デイスプレー・サブシステムに用いられてきた。各パツ
ケージはスクリーン全体を使用し、かつ、時分割により
ユーザから入力されるコマンドによつて制御される空間
分割及び時分割モードで動作するよう設計されている。 従来から、2種類のグラフイツク・パツケージによつて
1つのスクリーンを共有することは行なわれていない。
【0003】若し、1つ以上のタイプのデイスプレー・
アダプタがデイスプレー・サブシステムに設置すること
ができるならば、各独立したドロウイング・ルーチン・
パツケージ(drawing routine pac
kage)が、デイスプレー・アダプタ自身の装置に従
属する制御をサポートできるであろう。通常、異なつた
タイプのデイスプレー・アダプタは、ハードウエアのコ
マンドを入力する独特の手段と、映像データを表示する
独特の手段とを持つている。
【0004】独立したグラフイツク・ルーチンのパツケ
ージは、夫々、グラフイツク・パツケージそれ自身の「
モデル」を持つている。データ、コマンド及びプログラ
ミング・インターフエースの機能をルーチンに通す方法
は、各モデルについて独特である。グラフイツク・モデ
ルの特殊性は、グラフイツク・パツケージがその特定の
デイスプレー・アダプタの装置従属制御を履行する方法
の間の明らかな差異で決められる。
【0005】従来の特定のグラフイツク・パツケージは
、特定のデイスプレー・アダプタに関連した幾つかの装
置ドライバを持つアプリケーシヨン・インターフエース
(API)を与える。これらの装置ドライバは、用いら
れているデイスプレー・アダプタのタイプに従属する。 加えて、設置されたすべてのグラフイツク・パツケージ
は、各デイスプレー・アダプタのためのデイスプレー・
ドライバを持つていなければならない。従つて、装置ド
ライバは、個々のグラフイツク・ルーチン・パツケージ
内に実際上含まれており、そして、各パツケージは、新
しい装置ドライバのコードで更新されなければならない
ので、デイスプレー・アダプタを変更したり、または付
加的なデイスプレー・アダプタを接続する場合には問題
が生じる。従来のシステムにおいて、上述の問題以外に
、パツケージの数と、装置のタイプの数との積に等しい
数の装置ドライバを作る必要があるという問題がある。
【0006】従来のシステムは、新しい装置、または改
良した装置に対して、与えられた各グラフイツク・パツ
ケージもまた、変更しなければならないという欠点を持
つている。この状態は、新しい装置、または改良した装
置に対してグラフイツク・パツケージ中に含まれるコー
ドの再書き込みの仕事をソフトウエア業者に強要するこ
とになる。それを避けるならば、ソフトウエア業者はソ
フトウエアのユーザにコードの再書込みを教えねばなら
ず、これは、知的所有権と、機密情報とに関する問題を
生じるかもしれない。従来のシステムの持つ他の問題は
、付加した装置によつて与えられたすべての機能は、設
置されているグラフイツク・モデルに限定されることで
ある。例えば、若し、機能を強化したデイスプレー・ア
ダプタがGSLグラフイツク・モデルを用いた従来のシ
ステムに付加されたとしても、ユーザはGSLによつて
許容された機能以上に新しく強化された機能を使用する
ことはできない。
【0007】図2を参照すると、従来のグラフイツク・
アプリケーシヨンのプログラミング・インターフエース
・システムが示されている。図2において、独立した3
つのアプリケーシヨン・プログラム51、52、53が
示されている。アプリケーシヨン・プログラム51は2
次元(2D)のアプリケーシヨンであり、アプリケーシ
ヨン・プログラム52及び53は、3次元(3D)のア
プリケーシヨンの第1のモデル及び第2のモデルに夫々
に対応している。更に、図2においては、モデル10、
20、30を使用した一組のグラフイツク・パツケージ
56、57、58が示されており、夫々のパツケージは
アプリケーシヨン51、52、53をサポートする。本
発明の細部を説明するため後述されるように、これらの
パツケージは、プログラム・アプリケーシヨンとデイス
プレー従属の装置ドライバのセツト、70、71、72
との間のプログラミング・インターフエースを与える。 図2から分るように、各グラフイツク・パツケージ56
、57、58は装置ドライバの組70、71、または7
2を含んでおり、装置ドライバの組は、与えられた各デ
イスプレー・アダプタに従属したコードを含んでいる。
【0008】装置ドライバのセツト70、71及び72
に対するプログラミング・インターフエースは同じであ
る必要はなく、そして、装置ドライバ内の装置に従属し
たセクシヨンのすべてが、同じプログラミング・インタ
ーフエースを持つような特定の条件も無い。この例にお
いて、デイスプレー・アダプタ1、2、3、4は対応す
る従属デイスプレー・ドライバのコード81、82、8
3、84、85、86、87、88、89、90、91
及び92が与えられている。
【0009】従つて、図2の従来のシステムにおいて、
各装置ドライバの組70、71、72は、与えられた各
デイスプレー・アダプタのために特に書込まれたコード
を含まねばならないという冗長性を持つていることは明
瞭である。このように、装置ドライバの組70はコード
81、82、83及び84の4つの組を含み、装置ドラ
イバの組71はコード85、86、87及び88の4つ
の組を含み、装置ドライバの組72はコード89、90
、91及び92の4つの組を含んでいる。全部で12個
のコードの組があり、その数は、デイスプレー・アダプ
タのモデルの数3と、タイプの数4との積に等しい。
【0010】デイスプレー・アダプタ1、2、3、4の
うちの任意のアダプタに機能を付加し、また変更を行な
えば、対応する装置ドライバのコード81、82、83
、84、85、86、87、88、89、90、91及
び92(装置ドライバの組70、71、72に含まれて
いる)もまた変更されねばならないことが理解できるで
あろう。その結果、若し、デイスプレー・アダプタ4(
例えば)の性能が強化されたならば、デイスプレー・ド
ライバの特定のコード84、88及び92は、強化され
たアダプタ4に対応するように、グラフイツク・パツケ
ージ56、57、58もまた、更新する必要がある。 性能を改善するために、この冗長性を省く必要があるこ
とは明白であろう。
【0011】
【発明が解決しようとする課題】従つて、グラフイツク
・アプリケーシヨンと、デイスプレー・アダプタとの間
の関係に柔軟性を与えるためのグラフイツク・インター
フエースが必要である。また、グラフイツク・モデル及
びデイスプレー・アダプタのすべての能力を引き出すこ
とができるように、複数のグラフイツク・モデルを、複
数の装置に依存するドライバと関連して動作させるイン
ターフエースを与えることが望まれる。
【0012】
【課題を解決するための手段】従来のシステムとは顕著
に異なつた本発明は、複数個の独立したドロウイング・
ルーチン・パツケージを含む装置ドライバのプログラミ
ング・インターフエースを含んでいる。例えば、既に説
明したGSLグラフイツク・パツケージ及びX−ウイン
ドウは、グラフイツク動作の2次元(2D)のモデルを
実際化した2次元のアプリケーシヨン製品である。従つ
て、装置ドライバの2次元のグラフイツク・モデル10
が与えられ(図1)、これは、これら2次元のグラフイ
ツク・パツケージ(図1で参照数字56で示されている
)をサービスすることができる。GLと呼ばれているパ
ツケージ58は、シリコン・グラフイツクス社(Sil
liconGraphics, Corp.)の3次元
(3D)のアプリケーシヨン製品であり、graPHI
GS57はIBM社によつて販売されている3次元のア
プリケーシヨン製品である。アプリケーシヨン53及び
52に対応する3Dタイプの表示であるこれらの3Dの
アプリケーシヨン製品は、本発明のプログラミング・イ
ンターフエースによつてデイスプレー・システムを有効
に使用することができる。同様に、他の任意の2次元モ
デル、または3次元モデルは、2D、または3Dパツケ
ージを取り扱うために与えることができる。装置ドライ
バのモデル20及び30は、夫々グラフイツク・パツケ
ージ57及び58に対して動作する。
【0013】各グラフイツク・モデルは、カラー・マツ
プ、ウインドウ・リソース、デイスプレー・アダプタ、
フオント等々のリソースを使用する。これらのリソース
は、本発明のプログラミング・インターフエース中にリ
ソース・マネージメント・サービス(RMS)の装置ド
ライバ・ライブラリにおいて管理される。各デイスプレ
ー・アダプタに対して管理されるリソースは、使用され
ているデイスプレー・アダプタのハードウエアの特性に
基づいて変化することには注意を喚起する必要がある。 また、RMSの装置ドライバは、アブストラクト特性、
特にモデル・リソースを与える。異なつたグラフイツク
・パツケージ56、57、58は、正しい装置ドライバ
・ライブラリに対してそのグラフイツク・パツケージを
結合するために、モデル・リソースを使用する。また、
本発明は、システムによつて使用されるデイスプレー・
アダプタに対応する複数個のデイスプレー・ドライバを
含んでおり、従つて、各モデルにおいて同じ装置ドライ
バ・コードを持つ問題を回避する。
【0014】本発明のプログラミング・インターフエー
スは、所望のグラフイツク・パツケージを、現在使用さ
れているデイスプレー・アダプタに、必要なRMS特性
及びその装置特定のモデルのドライバに動的結合するこ
とによつて、それ自身再構成することができる。この動
的結合の処理は、(1)所望の特定のグラフイツク・モ
デルを位置付け、(2)そのモデルを検索し、(3)モ
デルを(a)使用されている特定のデイスプレー・アダ
プタのための装置ドライバ・コードと、(b)その特定
のグラフイツク・モデルによつて必要とされるRMS機
能とに結合するデータベース、または同等のタブユラー
表示(tabular representation
)を使用する。本発明は2つのレベルの結合を使用して
おり、第1のレベルの結合はRMS内にある。即ち、特
定のグラフイツク・モデルに対して必要とされるカラー
・リソース、フオント・リソース、アダプタ・リソース
などを与えるために必要とする装置ドライバ・コードが
動的結合される。従つて、与えられたRMS機能は、使
用しているグラフイツク・モデルとは独立している。上
述した動的結合の第2のレベルは、動的結合されたRM
Sの所望のグラフイツク・パツケージと、使用している
デイスプレー・アダプタに対応する装置特定のモデルと
の間に生じる。
【0015】
【実施例】図1を参照すると、本発明のグラフイツク・
アダプタ・インターフエース(GAI)の構造が示され
ている。上述したプログラム・アプリケーシヨンと同じ
プログラム・アプリケーシヨン51、52、53が示さ
れている。即ち、参照数字51は2Dのアプリケーシヨ
ンを示し、参照数字52及び53は3Dのアプリケーシ
ヨンを示している。また、デイスプレー・アダプタ1、
2、3、4は、図2に関して説明したのと同じデイスプ
レー・アダプタを示している。
【0016】アプリケーシヨン51、52、53は、異
なつた図形モデルを用いた特定の独立したグラフイツク
・ドロウイング・ルーチンのパツケージ56、57、5
8(グラフイツク・パツケージ)を使用している。これ
らのパツケージのアプリケーシヨン・プログラミング・
インターフエース(API)は、装置ドライバノプログ
ラミング・インターフエース(装置インターフエース)
のモデル10、20及び30に結合しているグラフイツ
ク・アダプタ・インターフエース(GAI)60を呼び
出すことによつて、それらに関連したグラフイツク・モ
デルを動作する。装置ドライバのプログラミング・イン
ターフエースは、種々のグラフイツク・パツケージ56
、57、58によつて用いられるグラフイツク・モデル
と整合するように構成されている。GAI装置ドライバ
は、ドライバ・インターフエース70、71、72と、
装置の特定なコード81、82、83、84、85、8
6、87、88、89、90、91及び92との位置に
ある。GAI60は、パツケージ56、57、58と、
デイスプレー・アダプタ1、2、3、4との間の共通イ
ンターフエースを与える。
【0017】GAI60には、グラフイツク装置ドライ
バのモデル、即ち装置インターフエース10、20、3
0に加えて、リソース・マネージメント・サービス(R
MS)40のライブラリが含まれており、このライブラ
リは、特定のデイスプレー・アダプタ1、2、3、4が
利用可能な機能及び特性、即ち、これらのアダプタが利
用可能なリソースをサポートするルーチンのライブラリ
である。加えて、RMS40のライブラリは、グラフイ
ツク機能を遂行するために、装置ドライバのどのモデル
を使用するかを選択するためのパツケージの標準手段を
与えている。これらの装置ドライバ・インターフエース
のモデル10、20、30は、夫々が機能のライブラリ
であること、つまり、これらの装置インターフエースの
モデルは、アプリケーシヨン51、52、53の制御の
下にあるグラフイツク・パツケージ56、57、58に
よつて装置ドライバ内で必要とされる特定の2D機能、
3D機能、または他の機能に対応し、これらの機能を実
行する関連ルーチンのグループである。例えば、2Dの
インターフエースのモデル10は、X−ウインドウの製
品を基礎としており、他方、3Dのインターフエースの
モデル30及び20はシリコン・グラフイツクス社のG
Lパツケージと、IBM社のgraPHIGSの製品を
基礎としている。従つて、GAI60中に含まれている
インターフエースのモデル10、20、30は、異なつ
たグラフイツク・パツケージの特定のモデルによつて必
要とされる機能のバランスされた集合体であることが理
解できるであろう。上述の製品は、例示の目的で示した
ものであり、同様な機能を持つ他の製品を、本発明の技
術範囲の中で使用することができることは言うまでもな
い。
【0018】RMS40のライブラリは、独立したプロ
セス内で動作するアプリケーシヨン51、52、53が
特定のデイスプレー・アダプタ1、2、3、または4を
操作するメカニズムを与え、このメカニズムによつて、
アプリケーシヨンが必要とする時に、そのアダプタの利
用可能なすべての特性が利用される。RMS40は、リ
ソース、即ちヘツダ、属性(attribute)及び
プロシージヤに基づいて組織されている。また、ヘツダ
はプライベート・データと、エキステンシヨンとのポイ
ンタを含むことができる。属性はリソースのデータ記述
(data description)であると定義さ
れる。プロシージヤはリソースに動作する機能ポインタ
である。リソース・ヘツダと、リソース属性と、リソー
ス・プロシージヤの組合せは、オブジエクト指向プログ
ラミングに使用されているものの代表的な組織である。 GAI60のRMS40中に含まれている機能は、前述
した機能ポインタを初期化し、リセツトし、または更新
する。
【0019】個々に分離している各デイスプレー・アダ
プタ1、2、3、4は、デイスプレー・アダプタがユー
ザのプログラム・アプリケーシヨンに対して異なつた機
能を与える或る種の能力を持つており、アダプタ間で変
化する。RMS40のライブラリは、グラフイツク・パ
ツケージにこれらの機能を与えるために、標準的な装置
ドライバのプログラミング・インターフエースを与える
。それらの機能はRMSのリソースとして具体化される
。これらの機能は以下の機能を含む。それらは、(1)
デイスプレー・アダプタとデイスプレー(CRT)との
間のコミユニケーシヨンを可能とするモニタと、(2)
面の組(set of planes)のようなデイス
プレー・アダプタについてのオブジエクトを持つ能力の
グループであり、カーソル及びカラー・マツプを含んで
もよいグループと、(3)ウインドウ、アプリケーシヨ
ンのクリツピング情報、アクテイブ・グループ及びアク
テイブ・バツフアと、(4)ウインドウ・ジオメトリと
、ウインドウの環境において、すべてのウインドウのサ
イズ及び構成に関する情報と、(5)カーソル、カラー
・マツプ、スクリーン・ロケータに関する情報と、(6
)特定されたグループのための一組のカラーの仕様であ
るカラー・マツプと、(7)ラスター、ベクトル、また
はアウトライン・フオーマツト中のオペレーテイング・
システムのフオントの定義(文字の分類)であるフオン
トと、(8)そのパツケージにインターフエースするタ
イプのどのドライバがAPI中に具体化されているグラ
フイツク・モデルに対してコンバチブルの動作を必要と
するかを特定するモデルと、(9)最も高いレベルのリ
ソースであり、かつ他のリソースを作成し、制御するの
に仕様される属性及びプロシージヤであるアダプタとで
ある。
【0020】上述のリソースは、通常、本発明と関連し
て使用しようとするデイスプレー・アダプタ中に含まれ
ている。然しながら、本発明は他のリソースも利用可能
だから、本発明の技術範囲を上述の例示のみに限定して
解すべきではない。
【0021】各デイスプレー・アダプタ1、2、3、4
は、同じ数のリソースと同じタイプのリソースを使用し
てもよいし、使用しなくともよい。即ち、各デイスプレ
ー・アダプタは、それ自身が関連しているRMS40の
機能のライブラリを持つている。従つて、特定のデイス
プレー・アダプタによつて開拓することのできるリソー
スは、その特定のデイスプレー・アダプタがプログラム
・アプリケーシヨンのプロセスによつて使用される時に
構成され、結合されなければならない。
【0022】RMS40内にデイスプレー・アダプタの
特定なリソースの構成を作成するために、RMS40か
ら、要求されたリソースのこの特定のオブジエクト・フ
アイルまでの経路を創成する方法が使用される。本発明
において、動的結合は、RMS40がリソースをデイス
プレー・アダプタ特定の機能のライブラリに構成するメ
カニズムである。これらのリソースを結合するための他
の方法として、例えば共有されたライブラリなどが、本
発明のもとで考えられるのは注意を要する。
【0023】動的結合は、リソース・コード及びリソー
ス・モデル特定のライブラリのすべてを独立したグラフ
イツク・ドロウイングのルーチン・パツケージに結合す
ることである。この結合動作は、アプリケーシヨン51
、52、53の実行時間において、オペレーテイング・
システムのユテイリテイによつて行なわれる。このこと
は、アプリケーシヨンや、またはグラフイツク・パツケ
ージ56、57、58のコンパイル動作の時間を必要と
する従来の技術と比べて大きな改善である。GAI60
における動的結合処理は、アプリケーシヨンか、または
APIかのいずれかにより、RMSのアダプタ・リソー
スに供給されたデータを用いて、装置特定のRMSライ
ブラリ40中に含まれているルールによつて達成される
。各デイスプレー・アダプタ1、2、3、4は、RMS
40のライブラリのフアイル(図5を参照)に必要とす
る自分自身のセツトを持つている。
【0024】APIが装置ドライバにアクセスしようと
した時、総括的なGAIRMSコールが呼び出され、G
AI  RMSに対してデイスプレー・アダプタ1、2
、3、4のID(識別子)が与えられる。これらのID
及び他のパラメータは、ルツクアツプ・テーブル、また
はコンフイギユレーシヨン・フアイルをアクセスするの
に用いられ、必要なリソースのオブジエクト・フアイル
へのフアイル・システムの経路を見い出す。次に、リソ
ースのオブジエクト・フアイルがロードされ、エントリ
・ポイント・コードが実行される。このようにして、R
MS40のライブラリの動的結合処理は、関連するアプ
リケーシヨン51、52、または53が使用するために
、特定のグラフイツク・パツケージ56、57、または
58に対する特定の装置のために達成される。
【0025】グラフイツク・パツケージが、付加的な機
能をRMSライブラリ40中に置かないと望んだ時、そ
れは、APIによつて必要とされるGAIの装置ドライ
バ10、20、または30のモデルを特定するために、
RMSのモデル・リソースを用いる。RMSライブラリ
40は、装置及びモデル特定のGAI装置ドライバをロ
ードし、それをパツケージに結合する第2の動的結合を
実行するために、このモデルのデータを使用する。RM
Sライブラリは、必要とするモデルのリソースのオブジ
エクト・フアイルへの経路を見い出すために、同じルツ
クアツプ・テーブルか、またはコンフイギユレーシヨン
・フアイルを使用する。次に、モデル・リソースのオブ
ジエクト・フアイルがロードされ、そして、エントリ・
ポイント・コードが実行される。このようにして、装置
及びモデル特定の装置ドライバに対してパツケージを動
的結合する第2のレベルが達成される。
【0026】RMS40中で発生する動的結合の処理を
どのようにして呼び出すかを容易に理解することのでき
る実施例を以下に説明する。
【0027】例えば、アプリケーシヨン51は、デイス
プレー・アダプタ1によつて、CRT(図示せず)のよ
うなデイスプレー上にデイスプレーさせる処理を実行す
るものと仮定する。第1に、グラフイツク・パツケージ
56はデイスプレー・アダプタ1が必要とされているこ
とを決定する。パツケージ56は、デイスプレー・アダ
プタ1をサポートするRMSライブラリ40と動的に結
合する。この動的結合の結果は、どのRMSライブラリ
のリソース及び機能が、デイスプレー・アダプタ1によ
つて必要とされるかを決定し、そして、デイスプレー・
アダプタ1が必要とするリソース、例えば、カーソル・
リソース、フオント・リソース及びカラー・マツプ・リ
ソースなどを割り当てる。第2に、アプリケーシヨン5
1は、2Dのグラフイツク・パツケージを使用している
から、このパツケージをサポートするために、2Dのモ
デル10が必要とされる。グラフイツク・パツケージ5
6は、デイスプレー・アダプタ1のための2Dのモデル
のGAIの装置ドライバ10(図3を参照)と動的に結
合するためにRMSライブラリ40のモデルのリソース
を使用する。従つて、アプリケーシヨン51はデイスプ
レー・アダプタ1に書き込みをすることができ、そして
、この特定のハードウエアの装置に関連したすべての特
性を利用することができる。
【0028】更に、アプリケーシヨン51のユーザがデ
イスプレー・アダプタ3に書き込むことを決定したとす
れば、グラフイツク・パツケージ56は、RMSライブ
ラリとの動的結合を繰り返す(各RMSに対するプログ
ラミング・インターフエースは同じである)。この動的
結合は、この場合、デイスプレー・アダプタ3をサポー
トする装置特定のRMSライブラリ42との動的な結合
である。次に、パツケージ56は、装置特定の2Dモデ
ルの装置ドライバ12に動的に結合するために、RMS
ライブラリ42のモデル・リソースを操作する。この装
置ドライバ12はデイスプレー・アダプタ3をサポート
する。2Dの装置ドライバ10及び2Dの装置ドライバ
12に対するプログラミング・インターフエースは同じ
であり、ルーチンの装置特定の出力だけが異なつている
。アプリケーシヨン51、52、53のデイスプレー・
アダプタ1、2、3、4のモデル特定の装置ドライバ1
0乃至13、20乃至23及び30乃至33と、パツケ
ージ56、57、58との間の複数の組み合わせがどの
ようにして作られるか、そして、これにより、与えられ
た状態において最も望ましいデイスプレー・アダブタの
特性を利用する能力が各アプリケーシヨンに与えられた
かについて理解することができた。
【0029】モデルは状態を持たないから、単一の処理
内において、複数のモデルが同時に使用できる。すべて
の必要な状態情報は、すべてのモデルによつて共有され
ているか、リソースの属性中に含まれているか、または
プロシージヤへパラメータとして通される。
【0030】GAI60中に含まれるコンポーネントの
組合せの1例を示す図3のブロツク図を参照してGAI
60のコンポーネントを以下に説明する。GAI60か
ら各デイスプレー・アダプタ1、2、3、4への出力が
図3に示されており、この図から特定のグラフイツク・
モデル(パツケージ56、57、58によつて具体化さ
れているような)と動作する各アダプタに対して結合す
るのに必要とされるコンポーネントを決定することがで
きる。特定のRMSライブラリ40、41、42、43
は、夫々デイスプレー・アダプタ1、2、3、4に対応
しており、既に説明したように、必要な機能を与える。 2次元モデル特定の装置ドライバ10、11、12、1
3は、夫々デイスプレー・アダプタ1、2、3、4に直
接に関係しており、そして、特定の3Dモデルの装置イ
ンターフエース20、21、22、23は、夫々デイス
プレー・アダプタ1、2、3、4に関係している。最後
に、3Dのモデル#2は、デイスプレー・アダプタ1、
2、3、4に夫々関係しているデイスプレー装置ドライ
バのモデル30、31、32、33を含んでいる。図3
の各新しいデイスプレー・アダプタのために、特定のモ
デル特定の装置ドライバ・ライブラリの幾つかの装置特
定の例が、同じプログラミング・インターフエースを持
つている。従つて、独立したドロウイング・ルーチン・
パツケージは、複数の装置のアクセスを得るために、1
つの装置ドライバ・プログラミング・インターフエース
を履行するだけでよい。
【0031】与えられた条件のもとで動的に結合されね
ばならないコンポーネントの例を図1及び図3を参照し
て以下に説明する。ここで、アプリケーシヨン53(図
1)がデイスプレー・アダプタ2に書き込みを望んでい
るものと仮定する。デイスプレー・アダプタ2が使用さ
れているので、グラフイツク・パツケージ58は、RM
Sライブラリをロードし、RMSライブラリ41に動的
に結合される。アプリケーシヨン53はGLパツケージ
58を使用しており、かつ、GLパツケージ58はグラ
フイカル・モデル3D−M2を使用しているので、GL
パツケージ58はモデル・リソースを作成するためにR
MSライブラリ41を使用し、そして、3D−M2の装
置ドライバのモデル31をパツケージ58に動的に結合
するためにモデル・リソースを使用する。モデル3D−
M2はGLパツケージ58及びアプリケーシヨン53に
よつて必要とされるグラフイツク機能を含んでいるから
、図3の参照数字31で示されたデイスプレー・アダプ
タ2のための3D−M2の装置が特定するグラフイツク
機能は、アダプタ2によつて与えられる対応した装置の
特定の機能に転換される。このようにして、グラフイツ
ク・パツケージ58、RMS41及びグラフイツク・モ
デル31の間に動的結合を実行することによつて、アプ
リケーシヨン53がデイスプレー・アダプタ2に書き込
みを可能とし、そしてグラフイツク・アダプタの中に含
まれている特定の機能のすべてを利用可能にする。
【0032】同様に、アプリケーシヨン51(2D)が
デイスプレー・アダプタ4を利用したいと望んでいるも
のと仮定する。最初に、RMSライブラリ43をパツケ
ージ56に結合するための動的結合の第1のレベルは、
グラフイツク・パツケージ56とGAI60との間で生
じる。RMSライブラリ43はデイスプレー・アダプタ
4に対する特定のリソース・ライブラリである。次に、
動的結合の第2のレベルがパツケージ56と2Dのグラ
フイツク・モデル13との間に生じる。かくして、アプ
リケーシヨン51は、GAI中の動的に結合されたコン
ポーネントを介してデイスプレー・アダプタ4とインタ
ーフエースし、そして書き込むことができる。
【0033】図3は、3D動作を遂行できない2つのデ
イスプレー・アダプタ3、4を示しているが、これは、
単なる例示的なものであることには注意を払う必要があ
る。従つて、機能的ルーチンを全く含まないものとして
破線によつて、3Dモデル22、23及び32、33が
示されている。然しながら、機能のこのような欠如は、
GAI60ではなく、この例において説明されているデ
イスプレー・アダプタ3、4だけに適用される。オリジ
ナルのデイスプレー・アダプタ3、4に対して、強化さ
れ、改良されたデイスプレー・アダプタが与えられるな
らば、3DモデルはGAI60の機能的能力、即ち22
、23及び32、33で代用される機能的な能力の中に
含まれることになる。同様に、アダプタ3及び4の持つ
ていない3D機能をエミユレートするために、装置ドラ
イバ中にソフトウエアが書き込まれたとすれば、或る機
能はデイスプレー・アダプタ3、または4に通され、そ
して、他の機能は装置ドライバ中でエミユレートされる
ように、装置ドライバ22、23、32及び33を図示
のように設置することができる。このコンピユータ・グ
ラフイツク・システムのユーザに対してプログラミング
とか、または再結合とかの多大の負担を賦課することな
く、デイスプレー・アダプタの更新、強化及び代用を容
易に行なうために、本発明に従つたGAI60の互換性
及び柔軟性がどのようにして適用されるかが理解された
。上述した実施例においては、アプリケーシヨン、また
はパツケージに対して何らの変更を加える必要がない。
【0034】図3に示されたGAI60に具体化された
他の機能は、パツケージや、アプリケーシヨンや、デイ
スプレー・アダプタが既に存在しているシステムにおい
て、新しいアダプタを付加することが容易にできるとい
うことである。例えば、新しいデイスプレー・アダプタ
(例えば、デイスプレー・アダプタ5、RMSライブラ
リ44及び装置ドライバ14、24、34)を設けるた
めに付加されねばならないGAIライブラリは、独立し
て書き込むことができ、相互関係を考慮することなく、
パツケージ56、57、58の内のどのパツケージを使
用するかについて考慮することもない。同様に、新しい
デイスプレー・アダプタを使用するために、パツケージ
、またはアプリケーシヨンそれ自身を変更する必要が全
くない。これは、新しい装置をサポートするために各パ
ツケージに新しい装置ドライバを必要とする図2に示さ
れたような従来のシステムとは顕著に異なる点である。 1つのデイスプレー・アダプタ5と、関連したRMSラ
イブラリ44と、装置ドライバ14、24、34が前の
例に付加されているけれども、上述したように、本発明
の下では、現状のコンポーネントに対して全く変更を加
えることなく、実質的に無制限にデイスプレー・アダプ
タを付加することができることには注意を喚起する必要
がある。
【0035】図4は、代表的なルツクアツプ・テーブル
と、GAI60の中で発生する動的結合を与える本発明
によつて用いられるコマンドとを示している。より詳細
に言えば、オペレーテイング・システムのフアイル・シ
ステムのロケーシヨン及び名前がこのテーブルの中にス
トアされている。装置特定のコード個々のGAIの例が
、このテーブルの中にリストされている。付加的な列が
、各コードを正しいアダプタ及びモデルに関連付けてい
る。このテーブルにおいて、モデルの列に値0を割り当
てる規約は、RMSライブラリに表示してあり、値1は
、2Dモデルの装置ドライバのプログラミング・インタ
ーフエースを表示し、値2は3D−M1の装置ドライバ
のプログラミング・インターフエースを表示し、値3は
3D−M2の装置ドライバのプログラミング・インター
フエースを表示している。アダプタ及びモデル・エント
リの両方は、装置の10、20、30の適正な装置特定
のドライバを見い出すために、正しく整合されているこ
とは注意を要する。両方の値の整合は、相似した2つの
層の動的な結合方法(analogous two l
ayer dynamic bind)によつて達成さ
れる。
【0036】図4に例示したテーブルは、図3に示され
たコンポーネントに対応している。第1の行はリソース
管理サービス機能(この場合、アダプタ1、モデル0と
して示されたデイスプレー・アダプタ1と関連されたR
MS40)に対応している。更に、デイスプレー・アダ
プタ1は、2D及び3Dアプリケーシヨンをデイスプレ
ーすることができ、従つて、夫々、アダプタ1、モデル
1、2、3としてリストされているモデル2D、3D−
M1及び3D−M2を含んでいる。同様に、アダプタ2
は、2D及び3Dのアプリケーシヨンを使用することが
でき、アダプタ1が持つているのと同じエントリを含ん
でいる。勿論、アダプタ2のアダプタ特定のデイスプレ
ー・ドライバのコード及びRMSコード42は、アダプ
タ1とは異なつたコードである。
【0037】デイスプレー・アダプタ3及び4には3D
のアプリケーシヨンを適用できないことは、図4から明
らかである。アダプタ3及び4にはRMS及び2Dのエ
ントリであるたつた2つのエントリしか含まれていない
。特定のモデル及び特定のアダプタのエントリがないこ
とは、アプリケーシヨンを差し向けることにより、どの
パツケージが適当であるかをアプリケーシヨンに選択さ
せることができることには注意を要する。同様に、パツ
ケージ自身はテーブルを検査することができ、そして、
関連するアダプタに対して、どのグラフイツク・サポー
トがデイスプレー・サブシステムに利用可能かを決定す
ることができる。RMSライブラリのモデル・リソース
は、この検討を援助するために「質問モデル」(Que
ry Model)プロシージヤを与える。
【0038】図5は各デイスプレー・アダプタ1、2、
3、4に対してGAIを構成したときに、本発明による
効果を説明する図である。若し、図5に示されたプログ
ラミング・インターフエースが実際にあつたとすれば、
達成された時、GAI60は、各アダプタ1、2、3、
4のためのグラフイツク・パツケージ56、57、58
に対して同じインターフエースを表わしている。本発明
によつて、アプリケーシヨンは、デイスプレー・アダプ
タに結合されたグラフイツク・モデルに特定したプログ
ラミング・インターフエースに変更される。モデルを駆
逐するためのコマンドをRMSに対して発生することに
よつて各デイスプレー・アダプタを再構成することがで
き、再構成されたデイスプレー・アダプタに対して、前
に行つた動的結合が開放される。本発明は、後続する動
的結合によつて、プログラム・アプリケーシヨンにより
用いられるよう望まれた次のデイスプレー・アダプタ、
またはグラフイツク・モデルの特定の特性を利用するた
めにGAI60を再構成することができる。また、図5
に示されたように、第3の(3/rd)群のグラフイツ
ク・モデルN(Nは、システムに付加された最後のグラ
フイツク・モデルのために用いられた番号の後に利用可
能な次の順番の数字)を含ませることができる。現在用
いられているソフトウエア・パツケージによつて利用さ
れる新しいアダプタを付加するのではなく、図3及び図
5に示されているモデルとは異なつたグラフイツク・モ
デルを使用した新しいドロウイング・ルーチン・パツケ
ージを、本発明に従つて導入することが可能である。各
場合に対して、図3に新しい列を加えたのと同じような
新しい装置ドライバのモデルが作成される。新しいモデ
ルに基づいたアプリケーシヨン、またはドロウイング・
ルーチン・パツケージは、装置特定のコードを含む要求
から受け入れられずに残る。従つて、GAI60のコン
ポーネントを動的結合することによつて、事実上制限の
ないアダプタの数が複数個のグラフイツク・アプリケー
シヨンと関連して使用することができ、これにより、ア
ダプタは1つだけ設置したオブジエクト・コードのフア
イルを遂行することによつて強化、または改良すること
ができる。このことは、システム中のいずれかのデイス
プレー・アダプタのハードウエアが強化され、改良され
るなどの変更を行なう時は、必ず、使用される各アプリ
ケーシヨンに対して1つのオブジエクト・フアイルの新
しい設置を必要とした従来のシステムと比べて著しい相
違である。
【0039】図6を参照して、GAI60の他の利点を
以下に説明する。本発明を適用したシステムは、GAI
60の能力の利益を享受するgraPHIGS+、59
(IBM社で販売されている3Dのグラフイツク製品)
のような新しいグラフイツク・パツケージを導入するこ
とが可能である。GAI60は1つ以上の装置ドライバ
のインターフエースのモデルと、1つ以上のデイスプレ
ー・アダプタとを同時に接続させる柔軟な能力を持つて
いる。従つて、graPHIGS+パツケージのプログ
ラミング・インターフエースを使用するアプリケーシヨ
ン54は、アダプタ1、2、3及び4に同時に接続し、
通信することができる。
【0040】グラフイツク・パツケージは、モデル・リ
ソースを作成するために、特定のデイスプレー・アダプ
タのGAI  RMS40のライブラリを使用する。こ
れらのグラフイツク・パツケージは、所望のデイスプレ
ーの装置ドライバのグラフイツク・モデル10、20、
30に結合するために、モデル・リソースを使用する。 図3及び図4において既に説明したように、アダプタ3
及び4は、グラフイツク・モデル3D−M1のためのハ
ードウエアのサポートを持たず、従つて、3D−M1の
ための対応する装置特定のGAIの装置モデル22及び
23(図3)を持つていないことは注意を要する。グラ
フイツク・パツケージgraPHIGS+は、アダプタ
3及び4にデイスプレーした時、2Dグラフイツク・モ
デル10を使用する代わりに、このハードウエアの従属
性を管理する。アプリケーシヨン54の側から見て、パ
ツケージgraPHIGS+、59は4つのアダプタす
べてを引き出す能力が与えられている。グラフイツク・
パツケージgraPHIGS+の観点から、GAI60
のアダプタ1及び2のためのGAIグラフイツク・モデ
ル20(図6)の装置ドライバに結合することによつて
、3Dの動作をサポートすることのできるデイスプレー
のハードウエアを開拓する手段を与える。加えて、グラ
フイツク・パツケージgraPHIGS+の観点からは
、GAI60は、アダプタ3及び4のためのGAIグラ
フイツク・モデルの装置ドライバ10に結合することに
よつて、2D動作だけをサポートすることのできるデイ
スプレーのハードウエアを開拓するためのパツケージ手
段を与える。
【0041】同じアダプタに関して、グラフイツク・モ
デルの装置ドライバの間で選択させ、1つ以上のモデル
に接続し、そして同時に複数のモデルに接続するグラフ
イツク・パツケージの能力は従来のシステムに比べて遥
かに大幅な柔軟性を与える。本発明は、GAI  RM
Sライブラリ40の標準化されたプログラミング・イン
ターフエースと、GAI60中に含まれる他のGAIグ
ラフイツク・モデルの装置ドライバとを与える柔軟性あ
る能力をグラフイツク・パツケージと、プログラム・ア
プリケーシヨンに行なわせる。
【0042】
【発明の効果】本発明は、グラフイツク・モデル及びデ
イスプレー・アダプタの全能力を引き出すことができる
ように、複数のグラフイツク・モデルを、装置に従属す
る複数のドライバと関連して動作するインターフエース
を与える。
【図面の簡単な説明】
【図1】本発明のプログラミング・インターフエースを
含むグラフイツク・デイスプレー・システムを説明する
ためのブロツク図である。
【図2】従来のグラフイツク・デイスプレー・システム
を示すブロツク図である。
【図3】本発明のグラフイツク・アダプタのインターフ
エースのコンポーネントと、デイスプレー・アダプタの
間の関係を示すブロツク図である。
【図4】本発明が動的結合処理の間でデイスプレー・ア
ダプタを持つているモデル及び他のコンポーネントを位
置付け、関連付ける手段を説明するテーブルである。
【図5】本発明のグラフイツク・アダプタのインターフ
エースを示すブロツク図である。
【図6】単一のグラフイツク・パツケージが複数のデイ
スプレー・アダプタ、または複数個の装置ドライバのイ
ンターフエース・モデルのためのインターフエースを与
えることのできる実施例を説明するためのブロツク図で
ある。
【符号の説明】

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】  少なくとも1つのプログラム・アプリ
    ケーシヨンと、特定な機能を有する複数個のハードウエ
    ア・デイスプレー・アダプタとの間をインターフエース
    するための方法において、上記ハードウエア・デイスプ
    レー・アダプタの各々に特定なリソースの機能のライブ
    ラリを与える段階と、上記プログラム・アプリケーシヨ
    ンの能力に整合した複数個の装置インターフエースを与
    える段階と、上記デイスプレー・アダプタと上記プログ
    ラム・アプリケーシヨンとの特定の組合せのために、上
    記デイスプレー・アダプタの特定な機能を上記装置イン
    ターフエースの1つに関連させる段階とからなるインタ
    ーフエース方法。
  2. 【請求項2】  上記機能のライブラリを与える段階は
    上記デイスプレー・アダプタの1つに使用可能なリソー
    スの機能の1つに第1の動的結合を行なう段階を含むこ
    とを特徴とする請求項1に記載のインターフエース方法
  3. 【請求項3】  上記関連させる段階は上記デイスプレ
    ー・アダプタの特定の機能と上記装置インターフエース
    とに第2の動的結合を行なう段階を含むことを特徴とす
    る請求項2に記載のインターフエース方法。
  4. 【請求項4】  後続する動的結合の段階は、上記プロ
    グラム・アプリケーシヨンの他の組合せと上記ハードウ
    エア・デイスプレー・アダプタとの間のインターフエー
    スを与えるために、上記デイスプレー・アダプタの特定
    の機能の1つを上記装置インターフエースの1つに関連
    させる段階を含むことを特徴とする請求項2に記載のイ
    ンターフエース方法。
  5. 【請求項5】  対応する上記プログラム・アプリケー
    シヨンに関するグラフイツク機能のモデルを含み、上記
    各プログラム・アプリケーシヨンのためのグラフイツク
    ・パツケージを与える段階を含むことを特徴とする請求
    項3に記載のインターフエース方法。
  6. 【請求項6】  上記グラフイツク・パツケージと、上
    記装置インターフエースと、上記リソースの機能のライ
    ブラリとを動的結合する段階を含むことを特徴とする請
    求項5に記載のインターフエース方法。
  7. 【請求項7】  上記リソースの機能ライブラリを与え
    る段階はモニタ・データと、グループ・データと、ウイ
    ンドウ・データと、ウインドウ・ジオミトリ・データと
    、カーソル・データと、カラーマツプ・データと、フオ
    ント・データと、モデル・データと、アダプタ・データ
    とを与える段階を含むことを特徴とする請求項6に記載
    のインターフエース方法。
  8. 【請求項8】  動的結合の段階は上記グラフイツク・
    パツケージと、上記装置インターフエースと、上記リソ
    ースの機能のライブラリとを単一のハードウエア・デイ
    スプレー・アダプタ・インターフエースとして構成して
    いることを特徴とする請求項7に記載のインターフエー
    ス方法。
  9. 【請求項9】  上記プログラム・アプリケーシヨン及
    び上記グラフイツク・パツケージによつて、上記装置イ
    ンターフエースのうちのどの装置インターフエースが上
    記複数個のハードウエア・デイスプレー・アダプタの特
    定の1つに使用可能であるかを決める段階を含むことを
    特徴とする請求項4に記載のインターフエース方法。
  10. 【請求項10】  現在設置されている複数個の装置イ
    ンターフエースの任意の1つ、あるいは上記リソースの
    機能のライブラリに変更を行なうことなく、付加的な上
    記デイスプレー・アダプタを与える段階を含むことを特
    徴とする請求項1に記載のインターフエース方法。
  11. 【請求項11】  上記リソースの機能のライブラリを
    与える段階は上記リソースの機能を結合する段階を含む
    ことを特徴とする請求項1に記載のインターフエース方
    法。
  12. 【請求項12】  上記関連させる段階は上記デイスプ
    レー・アダプタの特定の機能を上記装置インターフエー
    スに結合する段階を含むことを特徴とする請求項11に
    記載のインターフエース方法。
  13. 【請求項13】  少なくとも1つのプログラム・アプ
    リケーシヨンと、特定の機能を有する複数個のハードウ
    エア・デイスプレー・アダプタとの間をインターフエー
    スするための方法において、上記ハードウエア・デイス
    プレー・アダプタの各々に特定したリソースの機能のラ
    イブラリを与える段階を含み、上記ライブラリを与える
    段階は上記リソースの機能の間を動的に結合する第1の
    レベルを遂行する段階を含んでいることとと、上記プロ
    グラム・アプリケーシヨンの能力に整合した複数個の装
    置インターフエースを与える段階と、上記デイスプレー
    ・アダプタと上記プログラム・アプリケーシヨンとの特
    定の組合せのために、上記デイスプレー・アダプタの特
    定の機能を上記装置インターフエースの1つに関連させ
    る段階を含み、上記関連させる段階は上記アダプタの特
    定の機能及び上記装置インターフエースの間を動的結合
    する第2のレベルを遂行する段階を含むこととからなる
    インターフエース方法。
  14. 【請求項14】  少なくとも1つのプログラム・アプ
    リケーシヨンと、特定の機能を有する複数個のハードウ
    エア・デイスプレー・アダプタとの間をインターフエー
    スするためのシステムにおいて、上記ハードウエア・デ
    イスプレー・アダプタの各々に特定したリソースの機能
    のライブラリと、上記プログラム・アプリケーシヨンの
    能力に整合した複数個の装置インターフエースと、上記
    デイスプレー・アダプタと上記プログラム・アプリケー
    シヨンとの特定の組合せのために、上記デイスプレー・
    アダプタの特定の機能を上記装置インターフエースの1
    つに関連させる手段とからなるインターフエース・シス
    テム。
  15. 【請求項15】  上記リソースの機能のライブラリは
    上記デイスプレー・アダプタの1つに使用可能なリソー
    スの機能の1つを動的結合する第1の手段を含むことを
    特徴とする請求項1に記載のインターフエース・システ
    ム。
  16. 【請求項16】  上記関連させる手段は上記デイスプ
    レー・アダプタの特定の機能と上記装置インターフエー
    スとを動的結合するための第2の手段を含むことを特徴
    とする請求項2に記載のインターフエース・システム。
  17. 【請求項17】  後続する動的結合は、上記プログラ
    ム・アプリケーシヨンの他の組合せと上記ハードウエア
    ・デイスプレー・アダプタとの間のインターフエースを
    与えるために、上記デイスプレー・アダプタの特定の機
    能の1つを上記装置インターフエースの1つに関連させ
    ることを特徴とする請求項2に記載のインターフエース
    ・システム。
  18. 【請求項18】  対応する上記プログラム・アプリケ
    ーシヨンに関するグラフイツク機能のモデルを含み、上
    記各プログラム・アプリケーシヨンのためのグラフイツ
    ク・パツケージを更に含むことを特徴とする請求項3に
    記載のインターフエース・システム。
  19. 【請求項19】  上記グラフイツク・パツケージと、
    上記装置インターフエースと、上記リソースの機能のラ
    イブラリとは動的結合されることを特徴とする請求項5
    に記載のインターフエース・システム。
  20. 【請求項20】  上記リソースの機能はモニタ・デー
    タと、グループ・データと、ウインドウ・データと、ウ
    インドウ・ジオミトリ・データと、カーソル・データと
    、カラーマツプ・データと、フオント・データと、モデ
    ル・データと、アダプタ・データとを含むことを特徴と
    する請求項6に記載のインターフエース・システム。
  21. 【請求項21】  動的結合された上記グラフイツク・
    パツケージと、上記装置インターフエースと、上記リソ
    ースの機能のライブラリとは、単一のハードウエアのデ
    イスプレー・アダプタのインターフエースとして構成さ
    れていることを特徴とする請求項7に記載のインターフ
    エース・システム。
  22. 【請求項22】  上記プログラム・アプリケーシヨン
    及び上記グラフイツク・パツケージは、上記装置インタ
    ーフエースのうちのどの装置インターフエースが上記複
    数個のハードウエア・デイスプレー・アダプタの特定の
    1つに使用可能であるかを決めることができることを特
    徴とする請求項4に記載のインターフエース・システム
  23. 【請求項23】  現在設置されている複数個の装置イ
    ンターフエースの任意の1つ、あるいは上記リソースの
    機能のライブラリに変更を行なうことなく、上記デイス
    プレー・アダプタを付加することができることを特徴と
    する請求項1に記載のインターフエース・システム。
  24. 【請求項24】  上記リソースの機能のライブラリは
    上記リソースの機能を結合する手段を含むことを特徴と
    する請求項1に記載のインターフエース・システム。
  25. 【請求項25】  上記関連させる手段は上記デイスプ
    レー・アダプタの特定の機能を上記装置インターフエー
    スに結合する手段を含むことを特徴とする請求項11に
    記載のインターフエース・システム。
  26. 【請求項26】  少なくとも1つのプログラム・アプ
    リケーシヨンと、特定の機能を有する複数個のハードウ
    エア・デイスプレー・アダプタとの間でインターフエー
    スするためのシステムにおいて、リソースの機能の間を
    動的に結合する第1のレベルを遂行するための手段を含
    み、上記ハードウエア・デイスプレー・アダプタの各々
    に特定したリソースの機能のライブラリと、上記プログ
    ラム・アプリケーシヨンの能力に整合した複数個の装置
    インターフエースと、上記デイスプレー・アダプタと上
    記プログラム・アプリケーシヨンとの特定の組合せのた
    めに、上記デイスプレー・アダプタの特定の機能を上記
    装置インターフエースの1つに関連させる手段を含み、
    上記関連させる手段は上記デイスプレー・アダプタの特
    定の機能及び上記装置インターフエースの間を動的結合
    する第2のレベルを遂行する手段を含むこととからなる
    インターフエース・システム。
  27. 【請求項27】  上記動的結合する段階は上記グラフ
    イツク・パツケージと上記ハードウエア・デイスプレー
    ・アダプタの各々との間で同時にコミユニケーシヨンが
    できることを特徴とする請求項6に記載のインターフエ
    ース方法。
  28. 【請求項28】  上記動的結合する段階は上記グラフ
    イツク・パツケージ及び複数個の上記装置のインフーフ
    エースの間で動的結合を与える段階を含むことを特徴と
    する請求項27に記載のインターフエース方法。
  29. 【請求項29】  上記グラフイツク・パツケージは上
    記ハードウエア・デイスプレー・アダプタの各々との間
    で同時にコミユニケーシヨンができることを特徴とする
    請求項19に記載のインターフエース・システム。
  30. 【請求項30】  上記グラフイツク・パツケージは複
    数個の上記装置インターフエースに動的結合されること
    を特徴とする請求項29に記載のインターフエース・シ
    ステム。
JP3019227A 1990-02-12 1991-01-21 インターフェース方法及びインターフェース・システム Expired - Lifetime JPH0727505B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47838490A 1990-02-12 1990-02-12
US478384 1990-02-12

Publications (2)

Publication Number Publication Date
JPH04213741A true JPH04213741A (ja) 1992-08-04
JPH0727505B2 JPH0727505B2 (ja) 1995-03-29

Family

ID=23899723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3019227A Expired - Lifetime JPH0727505B2 (ja) 1990-02-12 1991-01-21 インターフェース方法及びインターフェース・システム

Country Status (3)

Country Link
US (1) US5491813A (ja)
EP (1) EP0442676A3 (ja)
JP (1) JPH0727505B2 (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0554975B1 (en) * 1992-02-03 1999-03-31 Hewlett-Packard Company Device independent interface for graphics display devices
US5781797A (en) * 1992-09-30 1998-07-14 Microsoft Corporation Method and system for configuring device driver by selecting a plurality of component drivers to be included in the device driver
DE69416152T2 (de) * 1993-10-06 1999-07-01 Honeywell, Inc., Minneapolis, Minn. Virtueller graphikprozessor und verfahren für eingebettete echtzeitanzeigesysteme
EP0663659A3 (en) * 1993-12-30 1995-11-22 Ibm Display of characters in a data processing system.
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5748980A (en) * 1994-05-27 1998-05-05 Microsoft Corporation System for configuring a computer system
US6763454B2 (en) * 1994-05-27 2004-07-13 Microsoft Corp. System for allocating resources in a computer system
US5655148A (en) * 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5745761A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture with extension capability
US5715459A (en) * 1994-12-15 1998-02-03 International Business Machines Corporation Advanced graphics driver architecture
US5687376A (en) * 1994-12-15 1997-11-11 International Business Machines Corporation System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation
US5915131A (en) * 1995-05-05 1999-06-22 Apple Computer, Inc. Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services
US5717903A (en) * 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US7139843B1 (en) 1995-05-30 2006-11-21 Roy-G-Biv Corporation System and methods for generating and communicating motion data through a distributed network
US6542925B2 (en) 1995-05-30 2003-04-01 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US6571141B1 (en) 1995-05-30 2003-05-27 Roy-G-Biv Corporation Application programs for motion control devices including access limitations
US6941543B1 (en) 1995-05-30 2005-09-06 Roy-G-Biv Corporation Motion control system and method
US20060206219A1 (en) * 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US7137107B1 (en) 2003-04-29 2006-11-14 Roy-G-Biv Corporation Motion control systems and methods
US7024666B1 (en) 2002-01-28 2006-04-04 Roy-G-Biv Corporation Motion control systems and methods
US6859671B1 (en) 1995-05-30 2005-02-22 Roy-G-Biv Corporation Application programs for motion control devices including access limitations
US6209037B1 (en) 1995-05-30 2001-03-27 Roy-G-Biv Corporation Motion control systems using communication map to facilitating communication with motion control hardware
US20100131081A1 (en) * 1995-05-30 2010-05-27 Brown David W Systems and methods for motion control
US5691897A (en) * 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US6393495B1 (en) * 1995-11-21 2002-05-21 Diamond Multimedia Systems, Inc. Modular virtualizing device driver architecture
US5910180A (en) * 1995-11-21 1999-06-08 Diamond Multimedia Systems, Inc. Context virtualizing device driver architecture
US5752032A (en) * 1995-11-21 1998-05-12 Diamond Multimedia Systems, Inc. Adaptive device driver using controller hardware sub-element identifier
US6289396B1 (en) 1995-11-21 2001-09-11 Diamond Multimedia Systems, Inc. Dynamic programmable mode switching device driver architecture
US6009476A (en) * 1995-11-21 1999-12-28 Diamond Multimedia Systems, Inc. Device driver architecture supporting emulation environment
US5675773A (en) * 1995-12-21 1997-10-07 Cirrus Logic, Inc. Graphics display system with a low level hardware dependent graphics library
US20010032278A1 (en) * 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US6275266B1 (en) * 1997-11-12 2001-08-14 Philips Electronics North America Corporation Apparatus and method for automatically detecting and configuring a television display for a personal computer
US6542938B1 (en) 1997-12-23 2003-04-01 Seiko Epson Corporation Mechanism and apparatus for adaptive quality performance control in 3D based PC applications
US6041332A (en) * 1997-12-31 2000-03-21 Alcatel Usa Sourcing, L.P. Product-independent performance monitoring tool kit
US6078747A (en) * 1998-01-05 2000-06-20 Jewitt; James W. Application program interface to physical devices
JPH11249949A (ja) * 1998-03-04 1999-09-17 Sharp Corp ファイル転送方法およびファイル転送装置ならびにファイル転送プログラムを記録したコンピュータで読取可能な記録媒体
US6631423B1 (en) * 1998-03-31 2003-10-07 Hewlett-Packard Development Company, L.P. System and method for assessing performance optimizations in a graphics system
US6681266B2 (en) 1998-04-14 2004-01-20 Dell Usa, L.P. Late binding dynamic software configuration information
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6574588B1 (en) * 1998-09-23 2003-06-03 Microsoft Corporation Solid-state memory device that emulates a known storage device
US7058563B1 (en) 1998-09-23 2006-06-06 Microsoft Corporation Device driver auto-load
US6862735B1 (en) * 1999-02-11 2005-03-01 Sun Microsystems, Inc. Mechanism by which platform independent software may bind to and access platform dependent software
US7003729B1 (en) * 1999-04-20 2006-02-21 I2 Technologies Us, Inc. Method and apparatus for supporting multiple alternative graphical user interfaces in computer-moderated electronic commerce
US6323875B1 (en) * 1999-04-28 2001-11-27 International Business Machines Corporation Method for rendering display blocks on display device
US6504547B1 (en) * 1999-08-13 2003-01-07 Pixo, Inc. Standardization of graphics system logical frame buffer
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
CA2625283C (en) 1999-10-27 2012-12-18 Roy-G-Biv Corporation Systems and methods for generating and communicating motion data through a distributed network
US6885898B1 (en) 2001-05-18 2005-04-26 Roy-G-Biv Corporation Event driven motion systems
US20100131078A1 (en) * 1999-10-27 2010-05-27 Brown David W Event driven motion systems
US8032605B2 (en) 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US6553223B1 (en) 1999-12-30 2003-04-22 Qualcomm Incorporated Virtual device architecture for mobile telephones
US20010048448A1 (en) 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6753885B2 (en) 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
GB2361782B (en) * 2000-04-26 2005-01-12 Ant Ltd Improvements relating to computer systems
US6848110B2 (en) 2000-12-22 2005-01-25 International Business Machines Corporation Automatic feature augmentation for component based application programming interfaces
AU2002251731A1 (en) * 2001-01-04 2002-07-16 Roy-G-Biv Corporation Systems and methods for transmitting motion control data
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
WO2002071241A1 (en) 2001-02-09 2002-09-12 Roy-G-Biv Corporation Event management systems and methods for the distribution of motion control commands
US6973626B1 (en) 2001-06-22 2005-12-06 I2 Technologies Us, Inc. Automatically generating graphical user interface elements at a client system according to a current configuration model
US6983421B1 (en) 2001-06-22 2006-01-03 I2 Technologies Us, Inc. Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration
US8214849B2 (en) * 2001-07-13 2012-07-03 Advanced Micro Devices, Inc. System for loading device-specific code and method thereof
WO2003019397A1 (en) * 2001-08-31 2003-03-06 Roy-G-Biv Corporation Motion services protocol accessible through uniform resource locator (url)
US7574713B2 (en) 2001-11-05 2009-08-11 Trendium, Inc. Methods, systems, and computer program products for instantiating a device driver for communication with a device by dynamically associating the device driver at run-time with a device-specific and/or service-specific software component
US7768522B2 (en) 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US6809735B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US7015919B1 (en) 2002-01-08 2006-03-21 Apple Computer, Inc. Virtualization of graphics resources
US6809736B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US7730155B1 (en) 2002-10-01 2010-06-01 Apple Inc. Method and apparatus for dynamically locating resources
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US20060064503A1 (en) * 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US20070022194A1 (en) * 2003-09-25 2007-01-25 Brown David W Database event driven motion systems
US7774774B1 (en) * 2003-10-22 2010-08-10 Apple Inc. Software setup system
US7721254B2 (en) 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
EP1690173A4 (en) * 2003-11-17 2010-04-21 Roy G Biv Corp COMMAND PROCESSING SYSTEMS AND METHODS
US20100131077A1 (en) * 2004-02-25 2010-05-27 Brown David W Data Collection Systems and Methods for Motion Control
US7898533B2 (en) * 2004-04-30 2011-03-01 Microsoft Corporation Video presenting network configuration solution space traversal
US8581803B2 (en) * 2004-04-30 2013-11-12 Microsoft Corporation Video presenting network management
US7903045B2 (en) * 2004-04-30 2011-03-08 Microsoft Corporation Video presenting network supporting separately-configurable resources
TWI302280B (en) * 2005-04-28 2008-10-21 Au Optronics Corp Display driver ic and transmitting method for same
US8132148B2 (en) * 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US8275793B2 (en) * 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US7886269B2 (en) 2005-04-29 2011-02-08 Microsoft Corporation XML application framework
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US20060245096A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Application framework phasing model
WO2007047986A1 (en) * 2005-10-21 2007-04-26 Wisconsin Alumni Research Foundation Method and system for delivering nucleic acid into a target cell
US7774430B2 (en) * 2005-11-14 2010-08-10 Graphics Properties Holdings, Inc. Media fusion remote access system
US7773085B2 (en) * 2006-03-07 2010-08-10 Graphics Properties Holdings, Inc. Flexible landscape display system for information display and control
US7868893B2 (en) * 2006-03-07 2011-01-11 Graphics Properties Holdings, Inc. Integration of graphical application content into the graphical scene of another application
US20090064196A1 (en) * 2007-08-31 2009-03-05 Microsoft Corporation Model based device driver code generation
WO2012162687A1 (en) 2011-05-26 2012-11-29 Candi Controls, Inc. System
US20120303750A1 (en) * 2011-05-26 2012-11-29 Mike Anderson Cloud-assisted network device integration
CN102867284B (zh) * 2011-07-07 2016-10-26 腾讯科技(深圳)有限公司 一种图形绘制引擎装置及其实现方法
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
CN104217054A (zh) * 2013-05-31 2014-12-17 北京空间技术研制试验中心 一种非规则设备的建模方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH021014A (ja) * 1987-11-30 1990-01-05 Seiko Epson Corp 電子機器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672532A (en) * 1982-06-14 1987-06-09 Tektronix, Inc. Software/hardware integration control system
US4589063A (en) * 1983-08-04 1986-05-13 Fortune Systems Corporation Data processing system having automatic configuration
US4697232A (en) * 1984-11-30 1987-09-29 Storage Technology Corporation I/O device reconnection in a multiple-CPU, dynamic path allocation environment
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4779187A (en) * 1985-04-10 1988-10-18 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4835685A (en) * 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
US5083262A (en) * 1986-04-28 1992-01-21 International Business Machines Corporation Language bindings for graphics functions to enable one application program to be used in different processing environments
US4903218A (en) * 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US5065343A (en) * 1988-03-31 1991-11-12 Yokogawa Electric Corporation Graphic display system for process control using a plurality of displays connected to a common processor and using an fifo buffer
JPH01263734A (ja) * 1988-04-08 1989-10-20 Internatl Business Mach Corp <Ibm> マルチ・タスク環境における動的リンク識別子供給方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH021014A (ja) * 1987-11-30 1990-01-05 Seiko Epson Corp 電子機器

Also Published As

Publication number Publication date
EP0442676A3 (en) 1993-09-01
US5491813A (en) 1996-02-13
JPH0727505B2 (ja) 1995-03-29
EP0442676A2 (en) 1991-08-21

Similar Documents

Publication Publication Date Title
JPH04213741A (ja) インターフェース方法及びインターフェース・システム
JP4344403B2 (ja) コンテキスト仮想化ディバイスドライバアーキテクチャ
JP4375629B2 (ja) エミュレーション環境をサポートするディバイスドライバアーキテクチャ
US6088005A (en) Design and method for a large, virtual workspace
US5408602A (en) System and method for emulating a window management environment having a uniform windowing interface
Gosling et al. The NeWS book: an introduction to the network/extensible window system
US7694229B2 (en) System and theme file format for creating visual styles
RU2406128C2 (ru) Система и способ для виртуализации графических подсистем
US6008816A (en) Method and system for managing color specification using attachable palettes and palettes that refer to other palettes
US20030142037A1 (en) System and method for managing context data in a single logical screen graphics environment
EP0645694B1 (en) Palette management for application sharing in collaborative systems
US5621912A (en) Method and apparatus for enabling monitoring of guests and native operating systems
US6393495B1 (en) Modular virtualizing device driver architecture
US5767849A (en) Personality neutral window management subsystem
US5745762A (en) Advanced graphics driver architecture supporting multiple system emulations
US6839061B1 (en) Image display system and information storage medium
JP3377806B2 (ja) ディスプレイアダプタ
US6957394B1 (en) Rendering controls of a web page according to a theme
US6918093B2 (en) Inheritance of background color in a containment hierarchy of objects in a graphical user interface
US6993773B2 (en) System and method for introducing enhanced features into a java swing application program interface
JP3357368B2 (ja) オブジェクト指向ビデオ・フレームワーク・システム
US5982399A (en) Immediate mode drawing interface for the construction of graphics software
US6525743B1 (en) Method and apparatus for creating and performing graphics operation on device-independent bitmaps
US20020180790A1 (en) System and method for encapsulating software components in an application program interface using a proxy object
US20050246644A1 (en) Application program interface that can maintain similar look and feel of a displayed image regardless of whether the interface is platform dependent or platform independent