(57)【要約】  ２段階配布フレームワークは、複数のタイプのコンポーネントが登録を行なうとともに２段階配布の部分となるのを可能にし得る。２段階配布フレームワークは、設定コンポーネント、アプリケーションコンポーネント、およびサービスバスコンポーネントのようなコンポーネントを含み得、異なるタイプのオブジェクトの２段階配布を行なうよう、２段階配布フレームワークに登録を行ない得る。さらに、コンポーネントは異なるマシンにリスナを含み得る。当該システムは異なるタイプのオブジェクトを含む２段階配布を行ない得る。この発明の一実施例は、アプリケーションサーバについての設定の２段階配布を含む。当該設定は各マシンに送られる。各マシンは、当該設定が到着すると、ＯＫメッセージのような準備完了インディケーションを送る。次いで、当該システムはアプリケーションサーバの設定変更をコミットし得る。
2009534753.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
２段階配布フレームワークと、
異なるタイプのオブジェクトの２段階配布を行なうよう前記２段階配布フレームワークに登録を行なうコンポーネントとを含み、前記コンポーネントは異なるマシンにリスナを含み、前記システムは前記異なるタイプのオブジェクトを含む２段階配布を行ない得る、システム。
【請求項２】
１つのタイプのコンポーネントは設定情報に関する、請求項１に記載のシステム。
【請求項３】
１つのタイプのコンポーネントはアプリケーションに関する、請求項１に記載のシステム。
【請求項４】
１つのタイプのコンポーネントはアプリケーションサーバの設定に関する、請求項１に記載のシステム。
【請求項５】
１つのタイプのコンポーネントはサービスバスのためのものである、請求項１に記載のシステム。
【請求項６】
前記２段階配布フレームワークは、前記コンポーネントが前記フレームワークに登録を行なうのに用い得るインターフェイスを含む、請求項１に記載のシステム。
【請求項７】
前記２段階配布は、準備およびコミット段階を含む、請求項１に記載のシステム。
【請求項８】
システムであって、
アプリケーションサーバについての設定の２段階配布を含み、前記設定は各々の関連するマシンに送られ、各々の関連するマシンは、前記設定が準備されるとともに各々の関連するマシンが準備されると準備完了インディケーションを返し、前記システムは前記アプリケーションサーバの設定変更をコミットする、システム。
【請求項９】
前記システムは２段階配布フレームワークと、前記２段階配布フレームワークに登録を行なうコンポーネントとを含む、請求項８に記載のシステム。
【請求項１０】
前記コンポーネントは異なるマシンにリスナを含む、請求項９に記載のシステム。
【請求項１１】
１つのタイプのコンポーネントは、設定情報のためのものである、請求項９に記載のシステム。
【請求項１２】
１つのタイプのコンポーネントはアプリケーションのためのものである、請求項９に記載のシステム。
【請求項１３】
１つのタイプのコンポーネントは、アプリケーションソースの設定のためのものである、請求項９に記載のシステム。
【請求項１４】
１つのタイプのコンポーネントは、サービスバスのためのものである、請求項９に記載のシステム。
【請求項１５】
前記２段階配布フレームワークは、前記コンポーネントが前記フレームワークに登録を行なうのに用い得るインターフェイスを含む、請求項９に記載のシステム。
【請求項１６】
前記２段階配布は、準備およびコミット段階を含む、請求項８に記載のシステム。
【請求項１７】
前記設定はエンタープライズビーンを用いて転送される、請求項８に記載のシステム。
【請求項１８】
前記設定は、各関連するマシンではファイルとして維持される、請求項８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
優先権主張
２００６年４月２１日に出願された、マーク・スポッツウッド（Mark Spotswood）による、「２段階配布フレームワーク（Two-phase Deployment Framework）」という名称を有する米国仮特許出願番号第６０／７９４，２４３号［代理人整理番号第ＢＥＡＳ−０１７８２ＵＳ０号］。
【０００２】
２００６年９月１日に出願された、マーク・スポッツウッド（Mark Spotswood）による、「２段階配布フレームワーク（Two-phase Deployment Framework）」という名称を有する米国特許出願番号第１１／４６９，７７２号［代理人整理番号第ＢＥＡＳ−０１７８２ＵＳ１号］。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
発明の背景
複雑なアプリケーションのためのシステムが複数のサーバマシンから実行され得る。各マシンが同じセットアップ（setup）を有するように、当該複数のサーバマシンに変更が同時に配布され得る。これらのサーバへの変更は、サーバのすべてが変更をコミットできない場合に当該変更がロールバックされ得るように、２段階の態様で行なわれることが望ましい。
【発明を実施するための最良の形態】
【０００４】
詳細な説明
図１は２段階配布フレームワーク１０２を示す。設定コンポーネント１０４、アプリケーションコンポーネント１０６、およびサービスバスコンポーネント１０８のようなコンポーネントが、異なるタイプのオブジェクトの２段階配布を行なうよう２段階配布フレームワーク１０２に登録を行ない得る。これらのコンポーネントは、異なるマシン１１６、１１８、および１２０においてリスナ（listener）１１０、１１２、および１１４を含み得る。当該システムは、異なるタイプのオブジェクトを含む２段階配布を行ない得る。
【０００５】
図２Ａ−図２Ｃは、２段階のコミット処理の例を示す。図２Ａでは、フレームワーク１０２は、マシン１１６、１１８、および１２０に準備メッセージを送る。この例における準備メッセージは、２つのタイプのオブジェクト、すなわち設定およびアプリケーションに関する。準備メッセージは、確認およびアプリケーションに対する変更を含み得るか、またはそれに関連付けられ得る。リスナは、これらの変更がマシンによってコミットされ得るかどうかを判断し得る。たとえば、設定リスナはチェックを行ない、照合結果（match）が新しい設定をセットし得るかどうか確かめる。図２Ａでは、すべてのマシンがＯＫ（準備完了）メッセージを送る。図２Ｃでは、２段階配布フレームワーク１０２が、マシンの各々にコミットメッセージを送り、変更がコミットされる。
【０００６】
図３Ａ−図３Ｂはロールバックを示す。ステップ３Ａでは、準備メッセージがマシンの各々に送られる。ステップ３Ｂでは、マシン１２０がＯＫではないと応答するか、または全く応答しない。ステップ３Ｃでは、２段階配布フレームワーク１０２はロールバックメッセージをマシン１１６、１１８、および１２０に送る。
【０００７】
２段階配布フレームワーク１０２の利用によりさらに、当該フレームワークに登録を行なうとともにリスナを加えることによって、新しいタイプのオブジェクトが２段階システ
ムに加えられることが可能になる。リスナは、そのタイプのオブジェクトに対して２段階の態様で処理を行なうのに必要とされることを行ない得る。２段階配布フレームワーク１０２は、新しいコンポーネントがフレームワーク１０２に登録を行なうことを可能にするためのインターフェイス１２２を含み得る。
【０００８】
図４は、アプリケーションサーバとともに用いられる２段階配布フレームワークの例を示す。マシン４０４上のアプリケーションサーバ４０２はマスタとして機能し得る。コンポーネントは、アプリケーションサーバについての設定と、アプリケーションサーバ上で実行されるアプリケーションとを含み得る。たとえば、１つの場合では、設定は、マシン上で実行されることになる新しいアプリケーションに対応するよう変更されることになる。２段階配布フレームワークは、設定と新しいアプリケーションとが、不可分な単位としてロードされることを可能にする。
【０００９】
この発明の一実施例は、アプリケーションサーバ４０２についての設定の２段階配布を含む。当該設定は各マシンに送られる。当該設定が到着すると、各マシンはＯＫメッセージのような準備完了インディケーションを送る。システムは次いで、アプリケーションサーバの設定変更をコミットし得る。
【００１０】
新しい設定は、エンタープライズビーン（enterprise bean）として転送され得、各マシンにてファイルとして維持され得る。
【００１１】
２段階配布フレームワークは、複数のタイプのオブジェクトが２段階配布において用いられることを可能にし得る。２段階配布フレームワークを用いる代わりに、各タイプのオブジェクトにつき１つとなるように複数の２段階システムが存在する場合、一方のオブジェクトが、他方がロールバックするときに、コミットし得る。図５Ａ−図５Ｃは、対話しない２段階配布システムでのこの問題を示す。この問題は、２段階配布フレームワークを用いる図６Ａ−図６Ｃの組合せられたシステムにおいて回避される。
【００１２】
一実施例は、コンピュータ技術の当業者には明らかであろうように、本開示の教示に従ってプログラムされる従来の汎用もしくは専用のデジタルコンピュータまたはマイクロプロセッサを用いて実現されてもよい。適切なソフトウェアコーディングは、ソフトウェア技術の当業者には明らかであろうように、本開示の教示に基づき、技能を有するプログラマによって容易に作成され得る。この発明はさらに、当業者には容易に明らかとなるであろうように、集積回路の作製によってか、または従来のコンポーネント回路の適切なネットワークを相互接続することによって、実現されてもよい。
【００１３】
一実施例は、命令を自身に記憶する記憶媒体であるとともに、ここに示される特徴のいずれかを実施するようコンピュータをプログラムするのに用いられ得るコンピュータプログラム製品を含む。記憶媒体は、フロッピー（登録商標）ディスク、光学ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、Ｒａｍ、ＥＰＲＯＭ、ＥＰＲＯＭ、Ｄｒａｍ、Ｒａｍ、フラッシュメモリ装置、磁気もしくは光学カード、（分子記憶ＩＣを含む）ナノシステム、またはコンピュータ読取可能媒体のうちのいずれか１つに記憶される命令および／もしくはデータを記憶するために好適な任意のタイプの媒体または装置を含むが、これらに限定されない。この発明は、汎用／専用のコンピュータまたはマイクロプロセッサのハードウェアの両方を制御するためであり、かつ当該コンピュータまたはマイクロプロセッサがこの発明の結果を用いる人間のユーザまたは他のメカニズムと対話することを可能にするためのソフトウェアを含む。このようなソフトウェアは、装置のドライバ、オペレーティングシステム、実行環境／コンテナ、およびユーザアプリケーションを含んでもよいが、これらに限定されない。
【００１４】
この発明の好ましい実施例の前述の記載は、説明および記載目的のために与えられる。余すところなく示すことを意図するものではなく、またはこの発明を開示された特定の形態に限定することを意図するものでもない。当業者には、多くの修正例および変形例が明らかであろう。たとえば、開示されたこの発明の実施例において行なわれるステップは、他の順番で行なわれ得、あるステップは省略され得、かつ付加的なステップが加えられ得る。この発明の原理およびその実際的な適用例を最もよく説明するよう実施例が選ばれ、記載された。これにより、他の当業者が、さまざまな実施例について、かつ考えられる特定の利用に適したさまざまな修正例とともに、この発明を理解することが可能になる。この発明の範囲は、特許請求の範囲およびそれらの均等物によって規定される。
【図面の簡単な説明】
【００１５】
【図１】この発明の一実施例の２段階配布フレームワークの例の図である。
【図２Ａ】２段階コミットを示す図である。
【図２Ｂ】２段階コミットを示す図である。
【図２Ｃ】２段階コミットを示す図である。
【図３Ａ】２段階ロールバックを示す図である。
【図３Ｂ】２段階ロールバックを示す図である。
【図３Ｃ】２段階ロールバックを示す図である。
【図４】アプリケーションサーバとともに用いられる２段階配布フレームワークを示す図である。
【図５Ａ】２セグメントの２段階配布を示す図である。
【図５Ｂ】２セグメントの２段階配布を示す図である。
【図５Ｃ】２セグメントの２段階配布を示す図である。
【図６Ａ】組合された２段階配布を示す図である。
【図６Ｂ】組合された２段階配布を示す図である。
【図６Ｃ】組合された２段階配布を示す図である。
【図１】
2009534753.tif 000003
【図２Ａ】
2009534753.tif 000004
【図２Ｂ】
2009534753.tif 000005
【図２Ｃ】
2009534753.tif 000006
【図３Ａ】
2009534753.tif 000007
【図３Ｂ】
2009534753.tif 000008
【図３Ｃ】
2009534753.tif 000009
【図４】
2009534753.tif 000010
【図５Ａ】
2009534753.tif 000011
【図５Ｂ】
2009534753.tif 000012
【図５Ｃ】
2009534753.tif 000013
【図６Ａ】
2009534753.tif 000014
【図６Ｂ】
2009534753.tif 000015
【図６Ｃ】
2009534753.tif 000016
【国際調査報告】
2009534753.tif 000017