JP3621432B2 - ローカルキャッシュマネージャを用いる方法と装置 - Google Patents
ローカルキャッシュマネージャを用いる方法と装置 Download PDFInfo
- Publication number
- JP3621432B2 JP3621432B2 JP09194593A JP9194593A JP3621432B2 JP 3621432 B2 JP3621432 B2 JP 3621432B2 JP 09194593 A JP09194593 A JP 09194593A JP 9194593 A JP9194593 A JP 9194593A JP 3621432 B2 JP3621432 B2 JP 3621432B2
- Authority
- JP
- Japan
- Prior art keywords
- handle
- cache manager
- client
- extended
- program
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【産業上の利用分野】
本発明は、分散型コンピュータシステム、クライアント・サーバ演算ならびにオブジェクト指向型プログラミングに関する。特に、クライアントプログラムを提供する方法および装置に関するもので、オブジェクトが利用されている各マシーンにおいて、ソフトウェアキャッシングの完全な利益が得られるようなオブジェクトに関する参照を利用したり、これと通信する能力が得られるものである。
【0002】
【技術的背景】
オブジェクト指向型システムにおいて、このオブジェクトとは、データおよびオペレーションを含むコンポーネントであり、これらのオペレーションは、データを操作するために呼出されるようになっている。これらオペレーションは、コールをオブジェクトに送ることによって、このオブジェクトに呼び出される。各オブジェクトはそれぞれタイプを有する。このオブジェクトのタイプが、そのタイプのオブジェクトで実行できるオペレーションを規定する。オブジェクトオペレーションはオブジェクト自身から独立して実行される。さらに、1つのオブジェクトタイプによって、他のオブジェクトタイプ用に規定されると共に実行されるオブジェクトのオペレーションを禁止することが可能となる。これらオブジェクト指向型設計およびプログラム技術に関する更に詳細な説明は、Prentic−Hall社より1988年に発行されたBertrand Mayer(バートランドメイヤー)著による「Object−oriented Software Construction (オブジェクト指向型ソフトウェア設計)」に記載されている。
【0003】
代表的なクライアント・サーバ演算システムにおいては、一連のコンピュータが設置されており、これらコンピュータ相互は、コンピュータ間を接続しているネットワークを介して通信することができる。これらコンピュータの幾つかは、サービスの提供者として作用するか、または他のコンピュータに対する機能提供者として作用する。このようなサービスまたは機能の提供者は「サーバ」として知られており、これらサービスまたは機能の顧客は、「クライアント」と呼ばれている。また、クライアント・サーバモデルは、同一コンピュータ上で動作している個々のプログラムが、ある保護されたメカニズムを介して互いに通信すると共に、機能の提供者および顧客として動作すると概括することができる。
【0004】
クライアント・サーバモデルによるオブジェクト指向型分散システムでは、オブジェクト指向型インターフェイスをこれらクライアントに提供するサーバが存在する。それらのサーバは、データおよびこれと組合わされたソフトウェアから成るオブジェクトをサポートする。クライアントは、それらのオブジェクトにアクセスすると共に、そのオブジェクトに関するコールを実行してもよい。これらのコールはクライアントからサーバへ転送され、サーバでオブジェクトに組合わされたソフトウェアを介して実行される。これらコールの結果が、次に、クライアントに送り戻される。
【0005】
クライアントプログラムは、オブジェクトハンドル手段によって特定のオブジェクトに参照を付すことができる。この「オブジェクトハンドル」とは、オブジェクトを位置決めする方法(ターゲットオブジェクト)およびこのオブジェクトのをコールを実行する方法を与える識別子である。一般に、クライアントプログラムは、動作の開始時に他のプログラムまたは動作中のシステムの核によってオブジェクトハンドルが与えられる。所定のクライアントプログラムが特定のオブジェクトを参照するオブジェクトハンドルを有する場合に、このクライアントプログラムはこのオブジェクトハンドルのコピーを他のクライアントプログラムへ渡すことができる。その第2のクライアントプログラムはオブジェクトにアクセスするためにこのオブジェクトハンドルを用いることができる。
【0006】
これらオブジェクトハンドルは種々の方法で実現できる。例えば、1つの既知のシステムは2つのコンポーネントから成るオブジェクトハンドルを利用する。コンポーネントAはサーバのネットワークアドレスであり、コンポーネントBはこのサーバに関するターゲットオブジェクトの識別子である。オブジェクト呼出しが行われると、クライアントはこのオブジェクト呼出しをコンポーネントAによって特定されたネットワークアドレスへ送ると共に、コンポーネントBによって特定された識別子を送る。次に、サーバはコンポーネントBを用いて呼出されている特定のオブジェクトを識別する。他のシステム、即ちエメラルド(Emerald)システムでは、同様に2つのコンポーネントから成るオブジェクトハンドルを利用する。「オブジェクト識別子」と呼ばれる第1のコンポーネントはそのオブジェクトに対する独特な識別子として機能する整数値である。「フォワードアドレス」と呼ばれる第2のコンポーネントは、オブジェクトが最近まで存在しているネットワークアドレスについてのヒントが包含されている。エメラルドクライアントがオブジェクトと通信を所望する場合には、このオブジェクトの現在のネットワークアドレスを決定する必要がある。1988年発行でACM Transactions on Computer Systemsの「 Fire−Grained Mobility in the Emerald System」の第109−133頁、Eric Jul、Henry Levy, Norman HutchinsonおよびAndrew Black 著を参照のこと。他のシステムでは、これらオブジェクトハンドルに対して他の種々のフォーマットを利用している。これらオブジェクトハンドルは、本明細書では、「シンプルオブジェクトハンドル」として特徴付けられると共に、これら種々のフォーマットは、以下に説明してあるように、本発明とは無関係である。
【0007】
これら「シンプルオブジェクトハンドル」は、分散型システムによってソフトウェア「キャッシング」の完璧な利益が得られるようにするためには、適当なものではない。システムの性能を改善するために「ソフトウェアキャッシュ」が多くのオペレーティングシステムに利用されている。例えば、ファイルキャッシングは、ディスクブロックの内最も最近にアクセスしたもののいくつかをメインメモリ中に保存することによって実現される。ファイルキャッシングは同じデータをディスクからフェッチするときより5〜10倍も速く提供することができる。このソフトウェアキャッシングは、分散型システムにおいても同様の効率が得られる。このキャッシング技術を利用して、クライアントはこのサーバと直接通信しせずに、むしろキャッシュマネージャプログラムと通信する。このキャッシュマネージャプログラムは、一般に、それ自身用のマシーンで動作するものである。このキャッシュマネージャは、サーバの状態の一部分を反映させた内部状態を維持するように実行するので、キャッシュマネージャが、このサーバと通信する必要性なく、クライアントのリクエストに応答することができる。この技術によって、実行されるべきクライアントのオペレーションのための時間を減少させることができ、サーバによって実行すべきオペレーションの数も減少できる。
【0008】
【発明が解決しようとする課題】
このようなソフトウェアキャッシングをオブジェクト指向型分散型システムで実現でき、ここではオブジェクトを利用してキャッシングが実行される。しかしながら、「シンプルオブジェクトハンドル」の限定条件のために、クライアントマシーンレベルでのキャッシングの利益が、或る状況の下ではなくなることがある。例えば、1つのマシーンで動作しているクライアントプログラムによって、「シンプルオブジェクトハンドル」を別のマシーンで動作している他のクライアントプログラムに送った場合は、いつでも問題が生じる。この問題点については後述する詳細な説明中に開示されている。一般に、第1のプログラムを利用していたオブジェクトハンドルが第1プログラムのマシーン上のキャッシュマネージャに対するポインタであり、ターゲットオブジェクト自身に対するポインタでは無いために、この問題が生じる。すなわち、この第1プログラムがそのオブジェクトハンドルを他のマシーンのプログラムに渡した場合に、受けとったプログラムは、このオブジェクトハンドルが何処を指示しているか知ることができない。このような状況の下では、以下の理由により非効率が発生してしまう。その理由は、ターゲットオブジェクトのオペレーションの受信中のプログラムの呼出しによって、受信中のプログラムのマシーンのキャッシュマネージャを呼び出すか、またはむしろ、オブジェクトハンドルを受信中のプログラムへ送信したプログラムのマシーンにおけるキャッシュマネージャの呼び出しが行われる。この不都合は状況によってローカルマシーンキャッシングによる利益が完全に無効になる。本発明はこのような問題点を、受信中のプログラムにターゲットオブジェクトに対する追加的な参照を与える送信中のプログラムを持つことによって解決するものである。
【0009】
従って、本発明の目的は、オブジェクト指向型の分散型コンピュータシステムにおいて、ソフトウェアキャッシングサービスを可能な限り効果的に利用できる手段を提供することである。
【0010】
【課題を解決するための手段】
従って、本発明によれば、増大されたオブジェクトハンドル(実施例中では、「拡張されたキャシャブルハンドル」と呼ぶ)を有する方法および装置を用意している。この拡張されたオブジェクトハンドルによってクライアントに以下の能力が得られる。即ち、クライアントはそれ自身のマシーンで動作させているキャッシュマネージャを自動的に選択できる(必要に応じて選択する)。また、このマシーンが、異なった種類のオブジェクトをキャッシュ処理する特定化する数種類のキャッシュマネージャを有するならば、この拡張されたキャシャブルハンドルは、ターゲットオブジェクトの実際の特性に基づいて、キャッシュマネージャの自動選択が実行できる。ローカルキャッシュマネージャが利用できない場合には、受信中のプログラムはターゲットオブジェクトに直接アクセスできる能力を有し、これは送信中のプログラム用のマシーンに対して参照作業を行わないでも実現する。
【0011】
また、本発明によれば、クライアントプログラムに、キャッシュマネージャおよびターゲットオブジェクトに対する参照が包含されている拡張されたオブジェクトハンドルを受信するような方法が与えられている。また、受信中のクライアントプログラムには、この拡張されたオブジェクトハンドルを変更できる能力が与えられている。すなわち、これを受信したキャッシュマネージャ参照を、受信中のプログラムのマシーン上のローカルマネージャに対する参照で差替えるか、またはターゲットオブジェクト自身に対する参照で差替えるかによって変更できる。このことによって、受信中のクライアントプログラムに、変更した拡張型のオブジェクトハンドルを利用できる能力が与えられ、これによりターゲットオブジェクトのオペレーションを効率的に呼び出すことができる。
【0012】
本発明の一実施例においては、前述した増大されたオブジェクトハンドルは拡張されたキャッシャブルハンドルと呼ばれており、このハンドルにはターゲットオブジェクトに対する参照が包含されており、このターゲットハンドルはバックハンドルと呼ばれ、更に、追加の参照が包含されている。これら追加の参照はフロントハンドルおよびキャッシュサービスネームと呼ばれる。この拡張されたキャッシャブルハンドルを受信するクライアントプログラムは、ローカルマシーンネーミング(名称化)サービスを利用して、この拡張されたキャシャブルハンドルのキャッシュサービスネーム部分を、このマシーン上のキャッシュマネージャ(即ち、「ローカル」キャッシュマネージャ)上にマッピングする。このローカルキャッシュマネージャは、拡張されたキャッシャブルハンドルのバックハンドル部分によって表示されたターゲットオブジェクトの種類をキャッシングするために有効なものである。次にこのクライアントプログラムはこのバックハンドルを識別したキャッシュマネージャに与えると共に、キャッシュマネージャがそのためのキャッシングサービスを与えるように要求する。このキャッシュマネージャがそのようなサービスを提供できる場合に、キャッシュマネージャ中のローカルオブジェクトを参照するハンドルを戻すようになり、更に、クライアントプログラムは、これを新規なフロントハンドルとして利用する。次に、このクライアントプログラムによって利用するための新規な拡張型キャッシャブルハンドルを構築する。これはバックハンドルとキャッシュサービスネームとを組合わせることによって実現し、これは元来、上述の新規なフロントハンドルを受信する。キャッシュマネージャが識別されたり、または識別されたキャッシュマネージャがこのキャッシングサービスを実行することを拒否した場合、このクライアントプログラムは、この新規な拡張型キャシャブルハンドルを、単にバックハンドルをフロントハンドルにコピーするだけで構築する。
【0013】
また、他の実施例によれば、この拡張されたオブジェクトハンドルを「シンプルキャッシャブルハンドル」と呼んでいる。このシンプルキャッシャブルハンドルにおいて、ターゲットオブジェクトハンドルをバックハンドルと称し、更に、フロントハンドルと称する僅か1つの追加の参照が存在する。この実施例では、この受信号のクライアントプログラムは、それ自身のマシーン上で適当なキャッシャブルマネージャを選択する固有の能力を持つ必要がある。これに関して、この選択作業は、本例においては自動的に実行される。しかしながら、このローカルキャッシュマネージャを選択した実施例においては、これらフロントおよびバックハンドルを利用した後続の手順が、他の実施例で同一なものとなる。
【0014】
【実施例】
表記法および用語集
以下の詳細な説明を、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順によって表現することができる。これらの手順の記載および表現方法は、当事者によって利用される手段であり、この手段によって作業の本質を他の当業者に最も効果的に伝えることができる。
一般、本明細書において、手順としては、所望の結果を導出するためのステップの自己完結型のシーケンスが考えられる。これらステップは、物理量の物理的な操作が必要となるステップである。通常、必ずしも必要ではないが、これら物理的な量は、電気的または磁気的信号の形態をとり、これら信号は記憶したり、伝送したり、結合したり、比較したり、または操作したりできるものである。通常の利用法の理由により、原理的には、これら信号をビットや、値や、エレメントや、記号や、文字や、期間や、数量等として参照することが望ましいものである。しかしながら、これらすべて用語および同様な用語を適当な物理的な量と組合わせて用いるべきで、および単にこれら量に与えられた便利なラベルとなる。
【0015】
更に、実行された操作を場合によっては、人間のオペレータによって行われる精神的なオペレーションである例えば加算や比較のような用語で呼ばれる。人間のオペレータは必要ではなく、多くの場合において好ましくない。本明細書で発明の一部として記載したオペレーションは全てマシーンオペレーションである。本発明のオペレーションを実行するための有用なマシーンには、汎用のディジタルコンピュータや類似のデバイスが包含されている。
また、本発明は、これらオペレーションを実行する装置に関するものである。本発明の装置は、所望の目的のために特に構成されており、これには、汎用のコンピュータが具備されている。このコンピュータは、これに記憶されたコンピュータプログラムによって選択的に作動すると共に変更されるものである。本例で表された手順は、特定のコンピュータや他の装置に固有のものではない。本例で記載された技術に基づいて書かれたプログラムで、種々の汎用マシーンを利用できる。または、所望の方法のステップを実行するための更に特別設計された装置を構築することによって、更に便利なものとなる。これらマシーンの種々のものに必要な構成は、以下の記載から明らかとなる。
以下の記載では、ローカルマシーンキャッシングの種々の利点を改善することができる方法によって、オブジェクトと通信できる能力と、オブジェクトを参照して利用する能力とを有するクライアントプログラム間の装置および方法が説明されている。以下の記載では、説明のために特殊なデータおよび構造が開示されており、これによって本発明の全体の理解を助けている。しかしながら、本発明を特別な詳しい情報なしで実現できることは当業者にとって明白である。また他の実施例では、周知のシステムがブロックダイヤグラムや概略的な形態で示されており、これによって不必要に本発明を不明確なものにしないようにする。
【0016】
先ず、図1のブロックダイヤグラムに、分散型コンピュータシステムの代表的なクライアント/サーバが開示されている。ここではクライアントとサーバとはそれぞれ異なったマシーンに存在しており、これら両者は、オブジェクトを利用して実行されるキャッシングを採用している。サーバプログラム12は「オブジェクト−O2」14を実行するもので、このオブジェクト−O2は「ハンドル−H2」16によって識別される。また、キャッシュマネージャ22は「オブジェクト−O1」24を実行し、これは「ハンドル−H1」26によって識別される。このキャッシュマネージャ22の独特の義務は、オブジェクト−O2 14のキャッシングを支持することである。キャッシングの利益を確保しながら、このオブジェクト−O2にアクセスを望むクライアントは、キャッシュマネージャ22を指示するハンドル−H126を利用する。クライアントによってこのハンドル−H126のオペレーションを発行する場合に、これがキャッシュマネージャ22中のオブジェクト−O124に伝送される。次に、このキャッシュマネージャ22は、それ自身のオペレーションを実行するか、またはそのハンドル−H2 16を利用してリクエストを、サーバプログラム12中に存在しているオブジェクト−O214へ転送する。クライアントプログラムA28は、このハンドル−H126のコピーをクライアントプログラムB30に渡すことができ、またこれらクライアントプログラム28と30とは、オブジェクトハンドル−H126を利用して、オブジェクトをアクセスする。しかしながら、それぞれ異なったマシーンに存在するクライアントプログラムが、同一のハンドル−H126を用いて、同一のオブジェクトをアクセスしようとする場合に複雑になる。
【0017】
図2を参照しながら説明する。マシーンM120のクライアントプログラム28、30が、そのハンドルH126をマシーンM334のクライアントプログラムC32に渡すと、マシーンM334のクライアントプログラムC32はマシーンM120のキャッシュマネージャ22を利用する。この状況では、キャッシングの種々の利点を損なうようになると共に、クライアントプログラムC32がサーバプログラム12を直接アクセス出来る場合よりも、実際上能率が低下してしまう。マシーンM334のクライアントプログラムは、常時、マシーンM334上を動作するキャッシュマネージャを通過することが好ましいものである。
【0018】
本発明の以下の記載にはこの問題点に対する2つの解決法が開示されている。第1の解決法の一つの実施例は、オブジェクトハンドルを受信するクライアントプログラムが、自分自身のマシーンの何れのキャッシュマネージャを各オブジェクト用に利用するかを前もって知った場合に応用するものである。本発明の他の好適な実施例では、適当なキャッシュマネージャの自動的な選択が実行できるようにこの第1解決法を拡大する。これら2つの解決法において、利用されたシンプルオブジェクトハンドルの正確なフォーマットは、本発明に対しては重要なことではない。両方の解決メカニズムは、どのような種類のシンプルオブジェクトハンドルかのシステムで常に利用されているかに基づくものである。例えば、エメラルドシステムにおいては、シンプルオブジェクトハンドルがエメラルドの整数識別子および前進アドレスを含み、一方、上述した他の例では、このシンプルオブジェクトハンドルがネットワークアドレスや関連したオブジェクト識別子を含む。
【0019】
この第1の解決法には、「シンプルキャッシャブルハンドル」と称される新しい種類のオブジェクトハンドルが設定されており、このシンプルキャッシャブルハンドルは、シンプルオブジェクトハンドルより多くの情報を含むように設計されている。この結果、適切なキャッシングが利用できる。シンプルキャッシャブルハンドルの表示は2つの部分より成り、これら2つの部分は、それら自身がシンプルオブジェクトハンドルである。このシンプルオブジェクトハンドルの第1部分が「フロントハンドル」と呼ばれている。通常、このフロントハンドルによって、ローカルマシーン上のキャッシュマネージャ(ローカルキャッシュマネージャと称す)を指示する。また、このシンプルキャッシャブルハンドルの第2部分は、「バックハンドル」と呼ばれており、これは下に存在するサーバオブジェクト(ターゲットオブジェクト)を常時指示する。また、図3では、典型的なクライアント・サーバ構造が図示されており、ここでは、クライアントプログラムAとB28、30がマシーンM130に存在し、クライアントプログラムC32がマシーンM334に存在し、さらに、サーバプログラム12がマシーンM210に存在している。この図示の例において、クライアントプログラムAとB28、30が表されており、各々には、シンプルキャッシャブルハンドル58、59が設けられている。開示したシンプルキャッシャブルハンドル58、59には、フロントハンドル60、61とバックハンドル52、53とが設けられている。これらフロントハンドル60、61はキャッシュマネージャC154中のオブジェクトO156を指示し、このキャッシュマネージャはバックハンドル52を利用してマシーンM210上のサーバプログラム12中に位置するオブジェクトO250を指示する。また、クライアントプログラムAとB28、30は、これらのシンプルキャッシャブルハンドルのバックハンドル52、53部分を利用して、必要に応じてオブジェクトO250を直接指示する。マシーンM334上のクライアントプログラムC32はシンプルキャッシャブルハンドル66をも有する。しかしながら、シンプルキャッシャブルハンドル66のフロントハンドル68は、マシーンM120のクライアントプログラムA、B28、30に表されたシンプルキャッシャブルハンドル58、59のフロントハンドル60、61とは異なるものである。このシンプルキャッシャブルハンドル66のフロントハンドル68は、マシーンM334上に位置したキャッシュマネージャC362中のオブジェクトO364を指示する。このようなシンプルキャッシャブルハンドルを利用した例において、通常、シンプルキャッシャブルハンドル上のオペレーションを、フロントハンドルのオペレーション内に向けている。1つのプログラム(受信用プログラムと称す)が、他のプログラムからシンプルキャッシャブルハンドルを受信する状況の下では、以下の動作が行われる。
【0020】
1.フロントハンドルをチェックして、このハンドルが、前述した受信用プログラムが設置してあるマシーンと同一のマシーン上のキャッシュマネージャを指しているかどうかを決定する。もし、指していれば、受信したシンプルキャッシャブルハンドルのフロントハンドルを利用すると共に、これ以上チェックを行わず、さらに残りの動作がスキップされる。
【0021】
2.フロントハンドルが、受信用のプログラムが設置されたマシーンと同一のマシーンのキャッシュマネージャを指示しない場合には、このマシーンのキャッシュマネージャを選択する(即ち、ローカルキャッシュマネージャである)。この選択動作は、受信中のオブジェクトハンドルとは独立した静止情報に基づいて実行しなければならない。例えば、ローカルキャッシュマネージャをオブジェクトの予期されたタイプのものに基づいて選択したことが考えられる。
【0022】
3.選択されたローカルキャッシュマネージャがシンプルキャッシャブルハンドルのバックハンドル部分に与えられると共に、受信用プログラムに対するキャッシングを実行するように要求する。
【0023】
4.この選択されたローカルキャッシュマネージャによって、キャッシュマネージャ中のローカルオブジェクトを参照するハンドルが戻されると共に、このハンドルはこのマシーン上のシンプルキャッシャブルハンドル中のフロントハンドルとなる。このローカルキャッシュマネージャは、下に存在するオブジェクトを参照する以前に創作されたオブジェクトを再び利用することができ、または、受信用プログラム向きのこのキャッシュオブジェクトを創作することもできる。
【0024】
5.次に、この受信用プログラムによって新たなシンプルキャッシャブルハンドルが構築され、このハンドルはローカルキャッシュマネージャプログラムからのフロントハンドルと、受信用プログラムへ送信したバックハンドルとから構成される。
【0025】
また、上述のステップ2〜5まで、すべて失敗すればこの受信用プログラムは、バックハンドルを単にフロントハンドルとして使用する。従って、所定のマシーンが適当なキャッシュマネージャを有しない場合、またはこのキャッシュマネージャが協動しない場合には、受信用プログラムは、以下の条件であったとしても下に存在するサービスと未だ通信することが可能となる。即ち、ローカルマシーン上にキャッシングの利益が存在しないのみならず、図2で示したように送信用マシーン上にキャッシュマネージャを不必要に使うことによって生じる欠点が存在しなくても可能となる。この受信用プログラムによって、シンプルキャッシャブルハンドルを他のアプリケーションプログラムへ再び送信した場合に、このアプリケーションは、それ自身のマシーンの適当なキャッシュマネージャとコンタクトを取る機会を再び持つようになる。
【0026】
要約すると、シンプルキャッシャブルハンドルは、常に、同一の下側に存在するオブジェクトを参照するように変更されるオブジェクトのカテゴリであるが、これらのハンドルを他のアプリケーションプログラムへ送信した時は、そのハンドルを異なったキャッシュマネージャを利用するように再び仕向けられる。フロントハンドルは変更可能であるが、バックハンドルは一定のままである。
【0027】
上述した本発明の択一的な実行には、これには、どのキャッシュマネージャがそれを利用することを望んでいるかを決定するシンプルキャッシャブルハンドルを受信するプログラムを必要とする欠点がある。しかしながら、マシーンには、異なった種類のオブジェクトを、オブジェクトの位置または、利用しているキャッシングアルゴリズムに基づいて特定化している数種類のキャッシュマネージャが設けてある。従って、本発明の一実施例では、「拡張されたキャッシャブルハンドル」と称する新しい種類のオブジェクトハンドルを採用している。この新しいオブジェクトハンドルによって、ローカルキャッシュマネージャの自動的な選択が、ターゲットオブジェクトの実際の特性に基づいて実行できるように設計されている。
【0028】
この拡張されたキャッシャブルハンドルの表示は3つの部分より構成されており、これら部分の2つは前述したシンプルオブジェクトハンドルである。拡張されたキャッシャブルハンドルの第1部分は、「フロントハンドル」と呼ばれ、これは通常、ローカルマシーン上のキャッシュオブジェクトを指示する。また、このハンドルの第2部分は、「バックハンドル」と呼ばれ、これによって事実上下側に存在するオブジェクト(ターゲットオブジェクト)を指す。また、この拡張されたキャッシャブルハンドルの第3部分は、「キャッシュサービスネーム」または、単に「キャッシュネーム」と呼ばれる。このキャッシュネームによって、キャッシングサービスの種類を識別し、このサービスによってこの特定のオブジェクト用のキャッシングをどのように管理するかを理解する。前述したシンプルキャッシャブルハンドルの場合のように、拡張されたキャッシャブルハンドルは、転送中に変更できるオブジェクトハンドルのカテゴリであるので、その結果、これら拡張されたキャッシャブルハンドルは、常時、同一の下側に存在するオブジェクトを参照するようになるが、これらハンドルを他のアプリケーションプログラムへ転送した時は何時でも、異なったキャッシュマネージャを利用するために再び仕向けることができる。このフロントハンドルを変更できるが、バックハンドルおよびキャッシュサービスネームは一定のままである。
【0029】
一実施例において、拡張されたキャッシャブルハンドルが、下側に存在するオブジェクトが創作されたときに、サーバプログラムによって創生される。キャッシュサービスネームおよびバックハンドルがサーバプログラムによって規定され、またこのサーバプログラムによって、当所からフロントハンドルがバックハンドと等価となるようにセットされる。また、一実施例において、各マシーンによってネーミングサービスが得られる。このネーミングサービスによってキャッシュサービスネームからキャッシュマネージャプログラムへプログラムがマッピングされる。このキャッシュマネージャプログラムは、このマシーン上で動作されると共に、キャッシングの所定のスタイルを支持することが可能となる。キャッシュマネージャプログラムが開始されると、これらプログラム自身がこのネーミングサービスと一緒に、キャッシュサービスネームを特定のキャッシュマネージャプログラムに関連付ける用法で登録される。この結果、マシーンネーミングサービスを利用することによって、キャッシュマネージャプログラムをこのマシーンで動作するクライアントプログラムにより見つけることが可能となる。これら拡張されたキャッシャブルハンドルの利用が図4に表示されている。
【0030】
ここで、図4を参照しながら、クライアント・サーバの代表的な構成を説明する。ここでは、クライアントプログラムAとB28、30がマシーンM120に存在し、クライアントプログラムC32がマシーンM334上に存在し、更にマシーンプログラム12が、マシーンM210に存在する。この図4では、各々が拡張されたキャッシャブルハンドル70、71を有するクライアントプログラムA、B28、30が図示されている。これら拡張されたキャッシャブルハンドル70、71はフロントハンドル60、61と、バックハンドル52、53と、キャッシュサービスネーム(キャッシュネーム)76、77とを有している。これらキャッシュネーム76、77はクライアントプログラムA、B28、30によって利用されて、ネーミングサービス80からキャッシュマネージャC154へのポインタを得ていた。次に、クライアントプログラムAとB28、30はキャッシュマネージャC154と通信しており、これはバックハンドル52、53を送信し、フロントハンドル60、61を応答としてそれぞれ受信する。これらフロントハンドル60、61によってキャッシュマネージャC154中のオブジェクトO156を指示する。このマネージャはバックハンドル51を利用して、マシーンM210のサービスプログラム12に存在するオブジェクトO250を得ている。また、クライアントプログラムA、B28、30は、それらの拡張されたキャッシャブルハンドルのバックハンドル52、53部分を用いて、必要に応じてオブジェクトO250を直接指示することができる。マシーンM334のクライアントプログラムC32は、また拡張されたキャッシャブルハンドル74を有している。しかしながら、このハンドル74のフロントハンドル68は、マシーンM120のクライアントプログラムAとB28、30に示した拡張されたキャッシャブルハンドル70、71のフロントハンドル60、61とは異なる。拡張されたキャッシャブルハンドル74のフロントハンドル68は、マシーンM334に存在するキャッシュマネージャC362におけるオブジェクトO364を指示する。このフロントハンドル68は、クライアントプログラムC32によって以下の方法によって得られた。即ち、最初、マシーンM334上のネーミングサービス82を利用して、キャッシュサービスネーム79をローカルキャッシュマネージャC362へのポインタに変える。次に、プログラムC32とキャッシュマネージャC362とを、バックハンドル55を送信すると共に、フロントハンドル68を応答として受信することにより通信していた。
【0031】
拡張されたキャッシャブルハンドルを利用した例において、通常、この拡張されたキャッシャブルハンドルのオペレーションは、フロントハンドルのオペレーションに向けられる。図5において、プログラムが他のプログラム 100からの拡張されたキャッシャブルハンドルを受信(即ち、受信用プログラム)する状況の下で、以下の動作が実行される。
【0032】
1.フロントハンドルをチェックして、このハンドルがステップ 102で受信用プログラムが載っているマシーンと同一マシーン上のキャッシュマネージャを指示するかどうかを決定する。ステップ104で指示(YES)であれば、受信した拡張型キャッシャブルハンドルのフロントハンドルを用いると共に、これ以上のテストを行わず、残余の動作をスキップする。
【0033】
2.若し、このフロントハンドルが同一マシーン 106のキャッシュマネージャを指示しない(NO)場合には、受信したプログラムはそのマシーンに関するネーミングサービスを利用して、拡張されたキャッシャブルハンドルのキャッシュサービスネーム部分をローカルキャッシュマネージャに対する参照部分にマッピングする。このローカルキャッシュマネージャは、この拡張型キャッシャブルハンドル 108によって表されたオブジェクトの種類を扱うように設置されている。
【0034】
3.このような参照がステップ 112で利用できる場合に、次に、受信用プログラムによって、表示されたローカルマネージャがこの拡張型キャッシャブルハンドルのバックハンドル部分と一緒に表されると共に、このキャッシュマネージャがステップ 114で受信用プログラム用のキャッシングを行うように要請する。
【0035】
4.このローカルキャッシュマネージャがそのようなサービスを提供することに同意した場合 116に、このキャッシュマネージャはハンドルを戻す。このハンドルによって、受信用プログラムに対するキャッシュマネージャ中のローカルオブジェクトを参照する。このプログラムは、それ自身の拡張されたキャッシャブルハンドル中にこの参照事項をフロントハンドルとして利用するようになる。このキャッシュマネージャによって、下側に存在するオブジェクトを参照する以前に創作されたオブジェクトを再度利用することができ、または、このキャッシュオブジェクトを受信用プログラム用に創作することもできる。
【0036】
5.次に、受信用プログラムによって、キャッシュマネージャから得たフロントハンドルをバックハンドルおよびキャッシュサービスネームに追加する。これらバックハンドルおよびキャッシュサービスネームは受信用プログラムへ送信されており、これにより訂正された拡張型キャッシャブルハンドル表示122を構成する。
【0037】
6.若し、この手順のステップ3または4で、NOならば、この受信用プログラムは、このバックハンドルを単に、フロントハンドル120として利用する。次に、所定のマシーンが適当なキャッシュマネージャ110を有しない場合、またはこのキャッシュマネージャが協動作業しなければ、受信用プログラムは依然として下側のオブジェクトと通信可能となる。これは、ローカルキャッシングの利益を損なうのみならず、他のマシーンと不必要に通信する不利益がなくても行う。受信用プログラムによって、この拡張型キャッシャブルハンドルが他のアプリケーションプログラムへ送信されると、このアプリケーションプログラムは、それ自身のマシーン上の適当なキャッシュマネージャとコンタクトを取る機会に恵まれる。
【0038】
拡張型キャッシャブルハンドルを利用した実施例およびシンプルキャッシャブルハンドルを利用した他の実施例の両者において、要求があった場合には、何時でもこれらのハンドルのすべてのコンポーネントを送信する。また拡張型キャッシャブルハンドルまたはシンプルキャッシャブルハンドルのいずれか一方を用いる本発明の他の実施例では、フロントハンドルの送信を回避することができる。この場合、受信用プログラムは常時、適当なフロントハンドルを見つける責任を負うものである。これは、上述した手順のいずれかのステップ1をスキップすることにより達成される。
【0039】
上述したように、本発明を好適な実施例を利用して説明したが、本発明は上述した実施例のみに限定されず、種々の変更を加え得ることは明白である。従って、上述の記載によって本発明の趣旨が限定されるものでなく、請求の範囲に記載された技術的思想に基づいて決められるものである。
【図面の簡単な説明】
【図1】従来のシンプルオブジェクトハンドルを利用したオブジェクト指向型の分散型システムのソフトウェアキャッシング方法を示す線図。
【図2】従来のシンプルオブジェクトハンドルを用いた場合の問題点を示す線図。
【図3】本発明のシンプルキャッシャブルハンドルを利用した分散型システムを示す線図。
【図4】同じく、拡張されたキャッシャブルハンドルを利用した分散型システムを示す線図。
【図5】本発明の一実施例の動作を示すフローチャート。
【符号の説明】
12サーバプログラム
14、24 オブジェクト
16、26、58、59、60、61ハンドル
22キャッシュマネージャ
28、30、C32クライアントプログラム
10、20、34 マシーン
62ローカルキャッシュマネージャ
Claims (2)
- 分散型演算環境の下でオブジェクト指向型プログラミングおよびソフトウェアキャッシング技術を用いるシステムにあって、オブジェクトハンドルを受信したクライアント(以下受信クライアントと言う)が、ターゲットオブジェクトの参照をする際、ローカルキャッシュマネージャを用いる方法であって、前記オブジェクトハンドルが、フロントハンドルとバックハンドルとを含められることによって拡張されたオブジェクトハンドルであり、
a)バックハンドルにターゲットオブジェクトへの参照を、フロントハンドルに第1キャッシュマネージャへの参照をそれぞれ含む拡張されたオブジェクトハンドルを受信する過程と、
b)前記第1キャッシュマネージャが前記受信クライアントとは同じマシーン上にはないが、その同じマシーン上に前記ターゲットオブジェクトのためにキャッシングサービスを行える第2キャッシュマネージャが存在する場合に、前記受信する過程で受信した拡張されたオブジェクトハンドルのフロントハンドルに含まれる前記第1キャッシュマネージャへの参照を、前記受信クライアントから見てローカルな第2キャッシュマネージャへの参照でもって置き替えることによって、新規な拡張されたオブジェクトハンドルを構成する過程と、
c)前記第1キャッシュマネージャが前記受信クライアントとは同じマシーン上になく、且つ、その同じマシーン上に前記ターゲットオブジェクトのためにキャッシングサービスを行えるキャッシュマネージャが存在しない場合に、前記受信する過程で受信した拡張されたオブジェクトハンドルのフロントハンドルに含まれる前記第1キャッシュマネージャへの参照を、前記受信する過程で受信した拡張されたオブジェクトハンドルのバックハンドルに含まれる前記ターゲットオブジェクトへの参照でもって置き替えることによって、新規な拡張されたオブジェクトハンドルを構成する過程と、
d)その新規な拡張されたオブジェクトハンドルのフロントハンドルを用いてターゲットオブジェクトの動作を呼び出す過程と
を備えることを特徴とする、ローカルキャッシュマネージャを用いる方法 - 分散型演算環境の下でオブジェクト指向型プログラミングおよびソフトウェアキャッシング技術を用いるシステムであって、オブジェクトハンドルを受信したクライアント(以下受信クライアントと言う)が、ターゲットオブジェクトの参照をする際、ローカルキャッシュマネージャを用いるようにした装置であって、前記オブジェクトハンドルが、フロントハンドルとバックハンドルとを含められることによって拡張されたオブジェクトハンドルであり、
a) 受信クライアントを含むコンピュータを備え、その受信クライアントには、バックハンドルにターゲットオブジェクトへの参照を、フロントハンドルに第1キャッシュマネージャへの参照をそれぞれ含む拡張されたオブジェクトハンドルを他のクライアントから受信する機能が含まれ、
b) 前記コンピュータには、前記第1キャッシュマネージャが前記コンピュータ上になく、且つ、前記コンピュータ上に前記ターゲットオブジェクトのためにキャッシングサービスを行える第2キャッシュマネージャが存在する場合に、前記受信した拡張されたオブジェクトハンドルのフロントハンドルに含まれる前記第1キャッシュマネージャへの参照を、前記コンピュータから見てローカルな第2キャッシュマネージャへの参照へと変更することによって、拡張されたオブジェクトハンドルを変化させる第1の論理手段が備えられ、
c) 前記コンピュータには、前記第1キャッシュマネージャが前記コンピュータ上になく、且つ、前記コンピュータ上に前記ターゲットオブジェクトのためにキャッシングサービスを行えるキャッシュマネージャが存在しない場合に、前記受信した拡張されたオブジェクトハンドルのフロントハンドルに含まれる前記第1キャッシュマネージャへの参照を、前記受信した拡張されたオブジェクトハンドルのバックハンドルに含まれる前記ターゲットオブジェクトそれ自体への参照へと変更することによって、拡張されたオブジェクトハンドルを変化させる第2の論理手段が備えられ、
それにより、前記受信クライアントが、変化させられた拡張されたオブジェクトハンドルのフロントハンドルを用いてターゲットオブジェクトの動作を呼び出せる
ことを特徴とする装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/858,788 US5287507A (en) | 1992-03-27 | 1992-03-27 | Method and apparatus for portable object handles that use local caches |
US858,788 | 1992-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0619791A JPH0619791A (ja) | 1994-01-28 |
JP3621432B2 true JP3621432B2 (ja) | 2005-02-16 |
Family
ID=25329187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09194593A Expired - Lifetime JP3621432B2 (ja) | 1992-03-27 | 1993-03-29 | ローカルキャッシュマネージャを用いる方法と装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5287507A (ja) |
JP (1) | JP3621432B2 (ja) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1337132C (en) * | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US6684261B1 (en) | 1993-07-19 | 2004-01-27 | Object Technology Licensing Corporation | Object-oriented operating system |
US5379432A (en) | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
US5455951A (en) * | 1993-07-19 | 1995-10-03 | Taligent, Inc. | Method and apparatus for running an object-oriented program on a host computer with a procedural operating system |
US5404529A (en) * | 1993-07-19 | 1995-04-04 | Taligent, Inc. | Object-oriented interprocess communication system interface for a procedural operating system |
US5530799A (en) * | 1993-12-17 | 1996-06-25 | Taligent Inc. | Rendering cache in an object oriented system |
US6119151A (en) * | 1994-03-07 | 2000-09-12 | International Business Machines Corp. | System and method for efficient cache management in a distributed file system |
US6708196B1 (en) | 1994-04-15 | 2004-03-16 | Microsoft Corporation | Method and system for caching presentation data |
US5608909A (en) | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
USRE44685E1 (en) * | 1994-04-28 | 2013-12-31 | Opentv, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system |
EP0684553B1 (en) * | 1994-05-26 | 2004-06-16 | Sun Microsystems, Inc. | Method and apparatus for generating and using short operation identifiers in object oriented systems |
TW252248B (en) | 1994-08-23 | 1995-07-21 | Ibm | A semiconductor memory based server for providing multimedia information on demand over wide area networks |
US5623699A (en) * | 1994-12-06 | 1997-04-22 | Thunderwave, Inc. | Read only linear stream based cache system |
US6061731A (en) * | 1994-12-06 | 2000-05-09 | Thunderwave, Inc. | Read only linear stream based cache system |
US5692180A (en) * | 1995-01-31 | 1997-11-25 | International Business Machines Corporation | Object-oriented cell directory database for a distributed computing environment |
US6009266A (en) * | 1995-03-22 | 1999-12-28 | Sun Microsystems, Inc. | Methods, apparatus and data structures for managing objects |
US5589897A (en) * | 1995-05-01 | 1996-12-31 | Stephen H. Sinclair | Method and apparatus for central visual field mapping and optimization of image presentation based upon mapped parameters |
US5892946A (en) * | 1995-09-12 | 1999-04-06 | Alcatel Usa, Inc. | System and method for multi-site distributed object management environment |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5848246A (en) * | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
US5987245A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
US6253282B1 (en) * | 1996-07-01 | 2001-06-26 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server with a client program cache |
US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US6038590A (en) * | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US5999972A (en) * | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
US5859973A (en) * | 1996-08-21 | 1999-01-12 | International Business Machines Corporation | Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system |
US6757729B1 (en) * | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
US5884316A (en) * | 1996-11-19 | 1999-03-16 | Microsoft Corporation | Implicit session context system with object state cache |
US5991795A (en) * | 1997-04-18 | 1999-11-23 | Emware, Inc. | Communication system and methods using dynamic expansion for computer networks |
US6256712B1 (en) | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
US6026413A (en) * | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6078743A (en) * | 1997-11-24 | 2000-06-20 | International Business Machines Corporation | Generic IDE interface support for scripting |
US6226750B1 (en) | 1998-01-20 | 2001-05-01 | Proact Technologies Corp. | Secure session tracking method and system for client-server environment |
US6385642B1 (en) | 1998-11-03 | 2002-05-07 | Youdecide.Com, Inc. | Internet web server cache storage and session management system |
US6266774B1 (en) | 1998-12-08 | 2001-07-24 | Mcafee.Com Corporation | Method and system for securing, managing or optimizing a personal computer |
US6591337B1 (en) | 1999-04-05 | 2003-07-08 | Lsi Logic Corporation | Method and apparatus for caching objects in a disparate management environment |
US6513112B1 (en) * | 1999-07-26 | 2003-01-28 | Microsoft Corporation | System and apparatus for administration of configuration information using a catalog server object to describe and manage requested configuration information to be stored in a table object |
US7337174B1 (en) | 1999-07-26 | 2008-02-26 | Microsoft Corporation | Logic table abstraction layer for accessing configuration information |
US20020095528A1 (en) * | 2000-09-29 | 2002-07-18 | International Business Machines Corporation | Method and system for operating a client in a client/server system |
US7921033B2 (en) * | 2001-01-29 | 2011-04-05 | Microsoft Corporation | System and method for high-density interactive voting using a computer network |
US20020184507A1 (en) * | 2001-05-31 | 2002-12-05 | Proact Technologies Corp. | Centralized single sign-on method and system for a client-server environment |
US7203948B2 (en) * | 2001-09-29 | 2007-04-10 | Siebel Systems, Inc. | Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications |
US7885996B2 (en) * | 2001-09-29 | 2011-02-08 | Siebel Systems, Inc. | Method, apparatus, and system for implementing notifications in a framework to support web-based applications |
US7146617B2 (en) * | 2001-09-29 | 2006-12-05 | Siebel Systems, Inc. | Method, apparatus, and system for implementing view caching in a framework to support web-based applications |
US8359335B2 (en) | 2001-09-29 | 2013-01-22 | Siebel Systems, Inc. | Computing system and method to implicitly commit unsaved data for a world wide web application |
US6907451B1 (en) * | 2001-09-29 | 2005-06-14 | Siebel Systems, Inc. | Method, apparatus, and system for immediate posting of changes in a client server environment |
US7461119B2 (en) * | 2001-09-29 | 2008-12-02 | Siebel Systems, Inc. | Method, apparatus, and system for managing status of requests in a client server environment |
US7870492B2 (en) * | 2001-10-02 | 2011-01-11 | Siebel Systems, Inc. | Method, apparatus, and system for managing commands in a client server environment |
GB2381154B (en) * | 2001-10-15 | 2004-06-30 | Jacobs Rimell Ltd | Object distribution |
JP4019817B2 (ja) * | 2002-06-28 | 2007-12-12 | 株式会社日立製作所 | 分散オブジェクト制御方法およびその実施システム |
US8612404B2 (en) * | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
WO2004012379A2 (en) * | 2002-07-30 | 2004-02-05 | Deepfile Corporation | Method and apparatus for managing file systems and file-based data storage |
US8417678B2 (en) * | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
US7805449B1 (en) | 2004-10-28 | 2010-09-28 | Stored IQ | System, method and apparatus for enterprise policy management |
US7970823B2 (en) * | 2004-09-02 | 2011-06-28 | Broadway Technology, Llc | System for sharing data objects among applications |
US7546335B2 (en) | 2004-09-02 | 2009-06-09 | Broadway Technology, Llc | System and method for a data protocol layer and the transfer of data objects using the data protocol layer |
US7844582B1 (en) | 2004-10-28 | 2010-11-30 | Stored IQ | System and method for involving users in object management |
US8510331B1 (en) | 2004-10-28 | 2013-08-13 | Storediq, Inc. | System and method for a desktop agent for use in managing file systems |
US7587705B2 (en) * | 2005-04-29 | 2009-09-08 | Sap (Ag) | Calls and return calls using client interfaces |
US7634771B2 (en) * | 2005-04-29 | 2009-12-15 | Sap (Ag) | Object generation in packages |
US7669181B2 (en) * | 2005-04-29 | 2010-02-23 | Sap (Ag) | Client interfaces for packages |
US8601443B2 (en) * | 2008-02-12 | 2013-12-03 | International Business Machines Corporation | Method and system for correlating trace data |
CN108089888B (zh) * | 2016-11-21 | 2019-09-13 | 杨正 | 一种基于文件系统的应用运行方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
JPH01502861A (ja) * | 1987-09-04 | 1989-09-28 | ディジタル イクイプメント コーポレーション | 多重転送プロトコルを支援するデジタル処理システム用回路網内のセッション制御 |
-
1992
- 1992-03-27 US US07/858,788 patent/US5287507A/en not_active Expired - Lifetime
-
1993
- 1993-03-29 JP JP09194593A patent/JP3621432B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0619791A (ja) | 1994-01-28 |
US5287507A (en) | 1994-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3621432B2 (ja) | ローカルキャッシュマネージャを用いる方法と装置 | |
KR100210208B1 (ko) | 객체 지향 환경에서 지속성의 속성들을 인에이블링하는 방법 및 장치 | |
US6877025B2 (en) | Integrated JSP and command cache for web applications with dynamic content | |
JP4035872B2 (ja) | ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム | |
JP3041528B2 (ja) | フアイル・システム・モジュール | |
US5946685A (en) | Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism | |
US7526479B2 (en) | Configuration manager in enterprise computing system | |
US5440744A (en) | Methods and apparatus for implementing server functions in a distributed heterogeneous environment | |
JP3489123B2 (ja) | アプリケーション結合方法 | |
AU638138B2 (en) | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications | |
US5619710A (en) | Method and apparatus for object-oriented invocation of a server application by a client application | |
US7620617B2 (en) | Abstraction layer for presenting configuration information to a caller | |
US6189000B1 (en) | System and method for accessing user properties from multiple storage mechanisms | |
US6981105B2 (en) | Method and apparatus for invalidating data in a cache | |
US7702800B2 (en) | Detecting and handling affinity breaks in web applications | |
US5903753A (en) | Name space registry with backward compatibility for older applications | |
JP4629371B2 (ja) | キャッシュエントリを無効化する汎用依存関係モデル | |
US20140089474A1 (en) | System and method for managing multiple server node clusters using a hierarchical configuration data structure | |
EP0713183A2 (en) | Network independent file shadowing | |
US20060143389A1 (en) | Main concept for common cache management | |
JP2005522787A5 (ja) | ||
US20020116583A1 (en) | Automatic invalidation dependency capture in a web cache with dynamic content | |
US20020111992A1 (en) | JSP composition in a cache for web applications with dynamic content | |
US6351751B1 (en) | Persistent storage managers for configuring client/server environments | |
US5954795A (en) | Method of and apparatus for reducing server and network load with client-side data structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040817 |
|
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: 20041109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041118 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071126 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 9 |