JP3777032B2 - 分散ネットワークおよびリソースを見つける方法 - Google Patents
分散ネットワークおよびリソースを見つける方法 Download PDFInfo
- Publication number
- JP3777032B2 JP3777032B2 JP33181797A JP33181797A JP3777032B2 JP 3777032 B2 JP3777032 B2 JP 3777032B2 JP 33181797 A JP33181797 A JP 33181797A JP 33181797 A JP33181797 A JP 33181797A JP 3777032 B2 JP3777032 B2 JP 3777032B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- computer
- birth
- client
- location service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 159
- 230000008569 process Effects 0.000 claims description 145
- 230000007246 mechanism Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 20
- 230000005012 migration Effects 0.000 claims description 5
- 238000013508 migration Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 description 12
- 230000002085 persistent effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 240000002989 Euphorbia neriifolia Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本出願は、1996年12月20日に別個に出願された「Distributed Computing Using Logical Processes」と題する米国特許出願08/772,663号に関連する。
本発明は、分散コンピュータ・ネットワークに関し、より具体的には、分散ネットワーク上でリソースを見つけるシステムおよび方法に関する。
【0002】
【従来の技術】
今日の高度にネットワーク化されたコンピュータ環境では、分散コンピュータ処理がきわめて重要である。その理由は、分散コンピュータ処理は、比較的小さなコンピュータのリソースを合わせて、より強力な総合システムを提供することができるからである。分散コンピュータ処理は、データおよびプログラムを、ユーザに対して透過的なやり方で、異種類のコンピュータからなる巨大なネットワークに展開させる、すなわち分散させることができる。たとえば、一つのコンピュータに適合させるには大きすぎるデータを小さな断片に分割し、いくつかのコンピュータに格納することもできるし、多数のユーザにサービス提供するプロセスをネットワークに展開させて、エンドユーザに対し、より効率的にサービスを提供することもできる。
【0003】
分散コンピュータ処理環境に関する融通性の必要のため、多数のロジスティック的問題が生じている。たとえば、そのようなネットワーク上のいずれか二つのコンピュータがネットワーク上で互いに通信することができるとき、通信費用は、関与するコンピュータおよび通信ネットワークの形態によって異なることがある。そのうえ、まったく易しいと思える動作(たとえば、ワールド・ワイド・ウェブ上でホームページを見つけるプロセス)が、環境が絶えず変化する状況(たとえば、ホームページが新たな物理的ロケーションに移動する)では、ロジスティック的に管理し難くなることがある。任意の分散環境においてリソースを見つけることに伴う問題は、特に関心の対象であり、本発明によって取り扱うものである。
【0004】
典型的な分散コンピュータ処理環境は、クライアントと、リソース・コンピュータ(たとえばサーバ)と、リソースとを含む。リソースとは、コンピュータ・プロセスにとってその計算処理の一部として使用するのに利用可能な実体である。リソースは、物理的なもの(たとえばロボット・アーム)でもよいし、論理的なもの(たとえばデータベース)でもよい。リソースの他の例には、CD−ROMディスク、ネーム・サーバ・プロセス、オブジェクト指向プログラミング・オブジェクト、分散共用メモリ中のロケーションなどがある。
【0005】
リソースは、ある別のリソースを‘含む'ならば、その含まれるリソースを所有することができる。リソースが別のリソースを含むとは、そのリソースに対して物理的操作を実行する(たとえば、それを破壊するなど)ことが、その別のリソースに対しても同じ操作を実行することになる場合である。たとえば、ファイルの総体を含む物理的ディスクが、そのディスク上のすべてのファイルを所有する、または、分散共用メモリの一領域が、そのメモリ領域に割り当てられたオブジェクト指向プログラミング・オブジェクトを所有する、などである。リソースが別のリソースを所有するためには、所有する側のリソースは、所有される側のリソースよりも抽象的であってはならない。たとえば、物理的リソース(たとえばコンピュータ)は、論理的リソース(たとえばネーム・サーバ・プロセス)を所有することができる。物理的リソース(たとえば、ディスク、ロボット・アームなど)は抽象的概念ではないため、それらが所有されることはない。
【0006】
いかなる時点でも、分散コンピュータ処理環境中のコンピュータが各リソースを制御する。リソースを制御するコンピュータは、そのリソースが取り付けられているコンピュータであり、制御するコンピュータは、そのリソースに対する非局所的アクセスを媒介し、可能にする責任を負う。そのうえ、いかなる場合にも、リソースは制御される必要はない(たとえば、机の引き出しに入れたディスクの場合を考えてみる)。コンピュータが所与のリソースrを管理するならば、そのコンピュータはまた、rによって所有されるすべてのリソースをも制御する。リソースは、そのリソースを初めに制御したコンピュータ上に生成される。
【0007】
リソース・サーバとは、1個以上のリソースを制御し、分散コンピュータ処理環境中の他のコンピュータが、それが制御するリソースの空ではないサブセットにアクセスすることを可能にするコンピュータである。ここで重要なことは、リソース・サーバを介して他のコンピュータにアクセスすることが潜在的に可能になるリソースである。
【0008】
移行とは、所与のリソースの所有者または制御者の持続的変化である。リソースの制御者は、それをあるコンピュータから切り離し、別のコンピュータに付け直す(たとえば、ディスケットをある機械のドライブから別の機械のドライブに物理的に移す)ことによって変更される。論理的リソースの所有者は、論理的リソースを破壊的に複写する(たとえば、分散共用メモリのある領域の補助記憶装置をあるデバイスから別のデバイスに移す)ことによって変更される。
【0009】
上記のように、リソースを追跡し、見つけることは、移行が起こるような巨大な分散コンピュータ処理ネットワークにおいてはロジスティック的に困難になりうる。そのうえ、リソースが潜在的に移行することができる多数の場所を与えられると(ウェブを考えてみる)、リソースを見つけるのに伴う費用は、実施上、際限なく増すおそれがある。それにもかかわらず、分散システムにおいては、クライアントが、遠隔リソースを制御している機械をすばやく発見する必要がしばしばある。
【0010】
リソースを見つける一つの方法は、リソース識別名(RID)を使用してリソースを識別することを含む。すなわち、各リソースが一意の識別名を有するならば、リソースのロケーションをRIDの中にコード化することができる。しかし、融通性のある分散システムは、リソースを制御する機械を変更しなければならないときがあるため、移行を扱うシステムを用いなければならない。移行するおそれのあるリソースを発見するための以前の手法は、際限のない通信を要求する可能性、既存のRIDを透過的に更新するための分散ゴミ収集をサポートする必要性、専用サーバを含める必要性またはリソースとそれを創造するサーバとの間に継続した接続を維持する必要性をはじめとする多数の欠点を抱えていた。
【0011】
以下の各文書は何らかの形態のリソース追跡/発見を記載しているが、いずれも上述の問題のいくつかを抱えている。J. Chase、H. Levy、E. LazowskaおよびM. Baker-Harvey「Lightweight shared objects in a 64-bit operating system」OOPSLA 92: Conference on Object-Oriented Programming Systems, Languages and Applications, ACM/SIGPLAN 1992. p. 397、M. Day、B. Liskov、U. MaheshwariおよびA. Meyers「References to remote mobile objects in Thor.」ACM Letters on Programming Languages and Systems, 2(1-4), Mar.-Dec. 1993. p. 115、J. Ioannidis、D. DuchampおよびG. Maguire, Jr.「IP-based protocols for mobile internetworking」Technical Report CUCS-006-91, Department of Computer Science, Columbia University 1991ならびに「Universal Networked Objects」CORBA2.0/Interoperability, OMG TC Document 95.3.xx, March 20, 1995
【0012】
【発明が解決しようとする課題】
分散コンピュータ処理環境は、インターネット、ワールド・ワイド・ウェブ、イントラネットおよび大企業ネットワークを含め、コンピュータ処理において支配的な役割を演じ続けるであろう。コンピュータ処理リソースの効率的な管理は、そのような環境がエンドユーザの必要性を満たすことを可能にする際に第一の課題となろう。したがって、リソースを追跡し、見つける効率的なシステムを提供する必要がある。なお、前記文献を引用例として本明細書に含める。
【0013】
【課題を解決するための手段】
本発明は、分散コンピュータ処理環境においてリソースを管理する方法およびシステムを提供する。開示するものは、(1)リソース識別名(RID)を作成するためのシステムおよび手段、(2)コンピュータおよびリソースのロケーションに関する情報を管理するための分散プロセス構造ならびに(3)小さな限られた数のメッセージでRIDからリソースを制御する機械へのマッピングを可能にするプロトコルのセットである。本明細書中、これらの機能的態様をまとめて「分散ロケーション・サービス」(DLS)と呼ぶ。
【0014】
本発明は、関連出願「Distributed Computing Using Logical Processes」に詳細に記載されている「論理プロセス」の概念を取り入れる。論理プロセスの開示は、とりわけ、リソース識別名を変更することなく、装置の物理アドレスを変更することを許す論理的なアドレス指定/マッピング手段を教示している。そのうえ、論理プロセスは、以下にさらに詳細に説明する、上述の分散プロセス構造またはLLSPを具現化するための融通性のある手段を提供する。本発明は、一般的な意味において開示するが、本発明が、ワールド・ワイド・ウェブ、インターネット、イントラネットなどをはじめとするいかなる分散コンピュータ処理環境にも応用できることが理解されよう。
【0015】
上記にしたがって、本発明の利点は、移行するおそれのあるリソースを見つけるための高度にスケーラブルなシステムを提供することにある。
上記にしたがって、本発明のさらなる利点は、小さな限られた数のメッセージを提供してリソースの制御者を発見することにある。
上記にしたがって、本発明のさらなる利点は、創造する側のサーバとの接続を維持することなく、リソースの移行を考慮することにある。
上記にしたがって、本発明のさらなる利点は、ゴミ収集を要しないシステムを提供することにある。
上記にしたがって、本発明のさらなる利点は、局所リソースへのアクセスのためのオーバヘッドを要しないシステムを提供することにある。
上記にしたがって、本発明のさらなる利点は、最小限のメモリしか要しないシステムを提供することにある。
【0016】
【発明の実施の形態】
A.DLS概要
1.LLSP
前記のとおり、本発明の根本的態様は、コンピュータおよびリソースのいくつかの管理態様を監督するための、本明細書では「論理ロケーション・サーバ・プロセス(LLSP)」と呼ぶ分散プロセス構造の使用である。本発明は、各物理プロセスが、論理プロセスで識別される、すなわち論理プロセスと対応しているものと仮定する。物理プロセスとは、実機械上で実行され、リソース(たとえばメモリ、CPUサイクルなど)を消費する従来のオペレーティング・システム・プロセスである。各論理プロセス(すなわちLLSP)は、サーバの外観である抽象的概念である。LLSPは、異なる時点で異なる機械上で実行される異なる数の物理プロセスによって具現化することができる。DLSは、LLSPと、具現化される物理プロセスとの間に動的なマッピングを維持する。サーバとのすべての対話はLLSPを用いる。「Distributed Computing Using Logical Processes」と題する前記関連出願に記載のより低水準の機構は、論理プロセスと物理プロセスとの間にマッピングを維持するためのシステムを記載している。この関連の開示は、異なる時点で異なる物理的ロケーションに存在する必要があるかもしれないLLSPを管理するための融通性のある機構を提供している。説明するならば、クライアントは、物理アドレスを使用してプロセスを識別するのではなく、論理アドレスを使用して、ネットワーク上のリソースおよびコンピュータの動的分散に融通性を提供する。
【0017】
DLSは、リソースのロケーションを知る‘責任'(以下さらに詳細に定義する)をLLSPの間で分割する。一般には、二つのLLSPが、各リソースのロケーションを追跡する‘責任'を分担し、一方は、リソースが創造されたところの近くで追跡し、もう一方は、現在リソースを制御している機械の近くで追跡する。さらには、クライアント(以下さらに詳細に定義する)に対応するLLSPもまた、何らかの記憶機構を介して、リソースのロケーションを知ることができる。リソースが移行するならば、その行き先に関し、(1)その出生コンピュータの近く、(2)そのリソースを使用するクライアント・コンピュータの近く、または(3)関連のない場所、という三つの可能性があることが確認されているため、DLSがこのように責任を分割する。コンピュータ・システム中のリソースの位置関係に関する経験から、最初の二つの選択肢が第三の選択肢よりもはるかに可能性が高いという結論に至る。それにもかかわらず、本発明によると、クライアントは、リソースを発見するのに、リソース識別名を有するだけでよい。リソースのロケーションが、そのリソースの出生コンピュータにも、具現態様によっては、クライアントのLLSPにもわからない場合、本来は、出生コンピュータのLLSPがリソースのロケーションを指し示す。リソースの出生コンピュータに関する情報は、そのRIDの中にコード化されている。これは後でさらに詳細に論じる。
【0018】
上記のとおり、論理ロケーション・サーバ・プロセス(LLSP)は、DLSサーバの外観である抽象的概念であり、DLSは、LLSPと、そのLLSPを具現化する‘物理'プロセスとの間に動的なマッピングを維持する。いかなる時点でも、LLSPは、多数の物理プロセスによって具現化することができる。たとえば、LLSPにおける作業負荷が一つのプロセスが担うには大きすぎる場合、その作業を多数の物理プロセスに分担させることができる。あるいはまた、たとえば、LLSPがあまり利用されていないならば、一つの物理プロセスが多数のLLSPを具現化することもできる。標準的な技術を使用して、LLSPを具現化する物理プロセスを複写することにより、DLSの利用性を高めることができる。
【0019】
物理プロセスとは違い、LLSPは永久に存在する。したがって、すべてのLLSPのセットは単調に増大する。これは、LLSPが抽象的概念であり、分散コンピュータ処理環境中の、その識別名以外の物理的リソースを直接には消費しないために可能である。各LLSPは、すべてのLLSPのセットの中で普遍的に一意の識別名を有し、DLSサーバとのすべての通信はLLSPに送られる。論理−物理プロセス抽象的概念を具現化する機構がメッセージを適切な物理プロセスに送り直す。
【0020】
以下、LLSPに関連するいくつかの定義を記す。「コンピュータの現在のLLSP」とは、コンピュータにもっとも近いLLSP(すなわち、コンピュータに対応するLLSP)をいう。直観的に、「もっとも近い」とは、コンピュータと、LLSPを具現化する物理プロセスを所有することができるコンピュータとの間の通信の費用を捕らえるべきである。しかし、形式的には、管理者が、以下の制約、すなわち(1)コンピュータと現在のLLSPとの間のマッピングが多対一であり、(2)コンピュータの現在のLLSPが決して変わらない(この制約は、コンピュータが移動する場合について後で緩和されることに注意)という制約の下で、各コンピュータの現在のLLSPを指定する。したがって、距離と現在のLLSPの概念との間の関係を決定することは管理者次第である。
【0021】
ある特定の場合における「リソースの現在のLLSP」とは、その場合にリソースを制御しているコンピュータの現在のLLSPをいう。リソースの現在のLLSPの概念は、部分的分割を定義する。制御されるリソースだけが現在のLLSPを有し、いかなる時点でも、すべてのリソースが制御されるわけではない(たとえば、取り付けられていないディスクによって所有されているファイル)。
【0022】
「コンピュータの出生LLSP」とは、コンピュータが最初に構成されたとき、そのコンピュータの現在のLLSPであったLLSPをいう。コンピュータを加えたり、取り外したりすることはできるが、移行させることはできないコンピュータ処理ネットワークの比較的静的な形態の下では、コンピュータの出生LLSPと現在のLLSPとは常に同等である。コンピュータが移行する場合の扱いは、コンピュータ再構成に関して後で詳細に論じる。
【0023】
リソースの「出生LLSP」とは、リソースが生成されたところのコンピュータの現在のLLSPをいう。注目すべきことに、(1)所与のコンピュータで生成されたすべてのリソースは同じ出生LLSPを有し、(2)出生LLSPへのリソースのマッピングがリソースの完全な分割を定義し、(3)リソースの出生LLSPはそのリソースの生存期間中には決して変わらず、(4)リソースが移行したことがない場合、リソースの現在のLLSPと出生LLSPとは同一である。
【0024】
LLSPは、リソースのRIDからそのリソースを制御する(リソースが制御されていると仮定して)コンピュータへのマッピングを実行できることを保証されるならば、リソースの責任を負う。この責任は、出生LLSPおよび現在のLLSPの概念を使用して、LLSPの間で分担される。LLSPは、それが出生LLSPであるところのリソースに対して時不変性の責任を負う。ある特定の場合には、LLSPは、それが現在のLLSPであるところのリソースに対して時変性の責任を負う。所与のリソースに対して時不変性の責任を負うLLSPは、リソースの生存期間中には決して変わらない。リソースに対して時変性の責任を負うLLSPは、特にリソースが移行した場合に変わるかもしれず、特にどのコンピュータもリソースを制御しない場合、どのLLSPもそのリソースに対して時変性の責任を負わないこともありうる。
【0025】
出生LLSPに基づく時不変性の責任を定義する(すなわち、LLSPに近いコンピュータで生成されたすべてのリソースを追跡する)ことにより、出生LLSPが知られている限り、いかなるリソースのロケーションをも常に確認することができる。出生LLSPの識別は、RIDの中に出生LLSPをコード化することによって達成される。このように、クライアントがRIDからLLSPに容易にマッピングすることができるシステムが提供される。出生LLSPに時不変性の責任を与える動機は、リソースは移行しないし、移行するとしても、可能性の高い行き先はそれらが生成されたところに近いという慣例的仮定から生じる。
【0026】
移行するリソースを見つけるために、各LLSPは、それが責任を負うリソースをデータ構造の中で追跡しなければならない。このためには、LLSPは、現在LLSPと対応しているリソースおよび以前にLLSPと対応していたリソースに関する情報を維持しなければならない。この情報の正確な性質および特徴は、具体的な具現態様に依存して異なる。詳細な例は後で提示する。
【0027】
2.RID
すべてのリソースは、一意のリソース識別名(RID)を有する。RIDとリソースとの間には一対一のマッピングがある。RIDは、リソースを一意的に識別する値(たとえばバイトのシーケンス)である。変更することができる外的ラベルである名前とは違い、リソース識別名は、そのリソースと密に、かつ永久的に結合している。すべてのリソースは、リソースが生成されたときに割り当てられ、リソースが破壊されるまでリソースに結び付いたままであるRIDを一つだけ有する。リソースがいずれかの時点で新たなRIDを与えられるならば、新たなリソースが実際に生成され、旧リソースは実際に破壊される。複写されるリソースのすべてのレプリカは同じRIDを有する。RIDは、生じたことがあるかもしれない移行にはかかわらず、オブジェクトを識別する。リソースは、その出生コンピュータによってそのRIDを与えられる。
【0028】
DLSは、RIDを、たとえば動的にタイプされたバイトのシーケンスとして構成するための拡張可能なアーキテクチャを定義する。システム中のすべてのRIDは、この所定のアーキテクチャにしたがって構成されなければならない。各RIDに含まれる情報は、リソースの出生コンピュータ、コンピュータの出生LLSPおよび出生コンピュータに生まれた各リソースを一意的に識別するための何らかの手段に関する情報を含むことができるが、これらに限定はされない。さらには、他の詳細(たとえば、他のフィールドの解釈方法を決めるバイトのシーケンス)を含めることもできる。上記のとおり、リソース識別名の構造は、RIDを割り当てる責任をリソースの出生コンピュータに委ねることを許す。したがって、RIDを割り当てるとき、DLSとの通信は不要である。
【0029】
RIDのアーキテクチャによって暗示されるように、我々は、すべての物理的コンピュータが論理識別名を有するものと仮定する。コンピュータの論理識別名は、そのコンピュータ上で生成されたリソースのRIDの一部であるため、RIDをこの識別名として使用することはできない。この論理識別名はコンピュータをずっと一意的に識別する。
【0030】
各LLSPが一意の識別名を外部的に与えられると仮定すると、コンピュータの出生LLSPは、そのコンピュータに論理識別名を割り当てることができる。コンピュータを構成するとき、その識別名を求めてその出生LLSPに接触する必要がある。LLSPは、そのLLSPを出生LLSPとして有するすべてのコンピュータの中で一意性を保証するような方法で(たとえば、LLSPが新たなコンピュータに論理的IDを割り当てるたびに単調にインクリメントされるカウンタを使用する)この識別名を構成すべきである。
【0031】
3.プロトコル
本発明に必要とされるプロトコルまたはアルゴリズムが二つある。その一つは、リソースが移行すると実行され、もう一つは、クライアントが、所与のリソースのリソース・サーバを決定することを望むときに実行される。リソースが移行するときに用いられるプロトコルは、一般に、時変性のLLSPおよび時不変性のLLSPを更新することを含む。具体的には、出生LLSP、以前のLLSPおよび新たな(すなわち現在の)LLSPのデータ構造を更新しなければならない。これは、図2を参照しながら後でさらに詳細に論じる。
【0032】
注目すべきは、各LLSPが、それが責任を負うところの移行したリソースを追跡するということである。リソースが一度も移行したことがないならば、いかなるLLSP中にも、そのリソースに関するデータはない。DLSは、リソースが移行したときだけ知らされる。移行したことがないリソースに関しては、それらのリソース・サーバがそれらの出生コンピュータとして残る。したがって、DLSは、それ自体が情報を有しないRIDを与えられると、そのリソースが、RIDの中にコード化されている出生コンピュータによって制御されるとみなす。
【0033】
リソースを見つけるためのプロトコルを開始する前に、クライアントは、RIDをその構成部分に分割する。クライアントがリソースの出生コンピュータの論理識別名(RIDから取り出したもの)から同じコンピュータ上のリソース・サーバにマッピングするのに使用することができる別個の機構が存在すると仮定される。リソースを発見するのに好ましいプロトコル(少なくとも移行がめずらしい場合)は、一般に、まず、出生コンピュータを見て、それがリソースを制御しているかどうかを調べることからなる。うまくいかなければ、次に、クライアントの現在のLLSPを見て、それがリソースのロケーションまたは制御者を知っているかどうかを調べる。それでもうまくいかないならば、現在のLLSPが、出生コンピュータのLLSPに対し、だれがリソースを制御しているかを問う。この最後の段階が実行されるならば、システムはその返答をクライアントの現在のLLSPに記憶すべきである。
【0034】
クライアントの現在のLLSPは、以下の理由のいずれかにより、リソースの現在の制御者を知っているかもしれない。まず、そのLLSPは、時不変性の責任を負うLLSPであるかもしれない。リソースは移行する傾向を示さず、それらが位置するところの近くで使用される傾向にあるため、これは当然あり得ることである。第二に、そのLLSPは、時変性の責任を負うLLSPであるかもしれない。リソースが、それらが使用されるところの近くに移行するという仮定の下では、これは当然あり得ることである。最後に、クライアントの現在のLLSPがリソースのロケーションをキャッシュに記憶してあるかもしれない。
【0035】
したがって、リソースの制御者を発見するのに要するメッセージは、クライアントからその現在のLLSPに送られるメッセージと、クライアントの現在のLLSPから時不変性のLLSPに送られるメッセージとに限られる。この結果、リソースの制御者を発見するのに、二往復のメッセージだけで済む。大部分のアクセスが、移行したことのないリソースに対するものであるとしても、リソースの出生コンピュータに送られるメッセージが平均性能を高める。
【0036】
B.詳細な説明
ここで図面を参照すると、図1は、分散ロケーション・サービス(DLS)14を含むネットワーキング・ステーション10を表す。典型的な分散ネットワークは、複数のクライアントと、複数のリソース・コンピュータまたはサーバと、リソース・コンピュータによって制御される複数のリソースとを含む。図1の分散ネットワーク12には、クライアント20と、1対のリソース・コンピュータ24と、多数のリソース26とを備えたシステムの一部が示されている。加えて、各クライアント、リソース・コンピュータおよびリソースが論理ロケーション・サーバ・プロセス(LLSP)と対応していることが見てとれる。上記のとおり、LLSPは、異なる時点に異なる機械上で実行される異なる数の物理プロセスによって具現化することができる抽象的概念である。DLSは、LLSPと、具現化する物理プロセスとの間に動的なマッピングを維持する。この場合、二つのLLSP16および18が示されている。第一のLLSP16はクライアントに対応し、一方、第二のLLSPはリソース・コンピュータ24およびリソース26に対応している。
【0037】
各LLSPは、それが責任を負うリソースを追跡するためのデータ構造22をその中に含む。この好ましい実施態様では、各LLSPは、このLLSPをそれらの出生LLSPとして有するリソースのセットを含むデータ構造を維持しなければならない。このLLSPで生まれた各リソースについて、データ構造は、現在のLLSPの名前と、所有する側のリソースがあるならばその名前と、所有される側のリソースがあるならばその名前とを維持しなければならない。加えて、LLSPデータ構造はまた、このLLSPをそれらの現在のLLSPとして有するコンピュータのセットを含まなければならない。これらのコンピュータそれぞれについて、データ構造は、そのコンピュータによって制御されるリソースのセットを含まなければならない。リソースごとに、データ構造は、各リソースの出生LLSPと、所有する側のリソースがあるならばその出生LLSPと、所有される側のリソースがあるならばその出生LLSPとを含まなければならない。このデータの他にも、特定の具現態様では、各LLSPは、さらなるデータを含むかもしれない(たとえば、ドメイン固有の知識を利用するため)。
【0038】
加えて、この分散ネットワーク・システム10中の各リソースがリソース識別名(RID)を含むことが見てとれる。上記のとおり、各リソースは、そのリソースを一意的に識別するリソース識別名を有している。RIDのアーキテクチャは、図3および4を参照しながら後でさらに詳細に論じる。
【0039】
認識しておくべきは、DLS14は、ネットワーク上のどこかに存在する一つのサーバ・プロセスではなく、それどころか、LLSPの形態でネットワークに分散したサーバのセットである。DLSは三つの基本機能を提供する。第一に、RIDからコンピュータの制御側リソース・サーバにマッピングするディレクトリを維持する。第二に、新たなリソース識別名またはRIDを構成するためのアーキテクチャを提供する。最後に、リソースが移行したときにサーバを更新し、RIDからリソースを発見するためのプロトコルのセットを提供する。これらの機能のすべては、必要に応じてネットワーク内で記録、格納または実行される一つ以上のソフトウェア・プログラムとして存在することができる。そのうえ、専用のDLSサーバを初めに使用して、必要なすべてのソフトウェアを投入し、その後で、必要に応じて種々の機能的態様をネットワークの他の部分に移してもよい。
【0040】
次に図2を参照すると、分散ネットワークシステム30における分散ロケーション・サービス32の動作がより詳細に示されている。ここでは、ネットワーク・システム30が、クライアント34と、リソース・コンピュータ40と、リソース・コンピュータ46と、リソース48とを含むことが見てとれる。この場合、リソース48をリソースXと呼ぶ。加えて、図2には三つのLLSPが示されている。第一のLLSP36は、クライアント34の現在のLLSPである。第二のLLSPは、リソースXの出生LLSPである。第三のLLSP50は、リソースXの現在のLLSPである。この仮定的な状況では、リソースXは、初めに出生コンピュータ40の下で生成された後、経路44に沿ってその現在の制御側コンピュータ46に移行したものである。したがって、リソースXは、出生LLSP42と、出生コンピュータ40と、現在のLLSP50と、現在の制御側コンピュータ46とを有している。図1に関して記したように、LLSP42および50はいずれも、リソースXの現在のロケーションに関する情報をそれぞれのデータ構造に含むはずである。リソースXについて、出生LLSP42は時不変性の責任を負っているであろうが、現在のLLSP50は時変性の責任を負っているであろう。リソースXが今後に新たなLLSPに移行するならば、LLSP50は、リソースXを維持または追跡する責任をもはや負わないであろう。しかし、出生LLSP42は、リソースXのロケーションに関する情報を常に維持しなければならない。
【0041】
動作中、クライアント34が分散ネットワーク30上でリソースXを見つけたいならば、クライアントは以下のプロトコルを使用することになる。まず、クライアント34は、リソース出生システム上のリソース・サーバにメッセージを送って、そのリソース・サーバがリソースを制御しているかどうかを問う。この場合、クライアント34は、出生コンピュータ40にメッセージを送って、出生コンピュータ40が今でもリソースXを制御しているかどうかを調べる。今でも制御しているという返答が得られるならば、プロトコルは完了し、そのリソースは見つかる。注目すべきは、これら初めの二つのステップは機能の正しさにとって必ずしも不可欠ではないということである。しかし、これらは、移行がありそうにないという仮定を与えられる典型的な場合に性能を提供し、改善するためのものである。リソース・サーバが返答しないか、否定的な返答を示すならば、メッセージをクライアントの現在のLLSP36に送って、どの機械が現在リソースを制御しているかを問う。クライアントの現在のLLSPがリソース制御者を知っているならば、そのLLSPがその情報をクライアントに提供して、リソースの探索を終わらせるはずである。クライアントの現在のLLSPがリソースの制御者を知らないならば、そのLLSPは、RIDにコード化されている時不変性のLLSP(すなわちリソースの出生LLSP)にメッセージを送って、だれがリソースを制御しているかを問う。上記のように、各LLSPデータ構造は、そのLLSPで生まれたすべてのリソースの追跡記録を維持する。この時不変性のLLSPがクライアントの現在のLLSPに返答してリソースのロケーションを提供すると、クライアントの現在のLLSPは、その返答を記憶したのち、それをクライアントに転送する。したがって、次にこのリソースについて探索が始まったとき、クライアントのLLSPはその情報を有することができる。
【0042】
リソースが一つのLLSPから別のLLSPに移行するとき、DLSは、以下のプロトコルを実行して、必要な情報をすべての該当するLLSPデータ構造に維持しなければならない。まず、DLSは、リソースの時不変性のLLSP(RIDから決定される)に対し、新たなリソース・コンピュータがリソースを制御していることを知らせなければならない。次に、新たなリソース・コンピュータ(たとえばコンピュータ46)の新たな、または現在のLLSPに対し、そのリソース・コンピュータが今やリソースを制御していることを知らせなければならない。すると、リソースの現在のLLSPは、リソースに対して時変性の責任を負うようになる。最後に、DLSは、以前にリソースを制御していたリソース・コンピュータの旧LLSPに対し、そのリソース・コンピュータがもはやリソースを制御していないことを知らせなければならない。すると、リソース・コンピュータの旧LLSPは、そのリソースについて時変性の責任を負うことを止める。認識すべきことは、システムが、通知される三つのLLSPが別個のものではない可能性が高いと推測することである。具現態様は、このことを調べ、全く同一のメッセージを送ることを避けなければならないであろう。
【0043】
C.コンピュータ再構成
最後に、コンピュータ再構成の場合を考えてみる。ここまで説明したように、DLSは、コンピュータ・ネットワークの物理的構成によって意味的に実現されるのではない。コンピュータの物理的ロケーションにかかわらず、コンピュータの現在のLLSPがその出生LLSPとして残る。しかし、コンピュータがその出生LLSPから‘遠く'にまで移動するならば、これは性能の低下につながるおそれがある。
【0044】
考慮すべき二つのケースがある。第一のケースは、小さなクライアント・コンピュータがそのユーザとともにしばしば短距離(たとえば仕事場から家)、またときには長距離を移動する、通常は可動性コンピュータ処理と考えられているものである。第二のケースは、非携帯式のコンピュータをある場所から別の場所に動かす場合である。この移動は、頻繁ではない可能性が高いが、分散コンピュータ処理環境の再構成および管理を可能にするためには重大である。
【0045】
これら二つのケースを扱うため、我々は、コンピュータの現在のLLSPの定義を「ある特定の時点でコンピュータに‘近い'LLSP」と変更する。コンピュータの現在のLLSPは、コンピュータがネットワークと切断し、その後、ネットワークと再び接続するたびに変わることができる。我々の最初の定義と同様、「近い」とは、管理者の目から見た場合である。形式的には、コンピュータと現在のLLSPとのマッピングが多対一である場合、管理者が各コンピュータの現在のLLSPを指定する。
【0046】
コンピュータの現在のLLSPがもはやその出生LLSPに等しくなくてもよいことが理解されよう。移動した後には新たな現在のLLSPが割り当てられるため、リソース・ロケーション・プロトコルの中で接触されるクライアントに対応するコンピュータまたはLLSPは、特定の場合にクライアントに近いLLSPになり、その出生LLSPにはならない。
【0047】
ここまで定義したように、上記の変更は、クライアント・コンピュータが移動するときの性能の劣化を防ぐが、リソース・サーバが移動するならば、このシステムはなおも性能の劣化を被る。これに対処するため、リソース・サーバであるコンピュータが、その現在のLLSPが変わるよう、そのネットワーク接続機構を変更すると、リソース・サーバはさらなる論理識別名を割り当てられる。この論理識別名は、その新たな現在のLLSPと、LLSPによって割り当てられた新たな一意の識別名とからなる。リソース・サーバは、将来のRIDを割り当てる際にその新たな識別名を使用する。図4がこの構造の一つの可能な例を示す。
【0048】
D.具体的な用途
1.SAS/DPS
DLSは、共用アドレス空間サービス/分散持続性記憶サービス(SAS/DPS)のロケーション・サーバとして機能することが想定される。SAS/DPSは、DLSの観点から、持続性の分散共用メモリを具現化する。DLSの役割は、13バイトDPSアドレスをページに与えられる分散共用持続性メモリのページを制御しているコンピュータを発見することである。この場合、RIDが13バイト・アドレスであり、リソースがページである。SAS/DPSを持続性にするため、持続性媒体(たとえばディスク)が、SAS/DPS記憶の各ページを所有する。上述のDLSアルゴリズムへの追加が、ページのセットをユニットとして扱うことを許す。
【0049】
SAS/DPSの一部として使用されるとき、DLSは、分散持続性記憶中に位置決めページのカバーの下で呼ばれる。DPSは、異なる機械のタスクが、SASによって具現化される互いの機械有効範囲の持続性単一レベル記憶にアクセスすることを許す。SAS/DASを使用する機械がページ不在を示す時、ページ不在ハンドラが、そのページが障害中の機械によって制御されているかどうかを決定する。障害中の機械によって制御されているのではないならば、ページ不在ハンドラは、DLSに接触して、どの機械がページを制御しているかを決定する。DLSによって識別される制御側機械が障害中の機械によって連絡され、不在ページが記憶される。
【0050】
SAS/DPSで使用されるように、DLSの基本アーキテクチャは、RIDの最後のフィールドを設計することによって拡張される。コンピュータで生まれたリソースの正体を随意の一意値として扱う(図3に示す)代わりに、我々は、RIDの第四のフィールドを、それが二つのサブフィールドを有するように設計する。図4は、第四のフィールドがセグメント接頭語とセグメント内オフセットとに分割されていることを示す。RIDがセグメント・オフセットの値においてだけ異なるSAS/DPSページのセットは、DLSにより、グループとして移動すると仮定される。
【0051】
2.ワールド・ワイド・ウェブ
ワールド・ワイド・ウェブとは、全世界的ハイパーテキスト・ドキュメントを提供するための機構である。ドキュメントは、実際にはドキュメントに対するポインタである統一リソース名(URL)を使用してリンクされる。現在、URLの構造は、ドキュメントが容易に移行することができないような構造である。URLは、リソースを制御している機械の記号名をコード化する。リソースの制御者が変わるならば、存在するURLは無効になる。
【0052】
リソースの制御者の記号名をコード化するURLを使用する代わりに、上述したように、DLSおよびRIDを使用することも考えられる。RIDは本質的にURLになる。これは、リソースへの既存のリンクを無効にすることなく、リソースの制御者を変更することを許す。現在、URLの代わりに統一リソース名(URN)を用いる試みが成されている。現在、提案書および他の「インターネット草案」が存在する(たとえば、引用例として本明細書に含めるRFC 1737, K. Sollins, L. Masinter「Functional Requirements For Uniform Resource Names」12/20/94を参照すること)。
【0053】
本明細書に述べた実施態様および実施例は、本発明およびその実際の用途を最良に説明し、それにより、当業者が本発明を構成し、使用することができるように提示したものである。しかし、当業者であれば、前記説明および実施例が例示のために示されたものにすぎないということを認識するであろう。前記説明は、すべてを網羅するものでもなく、本発明を開示したとおりの形態に限定しようとするものでもない。上記の教示を考慮すると、請求の範囲の趣旨および範囲を逸することなく、数多くの変更および変形が可能である。
【0054】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)複数の論理サーバ・プロセスと、
前記論理サーバ・プロセスのうち、対応する一つを有するクライアント・コンピュータと、
それぞれが、前記論理サーバ・プロセスのうち、それに対応する一つを有する複数のリソース・コンピュータと、
それぞれが前記リソース・コンピュータによって制御される複数のリソースと、
それぞれが、前記リソースの一つを一対一方式で識別し、それぞれが、前記リソースが生成されたところのリソース・コンピュータに対応する論理サーバ・プロセスの論理アドレスを含む複数のリソース識別名と、
を含むことを特徴とする、リソースを見つけるためのシステムを含む分散ネットワーク。
(2)前記論理サーバ・プロセスそれぞれが、その特定の論理サーバ・プロセスに対応するリソース・コンピュータ上で生成されたものとして識別されるすべてのリソースのデータベースを含む上記(1)記載の分散ネットワーク。
(3)前記データベース中の各リソースについて現在の論理サーバ・プロセスのアドレスが提供されている上記(2)記載の分散ネットワーク。
(4)前記データベース中の各リソースについて所有する側のリソースが提供されている上記(2)記載の分散ネットワーク。
(5)前記データベース中の各リソースについて所有される側のリソースが提供されている上記(2)記載の分散ネットワーク。
(6)前記論理サーバ・プロセスそれぞれが、その特定の論理サーバ・プロセスに対応するすべてのリソース・コンピュータおよびそれらの制御されるリソースのデータベースを含む上記(1)記載の分散ネットワーク。
(7)前記制御される各リソースについて、前記データベースが、そのリソースが生成されたところのリソース・コンピュータに対応する論理サーバ・プロセスのアドレスをさらに含む上記(6)記載の論理サーバ・プロセス。
(8)前記制御される各リソースについて、前記データベースが、所有する側のリソースおよび所有される側のリソースに関する情報を含む上記(6)記載の論理サーバ・プロセス。
(9)記録可能媒体と、
前記記録可能媒体に記録されたリソース管理システムと、
を含み、前記リソース管理システムが、少なくとも一つのクライアントと、複数のリソース・コンピュータと、前記リソース・コンピュータによって制御される複数のリソースとを有する分散ネットワーク上で使用するためのものであり、前記リソース管理システムが、前記複数のリソースそれぞれを一意的に識別するリソース識別名を生成するための機構を含み、前記リソース識別名それぞれが、
前記リソースに対応する出生LLSPを識別するためのLLSPフィールドと、
前記リソースに対応する出生コンピュータを識別するための出生コンピュータ・フィールドと、
前記出生コンピュータで生成されたすべてのリソースのセットの中から前記リソースを識別するためのIDフィールドと、
を含むことを特徴とするプログラム製品。
(10)前記リソース識別名それぞれがタイプ・フィールドをさらに含み、前記タイプフィールドが、前記LLSPフィールド、前記出生コンピュータ・フィールドおよび前記IDフィールドを解釈するためのものである上記(9)記載のプログラム製品。
(11)前記LLSPフィールドと前記出生コンピュータ・フィールドとがいっしょになって前記出生コンピュータの論理識別名を生成する上記(9)記載のプログラム製品。
(12)前記出生コンピュータ・フィールドと前記IDフィールドとがいっしょになって、共通の出生LLSPを共用する各リソースを一意的に識別するための識別名を生成する上記(9)記載のプログラム製品。
(13)前記リソース・コンピュータそれぞれが、前記リソース・コンピュータの出生LLSPの正体を含む論理識別名と、同じ出生LLSPをもつすべてのリソース・コンピュータのセットの中から前記リソース・コンピュータを一意的に識別する値とを割り当てられる上記(9)記載のプログラム製品。
(14)少なくとも一つのクライアントと、
複数のリソース・コンピュータと、
前記リソース・コンピュータによって制御される複数のリソースと、
それぞれが前記リソースの一つを一意的に識別する複数のリソース識別名と、
分散ロケーション・サービス・システムと、
を含み、前記分散ロケーション・サービス・システムが、
(a)すべてのリソースおよびリソース・コンピュータの分散ディレクトリを含む複数の分散サーバ・プロセスと、
(b)新たなリソースが生成されるたびにリソース識別名を生成し、割り当てるためのリソース識別名生成機構と、
(c)前記リソースの一つが移行したとき、該当する論理ロケーション・サーバ・プロセスを更新するための更新機構と、
(d)前記分散ディレクトリを審査して、リソース識別名からリソース・コンピュータを見つけるロケーション機構と、
を含むことを特徴とする分散ネットワーク。
(15)前記複数の分散サーバ・プロセスそれぞれが論理アドレスのセットおよび物理アドレスのセットを含み、前記分散ロケーション・サービス・システムがこれら2タイプのアドレスの間でマッピングを維持する上記(14)記載の分散ネットワーク。
(16)前記分散サーバ・プロセスそれぞれが、その分散サーバ・プロセスの下で生成されたすべてのリソースのデータベースと、現在その分散プロセスの中で制御されているすべてのリソースのデータベースとを含む上記(14)記載の分散ネットワーク。
(17)前記更新機構が、
前記移行するリソースの前記出生コンピュータに対応する分散サーバ・プロセス中のデータベースを修正して、新たな制御側コンピュータを示すための第一の機構と、
前記移行するリソースの責任を以前に負っていた分散サーバ・プロセス中のデータベースを修正して、前記移行するリソースが移動したことを示すための第二の機構と、
前記移行するリソースの責任を現在負っている分散サーバ・プロセス中のデータベースを修正するための第三の機構と、
を含む上記(16)記載の分散ネットワーク。
(18)前記ロケーション機構が、
前記リソースの出生リソース・コンピュータが現在そのリソースを制御しているかどうかを検出するための第一の機構と、
前記クライアントに対応する前記分散サーバ・プロセスが、どのリソース・コンピュータが現在そのリソースを制御しているかを知っているかどうかを検出するための第二の機構と、
前記リソースの出生リソース・コンピュータに対応する前記分散サーバ・プロセスに対し、どのリソース・コンピュータが現在そのリソースを制御しているかを要求するための第三の機構と、
を含む上記(16)記載の分散ネットワーク。
(19)前記ロケーション機構が、前記第三の機構から返された結果を記憶するための第四の機構をさらに含む上記(18)記載の分散ネットワーク。
(20)リソースが、それに対応する一意のリソース識別名を有し、クライアントが前記リソース識別名を知っており、各リソース、コンピュータおよびクライアントが、それに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソース識別名が、前記リソースの出生コンピュータおよび出生論理ロケーション・サービス・プロセスに関する情報を含むところの、分散ネットワーク上のリソースをクライアントから見つけるための方法であって、
前記リソースの前記出生コンピュータにメッセージを送って、前記リソースが前記出生コンピュータによって制御されているかどうかを決定するステップと、
前記出生コンピュータからの返答をチェックするステップと、
前記リソースが前記出生コンピュータによって制御されていない場合、前記クライアントに対応する前記論理ロケーション・サービス・プロセスにメッセージを送って、だれが前記リソースを制御しているかをそれが知っているかどうかを決定するステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスからの返答をチェックするステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが、前記リソースを制御しているコンピュータの実体を知らない場合、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送って、だれが前記リソースを制御しているかを決定するステップと、
を含むことを特徴とする方法。
(21)前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースのロケーションを知っているとき、前記クライアントに対応する前記論理ロケーション・サービス・プロセスからの前記返答を記憶するステップをさらに含む上記(20)記載の方法。
(22)複数の論理ロケーション・サービス・プロセスと、
それぞれが、前記論理ロケーション・サービス・プロセスのうち、それに対応する一つを有する複数のクライアントと、
それぞれが、前記論理ロケーション・サービス・プロセスのうち、それに対応する一つを有する複数のリソース・コンピュータと、
それぞれが前記リソース・コンピュータの一つによって制御される複数のリソースと、
それぞれが、前記リソースの一つを一意的に識別し、それぞれが、前記リソースが生成されたところのリソース・コンピュータの正体と、前記リソースが生成されたところのリソース・コンピュータに対応する論理ロケーション・サービス・プロセスとを含む複数のリソース識別名と、
を含むことを特徴とする、統一リソース識別システムを有するインターネット。
(23)前記リソース識別名それぞれが統一リソース名の一部として含まれる上記(22)記載のインターネット。
(24)前記論理ロケーション・サービス・プロセスそれぞれが、この論理ロケーション・サービス・プロセスを出生論理ロケーション・サービス・プロセスとして識別するすべてのリソースをリストするデータベースを含む上記(22)記載のインターネット。
(25)前記論理ロケーション・サービス・プロセスそれぞれが、この論理ロケーション・サービス・プロセスを現在の論理ロケーション・サービス・プロセスとして識別するすべてのリソース・コンピュータをリストするデータベースを含む上記(22)記載のインターネット。
(26)ワールド・ワイド・ウェブとして使用される上記(22)記載のインターネット。
(27)リソースが、それに対応する一意のリソース識別名を有し、クライアントが前記リソース識別名を知っており、ネットワークに対応する各リソース、コンピュータおよびクライアントが、それに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソース識別名が、前記リソースの出生コンピュータおよび出生論理ロケーション・サービス・プロセスに関する情報を含むところの、ワールド・ワイド・ウェブのネットワーク上のリソースをクライアントから発見するための方法であって、
前記リソースの前記出生コンピュータにメッセージを送って、前記リソースが前記出生コンピュータによって制御されているかどうかを決定するステップと、
前記出生コンピュータからの返答をチェックするステップと、
前記リソースが前記出生コンピュータによって制御されていない場合、前記クライアントに対応する前記論理ロケーション・サービス・プロセスにメッセージを送って、だれが前記リソースを制御しているかをそれが知っているかどうかを決定するステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスからの返答をチェックするステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが、前記リソースを制御しているコンピュータの実体を知らない場合、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送って、だれが前記リソースを制御しているかを決定するステップと、
を含むことを特徴とする方法。
(28)前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースのロケーションを知っているとき、前記クライアントに対応する前記論理ロケーション・サービス・プロセスからの前記返答を記憶するステップをさらに含む上記(27)記載の方法。
(29)記録可能媒体と、
クライアントおよびサーバから構成されるネットワーク中でリソースを管理し、見つけるための、前記記録可能媒体に記録された分散ロケーション・サービス・プロセスと、
を含み、前記分散ロケーション・サービス・プロセスが、
リソースを追跡するための、分散サーバ・プロセスを創造するための第一の機構と、
リソース識別名を生成し、割り当てるための第二の機構と、
リソースが移行したとき、前記分散サーバ・プロセスを更新するための第三の機構と、
を含むことを特徴とするプログラム製品。
(30)前記分散ロケーション・サービス・プロセスが、リソースを見つけるための第四の機構をさらに含む上記(29)記載のプログラム製品。
(31)インターネット上でリソースを見つけるためのプログラム製品において、
記録可能媒体と、
前記記録可能媒体に記録された分散ロケーション・システムと、
を含み、前記分散ロケーション・システムが、前記インターネット上のサーバの論理ロケーション・サーバ・プロセスを創造するための機構と、前記インターネット上のリソースにリソース識別名を割り当てるための機構と、リソースが移行したとき、前記論理ロケーション・サーバ・プロセスを更新するための機構とを含むことを特徴とする製品。
(32)前記リソースを見つけるための機構をさらに含む上記(31)記載のプログラム製品。
(33)前記インターネットがワールド・ワイド・ウェブである上記(31)記載のプログラム製品。
(34)前記リソースがウェブ・ページである上記(33)記載のプログラム製品。
(35)前記リソースを見つけるための機構がウェブ・ブラウザによってアクセスされる上記(31)記載のプログラム製品。
【図面の簡単な説明】
【図1】 本発明の好ましい実施態様による分散ロケーション・サービスを含む分散ネットワーク・システムのブロック図である。
【図2】 本発明の好ましい実施態様による分散ロケーション・サービスにおけるサーバ・プロセスをさらに定義する分散ネットワーク・システムのブロック図である。
【図3】 本発明の好ましい実施態様によるリソース識別名のアーキテクチャを示す図である。
【図4】 本発明によるリソース識別名の代替態様を示す図である。
【符号の説明】
10 分散ネットワーク・システム
12 分散ネットワーク
14 分散ロケーション・サービス(DLS)
16、18 論理ロケーション・サーバ・プロセス(LLSP)
20 クライアント
22 データ構造
24 リソース・コンピュータ
26 リソース
Claims (10)
- 少なくとも一つのクライアントと、複数のリソース・コンピュータと、前記リソース・コンピュータによって制御される複数のリソースとを有する分散ネットワークであって、前記複数のリソースのそれぞれに対応する出生論理ロケーション・サーバ・プロセス(LLSP)が実行されている分散ネットワーク上のリソースを識別するためにリソース管理システムによって使用される前記リソースのそれぞれに一意のリソース識別名のデータであって、
前記リソースが生成されたところのコンピュータの現在のLLSPである、出生LLSPを識別するためのLLSPフィールドと、
前記リソースが生成されたところの出生コンピュータを識別するための出生コンピュータ・フィールドと、
前記出生コンピュータで生成された複数のリソースから前記リソースを識別するためのIDフィールドと、
を含むことを特徴とするリソース識別名のデータを記憶した記録媒体であって、前記リソース管理システムは、
前記リソースが当該リソースの出生コンピュータによって制御されているかどうかを判定するために、前記出生コンピュータ・フィールド及び前記IDフィールドに記憶された情報を使用して、前記リソースの出生コンピュータにメッセージを送信し、
前記リソースが前記出生コンピュータによって制御されていないと判定された場合に、前記リソースを制御しているコンピュータがいずれであるかを判定するために、前記クライアントに対応する論理ロケーション・サービス・プロセスにメッセージを送信し、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースを制御しているコンピュータの情報を有しないと判定された場合、前記LLSPフィールドに記憶された情報を使用して、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送信することを特徴とするリソース識別名のデータを記憶した記録媒体。 - 前記LLSPフィールドと前記出生コンピュータ・フィールドとがいっしょになって、前記出生コンピュータの論理識別名を生成する、請求項1記載の記録媒体。
- 前記出生コンピュータ・フィールドと前記IDフィールドとがいっしょになって、共通の出生LLSPを共用する各リソースを一意的に識別するための識別名を生成する、請求項1記載の記録媒体。
- 少なくとも1つのクライアントと、
複数のリソース・コンピュータと、
それぞれが一意のリソース識別名を有する、前記リソース・コンピュータによって制御される複数のリソースと、
分散ロケーション・サービス・システムとを含む分散ネットワークであって、
前記分散ロケーション・サービス・システムが、
(a)リソースおよびリソース・コンピュータの分散ディレクトリであって、前記リソースのリソース識別名から当該リソースのリソース・コンピュータをマッピングする分散ディレクトリを含むリソース・コンピュータ複数の分散サーバ・プロセスと、
(b)新たなリソースが生成されたことに応じて、当該リソースに割当てるために、リソース識別名を生成するためのリソース識別名生成機構と、
(c)前記リソースの一つが移行したことに応じて、当該リソースに対応する論理ロケーション・サーバ・プロセスを更新するための更新機構であって、当該リソースの追跡が可能となるように、前記更新が、当該リソースの出生論理ロケーション・サーバ・プロセスに新たなリソース・コンピュータを示し、当該リソースを移行前に制御していた論理ロ ケーション・サーバ・プロセスに当該リソースが移行したことを示し、前記新たなリソース・コンピュータの論理ロケーション・サーバ・プロセスに当該リソースを制御していることを示すことを含む更新機構と、
(d)前記分散ディレクトリを審査して、リソース識別名からリソース・コンピュータを見つけるロケーション機構であって、前記リソースの出生リソース・コンピュータが現在そのリソースを制御しているかどうかを検出するための第一の機構と、前記クライアントに対応する前記論理ロケーション・サーバ・プロセスが、どのリソース・コンピュータが現在そのリソースを制御しているかを知っているかどうかを検出するための第二の機構と、前記リソースの出生リソース・コンピュータに対応する前記論理ロケーション・サーバ・プロセスに対し、どのリソース・コンピュータが現在そのリソースを制御しているかを要求するための第三の機構と、を含むロケーション機構と、
を含むことを特徴とする分散ネットワーク。 - リソース、コンピュータおよびクライアントを含み、前記リソース、前記コンピュータおよび前記クライアントに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソースに、当該リソースの出生コンピュータに関する情報、および当該リソースが生成されたところのコンピュータの現在の論理ロケーション・サービス・プロセスである出生論理ロケーション・サービス・プロセスに関する情報を含む一意のリソース識別名が割当てられている分散ネットワークにおいて、リソースをクライアントから見つけるための方法であって、
リソースが当該リソースの出生コンピュータによって制御されているかどうかを判定するために、前記リソース識別名に含まれる出生コンピュータに関する情報を使用して、前記リソースの出生コンピュータにメッセージを送信するステップと、
前記出生コンピュータからの返答をチェックするステップと、
前記リソースが前記出生コンピュータによって制御されていないと判定された場合に、前記リソースを制御しているコンピュータがいずれであるかを判定するために、前記クライアントに対応する論理ロケーション・サービス・プロセスにメッセージを送信するステップと、
前記クライアントに対応する論理ロケーション・サービス・プロセスからの返答をチェックするステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースを制御しているコンピュータの情報を有しないと判定された場合、前記リソース識別名に含まれる出生論理ロケーション・サービス・プロセスに関する情報を使用して、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送信するステップと、
を含む方法。 - 前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースのロケーションを知ったとき、出生論理ロケーション・サービス・プロセスからの前記返答を前記クライアントに対応する前記論理ロケーション・サービス・プロセスに記憶するステップとさらに含む、請求項5に記載の方法。
- リソース、コンピュータおよびクライアントを含み、前記リソース、前記コンピュータおよび前記クライアントに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソースに、当該リソースの出生コンピュータに関する情報、および当該リソースが生成されたところのコンピュータの現在の論理ロケーション・サービス・プロセスである出生論理ロケーション・サービス・プロセスに関する情報を含む一意のリソース識別名が割当てられている分散ネットワークにおいて、リソースをクライアントから見つけるためのプログラムを格納した記録媒体であって、前記プログラムがクライアントに、
リソースが当該リソースの出生コンピュータによって制御されているかどうかを判定するために、前記リソース識別名に含まれる出生コンピュータに関する情報を使用して、前記リソースの出生コンピュータにメッセージを送信するステップと、
前記出生コンピュータからの返答をチェックするステップと、
前記リソースが前記出生コンピュータによって制御されていないと判定された場合に、前記リソースを制御しているコンピュータがいずれであるかを判定するために、前記クライアントに対応する論理ロケーション・サービス・プロセスにメッセージを送信するステップと、
前記クライアントに対応する論理ロケーション・サービス・プロセスからの返答をチェックするステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースを制御しているコンピュータの情報を有しないと判定された場合、前記リソース識別名に含まれる出生論理ロケーション・サービス・プロセスに関する情報を使用して、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送信するステップを実行させる、記録媒体。 - リソース、コンピュータおよびクライアントを含み、前記リソース、前記コンピュータおよび前記クライアントに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソースに、当該リソースの出生コンピュータに関する情報、および当該リソースが生成されたところのコンピュータの現在の論理ロケーション・サービス・プロセスである出生論理ロケーション・サービス・プロセスに関する情報を含む一意のリソース識別名が割当てられている分散ネットワークにおいて、リソースを見つけるクライアントであって、
リソースが当該リソースの出生コンピュータによって制御されているかどうかを判定するために、前記リソース識別名に含まれる出生コンピュータに関する情報を使用して、前記リソースの出生コンピュータにメッセージを送信する手段と、
前記出生コンピュータからの返答をチェックする手段と、
前記リソースが前記出生コンピュータによって制御されていないと判定された場合に、前記リソースを制御しているコンピュータがいずれであるかを判定するために、前記クライアントに対応する論理ロケーション・サービス・プロセスにメッセージを送信する手段と、
前記クライアントに対応する論理ロケーション・サービス・プロセスからの返答をチェックする手段と、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースを制御しているコンピュータの情報を有しないと判定された場合、前記リソース識別名に含まれる出生論理ロケーション・サービス・プロセスに関する情報を使用して、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送信する手段を備えたクライアント。 - リソース、コンピュータおよびクライアントを含み、前記リソース、前記コンピュータおよび前記クライアントに対応する一意の現在の論理ロケーション・サービス・プロセスを有し、前記リソースに、当該リソースの出生コンピュータに関する情報、および当該リソースが生成されたところのコンピュータの現在の論理ロケーション・サービス・プロセスである出生論理ロケーション・サービス・プロセスに関する情報を含む一意のリソース識別名が割当てられているところの、ワールド・ワイド・ウェブのネットワーク上のリソースをクライアントから発見するための方法であって、
リソースが当該リソースの出生コンピュータによって制御されているかどうかを判定するために、前記リソース識別名に含まれる出生コンピュータに関する情報を使用して、前記リソースの出生コンピュータにメッセージを送信するステップと、
前記出生コンピュータからの返答をチェックするステップと、
前記リソースが前記出生コンピュータによって制御されていないと判定された場合に、前記リソースを制御しているコンピュータがいずれであるかを判定するために、前記クライアントに対応する論理ロケーション・サービス・プロセスにメッセージを送信するステップと、
前記クライアントに対応する論理ロケーション・サービス・プロセスからの返答をチェックするステップと、
前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースを制御しているコンピュータの情報を有しないと判定された場合、前記リソース識別名に含まれる出生論理ロケーション・サービス・プロセスに関する情報を使用して、前記リソースの前記出生論理ロケーション・サービス・プロセスにメッセージを送信するステップを含む、方法。 - 前記クライアントに対応する前記論理ロケーション・サービス・プロセスが前記リソースのロケーションを知ったとき、前記出生論理ロケーション・サービス・プロセスからの前記返答を前記クライアントに対応する前記論理ロケーション・サービス・プロセスに記憶するステップとさらに含む、請求項9に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/772,705 US6058423A (en) | 1996-12-23 | 1996-12-23 | System and method for locating resources in a distributed network |
US08/772705 | 1996-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10207851A JPH10207851A (ja) | 1998-08-07 |
JP3777032B2 true JP3777032B2 (ja) | 2006-05-24 |
Family
ID=25095949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33181797A Expired - Fee Related JP3777032B2 (ja) | 1996-12-23 | 1997-12-02 | 分散ネットワークおよびリソースを見つける方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US6058423A (ja) |
JP (1) | JP3777032B2 (ja) |
KR (1) | KR100276137B1 (ja) |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272523B1 (en) * | 1996-12-20 | 2001-08-07 | International Business Machines Corporation | Distributed networking using logical processes |
US6058423A (en) | 1996-12-23 | 2000-05-02 | International Business Machines Corporation | System and method for locating resources in a distributed network |
US6260068B1 (en) * | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6332180B1 (en) | 1998-06-10 | 2001-12-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for communication in a multi-processor computer system |
US6633916B2 (en) | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
US6199179B1 (en) | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
US6381682B2 (en) | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
US6647508B2 (en) | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
KR100505034B1 (ko) * | 1997-12-30 | 2005-11-22 | 엘지엔시스(주) | 에이치에이서버시스템의원격관리방법및장치 |
US6256740B1 (en) * | 1998-02-06 | 2001-07-03 | Ncr Corporation | Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric |
US6553420B1 (en) * | 1998-03-13 | 2003-04-22 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6430618B1 (en) * | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6879962B1 (en) * | 1998-05-24 | 2005-04-12 | Joseph D. Smith | Logistics system and method |
US6731612B1 (en) * | 1998-06-29 | 2004-05-04 | Microsoft Corporation | Location-based web browsing |
US6963914B1 (en) * | 1998-09-01 | 2005-11-08 | Lucent Technologies Inc. | Method and apparatus for retrieving a network file using a logical reference |
JP2000076118A (ja) * | 1998-09-03 | 2000-03-14 | Fuji Xerox Co Ltd | 分散ファイル処理装置および分散ファイル処理方法 |
KR100380651B1 (ko) * | 1998-10-02 | 2003-07-18 | 삼성전자주식회사 | 에이알시네트워크의데이터다중처리방법 |
US6493354B1 (en) * | 1998-11-11 | 2002-12-10 | Qualcomm, Incorporated | Resource allocator |
US6334133B1 (en) * | 1998-12-21 | 2001-12-25 | Frontline Data, Inc. | System and method for performing substitute fulfillment |
AU776929B2 (en) * | 1998-12-21 | 2004-09-23 | Frontline Technologies Group Llc | System and method for performing substitute fulfillment information compilation and notification |
US6502175B1 (en) * | 1999-03-31 | 2002-12-31 | Lucent Technologies Inc. | Method and apparatus for locating caches in a network to optimize performance |
US6832377B1 (en) * | 1999-04-05 | 2004-12-14 | Gateway, Inc. | Universal registration system |
US6460082B1 (en) * | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US7945468B1 (en) | 1999-08-20 | 2011-05-17 | Frontline Technologies, Inc. | Notification of employees via pass code accessed web pages |
US6775687B1 (en) * | 1999-10-12 | 2004-08-10 | International Business Machines Corporation | Exchanging supplemental information fields between a client and a server |
US6748448B1 (en) * | 1999-12-13 | 2004-06-08 | International Business Machines Corporation | High performance internet storage access scheme |
US7281034B1 (en) | 2000-01-24 | 2007-10-09 | Friskit, Inc. | System and method for media playback over a network using links that contain control signals and commands |
US6389467B1 (en) | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US7228305B1 (en) | 2000-01-24 | 2007-06-05 | Friskit, Inc. | Rating system for streaming media playback system |
US6721741B1 (en) | 2000-01-24 | 2004-04-13 | Friskit, Inc. | Streaming media search system |
US6519648B1 (en) * | 2000-01-24 | 2003-02-11 | Friskit, Inc. | Streaming media search and continuous playback of multiple media resources located on a network |
JP4434408B2 (ja) * | 2000-02-02 | 2010-03-17 | 富士通株式会社 | 情報処理装置 |
US6615237B1 (en) * | 2000-02-04 | 2003-09-02 | Microsoft Corporation | Automatic searching for data in a network |
US7010537B2 (en) * | 2000-04-27 | 2006-03-07 | Friskit, Inc. | Method and system for visual network searching |
US7225240B1 (en) * | 2000-05-20 | 2007-05-29 | Ciena Corporation | Decoupling processes from hardware with logical identifiers |
JP3718621B2 (ja) * | 2000-06-23 | 2005-11-24 | 株式会社ルートレック・ネットワークス | インターネットアドレス決定方法及び装置 |
US7454516B1 (en) * | 2000-08-03 | 2008-11-18 | Microsoft Corporation | Scalable virtual partitioning of resources |
US6782410B1 (en) * | 2000-08-28 | 2004-08-24 | Ncr Corporation | Method for managing user and server applications in a multiprocessor computer system |
US7051095B1 (en) * | 2000-08-30 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Locating device resources on a global scale |
DE60037972T2 (de) * | 2000-10-10 | 2008-09-11 | Hewlett-Packard Development Company, L.P., Houston | Verfahren und Gerät zum Anbieten von Betriebsmitteln in einem Internet-Gerät |
JP2002124951A (ja) * | 2000-10-12 | 2002-04-26 | Canon Inc | 通信端末装置、サービス提供システム、サービス利用方法及び記憶媒体 |
US7069545B2 (en) * | 2000-12-29 | 2006-06-27 | Intel Corporation | Quantization and compression for computation reuse |
US20020087665A1 (en) * | 2000-12-29 | 2002-07-04 | Marshall Donald Brent | Method and system for integrated resource management |
US7167470B2 (en) * | 2001-03-15 | 2007-01-23 | American Express Travel Related Services Company, Inc. | Method and apparatus for locating a communication device using local area network switch information |
US7322040B1 (en) * | 2001-03-27 | 2008-01-22 | Microsoft Corporation | Authentication architecture |
US20030009509A1 (en) * | 2001-06-22 | 2003-01-09 | Fish Russell H. | Distributed means of organizing an arbitrarily large number of computers |
US8086738B2 (en) * | 2007-05-24 | 2011-12-27 | Russell Fish | Distributed means of organizing an arbitrarily large number of computers |
US20030208527A1 (en) * | 2001-07-20 | 2003-11-06 | Lino Lglesais | Method for smart device network application infrastructure (SDNA) |
WO2003012646A1 (en) * | 2001-08-01 | 2003-02-13 | Valaran Corporation | Method and system for multimode garbage collection |
KR100453033B1 (ko) * | 2001-08-28 | 2004-10-15 | 삼성전자주식회사 | 인터넷 어드레스를 자동적으로 생성하는 인터넷 접속이가능한 장치 |
GB2381154B (en) * | 2001-10-15 | 2004-06-30 | Jacobs Rimell Ltd | Object distribution |
US20030093496A1 (en) * | 2001-10-22 | 2003-05-15 | O'connor James M. | Resource service and method for location-independent resource delivery |
US7747758B2 (en) * | 2001-10-29 | 2010-06-29 | International Business Machines Corporation | Dynamic port assignment |
CA2411806A1 (en) * | 2001-11-16 | 2003-05-16 | Telecommunications Research Laboratory | Wide-area content-based routing architecture |
US7962605B2 (en) * | 2001-11-20 | 2011-06-14 | Microsoft Corporation | Distributed device discovery framework for a network |
US7360034B1 (en) * | 2001-12-28 | 2008-04-15 | Network Appliance, Inc. | Architecture for creating and maintaining virtual filers on a filer |
US20030229706A1 (en) * | 2002-06-05 | 2003-12-11 | Do-Pil Park | Non-textual representation of access activities regarding a resource |
US8489742B2 (en) * | 2002-10-10 | 2013-07-16 | Convergys Information Management Group, Inc. | System and method for work management |
US8577795B2 (en) | 2002-10-10 | 2013-11-05 | Convergys Information Management Group, Inc. | System and method for revenue and authorization management |
US7792951B2 (en) * | 2002-12-10 | 2010-09-07 | International Business Machines Corporation | Apparatus and methods for classification of web sites |
US7386611B2 (en) * | 2002-12-10 | 2008-06-10 | International Business Machines Corporation | Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition |
US8041761B1 (en) * | 2002-12-23 | 2011-10-18 | Netapp, Inc. | Virtual filer and IP space based IT configuration transitioning framework |
US8135795B2 (en) * | 2003-04-03 | 2012-03-13 | International Business Machines Corporation | Method to provide on-demand resource access |
US7627506B2 (en) * | 2003-07-10 | 2009-12-01 | International Business Machines Corporation | Method of providing metered capacity of temporary computer resources |
US7594231B2 (en) * | 2003-07-10 | 2009-09-22 | International Business Machines Corporation | Apparatus and method for assuring recovery of temporary resources in a logically partitioned computer system |
US20040199473A1 (en) * | 2003-04-03 | 2004-10-07 | International Business Machines Corporation | Billing information authentication for on-demand resources |
US7493488B2 (en) | 2003-07-24 | 2009-02-17 | International Business Machines Corporation | Method to disable on/off capacity in demand |
US7269826B2 (en) * | 2003-08-05 | 2007-09-11 | International Business Machines Corporation | Apparatus, method and computer program product for resource locator using queries |
US7464182B2 (en) * | 2003-08-05 | 2008-12-09 | International Business Machines Corporation | Apparatus, method and computer program product for producing a resource descriptor |
US7877754B2 (en) * | 2003-08-21 | 2011-01-25 | International Business Machines Corporation | Methods, systems, and media to expand resources available to a logical partition |
US20050066032A1 (en) * | 2003-08-28 | 2005-03-24 | International Business Machines Corporation | Capacity on demand grace period for incompliant system configurations |
US7668093B1 (en) | 2004-08-05 | 2010-02-23 | Convergys Information Management Group, Inc. | Architecture for balancing workload |
US8230085B2 (en) * | 2004-04-12 | 2012-07-24 | Netapp, Inc. | System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance |
US7590980B1 (en) | 2004-06-14 | 2009-09-15 | Convergys Cmg Utah, Inc. | System and method for a functional extensibility framework |
US8732182B2 (en) | 2004-12-02 | 2014-05-20 | Desktopsites Inc. | System and method for launching a resource in a network |
US20060122955A1 (en) * | 2004-12-02 | 2006-06-08 | Alex Bethlehem | System and method for launching a resource in a network |
WO2006075424A1 (ja) * | 2005-01-13 | 2006-07-20 | Brother Kogyo Kabushiki Kaisha | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 |
JP4670043B2 (ja) * | 2005-01-13 | 2011-04-13 | ブラザー工業株式会社 | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 |
GB2422452A (en) * | 2005-01-21 | 2006-07-26 | Hewlett Packard Development Co | Having multiple contexts in a machine readable document |
GB2422451A (en) * | 2005-01-21 | 2006-07-26 | Hewlett Packard Development Co | Using the discardable path element of contexts as context identifiers |
US8074223B2 (en) * | 2005-01-31 | 2011-12-06 | International Business Machines Corporation | Permanently activating resources based on previous temporary resource usage |
US20060173730A1 (en) * | 2005-01-31 | 2006-08-03 | International Business Machines Corporation | Adjusting resource activation based on a manufactured date of a computer |
US20060218277A1 (en) * | 2005-03-24 | 2006-09-28 | International Business Machines Corporation | Activating on-demand computer resources |
US8468530B2 (en) * | 2005-04-07 | 2013-06-18 | International Business Machines Corporation | Determining and describing available resources and capabilities to match jobs to endpoints |
US7475275B2 (en) * | 2005-10-27 | 2009-01-06 | International Business Machines Corporation | Method for fault handling in a co-operative workflow environment |
KR100714712B1 (ko) * | 2006-02-21 | 2007-05-04 | 삼성전자주식회사 | 컨테인먼트 프레임워크 환경에서 자원을 관리하는 장치 및방법 |
US7882095B2 (en) * | 2006-05-30 | 2011-02-01 | Microsoft Corporation | Resource locators for widely distributed systems |
US7620526B2 (en) * | 2006-10-25 | 2009-11-17 | Zeugma Systems Inc. | Technique for accessing a database of serializable objects using field values corresponding to fields of an object marked with the same index value |
US7761485B2 (en) * | 2006-10-25 | 2010-07-20 | Zeugma Systems Inc. | Distributed database |
US8656390B2 (en) * | 2006-11-09 | 2014-02-18 | International Business Machines Corporation | Implementing shadow objects with relocated resources to form relationships between new and old locations |
US20080205415A1 (en) * | 2007-02-28 | 2008-08-28 | Morales Henry N Jerez | Access, Connectivity and Interoperability for Devices and Services |
CN101316226B (zh) * | 2007-06-01 | 2011-11-02 | 阿里巴巴集团控股有限公司 | 一种获取资源的方法、装置及系统 |
US20090177535A1 (en) * | 2007-09-18 | 2009-07-09 | Pmp Corporation | System and method for monitoring and executing substitute fulfillment |
US8140366B2 (en) * | 2008-01-04 | 2012-03-20 | Frontline Technologies, Inc. | Method, system and program product for filling job orders |
US9015724B2 (en) * | 2009-09-23 | 2015-04-21 | International Business Machines Corporation | Job dispatching with scheduler record updates containing characteristics combinations of job characteristics |
US8103905B2 (en) * | 2010-03-12 | 2012-01-24 | Microsoft Corporation | Detecting and recovering from process failures |
US8423624B2 (en) * | 2011-06-30 | 2013-04-16 | International Business Machines Corporation | Maintaining referential integrity |
CN109032791B (zh) * | 2012-08-22 | 2022-10-21 | 汞王国资产有限公司 | 多核架构中的资源分配 |
WO2018136074A1 (en) | 2017-01-19 | 2018-07-26 | Hewlett-Packard Development Company, L.P. | Fluid driver actuation control using offset |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2476349A1 (fr) * | 1980-02-15 | 1981-08-21 | Philips Ind Commerciale | Systeme de traitement de donnees reparti |
JPS6243766A (ja) * | 1985-08-21 | 1987-02-25 | Hitachi Ltd | 共用資源の状態管理方式 |
US5111389A (en) | 1987-10-29 | 1992-05-05 | International Business Machines Corporation | Aperiodic mapping system using power-of-two stride access to interleaved devices |
US5390297A (en) * | 1987-11-10 | 1995-02-14 | Auto-Trol Technology Corporation | System for controlling the number of concurrent copies of a program in a network based on the number of available licenses |
US5117350A (en) | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
US5301337A (en) * | 1990-04-06 | 1994-04-05 | Bolt Beranek And Newman Inc. | Distributed resource management system using hashing operation to direct resource request from different processors to the processor controlling the requested resource |
AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
US5222242A (en) * | 1990-09-28 | 1993-06-22 | International Business Machines Corp. | System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node |
US5249290A (en) * | 1991-02-22 | 1993-09-28 | At&T Bell Laboratories | Method of and apparatus for operating a client/server computer network |
JPH0575628A (ja) * | 1991-09-13 | 1993-03-26 | Fuji Xerox Co Ltd | ネツトワーク資源監視システム |
US5369570A (en) * | 1991-11-14 | 1994-11-29 | Parad; Harvey A. | Method and system for continuous integrated resource management |
US5371852A (en) | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
JP3266351B2 (ja) | 1993-01-20 | 2002-03-18 | 株式会社日立製作所 | データベース管理システムおよび問合せの処理方法 |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5511208A (en) * | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
US5459837A (en) * | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
US5483652A (en) | 1994-01-24 | 1996-01-09 | Digital Equipment Corporation | Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment |
US5548506A (en) * | 1994-03-17 | 1996-08-20 | Srinivasan; Seshan R. | Automated, electronic network based, project management server system, for managing multiple work-groups |
US5526358A (en) | 1994-08-19 | 1996-06-11 | Peerlogic, Inc. | Node management in scalable distributed computing enviroment |
US5715395A (en) * | 1994-09-12 | 1998-02-03 | International Business Machines Corporation | Method and apparatus for reducing network resource location traffic in a network |
US5678041A (en) * | 1995-06-06 | 1997-10-14 | At&T | System and method for restricting user access rights on the internet based on rating information stored in a relational database |
US5603029A (en) | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
JP3738787B2 (ja) * | 1995-10-19 | 2006-01-25 | 富士ゼロックス株式会社 | 資源管理装置及び資源管理方法 |
US5572643A (en) | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US5764906A (en) * | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5751961A (en) | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US5802299A (en) | 1996-02-13 | 1998-09-01 | Microtouch Systems, Inc. | Interactive system for authoring hypertext document collections |
US5963915A (en) | 1996-02-21 | 1999-10-05 | Infoseek Corporation | Secure, convenient and efficient system and method of performing trans-internet purchase transactions |
US5815665A (en) | 1996-04-03 | 1998-09-29 | Microsoft Corporation | System and method for providing trusted brokering services over a distributed network |
US5961603A (en) * | 1996-04-10 | 1999-10-05 | Worldgate Communications, Inc. | Access system and method for providing interactive access to an information source through a networked distribution system |
JPH10125634A (ja) * | 1996-10-19 | 1998-05-15 | Nikon Corp | 研磨装置 |
US5768510A (en) | 1996-07-01 | 1998-06-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server application enabler system |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5787435A (en) | 1996-08-09 | 1998-07-28 | Digital Equipment Corporation | Method for mapping an index of a database into an array of files |
US6058423A (en) | 1996-12-23 | 2000-05-02 | International Business Machines Corporation | System and method for locating resources in a distributed network |
US5892905A (en) | 1996-12-23 | 1999-04-06 | International Business Machines Corporation | Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web |
US6009459A (en) * | 1997-01-10 | 1999-12-28 | Microsoft Corporation | Intelligent automatic searching for resources in a distributed environment |
US5944780A (en) * | 1997-05-05 | 1999-08-31 | At&T Corp | Network with shared caching |
US6049829A (en) | 1997-07-22 | 2000-04-11 | At&T Corp. | Information access system and method |
US6151624A (en) * | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US6311216B1 (en) * | 1998-05-29 | 2001-10-30 | Microsoft Corporation | Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS |
-
1996
- 1996-12-23 US US08/772,705 patent/US6058423A/en not_active Expired - Fee Related
-
1997
- 1997-08-30 KR KR1019970044772A patent/KR100276137B1/ko not_active IP Right Cessation
- 1997-12-02 JP JP33181797A patent/JP3777032B2/ja not_active Expired - Fee Related
-
2000
- 2000-02-08 US US09/500,126 patent/US6453350B1/en not_active Expired - Fee Related
- 2000-02-08 US US09/500,262 patent/US6311219B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6058423A (en) | 2000-05-02 |
KR100276137B1 (ko) | 2000-12-15 |
US6311219B1 (en) | 2001-10-30 |
US6453350B1 (en) | 2002-09-17 |
JPH10207851A (ja) | 1998-08-07 |
KR19980063449A (ko) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3777032B2 (ja) | 分散ネットワークおよびリソースを見つける方法 | |
EP3391627B1 (en) | Shared multi-tenant domain name system (dns) server for virtual networks and corresponding method | |
US10423609B1 (en) | Consistent snapshot points in a distributed storage service | |
JP3851272B2 (ja) | ステートフル・プログラム・エンティティの作業負荷管理 | |
US8458696B2 (en) | Managing process migration from source virtual machine to target virtual machine which are on the same operating system | |
JP3707728B2 (ja) | コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品 | |
EP3008580B1 (en) | Distributed lock management in a cloud computing environment | |
EP2002343B1 (en) | Multi-cache cooperation for response output caching | |
JP4154893B2 (ja) | ネットワークストレージ仮想化方法 | |
US6775673B2 (en) | Logical volume-level migration in a partition-based distributed file system | |
US6772161B2 (en) | Object-level migration in a partition-based distributed file system | |
EP0479660B1 (en) | Distributed configuration profile for computing system | |
TW200425693A (en) | Dynamic service registry for virtual machines | |
JPH05181814A (ja) | オブジェクト指向コンピューティング・システム | |
CN111966482A (zh) | 边缘计算系统 | |
Grimshaw et al. | Architectural support for extensibility and autonomy in wide-area distributed object systems | |
Lewis et al. | Support for extensibility and site autonomy in the Legion grid system object model | |
CN112583760B (zh) | 一种对象存储的访问方法、装置、设备和计算机存储介质 | |
JPH11224203A (ja) | リモートオブジェクトコール方法、コンピュータ読み取り可能な記憶媒体、リモートオブジェクトコール処理方法、及び分散型コンピュータネットワークシステム | |
CN116760913B (zh) | k8s集群协议转换平台配置下发方法及系统 | |
WO2014209808A1 (en) | Virtualized components in computing systems | |
Bassi et al. | Mobile management of network files | |
Jansen et al. | Encapsulating distribution by remote objects | |
JPH10124319A (ja) | 並列分散処理システムおよびその方法 | |
CN116974988A (zh) | 分布式文件系统不停服务的扩容方法、计算机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031203 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040301 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050308 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050609 |
|
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: 20060214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |