(57)【特許請求の範囲】
【請求項１】
アプリケーションを配備可能なアプリケーションサーバであって、
アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、
アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、
前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、
前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する、アプリケーションサーバ。
【請求項２】
前記配備部は、前記更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数を前記少なくとも１以上の他のアプリケーションサーバに割り振り、該割り振って設定した前記配備ノルマ数を含むアプリケーションの配備要求をそれぞれ対応する前記他のアプリケーションサーバに送信する、請求項１に記載のアプリケーションサーバ。
【請求項３】
自アプリケーションサーバに対してアプリケーションの配備要求をした送信元に、自アプリケーションでの前記アプリケーションの配備結果を送信する配備結果処理部を更に備え、
前記配備結果処理部は、前記配備部がアプリケーションの配備要求を送信した前記他のアプリケーションサーバがある場合、該他のアプリケーションサーバからアプリケーションの配備結果を受信し、該受信した配備結果を自アプリケーションでの前記アプリケーションの配備結果と合わせて前記送信元に送信する、請求項１又は請求項２に記載のアプリケーションサーバ。
【請求項４】
前記アプリケーションの配備結果は、前記アプリケーションを配備したアプリケーションサーバの達成数の情報を含み、
前記配備部は、前記他のアプリケーションサーバから受信した配備結果のうち当該他のアプリケーションサーバにおける配備ノルマ数に未達である前記達成数の情報を含む配備結果が存在する場合、該配備ノルマ数に未達である前記達成数の情報を含む配備結果を送信したアプリケーションサーバ以外の他のアプリケーションサーバにおいて、前記アプリケーションの配備が可能であるか否かを判定し、前記アプリケーションの配備が可能であると判定した場合、該配備が可能な他のアプリケーションに対して、前記未達分を前記配備ノルマ数として設定した配備ノルマ数を含むアプリケーションの配備要求を送信する、請求項３に記載のアプリケーションサーバ。
【請求項５】
前記配備部において、前記更新後の配備ノルマ数の前記少なくとも１以上の他のアプリケーションサーバの割り振りは、自アプリケーションサーバにおいて過去に受信した他のアプリケーションサーバにおける配備結果に基づいて行われる、請求項２に記載のアプリケーションサーバ。
【請求項６】
運用者からアプリケーションの配備要求を受け付ける管理サーバと、前記アプリケーションを配備可能な複数のアプリケーションサーバを含むアプリケーション配備システムであって、
前記複数のアプリケーションサーバは、前記管理サーバから木構造状に伝播して前記アプリケーションが配備されるように配置されており、
前記各アプリケーションサーバは、
アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、
アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、
前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、
前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する、アプリケーション配備システム。
【請求項７】
アプリケーションを配備可能な複数のアプリケーションサーバにアプリケーションを配備するアプリケーション配備方法であって、
前記アプリケーションサーバが、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持部に保持する工程と、
アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備する工程と、
前記アプリケーションの配備要求に含まれる配備ノルマ数であって、前記アプリケーションを配備すべき前記アプリケーションサーバの数である配備ノルマ数を１減じて更新する工程と、
前記更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する工程と、を備えるアプリケーション配備方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションサーバ、アプリケーション配備システム、及びアプリケーション配備方法に関し、特に、不特定多数のアプリケーションサーバがある状況で、指定した台数分のアプリケーションサーバに同一のアプリケーションを短時間で配備するアプリケーションサーバ、アプリケーション配備システム、及びアプリケーション配備方法に関する。
【背景技術】
【０００２】
分散コンピューティングにおいて、複数のサーバに対して同一のアプリケーションを配備し、ユーザによるアプリケーションのリクエストを各サーバの負荷に応じて振り分けることで、個々のサーバの負荷を分散させることが可能である。
【０００３】
しかし、サーバの台数が増えると、各サーバへのアプリケーションの配備にかかる時間が増大してしまうといった問題がある。特に、近年、クラウド技術の普及などによって、多数のサーバを用いた大規模分散環境が増えているが、このような大規模な分散環境において、アプリケーションの配備にかかる時間の増大は非常に大きなものとなる。例えば、１０００台のサーバに１台１台順番にアプリケーションの配備を行う場合であって、１台のサーバにアプリケーションを配備するのに１０秒かかったとすると、１０００台のサーバを配備するのに、１００００秒（３時間弱）もの時間がかかってしまう。そこで、複数のサーバへのアプリケーションの配備を、より短時間で行うことができる方法が求められている。
【０００４】
複数のサーバに対してそれぞれアプリケーションを配備するのにかかる時間を短縮するための従来の方法としては、１台の管理サーバが指定台数分のＡＰサーバに対して全て並列にアプリケーションの配備を行う方法が知られている。また、特許文献１には、データ配信システムにおいて、中継ノードを介してデータを伝播させる方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４１３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、１台の管理サーバによって全てのＡＰサーバに対して並列にアプリケーションを配備する従来の方法では、１台の管理サーバが全てのＡＰサーバの情報を保持し、かつ、配備対象のＡＰサーバを選定する必要があるため、多数のＡＰサーバがある分散環境ではその計算コストがかかってしまうという問題点があった。また、１台の管理サーバが多数のＡＰサーバとのコネクションを保持する必要があるため、その管理サーバにかかる計算機資源の負荷が大きいという問題点も生じる。
【０００７】
また、上述のデータ配信システムのように、コンテンツ配信技術の分野では、コンテンツ配信の際、配信元の端末の負荷を下げるために、配信元の端末からコンテンツを受信した各端末が、そのコンテンツを並列的に伝播させていく方法が知られているが、この方法を、上述のアプリケーション配備にそのまま適用すると、配備の伝播を制御する方法がないため、アプリケーションを配備するＡＰサーバの台数を制限することはできない。しかし、クラウド技術に見られる分散コンピューティング環境では、不特定多数のサーバから必要な台数のサーバのみを利用してアプリケーションを運用することになるため、台数指定ができることが求められる。
【０００８】
したがって、本発明はかかる事情に鑑み、複数のサーバのうち必要な台数分、アプリケーションを短時間で配備可能なアプリケーションサーバ、アプリケーション配備システム及びアプリケーション配備方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるアプリケーションサーバ（アプリケーション配備装置）は、アプリケーションを配備可能なアプリケーションサーバであって、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された他のアプリケーションサーバにアプリケーションの配備要求を送信する。
【００１０】
また、本発明によるアプリケーション配備システムは、運用者からアプリケーションの配備要求を受け付ける管理サーバと、前記アプリケーションを配備可能な複数のアプリケーションサーバを含むアプリケーション配備システムであって、前記複数のアプリケーションサーバは、前記管理サーバから木構造状に伝播して前記アプリケーションが配備されるように配置されており、前記各アプリケーションサーバは、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された他のアプリケーションサーバにアプリケーションの配備要求を送信する。
【００１１】
さらに、本発明によるアプリケーション配備方法は、アプリケーションを配備可能な複数のアプリケーションサーバにアプリケーションを配備するアプリケーション配備方法であって、前記アプリケーションサーバが、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する工程と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備する工程と、前記アプリケーションの配備要求に含まれる配備ノルマ数であって、前記アプリケーションを配備すべき前記アプリケーションサーバの数である配備ノルマ数を１減じて更新する工程と、前記更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された他のアプリケーションサーバにアプリケーションの配備要求を送信する工程と、を備える。
【発明の効果】
【００１２】
以上のように構成された本発明のアプリケーション配備システム及びアプリケーション配備方法によれば、複数のアプリケーションサーバに対する同一アプリケーションの配備について、各アプリケーションサーバで並列に配備を行うことができ、配備に必要な時間を短縮することができる。
【００１３】
また、各アプリケーションサーバが再帰的な構造を持っているので、各アプリケーションサーバにおけるアプリケーションの配備動作が共通化され、アプリケーションサーバ数の増減に対する配備手順の変更を必要としない。例えば、あるアプリケーションサーバを追加する場合、いずれかのアプリケーションサーバを（親アプリケーションサーバとして）指定して、そのアプリケーションサーバに自アプリケーションサーバの情報を（子アプリケーションサーバとして）登録するだけでよく、管理サーバやその他のアプリケーションサーバへの作業は不要である。よって、システム全体の管理面において非常に有用である。
【００１４】
さらに、管理サーバから全てのアプリケーションサーバに対して同時にアプリケーションの配備処理を行う従来の方法に比べて、各アプリケーションサーバが数台のアプリケーションサーバに対してのみアプリケーションの配備処理を行うだけでよく、配備手順が単純、且つ、配備に伴う管理サーバや各アプリケーションサーバにかかる負荷を小さくすることができる。また、ネットワーク的に離れた場所にあるサーバ群を用いた分散環境である場合、近くのアプリケーションサーバ同士でアプリケーションの配備を伝播させることで、アプリケーションの配備にかかる通信速度の向上を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のアプリケーション配備システムの概略構成を例示する図である。
【図２】本実施形態のアプリケーション配備システムの各ノードの関係を概略的に示す図である。
【図３】本実施形態の管理サーバ等のハードウェア構成を示す概略図である。
【図４】本実施形態の管理サーバの構成を機能的に示すブロック図である。
【図５】本実施形態のアプリケーションサーバの構成を機能的に示すブロック図である。
【図６】アプリケーション実行時における管理サーバとアプリケーションサーバとの関係を示すブロック図である。
【図７】本実施形態におけるアーカイブ保持部に保持される情報を例示する図である。
【図８】本実施形態のＡＰサーバ情報保持部に保持される情報を例示する図である。
【図９】本実施形態のアプリケーション実行可能サーバ情報保持部に保持される情報を例示する図である。
【図１０】本実施形態のアプリケーション実行用情報保持部に保持される情報を例示する図である。
【図１１】本実施形態のアプリケーション配備システムを用いて実施されるアプリケーション配備方法の処理内容を示すフローチャートである。
【図１２】本実施形態のアプリケーション配備システムを用いて実施されるアプリケーション配備方法の処理内容を示すフローチャートである。
【図１３】本実施形態のアプリケーション配備システムを用いて実施されるアプリケーション配備方法の処理内容を示すフローチャートである。
【図１４】本実施形態のアプリケーション配備システムを用いて実施されるアプリケーション配備方法の処理内容を示すフローチャートである。
【図１５】本実施形態のアプリケーション配備システムを用いて実施されるアプリケーション配備方法の処理内容を示すフローチャートである。
【図１６】本実施形態のノルマの割り振りの算出方法を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための好適な実施形態を、図面を参照しながら説明する。
【００１７】
図１は、本発明の実施形態のアプリケーション配備システム１の概略構成を例示し、図２は、アプリケーション配備システム１の各ノード（管理サーバ、又はアプリケーションサーバ）の関係を概略的に示す図である。
【００１８】
アプリケーション配備システム（以下、「システム」と称する）１は、図１に示すとおり、１台の管理サーバ１０と、該管理サーバ１０から直接配備要求を受信するアプリケーションサーバ（以下、「ＡＰサーバ」と称する）を根（ルート）とした木構造を有するｎ台のＡＰサーバで構成されるＡＰサーバ群２０とを含む。
【００１９】
このように構成されるシステム１は、アプリケーションを配備するに際して、根に相当するＡＰサーバから葉に相当するＡＰサーバに向かって、アプリケーションの配備操作を伝播させる。なお、本明細書では、必要に応じて、あるＡＰサーバから見て木構造の根側に位置するＡＰサーバを親ＡＰサーバ、葉側に位置するＡＰサーバを子ＡＰサーバと称することとする。また、上記木構造は、ネットワーク構成などの物理的な構造とは独立しているものとすることができる。
【００２０】
システム１を構成する各ＡＰサーバは、例えば、図２に示す１つのＡＰサーバに着目して説明すると、ＡＰサーバは、自ＡＰサーバよりも木構造の根側に位置するＡＰサーバ（親ＡＰサーバ）からアプリケーションの配備要求を受け付け、自サーバへのアプリケーションの配備完了後、自ＡＰサーバよりも木構造の葉側に位置する各ＡＰサーバ（子ＡＰサーバ）１，２にアプリケーションの配備要求を送る。この際、複数の子ＡＰサーバ１，２へのアプリケーションの配備は並列実行することができる。また、ＡＰサーバは、子ＡＰサーバからのアプリケーションの配備結果を受信すると、該配備結果を、自ＡＰサーバでのアプリケーションの配備結果とあわせて、親ＡＰサーバに送信する。一方、システム１の木構造において根（ルート）に位置するＡＰサーバは、管理サーバ１０からアプリケーションの配備要求を受け付け、該管理サーバ１０にアプリケーションの配備結果を返す以外、他のＡＰサーバと同様である。
【００２１】
一方、管理サーバ１０は、運用者からのアプリケーションの配備要求に基づいて、根に位置するＡＰサーバへアプリケーションの配備を行い、該ＡＰサーバからアプリケーションの配備結果を受け付けて運用者に報告する。また、管理サーバは、アプリケーションを実行可能なＡＰサーバを記録し、ユーザからのアプリケーション実行のリクエストの振り分けに利用する。
【００２２】
以下、システム１における管理サーバ１０と、管理サーバ１０に接続された木構造の根であるＡＰサーバ１００を親ＡＰサーバとし、ＡＰサーバ３００，４００を子ＡＰサーバとするＡＰサーバ２００とについて詳細に説明する。なお、管理サーバ１０及び各ＡＰサーバ１００，２００，３００，４００は、ハードウェアとして、図３に示すように、例えば、ＣＰＵ、ＣＰＵにバス結合されたＲＯＭ、ＲＡＭ、記憶部、入力部、表示部、および入出力インタフェースなど、通常のコンピュータ装置と同様のハードウェアを備えることができる。また、これらのサーバは、物理的には、専用化したシステム、あるいは汎用の情報処理装置のいずれであってもよい。たとえば、一般的な構成の情報処理装置において、本発明のアプリケーション配備方法における各処理を規定したソフトウェアを起動することにより、管理サーバ、及びＡＰサーバを実現することもできる。
【００２３】
図４は、本実施形態の管理サーバの構成を機能的に示すブロック図であり、図５は、本実施形態のＡＰサーバの構成を機能的に示すブロック図である。また、図６は、アプリケーション実行時における管理サーバとＡＰサーバとの関係を示すブロック図である。
【００２４】
管理サーバ１０は、図４に示すとおり、配備部１１、アーカイブ保持部１２、ＡＰサーバ情報保持部１３、配備結果受付部１４、アプリケーション実行可能サーバ情報保持部１５、及びリクエスト振り分け部１６を含んで構成される。
【００２５】
配備部１１は、運用者からのアプリケーションの配備要求（配備命令）を受け付けて、管理サーバと接続された木構造の根に位置するＡＰサーバ１００に対してアプリケーションの配備を実行する。運用者からの配備要求には、アプリケーション情報、アプリケーションのアーカイブ、及びアプリケーションを配備すべきＡＰサーバの配備台数の情報が少なくとも含まれる。また、配備部１１は、受け付けた配備要求のうちアプリケーションのアーカイブの情報をアーカイブ保持部１２に保存する。さらに、配備部１１は、アプリケーションのアーカイブをアーカイブ保持部１２から読み込み、該アーカイブをＡＰサーバ１００にアップロードする。
【００２６】
アーカイブ保持部１２は、配備部１１が受け付けた配備要求のうちアプリケーションのアーカイブの情報を保持するデータベースである。
【００２７】
ＡＰサーバ情報保持部（子ＡＰサーバ情報保持部）１３は、自管理サーバ１０によってアプリケーションを配備可能なＡＰサーバ１００のサーバ情報を保持するデータベースである。
【００２８】
配備結果受付部１４は、ＡＰサーバ１００からアプリケーションの配備結果の通知を受け付け、該受け付けた配備結果の情報を運用者に対して報告（提示）する。配備結果の情報には、例えば、配備済みのＡＰサーバの情報、ノルマの達成数等の情報が含まれており、運用者は、指定したアプリケーションの配備台数分、アプリケーションを配備できたか否かを把握することができる。
【００２９】
アプリケーション実行可能サーバ情報保持部１５は、あるアプリケーションをどのＡＰサーバが実行可能であるかの情報を保持するデータベースである。
【００３０】
リクエスト振り分け部１６は、図６に示すように、ユーザからアプリケーションの実行要求（リクエスト）を受け付けると、該アプリケーションを実行可能なＡＰサーバをアプリケーション実行可能サーバ情報保持部１５から読み出し、該読み出されたＡＰサーバに上記リクエストを振り分ける。リクエスト振り分け部１６は、リクエストの振り分け先のＡＰサーバにアクセスし、該ＡＰサーバにアプリケーションの実行要求を通知する。
【００３１】
次に、ＡＰサーバ（ＡＰ配備装置）２００は、図５に示すとおり、配備部２１、アーカイブ保持部２２、アプリケーション実行用情報保持部２３、子ＡＰサーバ情報保持部２４、子ＡＰサーバ配備実績保持部２５、配備結果処理部２６、及びアプリケーション実行部２７を含んで構成される。なお、各ＡＰサーバ１００，３００，４００は、原則として、ＡＰサーバ２００と同様の構成を有することができる。
【００３２】
配備部２１は、親ＡＰサーバであるＡＰサーバ１００からの配備要求（配備命令）を受け付けて、自ＡＰサーバ２００にアプリケーションを配備する。また、配備部２１は、子ＡＰサーバであるＡＰサーバ３００，４００に対してアプリケーションの配備を実行する。親ＡＰサーバ１００からの配備要求には、上述の運用者からの配備要求と同様に、アプリケーション情報、アプリケーションのアーカイブ、及びアプリケーションを配備すべきＡＰサーバの配備台数（配備ノルマ数）の情報が少なくとも含まれる。配備部２１は、自ＡＰサーバにアプリケーションを配備したとき、受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、更新後の配備ノルマ数を子ＡＰサーバ３００、４００に割り振ることで、他のアプリケーションサーバごとに配備ノルマ数を設定し、該設定した配備ノルマ数を含むアプリケーションの配備要求をそれぞれ対応する子ＡＰサーバ３００，４００に送信する。なお、上記配備ノルマ数の割り振り方法については、後述する。
【００３３】
アーカイブ保持部２２は、配備部２１が受け付けた配備要求のうちアプリケーションのアーカイブの情報を保持するデータベースである。
【００３４】
アプリケーション実行用情報保持部２３は、自ＡＰサーバ２００に配備されたアプリケーションの実行用情報を保持するデータベースである。
【００３５】
子ＡＰサーバ情報保持部２４は、自ＡＰサーバ２００によってアプリケーションを配備可能な子ＡＰサーバ３００，４００のサーバ情報を保持するデータベースである。
【００３６】
子ＡＰサーバ配備実績保持部２５は、子ＡＰサーバ３００，４００へのアプリケーションの配備結果を保持するデータベースである。
【００３７】
配備結果処理部（配備結果受付部）２６は、子ＡＰサーバ３００，４００からアプリケーションの配備結果の通知を受け付け、該受け付けた配備結果の情報を親ＡＰサーバ１００に対して送信する。また、配備結果処理部２６は、配備結果の情報を子ＡＰサーバ配備実績保持部２５に保存する。この配備結果の情報は、例えば、配備済みのＡＰサーバの情報、ノルマの達成数、追加の配備が可能かどうかの情報が含まれている。
【００３８】
アプリケーション実行部２７は、図６に示すように、管理サーバ１０のリクエスト振り分け部１６からリクエストを受け付けると、ユーザが要求したアプリケーションを実行する。
【００３９】
ここで、上記管理サーバ１０及びＡＰサーバ２００における各保持部に保持される各情報について、図７〜図１０を用いて説明する。
【００４０】
管理サーバ１０のアーカイブ保持部１２とＡＰサーバ２００のアーカイブ保持部２２は同種の情報を保持し、該情報は、例えば、アーカイブＩＤ、アーカイブ、更新日時、及びＭＤ５の各情報で構成される。図７に、アーカイブ保持部１２（又は２２）が保持する情報を例示する。
【００４１】
また、管理サーバ１０のＡＰサーバ情報保持部１３とＡＰサーバ２００の子ＡＰサーバ情報保持部２４は同種の情報を保持し、該情報は、例えば、子ＡＰサーバのＩＤ（子ＡＰサーバＩＤ）、ＩＰアドレス、ポート番号、運用管理ユーザ名、及び運用管理ユーザパスワードの各情報で構成される。図８に、子ＡＰサーバ情報保持部２４が保持する情報を例示する。
【００４２】
さらに、管理サーバ１０のアプリケーション実行可能サーバ情報保持部１５において保持する情報は、例えば、アプリケーション名、アプリケーションが配備されたＡＰサーバのＩＰアドレス、及び該ＡＰサーバのポート番号の各情報を含んで構成される。図９に、アプリケーション実行可能サーバ情報保持部１５が保持する情報を例示する。
【００４３】
またさらに、ＡＰサーバ２００の子ＡＰサーバ配備実績保持部２５において保持される情報は、例えば、子ＡＰサーバＩＤ、配備ノルマ数、配備ノルマ達成数（達成数）、及びタイムスタンプを含んで構成される。図１０に、子ＡＰサーバ配備実績保持部２５が保持する情報を例示する。
【００４４】
さらに、ＡＰサーバ２００のアプリケーション実行用情報保持部２３において保持される情報は、ＡＰサーバの実装に依存する。なお、該情報は、アプリケーションが配備された一般的なＡＰサーバにおけるアプリケーションの実行のために必要な情報と同様とすることができる。
【００４５】
以下、図１１〜図１５に示すフローチャートを参照して、システム１を用いて実施される本実施形態のアプリケーション配備方法を説明する。なお、システム１は、システム１における管理サーバ１０と、管理サーバ１０と接続された木構造の根であるＡＰサーバ１００と、該ＡＰサーバ１００を親ＡＰサーバとするＡＰサーバ２００と、該ＡＰサーバ２００の子ＡＰサーバであるＡＰサーバ３００，４００とを少なくとも含むものとする。また、各図のフローチャートにおける各処理は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００４６】
まず、アプリケーション配備方法のうち、管理サーバ１０における動作処理を図１１のフローチャートを用いて説明する。
【００４７】
配備部１１は、運用者からアプリケーションの配備要求を受信する（ステップＳ１００）。このとき、運用者からの配備要求には、アプリケーション情報、アプリケーションのアーカイブ、及びアプリケーションを配備すべきＡＰサーバの配備台数（配備ノルマ数）の情報が少なくとも含まれる。
【００４８】
配備部１１は、受信した配備要求のうちアプリケーションのアーカイブの情報をアーカイブ保持部１２に保存する（ステップＳ１０１）。アーカイブ保持部１２に保存されるアーカイブの情報は、例えば、上述した図７に示す各情報である。
【００４９】
配備部１１は、ＡＰサーバ情報保持部１３から、サーバの木構造のルートとなるＡＰサーバ１００の情報を取得する（ステップＳ１０２）。この情報は、ＡＰサーバ１００のＩＰアドレス、配備用ポート番号、及び運用管理ユーザ情報を含む。
【００５０】
配備部１１は、ＡＰサーバ１００に対して配備ノルマ数を含む配備要求を送信する（ステップＳ１０３）。この配備要求には、運用者から受け取ったアプリケーション情報と配備ノルマ数（運用者の指定した配備台数そのもの）が含まれる。
【００５１】
配備部１１は、アプリケーションのアーカイブをアーカイブ保持部１２から読み込み（ステップＳ１０４）、該アーカイブをＡＰサーバ１００にアップロードする（ステップＳ１０５）。
【００５２】
次いで、配備結果受付部１４は、ＡＰサーバ１００からアプリケーションの配備結果が送られてくるまで待機して、該配備結果を受信する（ステップＳ１０６）。この配備結果には、配備済みのＡＰサーバの情報、ノルマの達成数等の情報が含まれている。
【００５３】
配備結果受付部１４は、アプリケーションが配備済みのＡＰサーバの情報をアプリケーション実行可能サーバ情報保持部１５に保存（記録）する（ステップＳ１０７）。
【００５４】
配備結果受付部１４は、運用者に配備結果を報告する（ステップＳ１０８）。この報告内容には、アプリケーションの配備が成功したＡＰサーバの台数が含まれており、運用者は、指定したアプリケーションの配備台数分、アプリケーションを配備できたか否かを把握することができる。
【００５５】
次に、アプリケーション配備方法のうち、ＡＰサーバ２００における動作処理を図１２〜図１５のフローチャートを用いて説明する。なお、各ＡＰサーバ１００，３００，４００の動作処理は、原則としてＡＰサーバ２００と同様とすることができる。
【００５６】
まず、図１２のフローチャートに示すように、配備部２１は、親ＡＰサーバ１００からアプリケーションの配備要求を受信する（ステップＳ２００）。親ＡＰサーバ１００からの配備要求には、上述の運用者からの配備要求と同様に、アプリケーション情報、アプリケーションのアーカイブ、及びアプリケーションを配備すべきＡＰサーバの配備台数（配備ノルマ数）の情報が少なくとも含まれる。
【００５７】
配備部２１は、上記受信した配備要求のうち、アプリケーションのアーカイブがアーカイブ保持部２２に存在するか否かを確認する（ステップＳ２０１）。
【００５８】
アプリケーションのアーカイブが存在しない場合（ステップＳ２０１：Ｎｏ）、配備部２１は、そのアプリケーションのアーカイブのアップロードを、親ＡＰサーバ１００に対して要求する（ステップＳ２０２）。配備部２１は、親ＡＰサーバ１００からアップロードされたアプリケーションのアーカイブをアーカイブ保持部２２に保存する（ステップＳ２０３）。
【００５９】
アプリケーションのアーカイブが存在した場合（ステップＳ２０１：Ｙｅｓ）、又は、上記ステップＳ２０３の処理をした場合、配備部２１は、アプリケーションのアーカイブをアーカイブ保持部２２から読み込み（ステップＳ２０４）、アプリケーション実行用情報保持部２３にアプリケーションの情報を登録する（ステップＳ２０５）。なお、本実施形態において、該登録が成功した場合、ＡＰサーバ２００においてアプリケーションの配備が完了したものとする。
【００６０】
配備部２１は、アプリケーションの配備が成功したか否かを判定する（ステップＳ２０６）。配備に成功したと判定した場合（ステップＳ２０６：Ｙｅｓ）、配備部２１は、上記受け付けた配備要求のうち、配備ノルマの数を１減ずる（ステップＳ２０７）。
【００６１】
配備に成功しなかったと判定した場合（ステップＳ２０６：Ｎｏ）、又は、上記ステップＳ２０７の処理をした場合、配備部２１は、次いで、配備ノルマの数がゼロか否かを判定する（ステップＳ２０８）。
【００６２】
配備ノルマがゼロの場合（ステップＳ２０８：Ｙｅｓ）、配備結果処理部２６は、これ以上、子ＡＰサーバ３００，４００に配備を伝播させる必要は無いため、自ＡＰサーバ２００のアプリケーションの配備結果を親ＡＰサーバ１００に対して送信する（ステップＳ２０９）。なお、この配備結果には、配備済みＡＰサーバの情報、ノルマ達成数、及び追加配備可能性が含まれる。例えば、自ＡＰサーバ２００への配備が成功したことで配備ノルマがゼロになった場合であれば、該配備結果として、配備済みＡＰサーバの情報は自ＡＰサーバ２００の情報（ＩＰアドレス等の情報）のみが含まれ、ノルマ達成数は１となる。また、子ＡＰサーバが存在しない場合、子ＡＰサーバへの配備が不可能であるため、追加配備可能性は「ｆａｌｓｅ」となるが、ＡＰサーバ２００は、子ＡＰサーバ３００，４００を有する為、追加配備可能性は、「ｔｒｕｅ」となる。
【００６３】
一方、配備ノルマがゼロでない場合（ステップＳ２０８：Ｎｏ）、配備部２１は、子ＡＰサーバ３００，４００へのアプリケーションの配備を実行する（ステップＳ２１０）。なお、ステップＳ２１０の具体的な処理内容については後述する。
【００６４】
配備結果処理部２６は、ＡＰサーバ３００（４００）からアプリケーションの配備結果を受信し、該受信した配備結果と合わせて自ＡＰサーバ２００のアプリケーションの配備結果を親ＡＰサーバ１００に対して送る（ステップＳ２１１）。
【００６５】
ここで、上記ステップＳ２１０の具体的な処理内容について、図１３のフローチャートを参照して説明する。
【００６６】
まず、ＡＰサーバ２００の配備部２１は、子ＡＰサーバ情報保持部２４から、子ＡＰサーバ３００，４００の情報を取得する（ステップＳ３００）。子ＡＰサーバ３００，４００の情報は、例えば、ＡＰサーバ３００，４００のそれぞれのＩＰアドレス、配備用ポート番号、運用管理ユーザ情報を含む。
【００６７】
一方、子ＡＰサーバ３００，４００の情報が子ＡＰサーバ情報保持部２４に存在する場合（ステップＳ３０１：Ｙｅｓ）、ＡＰサーバ２００の配備部２１は、子ＡＰサーバ配備実績保持部２５から子ＡＰサーバ３００，４００の過去のアプリケーションの配備実績を取得し（ステップＳ３０２）、配備ノルマの割り振りを算出する（ステップＳ３０３）。該算出方法は後述する。
【００６８】
一方、子ＡＰサーバの情報が子ＡＰサーバ情報保持部２４に存在しない場合（ステップＳ３０１：Ｎｏ）、ＡＰサーバ２００の配備部２１は、配備ノルマは未達成として、親ＡＰサーバ１００に対して配備結果を送り、本処理フローを終了する。配備結果は、配備済みＡＰサーバの情報、配備ノルマ達成数、及び追加配備可能性の各情報が含まれる。例えば、自ＡＰサーバ２００へのアプリケーションの配備が成功していれば、配備済みＡＰサーバの情報としてＡＰサーバ２００の情報のみが含まれ、且つ、配備ノルマの達成数として「１」の情報が含まれる。一方、自ＡＰサーバ２００へのアプリケーションの配備が成功していなければ、配備済みＡＰサーバの情報としてＡＰサーバ２００の情報は含まれず、且つ、配備ノルマの達成数として「０」の情報が含まれる。また、子ＡＰサーバが存在しなければ、追加配備可能性の情報として、その可能性が無いことを示す「ｆａｌｓｅ」の情報が含まれる。
【００６９】
次いで、配備部２１は、アプリケーションの配備要求を各子ＡＰサーバ３００，４００に送り、子ＡＰサーバ３００，４００へのアプリケーションの配備を実行する（ステップＳ３０４）。なお、この配備要求は、子ＡＰサーバごとに、親ＡＰサーバ１００から受信したアプリケーション情報と上記算出した配備ノルマの情報を含む。なお、子ＡＰサーバ３００，４００への各アプリケーションの配備は、並列に実行することができる。
【００７０】
ここで、上記ステップＳ３０４の具体的な処理内容について、図１４のフローチャートを参照して説明する。
【００７１】
まず、ＡＰサーバ２００の配備部２１は、子ＡＰサーバ３００（４００）に対して、アプリケーション情報と、上記算出した配備ノルマとの各情報を含む配備要求を送る（ステップＳ４００）。なお、子ＡＰサーバ３００（４００）の情報は、例えば、ＡＰサーバ３００（４００）のＩＰアドレス、配備用ポート番号、運用管理ユーザ情報を含む。
【００７２】
子ＡＰサーバ３００（４００）のアーカイブ保持部２２にアプリケーションのアーカイブが存在しない場合（ステップＳ４０１：Ｎｏ）、ＡＰサーバ２００の配備部２１は、アプリケーションのアーカイブを自アーカイブ保持部２２から読み込み（ステップＳ４０２）、子ＡＰサーバ３００（４００）へアーカイブをアップロードする（ステップＳ４０３）。
【００７３】
次いで、配備結果処理部２６は、子ＡＰサーバ３００（４００）からアプリケーションの配備結果が送られてくるまで待機して、該配備結果を受信する（ステップＳ４０４）。この配備結果には、配備済みのＡＰサーバの情報、ノルマの達成数、お呼び追加配備可能性等の情報が含まれている。
【００７４】
配備結果処理部２６は、子ＡＰサーバ３００（４００）から受信した配備結果の情報を子ＡＰサーバ配備実績保持部２５に保存（記録）する（ステップＳ４０５）。
【００７５】
図１３のフローチャートに戻り、各子ＡＰサーバ３００から受信した配備結果の情報に基づいて、ＡＰサーバ２００の配備部２１は、それぞれ両方の子ＡＰサーバで配備ノルマを達成したか否かを判定する（ステップＳ３０５）。配備ノルマが未達成である場合（ステップＳ３０５：Ｎｏ）、配備部２１は、子ＡＰサーバのどちらかで追加配備可能か否かを判定する（ステップＳ３０６）。
【００７６】
少なくとも一方の子ＡＰサーバの追加配備が可能である場合（ステップＳ３０６：Ｙｅｓ）、配備部２１は、子ＡＰサーバに対して追加配備を実行する（ステップＳ３０７）。
【００７７】
ここで、上記ステップＳ３０７の具体的な処理内容について、図１５のフローチャートを参照して説明する。
【００７８】
まず、ＡＰサーバ２００の配備部２１は、各子ＡＰサーバに対して追加配備可能か否かを判定する（ステップＳ５００，Ｓ５０１）。この際、図１５のフローチャートに示すように、一方の子ＡＰサーバ３００を優先的に判定し、ＡＰサーバ３００が追加配備可能でない場合（ステップＳ５００：Ｎｏ）、子ＡＰサーバ４００で追加配備を判定してもよく、ＡＰサーバ３００やＡＰサーバ４００に対して追加配備することができる。なお、この判定順序は、特に制限されないが、例えば、過去のアプリケーションの配備実績に基づいて決めてもよい。
【００７９】
子ＡＰサーバ３００が追加配備可能である場合（ステップＳ５００：Ｙｅｓ）、ＡＰサーバ２００の配備部２１は、子ＡＰサーバ３００に対して、子ＡＰサーバ４００の配達ノルマ未達成分を新しい配達ノルマ数として再設定し、該再設定した配達ノルマ数を含む追加配備要求を送る（ステップＳ５０２）。追加配備要求後、配備結果処理部２６は、子ＡＰサーバ３００からアプリケーションの配備結果（追加配備結果）を受信する（ステップＳ５０３）。一方、子ＡＰサーバ３００が追加配備可能でない場合であって（ステップＳ５００：Ｎｏ）、子ＡＰサーバ４００が追加配備可能である場合（ステップＳ５０１：Ｙｅｓ），ＡＰサーバ２００の配備部２１は、子ＡＰサーバ４００に対して、子ＡＰサーバ３００の配達ノルマ未達成分を新しい配達ノルマとして再設定し、該再設定した配達ノルマ数を含む追加配備要求を送る（ステップＳ５０４）。追加配備要求後、配備結果処理部２６は、子ＡＰサーバ４００からアプリケーションの配備結果を受信する（ステップＳ５０５）。なお、追加配備要求を送り、配備結果を受信するまでの各動作処理（ステップＳ５０２〜Ｓ５０３の処理、又はステップＳ５０４〜Ｓ５０５の処理）は、図１４のフローチャートを参照して上述したように、１つの子ＡＰサーバへのアプリケーションの配備方法と同様とすることができる。
【００８０】
ステップＳ５０３の処理後又はステップＳ５０５の処理後、配備結果処理部２６は、子ＡＰサーバ３００（４００）から受信した追加配備結果の情報を子ＡＰサーバ配備実績保持部２５に保存（記録）する（ステップＳ５０６）。
【００８１】
以上のようにステップＳ５００〜Ｓ５０６の処理によって、追加配備の処理が実行される。
【００８２】
図１３に戻り、配備ノルマが達成されている場合（ステップＳ３０５：Ｙｅｓ）、両方の子ＡＰサーバの追加配備が可能でない場合（ステップＳ３０６：Ｎｏ）、又は、ステップＳ３０７の処理後、取得したＡＰサーバ３００，４００の配備結果と、自ＡＰサーバ２００の配備結果を結合し、該配備結果を親ＡＰサーバ１００に送る（ステップＳ３０８）。
【００８３】
ここで、ＡＰサーバから送られる、配備済ＡＰサーバ情報、配備ノルマの達成数、及び追加配備可能性情報の各情報について、詳細に説明する。
【００８４】
配備済ＡＰサーバ情報（配備完了ＡＰサーバ情報）は、自身を含め木構造における枝先（葉側）に位置するＡＰサーバまでの、配備済みＡＰサーバ情報である。この配備済ＡＰサーバ情報は、アプリケーションの実行時のリクエストの振り分けに必要な情報を含めることができる。
【００８５】
配備ノルマの達成数（ノルマ達成数）の情報は、自身を含め木構造における枝先（葉側）に位置するＡＰサーバまでの、ノルマ達成数の情報である。具体的には、ノルマ達成数は、０以上、且つ、運用者が指定した配備台数以下の数であって、ノルマ達成数が、運用者が指定した配備台数未満のとき、ノルマは未達成であることを示す。
【００８６】
追加配備可能性の情報は、例えば、追加配備が可能か否かを示す真偽値（「ｔｒｕｅ」又は「ｆａｌｓｅ」）の情報である。具体的には、子ＡＰサーバからの配備結果の追加配備可能性が可能である場合、又は、アプリケーションの配備をしていない子ＡＰサーバがある場合、上記追加配備可能性の情報は「ｔｒｕｅ」となる。
【００８７】
次に、上記ステップ３０３の処理で実行される子ＡＰサーバへの配備ノルマの割り振りの算出方法について説明する。
【００８８】
まず、子ＡＰサーバ配備実績保持部２５から、全ての子ＡＰサーバの配備達成総数Ｃと子ＡＰサーバごとの配備達成総数Σｃidを以下のように算出する。
・  Ｃ  ＝  ＳＥＬＥＣＴ  ＳＵＭ（達成数）  ＦＲＯＭ  “子ＡＰサーバ配備実績”
・  Σｃid  ＝  ＳＥＬＥＣＴ  ＳＵＭ（達成数）  ＦＲＯＭ  “子ＡＰサーバ配備実績
”  ＷＨＥＲＥ  子ＡＰサーバＩＤ  ＝  ｉｄ
【００８９】
次いで、子ＡＰサーバごとの過去の配備達成率ｐidとノルマ振り分け重みｗidを下記のように算出する。
・  ｐid  ＝  Σｃid／Ｃ
・  ｗid  ＝  ｐid／Σid∈子APサーバID ｐid
【００９０】
次いで、振り分け対象のノルマをｎとするとき、各子ＡＰサーバに振り分けられるノルマｎidを下記のように算出する。
・  ｎid  ＝  ｗid  ＊  ｎ
【００９１】
配備操作ごとのノルマ振り分け重みｗidの変化の一例を、図１６に示す。このように、ノルマ振り分け重みを設定することで、配達ノルマ数の未達成分を効率よく減らすことができる。
【００９２】
以上のように構成された本実施形態のＡＰサーバ、アプリケーション配備システム及びアプリケーション配備方法によれば、複数のＡＰサーバに対する同一アプリケーションの配備について、各ＡＰサーバで並列にアプリケーションを配備することができ、配備に必要な時間を短縮することができる。
【００９３】
また、各ＡＰサーバが再帰的な構造を持っているので、各ＡＰサーバにおけるアプリケーションの配備動作が共通化され、ＡＰサーバ数の増減に対する配備手順の変更を必要としない。例えば、あるＡＰサーバを追加する場合、いずれかのＡＰサーバを（親ＡＰサーバとして）指定して、そのＡＰサーバに自ＡＰサーバの情報を（子ＡＰサーバとして）登録するだけでよく、管理サーバやその他のアプリケーションサーバへの作業は不要である。よって、システム全体の管理面において非常に有用である。
【００９４】
さらに、管理サーバから全てのＡＰサーバに対して同時にアプリケーションの配備処理を行う従来の方法に比べて、各ＡＰサーバが数台のＡＰサーバに対してのみアプリケーションの配備処理を行うだけでよく、配備手順が単純、且つ、配備に伴う管理サーバや各ＡＰサーバにかかる負荷を小さくすることができる。また、ネットワーク的に離れた場所にあるサーバ群を用いた分散環境である場合、近くのＡＰサーバ同士でアプリケーションの配備を伝播させることで、アプリケーションの配備にかかる通信速度の向上を図ることができる。
【００９５】
またさらに、木構造の各枝に配備ノルマを課すことで、不特定多数のＡＰサーバから必要な台数分だけアプリケーションの配備を行うことが可能となる。
【００９６】
さらに、ある子ＡＰサーバで配備ノルマが未達成の場合に、追加で配備が可能な他の子ＡＰサーバに配備ノルマを振り直すことで、最終的な配備ノルマの未達成を防ぐことができる。
【００９７】
＜変形例＞
以上のように本発明の好適な実施形態について説明したが、本発明は、以上の実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想および範囲を逸脱することなく、種々の変形、追加、および省略が当業者によって可能である。
【００９８】
例えば、子ＡＰサーバの数は２以上の整数であれば、場合に応じて変更することができる。子ＡＰサーバの数が増えることで、配備時間は短縮されるため有効である。
【００９９】
また、必要に応じて、所定のＡＰサーバにおいて、予備の子ＡＰサーバを登録しておくことで、障害に対する堅牢性が増し、配備ノルマの未達成が減少する。また、所定のＡＰサーバにおいて、予備の親ＡＰサーバを登録しておくことで、各ＡＰサーバが親ＡＰサーバに対して配備結果を返す際に親ＡＰサーバに障害が発生しても、予備の親ＡＰサーバを経由することで、その配備結果を管理サーバまで伝達させることができる。
【０１００】
さらに、子ＡＰサーバの障害により、配備結果が返ってこない場合や配備ノルマが減らないまま伝播が続く場合があるが、配備結果を待機する時間にタイムアウトを設けたり、伝播回数に制限をつけたりすることで対処してもよい。
【０１０１】
またさらに、上記実施形態では、複数のＡＰサーバが木構造に配置される場合を例にとって説明したが、特にこれに制限されず、複数のＡＰサーバが、例えば、各ＡＰ同士で親子関係を設定すれば、網目状に配置されていてもよい。ただし、この場合、ループ構造が存在するとアプリケーションの配備処理が伝播し続ける可能性があるため、上述のタイムアウトや伝播回数の制限を設定することが望ましい。
【０１０２】
さらに、ＡＰサーバの増減があった場合、各枝ごとのアプリケーションの配備成功率は変化するために、配備ノルマ数の割り振りの算出において、過去全ての配備結果を用いらずに、過去数件あるいは過去数時間前までの配備結果のみを算出に利用することができる。
【０１０３】
またさらに、上記実施形態では、管理サーバ及びアプリケーションサーバにおいて、それぞれの処理機能を有する各部が備えられている構成を説明したが、本発明はこれに限られず、例えば、各部が管理サーバ及びアプリケーションサーバ等と通信可能に接続されたネットワーク上に又は他の装置に備えて構成することもできる。
【０１０４】
さらに、上記実施形態では、管理サーバ及びＡＰサーバには、用途に応じた各部がそれぞれ備えられているが、これら各サーバに備えられている各部は、そのいくつかを一纏めにして構成されていてもよいし、一つの部をさらに複数の部に分割して構成されていてもよい。
【０１０５】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０６】
（付記１）アプリケーションを配備可能なアプリケーションサーバであって、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する、アプリケーションサーバ。
【０１０７】
（付記２）前記配備部は、前記更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数を前記少なくとも１以上の他のアプリケーションサーバに割り振り、該割り振って設定した前記配備ノルマ数を含むアプリケーションの配備要求をそれぞれ対応する前記他のアプリケーションサーバに送信する、付記１記載のアプリケーションサーバ。
【０１０８】
（付記３）自アプリケーションサーバに対してアプリケーションの配備要求をした送信元に、自アプリケーションでの前記アプリケーションの配備結果を送信する配備結果処理部を更に備え、前記配備結果処理部は、前記配備部がアプリケーションの配備要求を送信した前記他のアプリケーションサーバがある場合、該他のアプリケーションサーバからアプリケーションの配備結果を受信し、該受信した配備結果を自アプリケーションでの前記アプリケーションの配備結果と合わせて前記送信元に送信する、付記１又は付記２に記載のアプリケーションサーバ。
【０１０９】
（付記４）前記アプリケーションの配備結果は、前記アプリケーションを配備したアプリケーションサーバの達成数の情報を含み、前記配備部は、前記他のアプリケーションサーバから受信した配備結果のうち前記設定した配備ノルマ数に未達である前記達成数の情報を含む配備結果が存在する場合、該配備ノルマ数に未達である前記達成数の情報を含む配備結果を送信したアプリケーションサーバ以外の他のアプリケーションサーバにおいて、前記アプリケーションの配備が可能であるか否かを判定し、前記アプリケーションの配備が可能であると判定した場合、該配備が可能な他のアプリケーションに対して、前記未達分を前記配達ノルマ数として設定した配達ノルマ数を含むアプリケーションの配備要求を送信する、付記３に記載のアプリケーションサーバ。
【０１１０】
（付記５）前記配備部において、前記更新後の配備ノルマ数の前記少なくとも１以上の他のアプリケーションサーバの割り振りは、自アプリケーションサーバにおける過去のアプリケーションの配備結果に基づいて行われる、付記２に記載のアプリケーションサーバ。
【０１１１】
（付記６）運用者からアプリケーションの配備要求を受け付ける管理サーバと、前記アプリケーションを配備可能な複数のアプリケーションサーバを含むアプリケーション配備システムであって、前記複数のアプリケーションサーバは、前記管理サーバから木構造状に伝播して前記アプリケーションが配備されるように配置されており、前記各アプリケーションサーバは、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する保持部と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備し、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する配備部と、を備え、前記アプリケーションの配備要求は、アプリケーションを配備すべき前記アプリケーションサーバの数として配備ノルマ数の情報を含み、前記配備部は、前記自アプリケーションサーバに前記アプリケーションを配備したとき、前記受信した配備ノルマ数を１減じて更新し、該更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する、アプリケーション配備システム。
【０１１２】
（付記７）アプリケーションを配備可能な複数のアプリケーションサーバにアプリケーションを配備するアプリケーション配備方法であって、前記アプリケーションサーバが、アプリケーションを伝播して配備させる他のアプリケーションサーバの情報を保持する工程と、アプリケーションの配備要求を受信して自アプリケーションサーバに前記アプリケーションを配備する工程と、前記アプリケーションの配備要求に含まれる配備ノルマ数であって、前記アプリケーションを配備すべき前記アプリケーションサーバの数である配備ノルマ数を１減じて更新する工程と、前記更新後の配備ノルマ数が１以上である場合、前記更新後の配備ノルマ数に基づいて、前記保持部に保持された情報に対応する他のアプリケーションサーバにアプリケーションの配備要求を送信する工程と、を備えるアプリケーション配備方法。
【０１１３】
（付記８）拡散的にアプリケーションの配備を伝播させることで複数のアプリケーションサーバでの動作の完了までの時間を短縮する、付記７に記載の方法。
【０１１４】
（付記９）木構造のアプリケーションサーバ群にアプリケーションを配信するシステムにおいて、木構造の各枝（アプリケーションサーバ）に配備ノルマを設定し、該各枝は配備ノルマが達成されるまで配備操作を子アプリケーションサーバに伝播させる付記７に記載の方法。
【産業上の利用可能性】
【０１１５】
本発明は、計算機ネットワークにおいて１つの計算機に対して行った設定を全体に適用することができるシステムに対して利用可能である。また、本発明は、ライセンスや料金体系の制約で、コンテンツの配信先の数を制限する必要があるシステムに対しても利用可能である。
【符号の説明】
【０１１６】
１…アプリケーション配備システム（システム）、１０…管理サーバ、１１…配備部、１２…アーカイブ保持部、１３…サーバ情報保持部、１４…配備結果受付部、１５…アプリケーション実行可能サーバ情報保持部、１６…リクエスト振り分け部、２０…サーバ群、２１…配備部、２２…アーカイブ保持部、２３…アプリケーション実行用情報保持部、２４…子ＡＰサーバ情報保持部、２５…子ＡＰサーバ配備実績保持部、２６…配備結果処理部、２７…アプリケーション実行部、１００，２００，３００，４００…ＡＰサーバ。
【図２】
0005601519.tif 000002
【図３】
0005601519.tif 000003
【図４】
0005601519.tif 000004
【図５】
0005601519.tif 000005
【図６】
0005601519.tif 000006
【図７】
0005601519.tif 000007
【図８】
0005601519.tif 000008
【図９】
0005601519.tif 000009
【図１０】
0005601519.tif 000010
【図１１】
0005601519.tif 000011
【図１２】
0005601519.tif 000012
【図１３】
0005601519.tif 000013
【図１４】
0005601519.tif 000014
【図１５】
0005601519.tif 000015
【図１６】
0005601519.tif 000016
【図１】
0005601519.tif 000017