JPH09507317A - ハードウェア設定のためのオブジェクト指向システムおよびその方法 - Google Patents

ハードウェア設定のためのオブジェクト指向システムおよびその方法

Info

Publication number
JPH09507317A
JPH09507317A JP7517390A JP51739095A JPH09507317A JP H09507317 A JPH09507317 A JP H09507317A JP 7517390 A JP7517390 A JP 7517390A JP 51739095 A JP51739095 A JP 51739095A JP H09507317 A JPH09507317 A JP H09507317A
Authority
JP
Japan
Prior art keywords
hardware
type
connector
oriented
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7517390A
Other languages
English (en)
Inventor
ノーマン,ジョージ,ダブリュ.
アンダート,グレン,ピー.
Original Assignee
オブジェクト テクノロジー ライセンシング コーポレイション
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 オブジェクト テクノロジー ライセンシング コーポレイション filed Critical オブジェクト テクノロジー ライセンシング コーポレイション
Publication of JPH09507317A publication Critical patent/JPH09507317A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 コンピュータ・システム内でハードウェアの集中ユーザ設定を可能にするためのオブジェクト指向ハードウェア設定システムはそれぞれがハードウェア装置の物理的コネクタを表わす複数のオブジェクト指向ハードウェア・インタフェース・オブジェクトおよび複数のオブジェクト指向ハードウェア・モジュール・オブジェクトを含む。ハードウェア・モジュール・オブジェクトのそれぞれはユーザ設定が可能なハードウェア装置を表わす。ハードウェア・モジュール・オブジェクトのそれぞれはハードウェア装置に関連する1つまたはそれ以上のハードウェア・インタフェース・オブジェクトを含み、上記ハードウェア装置のコネクタが定義される。オブジェクト指向ハードウェア設定オブジェクトが提供され、ハードウェア設定オブジェクトは特定のコンピュータ・システムに接続されたハードウェア装置を表わす複数のハードウェア・モジュール・オブジェクトを含む。ハードウェア設定オブジェクトは特定のコンピュータ・システムのハードウェア設定を定義する。ユーザはハードウェア設定オブジェクトにアクセスして特定のコンピュータ・システムに接続されたハードウェア装置を設定することができる。

Description

