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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program 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)と呼ばれて知ら
れているプロシージヤを通じて実現される。
イツク処理において使用されるデイスプレー・サブシス
テムのアーキテクチヤに関する。より詳細に言えば、本
発明は、オペレーテイング・システムのデイスプレー・
サブシステムと、使用されている特定のデイスプレー・
アダプタとの間のプログラミング・インターフエースの
層を与えるものである。プログラミング・インターフエ
ースは、システム全体のハードウエア及びソフトウエア
の能力を最適にするように、装置とは独立している複数
のグラフイツク・モデルと、装置に従属する複数のデイ
スプレー・ドライバとを組み合わせる。グラフイツク・
モデルと装置ドライバとのこの組み合わせは「動的結合
」(dynamic binding)と呼ばれて知ら
れているプロシージヤを通じて実現される。
【0002】
【従来の技術】従来、GSL、X−ウインドウ、または
graPHIGS(これらはIBM社の製品である)が
デイスプレー・サブシステムに用いられてきた。各パツ
ケージはスクリーン全体を使用し、かつ、時分割により
ユーザから入力されるコマンドによつて制御される空間
分割及び時分割モードで動作するよう設計されている。 従来から、2種類のグラフイツク・パツケージによつて
1つのスクリーンを共有することは行なわれていない。
graPHIGS(これらはIBM社の製品である)が
デイスプレー・サブシステムに用いられてきた。各パツ
ケージはスクリーン全体を使用し、かつ、時分割により
ユーザから入力されるコマンドによつて制御される空間
分割及び時分割モードで動作するよう設計されている。 従来から、2種類のグラフイツク・パツケージによつて
1つのスクリーンを共有することは行なわれていない。
【0003】若し、1つ以上のタイプのデイスプレー・
アダプタがデイスプレー・サブシステムに設置すること
ができるならば、各独立したドロウイング・ルーチン・
パツケージ(drawing routine pac
kage)が、デイスプレー・アダプタ自身の装置に従
属する制御をサポートできるであろう。通常、異なつた
タイプのデイスプレー・アダプタは、ハードウエアのコ
マンドを入力する独特の手段と、映像データを表示する
独特の手段とを持つている。
アダプタがデイスプレー・サブシステムに設置すること
ができるならば、各独立したドロウイング・ルーチン・
パツケージ(drawing routine pac
kage)が、デイスプレー・アダプタ自身の装置に従
属する制御をサポートできるであろう。通常、異なつた
タイプのデイスプレー・アダプタは、ハードウエアのコ
マンドを入力する独特の手段と、映像データを表示する
独特の手段とを持つている。
【0004】独立したグラフイツク・ルーチンのパツケ
ージは、夫々、グラフイツク・パツケージそれ自身の「
モデル」を持つている。データ、コマンド及びプログラ
ミング・インターフエースの機能をルーチンに通す方法
は、各モデルについて独特である。グラフイツク・モデ
ルの特殊性は、グラフイツク・パツケージがその特定の
デイスプレー・アダプタの装置従属制御を履行する方法
の間の明らかな差異で決められる。
ージは、夫々、グラフイツク・パツケージそれ自身の「
モデル」を持つている。データ、コマンド及びプログラ
ミング・インターフエースの機能をルーチンに通す方法
は、各モデルについて独特である。グラフイツク・モデ
ルの特殊性は、グラフイツク・パツケージがその特定の
デイスプレー・アダプタの装置従属制御を履行する方法
の間の明らかな差異で決められる。
【0005】従来の特定のグラフイツク・パツケージは
、特定のデイスプレー・アダプタに関連した幾つかの装
置ドライバを持つアプリケーシヨン・インターフエース
(API)を与える。これらの装置ドライバは、用いら
れているデイスプレー・アダプタのタイプに従属する。 加えて、設置されたすべてのグラフイツク・パツケージ
は、各デイスプレー・アダプタのためのデイスプレー・
ドライバを持つていなければならない。従つて、装置ド
ライバは、個々のグラフイツク・ルーチン・パツケージ
内に実際上含まれており、そして、各パツケージは、新
しい装置ドライバのコードで更新されなければならない
ので、デイスプレー・アダプタを変更したり、または付
加的なデイスプレー・アダプタを接続する場合には問題
が生じる。従来のシステムにおいて、上述の問題以外に
、パツケージの数と、装置のタイプの数との積に等しい
数の装置ドライバを作る必要があるという問題がある。
、特定のデイスプレー・アダプタに関連した幾つかの装
置ドライバを持つアプリケーシヨン・インターフエース
(API)を与える。これらの装置ドライバは、用いら
れているデイスプレー・アダプタのタイプに従属する。 加えて、設置されたすべてのグラフイツク・パツケージ
は、各デイスプレー・アダプタのためのデイスプレー・
ドライバを持つていなければならない。従つて、装置ド
ライバは、個々のグラフイツク・ルーチン・パツケージ
内に実際上含まれており、そして、各パツケージは、新
しい装置ドライバのコードで更新されなければならない
ので、デイスプレー・アダプタを変更したり、または付
加的なデイスプレー・アダプタを接続する場合には問題
が生じる。従来のシステムにおいて、上述の問題以外に
、パツケージの数と、装置のタイプの数との積に等しい
数の装置ドライバを作る必要があるという問題がある。
【0006】従来のシステムは、新しい装置、または改
良した装置に対して、与えられた各グラフイツク・パツ
ケージもまた、変更しなければならないという欠点を持
つている。この状態は、新しい装置、または改良した装
置に対してグラフイツク・パツケージ中に含まれるコー
ドの再書き込みの仕事をソフトウエア業者に強要するこ
とになる。それを避けるならば、ソフトウエア業者はソ
フトウエアのユーザにコードの再書込みを教えねばなら
ず、これは、知的所有権と、機密情報とに関する問題を
生じるかもしれない。従来のシステムの持つ他の問題は
、付加した装置によつて与えられたすべての機能は、設
置されているグラフイツク・モデルに限定されることで
ある。例えば、若し、機能を強化したデイスプレー・ア
ダプタがGSLグラフイツク・モデルを用いた従来のシ
ステムに付加されたとしても、ユーザはGSLによつて
許容された機能以上に新しく強化された機能を使用する
ことはできない。
良した装置に対して、与えられた各グラフイツク・パツ
ケージもまた、変更しなければならないという欠点を持
つている。この状態は、新しい装置、または改良した装
置に対してグラフイツク・パツケージ中に含まれるコー
ドの再書き込みの仕事をソフトウエア業者に強要するこ
とになる。それを避けるならば、ソフトウエア業者はソ
フトウエアのユーザにコードの再書込みを教えねばなら
ず、これは、知的所有権と、機密情報とに関する問題を
生じるかもしれない。従来のシステムの持つ他の問題は
、付加した装置によつて与えられたすべての機能は、設
置されているグラフイツク・モデルに限定されることで
ある。例えば、若し、機能を強化したデイスプレー・ア
ダプタが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を含んでおり、装置ドライバの組は、与えられた各デ
イスプレー・アダプタに従属したコードを含んでいる。
アプリケーシヨンのプログラミング・インターフエース
・システムが示されている。図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が与えられている。
に対するプログラミング・インターフエースは同じであ
る必要はなく、そして、装置ドライバ内の装置に従属し
たセクシヨンのすべてが、同じプログラミング・インタ
ーフエースを持つような特定の条件も無い。この例にお
いて、デイスプレー・アダプタ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との積に等しい。
各装置ドライバの組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もまた、更新する必要がある。 性能を改善するために、この冗長性を省く必要があるこ
とは明白であろう。
うちの任意のアダプタに機能を付加し、また変更を行な
えば、対応する装置ドライバのコード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に対して動作する。
に異なつた本発明は、複数個の独立したドロウイング・
ルーチン・パツケージを含む装置ドライバのプログラミ
ング・インターフエースを含んでいる。例えば、既に説
明した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は、正しい装置ドライバ
・ライブラリに対してそのグラフイツク・パツケージを
結合するために、モデル・リソースを使用する。また、
本発明は、システムによつて使用されるデイスプレー・
アダプタに対応する複数個のデイスプレー・ドライバを
含んでおり、従つて、各モデルにおいて同じ装置ドライ
バ・コードを持つ問題を回避する。
プ、ウインドウ・リソース、デイスプレー・アダプタ、
フオント等々のリソースを使用する。これらのリソース
は、本発明のプログラミング・インターフエース中にリ
ソース・マネージメント・サービス(RMS)の装置ド
ライバ・ライブラリにおいて管理される。各デイスプレ
ー・アダプタに対して管理されるリソースは、使用され
ているデイスプレー・アダプタのハードウエアの特性に
基づいて変化することには注意を喚起する必要がある。 また、RMSの装置ドライバは、アブストラクト特性、
特にモデル・リソースを与える。異なつたグラフイツク
・パツケージ56、57、58は、正しい装置ドライバ
・ライブラリに対してそのグラフイツク・パツケージを
結合するために、モデル・リソースを使用する。また、
本発明は、システムによつて使用されるデイスプレー・
アダプタに対応する複数個のデイスプレー・ドライバを
含んでおり、従つて、各モデルにおいて同じ装置ドライ
バ・コードを持つ問題を回避する。
【0014】本発明のプログラミング・インターフエー
スは、所望のグラフイツク・パツケージを、現在使用さ
れているデイスプレー・アダプタに、必要なRMS特性
及びその装置特定のモデルのドライバに動的結合するこ
とによつて、それ自身再構成することができる。この動
的結合の処理は、(1)所望の特定のグラフイツク・モ
デルを位置付け、(2)そのモデルを検索し、(3)モ
デルを(a)使用されている特定のデイスプレー・アダ
プタのための装置ドライバ・コードと、(b)その特定
のグラフイツク・モデルによつて必要とされるRMS機
能とに結合するデータベース、または同等のタブユラー
表示(tabular representation
)を使用する。本発明は2つのレベルの結合を使用して
おり、第1のレベルの結合はRMS内にある。即ち、特
定のグラフイツク・モデルに対して必要とされるカラー
・リソース、フオント・リソース、アダプタ・リソース
などを与えるために必要とする装置ドライバ・コードが
動的結合される。従つて、与えられたRMS機能は、使
用しているグラフイツク・モデルとは独立している。上
述した動的結合の第2のレベルは、動的結合されたRM
Sの所望のグラフイツク・パツケージと、使用している
デイスプレー・アダプタに対応する装置特定のモデルと
の間に生じる。
スは、所望のグラフイツク・パツケージを、現在使用さ
れているデイスプレー・アダプタに、必要な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に関して説明したのと同じデイスプ
レー・アダプタを示している。
アダプタ・インターフエース(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との間の共通イ
ンターフエースを与える。
なつた図形モデルを用いた特定の独立したグラフイツク
・ドロウイング・ルーチンのパツケージ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は、異なつ
たグラフイツク・パツケージの特定のモデルによつて必
要とされる機能のバランスされた集合体であることが理
解できるであろう。上述の製品は、例示の目的で示した
ものであり、同様な機能を持つ他の製品を、本発明の技
術範囲の中で使用することができることは言うまでもな
い。
バのモデル、即ち装置インターフエース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中に含まれている機能は、前述
した機能ポインタを初期化し、リセツトし、または更新
する。
セス内で動作するアプリケーシヨン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)最も高いレベルのリ
ソースであり、かつ他のリソースを作成し、制御するの
に仕様される属性及びプロシージヤであるアダプタとで
ある。
プタ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の
機能のライブラリを持つている。従つて、特定のデイス
プレー・アダプタによつて開拓することのできるリソー
スは、その特定のデイスプレー・アダプタがプログラム
・アプリケーシヨンのプロセスによつて使用される時に
構成され、結合されなければならない。
は、同じ数のリソースと同じタイプのリソースを使用し
てもよいし、使用しなくともよい。即ち、各デイスプレ
ー・アダプタは、それ自身が関連しているRMS40の
機能のライブラリを持つている。従つて、特定のデイス
プレー・アダプタによつて開拓することのできるリソー
スは、その特定のデイスプレー・アダプタがプログラム
・アプリケーシヨンのプロセスによつて使用される時に
構成され、結合されなければならない。
【0022】RMS40内にデイスプレー・アダプタの
特定なリソースの構成を作成するために、RMS40か
ら、要求されたリソースのこの特定のオブジエクト・フ
アイルまでの経路を創成する方法が使用される。本発明
において、動的結合は、RMS40がリソースをデイス
プレー・アダプタ特定の機能のライブラリに構成するメ
カニズムである。これらのリソースを結合するための他
の方法として、例えば共有されたライブラリなどが、本
発明のもとで考えられるのは注意を要する。
特定なリソースの構成を作成するために、RMS40か
ら、要求されたリソースのこの特定のオブジエクト・フ
アイルまでの経路を創成する方法が使用される。本発明
において、動的結合は、RMS40がリソースをデイス
プレー・アダプタ特定の機能のライブラリに構成するメ
カニズムである。これらのリソースを結合するための他
の方法として、例えば共有されたライブラリなどが、本
発明のもとで考えられるのは注意を要する。
【0023】動的結合は、リソース・コード及びリソー
ス・モデル特定のライブラリのすべてを独立したグラフ
イツク・ドロウイングのルーチン・パツケージに結合す
ることである。この結合動作は、アプリケーシヨン51
、52、53の実行時間において、オペレーテイング・
システムのユテイリテイによつて行なわれる。このこと
は、アプリケーシヨンや、またはグラフイツク・パツケ
ージ56、57、58のコンパイル動作の時間を必要と
する従来の技術と比べて大きな改善である。GAI60
における動的結合処理は、アプリケーシヨンか、または
APIかのいずれかにより、RMSのアダプタ・リソー
スに供給されたデータを用いて、装置特定のRMSライ
ブラリ40中に含まれているルールによつて達成される
。各デイスプレー・アダプタ1、2、3、4は、RMS
40のライブラリのフアイル(図5を参照)に必要とす
る自分自身のセツトを持つている。
ス・モデル特定のライブラリのすべてを独立したグラフ
イツク・ドロウイングのルーチン・パツケージに結合す
ることである。この結合動作は、アプリケーシヨン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に対する特定の装置のために達成される。
した時、総括的な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のレベルが達成される。
能を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に書き込みをすることができ、そして
、この特定のハードウエアの装置に関連したすべての特
性を利用することができる。
プレー・アダプタ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との間の複数の組み合わせがどの
ようにして作られるか、そして、これにより、与えられ
た状態において最も望ましいデイスプレー・アダブタの
特性を利用する能力が各アプリケーシヨンに与えられた
かについて理解することができた。
イスプレー・アダプタ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
つの装置ドライバ・プログラミング・インターフエース
を履行するだけでよい。
組合せの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に書き込
みを可能とし、そしてグラフイツク・アダプタの中に含
まれている特定の機能のすべてを利用可能にする。
ばならないコンポーネントの例を図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とインタ
ーフエースし、そして書き込むことができる。
デイスプレー・アダプタ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の互換性
及び柔軟性がどのようにして適用されるかが理解された
。上述した実施例においては、アプリケーシヨン、また
はパツケージに対して何らの変更を加える必要がない。
イスプレー・アダプタ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が前の
例に付加されているけれども、上述したように、本発明
の下では、現状のコンポーネントに対して全く変更を加
えることなく、実質的に無制限にデイスプレー・アダプ
タを付加することができることには注意を喚起する必要
がある。
他の機能は、パツケージや、アプリケーシヨンや、デイ
スプレー・アダプタが既に存在しているシステムにおい
て、新しいアダプタを付加することが容易にできるとい
うことである。例えば、新しいデイスプレー・アダプタ
(例えば、デイスプレー・アダプタ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)によつて達成さ
れる。
と、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とは異なつたコードである。
たコンポーネントに対応している。第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)プロシージヤを与える。
のアプリケーシヨンを適用できないことは、図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つのオブジエクト・フアイルの新
しい設置を必要とした従来のシステムと比べて著しい相
違である。
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に同時に接続し、
通信することができる。
以下に説明する。本発明を適用したシステムは、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動作だけをサポートすることのできるデイ
スプレーのハードウエアを開拓するためのパツケージ手
段を与える。
ソースを作成するために、特定のデイスプレー・アダプ
タの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グ
ラフイツク・モデルの装置ドライバとを与える柔軟性あ
る能力をグラフイツク・パツケージと、プログラム・ア
プリケーシヨンに行なわせる。
デルの装置ドライバの間で選択させ、1つ以上のモデル
に接続し、そして同時に複数のモデルに接続するグラフ
イツク・パツケージの能力は従来のシステムに比べて遥
かに大幅な柔軟性を与える。本発明は、GAI RM
Sライブラリ40の標準化されたプログラミング・イン
ターフエースと、GAI60中に含まれる他のGAIグ
ラフイツク・モデルの装置ドライバとを与える柔軟性あ
る能力をグラフイツク・パツケージと、プログラム・ア
プリケーシヨンに行なわせる。
【0042】
【発明の効果】本発明は、グラフイツク・モデル及びデ
イスプレー・アダプタの全能力を引き出すことができる
ように、複数のグラフイツク・モデルを、装置に従属す
る複数のドライバと関連して動作するインターフエース
を与える。
イスプレー・アダプタの全能力を引き出すことができる
ように、複数のグラフイツク・モデルを、装置に従属す
る複数のドライバと関連して動作するインターフエース
を与える。
【図1】本発明のプログラミング・インターフエースを
含むグラフイツク・デイスプレー・システムを説明する
ためのブロツク図である。
含むグラフイツク・デイスプレー・システムを説明する
ためのブロツク図である。
【図2】従来のグラフイツク・デイスプレー・システム
を示すブロツク図である。
を示すブロツク図である。
【図3】本発明のグラフイツク・アダプタのインターフ
エースのコンポーネントと、デイスプレー・アダプタの
間の関係を示すブロツク図である。
エースのコンポーネントと、デイスプレー・アダプタの
間の関係を示すブロツク図である。
【図4】本発明が動的結合処理の間でデイスプレー・ア
ダプタを持つているモデル及び他のコンポーネントを位
置付け、関連付ける手段を説明するテーブルである。
ダプタを持つているモデル及び他のコンポーネントを位
置付け、関連付ける手段を説明するテーブルである。
【図5】本発明のグラフイツク・アダプタのインターフ
エースを示すブロツク図である。
エースを示すブロツク図である。
【図6】単一のグラフイツク・パツケージが複数のデイ
スプレー・アダプタ、または複数個の装置ドライバのイ
ンターフエース・モデルのためのインターフエースを与
えることのできる実施例を説明するためのブロツク図で
ある。
スプレー・アダプタ、または複数個の装置ドライバのイ
ンターフエース・モデルのためのインターフエースを与
えることのできる実施例を説明するためのブロツク図で
ある。
Claims (30)
- 【請求項1】 少なくとも1つのプログラム・アプリ
ケーシヨンと、特定な機能を有する複数個のハードウエ
ア・デイスプレー・アダプタとの間をインターフエース
するための方法において、上記ハードウエア・デイスプ
レー・アダプタの各々に特定なリソースの機能のライブ
ラリを与える段階と、上記プログラム・アプリケーシヨ
ンの能力に整合した複数個の装置インターフエースを与
える段階と、上記デイスプレー・アダプタと上記プログ
ラム・アプリケーシヨンとの特定の組合せのために、上
記デイスプレー・アダプタの特定な機能を上記装置イン
ターフエースの1つに関連させる段階とからなるインタ
ーフエース方法。 - 【請求項2】 上記機能のライブラリを与える段階は
上記デイスプレー・アダプタの1つに使用可能なリソー
スの機能の1つに第1の動的結合を行なう段階を含むこ
とを特徴とする請求項1に記載のインターフエース方法
。 - 【請求項3】 上記関連させる段階は上記デイスプレ
ー・アダプタの特定の機能と上記装置インターフエース
とに第2の動的結合を行なう段階を含むことを特徴とす
る請求項2に記載のインターフエース方法。 - 【請求項4】 後続する動的結合の段階は、上記プロ
グラム・アプリケーシヨンの他の組合せと上記ハードウ
エア・デイスプレー・アダプタとの間のインターフエー
スを与えるために、上記デイスプレー・アダプタの特定
の機能の1つを上記装置インターフエースの1つに関連
させる段階を含むことを特徴とする請求項2に記載のイ
ンターフエース方法。 - 【請求項5】 対応する上記プログラム・アプリケー
シヨンに関するグラフイツク機能のモデルを含み、上記
各プログラム・アプリケーシヨンのためのグラフイツク
・パツケージを与える段階を含むことを特徴とする請求
項3に記載のインターフエース方法。 - 【請求項6】 上記グラフイツク・パツケージと、上
記装置インターフエースと、上記リソースの機能のライ
ブラリとを動的結合する段階を含むことを特徴とする請
求項5に記載のインターフエース方法。 - 【請求項7】 上記リソースの機能ライブラリを与え
る段階はモニタ・データと、グループ・データと、ウイ
ンドウ・データと、ウインドウ・ジオミトリ・データと
、カーソル・データと、カラーマツプ・データと、フオ
ント・データと、モデル・データと、アダプタ・データ
とを与える段階を含むことを特徴とする請求項6に記載
のインターフエース方法。 - 【請求項8】 動的結合の段階は上記グラフイツク・
パツケージと、上記装置インターフエースと、上記リソ
ースの機能のライブラリとを単一のハードウエア・デイ
スプレー・アダプタ・インターフエースとして構成して
いることを特徴とする請求項7に記載のインターフエー
ス方法。 - 【請求項9】 上記プログラム・アプリケーシヨン及
び上記グラフイツク・パツケージによつて、上記装置イ
ンターフエースのうちのどの装置インターフエースが上
記複数個のハードウエア・デイスプレー・アダプタの特
定の1つに使用可能であるかを決める段階を含むことを
特徴とする請求項4に記載のインターフエース方法。 - 【請求項10】 現在設置されている複数個の装置イ
ンターフエースの任意の1つ、あるいは上記リソースの
機能のライブラリに変更を行なうことなく、付加的な上
記デイスプレー・アダプタを与える段階を含むことを特
徴とする請求項1に記載のインターフエース方法。 - 【請求項11】 上記リソースの機能のライブラリを
与える段階は上記リソースの機能を結合する段階を含む
ことを特徴とする請求項1に記載のインターフエース方
法。 - 【請求項12】 上記関連させる段階は上記デイスプ
レー・アダプタの特定の機能を上記装置インターフエー
スに結合する段階を含むことを特徴とする請求項11に
記載のインターフエース方法。 - 【請求項13】 少なくとも1つのプログラム・アプ
リケーシヨンと、特定の機能を有する複数個のハードウ
エア・デイスプレー・アダプタとの間をインターフエー
スするための方法において、上記ハードウエア・デイス
プレー・アダプタの各々に特定したリソースの機能のラ
イブラリを与える段階を含み、上記ライブラリを与える
段階は上記リソースの機能の間を動的に結合する第1の
レベルを遂行する段階を含んでいることとと、上記プロ
グラム・アプリケーシヨンの能力に整合した複数個の装
置インターフエースを与える段階と、上記デイスプレー
・アダプタと上記プログラム・アプリケーシヨンとの特
定の組合せのために、上記デイスプレー・アダプタの特
定の機能を上記装置インターフエースの1つに関連させ
る段階を含み、上記関連させる段階は上記アダプタの特
定の機能及び上記装置インターフエースの間を動的結合
する第2のレベルを遂行する段階を含むこととからなる
インターフエース方法。 - 【請求項14】 少なくとも1つのプログラム・アプ
リケーシヨンと、特定の機能を有する複数個のハードウ
エア・デイスプレー・アダプタとの間をインターフエー
スするためのシステムにおいて、上記ハードウエア・デ
イスプレー・アダプタの各々に特定したリソースの機能
のライブラリと、上記プログラム・アプリケーシヨンの
能力に整合した複数個の装置インターフエースと、上記
デイスプレー・アダプタと上記プログラム・アプリケー
シヨンとの特定の組合せのために、上記デイスプレー・
アダプタの特定の機能を上記装置インターフエースの1
つに関連させる手段とからなるインターフエース・シス
テム。 - 【請求項15】 上記リソースの機能のライブラリは
上記デイスプレー・アダプタの1つに使用可能なリソー
スの機能の1つを動的結合する第1の手段を含むことを
特徴とする請求項1に記載のインターフエース・システ
ム。 - 【請求項16】 上記関連させる手段は上記デイスプ
レー・アダプタの特定の機能と上記装置インターフエー
スとを動的結合するための第2の手段を含むことを特徴
とする請求項2に記載のインターフエース・システム。 - 【請求項17】 後続する動的結合は、上記プログラ
ム・アプリケーシヨンの他の組合せと上記ハードウエア
・デイスプレー・アダプタとの間のインターフエースを
与えるために、上記デイスプレー・アダプタの特定の機
能の1つを上記装置インターフエースの1つに関連させ
ることを特徴とする請求項2に記載のインターフエース
・システム。 - 【請求項18】 対応する上記プログラム・アプリケ
ーシヨンに関するグラフイツク機能のモデルを含み、上
記各プログラム・アプリケーシヨンのためのグラフイツ
ク・パツケージを更に含むことを特徴とする請求項3に
記載のインターフエース・システム。 - 【請求項19】 上記グラフイツク・パツケージと、
上記装置インターフエースと、上記リソースの機能のラ
イブラリとは動的結合されることを特徴とする請求項5
に記載のインターフエース・システム。 - 【請求項20】 上記リソースの機能はモニタ・デー
タと、グループ・データと、ウインドウ・データと、ウ
インドウ・ジオミトリ・データと、カーソル・データと
、カラーマツプ・データと、フオント・データと、モデ
ル・データと、アダプタ・データとを含むことを特徴と
する請求項6に記載のインターフエース・システム。 - 【請求項21】 動的結合された上記グラフイツク・
パツケージと、上記装置インターフエースと、上記リソ
ースの機能のライブラリとは、単一のハードウエアのデ
イスプレー・アダプタのインターフエースとして構成さ
れていることを特徴とする請求項7に記載のインターフ
エース・システム。 - 【請求項22】 上記プログラム・アプリケーシヨン
及び上記グラフイツク・パツケージは、上記装置インタ
ーフエースのうちのどの装置インターフエースが上記複
数個のハードウエア・デイスプレー・アダプタの特定の
1つに使用可能であるかを決めることができることを特
徴とする請求項4に記載のインターフエース・システム
。 - 【請求項23】 現在設置されている複数個の装置イ
ンターフエースの任意の1つ、あるいは上記リソースの
機能のライブラリに変更を行なうことなく、上記デイス
プレー・アダプタを付加することができることを特徴と
する請求項1に記載のインターフエース・システム。 - 【請求項24】 上記リソースの機能のライブラリは
上記リソースの機能を結合する手段を含むことを特徴と
する請求項1に記載のインターフエース・システム。 - 【請求項25】 上記関連させる手段は上記デイスプ
レー・アダプタの特定の機能を上記装置インターフエー
スに結合する手段を含むことを特徴とする請求項11に
記載のインターフエース・システム。 - 【請求項26】 少なくとも1つのプログラム・アプ
リケーシヨンと、特定の機能を有する複数個のハードウ
エア・デイスプレー・アダプタとの間でインターフエー
スするためのシステムにおいて、リソースの機能の間を
動的に結合する第1のレベルを遂行するための手段を含
み、上記ハードウエア・デイスプレー・アダプタの各々
に特定したリソースの機能のライブラリと、上記プログ
ラム・アプリケーシヨンの能力に整合した複数個の装置
インターフエースと、上記デイスプレー・アダプタと上
記プログラム・アプリケーシヨンとの特定の組合せのた
めに、上記デイスプレー・アダプタの特定の機能を上記
装置インターフエースの1つに関連させる手段を含み、
上記関連させる手段は上記デイスプレー・アダプタの特
定の機能及び上記装置インターフエースの間を動的結合
する第2のレベルを遂行する手段を含むこととからなる
インターフエース・システム。 - 【請求項27】 上記動的結合する段階は上記グラフ
イツク・パツケージと上記ハードウエア・デイスプレー
・アダプタの各々との間で同時にコミユニケーシヨンが
できることを特徴とする請求項6に記載のインターフエ
ース方法。 - 【請求項28】 上記動的結合する段階は上記グラフ
イツク・パツケージ及び複数個の上記装置のインフーフ
エースの間で動的結合を与える段階を含むことを特徴と
する請求項27に記載のインターフエース方法。 - 【請求項29】 上記グラフイツク・パツケージは上
記ハードウエア・デイスプレー・アダプタの各々との間
で同時にコミユニケーシヨンができることを特徴とする
請求項19に記載のインターフエース・システム。 - 【請求項30】 上記グラフイツク・パツケージは複
数個の上記装置インターフエースに動的結合されること
を特徴とする請求項29に記載のインターフエース・シ
ステム。
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH021014A (ja) * | 1987-11-30 | 1990-01-05 | Seiko Epson Corp | 電子機器 |
Family Cites Families (11)
| 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> | マルチ・タスク環境における動的リンク識別子供給方法 |
-
1991
- 1991-01-21 JP JP3019227A patent/JPH0727505B2/ja not_active Expired - Lifetime
- 1991-02-11 EP EP19910301063 patent/EP0442676A3/en not_active Withdrawn
-
1994
- 1994-11-18 US US08/341,858 patent/US5491813A/en not_active Expired - Fee Related
Patent Citations (1)
| 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 |