(57)【要約】  ネットワーク化されたコンピュータ・システムにおいて、区分化されたプロキシは、オブジェクトが遠隔呼び出しされる都度該オブジェクトに対する送信情報を判断する手間に煩わされずに、遠隔呼び出しをオブジェクトに迅速に送ることができるようにする接続情報のキャッシュを、各プロキシが含むように定義される。複数のコンピュータ・システム中に、オブジェクトの複数のコピーが生成される。このとき、オブジェクトの各コピーをポイントする区分化プロキシが生成される。これら区分化プロキシは、状態データを同期させる手間をかけることなくこれらのオブジェクト・コピーに迅速にアクセスすることを可能にする。区分化プロキシ内に接続情報をキャッシュ格納することにより、コンピュータ・システムは、各々の呼出しについて遠隔オブジェクトへの接続情報を判断するというパフォーマンス上のペナルティを被ることなく、遠隔オブジェクトを呼び出すことができる。
2008536229.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク化されたコンピュータ・システムであって、
ネットワークを介して結合された複数のコンピュータ・システムであって、そのそれぞれが所定オブジェクトのコピーを包含する、複数のコンピュータ・システムと、
複数の区分化されたプロキシを含む第一コンピュータ・システムであって、各プロキシが前記所定オブジェクトの相異なるコピーを参照し、各区分化されたプロキシは、前記所定オブジェクトの対応するコピーにどのようにアクセスするかに関する接続情報を包含するキャッシュにアクセスする、第一コンピュータ・システムと
を備えるコンピュータ・システム。
【請求項２】
前記キャッシュは、オブジェクト要求を前記所定オブジェクトの前記対応するコピーに送るための接続情報を包含する、請求項１に記載のネットワーク化されたコンピュータ・システム。
【請求項３】
前記キャッシュは、オブジェクト・デリゲートを対応する区分域表に関連付ける、請求項１又は２に記載のネットワーク化されたコンピュータ・システム。
【請求項４】
前記対応する区分域表は、区分域を前記複数の区分化されたプロキシの対応する一つに関連付ける、請求項３に記載のネットワーク化されたコンピュータ・システム
【請求項５】
前記所定オブジェクトの各コピーは、ただ一種類の要求を処理し、前記所定オブジェクトのコピーの間で状態データを同期させる一切の必要性を排除する、請求項１〜４のいずれかに記載のネットワーク化されたコンピュータ・システム。
【請求項６】
前記所定オブジェクトの前記コピーを生成し、対応する前記複数の区分化されたプロキシを生成する区分化プロキシ・メカニズムをさらに含む、請求項１〜５のいずれかに記載のネットワーク化されたコンピュータ・システム。
【請求項７】
遠隔オブジェクト呼び出しのためのコンピュータ実施の方法であって、
複数のコンピュータ・システムの中に所定オブジェクトのコピーを複数生成するステップと、
複数の区分化されたプロキシを生成するステップであって、各プロキシは前記所定オブジェクトの相異なるコピーを参照し、各区分化されたプロキシは、前記所定オブジェクトの対応するコピーにどのようにアクセスするかに関する接続情報を包含するキャッシュにアクセスする、ステップと
を含む方法。
【請求項８】
前記キャッシュは、オブジェクト要求を前記所定オブジェクトの前記対応するコピーに送るための接続情報を包含する、請求項７に記載の方法。
【請求項９】
前記キャッシュは、オブジェクト・デリゲートを対応する区分域表に関連付ける、請求項７又は８に記載の方法。
【請求項１０】
前記対応する区分域表は、区分域を前記複数の区分化されたプロキシの対応する一つに関連付ける、請求項９に記載の方法。
【請求項１１】
前記所定オブジェクトの各コピーはただ一種類の要求を処理し、前記所定オブジェクトのコピー間で状態データを同期させる一切の必要性を排除する、請求項７〜１０のいずれかに記載の方法。
【請求項１２】
前記所定オブジェクトの前記コピーを生成するステップと、対応する前記複数の区分化されたプロキシを生成するステップとをさらに含む、請求項７〜１１のいずれかに記載の方法。
【請求項１３】
（Ａ）オブジェクト要求を受信するステップと、
（Ｂ）前記複数の区分化されたプロキシのどれが前記オブジェクト要求に対応するのかを判定するステップと、
（Ｃ）前記オブジェクト要求を、（Ｂ）で判定された前記区分化されたプロキシに送るステップと、
（Ｄ）（Ｂ）で判定された前記区分化されたプロキシが、前記オブジェクト要求を、前記キャッシュに格納された前記接続情報を使って前記所定オブジェクトの対応するコピーに送るステップと
をさらに含む、請求項７〜１２のいずれかに記載の方法。
【請求項１４】
ネットワークを介して結合された複数のコンピュータ・システムを含むネットワーク化されたコンピュータ・システムにおける、遠隔オブジェクト呼び出しのためのコンピュータ実施の方法であって、該複数のコンピュータ・システムの各々は、所定オブジェクトのコピーを包含し、該ネットワーク化されたコンピュータ・システムは第一コンピュータ・システムをさらに含み、該第一コンピュータ・システムは、複数の区分化されたプロキシを包含し、各プロキシが前記所定オブジェクトの相異なるコピーを参照し、各区分化されたプロキシは前記所定オブジェクトの対応するコピーにどのようにアクセスするかに関する接続情報を包含するキャッシュにアクセスし、
（Ａ）オブジェクト要求を受信するステップと、
（Ｂ）前記複数の区分化されたプロキシのどれが前記オブジェクト要求に対応するのかを判定するステップと、
（Ｃ）前記オブジェクト要求を、（Ｂ）で判定された前記区分化されたプロキシに送るステップと、
（Ｄ）（Ｂ）で判定された前記区分化されたプロキシが、前記オブジェクト要求を、前記キャッシュに格納された前記接続情報を使って前記所定オブジェクトの対応するコピーに送るステップと
を含む、コンピュータ実施の方法。
【請求項１５】
（Ａ）複数の区分化されたプロキシを生成する区分化プロキシ・メカニズムであって、ネットワークを介して結合された複数のコンピュータ・システムにおいて、各プロキシは所定オブジェクトの相異なるコピーを参照し、該複数のコンピュータ・システムの各々は該所定オブジェクトのコピーを包含し、各区分化されたプロキシは、該所定オブジェクトの対応するコピーにどのようにアクセスするかに関する接続情報を含むキャッシュにアクセスする、メカニズムと、
（Ｂ）前記区分化プロキシ・メカニズムを担持するコンピュータ可読信号担持媒体と
を含むプログラム製品。
【請求項１６】
前記コンピュータ可読信号担持媒体は記録可能媒体を含む、請求項１５に記載のプログラム製品。
【請求項１７】
前記コンピュータ可読信号担持媒体は伝送媒体を含む、請求項１５に記載のプログラム製品。
【請求項１８】
前記キャッシュは、オブジェクト要求を前記所定オブジェクトの前記対応するコピーに送るための接続情報を含む、請求項１５〜１７のいずれかに記載のプログラム製品。
【請求項１９】
前記キャッシュは、オブジェクト・デリゲートを対応する区分域表に関連付ける、請求項１５〜１８のいずれかに記載のプログラム製品。
【請求項２０】
前記対応する区分域表は、区分域を前記複数の区分化されたプロキシの対応する一つに関連付ける、請求項１９に記載のプログラム製品。
【請求項２１】
前記所定オブジェクトの各コピーはただ一種類の要求を処理し、前記所定オブジェクトのコピーの間で状態データを同期させる一切の必要性を排除する、請求項１５〜１９のいずれかに記載のプログラム製品。
【請求項２２】
区分化プロキシ・メカニズムが、前記所定オブジェクトの前記コピーを生成し、対応する前記複数の区分化されたプロキシを生成する、請求項１５〜２１のいずれかに記載のプログラム製品。
【請求項２３】
コンピュータ・プログラムであって、該プログラムがコンピュータで実行されると、請求項１〜１３のいずれかに記載の前記方法を実施するようになっているプログラム・コード手段を含む、該コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータ・システムに関し、さらに具体的には、ネットワーク化されたコンピュータ・システムにおけるオブジェクトの遠隔呼び出しに関する。
【背景技術】
【０００２】
ネットワーク化されたコンピュータ・システムでは、いろいろなコンピュータが相互に交信できる。インターネットは、数百万台のコンピュータをともに連結する、ネットワーク化されたコンピュータ・システムの一例である。もちろん、他の種類のコンピュータ・ネットワークも数多くある。大方のコンピュータ・ネットワークの目的はコンピュータが相互交信できるようにすることである。コンピュータが交信するための一つの周知のやり方では、遠隔呼び出しというコンセプトが用いられる。
【０００３】
遠隔呼び出しとは、一つのコンピュータ・システムが別のコンピュータ・システムのオブジェクトを実行する（又は呼び出す）機能を言う。今日のネットワーク化されたコンピュータ・システムでは、オブジェクトの遠隔呼び出しはごく当たり前のことになっている、というのも、遠隔のオブジェクトを呼び出す機能によって、システムの拡張性、可用性及び柔軟性が向上するからである。遠隔呼び出しでは、通常、遠隔のオブジェクトを呼び出すため「プロキシ」として知られるオブジェクトが使われる。プロキシは、通常、必要とされるロジックは包含せず、単に、必要なロジックを包含する遠隔のオブジェクトをポイントする経路情報を含む「スタブ」である。従来の単純なシステムでは、第一コンピュータ・システム中のプロキシがコールされ、第二コンピュータ・システム中のオブジェクトを呼び出す。遠隔オブジェクトが単一の場合、この方法はうまく機能する。しかしながら、現今のネットワーク化されたコンピュータ・システムの多くは、他のコンピュータ・システム群のオブジェクトの複数のコピーを包含している。これらの複数コピーの状態を同期させる実行コストは高く、コピーの数が増すにつれシステム・リソースへの大きな負担となる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、コンピュータ・システムの「クラスタ」のコンセプトが普及してきた。近年のネットワーク化されたコンピュータ・システムには、複数のクラスタを含めることができる。複数クラスタの存在によって、オブジェクトの遠隔呼び出しはいっそう難しくなった、というのは、この場合、オブジェクトの範囲を単一クラスタの範囲よりも大きくする必要があるからである。これには、クラスタ群全体にわたってオブジェクトを同期させるための高度なスキームが必要となり、システム・リソースへの大きな負担となる。ネットワーク化されたコンピュータ・システム中の遠隔呼び出しのパフォーマンスを向上させる方法がなければ、コンピュータ業界は、複数クラスタが存在する場合に遠隔呼び出しを管理するための過大な手間に苦しみ続けることになろう。
【課題を解決するための手段】
【０００５】
第一の様態によれば、ネットワーク化されたコンピュータ・システムが提供され、該システムは；各々のシステムが所定オブジェクトのコピーを含む、ネットワークを介して結合された複数のコンピュータ・システムと；各プロキシが該所定オブジェクトの異なったコピーを参照する複数の区分化されたプロキシを含む第一コンピュータ・システムであって、各区分化されたプロキシは、特定オブジェクトの対応するコピーにどのようにアクセススするかについての接続情報を有するキャッシュにアクセスする、第一コンピュータ・システムと；を含む。
【０００６】
第二の様態によれば、遠隔オブジェクトを呼び出すコンピュータ実施の方法が提供され、該方法は；複数のコンピュータ・システムの中に所定オブジェクトの複数のコピーを生成するステップと；各プロキシが該所定オブジェクトの異なったコピーを参照する複数の区分化されたプロキシを生成するステップであって、各区分化されたプロキシは、特定オブジェクトの対応するコピーにどのようにアクセススするかについての接続情報を包含するキャッシュにアクセスするステップと；を含む。
【０００７】
第三の様態によれば、ネットワークを介して結合された複数のコンピュータ・システムを含むネットワーク化されたコンピュータ・システムにおける、遠隔オブジェクトを呼び出すコンピュータ実施の方法が提供され、該方法においては、複数コンピュータ・システムの各々は所定オブジェクトのコピーを包含し、該ネットワーク化されたコンピュータ・システムは、各プロキシが所定オブジェクトの異なったコピーを参照する複数の区分化されたプロキシを包含する第一コンピュータ・システムをさらに含み、各区分化されたプロキシは、所定オブジェクトの対応するコピーにどのようにアクセススするかに関する接続情報を包含するキャッシュにアクセスする。該方法は；（Ａ）オブジェクト要求を受信するステップと；（Ｂ）複数の区分化されたプロキシのどれが該オブジェクト要求に対応するかを判定するステップと；（Ｃ）（Ｂ）で判定された区分化されたプロキシにオブジェクト要求を送るステップと；（Ｄ）（Ｂ）で判定された区分化されたプロキシが、キャッシュ中に格納された接続情報を使って、オブジェクト要求を所定オブジェクトの対応するコピーに送るステップと；を含む。
【０００８】
第四の様態によれば、プログラム製品が提供され、該製品は；（Ａ）ネットワークを介して結合された複数のコンピュータ・システム中に、各プロキシが所定オブジェクトの異なるコピーを参照する複数の区分化されたプロキシを生成する区分化プロキシ・メカニズムであって、複数のコンピュータ・システムの各々は所定オブジェクトのコピーを包含し、各区分化されたプロキシは所定オブジェクトの対応するコピーにどのようにアクセススするかについての接続情報を包含するキャッシュにアクセスする、メカニズムと：（Ｂ）区分化プロキシ・メカニズムを担持するコンピュータ可読信号担持媒体とを含む。
【０００９】
ネットワーク化されたコンピュータ・システムにおいて、区分化されたプロキシは、望ましくは、その各々が、遠隔のオブジェクトを呼び出すごとにオブジェクトへの経路情報を判断する手間に煩わされることなく、遠隔呼び出しをオブジェクトへに迅速に送ることを可能にするする接続情報のキャッシュを含む。望ましくは、複数のコンピュータ・システムにおいてオブジェクトの複数のコピーが生成される。望ましくは、このときオブジェクトの各コピーをポイントする区分化されたプロキシが生成される。オブジェクトのこれらのコピーはその状態データを同期させる必要はない、というのは、これらは相異なる種類の要求を取り扱っており、従って同一の状態データにアクセスする必要はないからである。区分化されたプロキシは、望ましくは、その状態データを同期化する手間をかけずに、これらのオブジェクトのコピー迅速にアクセスすることを可能にする。しかして、該好適な実施形態は、複数のクラスタに及ぶことのある遠隔システムにおいて、複数のコピーの状態を同期させるというパフォーマンス上のペナルティのない、オブジェクトの複数コピーの利点を提供する。接続情報を区分化されたプロキシ内のキャッシュに格納することにより、望ましくは、コンピュータ・システムは、呼び出しごとに遠隔のオブジェクトにアクセスするための接続情報を設定するというパフォーマンス上のペナルティを被ることなく、遠隔オブジェクトを呼び出すことができる。
【００１０】
前述及び他の本発明の特質及び利点は、添付の図面の例示とともに、以下の本発明のさらに具体的な説明により明確に理解できよう。以降、添付の図面と関連させ、単なる例示として本発明の好適な実施形態を説明する。
【発明を実施するための最良の形態】
【００１１】
１．０  概要
本発明は、ネットワーク化されたコンピュータ・システムにおけるオブジェクトの遠隔呼び出しに関する。オブジェクトの遠隔呼び出しに詳しくない人のために、この概要セクションでは、本発明を理解するための助力となる背景情報を提供する。
【００１２】
良く知られている、オブジェクトの遠隔呼出し
オブジェクトの遠隔呼出しをサポートするよく知られた一つのコンピュータ・システムを図１に示す。オブジェクト・デリゲート１１０はクライアント・コンピュータ・システムに常駐している。オブジェクト・デリゲート１１０は、どのプロキシを使うかを識別するプロキシ指定１１２を含む。各オブジェクト・デリゲート１１０に対し、唯一のプロキシ１２０がある。プロキシ１２０は、複数のサーバ１３０の中の複数のオブジェクトを参照することができる。図１は、オブジェクト・デリゲート１１０とプロキシ１２０との間の１対１の関係、及びプロキシ１２０とサーバ１３０との間の１対ｎの関係を明示している。
【００１３】
図１のプロキシ指定１１２を図２に示す表で表すことができる。プロキシ指定１１２はオブジェクト・デリゲートの名称の列と対応するプロキシの列とを含む。図１を見れば、各オブジェクト・デリゲートは一つだけの対応プロキシを有することがわかる。
【００１４】
図３のブロック図は、従来技術のコンピュータ・システム３００を示す。コンピュータ・システム３００は、第一コンピュータ・システム３１０及び任意の適切な数の他のコンピュータ・システム３２０、３３０、…、３４０を含む。この例では、コンピュータ・システム３２０、３３０、…、３４０の各々はオブジェクトのコピーを包含しているとする。しかして、コンピュータ・システム３２０はオブジェクト３２２を含む。コンピュータ・システム３３０は、オブジェクト３２２のコピーであるオブジェクト３３２を含む。コンピュータ・システム３４０はオブジェクト３２２及び３３２のコピーであるオブジェクト３４２を含む。コンピュータ・システム３１０は、他のコンピュータ・システムの中の適切なオブジェクト・コピーにオブジェクト要求を送るプロキシ・オブジェクト３１２を含む。オブジェクト要求３０５がコンピュータ・システム３１０に受信されると、図２のプロキシ指定１１２が参照され、どのプロキシが要求に対応しているかが判定される。図２に示すようにＰｌａｃｅＯｒｄｅｒオブジェクト・デリゲートはプロキシ０１に対応し、図３では３１２として示されている。このとき、プロキシ３１２は、要求を送るべき適切なオブジェクト・コピーを判断しなければならない。
【００１５】
ネットワーク化されたコンピュータ・システムでは、通常、クライアント・オブジェクトとサーバ・オブジェクトがある。クライアント・オブジェクトは、サーバ・オブジェクトといわれる異なったオブジェクトを呼び出すオブジェクトである。サーバ・オブジェクトは、クライアント・オブジェクトから呼び出されるオブジェクトである。なお、クライアント及びサーバという用語は、時として、ウエブ・ブラウザがウエブ・サーバに対するクライアントであるように、絶対的意味で用いられる。但し、本明細書で用いるクライアント及びサーバという用語は呼び出しの方向を意味し、どの特定コンピュータ・システムにもどんな特定のラベルをも付さないものとする。しかして、オブジェクト要求３０５を受信するプロキシ・オブジェクト３１２は該オブジェクト要求のサーバであるが、これが対応するオブジェクト・コピー（コンピュータ・システム３２０中のオブジェクト３２２のような）にクライアント要求を送信するときには、クライアントになる。
【００１６】
次に図４を参照すると、図３のシステム３００におけるオブジェクトの遠隔呼び出しのために従来技術の方法４００が実施するステップが示されている。方法４００は、オブジェクト・デリゲートがオブジェクト要求を受信したときに開始される（ステップ４１０）。該オブジェクト・デリゲートに対応するプロキシが判定される（ステップ４２０）。前記で説明したように、この判定は図１及び２に示したプロキシ指定を参照して行われる。次いで、要求は対応するプロキシに送られる（ステップ４３０）。該プロキシは要求に対する接続情報を設定する（ステップ４４０）。次いで、該プロキシは、要求を適切なオブジェクトに送る（ステップ４５０）。
【００１７】
図３に示す従来技術のシステム３００及び図４に示す対応する方法４００は、２つの大きな問題を抱えている。第一には、オブジェクト３２２、３３２、…、３４２は同じオブジェクトのコピーなので、これらのオブジェクトの状態を同期させるメカニズムがなければならないことである。オブジェクトの数が増えるにつれ、これらコピーすべての同期を維持するコストは、より大きなパフォーマンス上のペナルティとなる。第二には、全コピー３２２、３３２、…、３４２に対して単一のプロキシ・オブジェクト３１２しかないので、どのコピーがオブジェクト要求３０５を受けるべきかを決定するロジックをプロキシ３１２に含めなければならないことである。これは図４のステップ４４０で行われる。もしプロキシ・オブジェクト３１２が、オブジェクト要求３０５を間違ったオブジェクト・コピーに送ったりしたような場合に、該オブジェクト要求３０５を正しいオブジェクト・コピーに転送するメカニズムがなければならず、これも大きなパフォーマンス上のペナルティとなる。結果として、複数のオブジェクト・コピーを維持するパフォーマンス上のペナルティは大きく、すべてのオブジェクト要求を単一のプロキシを介して複数のオブジェクト・コピーに送るパフォーマンス上のペナルティもまた大きい。結果として、システムは、遠隔オブジェクト呼び出しに対して比較的に貧弱なパフォーマンスしか提供しない。
【００１８】
図５に、ブロック図形式で従来技術による別のコンピュータ・システム５００を示す。このコンピュータ・システム５００は、プロキシ指定５１２を有するオブジェクト・デリゲート５１０を含む。また、コンピュータ・システム５００は、オブジェクト・デリゲート５１０に対応するプロキシ５２０、及び複数の区分域５４０も含む。各区分域に対し、区分化された対応サーバ５３０がある。図５に示すようなコンピュータ・システムの区分化は図３に示されるような問題の解決助力にはならない。実のところ、異なる区分域は問題を悪化させる。例えば、図３のコンピュータ・システム３１０、３２０、３３０、…、３４０が各々異なる区分域内にあるとする。同じ問題が存在する上、今度は区分域間の交信を処理しなければならない。そういうわけで、図３に関連して前記で説明した既知の問題は、同様に図５のコンピュータ・システム５００に対しても当てはまる。
【００１９】
２．０  好適な実施形態の説明
本明細書で提示する好適な実施形態は、オブジェクト・コピーの間の同期化を必要としないやり方、及び、接続情報をキャッシュ格納して、繰り返される遠隔呼び出しをローカル・キャッシュ中の情報で実行できるようにするやり方で遠隔呼び出しを行い、これにより遠隔オブジェクト呼び出しに要する時間とシステム・リソースとを大幅に節減する方法を提供することにより、従来技術の問題点を解決する。
【００２０】
図６を参照すると、好適な実施形態による、区分化されたコンピュータ・システム６００は、区分域デリゲート６１２とプロキシ表（区分域表）６１４とを包含するオブジェクト・デリゲート６１０を含む。各オブジェクト・デリゲート６１０に対応する複数の区分域５４０がある。各区分域５４０は、対応する区分化されたサーバ５３０を有する。また、各オブジェクト・デリゲート６１０に対応する複数の区分化されたプロキシ６２０があり、各区分化されたプロキシ６２０は、メッセージを対応する区分化サーバ５３０にどのように送るかを示す接続情報６２２を包含する。図６のコンピュータ・システム６００を、図５の従来技術のコンピュータ・システム５００と比べると、コンピュータ・システム６００のいくつかの重要な特徴が浮かんでくる。コンピュータ・システム５００では、ｎヶの区分化サーバ５３０に対しプロキシ５２０は一つである。ここでは、プロキシ内に、どの区分化サーバ５３０がオブジェクト要求を受けるべきかを判定するためのロジックが必要となる。これに対し、コンピュータ・システム６００は、各プロキシが各区分化サーバ５３０に対応する複数の区分化されたプロキシ６２０を具えている。これは、区分化されたプロキシ６２０と区分域５４０との間、及び区分化されたプロキシ６２０と区分化サーバ５３０との間に１対１の相互関係を提供する。各区分域と区分化サーバとに専用の区分化されたプロキシを提供することによって、区分化されたプロキシ６２０は、その対応区分化サーバのための接続情報をローカルにキャッシュ格納することができ、遠隔オブジェクト呼び出しを、非常に迅速に適切な区分化サーバに送ることが可能になる。
【００２１】
図５の従来技術のシステム５００では、オブジェクト・デリゲート５１０とその対応プロキシ５２０との間には１対１の相互関係がある。図６のコンピュータ・システム６００においては、オブジェクト・デリゲート６１０と区分化されたプロキシ６２０との間の関係は、１対ｎの関係である。ここでは、オブジェクト・デリゲート６１０内に、どの区分化されたプロキシ６２０がオブジェクト要求に対応するのかを判断するロジックが必要となる。各オブジェクト・デリゲート６１０は、該要求の経路設定をするために使う特定のプロキシ表６１４をオブジェクト要求から識別する区分域デリゲート６１２を含む。プロキシ表６１４は、どの区分化されたプロキシ６２０が要求を受け取るべきかを識別する。要求が適切な区分化されたプロキシ６２０に送られると、該プロキシは、ローカルにキャッシュ格納された接続情報６２２を見て、該要求をどの経路に送るかを判断する。区分化されたプロキシ内に接続情報６２２をキャッシュ格納することによって、遠隔オブジェクト呼び出しのパフォーマンスは大幅に改善される。図１０及び１１に、区分域デリゲート６１２及びプロキシ表６１４をさらに詳細に示す。
【００２２】
好適な実施形態による、図６に示したコンピュータ・システム６００の範囲内のネットワーク化されたコンピュータ・システムに対する、一つの特定の実行例を図７に示す。コンピュータ・システム７００は、図７にコンピュータ・システム７２０、７３０、…、７４０として示された他の複数のコンピュータ・システムにネットワーク接続を介して結合された、第一コンピュータ・システム７１０を含む。ここでは、図７に示された各コンピュータ・システム、すなわち、７１０、７２０、７３０、…、７４０は、相異なる区分化サーバであるとする（図６の５３０）。コンピュータ・システム７１０は、図７にオブジェクト７１４、７１６、…、７１８として示す複数の区分化されたプロキシを包含するオブジェクト７１２を含む。オブジェクト７１２は、望ましくは、図６に示すオブジェクト・デリゲート６１０を表し、オブジェクト７１４、７１６、…、７１８は、望ましくは、図６の区分化されたプロキシ６２０を表す。最も好適な実行例において、対応するオブジェクトのコピーを含む各区分化サーバに対し、別々の区分化されたプロキシがある。図７において、各コンピュータ・システム７２０、７３０、…、７４０は、同一のオブジェクトのコピーを包含する。しかして、コンピュータ７２０は、対応するオブジェクト７２２を含む。コンピュータ・システム７３０はオブジェクト７２２のコピーである対応オブジェクト７３２を含み、コンピュータ・システム７４０は、オブジェクト７２２及び７３２のコピーである対応オブジェクト７４２を含む。図７には、オブジェクトのコピーを包含するコンピュータ・システムだけが示されているが、オブジェクトのコピーをを包含しない他のコンピュータ・システムをネットワークに加えることができる。言い換えれば、ネットワーク内の各コンピュータ・システムがオブジェクトのコピーを包含している必要はないが、オブジェクトのコピーを含む各区分化サーバに対しては、区分化されたプロキシがあることが望ましい。
【００２３】
なお、コンピュータ・システム７００は、オブジェクトのコピーを区分化サーバ内に生成し、対応する区分化されたプロキシを生成し、対応する区分域デリゲート及びプロキシ表を生成する区分化プロキシ・メカニズム７０８も含む。区分化プロキシ・メカニズム７０８は、該好適な実施形態の範囲内において、遠隔オブジェクト呼び出しのためコンピュータ・システム７００を設定するメカニズムであり、これを図７のネットワーク内の任意のコンピュータ・システムに常駐させるとよい。
【００２４】
図８は、該好適な実施形態による、区分化されたプロキシを用いるネットワーク化されたコンピュータ・システムを構成する方法８００を示す。方法８００は、望ましくは、図７の区分化プロキシ・メカニズム７０８によって実施される。方法８００は、望ましくはＮヶの異なる区分域の中に、オブジェクトのＮヶのコピーを生成することから開始される（ステップ８１０）。次に、各オブジェクトコピーに対し一つずつ、Ｎヶの区分化されたプロキシが生成される（ステップ８２０）。各区分化されたプロキシは、接続情報を格納するためのローカル・キャッシュ含む。区分化されたプロキシが初回の遠隔呼び出しを実施すると、その接続情報はローカル・キャッシュに格納され、これにより、遠隔オブジェクトが呼び出されるたびに接続経路を設定するのでなく、ローカル・キャッシュ中の接続情報にアクセスすることによって、以降の遠隔オブジェクト呼出しが非常に速くなる。この時点で、区分域デリゲート及び対応するプロキシ表が生成される（ステップ８３０）。方法８００が完了すると、コンピュータ・システムの、区分化されたプロキシを使った遠隔オブジェクト呼出しの準備ができたことになる。
【００２５】
図９を参照すると、該好適な実施形態によって、オブジェクト要求を区分化されたプロキシに送るための方法９００が実施される。方法９００は、オブジェクト・デリゲートがオブジェクト要求を受信したときに開始される（ステップ９１０）。該オブジェクト・デリゲートに対応する区分域が判定される（ステップ９２０）。該区分域に対応する区分化されたプロキシが判定される（ステップ９３０）。次いでオブジェクト要求は該区分化されたプロキシに送られる（ステップ９４０）。次に、区分化されたプロキシは、利用可能であれば、ローカルにキャッシュ格納された接続情報を使って、オブジェクト要求を対応するオブジェクトに送る（ステップ９５０）。該好適な実施形態において、各区分化されたプロキシは、所与のオブジェクトにアクセスするための接続情報を格納したキャッシュを含む。ある特定の遠隔オブジェクトが初めて呼び出されると、区分化されたプロキシは、その要求を送るための適正な接続情報を設定する作業をしなければならないことになる。この接続情報は、区分化されたプロキシ中にキャッシュ格納され、区分化されたプロキシは、同じオブジェクトに対するその後の要求を該キャッシュ格納された接続情報を使って送ることができ、遠隔オブジェクト呼出しは大幅に高速化される。
【００２６】
該好適な実施形態の区分化されたプロキシから大きな利点が得られるネットワーク化されたコンピュータ・システムの一例として、株式取引のためのコンピュータ・システムがある。このようなコンピュータ・システムに、ある特定の株式取引所に上場されている２，０００の株式のいずれかを発注するために使われるＰｌａｃｅＯｒｄｅｒオブジェクトが含まれているとしよう。図５に示した従来技術のシステムにおいては、単一のプロキシ・オブジェクトが、２，０００の一切の株式に対する全注文に対して責任を持つことになろう。区分化サーバ群にＰｌａｃｅＯｒｄｅｒオブジェクトの複数のコピーを置くことはできるが、各々の注文の送信は、単一のＰｌａｃｅＯｒｄｅｒプロキシ・オブジェクトを経由しなければならないことになろう。すべてのオブジェクト要求に対して、単一のプロキシ・オブジェクトが、どの区分化サーバが要求を受け取るべきか判断し、対応する区分化サーバに対する接続情報を設定し、対応区分化サーバ中の適切なオブジェクトにオブジェクト要求を送るのに必要な時間は長いものとなる。該好適な実施形態は、接続情報のローカル・キャッシュを包含する区分化されたプロキシ群を具えることによって、これらの手間とシステム・パフォーマンス問題とを排除する。
【００２７】
２，０００の異なる株式の取引について前述した例に対し、一株式あたり一つ、２，０００の異なる区分化サーバがあるとする。２，０００の区分化サーバの各々は、ＰｌａｃｅＯｒｄｅｒオブジェクトのコピーを含む。これら２，０００のオブジェクト・コピーの間にオーバーラップがないことを前提とすれば、これらオブジェクト・コピーに対する状態情報を同期させる必要はなく、すなわち、各オブジェクトは異なる種類の要求を取り扱うことになる。しかして、各ＰｌａｃｅＯｒｄｅｒオブジェクトが、２，０００の株式のただ一つを発注する責任を与えられた場合、ＰｌａｃｅＯｒｄｅｒオブジェクトの各オブジェクト・コピーは、ＰｌａｃｅＯｒｄｅｒオブジェクトの他のコピーと同期される必要はないことになる、というのは、これらオブジェクトのどれもが、これらオブジェクトの他のいずれともデータを共用していないからである。各区分化サーバに、ただ一種類の要求に対する、相異なったオーバーラップのない責任を与えることによって、数多くのオブジェクト・コピーの間で同期を取る必要性が排除される。しかして、ＰｌａｃｅＯｒｄｅｒオブジェクトの一つのコピーをＩＢＭ（登録商標）株の注文取り扱い専用とし、ＰｌａｃｅＯｒｄｅｒオブジェクトの別のコピーをマイクロソフト（登録商標）株の注文取り扱い専用などととすることができる。ＩＢＭは、米国、他の国々又はその双方におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの商標であり、マイクロソフトは、米国、他の国々又はその双方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標である。
【００２８】
該好適な実施形態の別の大きな利点は、各区分化されたプロキシ中に接続情報をキャッシュ格納することである。ある区分化されたプロキシが、ある特定のオブジェクトに対する最初の遠隔呼出しを受信すると、該区分化されたプロキシは、オブジェクト要求を、該オブジェクト要求を受ける必要のあるオブジェクトの対応するコピーを包含している適切な区分化サーバに送るための、接続情報を設定する全作業を実施する。区分化されたプロキシが一度この接続情報を設定すると、該接続情報は、区分化されたプロキシ内のキャッシュ中に格納される。ローカル・キャッシュの中に接続情報を格納することによって、区分化されたプロキシは、同じオブジェクトに対するその後の要求を、その都度要求を送るための適切な接続情報を設定する手間をかけることなく、該要求を取り扱う必要のある対応オブジェクトに非常に迅速に送ることができる。区分化されたプロキシ群は、接続情報のローカル・キャッシュと組み合わされて、遠隔オブジェクト呼び出しに飛躍的なパフォーマンス向上をもたらす。本明細書に記載したような、ローカル・キャッシュを包含する区分化されたプロキシを使った実際のテストでは、遠隔オブジェクト呼び出しの１５倍のパフォーマンス向上が見られた。
【００２９】
上記の単純な例では、取引可能な２，０００の異なる株式の各々に対する２，０００の区分化されたプロキシ群を想定した。しかしながら、一部の株式が他の株式よりも相当に高い割合で取引されることがあり、同一の株式を取り扱うために複数の区分化サーバが必要となることがある。２，０００の株式の最上位５つが、これらの株式の取引量に対処するためにそれぞれ２台の区分化サーバを必要としたと仮定する。この状況では、２，０００の株式に対し、これらトップ５つの株式用の１０の区分化サーバ（１株式２台）と、残り１，９９５の株式用の１，９９５の区分化サーバとの合計２，００５の区分化サーバがあることになろう。この場合、一般に、同じ株式の注文を取り扱う異なる区分化サーバのオブジェクト・コピーの間でオブジェクト状態を同期させるためのメカニズムがあることになる。この簡単な例は、２，０００の異なる株式に対する要求を取り扱うのに２，００５の区分化サーバ（従って同数のオブジェクト・コピー）を使う上記の例で示されるように、区分化サーバの数を、異なったアイテム（この場合は株式）の数にそのまま一致させる必要はないことを表している。
【００３０】
図６の区分域デリゲート６１２及びプロキシ表６１４の、一つの具体的実行例が図１０及び１１に示されている。区分域デリゲート６１２は、区分域及び区分化されたプロキシの情報を包含する対応表へのオブジェクト・デリゲートのリストを含む。ＰｌａｃｅＯｒｅｄｅｒオブジェクトが呼び出されたとすると、図１０の表６１２は、図１１の表６１４を指す点線矢印で示すように、表Ｔ１がＰｌａｃｅＯｒｅｄｅｒオブジェクトに対応するプロキシ表であることを示す。プロキシ表６１４の中では、区分域キーが各区分化されたプロキシと関連付けられている。しかして、区分域を知ることによって、プロキシ表６１４から、該区分域に対応する区分化されたプロキシを判定することができる。ＰｌａｃｅＯｒｄｅｒオブジェクト・デリゲート及び区分域Ａの例については、対応する区分化されたプロキシはオブジェクトＯ１Ａであり、これが図７の区分化されたプロキシ７１４に相当する。
【００３１】
図１０及び１１の表は、キャッシュがどのように「多重レベル」になっているかを示す。図１０に示す第一レベルにおいて、オブジェクト・デリゲートは図１１の対応する表に関連付けられており、この表は、区分域及び区分化されたプロキシ情報を包含する第二レベルである。多重レベル・キャッシュへの各入力を（Ｏｂｊｅｃｔ  Ｄｅｌｅｇａｔｅ、（ｐａｒｔｉｔｉｏｎ、ｐａｒｔｉｔｉｏｎｅｄ  ｐｒｏｘｙ））として表すことができる。このような多重レベルのキャッシュを具えることによって、同じ遠隔オブジェクトの後の呼び出しに対し、区分化されたプロキシのローカル・キャッシュに格納された接続情報を容易に読み出すことができ、これにより、遠隔オブジェクト呼び出しのパフォーマンスを、従来技術手法で可能なよりも大幅に向上することができる。
【００３２】
図７の区分化されたプロキシ７１４の適切なコンテンツの一例を図１２に示す。区分化されたプロキシ７１４は、望ましくは、対応オブジェクト（図７の７２２）をポイントするスタブ１２１０、要求コンテキスト情報１２２０、オブジェクト状態１２３０、接続情報１２４０、及び他のデータ１２５０を含む。該区分化されたプロキシには、ローカルに格納しておく必要のある任意の適当な情報を含めることができるが、スタブ１２１０及び接続情報１２４０さえ格納されていれば、区分化されたプロキシは適切に機能することができる。区分化されたプロキシ７１４内に接続情報１２４０をキャッシュ格納することによって、区分化されたプロキシは、遠隔オブジェクト要求を、それに対応する遠隔オブジェクトに迅速に送ることができる。
【００３３】
区分化されたプロキシ及び接続情報のキャッシュは、各々のクライアントに格納される。区分化サーバが、故障したり、移動されたり、再スタートされたりした場合、接続情報を包含するキャッシュは無効になり、経路設定作業を通して更新され、最新の接続情報を得ることになる。初回にオブジェクトをうまく呼び出した後は、該オブジェクトに対する接続情報がクライアントにおいてキャッシュ格納される。該ローカル・キャッシュは、サーバの区分域が変更されるまでは有効であり、変更の時点でローカル・キャッシュは無効となり、最終的には、改めて接続が設定されるにつれ、新規の接続情報によって更新されることになる。
【００３４】
なお、ここで重要なこととして、本発明を、機能の整ったコンピュータ・システムに関連させて説明して来ておりそれを続けるが、当業者は、本発明を多様な形態のプログラム製品として配布するのが可能なこと、及びその配布を実施するために使う有形のコンピュータ可読信号担持媒体に対し、その種類の如何を問わず本発明が同様に提供されることを十分理解していよう。適切な有形コンピュータ可読信号担持媒体の例には、フロッピ・ディスク及びＣＤ  ＲＷのような記録可能な種類の媒体（例えば図１の１９５）、及び本発明を具体的に具現するデジタル及びアナログ通信リンクのような伝送型の媒体が含まれる。
【００３５】
該好適な実施形態は、遠隔オブジェクト呼び出しのパフォーマンスを１５倍まで向上する能力をもたらす。各区分化サーバに対し区分化されたプロキシを具え、各区分化サーバに対する接続情報を対応する区分化されたプロキシ内にキャッシュ格納することによって、ローカル・キャッシュ・データを使い、殆どの遠隔呼び出しを迅速且つ効率的に、対応する区分化サーバに送ることができる。さらに、オブジェクト・コピー間で、責任をオーバーラップしない領域に分割することによって、オブジェクト・コピーのオブジェクト状態を同期させる必要が除去される。
【００３６】
該好適な実施形態は、オブジェクト・デリゲートを、クライアント側でキャッシュ格納するための全く異なった方途を開示し、該方途には、サーバ群のクラスタ中の実際のオブジェクトにどう接続するかを示す接続情報を包含する区分化されたプロキシが含まれる。このクライアント側での接続情報のキャッシュ格納によって、サーバ側でのオブジェクト同期の必要性がなくなり、サーバ・キャッシュ中のデータ陳腐化に関連する問題が回避される。クライアント側の区分化されたプロキシの中に接続情報をキャッシュ格納することによって、クライアントは、いかにして、データ陳腐化の可能性無しにより速く適正なオブジェクト状態に到達するかを識別する。このことは、サーバ側でのデータ陳腐化が一切許されない企業及び業務にとっては、非常に大きな改善である。
【００３７】
当業者は、本発明の範囲内で多くの変形が可能なことをよく理解していよう。以上、好適な実施形態を参照して本発明を具体的に示し説明して来たが、当業者は、本発明の精神及び範囲から逸脱することなく、その形態及び細部に各種の変更を加えることができることをよく分かっていよう。
【図面の簡単な説明】
【００３８】
【図１】従来技術によるネットワーク化されたコンピュータ・システムのブロック図である。
【図２】オブジェクト・デリゲートと対応プロキシ・オブジェクトとの相互関係を示す、従来技術の表である。
【図３】オブジェクトの複数コピーを含む従来技術によるネットワーク化されたコンピュータ・システムのブロック図である。
【図４】従来技術による、遠隔呼び出しを対応オブジェクトに送る方法の流れ図である。
【図５】従来技術による、区分化されたコンピュータ・システムのブロック図である。
【図６】好適な実施形態による、区分化されたプロキシを含む区分化されたコンピュータ・システムのブロック図である。
【図７】好適な実施形態による、区分化されたプロキシを含む区分化されたコンピュータ・システムのブロック図である。
【図８】好適な実施形態による、プロキシを区分化する方法の流れ図である。
【図９】好適な実施形態による、遠隔オブジェクト呼び出しを送る方法の流れ図である。
【図１０】好適な実施形態による、多重レベル・キャッシュの第一レベルの表を示す。
【図１１】好適な実施形態による、多重レベル・キャッシュの第二レベルの表を示す。
【図１２】好適な実施形態による、区分化されたプロキシ・オブジェクトのコンテンツを示す。
【図１】
2008536229.tif 000003
【図２】
2008536229.tif 000004
【図３】
2008536229.tif 000005
【図４】
2008536229.tif 000006
【図５】
2008536229.tif 000007
【図６】
2008536229.tif 000008
【図７】
2008536229.tif 000009
【図８】
2008536229.tif 000010
【図９】
2008536229.tif 000011
【図１０】
2008536229.tif 000012
【図１１】
2008536229.tif 000013
【図１２】
2008536229.tif 000014
【国際調査報告】
2008536229.tif 000015
2008536229.tif 000016
2008536229.tif 000017