JP3083853B2 - グローバルにディストリビュートされたソフトウェア・コンポーネントを管理するための方法 - Google Patents
グローバルにディストリビュートされたソフトウェア・コンポーネントを管理するための方法Info
- Publication number
- JP3083853B2 JP3083853B2 JP09503354A JP50335497A JP3083853B2 JP 3083853 B2 JP3083853 B2 JP 3083853B2 JP 09503354 A JP09503354 A JP 09503354A JP 50335497 A JP50335497 A JP 50335497A JP 3083853 B2 JP3083853 B2 JP 3083853B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- network
- component
- software component
- ole
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 38
- 238000005192 partition Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- WSNSZZGIMVHDHF-TUUVXOQKSA-N Asn-Trp-Asp-Ser Chemical compound C1=CC=C2C(C[C@H](NC(=O)[C@H](CC(N)=O)N)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@@H](CO)C(O)=O)=CNC2=C1 WSNSZZGIMVHDHF-TUUVXOQKSA-N 0.000 description 1
- 240000003537 Ficus benghalensis Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/46—Indexing scheme relating to G06F9/46
- G06F2209/462—Lookup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
1995年6月14日に出願の第60/000,200号、および、1995
年9月12日に出願の第60/003,615号を基礎としており、
ここではそれぞれを参照する。
ェア コンポーネントを管理するためのコンピュータ実
装された方法に関し、特に、ローカル ネットワーク若
しくはインターネット上に常駐(reside)するCOM若し
くはOLEソフトウェア コンポーネント バイナリ オ
ブジェクトおよびインターフェースをロケート(locat
e)してレジスタ(register)するための方法に関す
る。
ウェア アイテムの巨大な集合(array)を提供してい
る。しかし、ある要求を識別した後でも、利用できる技
術の量があまりに多いので適切なアイテムをロケートす
ることが困難になっている。これらが提供するシステム
若しくはアイテムは、ほかのシステム若しくはアイテム
の機能と重複することになるかもしれない。異なるソフ
トウェアは、整合性のない動作をすることが多い。アイ
テムにアクセスして使用することが難しいのは、アイテ
ムが利用できるようにするにはそのアイテムを使用した
いシステムと互換性のないシステムを介するしかないこ
とがしばしばあるからである。
「コンポーネント オブジェクト モデル」(「CO
M」)に基いている。COMは、一般的には「OLE2プログラ
マーズ リファレンス」第1巻、ISBN1−55615−628−
6(「OLE2プログラマ」)、第3頁から7頁、および、
ケー・ブロックシュミット「インサイドOLE」第2版、I
SBN1−55615−843−2(「インサイドOLE」)、第9頁
から14頁に説明されている。
は「ソフトウェア コンポーネント」として知られてい
るものでもある)を定義するが、これは、複数の機能を
カプセル化してこれらが「クライアント」による使用に
よって利用できるようにするものである。これらの複数
の機能は、「サービス」という言葉で呼ばれ、これによ
ってソフトウェア コンポーネントを「サーバ」若しく
は「サーバ コンポーネント」として見ることが論理的
にできるようになる。しかし、「サーバ」という言葉は
「インターネット サーバ」、「インプロセスサー
バ」、「ファイル サーバ」、および、「コンポーネン
ト サーバ コンピュータ」のような用語においても使
用される。「サーバ」以外の言葉は、その文脈にしたが
って変化することもある。当業者であれば、文脈にした
がってそれぞれの場合における意味を理解(determin
e)することができるはずである。
バイナリ オブジェクトと、少なくとも1つのバイナリ
オブジェクトへのインターフェースとを含む。クライ
アントはソフトウェア コンポーネントからどのような
サービスが利用できるか、および、これらのサービスが
どのような情報を必要としどのような情報を生成するか
を決定するが、これはコンポーネントのインターフェー
スを調査することによって行う。「インサイドOLE」お
よび「OLE2プログラマ」では、コンポーネントインター
フェースおよびこのようなインターフェースを調査する
ためのツールについて説明している。たとえば、「イン
サイドOLE」の14から22、43から47、および、1145から1
164頁を参照されたい。
イアントに提供するが、これは、コンピュータ上でバイ
ナリ オブジェクトの部分を実行し、クライアントと通
信することによって行う。「インサイドOLE」および「O
LE2プログラマ」では、多くの利用できるバイナリ オ
ブジェクトのいくつかについて説明しており、特定のソ
フトウェア コンピュータとそのクライアントとの間の
通信の上の制限について論じている。たとえば、「OLE2
プログラマ」の5から29頁を参照されたい。
ソフトウェア コンポーネントのさまざまなバラエテ
ィ、OLEコントロール、OLEオートメーション オブジェ
クト、OLEオートメーション コントローラ、OLEイネー
ブルド アプリケーション、および関連するツールが商
業的に利用できる。「ビジュアル開発のためのOLEコン
ポーネントのディレクトリ」は、カリフォルニア州、パ
ロ アルトのフォーセット技術出版から入手できる。
るコンピュータ上でアクセスできるのは、それらが大変
特有のフォーマットを有する「レジストリ ファイル」
内にレジスタされている場合だけである。レジストリ
ファイルの例、および、そのフォーマットの説明は、
「インサイドOLE」の58から59、70から73、169から17
2、226から231、268から269、328、378から380、616か
ら617 667から669、830から833、879、988から989、お
よび1126から1127頁に与えられている。
れ利用されるソフトウェア コンポーネントについての
重要な情報を提供する。特に、レジストリ ファイル
は、「CLSID」として知られているソフトウェア コン
ポーネント識別子を、識別されたサーバのバイナリ オ
ブジェクトのファイル システム ロケーションと、そ
のサーバ コンポーネントのインターフェースの「タイ
プ ライブラリ」情報とにマップする。CLSIDについて
は「インサイドOLE」の65から72頁で説明されている。
2つのOLEサーバ コンポーネントは、同じディスクに
ストアしてもよいが、一方のコンポーネントだけがコン
ピュータのレジストリ ファイル内の適切なエントリに
よってレジスタされている場合には、そのレジスタされ
たコンポーネントだけがそのコンピュータ上で稼動する
潜在的なクライアントから見えることになる。
ンだけが典型的にはレジスタされる。たとえば、「イン
サイドOLE」では1つのグローバルなレジストリ ファ
イルではなく分離したレジストリ ファイルを使用して
いるが、これは複数のバージョンが例として使用されて
いるからである。「インサイドOLE」の59頁。
ネットワーク(「LAN」)に接続されている複数のコン
ピュータから利用できるようにしてもよいが、これはそ
のレジストリをLANのネットワーク ファイル サーバ
上の置くことによって行う。たとえば、レジストリ フ
ァイルは、ほかのファイル同様、UNIX若しくはWindows
NTファイル サーバを通じてアクセスできるようにする
ことができる。複数の分離したレジストリ ファイル
が、あたかも単一のより大きなレジストリ ファイルで
あるかのようにクライアントから見えるようにすること
もできる。レジストリ ファイルの内容は、したがっ
て、ワークグループの複数のメンバ、例えばMicrosoft
Windows若しくはWindows NT Workgroupのメンバの間で
共有される(Microsoft、Windows、および、NTはマイク
ロソフト社の商標である)。
まざまな欠点がある。単一のLANを超える規模にはなか
なかできないが、これは、ユーザ アカウント情報が各
追加サーバに対して必要とされるからである。これらの
追加ユーザ アカウントに関連する管理作業の負担を削
減するためにある規約(コンベンション、convention)
を使用することもできる。多くのFTPサイトで使用され
ているたとえば「アノニマス(anonymous)」ユーザ
コンベンションである。しかし、アクセス制御、セキュ
リティ、および、リスニング制限が、これらのコンベン
ションでは犠牲になる。
いる場合は、クライアントはコンポーネントのインター
フェースで識別されるサービスをリクエストできる。サ
ービス リクエストはクライアントからサーバ コンポ
ーネントへデータを渡すことがよくあり、その結果、サ
ーバからクライアントへエラー コード若しくはほかの
データが戻して渡されることもある。レジスタされたサ
ーバ コンポーネントとそのクライアントの一つとの間
の情報の受渡しのプロセスは、「マーシャリング」とし
て知られている。「インサイドOLE」および「OLE2プロ
グラマ」で説明されている通り、OLEは「標準マーシャ
リング」を提供するが、これによって、サーバとそのク
ライアントが単一のコンピュータ上のメモリの共通領域
へのアクセスを共有しているときの通信ができるように
なる。OLEはまた、「カスタム マーシャリング」も許
している(が、実際には提供していない)。たとえば、
当業者の一人であれば、関数の引数および結果をLANを
渡ってトランスミットするカスタム マーシャリングを
実装することができる。たとえば、「インサイドOLE」
の33から35、277から301、329から338頁を参照された
い。
技術的手段のための制限されたサポートを提供してい
る。「インサイドOLE」はこのサポートを234から237、2
47、および、269から274頁で説明している。ライセンス
処理に対するOLEアプローチには、ライセンス キーが
永続的にアプリケーション内にストアされるという欠点
がある。OLEライセンス処理サポートはまた、現在は、
共有メモリを通じて通信するサーバ コンポーネントお
よびクライアントに制限がある。簡単にいえば、OLEに
よって個々のソフトウェアはより信頼できるものにな
り、より利用しやすくなる。OLEによってソフトウェア
ルーチンのカプセル化および再利用が促進され、これ
によってプログラム開発およびアップグレードの時間を
削減することができる。しかし、OLEコンポーネントが
利用できるのは、それがローカルのレジストリ ファイ
ルにレジスタされている場合だけである。このようにロ
ーカル レジストリ ファイルに依存しているため、コ
ンポーネントの利用可能性を過度に制限することにな
り、多くのコンピュータがレジスタ情報へアクセスする
必要がある場合はスケーリング問題が生ずることとな
る。
ンポーネントはLANに接続されたコンピュータ上にスト
アしてもよい。OLEクライアントはLAN上に常駐してもよ
い。しかし、OLEは、LAN管理ツールの機能を十分には利
用しない。OLEは、当業者に、たとえばカスタム マー
シャリング機能などのネットワーク処理を利用する機能
を実装するためのするための機会を提供する。しかし、
OLEはその環境が単一の孤立したコンピュータであると
仮定する場合も大変しばしばある。
トリ サービス プロバイダ」である。ディレクトリ
サービス プロバイダにはさまざまあるが、一般的には
ネットワーク リソースのロケーションとそれらのリソ
ースを使用するネットワーク ユーザの権限の両方を管
理するのを助ける。周知のディレクトリ サービス プ
ロバイダ1つはNetWareディレクトリ サービス(「ND
S」)ソフトウェアを含むが、これはユタ州、オレムの
ノベル社から入手することができる(「NetWareディレ
クトリ サービス」はノベル社の商標である)。
む。スキーマは、「属性シンタクス」の定義のセット、
「属性」定義のセット、および、「データベース ブジ
ェクト クラス」(「クラス」としても知られている)
の定義のセットを含む。NDSソフトウェア、および、デ
フォルトのNDSスキーマは、ビアラーほか「プロフェッ
ショナルのためのNetWare4(Netware4 for Professiona
ls)」、ISBN1−56205−217−9(「NetWare4」)、255
から342頁で説明されている。「属性」および「プロパ
ティ」という用語は、「NetWare4」およびここでは相互
に変更可能なように使用される。「属性シンタクス」と
「プロパティ シンタクス」という用語も同様である。
タクス名および与えられた属性シンタクス タイプの属
性に割り当てることができる値の種類および/又は範囲
によって指定される。属性シンタクスには、例えば、Ca
se Exact String(大文字小文字を区別する文字列)、C
ase Ignore List(大文字小文字を区別しない文字
列)、E−Mail Address、Net Address(有効なアドレ
スは、IPXおよびAppleTalk含む)、Path、および、Stre
am(NDSデータベース ファイルに内に直接ストアされ
てはいないデータへアクセスするためのもの)が含まれ
る。属性シンタクスは、大雑把に言えば従来のプログラ
ミング言語における整数、浮動小数点数、文字列、ファ
イル、ストリーム、あるいは、論理値などのデータ タ
イプに対応する。スキーマ内の各属性は、これに関連付
けられたある情報を有する。各属性は属性名および属性
シンタクス タイプを有する。属性名はその属性を識別
するが、属性シンタクスはその属性がとることのできる
値の範囲を決める。たとえば、デフォルトのNDSスキー
マはシンタクス タイプ整数の属性であって名前「サポ
ートされた接続」、すなわち、ファイル サーバが許可
する現在の接続の数を指定する名前を有する属性を含
む。
てと関連付けらるかもしれない。Non−removable、Hidd
en、Public Read、Read Only、Single−Valued Sized、
および、String。これらのフラグの一般的な意味は当業
者であれば知っているものである。Sizedフラグが与え
られた属性にセットされている場合は、その属性によっ
て現在保持される値に対して上限および下限(No Limit
制限なしを含んでもよい)が課せられる。
はまた、それに関連付けられたある情報を有する。各ク
ラスは、これを識別するためのクラス名、このクラスが
属性を継承しているほかのクラスを識別するスーパー
クラスのセット、および、このクラスのインスタンスを
保持することが許可されているクラスを識別するコンテ
ナ クラスのセットを有する。
テナ フラグおよびエフェクティブ フラグを有する。
コンテナ フラグは、そのクラスがコンテナ クラスか
否か、つまり、ほかのクラスのインスタンスを保持する
ことができるか否かを表示する。エフェクティブ フラ
グは、そのクラスのインスタンスが定義できるか否かを
表示する。非エフェクティブ クラスはほかのクラスに
よって継承される属性を定義するためだけに使用される
一方、エフェクティブ クラスは、継承できる属性を定
義したり、インスタンスを定義したり、あるいは、両方
を定義したりするために使用される。
る属性をまとめてグループ化する。クラスのネーミング
属性は、そのクラスのインスタンスに名前を付けるため
に使用できる属性である。クラスのマンダトリ属性は、
そのクラスの有効なインスタンスのそれぞれの中に存在
しなくてはならないもの、および/又は、そのクラスか
ら継承したクラスのマンダトリ属性とならなければなら
いものである。クラスのオプショナル属性は、そのクラ
スの有効なインスタンスのそれぞれの中に、存在しても
よいが必要ではない属性である。親クラスのオプショナ
ル属性は、その親クラスから継承した子クラスのオプシ
ョナル属性となる。ただし、その属性がその子クラスが
継承したほかの親クラスにおいてマンダトリである場合
はそうではない。この場合は、これらの属性は子クラス
においてもマンダトリとなる。
ジェクト クラスのインスタンスである。同じクラスの
異なるデータベース オブジェクトは、同じマンダトリ
属性を有するが、それらの対応するマンダトリ属性に異
なる現在の値を有してもよい。同じクラスの異なるデー
タベース オブジェクトは、異なるオプショナル属性、
および/又は、対応するオプショナル属性に異なる現在
の値を有してもよい。
クトリ サービス インターフェース ライブラリを含
むが、これは、スキーマおよびデータベースへのアクセ
スを提供する。スキーマは、API拡張可能なスキーマで
あり、その中では、スキーマの中から見つけられる属性
およびオブジェクトはアプリケーション プログラマー
ズ インターフェース「API」)を通じて変更すること
ができ、その際に、スキーマを実装するソース コード
へ直接アクセスしたりはしない。ある実施形態において
は、ディレクトリ サービス インターフェース ライ
ブラリはファイルにストアされたテーブルおよびコマン
ドを含むが、これらは初期化のとき、および、データベ
ース オブジェクトが作成されるときにスキーマによっ
て読み出され、これによって利用できる属性およびクラ
スを定義する。
サービス インターフェース ライブラリは、スキー
マにアクセスして変更するためのほかのコードを利用で
きるようなルーチンのセットを含む。ディレクトリ サ
ービス インターフェース ライブラリの実装の一つ
は、NWDSxxx()ライブラリを含み、これは商業的にユ
タ州、オレムのノベル社から入手することができる。NW
DSxxx()ライブラリがこのような名前になっているの
は、このライブラリで定義されている関数の名前および
データ タイプが典型的には「NWDS」で始まっているか
らであり、これは、「NetWare Directory Service」の
頭字語(acronym)である。
詳細に応じて定義されるデータベース オブジェクトを
含む。これらのオブジェクトは、典型的にはネットワー
クのリソースを表現する。データベースは「階層的」デ
ータベースである。というのは、データベース内のオブ
ジェクトは階層的なツリー構造内に接続されているから
である。ほかのオブジェクトを含むことができるこのツ
リーの中のオブジェクトを「コンテナ・オブジェクト」
と呼ぶがこれはコンテナ・オブジェクト・クラスのイン
スタンスでなければならない。」 データベースは、また、「同期的パーティション」デ
ータベースである。データベースは、典型的には2つ以
上の重複しないパーティションに分割される。データベ
ース クエリに対する応答時間を改善するため、およ
び、フォールト トレランスを提供するため、各パーテ
ィションのレプリカがネットワーク内の1つ以上のファ
イル サーバ上に物理的にストアされる。与えられたパ
ーティションのレプリカは、ディレクトリ サービス
プロバイダによって、自動化された同期プロセスを通じ
て定期的に更新され、これによってネットワーク上のア
クティビティによって生ずるレプリカ間の相違を減少さ
せる。
は、NWAdminおよびそのありうる「スナップイン」モジ
ュールである。これらのツールの説明については、公知
になっているコペンディング出願第08/499,711号、1995
年7月7日出願を参照することができる。
いし、インターネットは現在では、OLEを十分に利用す
るように構成されていない。インターネットは、世界中
の莫大な数のコンピュータ間の様々な異なる通信を提供
する。ここで使用する通り、「インターネット サー
バ」は、インターネット アドレスによって識別される
コンピュータを意味する。インターネット アドレス
は、イー・クロル「ホール・インターネット:ユーザー
ズ ガイドおよびカタログ」第2版、ISBN1−56592−06
3−5、(「インターネット ガイド」)、23から24頁
に説明されている。
サーバから利用できる莫大な量の情報を管理するのに
役立つ。インターネット サーバについては、以降に、
それが提供する特定の検索および情報管理サービスに応
じて説明する。たとえば、「Archieサーバ」、「Gopher
サーバ」、「WAISサーバ」、および、「ワールド ワイ
ド ウェブ サーバ」はすべて、ファイルのインデック
ス(index)および/はロケートをするためのソフトウ
ェアをサポートしている。「whois」、「finger」など
のソフトウェア、および、X.500ディレクトリ サービ
スはインターネット ユーザのための個人的データ、た
とえば、その加入組織(affiliation)、電子メール
アドレス、レギュラー メール アドレス、および電話
番号などを管理する。「インターネット ガイド」187
から323頁を参照されたい。
して動作させるための典型的なアプローチは、ユーザが
メニュー、ディレクトリの一覧、あるいは「リードミ
ー」ファイルを、インターネット サーバを使用して閲
覧(browse)したときに開始される。ユーザは、興味あ
る名前や説明を有するファイルを選択する。典型的には
ファイルはスタンドアローンプログラムを含む。たとえ
ば、DOS互換システム上の.EXE、.COM、又は、.BATファ
イルに見られるようなプログラムである。ユーザは、次
に、FTP若しくはほかのファイル コピー処理 サービ
スを呼び出し(invoke)して、その実行可能ファイルを
ユーザのローカル コンピュータへコピーする。最後
に、ユーザはその実行可能ファイルをローンチ若しくは
インボークする。
見ることができる(JAVA、サン マイクロシステムズ社
の商標である)。Javaは、「アプレット」と呼ばれる小
規模のアプリケーション プログラムを記述するために
設計されたインタープリタ型プログラミング言語であ
り、アプレットはユーザがワールド ワイド ウェブ
ページを見たときに実行される。アプレットはワールド
ワイド ウェブ ページにリンクされか若しくは含ま
れており、その数は画像やほかのページへのリンクが含
まれている数と同程度である。ユーザは、ウェブ ペー
ジのハイライト表示若しくは下線表示された部分であっ
てアプレットに関連付けられた部分を選択すると、その
アプレットがインターネットを通じてユーザのウェブ
ブラウザに転送される。ウェブ ブラウザがJavaインタ
ープリタを含まない場合は、エラーが発生する。ブラウ
ザがインタープリタを含む場合は、それがアプレットを
「インタプリタ」するが、このインタプリタは、一度に
1ピースをバイナリに翻訳し、その結果のバイナリ コ
ードを実行し、次のピースを翻訳し、などと処理をする
ことによって行われる。アプレットはCOMに適合するも
のではない。というのは、アプレットはバイナリ オブ
ジェクトを提供しないし、COMインターフェース管理サ
ービスをサポートしないからである。
トリビュートされたCOMフトウェア コンポーネントを
新しい方法を提供することは、当業界の進歩となり得
る。ディレクトリ サービス プロバイダの機能を利用
するこのような方法を提供することは、さらなる進歩と
なり得る。
な方法を提供することは、さらなる進歩となり得る。
このような方法を開示して請求する。
フトウェア コンポーネントを管理するためのアプロー
チを提供する。ネットワークは、ローカル エリア ネ
ットワークでも、ワイド エリア ネットワークでも、
インターネットでも、当業界でよく知られているほかの
ネットワークでも、あるいはこれらの組み合わせのいず
れかでもよい。ネットワークは、ソフトウェア コンポ
ーネントのためのリポジトリ(repository)としてとし
て働く。前述のアプローチの下では、COMクライアント
から到達できるようなコンポーネントのリポジトリは、
本質的には現在レジスタされているコンポーネントに制
限されていた。しかし、本発明の下では、リポジトリが
拡張されており、前述のレジスタされているコンポーネ
ントのみならずレジスタされていないコンポーネントを
も含み、これらは任意の巨大なデータベース内で識別さ
れる。
ジェクトおよびバイナリ オブジェクトへの少なくとも
1つのインターフェースを含む。コンポーネントはま
た、リファレンス カウントおよびほかの機能を含んで
もよい。好適なソフトウェア コンポーネントは制限な
しにOLEコンポーネントを含む。
を認識するだけである。ネットワークは、レジストリ
ファイルが常駐するレジストリ コンピュータを少なく
とも1つ含む。レジストリ ファイルのエントリは、レ
ジスタされたコンポーネントを識別してそのロケーショ
ンを指定する。好適なレジストリ ファイルは、たとえ
ばOLEファイルを含む。
異なるコンポーネント サーバ コンピュータを少なく
とも1つ含む。今までのところでは、レジスタされてい
ないコンポーネントはコンポーネント サーバ コンピ
ュータ上に常駐する。好適なコンポーネント サーバは
Novell NetWAreおよびほかのファイル サーバを含み、
このほか、Gopher、Archie、Wide Area Information Se
rvices(「WAIS」)、および、ウェブ サーバなどのイ
ンターネット サーバを含む。
ップを含む。データベースは、ソフトウェア コンポー
ネント識別子をソフトウェア コンポーネント ロケー
タ(locator)に関連付けるが、このデータベースがア
クセスされて、与えられた識別子にマッチするロケータ
がある場合にはこのロケータを探す。好適なデータベー
スは階層的な同期的パーティション データベースであ
ってネットワーク オペレーティング システムによっ
て維持されるもの、たとえば、Novell Netware Directo
ry Service(「NDS」)データベースを含む。NDSデータ
ベースを本発明にしたがって拡張して、識別子を有する
コンポーネント データベース オブジェクトを含むよ
うにしてもよい。ほかの好適なデータベースは、インタ
ーネット検索エンジン、たとえば、Gopher、Archie、WA
IS又はウェブ ブラウザなどによって維持されるものを
含む。
の検索によって識別された1つ以上のソウトウェア コ
ンポーネントが選択される。選択されたソフトウェア
コンポーネントのロケーションがデータベースから抽出
される。必要な場合は、コンポーネントの一部若しくは
すべてが転送されてクライアントはファイル システム
を通じてこれにアクセスできるようになる。パーシャル
トランスファは、コンポーネントの1つ以上のインタ
ーフェースのトランスファを含むが、トータル トラン
スファはコンポーネントの全インターフェースおよびバ
イナリ オブジェクトを含む。最後に、レジストリ フ
ァイルが更新され、選択されたコンポーネントのロケー
ションを含むようになる。
れた特許請求の範囲によっておよび付属する図面との組
み合わせを参照することによって十分に明らかになるで
あろう。
ため、上記の事項を概括した発明のより特定性の高い説
明が、添付された図面を参照することによって行われ
る。これらの図面は本発明の選択された実施形態を提供
するものであり、したがって、その範囲を制限するもの
ではないと認識されるべきものであるということを理解
すべきである。本発明は、添付された図面を使用するこ
とによって、さらなる限定および詳細を以って記述され
説明される。
ピュータ ネットワークのブロック図である。
ト、ソフトウェア コンポーネント サーバ コンピュ
ータ、レジストリ、および、データベースの間の関係を
本発明にしたがって示すブロック図である。
トウェア コンポーネントを示す図である。
データベースを示す図である。
ベース オブジェクトの一実施形態を示す図である。
ベース オブジェクトのこの他の実施形態を示す図であ
る。
れる。本発明は、コンピュータ ネットワーク内のソフ
トウェア コンポーネントを管理する方法および装置に
関し、特に、ローカル エリア ネットワーク若しくは
インターネット ネットワーク上に常駐するCOM若しく
はOLEソフトウェア コンポーネントをロケートしてレ
ジスタするための方法に関する。ネットワーク上のコン
ピュータは、ワークステーションでも、ラップトップ
コンピュータでも、取り外し可能なモバイル コンピュ
ータでも、ファイル サーバでも、あるいはこれらの組
み合わせでもよい。ネットワークは1つ以上のLAN、ワ
イド エリア ネットワーク、インターネット サー
バ、インターネット クライアント、もしくはこれらの
組み合わせを含んでもよい。
もに使用することが望ましいものの一つは、図1の10に
おいて一般的に示される。一実施形態においては、ネッ
トワーク10はNovell NetWareネットワーク オペレーテ
ィングシステム ソフトウェア、バージョン4.xを含む
(NetWareはノベル社の登録商標である)。ほかの実施
形態においては、ネットワークはNetWare Connect Serv
ices、VINES、Windows NT、LAN Manager、あるいはLANt
asticネットワーク オペレーティング・システム ソ
フトウェアを含む(VINESはバニヤン ステムズの商標
であり、NTおよびLAN Managerはマイクロソフト社の商
標であり、LANtasticはアーティソフト社の商標であ
る)。ネットワーク10は、ローカル エリア ネットワ
ーク12を含んでもよいが、これは、ほかのLANやインタ
ーネットの一部などのほかのネットワーク14と、ゲート
ウェイもしくはこれと同等の機構を通じて接続可能であ
る。
が、これらはネットワーク信号線18によって1つ以上の
ネットワーク クライアント20と接続されている。ファ
イル サーバ16およびネットワーク クライアントは、
当業者によって構成され、本発明にしたがって動作する
ようにするための方法にはさまざまなバラエティがあ
る。ファイル サーバ16は、インターネット サーバと
して、ディレクトリ サービス プロバイダとして、ソ
フトウェア コンポーネント サーバとして、もしくは
これらの組み合わせとして構成することができる。ファ
イル サーバ16は、ネットワーク クライアント20、も
しくはこれらの両方は、OLEレジストリ ファイルを保
有していてもよく、一方若しくは双方がOLEクライアン
トとして動作してもよい。
ピュータ22、ラップトップ23、および、ワークステーシ
ョン26を含む。信号線18は、ツイステッド ペア、同
軸、若しくは、光ファイバー ケーブル、電話回線、衛
星、マイクロ波リレー、変調AC電力線、および当業者に
公知のほかのデータ 転送手段を含んでいてもよい。ネ
ットワーク クライアント コンピュータ20に加え、プ
リンタ28およびディスクのアレイ30もネットワーク10に
接続されている。個々のネットワーク コンピュータ
システムおよびコンポーネントは図示されているが、当
業者であれば、本発明は他の種々のネットワークおよび
コンピュータにおいても動作することがわかるであろ
う。
ト20は、フロッピー ドライブ、テープ ドライブ、光
ドライブ、あるいはストレージ媒体を読むための手段32
を使用することができる。好適なストレージ媒体32は磁
気、光、もしくは、ほかのコンピュータ可読なストレー
ジ装置であって特定の物理的サブストレート構成を有す
るものを含む。好適なストレージ装置はフロッピー デ
ィスク、ハード ディスク、テープ、CD−ROM、PROM、R
AM、および、ほかのコンピュータ システム ストレー
ジ装置を含む。サブストレート構成は、データおよびイ
ンストラクションを表すが、これらによって、ここで説
明するように特定のあらかじめ定めた方法でコンピュー
タ・システムが動作するようになる。したがって、媒体
32は資産として(tangibly)プログラム、関数、および
/又は、ファイル サーバ16および/又はネットワーク
クライアント コンピュータ20によって実行されるイ
ンストラクションを有形化(embody)するものであり、
ここで説明する通り、本発明のディストリビュートされ
たソフトウェア コンポーネントの管理方法のステップ
を実体上(substantially)実行するためのものであ
る。
アント40として動作する場合のネットワーク構成を示
す。すなわち、クライアント40上で動作しているCOMア
ウェア(COM−aware)ソフトウェアのいくつかは、特定
のCOMソフトウェア コンポーネントを識別しており、
そのサービスは調査されて使用されてもよい。COMのOLE
実施形態においては、所望のソフトウェア コンポーネ
ントは典型的にはOLEクラス識別子、すなわちCLSIDによ
って識別される。しかし、所望のソフトウェア コンポ
ーネントは、グローバリー ユニーク識別子(「GUI
D」)、ユニバーサリー ユニーク識別子(「UUI
D」)、あるいはほかのCLSIDに同等なもので識別されて
もよい。
ってレジストリ コンピュータ42に接続されている。そ
うではなく、クライアント40およびレジストリ コンピ
ュータ42が同じコンピュータであってもよい。COMレジ
ストリ ファイル44は、レジストリ コンピュータ42上
に常駐している。好適なレジストリ ファイル44はOLE
レジストリ ファイルを含むが、これは「OLE2プログラ
マ」および「インサイドOLE」で説明されている通りで
ある。ここで使用される通り、ファイル若しくはソフト
ウェア コンポーネントは、そのファイル若しくはコン
ポーネントが、それぞれ、そのネットワーク上のほかの
コンピュータに与えられたコンピュータを通じてアクセ
ス可能な場合は、与えられたコンピュータ上に「常駐」
する。たとえば、NetWareファイル サーバなどの従来
のファイル サーバによって管理されているファイル
は、そのファイル サーバの上に常駐する。
ットワークに信号手段18によって接続されている。1つ
以上のCOMソフトウェア コンポーネント48がコンポー
ネント サーバ46の上に常駐している。注意すべきは、
レジスタされたソフトウェア コンポーネントだけがCO
Mクライアントから利用できる。このように、レジスト
リ ファイル44の中に現われないコンポーネント48はい
ずれもCOMライアント40から利用できない。これは、そ
のクライアント40がネットワークを通じてコンポーネン
ト48を含むファイルへのアクセスを有する場合でさえも
利用できない。
ットワークへ接続する。データベース マネージャ50
は、1つ以上のデータベース オブジェクト若しくはエ
ントリ54を含むデータベース52を管理する。ここで使用
される「データベース・オブジェクト」はある種の「デ
ータベース・エントリ」を参照する。各データベース
オブジェクト若しくはエントリ54は、コンポーネント識
別子56をコンポーネント ロケータ58へ関連付けする。
1実施形態としては、データベース ネージャ50はNove
ll NDSソフトウェアを含み、データベース52はNDSデー
タベースを含む。ほかの実施形態としては、データベー
ス マネージャ50は検索エンジンなどのインターネット
サーバ ソフトウェアを含み、データベース52は1つ
以上のArchieファイル インデックス、Gopherインデッ
クスト ディレクトリ、WAISドキュメント インデック
ス、若しくはワールド ワイド ウェブ ページを含
む。
ト48の実施形態を示す。コンポーネント48は、バイナリ
オブジェクト70を含む。インタープリタされるコード
と異なり、バイナリ コードは実行する前に翻訳処理を
必要としない。バイナリ オブジェクトはまた、「ネイ
ティブ コード オブジェクト」として知られている。
DOS互換システム上では、好適なバイナリ オブジェク
ト70は、たとえば、よく知られている.EXE及び.DLLフォ
ーマットを含む。
への1つ以上のインターフェース72を含む。COMの2つ
の重要な利点は、特定のサービスが利用できるかどうか
を動的に(「実行時に」)調べて決定するためのサポー
トを提供していることと、現在のバイナリ オブジェク
ト70に対して拡張された、改善された、若しくは、代替
のバイナリ オブジェクトを置き換える機能があり、そ
の際にバイナリ オブジェクト70を使用するクライアン
ト40で再コンパイルする必要がないということである。
これらの利点は、その大部分がCOMインターフェース管
理サービスによって達成されている。
アントは動的にコンポーネント48にクエリしてどのよう
なサービスが利用できるか問い合わせて決めることがで
きるようになる。インターフェース管理サービスはま
た、間接参照のレベルをクライアント40とバイナリ オ
ブジェクト70の間で分離する機能を提供する。したがっ
て、望ましくはインターフェース72はCOMインターフェ
ース管理サービスをサポートするものを含む。一実施形
態においては、COMインターフェース管理サービスは、I
UnknownIClassFactoryICreateTypeLib及び関連するOLE
インターフェース及びこれらに同等なものを通じて提供
される。これらについては「OLE2プログラマ」と「イン
サイドOLE」に説明されている通りである。
カウント74を含む。ほかの代替実施形態では、リファレ
ンス カウント74を省略しているが、またほかの実施形
態では、1つ以上の下記の要素を含む。メモリ管理サー
ビス エラー報告サービス、プロセス間通信サービス、
クラス ファクトリ、及び特定の実装選択サービスであ
る。好適なこの要素は「OLE2プログラマ」と「インサイ
ドOLE」に説明されているものを含む。
ータベース52の実施形態を示す。データベース マネー
ジャ50はディレクトリ サービス プロバイダ80を含
み、データベース52はネットワークオペレーティング・
システムによって維持されている階層的同期パーティシ
ョン データベース82を含む。好適なデータベース82
は、NDSデータベースを含む。好適なディレクトリ サ
ービス プロバイダ82は、NetWareネットワーク オペ
レーティング・システムによって管理されているNovell
NDSソフトウェアを含む。NDSは、属性シンタクス86、
データベース クラス88、及び、属性90を含むスキーマ
84を提供する。一実施形態では、既存のNDSスキーマ84
を利用して本発明にしたがってデータベース値を単純に
インタープリトする。
実施形態はNDSスキーマを拡張するが、これは、オブジ
ェクト92、94などのコンポーネント データベース オ
ブジェクトを定義することによって行う。各実施形態
は、コンポーネント識別子56をコンポーネント ロケー
タ58に関連付けるが、これは、識別子属性96及びNDSデ
ータベース オブジェクト92若しくは94の中にバイナリ
ロケータ属性98若しくは100のそれぞれを置くことに
よって行う。この場合、識別子属性96はOLE CLSIDを含
む。データベース オブジェクト92、94の一方若しくは
双方を、与えられたデータベース82内で利用してもよ
い。
属性98はユニバーサル名前付け規約(universal naming
convention)にしたがったファイル名を値として有す
る。ファイル名は、データベース オブジェクト92の識
別属性96内のOLE CLSIDによって識別されるソフトウェ
ア コンポーネント48のバイナリ オブジェクト70を含
むファイルのファイル システム ロケーションを識別
する。
属性100はあるストリームをその値として有する。スト
リームは、データベース オブジェクト94の識別子属性
96内のOLE CLSIDによって識別されたソフトウェア コ
ンポーネント48のバイナリ オブジェクト70(図3)へ
の直接アクセスを提供する。本発明の代替実施形態にお
いては、データベース オブジェクト92、94はまた、OL
Eデスクリプタ属性、ライセンシング属性、OLEレジスト
リ ファイルにおいて見つかった情報をストアする属
性、NDSデータベースの管理において有用な情報をスト
アするための属性、若しくは、これらの組み合わせを含
む。
示する。作成ステップ110の間、データベース エント
リ若しくはオブジェクト54が作成される。好適なデータ
ベース エントリ及びオブジェクト54はCOMソフトウェ
ア コンポーネント識別子56をCOMソフトウェア コン
ポーネント ロケータ58に関連付けるが、これは図2及
び図4から図6において図示した通りである。オブジェ
クト92や94などのNDSデータベース オブジェクトを含
む実施形態においては、当業者であれば、このようなオ
ブジェクトを適切に商業的に利用可能なNWDSxxx()関
数及びその他の周知の手段を呼び出すことを通じて作成
することがすぐにできるであろう。HTMLドキュメントを
利用する実施形態においては、好適なエントリ54は、ド
キュメント テキスト内にキーワードと、その後ろにCL
SIDびユニバーサル名前付け規約(「UNC」)パスを含
む。たとえば、“OLE−CLASS−ID42754580−1b67−11ce
−80eb−00aa003d7352//srv/vl/ole/foo.dll"である。
実施形態によっては、名前及びロケーションに関する規
約に従って、UNCパスは省略される。
OMクライアント40は特定の所望のCOMソフトウェア コ
ンポーネントを識別してローカル レジストリ ファイ
ル44をチェックして所望のコンポーネントが利用できる
かどうかを調べる。所望のコンポーネントはそのCLSI
D、GUID、UUID、又は、均等なコンポーネント識別子若
しくはクラス識別子によって識別される。所望のコンポ
ーネントがレジスタされている場合は、ステップ114か
ら120まではスキップされる。
は、従来のCOMシステム(従来のOLEシステムを含む)は
エラー メッセージを返す。これは、所望のコンポーネ
ントを含むファイルがそのCOMクライアントと同じコン
ピュータ上に常駐する場合でも発生する。ある実施形態
においては、人間のユーザが直接、エラー メッセージ
に対する応答においてステップ114から120までをイニシ
エートする。
り、所望のコンポーネントがまだレジスタされていない
場合は、少なくともステップ114から120までの一部が自
動的に拡張されたOLEソフトウェアによって実行され
る。これは様々な方法で達成することができる。一つの
アプローチは、既存のOLE32.DLLをMSOLE32.DLLにリネー
ムして新しいOLE32.DLLを提供する。新しいOLE32.DLLは
多くの関数呼び出しをそのままMSOLE32.DLLに送信す
る。しかし、関数CoGetClassObject()は変更されてお
り、所望のコンポーネントがレジスタされていない場合
はディレクトリ サービス及び/又はインターネット
データベース52を検索する。検索が成功した場合は、変
更されたCoGetClassObject()はロケートされたコンポ
ーネントを必要なときにトランスファして、レジストリ
ファイル44を更新し、制御を元のCoGetClassObjec
t()コードに渡す。
のコンピュータやファイル システムを超えて周囲のLA
N、NetWare Connect Servicesネットワーク、及び/又
は、インターネットまで拡張する。所望のコンポーネン
トがレジスタされていない場合は、クエリ処理ステップ
144はデータベース マネージャ50にクエリする。その
かわりに、クエリ処理ステップ144を実行するソフトウ
ェアがデータベース52に直接アクセスしてもよい。
4は、データベース52にアクセスしてこれを検索して所
望のコンポーネントのCLSID若しくはほかの識別子を含
むエントリ54をロケートする。データベース検索はNDS
ソフトウェアで実行してもよいし、Gopher、Archie、WA
IS、あるいはワールド ワイド ウェブ ブラウザなど
のインターネット検索エンジンで実行してもよい。指定
されたCOMコンポーネント識別子に対応するデータベー
ス エントリ若しくはオブジェクト54が検索によってま
ったくロケートされなかった場合は、COMクライアント4
0に通知される。クライアント40はそれから、所望のサ
ービスがないにもかかわらずベストを尽くして先へ進ま
なければならない。
ト識別子を含む1つ以上のデータベース エントリ若し
くはオブジェクト54が選択される。所望のコンポーネン
トのバイナリ オブジェクト70(図3)の対応するロケ
ーションは、これをデータベース エントリ若しくはオ
ブジェクト54から抽出ステップ116において抽出するこ
とによって決められる。抽出は、当業者に周知の手段に
よって達成される。
オブジェクト92や94内に保持されているライセンシン
グ属性の値などのライセンシング情報の抽出を含む。次
にそのライセンシング必要条件が満たされていることを
確認するためのステップが実行されてもよい。環境によ
っては、望ましくはこれらのステップはユーザにライセ
ンス契約書を提示したり、使用メータリングをイニシエ
ートしたり、既存のアカウントに課金したりするステッ
プ、あるいは、ライセンシング ソフトウェアの当業者
に周知のほかのステップを含む。
必要な転送がネットワークを通じてすべて実行され、CO
Mクライアント40の上にこれが常駐するようになる。所
望のコンポーネントがすでにCOMクライアント40上に常
駐している場合(あるが、レジストがされていないため
に利用できなかった場合)は、トランスファは実行され
ない。
ース オブジェクト54の詳細にしたがって異なる。バイ
ナリ ロケータ属性100(図6)内に指定されたストリ
ームなどのストリームは、ストリームとしてオープンさ
れ、COMクライアント上に常駐するテンポラリ ファイ
ルが作成され、ストリーム データがネットワークを通
じて転送される。バイナリ ロケータ属性98(図5)内
に指定されたファイルは、ユーザが指定した通りにコピ
ー若しくは移動されるが、好ましいデフォルトはコピー
である。
るレジストリ ファイル44が更新されて所望のソフトウ
ェア コンポーネントの新しい利用可能性を反映するよ
うになる。ある実施形態においては、あらかじめ定めた
ProgID若しくはほかのキー値がレジストリ ファイルに
含められ、本発明にしたがって簡単にエントリの識別が
できるようになる。このキー値によってこのようなエン
トリの削除が簡単になるほか、システム管理者が本発明
の使用に関する統計を取得することが簡単にある。
よび、ついで所望のソフトウェア コンポーネント自体
がCOMクライアントによって利用される。これは当業界
の周知の方法によって達成される。
ネント リポジトリのスコープを、ローカル コンピュ
ータやファイル システムを超えてローカル コンピュ
ータと通信するネットワークにまで効率的に拡張する新
しいアプローチを提供する。これらの通信ネットワーク
は、ほかのローカル エリア ネットワークでも、ワイ
ド エリア ネットワークでも、あるいは、ワールド
ワイドなインターネットでもよい。ソフトウェア コン
ポーネントの使用の広がりが、適切なライセンシング及
びセキュリティ制約にしたがって、これによって促進さ
れる。本発明の実施形態は既存のOLEレジストリ ファ
イルと十分互換性があるので、レジストリ ファイルの
複数の(おそらくは一貫性のない)コピーを必要とした
り、多くのLANにうまくスケールできないようなアドホ
ックなアプローチをとる必要がまったくない。
4」、及び/又は、インターネット ガイド」の特定の
トピックや頁を引用してここで識別した説明はすべて、
ここで参照する。
した説明に優先する。
こで図示され、説明されているが、本発明の方法にした
がって、装置及びアーティクル実施形態を形成してもよ
いことがわかるだろう。したがって、ほかに明らかに示
さなくても、本発明の方法のここでの説明を拡張して対
応する装置及びアーティクルに拡張することができ、本
発明の装置及びアーティクルの説明は同様に対応する方
法に拡張することができる。
の形式で実施してもよい。説明された実施形態はすべて
の点において説明のためのものであり、制限するための
ものではないと理解すべきである。本発明において利用
した科学的原理のここで提供した説明は説明のためだけ
のものである。したがって、本発明の範囲は、ここまで
の説明ではなく以降の特許請求の範囲によって示され
る。
るすべての変更は、これらの範囲の中に含まれる。
である。
Claims (17)
- 【請求項1】コンピュータのネットワーク内のソフトウ
ェア コンポーネントを管理する方法であって、 各ソフトウェア コンポーネントはバイナリ オブジェ
クト及び該バイナリ ブジェクトへのインターフェース
を少なくとも1つ含み、 前記ネットワークはレジストリ ファイルがその上に常
駐するレジストリ コンピュータを少なくとも1つ含
み、 前記ネットワークはまた前記レジストリ コンピュータ
とは異なるコンポーネント サーバ コンピュータを含
み、 ソフトウェア コンポーネント識別子をソフトウェア
コンポーネント ロケータに関連付けるレジストリ フ
ァイル以外のコンピュータ データベースにアクセスす
るステップと、 前記アクセスするステップの結果として前記データベー
ス内に識別されたソフトウェア コンポーネントを選択
するステップと、 前記選択するステップの間に選択されたソフトウェアコ
ンポーネントのイニシャル ロケーションを決定するス
テップと、 前記レジストリ ファイルを更新して当該選択されたソ
フトウェア コンポーネントの現在のロケーションを含
むようにするステップと を含むことを特徴とする方法。 - 【請求項2】請求項1に記載の方法において、前記選択
するステップの間に選択されたソフトウェア コンポー
ネントは、複数のクライアントによるコンポーネントの
同時使用を許し、いつ前記コンポーネントを安全に破壊
できるかを決定できるリファレンス カウントを含むこ
とを特徴とする方法。 - 【請求項3】請求項1に記載の方法において、前記選択
するステップの間に選択されたソフトウェア コンポー
ネントは、OLEソフトウェア コンポーネントを含むこ
とを特徴とする方法。 - 【請求項4】請求項3に記載の方法において、前記選択
するステップは、前記コンピュータ データベースから
バイナリ ロケータ属性値を読み出し、OLEソフトウェ
ア コンポーネントのイニシャル ロケーションを決定
するステップを含むことを特徴とする方法。 - 【請求項5】請求項4に記載の方法において、前記バイ
ナリ ロケータ属性値は、ユニバーサル名前付け規約フ
ァイル パスに対応することを特徴とする方法。 - 【請求項6】請求項4に記載の方法において、前記バイ
ナリ ロケータ属性値は、OLEバイナリ オブジェクト
を含むストリームに対応することを特徴とする方法。 - 【請求項7】請求項1に記載の方法において、前記アク
セスするステップは、ネットワーク オペレーティング
・システムによって管理される階層的同期パーティショ
ン データベースにアクセスするステップを含むことを
特徴とする方法。 - 【請求項8】請求項1に記載の方法において、前記アク
セスするステップはディレクトリ サービス データベ
ースにアクセスするステップを含むことを特徴とする方
法。 - 【請求項9】請求項1に記載の方法において、前記選択
するステップは、サーバ上に常駐するソフトウェア コ
ンポーネントを選択するステップを含むことを特徴とす
る方法。 - 【請求項10】請求項1に記載の方法において、前記更
新するステップの前に前記選択されたソフトウェア コ
ンポーネントの少なくとも一部を前記ネットワークを通
じてクライアント コンピュータへ転送するステップを
含むことを特徴とする方法。 - 【請求項11】請求項10に記載の方法において、前記ト
ランスファするステップは、ハイパーテキスト マーク
アップ ランゲージ リンクによって指定されるロケー
ションから転送することを特徴とする方法。 - 【請求項12】請求項10に記載の方法において、前記転
送するステップは、ユニバーサル ソース ロケータに
よって指定されるロケーションから転送することを特徴
とする方法。 - 【請求項13】請求項10に記載の方法において、前記転
送するステップは前記ソフトウェア コンポーネントの
インターフェースの少なくとも一部を前記ネットワーク
を通じて転送することを特徴とする方法。 - 【請求項14】請求項10に記載の方法において、前記ト
ランスファするステップは、前記ソフトウェア コンポ
ーネントのバイナリ オブジェクトを前記ネットワーク
を通じて転送することを特徴とする方法。 - 【請求項15】請求項1に記載の方法において、前記ア
クセスするステップはインターネット検索エンジン コ
ンピュータ データベースにアクセスするステップを含
むことを特徴とする方法。 - 【請求項16】請求項1に記載の方法において、さら
に、前記コンピュータ データベースからライセンシン
グ属性を読み出すステップを含むことを特徴とする方
法。 - 【請求項17】請求項1に記載の方法において、さら
に、前記コンピュータ データベースからアクセス コ
ントロール属性を読み出すステップを含むことを特徴と
する方法。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20095P | 1995-06-14 | 1995-06-14 | |
US60/000,200 | 1995-06-14 | ||
US361595P | 1995-09-12 | 1995-09-12 | |
US60/003,615 | 1995-09-12 | ||
US08/576,647 US5761499A (en) | 1995-12-21 | 1995-12-21 | Method for managing globally distributed software components |
US576,647 | 1995-12-21 | ||
US08/576,647 | 1995-12-21 | ||
PCT/US1996/010340 WO1997000475A1 (en) | 1995-06-14 | 1996-06-13 | Method for managing globally distributed software components |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11502963A JPH11502963A (ja) | 1999-03-09 |
JP3083853B2 true JP3083853B2 (ja) | 2000-09-04 |
Family
ID=27356620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09503354A Expired - Lifetime JP3083853B2 (ja) | 1995-06-14 | 1996-06-13 | グローバルにディストリビュートされたソフトウェア・コンポーネントを管理するための方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0827607B1 (ja) |
JP (1) | JP3083853B2 (ja) |
AU (1) | AU6177696A (ja) |
CA (1) | CA2223933C (ja) |
DE (1) | DE69601868T2 (ja) |
WO (1) | WO1997000475A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835914A (en) * | 1997-02-18 | 1998-11-10 | Wall Data Incorporated | Method for preserving and reusing software objects associated with web pages |
SE9701895L (sv) * | 1997-05-21 | 1998-11-22 | Ericsson Telefon Ab L M | Metod och anordning för datorsystem |
CN1068746C (zh) * | 1997-07-23 | 2001-07-18 | 全友电脑股份有限公司 | 具有连接国际互联网接口的图像输入装置 |
EP0896471A1 (en) * | 1997-08-04 | 1999-02-10 | Microtek International, Inc. | Image input device with network interface connection |
US6192518B1 (en) | 1998-01-22 | 2001-02-20 | Mis Only, Inc. | Method for distributing software over network links via electronic mail |
US6484214B1 (en) | 1998-03-05 | 2002-11-19 | Mcdonnell Douglas Helicopter Company | Method for distributed object communications based on dynamically acquired and assembled software components |
US6834388B1 (en) | 1998-03-13 | 2004-12-21 | Iconics, Inc. | Process control |
US6965999B2 (en) | 1998-05-01 | 2005-11-15 | Microsoft Corporation | Intelligent trust management method and system |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
AU1115700A (en) | 1998-10-16 | 2000-05-08 | Iconics, Inc. | Process control |
AT412131B (de) * | 1998-11-24 | 2004-09-27 | Automationx Software For Ind A | Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu |
US7017116B2 (en) | 1999-01-06 | 2006-03-21 | Iconics, Inc. | Graphical human-machine interface on a portable device |
ATE221681T1 (de) * | 1999-02-25 | 2002-08-15 | Siemens Energy & Automat | Verfahren, gerät, und hergestellter gegenstand für beinamen |
WO2000062479A2 (en) * | 1999-04-09 | 2000-10-19 | Sony Electronics Inc. | System and method for maintaining fully-replicated registries in an electronic network |
EP1124183A1 (en) * | 2000-02-10 | 2001-08-16 | S.A. Solventas | Method for managing globally distributed software components |
WO2001075677A1 (en) * | 2000-04-04 | 2001-10-11 | Goahead Software Inc. | Constructing a component management database for managing roles using a directed graph |
US7568218B2 (en) | 2002-10-31 | 2009-07-28 | Microsoft Corporation | Selective cross-realm authentication |
US7181521B2 (en) * | 2003-03-21 | 2007-02-20 | Intel Corporation | Method and system for selecting a local registry master from among networked mobile devices based at least in part on abilities of the mobile devices |
US8407206B2 (en) * | 2005-05-16 | 2013-03-26 | Microsoft Corporation | Storing results related to requests for software development services |
CN100357889C (zh) * | 2006-08-03 | 2007-12-26 | 上海科泰世纪科技有限公司 | 以类为单位的远程构件生命周期的管理方法 |
GB2443846B (en) | 2006-11-15 | 2011-12-07 | Joseph Timothy Poole | Computing system |
US8925034B1 (en) | 2009-06-30 | 2014-12-30 | Symantec Corporation | Data protection requirements specification and migration |
US8387047B1 (en) | 2009-08-03 | 2013-02-26 | Symantec Corporation | Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension |
US8352937B2 (en) | 2009-08-03 | 2013-01-08 | Symantec Corporation | Streaming an application install package into a virtual environment |
US8090744B1 (en) | 2009-08-26 | 2012-01-03 | Symantec Operating Corporation | Method and apparatus for determining compatibility between a virtualized application and a base environment |
US8473444B1 (en) | 2009-08-28 | 2013-06-25 | Symantec Corporation | Management of actions in multiple virtual and non-virtual environments |
US8438555B1 (en) | 2009-08-31 | 2013-05-07 | Symantec Corporation | Method of using an encapsulated data signature for virtualization layer activation |
US8458310B1 (en) | 2009-09-14 | 2013-06-04 | Symantec Corporation | Low bandwidth streaming of application upgrades |
US8566297B1 (en) | 2010-01-14 | 2013-10-22 | Symantec Corporation | Method to spoof data formats from image backups |
US8290912B1 (en) | 2010-01-29 | 2012-10-16 | Symantec Corporation | Endpoint virtualization aware backup |
US8495625B1 (en) | 2010-07-27 | 2013-07-23 | Symantec Corporation | Method and system for creation of streamed files on-demand |
US9880776B1 (en) | 2013-02-22 | 2018-01-30 | Veritas Technologies Llc | Content-driven data protection method for multiple storage devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2585535B2 (ja) * | 1986-06-02 | 1997-02-26 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
-
1996
- 1996-06-13 JP JP09503354A patent/JP3083853B2/ja not_active Expired - Lifetime
- 1996-06-13 WO PCT/US1996/010340 patent/WO1997000475A1/en active IP Right Grant
- 1996-06-13 EP EP96919430A patent/EP0827607B1/en not_active Expired - Lifetime
- 1996-06-13 DE DE69601868T patent/DE69601868T2/de not_active Expired - Lifetime
- 1996-06-13 AU AU61776/96A patent/AU6177696A/en not_active Abandoned
- 1996-06-13 CA CA002223933A patent/CA2223933C/en not_active Expired - Lifetime
Non-Patent Citations (7)
Title |
---|
"ソフト部品化に基づく新たな稼働環境構築へ",日経オープンシステム,1994年1月(No.10),pp.143−150 |
Lewis ;T.G.,"Where is Client/Server Software Headed?",Computer,Vol.28,No.4(1995年4月)、pp.49−55 |
Orfali ;R.,"Client/Server with Distributed Objects.",BYTE,1995年4月号(Vol.20,No.4),pp.151−152,154,156,158−160,162 |
Pleas ;K.,"Extending the Reach of OLE",BYTE,1994年11月号(Vol.19,No.11),pp.199−200,202,204,206 |
Udell ;J.,"10億のユーザ/デバイス接続を目指すNovell",日経バイト,1995年5月号,pp.215−226(原著:Jon Udell,"Novell’s Campaign",BYTE,1995/2,pp.42−64) |
Udell ;J.,"オブジェクト指向の新展開 コンポーネントウエア",日経バイト,1994年7月号,pp.277−289(原著:BYTE誌より) |
Wayner;.p,"Objects on the March",BYTE,1994年1月号(Vol.19,No.1),pp.139−140,142,144,148,150 |
Also Published As
Publication number | Publication date |
---|---|
AU6177696A (en) | 1997-01-15 |
CA2223933C (en) | 2001-02-06 |
CA2223933A1 (en) | 1997-01-03 |
JPH11502963A (ja) | 1999-03-09 |
DE69601868D1 (de) | 1999-04-29 |
EP0827607A1 (en) | 1998-03-11 |
DE69601868T2 (de) | 1999-08-05 |
WO1997000475A1 (en) | 1997-01-03 |
EP0827607B1 (en) | 1999-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3083853B2 (ja) | グローバルにディストリビュートされたソフトウェア・コンポーネントを管理するための方法 | |
US5761499A (en) | Method for managing globally distributed software components | |
US6834284B2 (en) | Process and system for providing name service scoping behavior in java object-oriented environment | |
US6769032B1 (en) | Augmented processing of information objects in a distributed messaging framework in a computer network | |
US6636886B1 (en) | Publish-subscribe architecture using information objects in a computer network | |
US6802061B1 (en) | Automatic software downloading from a computer network | |
US5689701A (en) | System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax | |
US5857197A (en) | System and method for accessing data stores as objects | |
US5692180A (en) | Object-oriented cell directory database for a distributed computing environment | |
US6347398B1 (en) | Automatic software downloading from a computer network | |
EP0605959B1 (en) | Apparatus and methods for making a portion of a first name space available as a portion of a second name space | |
US5946685A (en) | Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism | |
US6567846B1 (en) | Extensible user interface for a distributed messaging framework in a computer network | |
US6941552B1 (en) | Method and apparatus to retain applet security privileges outside of the Java virtual machine | |
KR20060050608A (ko) | 데이터 공유 시스템, 방법 및 소프트웨어 툴 | |
JPH0683595A (ja) | 永続的及び過渡的オブジェクトのバージョンと構成を管理する機能を提供する方法と装置 | |
Schill et al. | DC++: distributed object-oriented system support on top of OSF DCE | |
US6745203B1 (en) | User interface for a distributed messaging framework | |
WO2002001388A2 (en) | Portal server that provides a customizable user interface for access to computer networks | |
Powers | Developing ASP components | |
EP1124183A1 (en) | Method for managing globally distributed software components | |
WO2004107162A1 (en) | Dynamic object-driven database manipulation and mapping system | |
JP2000505921A (ja) | 分散オペレーティング・システム | |
WO2002041187A1 (en) | Dynamic object-driven database manipulation and mapping system | |
Pierce et al. | Application web services |
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: 20080630 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120630 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 13 |
|
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 |
|
EXPY | Cancellation because of completion of term |