(57)【要約】  システムおよび方法は、トランザクショナルミドルウェアマシン環境においてトランザクショナルリソースを動的にスケールアップ／スケールダウンすることをサポートすることができる。グループおよびマシンのようなトランザクショナルリソースを、リソース使用変更に従って、ダイナミックリソースブローカを用いて追加または削除することができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーと、１つ以上のデプロイメントエージェントとを維持する。１つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうち１つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、１つ以上のデプロイメントエージェントからマシン使用情報を受信し、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするように動作する。
2014528613.tif 000002
【特許請求の範囲】
【請求項１】
トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
トランザクショナルミドルウェアマシン環境において１つ以上のマイクロプロセッサ上で動作するデプロイメントセンターと、
１つ以上のデプロイメントエージェントとを備え、１つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうち１つのトランザクショナルミドルウェアマシンと関連付けられ、
デプロイメントセンターは、１つ以上のデプロイメントエージェントからマシン使用情報を受信するように動作し、デプロイメントセンターは、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするように動作する、システム。
【請求項２】
デプロイメントセンターは、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーを維持する、請求項１に記載のシステム。
【請求項３】
各前記デプロイメントエージェントは、前記デプロイメントエージェントが存在する特定のマシンのリソース使用メトリックを収集し、収集されたリソース使用メトリックをデプロイメントセンターに報告するように動作する、請求項１に記載のシステム。
【請求項４】
デプロイメントセンターは、複数のトランザクショナルドメインを管理することを担う、請求項１に記載のシステム。
【請求項５】
デプロイメントセンターは、別の１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、別のトランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするように動作する、請求項４に記載のシステム。
【請求項６】
各トランザクショナルドメイン内にマスタマシンがあり、各トランザクショナルドメイン内のマスタマシンの構成は不変のままである、請求項４に記載のシステム。
【請求項７】
１つ以上のアプリケーションコンポーネントがトランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンにデプロイされる前にユーザによってアップロードされた１つ以上のアプリケーションコンポーネントを格納するデータリポジトリをさらに備える、請求項１に記載のシステム。
【請求項８】
トランザクショナルミドルウェアマシン環境における少なくとも１つのトランザクショナルミドルウェアマシンは仮想マシンであり、マシンリストにおける物理的マシンにバインドすることができる、請求項１に記載のシステム。
【請求項９】
デプロイメントセンターは、既存のトランザクショナルドメインにおいて実行している１つ以上のパッケージを動的に追加または削除するように動作する、請求項１に記載のシステム。
【請求項１０】
デプロイメントセンターは、既存のトランザクショナルドメインにおいて動作している１つ以上のトランザクショナルミドルウェアマシンを動的に追加または削除するように動作する、請求項１に記載のシステム。
【請求項１１】
トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするための方法であって、
トランザクショナルミドルウェアマシン環境において１つ以上のマイクロプロセッサ上で動作するデプロイメントセンターを提供することと、
１つ以上のデプロイメントエージェントを提供することとを含み、１つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうち１つのトランザクショナルミドルウェアマシンに関連付けられ、さらに、
デプロイメントセンターを介して、１つ以上のデプロイメントエージェントからマシン使用情報を受信することと、
１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンすることとを含む、方法。
【請求項１２】
デプロイメントセンターが、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーを維持することを許可することをさらに含む、請求項１１に記載の方法。
【請求項１３】
各前記デプロイメントエージェントが、前記デプロイメントエージェントが存在する特定のマシンのリソース使用メトリックを収集し、収集されたリソース使用メトリックをデプロイメントセンターに報告することを許可することさらに含む、請求項１１に記載の方法。
【請求項１４】
デプロイメントセンターが複数のトランザクショナルドメインを管理することを担うことを許可することをさらに含む、請求項１１に記載の方法。
【請求項１５】
デプロイメントセンターが、別の１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、別のトランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンすることを許可することをさらに含む、請求項１４に記載の方法。
【請求項１６】
各トランザクショナルドメイン内のマスタマシンをアサインし、各トランザクショナルドメイン内のマスタマシンの構成を不変のままとすることを許可することをさらに含む、請求項１４に記載の方法。
【請求項１７】
１つ以上のアプリケーションコンポーネントがトランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンにデプロイされる前に、ユーザによってアップロードされた１つ以上のアプリケーションコンポーネントを格納するデータリポジトリを提供することをさらに含む、請求項１１に記載の方法。
【請求項１８】
トランザクショナルミドルウェアマシン環境における少なくとも１つのトランザクショナルミドルウェアマシンが、マシンリストにおける物理的マシンにバインドされることができる仮想マシンであることを許可することをさらに含む、請求項１１に記載の方法。
【請求項１９】
デプロイメントセンターが、既存のトランザクショナルドメインにおいて実行している１つ以上のパッケージを動的に追加または削除することを許可することをさらに含む、請求項１１に記載の方法。
【請求項２０】
デプロイメントセンターが、既存のトランザクショナルドメインにおいて動作している１つ以上のトランザクショナルミドルウェアマシンを動的に追加または削除することを許可することをさらに含む、請求項１１に記載の方法。
【請求項２１】
請求項１１〜２０のうちいずれか１項に記載の方法を行なうためのプログラム。
【請求項２２】
請求項２１に記載のプログラムを格納する、不揮発性媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。特許商標庁の特許ファイルまたは記録に現れる限りにおいては、著作権所有者は、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
【０００２】
発明の分野
本発明は概して、コンピュータシステムおよびミドルウェアのようなソフトウェアに関し、特定的にはトランザクショナルミドルウェアマシン環境をサポートすることに関する。
【背景技術】
【０００３】
背景
トランザクショナルミドルウェアシステム、すなわちトランザクション指向のミドルウェアは、組織内の様々なトランザクションを処理することができる企業アプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータのような新たな技術の発展により、トランザクショナルミドルウェアの性能をさらに向上させる必要がある。これらは、一般に発明の実施例が対処することが意図される分野である。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本願明細書において、トランザクショナルミドルウェアマシン環境においてトランザクショナルリソースを動的にスケールアップ／スケールダウンすることをサポートするためのシステムおよび方法を記載する。グループおよびマシンのようなトランザクショナルリソースは、リソース使用変更に従って、ダイナミックリソースブローカを用いて追加または削除することができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境についての１つ以上のデプロイメントポリシーと１つ以上のデプロイメントエージェントとを維持する。１つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうちの１つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、１つ以上のデプロイメントエージェントからマシン使用情報を受信し、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするように動作する。
【図面の簡単な説明】
【０００５】
【図１】発明の実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ／スケールダウンすることをサポートするトランザクショナルミドルウェアマシン環境の例証を示す図である。
【図２】発明の実施例に実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ／スケールダウンすることをサポートするための典型的なフローチャートを例示する図である。
【図３】発明の実施例に係る、トランザクショナルミドルウェア環境においてパッケージレベルにてリソースを動的にスケールアップ／スケールダウンする例証を示す図である。
【図４】発明の実施例に係る、トランザクショナルミドルウェア環境においてマシンレベルにてリソースを動的にスケールアップ／スケールダウンする例証を示す図である。
【図５】発明の実施例に係る、図１に示されるマシンＤ１１０の例証を詳細に示す図である。
【発明を実施するための形態】
【０００６】
詳細な説明
本願明細書において、複数のプロセッサを有する高速マシンを利用することができるトランザクショナルミドルウェアシステムおよび高性能ネットワーク接続をサポートするためのシステムおよび方法が記載される。ダイナミックリソースブローカは、リソース使用変更に従ってグループおよびマシンを追加／削除することによって、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境についての１つ以上のデプロイメントポリシーと、１つ以上のデプロイメントエージェントとを維持する。１つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうちの１つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、１つ以上のデプロイメントエージェントからマシン使用情報を受信し、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするように動作する。
【０００７】
本発明の実施例に従うと、当該システムは、高性能ハードウェア、たとえば６４ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット（登録商標）ネットワーキングと、ＷｅｂＬｏｇｉｃ  Ｓｕｉｔｅのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なＪａｖａ（登録商標）ＥＥアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド（ＩＢ）ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成としてデプロイされ得る。ミドルウェアマシンソフトウェアは、たとえばＷｅｂＬｏｇｉｃ  Ｓｅｒｖｅｒ、ＪＲｏｃｋｉｔまたはＨｏｔｓｐｏｔ  ＪＶＭ、Ｏｒａｃｌｅ  Ｌｉｎｕｘ（登録商標）またはＳｏｌａｒｉｓ、およびＯｒａｃｌｅ  ＶＭといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、ＩＢネットワークによって互いに通信する複数のコンピュートノードと、１つ以上のＩＢ切替えゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされるか、またはフィラー（ｆｉｌｌｅｒ）によって占有され得る。
【０００８】
本願明細書において「Ｓｕｎ  Ｏｒａｃｌｅ  Ｅｘａｌｏｇｉｃ」または「Ｅｘａｌｏｇｉｃ」と称される本発明の実施例に従うと、当該システムは、Ｏｒａｃｌｅ  Ｍｉｄｄｌｅｗａｒｅ  ＳＷ  ｓｕｉｔｅまたはＷｅｂｌｏｇｉｃといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、デプロイが容易なソリューションである。本願明細書に記載されるように、実施例に従うと、当該システムは、１つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのＩＢファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを含む「グリッド・イン・ア・ボックス（ｇｒｉｄ  ｉｎ  ａ  ｂｏｘ）」である。たとえばＲｅａｌ  Ａｐｐｌｉｃａｔｉｏｎ  ＣｌｕｓｔｅｒｓおよびＥｘａｌｏｇｉｃ  Ｏｐｅｎ  ｓｔｏｒａｇｅを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のＩ／Ｏスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。
【０００９】
発明の実施例に従うと、トランザクショナルシステム、たとえばＴｕｘｅｄｏ（登録商標）は、高性能の分散ビジネスアプリケーションの構築、実行および管理を可能にし、多くの多階層アプリケーション開発ツールによってトランザクショナルミドルウェアとして使用されてきたソフトウェアモジュールのセットであり得る。トランザクショナルシステムは、分散コンピューティング環境において分散トランザクション処理を管理するために使用することができるプラットフォームである。無限のスケーラビリティおよび規格ベースのインターオペラビリティを提供しつつ、企業レガシーアプリケーションをアンロックし、それらをサービス指向のアーキテクチャに拡張するためのプラットフォームである。
【００１０】
ダイナミックリソースブローカは、リソース使用変更に従って、グループおよびマシンを追加／削除することによって、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステム、たとえばＴｕｘｅｄｏ（登録商標）を動的にスケールアップ／スケールダウンすることができる。したがって、トランザクショナルシステムは、複数のプロセッサ、たとえばＥｘａｌｏｇｉｃミドルウェアマシンを有する高速マシンと、高性能ネットワーク接続、たとえばＩｎｆｉｎｉｂａｎｄ（ＩＢ）ネットワークとを利用することができる。
【００１１】
トランザクショナルシステムのスケールアップおよびスケールダウン
発明の実施例に従うと、リソース使用変更に従って、ダイナミックリソースブローカをトランザクショナルミドルウェアマシン環境においてサポートして、トランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。トランザクショナルシステムのダイナミックリソースのアロケーション／デアロケーションは、ユーザがフレキシブルなクラウド環境においてリソースを管理するのに役立つことができる。システムは、リソース使用メトリックを収集することができ、リソース使用変更に基づいて、トランザクショナルリソースをスケールアップ／スケールダウンするためのルールをユーザが定義することが可能である。そうすれば、リソース使用変更に基づいてユーザ定義のルールに従って、トランザクショナルシステムを動的にスケールアップおよびスケールダウンすることができる。
【００１２】
図１は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ／スケールダウンすることをサポートするトランザクショナルミドルウェアマシン環境の例証を示す。図１に示されるように、トランザクショナルミドルウェアマシン環境１００は、マシンＡ〜Ｄ  １０１〜１０３および１１０のような複数のトランザクショナルミドルウェアマシンを含む。
【００１３】
トランザクショナルミドルウェアマシン環境におけるダイナミックリソースブローカは、マシンＤ１１０上のデータリポジトリ１０７、マシンＤ１１０上のデプロイメントセンター１０６、および１つ以上のデプロイメントエージェント：デプロイメントエージェントＡ〜Ｃ  １１１〜１１３のような、いくつかのコンポーネントを含むことができる。各デプロイメントエージェントは、トランザクショナルミドルウェアマシン環境において、トランザクショナルミドルウェアマシン、マシンＡ〜Ｃ  １０１〜１０３上に存在する。
【００１４】
デプロイメントセンター１０６は、すべてのユーザ入力１２０を受信することができ、宛先マシン、マシンＡ〜Ｃ  １０１〜１０３に命令／パッケージを分散し、、宛先マシンから実行結果を受信することを担う。その上、デプロイメントセンター１０６は、ユーザ入力１２０に基づいて、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシー１１６を維持することができる。
【００１５】
各デプロイメントエージェント、デプロイメントエージェントＡ〜Ｃ  １１１〜１１３は、デプロイメントセンター１０６から分散パッケージを受信し、それが存在する特定のマシン上でデプロイメント／アンデプロイメント／管理タスクを実行することを担う。さらに、各デプロイメントエージェント、デプロイメントエージェントＡ〜Ｃ  １１１〜１１３は、デプロイメントエージェントが存在する特定のマシンのリソース使用メトリックを収集し、そのようなリソース使用メトリックをデプロイメントセンター１０６に報告することができる。次いで、ランタイムにおいて、デプロイメントセンター１０６は、リソース使用変更に従って、グループおよびマシンをどのように追加または削除するかを決定することができる。最後に、デプロイメントエージェント、デプロイメントエージェントＡ〜Ｃ  １１１〜１１３は、実行結果をデプロイメントセンター１０６に提供することができる。
【００１６】
図１に示されるように、トランザクショナルミドルウェアマシン環境１００は、ドメインＡ〜Ｂ  １０８〜１０９のような１つ以上のトランザクショナルドメインを含むことができる。ドメインＡ１０８のマシンＡ〜Ｃ  １０１〜１０３に加えて、マシンＤ１１０上のデプロイメントセンター１０６は、デプロイメントエージェントＥ〜Ｆ  １０４〜１０５を通じてドメインＢ１０９のマシンＥ〜Ｆ  １０４〜１０５のマシン使用情報を受信することができる。デプロイメントセンター１０６は、各トランザクショナルドメイン、ドメインＡ〜Ｂ  １０８〜１０９について、リソースの使用状況を別個に管理することができる。デプロイメントセンター１０６は、デプロイメントエージェント、ドメインＡ１０８のデプロイメントエージェントＡ〜Ｃ  １１１〜１１３およびドメインＢ１０９のデプロイメントエージェントＥ〜Ｆ  １１４〜１１５によって収集されたリソース使用情報に基づいて、各トランザクショナルドメイン、ドメインＡ〜Ｂ  １０８〜１０９における作業負荷を動的にスケールアップおよび／またはスケールダウンするように動作する。
【００１７】
各トランザクショナルドメイン、ドメインＡ〜Ｂ  １０８〜１０９内には、トランザクショナルサービスを提供するのに常に利用可能であることができるマスタマシンが存在する場合がある。図１に示される例では、マシンＡ１０１をドメインＡ１０８のマスタマシンとすることができる。したがって、マシンＡ１０１の構成は変更されなくてもよいが、デプロイメントセンター１０６は、マシンＢ１０２およびマシンＣ１０３がアクティブにされ、ランタイムにおいて必要なコンポーネントをデプロイするべきかどうかを動的に決定することができる。
【００１８】
データリポジトリ１０７を用いて、アプリケーションパッケージ、分散パッケージ、およびコンフィギュレーションファイルのようなアプリケーションデプロイメント関連情報を格納することができる。ユーザは、アプリケーションが様々なトランザクショナルアプリケーションサーバマシンにデプロイされる前に、アプリケーションのために必要なコンポーネントをすべてデータリポジトリ１０７にアップロードすることができる。デプロイメントセンター１０６は、デプロイメントのための必要なコンポーネントをデータリポジトリ１０７から取得し、サービスニーズを満たすために、特定のマシンに特定のコンポーネントをデプロイすることができる。
【００１９】
図２は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境において動的にトランザクショナルシステムスケールアップ／スケールダウンすることをサポートするための典型的なフローチャートを例示する。図２に示されるように、ステップ２０１において、デプロイメントセンターがトランザクショナルミドルウェアマシン環境に提供される。ステップ２０２において、１つ以上のデプロイメントエージェントがトランザクショナルミドルウェアマシン環境に提供される。各デプロイメントエージェントは、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内のトランザクショナルミドルウェアマシンに関連付けられる。次いで、ステップ２０３において、デプロイメントセンターは、１つ以上のデプロイメントエージェントからマシン使用情報を受信することができる。最後に、ステップ２０４において、システムは、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンすることができる。
【００２０】
以下に開示されるように、２つのレベル：マシンレベルおよびパッケージレベルにおいて、トランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。
【００２１】
パッケージレベルダイナミックデプロイメント
発明の実施例に従うと、ダイナミックリソースブローカは、パッケージレベルにおけるリソース使用変更に従って、トランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。
【００２２】
図３は、トランザクショナルミドルウェア環境においてパッケージレベルにてトランザクショナルシステムを動的にスケールアップ／スケールダウンする例証を示す。図３に示されるように、トランザクショナルミドルウェア環境は、２つのアプリケーション：ＡＰＰ１  ３０３およびＡＰＰ２  ３０４を動作させることを担う２台の物理または論理マシンｌｃｌｎｘ２４  ３０１およびｌｃｌｎｘ１６  ３０２を含む。
【００２３】
その上、トランザクショナルミドルウェア環境は、２つの仮想マシンＭ１  ３０６およびＭ２  ３０７を含むドメインＤＯＭ１  ３０５を含む。仮想マシンＭ１  ３０６は、物理または論理マシンｌｃｌｎｘ２４  ３０１にバインドされ、アプリケーションパッケージＡＰＰ１  ３０３動作させることを担う。同様に、仮想マシンＭ２  ３０７は物理または論理マシンｌｃｌｎｘ１６  ３０２にバインドされ、アプリケーションパッケージＡＰＰ２  ３０４を動作させることを担う。
【００２４】
図３に示されるように、仮想マシンＭ２  ３０７の下には、パッケージ候補ディレクトリ、候補パッケージ３０８があり、ユーザは、追加的なパッケージ、ＡＰＰ３  ３０９およびＡＰＰ４  ３１０を仮想マシンＭ２  ３０７に追加することができる。
【００２５】
ユーザは、ドメインのステータスにかかわらず、ダイナミックデプロイメントのためのアプリケーションパッケージを、仮想マシン、たとえばＭ２  ３０７に追加することができる。たとえば、ユーザは、ドメインＤＯＭ  １  ３０５が編集、デプロイメント、ブート、またはシャットダウンステータスにあるとき、アプリケーションパッケージを仮想マシンＭ２  ３０７に追加することができる。そのような場合、動的に追加されるアプリケーションパッケージ、ＡＰＰ３  ３０９およびＡＰＰ４  ３１０のデプロイメント情報を、Ｔｕｘｅｄｏ（登録商標）ＵＢＢＣＯＮＦＩＧファイルのような既存のトランザクショナルサーバコンフィギュレーションファイルに書込まなくてもよい。一方、システムは、動作ステータスにあるときにのみ、ドメインＤＯＭ  １  ３０５のパッケージレベルのダイナミックスケールアップ／スケールダウンを可能にし得る。
【００２６】
下に開示されるように、システムは、パッケージレベルのダイナミックデプロイメントをユーザが手動でかつ自動的に行なうことを許可する。
【００２７】
パッケージレベルのダイナミックデプロイメントを行なう手動の方法は、ユーザが決定した条件が満足されると、たとえば仮想マシンＭ２  ３０７がアンダーロードされると、アプリケーションパッケージをユーザが一つずつ手動でアクティブにすることを許可する。図３の例では、ユーザは、ＡＰＰ３  ３０９をアクティブにするように選択することができる。次いで、システムは、データリポジトリに格納されている関連するアプリケーションパッケージファイルを選択し、アプリケーションパッケージＡＰＰ３  ３０９を物理または論理マシンｌｃｌｎｘ１６  ３０２にデプロイするために、Ｔｕｘｅｄｏ（登録商標）管理情報ベース（ＭＩＢ）オペレーションのような一連のアプリケーション管理オペレーションを行ない、このマシンに含まれるサーバをブートすることができる。その上、アプリケーションパッケージＡＰＰ３  ３０９がアクティブにされた後、ユーザは、それを非アクティブにするように選択することができる。次いで、システムはそのすべてのサーバをシャットダウンし、物理または論理マシンｌｃｌｎｘ１６  ３０２からアプリケーションパッケージＡＰＰ３  ３０９をアンデプロイすることができる。
【００２８】
一方、パッケージレベルのダイナミックデプロイメントを行なう自動的な方法は、あらかじめ定義されたユーザが決定した条件で、上記のＭＩＢオペレーションをシステムが自動的に行なうことを許可する。さらに、必要であれば、システムはアプリケーションパッケージを自動的にアンデプロイすることができる。
【００２９】
その上、Ｔｕｘｅｄｏ（登録商標）の例において、同じパラメータ置換ルールを用いて、手動のデプロイメントおよび自ダイナミックデプロイメントの両方において上記のＭＩＢオペレーションを行なうことができる。その上、ダイナミックリソースブローカは、アプリケーションパッケージをデプロイするために、既存のメカニズム、たとえばファイル形式を再使用して、トランザクショナルドメインにおいてリソースのダイナミックスケールアップ／スケールダウンを行なうことができる。
【００３０】
マシンレベルのダイナミックデプロイメント
発明の実施例に従うと、ダイナミックリソースブローカは、マシンレベルでのリソース使用変更に従って、トランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。
【００３１】
図４は、トランザクショナルミドルウェア環境においてマシンレベルにてトランザクショナルシステムを動的にスケールアップ／スケールダウンする例証を示す。図４に示されるように、トランザクショナルミドルウェア環境は、４つのアプリケーション：ＡＰＰ１  ４０５、ＡＰＰ２  ４０６、ＡＰＰ３  ４０７、およびＡＰＰ４  ４０８を動作させることを担う４台の物理または論理マシンｌｃｌｎｘ２４  ４０１、ｌｃｌｎｘ１６  ４０２、ｌｃｌｎｘ１０  ４０３、およびｌｃｌｎｘ１１  ４０４を含む。
【００３２】
トランザクショナルミドルウェア環境は、３つの仮想マシンＭ１  ４１１、Ｍ２  ４１２、およびＭ３  ４１３を含むドメインＤＯＭ１  ４０９を含む。仮想マシンＭ１４１１は、物理または論理マシンｌｃｌｎｘ２４  ４０１にバインドされ、アプリケーションパッケージＡＰＰ１  ４０５動作させることを担う。同様に、仮想マシンＭ２  ４０２は、物理または論理マシンｌｃｌｎｘ１６  ４０２にバインドされ、アプリケーションパッケージＡＰＰ２  ４０６動作させることを担う。
【００３３】
図４に示されるように、仮想マシンＭ３  ４０３は、トランザクショナルミドルウェア環境におけるいずれの物理マシンマシンにもまだバインドされていない。仮想マシンＭ３  ４０３の下には、マシン候補ディレクトリ、候補マシン４１０があり、１つ以上の論理的または物理的な候補マシンｌｃｌｎｘ１０  ４０３およびｌｃｌｎｘ１１  ４０４を追加するためにユーザによって使用されることができる。候補マシンｌｃｌｎｘ１０  ４０３およびｌｃｌｎｘ１１  ４０４は、他のアクティブにされたマシンｌｃｌｎｘ２４  ４０１およびｌｃｌｎｘ１６  ４０２と同様のアーキテクチャを有することができるため、アプリケーションパッケージＡＰＰ１  ４０５、ＡＰＰ２  ４０６、ＡＰＰ３  ４０７、およびＡＰＰ４  ４０８は、困難なくいずれかのマシンｌｃｌｎｘ１０  ４０３およびｌｃｌｎｘ１１  ４０４上で実行されることができる。
【００３４】
たとえば、ダイナミックリソースブローカは、仮想マシンＭ２  ４１２がオーバーロードとなると、候補マシン、たとえばｌｃｌｎｘ１０  ４０３が仮想マシンＭ３  ４０３にバインドされることを許可する。さらに、候補マシンが仮想マシンからアンバインドされた場合、他の候補マシン、たとえばｌｃｌｎｘ１１  ４０４が仮想マシンＭ３  ４０３とバインドされる機会を有することができる。
【００３５】
図１に示されるように、ドメインＡ１０８のマスタノード、マシンＡ１０１はデプロイメントセンター１０６との一貫した接続を維持するので、動的にデプロイされた候補マシンはドメインにおいてマスタノードにならない場合がある。したがって、図４に示される例では、候補マシンｌｃｌｎｘ１０  ４０３およびｌｃｌｎｘ１１  ４０４は、ドメインＤＯＭ１  ４０９のマスタノードにならない場合がある。
【００３６】
発明の実施例に従うと、マシンレベルおよびパッケージレベルの両方において、トランザクショナルシステムを動的にスケールアップ／スケールダウンすることができる。ユーザは、パッケージ候補ディレクトリ、候補パッケージ４１５に、１つ以上のアプリケーションパッケージＡＰＰ３  ４０７およびＡＰＰ４  ４０８をリストすることができ、したがって、マシンが動的にデプロイされると、アプリケーションパッケージＡＰＰ３  ４０７およびＡＰＰ４  ４０８を候補マシンにデプロイすることができる。
【００３７】
ダイナミックリソースブローカは、マシンレベルのダイナミックデプロイメントをユーザが手動でかつ自動的に行なうことを許可する。ダイナミックリソースのアロケーション／デアロケーションは、顧客がクラウド環境においてリソースをよりフレキシブルに管理するのに役立つ。リソース使用が変わると、たとえばコンピュートノードが故障するかまたはフルロードに達すると、システムは、他のノードから追加的なサービスを動的に提供することによって、高い可用性およびスケーラビリティを提供することができる。そのような切替えは、手動介入なしに自動的とすることができる。
【００３８】
マシンレベルのダイナミックデプロイメントを行なう手動の方法は、１つ以上のユーザが決定した条件が満たされると、ユーザが候補マシンをアクティブにすることを許可する。次いで、ユーザは、パッケージ候補ディレクトリの下の１つ以上のアプリケーションパッケージをアクティブにすることができる。
【００３９】
たとえば、ユーザは、ユーザが決定した条件が満たされると、たとえば仮想マシンＭ２  ４１２がオーバーロードとなると、候補マシンｌｃｌｎｘ１０  ４０３および候補アプリケーションパッケージＡＰＰ３  ４０７をアクティブにするように選択することができる。次いで、システムは、Ｔｕｘｅｄｏ（登録商標）ＭＩＢオペレーションのような一連の管理オペレーションを行ない、候補マシンｌｃｌｎｘ１０  ４０３をアクティブにし、候補アプリケーションパッケージＡＰＰ３  ４０７をマシンｌｃｌｎｘ１０  ４０３にデプロイし、マシンｌｃｌｎｘ１０  ４０３に含まれるサーバをブートすることができる。その上、ユーザは、マシンｌｃｌｎｘ１０  ４０３をアンデプロイするように選択することができ、その時システムはこのマシンをシャットダウンすることができ、マシン上のすべてのアプリケーションパッケージを非アクティブにすることができる。
【００４０】
一方、パッケージレベルのダイナミックデプロイメントを行なう自動的な方法は、あらかじめ定義されたユーザが決定した条件で上記のＭＩＢオペレーションをシステムが行なうことを許可する。また、システムは、アンデプロイメントオペレーションを自動的に行なうことができる。
【００４１】
また、Ｔｕｘｅｄｏ（登録商標）の例では、同じパラメータ置換ルールを用いて、手動のデプロイメントおよび自ダイナミックデプロイメントの両方において上記のＭＩＢオペレーションを行なうことができる。ダイナミックリソースブローカは、アプリケーションパッケージをデプロイするための既存のメカニズム、たとえばファイル形式を再使用して、トランザクショナルドメイン内のリソースを動的にスケールアップ／スケールダウンすることができる。
【００４２】
図５は、発明の実施例に係る、図１に示されるマシンＤ１１０の例証を詳細に示す。図５に示されるように、マシンＤ１１０は、１つ以上のアプリケーションコンポーネントがトランザクショナルミドルウェアマシン環境およびデプロイメントセンター１０６における複数のトランザクショナルミドルウェアマシンにデプロイされる前に、ユーザによってアップロードされた１つ以上のアプリケーションコンポーネントを格納するためのデータリポジトリ１０７を含み得る。
【００４３】
デプロイメントセンター１０６は、１つ以上のデプロイメントエージェントからマシン使用情報を受信するための受信ユニット１０６１と、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするためのスケールアップ／スケールダウンユニット１０６２とを含み得る。
【００４４】
いくつかの実施例において、デプロイメントセンター１０６は、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーを維持するための維持ユニット１０６３と、複数のトランザクショナルドメインを管理するための管理ユニット１０６４と、既存のトランザクショナルドメインにおいて実行している１つ以上のパッケージを動的に追加または削除し、既存のトランザクショナルドメインにおいて動作している１つ以上のトランザクショナルミドルウェアを動的に追加または削除するための追加または削除ユニット１０６５とをさらに備え得る。
【００４５】
発明の別の局面において、トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするための方法であって、１つ以上のデプロイメントエージェントからマシン使用情報を受信することと、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンすることとを含む方法が提供される。
【００４６】
いくつかの実施例において、当該方法はさらに、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーを維持すること、複数のトランザクショナルドメインを管理すること、既存のトランザクショナルドメインにおいて実行している１つ以上のパッケージを動的に追加または削除すること、および／または、既存のトランザクショナルドメインにおいて動作している１つ以上のトランザクショナルミドルウェアを動的に追加または削除することを含み得る。
【００４７】
発明の別の局面において、トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムが提供され、当該システムは、１つ以上のデプロイメントエージェントからマシン使用情報を受信するための手段と、１つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ／スケールダウンするための手段とを備える。
【００４８】
いくつかの実施例において、システムはさらに、トランザクショナルミドルウェアマシン環境について１つ以上のデプロイメントポリシーを維持するための手段、複数のトランザクショナルドメインを管理するための手段、既存のトランザクショナルドメインにおいて実行している１つ以上のパッケージを動的に追加または削除するための手段、および／または、既存のトランザクショナルドメインにおいて動作している１つ以上のトランザクショナルミドルウェアを動的に追加または削除するための手段を備え得る。
【００４９】
本発明は、１つ以上のプロセッサ、メモリ、および／または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む１つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシンまたはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
【００５０】
いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ素子、磁気または光学カード、ナノシステム（分子メモリＩＣを含む）、または命令および／またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
【００５１】
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。
【図１】
2014528613.tif 000003
【図２】
2014528613.tif 000004
【図３】
2014528613.tif 000005
【図４】
2014528613.tif 000006
【図５】
2014528613.tif 000007
【国際調査報告】
2014528613.tif 000008