(57)【特許請求の範囲】
【請求項１】
分散オブジェクトのサーバと、各サーバにより提供されるサービスについて定められた優先順位との関係を記憶した第１の記憶手段と、
ノードの管理下にある通信路の識別子と、ノード上の処理について定められた優先順位との関係を記憶した第２の記憶手段と、
サーバへの起動要求を検出し、該当するサーバにより提供されるサービスについて定められている優先順位を、上記第１の記憶手段から読み出す優先順位読出し手段と、
上記優先順位読出し手段から読み出された優先順位と同等の優先順位を有する処理に対応する通信路の識別子を、上記第２の記憶手段から読み出す識別子読出し手段と、
検出された上記起動要求に基づいて該当するサーバを実際に起動させると共に、当該サーバを、上記識別子読出し手段により読み出された識別子で特定される通信路に接続させるサーバ起動手段と
を備えることを特徴とするサービス品質管理装置。
【請求項２】
請求項１に記載のサービス品質管理装置において、
上記第２の記憶手段における優先順位の分類区分と、上記第１の記憶手段における優先順位の分類区分とが一致する場合、上記識別子読出し手段は、上記優先順位読出し手段によって読み出された優先順位から直接的に対応する識別子を読み出すようにする
ことを特徴とするサービス品質管理装置。
【請求項３】
請求項１に記載のサービス品質管理装置において、
上記第２の記憶手段における優先順位の分類区分と、上記第１の記憶手段における優先順位の分類区分とが一致しない場合、上記識別子読出し手段は、上記優先順位読出し手段によって読み出された優先順位を基に、これに対応する上記第２の記憶手段上の優先順位を求め、その後、当該新たに求めた優先順位について対応する識別子を読み出すようにする
ことを特徴とするサービス品質管理装置。
【請求項４】
請求項１〜３のいずれかに記載のサービス品質管理装置において、上記通信路を特定する識別子がポート番号である、ことを特徴とするサービス品質管理装置。
【請求項５】
請求項１〜３のいずれかに記載のサービス品質管理装置において、上記通信路を特定する識別子がクライアントの識別子番号である、ことを特徴とするサービス品質管理装置。
【請求項６】
請求項１〜５のいずれかに記載のサービス品質管理装置において、上記第１の記憶手段に記憶されている分散オブジェクトのサーバにより提供されるサービスの優先順位と各サーバとの対応関係は随時変更可能である
ことを特徴とするサービス品質管理装置。
【請求項７】
請求項６に記載のサービス品質管理装置において、
上記対応関係の変更は、クライアントからの指示で変更される
ことを特徴とするサービス品質管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散システム上で提供されるサービス品質の管理技術に関するものである。
【０００２】
【従来の技術】
従来より、分散システムにおいては、計算資源の節約のため利用されていない分散オブジェクトのサーバについてはその動作を一旦停止し、クライアントから呼び出しがあった時点で再度起動するメカニズムを採用している。この起動を実現する機構がアクティベーション機構である。
【０００３】
図２に、当該アクティベーション機構を備える分散システムの構成例を示す。当該システムの主要部は、クライアント・サーバ間の通信を可能とするアクティベーション機構３及び仮想リファレンス４の２つである。以下、アクティベーション機構３及び仮想リファレンス４が、それぞれどのような手順でサーバ２の起動（アクティベート）を実現するかについて説明する。
【０００４】
分散システムの場合、サーバ２の呼出（サーバの持つメソッドの呼出）要求は、クライアント１から仮想リファレンス４に与えられる（図中▲１▼）。仮想リファレンス４は当該要求を受信すると、内部に実リファレンス４Ａが存在するか確認し、存在していれば、当該実リファレンス４Ａに保存されているサーバ２の実アドレス（ポート番号）へ向けて呼出要求を出力する。ここで呼出が成功すれば、サーバ２から応答が返送される。
【０００５】
しかし、サーバ２が停止している等何らかの理由で呼び出しが失敗に終わった場合（図中▲２▼）、仮想リファレンス４は、サーバ２の起動をアクテイベーション機構３に要求すべく、アクティベーション要求を出力する（図中▲３▼）。アクティベーション機構３はこの要求を受信すると、当該要求に応じてサーバ２を起動（アクティベート）させると共に（図中▲４▼）、サーバ２の実アドレス（ポート番号）を保存する新たな実リファレンス４Ａを仮想リファレンス４に応答する（図中▲５▼）。このように、サーバ２の起動に必要な情報（例えばコードやデータの保存場所等）は、アクティベーション機構３がその管理を行っている。
【０００６】
仮想リファレンス４は、新たな実リファレンス４Ａを得ると、当該新たな実リファレンス４Ａを用い、サーバ２へ再度呼出を出力する（図中▲６▼）。呼出が成功すると、その応答がサーバ２より仮想リファレンス４に与えられ、これがクライアント１へと転送される（図中▲７▼▲８▼）。以上の動作の後、クライアント１とサーバ２とは通信できるようになる。
【０００７】
なお、一旦起動されたサーバ２は、自ら停止するか又はアクテイペーション機構３によって停止が命じられるまで起動状態を維持し、クライアント１との通信時には、起動時に割り当てられた通信路（例えば、ＴＣＰ／ＩＰのポート番号）がそのまま使用される。この通信路は、サーバ２の起動時に、アクテイペーション機構３によって割り当てられる。因みに、その割り当てには、サーバ毎に固定の通信路（ポート番号）を割り当てる方法と、起動の毎に適当な通信路（ポート番号）を割り当てる方法のいずれかが用いられている。
【０００８】
【発明が解決しようとする課題】
しかし、上述の割り当て方法では、ネットワーク上のノードで実現されるサービス品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御（トラヒックの優先順位等）とは無関係に、分散オブジェクトのサービスに対して通信路（ポート番号）が固定的に又は無秩序に割り当てられることになるため、既存の分散システムにおいては、分散オブジェクトのサービス品質を制御できなかった。
【０００９】
本発明は、以上の課題を考慮してなされたもので、分散オブジェクトのサービス品質を適応的に制御できるサービス品質制御装置の提案を目的とする。
【００１０】
【課題を解決するための手段】
かかる課題を解決するため、本発明においては、サービス品質制御装置を以下の手段で構成する。
【００１１】
すなわち、（１）  分散オブジェクトのサーバと、各サーバにより提供されるサービスについて定められた優先順位との関係を記憶した第１の記憶手段と、（２）  ノードの管理下にある通信路の識別子と、ノード上の処理について定められた優先順位との関係を記憶した第２の記憶手段と、（３）  サーバへの起動要求を検出し、該当するサーバにより提供されるサービスについて定められている優先順位を、上記第１の記憶手段から読み出す優先順位読出し手段と、（４）  優先順位読出し手段から読み出された優先順位と同等の優先順位を有する処理に対応する通信路の識別子を、第２の記憶手段から読み出す識別子読出し手段と、（５）  検出された起動要求に基づいて該当するサーバを実際に起動させると共に、当該サーバを、識別子読出し手段により読み出された識別子で特定される通信路に接続させるサーバ起動手段とでサービス品質管理装置を構成する。
【００１２】
これにより、優先順位の高いサービスを提供するサーバについては、処理上の優先順位の高い通信路を接続でき、他方、優先順位の低いサービスを提供するサーバについては、処理上の優先順位の低い通信路を接続することができる。
【００１３】
【発明の実施の形態】
（Ａ）第１の実施形態
（Ａ−１）システム構成
以下、本発明に係るサービス品質制御装置の第１の実施形態例を説明する。図１に、当該サービス品質制御装置を備える分散システムの機能ブロック構成を示す。なお、図１に示す構成は、実装上のハードウェア構成又はソフトウェア構成を限定するものでない。また、図１には、図２と同一の部分に同一符号を付し、対応する部分に対応符号を付して表している。
【００１４】
当該システムは、クライアント１と、サーバ２と、これらの間の通信を可能とするアクティベーション機構３’と、仮想リファレンス４と、ポリシ設定ツール５と、ポリシサーバ６とで構成されている。以下、本実施形態に特有の機能部分を中心に説明する。
【００１５】
アクティベーション機構３’は、サーバ起動部３Ａと、ポリシ解決部３Ｂと、ポリシ設定部３Ｃとから構成されてなる。
【００１６】
このうち、サーバ起動部３Ａは、仮想リファレンス４及びポリシ解決部３Ｂと連携して動作する機能部である。サーバ起動部３Ａは、仮想リファレンス４から起動要求を受信すると、これに応じてサーバ２に起動を命じる手段である。その際、サーバ起動部３Ａは、起動が要求されているサーバ２の識別番号（ＩＤ）を検索キーに使用し、当該サーバ２との通信にどのポート番号を使用すれば良いかポリシ解決部３Ｂに間い合わせる。サーバ起動部３Ａは、ポリシ解決部３Ｂからポート番号が得られると、当該ポートとの接続を有効にするようサーバ２に命じると共に、得られたポート番号を実リファレンス４Ａとして仮想リファレンス４に応答する。
【００１７】
ポリシ解決部３Ｂは、ポリシサーバ６、サーバ起動部３Ａ及びポリシ設定部３Ｃのそれぞれ連携して動作する機能部である。このポリシ解決部３Ｂは、サーバ２の識別番号（ＩＤ）と当該サーバ２が提供するサービスの優先順位との対応関係を記憶した対応関係テーブル３Ｂ１（図３）を有している。なお、図３は、優先順位が「高」、「中」、「低」の３段階の場合について表している。
【００１８】
ポリシ解決部３Ｂは、サーバ起動部３Ａからサーバ２の識別番号（ＩＤ）が入力されると、これを検索キーに用いて対応関係テーブル３Ｂ１を参照し、サーバ２に対応する優先順位を求める。また、ポリシ解決部３Ｂは、このように対応関係テーブル３Ｂ１からサーバ２の優先順位が得られると、当該優先順位に対応するポート番号をポリシサーバ６に問い合わせる。ポリシ解決部３Ｂは、ポリシサーバ６からポート番号が１つ通知された場合（通知の際、既に複数のポート番号の中から１つが適当に選ばれる場合を含む。）にはその番号を、ポート番号が複数通知された場合にはそのうちの一つをサーバ起動部３Ａに通知する。
【００１９】
ポリシ設定部３Ｃは、ポリシ解決部３Ｂ及びポリシ設定ツール５と連携して動作する機能部である。ポリシ設定部３Ｃは、ポリシ解決部３Ｂの対応関係テーブル３Ｂ１に格納されているサーバ（サービス）の優先順位を設定し又は修正するための機能部である。
【００２０】
ポリシ設定ツール５は、ポリシ設定部３Ｃを介して対応関係テーブル３Ｂ１を設定し又は修正するために用意されている機能部である。具体的には、特定のサーバ（サービス）を表している識別番号（ＩＤ）の優先順位を「中」から「高」に変更したり、「高」から「低」に変更するのに用いられる。通常、このポリシ設定ツール５は、ノードの管理者によって操作される。このため、ポリシ設定ツール５は、ノードと管理者とのユーザインタフェースを提供する役割を果たす。
【００２１】
ポリシサーバ６は、ネットワーク上におけるノードのポート番号と処理上の優先順位との対応関係を対応関係テーブル６Ａ（図４）により管理するサーバである。なお、図４は、優先順位が「高」、「中」、「低」の３段階である場合を表している。このように、本実施形態では、図３に示すサービス上の優先順位の分類と図４に示す処理上の優先順位の分類とが一致している。
【００２２】
ただし、両優先順位は本来別々に設定されるものであるため、必ずしも２つの優先順位の分類が一致するとは限らない。従って、その場合には、対応関係テーブル３Ｂ１上における優先順位の分類と対応関係テーブル６Ａ上における優先順位の分類とが同じになるように予め修正したものが用いられる。
【００２３】
例えば、サービス上の優先順位の分類が３段階であるのに対し、処理上の優先順位の分類が５段階である場合、処理上の優先順位の分類を３段階に再分類したもの又は一部分類を統合して３分類に編集したものについて対応関係テーブル６Ａを作成し、これを用いるものとする。
【００２４】
（Ａ−２）アクティベーション動作
続いて、実施形態に係るサービス品質制御装置を備える分散システムにおけるアクティベーション動作を説明する。なお、以下の説明では、既に幾つかのサーバ２がアクティベーション機構３’に登録されているものとして説明する。ここでは、サーバ２（１）〜２（５）の５つが登録されているものとする。また、それらサーバに対応するサービスの優先順位は、「高」、「中」、「低」の３段階とする。
【００２５】
図５に、本実施形態に係るアクティベーション動作に関連する実行手順の概要を示す。なお、初期設定時、ポリシ解決部３Ｂの対応関係テーブル３Ｂ１には、各サーバに対応する優先順位としていずれもデフォルト値が設定されているものとする。すなわち、全サーバの優先順位が「中」段階に設定されているものとする。
【００２６】
まず初めに、特定サーバで提供されるサービスの優先順位に変更が生じた場合の動作を説明する。この場合、ポリシ設定ツール５は、ポリシ設定部３Ｃに対し該当するサーバの優先度をどのように変更するかについて指示が与えられる（図中（１）  ）。ポリシ設定部３Ｃは、当該変更指示に応じてポリシ解決部３Ｂ１にアクセスし、対応関係テーブル３Ｂ１の書き換えを行う（図中（２）  ）。例えば、サーバ２（２）（ＩＤ＝００２）の優先順位を「高」に変更し、サーバ２（３）（ＩＤ＝００３）の優先順位を「低」に書き換える。図３は、この書換後の状態を表している。
【００２７】
このように、優先度の設定が完了すると、本実施形態に固有のアクティベーション動作が実行可能な状態になる。アクティベーション動作は、仮想リファレンス４からのサーバ起動要求（図中（４）  ）の出力で開始される。なお、当該要求は、従来例の場合と同様、クライアント１から仮想リファレンス４にサーバ２の呼出要求が出力されるも（図中（３）  ）、何らかの理由で仮想リファレンス４によるサーバ２の呼出が失敗に終わったときに出力される。サーバ起動要求は、仮想リファレンス４からサーバ起動部３Ａに与えられる。
【００２８】
サーバ起動要求を入力すると、サーバ起動部３Ａは、ポリシ解決部３Ｂに対して起動要求のあったサーバ２の識別番号（ＩＤ）を検索キーとして与え（図中（５）  ）、当該サーバ２に対応するポート番号を要求する。
【００２９】
ポリシ解決部３Ｂは、図３に示す対応関係テーブル３Ｂ１を参照し、要求のあったサーバ２に対応する優先度を読み出す。例えば、サーバ２（２）（ＩＤ＝００２）が呼出の対象になっているのであれば、優先度「高」を得る。次に、ポリシ解決部３Ｂは、外部のポリシサーバ６に対し、優先度「高」に対応するポート番号を要求する（図中（６）  ）。例えば、ポリシサーバ６が持つ対応関係テーブル６Ａが図４に示すものであれば、ポリシ解決部３Ｂは、ポート番号３５００〜３６００の中より適当な番号を選び（図中（７）  ）、サーバ起動部３Ａに選んだポート番号を返す（図中（８）  ）。
【００３０】
サーバ起動部３Ａは、この後、サーバ２（２）を起動し、ポリシ解決部３Ｂが返したポート番号に当該サーバ２（２）を接続させる（図中（９）  ）。このとき、サーバ起動部３Ａは、当該動作と並行して実リファレンスとしてポート番号を仮想リファレンス４に応答する（図中（１０））。
【００３１】
仮想リファレンス４は、新たな実リファレンスを得ると、当該新たな実リファレンスを用い、サーバ２（２）へ再度呼出を出力する（図中（１１））。呼出が成功すると、その応答がサーバ２（２）より仮想リファレンス４に与えられ、これがクライアント１へと転送される（図中（１２），（１３））。以上の動作の後、クライアント１とサーバ２（２）とは通信可能となる。
【００３２】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、あるサーバに対してアクティベーションが要求された場合には、まず当該サーバについて設定されている優先度を確認し、次に確認された優先度について割り当てられているポート番号へ当該サーバを接続するようにしたことにより、要求される優先度に応じたポートの接続を適応的に実現できる。
【００３３】
これにより、ネットワーク上のノードで優先的に処理されるポートには優先度の高いサーバを接続でき、ネットワーク上のノードで通常の優先順位で処理されるポートには優先度が普通のサーバを接続でき、ネットワーク上のノードで低い優先順位で処理されるポートには優先度が低いサーバを適応的に接続することが可能となる。
【００３４】
かくして、サーバの優先順位に応じたサービス品質（ＱｏＳ）制御が可能となる。従って、ネットワーク上でのＱｏＳ制御と連動する形で分散オブジェクトサービスのＱｏＳを制御することが可能となる。
【００３５】
（Ｂ）第２の実施形態
以下、本発明に係るサービス品質制御装置の第２の実施形態例を説明する。図６に、当該サービス品質制御装置を備える分散システムの機能ブロック構成例を示す。なお、図６に示す構成の場合も、これは実装上のハードウェア構成又はソフトウェア構成を限定するものでない。また、図６には、図１と同一の部分に同一符号を付し、対応する部分に対応符号を付して表している。
【００３６】
本実施形態と第１の実施形態との違いは、サービス上の優先順位の分類と処理上の優先順位の分類とが一致しない場合に、その違いを対応関係テーブルの事前の修正により吸収するのではなく、両者の対応付けを優先順位対応付け手段により実現する点に特徴がある。
【００３７】
そこで、本実施形態では、対応関係テーブル３Ｂ１に３段階の優先順位が規定される一方、対応関係テーブル６Ａには５段階の優先順位が規定されている場合のについて説明する。図７は、かかる対応関係テーブル６Ａの一例を表している。なお、本実施形態では、処理上の優先順位についての分類がサービス上の優先順位の分類に対して大きい場合について説明するが、その反対の場合も同様である。
【００３８】
本実施形態には、対応関係テーブル３Ｂ１及び６Ａにおける優先順位を対応付ける手段として、優先順位対応付け部３Ｂ２がポリシ解決部３Ｂに設けられている。この優先順位対応付け部３Ｂ２は、予め設定された規則に基づきサービス上の優先順位に対応する処理上の優先順位を特定する手段であり、例えば次のような規則で対応付けを実行する。サービス上の優先順位が「高」のものについては処理上の優先順位の「高」を対応付け、サービス上の優先順位が「中」のものについては処理上の優先順位の「やや高」と「中」と「やや低」を対応付け、サービス上の優先順位が「低」のものについては処理上の優先順位の「低」を対応付ける。
【００３９】
これにより、本実施形態の場合にも、サービス上の優先順位が「高」であるサーバの起動が要求された場合には、その処理上の優先順位が「高」であるものに対応付けられているポート番号の読出しが可能となり、サービス上の優先順位が「低」であるサーバの起動が要求された場合には、その処理上の優先順位が「低」であるものに対応付けられているポート番号の読出しが可能となる。また、サービス上の優先順位が「中」であるサーバの起動が要求された場合には、その処理上の優先順位が「やや高」、「中」又は「やや低」のいずれかに対応付けられているポート番号の読出しが可能となる。
【００４０】
このように、本実施形態においても、第１の実施形態の場合と同様の効果を得ることができる。なお、本実施形態においては、対応関係テーブル３Ｂ１における優先順位と対応関係テーブル６Ａにおける優先順位を対応付ける手段をポリシ解決部３Ｂ内に設けるものとして説明したが、当該手段はポリシサーバ６内に設けても、独立の手段としてこれらの外部に設けることも可能である。
【００４１】
（Ｃ）第３の実施形態
以下、本発明に係るサービス品質制御装置の第３の実施形態例を説明する。図８に、当該サービス品質制御装置を備える分散システムの機能ブロック構成例を示す。なお、図８に示す構成の場合も、これは実装上のハードウェア構成又はソフトウェア構成を限定するものでない。また、図８には、図１と同一の部分に同一符号を付し、対応する部分に対応符号を付して表している。
【００４２】
本実施形態と第１の実施形態との違いは、ポリシ設定ツール５の機能が仮想リファレンス４’の機能として実現されている点の違いである。すなわち、本実施形態の場合、仮想リファレンス４’には、クライアント１からの要求に応じ、対応関係テーブル３Ｂ１の優先順位を設定する機能が備えられている点で、第１の実施形態と異なっている。
【００４３】
従って、本実施形態におけるアクティベーション動作そのものは第１の実施形態と同じであり、対応関係テーブル３Ｂ１の優先順位の設定がクライアント主導で開始される点が違いである。
【００４４】
このような構成としても、第１の実施形態の場合と同様の効果を得ることができる。
【００４５】
（Ｄ）他の実施形態
上述の実施形態においては、５つのサーバ２（１）〜２（５）がアクティベーション機構３’に登録されているものとして動作例を説明したが、登録数はこれに限るものでない。同様に、上述の実施形態においては、サーバ（サービス）の優先順位及びネットワーク上のノードについて設定する優先順位をそれぞれ３段階に設定する場合について述べたが、設定する段階はこれに限るものでない。
【００４６】
上述の実施形態においては、優先順位からポート番号を求めるためポリシサーバ６にポート番号を問い合わせに行く構成としたが、ポリシ解決部３Ｂ内にサーバの識別番号（ＩＤ）からポート番号を求める機能を設け、ポリシ解決部３Ｂ内でポート番号を決定できる構成としても良い。例えば、ネットワーク上のノードについて設定されているポート番号と優先順位との対応関係を示す対応関係テーブル６Ａをポリシ解決部３Ｂ内に設けても良い。すなわち、２種類の対応関係テーブルを設けても良い。
【００４７】
上述の実施形態においては、クライアントとサーバが固定のクライアント・サーバ型のネットワークシステムについて述べたが、クライアントとサーバとの役割が時々刻々と変更されるピアツーピア型のネットワークシステムにも適用し得る。
【００４８】
上述の実施形態においては、請求項における「通信路の識別子」として、ポート番号を用いる場合について述べたが、通信路の識別が可能であれば、クライアントを表す識別子等その他の識別子を適用することができる。
【００４９】
【発明の効果】
上述のように本発明に係るサービス品質管理装置によれば、起動要求の対象となったサーバに、当該サーバにより提供されるサービスについて定められている優先順位と同様の優先順位で処理される通信路の識別子を与えることができるため、起動要求時の設定に応じた適応的なサービス品質の制御を可能とできる。
【図面の簡単な説明】
【図１】第１の実施形態例を示す機能ブロック図である。
【図２】従来構成例を示す機能ブロック図である。
【図３】サーバとサービス上の優先順位との対応関係を示す図表である。
【図４】ポート番号と処理上の優先順位との対応関係を示す図表である（その１）。
【図５】アクティベーション及びその関連動作の実行手順を示す図である。
【図６】第２の実施形態例を示す機能ブロック図である。
【図７】ポート番号と処理上の優先順位との対応関係を示す図表である（その２）。
【図８】第３の実施形態例を示す機能ブロック図である。
【符号の説明】
１…クライアント、２…サーバ、３、３’…アクティベーション機構、３Ａ…サーバ起動部、３Ｂ…ポリシ解決部、３Ｂ１…対応関係テーブル、３Ｂ２…優先順位対応付け部、３Ｃ…ポリシ設定部、４、４’…仮想リファレンス、５…ポリシ設定ツール、６…ポリシサーバ、６Ａ…対応関係テーブル。
【図１】
0003562995.tif 000002
【図２】
0003562995.tif 000003
【図３】
0003562995.tif 000004
【図４】
0003562995.tif 000005
【図５】
0003562995.tif 000006
【図６】
0003562995.tif 000007
【図７】
0003562995.tif 000008
【図８】
0003562995.tif 000009