JP5385595B2 - 分散システムにおけるアプリケーション実行環境管理方法 - Google Patents

分散システムにおけるアプリケーション実行環境管理方法 Download PDF

Info

Publication number
JP5385595B2
JP5385595B2 JP2008296801A JP2008296801A JP5385595B2 JP 5385595 B2 JP5385595 B2 JP 5385595B2 JP 2008296801 A JP2008296801 A JP 2008296801A JP 2008296801 A JP2008296801 A JP 2008296801A JP 5385595 B2 JP5385595 B2 JP 5385595B2
Authority
JP
Japan
Prior art keywords
execution environment
application
application execution
client node
client
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.)
Expired - Fee Related
Application number
JP2008296801A
Other languages
English (en)
Other versions
JP2010122963A (ja
Inventor
真吾 長井
伸彰 ▲高▼橋
史朋 大澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008296801A priority Critical patent/JP5385595B2/ja
Publication of JP2010122963A publication Critical patent/JP2010122963A/ja
Application granted granted Critical
Publication of JP5385595B2 publication Critical patent/JP5385595B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、分散システムにおいて各クライアントノードのアプリケーション実行環境を管理する方法、プログラム、及びシステムに関する。
今日、情報処理を実行するシステムとして、複数のクライアントノードをネットワークで接続し、これら複数のクライアントノードでアプリケーションの処理を分散して実行する分散システムが構築されている。なお、このような分散システムでは、クライアントノードに必要最小限の機能のみを備えディスクやUSBメモリ等の不揮発性の記憶装置を備えないコンピュータが用いられることがある。
ところで、このような分散システムにおいて、サーバが複数のアプリケーションを各クライアントノードのリソースの空き状況に応じてデプロイし分散実行する場合、各クライアントノードはデプロイされたアプリケーションを実行するのに適したアプリケーション実行環境(Application Runtime Environment)を有している必要がある。なお、アプリケーションをデプロイするとは、アプリケーション実行バイナリを転送配置することをいう。
図8に各クライアントノードの有するアプリケーション実行環境(図中、「RTE」)と各クライアントノードで実行されるアプリケーション(図中、「APP」)との関係の概念図を示す。図中「APP1〜6」は対応する「RTE1〜6」により動作が保証される。すなわち、「APP1」は「RTE1」により動作が保証される。
クライアントノードA〜Fにはアプリケーション実行環境として「RTE1」が設定されている。「時刻t」において、クライアントノードA及びBで「APP1」を、クライアントノードC及びDで「APP2」を、クライアントノードE及びFで「APP3」をデプロイする場合(図8(1))、「APP2」及び「APP3」は、「RTE1」により動作が保証されていないため、正常に動作しない可能性がある(図8(2))。また、「時刻t」において「APP1」が正常に動作したクライアントノードA及びBであっても、動作が保証されていない「APP4」や「APP5」をデプロイする「時刻t+1」においては、デプロイするアプリケーションが正常に動作しない場合がある。
このように動作が保証されていない実行環境においてアプリケーションをデプロイした場合には、デプロイしたアプリケーションが実行できなくなったり、他のアプリケーションに悪影響を与えてしまうおそれがあった。そこで、アプリケーションをデプロイする際に、各クライアントノードの実行環境とデプロイするアプリケーションが要求する要求実行環境とを比較し、アプリケーションが確実に実行できる場合にのみデプロイを許可する分散コンピュータ・システムが知られている(例えば、特許文献1)。この分散コンピュータ・システムによれば、アプリケーションが実行できないと判断された場合には、アプリケーションをデプロイしない。
特開2008−9865号公報
ところで、特許文献1に記載された分散コンピュータ・システムによれば、要求実行環境を事前に定義しなければならないところ、個々のアプリケーションの動作を保証するアプリケーション実行環境を事前に全て網羅するのは困難である。すなわち、アプリケーションAを実行するために、ライブラリA(ver0.1)、ライブラリB(ver0.2)が必要だと定義していても、実際には、ライブラリC(ver0.1)も必要な場合がある。この場合において、上記分散コンピュータ・システムでは、ライブラリA(ver0.1)、ライブラリB(ver0.2)、ライブラリC(ver0.2)からなる実行環境を有するクライアントノードはアプリケーションAの実行環境の動作保証がないにもかかわらず、チェックにかからないこととなってしまう。
また、上記分散コンピュータ・システムでは、要求実行環境とクライアントノードのアプリケーション実行環境とが一致しない場合にはアプリケーションをデプロイしないため、クライアントノードのアプリケーション実行環境を考慮してアプリケーションをデプロイしなければならず、各クライアントノードのリソースの状況に応じて、アプリケーションをデプロイすることができない。
本発明は、上記課題を解決するためのものであり、デプロイされたアプリケーションの動作を常に保証するとともに、アプリケーションを各クライアントノードのリソースの状況に応じて動的にデプロイすることが可能な方法、コンピュータ・プログラ、及びシステムを提供することを目的とする。
本発明の1つの態様では、以下のような解決手段を提供する。なお、以下において、「アプリケーションをデプロイする」とは、アプリケーション実行バイナリを転送配置することをいう。
本発明の第1の形態によると、複数のクライアントノードと接続された分散システムにおけるアプリケーション実行環境を管理する方法は、アプリケーションをデプロイするクライアントノードにおけるアプリケーション実行環境が適切なアプリケーション実行環境であるか判別する。ここで、適切なアプリケーション実行環境であるかは、予めアプリケーションの動作検証がされたアプリケーション実行環境に基づいて行われる。そして、クライアントノードにおけるアプリケーション実行環境が、デプロイ対象のアプリケーションの動作検証が行われたアプリケーション実行環境と整合すると、デプロイ可能である旨の通知を行い、アプリケーションのデプロイを行う。
本実施の第2の形態によると、クライアントノードにおけるアプリケーション実行環境が、動作検証が行われたアプリケーション実行環境と整合しないと判別されると、ブート設定ファイルを、デプロイ対象のアプリケーションに対して動作検証されたアプリケーション実行環境で起動できるように変更する。そして、変更したブート設定ファイルに応じてクライアントノードを再起動することで、クライアントノードのアプリケーション実行環境を動作検証されたアプリケーション実行環境に切り替える。
本実施の第3の形態によると、動作検証されたアプリケーション実行環境をバージョン管理する。そして、クライアントノードのアプリケーション実行環境がデプロイ対象のアプリケーションの動作検証が行われたアプリケーション実行環境と整合するかを、クライアントノードのアプリケーション実行環境のバージョンにより判別する。
また、本発明は別の形態として、上記の方法の各ステップをコンピュータに実行させるプログラムとしても提供可能である。さらに別の形態として、上記の方法を実行するシステムとしても提供可能である。
本発明によれば、動作を保証するアプリケーション実行環境を網羅的に定義するのではなく、予めアプリケーションに対して動作検証がなされたアプリケーション実行環境を用いてクライアントノードでアプリケーションをデプロイ可能か判別するため、デプロイされたアプリケーションの動作を常に保証することができる。また、動作検証されたアプリケーション実行環境と整合しない場合には、クライアントノードを自動的に再起動し、動作検証されたアプリケーション実行環境に切り替える。そのため、アプリケーションを各クライアントノードのリソースの状況に応じて動的にデプロイすることができる。
以下、本発明の実施形態について図を参照しながら説明する。なお、これらはあくまでも一例であって、本発明の技術的範囲はこれらに限られるものではない。
[アプリケーション実行環境管理システム1の全体構成]
図1は、本発明の一実施形態に係る、分散システムにおけるアプリケーション実行環境管理システム1の全体構成を示す図である。アプリケーション実行環境管理システム1は、ネットワークで接続されたジョブ管理ノード100、イメージサーバ200、及び複数のクライアントノード300−1,300−2,300−3・・・から構成される。なお、以下においては複数のクライアントノード300−1,300−2,300−3・・・のうち任意のクライアントノードを「クライアントノード300」として実施形態について説明する。
ここで、ジョブ管理ノード100、イメージサーバ200、及びクライアントノード300の三者は、アプリケーション実行環境管理システム1内で協調動作する。そして、アプリケーション実行環境管理システム1は、クライアントノード300のアプリケーション実行環境が動作検証されたアプリケーション実行環境でない場合には、この協調動作により、クライアントノード300のアプリケーション実行環境を動作検証されたアプリケーション実行環境に切り替える。
図1を参照して、ジョブ管理ノード100は、クライアントノード300のリソースの状況に応じてアプリケーションの割り当てを管理するジョブスケジューラ110を有する。
イメージサーバ200は、各クライアントノード300のアプリケーション実行環境をデプロイされるアプリケーションに応じて自律的に構成するアプリケーション実行環境管理エージェント210と、各クライアントノード300のアプリケーション実行環境のバージョンチェックを行うためのアプリケーション実行環境バージョンテーブル230(図2)と、クライアントノード300のアプリケーション実行環境を切り替えるためのネットワークブート設定ファイル250(図4)と、を有する。
クライアントノード300は、アプリケーション実行環境管理エージェント210からの要求に応じて、アプリケーション実行環境のバージョン情報を提供したり、システムの再起動を実施する実行環境管理デーモン310を有する。なお、本実施の形態ではクライアントノード300はディスクやUSBメモリ等の不揮発性の記憶装置を使用しないディスクレスで運用される。
ここで、ジョブスケジューラ110はユーザからのジョブの実行要求及びリソースの空き状況を基に、各クライアントノード300へジョブの割り当てを行うプログラムである。ジョブスケジューラ110はスケジューリングの結果(どのクライアントノード300でどのアプリケーションを実行するか)をアプリケーション実行環境管理エージェント210に伝える。本実施の形態では、各クライアントノード300に適切な実行環境を構成する処理をアプリケーション実行環境管理エージェント210に一任しているため、ジョブスケジューラ110は処理を委任すべきアプリケーション実行環境管理エージェント210だけを特定できればよく、クライアントノード300の実行環境を管理する必要はない。また、ジョブスケジューラ110は必ずしもジョブ管理ノード100上で実行される必要もなく、任意の場所に配置可能である。
アプリケーション実行環境管理エージェント210は、各クライアントノード300のアプリケーション実行環境を、デプロイされるアプリケーションに応じて自律的に構成するプログラムである。アプリケーション実行環境管理エージェント210は、ジョブスケジューラ110から渡される情報(どのクライアントノード300でどのアプリケーションを実行するか)を受け取ると、実行環境管理デーモン310と協調動作することにより、各クライアントノード300のアプリケーション実行環境をデプロイされるアプリケーションに適したものに自律的に構成する。なお、アプリケーション実行環境管理エージェント210は、イメージサーバ上に配置されたアプリケーション実行環境バージョンテーブル230及びネットワークブート設定ファイル250を参照、更新できればよく、必ずしもイメージサーバ200上で動作する必要はない。
次に、アプリケーション実行環境バージョンテーブル230について説明する。図2は、本実施の形態におけるアプリケーション実行環境バージョンテーブル230の一例を示す図である。アプリケーション実行環境バージョンテーブル230は、「どのアプリケーションがどの実行環境で動作検証されたか」という情報(図中(A))と、「各実行環境のバージョンがどのカーネルやライブラリで構成されているか」という情報(図中(B))とから構成され、アプリケーション実行環境のバージョンを管理している。
具体的には、図2に示すようにアプリケーション「app001」はアプリケーション実行環境「art_0_1」で動作保証され(図2(A))、この「art_0_1」はカーネル「2.6.16」及びシステムイメージ「0.1」により構成される(図2(B))。
ここで、図3に示すように、システムイメージ「0.1」はライブラリA「0.7」、ライブラリB「1.3」、ライブラリC「1.5」・・・により構成される(図3(1))。そのため、アプリケーション「app001」は、カーネル「2.6.16」、ライブラリA「0.7」、ライブラリB「1.3」、ライブラリC「1.5」・・・によりその動作が保証される。また、図3(2)に示すように、アプリケーション「app002」は、カーネル「2.6.20」、ライブラリA「0.8」、ライブラリB「1.4」、ライブラリC「1.5」・・・によりその動作が保証される。
なお、アプリケーション実行環境バージョンテーブル230に規定されたアプリケーション実行環境は、事前に動作検証が実施されている。すなわち、アプリケーション毎に動作検証に合格したアプリケーション実行環境がアプリケーション実行環境バージョンテーブル230で定義される。これにより、定義されたアプリケーション実行環境によれば、アプリケーションの動作を常に保証することができる。また、アプリケーション実行環境管理エージェント210は、たとえ動作検証が完了していないアプリケーションのデプロイ要求が来ても、実行不可なアプリケーションとして検知し、ジョブスケジューラ110へ実行不可である旨を通知することができる。
また、本実施の形態では、アプリケーション実行環境を構成するカーネル、ルートファイルシステムをそれぞれ1つのイメージファイルとして管理する。そのため、動作検証されたアプリケーション実行環境を簡単にコピーすることができ、アプリケーション実行環境の復旧が容易になる。
また、クライアントノード300のアプリケーション実行環境のチェックを行う際に、デプロイ対象のアプリケーションに対して動作検証されたアプリケーション実行環境のバージョンを持っているかどうかだけチェックすればよく、アプリケーション実行環境のチェックが容易になる。
次に、ネットワークブート設定ファイル250について説明する。図4は、ネットワークブート設定ファイル250の一例を示す図である。ネットワークブート設定ファイル250は、クライアントノード300を特定するための情報(MACアドレス及びIPアドレス)と、クライアントノード300を再起動する際に使用するカーネル及びルートファイルシステムと、により構成される。クライアントノード300は、ブート時にネットワークブート設定ファイル250のカーネル及びルートファイルシステムに基づいて起動することで、アプリケーション実行環境をデプロイ対象のアプリケーションに対して動作検証されたアプリケーション実行環境に切り替える。
ここで、本実施の形態では、アプリケーション実行環境のバージョンを「art_(ver)」として管理し、そのアプリケーション実行環境を構成するカーネルを「zImage.art_(ver)」とするとともに、ルートファイルシステムを「/var/rootfs/art_(ver)/images」として管理する。そのため、ネットワークブート設定ファイル250のカーネル及びルートファイルシステムが、「zImage.art_0_1」及び「/var/rootfs/art_0_1/images」である場合には、クライアントノード300はアプリケーション実行環境のバージョン「art_0_1」で起動する。
次に、クライアントノード300の実行環境管理デーモン310について説明する。実行環境管理デーモン310は各クライアントノード300に常駐し、アプリケーション実行環境管理エージェント210からの要求に応えるプログラムである。実行環境管理デーモン310には実行すべき2つのタスクを有する。アプリケーション実行環境管理エージェント210からのアプリケーション実行環境のバージョン問い合わせに応答するタスクと、再起動要求に応じるタスクとである。どちらのタスクもクライアントノード300毎に独立したタスクであるため、実行環境管理デーモン310は必ずクライアントノード300毎に動作させておく必要がある。
[アプリケーション実行環境管理システム1の基本処理]
次に、図5を参照してアプリケーション実行環境管理システム1の基本処理、すなわち、アプリケーション実行環境の管理手順について説明する。
S101:ユーザからジョブの投入を受け付けると、ジョブスケジューラ110は、各クライアントノード300のリソースの空き状況を基に、各クライアントノード300でデプロイされるアプリケーションの割り当てを行い、このアプリケーションのデプロイ情報をアプリケーション実行環境管理エージェント210に通知する。
S102:アプリケーション実行環境管理エージェント210は、デプロイ対象のクライアントノード300の実行環境管理デーモン310へアプリケーション実行環境のバージョン情報の問い合わせを行う。
S103、S104:アプリケーション実行環境管理エージェント210は、アプリケーション実行環境バージョンテーブル230を参照し、クライアントノード300のアプリケーション実行環境のバージョンが、デプロイ対象のアプリケーションに対して動作検証されたバージョンと整合するかチェックする。ここで、アプリケーション実行環境は、バージョン管理されているため、クライアントノード300のアプリケーション実行環境のバージョンをチェックするだけで、本処理を行うことができる。なお、「整合する」とは、クライアントノード300のアプリケーション実行環境のバージョンがデプロイ対象のアプリケーションに対して動作検証されたバージョンと一致することをいう。
S105:クライアントノード300のアプリケーション実行環境のバージョンが、デプロイ対象のアプリケーションに対して動作検証されたバージョンと整合しない場合には、アプリケーション実行環境管理エージェント210は、クライアントノード300のネットワークブートの設定を変更する。すなわち、アプリケーション実行環境管理エージェント210は、ネットワークブート設定ファイル250を、デプロイ対象のアプリケーションに対して動作検証されたバージョンと整合するアプリケーション実行環境に書き換える。
S106:アプリケーション実行環境管理エージェント210は、クライアントノード300の実行環境管理デーモン310へ再起動要求を行う。
S107:実行環境管理デーモン310は、ネットワークブート設定ファイル250を参照してシステムを再起動し、アプリケーション実行環境を切り替える。
S108、S109:アプリケーション実行環境管理エージェント210は、クライアントノード300の実行環境管理デーモン310に、アプリケーション実行環境を問い合わせ、ネットワークブート設定ファイル250に規定された通りに切り替わったかチェックする。
S110:クライアントノード300のアプリケーション実行環境のバージョンがデプロイ対象のアプリケーションに対して動作検証されたバージョンと整合することとなると、アプリケーション実行環境管理エージェント210は、ジョブスケジューラ110へクライアントノード300の準備が完了したことを通知する。なお、ジョブスケジューラ110は、あるアプリケーションを実行する全てのクライアントノード300の準備の完了が通知された場合に、当該アプリケーションの実行を開始するように指示する。
このように、ジョブ管理ノード100のジョブスケジューラ110の動作により、デプロイするアプリケーションのクライアントノード300への割り当てが行われると、イメージサーバ200のアプリケーション実行環境管理エージェント210が動作し、ジョブスケジューラ110からの要求に応じて、自律的に各クライアントノード300のアプリケーション実行環境を構成する。すなわち、クライアントノード300の実行環境管理デーモン310は、アプリケーション実行環境管理エージェント210からの要求に応じて、アプリケーション実行環境のバージョン情報を提供し、動作が保証されないアプリケーション実行環境である場合には、システムの再起動を行うことで動作が保証されたアプリケーション実行環境に切り替える。
[アプリケーション実行環境管理の動作の具体例]
図6に、本発明の一実施形態に係るアプリケーション実行環境管理システム1におけるアプリケーション実行環境管理の動作の具体例を示す。図中「APP1〜6」は対応する「RTE1〜6」により動作が保証される。すなわち、「APP1」は「RTE1」により動作が保証される。
「時刻t」では、クライアントノードA及びBにおいて「APP1」、クライアントノードC及びDにおいて「APP2」、クライアントノードE及びFにおいて「APP3」のデプロイ要求がなされる(図6(1))。この場合において、クライアントノードA及びBのアプリケーション実行環境はデプロイする「APP1」の動作が保証される実行環境であり、クライアントノードA及びBでは「APP1」をデプロイすることができる(図6(2))。ところが、クライアントノードC〜Fのアプリケーション実行環境はデプロイするアプリケーションの動作が保証されない実行環境であるため、クライアントノードC〜Fでは要求されたアプリケーションをデプロイできない。そこで、本実施の形態では、クライアントノードC〜Fを再起動することで、アプリケーション実行環境を要求されたアプリケーションの動作が保証された実行環境に自動的に切り替える。その結果、クライアントノードC〜Fにおいても要求されたアプリケーションをデプロイすることができる(図6(2))。
また、「時刻t+1」において、クライアントノードAには「時刻t」のときとは異なる「APP4」のデプロイ要求がなされる。この場合においても、クライアントノードAのアプリケーション実行環境を「APP4」の動作が保証される「RTE4」に自動的に切り替える。その結果、同一のクライアントノードにおいて、複数のアプリケーションを実行することができる。
このように、アプリケーション実行環境管理システム1ではクライアントノード300におけるアプリケーション実行環境をジョブ管理ノード100、イメージサーバ200、及びクライアントノード300、といった三者の協調動作により自動的に切り替えることができるため、アプリケーションをクライアントノード300のリソースの状況に応じて動的にデプロイすることができる。
[ハードウェア構成]
図8は、本実施の形態に係るアプリケーション実行環境管理システム1を構成するジョブ管理ノード100、イメージサーバ200、及びクライアントノード300のハードウェア構成の一例を示す図である。図8(1)は、ジョブ管理ノード100及びイメージサーバ200のハードウェア構成の一例を示し、図8(2)は、クライアントノード300のハードウェア構成の一例を示す。
図8(1)を参照して、ジョブ管理ノード100、イメージサーバ200は、CPU(Central Processing Unit)1110,1210、バスライン1105,1205、通信I/F1120,1220、メモリ1130,1230、ハードディスク1140,1240を備える。図8(2)を参照して、クライアントノード300は、CPU1310、バスライン1305、通信I/F1320、及びメモリ1330を備える。
CPU1110,1210,1310は、上述した各種処理(S101〜S110)を行う。通信I/F1120,1220,1320は、ジョブ管理ノード100、イメージサーバ200、及びクライアントノード300の三者の間での通信に用いられる。すなわち、ジョブ管理ノード100、イメージサーバ200、及びクライアントノード300は、通信I/F1120,1220,1320を介して通信可能に接続される。ハードディスク1240は、上述したアプリケーション実行環境バージョンテーブルやネットワークブート設定ファイルを格納する。
なお、図8に示すハードウェア構成は、ジョブ管理ノード100、イメージサーバ200、及びクライアントノード300に最低限必要な構成のみを示しているが、この構成に含まれない構成を備えることとしてもよい。すなわち、クライアントノード300はハードディスクを使用しないだけであり、ハードディスクを備えていてもよい。また、ジョブ管理ノード100とイメージサーバ200とが互いに接続されるとともに、イメージサーバ200とクライアントノード300とが互いに接続されていれば、必ずしも専用通信回線やインターネットに接続されている必要はない。
以上、本発明を実施形態に則して説明したが、本発明は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。係る場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明に係る処理を実行させる。このプログラムは、任意の言語、コード、又は表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、又は(1)他の言語、コード、もしくは表記への変換、(2)他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハードディスク装置、ROM、RAM、M−RAM(Magnetoresistive RAM)、フラッシュメモリ等の任意のコンピュータ可読媒体に格納することができる。係るプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、係るプログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。
また、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態又は実施例に記載されたものに限定されるものではない。
本発明のアプリケーション実行環境管理システムを示す図である。 本発明のアプリケーション実行環境バージョンテーブルを示す図である。 本発明のアプリケーション実行環境のバージョン管理手法を示す図である。 本発明のネットワークブート設定ファイルを示す図である。 本発明のアプリケーション実行環境管理手順を示すフローチャートである。 本発明のアプリケーション実行環境管理の動作を示す図である。 本発明のハードウェア構成を示す図である。 従来におけるアプリケーション実行環境管理の動作を示す図である。
符号の説明
1 アプリケーション実行環境管理システム
100 ジョブ管理ノード
110 ジョブスケジューラ
200 イメージサーバ
210 アプリケーション実行環境管理エージェント
230 アプリケーション実行環境バージョンテーブル
250 ネットワークブート設定ファイル
300 クライアントノード
310 実行環境管理デーモン

Claims (8)

  1. 複数のクライアントノードと接続され、前記複数のクライアントノードにアプリケーションをデプロイする分散システムにおいて、前記複数のクライアントノードのアプリケーション実行環境を管理する方法であって、
    アプリケーションをデプロイするクライアントノードにおけるアプリケーション実行環境が、デプロイ対象のアプリケーションに対して予め動作検証されたアプリケーション実行環境と整合するか判別するステップと、
    整合すると判別されることを条件に、対応するアプリケーションを前記クライアントノードにおいてデプロイ可能であると判断するステップと、
    クライアントノードのアプリケーション実行環境が、前記判別するステップにおいて整合しないと判別されることを条件に、前記クライアントノードのネットワークブート設定ファイルを、前記クライアントノードがデプロイ対象のアプリケーションに対して前記予め動作検証されたアプリケーション実行環境で起動できるように変更するステップと、
    変更された前記ネットワークブート設定ファイルに応じて、前記クライアントノードを再起動するステップと、
    を含む方法。
  2. 前記複数のクライアントノードのリソースの状況に応じて、アプリケーションをデプロイするクライアントノードを決定するステップを含む、
    請求項1に記載の方法。
  3. 前記判別するステップにおいて整合しないと判別されたクライアントノードを再起動することで、デプロイ対象のアプリケーションに対して予め動作検証されたアプリケーション実行環境に切り替えるステップを含む、
    請求項1に記載の方法。
  4. 再起動した前記クライアントノードのアプリケーション実行環境が、前記予め動作検証されたアプリケーション実行環境に切り替わったか判別するステップを含む、
    請求項に記載の方法。
  5. アプリケーションに対して予め動作検証されたアプリケーション実行環境を1つのバージョンとして管理する、
    請求項1に記載の方法。
  6. 前記判別するステップは、クライアントノードのアプリケーション実行環境のバージョンと予め動作検証されたアプリケーション実行環境のバージョンとを対比することにより行う、
    請求項に記載の方法。
  7. 1のアプリケーションをデプロイする全てのクライアントノードにおいてデプロイ可能であると判断することを条件に、このアプリケーションをデプロイするステップを含む、
    請求項1に記載の方法。
  8. 複数のクライアントノードと接続され、前記複数のクライアントノードにアプリケーションをデプロイする分散システムにおいて、前記複数のクライアントノードのアプリケーション実行環境を管理する方法であって、
    前記複数のクライアントノードのリソースの状況に応じて、アプリケーションをデプロイするクライアントノードを決定するステップと、
    アプリケーションをデプロイするクライアントノードにおけるアプリケーション実行環境のバージョンが、デプロイ対象のアプリケーションに対して予め動作検証されたアプリケーション実行環境のバージョンと整合するか判別するステップと、
    整合しないと判別されることを条件に、前記クライアントノードのネットワークブート設定ファイルを、前記クライアントノードがデプロイ対象のアプリケーションに対して予め動作検証されたアプリケーション実行環境で起動できるように変更するステップと、
    変更された前記ネットワークブート設定ファイルに応じて、前記クライアントノードを再起動するステップと、
    再起動した前記クライアントノードのアプリケーション実行環境が、前記予め動作検証されたアプリケーション実行環境に切り替わったか判別するステップと、
    整合すると判別されること又は前記予め動作検証されたアプリケーション実行環境に切り替わったと判別されることを条件に、対応するアプリケーションを前記クライアントノードにおいてデプロイ可能であると判断するステップと、
    1のアプリケーションをデプロイする全てのクライアントノードにおいてデプロイ可能であると判断することを条件に、このアプリケーションをデプロイするステップと、
    を含む方法。
JP2008296801A 2008-11-20 2008-11-20 分散システムにおけるアプリケーション実行環境管理方法 Expired - Fee Related JP5385595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008296801A JP5385595B2 (ja) 2008-11-20 2008-11-20 分散システムにおけるアプリケーション実行環境管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008296801A JP5385595B2 (ja) 2008-11-20 2008-11-20 分散システムにおけるアプリケーション実行環境管理方法

Publications (2)

Publication Number Publication Date
JP2010122963A JP2010122963A (ja) 2010-06-03
JP5385595B2 true JP5385595B2 (ja) 2014-01-08

Family

ID=42324238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008296801A Expired - Fee Related JP5385595B2 (ja) 2008-11-20 2008-11-20 分散システムにおけるアプリケーション実行環境管理方法

Country Status (1)

Country Link
JP (1) JP5385595B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249900A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムのブート方法および記録媒体
JP2004192293A (ja) * 2002-12-11 2004-07-08 Iyo Engineering:Kk ソフトウェア検証支援ツール
JP2006099234A (ja) * 2004-09-28 2006-04-13 Aruze Corp ネットワーク端末装置、配信サーバ、並びにクライアント/サーバシステム
JP4788128B2 (ja) * 2004-11-10 2011-10-05 セイコーエプソン株式会社 実行環境整備システム、実行環境整備装置および実行環境整備方法
JP2008009865A (ja) * 2006-06-30 2008-01-17 Yokogawa Electric Corp 分散コンピュータシステム

Also Published As

Publication number Publication date
JP2010122963A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
US10860444B2 (en) Seamless mobility for kubernetes based stateful pods using moving target defense
JP6363796B2 (ja) 動的コードデプロイメント及びバージョニング
CN110088733B (zh) 虚拟机迁移的基于存储层的编排
US10884787B1 (en) Execution guarantees in an on-demand network code execution system
US11836152B2 (en) Continuous replication and granular application level replication
WO2017045424A1 (zh) 一种应用程序部署***及部署方法
WO2015196967A1 (zh) 应用程序常驻操作***后台的方法及装置
US9817734B2 (en) Virtual machine recovery on non-shared storage in a single virtual infrastructure management instance
US10853196B2 (en) Prioritizing microservices on a container platform for a restore operation
US20150378743A1 (en) Systems and Methods for Enhancing the Availability of Multi-Tier Applications on Cloud Computing Platforms
JP2009536399A (ja) オペレーティングシステムの段階的ブート処理
JP2016085663A (ja) 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US10887102B2 (en) Intent framework
JP2009535731A (ja) マルチインストーラ製品のデプロイメント
JP2011060035A (ja) アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム
WO2021013248A1 (zh) 容器分层部署方法及***
WO2011104825A1 (ja) 更新方法、更新装置、および更新プログラム
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
JP5998566B2 (ja) 移動制御プログラム、移動制御方法および制御装置
KR20100108578A (ko) 컴퓨팅 장치 셧다운 방법, 컴퓨팅 장치 및 컴퓨터 판독가능 저장 매체
JPWO2004081791A1 (ja) 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
JP5655612B2 (ja) 情報処理システム、情報処理方法、及び制御プログラム
JP5385595B2 (ja) 分散システムにおけるアプリケーション実行環境管理方法
CN117251246A (zh) 减少计算环境中用于容器克隆的部署时间
JP6146092B2 (ja) 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130820

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: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131004

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees