JP3707326B2 - Iiopコネクション管理方法及びシステム並びに記録媒体 - Google Patents
Iiopコネクション管理方法及びシステム並びに記録媒体 Download PDFInfo
- Publication number
- JP3707326B2 JP3707326B2 JP35970799A JP35970799A JP3707326B2 JP 3707326 B2 JP3707326 B2 JP 3707326B2 JP 35970799 A JP35970799 A JP 35970799A JP 35970799 A JP35970799 A JP 35970799A JP 3707326 B2 JP3707326 B2 JP 3707326B2
- Authority
- JP
- Japan
- Prior art keywords
- iiop
- connection
- priority table
- client
- orb
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、分散オブジェクト指向システムに関し、特に、共通オブジェクトリクエストブローカーアーキテクチャ(Common Object Request Broker Architecture;CORBA)仕様のシステムにおけるリソース管理に好適とされるシステム及び方法並びに記録媒体に関する。
【0002】
【従来の技術】
従来のCORBAを用いたシステムでは、CORBAクライアントからCORBAサーバへIIOP(Internet Inter-ORB Protocol)リクエストが発行された場合、クライアント側、サーバ側のいずれのORB(Object Request Broker:オブジェクトリクエストブローカー)も、IIOPコネクションについて特別な制御は行っていない。
【0003】
一般的なIIOPコネクションの処理手順として、クライアントがIIOPリクエストを発行する前に、サーバに対してのIIOPコネクション接続処理と、クライアントが終了処理をする際のIIOPコネクション切断処理が行われるだけであり、一度接続されたIIOPコネクションは、クライアントが終了するまでは、接続されたままである。
【0004】
【発明が解決しようとする課題】
上記した従来のシステムは次のような問題点を有している。
【0005】
すなわち、IIOPコネクションには、環境(OSやマシンスペックなど)にも依存しているが最大数というものがあり、小規模のシステムを構築する場合には特に問題はないが、大規模システムにおいてクライアント数が増加すると、サーバ側のIIOPコネクション数も増加するため、IIOPコネクションの制御無しでは、不要なIIOPコネクションをそのままに利用しつづけることになり、IIOPコネクションリソースを無駄使いすることになる。
【0006】
なお、CORBAシステムに関する刊行物として、例えば特開平8−328986号公報には、分散オブジェクトシステムにおいて、オブジェクト間の接続形成と終了をする方法と装置として、接続終了メッセージがクライアントによってサーバに対して送られたリクエストに対してサーバプロセスが以後は応答しない旨を表示し、サーバプロセスが過負荷状態又は申込超過状態であることの判定に応答して、接続が終了させられる構成が開示されている。また、特開平10−124470号公報には、サービスを求めるクライアントからのヘッダーとメッセージを含むリクエストを処理するメソッドが、長いと判定された場合に該リクエストに含まれるメッセージを読み取る前に、サーバ側エンドポイントにおいて全ての接続を表示している接続リストから当該接続を削除し、該リクエストに含まれている前記メッセージを読み取った後に、前記削除された接続を前記接続リストへ加え戻すようにして、コンピューティングのオーバヘッドを図るメソッド、装置が開示されている。
【0007】
しかしながら、上記各公報に記載されたシステムは、上記した問題点の認識を欠いており、上記問題点を解消するための具体的な手段については記載されていない。
【0008】
したがって本発明は、上記問題点に鑑みてなされたものであって、その目的は、IIOPコネクションを管理しIIOPコネクションリソースの有効利用を図るシステムを提供することにある。
【0009】
【課題を解決するための手段】
前記目的を達成する本発明に係るシステムは、サーバが、クライアントから、前記サーバのORBに対するIIOPリクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から、メソッドの属性情報を蓄積するリポジトリを参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に前記コネクションに優先順位を付けて管理し、前記ORBが動作する際に消費するリソースであるIIOPのコネクションの利用数を最適化するものである。
【0010】
本発明に係るシステムは、メソッドの属性情報を蓄積する記憶手段と、IIOPコネクションを管理する管理テーブルと、サーバが、クライアントから、前記サーバのORBに対するIIOPリクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から前記リポジトリを参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に前記コネクションに、優先順位を付けて前記テーブル上への更新又は登録を管理する手段と、前記ORBが動作する際に消費するリソースであるIIOPのコネクションの利用数を最適化するよう制御する手段と、を備える。
【0011】
【発明の実施の形態】
本発明の実施の形態について説明する。本発明は、CORBAクライアントからCORBAサーバに対して発行されるメソッドをサーバ側で監視し、サーバ側に蓄積されている各メソッドが同期型又は非同期型を示す属性情報を基に、各コネクションに優先順位を付けることで、ORBが動作する際に消費するリソースである、IIOPのコネクションの利用数を最適化する。
【0012】
本発明の一実施の形態においては、図1を参照すると、ORB(13)とネットワーク制御部11との間にIIOPコネクション管理手段(12)を備えている。このIIOPコネクション管理手段(IIOPコネクション管理エンジン12)は、ORB(13)とネットワーク制御手段(11)の間のIIOPリクエストを監視し、IIOPリクエストの内容から、IIOPコネクションの優先順位を決定し、この情報を基に、IIOPコネクション数の制御する。ORBが消費するIIOPのコネクション数の最適化を可能にする。
【0013】
本発明は、好ましい一実施の形態において、サーバ(1)が、ORB(13)と、クライアント(2)とのネットワーク通信を制御するネットワーク制御手段(11)と、メソッドの情報を記憶する記憶手段(14)と、IIOPコネクション管理手段(12)と、クライアントのポート番号とクライアントのホスト名よりなるIIOPコネクションデータ、メソッド名、メソッド属性、TTL(Time-To-Live;生存時間)、リプライフラグ(応答フラグ)の各フィールドを一エントリあたり有する優先順位テーブル(121)と、を備え、サーバのネットワーク制御手段(11)は、クライアント(2)から接続要求を受けると、クライアント間にコネクションを張り、該コネクションを経由して、該クライアント(2)からCORBAリクエストを受け取ると、IIOPコネクション情報とCORBAリクエスト情報をIIOPコネクション管理手段(12)へ渡す。
【0014】
IIOPコネクション管理手段(12)はネットワーク制御手段(11)からの情報データを受け取り、クライアント(2)からのメソッド名を抽出し、前記メソッド名をキーとして、前記メソッドの属性が非同期型であるか同期型であるかを記憶手段(14)を検索して調べ、さらに、クライアント(2)のポート番号とクライアントのホスト名をキーとして、優先順位テーブル(121)を検索して、当該CORBAリクエストが送信されたIIOPコネクションが登録されているか否かを調べる。
【0015】
IIOPコネクション管理手段(12)は、検索の結果、IIOPコネクションが登録されている場合には、前記メソッドの属性に基づき優先順位テーブル(121)の更新処理を行い、前記IIOPコネクションが登録されていない場合には、前記メソッドの属性に基づき優先順位テーブル(121)に登録処理を行う。
【0016】
IIOPコネクション管理手段(121)は優先順位テーブル(121)の更新又は登録処理を完了の後に、IIOPリクエストをORB(13)に渡し、ORBは受け取ったIIOPリクエストに対してCORBA仕様に準拠した処理を実行する。
【0017】
IIOPコネクション管理手段(12)は、メソッドの属性に基づき前記優先順位テーブルの更新処理を行うにあたり、記憶手段(14)から読み出したメソッドの属性が、非同期型の場合には、優先順位テーブル(121)の該当エントリのTTL値は変更せずに、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に移動し、記憶手段(14)から読み出したメソッドの属性が、同期型の場合には、TTL値を1加算処理をして、リプライフラグを継続("CONTINUE")に設定して、優先順位テーブル(121)のキューの最後尾に移動するように制御する。
【0018】
またIIOPコネクション管理手段(12)は、メソッドの属性に基づき前記優先順位テーブルの登録処理を行うにあたり、記憶手段(14)から読み出したメソッドの属性が、非同期型の場合には、TTL値を0に設定して、リプライフラグを完了("DONE")に設定して、優先順位テーブル(121)のキューの最後尾に保存し、記憶手段(14)から読み出したメソッドの属性が、同期型の場合には、TTL値を1に設定して、リプライフラグを継続("CONTINUE")に設定して、優先順位テーブル(121)のキューの最後尾に保存する。
【0019】
ORB(13)は、IIOPリクエストで送られてきたメソッドの属性が同期通信の場合、処理結果をクライアントに返信するためにIIOPコネクション管理手段(12)に処理結果を渡す。
【0020】
IIOPコネクション管理手段(12)は、ORBから処理結果を受け取ると、その処理結果の元であるメソッドが登録されているエントリを優先順位テーブル(121)から検索して、該当エントリのリプライフラグを完了("DONE")に変更した後に、ネットワーク制御手段(11)を介して処理結果をクライアントへ送信する。IIOPコネクション管理手段(12)は、一定時間毎にIIOPコネクション管理手段(12)へ割り込みを上げるタイマー手段(15)から、割り込みを受け取ると、優先順位テーブル(121)のTTL値の変更処理を行い、その際、優先順位テーブル(121)をキューの上位から順次に検索していき、優先順位テーブル(121)の各TTL値を1減算し、次に、前記優先順位テーブルに登録されているエントリ数を読み出し、この値と、予め記憶部(122)に設定されている最大IIOPコネクション数を比較し、前記エントリ数が前記最大IIOPコネクション数よりも大の場合には、優先順位テーブル(121)のキューの上位から検索し、TTL値が0で、かつ、リプライフラグが完了("DONE")のエントリが存在する場合、該コネクションを切断するために、ネットワーク制御手段(11)に対して、該当コネクションの切断処理を依頼し、前記優先順位テーブルから該当エントリを削除し、優先順位テーブル(121)に登録されているエントリ数が最大IIOPコネクション数以下とする。
【0021】
【実施例】
上記した本発明の実施の形態について更に詳細に説明すべく、本発明の実施例について図面を参照して説明する。図1は、本発明の一実施例の構成を示す図である。図1を参照すると、本発明の一実施例において、ユーザから要求された処理を実行するためのメソッドを発行するクライアント2と、クライアント2から発行されたメソッドを処理するサーバ1と、を備え、サーバ1は、ネットワーク制御部11と、IIOPコネクション管理エンジン12と、オブジェクト・リクエスト・ブローカー(ORB)13と、インターフェース・リポジトリ14と、タイマー15と、を備えている。
【0022】
ネットワーク制御部11は、OS(オペレーティングシステム)レベルでサーバ1に接続するネットワーク機器の制御を行い、サーバ・クライアント間のコネクションに関する接続・切断処理、データの送受信を制御する。
【0023】
IIOPコネクション管理エンジン12は、サーバ・クライアント間のIIOPコネクションを監視し、ネットワークを経由して送信されるIIOPリクエストと、インターフェース・リポジトリ14に蓄積されている情報を基に、IIOPコネクションの最適化処理を行う。IIOPコネクション管理エンジン12は、優先順位テーブル121と最大IIOPコネクション数蓄積部122を備える。
【0024】
優先順位テーブル121は、図7に示すように、IIOPコネクションデータ(クライアント側のポート(port)番号とクライアントのホスト名)、メソッド名、メソッドの属性、TTL時間、リプライ(rely)・フラグの情報を記憶している。
【0025】
最大IIOPコネクション数蓄積部122には、サーバ1がシステム的に利用できるIIOPコネクション数の最大値が格納されている。
【0026】
ORB13は、ネットワーク制御部11とIIOPコネクション管理エンジン12を経由して、サーバ・クライアント間でやりとりされるCORBAリクエストを処理する。
【0027】
インターフェース・リポジトリ14は、クライアント2から発行されるメソッドの情報をと蓄積する記憶装置である。
【0028】
インターフェース・リポジトリ14に蓄積されているメソッドの属性情報の種類としては、非同期型、同期型の2つがある。
【0029】
このうち非同期型は、クライアントから発行されるCORBAリクエストに対してサーバの処理結果の応答を必要としない。
同期型は、クライアントから発行されるCORBAリクエストに対してサーバの処理結果の応答を必要とする。
【0030】
タイマー15は、一定時間ごとに、IIOPコネクション管理エンジン12へ割り込みを上げる。
【0031】
図2乃至図6は、本発明の一実施例の処理を説明するための流れ図である。図1乃至図6を参照して、本発明の一実施例の動作について説明する。
【0032】
サーバ1のネットワーク制御部11は、クライアント2から接続要求を受けると、クライアント2間にコネクションを張る。そのコネクションを経由して、CORBAリクエストを受け取ると、そのデータを上位のIIOPコネクション管理エンジン12へCORBAリクエストを渡す(図2のステップA1)。
【0033】
IIOPコネクション管理エンジン12はそのデータからクライアント1からのメソッド名に関するデータを取り出す(図2のステップA2)。
【0034】
IIOPコネクション管理エンジン12は取り出したメソッド名をキーに、そのメソッドの属性が非同期型であるか同期型であるかをインターフェース・リポジトリ14に蓄積されているメソッドの属性を読み出ことで調べる(図2のステップA3)。
【0035】
IIOPコネクション管理エンジン12は、優先順位テーブル121を検索して(図2のステップA4)、クライアントのポート番号とクライアントのホスト名をキーとして、当該CORBAリクエストが送信されたIIOPコネクションが登録されているか否かを調べる(図2のステップA5)。
【0036】
IIOPコネクションが登録されている場合には、優先順位テーブル121の更新処理を行う(図3のステップB1、B2)。
【0037】
インターフェース・リポジトリ14から読み出したメソッドの属性が、非同期通信型の場合には、TTL値は変更せずに、リプライ(reply)フラグを"DONE"(完了)に設定して、優先順位テーブル121のキューの最後尾に移動する(図3のステップB3)。
【0038】
インターフェース・リポジトリ14から読み出したメソッドの属性が同期通信型の場合には、TTL値を1加算処理をして、リプライ(reply)フラグを"CONTINUE"(継続)に設定して、優先順位テーブル121のキューの最後尾に移動する(図3のステップB4)。
【0039】
一方、図2のステップA5の判定で、コネクションが登録されていない場合には、優先順位テーブル121に登録処理を行う(図4のステップC1)。
【0040】
インターフェース・リポジトリ14から読み出したメソッドの属性が非同期通信型の場合には、TTL値を0に設定して、リプライ(reply)フラグを"DONE"に設定して、優先順位テーブル121のキューの最後尾に保存する(図4のステップC2)。
【0041】
インターフェース・リポジトリ14から読み出したメソッドの属性が同期通信型の場合には、TTL値を1に設定して、リプライ(reply)フラグを"CONTINUE"に設定して、優先順位テーブル121のキューの最後尾に保存する(図4のステップC3)。
【0042】
IIOPコネクション管理エンジン12は、優先順位テーブル121の登録・更新作業を完了の後に、IIOPリクエストをORB13に渡す。
【0043】
ORB13は受け取ったIIOPリクエストに対してCORBA仕様に準拠した処理を実行する。
【0044】
IIOPリクエストで送られてきたメソッドの属性が同期通信の場合、ORB13は処理結果をクライアント1に返信するためにIIOPコネクション管理エンジン12に処理結果を渡す。
【0045】
IIOPコネクション管理エンジン12はORB13から処理結果を受け取ると、その処理結果の元であるメソッドが登録されているエントリを優先順位テーブル121から検索して、該当エントリのリプライ(reply)フラグを"DONE"に変更した後に、ネットワーク制御部11に処理結果を渡す。
【0046】
ネットワーク制御部11は処理結果をクライアント2へ送信する。
【0047】
タイマー15は一定時間毎にIIOPコネクション管理エンジン12へ割り込みを上げ、IIOPコネクション管理エンジン12はタイマー15からの割り込みを受け取ると、次の2つの処理を行う。
【0048】
はじめに優先順位テーブル121のTTL値の変更処理を行う。
【0049】
IIOPコネクション管理エンジン12は優先順位テーブル121をキューの上位から順次に検索していき、優先順位テーブル121の各TTL値を1減算する(図5のステップD1)。
【0050】
次に、切断依頼処理を行う。
【0051】
IIOPコネクション管理エンジン12は、優先順位テーブル121に登録されているエントリ数を読み出して(図5のステップD2)、この値と最大IIOPコネクション数蓄積部122の値を比較する(図5のステップD3)。
【0052】
優先順位テーブル121に登録されているエントリ数が最大IIOPコネクション数蓄積部122の値を下まわっている場合には、処理を終了する。
【0053】
優先順位テーブル121に登録されているエントリ数が最大IIOPコネクション数蓄積部122の値より大きい場合には、IIOPコネクション管理エンジン12は優先順位テーブル121のキューの上位から検索を行い(図6のステップE2)、TTL値が0で、かつ、リプライ(reply)フラグが"DONE"であるエントリが存在する場合には(図6のステップE3のYes)、そのコネクションを切断するために、ネットワーク制御部13に対して、該当コネクションの切断処理を依頼した後(図6のステップE4)、該当エントリの削除処理を実行する(図6のステップE5)。
【0054】
一連の処理を優先順位テーブル121に登録されているエントリ数が最大IIOPコネクション数蓄積部122の値以下になるか(図6のステップE6)、優先順位テーブル121を全て検索し終えるまで繰り返す。
【0055】
【発明の効果】
以上説明したように、本発明によれば下記記載の効果を奏する。
【0056】
本発明の第1の効果は、ORBに接続されるIIOPコネクションの優先順位を一意に決定し、IIOPコネクションを管理することができる、ということである。
【0057】
その理由は、本発明においては、クライアントからサーバに対してCORBAリクエストが送られてきた際に、サーバ側で保持している各メソッドの特徴を示す属性情報を利用して各IIOPコネクションの接続状態の重要度を決定を行う構成としているためである。
【0058】
本発明の第2の効果は、システムが有する最大コネクション数の範囲内でIIOPコネクションを有効に活用できる、ということである。
【0059】
その理由は、本発明においては、優先順位を基に不要なIIOPコネクションを一意に決定して切断することで、システムが有する最大コネクション数の範囲内でIIOPコネクションを有効に活用できるようにしたためである。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図である。
【図2】本発明の一実施例の処理手順を示すフローチャートである。
【図3】本発明の一実施例の処理手順を示すフローチャートである。
【図4】本発明の一実施例の処理手順を示すフローチャートである。
【図5】本発明の一実施例の処理手順を示すフローチャートである。
【図6】本発明の一実施例の処理手順を示すフローチャートである。
【図7】本発明の一実施例における優先順位テーブルの構成の一例を示す図である。
【符号の説明】
1 サーバ
2 クライアント
11 ネットワーク制御部
12 IIOPコネクション管理エンジン
13 ORB(オブジェクト・リクエスト・ブローカー)
14 インタフェース・リポジトリ
15 タイマー
121 優先順位テーブル
122 最大IIOPコネクション数蓄積部
Claims (16)
- 分散システムのサーバが、クライアントから前記サーバのORB( Object Request Broker )に対する所定のプロトコルのリクエストを受け取ると、前記リクエストからメソッド名情報を取得し、このメソッド名から、メソッドの属性情報を蓄積する記憶手段を参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、
前記メソッドの属性情報を基に、コネクションに優先順位を付けてテーブル上で登録管理し、
前記所定のプロトコルのコネクションの優先順位情報を基に、所定のプロトコルのコネクション数を制御することで、前記ORBが動作する際に消費するリソースである所定のプロトコルのコネクションの利用数を最適化する、
ことを特徴とするコネクション管理方法。 - CORBA(Common Object Request Broker Architecture;共通オブジェクト・リクエスト・ブローカー・アーキテクチャ)システムのサーバが、クライアントから前記サーバのORB(Object Request Broker)に対するIIOP(Internet Inter-ORB Protocol)リクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から、メソッドの属性情報を蓄積する記憶手段を参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、
前記メソッドの属性情報に基に、コネクションに優先順位を付けてテーブル上で登録管理し、
前記IIOPコネクションの優先順位情報を基に、IIOPコネクション数を制御することで、前記ORBが動作する際に消費するリソースであるIIOPのコネクションの利用数を最適化する、
ことを特徴とするIIOPコネクション管理方法。 - 所定の時間毎に、前記テーブルに登録されているコネクションの接続時間管理情報(Time-To-Live値)を更新管理するとともに、前記テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位に従い前記テーブルのエントリを検索し、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態のコネクションを切断するとともに前記テーブルから該当するコネクションのエントリを削除し、コネクション数を前記規定値以下とする、ことを特徴とする請求項2記載のIIOPコネクション管理方法。
- メソッドの属性情報を蓄積する第1の記憶手段と、
IIOP(Internet Inter-ORB Protocol)コネクションを管理するための優先順位テーブルを記憶する第2の記憶手段と、
クライアントからサーバのORB(Object Request Broker)に対するIIOPリクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から前記第1の記憶手段を参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に、前記コネクションに優先順位を付けて、前記優先順位テーブルの更新又は前記優先順位テーブルへの新規登録を管理する手段と、
前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を越えた場合、前記優先順位テーブルから、所定の条件に該当するコネクションを選択して該コネクションを切断し、前記ORBが動作する際に消費するリソースであるIIOPのコネクションの利用数を最適化するよう制御する手段と、
を備えたことを特徴とするIIOPコネクション管理システム。 - 所定の時間毎に、前記優先順位テーブルに登録されているコネクションの接続時間管理情報(Time-To-Live値)を更新管理するとともに、前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位に従い前記テーブルのエントリを検索して、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態にあるコネクションを切断するとともに前記テーブルから該当するコネクションのエントリを削除し、コネクション数を前記規定値以下とするように制御する手段を備えた、ことを特徴とする請求項4記載のIIOPコネクション管理システム。
- メソッドの属性情報を蓄積する第1の記憶手段と、
所定のプロトコルのコネクションを管理するための優先順位テーブルを記憶する第2の記憶手段と、
クライアントとのネットワーク通信接続を制御するネットワーク制御部と、
ORB( Object Request Broker )と、
前記ORBと前記ネットワーク制御部との間に介挿されるコネクション管理手段と、
所定時間毎に前記コネクション管理手段に通知を行うタイマーと、
を備え、
前記コネクション管理手段が、クライアントからサーバのORB( Object Request Broker )に対する所定のプロトコルのリクエストを受け取ると、前記リクエストからメソッド名情報を取得し、このメソッド名から前記第1の記憶手段を参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に、前記コネクションに、優先順位を付けて、前記優先順位テーブル上への更新又は登録を管理する手段と、
前記タイマーからの通知を受けて、所定の時間毎に、前記優先順位テーブルに登録されているコネクションの接続時間管理情報( Time-To-Live 値)を更新管理するとともに、前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位に従い前記テーブルのエントリを検索し、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態のコネクションを切断するとともに前記テーブルから該当するコネクションのエントリを削除し、コネクション数を前記規定値以下とするように制御する手段と、
を備えたことを特徴とするサーバ装置。 - メソッドの属性情報を蓄積する第1の記憶手段と、
IIOP(Internet Inter-ORB Protocol)コネクションを管理するための優先順位テーブルを記憶する第2の記憶手段と、
クライアントとのネットワーク通信接続を制御するネットワーク制御部と、
ORB(Object Request Broker)と、
前記ORBと前記ネットワーク制御部との間に介挿されるIIOPコネクション管理手段と、
所定時間毎に前記IIOPコネクション管理手段に通知を行うタイマーと、
を備え、
前記IIOPコネクション管理手段が、クライアントからサーバのORB(Object Request Broker)に対するIIOPリクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から前記第1の記憶手段を参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に、前記コネクションに、優先順位を付けて、前記優先順位テーブル上への更新又は登録を管理する手段と、
前記タイマーからの通知を受けて、所定の時間毎に、前記優先順位テーブルに登録されているコネクションの接続時間管理情報(Time-To-Live値)を更新管理するとともに、前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位に従い前記テーブルのエントリを検索し、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態のコネクションを切断するとともに前記テーブルから該当するコネクションのエントリを削除し、コネクション数を前記規定値以下とするように制御する手段と、
を備えたことを特徴とするサーバ装置。 - ORB(Object Request Broker)と、クライアントとの間のネットワーク通信を制御するネットワーク制御手段と、メソッドの情報を記憶する記憶手段と、IIOP(Internet Inter-ORB Protocol)コネクション管理手段と、前記クライアントのポート番号とクライアントのホスト名よりなるIIOPコネクションデータ、メソッド名、メソッド属性、TTL(Time-To-Live)、リプライフラグ(応答フラグ)の各フィールドをエントリ毎に含む優先順位テーブルと、を備えたサーバと、クライアントとを備えたシステムであって、
前記サーバのネットワーク制御手段は、前記クライアントから接続要求を受けると、前記クライアント間にコネクションを張り、前記コネクションを経由して、前記クライアントからCORBAリクエストを受け取ると、IIOPコネクション情報とCORBAリクエスト情報を前記IIOPコネクション管理手段へ渡し、
前記IIOPコネクション管理手段では、前記ネットワーク制御手段からの情報データを受け取り、前記クライアントからのメソッド名を抽出し、前記メソッド名をキーとして、前記メソッドの属性が非同期型であるか同期型であるかを前記記憶手段を検索して調べ、さらに、前記クライアントのポート番号とクライアントのホスト名をキーとして、前記優先順位テーブルを検索して、当該CORBAリクエストが送信されたIIOPコネクションが登録されているか否かを調べ、
IIOPコネクションが登録されている場合には、前記メソッドの属性に基づき前記優先順位テーブルの更新処理を行い、
前記IIOPコネクションが登録されていない場合には、前記メソッドの属性に基づき前記優先順位テーブルに登録処理を行い、
さらに前記IIOPコネクション管理手段は、前記優先順位テーブルの更新又は登録処理の完了の後に、前記IIOPリクエストを前記ORBに渡し、
前記ORBは受け取ったIIOPリクエストに対してCORBA仕様に準拠した処理を実行する、
ことを特徴とするIIOPコネクション管理システム。 - 前記IIOPコネクション管理手段が、前記メソッドの属性に基づき前記優先順位テーブルの更新処理を行うにあたり、
前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、前記優先順位テーブルの該当エントリのTTL値は変更せずに、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に移動し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」加算し、リプライフラグを継続("CONTINUE")に設定して、前記優先順位テーブルのキューの最後尾に移動するように制御する手段と、
前記IIOPコネクション管理手段が、前記メソッドの属性に基づき前記優先順位テーブルの登録処理を行うにあたり、
前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、TTL値を「0」に設定して、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に保存し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」に設定して、リプライフラグを継続("CONTINUE")に設定し、前記優先順位テーブルのキューの最後尾に保存する手段を備えた、ことを特徴とする請求項8記載のIIOPコネクション管理システム。 - IIOPリクエストで送られてきたメソッドの属性が同期通信の場合、前記ORBは処理結果をクライアントに返信するためにIIOPコネクション管理手段に処理結果を渡し、
前記IIOPコネクション管理手段は、前記ORBから処理結果を受け取ると、その処理結果の元であるメソッドが登録されているエントリを前記優先順位テーブルから検索して、該当エントリのリプライフラグを完了("DONE")に変更した後に、前記ネットワーク制御手段を介して処理結果をクライアントへ送信し、
一定時間毎にIIOPコネクション管理手段へ割り込みを上げるタイマー手段から、割り込みを受け取ると、前記IIOPコネクション管理手段は、前記優先順位テーブルのTTL値の変更処理を行い、その際、前記優先順位テーブルをキューの上位から順次に検索していき、前記優先順位テーブルの各TTL値を「1」減算し、
次に、前記優先順位テーブルに登録されているエントリ数を読み出し、この値と、予め設定されている最大IIOPコネクション数を比較し、前記エントリ数が前記最大IIOPコネクション数よりも大の場合には、前記優先順位テーブルのキューの上位側から検索し、TTL値が「0」であり、且つ、リプライフラグが完了("DONE")のエントリが存在する場合、該コネクションを切断するために、前記ネットワーク制御手段に対して、該当コネクションの切断処理を依頼し、前記優先順位テーブルから該当エントリを削除し、前記優先順位テーブルに登録されているエントリ数が最大IIOPコネクション数以下とする、ことを特徴とする請求項8又は9に記載のIIOPコネクション管理システム。 - (a)サーバにおいてネットワーク制御手段が、クライアントから接続要求を受けると、前記クライアント間にコネクションを張り、前記コネクションを経由して、前記クライアントからCORBA(Common Object Request Broker Architecture)リクエストを受け取ると、IIOP(Internet Inter-ORB Protocol)コネクション情報とCORBAリクエスト情報を、前記ネットワーク制御手段とORBとの間に設けられたIIOPコネクション管理手段へ渡し、
(b)前記IIOPコネクション管理手段では、前記ネットワーク制御手段からの情報データを受け取り、前記クライアントからのメソッド名を抽出し、前記メソッド名をキーとして、前記メソッドの属性が非同期型であるか同期型であるかを、メソッド情報を記憶した記憶手段を検索して調べ、さらに、前記クライアントのポート番号とクライアントのホスト名をキーとして、クライアントのポート番号とクライアントのホスト名よりなるIIOPコネクションデータ、メソッド名、メソッド属性、TTL(Time-To-Live)、リプライフラグの各フィールドをエントリ毎に含む優先順位テーブルを検索して、当該CORBAリクエストが送信されたIIOPコネクションが登録されているか否かを調べ、
(c)IIOPコネクションが登録されている場合には、前記メソッドの属性に基づき前記優先順位テーブルの更新処理を行い、その際、前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、前記優先順位テーブルの該当エントリのTTL値は変更せずに、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に移動し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」加算して、リプライフラグを継続("CONTINUE")に設定し、前記優先順位テーブルのキューの最後尾に移動し、
(d)前記IIOPコネクションが登録されていない場合には、前記メソッドの属性に基づき前記優先順位テーブルに登録処理を行い、その際、
前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、TTL値を「0」に設定して、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に保存し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」に設定して、リプライフラグを継続("CONTINUE")に設定して、前記優先順位テーブルのキューの最後尾に保存し、
(e)前記IIOPコネクション管理手段は前記優先順位テーブルの更新又は登録処理を完了の後に、前記IIOPリクエストをORB(Object Request Broker)に渡し、
(f)前記ORBは受け取ったIIOPリクエストに対してCORBA仕様に準拠した処理を実行する、
ことを特徴とするIIOPコネクション管理方法。 - (g)IIOPリクエストで送られてきたメソッドの属性が同期通信の場合、前記ORBは処理結果をクライアントに返信するためにIIOPコネクション管理手段に処理結果を渡し、
(h)前記IIOPコネクション管理手段は、前記ORBから処理結果を受け取ると、その処理結果の元であるメソッドが登録されているエントリを前記優先順位テーブルから検索して、該当エントリのリプライフラグを完了("DONE")に変更した後に、前記ネットワーク制御手段を介して処理結果をクライアントへ送信し、
(i)前記IIOPコネクション管理手段は、一定時間毎に前記IIOPコネクション管理手段へ割り込みを上げるタイマー手段から、割り込みを受け取ると、前記IIOPコネクション管理手段は、前記優先順位テーブルのTTL値の変更処理を行い、その際、前記優先順位テーブルをキューの上位側から順次に検索していき、前記優先順位テーブルの各TTL値を「1」減算し、
(j)次に、前記優先順位テーブルに登録されているエントリ数を読み出し、この値と、予め設定されている最大IIOPコネクション数を比較し、前記エントリ数が前記最大IIOPコネクション数よりも大の場合には、前記優先順位テーブルのキューの上位側から検索し、TTL値が「0」であり、且つ、リプライフラグが完了("DONE")のエントリが存在する場合、該コネクションを切断するために、前記ネットワーク制御手段に対して、該当コネクションの切断処理を依頼するとともに、前記優先順位テーブルから該当エントリを削除し、前記優先順位テーブルに登録されているエントリ数が最大IIOPコネクション数以下とする、ことを特徴とする請求項11記載のIIOPコネクション管理方法。 - クライアントとネットワーク接続するサーバ装置が、
メソッドの属性情報を蓄積するレポジトリと、
予め定められた所定のプロトコルのコネクションを管理するための優先順位テーブルと、
クライアントとのネットワーク通信接続を制御するネットワーク制御部と、
ORB( Object Request Broker )と、
前記ORBと前記ネットワーク制御部との間に、前記所定のプロトコルのコネクション管理機能と、
所定時間毎に前記コネクション管理機能に通知を行うタイマーと、
を備え、
前記コネクション管理機能が、
(a)前記クライアントから前記ORB( Object Request Broker )に対する前記所定のプロトコルのリクエストを受け取ると、前記リクエストからメソッド名情報を取得し、このメソッド名から前記レポジトリを参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に、前記コネクションに、優先順位を付けて、前記優先順位テーブル上への更新又は登録を管理する処理と、
(b)前記タイマーからの通知を受けて、所定の時間毎に、前記優先順位テーブルに登録されているコネクションの接続時間管理情報( Time-To-Live 値)を更新管理するとともに、前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位の順に前記テーブルを検索し、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態のコネクションを切断するとともに前記テーブルから該当するコネクションを削除し、コネクション数を前記規定値以下とするように制御する処理と、
を具備し、
前記コネクション管理機能の前記(a)及び(b)の処理を前記サーバ装置のコンピュータで実行させるプログラムを記録した記録媒体。 - クライアントとネットワーク接続するサーバ装置が、
メソッドの属性情報を蓄積するレポジトリと、
IIOP(Internet Inter-ORB Protocol)コネクションを管理するための優先順位テーブルと、
クライアントとのネットワーク通信接続を制御するネットワーク制御部と、
ORB(Object Request Broker)と、
前記ORBと前記ネットワーク制御部との間に、IIOPコネクション管理機能と、
所定時間毎に前記IIOPコネクション管理手段に通知を行うタイマーと、
を備え、
前記IIOPコネクション管理機能が、
(a)前記クライアントから前記ORB(Object Request Broker)に対するIIOPリクエストを受け取ると、前記IIOPリクエストからメソッド名情報を取得し、このメソッド名から前記レポジトリを参照して、前記メソッドが同期型、非同期型のいずれであるかを調べ、前記メソッドの属性情報を基に、前記コネクションに、優先順位を付けて、前記優先順位テーブル上への更新又は登録を管理する処理と、
(b)前記タイマーからの通知を受けて、所定の時間毎に、前記優先順位テーブルに登録されているコネクションの接続時間管理情報(Time-To-Live値)を更新管理するとともに、前記優先順位テーブルに登録されているコネクション数が予め定められた規定値を超えているとき、前記優先順位の順に前記テーブルを検索し、接続時間管理情報が時間超過状態を示しており、且つ処理完了状態のコネクションを切断するとともに前記テーブルから該当するコネクションを削除し、コネクション数を前記規定値以下とするように制御する処理と、
を具備し、
前記IIOPコネクション管理機能の前記(a)及び(b)の処理を前記サーバ装置のコンピュータで実行させるプログラムを記録した記録媒体。 - ORB(Object Request Broker)と、クライアントとの間のネットワーク通信を制御するネットワーク制御手段と、メソッドの情報を記憶する記憶手段と、IIOP(Internet Inter-ORB Protocol)コネクション管理手段と、前記クライアントのポート番号とクライアントのホスト名よりなるIIOPコネクションデータ、メソッド名、メソッド属性、TTL(Time-To-Live)、リプライフラグを含む優先順位テーブルと、を備えたサーバと、クライアントとを備えたCORBA(Common Object Request Broker Architecture)仕様のシステムであって、
(a)前記サーバにおいて前記ネットワーク制御手段は、前記クライアントから接続要求を受けると、前記クライアント間にコネクションを張り、前記コネクションを経由して、前記クライアントからCORBA(Common Object Request Broker Architecture)リクエストを受け取ると、IIOPコネクション情報とCORBAリクエスト情報を前記IIOPコネクション管理手段へ渡し、
前記IIOPコネクション管理手段において、
(b)前記ネットワーク制御手段からの情報データを受け取り、前記クライアントからのメソッド名を抽出し、前記メソッド名をキーとして、前記メソッドの属性が非同期型であるか同期型であるかを、メソッド情報を記憶した記憶手段を検索して調べ、さらに、前記クライアントのポート番号とクライアントのホスト名をキーとして、クライアントのポート番号とクライアントのホスト名よりなるIIOPコネクションデータ、メソッド名、メソッド属性、TTL、リプライフラグを含む優先順位テーブルを検索して、当該CORBAリクエストが送信されたIIOPコネクションが登録されているか否かを調べ、
(c)IIOPコネクションが登録されている場合には、前記メソッドの属性に基づき前記優先順位テーブルの更新処理を行い、その際、前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、前記優先順位テーブルの該当エントリのTTL値は変更せずに、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に移動し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」加算して、リプライフラグを継続("CONTINUE")に設定し、前記優先順位テーブルのキューの最後尾に移動し、
(d)前記IIOPコネクションが登録されていない場合には、前記メソッドの属性に基づき前記優先順位テーブルに登録処理を行い、その際、
前記記憶手段から読み出したメソッドの属性が、非同期型の場合には、TTL値を「0」に設定し、リプライフラグを完了("DONE")に設定して、前記優先順位テーブルのキューの最後尾に保存し、
前記記憶手段から読み出したメソッドの属性が、同期型の場合には、TTL値を「1」に設定して、リプライフラグを継続("CONTINUE")に設定して、前記優先順位テーブルのキューの最後尾に保存し、
(e)前記優先順位テーブルの更新又は登録処理を完了の後に、前記IIOPリクエストをORBに渡し、
前記ORBにおいて、
(f)前記IIOPコネクション管理手段から受け取ったIIOPリクエストに対してCORBA仕様に準拠した処理を実行し、前記IIOPリクエストで送られてきたメソッドの属性が同期通信の場合、前記ORBは処理結果をクライアントに返信するために前記IIOPコネクション管理手段に処理結果を渡して前記クライアントに通知する、
前記(a)乃至(f)の一連の処理を実行する前記ネットワーク制御手段、前記IIOPコネクション管理手段、及び前記ORBを前記サーバで機能させるためのプログラムを記録した記録媒体。 - 請求項15記載の記録媒体において、
(g)前記IIOPコネクション管理手段は、前記ORBから処理結果を受け取ると、その処理結果の元であるメソッドが登録されているエントリを前記優先順位テーブルから検索して、該当エントリのリプライフラグを完了("DONE")に変更した後に、前記ネットワーク制御手段を介して処理結果をクライアントへ送信し、
(h)前記IIOPコネクション管理手段は、一定時間毎に前記IIOPコネクション管理手段へ割り込みを上げるタイマー手段から、割り込みを受け取ると、前記優先順位テーブルのTTL値の変更処理を行い、その際、前記優先順位テーブルをキューの上位から順次に検索していき、前記優先順位テーブルの各TTL値を「1」減算し、
(i)次に、前記IIOPコネクション管理手段は、前記優先順位テーブルに登録されているエントリ数を読み出し、この値と、予め設定されている最大IIOPコネクション数を比較し、前記エントリ数が前記最大IIOPコネクション数よりも大の場合には、前記優先順位テーブルのキューの上位から検索し、TTL値が「0」であり、且つ、リプライフラグが完了("DONE")のエントリが存在する場合、該コネクションを切断するために、前記ネットワーク制御手段に対して、該当コネクションの切断処理を依頼し、前記優先順位テーブルから該当エントリを削除し、前記優先順位テーブルに登録されているエントリ数が最大IIOPコネクション数以下とする、
前記(g)乃至(i)の一連の処理を実行する前記ネットワーク制御手段、前記IIOPコネクション管理手段、及び前記ORBを前記サーバで機能させるためのプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35970799A JP3707326B2 (ja) | 1999-12-17 | 1999-12-17 | Iiopコネクション管理方法及びシステム並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35970799A JP3707326B2 (ja) | 1999-12-17 | 1999-12-17 | Iiopコネクション管理方法及びシステム並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001175613A JP2001175613A (ja) | 2001-06-29 |
JP3707326B2 true JP3707326B2 (ja) | 2005-10-19 |
Family
ID=18465895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35970799A Expired - Fee Related JP3707326B2 (ja) | 1999-12-17 | 1999-12-17 | Iiopコネクション管理方法及びシステム並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3707326B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8956125B2 (en) | 2008-02-08 | 2015-02-17 | Multitrode Pty Ltd | Method for determining pump flow rate |
-
1999
- 1999-12-17 JP JP35970799A patent/JP3707326B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001175613A (ja) | 2001-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6832255B1 (en) | Access control method and apparatus | |
US6170009B1 (en) | Controlling devices on a network through policies | |
US7761542B2 (en) | Network access control method, network system using the method and apparatuses configuring the system | |
CA2372092C (en) | A queuing model for a plurality of servers | |
US6615218B2 (en) | Database for executing policies for controlling devices on a network | |
US6848005B1 (en) | Self-tuning dataflow I/O core | |
JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
JP3812236B2 (ja) | イベント制御手段を備えたネットワーク管理システム | |
US20060031519A1 (en) | System and method for flow control in a network | |
WO1998015903A2 (en) | Method and apparatus for requesting and processing services from a plurality of nodes connected via common communication links | |
JP2005530372A5 (ja) | ||
JP2003513544A (ja) | 電子メッセージ通信システムの方法と装置 | |
EP4068725A1 (en) | Load balancing method and related device | |
US6622167B1 (en) | Document shadowing intranet server, memory medium and method | |
JP3707326B2 (ja) | Iiopコネクション管理方法及びシステム並びに記録媒体 | |
JP4272105B2 (ja) | ストレージグループ設定方法および装置 | |
JP2000047890A (ja) | 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体 | |
JP3013785B2 (ja) | データ格納システム及びデータ格納方法 | |
JP2002368802A (ja) | データ転送規制装置及びデータ転送規制方法 | |
JPH10177510A (ja) | クライアント・サーバ・システム | |
AU754580B2 (en) | Access control method and apparatus | |
JP3422516B2 (ja) | ネットワークシステム | |
JPH05308366A (ja) | Lanにおけるキャッシュシステム | |
KR100474358B1 (ko) | 고속 라우터 시스템의 원격 망 모니터링 기능 구현방법 및장치, 이를 수행하는 프로그램을 기록한 기록매체 | |
JP4483633B2 (ja) | ハードウェアリソースの状態を管理するための情報処理装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041004 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
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: 20080812 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |