JPH08503323A - オブジェクト指向システムのロケータ・システム - Google Patents

オブジェクト指向システムのロケータ・システム

Info

Publication number
JPH08503323A
JPH08503323A JP7506389A JP50638995A JPH08503323A JP H08503323 A JPH08503323 A JP H08503323A JP 7506389 A JP7506389 A JP 7506389A JP 50638995 A JP50638995 A JP 50638995A JP H08503323 A JPH08503323 A JP H08503323A
Authority
JP
Japan
Prior art keywords
locator
component
components
system components
pull
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7506389A
Other languages
English (en)
Other versions
JP3131223B2 (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22288024&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH08503323(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by タリジェント インコーポレイテッド filed Critical タリジェント インコーポレイテッド
Publication of JPH08503323A publication Critical patent/JPH08503323A/ja
Application granted granted Critical
Publication of JP3131223B2 publication Critical patent/JP3131223B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

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

Abstract

(57)【要約】 オブジェクト指向システムのロケータ・システムを提供することを目的とし、導入プログラム(installation program)を実行することなく、システム・コンポーネント(ドキュメント、ツール、フォント、ライブラリなど)をコンピュータ・システムに追加する方法およびシステムが開示されている。探索基準で指定されたプロパティ(property)に一致するプロパティをもつシステム・コンポーネントを見つけるためにロケーション・フレームワーク(location framework)が採用されている。このフレームワークは、探索基準に一致するプロパティをもつシステム・コンポーネントがシステムに追加されたり、システムから除去されたりしたとき、システムから通知を受け取る。

Description

【発明の詳細な説明】 オブジェクト指向システムの ロケータ・システム 関連特許出願の相互参照 本特許出願は、「オブジェクト指向ロケータ・システム」(Objet-Oriented L ocator System)という名称で1993年8月4日に出願された特許出願(発明者Fra nk Nguyen、承継人Taligent)の関連出願であり、その開示事項は引用により本 明細書の一部を構成するものである。 また、本特許出願は、「コンテナ・オブジェクト・システム」(Container Ob ject System)という名称で1993年6月3日に出願された特許出願(発明者Frank Nguyen、承継人Taligent)の関連出願であり、その開示事項は引用により本明細 書の一部を構成するものである。 著作権所有表記 本特許出願明細書の一部には、著作権保護の対象となる内容が含まれている。 著作権所有者は、米国特許商標庁の特許ファイルまたは記録に記載されている特 許文書または特許開示内容を、第三者がファクシミリ複製することを妨げるもの ではないが、他の方法による場合は、一切の著作権を所有することを留保する。 発明の分野 本発明は、一般的には、コンピュータ・システムにおける改良に関し、より具 体的には、システム・コンポーネントを自動管理するためのシステムおよび方法 に関する。 発明の背景 システム開発者に対して、システムおよびアプリケーションをより使いやすく 、より直観的にする要求が高まっている。これまでに、エルゴノミクス(ergono mics−人間工学)の面で多くの進歩がなし遂げられているが、アプリケーション またはシステム・プログラムで使用されるコンポーネントを、即座に(on the f ly)管理し、更新するという問題を取り上げているものはひとつもない。ここで いうコンポーネントとは、ドキュメント、フォント、ツール、共有ライブラリ、 またはその他の資源のことである。類似した技術の例としては、IBM PS/2コンピ ュータがある。マ イクロチャネル(MicroChannel)アーキテクチャに準拠するように正しく設計さ れたある種のカードは、PS/2システムにプラグインし、システムを構成し直さな くても使用できるようになっている。しかし、このカードでさえも、構成が必要 になる場合があり、カード上に存在する資源を必要とするアプリケーション・プ ログラムはいずれも、その資源を利用するためには、その前に正しく設計し、コ ーディングし、コンパイルし、連係編集(link-edit)し、デバッグしておかな ければならない。 理想的には、システム・プログラムとアプリケーションは、システム・コンポ ーネントを動的に識別できるようになっていなければならない。また、システム は、システム内の変更が行われたとき、資源が更新されたことをすべてのシステ ム・プログラムやアプリケーションに知らせることができなければならない。現 時点では、これらの問題を扱うどのアプローチも提案されていない。 発明の概要 従って、本発明の主要目的は、導入プログラム(installation program)を実 行することなく、システム・コンポーネント(ドキュメント、ツール、フォント 、ライブラリなど)をコンピュータ・システムに追 加することである。探索基準(search criteria)で指定されたプロパティ(pro perties)に一致するプロパティをもつシステム・コンポネーントを探し出すた めに、ロケーション・フレームワーク(locationframework)が採用されている 。このフレームワークは、探索基準に一致するプロパティをもつシステム・コン ポーネントがシステムに追加され、あるいはシステムから除去されるときも、シ ステムから通知を受け取るようになっている。 本発明による方法およびシステムは、システム・ロケータ要求(system locat or request)のタイプを対話方式(interactively)で判断し、探索基準と探索 範囲(scope of search)を取得し、指定されたシステム探索基準に一致する資 源を突き止めるようにシステムに照会(query)する機能を備えている。一致し たシステム・コンポーネントは要求を行った側(initiatingrequestor)に返却 されるので、要求側はそのシステム・コンポーネントをアクセスすることが可能 になる。 図面の簡単な説明 第1図は、好適実施例によるパーソナル・コンピュータ・システムを示すブロ ック図である。 第2図は、好適実施例に従ってロケータ要求のタイ プを検査するときの関連ロジックを示すフローチャートである。 第3図は、好適実施例に従ってシステム・ロケータ要求の特定タイプを判断す るときの関連ロジックを示すフローチャートである。 第4図は、好適実施例に従ってネットワーク・ロケータ要求の特定タイプを判 断するときの関連ロジックを示すフローチャートである。 第5図は、好適実施例に従ってアプリケーション・ロケータ要求の特定タイプ を判断するときの関連ロジックを示すフローチャートである。 第6図は、好適実施例に従ってシステム・ロケータ要求を処理するときの関連 ロジックを示すフローチャートである。 第7図は、好適実施例に従ってネットワーク・ロケータ要求を処理するときの 関連ロジックを示すフローチャートである。 第8図は、好適実施例に従ってアプリケーション・ロケータ要求を処理すると きの関連ロジックを示すフローチャートである。 第9図は、好適実施例によるスマート・フォルダを示す図である。 第10図は、好適実施例によるプレース(場所)のディスプレイをシミュレーシ ョンした図である。 第11図は、好適実施例によるパーツビン・ディスプ レイをシミュレーションした図である。 発明の詳細な説明 本発明は、好ましくは、IBM(登録商標)社PS/2(登録商標)またはアップル (登録商標)社マッキントッシュ(登録商標)コンピュータなどのパーソナル・ コンピュータ上に置かれているオペレーティング・システムの環境(コンテキス ト)で実施される。代表的なハードウェア環境を第1図に示す。同図は従来のマ イクロプロセッサのように、非揮発性記憶機構11を内蔵した中央演算処理ユニッ ト10、およびシステム・バス12を介して相互に接続された複数の他のユニットを 装備した、本発明によるコンピュータの代表的ハードウェア構成を示している。 第1図に示すワークステーションは、ランダム・アクセス・メモリ(RAM)14、 リードオンリ・メモリ(ROM)16、ディスク・ユニット20、ディスケット・ユ ニット21などの周辺デバイスをバスに接続するための入出力アダプタ18、キーボ ード24、マウス26、スピーカ28、マイクロホン32、および/またはタッチ・スク リーン・デバイス(図示せず)などのユーザ・インタフェース・デバイスをバス に接続するためのユーザ・インタフェース・アダプタ22、ワークステーションを データ処理ネットワーク23に接続するための通信アダプタ34、およびバスをディ スプ レイ・デバイス38に接続するためのディスプレイ・アダプタ36を装備している。 コンピュータには、アップル社System/7(登録商標)オペレーティング・システ ムなどのオペレーティング・システムが常駐している。 好適実施例では、本発明は、オブジェクト指向プログラミング技法を使用して C++プログラミング言語で書かれている。この分野に精通しているものならば容 易に理解されるように、オブジェクト指向プログラミング(Object-Oriented Pr ogramming - OOP)のオブジェクトは、データ構造とデータに対するオペレーシ ョン(操作、演算など)からなるソフトウェア・エンティティ(software entit y)である。これらのエレメントが協力し合うことにより、オブジェクトは、そ のデータ・エレメントで表されたその特性、およびそのデータ操作関数(data m anupulation functions)で表されたその作用(behavior)からとらえて、ほと んどどのような実世界のエンティティでもモデル化することができる。この方法 によると、オブジェクトは、人やコンピュータなどの具体物をモデル化すること ができ、また、数や幾何学的概念などの抽象概念をモデル化することができる。 オブジェクト・テクノロジの利点は次の3つの基本的原理から得られるものであ る。それは、カプセル化(encapsulation)、多態(polymorphism)および継承 (inheritance)である。 オブジェクトは、そのデータの内部構造とその関数が実行されるときのアルゴ リズムを隠蔽する。つまりカプセル化する。これらのインプリメンテーションの 細部を見せる代わりに、オブジェクトは、外部情報(extraneous information) のないクリーンな形でその抽象化(abstractions)を表しているインタフェース を提示する。多態(polymorphism)はカプセル化をさらに一歩進めたものである 。この考え方は、多数の形体をもつ、1つのインタフェースである。あるソフト ウェア・コンポーネントは、別のコンポーネントがなんであるかを正確に知らな くても、その別のコンポーネントを要求することができる。要求を受け取ったコ ンポーネントはその要求を解釈し、その要求をどのように実行すべきかを、その 変数とデータに従って判断する。三番目の原理である継承によれば、開発者は既 存の設計やコードを再利用することができる。この機能を利用すると、開発者は ソフトウェアを初めから作ることが回避される。むしろ、継承を通して、開発者 は作用を継承するサブクラスを派生し、その作用を開発者独自の要求に合ったも のにカストマイズすることができる。 従来のアプローチでは、オブジェクトとクラス・ライブラリを手続き向き環境 で階層化する方法がとられていた。市販されている多くのアプリケーション・フ レームワークはこの設計手法を採用している。この設 計では、モノリシック・オペレーティング・システム(monolithic operating s ystem)の上に1つまたは2つ以上のオブジェクト層が置かれている。このアプ ローチでは、カプセル化、多態および継承のすべての原理がオブジェクト層に採 用され、手続き向きプログラミング技法を大幅に改善しているが、このアプロー チにはいくつかの制約がある。これらの問題は、開発者が自身のオブジェクトを 再利用することは容易であるが、他のシステムからのオブジェクトを使用するこ とが困難であるため、手続き向きオペレーティング・システム(OS)のコールを 使用して、下位の非オブジェクト層まで到達する必要があることに起因している 。 オブジェクト指向プログラミングが持つもう1つの側面は、アプリケーション を開発するのにフレームワーク・アプローチを採用していることである。フレー ムワークの最も合理的な定義の1つとして、イリノイ大学のRalph E.Johnsonと PurdueのVincent F.Russoによるものがある。両氏の1991年の論文「オブジェク ト指向設計の再利用」(ReusingObject-Oriented Designs)、イリノイ大学技術 報告書UIUCDCS91-1696の中で、次のような定義を提案している。「抽象クラスと は、一組の責任分担を協力し合って実行するオブジェクトの集合を設計したもの である。従って、フレームワークとは、組で定義された計 算責任分担を協力し合って実行するオブジェクト・クラスが集まったものである 。」プログラミング側から見たときは、フレームワークとは、基本的には、実働 アプリケーション(working application)の事前に作られた構造を提供する、 相互に接続されたオブジェクト・クラスの集まりである。例えば、ユーザ・イン タフェース・フレームワークは、描画ウィンドウ(drawing window)、スクロー ルバー、メニューなどをサポートし、これらの「デフォルト(省略時)」の作用 を提供することができる。フレームワークはオブジェクト・テクノロジを基礎に いているので、この作用を継承してオーバライド(override)することにより、 開発者はフレームワークを拡張し、カストマイズした解決手法を特定の専門分野 で作ることができる。これが従来のプログラミングに比べて大きな利点であるの は、プログラマはオリジナル・コードを変更することなく、むしろソフトウェア を拡張できるからである。さらに、フレームワークは、アーキテクチャに関する ガイダンスとモデリングを提供すると同時に、問題領域に特有の個々のアクショ ンを指定することから開発者を解放するので、開発者はいくつかのコード層を通 って盲目的に作業する必要がない。 ビジネス側から見たときは、フレームワークは、特定の知識分野において専門 知識をカプセル化または具現化する方法と見ることができる。企業の開発集団、 独立ソフトウェア・ベンダ(Independent SoftwareVendors-ISV)およびシステ ム統合者(systemsintegrators)は、前述した例のように、製造、会計、通貨取 引きといった特定分野における専門知識をもっている。この専門知識はコードで 具現化されている。フレームワークを使用すると、企業は、その専門知識を企業 のコードで具現化することにより、専門知識の共通特性を取り込んで、パッケー ジ化することができる。まず、そのようにすると、開発者は専門知識を利用する アプリケーションを作成または拡張できるので、問題がいったん解決されれば、 ビジネス・ルールや設計は統一的に実施され、使用されることになる。また、フ レームワークと、フレームワークの背景にある具現化された専門知識は、製造、 会計、バイオテクノロジといった垂直的マーケットにおいて専門知識を得た企業 にとっては、戦略的資産をもつことを意味し、企業の専門知識をパッケージ化し 、再販し、流布し、テクノロジの進歩と普及化を促進するための分配メカニズム をもつことになる。 歴史的には、フレームワークがパーソナル・コンピューティング・プラットフ ォーム上の主流概念として出現したのは、つい最近のことである。この移行を助 長したのが、C++といったオブジェクト指向言語の出現である。従来までは、C++ は大部分がUNIXシステムと研究者のワークステーション上に搭載され、コ マーシャル・ベースのパーソナル・コンピュータには搭載されていなかった。い くつかの大学や研究所のプロジェクトが今日の商用フレームワークおよびクラス ・ライブラリの先駆けとなり得たのは、C++などの言語やSmalltalkなどの他のオ ブジェクト指向言語のお陰である。その例のいくつかを挙げると、スタンフォー ド大学のInterViews、カーネギ・メロン大学のAndrewツールキット、チューリッ ヒ大学のET++フレームワークがある。 フレームワークは、どのレベルのシステムに関心があり、どのような問題を解 決しようとしているかに応じて、多種類のものがある。フレームワークの種類は ユーザ・インタフェースの開発を支援するアプリケーション・フレームワークか ら、通信、印刷、ファイル・システム・サポート、グラフィックスなどの基本的 システム・ソフトウェア・サービスを提供する低レベルのフレームワークまでに わたっている。商用化されているアプリケーション・フレームワークの例をいく つか挙げると、MacApp(Apple)、Bedrock(Symantec)、OWL(Borland)、NeXt Step AppKit(NeXT)、Smalltak-80 MVC(ParcP1ace)がある。 フレームワークでプログラミングを行うには、他の種類のシステムに慣れてい る開発者は考え方を変える必要がある。確かに、このプログラミングは、従来考 えられていたプログラミングとはまったく異なってい る。DOSやUNIXなどの旧スタイルのオペレーティング・システムでは、開発者自 身のプログラムが構造全体になっている。オペレーティング・システムはシステ ム・コール(system call)を通してサービスを提供している。つまり、開発者 のプログラムはサービスの必要時にコールを行い、サービスが提供されたとき制 御が返却される。プログラム構造は制御の流れに基礎を置き、これは開発者が書 いたコードに具現化されている。 フレームワークが使用されるときは、これとは反対である。開発者は制御の流 れに責任をもつ必要がなくなる。開発者は、プログラミング・タスクを実行の流 れからとらえて理解しようとする癖を止めなければならない。むしろ、オブジェ クトの責任分担からとらえて思考する必要があるので、タスクをいつ実行させる かを判断するには、フレームワークに頼らざるを得なくなる。開発者が書いたル ーチンは、開発者が書かなかった、従って開発者には見えないコードによってア クチベート(activate−活性化)される。この制御の流れのフリップフロップは 、手続き向きプログラミングだけに経験のある開発者にとっては、大きな心理的 障壁となっている。しかし、このことをいったん理解してしまえば、フレームワ ーク・プログラミングによると、他のタイプのプログラミングによる場合よりも 作業量が大幅に減少することになる。 アプリケーション・フレームワークが開発者にプレハブの機能を提供するのと 同じように、本発明の好適実施例に含まれているようなシステム・フレームワー クはシステム・レベルのサービスを提供することによって同じ考え方を用いてい る。つまり、システム・プログラマといった開発者は、システム・レベルのサー ビスをサブクラス化またはオーバライドして、カストマイズした解決手法を作成 することができる。例えば、オーディオ、ビデオ、MIDI、アニメーションなどの 新規なデバイスや異種デバイスをサポートする基礎を提供できるマルチメディア ・フレームワークについて考えてみることにする。新しい種類のデバイスをサポ ートする必要がある場合、開発者はデバイス・ドライバを書く必要が起こること になる。フレームワークでこれを行う場合は、開発者に要求されることは、その 新デバイスに特有の特性と作用を指定するだけである。 この場合の開発者は、マルチメディア・フレームワークから呼び出されるある 種のメンバ関数(memberfunctions)のインプリメンテーションを用意すること になる。開発者にとって即時に利点となることは、デバイスのカテゴリ別に必要 になる汎用コード(generic code)がマルチメディア・フレームワークにすでに 用意されていることである。このことは、デバイス・ドライバ開発者が書き、テ ストし、デバッグす るコードが少なくなることを意味する。システム・フレームワークを使用するも う1つの例は、入出力フレームワークがSCSIデバイス、NuBusカード、およびグ ラフィックス・デバイス別になっていることである。機能は継承されるので、各 フレームワークには、そのデバイス・カテゴリに見られる共通機能に対するサポ ートが用意されている。この場合、他の開発者は、これらの統一インタフェース (consistent interfaces)を通して、あらゆる種類のデバイスにアクセスする ことが可能になる。 好適実施例では、フレームワークの概念を採用し、システム全体にその概念を 応用している。ベンダ開発者や企業開発者、システム統合者、またはOEMにとっ ては、このことは、MacAppのようなフレームワークの場合に上述してきたすべて の利点を、テキストやユーザ・インタフェースといったものについては、アプリ ケーション・レベルで、グラフィックス、マルチメディア、ファイル・システム 、入出力、テストなどのサービスについては、システム・レベルで活用できるこ とを意味する。 好適実施例のアーキテクチャでアプリケーションを作ることは、基本的には、 フレームワーク・プロトコルに準拠するドメイン固有(domain-specific)のジ グソーパズルのピース(puzzle pieces)を作るのと似ている。このように、プ ログラミングという概念全体が 変わっている。複数のAPI階層をコールするコードを一行ずつ書いていくのでは なく、ソフトウェアは、まず、この環境内の既存のフレームワークからクラスを 派生し、次に、必要に応じて新しい作用(behavior)を追加し、および/または 継承した作用をオーバライド(override−無効化)することにより開発される。 従って、開発者のアプリケーションは、書かれたあと、他のすべてのフレーム ワーク・アプリケーションと共用されるコードが集まったものとなる。これが強 力な概念となっているのは、開発者が開発者相互の作業の上に構築していくこと ができるからである。またこの概念よると、開発者は、必要な量だけカストマイ ズできるという柔軟性を得ることができる。フレームワークには、そのままで使 用されるものがある。ある場合には、カストマイズ量は最小で済むことがあるの で、開発者がプラグインするジグソーパズルのピースは小さくなる。他の場合に は、開発者は大幅に変更を加えて、まったく新しいものを作ることもできる。好 適実施例では、第1図に示すように、RAM 14に常駐しているCPU 10の制御下に置 かれているプログラムは、オブジェクト指向フレームワークを使用して種々タス クの管理を担当している。フレームワークでは、システムに追加され、またはシ ステムから除去されるアイテムはコンポーネント(component)と呼ばれている 。コンポーネントには、ドキュメント、フォント、ツー ル、共有ライブラリなどがある。 コンポーネントは、それに関連づけられたプロパティ(property)をもつこと ができる。どのコンポーネントも、そのコンポーネントを識別するある種のプロ パティを組でもっている。コンポーネントは従属関係(dependencies)をもつこ とができる。これらの従属関係は、コンポーネントが同じであってもシステムに よって異なる場合がある。これらの従属関係を判断し、解決するためには、ユー ザの意図とターゲット・システムの構成を予測する必要がある。例えば、ユーザ がそのコンポーネントをどのシステムにインストール(導入)しようとしている のか、そのシステムにどのようなコンポーネントがインストールされているかを 、システムに判断させる必要がある。システムは、導入プログラムを実行しなく ても、ユーザがコンポーネントを追加できる設計になっている。この設計目標を サポートするために、導入プログラムは、次のような機能を備えたロケーション ・フレームワークに置き換えられている。 ・ システム・ソフトウェアは、ロケーション・フレームワークに対して指定さ れたプロパティに一致するプロパティをもつコンポーネントを探し出すことがで きる(例えば、タイプがツールのすべてのコンポーネント)。 ・ システム・ソフトウェアは、ロケーション・フ レームワークに対して指定されたプロパティに一致するプロパティをもつコンポ ーネントに関心があることを登録しておき、そのコンポーネントの追加/除去に 関する通知を受け取ることができる。 ロケーション・フレームワークには、ユーザ・インタフェースがない。ロケー ション・フレームワークのクライアント、例えば、プレース・フレームワーク( place framework)がユーザ・インタフェースとなって、ロケーション・フレー ムの機能が利用できるようになっている。 アーキテクチャ ロケーション・フレームワークは拡張性をもつ設計になっている。このフレー ムワークは、システム内のコンポーネントを探し出し、あるコンポーネントが追 加または除去されたときどのようにシステムに知らせるかを判断するためのロジ ックを含んでいる。ロケーション・フレームワークでキーとなる抽象化(abstra ction)はロケータ・クラス(locator class)である。そのセマンティックス( semantics)は抽象基底クラス(abstract base class)TComponentLocatorによ って定義されている。具体的サブクラス(concrete subclass)は異種の探索メ カニズム(ロケーション・フレームワークの方法−ファイル・シス テム・プロパティ、ハードウェア機能など)を使用することができ、また異種の オブジェクトの集まり(ロケーション・フレームワークの内容−ファイル・シス テム・エンティティ、ハードウェア・オブジェクトなど)を返却することができ る。TPropertyQueryを使用し、TFSEntityオブジェクトの集まりを返却する具体 的なサブクラスはTFileLocatorである。ロケーション・フレームワークのクライ アントはロケータに対して指定されたプロパティに一致するプロパティを持つコ ンポーネントに関心があることを登録しておき、そのコンポーネントの追加/除 去に関する通知を受け取ることができる。クライアントは通知フレームワークか らの、次のような抽象を使用することができる。すなわち、TNotifierConnector 、TInterest、およびTNotificationである。TNotifierConnectorは、クライアン トとロケータとを結ぶ働きをする。関心があることは、TInterestのサブクラス の中で指定する。通知はTNotificationのサブクラスの中で受け取る。どのコン ポーネントも、そのコンポーネントを識別する、いくつかのプロパティを持って いる。システム・ソフトウェアはコンポーネントにプロパティを付けて、特定の コンポーネントを特定のフォルダ別にグループ化することができる。あるコンポ ーネントのプロパティをフォルダのそれと突き合わせることにより、システム・ ソフトウェアは、コンポーネントをど こに置いておくかを判断することができる。将来のリリースは、ユーザ自身が、 ユーザ定義のプロパティをコンポーネントに付けることが可能になる。 好適実施例によるフローチャート 第2図は、好適実施例に従ってロケータ要求(locator request)のタイプを 検査するときの関連ロジックを示すフローチャートである。処理は端子200から 開始され、即時に制御が判定ブロック210に渡されて、無効なタイプが見つかっ たかどうかが判断される。無効なタイプが見つかっていれば、該当のエラー・メ ッセージが出され、処理は端子250で中止される。無効なタイプが見つからなけ れば、判定ブロック220でテストが行われ、ロケータ要求がシステム・エンティ ティに対するものであるかどうかが判断される。そうであれば、制御は端子222 から第3図へ移り、どのシステム・エンティティに対するものであるかが判断さ れる。そうでなければ、別のテストが判定ブロック230で行われ、ロケータ要求 がネットワーク・エンティティに対するものであるかどうかが判断される。そう であれば、制御は端子232から第4図へ移り、どのネットワーク・エンティティ に対するものであるかが判断される。そうでなければ、別のテストが判定ブロッ ク240で行われ、ロケータ要求がアプリ ケーション・エンティティに対するものであるかどうかが判断される。そうであ れば、制御は端子232から第5図へ移り、どのアプリケーション・エンティティ に対するものであるかが判断される。そうでなければ、エラー条件が通知され、 制御が端子250から返却される。 第3図は、ロケータ要求がどのシステム・エンティティと関連があるかを判断 するときの関連ロジックを示すフローチャートである。処理は端子300から開始 され、即時に判定ブロック310に移り、無効なタイプが指定されていたかどうか が判断される。そうであれば、該当のエラー・メッセージが出され、制御が端子 350から返却される。そうでなければ、テストが判定ブロック320で行われ、デバ イス・ドライバ・ロケータが必要とする特定システム・ロケータであるかどうか が判断される。そうであれば、制御は端子322から第6図へ移り、デバイス・ド ライバ・ロケータが処理される。そうでなければ、テストが判定ブロック330で 行われ、共有ライブラリ・ロケータが必要とする特定システム・ロケータである かどうかが判断される。そうであれば、制御は端子322から第6図へ移り、共有 ライブラリ・ロケータが処理される。そうでなければ、テストが判定ブロック34 0で行われ、ファイル・ロケータが必要とする特定システム・ロケータであるか どうかが判断される。そうであれば、制御は端子 342から第6図へ移り、ファイル・ロケータが処理される。そうでなければ、該 当のエラー・メッセージが出され、制御は端子350から返却される。 第4図は、好適実施例に従ってどのタイプのネットワーク・ロケータ要求であ るかを判断するときの関連ロジックを示すフローチャートである。処理は端子40 0から開始され、即時に判定ブロック410に移り、無効なタイプが指定されていた かどうかが判断される。そうであれば、該当のエラー・メッセージが出され、制 御が端子450から返却される。そうでなければ、テストが判定ブロック420で行わ れ、マシン・ロケータが必要とする特定ネットワーク・ロケータであるかどうか が判断される。そうであれば、制御は端子422から第7図へ移り、マシン・ロケ ータが処理される。そうでなければ、テストが判定ブロック430で行われ、プリ ンタ・ロケータが必要とする特定ネットワーク・ロケータであるかどうかが判断 される。そうであれば、制御は端子422から第7図へ移り、プリンタ・ロケータ が処理される。そうでなければ、テストが判定ブロック430で行われ、人/プレ ース(people/place)ロケータが必要とする特定ネットワーク・ロケータである かどうかが判断される。そうであれば、制御は端子432から第7図へ移り、人/ プレース・ロケータが処理される。そうでなければ、該当のエラー・メッセージ が出され、制御が端子450から返却 される。 第5図は好適実施例に従ってどのタイプのアプリケーション・ロケータ要求で あるかを判断するときの関連ロジックを示すフローチャートである。処理は端子 500から開始され、即時に判定ブロック510に移って無効なタイプが指定されてい たかどうかが判断される。そうであれば、該当のエラー・メッセージが出され、 制御が端子550から返却される。そうでなければ、テストが判定ブロック520で行 われ、ツール・ロケータが必要とする特定アプリケーション・ロケータであるか どうかが判断される。そうであれば、制御は端子522から第8図へ移り、ツール ・ロケータが処理される。そうでなければ、テストが判定ブロック530で行われ 、ステーショナリ・ロケータ(stationary locator)が必要とする特定アプリケ ーション・ロケータであるかどうかが判断される。そうであれば、制御は端子52 2から第8図へ移り、ステーショナリ・ロケータが処理される。そうでなければ 、テストが判定ブロック530で行われ、選好ロケータ(preferences locator)が 必要とする特定アプリケーション・ロケータであるかどうかが判断される。そう であれば、制御は端子532から第8図へ移り、選好ロケータが処理される。そう でなければ、該当のエラー・メッセージが出され、制御が端子550から返却され る。 第6図は、好適実施例に従ってシステム・ロケー タ要求を処理するときの関連ロジックを示すフローチャートである。処理は端子 600から開始され、即時に機能ブロック610へ移って、ロケータ・クラス・オブジ ェクトの探索基準が取得される。そのあと、機能ブロック620で探索範囲が入力 され、機能ブロック630でその探索範囲が使用されて、指定された探索基準に一 致するシステム・エンティティのセットが判断される。次に、機能ブロック640 で探索が行われ、該当するシステム・エンティティが突き止められ、これらのエ ンティティは機能ブロック650から要求側クラスへ返却され、処理は端子660で中 止される。 第7図は、好適実施例に従ってネットワーク・ロケータ要求を処理するときの 関連ロジックを示すフローチャートである。処理は端子700から開始され、即時 に機能ブロック710へ移って、ロケータ・クラス・オブジェクトの探索基準が取 得される。そのあと、機能ブロック720で探索範囲が入力され、機能ブロック730 でその探索範囲が使用されて、指定された探索基準に一致するネットワーク・エ ンティティのセットが判断される。次に、機能ブロック640で探索が行われ、該 当するネットワーク・エンティティが突き止められ、これらのエンティティは機 能ブロック650から要求側クラスへ返却され、処理は端子660で中止される。 第8図は、好適実施例に従ってアプリケーション・ ロケータ要求を処理するときの関連ロジックを示すフローチャートである。処理 は端子800から開始され、即時に機能ブロック810へ移って、ロケータ・クラス・ オブジェクトの探索基準が取得される。そのあと、機能ブロック820で探索範囲 が入力され、機能ブロック830でその探索範囲が使用されて、指定された探索基 準に一致するアプリケーション・エンティティのセットが判断される。次に、機 能ブロック840で探索が行われ、該当するアプリケーション・エンティティが突 き止められ、これらのエンティティは機能ブロック850から要求側クラスへ返却 され、処理は端子860で中止される。 メカニズム TComponentLocatorの異種具体的クラスは、異なるメカニズムを使用して探索 を行うことができる。 TFileLocatorによって使用されるメカニズムは TPropertyQueryである。他のメカニズムをロケーション・フレームワークで使用 することも可能である。 例えば、THardwareCapabilityがメカニズムとして用意されていれば、新しいサ ブクラスとして、 THardwareCapabilityLocatorを開発することが可能である。 クラスの説明 TComponentLocator目的 : TComponentLocatorはテンプレート化された純粋抽象基底クラス(templated p ure abstract base class)であり、システム内のコンポーネントを探し出すと きのプロトコルを定義している。TComponentLocatorのサブクラスは、TComponen tLocatorによって定義されたプロトコルをインプリメント(実装)していなけれ ばならない。インスタンス化(instantiation) : TComponentLocatorは純粋抽象基底クラスである。派生クラス(deriving class) : 特定の範囲内にある特定のアイテムを探し出すことを要求するクラスは、TCom ponentLocatorから派生することができる。各サブクラスは異なる探索メカニズ ムを使用することができる。同時並行性(concurrency) : TComponentLocatorは純粋抽象基底クラスである。ロケータは通常共有されな いので、サブクラスをマルチスレッド(multi-thread)から保護する必要がない 。資源の使用(resource use) : TComponentLocatorは純粋抽象基底クラスである。TComponentLocatorのサブク ラスは、そのインプリメンテーションで使用される資源をすべて管理しなければ ならない。クラス・インタフェース(class interface) メソッドの説明 このメソッドは多態的(polymorphically)に使用される純粋仮想関数(pure virtual function)である。 その目的は、ある範囲内にあって、ロケータに対して指定されたプロパティに一 致するプロパティをもつすべてのコンポーネントを見つけることである。探索範 囲としては、ボリューム、マシン、またはサブクラスによってサポートされるも のがある。探索条件(search condition)としては、プロパティ照会(property query)、ハードウェア機能(hardware capability)、またはサブクラスから 提供されるインプリメンテーションに依存するものがある。探索結果としては、 サブクラスによって指定された一切の種類の集合(any kind of collection)が ある。なんらかのコンポーネントが見つかると、探索から真(true)が返される 。 このメソッドは多態的に使用される純粋仮想関数である。その目的は、ロケー タに対して指定されたプロパティに一致するプロパティをもつ、指定された名前 のコンポーネントを見つけることである。 このメソッドは多態的に使用される純粋仮想関数である。その目的は、ロケー タに対して指定されたプロパティ値に一致するプロパティ値をもつコンポーネン トの追加に関する通知を得るために、クライアントが 使用してロケータに登録できる関心(interest)を作成することである。 このメソッドは多態的に使用される純粋仮想関数である。その目的は、ロケー タに対して指定されたプロパティに一致するプロパティをもつコンポーネントの 除去に関する通知を得るために、クライアントが使用してロケータに登録できる 関心(interest)を作成することである。 TFileLocator目的 : TFileLocatorはTComponentLocatorの具体的サブクラスであり、TComponentLoc atorによって定義されたプロトコルをインプリメントしている。 TFileLocatorの探索範囲はファイル・システム・エンティティTFSEntityであ る。探索条件はプロパティ照会TPropertyQueryである。探索結果はファイル・シ ステム・エンティティの集合または単一ファイル・システム・エンティティであ る。 TFileLocatorは、ファイル・システムにインプリメントされているプロパティ に依存する。インスタンス化 : TFileLocatorは直接にインスタンス化(インスタンス生成)できるので、TCom ponentLocatorによって定義されたプロトコルを完全にインプリメントすること ができる。派生クラス : TFileLocatorは、プロパティの異なるインプリメンテーションが使用されると きは、サブクラス化しなければならない。同時並行性 : TFileLocatorのインスタンスは共有されることがないので、マルチスレッドか ら保護する必要がない。資源の使用 : TFileLocatorは、それが作成するすべてのオブジェクトのストーレッジを管理 する。クラス・インタフェース メソッドの説明 このメソッドは、ボリュームまたはディレクトリ内のファイル・システム・エ ンティティを探し出すためにオーバライドされる。指定されたプロパティ照会に 一致するプロパティをもつ1つまたは2つ以上のファイル・システム・エンティ ティの集合を見つけると、 探索から真(true)が返される。 このメソッドは、指定されたプロパティ照会に一致するプロパティをもつ、指 定された名前のファイル・システム・エンティティを探し出すためにオーバライ ドされる。 このメソッドは、指定されたプロパティ照会に一致するプロパティをもつファ イル・システム・エンティティの追加に関する通知を得るために、クライアント が使用してファイル・ロケータに登録することができる関心を作成するためにオ ーバライドされる。 このメソッドは、指定されたプロパティ照会に一致するプロパティをもつファ イル・システム・エンティティの除去に関する通知を得るために、クライアント が使用してファイル・ロケータに登録することができる関心を作成するためにオ ーバライドされる。 例 次の例は、どのようにすれば、開発者がロケーショ ン・フレームワークを使用できるかを示している。この例は、TFileLocatorを含 んでいるTFontFileLocatorを示している。別の方法は、TFontFileLocatorを TFileLocatorから継承することである。クラス TFontFileLocatorの宣言は以下に示されている。 TFontFileLocatorはフォントを収めているファイルを見つけようとしている。 TFontFileLocatorコンストラクタは、指定された範囲でロケータ・サービスを構 築する。 TFontFileLocatorデストラクタはなにも行う必要がな い。 TFontFileLocator::FindAllはロケータ・サービスを使用して探索を行う。 TFontFileLocator::FindOneはロケータ・サービスを使用して指定された名前 のフォント・ファイルを見つける。 TFontFileLocator::CreateAddedInterstは、フォント・ファイルの追加に関す る通知を得るために、クライアントが使用してロケータ・サービスに登録するこ とができる関心を作成する。 TFontFileLocator::CreateRemoveddInterstは、フォント・ファイルの除去に 関する通知を得るために、クライアントが使用してロケータ・サービスに登録す ることができる関心を作成する。 第9図はスマート・フォルダ900を示す図であり、ロケータを使用して、ユー ザが収集することに関心をもっているドキュメント910、グラフィック・オブジ ェクト920、フォルダ903などを編成している様子を示している。そのあと、スマ ート・フォルダはロケータを呼び出し、フォルダに収集しようとする、望みの属 性を収めている特定のドキュメントを要求する。さらに、スマート・フォルダは 、望みの属性を収めている新しいドキュメントがシステムに追加されたり、シス テムから除去されるとき、そのことを通知するようにロケータに指示することが できる。 第10図は、好適実施例によるプレースのディスプレイをシミュレーションした 図である。プレース1000はロケータを使用して、そのプレースで使用するための 関連トラッシュ・ボックス1010を見つけて表示する。これは、システムがシステ ム定義の属性をトラッシュに付けることによって行われる。そのあと、プレース はロケータを呼び出し、そのプレースで使用しようとする望みの属性を収めてい る特定のトラッシュを要求する。ロケータは、表示された該当のトラッシュ・ボ ックスを返却する。 第11図は、本発明によるパーツビン(Parts Bin)のディスプレイをシミュレ ーションした図である。パーツ・ビン1100はロケータを使用して、「潜在的に」 接続可能なデバイスをすべて見つける。これは、システムがシステム定義の属性 をこれらのデバイスに付けることによって行われる。そのあと、パーツビンはロ ケータを呼び出し、パーツビンにカタログ登録しようとする望みの属性を収めて いる特定のデバイスを要求する。パーツビンのプレゼンテーションはウィンドウ 1100からなり、各デバイス・タイプを表すタブをもっている。例えば、タブには 、プリンタ1110とモデム1120を表すものがある。ユーザはプリンタ・タブを使用 すると、すべてのプリンタ(プリンタ・デバイス・ロケータが見つけたもの)を 表示することができる。
───────────────────────────────────────────────────── フロントページの続き (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.メモリと、メモリに常駐しているオペレーティング・システムとを有するコ ンピュータ上のシステム・コンポーネントを処理する方法であって、 (a)ターゲット・システム・コンポーネントを判断するステップ、 (b)前記ターゲット・システム・コンポーネントに一致する1つまたは2つ 以上のシステム・コンポーネントを識別するようにオペレーティング・システム に照会するステップと、 (c)一致したシステム・コンポーネントをロケータ要求を通して返却して、 前記1つまたは2つ以上のシステム・コンポーネントへのアクセスを可能にする ステップと を備えたことを特徴とする方法。 2.探索範囲を判断するステップを含むことを特徴とする請求の範囲第1項に記 載の方法。 3.コンポーネントが、システム・コンポーネントを含むことを特徴とする請求 の範囲第1項に記載の方法。 4.コンポーネントが、ネットワーク・コンポーネン トを含むことを特徴とする請求の範囲第1項に記載の方法。 5.コンポーネントが、アプリケーション・コンポーネントを含むことを特徴と する請求の範囲第1項に記載の方法。 6.ロケータから返却されたコンポーネントを使用して、そのコンポーネントを システム全体で使用するために利用できるようにするステップを含むことを特徴 とする請求の範囲第1項に記載の方法。 7.オペレーティング・システムをブートし直さないでコンポーネントを動的に 除去するステップを含むことを特徴とする請求の範囲第1項に記載の方法。 8.オペレーティング・システムをブートし直さないでコンポーネントを動的に 追加するステップを含むことを特徴とする請求の範囲第1項に記載の方法。 9.ロケータに対して指定されたシステムに行った更新に基づいてアプリケーシ ョンを動的に更新するステップを含むことを特徴とする請求の範囲第1項に記載 の方法。 10.ユーザの選択に従って情報を編成するステップを含むことを特徴とする請求 の範囲第1項に記載の方法。 11.ロケータに対して指定されたデフォルト情報でフォルダを作成するステップ を含むことを特徴とする請求の範囲第1項に記載の方法。 12.コンポーネントは、プレースに関連づけられた特定のトラッシュ・ボックス を含むことを特徴とする請求の範囲第1項に記載の方法。 13.メニューバーを利用してロケータ・エンティティを選択するステップを含む ことを特徴とする請求の範囲第1項に記載の方法。 14.少なくとも1つのポップアップ・メニューを利用して、ロケータに対してタ ーゲット・コンポーネントを指定するステップを含むことを特徴とする請求の範 囲第1項に記載の方法。 15.コンポーネントへの直接アクセスを可能にするコンボーネント・ポインタの リストを作成するステップを含むことを特徴とする請求の範囲第1項に記載の方 法。 16.少なくとも1つのプルダウン・メニューを利用するステップを含むことを特 徴とする請求の範囲第1項に記載の方法。 17.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ と互換性のある複数のツールを表示するステップを含むことを特徴とする請求の 範囲第16項に記載の方法。 18.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ で利用できる複数のビューを表示するステップを含むことを特徴とする請求の範 囲第16項に記載の方法。 19.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ で利用できる複数のフォントを表示するステップを含むことを特徴とする請求の 範囲第16項に記載の方法。 20.少なくとも1つのプルダウン・メニューを利用して、特定のツールと互換性 のある複数の選好を表示するステップを含むことを特徴とする請求の範囲第16項 に記載の方法。 21.メモリと、メモリに常駐しているオペレーティン グ・システムとを装備したコンピュータ上のシステム・コンポーネントを処理す る方法であって、 (a)探索基準を判断し、 (b)探索基準に一致する1つまたは2つ以上のシステム・コンポーネントを 識別するようにオペレーティング・システムに照会し、 (c)一致したシステム・コンポーネントをロケータ要求を通して返却して、 1つまたは2つ以上のシステム・コンポーネントへのアクセスを可能にするステ ップからなることを特徴とする方法。 22.メモリと、メモリに常駐しているオペレーティング・システムとを装備した コンピュータ上のコンポーネントを処理する装置であって、 (a)ターゲット・システム・コンポーネントを判断する手段と、 (b)ターゲット・システム・コンポーネントに一致する1つまたは2つ以上 のシステム・コンポーネントを識別するようにオペレーティング・システムに照 会する手段と、 (c)一致したコンポーネントをロケータ要求を通して返却して、1つまたは 2つ以上のシステム・コンポーネントへのアクセスを可能にする手段とを備えて いることを特徴とする装置。 23.探索範囲を判断する手段を含むことを特徴とする請求の範囲第22項に記載の 装置。 24.コンポーネントは、システム・コンポーネントを含むことを特徴とする請求 の範囲第22項に記載の装置。 25.コンポーネントは、ネットワーク・コンポーネントを含むことを特徴とする 請求の範囲第22項に記載の装置。 26.コンポーネントは、アプリケーション・コンポーネントを含むことを特徴と する請求の範囲第22項に記載の装置。 27.ロケータから返却されたコンポーネントを使用して、そのコンポーネントを システム全体で使用するために利用できるようにする手段を含むことを特徴とす る請求の範囲第22項に記載の装置。 28.オペレーティング・システムをブートし直さないでコンポーネントを動的に 追加する手段を含むことを特徴とする請求の範囲第22項に記載の装置。 29.オペレーティング・システムをブートし直さない でコンポーネントを動的に除去する手段を含むことを特徴とする請求の範囲第22 項に記載の装置。 30.ロケータに対して指定されたシステムに行った更新に基づいてアプリケーシ ョンを動的に更新する手段を含むことを特徴とする請求の範囲第22項に記載の装 置。 31.ユーザの選好に従って情報を編成する手段を含むことを特徴とする請求の範 囲第22項に記載の装置。 32.ロケータに対して指定されたデフォルト情報でフォルダを作成する手段を含 むことを特徴とする請求の範囲第22項に記載の装置。 33.コンポーネントは、プレースとリンクされた特定のトラッシュ・ボックスを 含むことを特徴とする請求の範囲第22項に記載の装置。 34.メニューバーを利用してロケータ・エンティティを選択する手段を含むこと を特徴とする請求の範囲第22項に記載の装置。 35.コンポーネントへの直接アクセスを可能にするコンポーネント・ポインタの リストを作成する手段を含 むことを特徴とする請求の範囲第22項に記載の装置。 36.ロケータに対して指定されたデフォルト情報でフォルダを作成する手段を含 むことを特徴とする請求の範囲第22項に記載の装置。 37.少なくとも1つのプルダウン・メニューを利用する手段を含むことを特徴と する請求の範囲第22項に記載の装置。 38.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ と互換性のある複数のツールを表示する手段を含むことを特徴とする請求の範囲 第37項に記載の装置。 39.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ で利用できる複数のビューを表示する手段を含むことを特徴とする請求の範囲第 37項に記載の装置。 40.少なくとも1つのプルダウン・メニューを利用して、特定のデータ・タイプ で利用できる複数のフォントを表示する手段を含むことを特徴とする請求の範囲 第37項に記載の装置。 41.少なくとも1つのプルダウン・メニューを利用して、特定のツールと互換性 のある複数の選好を表示すて手段を含むことを特徴とする請求の範囲第37項に記 載の装置。
JP07506389A 1993-08-04 1994-01-03 オブジェクト指向システムのロケータ・システム Expired - Lifetime JP3131223B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US102,080 1987-09-29
US08/102,080 1993-08-04
US08/102,080 US5379430A (en) 1993-08-04 1993-08-04 Object-oriented system locator system
PCT/US1994/000277 WO1995004967A1 (en) 1993-08-04 1994-01-03 Object-oriented system locator system

Publications (2)

Publication Number Publication Date
JPH08503323A true JPH08503323A (ja) 1996-04-09
JP3131223B2 JP3131223B2 (ja) 2001-01-31

Family

ID=22288024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07506389A Expired - Lifetime JP3131223B2 (ja) 1993-08-04 1994-01-03 オブジェクト指向システムのロケータ・システム

Country Status (7)

Country Link
US (1) US5379430A (ja)
EP (1) EP0664028B1 (ja)
JP (1) JP3131223B2 (ja)
AU (1) AU6085194A (ja)
CA (1) CA2144731A1 (ja)
DE (1) DE69402523T2 (ja)
WO (1) WO1995004967A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682532A (en) * 1994-05-02 1997-10-28 Microsoft Corporation System and method having programmable containers with functionality for managing objects
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US5857102A (en) * 1995-03-14 1999-01-05 Sun Microsystems, Inc. System and method for determining and manipulating configuration information of servers in a distributed object environment
JP3590688B2 (ja) * 1995-04-05 2004-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム
US5867713A (en) * 1995-04-05 1999-02-02 International Business Machines Corporation Committing an install plan object for the network installation of application programs
US5678044A (en) * 1995-06-02 1997-10-14 Electronic Data Systems Corporation System and method for improved rehosting of software systems
US6449660B1 (en) 1995-07-31 2002-09-10 International Business Machines Corporation Object-oriented I/O device interface framework mechanism
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US5696968A (en) * 1995-09-21 1997-12-09 Dell U.S.A., L.P. Method and apparatus for effecting drive ordering via adapter preference
US6003037A (en) * 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software
US6598035B2 (en) * 1995-11-17 2003-07-22 International Business Machines Corporation Object oriented rule-based expert system framework mechanism
US6298476B1 (en) * 1995-12-04 2001-10-02 International Business Machines Corporation Object oriented software build framework mechanism
US5793982A (en) * 1995-12-07 1998-08-11 International Business Machine Corporation Validating an installation plan containing multiple transports and redirectors by adding data structure of the modules to the plan if the indicated transport and redirector modules are unavailable
US5768505A (en) * 1995-12-19 1998-06-16 International Business Machines Corporation Object oriented mail server framework mechanism
US6144967A (en) * 1996-01-25 2000-11-07 International Business Machines Corporation Object oriented processing log analysis tool framework mechanism
US6434739B1 (en) 1996-04-22 2002-08-13 International Business Machines Corporation Object oriented framework mechanism for multi-target source code processing
US6081798A (en) * 1996-04-24 2000-06-27 International Business Machines Corp. Object oriented case-based reasoning framework mechanism
US5778378A (en) * 1996-04-30 1998-07-07 International Business Machines Corporation Object oriented information retrieval framework mechanism
US6038590A (en) * 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US5848246A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5987245A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5915252A (en) * 1996-09-30 1999-06-22 International Business Machines Corporation Object oriented framework mechanism for data transfer between a data source and a data target
US6104874A (en) * 1996-10-15 2000-08-15 International Business Machines Corporation Object oriented framework mechanism for order processing including pre-defined extensible classes for defining an order processing environment
US5937189A (en) * 1996-11-12 1999-08-10 International Business Machines Corporation Object oriented framework mechanism for determining configuration relations
US5970498A (en) * 1996-12-06 1999-10-19 International Business Machines Corporation Object oriented framework mechanism for metering objects
US5790425A (en) * 1997-02-19 1998-08-04 Sun Microsystems, Inc. Generic server benchmarking framework in a client-server environment
US6041312A (en) * 1997-03-28 2000-03-21 International Business Machines Corporation Object oriented technology framework for accounts receivable and accounts payable
US5936860A (en) * 1997-03-28 1999-08-10 International Business Machines Corporation Object oriented technology framework for warehouse control
US5987423A (en) * 1997-03-28 1999-11-16 International Business Machines Corporation Object oriented technology framework for order processing
US6014637A (en) * 1997-04-30 2000-01-11 International Business Machines Corporation Object oriented framework mechanism for fulfillment requirements management
US6335972B1 (en) 1997-05-23 2002-01-01 International Business Machines Corporation Framework-based cryptographic key recovery system
US6473893B1 (en) 1997-05-30 2002-10-29 International Business Machines Corporation Information objects system, method, and computer program organization
US5893106A (en) * 1997-07-11 1999-04-06 International Business Machines Corporation Object oriented server process framework with interdependent-object creation
US6513152B1 (en) 1997-07-23 2003-01-28 International Business Machines Corporation Object oriented framework mechanism for customization of object oriented frameworks
US6378002B1 (en) 1997-08-05 2002-04-23 International Business Machines Corporation, Object oriented server process framework with implicit data handling registry for remote method invocations
US6052670A (en) * 1997-08-29 2000-04-18 International Business Machines Corporation Object oriented framework mechanism for an electronic catalog
US6016495A (en) * 1997-09-19 2000-01-18 International Business Machines Corporation Object-oriented framework mechanism for providing persistent storage
AU3236000A (en) * 1999-02-25 2000-09-14 Sony Electronics Inc. System and method for implementing active registries in an electronic network
WO2000062479A2 (en) * 1999-04-09 2000-10-19 Sony Electronics Inc. System and method for maintaining fully-replicated registries in an electronic network
US7346910B1 (en) 2000-05-26 2008-03-18 International Business Machines Incorporation Administration of groups of computer programs, data processing systems, or system resources
EP1246054A1 (en) * 2001-03-30 2002-10-02 BRITISH TELECOMMUNICATIONS public limited company Creating software programs from software components
US6976036B2 (en) * 2001-11-06 2005-12-13 Science Applications International Corporation Database management system
US20110185353A1 (en) * 2010-01-27 2011-07-28 Jack Matthew Mitigating Problems Arising From Incompatible Software

Family Cites Families (16)

* 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
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
JPH0797316B2 (ja) * 1991-06-28 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション ロケーション情報にアクセスするための方法及び装置

Also Published As

Publication number Publication date
AU6085194A (en) 1995-02-28
WO1995004967A1 (en) 1995-02-16
EP0664028B1 (en) 1997-04-09
DE69402523T2 (de) 1997-11-13
CA2144731A1 (en) 1995-02-16
JP3131223B2 (ja) 2001-01-31
DE69402523D1 (de) 1997-05-15
EP0664028A1 (en) 1995-07-26
US5379430A (en) 1995-01-03

Similar Documents

Publication Publication Date Title
JP3131223B2 (ja) オブジェクト指向システムのロケータ・システム
US5396626A (en) Object-oriented locator system
US5933646A (en) Software manager for administration of a computer operating system
Meyrowitz Intermedia: The architecture and construction of an object-oriented hypemedia system and applications framework
US5890176A (en) Object-oriented document version tracking method and apparatus
JP3798015B2 (ja) プレース・オブジェクト・システム
US6023578A (en) Systems, methods and computer program products for generating an object oriented application for an object oriented environment
US6704743B1 (en) Selective inheritance of object parameters in object-oriented computer environment
US7043481B2 (en) System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships
US6059838A (en) Method and system for licensed design and use of software objects
US6928431B2 (en) Dynamic end user specific customization of an application's physical data layer through a data repository abstraction layer
JPH08511118A (ja) コンテナ・オブジェクト・システム
US8838667B2 (en) Event routing mechanism in a computer system
US8949780B2 (en) System and method for generating web sites in an arbitrary object framework
US7908582B2 (en) System and method to facilitate design-time component discovery
US20050065942A1 (en) Enhancing object-oriented programming through tables
KR101076905B1 (ko) 관련 아이템을 사용자에게 프리젠팅하기 위한 시스템 및방법
JPH09502040A (ja) オブジェクト指向コンストラクティブ・エリア・システム
JPH09500465A (ja) ダイナミック・リンク・システム
KR20060114282A (ko) 문맥 프리젠테이션에 따라 아이템을 사용자에게프리젠팅하기 위한 시스템 및 방법
EP0841612A2 (en) Framework for software development
US20080288918A1 (en) Web service tool based on business object layer
JPH09500744A (ja) プレース・オブジェクト・システム
US6223185B1 (en) Method for defining composed object methods and attributes by dynamically presenting composite values and options
US7793309B2 (en) Method and apparatus for a container managed persistent entity bean support architecture

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071117

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 13

EXPY Cancellation because of completion of term