特許第6129851号(P6129851)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許6129851トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法
<>
  • 特許6129851-トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法 図000002
  • 特許6129851-トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法 図000003
  • 特許6129851-トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法 図000004
  • 特許6129851-トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法 図000005
  • 特許6129851-トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6129851
(24)【登録日】2017年4月21日
(45)【発行日】2017年5月17日
(54)【発明の名称】トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムおよび方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20170508BHJP
【FI】
   G06F9/46 462Z
【請求項の数】11
【全頁数】15
(21)【出願番号】特願2014-533651(P2014-533651)
(86)(22)【出願日】2012年9月25日
(65)【公表番号】特表2014-528613(P2014-528613A)
(43)【公表日】2014年10月27日
(86)【国際出願番号】US2012057131
(87)【国際公開番号】WO2013049072
(87)【国際公開日】20130404
【審査請求日】2015年9月16日
(31)【優先権主張番号】61/541,059
(32)【優先日】2011年9月29日
(33)【優先権主張国】US
(31)【優先権主張番号】13/423,024
(32)【優先日】2012年3月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】リ,チェンユー
(72)【発明者】
【氏名】リウ,リダン
【審査官】 井上 宏一
(56)【参考文献】
【文献】 特開2011− 34403(JP,A)
【文献】 特開2005− 92880(JP,A)
【文献】 国際公開第2010/100867(WO,A1)
【文献】 特開2006− 48680(JP,A)
【文献】 米国特許出願公開第2003/0167270(US,A1)
【文献】 特開2002−325111(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/46 −9/54
(57)【特許請求の範囲】
【請求項1】
トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムであって、
前記トランザクショナルミドルウェアマシン環境のトランザクショナルドメインにおいて複数の仮想マシンを有する複数の物理マシンと、
前記複数の仮想マシンのうちの1以上の仮想マシンによって実行可能な複数のアプリケーションパッケージと、
前記トランザクショナルミドルウェアマシン環境において1つ以上のマイクロプロセッサ上で動作するデプロイメントセンターと、
複数のデプロイメントエージェントとを備え、
前記複数のデプロイメントエージェントの各々は、前記複数の仮想マシンのうち1つの仮想マシンと関連付けられ、
前記複数の仮想マシンの各々は、前記複数の物理マシンのうちの1つにバインドされ、
前記デプロイメントセンターは、前記複数のデプロイメントエージェントからリソース使用情報を受信し、
前記デプロイメントセンターは、前記受信されたリソース使用情報に基づいて、第1の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールアップするように構成されており、
前記第1の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがアンダーロードである場合に、前記複数の物理マシンのうち1つの物理マシンに、前記複数の仮想マシンのうち動作していない1つの仮想マシンをバインドし、当該動作していない1つの仮想マシンを起動し、前記複数のアプリケーションパッケージのうち特定のアプリケーションパッケージをアクティブにすることを含み、
前記デプロイメントセンターは、前記受信されたリソース使用情報に基づいて、第2の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールダウンするように構成されており、
前記第2の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがオーバロードである場合に、前記複数の仮想マシンのうち動作している1つの仮想マシンが動作を終了し、前記特定のアプリケーションパッケージの実行を終了するように、当該動作している1つの仮想マシンを、前記複数の物理マシンのうち1つの物理マシンからアンバインドすることを含む、システム。
【請求項2】
トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするための方法であって、
前記トランザクショナルミドルウェアマシン環境には、トランザクショナルドメインにおいて複数の仮想マシンを有する複数の物理マシンと、前記複数の仮想マシンのうちの1以上の仮想マシンによって実行可能な複数のアプリケーションパッケージと、前記トランザクショナルミドルウェアマシン環境において1つ以上のマイクロプロセッサ上で動作するデプロイメントセンターと、複数のデプロイメントエージェントとが設けられており、
前記複数のデプロイメントエージェントの各々は、前記複数の仮想マシンのうち1つの仮想マシンと関連付けられ、
前記複数の仮想マシンの各々は、前記複数の物理マシンのうちの1つにバインドされ、
前記方法は、
前記1つ以上のマイクロプロセッサが、前記複数のデプロイメントエージェントからリソース使用状況を表わすリソース使用情報を受信することと、
前記1つ以上のマイクロプロセッサが、前記受信されたリソース使用情報に基づいて、第1の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールアップすることとを含み、
前記第1の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがアンダーロードである場合に、前記複数の物理マシンのうち1つの物理マシンに、前記複数の仮想マシンのうち動作していない1つの仮想マシンをバインドし、当該動作していない1つの仮想マシンを起動し、前記複数のアプリケーションパッケージのうち特定のアプリケーションパッケージをアクティブにすることを含み、
前記方法は、
前記1つ以上のマイクロプロセッサが、前記受信されたリソース使用情報に基づいて、第2の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールダウンすることをさらに含み、
前記第2の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがオーバロードである場合に、前記複数の仮想マシンのうち動作している1つの仮想マシンが動作を終了し、前記特定のアプリケーションパッケージの実行を終了するように、当該動作している1つの仮想マシンを、前記複数の物理マシンのうち1つの物理マシンからアンバインドすることとを含む、方法。
【請求項3】
前記1つ以上のマイクロプロセッサが、前記トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシーを維持することをさらに含む、請求項2に記載の方法。
【請求項4】
各前記デプロイメントエージェントを動作させるマイクロプロセッサが、当該デプロイメントエージェントが存在する特定のマシンのリソース使用メトリックを収集し、当該収集されたリソース使用メトリックを前記デプロイメントセンターに報告することさらに含む、請求項2または3に記載の方法。
【請求項5】
複数のトランザクショナルドメインは、前記デプロイメントセンターにより管理される、請求項2から4のいずれかに記載の方法。
【請求項6】
前記1つ以上のマイクロプロセッサが、別の1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、別のトランザクショナルドメインにおいて使用されるリソースを動的にスケールアップまたはスケールダウンすることをさらに含む、請求項5に記載の方法。
【請求項7】
各トランザクショナルドメイン内に存在するマスタマシンの構成は、不変のままである、請求項5または6に記載の方法。
【請求項8】
前記トランザクショナルミドルウェアマシン環境には、1つ以上のアプリケーションコ
ンポーネントが前記トランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンにデプロイされる前に、前記複数のアプリケーションパッケージを格納するデータリポジトリがさらに設けられる、請求項2から7のいずれかに記載の方法。
【請求項9】
前記第1の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンに、前記特定のアプリケーションパッケージを動的にデプロイし、当該動作している1つの仮想マシン上で前記特定のアプリケーションパッケージをアクティブにすることをさらに含む、請求項2から8のいずれかに記載の方法。
【請求項10】
前記第2の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンが前記特定のアプリケーションパッケージの実行を終了するように、前記特定のアプリケーションパッケージを、当該動作している1つの仮想マシンからアンデプロイすることをさらに含む、請求項2から9のいずれかに記載の方法。
【請求項11】
トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのコンピュータにより実行されるプログラムであって、
前記トランザクショナルミドルウェアマシン環境には、トランザクショナルドメインにおいて複数の仮想マシンを有する複数の物理マシンと、前記複数の仮想マシンのうちの1以上の仮想マシンによって実行可能な複数のアプリケーションパッケージと、前記トランザクショナルミドルウェアマシン環境において前記コンピュータ上で動作するデプロイメントセンターと、複数のデプロイメントエージェントとが設けられており、
前記複数のデプロイメントエージェントの各々は、前記複数の仮想マシンのうち1つの仮想マシンと関連付けられ、
前記複数の仮想マシンの各々は、前記複数の物理マシンのうちの1つにバインドされ、
前記プログラムは、前記コンピュータに、
前記複数のデプロイメントエージェントからリソース使用状況を表わすリソース使用情報を受信することと、
前記受信されたリソース使用情報に基づいて、第1の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールアップすることとを実行させ、
前記第1の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがアンダーロードである場合に、前記複数の物理マシンのうち1つの物理マシンに、前記複数の仮想マシンのうち動作していない1つの仮想マシンをバインドし、当該動作していない1つの仮想マシンを起動し、前記複数のアプリケーションパッケージのうち特定のアプリケーションパッケージをアクティブにすることを含み、
前記プログラムは、前記コンピュータに、
前記受信されたリソース使用情報に基づいて、第2の処理を実行することによって、前記トランザクショナルドメインにおいて使用されるリソースを自動的にスケールダウンすることをさらに実行させ、
前記第2の処理は、前記複数の仮想マシンのうち動作している1つの仮想マシンがオーバロードである場合に、前記複数の仮想マシンのうち動作している1つの仮想マシンが動作を終了し、前記特定のアプリケーションパッケージの実行を終了するように、当該動作している1つの仮想マシンを、前記複数の物理マシンのうち1つの物理マシンからアンバインドすることとを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。特許商標庁の特許ファイルまたは記録に現れる限りにおいては、著作権所有者は、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
【0002】
発明の分野
本発明は概して、コンピュータシステムおよびミドルウェアのようなソフトウェアに関し、特定的にはトランザクショナルミドルウェアマシン環境をサポートすることに関する。
【背景技術】
【0003】
背景
トランザクショナルミドルウェアシステム、すなわちトランザクション指向のミドルウェアは、組織内の様々なトランザクションを処理することができる企業アプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータのような新たな技術の発展により、トランザクショナルミドルウェアの性能をさらに向上させる必要がある。これらは、一般に発明の実施例が対処することが意図される分野である。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
本願明細書において、トランザクショナルミドルウェアマシン環境においてトランザクショナルリソースを動的にスケールアップ/スケールダウンすることをサポートするためのシステムおよび方法を記載する。グループおよびマシンのようなトランザクショナルリソースは、リソース使用変更に従って、ダイナミックリソースブローカを用いて追加または削除することができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境についての1つ以上のデプロイメントポリシーと1つ以上のデプロイメントエージェントとを維持する。1つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうちの1つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、1つ以上のデプロイメントエージェントからマシン使用情報を受信し、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンするように動作する。
【図面の簡単な説明】
【0005】
図1】発明の実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ/スケールダウンすることをサポートするトランザクショナルミドルウェアマシン環境の例証を示す図である。
図2】発明の実施例に実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ/スケールダウンすることをサポートするための典型的なフローチャートを例示する図である。
図3】発明の実施例に係る、トランザクショナルミドルウェア環境においてパッケージレベルにてリソースを動的にスケールアップ/スケールダウンする例証を示す図である。
図4】発明の実施例に係る、トランザクショナルミドルウェア環境においてマシンレベルにてリソースを動的にスケールアップ/スケールダウンする例証を示す図である。
図5】発明の実施例に係る、図1に示されるマシンD110の例証を詳細に示す図である。
【発明を実施するための形態】
【0006】
詳細な説明
本願明細書において、複数のプロセッサを有する高速マシンを利用することができるトランザクショナルミドルウェアシステムおよび高性能ネットワーク接続をサポートするためのシステムおよび方法が記載される。ダイナミックリソースブローカは、リソース使用変更に従ってグループおよびマシンを追加/削除することによって、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境についての1つ以上のデプロイメントポリシーと、1つ以上のデプロイメントエージェントとを維持する。1つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうちの1つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、1つ以上のデプロイメントエージェントからマシン使用情報を受信し、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンするように動作する。
【0007】
本発明の実施例に従うと、当該システムは、高性能ハードウェア、たとえば64ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット(登録商標)ネットワーキングと、WebLogic Suiteのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なJava(登録商標)EEアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成としてデプロイされ得る。ミドルウェアマシンソフトウェアは、たとえばWebLogic Server、JRockitまたはHotspot JVM、Oracle Linux(登録商標)またはSolaris、およびOracle VMといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、IBネットワークによって互いに通信する複数のコンピュートノードと、1つ以上のIB切替えゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされるか、またはフィラー(filler)によって占有され得る。
【0008】
本願明細書において「Sun Oracle Exalogic」または「Exalogic」と称される本発明の実施例に従うと、当該システムは、Oracle Middleware SW suiteまたはWeblogicといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、デプロイが容易なソリューションである。本願明細書に記載されるように、実施例に従うと、当該システムは、1つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのIBファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを含む「グリッド・イン・ア・ボックス(grid in a box)」である。たとえばReal Application ClustersおよびExalogic Open storageを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のI/Oスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。
【0009】
発明の実施例に従うと、トランザクショナルシステム、たとえばTuxedo(登録商標)は、高性能の分散ビジネスアプリケーションの構築、実行および管理を可能にし、多くの多階層アプリケーション開発ツールによってトランザクショナルミドルウェアとして使用されてきたソフトウェアモジュールのセットであり得る。トランザクショナルシステムは、分散コンピューティング環境において分散トランザクション処理を管理するために使用することができるプラットフォームである。無限のスケーラビリティおよび規格ベースのインターオペラビリティを提供しつつ、企業レガシーアプリケーションをアンロックし、それらをサービス指向のアーキテクチャに拡張するためのプラットフォームである。
【0010】
ダイナミックリソースブローカは、リソース使用変更に従って、グループおよびマシンを追加/削除することによって、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステム、たとえばTuxedo(登録商標)を動的にスケールアップ/スケールダウンすることができる。したがって、トランザクショナルシステムは、複数のプロセッサ、たとえばExalogicミドルウェアマシンを有する高速マシンと、高性能ネットワーク接続、たとえばInfiniband(IB)ネットワークとを利用することができる。
【0011】
トランザクショナルシステムのスケールアップおよびスケールダウン
発明の実施例に従うと、リソース使用変更に従って、ダイナミックリソースブローカをトランザクショナルミドルウェアマシン環境においてサポートして、トランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。トランザクショナルシステムのダイナミックリソースのアロケーション/デアロケーションは、ユーザがフレキシブルなクラウド環境においてリソースを管理するのに役立つことができる。システムは、リソース使用メトリックを収集することができ、リソース使用変更に基づいて、トランザクショナルリソースをスケールアップ/スケールダウンするためのルールをユーザが定義することが可能である。そうすれば、リソース使用変更に基づいてユーザ定義のルールに従って、トランザクショナルシステムを動的にスケールアップおよびスケールダウンすることができる。
【0012】
図1は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境においてトランザクショナルシステムを動的にスケールアップ/スケールダウンすることをサポートするトランザクショナルミドルウェアマシン環境の例証を示す。図1に示されるように、トランザクショナルミドルウェアマシン環境100は、マシンA〜D 101〜103および110のような複数のトランザクショナルミドルウェアマシンを含む。
【0013】
トランザクショナルミドルウェアマシン環境におけるダイナミックリソースブローカは、マシンD110上のデータリポジトリ107、マシンD110上のデプロイメントセンター106、および1つ以上のデプロイメントエージェント:デプロイメントエージェントA〜C 111〜113のような、いくつかのコンポーネントを含むことができる。各デプロイメントエージェントは、トランザクショナルミドルウェアマシン環境において、トランザクショナルミドルウェアマシン、マシンA〜C 101〜103上に存在する。
【0014】
デプロイメントセンター106は、すべてのユーザ入力120を受信することができ、宛先マシン、マシンA〜C 101〜103に命令/パッケージを分散し、、宛先マシンから実行結果を受信することを担う。その上、デプロイメントセンター106は、ユーザ入力120に基づいて、トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシー116を維持することができる。
【0015】
各デプロイメントエージェント、デプロイメントエージェントA〜C 111〜113は、デプロイメントセンター106から分散パッケージを受信し、それが存在する特定のマシン上でデプロイメント/アンデプロイメント/管理タスクを実行することを担う。さらに、各デプロイメントエージェント、デプロイメントエージェントA〜C 111〜113は、デプロイメントエージェントが存在する特定のマシンのリソース使用メトリックを収集し、そのようなリソース使用メトリックをデプロイメントセンター106に報告することができる。次いで、ランタイムにおいて、デプロイメントセンター106は、リソース使用変更に従って、グループおよびマシンをどのように追加または削除するかを決定することができる。最後に、デプロイメントエージェント、デプロイメントエージェントA〜C 111〜113は、実行結果をデプロイメントセンター106に提供することができる。
【0016】
図1に示されるように、トランザクショナルミドルウェアマシン環境100は、ドメインA〜B 108〜109のような1つ以上のトランザクショナルドメインを含むことができる。ドメインA108のマシンA〜C 101〜103に加えて、マシンD110上のデプロイメントセンター106は、デプロイメントエージェントE〜F 104〜105を通じてドメインB109のマシンE〜F 104〜105のマシン使用情報を受信することができる。デプロイメントセンター106は、各トランザクショナルドメイン、ドメインA〜B 108〜109について、リソースの使用状況を別個に管理することができる。デプロイメントセンター106は、デプロイメントエージェント、ドメインA108のデプロイメントエージェントA〜C 111〜113およびドメインB109のデプロイメントエージェントE〜F 114〜115によって収集されたリソース使用情報に基づいて、各トランザクショナルドメイン、ドメインA〜B 108〜109における作業負荷を動的にスケールアップおよび/またはスケールダウンするように動作する。
【0017】
各トランザクショナルドメイン、ドメインA〜B 108〜109内には、トランザクショナルサービスを提供するのに常に利用可能であることができるマスタマシンが存在する場合がある。図1に示される例では、マシンA101をドメインA108のマスタマシンとすることができる。したがって、マシンA101の構成は変更されなくてもよいが、デプロイメントセンター106は、マシンB102およびマシンC103がアクティブにされ、ランタイムにおいて必要なコンポーネントをデプロイするべきかどうかを動的に決定することができる。
【0018】
データリポジトリ107を用いて、アプリケーションパッケージ、分散パッケージ、およびコンフィギュレーションファイルのようなアプリケーションデプロイメント関連情報を格納することができる。ユーザは、アプリケーションが様々なトランザクショナルアプリケーションサーバマシンにデプロイされる前に、アプリケーションのために必要なコンポーネントをすべてデータリポジトリ107にアップロードすることができる。デプロイメントセンター106は、デプロイメントのための必要なコンポーネントをデータリポジトリ107から取得し、サービスニーズを満たすために、特定のマシンに特定のコンポーネントをデプロイすることができる。
【0019】
図2は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境において動的にトランザクショナルシステムスケールアップ/スケールダウンすることをサポートするための典型的なフローチャートを例示する。図2に示されるように、ステップ201において、デプロイメントセンターがトランザクショナルミドルウェアマシン環境に提供される。ステップ202において、1つ以上のデプロイメントエージェントがトランザクショナルミドルウェアマシン環境に提供される。各デプロイメントエージェントは、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内のトランザクショナルミドルウェアマシンに関連付けられる。次いで、ステップ203において、デプロイメントセンターは、1つ以上のデプロイメントエージェントからマシン使用情報を受信することができる。最後に、ステップ204において、システムは、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンすることができる。
【0020】
以下に開示されるように、2つのレベル:マシンレベルおよびパッケージレベルにおいて、トランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。
【0021】
パッケージレベルダイナミックデプロイメント
発明の実施例に従うと、ダイナミックリソースブローカは、パッケージレベルにおけるリソース使用変更に従って、トランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。
【0022】
図3は、トランザクショナルミドルウェア環境においてパッケージレベルにてトランザクショナルシステムを動的にスケールアップ/スケールダウンする例証を示す。図3に示されるように、トランザクショナルミドルウェア環境は、2つのアプリケーション:APP1 303およびAPP2 304を動作させることを担う2台の物理または論理マシンlclnx24 301およびlclnx16 302を含む。
【0023】
その上、トランザクショナルミドルウェア環境は、2つの仮想マシンM1 306およびM2 307を含むドメインDOM1 305を含む。仮想マシンM1 306は、物理または論理マシンlclnx24 301にバインドされ、アプリケーションパッケージAPP1 303動作させることを担う。同様に、仮想マシンM2 307は物理または論理マシンlclnx16 302にバインドされ、アプリケーションパッケージAPP2 304を動作させることを担う。
【0024】
図3に示されるように、仮想マシンM2 307の下には、パッケージ候補ディレクトリ、候補パッケージ308があり、ユーザは、追加的なパッケージ、APP3 309およびAPP4 310を仮想マシンM2 307に追加することができる。
【0025】
ユーザは、ドメインのステータスにかかわらず、ダイナミックデプロイメントのためのアプリケーションパッケージを、仮想マシン、たとえばM2 307に追加することができる。たとえば、ユーザは、ドメインDOM 1 305が編集、デプロイメント、ブート、またはシャットダウンステータスにあるとき、アプリケーションパッケージを仮想マシンM2 307に追加することができる。そのような場合、動的に追加されるアプリケーションパッケージ、APP3 309およびAPP4 310のデプロイメント情報を、Tuxedo(登録商標)UBBCONFIGファイルのような既存のトランザクショナルサーバコンフィギュレーションファイルに書込まなくてもよい。一方、システムは、動作ステータスにあるときにのみ、ドメインDOM 1 305のパッケージレベルのダイナミックスケールアップ/スケールダウンを可能にし得る。
【0026】
下に開示されるように、システムは、パッケージレベルのダイナミックデプロイメントをユーザが手動でかつ自動的に行なうことを許可する。
【0027】
パッケージレベルのダイナミックデプロイメントを行なう手動の方法は、ユーザが決定した条件が満足されると、たとえば仮想マシンM2 307がアンダーロードされると、アプリケーションパッケージをユーザが一つずつ手動でアクティブにすることを許可する。図3の例では、ユーザは、APP3 309をアクティブにするように選択することができる。次いで、システムは、データリポジトリに格納されている関連するアプリケーションパッケージファイルを選択し、アプリケーションパッケージAPP3 309を物理または論理マシンlclnx16 302にデプロイするために、Tuxedo(登録商標)管理情報ベース(MIB)オペレーションのような一連のアプリケーション管理オペレーションを行ない、このマシンに含まれるサーバをブートすることができる。その上、アプリケーションパッケージAPP3 309がアクティブにされた後、ユーザは、それを非アクティブにするように選択することができる。次いで、システムはそのすべてのサーバをシャットダウンし、物理または論理マシンlclnx16 302からアプリケーションパッケージAPP3 309をアンデプロイすることができる。
【0028】
一方、パッケージレベルのダイナミックデプロイメントを行なう自動的な方法は、あらかじめ定義されたユーザが決定した条件で、上記のMIBオペレーションをシステムが自動的に行なうことを許可する。さらに、必要であれば、システムはアプリケーションパッケージを自動的にアンデプロイすることができる。
【0029】
その上、Tuxedo(登録商標)の例において、同じパラメータ置換ルールを用いて、手動のデプロイメントおよび自ダイナミックデプロイメントの両方において上記のMIBオペレーションを行なうことができる。その上、ダイナミックリソースブローカは、アプリケーションパッケージをデプロイするために、既存のメカニズム、たとえばファイル形式を再使用して、トランザクショナルドメインにおいてリソースのダイナミックスケールアップ/スケールダウンを行なうことができる。
【0030】
マシンレベルのダイナミックデプロイメント
発明の実施例に従うと、ダイナミックリソースブローカは、マシンレベルでのリソース使用変更に従って、トランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。
【0031】
図4は、トランザクショナルミドルウェア環境においてマシンレベルにてトランザクショナルシステムを動的にスケールアップ/スケールダウンする例証を示す。図4に示されるように、トランザクショナルミドルウェア環境は、4つのアプリケーション:APP1 405、APP2 406、APP3 407、およびAPP4 408を動作させることを担う4台の物理または論理マシンlclnx24 401、lclnx16 402、lclnx10 403、およびlclnx11 404を含む。
【0032】
トランザクショナルミドルウェア環境は、3つの仮想マシンM1 411、M2 412、およびM3 413を含むドメインDOM1 409を含む。仮想マシンM1411は、物理または論理マシンlclnx24 401にバインドされ、アプリケーションパッケージAPP1 405動作させることを担う。同様に、仮想マシンM2 402は、物理または論理マシンlclnx16 402にバインドされ、アプリケーションパッケージAPP2 406動作させることを担う。
【0033】
図4に示されるように、仮想マシンM3 403は、トランザクショナルミドルウェア環境におけるいずれの物理マシンマシンにもまだバインドされていない。仮想マシンM3 403の下には、マシン候補ディレクトリ、候補マシン410があり、1つ以上の論理的または物理的な候補マシンlclnx10 403およびlclnx11 404を追加するためにユーザによって使用されることができる。候補マシンlclnx10 403およびlclnx11 404は、他のアクティブにされたマシンlclnx24 401およびlclnx16 402と同様のアーキテクチャを有することができるため、アプリケーションパッケージAPP1 405、APP2 406、APP3 407、およびAPP4 408は、困難なくいずれかのマシンlclnx10 403およびlclnx11 404上で実行されることができる。
【0034】
たとえば、ダイナミックリソースブローカは、仮想マシンM2 412がオーバーロードとなると、候補マシン、たとえばlclnx10 403が仮想マシンM3 403にバインドされることを許可する。さらに、候補マシンが仮想マシンからアンバインドされた場合、他の候補マシン、たとえばlclnx11 404が仮想マシンM3 403とバインドされる機会を有することができる。
【0035】
図1に示されるように、ドメインA108のマスタノード、マシンA101はデプロイメントセンター106との一貫した接続を維持するので、動的にデプロイされた候補マシンはドメインにおいてマスタノードにならない場合がある。したがって、図4に示される例では、候補マシンlclnx10 403およびlclnx11 404は、ドメインDOM1 409のマスタノードにならない場合がある。
【0036】
発明の実施例に従うと、マシンレベルおよびパッケージレベルの両方において、トランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。ユーザは、パッケージ候補ディレクトリ、候補パッケージ415に、1つ以上のアプリケーションパッケージAPP3 407およびAPP4 408をリストすることができ、したがって、マシンが動的にデプロイされると、アプリケーションパッケージAPP3 407およびAPP4 408を候補マシンにデプロイすることができる。
【0037】
ダイナミックリソースブローカは、マシンレベルのダイナミックデプロイメントをユーザが手動でかつ自動的に行なうことを許可する。ダイナミックリソースのアロケーション/デアロケーションは、顧客がクラウド環境においてリソースをよりフレキシブルに管理するのに役立つ。リソース使用が変わると、たとえばコンピュートノードが故障するかまたはフルロードに達すると、システムは、他のノードから追加的なサービスを動的に提供することによって、高い可用性およびスケーラビリティを提供することができる。そのような切替えは、手動介入なしに自動的とすることができる。
【0038】
マシンレベルのダイナミックデプロイメントを行なう手動の方法は、1つ以上のユーザが決定した条件が満たされると、ユーザが候補マシンをアクティブにすることを許可する。次いで、ユーザは、パッケージ候補ディレクトリの下の1つ以上のアプリケーションパッケージをアクティブにすることができる。
【0039】
たとえば、ユーザは、ユーザが決定した条件が満たされると、たとえば仮想マシンM2 412がオーバーロードとなると、候補マシンlclnx10 403および候補アプリケーションパッケージAPP3 407をアクティブにするように選択することができる。次いで、システムは、Tuxedo(登録商標)MIBオペレーションのような一連の管理オペレーションを行ない、候補マシンlclnx10 403をアクティブにし、候補アプリケーションパッケージAPP3 407をマシンlclnx10 403にデプロイし、マシンlclnx10 403に含まれるサーバをブートすることができる。その上、ユーザは、マシンlclnx10 403をアンデプロイするように選択することができ、その時システムはこのマシンをシャットダウンすることができ、マシン上のすべてのアプリケーションパッケージを非アクティブにすることができる。
【0040】
一方、パッケージレベルのダイナミックデプロイメントを行なう自動的な方法は、あらかじめ定義されたユーザが決定した条件で上記のMIBオペレーションをシステムが行なうことを許可する。また、システムは、アンデプロイメントオペレーションを自動的に行なうことができる。
【0041】
また、Tuxedo(登録商標)の例では、同じパラメータ置換ルールを用いて、手動のデプロイメントおよび自ダイナミックデプロイメントの両方において上記のMIBオペレーションを行なうことができる。ダイナミックリソースブローカは、アプリケーションパッケージをデプロイするための既存のメカニズム、たとえばファイル形式を再使用して、トランザクショナルドメイン内のリソースを動的にスケールアップ/スケールダウンすることができる。
【0042】
図5は、発明の実施例に係る、図1に示されるマシンD110の例証を詳細に示す。図5に示されるように、マシンD110は、1つ以上のアプリケーションコンポーネントがトランザクショナルミドルウェアマシン環境およびデプロイメントセンター106における複数のトランザクショナルミドルウェアマシンにデプロイされる前に、ユーザによってアップロードされた1つ以上のアプリケーションコンポーネントを格納するためのデータリポジトリ107を含み得る。
【0043】
デプロイメントセンター106は、1つ以上のデプロイメントエージェントからマシン使用情報を受信するための受信ユニット1061と、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンするためのスケールアップ/スケールダウンユニット1062とを含み得る。
【0044】
いくつかの実施例において、デプロイメントセンター106は、トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシーを維持するための維持ユニット1063と、複数のトランザクショナルドメインを管理するための管理ユニット1064と、既存のトランザクショナルドメインにおいて実行している1つ以上のパッケージを動的に追加または削除し、既存のトランザクショナルドメインにおいて動作している1つ以上のトランザクショナルミドルウェアを動的に追加または削除するための追加または削除ユニット1065とをさらに備え得る。
【0045】
発明の別の局面において、トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするための方法であって、1つ以上のデプロイメントエージェントからマシン使用情報を受信することと、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンすることとを含む方法が提供される。
【0046】
いくつかの実施例において、当該方法はさらに、トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシーを維持すること、複数のトランザクショナルドメインを管理すること、既存のトランザクショナルドメインにおいて実行している1つ以上のパッケージを動的に追加または削除すること、および/または、既存のトランザクショナルドメインにおいて動作している1つ以上のトランザクショナルミドルウェアを動的に追加または削除することを含み得る。
【0047】
発明の別の局面において、トランザクショナルミドルウェアマシン環境においてダイナミックリソースブローカをサポートするためのシステムが提供され、当該システムは、1つ以上のデプロイメントエージェントからマシン使用情報を受信するための手段と、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップ/スケールダウンするための手段とを備える。
【0048】
いくつかの実施例において、システムはさらに、トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシーを維持するための手段、複数のトランザクショナルドメインを管理するための手段、既存のトランザクショナルドメインにおいて実行している1つ以上のパッケージを動的に追加または削除するための手段、および/または、既存のトランザクショナルドメインにおいて動作している1つ以上のトランザクショナルミドルウェアを動的に追加または削除するための手段を備え得る。
【0049】
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシンまたはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
【0050】
いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
【0051】
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。
図1
図2
図3
図4
図5