【発明の詳細な説明】 ハードウェア設定のためのオブジェクト指向システムおよびその方法 発明の背景 発明の分野 本発明は一般にコンピュータ・システムのハードウェアを設定することに関し 、さらに詳しくはコンピュータ・システム内のハードウェアを設定するためのオ ブジェクト指向システムおよびその方法に関する。 関連技術 「ハードウェア設定(hardware configration)」と言うフレーズは多くの意味 がある。コンピュータ・システムのユーザの側から見ればハードウェア設定は一 般にユーザに見えるコンピュータ要素を設定することを表わす(これはユーザ指 向のハードウェア設定と呼ばれる)。これにはマウスのダブルクリック速度の設 定、ディスクドライブのフォーマット、モデムをシリアル・ポートに接続する、 または既存の接続を変更するなどの作業が含まれる。 コンピュータ・システムの入出力(I/O)ドメインでは、ハードウェア設定 は集積回路(IC)やその他の低レベル・ハードウェア資源の制御または調節を 行なう低レベルのサービスを表わす(これはI/Oハードウェア設定と呼ばれる )。 本発明は主としてユーザ指向のハードウェア設定に関するが、他の種類のハー ドウェア設定例えばI/Oハードウェア設定に応用することができる。 従来のコンピュータ・システムはハードウェア設定作業を多くの異なるアプリ ケーションに分散している。例えば、周知のアップル社製マッキントッシュ・コ ンピュータではStyleWriterというプリンタをモデム・ポートへ接続するために はChooserというアプリケーションを使用する必要がある。モデムをモデム・ポ ートへ接続するには、通信アプリケーション(例、MacTerminal)を使用しなけ ればならない。アップル社製SCSIドライブ装置を設定するには、「Apple HDSC S etup」というアプリケーションを使用する必要がある。マウスのダブルクリック 速度を調節するには、コントロールパネル・フォルダ内のマウス・コントロール パネルを使用する必要がある。理解されようが、ユーザにはどこにこれらの設定 アプリケーションが格納されているかを追跡するのが困難である。また、ユーザ が特定の資源を設定するためにどの設定アプリケーションが必要かをユーザが記 憶するのは困難である。 ユーザはコンピュータに何らかの装置の場所を指示する必要がある(つまり、 コンピュータにその装置がどこでどのようにコンピュータへ接続されているかを 教える必要がある)。これらの装置は手動接続装置または手動設定装置と呼ばれ 、ハードウェア設定に関して特に注意が必要である。 手動接続装置をコンピュータに取り付けた場合、コンピュータはその存在を検 出できない。ハードウェア設定の態様として、コンピュータ内の何らかのエンテ ィティに(ユーザから)その装置がどのような種類でどこに接続されているかを 教える必要がある。 周知のアップル・マッキントッシュ・システム7上では、教えるべきエンティ ティは問題の装置の種類による。例えば、モデムには「Comm ToolBox」を使用し プリンタにはセレクタを使用する。さらに、Comm ToolBoxはポート重視であって 、装置重視ではない(つまり、文書に保存される情報はポートに関するもので装 置に関するものではない)。ユーザがモデムを別のポートへ移動した場合、その モデムを使用する全ての端末文書は、これを送信しようとする時に正しく送信さ れないことになる。これはモデムが元のポートに接続されていることを想定して いるためである。 つまり、前述の問題に悩まされなくて済むようなハードウェア設定のためのシ ステムおよび方法が必要とされる。 発明の要約 本発明はコンピュータシステム内のハードウェアをユーザが集中的に設定でき るようにするためのオブジェクト指向ハードウェア設定システムに関する。ハー ドウェア設定システムは複数のオブジェクト指向ハードウェア・インタフェース ・オブジェクトを含み、そのそれぞれがハードウェア装置の物理的コネクタを表 わし、また複数のオブジェクト指向ハードウェア・モジュール・オブジェクトも 含む。 ハードウェア・モジュール・オブジェクトのそれぞれはユーザ設定可能なハー ドウェア装置を表わす。ハードウェア・モジュール・オブジェクトのそれぞれは ハードウェア装置のコネクタが定義されるようにそのハードウェア装置に関連し た1つまたはそれ以上のハードウェア・インタフェース・オブジェクトを含む。 オブジェクト指向ハードウェア設定オブジェクトを設けており、そのハードウ ェア設定オブジェクトは特定のコンピュータ・システムへ接続されたハードウェ ア装置を表わす複数のハードウェア・モジュール・オブジェクトを含む。ハード ウェア設定オブジェクトは特定のコンピュータ・システムのハードウェア設定を 定義する。ユーザはハードウェア設定オブジェクトにアクセスして該特定のコン ピュータ・システムに接続されているハードウェア装置を設定することができる 。 本発明の設定システムはハードウェアの集中ユーザ設定をサポートする。集中 ハードウェア設定によりユーザはハードウェア設定ツールが配置されている別々 の場所の全てを記憶する必要がなくなる。例えば、設定システムがサポートして いるコンピュータ・ビューワー(後述する)を用いて手動設定装置をシステムへ 接続する。これにより全てのローカル装置が設定ユーティリティ(例えば、ディ スクドライブ装置をフォーマットするツール、モニタ装置のビットの深さを変更 するためのツール等)へのアクセスすることができる。またローカル装置を選択 するかあるいは直接使用するために使用することもできる(例、ローカルプリン タおよびモデム)。 手動接続装置の範囲内で、ハードウェア設定システムは特別な利点を提供する 。第1に本システムは新規装置を追加した時には何時でも使用される。これは所 望すれば自動的に装置を割り当てる選択肢をシステムに提供する。第2に、ハー ドウェア設定システムにより権限が与えられ、装置を別のポートへ移動した場合 でも本システムは装置を追跡できる。ユーザは影響を受ける装置を使用する全て の文書を更新する必要がない。最後に、パーツ・ビン(parts bin)、すなわち、 システムが現在サポートでき、適切に「インストールされた」ハードウェア資源 を全て集めたパーツ・ビンがサポートされている。パーツ・ビンによりユーザは ハードウェア設定ビューワー(例、コンピュータ・ビューワー)を使用して新規 装置を迅速に発見し接続することができる。パーツ・ビンは全ての手動接続装置 で使用される。 ハードウェア設定システムは多数の新規な特徴を提供する。 例えば、ハードウェア設定システムは装置とその接続についてのデータベース を管理している。ハードウェア設定システムは実際のハードウェア・システムに 関連した装置の存在、物理的特性、および接続を記録する。これによってクライ アントがこれらの装置の接続や特性を変更できる。例えば、パーソナル・コンピ ュータはコンピュータとその周辺装置から構成される。コンピュータと周辺装置 の存在と物理的特性はハードウェア・データベースに記録され、ユーザは新規ま たは遠隔的に存在する装置の接続を変更したり追加できる。ハードウェア設定シ ステムはスイッチ・ボックス、多機能カード、多スロット・カード、1つ以上の ネットワークへの接続(多重ネットワークカード等)、多スロット型コンピュー タ、拡張バスを含む複雑なハードウェア・システムをサポートしている。 ハードウェア設定システムは設定データベースの刷新をサポートする。クライ アントが手動でデータベースを最新にすることができるサービスも提供される。 ハードウェア設定システムは装置とその接続の継続性を提供する。装置オブジ ェクトはハードウェア設定システムに登録されると、装置オブジェクトとその接 続を保存できる。再起動した時、これらの保存した装置オブジェクト全部が自 動的にハードウェア設定システムにより「復元(restore)」される。復元された 装置オブジェクトは再起動以前と同様にふるまう。 ハードウェア設定システムは装置の関連性をサポートする上でTHardwareInter faceReferenceを補佐する。THardwareInterfaceReferenceオブジェクトが自動的 に全ての接続された装置(手動または自動)にサービスを作成できるように、充 分な情報が記録される。参照オブジェクトはコンピュータ・ビューワーで装置の 接続を変更した後でも有効である。 ハードウェア設定システムは通知を提供する。通知は関連のハードウェア・デ ータベースの状態が変化したとき(例えば、装置の追加、除去、または接続の変 更)全ての関連のクライアントに提供される。TInterestが1つだけ提供されて おり、これは「変化がありました」である。その結果、クライアントは変化が発 生したことだけが通知され、変更に関するそれ以上のさらなる詳細は自動的に与 えられない。 ハードウェア設定システムはハードウェア設定ビューワー・フレームワークを サポートする。クライアントは自分自身のハードウェア・データベースを作成で きる。このハードウェア・データベースは本発明のハードウェア設定システムを 使用して構築され、ハードウェア設定ビューワー・フレームワークにより表示さ れる。例えば、LaserWriter NTX設定ビューワーが作成され、それにより遠隔Las erWriter(ディスクドライブと接続その他を含む)のハードウェア設定をユーザ が確認できる。 ハードウェア設定システムは装置設定ビューワーの作成をサポートする。装置 設定ビューワーでは、ユーザが「実際の装置」を設定できる。装置設定ビューワ ーはプレゼンテーション・オブジェクトにより作成される。オペレーティング・ システムのエンティティは装置オブジェクトから取得した情報を用いてプレゼン テーション・オブジェクトを作成できる。例えば、ディスクドライブ装置用の設 定ビューワーはドライブのボリュームを再フォーマット、パーティション分割、 試験、マウント、アンマウントするために作成される。 本発明のさらなる特徴および利点、ならびに本発明の種々の実施例の構造と動 作は添付の図面を参照して詳細な説明で後述する。 図面の簡単な説明 図1は好適実施例においてハードウェア設定システムが動作するコンピュータ ・システムのブロック図である。 図2は好適実施例における好適実施例によるハードウェア設定フレームワーク のクラス分類図である。 図3は好適実施例によるTHardwareConfigurationオブジェクトの動作を示す説 明図である。 図4は好適実施例によるTHardwareModuleオブジェクトの動作を示す説明図で ある。 図5は好適実施例によるTHardwareInterfaceオブジェクトの動作を示す説明図 である。 図6は好適実施例によるTHardwareInterfaceIdentifierの動作を示す説明図で ある。 図7Aから図7Eはハードウェア設定計画の例において好適実施例が動作する 方法を示す説明図である。 好適実施例の詳細な説明 本発明はコンピュータ・システムのハードウェアを設定するためのオブジェク ト指向システムおよび方法に関する。オブジェクトに基づいているので、本明細 書ではオブジェクト指向の用語と概念を用いて本発明を説明する。このようなオ ブジェクト指向の用語と概念は周知であり、多くの公共的に利用できる文書たと えばGrady Booch著Object-Oriented Design(オブジェクト指向設計)(Benjamin Cummings発行、1991年)で述べられている。 図1は好適実施例によるオブジェクト指向設定システムが動作するコンピュー タ・システム102の高レベル・ブロック図である。本発明はコンピュータ・シ ステム102との組み合せにおいて設定システムを包含することに注意すべきで ある。 コンピュータ・システム102はハードウェア要素104、例えばランダム・ アクセス・メモリ(RAM)108と中央演算処理装置(CPU)106を含む 。CPU106は単一のプロセッサまたは並列動作する複数プロセッサを表わす ことができることには注意すべきである。 コンピュータ・システム102はハードウェア要素104に接続する周辺装置 も含む。これらの周辺装置は入力装置または装置群(例えばキーボード、マウス 、ライトペン等)、ディスプレイ114、プリンタ116、ネットワーク・アダ プタ118を含む。コンピュータ・システム102をその他の周辺装置へ接続す ることができる。 コンピュータ・システム102はオペレーティング・システム122も含み、 マイクロ命令コード120(ファームウェアとも呼ばれる)を含むことができる 。オペレーティング・システム122は実質的に完全に機能するオペレーティン グ・システム、例えばDisk Operating System(DOS)やUnixオペレーテ ィング・システムを表わす。オペレーティング・システム122はこれ以外にも 他の種類のオペレーティング・システムを表わすことがある。好ましくは、オペ レーティング・システム122は機能限定オペレーティング・システム、例えば IBMが開発し当業者には周知のMachマイクロカーネル等を表わす。 好適実施例における好適実施例では、コンピュータ・システム102はIntern ational Business Machines(IBM)社製コンピュータまたはIBM互換機で ある。好適実施例における別の実施例では、コンピュータ・システム102はア ップル社製コンピュータである。 1つまたはそれ以上のプログラム124はコンピュータ・システム102で並 列に動作する。 好ましくは、好適実施例によるオブジェクト指向設定システムはコンピュータ ・システム102で実行するオブジェクト指向オブジェクトの集合として実装さ れる。これらのオブジェクトはコンピュータ・システム102で実行する1つま たはそれ以上のプログラム124で表わされる。 これ以外に、オペレーティング・システム122が手続を基本とするよりもむ しろオブジェクト指向であるようなオペレーティング・システム122の一部と してオブジェクトを実装できる。コンピュータ・システム102での好適実施例 による設定システムを表わすその他の方法(本明細書において説明している)は 当業者には明らかであろう。 好適実施例による設定システムを実装するオブジェクトはオブジェクト指向ハ ードウェア設定フレームワークを形成するように集められた複数のオブジェクト 指向クラスのインスタンスである。このハードウェア設定フレームワークとそこ に含まれるクラスについては後述する。 本発明について詳細に説明する前に、好適実施例にしたがって理解する上で重 要な幾つかの用語を定義するのが有用であろう。 第1の用語は「自動設定」である。自動設定は2種類存在する。第1の種類は 自動設定と言う以上に実際には自動識別である。この分類に入る装置はシステム に対して自分自身を識別できる。システムは要求されたソフトウェアを巡回して 検索し、場合によってはユーザが手動で「インストール」する必要がある(後述 の手動設定を参照)。自動設定の他の形状は自己内包型設定である。この分類に 入る装置は自分自身を識別するばかりか、自分自身の設定ソフトウェアおよびデ ータを提供できる。自動設定は「ボトムアップ」方式である。システムは自分自 身を設定し情報を上(ユーザ)に向かって転送する。 第2の用語は「手動設定」である。手動設定にはユーザが何らかの特別なこと をする(例えばサービスを「インストール」するか、または装置がどこに接続さ れているかをコンピュータに教える)必要がある。手動設定には3つの場合があ る。 第1の場合では、装置はシステムが認識可能だが、要求された装置サービスを 発見できない。ユーザは手動でサービスを「インストール」する必要がある。こ の装置は「ソフトウェア欠除」型である。 第2の場合では、要求されたサービスが利用できるがシステムが装置を検出で きないかシステムが認識できない(すなわち、アイコンはパーツ・ビンに現れる が装置それ自体はコンピュータ・ビューワー上に現れない)。この場合、ユーザ はパーツ・ビンからコンピュータ・ビューワーで装置が接続されている場所にド ラッグする必要がある。 第3の場合では、要求されたサービスが利用できず、装置も検出できない、こ れは上記の2つの場合の部分的組み合せである。第1に、ユーザはサービスを「 インストール」する必要がある。この後、ユーザはパーツ・ビンから装置がコン ピュータ・ビューワーで接続されている場所へドラッグできる。 手動設定は「トップダウン」方式である。ユーザが何らかのユーザ・インタフ ェース経由で設定情報を供給しこの情報が下位(I/Oシステム)まで浸透する 。 次の用語は「ソフトウェア欠除ハードウェア」である。ハードウェア資源がシ ステムに知られているときはいつでもハードウェア資源はソフトウェアが欠除し ているように思われるが、必要なソフトウェアを見つけることができないので、 システムはそれを使用できない。THardwareModuleは欠除ハードウェアを表わす ことができる。THardwareModuleは部分的にも欠如になることはない。カードのT HardwareModuleが登録された時点でカードを初期化するのに必要な全てのソフト ウェアを利用できなければならない。ソフトウェア欠除ハードウェアは更新時ま たはブート時に発見される。 好適実施例によるハードウェア設定システムはハードウェア設定ビューワーを サポートしており、それは好ましくはオブジェクト指向技法(例えばフレームワ ークを形成する関連クラスのインスタンスとして)を使用して実装される。ハー ドウェア設定ビューワーについては後述する。 ハードウェア設定ビューワーはユーザにコンピュータの現在のハードウェア設 定のグラフィック表現を表示するためのツールである。ハードウェア設定ビュー ワーはパーツ・ビン(後述する)を用いて動作する。ハードウェア設定ビューワ ーは多種存在する。 例えば、コンピュータ・ビューワーはコンピュータシステム全体の現在の設定 のグラフィック表現を表示する。 プリンタビューワーではユーザがプリンタの設定を見ることができる。例えば 、プリンタビューワーはハードディスク装置ならびにシートフィーダ等のプリン タへのオプションパーツを表示する。ユーザはプリンタが(ディスク装置上に) どのフォントを有しているか見ることができる。 パーツ・ビン・ビューワーはユーザに「潜在的に」接続可能な「沈黙の」装置 を表示する(アップル社のチューザと同様だが、チューザは現在接続されている 装置の幾つかも表示する)。パーツ・ビン・ビューワーによる表示には各装置の 種類ごとにタブを有するウインドウを含むことができる。例えば、プリンタとモ デムにタブを提供できる。ユーザは特定のタブを選択して特定の種類の装置を全 部見ることができる。すなわち、コンピュータ・ビューワーはユーザに何が接続 されているかを示し、一方でパーツ・ビン・ビューワーはユーザに何が接続でき るかを示す。 装置設定ビューワーではユーザが「実際の装置」(すなわち物理的装置)を設 定できる。装置設定ビューワーはプレゼンテーション・オブジェクトにより作成 される。オペレーティング・システムのエンティティは装置オブジェクトから得 られた情報を用いてプレゼンテーション・オブジェクトを作成できる。例えば、 ディスク・ドライブ設定用の設定ビューワーはドライブのボリュームを再フォー マット、パーティション分割、テスト、マウント、アンマウントするように作成 される。 ハードウェア設定システムのアーキテクチャ 前述のように、好適実施例によるオブジェクト指向設定システムはコンピュー タ・システム102で実行するオブジェクト指向オブジェクトの集りとして実装 される。これらのオブジェクトはオブジェクト指向ハードウェア設定フレームワ ークを形成するように集められた複数の関連オブジェクト指向クラスのインスタ ンスである。図2は好適実施例における好適実施例によるハードウェア設定フレ ームワークの分類図である。ハードウェア設定フレームワークを形成するクラス については以下の章で説明する。 THardwareConfiguration THardwareConfigurationクラス204の主目的はハードウェアの集中的ユーザ 設定をサポートすることである。一組のハードウェア関連データベース・サービ スを提供することによりこれを行なう。THardwareConfigurationクラス204は THardwareModuleオブジェクトの集合を保有する。クライアントはTHardwareConf igurationインスタンスに新規のTHardwareModuleオブジェクトを追加したり、ま たは既存のオブジェクトを削除できる。クライアントはTHardwareConfiguration のインスタンスから全てのTHardwareModuleオブジェクトまたは特定の種類のTHa rdwareModuleオブジェクトを直接取り出すことができる(例えば、種類=プリン タ、種類=スキャナ&モデム)。 クライアントは、ComputerHardwareComfiguration(コンピュータ・ハードウ ェア・データベースとも呼ばれる)として周知の特別なTHardwareConfiguration オブジェクトにアクセスでき、これはパーソナルコンピュータのローカル・ハー ドウェア設定を表わしている。ここには、コンピュータ、マウス、キーボード、 モニタ等の装置が含まれる。このデータベースはパーソナル・コンピュータの集 中ユーザ設定の基盤である。図3はComputerHardwareComfigurationの例を示す 。 THardwareConfigurationオブジェクトでは、ハードウェア設定に何らかの変化 があったとき(例えばハードウェア・モジュールを追加または削除したか、また は接続を変更した場合)に関連のクライアントに通知を送出する。クライアント は変化が起こったことが通知されるだけで、変更についてのそれ以上の詳細は与 えられない。ハードウェア設定の変更は極めてまれにしか発生しないのでこの最 小限の通知方式が問題になる(例えばプロセス間通信IPCトラフィックが顕著 に増加する等)とは予想されない。 THardwareModule THardwareModuleオブジェクト206の目的は、非常に低レベルで、ハードウ ェア設定ビューワー(またはパーツ・ビン)により表示される装置およびユーザ が設定または使用する装置を表示することである。THardwareModuleオブジェク ト206はコンピュータ、カード、周辺装置を表示するために使用する。例え ば、以下のそれぞれはそれ自身のTHardwareModuleオブジェクトで表現される:A pple Macintosh IIciコンピュータ、Apple ADB キーボード、Macintosh ビデオ カード。 THardwareConfigurationのメンバとしてTHardwareModuleオブジェクト206 はユーザが設定または使用しようとできる実際の装置を表示する。TPartLocator (すなわち後述のパーツ・ビン220)のメンバとして、THardwareModuleオブ ジェクト206は同一の特性を有するあらゆる個数の実際の装置のプロトタイプ を(すなわちシステムに追加することのできる部分)表現する。 THardwareModuleオブジェクト206は一組の順序付けされたTHardwareInterf aceオブジェクト212(後述する。本明細書ではTHardwareInterfaceオブジェ クト212はコネクタ・オブジェクト、または単にコネクタとも称する)を有す る。それぞれのTHardwareInterfaceオブジェクト212は実際の装置上の実際の 物理的コネクタに対応する。例えば、図4を参照すると、THardwareModuleオブ ジェクト410は多機能カード402を表わしており、片エッジ・コネクタ40 4、ビデオ・コネクタ406、SCSIコネクタ408にそれぞれ対応するTHar dwareInterfaceオブジェクト416、414、412を有している。 THardwareModuleは下位分類するためには必要ではないので、THardwareModule オブジェクトの作成者は適切なTHardwareInterfaceオブジェクトが作成されTHar dwareModuleオブジェクトに組み込まれたことを確認する必要がある。それぞれ のTHardwareModuleオブジェクト206はTHardwareInterfaceIdentifierオブジ ェクト224(後述する)に対応し、さらにコンピュータ・ビューワーで表示さ れたプレゼンテーション・オブジェクト内のコネクタ・オブジェクトにも対応す る。 1つまたはそれ以上の保有コネクタはデフォルト(図4参照。ここではエッジ ・ハードウェア・オブジェクト416がデフォルト)と見なされる。デフォルト ・コネクタは特別のコネクタ、すなわち、装置をコネクタへドラッグ・アンド・ ドロップする間に潜在的な接続対象として選択される特別なコネクタを表わす。 これは接続を生成するためのショートカットである。別の方法はアイコン をハードウェア・ビューワーへドロップしてから、手動でこれを適切なコネクタ へ配線することである。ショートカット方法の例:ユーザが前述したビデオSC SIカードを、パーツ・ビンからコンピュータ・ビューワー内のISAスロット ・コネクタへドラッグする。開発者がエッジ・コネクタをデフォルトとして規定 しているので、コンピュータ・ビューワーはエッジ・コネクタを(SCSIまた はビデオ・コネクタに対して)選択する。 1つ以上のデフォルト・コネクタが要求される場合がある。例えば、プリンタ はシリアル・ポートとパラレル・ポートの両方を有することができる。ユーザが このプリンタをシリアルポート上へドラッグした場合、コンピュータ・ビューワ ーは互換性のために両方のデフォルト・コネクタを試験する。それはプリンタが シリアルポートと互換であると発見する。ユーザは続けてプリンタをパラレル・ ポートへドラッグすることができる。コンピュータ・ビューワーはプリンタがパ ラレルポートとも互換性があることを発見する。 各THardwareModuleオブジェクト206はTHardwareModuleオブジェクトが属す る物理的ハードウェアのクラスを識別しパーソナリティに依存しないHardwareMo duleSignatureオブジェクト210を有する。例えば、Apple ImageWriter IIを 表わすTHardwareModuleオブジェクト206は値が「AppleImageWriterII」のHar dwareModuleSignatureオブジェクト210のインスタンスを有することになる。 各THardwareModuleオブジェクト206は1つまたはそれ以上のHardwareModul eCategoryオブジェクト208(後述する)を有する。それぞれのHardwareModul eCategoryオブジェクト208はTHardwareModuleオブジェクト206が表現する ことのできる1つの特定の種類の装置を表わす。例えば、モデム、スキャナ、プ リンタ、ファクシミリとして使用できるファクシミリ装置を表わすTHardwareMod uleオブジェクト206は次のようなHardwareModuleCategoryオブジェクト20 8のそれぞれのインスタンス:"modem"、"scanner"、"printer"、"fax"を1つ有 することになる。 典型的には、ハードウェア・データベース内のTHardwareModuleオブジェクト 206は少なくとも1つの別のTHardwareModuleオブジェクト206に「接続」 される。しかし、装置が各種の理由から完全に切断されることがあるので必要な ことではない。THardwareConfigurationの切断した装置はTHardwareConfigurati onオブジェクトがまだ保有しており直接のイテレーション(iteration)により到 達可能である。 THardwareModuleオブジェクトは多数の属性を有し、これには「root」「inter nal」「wants persistence」を含む。rootはブール代数値である。真の場合には THardwareModuleオブジェクト206はTHardwareConfigurationの中心装置であ る。各THardwareConfigurationクラス204は1つのroot装置を有する。パーソ ナル・コンピュータ・データベースでは、コンピュータを表わすTHardwareModul eオブジェクト206がroot装置である。rootのデフォルトはFALSE(偽)である。 root装置はハードウェア設定ビューワーが使用する特別な装置である。ハードウ ェア設定ビューワーによる概略図または略図が表示される場合、root装置は特別 な領域に「展開」される。 internalもブール代数値である。真の場合、実際の装置はroot装置内部に物理 的に配置される。例えばMacintoshの内蔵ハードドライブ装置はコンピュータ「 内部」である。デフォルトはFALSEである。この状態はコンピュータ・ビューワ ーの略図だけで使用される。装置がコンピュータ内部にある場合、これは特別な 領域に表示される。 「wants persistence」はブール代数値を取る。一致しないモジュールはシス テムが再起動するときに設定から暗黙のうちに除外される(接続も同様に暗黙の うちに除外される)一方、一致するモジュールは再起動中にも明確的に除去する まで設定に留まる。典型的には、全ての手動接続装置はハードウェア設定フレー ムワークにより自動的に復元されることを望むが、SCSIディスクドライブ装 置は別である。デフォルトはFALSEである。 HardwareModuleCategory HardwareModuleCategory208の目的はクライアントが種類ごとにTHardwareM oduleオブジェクト206をグループわけできるようにすること である。HardwareModuleCategoryオブジェクト208のインスタンスはTHardwar eModuleオブジェクト206またはTPartLocatorオブジェクト218(後述する )が保有する。THardwareModuleオブジェクト206に保有される場合、Hardwar eModuleCategoryオブジェクト208のインスタンスはモジュールが表現できる 種類の装置を表わす。各THardwareModuleオブジェクト206は表現できるそれ ぞれの種類の装置に対して1つのHardwareModuleCategoryオブジェクト208を 有する。 TPartLocatorオブジェクト218に保有される場合、HardwareModuleCategory オブジェクト208のインスタンスはTPartLocatorオブジェクト218が保有す るTHardwareModuleオブジェクト206の全ての共通グループを表わす。 サポートされる装置の分類には以下を含む:モニタ、プリンタ、キーボード、 ポインティング装置(マウスまたはタブレット)、モデム、カード、ディスクド ライブ装置、スキャナ、ファクシミリ、その他 HardwareModuleSignature HardwareModuleSignature210の目的はオペレーティング・システム(OS )のパーソナリティ(例OS/2)がTHardwareModuleオブジェクト206を表現す るために自分自身のオブジェクトを作成できるようにするメカニズムを提供する ことにある。THardwareModuleオブジェクト206はどのようなOSパーソナリ ティがその上に存在するかについての知識を有していないのでこのことが必要と なる。HardwareModuleSignature210のインスタンスは「キー」、すなわち、 パーソナリティに依存せず独自のパーソナリティ依存エンティティへの「キー」 を表わす。例えば、特定のオペレーティング・システムはこのキーを使ってファ イルからTHardwareModuleオブジェクト206に対応するプレゼンテーション・ オブジェクトを再現することができる。または、シグニチャー(signature)をプ レゼンテーションのクラス名に変換して、THardwareModuleオブジェクト206 に対応する新しいプレゼンテーション・オブジェクトを作成することができる。 THardwareConfigurationクラス204のインスタンスは等価なHardwareModule Signatureオブジェクト210を有する多くの装置を含むことができる。例えば 、データベースは2台の80MBアップル・ディスクドライブ装置を有すること がある。HardwareModuleSignatureオブジェクト210の等価なインスタンスは それぞれのTHardwareModuleオブジェクト206に1つづつ存在する。これらは 同一の装置ではない。これらは同一の種類で2つの異なる実際の装置を表わす2 つの異なったTHardwareModuleオブジェクト206である。 THardwareInterface THardwareInterfaceオブジェクト212の目的は非常に低いレベルで実際の装 置の実際のコネクタを表現することである。これはコンピュータ、カード、また は周辺装置のコネクタを表現できる。例えば、以下のそれぞれはTHardwareInter faceオブジェクト212自身が表現される:Macintosh IIfxのSCSIコネクタ 、Macintoshビデオ・カード上のビデオ・コネクタ、またはStyleWriter上のシリ アル・コネクタ。THardwareInterfaceオブジェクト212はTHardwareModuleブ ジェクト206が保有する。 各THardwareInterfaceオブジェクト212は1つまたはそれ以上のHardwareIn terfaceCategoryオブジェクト214(後述する)を有する。各HardwareInterfa ceCategoryオブジェクト214はTHardwareInterfaceオブジェクト212が表現 することのできるインタフェースの特定の1種類を表わす。例えば、シリアルポ ートを表わすTHardwareInterfaceオブジェクト212は次のHardwareInterfaceC ategoryオブジェクト214のそれぞれのインスタンス:"serial"を一つ有して いる。 THardwareInterfaceオブジェクト212の各インスタンスはそれぞれのTHardw areInterfaceオブジェクト212についてこれが接続されるTHardwareConnectio nオブジェクト216(後述する)を一つ有する。例えば、図5に図示したよう に、コンピュータ上のSCSIコネクタはSCSIディスクドライブ装置とSC SIプリンタへ接続できる。コンピュータ上のSCSIコネ クタは2つのTHardwareConnectionオブジェクト216を有することになる。S CSIディスクドライブ装置とSCSIプリンタのそれぞれが一つのオブジェク トを有する。 THardwareInterfaceオブジェクト212の各インスタンスはデータベースへの 独自キーとして用いるTHardwareInterfaceIdentifierオブジェクト224(後述 する)をひとつ有する。 幾つかのTHardwareInterfaceオブジェクト212は実際の「インタフェース・ ポート」(例えばコンピュータ上のSCSIポートまたはビデオ・カード上のビ デオ・ポート)を表わす。これらのTHardwareInterfaceオブジェクト212はサ ービス・スタックを開始するために使用できる。 クライアントはTHardwareInterfaceオブジェクト212に更新を要求できる。 これを実行するには、クライアント(例えばコンピュータ・ビューワー)が最上 部インタフェースとしてMReconfigurableInterfaceを有するTHardwareInterface Reference222を作成する。MReconfigurableInterfaceがサポートされるとハ ードウェア参照オブジェクト222が起動された時にサービスが返されるように なるので、クライアントは安全にReconfigure()を呼び出すことができる。 THardwareModuleオブジェクト206に1つ以上のTHardwareInterfaceオブジ ェクト212を有することを許容する副作用は、接続が間接的に装置へ「ループ バック」することである。クライアントが装置の全ての接続を通過しようとした 場合、潜在的なループに注意する必要がでてくる。 THardwareInterfaceオブジェクト212は次のような属性を有する。 ・最大接続数。これはshort整数である。THardwareInterfaceオブジェクト2 12は1つまたはそれ以上の接続をサポートできる。この属性はTHardwareInter faceオブジェクト212が有することのできる論理的接続の最大数を規定する。 デフォルトは1。 ・モード。可能な値はIN/OUT/INOUTである。これは転送モードを規定する。 THardwareInterfaceオブジェクト212は入力、出力、またはその双方になるこ とができる。デフォルトはINOUTである。 ・再設定可能。これはブール代数値である。真の場合、ハードウェアは更新を サポートする(すなわち、何か変更が起こったか調べることができる)。これは 実際に再走査を実行するためにサービスを利用できることを表わしているわけで はない。デフォルトはFALSEである。 この属性は最適化にのみ使用する。クライアントがポートを更新しようとする まえに、ハードウェアがこれをサポートできるかを調べることができる。そのポ ートについてTHardwareInterfaceReference222を起動することによりこれと 同じ情報を決定できる。しかし、多くのハードウェアは再設定をサポートせず専 用の検索の使用は速度が遅い。 ・接続の継続性要求。これはブール代数値である。継続性の概念はTHardwareM oduleオブジェクト206で説明したのと同一である。コネクタは接続が継続す ることを要求できる。接続を形成するいずれかのコネクタがこの要求を行なった 場合に接続が継続する。デフォルトはFALSEである。 継続接続を要求するコネクタはこれの装置も継続を要求することを含む。それ らが一致しない場合には例外処理が発生する。 HardwareInterfaceCategory HardwareInterfaceCategoryオブジェクト214の目的はクライアントが種類 ごとにTHardwareInterfaceオブジェクト212をグループ分けできるようにする ことである。例えば、クライアントは所与のハードウェア設定についてシリアル ポートの全部を見つけてグループ分けしたいかも知れない。HardwareInterfaceC ategoryオブジェクト214のインスタンスはコネクタが表現できるインタフェ ースの一種を表わす。各THardwareInterfaceオブジェクト212はこれが表現で きるそれぞれの種類のインタフェースごとに1つのHardwareInterfaceCategory ブジェクト214を有する。インタフェースの分類は以下を含む:シリアル、パ ラレル、ビデオ、MIDI、ADB、SCSI、スロット。 THardwareConnection THardwareConnectionオブジェクト216の目的は接続についてその状態に基 づいた個別のプレゼンテーションをサポートすることである。THardwareConnect ionオブジェクト216のインスタンスは2つのTHardwareInterfaceオブジェク ト212の間の接続を表わす。 ハードウェア接続オブジェクト216は次のような属性を有する: ・種類。接続は自動または手動である。自動接続はシステムが行なう。手動接 続はユーザが行なう。これら2種類の接続を識別できることが重要である。ユー ザは自動接続を変更すべきではない。そのため、これらの接続はユーザが変更で きないような方法で呈示される。デフォルトは自動である。 ・継続要求。ブール代数値。いずれかのコネクタが継続接続を要求する場合に 派生属性が真になる。 接続オブジェクト216は、(1)THardwareInterfaceオブジェクト212の いずれか1つが接続最大数を越えない場合、(2)2つのTHardwareInterfaceオ ブジェクト212の間のサービス「スタック」が作成可能(または作成された) な場合、なお、これはユーザが新規装置をコンピュータ・ビューワーに接続でき るようになる前に適切なサービスをインストールしなければならないことを表わ しているが、また(3)2つのTHardwareInterfaceオブジェクト212のモード が有効な場合に作成することができる(以下の表を使用する)。 TPartLocator TPartLocatorオブジェクト218の目的は「インストールされた」THardwareM odule「プロトタイプ」の全部を特定のPartsBin分類について見つけ出すことで ある。TPartsBinオブジェクト220のメンバとして、TPartLocatorオブジェク ト218のインスタンスは特定のタブについてパーツ・ビン・ビューワーで表示 すべき装置の組を表わす。それぞれのTPartLocatorオブジェクト218はBinCat egoryを有する。BinCategoryはTPartLocatorオブジェクト218のどの種類の装 置がみつかるかを規定する。例えば、BinCategory=「プリンタ」の場合には、T PartLocatorオブジェクト218はシステムに「インストールされている」プリ ンタの全てのプロトタイプを発見する。パーツ・ビンで使用する場合、このビン 分類はパーツ・ビン・ビューワーのタブに対応する。パーツ・ビン・ビューワー は表示する全てのタブについて1つのTPartLocatorを保有する。 TPartLocatorオブジェクト218は一組のパーツ(すなわちTHardwareModule ブジェクト206)を参照する。各パーツはコンピュータ・システムがサポート できる装置を表わす。例えば、プリンタTPartLocatorオブジェクトは見つかった それぞれのプリンタの種類ごとに1つのプロトタイプTHardwareModuleオブジェ クトを保有する。 TPartLocatorオブジェクト218は次のようなさらなる性質を有する: ・TPartLocatorオブジェクト218のインスタンスが保有するTHardwareModul eオブジェクト206の全部が同一のHardwareModuleCategoryオブジェクト20 8に属する。 ・TPartLocatorオブジェクト218のインスタンスが保有するTHardwareModul eオブジェクト206の全部は独自のHardwareModuleSignatureオブジェクト21 0を有する。 TPartsBin TpartsBin220の目的は手動で設定可能な過剰な装置類を意味のある関連装 置の組に組織することである。例えば、システムがサポートできる全ての装置の 完全なリストをユーザに呈示する代わりに、パーツ・ビン220はこの装置の組 をそれぞれが装置分類に基づく幾つかのリストに組織する。TpartsBin220は 一組のビンTPartLocatorオブジェクト218を保有する。それぞれのビンは区画 を表わし、パーツ・ビン・ビューワーの1つのタブに正確に対応する。パーツ・ ビン・ビューワーはTPartLocatorオブジェクト218の内容を表示する。新規の 「パーツ」をシステムに取り入れる(すなわちインストールする)と、適切なTP artLocatorオブジェクト218が更新される。さらに、TPartLocatorオブジェク ト218の新規分類がインストールされ、新規のTPartLocatorオブジェクト21 8がTpartsBin220により作成されて新規タブが自動的に表示される。ユーザ がカスタマイズ可能なロケータは排除されない。 パーツ・ビンはユーザに対して「潜在的に」接続可能な「沈黙の」装置を全部 呈示する(アップル社のチューザと同様だが、チューザは現在接続されている装 置の幾つかも表示している)。プレゼンテーションはそれぞれの装置タイプごと にタブを有するウインドウから構成される。例えば、プリンタとモデムにはタブ が提供される。ユーザは特定のタブを選択して特定の種類の装置全部を見ること ができる。ユーザはパーツ・ビンからコンピュータ・ビューワーへ装置をドラッ グして接続することができる。 パーツ・ビンはアップル社のチューザまたは同様なエンティティのうちで、ユ ーザがプリンタを選択しプリンタが接続されるポートをクリックする部分を置き 換えるものである。またMacTerminalまたは同様のアプリケーションのうちでユ ーザがモデムを接続するポートを選択する部分も置き換えるものである。 全てのファイル、すなわち、THardwareModuleオブジェクト206のプロトタ イプを表わし、パーツ・ビン中に示されると予想される全てのファイルはアイコ ンが現れると思われる全ての区画ごとに1つのTHardwareCategory属性を含む必 要がある。 TpartsBin220は次のようなさらなる性質を有する: ・ユーザはアイコンのどれかを開いて継続的デフォルトを規定できる。 ・アイコンは1つ以上のパーツ・ビンの分類の所属することができるので、パ ーツ・ビンの1つ以上の区画に現れることがある。 THardwareInterfaceReference THardwareInterfaceReference222の目的はローカル装置のためのサービス をどのように作成するかの詳細からクライアントを遮蔽することである。これは サービスを作成するのに必要な詳細をカプセル化する(例えば、どのポートに装 置を接続するか)。この情報を他の情報とあわせて使用して、適切なサービス・ スタックを構築する。スタックを作成する結果として返されるインタフェースは 所望のサービスに対する強くタイプ化したインタフェースである。この「最上部 」インタフェースはクライアントが直接規定する。 活動しているTHardwareInterfaceReferenceオブジェクトのインスタンスは実 際のローカル装置が提供するサービスへのアクセスを表わす。 THardwareInterfaceIdentifier THardwareInterfaceIdentifier224の目的は実際の物理的ハードウェア要素 を独自に識別することである。THardwareInterfaceIdentifierオブジェクト22 4はサービスおよび設定のアクセス・マネージャ(CAM)が使用して実際にハ ードウェアを駆動するために必要とする物理的情報を取り出す(例えば、サービ スはチップの物理アドレス、IRQ、バイト順序情報、など)。THardwareInter faceIdentifierオブジェクト224は強くタイプ化されているのでサービスはど の情報が利用可能でどのように取り出すかが正確に分る。 一例として、図6に図示したようなTHardwareInterfaceIdentifierオブジェク トは、図6に図示したように、コンピュータのTHardwareModuleオブジェクトが 保有するシリアルTHardwareInterfaceオブジェクトである。 THardwareInterfaceIdentifierオブジェクトをサービスにより使用してこれの表 わすSCCチップの物理I/Oアドレスを取り出すことができる。 設定アクセス・マネージャはシステムハードウェア資源の初期化を担当する入 出力システムのエンティティである。これは各種ハードウェア資源にサブクラス 化される。自動設定装置では、サブクラスは活動中の装置を見つけ関連するCA Mの起動を担当する。CAMはある装置に対してアクセス・マネージャ(AM) を自動的に作成、開始することができるかまたはできない。例えばSCSI C AMはSCSI HDについてのAMを作成し、開始することができるがSCS Iプリンタに対してはできない。プリンタ用AMはプリンタを使用するまで実際 には要求されない。 アクセス・マネージャは直接チップと会話できるI/Oサービスである。AM はチップへアクセスする複数要求の間の調停を行なう。 好適実施例による動作 好適実施例による動作は典型的なハードウェア設定のシナリオで本発明が動作 する方法を議論することにより説明する。異なるハードウェア設定のシナリオに おける好適実施例の動作は本明細書に含まれる議論に基づいて当業者には明らか になろう。 このシナリオは装置の手動接続に関連する。このシナリオにおいて、ユーザは 新規のISAシリアル・カードをシステムに追加しうまく起動できる。起動処理 中に、ISAプローブがカードの発見に失敗すると、カードは使用できない。さ らに、カードはコンピュータ・ビューワーに表示されない。コンピュータ・ビュ ーワーに存在しないことが、ユーザに取ってシステムにはそれが見えないことの ヒントになる。ユーザはシステムに対してこの新規のハードウェア・モジュール を教える必要がある。以下のステップに示したようなハードウェア設定システム でサポートされるコンピュータ・ビューワーを使ってこれを行なう。 (1)第1に、ユーザはコンピュータ・ビューワーとパーツ・ビンを開く。図 7Aはコンピュータ・ハードウェア設定とパーツ・ビンの初期状態の部分的図示 である。コンピュータ・ハードウェア設定は空きISAスロットを有する1つの コンピュータ・モジュールとともに図示してある。パーツ・ビンはシステムを更 新しようとするISAカードを有している。 (2)ユーザはISAカードのアイコンをパーツ・ビンからコンピュータ上の いずれかの空きISAスロット・アイコンにドラッグする(実際に接続されてい るのと同じスロットが望ましい)。デフォルト・コネクタはカードのTHardwareM oduleオブジェクト(この例ではエッジ・コネクタ)から取得する。2つのアイ コンの間のタイプネゴシエーションでこれら2つを互いに接続することが可能で あることを確認する。標準的なネゴシエーション処理は本明細書で規定した接続 の不変性を考慮する。 (3)ここでカードをスロットに接続する。これは次のように行なう。第1に コンピュータ・ビューワー(命令オブジェクト経由で)がカードのTHardwareMod uleオブジェクトをコンピュータ・ハードウェア設定に追加する。これが図7B に図示してある。 (4)次に、上記接続を接続しなければならない。これが図7Cに図示してあ る。コネクタ・オブジェクト(すなわちTHardwareInterface)は2つで、コンピ ュータ・ビューワーからの1つはユーザが選択したもの、またカードからの1つ はデフォルトにより選択されたものである。THardwareConnectionを作成するこ とにより命令が2つのコネクタを接続する。最後のステップは接続に追加メソッ ドを呼び出すことで、接続を完了する。 (5)ComputerHardwareConfigurationはISAカードのコピーを有しISA スロットに接続される。これを図7Dに図示してある。 (6)ハードウェア設定の何らかの変化で通知イベントが発生し、これが全て の関連のクライアントに送出される。例えば、ISA設定データベースは手動接 続ISAカードに関連するので通知を受信する。これが図7Eに図示してある。 多くの場合、新規ISAカードはISAデータベースがこれを学習するとすぐに 使用できるようになる。しかしISAカードCAMがさらに情報を必要とする場 合(例えば物理アドレス、IRQ、および/またはDMA情報)、カードはまだ 使用できるようにならない。ユーザはこの情報をカードCAMに供給するように 要求されることがある。その場合には、ISAカード・アイコンは状態を反映す る(「ソフトウェア欠除」装置のアイコンまたは同様なものを介して)。さらに 、ユーザへの警告が生成されてユーザにこの問題を通知する。 ハンドルの継続 この章ではハードウェア設定でマスタ・オブジェクトと関連するハンドルの性 質を説明する。好適実施例によるハードウェア設定フレームワークは全てのクラ イアントに次のような継続したハンドルを提供する:THardwareConfiguration2 04、THardwareModule206、THardwareInterface212、THardwareConnecti on216。 真正および付属ハンドル(Authentic and Dangling Handles) ハンドルは真正および付属の2つの状態の一方を取ることができる。真正ハン ドルはデータベース内のマスタを参照するハンドルである。データベースにマス タを追加することにより、または別の真正ハンドルをコピーすることにより、真 正ハンドルを得ることができる。付属ハンドルはもうデータベース内のマスタを 参照しないハンドルである。付属ハンドルはコピーできるが、クライアントは実 際にマスタを読み書きするために付属ハンドルを使用できない。 ハンドルの遷移 真正状態から付属状態へのハンドル遷移は、次のイベントのいずれかが発生す ると起こる:(1)1つのハンドルが知らないうちに、マスタが別のハンドルに よってデータベースから明確的に削除された場合、または(2)再起動の結果と してマスタがデータベースから暗黙のうちに削除された場合(マスタは非継続と してマークされているため)。付属状態から真正状態へのハンドル遷移は、ハン ドルが真正状態にあった時にハンドルが参照した(古い)マスタと「等価の」新 規マスタをデータベースに追加した時に起こる。等価性については後述する。 ハンドルの等価性 ハードウェア設定ごとに単一のTHardwareConfigurationマスタが暗黙のうちに 継続にマークされる。THardwareConfigurationマスタはデータベースを削除した 時だけ削除される。削除したデータベースを参照するハンドルは永久に付属のま まである。本章の目的では、2つの設定マスタが「等価」であると見なされるこ とはない。一対のTHardwareModuleマスタが「等価である」と見なされるのは、 (1)タイプ属性(THardwareModuleSignature)が同一の値を有する場合、およ び(2)2つのモジュール・マスタの等価なTHardwareInterfaceオブジェクトの 間に一対一のマッピングが存在する場合である。 一対のTHardwareModuleマスタが「等価」であると見なされるのは、(1)同 じTHardwareModuleマスタに属する場合と、(2)「==」と見なされるTHardwa reInterfaceIdentifierを有している場合である。一対のTHardwareConfiguratio nマスタが「等価」であると見なされるのは終点がそれ自体等価な場合である。 ハンドルの並行性 この章では好適実施例においてハードウェア設定フレームワークが提供するハ ンドルの並行の振舞いを説明する。ハードウェア設定フレームワークは全てのク ライアントに次のようなハンドルを提供する:THardwareConfiguration、THardw areModule、THardwareInterface、THardwareConnection。ハンドルは次の場合を 除いてマルチ・スレッド・セーフではない:設定データベース内のマスタについ て演算する(operate)メソッド(参照カウントされるマスタに対向する)が同じ マスタについての他の演算に対してアトミックである場合。実装において、ハン ドルは内部モニタを有していない。参照カウントされるマスタも内部モニタを有 していない。しかし、設定データベース内のマスタでは、一度に多く とも1つの演算がマスタに適用されるように同期を行なう。 クラス インタフェース 図解の目的で、ハードウェア設定フレームワークの選択したクラス(図2参照 )に属するさらなる詳細(例えばハンドルの継続とメンバ関数の機能)について 説明する。特に以下で説明しないクラスについてのこのようなさらなる詳細は本 明細書に含まれる議論に基づいて当業者には明らかになろう。 THardwareConfiguration THardwareConfigurationクラス204はファイルに保存しいつでも復元できる 。ハンドルは消去メソッドを呼び出すまで有効のままになる。THardwareConfigu rationクラス204は以下のような関数を含む。 THardwareConfigurationHandle() 付属ハンドルを構築する。ストリーム化と割り当てのターゲットとして有用。 THardwareConfigurationHandle(const TText& name) マスタTHardwareConfigurationオブジェクトへのハンドルを構築する。マスタ THardwareConfigurationオブジェクトはnameアーギュメントで規定した継続的ハ ードウェア設定を用いて構築され、同時に多くの異るTHardwareConfigurationが 並行に存在でき、このnameを用いてハンドルを独自にそれらを識別する。name空 間はメーカー名をnameアーギュメントの先頭に付属させることにより管理される 。継続的ハードウェア設定が望まれない場合、空のname(“すなわち”)を引き 渡すことで非継続的な参照カウントされるハードウェア設定を作成する。 nameアーギュメントで規定される継続的ハードウェア設定は継続を要求したTH ardwareModuleとTHardwareConfigurationオブジェクトを全て含む。 “Foo”という名前のTHardwareConfigurationHandleに構築した全てのハンド ル は“Foo”という名前の継続的ハードウェア設定の単一のマスタを参照する。 THardwareConfigurationHandle(const THardwareConfigurationHandle& copyF rom) マスタではなくハンドルをコピーする。新規ハンドルはcopyFromで参照される マスタへの参照となる。 THardwareConfigurationHandle & operator=(const THardwareConfigurationH andle& copyFrom) マスタではなくハンドルをコピーする 〜THardwareConfigurationHandle() マスタではなくハンドルを削除する。 void Destroy() このメソッドはこのハードウェア設定内の継続的記憶と全てのマスタオブジェ クトを削除する。このハードウェア設定内の全てのオブジェクトへの前ハンドル はこれ自身を含め付属となる。 void GetAllHardwareModules(TCollection<THardwareModuleHandle>& result)co nst このメソッドはこのハードウェア設定に登録されたハンドル全部をコピーしこ れらをresultアーギュメントで規定した集合に追加する。最初に結果を空にしな い。 コピーされたハンドルはこのメソッドが呼び出された時点でのマスタTHardwar eConfigurationオブジェクトの状態を反映する。マスタTHardwareConfiguration オブジェクトの状態はいつでも変更でき結果を直接反映しない。変更は結果のハ ンドルにより反映される。例えば、マスタをTHardwareConfigurationオブジェク トから削除した全てのハンドルは付属ハン ドルになる。付属状態のハンドルに適用可能な唯一のメソッドは割り当て、コピ ー、またはストリーム化演算子である。付属ハンドルは供給源が付属ではないと ころで割り当てまたはストリーム化のターゲットの時真正ハンドルになる。 void GetHardwareModules(TCollection<THardwareModuleHandle>& result,con st HardwareModuleCategory& desiredKind)const このメソッドはこのハードウェア設定に登録されたdesiredKindのハンドルの 全部をコピーし、resultアーギュメントで規定した集合に追加する。呼び出した 側は格納を行なう。最初に結果を空にしない。 コピーされたハンドルはこのメソッドが呼ばれた時点でのマスタTHardwareCon figurationオブジェクトの状態を反映する。 void AddHardwareModule(THardwareModuleHandle& newHardwareModule) このメソッドはこのハードウェア設定に所与のnewHardwareModuleを追加する 。newHardwareModuleで参照されるマスタTHardwareModuleオブジェクトとnewHar dwareModuleが所有するTHardwareInterfaceHandleオブジェクト全部をハードウ ェア設定に移動することによりこれを行なう。クライアントがnewHardwareModul eが保有する何らかのTHardwareInterfaceHandleへのハンドルを保有する場合、 データベースへの移動を反映するように更新する。 void RemoveHardwareModule(const THardwareModuleHandle& hardwareModule) このメソッドはhardwareModuleで参照されるマスタが保有するTHardwareInter faceオブジェクトのそれぞれの全てのTHardwareConnectionオブジェクトを除去 する。次に、ハードウェア設定からマスタを除去する。マスタはこのハンドルで カウントされる参照となる。マスタを参照する他の全てのハンドルは付属になる 。 TInterest* CreateAnyChangeInterest() このメソッドはハードウェア設定への何らかの変更への関連(interest)を作 成する(ハードウェア設定の何らかのメンバへのあらゆる変更を含む)。このTH ardwareConfigurationオブジェクトにより通知が全ての関連クライアントへ送信 される。クライアントはこのメソッドを直接呼び出して通知のために登録するた めに使用する関連を作成する。 TStream& operator>>=(Tstream& toWhere)const このハンドルが表わすマスタハードウェア設定へ継続参照をストリーム出力す る。 TStream& operator<<=(TStream& fromWhere) マスタハードウェア設定への参照をストリーム入力する。 THardwareModule THardwareModuleHandleをファイルに保存しいつでも復元することができる。 ハンドルはマスタを除去するまで(RemoveHardwareModuleメソッド経由で)有効 のままである。THardwareModuleオブジェクト206は次の関数を含む。 〜THardwareModuleHandle() いずれのハードウェア設定にもない参照カウントのマスタを作成する。 THardwareModuleHandle(const THardwareModuleHandle& copyFrom) マスタではなくハンドルをコピーする。新規ハンドルはcopyFromにより参照さ れるマスタへの参照となる。 THardwareModuleHandle& operator=(const THardwareModuleHandle& copyFrom ) マスタではなくハンドルをコピーする。左側がいずれのハードウェア設定にも ないマスタへの最後の参照の場合には、マスタは削除される。左側のハンドルはcopyFrom により参照されるマスタへの参照となる。 〜THardwreModuleHandle() ハンドルを削除する。これがいずれのハードウェア設定にもないマスタへの最 後の参照の場合にはマスタが削除される。 void GetAllConnectors(TSequence<THardwareInterfaceHandle>&result)const このメソッドはTHardwareModuleが保有するTHardwareInterfaceオブジェクト のハンドルを全部コピーしてresultアーギュメントで規定した集合に追加する。 呼び出し側は記憶を引き受ける。最初に結果を空にしない。コネクタはモジュー ルに追加したのと同じ順序で結果に追加される(すなわち、第1の追加コネクタ はTSequence反復子から返される第1のコネクタになる)。 コピーしたハンドルはこのメソッドが呼ばれた時点のマスタTHardwareModule ブジェクトの状態を反映する。マスタTHardwareModuleオブジェクトの状態はい つでも変更でき直接結果を反映しない。変更は結果のハンドルが反映する。 このメソッドはいつでもクライアントから直接呼び出すことができる。典型的 には、ハードウェア・ビューワー・フレームワークがこのメソッドを呼び出して ハードウェア・モジュール内のコネクタ・オブジェクトを表示しようとするコネ クタ・アイコンに割り当てる。 void GetDefaultConnectors(TSequence<THardwreInterfaceHandle>& result)c onst このメソッドはデフォルト・コネクタとして記録されたTHardwareModuleが保 有するTHardwareInterfaceのハンドルを全部コピーしてresultアーギュメントで 規定した集合に追加する。呼び出し側は記憶を引き受ける。最初に結果を空にし ない。コネクタはモジュールへ追加されたのと同じ順序で結果に追加される。 コピーしたハンドルはこのメソッドが呼び出された時点のマスタTHardwareMod uleオブジェクトの状態を反映する。このメソッドはいつでもクライアントが直 接呼び出すことができる。 void AddConnector(const THardwareInterfaceHandleY newConnector,Booleani sDefault=FALSE) このメソッドはnewConnectorで参照されるマスタのTHardwareInterfaceオブジ ェクトをTHardwareModuleマスタへ移動する。isDefaultアーギュメントが真の場 合には、newConnectorがデフォルト・コネクタとして記録される。 このメソッドは手動でTHardwareModuleオブジェクトを消去状態(scratch)から 構築する場合に呼び出されるのが典型的である。 void RemoveConnector(const THardwareInterfaceHandle& connector) このメソッドは所与のconnectorに関連した全ての接続を除去する。次に、con nectorアーギュメントで規定したマスタをハードウェア設定から除去する。マス タはハンドルでカウントされる参照になる。マスタを参照する他の全てのハンド ルは付属になる。 void GetSignature(HardwareModuleSignature& signature)const このTHardwareModuleオブジェクトが表わす装置の種類を表わすパーソナリテ ィ・ニュートラル・エンティティをsignatureアーギュメントにコピーする。こ のパーソナリティ・ニュートラル・エンティティはパーソナリティ依存オブジェ クト(例えばプレゼンテーション・オブジェクト)を作成するために使用できる 。このメソッドはいつでもクライアントから直接呼び出すことができる。典型的 には最初にこのハードウェア・モジュールにプレゼンテーション・オブジェクト を構築する場合にコンピュータ・ビューワーがこのメソッドを呼び出す。 void SetSignature(const HardwareModuleSignature &) このTHardwareModuleオブジェクトが表わす種類を設定する。このメソッドは 消去状態からTHardwareModuleオブジェクトを手動で構築する場合に呼び出され 、まれにクライアントから直接呼び出される。 void GetCategories(TCollection<HardwareModuleCategory>&result)const このメソッドはTHardwareModuleが保有するHardwareCategoryオブジェクトを 全部コピーしてresultアーギュメントで規定した集合に追加する。呼び出し側が 保存を引き受ける。最初に結果を空にしない。 反復子はこのメソッドが呼び出された時点のマスタTHardwareModuleオブジェ クトの状態を反映する。このメソッドはいつでもクライアントから直接呼び出す ことができる。 void AddCategory(const HardwareModuleCategory& category) このハードウェア・モジュールの分類リストの最後にcategoryアーギュメント を追加する。このメソッドは消去状態からTHardwareModuleオブジェクトを手動 で構築する場合に呼び出され、まれにクライアントから直接呼び出される。 void DeleteCategory(constHardwareModuleCategory& category) categoryアーギュメントで規定したHardwareModuleCategoryオブジェクトをマ スタTHardwareModuleから削除する。 Boolean IsRoot() const THardwareModuleオブジェクトがこれのTHardwareConfigurationの中心装置の 場合に真を返す。各THardwareConfigurationオブジェクトは1つのroot装置を有 する。パーソナル・コンピュータでは、コンピュータを表わすTHardwareModule ブジェクトがrootである。 void SetRoot(Boolean) 所与のアーギュメントの値に「root」属性を設定する。このメソッドは消去状 態からTHardwareModuleオブジェクトを手動で構築する場合に呼び出され、まれ にクライアントから直接呼び出される。 Boolean IsInternal() const THardwareModuleオブジェクトがrootのTHardwareModule内部に配置されている 場合に真を返す。このメソッドは設定ビューワーから呼び出されて、root装置の 内側または外側に装置を描画すべきかを決定する。例えば、Macintoshの内蔵H Dはコンピュータの「内部」である。 void SetInternal(Boolean) 所与のアーギュメントの値に「内部」属性を設定する。このメソッドはTHardw areModuleオブジェクトを消去状態から手動で構築する場合に呼び出され、クラ イアントから直接まれに呼び出される。 Boolean WantsPersistence() const マスタTHardwareConfigurationオブジェクトを復元した時にTHardwareModule ブジェクトがハードウェア設定フレームワークに自動的に装置を復元させたい場 合真を返す。このメソッドは典型的にはハードウェア設定フレームワークにより (すなわち、ハードウェア設定フレームワークのオブジェクトにより呼び出され る)呼び出される。 void SetWantsPersistence(Boolean) 所与の属性の値に"WantsPersistence"属性を設定する。このメソッドはTHardw areModuleオブジェクトを消去状態から手動で構築する場合に呼び出され、クラ イアントから直接まれに呼び出される。 TStream& operator>>=(Tstream& toWhere)const マスタTHardwareModuleオブジェクトがハードウェア設定内にある場合、この メソッドは継続参照をストリーム出力する。それ以外の場合、このメソッドはコ ネクタを含むが接続を含まないマスタのコピーをストリーム出力する。 TStream& operator<<=(Tstream& fromWhere)const THardwareModuleHandleにストリーム入力する。fromWhereアーギュメントのオ ブジェクトがハードウェア設定内にある場合には、このメソッドは継続参照をス トリーム入力する。それ以外の場合には、コネクタを含むマスタをストリーム入 力する。 THardwareInterface THardwareInterfaceHandleはファイルに保存しいつでも復元できる。ハンドル はマスタを除去するまで有効である。THardwareInterfaceオブジェクト212は 次の関数を含む。 THardwareInterfaceHandle() どのハードウェア設定にもない参照カウントのマスタを作成する。 THardwareInterfaceHandle(const THardwareInterfaceHandle& copyFrom) マスタではなくハンドルをコピーする。新規ハンドルはcopyFromにより参照さ れるマスタへの参照になる。 THardwareINterfaceHandle& operator=(const THardwareINterfaceHandle& copy From) マスタではなくハンドルをコピーする。左側がいずれのハードウェア設定にも ないマスタへの最後の参照の場合には、マスタが削除される。左側ハンドルはco pyFrom により参照されるマスタへの参照になる。 〜THardwareInterfaceHandle() ハンドルを削除する。これがどのハードウェア設定にもないマスタへの最後の 参照の場合、マスタが削除される。 THardwareModuleHandle getOwner() const THardwareInterfaceオブジェクトが属するTHardwareModuleオブジェクトへハ ンドルを返す。このメソッドは典型的にはハードウェア設定ビューワーが呼び出 す。 void GetAllConnections(TCollection<THardwareConnectionHandle>& result)co nst このメソツドはTHardwareInterfaceに関連するTHardwareConfigurationHandle オブジェクト全部をコピーしてresultアーギュメントで規定した集合に追加する 。呼び出し側が保存を引き受ける。最初に結果を空にしない。 コピーしたハンドルはこのメソッドが呼び出された時のマスタTHardwareInter faceオブジェクトの状態を反映する。このメソッドは典型的にはハードウェア設 定ビューワーから呼び出される。 void DeleteConnection(const THardwareInterfaceHandle& otherEnd) このメソッドはこのオブジェクトとotherEndで規定したTHardwareConfigurati onオブジェクトをハードウェア設定から削除する。マスタTHardwareConfigurati onオブジェクトを参照する全てのハンドルは付属になる。 void DeleteAllConnections() このメソッドはTHardwareInterfaceオブジェクトからTHardwareConfiguration を全部削除する。削除されたマスタTHardwareConfigurationオブジェクトを参照 する全てのハンドルは付属になる。このメソッドは典型的にはハードウェア設定 ビューワー・フレームワークから呼び出される。 THardwareInterfaceIdentifier* CopyHardwareInterfaceIdentifier() const このコネクタが表わすオブジェクト、すなわち、実際に物理ハードウェア要素 を識別するオブジェクトへポインタを返す。呼び出し側が返り値の記憶を引き受 ける。 void SetHardwareINterfaceIdentifier(const THardwareInterfaceIdentifier&) 所与のアーギュメントの値に"InterfaceIdentifier"属性を設定する。このメ ソッドはTHardwareModuleオブジェクトを消去状態から手動で構築する場合に呼 び出され、クライアントから直接まれに呼び出される。 short GetMaxConnections() const このコネクタで許容される接続の最大数を返す。この値が1より大きい場合に は、コネクタはバス(例えばSCSI、ADB)を表わす。このメソッドは接続 ネゴシエーション中にハードウェア設定ビューワーから典型的に呼び出される。 void SetMaxConnections(short) 所与のアーギュメントの値に"MaxConnections"属性を設定する。このメソッド はTHardwareModuleオブジェクトを消去状態から手動で構築する場合に呼び出さ れ、クライアントから直接まれに呼び出される。 ETransmissionMode GetMode() const このコネクタによりサポートされている転送モードを返す。このメソッドは典 型的には接続ネゴシエーション中にハードウェア設定ビューワーから呼び出され る。 void SetMode(ETransmissionMode) 所与のアーギュメントの値に"TransmissionMode"属性を設定する。このメソッ ドはTHardwareModuleオブジェクトを消去状態から手動で構築する場合に呼び出 され、クライアントから直接まれに呼び出される。 Boolean WantsPersistentConnections() const マスタTHardwareConfigurationオブジェクトを復元した時にTHardwareInterfa ceオブジェクトがハードウェア設定フレームワークに接続を自動復元させたい場 合に真を返す。接続を形成するいずれかのコネクタがこの要求を行なう場合に接 続が復元される。 void SetWantsPersistentConnections(Boolean) 所与のアーギュメントの値に"WantsPersistentConnections"属性を設定する。 このメソッドはTHardwareModuleオブジェクトを消去状態から手動で構築する場 合に呼び出され、クライアントから直接まれに呼び出される。 Boolean IsReconfigurable() const このTHardwareInterfaceオブジェクトで表わされるハードウェアが再設定をサ ポートできる場合に真を返す。これは実際に再設定を実行するために現在サービ スが利用できることを表わすものではない。この属性は最適化(optimization) したものになる。 void SetWAntsReconfiguration(Boolean) 所与のアーギュメントの値に"WantsReconfiguration"属性を設定する。このメ ソッドはTHardwareModuleオブジェクトを消去状態から手動で構築する場合に呼 び出され、クライアントから直接まれに呼び出される。 void GetCategories(TCollection<HardwreInterfaceCategory>& result)const このTHardwareInterfaceが保有するHardwareCategoryオブジェクトの全部をコ ピーしてresultアーギュメントで規定した集合に追加する。呼び出し側が保存を 引き受ける。これは最初に結果を空にしない。 反復子はこのメソッドが呼び出された時点のマスタTHardwareInterfaceオブ ジェクトの状態を反映する。このメソッドはいつでもクライアントから直接呼び 出すことができる。 void AddCategory(const HardwareInterfaceCategory& category) categoryアーギュメントをこのハードウェア・インタフェースの分類リストの 最後に追加する。このメソッドはTHardwareModuleオブジェクトを消去状態から 手動で構築する場合に呼び出され、クライアントから直接まれに呼び出される。 void DeleteCategory(const HardwareInterfaceCategory& category) categoryアーギュメントで規定したHardWareInterfaceCategoryオブジェクト をマスタTHardwareInterfaceから削除する。 TStream& operator>>=(TStream& toWhere)const マスタTHardwareInterfaceオブジェクトがハードウェア設定内にある場合には このメソッドが継続参照をストリーム出力する。それ以外ではこのメソッドはマ スタのコピーをストリーム出力する。 TStream& operator<<=(TStream& fromWhere) THardwareInterfaceHandleをストリーム入力する。fromWhereアーギュメント のオブジェクトがハードウェア設定内にある場合にはこのメソッドは継続参照を ストリーム入力する。それ以外ではこのメソッドはマスタをストリーム入力する 。 THardwareConnectionHandle THardwareConnectionHandleをファイルに保存していつでも復元できる。ハン ドルはマスタが除去されるまで有効である。THardwareConnectionオブジェクト 216は次の関数を含む。 THardwareConnectionHandle() 付属ハンドルを作成する。ストリーム化と割り当てのためのターゲットとして 有用。 THardwareConnectionHandle(const THardwareInterfaceHandle& toConnector, const THardwareInterfaceHandle& fromConnector) ハードウェア設定内にはない参照カウントのマスタを作成する。 THardwareConnectionHandle(const THardwareConnectionHandle& copyFrom) マスタではなくハンドルをコピーする。新規ハンドルはcopyFromにより参照さ れるマスタへの参照になる。 THardwareConnectionHandle& operator=(const THardwareConnection Handle& c opyFrom) マスタではなくハンドルをコピーする。左側がどのハードウェア設定にもない マスタへの最後の参照の場合にはマスタが削除される。左側のハンドルはcopyFr om により参照されるマスタへの参照になる。 〜THardwareConnectionHandle() ハンドルを削除する。これがどのハードウェア設定にもないマスタへの最後の 参照の場合にはマスタが削除される。 void Add() このメソッドはハードウェア設定内にマスタTHardwareInterfaceConnectionオ ブジェクトを移動する。Add()が呼び出されるまでコネクタはこの接続が見えな い。 void Remove() このメソッドはAddが行なった結果を逆にする。マスタTHardwareConnection オブジェクトはハードウェア設定から削除される。マスタはこのハンドルでカウ ントされる参照になる。マスタを参照する他の全てのハンドルは付属になる。こ のメソッドはハードウェア設定ビューワーから典型的に呼び出される。 THardwareInterfaceHandle GetOtherEnd(const THardwareInterfaceHandle& thi sEnd)const thisEndで規定したTHardwareInterfaceHandleが与えられると、このメソッド は他端にTHardwareInterfaceHandleを返す。 EConnectionKind getKind() const THardwareConnectionオブジェクトが表わす接続の種類を返す。接続は自動ま たは手動で有り得る。自動接続はシステムが行なう。手動接続はユーザが行なう 。これら2種類の接続を識別できることが重要である。このメソッドはハードウ ェア設定フレームワークから典型的に呼び出される。 void SetKind(EConnectionKind) 所与のアーギュメントの値に"kind"属性を設定する。このメソッドはTHardwar eModuleオブジェクトを消去状態から手動で構築する場合に呼び出され、クライ アントから直接まれに呼び出される。 Boolean IsPersistent() const このTHardwareConnectionオブジェクトのいずれかのコネクタが継続接続を希 望する場合に真を返す。このメソッドは典型的にはハードウェア設定フレームワ ークから呼び出される。 TStream& operator>>=(TStream& toWhere)const ハードウェア設定内にある場合にはこのメソッドは継続参照をストリーム入力 する。それ以外ではマスタのコピーをこのメソッドがストリーム出力する。 TStream& operator<<=(TStream& fromWhere) THardwareConnectionHandleをストリーム入力する。fromWhereアーギュメント のオブジェクトがハードウェア設定内にある場合にはこのメソッドは継続参照を ストリーム入力する。それ以外ではマスタをストリーム入力する。 TPartLocator TPartLocatorは保存できない。TPartLocatorオブジェクト218は次のメンバ 関数を含む。 TPartLocator(const HardwareModuleCategory& theCompartment) theCompartmentにより規定されたプロトタイプ(すなわちパーツ)のハードウ ェアモジュール全部を見つけることができるパーツ・ロケータを作成する。この コンストラクタで唯一予想されるクライアントはTPartsBinである。TPartsBinパ ーツ・ビンが有する全ての区画(すなわち、トレイ、ビン、タブ、等)にロケー タを1つ作成する。 Boolean FindAll(TCollection<THardwareModuleHandle>& theResult) このメソッドはFSEntities、すなわち、この区画には入ることを希望するパー ツとして自身を識別するFSEntities全部を検出する。ロケートされたファイルか らTHardwareModuleHandle全部を復元しこれをtheResultにより規定した所与の集 合に追加する。呼び出し側が保存を引き受ける。最初に結果を空にはしない。な にかを見つけた場合に真を返す。パーツ・ビンは特定の区画の内容を表示(また は表示準備)する必要がある時にこれを呼び出す。 THardwareModuleHandle FindOne(const TText& theName) このメソッドはHardWareModuleSignatureがtheNameに一致する区画に「インス トールされた」THardwareModuleHandleを返す。 TInterest* CreateAddedInterest() このメソッドはこの区画に属するいずれかの部分の追加の通知に関して登録す るためにクライアントが使用する関連を作成する。クライアントは結果の保存を 引き受ける。このメソッドで唯一予想されるクライアントはTPartsBinである。T PartBinはFindAllを呼び出す直前にこのメソッドを呼び出し、利用できるパーツ の最新表示を確保できる。 TInterest* CreateRemovedInterest() このメソッドはこの区画に属するいずれかの部分の削除の通知に関して登録す るためにクライアントが使用する関連を作成する。クライアントは結果の保存を 引き受ける。このメソッドで唯一予想されるクライアントはTPartsBinである。T PartBinはFindAllを呼び出す直前にこのメソッドを呼び出し、利用できるパーツ の最新表示を確保できるようにする。 TPartsBin TPartsBinオブジェクトは保存できない。TpartsBin220は次のメンバ関数を 含む。 TPartsBin() 空のパーツ・ビンを構築する。 TPartsBin(const TPartLocator& copyFrom) copyFromが保有するTPartLocatorを全部TPartsBinにコピーする。 void GetAllPartLocators(Tcollection<TPartLocator>& result)const このメソッドはこのパーツ・ビンのTPartLocatorオブジェクトを全部コピーし てresultアーギュメントにより規定した集合に追加する。呼び出し側が保存を引 き受ける。これは最初に結果を空にしない。 パーツ・ビン・オブジェクトの内容はいつでも変更可能であるが、反復子がこ れを直接反映することはない。このメソッドはクライアントからいつでも直接呼 び出すことができる。このメソッドで唯一予想されるクライアントはパーツ・ビ ン・ビューワーである。全ての保有するパーツ・ロケータにアイコン(および名 前)を表示する。それぞれのパーツ・ロケータはビパーツ・ビンのタブを表わす 。さらに、タブをユーザが選択した時、パーツ・ビン・ビューワーはその区画の パーツを全部表示する。 TPartLocator GetPartLocator(const HardwareModuleCategory& desired Compar tment) const このパーツ・ビンにあるdesiredCompartementのTPartLocatorを返す。このメ ソッドはクライアントからいつでも直接呼び出すことができる。 void AddCompartmentFor(const HardwareModuleCategory& compartment) このメソッドはこのパーツ・ビンについてcompartmentアーギュメントにより 規定した区画の種類についてTPartLocatorオブジェクトを作成する。このメソッ ドはクライアントからいつでも直接呼び出すことができる。このメソッドで唯一 予想されるクライアントはパーツ・ビン・ビューワーである。パーツ・ビン・ビ ューワーはどの分類を表示しようとするか決定できる。 void RemoveCompartment(const HardwareModuleCategory& compartment) このメソッドはこのパーツ・ビンについてcompartmentアーギュメントにより 規定した区画の種類についてTPartLocatorオブジェクトを削除する。このメソッ ドで唯一予想されるクライアントはパーツ・ビン・ビューワーである。 TInterest* CreateAddedInterest() このメソッドは新規の全てのパーツ・ロケータの追加通知をクライアントが登 録するために使用する関連を作成する。このメソッドで唯一予想されるクライア ントはパーツ・ビン・ビューワーである。パーツ・ビン・ビューワーは GetAllPartLocatorsを呼び出す直前にこのメソッドを呼び出して、利用できる区 画の最新表示ができる。 TInterest* CreateRemovedInterest() このメソッドは既存のパーツ・ロケータの削除通知をクライアントが登録する ために使用する関連を作成する。このメソッドで唯一予想されるクライアントは パーツ・ビン・ビューワーである。パーツ・ビン・ビューワーはGetAllPartLoca torsを呼び出す直前にこのメソッドを呼び出して、利用できる区画の最新表示が できるようにする。 好適実施例による各種実施例を上記で説明したが、これらは例として示したも のであって本発明を制限するものではないことを理解すべきである。つまり、好 適実施例による幅と範囲は前述の例示としての実施例のいずれかで制限されるべ きではなく、添付の請求項とその等価物によってのみ定義されるべきである。
【手続補正書】特許法第184条の8 【提出日】1995年12月8日 【補正内容】 (原文明細書第1頁) 明細書 ハードウェア設定のためのオブジェクト指向システムおよび方法 発明の背景 発明の分野 本発明は一般にコンピュータ・システムのハードウェアを設定に関し、さらに 詳しくはコンピュータ・システム内のハードウェアを設定するためのオブジェク ト指向システムおよびその方法に関する。 関連技術 「ハードウェア設定(haradware configuration)」と言うフレーズは多くの意 味がある。コンピュータ・システムのユーザの側から見ればハードウェア設定は 一般にユーザに見えるコンピュータ要素を設定することを表わす(これはユーザ 指向のハードウェア設定と呼ばれる)。これにはマウスのダブルクリック速度の 設定、ディスクドライブのフォーマット、モデムをシリアル・ポートに接続する 、または既存の接続を変更するなどの作業が含まれる。 コンピュータ・システムの入出力(I/O)ドメインでは、ハードウェア設定 は集積回路(IC)やその他の低レベル・ハードウェア資源の制御または調節を 行なう低レベルのサービスを表わす(これはI/Oハードウェア設定と呼ばれる )。 「システム設定手段を含むデータ処理システム」と題するヨーロッパ特許出願 第0398644号ではオブジェクト指向データベースを使用してオペレーティ ング・システムを設定するための手段を開示している。この出願では初期プログ ラム読み込み(IPL)とシステム設定を調節する目的でのカーネル再構築を最 小限にするための動的に設定可能なシステムを開示している。これは、デバイス ドライバとカーネルとをIPLの間に動的な結合/結合解除を実行するための手 段を提供することにより実現している。この出願はクラス階層を使用しないシス テムを開示している。むしろ装置情報は主設定データベース15(図1)に保存 される。参照ではデータベースを「オブジェクト指向」と説明しているが、それ らはオブジェクトの「オブジェクトに基づいた」集合である。第1のオブジェク ト・クラスは予め定めたオブジェクトクラス300(図1)であってハードウェ ア「世界」で全ての考えられるハードウェア装置を表わすオブジェクトを含む。 またカスタマイズしたオブジェクト・クラス500であって特定システムで実際 の装置設定を表わすように調整された一組の適当な予め定めたオブジェクトから 構成される第2のオブジェクト・クラスも開示している(すなわち、ハードウェ ア世界から使用される実際の装置を表わしている)。 システムIPLの間で、設定マネージャ10(図1)は物理的ハードウェア・ システムを調べてシステムに接続された各装置を特定する。ハードウェア要素が 見つかったがカスタマイズされたオブジェクト・クラス500に反映されていな い場合、設定マネージャ10は予め定めた装置オブジェクト・クラス300にア クセスして新規ハードウェア要素を表わすオブジェクトクラスを見つけだし、い わゆるオブジェクトの定義メソッドを起動して予め定めたクラス300からオブ ジェクトのインスタンスを定義する。設定マネージャは適切な属性を全て備えて カスタマイズされたクラス500のオブジェクト・インスタンスを示す。 事実、システムは予め定めたデータベース内にそれぞれが可能なハードウェア 装置のためのクラス情報が存在することに依存している。クラス階層が存在しな いので、毎回新規装置を予め定めたデータベースへ追加しなければならない。こ のたびにクラス情報を「消去状態から」定義する必要がある。 ヨーロッパ特許出願第0374512号はクライアント・プログラムにモニタ しているオブジェクト指向データベースの変更を通知する手段を開示している。 参照はオブジェクト・データベース・システム内のオブジェクトの属性値の変更 をモニタする方法に関係する。クライアント・アプリケーション・プログラムは システムにオブジェクトの属性をモニタするように要求する。特定の属性をモニ タすることを要求するクライアントだけが属性の変化を通知される。さらに、参 照は物理的接続を表わすためのハードウェア・インタフェース・オブジェクトの 使用とコネクタ・オブジェクトの使用に関して何も開示していない。 本発明は主としてユーザ指向のハードウェア設定に関するが、その他のハード ウェア設定のタイプ例えばI/Oハードウェア設定等にも応用できる。従来のコ ンピュータ・システムはハードウェア設定作業を多くの異なるアプリケーション に分散している。例えば、周知のアップル社製マッキントッシュ・コンピュータ ではStyleWriterというプリンタをモデム・ポートへ接続するためにはChooserい うアプリケーションを使用する必要がある。モデムをモデム・ポートへ接続する には、通信アプリケーション(例、MacTerminal)を使用しなければならない。 アップル社製SCSIドライブ装置を設定するには、「Apple HD SC Setup」という アプリケーションを使用する必要がある。マウスのダブルクリック速度を調節す るには、コントロールパネル・フォルダ内のマウス・コントロールパネルを使用 する必要がある。理解されようが、ユーザにはどこにこれらの設定アプリケーシ ョンが格納されているかを追跡するのが困難である。また、ユーザが特定の資源 を設定するためにどの設定アプリケーションが必要かを記憶するのは困難である 。 ユーザはコンピュータに何らかの装置の場所を指示する必要がある(つまり、 コンピュータにその装置がどこでどのようにコンピュータへ接続されているかを 教える必要がある)。これらの装置は手動接続装置または手動設定装置と呼ばれ 、ハードウェア設定に関して特に注意が必要である。 請求の範囲 1.コンピュータシステム(102)内でハードウェア(104,110,11 2,114,116,118)の集中ユーザ設定を可能にするオブジェクト指向 ハードウェア設定システムにおいて、 その各々がハードウェア装置の物理的コネクタ(212,412,414,4 16)を表す複数のオブジェクト指向ハードウェア・インタフェース・オブジェ クトと、 その各々がハードウェア装置、すなわち、ユーザ設定が可能で該ハードウェア 装置に関連の1またはそれより多いハードウェア・インタフェース・オブジェク トを有し、前記ハードウェア装置のコネクタが定義さている(図5)ハードウェ ア装置を表す複数のオブジェクト指向ハードウェア・モジュール・オブジェクト とを含み、 その各々が前記複数のハードウェア・インタフェース・オブジェクト(図6) の2つの間の物理的接続を表す複数のコネクタ・オブジェクトと、 複数のハードウェア・モジュール・オブジェクトを有するオブジェクト指向ハ ードウェア設定オブジェクト(204)であって、前記複数のハードウェア・モ ジュール・オブジェクトは特定のコンピュータ・システムに接続されたハードウ ェア装置を表し、該特定のコンピュータ・システムでは該特定のコンピュータ・ システムの特定のハードウェア設定を定義するオブジェクト指向ハードウェア設 定オブジェクトと、 前記特定のコンピュータ・システムのハードウェア設定の変更を、前記ハード ウェア設定オブジェクト(204〜224)内の変更の通知を関連のクライアン トに転送することにより前記関連のクライアントに通知する手段であって、前記 設定システムは前記ハードウェア・設定オブジェクト(図3,図7A)に対して ユーザアクセスを可能として、前記特定のコンピュータ・システム(図7B)に 接続されたハードウェア装置を設定し、複数のコネクタ・オブジェクトを持つハ ードウェア装置を表す手段と を具えたことを特徴とするオブジェクト指向ハードウェア設定システム。 2.前記特定のコンピュータシステムのハードウェア設定内の変更を関連のクラ イアントに通知し、前記ハードウェア設定オブジェクト内の変更の通知を前記ク ライアントに転送することによりハードウェア装置間の接続を変更する手段をさ らに含むことを特徴とする請求項1に記載のハードウェア設定システム。 3.前記ハードウェア・モジュール・オブジェクトは装置クラスに属し、前記複 数のハードウェア・モジュール・オブジェクトの各々はオブジェクト指向ハード ウェア・モジュール・シグニチャー・オブジェクト、すなわち、ハードウェア・ モジュール・オブジェクトが属する前記装置クラスを識別するオブジェクト指向 ハードウェア・モジュール・シグニチャー・オブジェクトを含むことを特徴とす る請求項1に記載のハードウェア設定システム。 4.前記複数のハードウェア・モジュール・オブジェクトの各々は各ハードウェ ア・モジュール・オブジェクトが表すことができる装置タイプを識別するための オブジェクト指向ハードウェア・モジュール分類オブジェクトを含むことを特徴 とする請求項1に記載のハードウェア設定システム。 5.前記装置タイプはモニタタイプ、プリンタタイプ、キーボードタイプ、ポイ ンティングデバイスタイプ、モデムタイプ、カードタイプ、ディスクドライブタ イプ、スキャナタイプおよびファクシミリ装置タイプを含むことを特徴とする請 求項4に記載のハードウェア設定システム。 6.前記複数のハードウェア・インタフェース・オブジェクトは装置コネクタタ イプを識別するためのオブジェクト指向ハードウェア・インタフェース分類オブ ジェクトを有し、該装置コネクタタイプはハードウェア・インタフェース・オブ ジェクトが表すことができることを特徴とする請求項1に記載のハードウェア設 定システム。 7.前記コネクタタイプはシリアルコネクタタイプ、パラレルコネクタタイプ、 ビデオコネクタタイプ、MIDIコネクタタイプ、ADBコネクタタイプ、SC SIコネクタタイプおよびスロットコネクタタイプを含むことを特徴とする請求 項6に記載のハードウェア設定システム。 8.前記複数のハードウェア・インタフェース・オブジェクトの各々はコンピュ ータシステム・インターフェース・ポートを表すことを特徴とする請求項1に記 載のハードウェア設定システム。 9.コンピュータ・システムを手動設定し、該コンピュータ・システムはメモリ 手段および複数のハードウェア要素を有し、該ハードウェア要素の各々は少なく とも1つのコネクタを有しており、また、ハードウェア階層中で接続される方法 において、 (a)前記メモリ手段の中に複数のマシン・クラスおよびサブクラスを定義す るクラス情報を格納し、当該複数のマシン・サブクラスの各々は前記複数のハー ドウェア要素の1つに対応し、前記複数のマシン・クラスおよびサブクラスをオ ブジェクト指向階層中でアレンジするステップと、 (b)前記メモリ手段に複数のコネクタおよびサブクラスを定義するクラス情 報を格納し、複数のハードウェア要素の1つまたはそれより多いハードウェア要 素上の物理的コネクタに対応する2つのハードウェア・インタフェース・オブジ ェクトを接続するためのコネクタを当該複数のコネクタ・サブクラスの各々によ り定義するステップと、 (c)第1の複数のハードウェア要素を識別するステップと、 (d)前記オブジェクト指向階層から第1のマシン特有オブジェクトをインス タンス化して第1のハードウェア要素を表すステップと、 (e)前記第1のマシン特有オブジェクトを介して前記第1のハードウェア要 素上の各物理的コネクタのためのハードウェア・インタフェース・オブジェクト を多態的にインスタンス化するステップと、 (f)第2の複数のハードウェア要素を識別するステップと、 (g)第2のマシン特有オブジェクトをオブジェクト指向階層から多態的にイ ンスタンス化して前記第2のハードウェア要素を表すステップと、 (h)前記第2のマシン特有オブジェクトを介して前記第2のハードウェア要 素上の各物理的コネクタのためのハードウェア・インタフェース・オブジェクト をインスタンス化するステップと、 (i)前記第1および第2のマシン特有オブジェクトを介して前記第1および 第2のハードウェア装置を設定するステップと (j)前記第1のマシン特有オブジェクト内のハードウェア・インタフェース ・オブジェクトからの信号および前記第2のマシン特有オブジェクト内のハード ウェア・インタフェース・オブジェクトからの信号に応答して前記第1のハード ウェア要素および前記第2のハードウェア要素の間の物理的接続を表すコネクタ ・オブジェクトを多態的にインスタンス化するステップと を具えたことを特徴とする方法。 10.ハードウェア装置間の接続における変更に対して前記ハードウェア設定オ ブジェクト内の変更の通知を関連のクライアントに転送することにより前記特定 のコンピュータ・システムのハードウェアの設定の変更を関連のクライアントに 通知するステップをさらに具えたことを特徴とする請求項9に記載の方法。 11.前記ハードウェア・モジュール・オブジェクトの各々は装置クラスに属し 、オブジェクト指向ハードウェア・モジュール・シグニチャー・オブジェクトを 介して前記ハードウェア・モジュール・オブジェクトが属する装置クラスを識別 するステップをさらに具えたことを特徴とする請求項10に記載の方法。 12.前記複数のハードウェア・モジュール・オブジェクトはオブジェクト指向 ハードウェア・モジュール分類オブジェクトを含み、前記複数のハードウェア・ モジュール・オブジェクトの各々により表すことが可能な装置タイプを識別する ステップをさらに具えたことを特徴とする請求項11に記載の方法。 13.前記複数のハードウェア・インタフェース・オブジェクトの各々はオブ ジェクト指向ハードウェア・インタフェース分類オブジェクトを含み、前記複数 のハードウェア・インタフェース・オブジェクトの各々により表すことが可能な 装置タイプを識別するステップをさらに具えたことを特徴とする請求項12に記 載の方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CN,CZ,DE,DK,ES,FI,G B,HU,JP,KP,KR,KZ,LK,LU,LV ,MG,MN,MW,NL,NO,NZ,PL,PT, RO,RU,SD,SE,SK,UA,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータ・システム内においてハードウェアの集中ユーザ設定を可能に するためのオブジェクト指向ハードウェア設定システムにおいて、 それぞれがハードウェア装置の物理コネクタを表わす複数のオブジェクト指向 ハードウェア・インタフェース・オブジェクトと、 それぞれが前記ハードウェア装置、すなわち、ユーザによる設定が可能で該ハ ードウェア装置に関連した1つまたはそれ以上のハードウェア・インタフェース ・オブジェクトを含み、該ハードウェア装置のコネクタが定義された前記ハード ウェア装置を表わす複数のオブジェクト指向ハードウェア・モジュール・オブジ ェクトと、 特定のコンピュータ・システムに接続されたハードウェア装置を表わす複数の ハードウェア・モジュール・オブジェクトを含み、ハードウェア設定オブジェク トが前記特定のコンピュータ・システムのハードウェア設定を定義するオブジェ クト指向ハードウェア設定オブジェクトと、 前記特定のコンピュータ・システムに接続されたハードウェア装置を設定する ために前記ハードウェア設定オブジェクトにユーザがアクセス可能とするための 手段と を含むことを特徴とするオブジェクト指向ハードウェア設定システム。 2.関連のクライアントへ前記ハードウェア設定オブジェクトにおける変更の通 知を送信することにより前記関連のクライアントに前記特定のコンピュータ・シ ステムのハードウェア設定の変化を通知するための手段をさらに含むことを特徴 とする請求項1に記載のハードウェア設定システム。 3.前記ハードウェア・モジュール・オブジェクトは装置クラスに属し、該ハー ドウェア・モジュール・オブジェクトは前記装置クラスを識別するためのオブジ ェクト指向ハードウェア・モジュール・シグニチャ・オブジェクトを含むことを 特徴とする請求項1に記載のハードウェア設定システム。 4.前記ハードウェア・モジュール・オブジェクトは該ハードウェア・モジュー ル・オブジェクトが表わすことのできる装置タイプを識別するためのオブジェク ト指向ハードウェア・モジュール分類オブジェクトを含むことを特徴とする請求 項1に記載のハードウェア設定システム。 5.前記装置タイプはモニタタイプ、プリンタタイプ、ポインティング・デバイ スタイプ、モデムタイプ、カードタイプ、ディスクドライブタイプ、スキャナタ イプ、ファクシミリ装置タイプを含むことを特徴とする請求項4に記載のハード ウェア設定システム。 6.前記ハードウェア・インタフェース・オブジェクトは前記ハードウェア・イ ンタフェース・オブジェクトが表わすことのできる装置コネクタタイプを識別す るためのオブジェクト指向ハードウェア・インタフェース分類オブジェクトを含 むことを特徴とする請求項1に記載のハードウェア設定システム。 7.前記装置コネクタタイプはシリアル・コネクタタイプ、パラレル・コネクタ タイプ、ビデオ・コネクタタイプ、MIDIコネクタタイプ、ADBコネクタタ イプ、SCSIコネクタタイプ、スロット・コネクタタイプを含むことを特徴と する請求項6に記載のハードウェア設定システム。 8.前記ハードウェア・インタフェース・オブジェクトはコンピュータ・システ ム・インタフェース・ポートを表わすことを特徴とする請求項1に記載のハード ウェア設定システム。 9.前記ハードウェア・インタフェースオブジェクトと、前記ハードウェア・モ ジュール・オブジェクトと、前記ハードウェア設定オブジェクトとはオブジェク ト指向フレームワークを形成する関連オブジェクト指向クラスのインスタンスで あることを特徴とする請求項1に記載のハードウェア設定システム。 10.コンピュータと、前記コンピュータに接続された複数のユーザ設定可能な ハードウェア装置と、前記コンピュータで実行し、前記ハードウェア装置の集中 ユーザ設定を可能にするためのオブジェクト指向ハードウェア設定システムとを 含むコンピュータ・システムにおいて、 前記オブジェクト指向ハードウェア設定システムは、 それぞれがハードウェア装置の物理コネクタを表わす複数のオブジェクト指向 ハードウェア・インタフェース・オブジェクトと、 それぞれが前記ハードウェア装置、すなわち、ユーザによる設定可能で該ハー ドウェア装置に関連した1つまたはそれ以上のハードウェア・インタフェース・ オブジェクトを含み、該ハードウェア装置のコネクタが定義された前記ハードウ ェア装置を表わす複数のオブジェクト指向ハードウェア・モジュール・オブジェ クトと、 前記ハードウェア・モジュール・オブジェクトを含むオブジェクト指向ハード ウェア設定オブジェクトを含み、前記ハードウェア設定オブジェクトが前記コン ピュータ・システムのハードウェア設定を定義し、 前記ハードウェア装置を設定するための前記ハードウェア設定オブジェクトに ユーザがアクセス可能とする手段と を含むことを特徴とするコンピュータシステム。 11.前記ハードウェア設定システムは関連のクライアントに前記ハードウェア 設定オブジェクトにおける変更通知を送信することにより前記コンピュータ・シ ステムの前記ハードウェア設定の変更を前記関連のクライアントに通知するため の手段をさらに含むことを特徴とする請求項10に記載のコンピュータ・システ ム。 12.前記ハードウェア・モジュール・オブジェクトは装置クラスに属し、前記 ハードウェア・モジュール・オブジェクトは前記装置クラスを識別するためのオ ブジェクト指向ハードウェアモジュール・シグニチャ・オブジェクトを含むこと を特徴とする請求項10に記載のコンピュータ・システム。 13.前記ハードウェア・モジュール・オブジェクトは該ハードウェア・モジュ ール・オブジェクトが表わすことのできる装置タイプを識別するためのオブジェ クト指向ハードウェア・モジュール分類オブジェクトを含むことを特徴とする請 求項10に記載のコンピュータ・システム。 14.前記装置タイプはモニタタイプ、プリンタタイプ、ポインティング・デバ イスタイプ、モデムタイプ、カードタイプ、ディスクドライブタイプ、スキャナ タイプ、ファクシミリ装置タイプを含むことを特徴とする請求項13に記載のハ ードウェア設定システム。 15.前記ハードウェア・インタフェース・オブジェクトは該ハードウェア・イ ンタフェース・オブジェクトが表わすことのできる装置コネクタタイプを識別す るためのオブジェクト指向ハードウェア・インタフェース分類オブジェクトを含 むことを特徴とする請求項10に記載のハードウェア設定システム。 16.前記装置コネクタタイプはシリアル・コネクタタイプ、パラレル・コネク タタイプ、ビデオ・コネクタタイプ、MIDIコネクタタイプ、ADBコネクタ タイプ、SCSIコネクタタイプ、スロット・コネクタタイプを含むことを特徴 とする請求項15に記載のハードウェア設定システム。 17.前記ハードウェア・インタフェース・オブジェクトはコンピュータ・シス テム・インタフェース・ポートを表わすことを特徴とする請求項10に記載のハ ードウェア設定システム。 18.前記ハードウェア・インタフェースオブジェクトと、前記ハードウェア・ モジュール・オブジェクトと、前記ハードウェア設定オブジェクトとはオブジェ クト指向フレームワークを形成する関連オブジェクト指向クラスのインスタンス であることを特徴とする請求項10に記載のハードウェア設定システム。
JP7517390A 1993-12-21 1994-04-11 ハードウェア設定のためのオブジェクト指向システムおよびその方法 Pending JPH09507317A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/171,722 US5546595A (en) 1993-12-21 1993-12-21 Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer
US08/171,722 1993-12-21
PCT/US1994/003981 WO1995017715A1 (en) 1993-12-21 1994-04-11 Object-oriented system and method for hardware configuration

Publications (1)

Publication Number Publication Date
JPH09507317A true JPH09507317A (ja) 1997-07-22

Family

ID=22624879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7517390A Pending JPH09507317A (ja) 1993-12-21 1994-04-11 ハードウェア設定のためのオブジェクト指向システムおよびその方法

Country Status (7)

Country Link
US (1) US5546595A (ja)
EP (1) EP0730763B1 (ja)
JP (1) JPH09507317A (ja)
AU (1) AU7310594A (ja)
CA (1) CA2178582A1 (ja)
DE (1) DE69405408T2 (ja)
WO (1) WO1995017715A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502068A (ja) * 1998-01-30 2002-01-22 オブジェクト テクノロジー ライセンシング コーポレイション コンピュータシステム内の拡張ボードの動作をモデル化する装置および方法
JP2010507973A (ja) * 2006-10-24 2010-03-11 ソニー株式会社 オブジェクト指向ハードウエアのためのシステム及び方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69516634T2 (de) * 1994-11-04 2000-09-21 Canon Information Systems, Inc. Intelligente Wiederprogrammierung eines Flash-Speichers
US5745765A (en) * 1995-10-23 1998-04-28 Calico Technology, Inc. Method and apparatus for automatic and interactive configuration of custom products
US5948091A (en) * 1995-12-01 1999-09-07 Texas Instruments Incorporated Universal digital display interface
US6063128A (en) * 1996-03-06 2000-05-16 Bentley Systems, Incorporated Object-oriented computerized modeling system
US5864660A (en) * 1996-03-12 1999-01-26 Electronic Data Systems Corporation Testing the integration of a plurality of elements in a computer system using a plurality of tests codes, each corresponding to an alternate product configuration for an associated element
US6704802B1 (en) * 1996-03-27 2004-03-09 Dell Usa, Lp Method and system for communicating between independent software modules
US5805796A (en) * 1996-03-27 1998-09-08 Dell Usa, Lp System architecture for implementing modular diagnostics
US6526457B1 (en) 1996-10-30 2003-02-25 Computer Associates Think, Inc. Systems utility object interface for facilitating software portability
US5815731A (en) * 1996-10-31 1998-09-29 International Business Machines Corporation Method and system for providing device driver configurations on demand
US6078741A (en) * 1997-02-05 2000-06-20 Firsttel Systems Corporation Automatic generation of reconfiguration scripts for telecommunication devices
US6263376B1 (en) 1997-02-24 2001-07-17 Novell, Inc. Generic run-time binding interpreter
US6125408A (en) * 1997-03-10 2000-09-26 Compaq Computer Corporation Resource type prioritization in generating a device configuration
US6529877B1 (en) * 1997-03-27 2003-03-04 British Telecommunications Public Limited Company Equipment allocation system
US6553416B1 (en) 1997-05-13 2003-04-22 Micron Technology, Inc. Managing computer system alerts
US6134614A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6046742A (en) * 1997-05-13 2000-04-04 Micron Electronics, Inc. Display of system information
US6058445A (en) * 1997-05-13 2000-05-02 Micron Electronics, Inc. Data management method for adding or exchanging components on a running computer
US6105089A (en) * 1997-05-13 2000-08-15 Micron Electronics, Inc. Data management system for adding or exchanging components on a running computer
US6425006B1 (en) 1997-05-13 2002-07-23 Micron Technology, Inc. Alert configurator and manager
US6219711B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Synchronous communication interface
US6134615A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6096094A (en) * 1997-10-03 2000-08-01 National Instruments Corporation Configuration manager for configuring a data acquisition system
US6009466A (en) * 1997-10-31 1999-12-28 International Business Machines Corporation Network management system for enabling a user to configure a network of storage devices via a graphical user interface
US6161151A (en) * 1998-01-30 2000-12-12 Object Technology Licensing Corporation Object-oriented global resource conflict resolver formatting resource requirements into a predetermined standard format and iteratively computing a resource assignment for each I/O function
US6161150A (en) * 1998-01-30 2000-12-12 Object Technology Licensing Corporation System for informing a computer user of a conflict encountered during resource allocation to expansion cards of different types having resource information in different format
US6636901B2 (en) 1998-01-30 2003-10-21 Object Technology Licensing Corp. Object-oriented resource lock and entry register
US6393557B1 (en) * 1998-05-08 2002-05-21 International Business Machines Corporation Dynamic method for configuring a computer system
US6263382B1 (en) * 1998-07-29 2001-07-17 Compaq Computer Corporation Sizer for interactive computer system configuration
US6253318B1 (en) * 1998-07-29 2001-06-26 Compaq Computer Corporation Method of developing physical requirements for computer configuration
US6353884B1 (en) 1998-07-29 2002-03-05 Compaq Computer Corporation System for describing and storing descriptions of hierachical structures using hardware definition files to specify performance, characteristics, part number and name of hardware components
US6192470B1 (en) * 1998-07-29 2001-02-20 Compaq Computer Corporation Configuration sizer for selecting system of computer components based on price/performance normalization
US6374352B1 (en) * 1998-08-26 2002-04-16 Intel Corporation Temporary configuration with fall-back
US6334178B1 (en) 1998-08-31 2001-12-25 International Business Machines Corporation Multiprocessing system with automated propagation of changes to centrally maintained configuration settings
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6341291B1 (en) 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6389491B1 (en) * 1999-03-23 2002-05-14 Agilent Technologies, Inc. Test instrumentation I/O communication interface and method
AU4663300A (en) * 1999-04-28 2000-11-10 Tranxition Corporation Method and system for automatically transitioning of configuration settings among computer systems
JP2001006276A (ja) * 1999-06-18 2001-01-12 Sony Corp 外部機器の制御装置、及び外部機器の制御方法
CA2391763A1 (en) * 1999-08-16 2001-03-01 Z-Force Corporation System of reusable software parts and methods of use
EP1103891A3 (en) * 1999-11-15 2006-04-19 Lipman Electronic Engineering Ltd. Adaptive management center especially used for point of sale terminals
US7139693B1 (en) * 1999-12-22 2006-11-21 Intel Corporation Using software objects to communicate with hardware devices
JP4453203B2 (ja) * 2001-01-09 2010-04-21 セイコーエプソン株式会社 デバイス環境設定システム、デバイス環境設定処理方法及び情報記録媒体
US20040024732A1 (en) * 2001-04-02 2004-02-05 Bryan Klisch Constructing a component management database for managing roles using a directed graph
JP3985135B2 (ja) * 2001-12-27 2007-10-03 セイコーエプソン株式会社 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体
US7849171B2 (en) * 2002-02-27 2010-12-07 Ricoh Co. Ltd. Method and apparatus for monitoring remote devices by creating device objects for the monitored devices
US20030225772A1 (en) * 2002-05-31 2003-12-04 International Business Machines Corporation Business method for determining required product configurations to meet varied performance requirements
US7730174B2 (en) * 2003-06-27 2010-06-01 Computer Associates Think, Inc. System and method for agent-based monitoring of network devices
US20050060659A1 (en) * 2003-09-11 2005-03-17 Dell Products L.P. System, method and software for communicating the effects of user preference settings in an information handling system
CA2533614C (en) * 2004-07-30 2011-05-03 Research In Motion Limited Method and system for coordinating device setting between a communications client and its host device
EP1805599A4 (en) 2004-07-30 2008-12-10 Research In Motion Ltd SYSTEM AND METHOD FOR PROVIDING A COMMUNICATION CLIENT ON A HOST DEVICE
US20060036677A1 (en) * 2004-07-30 2006-02-16 Research In Motion Ltd. Method and system for coordinating input and output between a communications client and its host device
AU2005256105B8 (en) 2004-07-30 2008-10-02 Blackberry Limited Method and apparatus for provisioning a communications client on a host device
KR100662921B1 (ko) * 2004-12-07 2007-01-02 삼성전자주식회사 화상형성장치 시스템 및 그의 프로그램 설치 방법
US7293170B2 (en) 2005-06-06 2007-11-06 Tranxition Corporation Changing the personality of a device by intercepting requests for personality information
US8813021B1 (en) * 2006-02-16 2014-08-19 Cypress Semiconductor Corporation Global resource conflict management for an embedded application design
CN101667124A (zh) * 2009-10-15 2010-03-10 上海宝信软件股份有限公司 基于对象模型对监控设备进行配置的系统及其方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US4891630A (en) * 1988-04-22 1990-01-02 Friedman Mark B Computer vision system with improved object orientation technique
US4953080A (en) * 1988-04-25 1990-08-28 Hewlett-Packard Company Object management facility for maintaining data in a computer system
EP0347162A3 (en) * 1988-06-14 1990-09-12 Tektronix, Inc. Apparatus and methods for controlling data flow processes by generated instruction sequences
US5041992A (en) * 1988-10-24 1991-08-20 University Of Pittsburgh Interactive method of developing software interfaces
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5050090A (en) * 1989-03-30 1991-09-17 R. J. Reynolds Tobacco Company Object placement method and apparatus
CA2016396C (en) * 1989-05-15 1994-03-15 Refus J. Archon Initial program load (ipl) based on an object abstraction for a data processing system
US5060276A (en) * 1989-05-31 1991-10-22 At&T Bell Laboratories Technique for object orientation detection using a feed-forward neural network
US5125091A (en) * 1989-06-08 1992-06-23 Hazox Corporation Object oriented control of real-time processing
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control in an object-oriented memory protection mechanism
US5151987A (en) * 1990-10-23 1992-09-29 International Business Machines Corporation Recovery objects in an object oriented computing environment
US5119475A (en) * 1991-03-13 1992-06-02 Schlumberger Technology Corporation Object-oriented framework for menu definition
US5253344A (en) * 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502068A (ja) * 1998-01-30 2002-01-22 オブジェクト テクノロジー ライセンシング コーポレイション コンピュータシステム内の拡張ボードの動作をモデル化する装置および方法
JP2010507973A (ja) * 2006-10-24 2010-03-11 ソニー株式会社 オブジェクト指向ハードウエアのためのシステム及び方法

Also Published As

Publication number Publication date
DE69405408D1 (de) 1997-10-09
AU7310594A (en) 1995-07-10
CA2178582A1 (en) 1995-06-29
US5546595A (en) 1996-08-13
EP0730763B1 (en) 1997-09-03
EP0730763A1 (en) 1996-09-11
DE69405408T2 (de) 1998-07-02
WO1995017715A1 (en) 1995-06-29

Similar Documents

Publication Publication Date Title
JPH09507317A (ja) ハードウェア設定のためのオブジェクト指向システムおよびその方法
US5675748A (en) Method and apparatus for automatically configuring computer system hardware and software
JP3590688B2 (ja) アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム
US6173289B1 (en) Apparatus and method for performing actions on object-oriented software objects in a directory services system
US5748980A (en) System for configuring a computer system
US5165018A (en) Self-configuration of nodes in a distributed message-based operating system
US6665786B2 (en) Dynamic disk partition management
US5787019A (en) System and method for handling dynamic changes in device states
JP4603106B2 (ja) オブジェクトの遠隔的ブラウズ方法及びシステム
CN109634718B (zh) 云平台创建镜像的方法及系统
AU773635B2 (en) Method, system and computer readable storage medium for automatic device driver configuration
MXPA04006404A (es) Interfases y clases de estructura de automatizacion de interfase del usuario.
US20030221094A1 (en) Method and system for configuring a computer
JP2001060180A (ja) 装置制御用オペレーションオブジェクトインタフェースを使用する周辺システム管理のためのシステムおよび方法
CN102200921A (zh) 智能引导设备选择和恢复
US5799149A (en) System partitioning for massively parallel processors
US5781902A (en) Method, computer program product, and system for extending the capabilities of an existing process to store and display foreign data
CN111090823A (zh) 一种页面应用的集成平台以及应用访问方法、装置和设备
US20050080584A1 (en) Automatic software testing
CN114546563A (zh) 一种多租户页面访问控制方法和系统
KR930006382B1 (ko) 데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템
JPH08508125A (ja) マルチレベル割込みシステム
US5941943A (en) Apparatus and a method for creating isolated sub-environments using host names and aliases
CN116467043A (zh) 一种基于k8s容器化差异化自动部署方法、装置及介质
US5881227A (en) Use of daemons in a partitioned massively parallel processing system environment

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040928

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20041228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041228

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20050301

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20050301