JP3248659B2 - 入出力資源情報管理システム及び方法 - Google Patents

入出力資源情報管理システム及び方法

Info

Publication number
JP3248659B2
JP3248659B2 JP28816694A JP28816694A JP3248659B2 JP 3248659 B2 JP3248659 B2 JP 3248659B2 JP 28816694 A JP28816694 A JP 28816694A JP 28816694 A JP28816694 A JP 28816694A JP 3248659 B2 JP3248659 B2 JP 3248659B2
Authority
JP
Japan
Prior art keywords
resource
device driver
hardware
resources
client
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.)
Expired - Fee Related
Application number
JP28816694A
Other languages
English (en)
Other versions
JPH07200450A (ja
Inventor
デービッド・バーネット・ゴルブ
フリーマン・リー・ローソン・ザサード
ガイ・ジル・ソトマイヤー・ジュニア
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 JPH07200450A publication Critical patent/JPH07200450A/ja
Application granted granted Critical
Publication of JP3248659B2 publication Critical patent/JP3248659B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的には、コンピュ
ータ・システムにおいて入出力資源を管理することに関
し、詳細には、装置ドライバの要求に応じて、入出力資
源を追跡して前記装置ドライバに割り振るハードウェア
資源マネージャ(HRM)に関する。
【0002】
【従来の技術】装置ドライバとは、コンピュータ・シス
テム用の入出力チャネルに接続されたハードウェア装置
を制御するソフトウェア・プロセスである。たとえば、
UNIX オペレーティング・システム(OS)は、各
ハードウェア装置ごとのファイルを含むディスク上に常
駐するデータ構造の形のファイル・システムを使用す
る。OSカーネル内部では、テープなどにアクセスする
ために、特定のハードウェア装置ファイルへの参照がハ
ードウェア・コマンドに変換される。
【0003】従来技術の装置ドライバ・モデルは通常、
装置ドライバによって必要とされるハードウェア資源を
識別するための明確な機構を有していない。各個別の装
置ドライバは通常、それ自体の機構を含む。必要とされ
る資源を識別するための標準機構がないので、装置ドラ
イバは、存在するハードウェア資源に関して経験に基づ
く推測を行わざるを得ない。このような一時的な(ad-h
oc)資源識別方式のために、装置ドライバは通常、識別
されたあらゆる資源を使用する。同じハードウェア資源
を使用する装置ドライバ間の衝突を防止するのは、様々
なハードウェア・インプリメンテーションだけである。
【0004】従来型の装置ドライバ・モデルで使用され
る一時的な方式に関する重要な問題は、存在するハード
ウェア資源の判定が、特定のシステムのインプリメンテ
ーションの影響を非常に受けやすいことである。このた
め、装置ドライバは、特定のハードウェア装置だけでな
く、装置ドライバによって使用される資源識別方式にも
固有のものになる。また、この一時的な資源識別機構に
よって、装置ドライバ・モデルはかなり静的なものにな
る。というのは、装置ドライバは通常、初期設定中にし
か識別を実行しないからである。識別が確実に機能しな
いことも、あるいは識別によって装置、または場合によ
ってはシステム自体が不安定になることもあるので、装
置が実際に動作しているときに識別を実行することはで
きない。たとえば、PCMCIA(パーソナル・コンピ
ュータ・メモリ・カード・インタフェース協会)標準カ
ードなど、新たに開発されたいくつかの技術に関して、
より動的な装置ドライバ・モデルの必要は極めて重要な
ものになっている。
【0005】また、多数のシステムで、仮想画面を使用
することによって、資源割振りの問題が発生する。仮想
画面を使用することによって、いくつかのアプリケーシ
ョンがシステム上で走ることができ、各アプリケーショ
ンは、表示ハードウェアに排他的にアクセスできると考
える。現在、複数の装置ドライバが同じハードウェアを
共用する標準的な方法はない。
【0006】
【発明が解決しようとする課題】本発明の一目的は、装
置が動作しているときに確実に機能する動的な装置ドラ
イバ・モデルを提供することである。
【0007】本発明の他の目的は、装置ドライバが照会
できる資源のデータベースを提供することである。
【0008】本発明の他の目的は、装置ドライバ用に入
出力資源を追跡して割り振る方法を提供することであ
る。
【0009】本発明の他の目的は、複数の装置ドライバ
が1組のハードウェア資源を共用するための手段を提供
することである。
【0010】
【課題を解決するための手段】本発明によれば、ハード
ウェア資源マネージャ(HRM)が入出力資源のデータ
ベースを装置ドライバに提供し、このデータベースは、
どんな資源が存在するかを判定するためにドライバによ
っていつでも照会することができる。HRMは資源を追
跡して装置ドライバ間で割り振る方法も提供する。HR
Mは標準資源識別システムを装置ドライバに提供する。
装置ドライバはデータベースに照会してデータベースと
相互作用(対話)するだけでよい。装置ドライバが依存
するのはHRMの特定のインプリメンテーションだけで
あり、したがって、もはや異なるオペレーティング・シ
ステムに対して別々に実施される必要はない。HRMに
よって提供されるデータベースを動的に更新して、装置
ドライバがハードウェア構成の関連する変化に関する最
新情報を受け取れるようにすることができる。
【0011】また、HRMによって提供される資源を追
跡して割り振る方法によって、いくつかの装置ドライバ
が同じ物理的なハードウェア資源セットを共用すること
ができる。装置ドライバは、特定のハードウェア資源に
関してHRMに照会するだけでなく、資源を要求するこ
ともできる。資源が要求された場合、HRMは他の装置
が現在資源を使用しているかどうかを判定する。使用し
ていない場合、資源は要求側の装置ドライバに割り振ら
れる。資源が使用されている場合、HRMは、その要求
側の装置ドライバに資源を放棄するように要求すること
ができる。最初の装置の応答によって、HRMが次に実
行する動作が決定される。
【0012】さらに、HRMシステムの動的性質によっ
て、新しい装置を容易に追加することができる。この問
題は、装置とその制御装置ハードウェアが長い期間にわ
たって使用されており、かつ装置ドライバが、使用中の
装置および制御装置用に特定的に書かれているときに発
生することが多い。ある時点で、新しくまったく異なる
装置が開発されるが、その装置は、通常、依然として最
初の装置が取り付けられたのと同じ制御装置を使用す
る。たとえば、第2のディスク・ドライブ装置が、第1
のディスク・ドライブ装置が取り付けられた制御装置に
取り付けられる。この場合、通常、両方の装置タイプを
サポートするように最初のディスク・ドライバを書き直
す必要がある。しかし、本発明によってHRMを使用す
ると、2つの異なる装置ドライバを2つの異なる装置/
制御装置対用に書くことができる。各装置ドライバは、
他方の装置ドライバの存在を無視することになる。
【0013】HRMが新しい情報を動的に組み込めるこ
とによって、システムは部分的な故障が発生しても、故
障の診断中でも、そのまま機能することができる。HR
Mによって、診断プログラムは、診断を実行するのに必
要なハードウェア資源を得ることができる。以前にハー
ドウェアを使用していた装置ドライバならどんなもので
も、現在診断が実行中であることにほとんど気付かな
い。さらに、診断機能をHRMに組み込むと、装置ドラ
イバのプログラマは高品質で高性能の装置ドライバを提
供することに集中することができる。同様に、診断ソフ
トウェアのプログラマは、ハードウェアに関する多数の
問題および潜在的な問題を検出できる診断ソフトウェア
を提供することに集中することができる。
【0014】
【実施例】ハードウェア資源マネージャ(HRM)は、
コンピュータ・システムに関連する様々なハードウェア
資源を管理する1組のコンピュータ・プログラム(ソフ
トウェア装置)として実現できる。HRMによって、装
置ドライバおよびその他のソフトウェア・サブシステム
は物理ハードウェア資源にアクセスすることができる。
HRMは、オブジェクト指向プログラミング言語で実施
することが好ましい。しかし、階層プログラミング言語
およびその他のプログラミング言語を使用して、本明細
書で説明する本発明を首尾よく実施できることも構想さ
れる。
【0015】HRMデータベースを記述するために使用
される概念および用語は、コンピュータ科学分野でオブ
ジェクト指向プログラミング(OOP)として使用され
ているものである。OOPは、ユーザに優しいインテリ
ジェント・コンピュータ・ソフトウェアを作成するのに
好ましい環境である。OOPの主要な要素は、データの
カプセル化、継承、およびポリモルフィズムである。こ
れらの3つの要素は、アイコンと、マウスと、カーソル
と、メニューとを有するウィンドウ環境によって通常特
徴付けられるグラフィカル・ユーザ・インタフェース
(GUI)を生成するために使用することができる。こ
れら3つの主要な要素はOOP言語に共通するものであ
るが、大部分のOOP言語は3つの主要な要素を異なる
ように実施する。
【0016】OOP言語の例には、Smalltal
k、Object Pascal、およびC++があ
る。Smalltalkは実際には、言語を超えたもの
であり、プログラミング環境として特徴付ける方が正確
かも知れない。Smalltalkは1970年代初期
に、ゼロックス(Xerox)社のPalo Alto
研究所(PARC)のLearning Resear
ch Groupで開発された。Smalltalkで
は、オブジェクト自体を評価するためにオブジェクトに
メッセージが送られる。メッセージは、従来型のプログ
ラミング言語の関数呼出しのタスクに類似のタスクを実
行する。プログラマはデータのタイプを気にする必要が
なく、メッセージの正しい順序を作成することと、正し
いメッセージを使用することに気を使うだけでよい。O
bject Pascalは、アップル(Apple)
社のMacintoshコンピュータに使用される言語
である。Apple社は、Pascalの設計者である
ニコラス・ワース(Niklaus Wirth)の協
力によってObject Pascalを開発した。C
++は1983年に、AT&T Bell Labor
atoriesのBjarne Stroustrup
によって、UNIX オペレーティング・システムが書
かれた言語であるCの拡張機能として開発された。C+
+の主要概念は、ユーザ定義タイプであるクラスであ
る。クラスは、オブジェクト指向プログラミングの特徴
を提供し、通常、インスタンスおよびサブクラスと呼ば
れる2種類のクライアントを有する。C++モジュール
は、Cモジュールと互換性があり、既存のCライブラリ
をC++プログラムと共に使用できるように自由にリン
クすることができる。本発明の好ましい実施例はC++
で書かれている。
【0017】最も広く使用されているオブジェクト・ベ
ースでオブジェクト指向のプログラミング言語は、19
60年代にノルウェーのO−J.Dahl、B.Myh
rhaug、およびK.Nygardによって開発され
たSimulaの流れをくむものである。オブジェクト
指向言語に関する詳細な情報は、グラディ・ブーチ(G
rady Booch)著「Object Oriented Design w
ith Applications」(The Benjamin/Cummings Publishi
ng Co., Inc.、カリフォルニア州レッドウッド・シティ
ー、1991年)およびティモシー・バッド(Timo
thy Budd)著「An Introduction to Object-Or
itented Programming」(Addison-Wesley Publishing C
o.、1991年)を参照することによって得られる。
【0018】上記で述べたように、HRMは1組のプロ
グラムで構成されている。これらのプログラムは一般
に、4つの範疇に分けられる。第1のプログラム範疇は
名前サービスである。各HRMにはこのタイプのプログ
ラムが1つしかない。このプログラムは、情報を登録す
るものであり、システムのローカル名空間を維持する責
任を負う。名前サービスは、入出力システムの標準部分
であり、その主な機能は、異なるプログラムが互いに関
する情報を得られるようにすることである。プログラム
・タスクが利用できるすべてのサービスは、すべてのタ
スクが所望のサービスにアクセスできるように名前サー
ビスに維持される。第2のプログラム範疇は、資源マネ
ージャ・オブジェクトである。このプログラムは、HR
Mの大部分を構成する様々なバス・マネージャ用のアン
カー・ポイントを提供する。第3のプログラム・タイプ
は、HRMの主要な機能を提供するバス・マネージャ
(BusManager)である。各バスは、システムに存在する
すべてのハードウェア資源のデータベースを含む特定の
バス・マネージャを有する。一般的なバスの例には、マ
イクロチャネル・バスおよび小型コンピュータ・システ
ム・インタフェース(SCSI)バスが含まれる。バス
・マネージャは、システム中の他の構成要素が様々なハ
ードウェア資源にアクセスできるようにする「Gran
t/Yield」プロトコルも実施する。第4のプログ
ラム範疇のバス・ウォーカ(Bus Walker)は、特定のバ
ス・マネージャに関連し、管理すべきバス・タイプに一
貫する情報をデータベースにロードする責任を負う。場
合によっては、バス・ウォーカは、スクリプト・ファイ
ルを読み取り、この情報を使用してバス・ウォーカ自体
のバス・マネージャのデータベースをロードすることが
できる簡単なプログラムである。しかし、場合によって
は、バス・ウォーカは、そのバス・マネージャのデータ
ベースをロードするために、1組のファイルを読み取
り、この情報を使用して、ハードウェアが作成したデー
タベース(すなわち、不揮発性RAM中のもの)を解釈
しなければならない。
【0019】システム中のすべてのハードウェア資源を
表すデータベースは様々なバス・マネージャで分散管理
される。データベースは、バス・マネージャによって維
持され、非持続的なものである。各バス・マネージャ
は、照会し処理することができる1組のデータ構造とし
て、バス・マネージャ自体のデータベースをバス・マネ
ージャ自体のメモリ・イメージで維持する。様々なデー
タベース間の相互作用は、最小限のものであり、HRM
インタフェースを介して提供されるものに限らない。
【0020】次に、図面を参照し、具体的には図1を参
照すると、Hardware Resource Ma
nager(HRM:ハードウェア資源マネージャ)デ
ータベースのオブジェクト図が示されている。このデー
タベースは、ノードが、システム中に存在する様々なハ
ードウェア資源を表す、ツリーとして構成されている。
ツリーのサイズおよび形は、存在する資源のタイプと資
源間の関係によって決定される。ツリーの各ブランチは
特定のタイプのオブジェクトを表し、どのノードが他の
ノードの親または子になり得るかに関して制限がある。
図1は、様々なノード間の関係を示すだけでなく、各ノ
ードとノードのタイプ(すなわち、トポロジカル・ノー
ドおよび活動ノード)とを含むプログラムも示す。
【0021】再び図1を参照すると、ツリー中のノード
は2つの主要な範疇に分割することができる。第1の範
疇は、システムのトポロジーを記述し、言い換えると、
システムにどんな資源が存在するかを識別するノード
(トポロジカル・ノード)である。第2の範疇は、シス
テムの活動、すなわち、システムで現在どんな資源が使
用されているかを記述するノード(活動ノード)であ
る。システムの活動ノードは、活動が表されているトポ
ロジカル・ノードの部分に伴うサブツリーとして示され
ている。この場合、特定のトポロジカル・ノードに複数
の活動サブツリーがあってよいことに留意することが重
要である。この構造は、yield/grantプロト
コルにとって重要であり、複数の装置ドライバ(以下、
クライアントという)が同じ物理資源にアクセスできる
ようにする。
【0022】多数のタイプのトポロジカル・ノードがあ
り、各ノードは特定のタイプのものである。図1に示し
たように、第1のタイプのノードは資源マネージャ・オ
ブジェクト10である。このオブジェクトは、様々なバ
ス・タイプおよびバス・オブジェクトをツリーに関連付
けるために資源マネージャ・オブジェクト・プログラム
によって使用される。第2のタイプのノードは、バス・
マネージャがサポートできるバスのタイプを識別し、こ
の情報をイクスポートすることができるバス・タイプ
(Bus Type)20である。バス・タイプの例には、マイ
クロチャネル・アーキテクチャ(MCA)、ATバスま
たは業界標準アーキテクチャ(ISA)とそのスーパー
セット拡張ISA(EISA)、ならびに小型コンピュ
ータ・システム・インタフェース(SCSI)が含まれ
る。バス・オブジェクト(Bus Object)ノード30は、
バス・マネージャによって作成され、バス・マネージャ
がサポートするタイプの物理バスの存在を識別する。次
のタイプのノードの関連(Association)ノード40
は、1つまたは複数の資源オブジェクトを単一のエンテ
ィティとしてグループ分けするために使用される。これ
によって、いくつかの物理エンティティを論理エンティ
ティとしてグループ分けすることができる。資源オブジ
ェクト(Resource Object)ノード50は、1つまたは
複数の資源を単一のエンティティとしてグループ分け
し、制御装置に類似の形でいくつかの物理資源をグルー
プ分けできるようにする。資源タイプ(Resource Typ
e)ノード60は、資源のタイプおよび属性を示すため
に使用される。資源タイプの例には、入出力ポート、入
出力メモリ、および割込みレベルが含まれる。最後のタ
イプのノードは、単一の物理資源を表すために使用され
る資源(Resource)ノード70である。この例には、割
込みレベル、連続範囲の入出力ポート、または連続範囲
の入出力メモリが含まれる。
【0023】クライアントが、トポロジカル・サブツリ
ーによって表された資源を使用したいときに作成される
特定の活動ノード・タイプもある。各活動ノードは、対
応するトポロジカル・ノードの活動インスタンスを表
す。図1に示したように、活動ノード・タイプの3つの
例は、関連インスタンス(Association Instance)8
0、資源オブジェクト・インスタンス(Resource Objec
t Instance)90、および資源インスタンス(Resource
Instance)100である。トポロジカル・サブツリー
の活動インスタンスはそのサブツリーの1番上で作成さ
れる。完全活動状態のサブツリーは、サブツリーの1番
上にあるノードが活動化されたときに作成される。資源
オブジェクトと3つの資源とから成るトポロジカル・サ
ブツリーの一例を提示する。第1に、資源オブジェクト
・インスタンスが作成され、同時に、3つの資源のそれ
ぞれ用の資源インスタンスが作成される。各資源インス
タンスは、それが表す資源だけでなく、その作成をトリ
ガした資源オブジェクト・インスタンスにもリンクされ
る。さらに、関連インスタンスが作成された場合、この
関連の下にあるすべての資源オブジェクト用の資源オブ
ジェクト・インスタンスが作成され、各資源オブジェク
トごとの資源インスタンスがそれぞれ作成される。これ
らの例が示すように、対応する各活動サブツリーとトポ
ロジカル・サブツリーは同じでなければならない。
【0024】図1からは直接明らかにならないことがい
くつかある。第1に、単一のバス・タイプは単一のバス
・マネージャによって維持される。単一の実行可能なプ
ログラムが複数のバス・タイプをサポートすることは可
能であるが、これは複数のバス・マネージャとみなされ
る。一方、単一のバス・マネージャは(物理バスを表
す)複数のバス・オブジェクトをサポートすることがで
きる。第2に、バス・タイプ・ノードおよび資源タイプ
・ノードは、バス・マネージャによって定義され、デー
タベースの残りの部分の内容には依存しない。したがっ
て、これらのノードは常にデータベースに存在する。こ
れに対して、資源マネージャ・オブジェクトを除き、残
りのノードはすべて、バス・ウォーカによってデータベ
ースに入れられる。
【0025】図2は、トポロジカル・ノードしか存在せ
ず、トポロジカル構造が容易に観測できる、HRMデー
タベースの簡単な例を示す。各トポロジカル・ノード
が、名前を含む、トポロジカル・ノード自体に関連する
情報を有することに留意することが重要である。この名
前は、ノードを表すためにデータ構造で使用され、名前
サービス・プログラムでもHRMによって使用される。
図を簡単にするために、バス・オブジェクト・ノードと
資源ノードの間のリンクを示していないことに留意され
たい。
【0026】図2中のHRMデータベースに示したよう
に、Sample110はバス・タイプである。このバ
ス・タイプは、バスと共に使用できるType−A11
2、Type−B114、およびType−C116の
3つの資源タイプを有する。Sample0 118
は、バス・マネージャによって管理すべき物理バスを表
す。Sample0には6つの資源が接続されている
が、上述のように、資源間の接続は図示していない。資
源R−a120、R−d122、R−f124はTyp
e−Aの資源タイプを有する。資源R−b126および
R−e128はType−Cの資源タイプを有する。最
後に、資源R−c130はType−Bの資源タイプを
有する。これらの資源は資源オブジェクトとして構成さ
れ、この例では、6つの資源が3つの資源オブジェクト
としてグループ分けされている。第1の資源オブジェク
トのCtlr−A132は、単一の資源R−eを含む。
第2の資源オブジェクトのCtlr−B134は2つの
資源R−aおよびR−cを含む。最後の資源オブジェク
トのCtlr−C136は、4つの資源R−b、R−
c、R−d、R−fを含む。「関連」のGroup13
8は、2つの資源オブジェクトCtlr−AおよびCt
lr−Bを含む。資源R−cが2つの資源オブジェクト
Ctlr−BおよびCtlr−Cに含まれることに留意
することが重要である。これによって、複数のユーザが
同じ資源にアクセスすることができる。資源の動作は資
源タイプによって決定される。資源を共用可能にして、
複数のユーザが同時に同じ資源にアクセスできるように
することができる。場合によっては、資源を共用不能に
して、それによって、資源へのアクセスを一度に単一の
ユーザに制限することもできる。
【0027】図3は、HRMデータベース中の活動ノー
ドとトポロジカル・ノードの間の関係を示す。図を簡単
にするために、活動ノードを伴うトポロジカル・ノード
だけを示す。図3は、図2に示したノードのサブセット
である。上記で提供した情報に関して図3を説明する。
【0028】図3を参照すると、線の濃いノードはトポ
ロジカル・ノードを表し、太い線はそれらのノードの相
互の関係を示す。線の薄いノードは活動ノードを表し、
細い線はそれらのノードの相互の関係を示す。活動ノー
ドは、それが関連するトポロジカル・ノードの「影」の
部分に置かれている。図3に示したツリーおよび関係
は、活動ノードのある時間のスナップショットを表す。
トポロジカル・ノードを動的に追加することも、あるい
は削除することもできることに留意されたい。しかし、
これらの変更は通常、システムの物理構成に依存する。
一方、活動ノードは、システムの様々な部分の使用状況
を反映するので、通常トポロジカル・ノードよりも頻繁
にHRMのデータベースに追加され、あるいはデータベ
ースから削除される。
【0029】図3に示したデータベースの構成は、HR
Mがシステムの何らかの資源を追跡して割り振った後の
ノードの最終結果を示す。しかし、以下の説明が、実行
されて図の結果をもたらすであろう動作の唯一の可能な
シナリオであることを理解されたい。関連オブジェクト
または資源オブジェクト用の活動インスタンス・ノード
を作成すると、そのサブツリー中のすべてのノード用の
活動インスタンスを作成することを求める信号がHRM
に送られる。この場合、第1のステップはGroup2
00の活動インスタンスの関連を作成することである。
これによって自動的に、資源オブジェクトCtlr−A
202およびCtlr−B204の活動インスタンスが
作成される。これらの資源オブジェクトに含まれる資源
用の活動インスタンスも作成される。したがって、資源
R−a206、R−c208、およびR−e210用の
活動インスタンスが作成されている。Groupの活動
インスタンスが作成された後に、資源オブジェクトCt
lr−B用の別の活動インスタンスが作成される。Ct
lr−Bの活動インスタンスが作成されると、資源R−
aおよびR−c用の活動インスタンスが作成される。最
後に、資源オブジェクトCtlr−C212用の活動イ
ンスタンスが作成され、それによって、資源R−b21
4、R−c208、R−d216、R−f218用の活
動インスタンスが作成される。
【0030】この場合、HRMデータベース中に活動サ
ブツリーが作成されたが、HRMのクライアントはま
だ、サブツリーによって表されている実際の資源にはア
クセスできない。クライアントは、資源を要求すること
によってその資源にアクセスすることができる。この要
求は通常、個別の資源ではなくサブツリー全体(すなわ
ち、関連オブジェクトまたは資源オブジェクト)へのも
のである。
【0031】資源への要求は、HRMのいくつかのクラ
イアントによって同時に行うことができる。このような
衝突では、HRMがクライアント間で資源を割り振る必
要がある。どのクライアントが資源にアクセスできるか
を判定するためにHRMによって「Grant/Yie
ld」プロトコルが使用される。このプロトコルは、ク
ライアントが1組の資源を要求するときに呼び出すこと
ができる。第1のステップは、他のクライアントが現在
これらの資源にアクセスしているかどうかをHRMが判
定することである。アクセスしていない場合、HRMは
直接、要求側クライアントに資源を許可する。一方、他
のクライアントが資源にアクセスしている場合、HRM
は前記他のクライアントが資源を放棄できるかどうか
と、いつ放棄できるかに関して照会しなければならな
い。この結果によって、要求側クライアントが資源にア
クセスできるかどうか、または最初のクライアントが資
源を放棄するまで要求側クライアントが待機しなければ
ならないかどうかが判定される。
【0032】「Grant/Yield」プロトコルを
図4ないし図7に示す。これらの図は、図2および図3
に示し、上記で論じた、HRMデータベースの例に基づ
く。これらの図は、3つのHRMクライアント、α、
β、γの活動を示す。クライアントαは、「関連」のG
roupから始まる活動サブツリーを作成したクライア
ントを表す。クライアントβは、資源オブジェクトCt
lr−Bから始まる活動サブツリーを作成したクライア
ントを表す。最後に、クライアントγは、資源オブジェ
クトCtlr−Cから始まる活動サブツリーを作成した
クライアントを表す。
【0033】図4は、HRMデータベースの最初の状態
を示す。この図で、クライアントβは、そのCtlr−
C212のインスタンスが完全に活動状態になり、それ
によって、クライアントβがCtlr−Cサブツリー中
のハードウェア資源に完全にアクセスできるようにする
ことを要求している。活動状態である活動ノードは、陰
影付きで示されている。この時点で、HRMが使用する
プロトコルを示すために、クライアントは、Group
サブツリーによって表されている資源へのアクセスを要
求する。
【0034】図5は、クライアントαがグループ・サブ
ツリーへのアクセスを要求した後のHRMデータベース
の状態を示す。データベースの状態を図4に示したもの
から図5に示したものに変更するために、HRMによっ
て多数のステップが実行されている。変換プロセスにお
ける第1のステップは、クライアントαのインスタンス
300の状態を活動状態に変更することである。次い
で、HRMは、クライアントαのGroupインスタン
スの一部である資源オブジェクト・インスタンスのすべ
てのサブツリーの活動化を開始する。この例では、Ct
lr−AおよびCtlr−Bが、影響を受ける資源オブ
ジェクト・インスタンスである。したがって、クライア
ントαのCtlr−A320のインスタンスの状態は活
動状態になるものとしてマーク付けされ、HRMは、ク
ライアントαのCtlr−Aインスタンスに含まれる資
源の活動化を開始する。活動化しなければならない、こ
の例の唯一の資源はR−eである。HGMは、資源がす
でに活動状態であるかどうかを判定するためにR−e資
源ノードに照会する。資源が活動状態でないので、HR
MはクライアントαのR−e330のインスタンスを完
全活動状態に変更することができる。インスタンスを完
全活動状態にする手順は、その特定の資源用の資源タイ
プに定義されている。この時点で、HRMは引き続き、
Ctlr−Aサブツリーにあるクライアントα用の残り
の資源インスタンスの処理を行う。この例では、他の資
源インスタンスが存在せず、HRMがR−eを完全に活
動化しているので、HRMは次に、クライアントαのC
tlr−A320のインスタンスを完全活動状態に変更
することができる。次に、HRMは、クライアントが、
資源オブジェクトに含まれているすべての資源に完全に
アクセスできることを示す、Grantメッセージを送
ることができる。この時点で、HRMは、「関連」に他
の資源オブジェクトが存在する場合、引き続きそれらの
資源オブジェクトの処理を行う。この例では、Ctlr
−Bが唯一の残りの資源オブジェクトである。したがっ
て、クライアントαのCtlr−B330のインスタン
スの状態は、Ctlr−Bが活動状態になることを示す
ように変更される。Ctlr−Bに関連する第1の資源
R−αに対してHRMによって実行される動作は、上記
でR−eに関して論じたものに類似している。しかし、
この場合、Ctlr−Bには第2の資源R−cが関連付
けられている。HRMは、クライアントαのR−c34
0のインスタンスの状態を活動状態になるものとしてマ
ーク付けし、活動状態である資源R−cの他のインスタ
ンスがあるかどうかに関して照会する。この資源に関し
ては、クライアントβ350のインスタンスはすでに活
動状況である。したがって、HRMは、クライアントβ
のインスタンスを非活動状況になるものとしてマーク付
けし、次いで、クライアントβが資源を放棄したいかど
うかに関して照会しなければならない。クライアントβ
は、「yield(放棄)」、「later(後
で)」、「arbitrate(調停)」、または「n
o(放棄しない)」で応答することができる。クライア
ントは、資源を放棄したい場合、資源の現状態を保存し
なければならない。現クライアントは、すぐには放棄で
きないが、近い将来に放棄できる場合、「later」
と応答する。放棄できるかどうか判定するのに十分な情
報がないクライアントの場合、このクライアントは「a
rbitrate」と応答して、システムの他の部分が
決定を下す。最後に、資源が重大なものであり、放棄で
きない場合、クライアントは「no」と応答する。この
例では、クライアントβが資源へのアクセスを放棄する
と仮定する。したがって、クライアントβは、資源に関
するどんな状態でも保存しなければならず、クライアン
トβ自体がもはや資源にアクセスできないと仮定しなけ
ればならない。
【0035】図6は、クライアントβが資源R−cに対
するアクセスを放棄した後のデータベースを示し、この
プロセスが行われた後のHRMのステップを示すために
使用される。クライアントβが資源へのアクセスを放棄
したことがHRMに通知された後、クライアントαのR
−cのインスタンスの状態は完全活動状態に変更され
る。HRMは次に、引き続きクライアントα用のCtl
r−Bの他の資源インスタンスにも処理を行う。資源が
まったく残っていないので、HRMはクライアントαの
Ctlr−Bのインスタンスの状態を完全活動状態に修
正する。この時点で、資源オブジェクトのCtlr−B
は完全活動状態になり、HRMは、クライアントαがこ
の資源オブジェクト中のすべての資源に完全にアクセス
できるようになったことを前記クライアントに通知す
る。また、Groupに関連する資源オブジェクトがな
くなったので、Groupのαインスタンスの状態を活
動状態に変更することができ、クライアントαが通知を
受ける。
【0036】資源を使用している最初のクライアントは
通常、資源オブジェクトに関連する残りの資源を自発的
に放棄する。なぜなら、前記クライアントは一般に、1
組の資源に関心があり、特定の個別の資源には関心がな
いからである。したがって、図6に示したように、Ct
lr−C360のβインスタンスは非活動状態になるよ
うにセットされ、HRMは引き続き、クライアントβが
まだ活動状況である残りのインスタンスを非活動化す
る。次いで、HRMは、クライアントβのCtlr−C
用の資源オブジェクト・インスタンスに対応する各資源
インスタンスを検査して、活動状況のものがあるかどう
かを判定する。HRMは、活動インスタンスに出会うた
びに、インスタンスの状態を非活動状況になるように変
更し、次いでYieldメッセージをクライアントに送
る。上記で論じたように、クライアントは放棄したいか
どうかに関して応答する。クライアントが放棄すると仮
定すると、そのクライアントは、資源によって表されて
いるハードウェアの残りの残余状態を保存し、次いでH
RMに応答する。HRMは、応答を受け取ると、インス
タンスの状態を非活動状態に変更する。HRMは、すべ
ての資源が放棄されるまで、引き続きすべての資源に処
理を行い、次いで、資源オブジェクト・インスタンスの
状態を非活動状態に変更する。最後に、HRMは、資源
オブジェクト・インスタンスが放棄されたことをクライ
アントβに通知する。図7は、クライアントβが、以前
にアクセスできたすべての資源のアクセスを放棄した後
のデータベースを示す。
【0037】バス・ウォーカ(Bus Walker)とは、シス
テムが定義した方法でHRMデータをロードする責任を
負うプログラムである。特定のシステムに関する各バス
の構成情報を得るバス・ウォーカが各バスに関連付けら
れている。このシステムによって、HRMは、特定の各
システムごとに構成情報を得る方法から完全に独立する
ことができる。HRMは、それがサポートするバスの仕
様を認識するだけでよい。
【0038】バス・タイプ用のいくつかの異なるタイプ
のバス・ウォーカの一例を図8に示す。この例は、コン
ピュータ・システム用の大部分の入出力資源用の接続点
であるバックプレーン・バスを示す。このバスは通常、
拡張カードまたはアダプタ・カードを挿入するためのス
ロットを有する。バックプレーン・バスは、コンピュー
タ・システムのプレーナまたはマザーボード上に存在す
る入出力装置も含む。
【0039】システムによっては、図8に示したよう
に、ハードウェア構成300を判定するための直接的な
手段がない。したがって、このようなシステムは、ハー
ドウェア構成を表したものを含むデータ・ファイルに依
存し、あるいはハードウェアが存在するかどうかの判定
に関して入出力レジスタに照会しなければならない。バ
ス・ウォーカはこれらの方法のどちらかまたは両方を使
用して、現ハードウェア構成を含むHRMデータベース
をロードする。
【0040】場合によっては、システムは、持続媒体3
20、たとえばバッテリ・バックアップを有するRAM
にハードウェア構成を維持する。しかし、この情報は通
常コード化され、したがって、ハードウェア構成を解釈
するための補助データ・ファイルを必要とする。その場
合、バス・ウォーカによってこの情報を使用して、HR
Mデータベースをロードすることができる。
【0041】HRMは、バス・ウォーカがHRMデータ
ベースをロードできるようにバス・ウォーカとのインタ
フェースを提供する。しかし、バス・ウォーカは個別の
システムの構成の仕様からHRMを分離する。したがっ
て、HRMは、異なるシステム構成およびシステム・タ
イプに、より容易にポートされる。
【0042】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0043】(1)入出力(I/O)資源情報を管理す
るためのシステムにおいて、入出力資源に関する情報を
データベース中に定義するための手段と、前記入出力資
源情報を動的に更新するための手段と、前記入出力資源
情報を1つまたは複数の装置ドライバに提供するための
手段とを備えることを特徴とするシステム。 (2)前記定義手段が、1つまたは複数のコンピュータ
・プログラム実行手段を含み、前記コンピュータ・プロ
グラム実行手段の1つが、各入出力資源タイプごとのハ
ードウェア構成情報を保持する、上記(1)に記載の入
出力資源情報を管理するためのシステム。 (3)複数の装置ドライバの間で前記入出力資源を割振
るための手段を備える、上記(1)に記載の入出力資源
情報を管理するためのシステム。 (4)前記割振り手段が、1つの前記入出力資源を要求
する第1の装置ドライバと、前記1つの前記入出力資源
が現在、第2の装置ドライバによって使用されているか
どうかを判定するための手段と、前記判定の結果に応じ
て、前記入出力資源が現在前記第2の装置ドライバによ
って使用されていない場合には、前記入出力資源を前記
第1の装置ドライバに割り当て、前記資源が現在使用さ
れている場合には、前記第2の装置ドライバが前記入出
力資源を解放するかどうかを前記第2の装置ドライバに
照会し、前記照会の結果に応じて前記第1の装置ドライ
バが前記入出力資源にアクセスできるかどうかを前記第
1の装置ドライバに通知するための手段とを備える、上
記(3)に記載の入出力資源情報を管理するためのシス
テム。 (5)入出力資源情報を管理する方法において、入出力
資源に関する情報をデータベース中で定義するステップ
と、前記データベース中の前記入出力資源情報を動的に
更新するステップと、前記入出力資源情報を1つまたは
複数の装置ドライバに提供するステップとを含むことを
特徴とする方法。 (6)前記定義ステップが、各入出力資源タイプごとの
ハードウェア構成情報を定義するステップを有する、上
記(5)に記載の入出力資源情報を管理する方法。 (7)複数の装置ドライバの間で前記入出力資源を割振
るステップを含む、上記(5)に記載の入出力資源情報
を管理する方法。 (8)前記割振りステップが、前記第1の装置ドライバ
によって1つの前記入出力資源を要求するステップと、
前記1つの前記入出力資源が現在、第2の装置ドライバ
によって使用されているかどうかを判定するステップ
と、判定ステップの結果を使用して、前記資源が現在前
記第2の装置ドライバによって使用されていない場合に
は、前記入出力資源を前記第1の装置ドライバに割り当
て、前記資源が現在使用されている場合には、前記第2
の装置ドライバが前記入出力資源を解放するかどうかを
前記第2の装置ドライバに照会し、前記照会の結果を使
用して前記第1の装置ドライバが前記入出力資源にアク
セスできるかどうかを前記第1の装置ドライバに通知す
るステップとを含む、上記(7)に記載の入出力資源情
報を管理する方法。
【0044】
【発明の効果】本発明によれば、ハードウェア資源マネ
ージャ(HRM)が入出力資源のデータベースを装置ド
ライバに提供し、このデータベースは、どんな資源が存
在するかを判定するためにドライバによっていつでも照
会することができる。また、HRMによって提供される
資源を追跡して割り振る方法によって、いくつかの装置
ドライバが同じ物理的なハードウェア資源セットを共用
することができる。さらに、HRMシステムの動的性質
によって、新しい装置を容易に追加することができる。
【図面の簡単な説明】
【図1】HRMデータベースの例におけるエンティティ
関係を示すオブジェクト図である。
【図2】HRMデータベースの例におけるトポロジカル
・ノードだけを示すオブジェクト図である。
【図3】活動ノードを含み、図2に示したデータベース
のサブセットである、HRMデータベースを示すオブジ
ェクト図である。
【図4】図2および図3に示したデータベースの例を使
用するGrant/Yieldプロトコルを示し、デー
タベースの最初の状態を示すオブジェクト図である。
【図5】図2および図3に示したデータベースの例を使
用するGrant/Yieldプロトコルを示し、装置
ドライバが入出力資源へのアクセスを要求することを示
すオブジェクト図である。
【図6】図2および図3に示したデータベースの例を使
用するGrant/Yieldプロトコルを示し、装置
ドライバがアクセスを受け取ったときのデータベースの
状態を示すオブジェクト図である。
【図7】図2および図3に示したデータベースの例を使
用するGrant/Yieldプロトコルを示し、最初
の装置ドライバが資源へのアクセスを放棄することを示
すオブジェクト図である。
【図8】装置サービスを提供するバス・ウォーカの例を
示す図である。
【符号の説明】
10 資源マネージャ・オブジェクト 20 バス・タイプ・ノード 30 バス・オブジェクト・ノード 40 関連ノード 50 資源オブジェクト・ノード 60 資源タイプ・ノード 70 資源ノード 80 関連インスタンス・ノード 90 資源オブジェクト・インスタンス・ノード 100 資源インスタンス・ノード 110 Sample0ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デービッド・バーネット・ゴルブ アメリカ合衆国15701 ペンシルバニア 州インディアナ メドウウッド・ロード 164 (72)発明者 フリーマン・リー・ローソン・ザサード アメリカ合衆国33487 フロリダ州ボ カ・ラトン ウッドビュー・テラス 17762 (72)発明者 ガイ・ジル・ソトマイヤー・ジュニア アメリカ合衆国33415 フロリダ州ウェ スト・パーム・ビーチ シャーウッド・ グレン・ウェイ6042 ナンバー3 (56)参考文献 米国特許5115499(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/10

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】装置ドライバが入出力装置を制御するため
    に必要とされるハードウェア資源に関する情報を、前記
    装置ドライバに提供するために管理するシステムにおい
    て、 前記ハードウェア資源の情報を格納するデータベース
    と、前記ハードウェア資源を論理的に階層的なトポロジーと
    して表現したデータをデータベース中に定義する第1の
    定義手段と、 前記ハードウェア資源の活動状態を表現したデータを定
    義する第2の定義手段と、 新しい装置の追加を反映するために、前記トポロジーと
    して表現したデータを 動的に更新する手段と、 を備えることを特徴とするシステム。
  2. 【請求項2】前記第1の定義手段が、各資源タイプごと
    のハードウェア構成情報を獲得する手段を含む、請求項
    1に記載のハードウェア資源情報を管理するためのシス
    テム。
  3. 【請求項3】複数の装置ドライバ(クライアント)の間
    で前記ハードウェア資源を割振るための手段を備える、
    請求項1に記載のハードウェア資源情報を管理するため
    のシステム。
  4. 【請求項4】前記割振り手段が、 第1の装置ドライバ(クライアント)が1つの前記ハー
    ドウェア資源を要求した場合に、当該ハードウェア資源
    が現在、第2の装置ドライバ(クライアント)によって
    使用されているかどうかを判定するための手段と、 前記判定の結果に応じて、前記ハードウェア資源が現在
    前記第2の装置ドライバによって使用されていない場合
    には、前記ハードウェア資源を前記第1の装置ドライバ
    に割り当て、前記資源が現在使用されている場合には、
    前記第2の装置ドライバが前記ハードウェア資源を解放
    するかどうかを前記第2の装置ドライバに照会し、前記
    照会の結果に応じて前記第1の装置ドライバが前記ハー
    ドウェア資源にアクセスできるかどうかを前記第1の装
    置ドライバに通知するための手段とを備える、請求項3
    に記載のハードウェア資源情報を管理するためのシステ
    ム。
  5. 【請求項5】装置ドライバが入出力装置を制御するため
    に必要とされるハードウェア資源に関する情報を、前記
    装置ドライバに提供するために管理する方法において、前記ハードウェア資源を論理的に階層的なトポロジーと
    して表現したデータをデータベース中に定義する第1の
    定義ステップと、 前記ハードウェア資源の活動状態を表現したデータをデ
    ータベース中に定義する第2の定義ステップと、 新しい装置の追加を反映するために、前記トポロジーと
    して表現したデータを 動的に更新するステップと、 を含むことを特徴とする方法。
  6. 【請求項6】前記第1の定義ステップが、各資源タイプ
    ごとのハードウェア構成情報を獲得するステップを有す
    る、請求項5に記載のハードウェア資源情報を管理する
    方法。
  7. 【請求項7】複数の装置ドライバ(クライアント)の間
    で前記ハードウェア資源を割り振るためのステップを含
    む、請求項5に記載のハードウェア資源情報を管理する
    方法。
  8. 【請求項8】前記割振りステップが、 第1の装置ドライバ(クライアント)が1つの前記ハー
    ドウェア資源を要求した場合に、当該ハードウェア資源
    が現在、第2の装置ドライバ(クライアント)によって
    使用されているかどうかを判定するステップと、 前記判定の結果を使用して、前記資源が現在前記第2の
    装置ドライバによって使用されていない場合には、前記
    ハードウェア資源を前記第1の装置ドライバに割り当
    て、前記資源が現在使用されている場合には、前記第2
    の装置ドライバが前記ハードウェア資源を解放するかど
    うかを前記第2の装置ドライバに照会し、前記照会の結
    果を使用して前記第1の装置ドライバが前記ハードウェ
    ア資源にアクセスできるかどうかを前記第1の装置ドラ
    イバに通知するステップとを含む、請求項7に記載のハ
    ードウェア資源情報を管理する方法。
JP28816694A 1993-12-13 1994-11-22 入出力資源情報管理システム及び方法 Expired - Fee Related JP3248659B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US165995 1980-07-07
US16599593A 1993-12-13 1993-12-13

Publications (2)

Publication Number Publication Date
JPH07200450A JPH07200450A (ja) 1995-08-04
JP3248659B2 true JP3248659B2 (ja) 2002-01-21

Family

ID=22601352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28816694A Expired - Fee Related JP3248659B2 (ja) 1993-12-13 1994-11-22 入出力資源情報管理システム及び方法

Country Status (4)

Country Link
US (1) US5794035A (ja)
EP (1) EP0657809B1 (ja)
JP (1) JP3248659B2 (ja)
DE (1) DE69423853T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395216A (zh) * 2020-03-11 2021-09-14 辉达公司 在硬件设备之间传输数据的技术

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863421A (ja) * 1994-08-22 1996-03-08 Nec Corp ハードウェア構成情報集中管理方式
US5991822A (en) * 1997-03-17 1999-11-23 International Business Machines Corporation System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6148355A (en) 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6138250A (en) 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6134668A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US5962933A (en) * 1997-05-13 1999-10-05 Micron Electronics, Inc. Computer fan speed control method
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US5990582A (en) * 1997-05-13 1999-11-23 Micron Electronics, Inc. Computer fan speed control device
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6122746A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6249828B1 (en) * 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6154835A (en) 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6035420A (en) 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
US6009541A (en) 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6065053A (en) 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6088816A (en) 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6298409B1 (en) 1998-03-26 2001-10-02 Micron Technology, Inc. System for data and interrupt posting for computer devices
US6421746B1 (en) 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
EP0964333A1 (en) 1998-06-10 1999-12-15 Sun Microsystems, Inc. Resource management
NZ509019A (en) * 1998-06-18 2002-08-28 Aristocrat Technologies Au Method of linking devices to gaming machines
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6557055B1 (en) 1999-10-06 2003-04-29 Apple Computer, Inc. Adaptive throughput optimization
JP4434408B2 (ja) * 2000-02-02 2010-03-17 富士通株式会社 情報処理装置
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US7493626B2 (en) * 2003-04-02 2009-02-17 Apple Inc. Method and apparatus for communicating between device drivers in a computer system
JP4339623B2 (ja) * 2003-04-15 2009-10-07 株式会社日立製作所 チャネルアダプタ
US7080172B1 (en) * 2003-05-27 2006-07-18 Marvell Luternational Ltd. Management of memory, hardware and associated device drivers using stacks
US6959264B2 (en) * 2003-09-30 2005-10-25 International Business Machines Corporation Autonomous computing probe agent
US7308586B2 (en) * 2004-04-28 2007-12-11 Microsoft Corporation Interlocked plug and play with power management for operating systems
US7313708B2 (en) * 2004-04-28 2007-12-25 Microsoft Corporation Interlocked plug and play with power management for operating systems
US8316384B2 (en) 2009-02-18 2012-11-20 Microsoft Corporation Input/output broker model
US8484616B1 (en) * 2009-06-23 2013-07-09 Emc Corporation Universal module model

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115499A (en) 1986-05-14 1992-05-19 Sequoia Systems, Inc. Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4589063A (en) * 1983-08-04 1986-05-13 Fortune Systems Corporation Data processing system having automatic configuration
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
US4974151A (en) * 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US5263148A (en) * 1988-09-09 1993-11-16 Compaq Computer Corporation Method and apparatus for configuration of computer system and circuit boards
JPH0255337U (ja) * 1988-10-07 1990-04-20
US5265251A (en) * 1990-02-01 1993-11-23 International Business Machines Corporation Mechanism for allowing a single operation to shift the focus between user applications having direct hardware level access to multiple displays in a virtual terminal environment
US5214778A (en) * 1990-04-06 1993-05-25 Micro Technology, Inc. Resource management in a multiple resource system
JP2880268B2 (ja) * 1990-07-30 1999-04-05 株式会社日立製作所 ネットワーク構成定義情報の変更方法
US5349674A (en) * 1990-08-17 1994-09-20 International Business Machines Corp. Automated enrollment of a computer system into a service network of computer systems
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
JPH05120294A (ja) * 1991-10-24 1993-05-18 Toshiba Corp 割当て装置
JPH05173989A (ja) * 1991-12-24 1993-07-13 Kawasaki Steel Corp 計算機及びマルチプロセッサ計算装置
US5522070A (en) * 1992-03-19 1996-05-28 Fujitsu Limited Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network
US5394542A (en) * 1992-03-30 1995-02-28 International Business Machines Corporation Clearing data objects used to maintain state information for shared data at a local complex when at least one message path to the local complex cannot be recovered
WO1993020511A1 (en) * 1992-03-31 1993-10-14 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115499A (en) 1986-05-14 1992-05-19 Sequoia Systems, Inc. Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395216A (zh) * 2020-03-11 2021-09-14 辉达公司 在硬件设备之间传输数据的技术
CN113395216B (zh) * 2020-03-11 2024-04-09 辉达公司 在硬件设备之间传输数据的技术
US11995023B2 (en) 2020-03-11 2024-05-28 NVIDIA Technologies, Inc. Techniques to transfer data among hardware devices

Also Published As

Publication number Publication date
DE69423853D1 (de) 2000-05-11
EP0657809B1 (en) 2000-04-05
EP0657809A1 (en) 1995-06-14
DE69423853T2 (de) 2000-10-19
US5794035A (en) 1998-08-11
JPH07200450A (ja) 1995-08-04

Similar Documents

Publication Publication Date Title
JP3248659B2 (ja) 入出力資源情報管理システム及び方法
US5566346A (en) System for constructing hardware device interface software systems independent of operating systems including capability of installing and removing interrupt handlers
US6182154B1 (en) Universal object request broker encapsulater
EP0640913B1 (en) Multilingual standard resources
US5815731A (en) Method and system for providing device driver configurations on demand
KR101020392B1 (ko) 논리적 파티션 사이에서의 운용 시스템의 커널 공유
US6173289B1 (en) Apparatus and method for performing actions on object-oriented software objects in a directory services system
CN101329636B (zh) 虚拟化窗口信息的方法和设备
US5133053A (en) Interprocess communication queue location transparency
US5675748A (en) Method and apparatus for automatically configuring computer system hardware and software
EP0371942A2 (en) System and method for interfacing in computer systems
JPH10511202A (ja) オブジェクト指向環境における回復可能プロキシ・オブジェクト
US8046692B2 (en) User interface mapping modules to deployment targets
JPH0916532A (ja) 第1クラス分散オブジェクトを使用して分散オブジェクト・サーバを制御、管理するシステム、及び方法
US20040210648A1 (en) Method of distributed resource management of I/O devices in a network cluster
JPH0675888A (ja) 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置
US6112253A (en) Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs
JPH0664559B2 (ja) クライアントインターフェースをアプリケーションのオブジェクト指向呼出しに対処するための方法及び装置
JPH0675846A (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法及び装置
JPH0997204A (ja) 分散オブジェクト操作環境において透明性のある不変性を提供する方法および装置
JPH10154095A (ja) 多数ディレクトリサービスに一様にアクセスするための方法及びシステム
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
JPH08272725A (ja) 分散オブジェクト環境においてサーバの構成情報を判定し、操作するためのシステム、及び方法
US20080256241A1 (en) System and Method for Automatically Managing It-Resources in a Heterogeneous Environment
US20020194171A1 (en) Method and system for integrated service administration via a directory service

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees