JP2002511959A - クライアントサーバデータ処理システムのための通信システム - Google Patents

クライアントサーバデータ処理システムのための通信システム

Info

Publication number
JP2002511959A
JP2002511959A JP53957398A JP53957398A JP2002511959A JP 2002511959 A JP2002511959 A JP 2002511959A JP 53957398 A JP53957398 A JP 53957398A JP 53957398 A JP53957398 A JP 53957398A JP 2002511959 A JP2002511959 A JP 2002511959A
Authority
JP
Japan
Prior art keywords
port
program
server
domain
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP53957398A
Other languages
English (en)
Other versions
JP3989969B2 (ja
Inventor
バラッドワジ,ラジーブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2002511959A publication Critical patent/JP2002511959A/ja
Application granted granted Critical
Publication of JP3989969B2 publication Critical patent/JP3989969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

(57)【要約】 クライアントプログラムとサーバプログラムとの間の通信を管理するためのシステム。ポートサービスモジュールが、複数のドメインポートを管理する。各々のドメインポートは、クライアントコンピュータプログラムがどのサーバコンピュータプログラムのインスタンスと又はどのサーバコンピュータプログラムと相互作用することになるかを指図するためポートサービスモジュールにより使用される予め定められた特性を有する。このドメインポート特性は、同様に、メッセージを順序づけすべきか、メッセージを計数すべきか及び/又はクライアントプログラムとサーバプログラムとの間の通信における異なるタイプのエラー条件について監視すべきかをポートサービスモジュールに指図する。

Description

【発明の詳細な説明】 クライアントサーバデータ処理システムのための通信システム同時係属出願に対するクロスレファレンス 本出願は、共に本発明の譲渡人に譲渡され共に本書に参考として内含されてい る、Rajeev Bharadhwajによって1996年12月30日に提出された「コンピ ュータプログラムの実行管理のためのシステム及び方法」及び1997年3月1 2日に提出されたRajeev Bharadhwajによる「階層的に命名されたコンピュータ アクセス可能なオブジェクトのための命名システム」という同時係属特許出願に 関係づけされる。 発明の背景1.発明の分野 本発明は、一般に、クライアントサーバタイプのデータ処理システムに関する ものであり、より特定的には、クライアントプログラムとサーバプログラムとの 間のメッセージ転送を制御するのに使用するための通信システムに関する。2.背景技術の説明 クライアントサーバタイプのデータ処理システムの利用は、増大し続けている 。クライアントサーバシステムは、ネットワーク上のさまざまなシステム間で処 理タスクを分配する上での融通性を提供する。 これらは、見かけ上普及が進んでいるにもかかわらず、クライアントサーバシ ステムを容易に作成するには障害がある。クライアントサーバタイプのデータ処 理システムを作成する上での1つの障害 は、クライアントプログラム及びサーバプログラムが共通の通信プロトコルにプ ログラミングされなくてはならないという点にある。利用されるプロトコルが1 つしかない場合には、クライアント及びサーバをプログラミングすることが大き な障害とならない可能性が最も高い。しかしながら、各々が異なるプロトコル又 は或る点では類似しているもののその他の点では異なっている類似のプロトコル を必要とする多数のサーバプログラムが存在する場合、さまざまなサーバプログ ラムプロトコルをプログラミングするのに必要とされる作業は増大する。 サーバプログラムのためのオブジェクト特性が固定されているかぎり、クライ アントプログラムのプログラミングという観点から見て、クライアントはその演 算パラメータを変更する必要はないだろう。しかしながら、1つのサーバアプリ ケーションのためのネットワークアドレスが変更された時点で、クライアントは 新しいアドレスについて知らされていなければならない。1つのクライアントプ ログラムしか存在しない場合、変更を行なうことは、全く取るに足らないことで ある。しかしながら何百さらには何千ものクライアントプログラムが存在する場 合、変更を行なうには多大な努力が必要となる可能性がある。 従って、必要とされているのは、クライアントとサーバプログラムとの間の通 信を調整するプロセスを単純化し、包括的に命名されたオブジェクトを支援する 通信システムである。 発明の要約 本発明は、さまざまなタイプの通信プロトコルをもつ数多くのタイプのクライ アントサーバシステムを確立し維持する上で関与してくる問題点を低減させる通 信システムである。本発明は、クライア ントプログラムとサーバプログラムとの間の異なるタイプの通信プロトコルを支 援するのに各々使用される多数のドメインポートを定義づけする能力を提供する 。さらに、メッセージ圧縮、メッセージ暗号化、メッセージロギング、ミラリン グ、ストライピングなどといった多彩な機能をサーバプログラムに提供するのに 、ドメインポートを利用することができる。本発明は、同様に、分配されたサー ビスに対し命名されたアクセスをも提供し、かくして、クライアントプログラム 及びサーバプログラムがサービスの命名/アドレス指定に関し直接互いと調整を 行なう必要性を無くする。 各々の複数の特性をもつドメインポートが、ポートサービスモジュールにより 確立される。1つのドメインポートの特性は、そのドメインポートを介して通信 するクライアントプログラムとサーバプログラムとの間の通信を制御する上でポ ートサービスモジュールにより使用される。ポートサービスモジュールによるド メインポート特性を使用することで、クライアントプログラム及びサーバプログ ラムはさまざまな通信プロトコルセマンティクスを管理する義務から解放される 。 クライアントプログラムとサーバプログラムとの間で交換されるメッセージを 順序づけし計数するための特性をもつように、ドメインポートを定義づけするこ とが可能である。ドメインポートは、同様に、異なるタイプのエラー条件につい て監視するための特性をもつように定義づけすることもできる。メッセージを順 序づけすべきであることを命令する定義づけされた特性をドメインポートが有す る場合、ポートサービスモジュールは、特定のクライアント及びサーバプログラ ムの必要条件に従って予め決定される1つの順序に従ってクライアントプログラ ムとサーバプログラムとの間で送られたメッセージを順序づけする。同様にして 、メッセージを計数すべき であることを命令する定義づけされた特性をドメインポートが有する場合、ポー トサービスモジュールは、特定の必要条件に従ってクライアントプログラムとサ ーバプログラムとの間で交換されたメッセージを計数する。 メッセージ圧縮、メッセージ暗号化、メッセージロギング、ミラリング、スト ライピングなどといった特性を有するようにドメインポートを定義づけすること が可能である。このような定義づけされた特性に応答して、ポートサービスモジ ュールは、特定された特性と対応付けされた機能を実行する。ポートサービスモ ジュールが希望の機能を提供することから、サーバプログラムはそれを行う必要 がない。 本発明は、同様に、分配されたサービスに対する命名されたアクセスをも提供 し、かくしてクライアントプログラム及びサーバプログラムがサービスの命名に 関し直接互いに調整し合う必要性を無くする。ポートサービスモジュールは、命 名されたサービスとのその結びつきがグローバルネーマーモジュールによって維 持されているポート登録ハンドルに対する応答性をもつ。かくして、クライアン トプログラムはサービス名を覚えている必要しかなく、一方、グローバルネーマ ーモジュールがドメインポートとの結びつきを提供し、ポートサービスモジュー ルはそのドメインポートをその特定のサーバプログラム及び/又はインスタンス と結びつける。 図面の簡単な説明 図1は、本発明に従ったクライアントサーバデータ処理システム例のブロック 図である。 図2は、ポートサービスモジュールを例示するブロック図である。 図3は、ドメインポートについての特性テーブルのブロック図である。 図4は、ドメインポートを作り出すために行なわれる処理の流れ図である。 図5は、クライアントプログラムからの要求を処理すべくサーバプログラムを 選択する上で行なわれる処理の流れ図である。 図6は、クライアントプログラムからの通信要求のためにポートサービスモジ ュールによって実行されサーバプログラムに対しアドレス指定される処理の流れ 図である。 詳細な説明 図1は、本発明に従ったクライアントサーバデータ処理システムのブロック図 である。システム例には、クライアントシステム104,サーバノード106及 び108及びグローバルネーマーシステム110が内含されている。クライアン トシステム104,サーバノード106及び108並びにグローバルネーマーシ ステム110の各々は、プログラムの処理ニーズに応じて特定のハードウェアが 選択される従来のデータ処理システムである。クライアントシステム104,サ ーバノード106及び108及びグローバルネーマーシステム110はネットワ ーク111に統合されている。 クライアントシステム104はクライアントプログラム102のホストとなり 、サーバノード106は第1のサーバプログラム112及び第2のサーバプログ ラム114aの第1のインスタンスのホストとなり、サーバノード108は11 4bと呼ばれる第2のサーバプログラムの第2のインスタンス及び第3のサーバ プログラム116のホストとなり、グローバルネーマーシステム110はグロー バルネーマーモジュール118のホストとなる。サーバノード10 6及び108の各々は、同様に、それぞれのポートサービスモジュール122及 び124をも有している。 クライアントプログラム例102は、第2のサーバプログラム114aの第1 のインスタンスのサービスを利用するように設計されている。第1のサーバプロ グラム112及び第3のサーバプログラム116は、例示目的でのみ示されてい る。 ポートサービスモジュール122及び124の各々は、サーバプログラム11 4a−bに対するアクセスについてクライアントプログラム102が行なった要 求、並びにサーバプログラム112及び116に対してその他のクライアントプ ログラム(図示せず)により行なわれた要求に対する応答をもつ。ポートサービ スモジュール122及び124は、各サーバプログラムについて1つずつの複数 のドメインポートを維持する。ポートサービスモジュール122がドメインポー ト132と共に示され、ポートサービスモジュール124がドメインポート13 4と共に示されている。ドメインポート132及び134は、クライアントプロ グラム102とサーバプログラム112との間の通信を管理するためそれぞれの ポートサービスモジュールによって使用される。ポートサービスモジュール12 2及び124は、同様に、その他のクライアントプログラム(図示せず)とサー バプログラム112及び116との間の通信をも管理する。 グローバルネーマーモジュール118は、グローバルネーマーシステム110 をホストとしている。サービスの名前がわかっているため、グローバルネーマー モジュール118は、そのサービスに対する要求が導かれるべきドメインポート 及びポートサービスモジュール122又は124についての識別子を供給する。 グローバルネーマーモジュール118は、サーバプログラム112,114a− b及び116の名前と、それらがアクセスされるドメインポート132及び13 4との間の結びつきを維持する。グローバルネーマーは、かくして、ドメインポ ート132及び134とサーバプログラム112,114a−b及び116との 間の結びつきを覚え維持する義務からクライアントプログラム102を解放する 。クライアントプログラム102からグローバルネーマーモジュール118への 要求には、そのサービスを利用するその他のクライアントプログラムにより同様 に一般に知られているサービスの名前が含まれている。これらに応えて、グロー バルネーマーモジュールは、ポート登録ハンドルを戻す。ポート登録ハンドルは 、ポートサービスモジュールにより管理されるポート132又は134のうちの 特定のポートと共に、特定のポートサービスモジュール122又は124を識別 する。グローバルネーマーモジュール118は、当業者によって実現され得るも のであり、そうでなければ、クロスレファレンスとして記した特許出願のグロー バルネーマーシステムをグローバルネーマーモジュールとして使用することもで きる。 図1の方向を示すラインは、クライアントプログラム102が第2のサーバプ ログラム114a−bのサービスを要求する、要求の流れの例を示している。ク ライアントプログラム102が第2のサーバプログラム114a及び114bの 両方を明示的に要求せず、その代り、サーバプログラム114a及び114bに より提供されるサービスを名前で言及していることに留意されたい。 ライン1は、クライアントプログラム102からグローバルネーマーモジュー ル118への要求の流れを示す。要求は、サーバプログラム114a−bにより 提供された1つのサービスの名前、つまりポートサービスハンドルを内含する。 グローバルネーマーモジュール118は、ポート登録ハンドルをライン2に例示 される通りク ライアントプログラム102に戻す。ポート登録ハンドルは、ポートサービスモ ジュール122のアドレスを内含し、要求されたサーバプログラム114a−b にアクセスするのに用いられる特定のポート152を識別する。ライン3は、ク ライアントプログラムがポート登録ハンドルを介してポートサービスモジュール 122に対し命名されたサービスについての要求を行なっていることを示す。ポ ートサービスモジュールは、このとき、その要求により識別されたドメインポー ト152を選択し、ライン4に示されているように、第2のサーバプログラム1 14aの第1のインスタンスを開始する。 ドメインポート152の定義に基づき、かつ、ライン5に示されているように 、ポートサービスモジュール124は、ドメインポート152からの複製要求を 受理する。このとき、ポートサービスモジュール124は、ライン6により示さ れているようにサーバノード108上で第2のサーバプログラム114bを開始 する。サーバノード108上の第2のサーバプログラム114bの開始は、クラ イアントプログラム102には見えない。ポートサービスモジュールは、ポート 152の定義づけに基づき、第2のサーバプログラム114bを開始する。サー バプログラム114bの第2のインスタンスが開始される例としては、データ複 製サービスが要求された場合がある。すなわち、サーバノード108上の第2の サーバプログラム114bは、サーバノード106上の第2のサーバプログラム 114aが行なっているのと同じ要求の同じ処理を行なう。第2のサーバプログ ラム114a−bは、ポート定義と組合わさってポートサービスモジュール15 2が望まれる複製を管理することから、サービスの複製(すなわち第1のインス タンス114a及び第2のインスタンスにおける)を管理する義務から解放され る。サービス の複製は、ポートサービスモジュールが1つのサービスのために管理することの できる1つの機能にすぎない。その他の機能については、本明細書の他の場所で 記述されている。 ライン7は、ポートサービスモジュール122からクライアントプログラム1 02まで第2のサーバプログラムの識別子が戻されていることを例示している。 その後、クライアントプログラム102は、ライン8により示されているように 、識別子に対する参照指示によりポートサービスモジュール122を介して、サ ーバプログラム114aと通信する。サーバプログラムの識別子は、ポートサー ビスモジュール122が単一のドメインポートを通してサーバプログラムの多数 のインスタンスを管理する場合に用いられる。 図2は、ポートサービスモジュール202を例示するブロック図である。ポー トサービスモジュール122及び124は、ポートサービスモジュール202の インスタンスである。ポートサービスモジュール202は、ドメインポート21 2の定義により左右される形でクライアントプログラム及びサーバプログラムと 相互作用するソフトウェアコンポーネントである。ドメインポート212につい ての定義は、ホストサーバノード206又は208のメモリ内に記憶される。ド メインポート212の各々が、それぞれのドメインポート名212a,212b ,212c,…,212n,それぞれの特性セット214a,214b,214 c,…,214n,それぞれのサーバノードリスト216a,216b,216 c,…,216n及びそれぞれのクライアント接続リスト218a,218b, 218c,…,218nによって定義づけされる。 ドメインポート212a−nについての特性214a−nは、1つのドメイン ポートについてのさまざまな演算挙動を定義づけする。例えば、特性は、サーバ プログラム112,114a−b及び1 16のどのインスタンスを実行すべきかを選択するための選択基準、クライアン トプログラム102とサーバプログラムの間のメッセージ順序付け及びさまざま なその他のメッセージ処理ディテールを定義づけする。 ドメインポートサーバノードリスト216a−nは、それぞれのドメインポー ト212a−nと対応付けされたサーバプログラムのホストであるさまざまなサ ーバノード106及び108を識別する。例えばドメインポート152で、サー バノード106及びサーバノード108は、ドメインポートサーバノードリスト 内で識別されることになる。 クライアント接続リスト218a−nは、それぞれドメインポートに接続され たさまざまなクライアントシステム104を識別する。例えば図1において、ク ライアントシステム104は、ドメインポート152に接続され、ドメインポー ト152についてのクライアント接続リスト218a−nのそれぞれ1つずつ及 びポートサービスモジュール124の対応するドメインポートについてのクライ アント接続リスト内で識別されることになる。クライアント接続リスト218a −nは、クライアントシステムが通信していないとき又はネットワーク111か ら除去されているとき、サーバプログラム112,114a−b又は116にそ れを知らせるために使用され得る。 図3は、ドメインポート212a−nのための特性テーブル214のブロック 図である。特性テーブル214は、6つの特性セット、すなわち選択基準306 ,ポートタイプ308,メッセージ順序づけ310,実行セマンティクス312 ,エラーセマンティクス314及び雑特性セット316から成る。どの特性が、 ドメインポート212のそれぞれ1つに適用されるかを示すため、特性に対して メモリセルが割り当てられる。例えば、セル318aは、find next特性と結び つけられる。以下の段落では各々のセットについて記述する。 選択基準306特性は、1つの要求を処理するため114a又は114bとい ったようなサーバプログラムのインスタンスを選択することに向けられる。find -next特性は、入要求を処理するためにサーバプログラム112,114a−b ,116の次に利用可能なインスタンスを選択すべきであることを示している。 find-next特性は、その要求を処理するためにネットワーク11トポロジー内で SPM152に最も近いノードをホストとするサーバプログラムを選択すべきで あることを指示する。find-in-specific-node特性は、開始されるべきサーバプ ログラム112,114a−b,116のホストであるサーバノード106又は 108を特定する。当業者であれば、その他の選択基準も実現可能であることを 認めるだろう。 ポートタイプ308特性は、例えば152といった対応付けされたドメインポ ートがアクセスを提供するオブジェクトタイプの特定に向けられている。本発明 では、ポートタイプは、サーバプログラム112,114a−b又は116のあ らゆるタイプでありうる。しかしながら、例示を目的として、クロスレファレン スされた特許プログラム内に記述されているドメインアレイに関連するポートタ イプが示されている。 ポートタイプの例としては、domain array,domain port,domain group及びd omain objectがある。domain arrayポートタイプは、サーバプログラムが、クロ スレファレンスされた特許プログラム内で記述されているようなドメインアレイ であることを表わしている。対応付けされたドメインポートがdomain portのポ ートタイプ 308を有する場合、ドメインポートはもう1つのドメインポートを参照指示す る。図示されてはいないものの、当業者であれば、もう1つのドメインポートを 参照指示するために参照指示されたドメインポートのための名前を記憶する必要 があるということを認識することだろう。domain group特性は、1つのプログラ ムを実行するのに協働するドメインオブジェクトのグループを参照指示する。do main object特性は、ドメインポート212を介してアクセスを得ることのでき るその他のタイプのオブジェクトを包括的に参照指示するのに使用される。 ドメインポート212は、同様に、メッセージ順序づけ310特性を有する可 能性もある。メッセージ順序づけ特性は、クライアントプログラム102とサー バプログラム112,114a−b及び116の間でメッセージの交換を制御す るためポートサービスモジュール122又は124よって使用される。メッセー ジ順序づけ特性の例としては、unordered,first-in-first-out,partial,prio rity及びtotalが内含される。unordered特性は、メッセージがいかなる順序でも 到着及び送信しうることを表わす。かくして、ポートサービスモジュール122 又は124は、交換されたメッセージの順序を調整する必要がない。first-in-f irst-out特性は、ポートサービスモジュール122又は124が、クライアント プログラム102からサーバプログラム112,114a−b,116まで、ポ ートサービスモジュールにより受信された順序でメッセージを転送するというこ とを指示する。メッセージの順序づけは、サーバプログラム112,114a− b,116から受信したメッセージについて類似している。partial特性のため のメッセージの特定的順序づけは、順序づけがドメインポートに対応付けされた サーバプログラムについてのみ起こるというものである。priority順序づけ特 性の利用例は、例えば先行する要求を打ち切るために急送メッセージを送信する ことである。total順序づけは、メッセージがドメインポート全体及びいずれか の対応付けされたポートのために順序づけされることを表わす。例えば、図1に 関連する完全な順序づけは、第2のサーバプログラム114aに対する全てのメ ッセージについてPMS122及び124間の全てのメッセージを順序づけする ことができる。 実行セマンティクス312特性は、同様に、サーバプログラム112,114 a−b又は116に対し通信プロトコルを実施するために、ポートサービスモジ ュール122又は124によって使用される。at-most-once特性は、メッセージ がただ1つのサーバプログラム112,114a−b又は116に対してかつそ のサーバプログラムに対し多くとも1回だけ送信されることを表わす。exactly once特性は、メッセージがサーバプログラム112,114a−b又は116に 対して1回限り送られることを表わし、at-least-once特性は、メッセージがサ ーバプログラムに対し少なくとも1回送られなくてはならないことを示す。 エラーを検出し予め定められた行動をとるためにもドメインポート212を使 用することができる。エラーセマンティクス314特性には、bounded time及び orphan detectionが内含される。bounded time特性では、ポートサービスモジュ ール122又は124は、サーバプログラム112,114a−b,又は116 による要求の処理をタイミングどりし、プログラム必要条件に応じてクライアン トプログラム102に、要求の処理時間が予め定められたしきい値を超えている ことを通知することができる。orphan detection特性は、ポートサービスモジュ ール122又は124が失なわれたクライアントに対する接続を検出し、ドメイ ンポート及びそれが支援 するドメインオブジェクト内で必要となる可能性のあるすべてのクリーンナップ を実施することを指示する。 雑316特性は、ドメインポート212の演算特性をさらに定義づけするため に用いられる。voting,rerouting,filtering,mirroring,load balancing,s triping,compression,encryption及びmessage loggingといった雑特性例は、 当業者には周知のものであり、又当業者であれば、ドメインポート212を用い てその他の特性も実現できることを認識するであろう。 図4は、ドメインポート212を新規作成するために行なわれる処理の流れ図 である。クライアントプログラム102がドメインポート212にアクセスでき るようになる前に、ドメインポートを新規作成しなくてはならない。ポートサー ビスモジュール202は、入力として、ステップ402でドメインポート212 のためのポート登録ハンドルを受理する。このポート登録ハンドルは、ドメイン ポート名エントリ212a−nの1つの中で使用される。ポート登録ハンドル及 び対応付けされたポートサービスハンドルは、ステップ404においてグローバ ルネーマーモジュール118で登録される。グローバルネーマーモジュールは、 好ましい実施形態においてはサーバプログラム112,114a−b,116又 はその他を一意的に識別する64ビットの値であるポートサービスハンドルを戻 す。ポート登録ハンドルがすでにグローバルネーマーモジュール118で登録さ れている場合には、グローバルネーマーモジュールはサーバノード106,10 8又はもう1つのサーバノードの識別子と共に64ビットのポートサービスハン ドルを戻す。 複製されたサービスの場合のようにポート登録ハンドルがすでに登録されてい る場合、決定ステップ406が制御ステップ408に導く。そうでなければ、制 御はステップ410まで導かれる。グロ ーバルネーマーモジュール118から戻されたサーバノードの識別子は、ステッ プ408でドメインポート212のサーバノードリスト例えば216aに付加さ れる。さらに、ノード名を指示するグローバルネーマーモジュール118でポー ト登録ハンドルをまず第1に登録したサーバノード(例えば106,108)に 対しメッセージが送られる。このとき処理は完了する。 ポート登録ハンドル406がまだ登録されていないことを決定ステップ406 が発見した場合、制御はステップ410に導かれ、ここでグローバルネーマーモ ジュール118から戻されたポートサービスハンドルはポート登録ハンドルと結 びつけられる。この結びつきは、クライアントプログラム102がポートサービ スハンドルで1つのサービスを参照指示するときドメインポート212を参照指 示するのに用いられる。ドメインポート特性は、ドメインポートの動作を定義づ けするためのステップ412で入力される。ステップ414では、特性テーブル 214は入力特性で更新される。このときドメインポート212を新規作成する ための処理は完了する。 図5は、クライアントプログラム102からの要求を処理するためサーバプロ グラム、例えば112を選択する上で実施される処理の流れ図である。処理は、 ステップ502で開始し、ここで、クライアントプログラム102は、望ましい サービスと結びつけられているサーバノード例えば106、識別子及びポート登 録ハンドルを得る。図1から、クライアントプログラム102がグローバルネー マーモジュール118からポート登録ハンドルを得ることを思い出して頂きたい 。 ステップ504では、ステップ502において識別されたサーバノード106 でポートサービスモジュール122に1つの要求が送られる。この要求は、同様 にステップ502で識別されたポート登 録ハンドルを内含する。ポートサービスモジュール122は、ステップ506で 命名されたドメインポートのポート特性302を得る。特性214は、要求を処 理するためサーバプログラム112,114a−b又は116を選択する上で使 用される。 決定ステップ508は、ドメインポート例えば212aのポートタイプ308 がdomain group又はdomain objectのいずれかであるか否かをテストする。そう である場合、制御はステップ510まで導かれ、ここでこの要求は命名されたサ ービスのためサーバ管理プログラムへと転送される。 ポートタイプ308がdomain portである場合、決定ステップ512は制御を ステップ514に導き、ここで要求は処理のためもう1つのドメインポート例え ば212bへと転送される。 ポートタイプ308について最後の考えられる例は、domain arrayである。ド メインアレイポートタイプについては、制御はステップ516へと導かれ、ここ で要求を処理するべく1つのドメインアレイが選択される。この選択は、ドメイ ンポート特性302の選択基準306に基づいて行なわれる。選択されたドメイ ンアレイは、ポートサービスモジュール202との関係においてローカルであっ ても又はリモートであってもよい。複製された又はミラリングされたサービスに ついては、ローカル及びリモートの両方のドメインアレイを選択することができ る。ステップ520では、ローカルドメインアレイが選択された場合に要求を処 理するためローカルドメインアレイの1インスタンスが開始される。要求はステ ップ522でリモートサービスモジュール例えば124に転送され、かくしてリ モートドメインアレイが選択された場合にリモートドメイアレイが要求を処理で きるようになっている。 ステップ524で、ドメインポートのためのクライアント接続リ スト例えば218aが更新される。クライアントシステム104の識別子がリス トに付加される。ポートサービスハンドル及びサーバプログラム識別子がステッ プ526でクライアントプログラム102に戻される。その後、クライアントプ ログラムは、ポートサービスモジュール122を介してサーバプログラム例えば 122にメッセージを送信するとき、ポートサービスハンドル及びサーバプログ ラム識別子を使用することができる。 図6は、サーバプログラム例えば114aにアドレス指定されたクライアント プログラム102からの通信要求についてポートサービスモジュール例えば12 2が行なう処理の流れ図である。ステップ602において、ポートサービスモジ ュール202は、サーバプログラム識別子及びポートサービスハンドルを要求か ら得る。 ステップ604では、ポートサービスモジュール122又は124は、ポート サービスハンドルと対応付けされたドメインポート例えば212aのポート特性 302をルックアップする。両方が同じサーバノード106上でホストされてい る場合にはサーバプログラム112がポートサービスモジュール122との関係 において「ローカル」であるという点に留意されたい。同様に、第3のサーバプ ログラム116は異なるサーバノード108上でホストされていることから、こ のプログラム16はポートサービスモジュール122との関係において「リモー ト」である。サーバプログラム識別子により識別されたサーバプログラム例えば 112がポートサービスモジュール122との関係においてローカルである場合 、ステップ608で、要求は、ポート特性302により決定された制御を用いて 、処理のためにローカルサーバプログラムまで転送される。ステップ610にお いて、リモートサーバプログラムが選択される場合、要求は、リモートサーバプ ログラム例えば116をホストするサー バノード108のポートサービスモジュール例えば124に送られる。 ポートサービスモジュール122からサーバプログラム例えば122からの応 答を受理するステップ612において、処理が続行する。ステップ614で、ク ライアントプログラム102に対し応答を戻す上で、ポート特性302が用いら れる。 本書で記述された実施例は、例示を目的とするものであって、制限的意味をも つべく意図されていない。従って、当業者であれば、以下で規定するクレームの 範囲及び精神から逸脱することなくその他の実施形態を実践することができると いうことを認識することだろう。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,GM,KE,LS,M W,SD,SZ,UG,ZW),EA(AM,AZ,BY ,KG,KZ,MD,RU,TJ,TM),AL,AM ,AT,AU,AZ,BA,BB,BG,BR,BY, CA,CH,CN,CU,CZ,DE,DK,EE,E S,FI,GB,GE,GH,GM,GW,HU,ID ,IL,IS,JP,KE,KG,KP,KR,KZ, LC,LK,LR,LS,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,SL, TJ,TM,TR,TT,UA,UG,UZ,VN,Y U,ZW

Claims (1)

  1. 【特許請求の範囲】 1.サーバプログラムによって提供されるサービスへのアクセスをクライアン トプログラムに提供する、コンピュータにより実施される方法であって、 該サービスについて複数の特性を有するドメインポートを確立する段階と、 該サービスの要求を受理する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間の通信を選択的に制御する段階と、 を具備する方法。 2.該ドメインポートを介して該クライアントプログラムと該サーバプログラ ムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間で伝送されるメッセージの順序づけを選択的に制御する段階と、 を更に具備する、請求項1に記載の方法。 3.該ドメインポートの該特性を使用して異なるタイプのエラー条件について 選択的に監視する段階、を更に具備する、請求項2に記載の方法。 4.該ドメインポートを介して該クライアントプログラムと該サーバプログラ ムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムから該サーバ プログラムまで何回メッセージが送信されるかを選択的に制御する段階と、 を更に具備する、請求項1に記載の方法。 5.該ドメインポートの該特性を使用して異なるタイプのエラー 条件について選択的に監視する段階、を更に具備する、請求項4に記載の方法。 6.該ドメインポートを介して該クライアントプログラムと該サーバプログラ ムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して異なるタイプのエラー条件について選択 的に監視する段階と、 を更に具備する、請求項1に記載の方法。 7.該確立する段階が、 グローバルネーマーモジュールでポート登録ハンドルを登録する段階と、 該グローバルネーマーモジュールから戻された第1のポートサービスハンドル を該ポート登録ハンドルと結びつける段階と、 ドメインポートテーブル内に該ドメインポートの該特性を格納する段階と、 を具備する、請求項1に記載の方法。 8.ポートサービスモジュールに対し該ポート登録ハンドルを用いて要求を送 る段階と、 該ポート登録ハンドルと対応付けされたドメインポートの特性を使用して、該 サーバプログラムのインスタンスを選択する段階と、 該クライアントプログラムに対し該サーバプログラムのインスタンスと対応付 けされたポートサービスハンドルを戻す段階と、 を更に具備する、請求項7に記載の方法。 9.該ドメインポートを介して該クライアントプログラムと該サーバプログラ ムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間で伝送されるメッセージの順序づけを選択的に制御する段階と、 を更に具備する、請求項8に記載の方法。 10.該ドメインポートの該特性を使用して異なるタイプのエラー条件につい て選択的に監視する段階、を更に具備する、請求項9に記載の方法。 11.該ドメインポートを介して該クライアントプログラムと該サーバプログ ラムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して、該クライアントプログラムから該サー バプログラムまで何回メッセージが送信されるかを選択的に制御する段階と、 を更に具備する、請求項8に記載の方法。 12.該ドメインポートの該特性を使用して異なるタイプのエラー条件につい て選択的に監視する段階、を更に具備する、請求項11に記載の方法。 13.該ドメインポートを介して該クライアントプログラムと該サーバプログ ラムとの間の通信リンクを確立する段階と、 該ドメインポートの該特性を使用して異なるタイプのエラー条件について選択 的に監視する段階と、 を更に具備する、請求項8に記載の方法。 14.複数のサーバプログラムによって提供されるサービスへのアクセスを複 数のクライアントプログラムに提供する、コンピュータにより実施される方法で あって、 各々複数の特性を有する複数のドメインポートを確立する段階と、 該サービスの要求を受理する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間の通信を選択的に制御する段階と、 を具備する方法。 15.サーバプログラムによって提供されるサービスへのアクセスをクライア ントプログラムに提供する装置であって、 該サービスについて複数の特性を有するドメインポートを確立する手段と、 該サービスの要求を受理する手段と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間の通信を選択的に制御する手段と、 を具備する装置。 16.サーバプログラムによって提供されるサービスへのアクセスをクライア ントプログラムに提供するようにコンピュータを誘発するプログラム命令を具備 するコンピュータ読取り可能な媒体であって、該クライアントプログラムへの提 供が、 該サービスについて複数の特性を有するドメインポートを確立する段階と、 該サービスの要求を受理する段階と、 該ドメインポートの該特性を使用して該クライアントプログラムと該サーバプ ログラムとの間の通信を選択的に制御する段階と、 を実行することによってなされる媒体。
JP53957398A 1997-03-12 1998-02-19 クライアントサーバデータ処理システムのための通信システム Expired - Fee Related JP3989969B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/815,742 1997-03-12
US08/815,742 US6061713A (en) 1997-03-12 1997-03-12 Communications system for client-server data processing systems
PCT/US1998/003284 WO1998040820A1 (en) 1997-03-12 1998-02-19 A communications system for client-server data processing systems

Publications (2)

Publication Number Publication Date
JP2002511959A true JP2002511959A (ja) 2002-04-16
JP3989969B2 JP3989969B2 (ja) 2007-10-10

Family

ID=25218728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53957398A Expired - Fee Related JP3989969B2 (ja) 1997-03-12 1998-02-19 クライアントサーバデータ処理システムのための通信システム

Country Status (4)

Country Link
US (1) US6061713A (ja)
JP (1) JP3989969B2 (ja)
AU (1) AU6178098A (ja)
WO (1) WO1998040820A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
EP1058883A2 (en) 1998-02-26 2000-12-13 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6567849B2 (en) * 1998-08-17 2003-05-20 International Business Machines Corporation System and method for configuring and administering multiple instances of web servers
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6760815B1 (en) 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US7296292B2 (en) * 2000-12-15 2007-11-13 International Business Machines Corporation Method and apparatus in an application framework system for providing a port and network hardware resource firewall for distributed applications
US7269647B2 (en) * 2000-12-15 2007-09-11 International Business Machines Corporation Simplified network packet analyzer for distributed packet snooper
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US20060020688A1 (en) * 2001-05-14 2006-01-26 At&T Corp. System having generalized client-server computing
US7320027B1 (en) * 2001-05-14 2008-01-15 At&T Corp. System having generalized client-server computing
JP2003067274A (ja) * 2001-08-27 2003-03-07 Murata Mach Ltd クライアント装置及び処理サーバ
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US20070245005A1 (en) * 2006-04-18 2007-10-18 Banerjee Dwip N Method and data processing system for managing a plurality of interfaces
JP4324975B2 (ja) * 2006-09-27 2009-09-02 日本電気株式会社 負荷低減システム、計算機、及び負荷低減方法
US20100111371A1 (en) * 2008-10-07 2010-05-06 Apteryx, Inc. Image server with multiple image quality ports
US9769292B2 (en) * 2012-01-19 2017-09-19 Miosoft Corporation Concurrent process execution
CN104636210B (zh) * 2013-11-07 2018-11-09 腾讯科技(深圳)有限公司 一种实现进程间数据交换的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
JP3277654B2 (ja) * 1993-12-20 2002-04-22 株式会社日立製作所 異種データベース・アクセス・システム
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
US5734903A (en) * 1994-05-13 1998-03-31 Apple Computer, Inc. System and method for object oriented message filtering
EP0737922B1 (en) * 1995-03-22 2003-05-14 Sun Microsystems, Inc. Method and apparatus for managing computer processes

Also Published As

Publication number Publication date
WO1998040820A1 (en) 1998-09-17
US6061713A (en) 2000-05-09
AU6178098A (en) 1998-09-29
JP3989969B2 (ja) 2007-10-10

Similar Documents

Publication Publication Date Title
JP2002511959A (ja) クライアントサーバデータ処理システムのための通信システム
US5715395A (en) Method and apparatus for reducing network resource location traffic in a network
JP2002512411A (ja) アクセス制御方法および装置
EP0295461B1 (en) A method for locating resources in computer networks
US6260070B1 (en) System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
JP3892987B2 (ja) メッセージ・ブローカ・データ処理装置、方法、及び記録媒体
EP1157343B1 (en) Distributed database system
EP0838056B1 (en) Method, apparatus and electronic storage medium for managing multiple server requests and collating responses
US20080256248A1 (en) Single server access in a multiple tcp/ip instance environment
JP2000500255A (ja) 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法
US7962564B2 (en) Discovery of a virtual topology in a multi-tasking multi-processor environment
US6219705B1 (en) System and method of collecting and maintaining historical top communicator information on a communication device
US6560591B1 (en) System, method, and apparatus for managing multiple data providers
US7864703B2 (en) Packet communication device
US6058425A (en) Single server access in a multiple TCP/IP instance environment
CN110830582B (zh) 一种基于服务器集群选主方法和装置
CN1126329C (zh) 通过通信网发送代理程序的方法和系统
JPH08214015A (ja) 情報処理システムの通信方法および情報処理システム
JP3530036B2 (ja) マルチレイヤネットワーク故障影響範囲推定方法及びその装置
CN111010425A (zh) 一种服务器连接方法、负载均衡设备及电子设备
US6912586B1 (en) Apparatus for journaling during software deployment and method therefor
US20040122944A1 (en) Method and system of locating computers in distributed computer system
AU5946800A (en) Summary building block, and system and method for managing networks
US20060117041A1 (en) Connection of an application to a resource manager selected from a plurality of resource managers
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070419

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: 20070619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees