JP2020184365A - アプリケーションサーバを並列起動するためのシステムおよび方法 - Google Patents
アプリケーションサーバを並列起動するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2020184365A JP2020184365A JP2020117139A JP2020117139A JP2020184365A JP 2020184365 A JP2020184365 A JP 2020184365A JP 2020117139 A JP2020117139 A JP 2020117139A JP 2020117139 A JP2020117139 A JP 2020117139A JP 2020184365 A JP2020184365 A JP 2020184365A
- Authority
- JP
- Japan
- Prior art keywords
- servers
- dependency
- server
- entries
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
Description
この特許文書の開示の一部は、著作権保護の対象となるものを含んでいる。著作権者は、特許商標庁の特許ファイルまたは記録に掲載された特許文書または特許開示の複製に対しては異議を唱えないが、その他の場合、全ての著作権を留保する。
本発明は、一般にコンピュータシステムに関し、特にトランザクション処理環境に関する。
Tuxedoアプリケーションを起動(boot)するための従来のメカニズム(すなわち、tmboot)は、通常、所定の順序でTuxedoアプリケーションサーバを1つずつ起動する。大規模/複雑なアプリケーションの場合、起動時間が長くなり、望ましくない。
アプリケーションサーバを並列起動するためのシステムおよび方法が提供される。例示的な方法において、各サーバおよびサーバグループエントリに依存関係属性を関連付けることができる。この方法は、依存関係属性に基づいて、依存関係マップを作成することができる。この方法は、呼び出されると、依存関係を有しないサーバを各々並列起動することができる。依存関係マップに基づいて、残りのサーバおよびサーバグループを起動することができる。
する。アプリケーションサーバは、DEPENDSONパラメータで指定された順序で起動される
。これによって、アプリケーションサーバを並列起動することができ、より迅速且つより効率的に起動プロセスを実行することができる。
本発明は、限定ではなく例示として添付の図面に示される。添付図面の図において、同様の参照符号が類似する要素を示す。なお、本開示において、一実施形態、1つの実施形態またはいくつかの実施形態の言及は、必ずしも同一の実施形態に限定されず、少なくとも1つの実施形態を意味する。
トランザクションミドルウェアシステムは、迅速に用意することができ且つオンデマンドで拡張することができる大規模並列処理インメモリグリッドを含む完全なJava(登録商標)EEアプリケーションサーバ複合体を提供するために、64ビットプロセッサ技術などの高性能ハードウェア、高性能大容量のメモリ、冗長インフィニバンド(登録商標)およびイーサネット(登録商標)ネットワーク、並びにWebLogic(登録商標)スイートなどのアプリケーションサーバまたはミドルウェア環境の組み合わせを含む。本発明のシステムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを形成するフルラック、ハーフラックまたはクォーターラックもしくは他の構成として展開されることができる。ミドルウェアマシンソフトウェアは、アプリケーションサーバ、ミドルウェアおよび他の機能、例えば、WebLogic Server、JRockitまたhはHotspot JVM、Oracle(登録商標)Linux(登録商標)あmたはSolaris、およびOracle(登録商標)VMを提供することができる。本発明のシステムは、I
Bネットワークを介して互いに通信する複数の計算ノード、IBスイッチゲートウェイ、およびストレージノードまたはストレージユニットを含むことができる。ラック構成として実装される場合、ラックの未使用部分は、空のままにしてもよく、詰め物で充填されてもよい。
明のシステムは、Oracle(登録商標)ミドルウェアSWスイートまたはWebLogicなどのミドルウェアまたはアプリケーションサーバソフトウェアをホストするために、展開容易な解決案である。本開示に説明するように、トランザクションミドルウェアシステムは、ミドルウェアアプリケーションをホストするために必要とされる1つ以上のサーバ、ストレ
ージユニット、ストレージネットワーク用のIBファブリック、および全ての他の要素を含む「グリッドボックス」(grid in a box)である。例えば、共有キャッシュアーキテ
クチャを備えるクラスタデータベースであり且つクラウドアーキテクチャの構成要素であり得るOracleリアルアプリケーションクラスタ(RAC)エンタープライズデータベースおよびExalogicオープンストレージを使用する大規模並列グリッドアーキテクチャを活用することによって、全ての種類のミドルウェアアプリケーションに高性能を提供することができる。このシステムは、線形I/O拡張性によって改善した性能を提供し、使用および管理が簡単であり、ミッションクリティカルな可用性および信頼性を提供する。
従来、Tuxedoによって、シーケンスパラメータに従ってアプリケーションサーバを起動することができる。この場合、管理者が(アプリケーションを使用するようにサーバを起動するために)tmbootを呼び出すときに、アプリケーションサーバは、割り当てられたシーケンス番号/パラメータに従って起動される。
起動することができる。2つ以上のサーバが同様のSEQUENCEパラメータを有する場合、tmbootは、これらのサーバを並行起動して、全てののサーバの初期化が完了するまで操作を続行しない。
図1は、トランザクション処理環境100を例示する図である。より具体的には、図1は、トランザクション処理環境100内のTuxedoアプリケーションサーバを並列起動するためのプロセスを示している。
味する。例えば、「-p 1」を指定したtmbootは、「-p」オプションを指定しないtmbootと同様である。num=0の場合、システムは、初期の数字、例えば16を使用することができ
る。
性をグループおよびサーバに追加することができる。アプリケーションサーバは、DEPENDSONパラメータまたはSEQUENCEパラメータにより指定された順序でまたは設定ファイル(
例えば、UBBCONFIG(5))内のサーバエントリの順序で起動することができる。DEPENDSON
パラメータおよびSEQUENCEパラメータが同時に指定された場合、DEPENDSONパラメータが
優先する。
<数字>」を追加することができる。UBBCONFIGに設定されたDEPENDSON関係を有しない全
てのアプリケーションサーバは、並列して起動する。依存関係に従った順序でサーバを起動し且つ並列に動作するために、tmbootは、各サーバが起動した状態まで待機しなければならない。
作するサーバを全て起動し、起動されたサーバからの応答を待つ。これらのサーバは、パイプを介して応答をtmbootプロセスに送信し、tmbootプロセスは、応答を受け取り、次のジョブを実行する。
ルスレッドは、リモートマシンから送信されるメッセージを待つことができる。リモートで起動されたサーバがある場合に、続行するようにメインスレッドに通知する。リモートtlistenスレッドは、起動されたサーバからの応答を収集するように準備を整える。1つ
のサーバが起動または失敗した場合、ネットワークメッセージを介してローカルスレッドに通知する。
(DEPENDSON)を用いて、S12が正常に機能するように起動され且つ初期化されたS1
2に依存することを示すことができる。
ように起動され且つ初期化されたS21に依存することを示すことができる。同様に、S32は、正常に機能するように起動され且つ初期化された(G1の)S13およびS24に依存する。
こでは、表記(DEPENDSON)を用いて、G4が正常に機能するように起動され且つ初期化
されたS41およびG3を示すことができる。
一実施形態によれば、tmbootが実行されると、例示的なプロセスは、サーバおよびグループエントリをTUXCONFIGからメモリにロードすることができる。次に、プロセスは、グ
ループおよびサーバのDEPENDSON属性に従って、依存関係マップ内のサーバノードとグル
ープノードとの間の依存関係を設定することができる。次に、プロセスは、ループおよび他のDEPENDSONエラーが存在するか否かをチェックすることができる。次に、プロセスは
、map_startノードからサーバを実行可能なリストに追加することができる。次に、プロ
セスは、非同期モードで利用可能なリスト内のサーバを起動し、パイプから応答情報を取得する。プロセスは、1つの応答を受け取ると、従属サーバを起動できるか否かをチェックする。起動できる場合、従属サーバを実行可能なリストに追加し、実行可能なリスト内のプロセスの起動を続行する。最後に、全てのサーバを起動した後、tmbootが終了する。
一実施形態によれば、例示的なプロセスは、例えば以下の例示的な手順に従って、依存関係マップを作成することができる。
一実施形態によれば、プロセスは、ローカルモードで並列起動をサポートすることができる。以下、このようなプロセスの一例を示す。
tmbootプロセスは、匿名パイプを作成し、サーバプロセスを分岐し、パイプfdをサーバプロセスに送信する。
tmbootは、非停止(non-block)モードでパイプを読み込み、応答を取得した場合、依
存関係マップをチェックして、次に起動するサーバを判断する。
tmbootプロセスは、名前付きパイプを作成し、サーバプロセスを分岐する。サーバは、tpsrvinitを完了した後、名前付きパイプを開放して接続し、名前付きパイプを介して応
答をtmbootに送信する。
一実施形態によれば、SHMモードで並列起動をサポートすることができる。SHMモードにおいて、tmbootは実行可能なリスト内の全てのサーバを起動し、起動されたサーバからの応答を待つ。サーバは、パイプを介して応答をtmbootプロセスに送信する。tmbootプロセスは、応答を受け取り、次のジョブを実行する。Tmbootは、非同期モードで実行可能なリスト内のサーバを起動し、起動されたサーバからの応答を収集するように準備を整える。サーバが1つの応答を受信した場合、依存先のサーバの準備が整っているか否かをチェックする。準備が整っている場合、そのサーバを実行可能なリストに追加して起動させる。
一実施形態によれば、MPモードで並列起動をサポートすることができる。MPモードにおいて、tmbootおよびtlistenは、互いに情報を交換するもう1つのスレッドを作成できる
。このローカルスレッドは、リモートマシンから送信されるメッセージを待つことができる。リモートで起動されたサーバがある場合に、続行するようにメインスレッドに通知する。リモートtlistenスレッドは、起動されたサーバからの応答を収集するように準備を
整える。1つのサーバが起動または失敗した場合、ネットワークメッセージを介してローカルスレッドに通知する。
更および変形は、当業者にとって明らかであろう。修正例および変形例は、開示された特徴の任意可能な組み合わせを含む。実施形態は、本発明の原理およびその実際の応用を最も良く説明することによって、他の当業者がさまざまな実施形態および考えられる特定の用途に適したさまざまな変形に応じて本発明を理解できるように、選択され説明される。本発明の範囲は、添付の特許請求の範囲およびそれらの同等物によって規定されると意図する。
Claims (20)
- トランザクション処理環境において、アプリケーションサーバを並列起動するための方法であって、
複数のサーバエントリおよび複数のグループエントリをメモリにロードするステップを含み、前記複数のサーバエントリの各々は、前記複数のサーバのうち1つのサーバに関連し、前記複数のグループエントリの各々は、前記複数のサーバグループのうち1つのサーバグループに関連しており、
前記複数のサーバエントリと前記複数のグループエントリとの間の依存関係マップを作成するステップと、
前記複数のサーバの中に依存関係を有しないサーバをチェックするステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々並列起動するステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々初期化するステップと、
前記作成された依存関係マップに従って、残りの未起動サーバを起動するステップとを含む、方法。 - 前記依存関係マップを作成するステップは、
前記複数のサーバエントリおよび前記複数のグループエントリの各々の依存関係属性をチェックするステップと、
前記チェック中に発見した各々の依存関係属性に基づいて、前記依存関係マップを作成するステップとを含む、請求項1に記載の方法。 - 前記依存関係マップの依存関係ループをチェックするステップと、
依存関係ループを発見した場合、前記発見した依存関係ループを回避するように、前記依存関係マップを再作成するステップとをさらに含む、請求項1または2に記載の方法。 - 前記作成された依存関係マップに従って残りの未起動サーバを起動する前に、並列起動された前記複数のサーバの中に依存関係を有しないサーバの各々が適切に動作しているかをチェックするステップをさらに含む、請求項1、2または3に記載の方法。
- 前記複数のサーバの各々は、Tuxedoアプリケーションサーバを含む、請求項1に記載の方法。
- 前記トランザクション処理環境は、SHMモードで動作する、請求項5に記載の方法。
- 前記トランザクション処理環境は、MPモードで動作する、請求項5に記載の方法。
- トランザクション処理環境において、アプリケーションサーバを並列起動するためのシステムであって、
1つ以上のマイクロプロセッサと、
前記1つ以上のマイクロプロセッサ上で動作する処理装置とを備え、前記処理装置は、動作すると、
複数のサーバエントリおよび複数のグループエントリをメモリにロードするステップを実行し、前記複数のサーバエントリの各々は、前記複数のサーバのうち1つのサーバに関連し、前記複数のグループエントリの各々は、前記複数のサーバグループのうち1つのサーバグループに関連しており、
前記複数のサーバエントリと前記複数のグループエントリとの間の依存関係マップを作成するステップと、
前記複数のサーバの中に依存関係を有しないサーバをチェックするステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々並列起動するステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々初期化するステップと、
前記作成された依存関係マップに従って、残りの未起動サーバを起動するステップとを実行する、システム。 - 前記依存関係マップを作成するステップは、
前記複数のサーバエントリおよび前記複数のグループエントリの各々の依存関係属性をチェックするステップと、
前記チェック中に発見した各々の依存関係属性に基づいて、前記依存関係マップを作成するステップとを含む、請求項8に記載のシステム。 - 前記ステップは、
前記依存関係マップの依存関係ループをチェックするステップと、
依存関係ループを発見した場合、前記発見した依存関係ループを回避するように、前記依存関係マップを再作成するステップとをさらに含む、請求項8または9に記載のシステム。 - 前記ステップは、
前記作成された依存関係マップに従って残りの未起動サーバを起動する前に、並列起動された前記複数のサーバの中に依存関係を有しないサーバの各々が適切に動作しているかをチェックするステップをさらに含む、請求項8、9、または10に記載のシステム。 - 前記複数のサーバの各々は、Tuxedoアプリケーションサーバを含む、請求項8に記載のシステム。
- 前記トランザクション処理環境は、SHMモードで動作する、請求項12に記載のシステ
ム。 - 前記トランザクション処理環境は、MPモードで動作する、請求項12に記載のシステム。
- トランザクション処理環境において、アプリケーションサーバを並列起動するための命令を格納する非一時的な機械可読記憶媒体であって、これらの命令は、実行されると、システムに
複数のサーバエントリおよび複数のグループエントリをメモリにロードするステップを実行させ、前記複数のサーバエントリの各々は、前記複数のサーバのうち1つのサーバに関連し、前記複数のグループエントリの各々は、前記複数のサーバグループのうち1つのサーバグループに関連しており、
前記複数のサーバエントリと前記複数のグループエントリとの間の依存関係マップを作成するステップと、
前記複数のサーバの中に依存関係を有しないサーバをチェックするステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々並列起動するステップと、
前記複数のサーバの中に依存関係を有しないサーバを各々初期化するステップと、
前記作成された依存関係マップに従って、残りの未起動サーバを起動するステップとを実行させる、非一時的な機械可読記憶媒体。 - 前記依存関係マップを作成するステップは、
前記複数のサーバエントリおよび前記複数のグループエントリの各々の依存関係属性をチェックするステップと、
前記チェック中に発見した各々の依存関係属性に基づいて、前記依存関係マップを作成するステップとを含む、請求項15に記載の非一時的な機械可読記憶媒体。 - 前記ステップは、
前記依存関係マップの依存関係ループをチェックするステップと、
依存関係ループを発見した場合、前記発見した依存関係ループを回避するように、前記依存関係マップを再作成するステップとをさらに含む、請求項15または16に記載の非一時的な機械可読記憶媒体。 - 前記ステップは、
前記作成された依存関係マップに従って残りの未起動サーバを起動する前に、並列起動された前記複数のサーバの中に依存関係を有しないサーバの各々が適切に動作しているかをチェックするステップをさらに含む、請求項15、16、または17に記載の非一時的な機械可読記憶媒体。 - 前記複数のサーバの各々は、Tuxedoアプリケーションサーバを含む、請求項15に記載の非一時的な機械可読記憶媒体。
- 前記トランザクション処理環境は、SHMモードまたはMPモードで動作する、請求項19
に記載の非一時的な機械可読記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020117139A JP7148570B2 (ja) | 2020-07-07 | 2020-07-07 | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020117139A JP7148570B2 (ja) | 2020-07-07 | 2020-07-07 | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017552147A Division JP6832291B2 (ja) | 2015-10-23 | 2015-10-23 | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020184365A true JP2020184365A (ja) | 2020-11-12 |
JP7148570B2 JP7148570B2 (ja) | 2022-10-05 |
Family
ID=73045443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020117139A Active JP7148570B2 (ja) | 2020-07-07 | 2020-07-07 | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7148570B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334466A (ja) * | 1994-06-14 | 1995-12-22 | Hitachi Ltd | 分散システムおよび分散システムの自動運転スケジュールの作成方法 |
WO2006043321A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
JP2007179252A (ja) * | 2005-12-27 | 2007-07-12 | Nomura Research Institute Ltd | サーバシステム、サーバシステムの制御方法 |
JP2014010772A (ja) * | 2012-07-02 | 2014-01-20 | Fujitsu Ltd | システム管理装置、システムの管理方法、及びシステムの管理プログラム |
US8819673B1 (en) * | 2007-05-24 | 2014-08-26 | United Services Automobile Association (Usaa) | Systems and methods for java virtual machine management |
-
2020
- 2020-07-07 JP JP2020117139A patent/JP7148570B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334466A (ja) * | 1994-06-14 | 1995-12-22 | Hitachi Ltd | 分散システムおよび分散システムの自動運転スケジュールの作成方法 |
WO2006043321A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
JP2007179252A (ja) * | 2005-12-27 | 2007-07-12 | Nomura Research Institute Ltd | サーバシステム、サーバシステムの制御方法 |
US8819673B1 (en) * | 2007-05-24 | 2014-08-26 | United Services Automobile Association (Usaa) | Systems and methods for java virtual machine management |
JP2014010772A (ja) * | 2012-07-02 | 2014-01-20 | Fujitsu Ltd | システム管理装置、システムの管理方法、及びシステムの管理プログラム |
Non-Patent Citations (3)
Title |
---|
TIMOTHY E. CARONE: "ミドルウェアと3層クライアント/サーバーシステム開発", ドクター・ドブス・ジャーナル/日本版 1997年3月号, vol. 第6巻, JPN6019037538, 1 March 1997 (1997-03-01), JP, pages 33 - 39, ISSN: 0004546186 * |
TPシリーズ V1.1 運用手引書 B2WN-0022-01-00, JPN6019037536, May 1996 (1996-05-01), pages 1 - 26, ISSN: 0004546187 * |
平 初&できるシリーズ編集部, できるPRO RED HAT ENTERPRISE LINUX7, vol. 第1版, JPN6019037535, 1 July 2015 (2015-07-01), pages 116 - 121, ISSN: 0004546188 * |
Also Published As
Publication number | Publication date |
---|---|
JP7148570B2 (ja) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6832291B2 (ja) | アプリケーションサーバを並列起動するためのシステムおよび方法 | |
US9229707B2 (en) | Zero downtime mechanism for software upgrade of a distributed computer system | |
US6192514B1 (en) | Multicomputer system | |
US7716377B2 (en) | Clustering server providing virtual machine data sharing | |
US7761538B2 (en) | Dynamically configuring, allocating and deploying computing systems | |
EP3138013B1 (en) | System and method for providing distributed transaction lock in transactional middleware machine environment | |
US6167430A (en) | Multicomputer with distributed directory and operating system | |
US9110851B2 (en) | System and method for persisting transaction records in a transactional middleware machine environment | |
WO2019164942A1 (en) | Autonomous cell-based control plane for scalable virtualized computing | |
CN111258976A (zh) | 分布式锁实现方法、系统、设备及存储介质 | |
US8141084B2 (en) | Managing preemption in a parallel computing system | |
US10970141B2 (en) | Integrating transaction processing system interfaces with event-driven polyglot runtime modules | |
US8484616B1 (en) | Universal module model | |
US10534640B2 (en) | System and method for providing a native job control language execution engine in a rehosting platform | |
US6990608B2 (en) | Method for handling node failures and reloads in a fault tolerant clustered database supporting transaction registration and fault-in logic | |
JP7148570B2 (ja) | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200804 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220922 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7148570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |