(57)【要約】 【課題】  分散オブジェクトシステムにおけるオブジェクトの配備において、ユーザが多様な通信方式を選択できる。【解決手段】  クライアントのインストール操作部２００がオブジェクトの配備を要求する際に、サーバ側の配備システム２１０におけるプロトコルを判定し、判定したプロトコルが配備システム２１０に固有である場合、第一の接続部２０１がサーバスタブ２０２を介してシステム接続オペレーションの要求をサーバ側に送信する。サーバの第一の接続サービス部２１１はサーバスケルトン２１２を介して要求を受信し、システム接続オペレーションの要求を呼び出す。セッションの開始後、第一の接続部２２１は接続スタブ２２１等を介してオブジェクトの配備要求を送信する。第一の接続サービス部２２１は、接続スケルトン２２３等を介して配備要求を受信して所定の形式に変換し配備システム２１０に対して配備を依頼する。【選択図】  図２
2006018356.tif 000002
【特許請求の範囲】
【請求項１】
分散オブジェクトシステムにおけるオブジェクトの配備を要求するためのオブジェクト配備操作システムであって、
オブジェクトの配備を要求するクライアント側の配備操作手段と、
前記配備操作手段によるオブジェクトの配備要求を受けて、サーバ側のオブジェクト配備システムにおけるプロトコルを判定する判定手段と、
前記判定手段により判定されたプロトコルが前記オブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションの要求を送信する手段と、
前記システム接続オペレーションが呼び出され、サーバ側とのセッションが開始した後、前記配備操作手段によるオブジェクトの配備要求を送信する要求送信手段と、
を備えることを特徴とするオブジェクト配備操作システム。
【請求項２】
前記判定手段により判定されたプロトコルが前記オブジェクト配備システムに固有のものでない場合、標準プロトコルに従って、前記配備操作手段によるオブジェクトの配備要求をサーバ側に送信する手段をさらに備える、
ことを特徴とする請求項１に記載のオブジェクト配備操作システム。
【請求項３】
分散オブジェクトシステムにおけるオブジェクトを配備するためのオブジェクト配備システムであって、
オブジェクトの配備を要求する際に当該オブジェクト配備システムにおけるプロトコルを判定し、判定されたプロトコルが当該オブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションを要求し、セッションが開始した後、オブジェクトの配備を要求するクライアントからの、前記システム接続オペレーションの要求を受信して、当該システム接続オペレーションを呼び出す手段と、
前記システム接続オペレーションが呼び出され、クライアント側とのセッションが開始した後、前記クライアント側から受信したオブジェクトの配備要求を所定の形式に変換し、変換されたオブジェクトの配備要求に基づいて、オブジェクト配備オペレーションを呼び出す手段と、
を備えることを特徴とするオブジェクト配備システム。
【請求項４】
前記クライアントは前記システム接続オペレーションの要求を送信するスタブを有し、
前記スタブのオブジェクトリファレンスを、クライアントが参照可能なレジストリサービスに登録する登録手段をさらに備える、
ことを特徴とする請求項３に記載のオブジェクト配備システム。
【請求項５】
前記クライアントは前記システム接続オペレーションの要求を送信するスタブを有し、
前記スタブを前記クライアントへアップロードする手段を備える、
ことを特徴とする請求項３に記載のオブジェクト配備システム。
【請求項６】
オブジェクトの配備先のコンピュータ群を示すリソース情報が記憶される記憶手段と、
オブジェクトの配備先となるコンピュータ群を指定し、当該コンピュータ群を示すリソース情報を前記記憶手段に登録する手段と、
前記リソース記憶手段に登録されたコンピュータ群にオブジェクトを配備する手段と、
を備えることを特徴とする請求項３乃至５のいずれか１項に記載のオブジェクト配備システム。
【請求項７】
前記記憶手段に記憶されている前記リソース情報が示すコンピュータ群から、特定のオブジェクトの配備先のコンピュータ群を選択する手段と、
前記選択されたコンピュータ群と、前配特定のオブジェクトと、当該オブジェクトの予約動作期間と、が対応付けられたタスク予約情報を生成し、前記記憶手段に登録する手段と、
前記記憶手段に記憶される前記タスク予約情報に基づいて、コンピュータ群にオブジェクトを所定期間だけ配備する手段と、
を備えることを特徴とする請求項６に記載のオブジェクト配備システム。
【請求項８】
前記記憶手段に記憶されたタスク予約情報を指定する手段と、
前記指定されたタスク予約情報について、リソースの追加と解放の少なくとも一方に関する追加予約情報を追加して前記記憶手段に登録する追加登録手段と、
を備えることを特徴とする請求項７に記載のオブジェクト配備システム。
【請求項９】
前記追加登録手段により前記タスク情報に追加される前記追加予約情報は、動作期間の情報を含む、
ことを特徴とする請求項８に記載のオブジェクト配備システム。
【請求項１０】
オブジェクトの配備先となる各コンピュータの負荷状況を示す負荷状況情報を受信する手段と、
前記追加登録手段により前記タスク情報に追加される前記追加予約情報に、リソースの追加や解放の実行を当該配備システムが判断することを示す属性情報が設定されている場合、前記負荷状況情報と前記追加予約情報に基づいて、オブジェクトの配備とオブジェクトの配備解除の少なくとも一方を行う手段と、
をさらに備えることを特徴とする請求項８又は９に記載のオブジェクト配備システム。
【請求項１１】
オブジェクトが配備された各コンピュータについての前記負荷状況情報に基づいて、各前記コンピュータに対するリクエストを振り分けて、負荷を分散する手段をさらに備える、
ことを特徴とする請求項１０に記載のオブジェクト配備システム。
【請求項１２】
当該配備システムが属するネットワークと異なる他のネットワークに属する配備システムと接続する手段をさらに備える、
ことを特徴とする請求項６乃至１２のいずれか１項に記載のオブジェクト配備システム。
【請求項１３】
分散オブジェクトシステムにおけるオブジェクトを配備するためのオブジェクト配備方法であって、
クライアント側において、オブジェクト配備操作部がオブジェクトの配備を要求する際に、サーバ側のオブジェクト配備システムにおけるプロトコルを判定する判定ステップと、
前記判定ステップにより判定されたプロトコルがサーバ側のオブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションの要求をサーバ側に送信するステップと、
サーバ側において、前記システム接続オペレーションの要求を受信して、当該システム接続オペレーションを呼び出すステップと、
前記システム接続オペレーションが呼び出され、クラアイントとサーバのセッションが開始した後、クライアント側からオブジェクトの配備要求を送信するステップと、
サーバ側で、前記クライアント側からオブジェクトの配備要求を受信し、当該配備要求を所定の形式に変換し、変換された配備要求に基づいて、オブジェクト配備オペレーションを呼び出すステップと、
を備えることを特徴とするオブジェクト配備方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散オブジェクトシステムにおけるオブジェクトを配備するためのシステム及び方法に関する。
【背景技術】
【０００２】
システムの機能を分割し、ネットワーク上のコンピュータにオブジェクトを分散配置して使用する分散オブジェクト技術が知られている。
分散オブジェクトを形成し、形成した分散オブジェクトを分散オブジェクトシステムにインストールするシステムの一例が特許文献１に開示されている。
特許文献１のシステムでは、オブジェクトのプログラム又は利用者は、そのコードの中に通信インタフェース部分のみを書き込む。インストレーション手段は、そのようなコンポーネントを読み込んで、オブジェクトの実行場所となるコンポーネントと、オブジェクトリクエストブローカ機構を介して会話状態を保持する。ここで、構築される通信帯域では、コンポーネント通信制御インタフェースによってオブジェクト転送経路が成立する。サーバは、インストレーション手段から送信された分散オブジェクトを受信し、そのオブジェクトリファレンスを作成して、レジストレーションサービス手段に登録する。
【特許文献１】特開平０９−５４６８５号公報（第９〜１１頁、第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記のようなシステムでは、分散オブジェクトをシステムにインストールする際に、ユーザやシステム管理者が要件に応じた自由な通信技術、伝送制御プロトコルなどの会話手段を選択できないという第１の問題点がある。
また、第２の問題点は、従来のインストール方法では、分散オブジェクトの送信元と送信先とが１対１の関係と定義され、デプロイメント用オブジェクトを送信した先が当該オブジェクトの実行マシンとされており、デプロイメント用オブジェクトを複数のコンピュータにインストールすることについて考慮されていないことである。
また、第３の問題点は、オブジェクトが配備されたコンピュータ群とそれらにアクセスするクライアント間における通信経路を各コンピュータの負荷状況に応じて制御することについて考慮されていないことである。
また、第４の問題点は、インストール対象となる複数のサーバに対して、デプロイメント（配備）用オブジェクトの計画的なインストールや、オブジェクト配備システムが起点となって自律的にインストール（配備）／アンインストール（配備解除）の処理を行うことができないということである。
【０００４】
本発明は、上記実状に鑑みてなされたものであり、分散オブジェクトシステムにおけるオブジェクトの配備において、オペレータや管理者等のユーザが多様な通信方式を選択できるシステム及び方法等を提供することを目的とする。
また、本発明の他の目的は、コンピュータ群に対してオブジェクトを配備するのに好適なシステム及び方法等を提供することである。
また、本発明の他の目的は、オブジェクトが配備されたコンピュータ群とクライアント間における通信経路を負荷状況に応じて制御することができるシステム及び方法等を提供することである。
また、本発明の他の目的は、コンピュータ群に対して計画的なオブジェクトの配備を可能とすることである。
また、本発明の他の目的は、オブジェクト配備システムが自律的にコンピュータ群に対してオブジェクトの配備や配備解除を行うことができるシステム及び方法等を提供することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、この発明の第１の観点に係るオブジェクト配備操作システムは、
分散オブジェクトシステムにおけるオブジェクトの配備を要求するためのオブジェクト配備操作システムであって、
オブジェクトの配備を要求するクライアント側の配備操作手段と、
前記配備操作手段によるオブジェクトの配備要求を受けて、サーバ側のオブジェクト配備システムにおけるプロトコルを判定する判定手段と、
前記判定手段により判定されたプロトコルが前記オブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションの要求を送信する手段と、
前記システム接続オペレーションが呼び出され、サーバ側とのセッションが開始した後、前記配備操作手段によるオブジェクトの配備要求を送信する要求送信手段と、
を備えることを特徴とする。
【０００６】
前記判定手段により判定されたプロトコルが前記オブジェクト配備システムに固有のものでない場合、標準プロトコルに従って、前記配備操作手段によるオブジェクトの配備要求をサーバ側に送信する手段をさらに備えてもよい。
【０００７】
また、この発明の第２の観点に係るオブジェクト配備システムは、
分散オブジェクトシステムにおけるオブジェクトを配備するためのオブジェクト配備システムであって、
オブジェクトの配備を要求する際に当該オブジェクト配備システムにおけるプロトコルを判定し、判定されたプロトコルが当該オブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションを要求し、セッションが開始した後、オブジェクトの配備を要求するクライアントからの、前記システム接続オペレーションの要求を受信して、当該システム接続オペレーションを呼び出す手段と、
前記システム接続オペレーションが呼び出され、クライアント側とのセッションが開始した後、前記クライアント側から受信したオブジェクトの配備要求を所定の形式に変換し、変換されたオブジェクトの配備要求に基づいて、オブジェクト配備オペレーションを呼び出す手段と、
を備えることを特徴とする。
【０００８】
前記クライアントは前記システム接続オペレーションの要求を送信するスタブを有してもよく、
前記スタブのオブジェクトリファレンスを、クライアントが参照可能なレジストリサービスに登録する登録手段をさらに備えてもよい。
【０００９】
前記クライアントは前記システム接続オペレーションの要求を送信するスタブを有してもよく、
前記スタブを前記クライアントへアップロードする手段を備えてもよい。
【００１０】
オブジェクトの配備先のコンピュータ群を示すリソース情報が記憶される記憶手段と、
オブジェクトの配備先となるコンピュータ群を指定し、当該コンピュータ群を示すリソース情報を前記記憶手段に登録する手段と、
前記リソース記憶手段に登録されたコンピュータ群にオブジェクトを配備する手段と、
を備えてもよい。
【００１１】
前記記憶手段に記憶されている前記リソース情報が示すコンピュータ群から、特定のオブジェクトの配備先のコンピュータ群を選択する手段と、
前記選択されたコンピュータ群と、前配特定のオブジェクトと、当該オブジェクトの予約動作期間と、が対応付けられたタスク予約情報を生成し、前記記憶手段に登録する手段と、
前記記憶手段に記憶される前記タスク予約情報に基づいて、コンピュータ群にオブジェクトを所定期間だけ配備する手段と、
を備えてもよい。
【００１２】
前記記憶手段に記憶されたタスク予約情報を指定する手段と、
前記指定されたタスク予約情報について、リソースの追加と解放の少なくとも一方に関する追加予約情報を追加して前記記憶手段に登録する追加登録手段と、
を備えてもよい。
【００１３】
前記追加登録手段により前記タスク情報に追加される前記追加予約情報は、動作期間の情報を含んでもよい。
【００１４】
オブジェクトの配備先となる各コンピュータの負荷状況を示す負荷状況情報を受信する手段と、
前記追加登録手段により前記タスク情報に追加される前記追加予約情報に、リソースの追加や解放の実行を当該配備システムが判断することを示す属性情報が設定されている場合、前記負荷状況情報と前記追加予約情報に基づいて、オブジェクトの配備とオブジェクトの配備解除の少なくとも一方を行う手段と、
をさらに備えてもよい。
【００１５】
オブジェクトが配備された各コンピュータについての前記負荷状況情報に基づいて、各前記コンピュータに対するリクエストを振り分けて、負荷を分散する手段をさらに備えてもよい。
【００１６】
当該配備システムが属するネットワークと異なる他のネットワークに属する配備システムと接続する手段をさらに備えてもよい。
【００１７】
また、この発明の第３の観点に係るオブジェクト配備方法は、
分散オブジェクトシステムにおけるオブジェクトを配備するためのオブジェクト配備方法であって、
クライアント側において、オブジェクト配備操作部がオブジェクトの配備を要求する際に、サーバ側のオブジェクト配備システムにおけるプロトコルを判定する判定ステップと、
前記判定ステップにより判定されたプロトコルがサーバ側のオブジェクト配備システムに固有のものである場合、サーバ側との接続を確立するためのシステム接続オペレーションの要求をサーバ側に送信するステップと、
サーバ側において、前記システム接続オペレーションの要求を受信して、当該システム接続オペレーションを呼び出すステップと、
前記システム接続オペレーションが呼び出され、クラアイントとサーバのセッションが開始した後、クライアント側からオブジェクトの配備要求を送信するステップと、
サーバ側で、前記クライアント側からオブジェクトの配備要求を受信し、当該配備要求を所定の形式に変換し、変換された配備要求に基づいて、オブジェクト配備オペレーションを呼び出すステップと、
を備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、分散オブジェクトシステムにおけるオブジェクトの配備において、オペレータや管理者等のユーザが多様な通信方式を選択できる。
【発明を実施するための最良の形態】
【００１９】
（第１の実施形態）
図１は本発明の第１の実施形態に係る分散オブジェクトシステムの物理的構成図である。図示されるように、本システムは、ネットワークを介して接続される複数のコンピュータ１０１、ルーティングサーバ１０３、ルータ機器１０７等を備える。コンピュータ１０１、ルーティングサーバ１０３、ルータ機器１０７等は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を含む制御部、ハードディスク装置等を含む記憶部、通信制御部等をそれぞれ具備している。コンピュータ１０２のＲＯＭや記憶部等にはＣＰＵが実行する制御プログラムやオブジェクト（データとそれを操作するプログラムコード（メソッド）をカプセル化したもの）等が記憶されている。
【００２０】
なお、分散オブジェクトシステムにおいて、ネットワークに接続される各コンピュータ１０１では分散オブジェクトを処理するプロセスが、同一マシン内のメモリ空間で、あるいはネットワークに存在している二台以上のマシンのメモリ空間で、互いに通信できる。一般的には、オブジェクトの実態はサーバ側プロセスに常駐し、クライアントからのオペレーション要求に応答するように機能する。
【００２１】
図２は本発明の第１の実施形態に係る分散オブジェクトシステムの論理的構成図の一例である。コンピュータ１０１のＣＰＵがＲＯＭや記憶部等に記憶されている制御プログラム又はネットワークを介して取得した制御プログラムを実行することにより、インストール操作部２００、第一の接続部２０１、サーバスタブ２０２、配備システム２１０、オブジェクト実行部２４０、第一の接続サービス部２１１、サーバスケルトン２１２、接続スケルトン２２３、接続スタブ２２１、第二の接続部２３０、第二の接続サービス部２３１、レジストリサービス部２２０等を実現する。
例えば、インストール操作部２００、第一の接続部２０１、サーバスタブ２０２、接続スタブ２２１、第二の接続部２３０はクライアント側のコンピュータ１０１において実現され、配備システム２１０、第一の接続サービス部２１１、サーバスケルトン２１２、接続スケルトン２２３、第二の接続サービス部２３１はサーバ側のコンピュータ１０１において実現され、オブジェクト実行部２４０はオブジェクトが配備されるコンピュータ１０１において実現され、レジストリサービス部２２０は、接続スタブ２２１等のオブジェクトリファレンス等が登録されるコンピュータ１０１において実現される。
【００２２】
インストール操作部２００は、オブジェクトの配備（インストール）を要求するためのものであり、例えばシステム管理ツール等の一部として機能する。
第一の接続部２０１は、サーバスタブ２０２や接続スタブ２２１とリンクして、インストール操作部２００がサーバの配備システム２１０に接続できるように機能する。
サーバスタブ２０２と接続スタブ２２１は、第一の接続部２０１にリンクする。サーバスタブ２０２は、リクエストをサーバ側の分散オブジェクトシステムに適した形式でサーバ側に伝達するための処理を行う。接続スタブ２２１は、オブジェクト配備のリクエストをサーバ側に伝達するための処理を行う。
配備システム２１０は、分散オブジェクトを、実行するマシンへ配備（インストール）するために適した構成にカスタマイズして管理等し、オブジェクトをオブジェクト実行部２４０に配備等する。
オブジェクト実行部２４０は、分散オブジェクトの実体がプロセスとして機能するものである。
【００２３】
第一の接続サービス部２１１は、サーバスケルトン２１２、接続スケルトン２２３とリンクして、配備システム２１０がインストール操作部２００からの接続を受け付けるための接続受信処理を行う。
サーバスケルトン２１２は、サーバスタブ２０２からのリクエストを分散オブジェクトシステムに適した形式で受信し、接続受信処理を担う第一の接続サービス部２１１に処理依頼する。
サーバスケルトン２１２と接続スケルトン２２３は、第一の接続サービス部２１１にリンクする。サーバスケルトン２１２は、サーバスタブ２０２に対応し、クライアントからのリクエストを配備システム２１０側の分散オブジェクトシステムに適した形式で受信して第一の接続サービス部２１１に渡すための処理を行う。接続スケルトン２２３は、接続スタブ２２１に対応し、クラアイントからのオブジェクト配備のリクエストを第一の接続サービス部２１１に渡すための処理を行う。
レジストリサービス部２２０は、オブジェクトリファレンスが登録される。
【００２４】
接続スタブ２２１は、例えばレジストリサービス部２２０に位置してもよい。この場合、例えば、第１の接続サービス部２１１が、ネットワーク１００上の特定のコンピュータ１０１におけるレジストリサービス部２２０に接続スタブ２２１の情報を登録することによって、クライアントからの参照点として公開するようにしてもよい。
また、例えば、インストール操作部２００が配備システム２１０にアクセスする以前は、接続スタブ２２１は、第一の接続サービス部２１１の中に位置し、インストール操作部２００からの通信が開始されると、第一の接続サービス部２１１によりサーバスケルトン２１２を介してサーバスタブ２０２にアップロードされて、第一の接続部２０１にリンクされるようにしてもよい。
【００２５】
第二の接続部２３０は、通信プロトコルとして国際的に標準とされる規格や業界で標準的な規格に沿った通信方式を採用し、第一の接続部２０１、サーバスタブ２０２、接続スタブ２２１で構成する通信実行手段に代わってサーバ側と接続するための機能を有する。
第二の接続サービス部２３１は、通信プロトコルとして国際的に標準とされる規格や業界で標準的な規格に沿った通信方式を採用し、第一の接続サービス部２１１、サーバスケルトン２１２、接続スケルトン２２３で構成する通信実行手段に代わって、クライアント側と接続するための機能を有する。
第二の接続部２３０は、インストール操作部２００においてオペレータや管理者等のユーザにより採用されたプロトコル固有の方法で第二の接続サービス部２３１との接続経路を指定して、配備などのオペレーション命令や伝送パスを確立する。
【００２６】
次に、第１の実施形態に係る分散オブジェクトシステムにおけるオブジェクト配備処理について図３のフローチャートを参照して説明する。
まず、ネットワーク上の一のコンピュータ１０１におけるインストール操作部２００は、ユーザによる入力操作に応じて、オブジェクトを配備するコンピュータ１０２（サーバ）のホスト名やＩＰアドレス、通信ポート番号等の情報を含む接続アドレス情報を入力する（ステップＡ１）。なお、接続アドレス情報は、例えば、オブジェクトを配備する複数のサーバ群を包含したサーバグループ名やドメイン名などの情報を含んでいてもよい。
次に、インストール操作部２００は、入力した接続アドレス情報を解析して接続用通信プロトコルを選択する（ステップＡ２）。そして、インストール操作部２００は、選択されたプロトコルが配備システム２１０に固有なプロトコルであるかを判定する（ステップＡ３）。
【００２７】
そして、選択されたプロトコルが配備システム２１０に固有な通信手段であると判定した場合（ステップＡ３：ＹＥＳ）、インストール操作部２００は、サーバへのアクセス先として第一の接続部２１１にパスを張り、これに応じて、第一の接続部２１１は、接続アドレス情報をもとにサーバスタブ２０２経由で、他のコンピュータ１０１（サーバ）におけるサーバスケルトン２１２とネットワークを介して接続し、第一の接続サービス部２１１とのセッションを開始する（ステップＳ４）。サーバスタブ２０２とサーバスケルトン２１２は、第一の接続部２０１と第一接続サービス部２１１の接続を開始し、終了させる役割を果たす。
第一の接続サービス部２１１は、配備システム２１０にアタッチし、第一の接続部２０１からの接続要求を監視している。なお、第一の接続部２０１は通常、配備システム２１０とは異なるメモリ空間、異なるマシンに位置するが、これに限定されず、例えば同一のマシンにあってもよい。
【００２８】
第一の接続部２０１と第一の接続サービス部２１１とのセッションが開始されると、次に、オペレーション呼び出しの準備処理を行う（ステップＡ５）。オペレーション呼び出しには、クライアント・サーバ間のオペレーションインタフェースを規定した分散オブジェクトを用いる。この分散オブジェクトの接続スタブ２２１は、例えば第一の接続部２０１に予めリンクされている。
なお、他の方法により接続スタブ２０１を用意してもよい。例えば、接続スタブ２２１が予め第一の接続部２０１にリンクされておらず、第一の接続サービス部２１１に保管されている場合には、例えば、配備システム２１０が起動する初期処理で第一の接続サービス部２１１がレジストリサービス２２０に登録してもよい。この時点で接続スタブ２２１は任意のクライアントから参照可能となる。例えば、クライアントプログラムにより実現される第一の接続部２０１は、レジストリサービス部２２０に登録された接続スタブ２２１のオブジェクト参照を、現在使用中の分散オブジェクトシステム固有の方式に従ってルックアップする。ルックアップが完了すると、第一の接続部２０１のプロセス空間にローディングされて、オペレーションインタフェースを介した配備オペレーションが呼び出し可能状態となる。
また、接続スタブ２２１が第一の接続サービス部２１１の中に保管されている場合には、例えば、サーバスタブ２０２とサーバスケルトン２１２のセッション開始時に、そのセッションにより第一の接続サービス部２１１が接続スタブ２２１を第一の接続部２０１に転送してもよい。第一の接続部２０１は、接続スタブ２２１の受信が完了した時点で自身のプロセス空間に動的にローディングする。
【００２９】
なお、第一の接続サービス部２１１は、異なる複数の第一の接続部２０１と同時に接続を確立できる。しかし、第一の接続部２０１は、１つの第一の接続サービス部２１１としか接続できない。インストール操作部２００は、異なるコンピュータ１０２に存在する接続サービス部（第一の接続サービス部２１１、第二の接続サービス部２３１）との複数の接続を有することが可能である。
【００３０】
オペレーション呼び出しの準備が完了すると、次に、インストール操作部２００と配備システム２１０間で配備オペレーション用セッションを開始する（ステップＡ６）。以降、このセッションを用いて、分散オブジェクトを配備するための配備システムへの各種操作等が行われ、オブジェクトが指定されたマシンに配備される（ステップＡ７）。
【００３１】
また、ステップＡ３で、選択されたプロトコルが配備システム２１０に固有な通信手段ではないと判定された場合（ステップＡ３：ＮＯ）、インストール操作部２００がリンクする他の標準通信プロトコルを利用できるかを判定する（ステップＡ８）。このとき、他の標準通信プロトコルを利用できず、インストール操作部２００が認識できるプロトコルの範疇を超えている場合には（ステップＡ８：ＮＯ）、エラーとして終了する（ステップＡ１０）。また、他の標準通信プロトコルを利用できると判定された場合（ステップＡ８：ＹＥＳ）、第二の接続部２３０がそのプロトコルに適したメッセージ電文を構築して第二の接続サービス部２３１に送信することによりセッションを開設する（ステップＡ９）。以降、このセッションを用いて、分散オブジェクトを配備するための配備システムへの各種操作が行われる（ステップＡ７）。
【００３２】
以上説明したように、この第１の実施形態では、配備システム２１０が提供する分散コンポーネントオブジェクトの配備方式（プロトコル）だけでなく、オペレータや管理者等のユーザが多様な通信プロトコルを選択できるように構成されている。ユーザが通信プロトコルを選択できることから、開発者が独自に用途に応じて機能を拡張したプラグイン可能なコネクタやアダプタを作成して拡張性が高い管理アーキテクチャを実現することが可能となる。
【００３３】
（第２の実施形態）
図４は本発明の第２の実施形態に係る分散オブジェクト配備システムの物理的構成図である。図示されるように、本システムでは、配備システムのプログラムを格納するコンピュータ４２０と、コンピュータ４２０とネットワークを介して接続される、操作プログラムを格納するコンピュータ４１０と、ネットワークを介してコンピュータ４２０と接続されるクラスタＡ４３０、クラスタＢ４４０を備える。ここでクラスタとは、コンピュータの集合体を１つの論理的な単位としてグループ化したものである。クラスタＡ４３０は、例えば、複数のコンピュータ４３１（４３１ａ、４３１ｂ、４３１ｃ、４３１ｄ）等を含む。クラスタＢ４４０は、例えば、複数のコンピュータ４３１（４３１ｄ、４３１ｅ、４３１ｆ、４３１ｇ）等を含む。上記の各コンピュータ４１０、４２０、４３１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を含む制御部、ハードディスク装置等を含む記憶部、通信制御部等をそれぞれ具備しており、ＲＯＭや記憶部等にはＣＰＵが実行する制御プログラムやオブジェクト等が記憶されている。
なお、コンピュータ４１０における操作プログラムとコンピュータ４２０における配備システムのプログラムを同一のコンピュータ（コンピュータ４１０又は４２０）が有するようにしてもよい。また、コンピュータ４１０とコンピュータ４２０が接続されるネットワークと、コンピュータ４２０とクラスタＡ４３０、クラスタＢ４３１が接続されるネットワークと、が同一であってもよい。また、クラスタＡとクラスタＢがそれぞれ有するコンピュータやコンピュータ数は一例であり、これに限定されない。
【００３４】
図５は本発明の第２の実施形態に係る分散オブジェクトシステムの論理的構成図の一例である。本システムは、コンピュータ４１０においてＣＰＵがＲＯＭや記憶部等に記憶されている制御プログラム等を実行することにより実現されるインストール操作部５００、コンピュータ４２０においてＣＰＵがＲＯＭや記憶部等に記憶されている制御プログラム等を実行することにより実現される配備システム５１０を備える。
【００３５】
インストール操作部５００は、配備システム５１０に会話的に命令の実行を要求するものであり、第１の実施形態におけるインストール操作部２００と原理的に同等な動作フローによって、後述する接続サービス部５１１と通信する。この接続機能の他に、配備システム５１０に加わる機能に応じてインストール操作の項目も増える。
【００３６】
配備システム５１０は、接続サービス部５１１と、配備部５１２と、クラスタ管理部５２０と、記憶部５３０と、を備える。さらに、クラスタ管理部５２０は、リソース登録部５２１と、タスク作成部５２２と、タスク予約部５２３と、スケジュール登録部５２４と、を含む。また、記憶部５３０は、リソース記憶部５３１と、タスク計画記憶部５３２と、を含む。
【００３７】
接続サービス部５１１は、第１の実施形態における第一の接続サービス部２１１や第二の接続サービス部２３１と同様の機能を有し、要求受付監視処理を実行する。
配備部５１２は、第１の実施形態における配備システム２１０とほぼ同様の機能を有する。コンポーネントオブジェクトを配備先のサーバコンピュータにおけるオブジェクト実行部に展開してオブジェクトを活性化させる点は第１の実施形態と同一であるが、記憶部５３０に格納されたサーバコンピュータに関する情報に従ってオブジェクトを配備する点で第１の実施形態と相違する。
リソース登録部５２１は、コンポーネントオブジェクトを動作させるサーバコンピュータ（配備先のコンピュータ）に関する情報を入力し、グループ化されたコンピュータ群（クラスタ）に関する情報を出力してリソース記憶部５３１に格納する。
タスク作成部５２２は、タスクとなるコンポーネントオブジェクトと、その処理対象クラスタと、を対応付けて出力する。なお、クラスタの一覧は、リソース記憶部５３１から読み込む。
タスク予約部５２３は、タスク作成部５２２による出力データ（オブジェクトと、クラスタと、を対応づけたもの）に、そのタスクを開始する時間と停止する時間を示す時刻情報を加えてタスク予約情報を生成し、タスク計画記憶部５３２に格納する。
スケジュール登録部５２４は、タスク予約部５２３により登録された、既に予約済みのタスクに対してリソースの追加や解放を行う。
【００３８】
次に、第２の実施形態に係る分散オブジェクト配備システムにおける動作について図６を参照して説明する。
まず、インストール操作部５００と配備システム５１０は第１の実施形態と同様にして接続処理を行い、接続済みの状況において、インストール操作部５００が、配備システム５１０に配備オペレーションを要求し、この要求に応じて、配備システム５１０が、最初に配備可能なコンピュータ資源をクラスタ単位で登録する（ステップＢ１）。例えば、「クラスタＡ＝サーバＣ１、サーバＣ２」、「クラスタＢ＝サーバＣ３」の値が入力され、リソース記憶部５３１に記憶される。
【００３９】
次に、配備システム５１０は、コンポーネントオブジェクトの処理タスクを作成する（ステップＢ２）。また、作成したタスクを実行するクラスタ名をリソース記憶部５３１から取得する。そして、作成したタスクの情報（タスクＩＤ等）と、取得したクラスタ名、当該クラスタに処理依頼するコンポーネント名、開始／終了時刻の情報を入力してタスク予約情報を生成して登録することにより、予約を実行する（ステップＢ３）。入力値は例えば「タスク１＝買い物コンポーネント、１０：００〜１６：３０、クラスタＡ」等のようになる。また、タスク予約情報はタスク計画記憶部５３２に記憶される。
【００４０】
また、配備システム５１０は、コンポーネントオブジェクトの実行マシン構成を変更する場合には、登録済みタスクをタスク計画記憶部５３２から読み込み、コンピュータリソースの追加、解放などを行う。即ち、配備システム５１０は、タスク計画記憶部５３２の登録データの中から対象となるタスクを選択し（ステップＢ４）、必要な入力を行って、登録内容を更新する（ステップＢ５）。例えば、あるタスクについてリソースを追加する場合には、対象となるタスク予約情報を指定し、そのタスクについて、追加のクラスタ名と開始／終了時刻を入力する（例えば、「タスク１＝買い物コンポーネント、１３：００〜１４：３０、クラスタＢ」）。入力値は追加予約情報としてタスク計画記憶部５３２に追加記憶される。これにより、タスク計画に関する情報がタスク計画記憶部５３２に登録され、必要に応じて変更される。
【００４１】
そして、配備システム５１０における配備部５１２が、タスク計画記憶部５３２に登録されているタスク予約情報に従って、該当時刻（タスク予約情報に設定されている開始時間）になるとコンポーネントをクラスタ配下のサーバコンピュータに配備する処理を開始する（ステップＢ６）。また、該当時刻（タスク予約情報に設定されている終了時間）になると、配備部５１２はオブジェクトの配備を解除する処理を行う。
【００４２】
以上説明したように、この第２の実施形態によれば、コンポーネントオブジェクトを複数のサーバコンピュータ（クラスタ）に配備することができる。また、配備システム内で分散コンポーネントオブジェクトをサーバコンポーネントに配備する機能と、配備可能なサーバコンピュータを管理する機能と、が分離して構成されるため、コンピュータシステムを統合することによる運用コストを削減することができる。また、コンポーネントオブジェクトの動作期間も設定できるため、計画的にコンピュータ資源を割り当てることができ、加えて資源のスケジュール予約機能により予測可能な負荷に対する業務継続性を維持できる。
【００４３】
（第３の実施形態）
図７は本発明の第３の実施形態に係るオブジェクト配備システムの物理的構成図である。図示されるように、本システムでは、ネットワークを介して接続される、操作プログラムを格納するコンピュータ７１０と、配備システムのプログラムを格納するコンピュータ７２０と、クラスタＡ７３０と、クラスタＢ７４０と、を備える。クラスタＡ７３０は、例えば、コンピュータ７３１（７３１ａ、７３１ｂ、７３１ｃ等）と、負荷分散装置７３２を含む。クラスタＢ７４０は、例えば、コンピュータ７３１（７３１ｂ、７３１ｃ等）を含む。クラスタＢ７４０は、例えばクラスタＡ７３０に統合されている。本システムの構成は、負荷分散装置７３２を備える点以外は第２の実施形態とほぼ同様である。
【００４４】
図８は本発明の第３の実施形態に係るオブジェクト配備システムの論理的構成図の一例である。なお、本システムの構成要素のうち、第２の実施形態と同じもの（例えば、インストール操作部５００、接続サービス部５１１等）についてはその説明を省略する。
【００４５】
配備システム８１０は、接続サービス部５１１と、クラスタ管理部８２０と、記憶部８３０と、配備部８１３と、負荷情報受信部８１４と、負荷振分要求部８１５と、を含む。
接続サービス部５１１は第２の実施形態と同様である。
クラスタ管理部８２０は、第２実施形態と同様のリソース登録部５２１とタスク作成部５２２とタスク予約部５２３と、スケジュール登録部８２４を備える。スケジュール登録部８２４は、第２の実施形態におけるスケジュール登録部５２４の機能に加えて、配備システム８１０の判断により配備処理の開始と終了を行うためのパラメータ（追加パラメータ）を入力・設定する機能を備える。
また、記憶部８３０は、第２の実施形態とリソース記憶部５３１と、タスク計画記憶部８３２と、を含む。タスク計画記憶部８３２に登録されるタスク予約情報は、第２の実施形態においてタスク計画記憶部５３２登録されるタスク予約情報に、追加のパラメータ（属性情報）のフィールドをさらに加えたデータ構造を有する。
【００４６】
配備部８１３は、第２の実施形態における配備部５１２の機能に加えて、負荷情報受信部８１４の指示のもとに、分散コンポーネントオブジェクトの配備や配備解除を行うことで、稼働するコンポーネントリソースを追加、縮退させる。
負荷情報受信部８１４は、サーバコンピュータの負荷上昇・下降を示す情報を負荷監視部８２１から受け取り、それらの負荷状況に応じて、自律的に、稼働させるサーバコンピュータ台数を判断して配備部８１３にリソースのスケールアップ、スケールダウンを要求する。
負荷振分要求部８１５は、サーバコンピュータのスケールアップが困難な状況下において、負荷情報受信部８１４等がサーバコンピュータの負荷不均衡状態を検出した場合に、過負荷な状態にあるサーバコンピュータへのクライアントアクセスの流入を制限し、低負荷な状態にあるサーバコンピュータへクライアントアクセスの流入を増加させるような各コンピュータの重み付け値を示すバランス調整構成情報を生成し、生成した情報を負荷分散装置７３２に送信・設定することで動的な負荷分散を実施する。
【００４７】
また、本実施形態では、クラスタＡ及びクラスタＢにおける各コンピュータ７３１等は、ＣＰＵ使用率や空きメモリ量などのコンピュータリソース負荷情報を負荷情報受信部８１４に送信する負荷監視部８２１を備える。
負荷分散装置７３２は、クライアントからサーバにアクセスする経路をサーバコンピュータの負荷状況に応じて動的に切り替えて負荷分散を行う。例えば、ロードバランサ、Ｌ４／Ｌ７スイッチ等の装置を用いてもよく、また、負荷分散を行うプログラムを一のコンピュータ７３１に格納して実行してもよい。
【００４８】
次に、第３の実施形態に係る分散オブジェクト配備システムにおけるオブジェクト配備処理について図９を参照して説明する。
まず、配備システム８１０には初期予約分として１０：００から１６：３０までクラスタＡのコンピュータに割り当てるようなタスク予約情報が作成され登録されていることとする。配備システム８１０は、このタスクに対して、スケールアップに備えたコンピュータ資源の追加予約を行う（ステップＣ１）。このとき、入力値は例えば「タスク１＝買い物コンポーネント、ＯｎＤｅｍａｎｄ、クラスタＢ」のように、クラスタＢに、スケールアップ対象であることを示すＯｎＤｅｍａｎｄパラメータを添える。
そして、配備システム８１０に登録されたタスク１が１０：００に開始され、ある時刻に、クラスタＡにおけるサーバコンピュータＳ１が過負荷を検出したこととする。すると、コンピュータＳ１における負荷監視部８２１は、配備システム８１０の負荷情報受信部８１４へ負荷上昇を通知する（ステップＣ２）。負荷上昇を認識した負荷情報受信部８１４は、サーバコンピュータをスケールアップするために、クラスタＢへコンポーネントオブジェクトの配備を配備部８１３に命じる。
【００４９】
そして、ある時刻に、例えばクラスタＢのサーバコンピュータＳ２だけが過負荷であることの通知を受けた場合（ステップＣ３）、負荷情報受信部８１４は、負荷振分要求部８１５に負荷均衡を処理するように命じ、再構築した振り分け構成を負荷分散装置７３２に設定する（例えば、負荷分散装置７３２に、「サーバＳ１、Ｓ３→流入増、Ｓ２→流入減」を設定する）。後に、全てのサーバコンピュータにおいて低負荷を検出した場合には、サーバコンピュータのコンポーネント配備解除（例えば、クラスタＢにおける１台のサーバの配備解除）を指示する（ステップＣ４）。さらに、低負荷検出があれば、ステップＣ４と同様にして、クラスタＢの他のサーバコンピュータのコンポーネント配備解除を指示する（ステップＣ５）。
【００５０】
以上説明したように、この第３の実施形態によれば、配備システムとサーバコンピュータが情報を共有するように構成されているため、分散コンポーネントオブジェクトの処理対象コンピュータを自律的にスケールアップ及びスケールダウンできる。これにより、稼働率改善による運用コストが削減される。また、予期しない負荷に対する業務継続性が向上する。
また、本実施形態によれば、コンポーネントオブジェクトが操作する各コンピュータの負荷を監視できるように構成されているため、コンピュータ資源の応答時間の低下に応じて、負荷を別のサーバにコンピュータに自動的に振り分けることができ、サーバコンピュータ群を１つのシステムと捉えた場合に、協調的に稼働するサーバに対する安定的でかつ一元的なアクセスポイントを提供することができる。
【００５１】
（第４の実施形態）
図１０は本発明の第４の実施形態に係る分散オブジェクトシステムの概要図である。図示されるように、本実施形態に係る分散オブジェクトシステムは、第３の実施形態に分散オブジェクトシステムが２つ以上ネットワークを介して接続される構成を有する。本実施形態に係るシステムは、第３の実施形態にかかるシステムを１つのホスティング環境と呼称すると、例えば、ホスティング環境Ａ、ホスティング環境Ｂ、ホスティング環境Ｃの３つのホスティング環境を備える。
【００５２】
各ホスティング環境における配備システム１０２０は、第３の実施形態における配備システム８１０とほぼ同様の機能・構成を有するが、他のホスティング環境に接続するための接続部１０２２と、他のホスティング環境から接続されるための接続サービス部１０２３と、を備える点が相違する。接続部１０２２と接続サービス部１０２３は、第１の実施形態における接続部（第一の接続部、第二の接続部）と接続サービス部（第一の接続サービス部、第二の接続サービス部）同様の機能・構成を有する。互いの配備システム１０２０は、各々の管理下に置くサーバマシンやコンポーネントオブジェクトのライフサイクル状態（各サーバマシンの負荷状況や各オブジェクトの配備・解除状況等）を自己診断、他己診断等しながら、同時に、配備システム１０２０が別の配備システム１０２０と連鎖されていくことで、地理的には分散しているサーバマシンやコンポーネントオブジェクトの情報を相互に共有したグリッドシステムが形成される。各ホスティング環境の構成、各構成要素の処理機能は、第３の実施形態とほぼ同様である。
【００５３】
このオブジェクト配備システムの管理者あるいは分散コンポーネントオブジェクト（サーバ側アプリケーションプログラム）の管理者等のユーザは、コンピュータに格納される操作プログラムを起動することにより実現される操作部１０１０を用い、オブジェクトの配備を制御する。具体的には、ユーザは例えばホスティング環境Ａの中のネットワーク、サーバコンピュータ、アプリケーションなどの収容計画や事前計画の設定を行う。この際、別のホスティング環境Ｂ、ホスティング環境Ｃにおけるマシンも連携リソースに加えて、配信システム１０２０に設定・登録する。このような他のホスティング環境についてもリソースに追加する場合には、セキュリティを保持するため認証機構を用いてユーザの認証を行ってもよい。そして、このような連携についての設定が完了すると、ホスティング環境Ａの配備システム１０２０は、ホスティング環境Ｂとホスティング環境Ｃの両方に含まれるサーバコンピュータを第３の上述のような任意のタイミング（予約時間や配信システムの判断により決定されるタイミング等）で利用することができる。
【００５４】
例えばある時点で一のホスティング環境（例えば、ホスティング環境Ａ）において現在稼働中のサーバコンピュータの処理負荷の上昇を検出した場合、あるいは、何らかの障害を検出するなどにより処理を継続することが困難だと判断した場合、そのホスティング環境の配備システム１０２０は、接続部１０２２を介して他のホスティング環境（例えば、ホスティング環境Ｂ）の接続サービス部１０２３へ接続する。接続が確立されて準備が整うと、ホスティング環境Ａの配備システム１０２０は、ホスティング環境Ｂの配備システムへコンポーネントオブジェクトの追加配備を要求する。これに応じて、ホスティング環境Ｂの配備システムは、直ちに、当該ホスティング環境下のサーバコンピュータの中からマシンを割り当ててコンポーネントを配備する。クライアント端末からのアクセスは、２つのホスティング環境のマシンに振り分けられるため、業務を継続することができる。
【００５５】
このように複数の接続部を有する配備システムの特徴は、接続する他のホスティング環境の用途、例えば、プロジェクトや部門などの間で情報資源を融通、共有できる。これは、配備システムに登録されたタスク情報や負荷情報、さらにコンピュータ構成とコンピュータ自身のリソース情報などが配備システム間で相互に参照し合えるからである。このようなグリッド化されたシステムでは、分散コンポーネントオブジェクトをグローバルな位置で動作させることを可能にし、大規模かつ膨大な処理コストと時間を必要とする計算プログラムを僅かな時間で完了させることができる。さらに、資源管理の面からみると、各管理クラスタあるいはドメイン、部門、組織によって別々に管理されている資源の統合と把握も容易に実現できる。
【００５６】
以上説明したように、本発明によれば、相互に連結されたアプリケーションサーバのクラスタ間で分散オブジェクトを配備する装置や、サーバクラスタ間のジョブ調整や各サーバの負荷を監視する運用管理ミドルウェアなどの用途に適用できる。また、ホスティングサービスやハウジングサービスを提供するインターネットデータセンタ事業者にも適用可能である。
【００５７】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体（ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等）に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するコンピュータ１０１、４１０、４２０、７１０、７２０、７３１、７３２等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、ＯＳが分担又はＯＳとアプリケーションの共同により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施形態に係る分散オブジェクトシステムの物理的構成例を示す図である。
【図２】本発明の第１の実施形態に係る分散オブジェクトシステムの論理的構成例を示す図である。
【図３】第１の実施形態に係る分散オブジェクトシステムの処理動作を説明するためのフローチャートである。
【図４】本発明の第２の実施形態に係る分散オブジェクトシステムの物理的構成例を示す図である。
【図５】本発明の第２の実施形態に係る分散オブジェクトシステムの論理的構成例を示す図である。
【図６】本発明の第２の実施形態に係る分散オブジェクトシステムの処理動作を説明するための図である。
【図７】本発明の第３の実施形態に係る分散オブジェクトシステムの物理的構成例を示す図である。
【図８】本発明の第３の実施形態に係る分散オブジェクトシステムの論理的構成例を示す図である。
【図９】本発明の第３の実施形態に係る分散オブジェクトシステムの処理動作を説明するための図である。
【図１０】本発明の第４の実施形態に係る分散オブジェクトシステムの概要図である。
【符号の説明】
【００５９】
１０１、４１０、４２０、４３１、７１０、７２０、７３１    コンピュータ
１０３    ルーティングサーバ
１０７    ルータ機器
２００、５００    インストール操作部
２０１    第一の接続部
２０２    サーバスタブ
２１０、５１０、８１０、１０２０    配備システム
２４０    オブジェクト実行部
２１１    第一の接続サービス部
２１２    サーバスケルトン
２２３    接続スケルトン
２２１    接続スタブ
２３０    第二の接続部
２３１    第二の接続サービス部
２２０    レジストリサービス部
４３０、７３０    クラスタＡ
４４０、７４０    クラスタＢ
５１１    接続サービス部
５１２、８１３    配備部
５２０、８２０    クラスタ管理部
５２１    リソース登録部
５２２    タスク作成部
５２３    タスク予約部
５２４、８２４    スケジュール登録部
５３０、８３０    記憶部
５３１    リソース記憶部
５３２    タスク計画記憶部
８１４    負荷情報受信部
８１５    負荷振分要求部
８２０    クラスタ管理部
８３２    タスク計画記憶部
１０２２    接続部
１０２３    接続サービス部
【図１】
2006018356.tif 000003
【図２】
2006018356.tif 000004
【図３】
2006018356.tif 000005
【図４】
2006018356.tif 000006
【図５】
2006018356.tif 000007
【図６】
2006018356.tif 000008
【図７】
2006018356.tif 000009
【図８】
2006018356.tif 000010
【図９】
2006018356.tif 000011
【図１０】
2006018356.tif 000012