JPH10154095A - 多数ディレクトリサービスに一様にアクセスするための方法及びシステム - Google Patents
多数ディレクトリサービスに一様にアクセスするための方法及びシステムInfo
- Publication number
- JPH10154095A JPH10154095A JP9211148A JP21114897A JPH10154095A JP H10154095 A JPH10154095 A JP H10154095A JP 9211148 A JP9211148 A JP 9211148A JP 21114897 A JP21114897 A JP 21114897A JP H10154095 A JPH10154095 A JP H10154095A
- Authority
- JP
- Japan
- Prior art keywords
- directory service
- property
- interface
- class
- oleds
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
する。 【解決手段】 ディレクトリサービスが管理する情報の
タイプは、オブジェクトクラスで定義され、オブジェク
トクラスは、プロパティ(即ち、情報)を定義する。各
プロパティはプロパティ名とプロパティタイプを有す
る。スキーマブラウジングコンポーネントはプロパティ
名及びプロパティタイプの検索を制御する。名前解読コ
ンポーネントは、ディレクトリサービス内のオブジェク
トの識別子の受け取りとオブジェクトの捜し出しを制御
する。割り当てコンポーネントはディレクトリサービス
内に捜し出されたオブジェクトを表わすインメモリオブ
ジェクトに割り当てを制御する。拡張コンポーネントは
各ディレクトリサービスに新しいオブジェクトクラスと
プロパティの定義を制御する。ディレクトリサービスシ
ステムのクライアントは新しいオブジェクトクラスとプ
ロパティの定義に拡張コンポーネントを使用する。
Description
スのディレクトリサービスに関し、特に、ディレクトリ
サービスに一様にアクセスするための方法及びシステム
に関する。
ンピュータシステム及びそのユーザに関する多量のデー
タをストアし且つ保持する。例えば、コンピュータシス
テムはコンピュータシステムのユーザの名前、電子メー
ルアドレス、及び、電話番号を保持する。コンピュータ
システムはまた、コンピュータシステムに接続された種
々のプリンタに関する情報も保持する。この情報は、プ
リンタ特性(例えば、レーザ及びカラー)及び各プリン
タを使用するのに許可された使用者の名前を含む。「ク
ライアント」として知られる種々の異なるタイプのコン
ピュータプログラムは、この情報にアクセスする必要が
ある。例えば、あるクライアントは、プリンタが書類を
カラーでプリントするのに使用されることができること
を判断するのに必要であるコンピュータプログラムであ
ってよい。別のクライアントは、例えば、新しく追加さ
れたプリンタに関する情報を反映するように、システム
管理者が情報を更新することができるコンピュータプロ
グラムであってよい。コンピュータシステムはかかる情
報を位置及びフォーマットの相違において伝統的にスト
アしてきた。例えば、プリンタに関する情報はコンフィ
ギュレーションファイルにストアされ、ユーザに関する
情報はデータベースにストアされてもよい。従って、一
般的には、クライアントを開発するプログラマはこの情
報にアクセスする仕方を知ることはもちろんとして、こ
の情報をどこで探すのかを知ることさえ困難であった。
をストアし且つ保持するのに役立つようにディレクトリ
サービスを提供する。ディレクトリサービスはクライア
ントがネットワークにアクセスすることができるこの情
報のリポジトリを提供する。一般的には、ディレクトリ
サービスは情報が「オブジェクト」として保持されてい
るもの(例えば、ユーザ、プリンタ、又は、アクセスグ
ループ)を表わす。ディレクトリサービスはかかるオブ
ジェクトの階層をディレクトリに構成する。即ち、コン
テナオブジェクトと呼ばれるあるオブジェクトが、包含
されたオブジェクトと呼ばれる種々の他のオブジェクト
を包含する。例えば、共通アクセス権をリソースに対し
て共有するユーザを含むアクセスグループは、包含され
たオブジェクトであるユーザを包含するコンテナオブジ
ェクトである。ディレクトリサービスが情報を保持する
各オブジェクトは、クライアントがオブジェクトを識別
することができる一意的な識別子(例えば、名前)を有
する。ディレクトリサービスはコンピュータシステムに
関する情報を保持するように元来開発されたけれども、
それらはコンピュータシステムと関係が無い情報を保持
するのに使用されることができる。例えば、ディレクト
リサービスは飛行機の構成要素及びサブコンポーネント
のためのパーツリストを保持するために飛行機製造業者
によって使用されることができる。
層構造を図示する。各ブロックは特定の「オブジェクト
クラス」のオブジェクトを表わす。例えば、会社を表わ
すオブジェクトは「会社(Company)」と名付けられたオ
ブジェクトクラスを有する。各オブジェクトクラスはそ
のオブジェクトクラスオブジェクトのプロパティを定義
する。例えば、前記会社オブジェクトクラスはプロパテ
ィ「名前」及び「住所」を定義することができる。各オ
ブジェクトはオブジェクトクラスに関して定義された各
プロパティに関するプロパティ値を有する。例えば、会
社オブジェクトクラスのオブジェクトは名前プロパティ
に関してプロパティ値「MS」を有することができる。
ブロック101 は会社オブジェクトクラスのオブジェクト
に対応し、名前及び住所プロパティに関する値を有す
る。ブロック102 は部門オブジェクトクラスのオブジェ
クトに対応し、部門の名前(例えば、「システム(Syst
em)」)に関する値を有する。ブロック103 はユーザオ
ブジェクトクラスのオブジェクトに対応し、ユーザの電
子メールアドレスに関する値を有する。ディレクトリサ
ービスは階層的に構成されているので、各オブジェクト
をルートからオブジェクトまでのパスによって一意的に
識別することができる。例えば、オブジェクト102 はパ
ス「Company=MS\Division=Systems」によって一意的に
識別される。ディレクトリサービスは、ネームスペース
(namespace )と呼ばれる概念的有限空間を提供し、特
定の名前を解読することができる。ディレクトリサービ
スはディレクトリのオブジェクトのパスを明瞭に解読す
る。
テムを提供する。典型的には、各ベンダは、クライアン
トがそのディレクトリサービスにアクセスすることを可
能にするためにアプリケーションプログラミングインタ
ーフェース(API)を設計し且つインプリメントす
る。従って、各ディレクトリサービスシステムは、非常
に異なるAPIセットを有し、且つ、一般的に行われて
いる。クライアントが異なるディレクトリサービスシス
テムを使用する必要があるならば、例えば、クライアン
トはパーソナルコンピュータ及びメインフレームコンピ
ュータを含む環境で作動するので、クライアントのプロ
グラマは各ディレクトリサービスのAPIセットについ
て知る必要があり、APIセットの各々をサポートする
ようにクライアントを設計する必要がある。
も、一般的にはAPIセットは類似した機能性を提供す
る。一般的には、APIセットは、オブジェクトのプロ
パティ値にアクセスするためのファンクションと、新し
いオブジェクトクラスを定義するためのファンクション
とを含む。オブジェクトを処理するファンクションは、
例えば、OpenObject、ReadObject、WriteObject 、List
Object、CloseObject、CreateObject及びDereteObject
である。オブジェクトへの識別(例えば、パス)がファ
ンクションOpenObjectにパスされ、ファンクションOpen
Objectはそのオブジェクトを識別するハンドルをリター
ンする。このハンドルはオープンオブジェクトをディレ
クトリサービスに対して識別するためにクライアントに
よって続いて使用される。ファンクションOpenObjectは
オブジェクトを識別するために識別を使用し、次いで、
識別されたオブジェクトのプロパティを位置決めする。
オープンオブジェクト、及び、検索されるべきそのオブ
ジェクトのプロパティの名前のリストへのハンドルがフ
ァンクションReadObjectにパスされる。ファンクション
ReadObjectはそれらのプロパティに関して現在のプロパ
ティ値をリターンする。オープンオブジェクトと、プロ
パティ名及びプロパティ値ペアのリストへのハンドルが
ファンクションWriteObject にパスされる。ファンクシ
ョンWriteObject はペアのプロパティ値に対するオープ
ンオブジェクトにおいて各々名付けられたプロパティを
セットする。オープンオブジェクトへのハンドルがファ
ンクションListObjectにパスされ、ファンクションList
Objectはオープンオブジェクト内で収容された各オブジ
ェクトの識別を収容するリストをリターンする。オープ
ンオブジェクトへのハンドルがファンクションCloseObj
ect にパスされ、それがそのハンドルでもはやアクセス
することができないように、ファンクションCloseObjec
t はオブジェクトを閉じる。オブジェクトクラスがファ
ンクションCreateObjectにパスされ、ファンクションCr
eateObjectは、オープンオブジェクト内で収容されてい
るオブジェクトクラスのオブジェクトを作り、ハンドル
を包含されたオブジェクトにリターンする。オープンオ
ブジェクトへのハンドルがファンクションDeleteObject
にパスされ、ファンクションDeleteObjectはオープンオ
ブジェクトをそのコンテナオブジェクトから除去する。
ンクションは、CreateObjectClass、DeleteObjectClass
、CreateProperty、DeleteProperty、AddPropertyToOb
jectClass、DeletePropertyFromObjectClass 、及び、L
istPropertiesOfObjectClass である。新しいオブジェ
クトクラスの名前がファンクションCreateObjectClass
にパスされ、ファンクションCreateObjectClass は新し
いオブジェクトクラスを作る。いったんオブジェクトク
ラスが作られたら、次いで、クライアントはそのオブジ
ェクトクラスのオブジェクトを作ることができる。プロ
パティの名前及びプロパティタイプ(例えば、整数又は
列)がファンクションCreatePropertyにパスされ、ファ
ンクションCreatePropertyはそのプロパティタイプ(例
えば、「列」のプロパティタイプを有する「住所」のプ
ロパティ名)のプロパティを作る。オブジェクトクラス
の名前及びプロパティの名前がファンクションンAddPro
pertyToObjectClassにパスされ、ファンクションンAddP
ropertyToObjectClassは名付けられたオブジェクトクラ
スのプロパティとして名付けられたプロパティを加え
る。オブジェクトクラスの名前がファンクションListPr
opertiesOfObjectClass にパスされ、ファンクションLi
stPropertiesOfObjectClass はそのオブジェクトクラス
に加えられているプロパティのリストをリターンする。
ファンクションDeleteObjectClass 、DeleteProperty、
及び、DeletePropertyFromObjectClassはそれらの名前
によって示唆される振る舞いを行う。
術を使用し、従って、周知のオブジェクト指向プログラ
ミング技術を提供する。(「オブジェクト」という用語
は、異なる文脈において使用された場合、多くの異なる
意味を有する。背景の残りでは、「オブジェクト」とい
う用語は、オブジェクト指向センスにおいては、インメ
モリデータ構造を指すために用いられる。)オブジェク
ト指向プログラミング言語の2つの共通の特徴は、デー
タ隠蔽に対するサポートと、データタイプ承継である。
データ隠蔽はファンクションとデータの割り当てを指
す。承継は、他のデータタイプに関してデータタイプを
宣言する能力を指す。C++言語では、データ隠蔽及び承
継はクラスの使用を介してサポートされる。クラスはユ
ーザ定義タイプである。クラス宣言はクラスのデータメ
ンバ及びファンクションメンバを記述する。ファンクシ
ョンメンバはまた、クラスのメソッドとして示される。
クラスのデータメンバ及びファンクションメンバは、フ
ァンクションがクラスのインスタンスで作動するように
一緒に割り当てられる。クラスのインスタンスはまた、
クラスのオブジェクトと呼ばれる。従って、クラスは、
類似のプロパティと共通の性質を有するオブジェクトの
グループに関して定義を設ける。
関してストレージを割り当てるために、オブジェクトが
例示される。いったん例示されたならば、データは特定
のオブジェクトのデータメンバに割り当てられることが
できる。また、いったん例示されたならば、特定のオブ
ジェクトのファンクションメンバはアクセスするために
呼び出されることができ、データメンバを操作する。従
って、この仕方では、ファンクションメンバはオブジェ
クトの性質をインプリメントし、オブジェクトはデータ
及び性質を単一のエンティティへ隠蔽するための構造を
提供する。承継の概念を支持するために、クラスは他の
クラスから(他のクラスの宣言に基づいて)導出されう
る。導出クラスは、そのベースクラスの特徴(データメ
ンバ及びファンクションメンバ)を承継するクラスであ
る。別のクラスの特徴を承継するクラスが導出クラスで
ある。別のクラスの特徴を承継しないクラスがプライマ
リ(ルート)クラスである。その特徴が別のクラスによ
って承継されるクラスがベースクラスである。導出クラ
スは種々のクラスの特徴を承継し、即ち、導出クラスは
種々のベースクラスを有しても良い。
がバーチャルであるかどうかを指定しうる。ファンクシ
ョンメンバがバーチャル手段であることを宣言すると
き、ファンクションを導出クラスにおいて同じ名前及び
タイプのファンクションによって無効にすることができ
る。バーチャルファンクションがインプリメンテーショ
ンを行うことなく宣言されるならば、次いで、それは純
粋バーチャルファンクションとして示される。純粋バー
チャルファンクションは純粋規則子「=0」で宣言され
たバーチャルファンクションである。クラスが純粋バー
チャルファンクションを指定するならば、次いで、ファ
ンクションメンバが呼び出される前に、いかなる導出ク
ラスもそのファンクションメンバに関してインプリメン
テーションを指定する必要がある。少なくとも1つの純
粋バーチャルファンクションメンバを包含するクラスが
アブストラクトクラスである。
れる典型的なデータ構造を図示するブロック図である。
オブジェクトはオブジェクトの性質をインプリメントす
るインスタンスデータ(データメンバ)及びファンクシ
ョンメンバを有する。オブジェクトを表わすのに使用さ
れるデータ構造は、インスタンスデータ構造201 と、バ
ーチャルファンクションテーブル202 と、ファンクショ
ンメンバ203,204,205からなる。インスタンスデータ構
造201 はポインタをバーチャルファンクションテーブル
202 に含み、データメンバを含む。バーチャルファンク
ションテーブル202 はオブジェクトに関して定義された
各バーチャルファンクションメンバに関するエントリを
含む。各エントリは、対応するファンクションメンバを
インプリメントするコードとの関連を含む。このサンプ
ルオブジェクトのレイアウトは、ここに援用する「オブ
ジェクト指向プログラミング言語に関するコンパイラに
おけるバーチャルファンクション及びバーチャルベース
をインプリメントするための方法」と題する、米国特許
第5,297,284 号に説明されたモデルに従う。以下では、
オブジェクトをC++プログラミング言語によって定義さ
れたようなクラスのインスタンスとして説明する。当業
者には他のオブジェクトモデルが他のプログラミング言
語を使用して定義されることは明らかである。
点は、これらの技術はオブジェクトを共有することを容
易にするために使用されることができることである。例
えば、例示されたオブジェクトのファンクションメンバ
(「サーバプログラム」)をインプリメントするプログ
ラムは、他のプログラム(「クライアントプログラ
ム」)を有するオブジェクトを共有することができる。
任意のクラスのオブジェクトがクライアントプログラム
で共有されることを可能にするために、オブジェクトが
コンパイル時間でクラス定義にアクセスさせるために、
クライアントプログラムの必要性なしにアクセスされる
ことができるインターフェースが定義される。インター
フェースは論理的に関連したファンクションメンバの名
付けられたセットである。C++では、インターフェース
はデータメンバを有しないアブストラクトクラスであ
り、そのバーチャルファンクションは全てピュアであ
る。従って、インターフェースは通信するために2つの
プログラムに関して発行されたプロトコルを提供する。
インターフェースは典型的には導出のために使用され、
即ち、プログラムはクラスを定義(インプリメント)
し、かかるクラスはクラスを導出するインターフェース
に関してインプリメンテーションを行う。その後、オブ
ジェクトはこれらの導出クラスのインスタンスとして作
られる。特定のインターフェースをインプリメントする
導出クラスから例示されたオブジェクトはインターフェ
ースを「サポート」すると言う。オブジェクトは、所望
の機能に依存する1又はそれ以上のインターフェースを
サポートする。
共有することを望む場合、クライアントプログラムはオ
ブジェクト(導出クラスコード)に関してインターフェ
ースをインプリメントするコードにアクセスする必要が
ある。ワシントン州レッドモンドのマイクロソフトコー
ポレーションによって確立されたOLE2.01環境では、
導出クラスコード(または、クラスコードとして示され
る)にアクセスするために、各クラスインプリメンテー
ションは一意的なクラス識別子(「CLSID 」)が与えら
れる。OLE2.01は『インサイドOLE』第2版(マイ
クロソフトプレス発行、1995年、Kraig Brockschmidt
著)に記述されている。例えば、マイクロソフトコーポ
レーションによって開発されたスプレッドシートオブジ
ェクトをインプリメントするコードは「MSSpreadsheet
」というクラス識別子を有し、他の会社によって開発
されたスプレッドシートオブジェクトをインプリメント
するコードは「LTSSpreadsheet」というクラス識別子を
有する。クラスをインプリメントするコードに各CLSID
をマップする、各コンピュータシステムの保存性レジス
トリが保持される。典型的には、スプレッドシートプロ
グラムがコンピュータシステムにインストールされたと
き、保存性レジストリはスプレッドシートオブジェクト
のそのクラスの可用性を反映するために更新される。ス
プレッドシート開発者がスプレッドシートオブジェクト
によってサポートされるべきインターフェースによって
定義された各ファンクションメンバをインプリメントす
る限り、及び、保存性レジストリが保持されている限
り、クライアントプログラムは、サーバプログラムがイ
ンプリメントされたそれらを有すること或いはそれらが
どうやってインプリメントされているかに関係なく、共
有されたスプレッドシートオブジェクトのファンクショ
ンメンバにアクセスすることができる。
ポートし、他のインターフェースをサポートしないの
で、クライアントプログラムは、特定のオブジェクトが
特定のインターフェースをサポートするかどうかをラン
タイムで判断する必要がある。この判断を可能にするた
めに、全てのCOM オブジェクトは、ファンクションメン
バを含むIUnknownインターフェースと、オブジェクトに
関してインプリメントされたインターフェースを指示す
るQueryInterfaceとをサポートする。QueryInterfaceメ
ソッドは以下のように定義される:virtual HRESULT Qu
eryInterface(REFID iid, void**ppv)=0;(REFID タイ
プの)パラメータiid におけるインターフェース識別子
がQueryInterfaceメソッドにパスされ、QueryInterface
メソッドはパラメータppv においてポインタを指定され
たインターフェース「iid 」のインプリメンテーション
にリターンする。従って、QueryInterfaceメソッドは典
型的には、それが属するオブジェクトの使用可能な全て
のインターフェースについて知るためにコード化され
る。オブジェクトがそのインターフェースをサポートし
ないならば、次いで、QueryInterfaceメソッドは偽を返
す。タイプHRESULT は所定のステータスを指示する。
レンスカウントをインプリメントするのに使用されるメ
ソッドAddRef及びRelease を定義する。インターフェー
スに対して新しいリファレンスが作られるときはいつで
も、AddRefメソッドはオブジェクトのリファレンスカウ
ントを増加させるために呼び出される。リファレンスが
もはや必要とされないとき、Release メソッドはオブジ
ェクトのリファレンスカウントを減少させるために呼び
出され、リファレンスカウントがゼロにいたるとき、オ
ブジェクトは割り当て解除される。
フェースに関する定義と、複数のディレクトリサービス
に一様な仕方でアクセスすることができるプロバイダソ
フトウェアのためのモデルとを提供する。各ディレクト
リサービスプロバイダはそのディレクトリサービスのオ
ブジェクトに関する情報を管理する。ディレクトリサー
ビスがオブジェクトのために管理する情報のタイプはオ
ブジェクトのオブジェクトクラスによって定義される。
オブジェクトクラスは、ディレクトリサービスがそのオ
ブジェクトクラスのオブジェクトのために管理するプロ
パティ(即ち、情報)を定義する。各プロパティはプロ
パティ名とプロパティタイプを有する。ディレクトリサ
ービスは各オブジェクトのオブジェクトクラスによって
定義された各プロパティに関してプロパティ値を有す
る。ディレクトリサービスシステムはスキーマブラウジ
ング構成要素、名前解読構成要素、割り当て構成要素、
及び、拡張構成要素からなる。スキーマブラウジング構
成要素は、各ディレクトリサービスの各オブジェクトク
ラスの各プロパティのプロパティ名とプロパティタイプ
を検索することを制御する。ディレクトリサービスシス
テムのクライアントは、オブジェクトクラスのプロパテ
ィ名とプロパティタイプを検索するためにスキーマブラ
ウジング構成要素を使用する。名前解読構成要素は、オ
ブジェクトの一意的な識別子をディレクトリサービス内
に受け取ることと、オブジェクトをディレクトリサービ
ス内に配置することとを制御する。割り当て構成要素
は、ディレクトリサービスの配置されたオブジェクトを
表わすインメモリオブジェクトに対して割り当てること
を制御する。拡張構成要素は、各ディレクトリサービス
に関して新しいオブジェクトクラス及び新しいプロパテ
ィを定義することを制御する。ディレクトリサービスシ
ステムのクライアントは新しいオブジェクトクラス及び
新しいプロパティを定義するために拡張構成要素を使用
する。
トリサービスに均一にアクセスするためのフレームワー
クを提供する。好ましい実施形態では、OleDs と呼ばれ
るディレクトリサービスシステムは、クライアントが、
OleDs オブジェクト、属性及びインターフェースの単
一、共通のセットを使用するこれらの種々のディレクト
リサービスのコンテンツにアクセスすることを可能にす
るアーキテクチャを提供する。OleDs オブジェクトは、
ディレクトリサービスのオブジェクト及びディレクトリ
サービスのオブジェクトクラスに対応するインメモリデ
ータ構造である。OleDs オブジェクトがオブジェクトに
一致するとき、それはプロパティ値にアクセスするため
のインターフェースとそのオブジェクトのメソッドを提
供する。OleDs オブジェクトがオブジェクトクラスに対
応するとき、それはそのオブジェクトクラスの定義にア
クセスするためのインターフェースを提供する。ディレ
クトリサービスの各プロバイダは、APIセットの振る
舞いをそれらのOleDs インターフェースの振る舞いにマ
ップするディレクトリサービスに関してそれらのインタ
ーフェースのインプリメンテーションを提供する。この
方法では、OleDs アーキテクチャを使用するために開発
されたクライアントが、それらのAPIセットの違いに
かかわらず、それらのディレクトリサービスの各々にア
クセスすることができる。
ces")コンテナと呼ばれるルートコンテナオブジェクト
内にあるすべてのディレクトリサービスを作る。図3
は、ネームスペースコンテナを図示する。ネームスペー
シズ(namespaces)コンテナ内のオブジェクトは種々の
ディレクトリサービスを表わす。OleDs はネームスペー
スコンテナ内に収容されたディレクトリサービスを列挙
するためのインターフェースを提供する。各々収容され
たディレクトリサービスはOleDs ネームスペースコンテ
ナオブジェクトによって表わされる。クライアントがデ
ィレクトリサービスの存在に気がつくようなインターフ
ェースを用いることができ、ディレクトリサービスのオ
ブジェクトクラスの定義を決定するためにそのスキーマ
にアクセスすることができる。スキーマはディレクトリ
サービスのオブジェクトクラスの定義を含む。インター
フェースがOleDs によって提供されるので、クライアン
トはコンパイルタイムで知られていないディレクトリサ
ービスの存在及びコンテンツをランタイムで発見するこ
とができる。
のオブジェクトを名前付けするためにその独自の規定を
有するので、OleDs は、各オブジェクトを種々のディレ
クトリサービスに競合せずに一意的に識別する一様な名
前付け規定(ユニフォームネーミングコンベンション;
uniform naming convention )を提供する。一意的な識
別子はOleDs パスと呼ばれる。OleDs パスは、ディレク
トリサービスと、識別されたオブジェクトにアクセスす
るようにオープンにされている必要がある入れ子にされ
たコンテナオブジェクトのセットとを識別する文字列で
ある。OleDs は以下のようなフォーマットを有する: @NamespaceIdentifier!<namaspace path to object> 又は NamespaceIdentifier://<namespace path to object> 「NamespaceIdentifier 」はディレクトリサービスを一
意的に識別する。「! 」又は「: 」の後の列はディレク
トリサービス従属フォーマットである。即ち、各ディレ
クトリサービスはその独自フォーマットを定義すること
ができる。
オブジェクトに対応するOleDs オブジェクトにOleDs パ
スを割り当てるための割り当て機能を提供する。OleDs
パスがこの割り当てファンクションにパスされ、且つ、
割り当てファンクションはポインタをオブジェクトに対
応するOleDs オブジェクトにリターンする。OleDs オブ
ジェクトに割り当てるために、割り当て機能はOleDs パ
スからネームスペース識別子を解析する。割り当て機能
は、識別されたネームスペースにアクセスをインプリメ
ントするコード(例えば、ダイナミックリンクライブラ
リ)を検索するために、このネームスペース識別子を使
用する。(OleDs は、OleDs インターフェースのインプ
リメンテーションの位置を登録するディレクトリサービ
スプロバイダのためのレジストリを維持する。)次い
で、割り当て機能はOleDs パスをパスする検索されたコ
ードを呼び出す。呼び出されたコードは、識別されたオ
ブジェクトにアクセスし、且つ、OleDs インターフェー
スによって定義された性質をインプリメントするために
ディレクトリサービスのAPIセットを使用する。
クト及びOleDs リーフオブジェクトとして、各ディレク
トリサービスのオブジェクトを作る。ディレクトリサー
ビスのコンテナオブジェクトにアクセスするために、デ
ィレクトリサービスのプロバイダによって提供されたイ
ンプリメンテーションを有するOleDs コンテナオブジェ
クトが、例示される。同様に、ディレクトリサービスの
リーフオブジェクトにアクセスするために、ディレクト
リサービスのプロバイダによって提供されたインプリメ
ンテーションを有するOleDs リーフオブジェクトが例示
される。各OleDs オブジェクトはディレクトリサービス
の対応するオブジェクトのプロパティにアクセスするた
めのインターフェースを公開する。各OleDs コンテナオ
ブジェクトはまた、インターフェースの収容されたオブ
ジェクトがクライアントによってアクセスされることが
できるインターフェースを公開する。
応するディレクトリサービスのオブジェクトをとの間の
関係を図示する。各ディレクトリサービスプロバイダは
OleDs オブジェクトによって公開された各インターフェ
ースのインプリメンテーションを提供する。これらのイ
ンプリメンテーションはプロバイダのAPIセットの振
る舞いのマッピングをOleDs インターフェースの振る舞
いにもたらす。従って、各クライアントはOleDs インタ
ーフェースのプロバイダのインプリメンテーションを使
用する多数ディレクトリサービスに一様にアクセスする
ことができる。ディレクトリサービスのオブジェクトに
アクセスする際に、クライアントを助けるために、OleD
s は各ディレクトリサービスのスキーマを表わすための
モデルを定義する。概念的に、各ディレクトリサービス
は、各オブジェクトクラスに関してスキーマオブジェク
トを収容するスキーマコンテナオブジェクトを有しなが
ら調べられる。スキーマオブジェクトはオブジェクトク
ラスのプロパティを定義する。スキーマコンテナは、予
め決められた名前を「schema」のようなネームスペース
内に割り当てる。スキーマコンテナにアクセスするため
に、クライアントはスキーマのOleDs パス(例えば、
「@WinNTDS!Schema 」)をパスするOleDs 割り当て機能
を使用する。OleDs 割り当て機能はポインタをスキーマ
コンテナオブジェクトに対応するOleDs コンテナオブジ
ェクトにリターンする。クライアントは、収容されたス
キーマオブジェクトを列挙するためにOleDs コンテナオ
ブジェクトのインターフェースに使用することができ
る。この方法では、クライアントは種々のオブジェクト
クラスの定義をランタイムで決定することができる。更
に、クライアントはスキーマオブジェクトをスキーマコ
ンテナオブジェクトに加えることによって、追加のオブ
ジェクトクラスを定義することができる。
舞いに対するディレクトリサービスAPIセットの振る
舞いのマッピングのインプリメンテーションを容易にす
るために、種々のオブジェクトクラスを予め定義する。
特に、OleDs は、組織的な機関及び国のような共通のコ
ンテナオブジェクト、及び、ユーザ又はリソースのよう
な共通のリーフオブジェクトに関するオブジェクトクラ
ス定義を提供する。OleDs はデフォルトネームスペース
又はディレクトリサービスの概念を定義する。デフォル
トネームスペースは、ネームスペースがOleDs パスに指
定されていない場合に、クライアントが使用するのを望
むネームスペースである。クライアント又はユーザのた
めのデフォルトネームスペースの識別は、典型的には、
クライアント又はユーザによって指標付けされたレジス
トリにストアされるべきである。
したオブジェクトクラスのオブジェクトをディレクトリ
サービスに加えることを可能にするために、各プロバイ
ダによって実行されるデフォルトOleDs オブジェクトの
概念を定義する。典型的には、ディレクトリサービスプ
ロバイダは各オブジェクトクラスに関してOleDs オブジ
ェクトのインプリメンテーションをディレクトリサービ
ス内に提供する。例えば、プロバイダはコンピュータオ
ブジェクト及び会社オブジェクトのためのオブジェクト
クラスに関して異なるインプリメンテーションを提供し
うる。各インプリメンテーションは、プロパティが対応
するオブジェクトクラスに関して定義されていることを
知っており、プロパティの値を検索するAPIセットを
リクエストすることができる。しかし、クライアントが
新しいオブジェクトクラスをランタイムで定義するなら
ば、対応するインプリメンテーションはないであろう。
その結果、新しいオブジェクトクラスがそのディレクト
リサービスに関して定義される各プロバイダはまた、デ
フォルトOleDs オブジェクトのインプリメンテーション
を提供する。クライアントが、インプリメンテーション
がないオブジェクトに関するOleDs オブジェクトを例示
するためにリクエストするときはいつでも、デフォルト
OleDs オブジェクトは例示される。デフォルトOleDs オ
ブジェクトは、それが対応した、即ち、スキーマからオ
ブジェクトクラスの定義を検索するのに使用する、オブ
ジェクトクラスの名前を含む。この定義を使用するの
で、デフォルトOleDs オブジェクトはディレクトリサー
ビスの対応するオブジェクトにアクセスすることができ
る。
ロック図である。階層は、「ネームスペーシズ(Namesp
aces)」と呼ばれるルートコンテナを含む。ネームスペ
ーシズコンテナは各ディレクトリサービスのネームスペ
ースを論理的に包含する。図3BはOleDs のアーキテク
チャを図示するブロック図である。ディレクトリサービ
スの各プロバイダは、プロバイダのAPIセットの性質
をOleDs インターフェースの性質にマッピングすること
をインプリメントする。各OleDs コンテナオブジェクト
はディレクトリサービスにおいてコンテナオブジェクト
に対応し、各OleDs リーフオブジェクトはディレクトリ
サービスにおいてリーフオブジェクトに対応する。OleD
s は、OleDs オブジェクトに対してクライアントの早い
割り当てと遅い割り当ての両方を提供する。早い割り当
ては、クライアントのデベロッパが各オブジェクトのプ
ロパティの名前をコンパイル時間で知ることを意味す
る。従って、クライアントは、プロパティを「getting
」及び「putting 」するための方法(例えば、「ge
t_Address」又は「put_Name」)を直
接使用してこれらのプロパティから値にアクセスするよ
うにプログラムされることができる。各OleDs オブジェ
クトは(Ole 2.01で定義されている)IDispatch インタ
ーフェースを公開し、クライアントがランタイム(即
ち、遅い割り当て)でプロパティに割り当てることを可
能にする。
ェースを公開する。IOleDsインターフェースは、ディレ
クトリサービスにおいて、対応するオブジェクトのプロ
パティにアクセスするための方法と一緒にOleDs オブジ
ェクトの種々の属性を定義する。(以下においては、
「プロパティ(property)」という用語はディレクトリ
サービス内のデータを指し、「属性(attribute )」と
いう用語はOleDs オブジェクトに関してOleDs によって
定義されたデータを指す。)コンテナである各OleDs オ
ブジェクトはまた、IOleDsContainer インターフェース
を提供する。IOleDsContainer インターフェースは、コ
ンテナオブジェクトと、操作された収容されたオブジェ
クトに関する方法とに関係する種々の属性を定義する。
更に、各OleDs オブジェクトは、IOleDs<class> 又はIO
leDs<class>operations と名づけられたインターフェー
スを任意に提供することができ、ここで<class> はディ
レクトリサービスにおいて対応したオブジェクトのオブ
ジェクトクラスの名前に対応し、<class>operations は
オブジェクトで実行されることができるオペレーション
に対応する。例えば、ポイントキューオブジェクトが、
プリントジョブを休止させ、開始させ、及び、削除する
ようなオペレーションを有する。以下においては、これ
ら及び他のOleDs インターフェースの各々は、インター
フェースの所定の方法のサンプルインプリメンテーショ
ンの記述と一緒に定義される。
たコンピュータシステムのブロック図である。コンピュ
ータシステム400 は、メモリ401 と、中央処理装置402
と、I/O インターフェース403 と、記憶装置404 と、表
示装置405 とを含む。OleDsオブジェクトの種々のイン
プリメンテーションは、ディスクのようなコンピュータ
読み取り可能メモリにストアされる。これらのインプリ
メンテーションは実行するためにコンピュータメモリに
ロードされる。コンピュータメモリはクライアント406,
407 を含む。メモリはまた、3つのディレクトリサービ
スに関してOleDs オブジェクト408,411,414 のインプリ
メンテーションを含む。OleDs オブジェクトの各インプ
リメンテーションはディレクトリサービス409,412,415
の対応するAPIセットにアクセスする。これらのAP
Iセットは、下にあるディレクトリサービスに関してオ
ブジェクト410,413,416 のプロパティへのアクセスを行
う。更に、OleDs 自身は、割り当て機能のインプリメン
テーションと、ネームスペーシズコンテナと、ディレク
トリサービスの典型的なオブジェクトに対応する種々の
OleDs オブジェクトとを提供する。
eDsGetObjectの流れ図である。オブジェクト及びインタ
ーフェース識別子へのOleDs パスがファンクションOleD
sGetObjectにパスされ、ファンクションOleDsGetObject
はオブジェクトを表わすOleDs オブジェクトに関して識
別されたインターフェースにポインタを返す。ステップ
501 では、ファンクションはOleDs パスからネームスペ
ース識別子を解析する。ファンクションは、識別された
ネームスペースのプロバイダによって提供された構文解
析インターフェースのインプリメンテーションを配置す
るためにネームスペース識別子を使用する。ステップ50
2 では、ファンクションは、識別されたネームスペース
のプロバイダによってインプリメントされたParseDispl
ayNameクラスに関してクラスファクトリオブジェクトに
対してポインタを検索するために(OLE 2.0.1 で定義さ
れた)ファンクションCoGetClassObjectをコールする。
ファンクションは識別されたネームスペースに関してPa
rseDisplayNameクラスのクラス識別子を動的に生成す
る。例えば、構文解析されたネームスペースが「WinNTD
S 」ならば、次いで、クラス識別子は「CLSID_PDNWinN
TDS」であってよい。クラスファクトリオブジェクト
は、例示されるべきIParseDisplayName インターフェー
スを公開するParsedDisplayName のオブジェクトを例示
する。IParseDisplayName インターフェースは名前をリ
ターンすることができる方法をOleDs パスによって識別
されたオブジェクトに関するOleDs オブジェクトに提供
する。ステップ503 では、ファンクションは、IParseDi
splayName インターフェースの識別子をパスするメソッ
ドIClassFactory::CreateInstance を呼び出し、ポイン
タをIParseDisplayName インターフェースに受ける。メ
ソッドCreateInstanceは、動的に生成されたクラス識別
子によって識別されたクラスのインスタンスを作成す
る。ステップ504 では、ファンクションはOleDs パスを
パスするメソッドIParseDisplayName::ParseDisplayNam
e を呼び出す。メソッドParseDisplayNameはポインタを
OleDs パスによって識別されたオブジェクトに関する名
前(IMonikerインターフェース)に返す。ステップ505
では、ファンクションは、OleDs パスによって識別され
たオブジェクトを表わすOleDs オブジェクトに対してポ
インタを検索するために、メソッドIMoniker::BindToOb
jectを呼び出す。次いで、ファンクションはポインタを
OleDs オブジェクトに返す。
な属性及びメソッドを定義する。以下は、その属性及び
メソッドの記述を加えたインターフェースの定義であ
る: Interface IOleDs:IDispatch { HRESULT get Name(string*pName) HRESULT get Class(string*pClass); HRESULT get GUID (string*GUID); HRESULT get OleDsPath(string*pOleDsPath); HRESULT get Parent (string*pParentContainer); HRESULT get Schema (string*pSchemaClassObject); HRESULT Access(IOleDsAccess**ppComponentAccessControl); HRESULT PropAccess(string PropName, IOleDsAccess**ppComponent AccessControl); HRESULT GetInfo(variant vHints); HRESULT SetInfo(void); HRESULT Get(string Name,variant*pProp); HRESULT Put(string Name,variant Prop); }
メソッドのインプリメンテーションを図示する。図6は
メソッドIOleDs::GetInfo の流れ図である。このメソッ
ドはオブジェクトに関するプロパティをディレクトリサ
ービスからOleDs オブジェクトにロードする。OleDs は
コミットプロセス又はトランザクションプロセスを定義
し、オブジェクトのプロパティに対する更新が該コミッ
トプロセス又はトランザクションプロセスによって、
(メソッドPut を使用する)OleDs オブジェクトにのみ
ストアされ、クライアントが(メソッドSetInfo を使用
して)リクエストしたときにだけディレクトリサービス
にストアされる。OleDs オブジェクトが最初に例示され
たとき、例えば、ファンクションOleDsGetObjectが呼び
出されたとき、例示されたオブジェクトは典型的には、
ディレクトリサービスのAPIセットに対するオブジェ
クトを識別するハンドルを含む。ステップ601 では、メ
ソッドは、ハンドルをオブジェクトと、オブジェクトに
関するプロパティ名のリストとにパスさせるファンクシ
ョンReadObjectを呼び出す。ファンクションReadObject
はディレクトリサービスから名付けられたプロパティに
関する値を検索する。OleDs デフォルトオブジェクトに
関するメソッドGetInfo のインプリメンテーションで
は、メソッドは、このオブジェクトのオブジェクトクラ
スに関してスキーマオブジェクトからプロパティ名のリ
ストを検索する。ステップ702 乃至704 では、メソッド
ループは検索された値をOleDs オブジェクトにストアす
る。ステップ702 では、メソッドは次の値を選択して、
最初から始まる。ステップ703 では、すべての値が既に
選択されているならば、次いで、メソッドは戻り、代わ
りにメソッドはステップ704 に続く。ステップ704 で
は、メソッドは選択された値をOleDs オブジェクト内に
ストアし、次の値を選択すべくステップ702 にループす
る。
る。メソッドはプロパティ名をパスし、パスされたプロ
パティのその値をOleDs オブジェクトから検索し、且
つ、戻す。
各OleDs オブジェクトに共通な属性及びメソッドを定義
する。以下は、その属性及びメソッドの記述を加えたイ
ンターフェースの定義である。 Interface IOleDsContainer:IDispatch { HRESULT get Count(long*pCount); HRESULT get NewEnum(IUnknown*ppEnum); HRESULT get Filter(Variant*pFiler); HRESULT put Filter(Variant Filter); HRESULT GetObject(string Class,string RelativeName,IOleDS ** ppNameObject); HRESULT Create (string Class,string RelativeName,IOleDS**ppNew Object); HRESULT Delete (string Class,String RelativeName); HRESULT CopyHere(string SourceObject,string NewName,IOleDs** ppNewObject); HRESULT MoveHere(string SourceObject,string NewName,IOleDs** ppNewObject); }
e の流れ図である。このメソッドは、指定されたソース
オブジェクトのコピーをこのコンテナオブジェクト内に
作る。ステップ801 では、メソッドは、コピーされるべ
きオブジェクトのオブジェクトクラスを決定する。ステ
ップ802 では、メソッドは、ファンクションCreateObje
ctを呼び出すことによって、オブジェクトを決定された
オブジェクトクラスのディレクトリサービスに作る。ス
テップ803 では、メソッドはオブジェクトクラスに関し
てスキーマオブジェクトに対するOleDs パスを検索す
る。ステップ804では、メソッドはOleDs パスをスキー
マオブジェクトにパスさせるファンクションOleDsGetOb
jectを呼び出し、ポインタをOleDs スキーマオブジェク
トのIOleDsインターフェースに対して検索する。ステッ
プ805 では、メソッドは、ポインタをIOleDsClass イン
ターフェースに対して検索するために、OleDs スキーマ
オブジェクトのメソッドIOleDs::QueryInterfaceを呼び
出す。IOleDsClass インターフェースは、このオブジェ
クトクラスに関して定義されたプロパティの名前を検索
することができるメソッドを提供する。ステップ806 で
は、メソッドは、このスキーマクラスの委任されたプロ
パティのリストを検索するために、メソッドIOleDsClas
s::GetMandatoryProperties を呼び出す。ステップ807
では、メソッドは、このクラスに関して追加のいかなる
プロパティをも検索するために、メソッドIOleDs::Prop
ertiesを呼び出す。ステップ808 乃至811 では、メソッ
ドループはプロパティの各値をソースOleDs オブジェク
トから宛先OleDs オブジェクトまでコピーする。ステッ
プ808 では、メソッドは次のプロパティを選択し、最初
から始まる。ステップ809 では、全てのプロパティが既
に選択されているならば、次いで、メソッドはステップ
812 に続き、他の場合は、メソッドはステップ810に続
く。ステップ810 では、メソッドは、選択されたプロパ
ティに関して値を検索するために、ソースOleDs オブジ
ェクトのメソッドIOleDs::Get を呼び出す。ステップ81
1 では、メソッドは検索された値を宛先IOleDsオブジェ
クトにストアし、次のプロパティを選択するためにステ
ップ808 にループする。ステップ812では、メソッドは
ソースOleDs オブジェクトの属性を宛先OleDs オブジェ
クトにコピーし、且つ、戻す。図9は、メソッドIOleD
s::Createの流れ図である。ステップ901 では、メソッ
ドは、オブジェクトクラスをパスするディレクトリサー
ビスのファンクションCreateObjectを呼び出し、ハンド
ルをそのオブジェクトクラスの新たに作られたオブジェ
クトに受ける。
の定義にアクセスを提供するために、OleDs スキーマに
よって公開される。以下は、その属性とメソッドの記述
を加えたインターフェースの定義である。 Interface IOleDsClass:IOleDs { HRESULT get PrimaryInterface(string*GUID); HRESULT get CLSID(string CLSID); HRESULT put CLSID(string CLSID); HRESULT get OID(string*OID); HRESULT put OID(string OID); HRESULT get Abstract(boolean*Abstract); HRESULT put Abstract(boolean Abstract); HRESULT get MandatoryProperties(Variant*Mandatory); HRESULT put MandatoryProperties(Variant Mandatory); HRESULT get DerivedFrom(Variant*pDerivedFrom); HRESULT put DerivedFrom(Variant DerivedFrom); HRESULT get Containment(Variant*pContainment); HRESULT put Containment(Variant Containment); HRESULT get Container(boolean*pContainer); HRESULT put Container(boolean Container); HRESULT get HelpFileName(string*pHelpFile); HRESULT put HelpFileName(string HelpFile); HRESULT get HelpFileContext(long*pHelpContext); HRESULT put HelpFileContext(long HelpContext); HRESULT Attributes(IOleDsCollection**ppAttributes) }
OleDs プロパティオブジェクトを定義する。OleDs プロ
パティオブジェクトはプロパティの定義を検索すること
ができるインターフェースを公開する。以下は、属性と
メソッドの記述を加えたインターフェースの定義であ
る。 Interface IOleDsProperty:IOleDs { HRESULT get OleDsNames(Variant*pOleDsNames); HRESULT get DsNames(Variant*pDsName); HRESULT get OID(string OID); HRESULT put OID(string*OID); HRESULT get Syntax(string*pSyntax); HRESULT put Syntax(string Syntax); HRESULT get MaxRange(long*pMaxRange); HRESULT put MaxRange(long MaxRange); HRESULT get MinRange(long*pMinRange); HRESULT put MinRange(long MinRange); HRESULT get MultiValued(long*pMultiValued); HRESULT put MultiValued(long MultiValued); HRESULT Attributes(IOleDsCollection**ppAttributes) }
ースをサポートすることができる全てのオブジェクトク
ラスを定義し、ここで<class> はオブジェクトクラスの
名前である。このインターフェースはメソッドを有し、
オブジェクトクラスによってサポートされた各ファンク
ショナルセットはポインタをそのファンクショナルセッ
トに関してOlDsFunctionalSet オブジェクトに返す。 Interface IOleDsUser:IOleDs { HRESULT get BusinessInfo (IOleDs FS UserBusinessInfo**ppFuncSet); }:
両方に関して種々のオブジェクトクラスを定義する。以
下のオブジェクトクラスをOleDs によってコンテナオブ
ジェクトに関して定義する: ネームスペーシズ(Namespaces) ネームスペース(Namespace ) 国(Country ) 地域(Locality) 組織(Organization) ドメイン(Domain) 組織ユニット(Organizational Unit ) コンピュータ(Computer) ファイルサービス(File Service) 以下のオブジェクトクラスをOleDs によってリーフオブ
ジェクトに関して定義する: ユーザ(User) グループ(Group ) エイリアス(Alias ) サービス(Service ) ポイントキュー(Point Queue ) ポイントジョブ(Point Job ) ポイントデバイスセッション(Point Device Session) リソース(Resource) ファイル共有(File Share) ネームスペーシズオブジェクトはネームスペースオブジ
ェクトのコンテナである。ネームスペーシズオブジェク
トのインプリメンテーションはOleDs の一部である。ネ
ームスペーシズオブジェクトはIOleDsネームスペーシズ
インターフェースを公開する。このインターフェースを
以下に示す。 Interface IOleDsNamespaces:IOleDs { get DefaultContainer(string *pDefault); set DefaultContainer(string Default); } ネームスペースオブジェクトは所定のネームスペースに
関する全てのOleDs オブジェクトのソースであるコンテ
ナオブジェクトである。国オブジェクトは国に関するプ
ロパティを有するコンテナオブジェクトである。地域オ
ブジェクトは地域(例えば、州)に関するプロパティを
有するコンテナオブジェクトである。以下は、地域オブ
ジェクトの特徴を得ることができ且つ設定することがで
きるインターフェースの定義である。 Interface IOleDsFSLocalityGeneralInfo:IDispatch { HRESULT get Description(string*Description); HRESULT put Description(string Description); HRESULT get LocalityName(string LocalityName); HRESULT put LocalityName(string LocalityName); HRESULT get PostalAddress(string*pPostalAddress); HRESULT put PostalAddress(string pPostalAddress); HRESULT get SeeAlso(VARIANT*pSeeAlso); HRESULT put SeeAlso(VARIANT Also); HRESULT Access(IOleDsAccess**ppFuncSetAccessControl); HRESULT PropAccess(string PropName, IOleDsAccess **ppPropAccess Control); } メソッド 名前 記述 Access アクセス制御をこのインターフェースに表わすポインタを、アク セスコントロール依存オブジェクトのIOleDsAccessインターフェースに戻す PropAccess PropNameによって指示されるとき、アクセス制御をこのインター フェースのプロパティに表わすポインタを、アクセスコントロール依存オブジェ クトのIOleDsAccessインターフェースに戻す
ブジェクトクラスのオブジェクトに関するプロパティを
定義する。ドメインオブジェクトはコンピュータシステ
ムのドメインに対応し、且つ、ドメインオブジェクトに
関するプロパティ(例えば、パスワード)を備えたファ
ンクショナルセットを有する。組織ユニットオブジェク
トは会社のような構成要素に対応する。コンピュータオ
ブジェクトはドメインのコンピュータに対応する。ユー
ザオブジェクトは、ビジネス情報、アカウント制限、ア
カウント統計、及び、ユーザを説明するための他の情報
ファンクショナルセットを有する。ビジネス情報ファン
クショナルセットは、国、部、課、マネージャ、オフィ
スの場所のようなビジネスの説明に関するプロパティを
含む。アカウント制限ファンクショナルセットは、無能
力にされたアカウント、ユーザがログインすることがで
きる時間数、等のようなユーザのアカウントの一般的な
特徴を説明したプロパティを含む。アカウント統計ファ
ンクショナルセットは、パスワードが変更された最後の
時間及びユーザがアカウントにログインした最後の時間
のようなユーザのアカウントの統計を明記したプロパテ
ィを有する。他の情報ファンクショナルセットは、電子
メールアドレス、ホームディレクトリのような他のユー
ザ情報に関するプロパティを含む。
順の流れ図である。この手順は、OleDs のクライアント
が全てのネームスペーシズの名前を検索する仕方を図示
する。ステップ1001では、手順は、OleDs ネームスペー
シズオブジェクトに関するクラス及びIClassFactory イ
ンターフェースに関するインターフェース識別子をパス
するファンクションCoGetClassObjectを呼び出す。ファ
ンクションはポインタをOleDs ネームスペーシズに関す
るクラスファクトリインターフェースに戻す。ステップ
1002では、手順は、IOleDsContainer インターフェース
に関してインターフェース識別子をパスしてメソッドIC
lassFactory::CreateInstance を呼び出す。メソッドは
OleDs ネームスペーシズオブジェクトのインスタンスを
作り、ポインタをIOleDsContainer インターフェースに
戻す。ステップ1003では、手順はネームスペーシズオブ
ジェクトに関してエニュメレータを検索するためにメソ
ッドIOleDsContainer::get_NewEnum を呼び出す。ステ
ップ1004乃至1008では、各ネームスペースを列挙してル
ープし、ネームスペースを表示する。ステップ1004で
は、手順はネームスペースオブジェクトに関してIUnkno
wnインターフェースに対してポインタを検索するために
メソッドIEnumerator::Next を呼び出す。ステップ1005
では、全てのネームスペーシズが既に列挙されてしまっ
ているならば、次いで、手順は戻り、それ以外は手順は
ステップ1006に続く。ステップ1006では、手順はネーム
スペースオブジェクトに関してIOleDsインターフェース
に対してポインタを検索するために、メソッドIUnknow
n::QueryInterfaceを呼び出す。ステップ1007では、手
順は、ネームスペースオブジェクトと関係している名前
を検索するために、メソッドIOleDs::get_Nameを呼び
出す。ステップ1008では、手順は検索された名前を表示
し、次いで、次のネームスペースオブジェクトを列挙す
るためにステップ1004にループする。
てきたけれども、本発明をこの実施形態に限定すべきで
はない。本発明の精神内の変更は当業者にとって明らか
であろう。本発明の範囲を以下の特許請求の範囲に定義
する。
図示する。
データ構造を図示する。
ェクトとそれらに対応するオブジェクトとの間の関係を
図示する。
タシステムのブロック図である。
ンクションOleDsGetObjectの流れ図である。
である。
シージャの流れ図である。
Claims (18)
- 【請求項1】 各々が、オブジェクトクラスによって定
義される各オブジェクトのための情報に関連する情報を
有し、各オブジェクトクラスが、それぞれプロパティ名
とプロパティ形式とを有するプロパティを定義するもの
であり、各オブジェクトのための前記情報が、そのオブ
ジェクトクラスの各プロパティのためのプロパティ値で
あるような、複数のディレクトリサービスへの一様なア
クセスを与えるためのディレクトリサービスシステムで
あって、 ディレクトリサービスのクライアントがオブジェクトク
ラスのプロパティ名及びプロパティ形式を検索するため
に使用する、各ディレクトリサービスの各オブジェクト
クラスの各プロパティのプロパティ名及びプロパティ形
式を検索するためのスキーマブラウジングコンポーネン
トと、 ディレクトリサービス内のオブジェクトの一意的な識別
子を受け取り、識別されたオブジェクトの前記情報を含
むディレクトリサービスを識別し、識別されたディレク
トリサービス内で該オブジェクトを探し出す名前解読コ
ンポーネントと、 識別されたディレクトリサービス内で捜し出されたオブ
ジェクトを表わすインメモリオブジェクトに割り当てる
ための割り当てコンポーネントと、 該ディレクトリサービスシステムの顧客が新しいオブジ
ェクトクラスと新しい特性を定義するために使用する、
各ディレクトリサービスについて新しいオブジェクトク
ラスと新しいプロパティを定義するための拡張コンポー
ネントと、を備えるディレクトリサービスシステム。 - 【請求項2】 インメモリオブジェクトは、インメモリ
オブジェクトが割り当てられるオブジェクトのプロパテ
ィ値を検索するための予め定義されたインターフェース
を提供する、請求項1に記載のディレクトリサービスシ
ステム。 - 【請求項3】 インメモリオブジェクトが複数のオブジ
ェクトを含むオブジェクトに割り当てられているとき、
インメモリオブジェクトはこの含まれた複数のオブジェ
クトのリファレンスを検索するための所定のインターフ
ェースを提供する、請求項1に記載のディレクトリサー
ビスシステム。 - 【請求項4】クライアントがオブジェクトクラスの定義
のアクセスのために割り当てコンポーネントを使用し
て、インメモリオブジェクトを例示する、請求項1に記
載のディレクトリサービスシステム。 - 【請求項5】 各ディレクトリサービスを列挙するため
のネームスペーシズインメモリオブジェクトを含む、請
求項1に記載のディレクトリサービスシステム。 - 【請求項6】 各ディレクトリサービスをネームスペー
スインメモリオブジェクトによって表わす、請求項6に
記載のディレクトリサービスシステム。 - 【請求項7】 各々がオブジェクトを有し、各オブジェ
クトがオブジェクト識別子とオブジェクトクラスとプロ
パティ値とを有する、複数の異なったディレクトリサー
ビスに一様な形でアクセスすることが出来るコンピュー
タシステムであって、 前記複数のディレクトリサービスの各々について、 オブジェクト識別子を受け取り識別されたオブジェクト
についてのリファレンスを返すことによって該ディレク
トリサービスの1つのオブジェクトに割り当てる該割り
当て機能と、各オブジェクトクラスの定義を検索するス
キーマ機能とを有するアプリケーションプログラミング
インターフェースと、 該ディレクトリサービスの前記アプリケーションプログ
ラミングインターフェースとは独立した形でクライアン
トが該ディレクトリサービスのオブジェクトにアクセス
できる、各オブジェクトのプロパティ値にアクセスする
ためのインターフェースと各オブジェクトクラスの定義
にアクセスするためのインターフェースとを含む複数の
予め定義されたインターフェースのインプリメンテーシ
ョンと、 各ディレクトリサービスを列挙するためのネームスペー
シズインターフェースと、 該ネームスペーシズインターフェースを使用するディレ
クトリサービスを列挙し、この列挙されたディレクトリ
サービスのための予め定義されたインターフェースのイ
ンプリメンテーションを使用して、該ディレクトリサー
ビスのオブジェクトのプロパティ値をアクセスし、該デ
ィレクトリサービスとは独立した、ディレクトリサービ
スブラウザと、を備えるコンピュータシステム。 - 【請求項8】 オブジェクトクラスの定義にアクセスす
るためのインターフェースがオブジェクトクラスの定義
をディレクトリサービスに加えるための方法を含む、請
求項7に記載のコンピュータシステム。 - 【請求項9】 各ディレクトリサービスが、新しく加え
られたオブジェクトクラスのオブジェクトに適応するよ
うに、デフォルトインメモリオブジェクトのインプリメ
ンテーションを提供する、請求項7に記載のコンピュー
タシステム。 - 【請求項10】 各オブジェクトは一意的な識別子を有
し、オブジェクトの識別子がパスされたとき、識別され
たオブジェクトを包含し、そのオブジェクトのプロパテ
ィ値をストアするためのインメモリデータ構造を生成す
るディレクトリサービスを決定する割り当て機能を含
む、請求項7に記載のコンピュータシステム。 - 【請求項11】 各々が、オブジェクトをアクセスする
挙動を有するアプリケーションプログラミングインター
フェースを備える、複数のディレクトリサービスにアク
セスするための、コンピュータシステムにおける方法で
あって、 複数のディレクトリサービスの各々について、該ディレ
クトリサービスのオブジェクトにアクセスするための挙
動を定める予め定義されたインターフェースのインプリ
メンテーションをインストールし、この際に、該インプ
リメンテーションは、前記アプリケーションプログラミ
ングインターフェースの挙動から前記予め定義されたイ
ンターフェースの挙動へのマッピングを与えるものと
し、 オブジェクトの識別を受け取り、 この識別されたオブジェクトがどのディレクトリサービ
スに含まれるか、を求め、 この求められたディレクトリサービスのための予め定義
されたインターフェースのインストールされたインプリ
メンテーションを使用して、識別されたオブジェクトを
捜し出し、割り当てる、ことからなり、 クライアントは、各ディレクトリサービスについて、該
ディレクトリサービスのための予め定義されたインター
フェースの前記インプリメンテーションを使用して該デ
ィレクトリサービスにアクセスすることが出来ることを
特徴とする方法。 - 【請求項12】 各オブジェクトはオブジェクトクラス
を有し、所定のインターフェースはオブジェクトクラス
の定義をディレクトリサービスに加えることができる性
質を定義する、請求項11に記載の方法。 - 【請求項13】 各オブジェクトはオブジェクトクラス
を有し、所定のインターフェースはディレクトリサービ
スのオブジェクトクラスの定義を検索することができる
性質を定義する、請求項11に記載の方法。 - 【請求項14】 所定のインターフェースはディレクト
リサービスに対してオブジェクトへの変更を完追するこ
とができる性質を定義する、請求項11に記載の方法。 - 【請求項15】 各々が、ディレクトリサービスのオブ
ジェクトにアクセスする挙動を有するアプリケーション
プログラミングインターフェースを備える、複数のディ
レクトリサービスに、 複数のディレクトリサービスの各々について、該ディレ
クトリサービスのオブジェクトにアクセスするための挙
動を定める予め定義されたインターフェースのインプリ
メンテーションをインストールし、この際に、該インプ
リメンテーションは、前記アプリケーションプログラミ
ングインターフェースの挙動から前記予め定義されたイ
ンターフェースの挙動へのマッピングを与えるものと
し、 識別されるオブジェクトに関する情報を含むディレクト
リサービスを提供し特定されたディレクトリサービス内
での該オブジェクトへの経路を特定するオブジェクトの
識別を受け取り、 特定されたディレクトリサービスを識別し、 該オブジェクトへの特定された経路を通る識別されたデ
ィレクトリサービスの予め定義されたインターフェース
のインプリメンテーションに、捜し出されたオブジェク
トについてのリファレンスを戻す挙動を起こさせ、 この戻されたリファレンスに割り当てて識別されたオブ
ジェクトに関する情報が得られるようにする、ことによ
って、コンピュータシステムをアクセスさせるインスト
ラクションを有するコンピュータ読取り可能な媒体。 - 【請求項16】 各オブジェクトはオブジェクトクラス
を有し、所定のインターフェースはオブジェクトクラス
の定義をディレクトリサービスに加えることができる性
質を定義する、請求項15に記載のコンピュータ読取り
可能媒体。 - 【請求項17】 各オブジェクトはオブジェクトクラス
を有し、所定のインターフェースはディレクトリサービ
スのオブジェクトクラスの定義を検索することができる
性質を定義する、請求項15に記載のコンピュータ読取
り可能媒体。 - 【請求項18】 所定のインターフェースはディレクト
リサービスに対してオブジェクトへの変更を完追するこ
とができる性質を定義する、請求項15に記載のコンピ
ュータ読取り可能媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/674318 | 1996-07-01 | ||
| US08/674,318 US5893107A (en) | 1996-07-01 | 1996-07-01 | Method and system for uniformly accessing multiple directory services |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10154095A true JPH10154095A (ja) | 1998-06-09 |
| JP4197753B2 JP4197753B2 (ja) | 2008-12-17 |
Family
ID=24706140
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21114897A Expired - Lifetime JP4197753B2 (ja) | 1996-07-01 | 1997-07-01 | 多数ディレクトリサービスに一様にアクセスするための方法及びシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5893107A (ja) |
| EP (2) | EP1460565B1 (ja) |
| JP (1) | JP4197753B2 (ja) |
| CA (1) | CA2209170C (ja) |
| DE (1) | DE69730657T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004272911A (ja) * | 2003-03-07 | 2004-09-30 | Microsoft Corp | コンピューティング環境におけるオブジェクト内のフィールドのカスタマイズ |
Families Citing this family (89)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6185611B1 (en) * | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
| US5893107A (en) * | 1996-07-01 | 1999-04-06 | Microsoft Corporation | Method and system for uniformly accessing multiple directory services |
| US6061726A (en) * | 1997-05-27 | 2000-05-09 | Novell, Inc. | Dynamic rights assignment apparatus and method using network directory services |
| US6209036B1 (en) * | 1997-06-06 | 2001-03-27 | International Business Machines Corporation | Management of and access to information and other material via the world wide web in an LDAP environment |
| DE19882605T1 (de) * | 1997-08-11 | 2000-08-10 | Seagate Technology | Objektorientierte Datenspeichervorrichtung |
| US6134706A (en) * | 1997-08-14 | 2000-10-17 | International Business Machines Corporation | Software business objects in a multi-level organizational structure |
| JP3808608B2 (ja) * | 1997-10-20 | 2006-08-16 | 富士通株式会社 | 蓄積交換型電子会議システムにおけるオブジェクトの移動処理装置及び方法並びに移動処理プログラムを記録したコンピュータ読取可能な記録媒体 |
| US6044467A (en) * | 1997-12-11 | 2000-03-28 | Sun Microsystems, Inc. | Secure class resolution, loading and definition |
| US6044379A (en) * | 1997-12-18 | 2000-03-28 | Sun Microsystems, Inc. | Method and apparatus for efficiently implementing multiple storage mechanism for name services associated with a computer system |
| US6026408A (en) * | 1998-01-28 | 2000-02-15 | Unisys Corp. | Method for synchronizing the schema of a database with its representation in an object-oriented repository |
| US6862736B2 (en) | 1998-02-06 | 2005-03-01 | Microsoft Corporation | Object manager for common information model |
| US6138122A (en) * | 1998-03-02 | 2000-10-24 | Agilent Technologies | Modeling of internet services |
| US6317748B1 (en) * | 1998-05-08 | 2001-11-13 | Microsoft Corporation | Management information to object mapping and correlator |
| US6961748B2 (en) | 1998-10-27 | 2005-11-01 | Murrell Stephen J | Uniform network access |
| FR2785412B1 (fr) * | 1998-10-30 | 2001-08-24 | Bull Sa | Creation dynamique de classes d'objets |
| US6477539B1 (en) * | 1998-12-22 | 2002-11-05 | Nortel Networks Limited | Method and apparatus for interfacing a manager and a plant |
| US6609153B1 (en) | 1998-12-24 | 2003-08-19 | Redback Networks Inc. | Domain isolation through virtual network machines |
| US6154741A (en) * | 1999-01-29 | 2000-11-28 | Feldman; Daniel J. | Entitlement management and access control system |
| US7076476B2 (en) * | 1999-03-02 | 2006-07-11 | Microsoft Corporation | Method and system for integrated service administration via a directory service |
| US6842903B1 (en) * | 1999-05-19 | 2005-01-11 | Sun Microsystems, Inc. | System and method for providing dynamic references between services in a computer system |
| GB2351370A (en) * | 1999-06-25 | 2000-12-27 | Ibm | Data processing with policed object union |
| US7058956B1 (en) * | 1999-09-01 | 2006-06-06 | Microsoft Corporation | Directory services interface extensions with aggregatable software objects |
| US6622170B1 (en) | 1999-09-10 | 2003-09-16 | International Business Machines Corporation | System and method for DEN/LDAP client database access with a backoff capability |
| US6604148B1 (en) * | 1999-10-01 | 2003-08-05 | International Business Machines Corporation | Method, system, and program for accessing a network namespace |
| US7331058B1 (en) * | 1999-12-16 | 2008-02-12 | International Business Machines Corporation | Distributed data structures for authorization and access control for computing resources |
| US6847959B1 (en) * | 2000-01-05 | 2005-01-25 | Apple Computer, Inc. | Universal interface for retrieval of information in a computer system |
| US6484177B1 (en) * | 2000-01-13 | 2002-11-19 | International Business Machines Corporation | Data management interoperability methods for heterogeneous directory structures |
| US6578035B1 (en) | 2000-01-14 | 2003-06-10 | Novell, Inc. | Method for dynamic validation of a distributed database segment which yields a suitable successor |
| US6665674B1 (en) | 2000-02-02 | 2003-12-16 | Nortel Networks Limited | Framework for open directory operation extensibility |
| US6760720B1 (en) | 2000-02-25 | 2004-07-06 | Pedestrian Concepts, Inc. | Search-on-the-fly/sort-on-the-fly search engine for searching databases |
| US6873337B1 (en) * | 2000-04-06 | 2005-03-29 | Microsoft Corporation | Application programming interface for changing the visual style |
| US20010048448A1 (en) * | 2000-04-06 | 2001-12-06 | Raiz Gregory L. | Focus state themeing |
| US6753885B2 (en) * | 2000-04-06 | 2004-06-22 | Microsoft Corporation | System and theme file format for creating visual styles |
| US20050091576A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Programming interface for a computer platform |
| US6731927B1 (en) | 2000-07-14 | 2004-05-04 | Context Connect, Inc. | System and method for context association |
| US7340048B2 (en) * | 2000-07-14 | 2008-03-04 | Context Connect Llc | System and method for directory services and e-commerce across multi-provider networks |
| US7899173B2 (en) * | 2000-07-14 | 2011-03-01 | Context Connect, Llc | Communication connectivity via context association, advertising sponsorship, and multiple contact databases |
| US7051114B1 (en) * | 2000-11-01 | 2006-05-23 | Cisco Technology, Inc. | System and method for integrating directory servers |
| US7200627B2 (en) * | 2001-03-21 | 2007-04-03 | Nokia Corporation | Method and apparatus for generating a directory structure |
| US7756835B2 (en) * | 2001-03-23 | 2010-07-13 | Bea Systems, Inc. | Database and operating system independent copying/archiving of a web base application |
| US6721758B1 (en) | 2001-03-30 | 2004-04-13 | Novell, Inc. | System and method for using schema attributes as meta-data in a directory service |
| US7581231B2 (en) | 2001-07-10 | 2009-08-25 | Microsoft Corporation | Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer |
| US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
| US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
| US7117504B2 (en) * | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
| US7546602B2 (en) | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
| US20030035381A1 (en) * | 2001-08-16 | 2003-02-20 | Yihsiu Chen | Network-based teleconferencing capabilities utilizing data network call set-up requests |
| US7519575B1 (en) * | 2001-08-31 | 2009-04-14 | Novell, Inc. | Method and apparatus for presenting, searching, and viewing directories |
| EP1298526A1 (en) * | 2001-09-26 | 2003-04-02 | Sap Ag | Communicating message with type, object and identifiers from business application to service application |
| US7448045B1 (en) * | 2002-04-30 | 2008-11-04 | Extreme Networks | Method and apparatus to extend a program |
| US6947942B1 (en) | 2002-05-30 | 2005-09-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods of managing user and computer objects in directory service |
| US20040167868A1 (en) * | 2003-02-20 | 2004-08-26 | Bea Systems, Inc. | System and method for a virtual content repository |
| US7290052B2 (en) * | 2003-06-19 | 2007-10-30 | Microsoft Corporation | System and method for enforcing quotas on object creation in a replicated directory service database |
| US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
| US7716357B2 (en) * | 2003-10-24 | 2010-05-11 | Microsoft Corporation | Service discovery and publication |
| US7721254B2 (en) * | 2003-10-24 | 2010-05-18 | Microsoft Corporation | Programming interface for a computer platform |
| US7418507B2 (en) * | 2003-12-18 | 2008-08-26 | Microsoft Corporation | Virtual resource serving of consolidated server shares |
| US7558799B2 (en) * | 2004-06-01 | 2009-07-07 | Microsoft Corporation | Method, system, and apparatus for discovering and connecting to data sources |
| US7840615B2 (en) * | 2004-08-05 | 2010-11-23 | Siemens Enterprise Communications, Inc. | Systems and methods for interoperation of directory services |
| US20060101091A1 (en) * | 2004-10-22 | 2006-05-11 | International Business Machines Corporation | Recovering references in an extended model |
| US8185555B2 (en) | 2004-10-22 | 2012-05-22 | International Business Machines Corporation | Model extension framework |
| US20060129526A1 (en) * | 2004-12-14 | 2006-06-15 | Sitze Richard A | System, apparatus and method of providing at least one of a plurality of serivce providers of a service based on a context in which the service is to be used |
| US7979405B2 (en) * | 2005-01-14 | 2011-07-12 | Microsoft Corporation | Method for automatically associating data with a document based on a prescribed type of the document |
| US7966286B2 (en) * | 2005-02-14 | 2011-06-21 | Microsoft Corporation | Hierarchical management of object schema and behavior |
| US7653653B2 (en) * | 2005-02-14 | 2010-01-26 | Microsoft Corporation | Dynamically configurable lists for including multiple content types |
| US7330855B2 (en) * | 2005-05-25 | 2008-02-12 | Microsoft Corporation | Converting data between a front end schema node and a back end schema node |
| FR2888019A1 (fr) * | 2005-07-04 | 2007-01-05 | France Telecom | Procede de construction d'une base de donnees d'annuaire, produit programme d'ordinateur et serveur correspondants |
| US7752205B2 (en) * | 2005-09-26 | 2010-07-06 | Bea Systems, Inc. | Method and system for interacting with a virtual content repository |
| US7818344B2 (en) * | 2005-09-26 | 2010-10-19 | Bea Systems, Inc. | System and method for providing nested types for content management |
| US20070073674A1 (en) * | 2005-09-26 | 2007-03-29 | Bea Systems, Inc. | System and method for providing federated events for content management systems |
| US7917537B2 (en) * | 2005-09-26 | 2011-03-29 | Oracle International Corporation | System and method for providing link property types for content management |
| US7483893B2 (en) * | 2005-09-26 | 2009-01-27 | Bae Systems, Inc. | System and method for lightweight loading for managing content |
| US20070073673A1 (en) * | 2005-09-26 | 2007-03-29 | Bea Systems, Inc. | System and method for content management security |
| US20070073784A1 (en) * | 2005-09-26 | 2007-03-29 | Bea Systems, Inc. | System and method for type inheritance for content management |
| US7953734B2 (en) | 2005-09-26 | 2011-05-31 | Oracle International Corporation | System and method for providing SPI extensions for content management system |
| US7831948B2 (en) * | 2006-02-02 | 2010-11-09 | The Boeing Company | Method and system for automatically generating schematics |
| US20070261045A1 (en) * | 2006-05-05 | 2007-11-08 | Dell Products L.P. | Method and system of configuring a directory service for installing software applications |
| US7849069B2 (en) * | 2006-06-21 | 2010-12-07 | International Business Machines Corporation | Method and system for federated resource discovery service in distributed systems |
| US8463852B2 (en) * | 2006-10-06 | 2013-06-11 | Oracle International Corporation | Groupware portlets for integrating a portal with groupware systems |
| US20080133533A1 (en) * | 2006-11-28 | 2008-06-05 | Krishna Ganugapati | Migrating Credentials to Unified Identity Management Systems |
| US7797281B1 (en) | 2007-01-12 | 2010-09-14 | Symantec Operating Corporation | Granular restore of data objects from a directory service |
| US20090019115A1 (en) * | 2007-02-01 | 2009-01-15 | Microsoft Corporation | Communications server objects for configuration information access |
| DE102007057248A1 (de) * | 2007-11-16 | 2009-05-20 | T-Mobile International Ag | Verbindungsschicht für Datenbanken |
| JP5538788B2 (ja) * | 2008-09-29 | 2014-07-02 | キヤノン株式会社 | 画像形成装置 |
| US20130198171A1 (en) * | 2012-01-26 | 2013-08-01 | Microsoft Corporation | Method and system for managing database object information |
| US9477698B2 (en) * | 2012-02-22 | 2016-10-25 | Salesforce.Com, Inc. | System and method for inferring reporting relationships from a contact database |
| US9578130B1 (en) * | 2012-06-20 | 2017-02-21 | Amazon Technologies, Inc. | Asynchronous and idempotent distributed lock interfaces |
| US20150242531A1 (en) * | 2014-02-25 | 2015-08-27 | International Business Machines Corporation | Database access control for multi-tier processing |
| CN113158204B (zh) * | 2021-04-09 | 2024-08-16 | 深圳市联软科技股份有限公司 | 一种docker容器访问控制宿主机的方法及系统 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1252903A (en) * | 1985-06-11 | 1989-04-18 | Frank D. Bartocci | Dynamic update of database directories using directed or undirected mechanisms |
| US5377323A (en) * | 1991-09-13 | 1994-12-27 | Sun Microsytems, Inc. | Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems |
| ATE187268T1 (de) * | 1992-07-06 | 1999-12-15 | Microsoft Corp | Verfahren zur namensgebung und zur bindung von objekten |
| US5497463A (en) * | 1992-09-25 | 1996-03-05 | Bull Hn Information Systems Inc. | Ally mechanism for interconnecting non-distributed computing environment (DCE) and DCE systems to operate in a network system |
| US5805885A (en) * | 1992-12-24 | 1998-09-08 | Microsoft Corporation | Method and system for aggregating objects |
| US5491817A (en) * | 1993-05-25 | 1996-02-13 | Bell Communications Research Inc. | Linking system and method for accessing directory information about an object in one context when information in another context is known |
| US5485617A (en) * | 1993-12-13 | 1996-01-16 | Microsoft Corporation | Method and system for dynamically generating object connections |
| US5548726A (en) * | 1993-12-17 | 1996-08-20 | Taligeni, Inc. | System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node |
| US5689700A (en) * | 1993-12-29 | 1997-11-18 | Microsoft Corporation | Unification of directory service with file system services |
| US5588147A (en) * | 1994-01-14 | 1996-12-24 | Microsoft Corporation | Replication facility |
| US5911066A (en) * | 1994-02-22 | 1999-06-08 | Microsoft Corporation | Data transfer utilizing a single functionally independent data transfer mechanism |
| US5600831A (en) * | 1994-02-28 | 1997-02-04 | Lucent Technologies Inc. | Apparatus and methods for retrieving information by modifying query plan based on description of information sources |
| US5682532A (en) * | 1994-05-02 | 1997-10-28 | Microsoft Corporation | System and method having programmable containers with functionality for managing objects |
| US5831606A (en) * | 1994-12-13 | 1998-11-03 | Microsoft Corporation | Shell extensions for an operating system |
| US5682478A (en) * | 1995-01-19 | 1997-10-28 | Microsoft Corporation | Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server |
| US5692180A (en) * | 1995-01-31 | 1997-11-25 | International Business Machines Corporation | Object-oriented cell directory database for a distributed computing environment |
| US5893107A (en) * | 1996-07-01 | 1999-04-06 | Microsoft Corporation | Method and system for uniformly accessing multiple directory services |
| US6016499A (en) * | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
-
1996
- 1996-07-01 US US08/674,318 patent/US5893107A/en not_active Expired - Lifetime
-
1997
- 1997-06-27 CA CA002209170A patent/CA2209170C/en not_active Expired - Lifetime
- 1997-07-01 EP EP04014741.5A patent/EP1460565B1/en not_active Expired - Lifetime
- 1997-07-01 EP EP97110830A patent/EP0817101B1/en not_active Expired - Lifetime
- 1997-07-01 DE DE69730657T patent/DE69730657T2/de not_active Expired - Lifetime
- 1997-07-01 JP JP21114897A patent/JP4197753B2/ja not_active Expired - Lifetime
-
1998
- 1998-11-18 US US09/195,568 patent/US6360230B1/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004272911A (ja) * | 2003-03-07 | 2004-09-30 | Microsoft Corp | コンピューティング環境におけるオブジェクト内のフィールドのカスタマイズ |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69730657D1 (de) | 2004-10-21 |
| US6360230B1 (en) | 2002-03-19 |
| DE69730657T2 (de) | 2005-02-10 |
| JP4197753B2 (ja) | 2008-12-17 |
| US5893107A (en) | 1999-04-06 |
| EP0817101B1 (en) | 2004-09-15 |
| EP1460565A1 (en) | 2004-09-22 |
| CA2209170C (en) | 2006-02-07 |
| CA2209170A1 (en) | 1998-01-01 |
| EP1460565B1 (en) | 2017-08-02 |
| EP0817101A3 (en) | 1998-07-29 |
| EP0817101A2 (en) | 1998-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5893107A (en) | Method and system for uniformly accessing multiple directory services | |
| US6173289B1 (en) | Apparatus and method for performing actions on object-oriented software objects in a directory services system | |
| US5815703A (en) | Computer-based uniform data interface (UDI) method and system using an application programming interface (API) | |
| US5689701A (en) | System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax | |
| JP4365142B2 (ja) | プロパティをオブジェクトに関連付けするための、コンピュータ可読媒体、システム、および、方法 | |
| US7305409B2 (en) | Data referencing within a database graph | |
| US5617568A (en) | System and method for supporting file attributes on a distributed file system without native support therefor | |
| US7043481B2 (en) | System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships | |
| US5682532A (en) | System and method having programmable containers with functionality for managing objects | |
| EP0640913B1 (en) | Multilingual standard resources | |
| US7536409B2 (en) | Having a single set of object relational mappings across different instances of the same schemas | |
| CN100409215C (zh) | 对个性化数据库与外部用户数据库的透明访问的方法 | |
| US6789086B2 (en) | System and method for retrieving registry data | |
| US8667508B2 (en) | Method for providing stand-in objects | |
| JP2001527243A (ja) | オブジェクト指向アプリケーション内のクラスに対応するリレーショナル・データベース内のインデックスを生成するための方法及び装置 | |
| US8954461B2 (en) | Systems and methods for object to relational mapping extensions | |
| US20080288918A1 (en) | Web service tool based on business object layer | |
| US7107594B1 (en) | Method and system for providing a version-independent interface to a computer resource | |
| US7496926B2 (en) | Method and apparatus to encapsulate a queue in a namespace | |
| US6886172B2 (en) | Method for mapping procedural C++ code to java object-oriented classes | |
| JP2001527241A (ja) | オブジェクト指向データ依存性に対応するデータベース内の記憶済み手続をロードするための方法及び装置 | |
| HK1069896A (en) | Method and system for uniformly multiple directory services | |
| CN100530181C (zh) | 用于生成统一用户特征集的系统和方法 | |
| US7702648B1 (en) | Localization of data represented by business entities | |
| CN120086194A (zh) | 一种低代码平台中实现应用内组件数据共享方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040510 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071015 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080115 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080118 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080415 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080916 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080930 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |