JP3901060B2 - Application update processing method, update processing system, and update processing program - Google Patents

Application update processing method, update processing system, and update processing program Download PDF

Info

Publication number
JP3901060B2
JP3901060B2 JP2002249605A JP2002249605A JP3901060B2 JP 3901060 B2 JP3901060 B2 JP 3901060B2 JP 2002249605 A JP2002249605 A JP 2002249605A JP 2002249605 A JP2002249605 A JP 2002249605A JP 3901060 B2 JP3901060 B2 JP 3901060B2
Authority
JP
Japan
Prior art keywords
application
update
storage device
change
servers
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
JP2002249605A
Other languages
Japanese (ja)
Other versions
JP2004086769A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002249605A priority Critical patent/JP3901060B2/en
Publication of JP2004086769A publication Critical patent/JP2004086769A/en
Application granted granted Critical
Publication of JP3901060B2 publication Critical patent/JP3901060B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、分散環境において、複数のアプリケーションの更新にあたり、その一貫性を保証する更新処理方法、更新処理システム及び更新処理プログラムに関する。
【0002】
【従来の技術】
従来、アプリケーションのバージョンアップを行うにあたっては、バージョンアップ後も、アプリケーションが正常に動作することを確認することが不可欠であった。
すなわち、アプリケーションは、一般に他のアプリケーションと関連して動作するため、バージョンアップ後も、それらの他のアプリケーション等と正常に動作することを確認する必要があった。
【0003】
特に、近年は、異なるバージョンのアプリケーションの組み合わせにより構成される製品が市場に存在するなど、アプリケーションの動作環境が複雑化しており、アプリケーションのバージョンアップに伴う動作不良の発生を防止するための手段が工夫されている(例えば、特許文献1参照。)。
【0004】
また、近年の通信技術等の発展に伴い、通信回線を介して複数のコンピュータにおけるアプリケーションの更新を行うことも見られるようになった。
このような通信回線を介した複数のコンピュータに対する更新にあたっては、全ての更新が完了するまでシステムを停止したり、更新期間中の整合性確保のための手段を構築しなければならないという問題があった。
このような問題を解決するため、通信回線を介して複数のコンピュータを更新するにあたり、その更新や取り消しを一括して行う方式などが提案されている(例えば、特許文献2参照。)。
【0005】
さらに、プログラムファイルの新規作成や更新等のメインテナンス作業を行った際に不具合が発生した場合でも、そのメインテナンス作業前の状態に自動的に復旧することのできるシステムも提案されている(例えば、特許文献3参照。)。
また、複数のコンピュータに対し同期をとってアプリケーションの導入を行う必要があるときに、オペレータによる手動での導入取り消しの必要をなくす方式なども提案されている(例えば、特許文献4参照。)。
【0006】
【特許文献1】
特開平9−198233号公報
【特許文献2】
特開2002−175188号公報
【特許文献3】
特開平10−97452号公報
【特許文献4】
特開平9−231083号公報
【0007】
【発明が解決しようとする課題】
しかしながら、これらの従来の手段によっては、複数のサブアプリケーションにより構成される一つのアプリケーションが、複数のコンピュータに分散して保有されるような場合や、負荷分散などの目的で、複数のコンピュータで同じアプリケーションを実行するような場合等におけるバージョンアップに際し、アプリケーションの一貫性が十分に保証できないことがあるという問題があった。
例えば、特許文献1記載の方法によれば、ある一部のコンピュータに対するサブアプリケーションのバージョンアップにのみ失敗した場合であっても、分散アプリケーションとして機能しなくなるような不具合を引き起こすという問題があった。
すなわち、特許文献1記載の方法を分散環境において使用したとすれば、各コンピュータは、他のコンピュータにおけるバージョンアップの状況を把握することができないため、バージョンアップの失敗などにより、各コンピュータに異なるバージョンのアプリケーションが残る場合があるという問題があった。
【0008】
また、特許文献2記載の方法等によれば、システムの運用管理者が、何らかの理由でシステムを置き換え前の状態に戻す必要があると認識した場合、反映取り消しプログラムをそれぞれのコンピュータに配布して実行することにより、更新を取り消すことは可能である。
しかし、この取り消しは、更新とは独立して行われるものであるため、更新以降、上述の認識を行って取り消しを実行するまでの間に、不整合な状態が発生することとなるという問題があった。
また、ネットワークの障害発生時には、このような不整合な状態がネットワークの復旧まで継続するという問題があった。
さらに、各コンピュータに反映取り消しプログラムを事前に配布しておかなければならないという問題もあった。
【0009】
また、特許文献3記載のシステムによれば、プログラムファイルの更新などのメインテナンス作業に失敗した場合には、メインテナンス作業のログから元の状態に復旧するため、例えば、ディスクフル等によりログの書き込みに失敗した場合などには、復旧できなくなるという問題があった。
さらに、特許文献2の場合と同様、ネットワークの障害発生時にも、復旧できなくなる場合があった。
【0010】
また、特許文献4記載の方式によれば、複数のコンピュータに対してアプリケーションの導入を行うにあたり、どれかひとつのコンピュータに対する導入が失敗した場合には、その導入を取り消す手段が開示されているが、更新については、想定されていないため、もとのアプリケーションに戻すことなどは考慮されていない。
さらに、その取り消しのためには、各コンピュータに導入解除スクリプトを保有させる必要があるとともに、ネットワークの障害発生時には、取り消しを行うことができなくなるという問題があった。
【0011】
本発明は、上記の事情にかんがみなされたものであり、管理端末及び複数のサーバからなる分散環境において、複数のアプリケーションの更新にあたり、その一貫性を保証することの可能なアプリケーションの更新処理方法、更新処理システム及び更新処理プログラムの提供を目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明の請求項1記載のアプリケーションの更新処理方法は、管理端末及び複数のサーバを備えた分散環境における複数のアプリケーションの更新処理方法であって、管理端末が、複数のサーバに対して、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知を送信し、複数のサーバが、それぞれ更新要求通知を受信すると、それぞれ自己に備えられた定義情報格納装置から、自己のサーバ名,変更前アプリケーション名,及び変更後アプリケーション名が含まれた定義情報を取得するとともに、この定義情報における変更後アプリケーション名にもとづき自己に備えられたマスタアプリケーション格納装置から対応する変更後アプリケーションを取得し、変更後アプリケーション名に対応する変更前アプリケーション名にもとづいて、自己に備えられたアプリケーション格納装置における変更前アプリケーションを特定し、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新して、この更新に失敗した場合、管理端末に更新失敗通知を送信し、管理端末が、複数のサーバのうち少なくとも一のサーバから更新失敗通知を受信すると、複数のサーバのうちの全てのサーバに対して更新取り消し要求通知を送信し、複数のサーバが、それぞれ更新取り消し要求通知を受信すると、それぞれ自己に備えられたアプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す方法としてある。
【0013】
アプリケーションの更新処理方法をこのような方法にすれば、更新対象であるアプリケーションのうちのひとつでも、更新に失敗した場合には、自動的に全てのアプリケーションの更新を取り消すことにより、更新の一貫性(原子性)を保証することができる。
したがって、本発明によれば、アプリケーションの更新にあたり、全てのアプリケーションが一貫性を保って更新されることを保証することができ、アプリケーションのバージョンアップなどの信頼性を向上させることが可能となる。
【0014】
なお、本明細書におけるアプリケーションにプログラムが含まれることはもちろんであるが、これ以外にもアプリケーションを実行するために必要な情報、例えば、画面、帳票、データベース、画像情報、音声情報、動画情報等の各種情報を含むものとして用いている。
また、例えば、複数のアプリケーションによって一のアプリケーションが構成されるような場合には、この複数のアプリケーションの内の一つが、例えば、データベースのみにより構成されるような場合もあり得る。
【0018】
また、アプリケーションの更新処理方法をこのような方法にすれば、マスタアプリケーション等を各サーバにおいて管理することができる。このため、アプリケーションの更新にあたり、データの通信容量を最小限にすることができ、更新時間を短縮することができるとともに、更新の安定性を高めることが可能となる。
特に、アプリケーションの容量が大きい場合には、効果的な構成である。
【0019】
本発明の請求項2記載のアプリケーションの更新処理方法は、複数のサーバが、それぞれ変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置を備え、アプリケーション格納装置における変更前アプリケーションをアプリケーション一時格納装置に複製した後に、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新し、更新取り消し要求通知を受信すると、アプリケーション一時格納装置から複製した変更前アプリケーションを読み出して、アプリケーション格納装置に複製することにより、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す方法としてある。
【0020】
アプリケーションの更新処理方法をこのような方法にすれば、アプリケーションの更新にあたり、事前に元のプログラムを退避させておくことができるため、更新に問題が発生した場合には、容易に元の状態に戻すことが可能となる。
【0021】
本発明の請求項3記載のアプリケーションの更新処理方法は、複数のサーバが、それぞれアプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新することに成功した場合、管理端末に更新成功通知を送信し、管理端末が、送信されてきた更新成功通知にもとづいて、当該更新の結果を管理端末に備えられた更新結果格納装置に記憶し、複数のサーバのうちの全てのサーバからの更新成功通知にもとづく更新結果が、更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信する方法としてある。
【0022】
アプリケーションの更新処理方法をこのような方法にすれば、全てのアプリケーションの更新が成功した場合に、はじめて各サーバに対して、更新が完了したことを連絡する通知(更新完了通知)が送信される。
このため、各サーバが、更新完了通知を受信した場合には、確実に全てのアプリケーションの更新が成功していることを保証することができる。
反対に、この更新完了通知が、一定時間以内に送信されてこない場合は、各サーバは、更新を取り消し、再度更新をやり直すことによって、アプリケーションの更新の一貫性を保証することが可能となる。
【0023】
本発明の請求項4記載のアプリケーションの更新処理方法は、管理端末が、複数のサーバへの更新要求通知の送信後、所定の時間内に、複数のサーバのうち少なくとも一のサーバから更新成功通知を受信しなかった場合、複数のサーバのうちの全てのサーバに対して、更新取り消し要求通知を送信する方法としてある。
【0024】
アプリケーションの更新処理方法をこのような方法にすれば、更新対象であるサーバのうち少なくとも一のサーバにおけるアプリケーションの更新が失敗して、その更新失敗通知の送信も行えない状況となったような場合であっても、全てのアプリケーションの更新を取り消すことによって、その更新の一貫性を保証することができる。
【0025】
本発明の請求項5記載のアプリケーションの更新処理方法は、複数のサーバが、更新成功通知の送信後、所定の時間内に、管理端末から更新完了通知を受信しなかった場合、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す方法としてある。
【0026】
アプリケーションの更新処理方法をこのような方法にすれば、アプリケーションの更新に成功したサーバであっても、所定の時間内に更新完了通知を受信できなかった場合には、そのアプリケーションの更新を取り消すことができる。
このようにすることによって、確実にアプリケーションの更新が成功したと判断できる場合以外は全てのアプリケーションの更新を取り消すことができ、一部のサーバでは、アプリケーションが更新されているが、他のサーバではアプリケーションの更新が行われていないといった状況を排除することが可能となる。
すなわち、従来の方法によっては、ネットワークに障害が発生した場合には、アプリケーションの更新の一貫性を確保することができなかったが、本発明によれば、このような場合にも、不適切な更新状態を排除することができ、アプリケーションの更新に対する高い信頼性を確保することが可能となる。
【0027】
本発明の請求項6記載のアプリケーションの更新処理方法は、複数のサーバが、管理端末への更新失敗通知の送信後、所定の時間内に、管理端末から更新取り消し要求通知を受信しなかった場合、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す方法としてある。
【0028】
本発明においては、いずれかのサーバで更新が失敗した場合、更新失敗通知を管理端末に送信し、管理端末から更新取り消し要求通知が全てのサーバに送信されることによって、各サーバにおいて、アプリケーションの更新取り消し処理が行われる。
しかしながら、ネットワーク障害などによって、更新失敗通知や更新取り消し要求通知の送信が正常に行われない場合も想定される。
このため、このような場合には、各サーバにおいて、自動的にアプリケーションの更新取り消し処理が行われることが望ましい。
本請求項に係る発明は、このような状況を考慮した場合のものであり、アプリケーションの更新に失敗したサーバにおいても、所定の時間内に更新取り消し要求通知を受信しない場合には、アプリケーションの更新取り消し処理を行うものである。
【0029】
なお、アプリケーションの更新の取り消しにおける具体的な処理は、その状況によって異なる内容となる場合がある。
例えば、他のサーバにおける更新が失敗したために、更新の成功したサーバにおいて更新の取り消し処理を行う場合には、事前に退避した元のアプリケーションを用いて、更新前の状態に戻すこととなる。
また、マスタアプリケーションの取得に失敗したことによって、更新に失敗したサーバにおける更新の取り消し処理は、特に何も行わずに終了することとなる。
【0030】
本発明の請求項記載のアプリケーションの更新処理方法は、複数のアプリケーションが、依存関係を有する方法としてある。
アプリケーションの更新処理方法をこのような方法にすれば、一のアプリケーションとして機能するために異なる複数のサーバに保有されたアプリケーションや、負荷分散などの目的で複数のサーバで同じアプリケーションを実行するような環境におけるアプリケーションの更新にあたり、そのアプリケーションの更新の一貫性を保証することが可能となる。
【0031】
本発明の請求項8記載の更新処理システムは、管理端末及び複数のサーバを備えた分散環境における複数のアプリケーションの更新処理システムであって、複数のサーバに対して、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知を送信するとともに複数のサーバのうち少なくとも一のサーバから更新失敗通知を受信した場合、更新取り消し要求手段に複数のサーバのうちの全てのサーバに対して、更新取り消し要求通知を送信させる更新要求手段と、複数のサーバのうちの全てのサーバに対して、更新取り消し要求通知を送信する更新取り消し要求手段を備えた管理端末と、変更前アプリケーション名及び変更後アプリケーション名が複数のサーバの各サーバ名ごとに含まれた定義情報を格納する定義情報格納装置と、マスタアプリケーションを格納するマスタアプリケーション格納装置と、更新要求通知を受信すると、定義情報格納装置から自己のサーバ名に対応する定義情報を取得するとともに、この定義情報における変更後アプリケーション名にもとづきマスタアプリケーション格納装置から対応する変更後アプリケーションを取得して、変更後アプリケーション名に対応する変更前アプリケーション名にもとづいて、自己に備えられたアプリケーション格納装置における変更前アプリケーションを特定し、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新して、この更新に失敗した場合、管理端末における更新要求手段に更新失敗通知を送信するとともに更新取り消し実行手段からの割り込みを受けると、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す更新実行手段と、更新取り消し要求通知を受信すると、更新実行手段に割り込む更新取り消し実行手段をそれぞれ備えた複数のサーバと、管理端末及び複数のサーバを接続する通信回線とを有する構成としてある。
【0032】
アプリケーションの更新処理システムをこのような構成にすれば、分散環境におけるアプリケーションの更新にあたり、少なくとも一のアプリケーションの更新に失敗した場合には、全てのサーバにおけるアプリケーションの更新を取り消し、元の状態に戻すことが可能となる。
これによって、アプリケーションの更新の一貫性を保証して安全かつ矛盾のない更新を実現し、更新に対する信頼性を高めることが可能となる。
【0036】
また、アプリケーションの更新処理システムをこのような構成にすれば、各サーバにおいてマスタアプリケーションを管理するため、アプリケーションの更新にあたり、データの通信容量を最小限にすることができ、更新時間を短縮することができるとともに、更新の安定性を高めることが可能となる。
【0037】
本発明の請求項9記載の更新処理システムは、複数のサーバが、それぞれ変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置を備え、複数のサーバにおける更新実行手段が、それぞれアプリケーション格納装置における変更前アプリケーションをアプリケーション一時格納装置に複製した後に、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新し、更新取り消し実行手段から割り込みを受けた場合、アプリケーション一時格納装置から複製した変更前アプリケーションを読み出して、アプリケーション格納装置に複製することにより、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻す構成としてある。
【0038】
アプリケーションの更新処理システムをこのような構成にすれば、アプリケーションの更新にあたり、更新対象アプリケーションをアプリケーション一時格納装置に退避させておくことができるため、更新に問題が発生した場合には、これを用いて容易に元の状態に戻すことが可能となる。
【0039】
本発明の請求項10記載の更新処理システムは、管理端末が更新結果格納装置を備え、複数のサーバにおけるアプリケーション更新実行手段が、それぞれアプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新することに成功した場合、管理端末におけるアプリケーション更新要求手段に更新成功通知を送信し、管理端末におけるアプリケーション更新要求手段が、受信した更新成功通知にもとづいて、当該更新の結果を更新結果格納装置に記憶し、複数のサーバのうちの全てのサーバからの更新成功通知にもとづく更新結果が、更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信する構成としてある。
【0040】
アプリケーションの更新処理システムをこのような構成にすれば、各サーバにおける更新結果を更新結果格納装置に記憶することができ、これを参照することによって、全てのアプリケーションの更新が成功した場合に、はじめて各サーバに対して、更新完了通知を送信することができる。
このため、管理端末による更新完了通知の送信により、確実に全てのアプリケーションの更新が成功していることを保証することが可能となる。
【0041】
本発明の請求項11記載の更新処理システムは、複数のアプリケーションが、依存関係を有する構成としてある。
アプリケーションの更新処理システムをこのような構成にすれば、複数のサブアプリケーションにより構成されるアプリケーションなどの更新にあたり、そのアプリケーションの更新の一貫性を保証することが可能となる。
【0042】
本発明の請求項12記載のアプリケーションの更新処理プログラムは、管理端末及び複数のサーバからなる分散環境において依存関係を有した複数のアプリケーションの更新処理プログラムであって、複数のサーバに、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知が管理端末から送信されてくると、それぞれ自己に備えられた定義情報格納装置から、自己のサーバ名,変更前アプリケーション名,及び変更後アプリケーション名が含まれた定義情報を取得させるとともに、この定義情報における変更後アプリケーション名にもとづき自己に備えられたマスタアプリケーション格納装置から対応する変更後アプリケーションを取得させて、変更後アプリケーション名に対応する変更前アプリケーション名にもとづいて、自己に備えられたアプリケーション格納装置における変更前アプリケーションを特定させ、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新させて、この更新に失敗した場合、管理端末へ更新失敗通知を送信させ、管理端末に、複数のサーバのうち少なくとも一のサーバから更新失敗通知が送信されてきた場合、複数のサーバのうちの全てのサーバへ更新取り消し要求通知を送信させ、複数のサーバに、それぞれ更新取り消し要求通知が送信されてきた場合、それぞれ自己に備えられたアプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻させる構成としてある。
【0043】
アプリケーションの更新処理プログラムをこのような構成にすれば、アプリケーションの更新の一貫性を保証することが可能となる。
すなわち、例えば、一のアプリケーションが、複数のサブアプリケーションにより構成されるような場合、一部のサーバにおいて、サブアプリケーションの更新に失敗した場合には、全てのサーバにおけるサブアプリケーションの更新を取り消すことができるため、不完全な更新状態を排除し、更新の信頼性を高めることが可能となる。
【0047】
また、アプリケーションの更新処理プログラムをこのような構成にすれば、各サーバにおいてマスタアプリケーションを管理させ、これにもとづきサーバに更新処理を実行させることができるため、アプリケーションの更新の一貫性を保証することに加えて、安定かつ高速な更新を実現することが可能となる。
【0048】
本発明の請求項13記載のアプリケーションの更新処理プログラムは、変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置をそれぞれ備えた複数のサーバに、アプリケーション格納装置における変更前アプリケーションをアプリケーション一時格納装置に複製させた後に、アプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新させ、更新取り消し要求通知が送信されてきた場合、アプリケーション一時格納装置から複製した変更前アプリケーションを読み出させ、アプリケーション格納装置に複製させることにより、アプリケーション格納装置における変更後アプリケーションを、変更前アプリケーションに戻させる構成としてある。
【0049】
アプリケーションの更新処理プログラムをこのような構成にすれば、各サーバに、更新対象であるアプリケーションを、アプリケーション一時格納装置に保管させることによって、一旦更新されたアプリケーションを元に戻すことができる。
【0050】
本発明の請求項14記載のアプリケーションの更新処理プログラムは、複数のサーバに、それぞれアプリケーション格納装置における変更前アプリケーションを変更後アプリケーションに更新させることに成功した場合、管理端末へ更新成功通知を送信させ、管理端末に、送信されてきた更新成功通知にもとづいて、当該更新の結果を管理端末に備えられた更新結果格納装置に記憶させ、複数のサーバのうちの全てのサーバからの更新成功通知にもとづく更新結果が、更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信させる構成としてある。
【0051】
アプリケーションの更新処理プログラムをこのような構成にすれば、各サーバに、更新が成功した場合、更新成功通知を管理端末に送信させるとともに、管理端末に、各サーバから送信されてきた更新成功通知を管理させることによって、全てのサーバから更新成功通知が送信されてきた場合にのみ、各サーバに更新の完了を連絡するための更新完了通知を送信させることができる。
このため、各サーバに、この更新完了通知が送信されてこなければ、アプリケーションの更新は未完了であると認識させることができ、例えば、更新成功通知の送信後、所定の時間内に更新完了通知を受信しない場合は、アプリケーションの更新を取り消すなどの処理を実行させることができる。
これによって、複数のアプリケーションの更新にあたり、その一貫性を保証することが可能となる。
【0052】
【発明の実施の形態】
以下、本発明の実施形態につき、図面を参照して説明する。
[第一実施形態]
まず、本発明の第一実施形態について、図1〜図4を参照して説明する。図1は、本発明の第一実施形態のアプリケーションの更新処理システムの構成を示すブロック図である。
図2、図3、及び図4は、それぞれ同システムにおける更新対象メッセージを示す図、更新結果確認情報を示す図、及び定義情報を示す図である。
【0053】
[アプリケーションの更新処理システム]
同図に示すように、本実施形態のアプリケーションの更新処理システムは、管理端末10、サーバ20(20−1,20−2,・・・)、及び通信回線30を有している。
[管理端末10]
管理端末10は、分散環境における各サーバへのアプリケーションの更新を制御する情報処理装置であり、パーソナルコンピュータなどを用いることができる。また、ワークステーション、サーバ等を用いてもかまわない。
管理端末10は、アプリケーション更新要求手段11、アプリケーション更新取り消し要求手段12、更新結果格納装置13、定義情報格納装置14及びマスタアプリケーション格納装置15を有している。
【0054】
アプリケーション更新要求手段11は、更新対象メッセージ(図2参照。)を受け取ると、各サーバ20におけるアプリケーション更新実行手段21(21−1,21−2,・・・)へ、通信回線30を介して、アプリケーションの更新要求通知を送信する。更新対象メッセージにおける更新対象サーバ名は、更新対象とするサーバ名のリストである。
この更新対象メッセージは、アプリケーションの更新にあたり、手入力などにより管理端末10のアプリケーション更新要求手段11に入力される。また、あらかじめ入力された更新対象メッセージを、所定のタイミングでアプリケーション更新要求手段11に入力するようにスケジューリングすることもできる。
【0055】
また、アプリケーション更新要求手段11は、更新対象メッセージにもとづいて、更新結果格納装置13に更新結果を格納するためのテーブル(図3参照。以下、このテーブルに保有される情報を更新結果確認情報と称する場合がある。)を作成する。
更新結果確認情報における更新対象サーバ名の列には、更新対象となるサーバ名がそれぞれ入力される。また、更新結果の列には、更新対象サーバのアプリケーション更新実行手段21から更新成功通知を受け取った場合には、更新成功を示す情報が入力される。それ以外の場合には空の値が入っている。
【0056】
アプリケーション更新要求手段11は、アプリケーションの更新要求通知を送信すると、各サーバのアプリケーション更新実行手段21から更新成功通知が送信されてくるのを待つ。
この更新成功通知が送信されてくると、アプリケーション更新要求手段11は、更新結果確認情報における対応するサーバ名についての更新結果を更新成功に書き換える。
このとき、更新結果確認情報の全てのサーバについての更新結果が更新成功になっているかを確認し、全て更新成功となっているときは、これら全てのサーバにおけるアプリケーション更新実行手段21へ更新完了通知を送信して終了する。
また、更新対象である上記サーバの内のいずれかのサーバにおけるアプリケーション更新実行手段21から、更新失敗通知を受け取った場合は、アプリケーション更新取り消し要求手段12を実行する。
【0057】
アプリケーション更新取り消し要求手段12は、アプリケーション更新要求手段11によって、必要時に自動的に実行される。
そして、更新結果確認情報を参照し、更新対象となっている全てのサーバ名を取得して、各サーバのアプリケーション更新取り消し実行手段24へアプリケーション更新取り消し要求通知を送信して終了する。
なお、アプリケーション更新要求手段11が、更新結果格納装置13から更新対象となっている全てのサーバ名を取得し、このサーバ名をアプリケーション更新取り消し要求手段12へ出力するようにすることも可能である。
【0058】
更新結果格納装置13は、上述のように更新結果確認情報を格納する記憶装置である。この更新結果確認情報は、図3に示すように、更新対象サーバ名と、そのサーバに対する更新結果を有している。
【0059】
定義情報格納装置14は、図4に示すようにサーバごとに更新前後のアプリケーション名を保有するテーブル(以下、このテーブルに保有される情報を定義情報と称する場合がある。)を格納する記憶装置である。
定義情報は、管理端末10への手入力等によって、アプリケーションの更新前に予め作成されるものであり、更新対象アプリケーション及び更新後アプリケーションを特定するための情報を有するものである。
【0060】
この定義情報におけるサーバ名は、アプリケーション更新の対象となるサーバの名前であり、定義情報の参照時に検索キーとなるものである。サーバ名ごとに指定される更新対象アプリケーション名は、そのサーバのアプリケーション格納装置23に存在する(はずの)アプリケーション名で、ここに指定されたアプリケーションはアプリケーション更新実行手段21により削除される。新規にアプリケーションを配置する場合などは、更新対象アプリケーション名には何も指定されない。
【0061】
更新後アプリケーション名は、マスタアプリケーション格納装置15に存在する(はずの)アプリケーション名で、アプリケーション更新実行手段21によりマスタアプリケーション格納装置15から読み取られ、アプリケーション一時格納装置22へ保存され、その後アプリケーション格納装置23へコピー(複製)される。
図4に示す例においては、サーバ20−1のMain_app1をMain_app1.1に更新したい場合、Main_app1が動作するために、サーバ20−1にSub_app1、サーバ20−2にMain_app2とSub_app2が保有されていることを必要としていたが、更新後のMain_app1.1では、サーバ20−1にSub_app1.2、サーバ20−2にMain_app3とSub_app3を保有させることが必要であることを表している。
【0062】
このように、本発明によれば、依存関係を有するような複数のアプリケーションの更新であっても、図4のように各アプリケーションを定義し、これにもとづき本発明の更新処理を行うことにより、その更新の一貫性を確保することが可能である。もちろん、依存関係のない複数のアプリケーションを同時に更新することも可能である。
マスタアプリケーション格納装置15は、更新後アプリケーションのマスタデータを格納する記憶装置である。
【0063】
[サーバ20]
サーバ20は、分散環境において、複数のアプリケーションのうちの一部を保有し、これを実行するものである。
複数のサブアプリケーションによって一のアプリケーションが構成されるような場合においては、サーバ20は、そのサブアプリケーションのうちの一部を保有し、これを実行することにより、当該一のアプリケーションを他のサーバと共に共同して実行する。
図1においては、サーバ20として、サーバ20−1及び20−2のみを図示しているが、本実施形態のアプリケーションの更新処理システムを、より多くのサーバにより構成することもできる。
このサーバ20としては、ワークステーションや、サーバ等の情報処理装置を用いることができる。
【0064】
各サーバ20は、アプリケーション更新実行手段21(21−1,21−2,・・・)、アプリケーション一時格納装置22(22−1,22−2,・・・)、アプリケーション格納装置23(23−1,23−2,・・・)、及びアプリケーション更新取り消し実行手段24(24−1,24−2,・・・)を有している。
【0065】
アプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11から更新要求通知を受け取ると、管理端末10における定義情報格納装置14から通信回線30を介して定義情報を取得し、自サーバにおいて更新が必要なアプリケーションを認識する。
そして、更新対象アプリケーションをアプリケーション格納装置23から、アプリケーション一時格納装置22へコピーする。更新対象となるアプリケーションがない場合(即ち新規にアプリケーションを配備する場合など)は、このコピー操作は行わない。
【0066】
次に、更新後アプリケーション名を定義情報から取得し、この更新後アプリケーション名にもとづいて、管理端末10におけるマスタアプリケーション格納装置15から更新後アプリケーションを取得し、アプリケーション一時格納装置22へ保存する。
更新後アプリケーションがない場合(即ち既存アプリケーションの削除のみを行う場合など)は、この操作は行わない。
【0067】
そして、アプリケーション格納装置23から更新対象アプリケーションを削除し、アプリケーション一時格納装置22から更新後アプリケーションをアプリケーション格納装置23へコピーする。
ここまでの操作が全て無事に完了すると、アプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11へ通信回線30を介して更新成功通知を送信し、アプリケーション更新要求手段11から更新完了通知が送信されてくるのを待つ。
そして、アプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11から更新完了通知を受け取ると終了する。
【0068】
アプリケーション更新実行手段21は、上記操作中にエラーが発生した場合は、管理端末10のアプリケーション更新要求手段11へ更新失敗通知を送信し、アプリケーション更新取り消し実行手段24からの割り込み(割り込み通知の入力)を待つ。
また、上記操作中にアプリケーション更新取り消し実行手段24から割り込み通知を受けた場合は、更新取り消し処理を行い終了する。
【0069】
アプリケーション一時格納装置22は、更新対象アプリケーション及び更新後アプリケーションを一時的に格納する記憶装置である。
アプリケーション格納装置23は、アプリケーションを格納する記憶装置である。アプリケーションの実行にあたっては、このアプリケーション格納装置23に格納されているアプリケーションが用いられる。
アプリケーション更新取り消し実行手段24は、管理端末10のアプリケーション更新取り消し要求手段12からアプリケーション更新取り消し要求通知を受け取ると、アプリケーション更新実行手段21に割り込み通知を出力して終了する。
【0070】
[通信回線30]
通信回線30は、従来公知の任意好適な公衆回線、商業回線又は専用回線を用いることができる。また管理端末10及び各サーバ20それぞれの間においては、同一又は別個の通信回線で構成することができる。
さらに、通信回線30は、管理端末10及び各サーバ20のそれぞれの間を、無線あるいは有線で接続可能な回線であり、例えば、公衆回線網、専用回線網、インターネット回線網及びイントラネット網により構成することができる。
【0071】
[アプリケーションの更新処理システムの処理手順]
次に、本実施形態の更新処理システムにおける処理手順について、図5〜図10のフローチャートを参照して説明する。
図5は、本実施形態のアプリケーションの更新処理システムにおけるアプリケーション更新要求手段11の処理手順を、図6は、アプリケーション更新実行手段21の処理手順を、図7は、アプリケーション更新取り消し要求手段12の処理手順を、図8は、アプリケーション更新取り消し実行手段24の処理手順を、それぞれ示すフローチャートである。
図9は、同システムにおける更新成功時の各手段の処理手順の関連を示す動作手順図であり、図10は、更新失敗時の各手段の処理手順の関連を示す動作手順図である。
【0072】
[アプリケーション更新要求手段11の処理手順]
まず、図5を参照して、管理端末10におけるアプリケーション更新要求手段11の処理手順について説明する。
この処理の前提として、管理端末10への人間の手入力などによって、定義情報及びマスタアプリケーションが作成され、それぞれ定義情報格納装置14、マスタアプリケーション格納装置15へ格納される。
また、管理端末10への人間の手入力などにより、図2のような更新対象メッセージが作成され、あるトリガで管理端末10のアプリケーション更新要求手段11に通知される。このトリガは人間の操作により発生させても、予め管理端末10でスケジューリングしておいて、指定した時刻になったときに発生するようにしてもよい。
これに対して、アプリケーション更新要求手段11は、更新結果格納装置13に、図3のような更新結果確認情報を作成する(ステップ10)。
【0073】
すなわち、アプリケーション更新要求手段11は、受け取った更新対象メッセージにもとづいて、作成した更新結果確認情報における各サーバ名の列へ、サーバ名を入力し、更新結果については空のままとする(ステップ11)。
次に、アプリケーション更新要求手段11は、更新対象メッセージに含まれる各サーバ(図3においては、サーバ20−1及び20−2)におけるアプリケーション更新実行手段21へ、アプリケーション更新要求通知を通信回線30を介して送信する(ステップ12)。
【0074】
そして、アプリケーション更新要求手段11は、アプリケーション更新要求通知を送信後、サーバ20−1及び20−2におけるアプリケーション更新実行手段21から更新結果通知が送信されてくるのを待つ(ステップ13)。
次に、アプリケーション更新要求手段11は、サーバ20−1、あるいはサーバ20−2のアプリケーション更新実行手段21から更新結果通知を受信し、この更新結果通知が、更新成功通知であるか、更新失敗通知であるかを判別する(ステップ14)。
更新結果通知が更新成功通知である場合、アプリケーション更新要求手段11は、更新結果格納装置13の更新結果確認情報に、更新成功通知を送信したサーバ名に対応する更新結果の欄を更新成功に書き換える(ステップ15)。
【0075】
次に、アプリケーション更新要求手段11は、更新結果格納装置13の更新結果確認情報を参照し、サーバ20−1、及び20−2の更新結果が共に更新成功になっているかを確認して(ステップ16)、全てのサーバの更新結果が成功となっているか否かを判断する(ステップ17)。
全てのサーバの更新結果が成功である場合、すなわち、サーバ20−1及び20−2の更新結果が共に更新成功である場合は、サーバ20−1及び20−2のアプリケーション更新実行手段21へ更新完了通知を送信して終了する(ステップ18)。
【0076】
少なくとも上記いずれかのサーバについて、更新結果として更新成功が入力されていない場合は、再びステップ13における更新結果通知待ちを行う。そして、各サーバから所定の時間までに更新結果通知が送信されてこない場合は、アプリケーション更新取り消し要求手段12を実行して終了する(ステップ19)。また、ステップ14において、更新結果通知が、更新失敗通知であると判断される場合、すなわち、サーバ20−1又は20−2のいずれかのアプリケーション更新実行手段21が、アプリケーション更新要求手段11に更新失敗通知を送信してきた場合も、アプリケーション更新要求手段11は、アプリケーション更新取り消し要求手段12を実行して終了する。
【0077】
[アプリケーション更新実行手段21]
次に、図6を参照して、管理端末10におけるアプリケーション更新実行手段21の処理手順について説明する。
まず、各サーバ20におけるアプリケーション更新実行手段21は、アプリケーション更新要求手段11からアプリケーションの更新要求通知を受け取る(ステップ30)と、管理端末10における定義情報格納装置14から定義情報を取得する(ステップ31)。
【0078】
定義情報の取得に失敗した場合は、アプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11へ、更新失敗通知を通信回線30を介して送信し、アプリケーション更新取り消し実行手段24による割り込み通知の入力を待つ(ステップ38)。
そして、この割り込み通知を受けた場合は、更新取り消し処理を実行する(ステップ39)。
更新失敗通知を送信後、所定の時間内に割り込み通知を受けなかった場合も、更新取り消し処理を実行する(ステップ39)。
さらに、ステップ31の実行中に、アプリケーション更新取り消し実行手段24から割り込み通知を受け取った場合も、処理を中断して終了する(ステップ39)。これらの場合には、更新取り消し処理としては特に何も行わない。
【0079】
次に、各サーバ20におけるアプリケーション更新実行手段21は、ステップ31において取得した定義情報を参照し、サーバ名を検索キーとして更新対象アプリケーション名、更新後アプリケーション名を取り出す。
更新対象のアプリケーションが定義情報に指定されていて、これを取得することができると、アプリケーション更新実行手段21は、更新対象のアプリケーションをアプリケーション格納装置23から取り出して、アプリケーション一時格納装置22へコピーする(ステップ32)。
なお、ステップ31において、サーバ名を検索キーとして、管理端末10における定義情報格納装置14から、更新対象アプリケーション名、更新後アプリケーション名を取得し、ステップ32における当該処理を省略することもできる。
【0080】
更新対象アプリケーション名の取得に失敗した場合、自分のサーバ名が定義情報に存在しない場合、更新対象アプリケーションがアプリケーション格納装置23に存在しない場合、又は、更新対象アプリケーションの保存に失敗した場合等は、管理端末10におけるアプリケーション更新要求手段11へ更新失敗通知を通信回線30を介して送信する(ステップ38)。
また、ステップ32の実行中に、アプリケーション更新取り消し実行手段24から割り込み通知を入力した場合は、処理を中断して終了する(ステップ39)。これらの場合は、更新取り消し処理としては特に何も行わない。
【0081】
次に、各サーバ20におけるアプリケーション更新実行手段21は、更新後アプリケーションが定義情報に指定されていて、これを取得することができると、更新後アプリケーションを管理端末10のマスタアプリケーション格納装置15から通信回線30を介して取得し、アプリケーション一時格納装置22へ保存する(ステップ33)。
管理端末10におけるマスタアプリケーション格納装置15に更新後アプリケーションが見つからない場合、又は更新後アプリケーションをアプリケーション一時格納装置22へ保存するのに失敗した場合等は、管理端末10におけるアプリケーション更新要求手段11へ、更新失敗通知を通信回線30を介して送信する(ステップ38)。
また、ステップ33の実行中に、アプリケーション更新取り消し実行手段24から割り込み通知を受信した場合は、処理を中断して終了する(ステップ39)。これらの場合は、更新取り消し処理としては特に何も行わない。
【0082】
次に、各サーバ20におけるアプリケーション更新実行手段21は、定義情報に更新対象アプリケーションが指定されている場合、アプリケーション格納装置23から更新対象アプリケーションを削除する(ステップ34)。
更新対象アプリケーションの削除に失敗した場合は、管理端末10のアプリケーション更新要求手段11へ、更新失敗通知を通信回線30を介して送信する(ステップ38)。
また、ステップ34の実行中に、アプリケーション更新取り消し実行手段24から割り込み通知を受信した場合は処理を中断し、更新を取り消して終了する(ステップ39)。これらの場合、更新取り消し処理において、アプリケーション一時格納装置22から更新対象アプリケーションを取り出し、アプリケーション格納装置23へ保存する処理を行う。
【0083】
次に、各サーバ20におけるアプリケーション更新実行手段21は、アプリケーション一時格納装置22から、更新後アプリケーションを読み取り、アプリケーション格納装置23へコピーする(ステップ35)。
更新後アプリケーションのコピーに失敗した場合は、管理端末10のアプリケーション更新要求手段11へ、更新失敗通知を通信回線30を介して送信する(ステップ38)。
また、ステップ35の実行中に、アプリケーション更新取り消し実行手段24から割り込み通知を受信した場合は処理を中断し、更新を取り消して終了する(ステップ39)。
これらの場合、更新取り消し処理において、アプリケーション格納装置23から更新後アプリケーションを削除し、アプリケーション一時格納装置22から更新対象アプリケーションを取り出して、アプリケーション格納装置23へ保存する処理を行う。
【0084】
次に、各サーバ20におけるアプリケーション更新実行手段21は、管理端末10のアプリケーション更新要求手段11へ更新成功通知を送信し、アプリケーション更新要求手段11から更新完了通知が送信されてくるのを待つ(ステップ36)。
このときアプリケーション更新取り消し実行手段24から割り込み通知を受信した場合は、処理を中断し、更新を取り消して終了する(ステップ39)。
また、更新成功通知送信後、所定の時間内に更新完了通知が送信されてこない場合も、更新を取り消して終了する(ステップ39)。
【0085】
これらの場合、更新取り消し処理において、アプリケーション格納装置23から更新後アプリケーションを削除し、アプリケーション一時格納装置22から更新対象アプリケーションを取り出して、アプリケーション格納装置23へ保存する処理を行う。
各サーバ20におけるアプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11から更新完了通知を受信すると(ステップ37)、処理を終了する。
【0086】
[アプリケーション更新取り消し要求手段12]
次に、図7を参照して、管理端末10におけるアプリケーション更新取り消し要求手段12の処理手順について説明する。
アプリケーション更新取り消し要求手段12は、アプリケーション更新要求手段11により起動され、更新結果確認情報を参照して、更新対象となっている全てのサーバ名(図3においては、サーバ20−1及び20−2)を取得する(ステップ50)。
この更新対象となっている全てのサーバ名の取得先として、定義情報格納装置14を用いることもできる。
次に、アプリケーション更新取り消し要求手段12は、ステップ50において取得した全てのサーバ20におけるアプリケーション更新取り消し実行手段24へ、アプリケーション更新取り消し要求通知を通信回線30を介して送信し、処理を終了する(ステップ51)。
【0087】
[アプリケーション更新取り消し実行手段24]
次に、図8を参照して、管理端末10におけるアプリケーション更新取り消し実行手段24の処理手順について説明する。
アプリケーション更新取り消し実行手段24は、管理端末10におけるアプリケーション更新取り消し要求手段12からアプリケーション更新取り消し要求通知を受け取ると(ステップ70)、アプリケーション更新実行手段21へ割り込み通知を出力して(ステップ71)、処理を終了する。
【0088】
[アプリケーションの更新が正常に完了する場合の各手段の処理手順の関連]
次に、図9を参照して、アプリケーションの更新が正常に完了する場合の、各手段の処理手順について、その関連を中心に説明する。
まず、アプリケーション更新要求手段11が、図2に示すような更新対象メッセージの入力を受けると(ステップ90)、この更新対象メッセージにもとづいて、更新結果格納装置13に図3に示すような更新結果確認情報を作成する(ステップ91)。
そして、更新対象メッセージに更新対象サーバ名として保有されている全てのサーバにおけるアプリケーション更新実行手段21へ、アプリケーションの更新要求通知を送信する(ステップ92)。
【0089】
アプリケーション更新要求手段11から更新要求通知を受信したアプリケーション更新実行手段21−1は、上述のステップ30〜ステップ35に示すようなアプリケーションの更新処理を実行する(ステップ93)。
そして、更新が成功すると、アプリケーション更新要求手段11へ更新成功通知を送信して、アプリケーション更新要求手段11から更新完了通知が送信されてくるまで待機する(ステップ94)。
アプリケーション更新実行手段21−1から更新成功通知を受信したアプリケーション更新要求手段11は、更新結果確認情報にサーバ20−1におけるアプリケーションの更新が成功したことを登録する(ステップ95)。この際、全てのサーバについての更新結果が成功となったかどうかの確認が行われるが、このときはまだ、サーバ20−2については、更新結果が空のままであり、更新は未完了であると判断される。
【0090】
同様にして、アプリケーション更新要求手段11から更新要求通知を受信したアプリケーション更新実行手段21−2は、アプリケーションの更新処理を実行し(ステップ96)、アプリケーション更新要求手段11へ更新成功通知を送信して待機する(ステップ97)。
アプリケーション更新要求手段11は、更新結果確認情報にサーバ20−2におけるアプリケーションの更新が成功したことを登録する(ステップ98)。そして、全ての更新対象サーバの更新結果が成功となっているか否かを確認する。
【0091】
この場合は、全ての更新対象サーバの更新結果が更新成功となっているため、アプリケーション更新要求手段11は、アプリケーション更新実行手段21−1とアプリケーション更新実行手段21−2へ、更新完了通知を送信する(ステップ99)。
そして、更新完了通知を受信したアプリケーション更新実行手段21−1とアプリケーション更新実行手段21−2は、処理を終了し、これによってアプリケーションの更新処理は終了する。
【0092】
[アプリケーションの更新が失敗する場合の各手段の処理手順の関連]
次に、図10を参照して、アプリケーションの更新が失敗する場合の、各手段の処理手順について、その関連を中心に説明する。
まず、アプリケーション更新要求手段11に更新対象メッセージが入力される動作から、アプリケーション更新要求手段11がアプリケーション更新実行手段21−1から送信されてきた更新成功通知にもとづいて、更新結果確認情報にサーバ20−1における更新が成功したことを登録するまでの動作(ステップ110〜ステップ115)は、図9に示す動作(ステップ90〜ステップ95)と同様である。
【0093】
次に、アプリケーション更新実行手段21−2におけるアプリケーションの更新処理(ステップ116)の実行中に、エラーが発生したとする(ステップ117)。
このとき、アプリケーション更新実行手段21−2は、アプリケーション更新要求手段11へ更新失敗通知を送信して、アプリケーション更新取り消し実行手段24−2からの割り込み通知を待つ(ステップ118)。
【0094】
更新失敗通知を受信したアプリケーション更新要求手段11は、アプリケーション更新取り消し要求手段12を実行する(ステップ119)。
アプリケーション更新取り消し要求手段12は、更新結果確認情報から更新対象の全てのサーバ名であるサーバ20−1及びサーバ20−2を取得し、それぞれにおけるアプリケーション更新取り消し実行手段24に対して、更新取り消し要求通知を送信する(ステップ120)。
【0095】
更新取り消し要求通知を受信したアプリケーション更新取り消し実行手段24−1は、アプリケーション更新実行手段21−1へ割り込み通知を出力する(ステップ121)。
割り込み通知を受け取った、アプリケーション更新実行手段21−1は、上述のように、実行中であった処理ステップに応じた更新取り消し処理を実行して終了する(ステップ122)。
【0096】
同様にして、更新取り消し要求通知を受信したアプリケーション更新取り消し実行手段24−2は、アプリケーション更新実行手段21−2へ割り込み通知を出力し(ステップ123)、アプリケーション更新実行手段21−2は、更新取り消し処理を実行して終了する(ステップ124)。
【0097】
以上説明したように、本実施形態のアプリケーションの更新処理システムによれば、複数サーバのアプリケーション、特にサーバ間で互いに依存しているサブアプリケーションを同時に更新することができ、また更新失敗時に更新前の状態に確実に戻すことが可能となる。
【0098】
[第二実施形態]
次に、本発明の第二実施形態について、図11を参照して説明する。同図は、本実施形態のアプリケーションの更新処理システムの構成を示すブロック図である。
本実施形態は、定義情報とマスタアプリケーションが、予め更新対象サーバに保有されている点で第一実施形態と異なる。
【0099】
すなわち、図11に示すように、本実施形態のアプリケーションの更新処理システムは、管理端末10、サーバ20、及び通信回線30により構成されているが、この管理端末10は、アプリケーション更新要求手段11、アプリケーション更新取り消し要求手段12及び更新結果格納装置13を有していればよい。
また、本実施形態のサーバ20は、図1に示す第一実施形態の構成に加えて、定義情報格納装置25及びマスタアプリケーション格納装置26を有している。この定義情報格納装置25及びマスタアプリケーション格納装置26に格納される情報は、第一実施形態と同様である。
【0100】
本実施形態のサーバ20におけるアプリケーション更新実行手段21は、管理端末10におけるアプリケーション更新要求手段11から更新要求通知を受信すると、定義情報格納装置25から図4に示すようなアプリケーションの定義情報を取得することができる。
このとき、定義情報格納装置25における定義情報を、当該サーバの情報のみを保有するものとすることができる。このようにすれば、各サーバにおいて、不要な情報を保有させる必要がなくなる。
一方、全てのサーバ20に、全てのサーバについての情報を保有する定義情報をもたせるようにすれば、サーバごとに専用の定義情報を作成する煩雑さを省略することができる。
【0101】
また、アプリケーション更新実行手段21は、定義情報から更新後アプリケーション名を取得すると、この更新後アプリケーション名にもとづいて、更新後アプリケーションをマスタアプリケーション格納装置26から取得し、アプリケーション一時格納装置22に格納することができる。
このとき、マスタアプリケーション格納装置26に、当該サーバに必要なマスタアプリケーションのみを保有させておくようにすることもできる。
なお、本実施形態において、更新後アプリケーションをアプリケーション一時格納装置22に格納することなく、アプリケーション格納装置23から更新対象アプリケーションを削除した後、マスタアプリケーション格納装置26から直接更新後アプリケーションを読み取って、アプリケーション格納装置23に格納するようにすることも好ましい。
【0102】
その他の構成については、第一実施形態と同様であり、その処理手順についても、定義情報とマスタアプリケーションの取得先が異なる点を除いて、第一実施形態と同様である。もちろん、第二実施形態におけるサーバ20も、複数であることを想定している。
【0103】
以上説明したように、本実施形態のアプリケーションの更新処理システムによれば、定義情報及びマスタアプリケーションを各サーバに格納しているため、当該分散環境が、多数のサーバにより構築されるような場合には、ネットワーク負荷を軽減することが可能となる。
また、管理端末と各サーバ間の通信量が減少するため、更新処理速度を向上させることができる。
【0104】
上記の実施形態における更新結果情報の登録や、更新成功通知の送信等は、アプリケーションの更新処理プログラムにより実行される。
このアプリケーションの更新処理プログラムは、コンピュータの各構成要素に指令を送り、所定の処理、例えば、更新結果情報の登録処理や、更新成功通知の送信処理等を行わせる。
これによって、これらの処理は、アプリケーションの更新処理プログラムとコンピュータとが協働した管理端末10やサーバ20等により実現される。
【0105】
なお、アプリケーションの更新処理プログラムは、コンピュータのROMやハードディスクに記憶させる他、コンピュータ読み取り可能な記憶媒体、たとえば、外部記憶装置及び可搬記憶媒体等に格納することができる。
外部記憶装置とは、磁気ディスク等の記憶媒体を内蔵し、例えば管理端末10などに外部接続される記憶増設装置をいう。一方、可搬記憶媒体とは、記憶媒体駆動装置(ドライブ装置)に装着でき、かつ、持ち運び可能な記憶媒体であって、たとえば、CD−ROM、フレキシブルディスク、メモリカード、光磁気ディスク等をいう。
【0106】
そして、記憶媒体に記憶されたプログラムは、コンピュータのRAMにロードされて、CPUにより実行される。この実行により、上述した各実施形態のアプリケーションの更新処理システムの機能が実現される。
さらに、コンピュータでアプリケーションの更新処理プログラムをロードする場合、他のコンピュータで保有されたアプリケーションの更新処理プログラムを、通信回線を利用して自己の有するRAMや外部記憶装置にダウンロードすることもできる。
このダウンロードされたアプリケーションの更新処理プログラムも、CPUにより実行され、本発明における更新結果情報の登録処理や、更新成功通知の送信処理等を実現する。
【0107】
なお、本発明は以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、図4の定義情報に、更新の対象として、アプリケーションの実行に必要な画面、帳票、データベース等、各種情報についての名称も保有させ、これらも併せて更新可能としたり、定義情報に更新順序情報を持たせ、所定の順番で各サブアプリケーションの更新可能とするなど適宜設計変更できるものである。
【0108】
【発明の効果】
以上のように、本発明によれば、一つのアプリケーションとして機能するために異なる複数のサーバ上のアプリケーションを必要とするような分散アプリケーション環境や、負荷分散などの目的で、複数のサーバに同じアプリケーションが存在するような環境において、アプリケーションの更新、配置を安全に行うことが可能となる。
すなわち、複数サーバのアプリケーション、特にサーバ間で互いに依存しているサブアプリケーションを同時に更新することができ、また更新失敗時に更新前の状態に確実に戻すことが可能となる。
【0109】
また、あらかじめ作成した定義情報にもとづいて更新処理を行うため、分散したアプリケーションのバージョン情報の把握や、適用しているパッチの情報を容易に把握することが可能となる。
さらに、定義情報及びマスタアプリケーションを各サーバに格納すれば、当該分散環境が、多数のサーバにより構築されるような場合には、ネットワーク負荷を軽減することが可能となる。
また、管理端末と各サーバ間の通信量が減少するため、更新処理速度を向上させることができる。
【図面の簡単な説明】
【図1】本発明の第一実施形態のアプリケーションの更新処理システムの構成を示すブロック図である。
【図2】本発明の各実施形態のアプリケーションの更新処理システムにおける更新対象メッセージを示す図である。
【図3】本発明の各実施形態のアプリケーションの更新処理システムにおける更新結果確認情報を示す図である。
【図4】本発明の各実施形態のアプリケーションの更新処理システムにおける定義情報を示す図である。
【図5】本発明の第一実施形態のアプリケーションの更新処理システムにおけるアプリケーション更新要求手段の処理手順を示すフローチャートである。
【図6】本発明の第一実施形態のアプリケーションの更新処理システムにおけるアプリケーション更新実行手段の処理手順を示すフローチャートである。
【図7】本発明の第一実施形態のアプリケーションの更新処理システムにおけるアプリケーション更新取り消し要求手段の処理手順を示すフローチャートである。
【図8】本発明の第一実施形態のアプリケーションの更新処理システムにおけるアプリケーション更新取り消し実行手段の処理手順を示すフローチャートである。
【図9】本発明の第一実施形態のアプリケーションの更新処理システムにおける更新成功時の各手段の処理手順の関連を示す動作手順図である。
【図10】本発明の第一実施形態のアプリケーションの更新処理システムにおける更新失敗時の各手段の処理手順の関連を示す動作手順図である。
【図11】本発明の第二実施形態のアプリケーションの更新処理システムの構成を示すブロック図である。
【符号の説明】
10 管理端末
11 アプリケーション更新要求手段
12 アプリケーション更新取り消し要求手段
13 更新結果格納装置
14 定義情報格納装置
15 マスタアプリケーション格納装置
20(20−1,20−2) サーバ
21(21−1,21−2) アプリケーション更新実行手段
22(22−1,22−2) アプリケーション一時格納装置
23(23−1,23−2) アプリケーション格納装置
24(24−1,24−2) アプリケーション更新取り消し実行手段
25(25−1,25−2) 定義情報格納装置
26(26−1,26−2) マスタアプリケーション格納装置
30 通信回線
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an update processing method, an update processing system, and an update processing program for guaranteeing consistency in updating a plurality of applications in a distributed environment.
[0002]
[Prior art]
Conventionally, when performing an application version upgrade, it has been essential to confirm that the application operates normally even after the version upgrade.
That is, since an application generally operates in association with another application, it is necessary to confirm that the application operates normally with the other application after the version upgrade.
[0003]
In particular, in recent years, there are products that are composed of combinations of different versions of applications, such as the presence of products in the market, and the operating environment of applications has become complicated. It is devised (for example, refer to Patent Document 1).
[0004]
In addition, with recent developments in communication technology and the like, it has also been seen that applications in a plurality of computers are updated via communication lines.
When updating a plurality of computers via such communication lines, there is a problem that the system must be stopped until all the updates are completed, or a means for ensuring consistency during the update period must be established. It was.
In order to solve such a problem, there has been proposed a method of updating and canceling a plurality of computers via a communication line at once (for example, refer to Patent Document 2).
[0005]
Furthermore, even if a failure occurs when maintenance work such as new creation or update of a program file is performed, a system that can automatically restore the state before the maintenance work has been proposed (for example, a patent) Reference 3).
In addition, there has been proposed a method that eliminates the need for manual cancellation by an operator when it is necessary to synchronize a plurality of computers to introduce an application (see, for example, Patent Document 4).
[0006]
[Patent Document 1]
JP-A-9-198233
[Patent Document 2]
JP 2002-175188 A
[Patent Document 3]
JP-A-10-97452
[Patent Document 4]
Japanese Patent Laid-Open No. 9-231083
[0007]
[Problems to be solved by the invention]
However, depending on these conventional means, a single application composed of a plurality of sub-applications may be distributed and held in a plurality of computers, or may be the same on a plurality of computers for the purpose of load distribution. There has been a problem that the consistency of the application may not be sufficiently ensured when upgrading the version in the case of executing the application.
For example, according to the method described in Patent Document 1, there is a problem in that even if only a sub-application version upgrade fails for a part of computers, a malfunction that does not function as a distributed application occurs.
That is, if the method described in Patent Document 1 is used in a distributed environment, each computer cannot grasp the status of version upgrade in another computer. There was a problem that some applications may remain.
[0008]
Further, according to the method described in Patent Document 2, when the system operation manager recognizes that the system needs to be returned to the state before replacement for some reason, the reflection cancellation program is distributed to each computer. It is possible to cancel the update by executing.
However, since this cancellation is performed independently of the update, there is a problem in that an inconsistent state occurs between the update and the execution of the cancellation after performing the above recognition. there were.
In addition, when a network failure occurs, there is a problem that such an inconsistent state continues until the network is restored.
In addition, there has been a problem that a reflection cancellation program must be distributed to each computer in advance.
[0009]
Further, according to the system described in Patent Document 3, when maintenance work such as updating a program file fails, the log is restored from the maintenance work log to the original state. In case of failure, there was a problem that it could not be recovered.
Further, as in the case of Patent Document 2, there are cases where recovery cannot be performed even when a network failure occurs.
[0010]
Further, according to the method described in Patent Document 4, there is disclosed a means for canceling the introduction when the introduction of any one computer fails when the application is introduced to a plurality of computers. Since the update is not assumed, it is not considered to return to the original application.
Furthermore, in order to cancel, there is a problem that each computer needs to have an installation cancellation script, and when a network failure occurs, the cancellation cannot be performed.
[0011]
The present invention has been considered in view of the above circumstances, and in a distributed environment composed of a management terminal and a plurality of servers, an application update processing method capable of guaranteeing consistency in updating a plurality of applications, An object is to provide an update processing system and an update processing program.
[0012]
[Means for Solving the Problems]
To achieve the above object, an application update processing method according to claim 1 of the present invention is an update processing method for a plurality of applications in a distributed environment including a management terminal and a plurality of servers, and the management terminal includes: plural On the server On the other hand, it is stored in the application storage device provided in each server. Application This is a trigger to update Send an update request notification, plural The server Respectively When you receive an update request notification, Each self From the definition information storage device provided in Includes its own server name, pre-change application name, and post-change application name In addition to obtaining definition information, Change Based on post application name self Corresponding from the master application storage device provided in After change Get the application, Based on the pre-change application name corresponding to the post-change application name, identify the pre-change application in the application storage device provided for itself, update the pre-change application in the application storage device to the post-change application, If this update fails, an update failure notification is sent to the management terminal, and the management terminal plural When an update failure notification is received from at least one of the servers, Out of multiple servers For all servers , Send an update cancellation request notification, plural The server Respectively When you receive an update cancellation request notification, Return the post-change application to the pre-change application in each application storage device There is as a method.
[0013]
If the application update processing method is such a method, even if one of the update target applications fails to update, the update consistency is automatically canceled by canceling all the application updates automatically. (Atomicity) can be guaranteed.
Therefore, according to the present invention, when updating an application, it is possible to ensure that all applications are updated in a consistent manner, and it is possible to improve reliability such as version upgrade of the application.
[0014]
Of course, the application in this specification includes a program, but other information necessary for executing the application, such as a screen, a form, a database, image information, audio information, video information, etc. It is used as including various information.
Further, for example, when one application is constituted by a plurality of applications, one of the plurality of applications may be constituted only by a database, for example.
[0018]
Also, If the application update processing method is such a method, the master application and the like can be managed in each server. For this reason, when updating the application, the data communication capacity can be minimized, the update time can be shortened, and the stability of the update can be improved.
This is an effective configuration especially when the application capacity is large.
[0019]
An application update processing method according to claim 2 of the present invention includes: plural The server Each has a temporary application storage device for temporarily saving the pre-change application, and the pre-change application in the application storage device Replicate to a temporary application storage device After that, update the pre-change application in the application storage device to the post-change application, When an update cancellation request notification is received, it is copied from the temporary application storage device. Change before By reading the application and copying it to the application storage device, Return the changed application in the application storage device to the application before the change. There is as a method.
[0020]
If the application update processing method is such a method, the original program can be saved in advance before updating the application, so if there is a problem with the update, it can be easily restored to the original state. It becomes possible to return.
[0021]
The application update processing method according to claim 3 of the present invention includes: plural The server To update the application before change in the application storage device to the application after change If successful, an update success notification is sent to the management terminal, and the management terminal stores the update result in the update result storage device provided in the management terminal based on the transmitted update success notification, Out of multiple servers When update results based on update success notifications from all servers are stored in the update result storage device, an update completion notification is transmitted to all the servers.
[0022]
If the application update processing method is set to such a method, when all the applications have been successfully updated, a notification (update completion notification) is sent to each server for the first time to notify that the update has been completed. .
For this reason, when each server receives the update completion notification, it can be assured that all the applications have been successfully updated.
On the other hand, if this update completion notification is not transmitted within a certain time, each server can guarantee the consistency of the update of the application by canceling the update and starting the update again.
[0023]
In the application update processing method according to claim 4 of the present invention, the management terminal plural Within a predetermined time after sending the update request notification to the server, plural If you do not receive a successful update notification from at least one of the servers, Out of multiple servers This is a method of sending an update cancellation request notification to all servers.
[0024]
If the application update processing method is set to such a method, the application update on at least one of the servers to be updated fails, and the update failure notification cannot be sent. Even so, by canceling the update of all applications, the consistency of the update can be guaranteed.
[0025]
An application update processing method according to claim 5 of the present invention includes: plural If the server does not receive the update completion notification from the management terminal within a predetermined time after sending the update success notification, Return the changed application in the application storage device to the application before the change. There is as a method.
[0026]
If the update processing method of the application is such a method, even if the server has successfully updated the application, if the update completion notification is not received within a predetermined time, the update of the application is canceled. Can do.
By doing so, it is possible to cancel all application updates unless it can be determined that the application update has succeeded reliably. In some servers, the application has been updated. It is possible to eliminate the situation where the application is not updated.
That is, according to the conventional method, when a failure occurs in the network, the consistency of the update of the application cannot be ensured. However, according to the present invention, it is inappropriate even in such a case. The update state can be eliminated, and high reliability for application updates can be ensured.
[0027]
An application update processing method according to claim 6 of the present invention includes: plural If the server does not receive an update cancellation request notification from the management terminal within a predetermined time after sending the update failure notification to the management terminal, Return the changed application in the application storage device to the application before the change. There is as a method.
[0028]
In the present invention, when an update fails in any server, an update failure notification is transmitted to the management terminal, and an update cancellation request notification is transmitted to all the servers from the management terminal. Update cancellation processing is performed.
However, it may be assumed that the update failure notification or the update cancellation request notification is not normally transmitted due to a network failure or the like.
For this reason, in such a case, it is desirable that the application update cancellation processing is automatically performed in each server.
The invention according to this claim is based on such a situation, and even if a server that fails to update an application does not receive an update cancellation request notification within a predetermined time, the application is updated. Cancel processing is performed.
[0029]
Note that the specific processing for canceling an application update may differ depending on the situation.
For example, when update cancel processing is performed on a server that has been successfully updated because update on another server has failed, the original application saved in advance is used to restore the state before the update.
In addition, the update cancellation process in the server that failed to be updated due to the failure to acquire the master application is terminated without any particular action.
[0030]
Claims of the invention 7 The application update processing method described is a method in which a plurality of applications have dependency relationships.
If the application update processing method is such a method, the same application is executed on multiple servers for the purpose of load balancing, etc. When updating an application in the environment, it is possible to guarantee the consistency of the update of the application.
[0031]
An update processing system according to claim 8 of the present invention is an update processing system for a plurality of applications in a distributed environment including a management terminal and a plurality of servers, plural On the server On the other hand, it is stored in the application storage device provided in each server. Application This is a trigger to update Send update request notification As well as , plural If an update failure notification is received from at least one of the servers, Have the update cancellation request means send an update cancellation request notification to all of the servers. Update request means; Send an update cancellation request notification to all of the servers A management terminal having an update cancellation request means; The pre-change application name and post-change application name were included for each server name of multiple servers Definition information Store The definition information storage device and the master application Store When the master application storage device to be updated and the update request notification are received, the definition information storage device Self server name The definition information corresponding to the Change Corresponding from the master application storage device based on the post-application name After change Get the application Based on the pre-change application name corresponding to the post-change application name, identify the pre-change application in the application storage device provided for itself, update the pre-change application in the application storage device to the post-change application, If this update fails, an update failure notification is sent to the update request means in the management terminal. , When an interrupt is received from the update cancel execution means, Return the changed application in the application storage device to the application before the change. A plurality of servers each provided with an update cancellation execution means for interrupting the update execution means upon receipt of the update cancellation means and an update cancellation request notification; plural And a communication line connecting the servers.
[0032]
If the application update processing system is configured in this way, when updating of an application in a distributed environment fails in updating of at least one application, the update of the application in all servers is canceled and returned to the original state. It becomes possible.
As a result, it is possible to guarantee the consistency of the update of the application, realize a safe and consistent update, and improve the reliability of the update.
[0036]
Also, If the application update processing system has such a configuration, the master application is managed in each server, so that the data communication capacity can be minimized and the update time can be shortened when updating the application. At the same time, it becomes possible to improve the stability of the update.
[0037]
The update processing system according to claim 9 of the present invention includes: plural The server Equipped with a temporary application storage device for temporarily saving the pre-change application. Update execution means Each pre-change application in the application storage device Replicate to a temporary application storage device After that, update the pre-change application in the application storage device to the post-change application, When interrupted by the update cancel execution means, copied from the temporary application storage device Change before By reading the application and copying it to the application storage device, Return the changed application in the application storage device to the application before the change. As a configuration.
[0038]
If the application update processing system has such a configuration, the application to be updated can be saved in the temporary application storage device when updating the application. Thus, it is possible to easily return to the original state.
[0039]
The update processing system according to claim 10 of the present invention includes a management terminal. , An update result storage device, plural Application update execution means in the server To update the application before change in the application storage device to the application after change If successful, send an update success notification to the application update request means in the management terminal, In the management terminal Based on the received update success notification, the application update request means stores the update result in the update result storage device, Out of multiple servers When update results based on update success notifications from all servers are stored in the update result storage device, an update completion notification is transmitted to all the servers.
[0040]
If the application update processing system is configured in this way, the update result in each server can be stored in the update result storage device, and when all the applications have been successfully updated by referring to this, An update completion notification can be transmitted to each server.
For this reason, it is possible to ensure that all applications have been successfully updated by transmitting an update completion notification from the management terminal.
[0041]
Claims of the invention 11 The described update processing system has a configuration in which a plurality of applications have dependency relationships.
If the application update processing system is configured as described above, it is possible to guarantee the consistency of the update of the application when updating the application composed of a plurality of sub-applications.
[0042]
An application update processing program according to claim 12 of the present invention is a plurality of application update processing programs having a dependency relationship in a distributed environment including a management terminal and a plurality of servers, plural On the server, Stored in the application storage device of each server Application This is a trigger to update Update request notification From the management terminal When sent, Each self From the definition information storage device provided in Includes its own server name, pre-change application name, and post-change application name In addition to getting definition information, Change Based on post application name self Corresponding from the master application storage device provided in After change Let the application get Based on the pre-change application name corresponding to the post-change application name, identify the pre-change application in the application storage device provided to itself, update the pre-change application in the application storage device to the post-change application, If this update fails, send an update failure notification to the management terminal, plural If an update failure notification is sent from at least one of the servers, Out of multiple servers To all servers , Send an update cancellation request notification, plural On the server, Respectively If an update cancellation request notification is sent, Return the changed application to the pre-change application in each application storage device As a configuration.
[0043]
If the application update processing program has such a configuration, it is possible to guarantee consistency of application updates.
That is, for example, when one application is composed of a plurality of sub-applications, if some of the servers fail to update the sub-applications, the sub-application updates on all the servers can be canceled. Therefore, it is possible to eliminate the incomplete update state and increase the reliability of the update.
[0047]
Also, If the application update processing program is configured in this way, the master application can be managed in each server and the server can execute update processing based on this, so in addition to guaranteeing consistency of application updates. Thus, stable and high-speed updating can be realized.
[0048]
An application update processing program according to claim 13 of the present invention includes: Multiple temporary storage devices for temporarily saving pre-change applications On the server, Application before change in application storage Replicate to a temporary application storage device After that, let the application before change in the application storage device be updated to the application after change, If an update cancellation request notification is sent, it is copied from the temporary application storage device Change before Application Read By replicating the application storage device, Return the changed application in the application storage device to the application before the change. As a configuration.
[0049]
If the application update processing program has such a configuration, the application that has been updated can be stored in the application temporary storage device in each server, whereby the once updated application can be restored.
[0050]
An application update processing program according to claim 14 of the present invention includes: plural On the server, In each case, the application before change in the application storage device is updated to the application after change. If successful, an update success notification is sent to the management terminal, and based on the update success notification sent to the management terminal, the update result is stored in the update result storage device provided in the management terminal, Out of multiple servers When update results based on update success notifications from all servers are stored in the update result storage device, an update completion notification is transmitted to all the servers.
[0051]
If the update processing program of the application has such a configuration, when the update is successful, each server transmits an update success notification to the management terminal, and the management terminal receives the update success notification transmitted from each server. By managing, only when an update success notification is transmitted from all servers, an update completion notification for notifying each server of the completion of the update can be transmitted.
For this reason, if the update completion notification is not sent to each server, it can be recognized that the update of the application is incomplete. For example, the update completion notification is sent within a predetermined time after the transmission of the update success notification. If it is not received, processing such as canceling the update of the application can be executed.
This makes it possible to guarantee the consistency in updating a plurality of applications.
[0052]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[First embodiment]
First, a first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing a configuration of an application update processing system according to the first embodiment of this invention.
2, 3, and 4 are a diagram illustrating an update target message, a diagram illustrating update result confirmation information, and a definition information, respectively, in the system.
[0053]
[Application update processing system]
As shown in the figure, the application update processing system of this embodiment includes a management terminal 10, servers 20 (20-1, 20-2,...), And a communication line 30.
[Management terminal 10]
The management terminal 10 is an information processing apparatus that controls update of an application to each server in a distributed environment, and a personal computer or the like can be used. A workstation, a server, or the like may be used.
The management terminal 10 includes an application update request unit 11, an application update cancellation request unit 12, an update result storage device 13, a definition information storage device 14, and a master application storage device 15.
[0054]
Upon receiving the update target message (see FIG. 2), the application update request unit 11 sends the application update execution unit 21 (21-1, 21-2,...) In each server 20 via the communication line 30. Send an application update request notification. The update target server name in the update target message is a list of server names to be updated.
The update target message is input to the application update request unit 11 of the management terminal 10 by manual input or the like when updating the application. It is also possible to schedule the update target message input in advance to be input to the application update request unit 11 at a predetermined timing.
[0055]
Further, the application update request means 11 is a table for storing the update result in the update result storage device 13 based on the update target message (see FIG. 3, hereinafter, information held in this table is referred to as update result confirmation information). May be called).
In the update target server name column in the update result confirmation information, the server name to be updated is input. In the update result column, when an update success notification is received from the application update execution unit 21 of the update target server, information indicating the update success is input. Otherwise it contains an empty value.
[0056]
When the application update request unit 11 transmits an application update request notification, the application update request unit 11 waits for an update success notification to be transmitted from the application update execution unit 21 of each server.
When this update success notification is transmitted, the application update request unit 11 rewrites the update result for the corresponding server name in the update result confirmation information to update success.
At this time, it is confirmed whether the update results for all the servers in the update result confirmation information are successfully updated. If all the updates are successful, an update completion notification is sent to the application update execution means 21 in all these servers. To exit.
In addition, when an update failure notification is received from the application update execution unit 21 in any of the servers to be updated, the application update cancellation request unit 12 is executed.
[0057]
The application update cancellation request unit 12 is automatically executed by the application update request unit 11 when necessary.
Then, the update result confirmation information is referred to, all server names that are the update targets are acquired, an application update cancellation request notification is transmitted to the application update cancellation execution unit 24 of each server, and the process ends.
It is also possible for the application update request unit 11 to acquire all server names to be updated from the update result storage device 13 and output this server name to the application update cancellation request unit 12. .
[0058]
The update result storage device 13 is a storage device that stores update result confirmation information as described above. As shown in FIG. 3, the update result confirmation information includes an update target server name and an update result for the server.
[0059]
As shown in FIG. 4, the definition information storage device 14 stores a table that holds application names before and after update for each server (hereinafter, information held in this table may be referred to as definition information). It is.
The definition information is created in advance before the application is updated by manual input to the management terminal 10 or the like, and includes information for specifying the update target application and the updated application.
[0060]
The server name in the definition information is the name of the server that is the target of application update, and serves as a search key when referring to the definition information. The update target application name specified for each server name is the application name that should exist in the application storage device 23 of the server, and the application specified here is deleted by the application update execution means 21. When a new application is deployed, nothing is specified for the update target application name.
[0061]
The updated application name is an application name existing (should) in the master application storage device 15, read from the master application storage device 15 by the application update execution means 21, stored in the application temporary storage device 22, and then the application storage device 23 is copied (replicated).
In the example shown in FIG. 4, when it is desired to update Main_app1 of server 20-1 to Main_app1.1, in order for Main_app1 to operate, Sub_app1 is held in server 20-1, and Main_app2 and Sub_app2 are held in server 20-2. However, the updated Main_app1.1 indicates that it is necessary for the server 20-1 to have Sub_app1.2 and the server 20-2 to have Main_app3 and Sub_app3.
[0062]
As described above, according to the present invention, even when updating multiple applications having dependency relationships, by defining each application as shown in FIG. 4 and performing the update processing of the present invention based on this, It is possible to ensure consistency of the update. Of course, it is also possible to update a plurality of applications having no dependency at the same time.
The master application storage device 15 is a storage device that stores master data of the updated application.
[0063]
[Server 20]
The server 20 has a part of a plurality of applications in a distributed environment and executes it.
In the case where one application is constituted by a plurality of sub-applications, the server 20 holds a part of the sub-applications, and executes the one application together with the other servers. Run jointly.
In FIG. 1, only the servers 20-1 and 20-2 are illustrated as the server 20, but the application update processing system of the present embodiment can be configured by more servers.
As the server 20, an information processing apparatus such as a workstation or a server can be used.
[0064]
Each server 20 includes application update execution means 21 (21-1, 21-2,...), Application temporary storage device 22 (22-1, 22-2,...), Application storage device 23 (23- 1, 23-2,...) And application update cancellation execution means 24 (24-1, 24-2,...).
[0065]
When receiving the update request notification from the application update request unit 11 in the management terminal 10, the application update execution unit 21 acquires definition information from the definition information storage device 14 in the management terminal 10 via the communication line 30 and updates it in its own server. Recognize the applications that need it.
Then, the update target application is copied from the application storage device 23 to the application temporary storage device 22. This copy operation is not performed when there is no application to be updated (that is, when a new application is deployed).
[0066]
Next, the updated application name is acquired from the definition information, and the updated application is acquired from the master application storage device 15 in the management terminal 10 based on the updated application name and stored in the temporary application storage device 22.
This operation is not performed when there is no updated application (that is, when only the existing application is deleted).
[0067]
Then, the update target application is deleted from the application storage device 23, and the updated application is copied from the application temporary storage device 22 to the application storage device 23.
When all the operations so far are successfully completed, the application update execution unit 21 transmits an update success notification to the application update request unit 11 in the management terminal 10 via the communication line 30 and the application update request unit 11 notifies the update completion notification. Wait for it to be sent.
Then, the application update execution unit 21 ends when receiving an update completion notification from the application update request unit 11 in the management terminal 10.
[0068]
When an error occurs during the above operation, the application update execution unit 21 transmits an update failure notification to the application update request unit 11 of the management terminal 10 and receives an interrupt from the application update cancel execution unit 24 (input of interrupt notification). Wait for.
If an interrupt notification is received from the application update cancel execution means 24 during the above operation, update cancel processing is performed and the process ends.
[0069]
The application temporary storage device 22 is a storage device that temporarily stores the update target application and the updated application.
The application storage device 23 is a storage device that stores applications. In executing the application, an application stored in the application storage device 23 is used.
Upon receiving the application update cancellation request notification from the application update cancellation request unit 12 of the management terminal 10, the application update cancellation execution unit 24 outputs an interrupt notification to the application update execution unit 21 and ends.
[0070]
[Communication line 30]
The communication line 30 may be any publicly known public line, commercial line, or dedicated line known in the art. Moreover, between the management terminal 10 and each server 20, it can comprise by the same or separate communication line.
Further, the communication line 30 is a line that can be connected between the management terminal 10 and each server 20 wirelessly or by wire, and is composed of, for example, a public line network, a dedicated line network, an Internet line network, and an intranet network. be able to.
[0071]
[Processing procedure of application update processing system]
Next, a processing procedure in the update processing system according to the present embodiment will be described with reference to the flowcharts of FIGS.
5 shows the processing procedure of the application update requesting means 11 in the application update processing system of this embodiment, FIG. 6 shows the processing procedure of the application update execution means 21, and FIG. 7 shows the processing of the application update cancellation requesting means 12. FIG. 8 is a flowchart showing the procedure of the application update cancellation execution means 24.
FIG. 9 is an operation procedure diagram showing the relationship of the processing procedure of each means when the update is successful in the system, and FIG. 10 is an operation procedure diagram showing the relationship of the processing procedure of each means when the update is failed.
[0072]
[Processing Procedure of Application Update Request Unit 11]
First, the processing procedure of the application update request unit 11 in the management terminal 10 will be described with reference to FIG.
As a premise of this processing, definition information and a master application are created by manual input to the management terminal 10 and stored in the definition information storage device 14 and the master application storage device 15, respectively.
Further, an update target message as shown in FIG. 2 is created by manual input to the management terminal 10 and notified to the application update request unit 11 of the management terminal 10 with a certain trigger. This trigger may be generated by a human operation or may be scheduled at the management terminal 10 in advance and generated at a designated time.
In response to this, the application update request means 11 creates update result confirmation information as shown in FIG. 3 in the update result storage device 13 (step 10).
[0073]
That is, the application update request unit 11 inputs the server name to each server name column in the created update result confirmation information based on the received update target message, and leaves the update result empty (step 11). ).
Next, the application update request unit 11 sends an application update request notification to the application update execution unit 21 in each server (servers 20-1 and 20-2 in FIG. 3) included in the update target message via the communication line 30. (Step 12).
[0074]
Then, after transmitting the application update request notification, the application update request unit 11 waits for an update result notification to be transmitted from the application update execution unit 21 in the servers 20-1 and 20-2 (step 13).
Next, the application update request unit 11 receives an update result notification from the server 20-1 or the application update execution unit 21 of the server 20-2, and whether the update result notification is an update success notification or an update failure notification. (Step 14).
If the update result notification is an update success notification, the application update request unit 11 rewrites the update result column corresponding to the server name that transmitted the update success notification to update success in the update result confirmation information of the update result storage device 13. (Step 15).
[0075]
Next, the application update request unit 11 refers to the update result confirmation information of the update result storage device 13 and confirms whether the update results of the servers 20-1 and 20-2 are both successfully updated (step S1). 16) It is determined whether or not the update results of all servers are successful (step 17).
When the update results of all the servers are successful, that is, when the update results of both the servers 20-1 and 20-2 are successful, the update is performed to the application update execution means 21 of the servers 20-1 and 20-2. A completion notice is transmitted and the process ends (step 18).
[0076]
If at least one of the above servers does not have an update success as an update result, it waits for an update result notification in step 13 again. If no update result notification is transmitted from each server by a predetermined time, the application update cancel request means 12 is executed and the process ends (step 19). If it is determined in step 14 that the update result notification is an update failure notification, that is, either the application update execution unit 21 of the server 20-1 or 20-2 updates the application update request unit 11. Even when the failure notification is transmitted, the application update request unit 11 executes the application update cancel request unit 12 and ends.
[0077]
[Application update execution means 21]
Next, the processing procedure of the application update execution means 21 in the management terminal 10 will be described with reference to FIG.
First, the application update execution means 21 in each server 20 receives an application update request notification from the application update request means 11 (step 30), and acquires definition information from the definition information storage device 14 in the management terminal 10 (step 31). ).
[0078]
When acquisition of definition information fails, the application update execution means 21 transmits an update failure notification to the application update request means 11 in the management terminal 10 via the communication line 30, and an interrupt notification is issued by the application update cancellation execution means 24. (Step 38).
If this interrupt notification is received, update cancellation processing is executed (step 39).
Even if the interruption notification is not received within a predetermined time after the transmission of the update failure notification, the update cancellation processing is executed (step 39).
Further, when an interrupt notification is received from the application update cancel execution means 24 during the execution of step 31, the processing is interrupted and the process is terminated (step 39). In these cases, nothing is performed as the update cancellation process.
[0079]
Next, the application update execution means 21 in each server 20 refers to the definition information acquired in step 31 and extracts the update target application name and the updated application name using the server name as a search key.
When the update target application is specified in the definition information and can be acquired, the application update execution unit 21 extracts the update target application from the application storage device 23 and copies it to the application temporary storage device 22. (Step 32).
In step 31, the update target application name and the updated application name can be acquired from the definition information storage device 14 in the management terminal 10 using the server name as a search key, and the processing in step 32 can be omitted.
[0080]
If acquisition of the update target application name fails, if the server name does not exist in the definition information, if the update target application does not exist in the application storage device 23, or if saving of the update target application fails, An update failure notification is transmitted to the application update request means 11 in the management terminal 10 via the communication line 30 (step 38).
If an interrupt notification is input from the application update cancel execution means 24 during the execution of step 32, the process is interrupted and the process ends (step 39). In these cases, nothing is performed as the update cancellation process.
[0081]
Next, the application update execution means 21 in each server 20 communicates the updated application from the master application storage device 15 of the management terminal 10 when the updated application is specified in the definition information and can be acquired. Obtained via the line 30 and stored in the application temporary storage device 22 (step 33).
When the application after update is not found in the master application storage device 15 in the management terminal 10 or when it fails to save the application after update in the application temporary storage device 22, the application update request means 11 in the management terminal 10 is referred to. An update failure notification is transmitted via the communication line 30 (step 38).
If an interrupt notification is received from the application update cancel execution means 24 during the execution of step 33, the process is interrupted and the process ends (step 39). In these cases, nothing is performed as the update cancellation process.
[0082]
Next, the application update execution means 21 in each server 20 deletes the update target application from the application storage device 23 when the update target application is specified in the definition information (step 34).
When deletion of the update target application fails, an update failure notification is transmitted to the application update request unit 11 of the management terminal 10 via the communication line 30 (step 38).
If an interrupt notification is received from the application update cancel execution means 24 during the execution of step 34, the process is interrupted, the update is canceled and the process ends (step 39). In these cases, in the update cancellation process, the update target application is extracted from the temporary application storage device 22 and stored in the application storage device 23.
[0083]
Next, the application update execution means 21 in each server 20 reads the updated application from the temporary application storage device 22 and copies it to the application storage device 23 (step 35).
If copying of the updated application fails, an update failure notification is transmitted to the application update request unit 11 of the management terminal 10 via the communication line 30 (step 38).
If an interrupt notification is received from the application update cancel execution means 24 during the execution of step 35, the process is interrupted, the update is canceled and the process ends (step 39).
In these cases, in the update cancellation process, the post-update application is deleted from the application storage device 23, the update target application is extracted from the application temporary storage device 22, and is stored in the application storage device 23.
[0084]
Next, the application update execution unit 21 in each server 20 transmits an update success notification to the application update request unit 11 of the management terminal 10 and waits for an update completion notification to be transmitted from the application update request unit 11 (step). 36).
If an interrupt notification is received from the application update cancel execution means 24 at this time, the processing is interrupted, the update is canceled, and the process ends (step 39).
If the update completion notification is not transmitted within a predetermined time after the transmission of the update success notification, the update is canceled and the process ends (step 39).
[0085]
In these cases, in the update cancellation process, the post-update application is deleted from the application storage device 23, the update target application is extracted from the application temporary storage device 22, and is stored in the application storage device 23.
When the application update execution means 21 in each server 20 receives the update completion notification from the application update request means 11 in the management terminal 10 (step 37), the process ends.
[0086]
[Application update cancellation request means 12]
Next, the processing procedure of the application update cancellation request unit 12 in the management terminal 10 will be described with reference to FIG.
The application update cancellation request unit 12 is activated by the application update request unit 11, refers to the update result confirmation information, and refers to all server names (in FIG. 3, servers 20-1 and 20-2). ) Is acquired (step 50).
The definition information storage device 14 can also be used as the acquisition destination of all the server names that are to be updated.
Next, the application update cancellation request unit 12 transmits an application update cancellation request notification to the application update cancellation execution unit 24 in all the servers 20 acquired in step 50 via the communication line 30 and ends the processing (step). 51).
[0087]
[Application update cancel execution means 24]
Next, the processing procedure of the application update cancel execution unit 24 in the management terminal 10 will be described with reference to FIG.
Upon receiving the application update cancellation request notification from the application update cancellation request unit 12 in the management terminal 10 (step 70), the application update cancellation execution unit 24 outputs an interrupt notification to the application update execution unit 21 (step 71), Exit.
[0088]
[Relationship between each procedure when application update is completed normally]
Next, with reference to FIG. 9, the processing procedure of each means when the update of the application is normally completed will be described focusing on the relationship.
First, when the application update requesting means 11 receives an input of an update target message as shown in FIG. 2 (step 90), an update result as shown in FIG. 3 is stored in the update result storage device 13 based on the update target message. Confirmation information is created (step 91).
Then, an application update request notification is transmitted to the application update execution means 21 in all the servers held in the update target message as the update target server name (step 92).
[0089]
The application update execution unit 21-1 that has received the update request notification from the application update request unit 11 executes an application update process as shown in Steps 30 to 35 described above (Step 93).
When the update is successful, an update success notification is transmitted to the application update request unit 11 and waits until an update completion notification is transmitted from the application update request unit 11 (step 94).
The application update request unit 11 that has received the update success notification from the application update execution unit 21-1 registers that the update of the application in the server 20-1 is successful in the update result confirmation information (step 95). At this time, it is checked whether or not the update results for all the servers have been successful. At this time, the update results for the server 20-2 are still empty and the update is not completed. It is judged.
[0090]
Similarly, the application update execution unit 21-2 that has received the update request notification from the application update request unit 11 executes an application update process (step 96), and transmits an update success notification to the application update request unit 11. Wait (step 97).
The application update request unit 11 registers that the update of the application in the server 20-2 is successful in the update result confirmation information (step 98). And it is confirmed whether the update result of all the update object servers is successful.
[0091]
In this case, since the update results of all the update target servers are successful, the application update request unit 11 transmits an update completion notification to the application update execution unit 21-1 and the application update execution unit 21-2. (Step 99).
Then, the application update execution unit 21-1 and the application update execution unit 21-2 that have received the update completion notification terminate the process, thereby ending the application update process.
[0092]
[Relationship between processing procedures of each means when application update fails]
Next, with reference to FIG. 10, the processing procedure of each means when the update of the application fails will be described focusing on the relationship.
First, from the operation in which the update target message is input to the application update request unit 11, the application update request unit 11 includes the server 20 in the update result confirmation information based on the update success notification transmitted from the application update execution unit 21-1. The operation (steps 110 to 115) until registration of the successful update in -1 is the same as the operation (steps 90 to 95) shown in FIG.
[0093]
Next, it is assumed that an error has occurred during execution of the application update process (step 116) in the application update execution means 21-2 (step 117).
At this time, the application update execution unit 21-2 transmits an update failure notification to the application update request unit 11, and waits for an interrupt notification from the application update cancel execution unit 24-2 (step 118).
[0094]
The application update request unit 11 that has received the update failure notification executes the application update cancellation request unit 12 (step 119).
The application update cancellation request unit 12 acquires the server 20-1 and the server 20-2 that are all server names to be updated from the update result confirmation information, and sends an update cancellation request to the application update cancellation execution unit 24 in each of them. A notification is sent (step 120).
[0095]
The application update cancellation execution unit 24-1 that has received the update cancellation request notification outputs an interrupt notification to the application update execution unit 21-1 (step 121).
Upon receiving the interrupt notification, the application update execution unit 21-1 executes the update cancellation process according to the process step being executed as described above, and ends (step 122).
[0096]
Similarly, the application update cancellation execution unit 24-2 that has received the update cancellation request notification outputs an interrupt notification to the application update execution unit 21-2 (step 123), and the application update execution unit 21-2 performs update cancellation. The process is executed and the process ends (step 124).
[0097]
As described above, according to the application update processing system of the present embodiment, it is possible to simultaneously update applications of a plurality of servers, in particular, sub-applications that are mutually dependent between servers. It is possible to reliably return to the state.
[0098]
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the application update processing system of this embodiment.
This embodiment is different from the first embodiment in that the definition information and the master application are stored in the update target server in advance.
[0099]
That is, as shown in FIG. 11, the application update processing system according to the present embodiment includes a management terminal 10, a server 20, and a communication line 30. The management terminal 10 includes application update request means 11, What is necessary is just to have the application update cancellation request means 12 and the update result storage device 13.
In addition to the configuration of the first embodiment illustrated in FIG. 1, the server 20 of the present embodiment includes a definition information storage device 25 and a master application storage device 26. Information stored in the definition information storage device 25 and the master application storage device 26 is the same as in the first embodiment.
[0100]
When receiving the update request notification from the application update request unit 11 in the management terminal 10, the application update execution unit 21 in the server 20 of the present embodiment acquires the application definition information as shown in FIG. 4 from the definition information storage device 25. be able to.
At this time, the definition information in the definition information storage device 25 can hold only the information of the server. In this way, it is not necessary for each server to hold unnecessary information.
On the other hand, if all the servers 20 are provided with definition information that holds information about all the servers, the complexity of creating dedicated definition information for each server can be omitted.
[0101]
Further, when the application update execution means 21 acquires the updated application name from the definition information, the application update execution means 21 acquires the updated application from the master application storage device 26 based on the updated application name and stores it in the temporary application storage device 22. be able to.
At this time, the master application storage device 26 may have only a master application necessary for the server.
In this embodiment, without deleting the updated application in the application temporary storage device 22, the update target application is deleted from the application storage device 23, and then the updated application is read directly from the master application storage device 26. It is also preferable to store in the storage device 23.
[0102]
Other configurations are the same as in the first embodiment, and the processing procedure is also the same as in the first embodiment, except that the definition information and the master application acquisition source are different. Of course, it is assumed that there are a plurality of servers 20 in the second embodiment.
[0103]
As described above, according to the application update processing system of the present embodiment, the definition information and the master application are stored in each server. Therefore, when the distributed environment is constructed by a large number of servers. The network load can be reduced.
In addition, since the amount of communication between the management terminal and each server decreases, the update processing speed can be improved.
[0104]
Registration of update result information, transmission of an update success notification, and the like in the above-described embodiment are executed by an application update processing program.
The update processing program of this application sends a command to each component of the computer to perform predetermined processing, for example, update result information registration processing, update success notification transmission processing, and the like.
Accordingly, these processes are realized by the management terminal 10, the server 20, or the like in which the application update processing program and the computer cooperate.
[0105]
The application update processing program can be stored in a computer ROM or hard disk, or can be stored in a computer-readable storage medium such as an external storage device or a portable storage medium.
The external storage device is a storage expansion device that incorporates a storage medium such as a magnetic disk and is externally connected to the management terminal 10 or the like, for example. On the other hand, the portable storage medium is a storage medium that can be mounted on a storage medium drive device (drive device) and is portable, and refers to, for example, a CD-ROM, a flexible disk, a memory card, a magneto-optical disk, and the like. .
[0106]
Then, the program stored in the storage medium is loaded into the RAM of the computer and executed by the CPU. By this execution, the function of the application update processing system of each embodiment described above is realized.
Furthermore, when an application update processing program is loaded by a computer, the application update processing program held by another computer can be downloaded to its own RAM or external storage device using a communication line.
The downloaded application update processing program is also executed by the CPU, and realizes the update result information registration processing, update success notification transmission processing, and the like in the present invention.
[0107]
In addition, this invention is not limited to the above embodiment, It cannot be overemphasized that a various change implementation is possible within the scope of the present invention.
For example, the definition information in FIG. 4 includes names of various information such as screens, forms, databases, etc. necessary for execution of the application as the update target. It is possible to change the design as appropriate, such as by providing information and updating each sub-application in a predetermined order.
[0108]
【The invention's effect】
As described above, according to the present invention, the same application is applied to a plurality of servers for the purpose of a distributed application environment that requires applications on a plurality of different servers in order to function as a single application, or for load distribution. It is possible to safely update and deploy applications in an environment where there is.
That is, applications of a plurality of servers, in particular, sub-applications that are dependent on each other can be updated at the same time, and when updating fails, it is possible to reliably return to the state before updating.
[0109]
In addition, since update processing is performed based on definition information created in advance, it is possible to grasp the version information of distributed applications and the information of applied patches easily.
Furthermore, if the definition information and the master application are stored in each server, the network load can be reduced when the distributed environment is constructed by a large number of servers.
In addition, since the amount of communication between the management terminal and each server decreases, the update processing speed can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an application update processing system according to a first embodiment of this invention.
FIG. 2 is a diagram showing an update target message in the application update processing system according to each embodiment of the present invention.
FIG. 3 is a diagram showing update result confirmation information in the application update processing system according to each embodiment of the present invention.
FIG. 4 is a diagram showing definition information in an application update processing system according to each embodiment of the present invention.
FIG. 5 is a flowchart showing a processing procedure of an application update request unit in the application update processing system of the first embodiment of the present invention.
FIG. 6 is a flowchart showing a processing procedure of application update execution means in the application update processing system of the first embodiment of the present invention.
FIG. 7 is a flowchart showing a processing procedure of an application update cancel request means in the application update processing system of the first embodiment of the present invention.
FIG. 8 is a flowchart showing a processing procedure of an application update cancel execution means in the application update processing system of the first embodiment of the present invention.
FIG. 9 is an operation procedure diagram showing the relationship of the processing procedure of each means when the update is successful in the application update processing system of the first embodiment of the present invention.
FIG. 10 is an operation procedure diagram showing the relation of the processing procedure of each means at the time of update failure in the application update processing system of the first embodiment of the present invention.
FIG. 11 is a block diagram illustrating a configuration of an application update processing system according to a second embodiment of this invention.
[Explanation of symbols]
10 Management terminal
11 Application update request means
12 Application update cancellation request means
13 Update result storage device
14 Definition information storage device
15 Master application storage device
20 (20-1, 20-2) server
21 (21-1, 21-2) Application update execution means
22 (22-1, 22-2) temporary application storage device
23 (23-1, 23-2) Application storage device
24 (24-1, 24-2) Application update cancel execution means
25 (25-1, 25-2) definition information storage device
26 (26-1, 26-2) Master application storage device
30 Communication line

Claims (14)

管理端末及び複数のサーバを備えた分散環境における複数のアプリケーションの更新処理方法であって、
前記管理端末が、
前記複数のサーバに対して、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知を送信し、
前記複数のサーバが、
それぞれ前記更新要求通知を受信すると、
それぞれ自己に備えられた定義情報格納装置から、自己のサーバ名,変更前アプリケーション名,及び変更後アプリケーション名が含まれた定義情報を取得するとともに、
この定義情報における変更後アプリケーション名にもとづき自己に備えられたマスタアプリケーション格納装置から対応する変更後アプリケーションを取得し、
前記変更後アプリケーション名に対応する前記変更前アプリケーション名にもとづいて、自己に備えられた前記アプリケーション格納装置における変更前アプリケーションを特定し、
前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新して、
この更新に失敗した場合、前記管理端末に更新失敗通知を送信し、
前記管理端末が、
前記複数のサーバのうち少なくとも一のサーバから前記更新失敗通知を受信すると、
前記複数のサーバのうちの全てのサーバに対して更新取り消し要求通知を送信し、
前記複数のサーバが、
それぞれ前記更新取り消し要求通知を受信すると、
それぞれ自己に備えられた前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻す
ことを特徴とするアプリケーションの更新処理方法。
An update processing method for a plurality of applications in a distributed environment including a management terminal and a plurality of servers,
The management terminal is
Wherein for a plurality of servers, sends a trigger update request notification for updating the application stored in application storage device provided to each server,
The plurality of servers are
Receiving the update request notification respectively ,
From the definition information storage device provided for each , obtain the definition information including its own server name, pre-change application name, and post-change application name ,
Based on the changed application name in this definition information, obtain the corresponding changed application from the master application storage device provided to itself ,
Based on the pre-change application name corresponding to the post-change application name, identify the pre-change application in the application storage device provided to itself,
Update the pre-change application in the application storage device to the post-change application,
If this update fails, send an update failure notification to the management terminal,
The management terminal is
When receiving the update failure notification from at least one of the plurality of servers,
To all servers of the plurality of servers, and transmits the update cancellation request notification,
The plurality of servers are
When receiving the update cancellation request notification,
An application update processing method, characterized in that the changed application in the application storage device provided in each device is returned to the pre-change application .
前記複数のサーバが、
それぞれ前記変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置を備え、
前記アプリケーション格納装置における前記変更前アプリケーションを前記アプリケーション一時格納装置に複製した後に、
前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新し、
前記更新取り消し要求通知を受信すると、前記アプリケーション一時格納装置から前記複製した変更前アプリケーションを読み出して、前記アプリケーション格納装置に複製することにより、前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻す
ことを特徴とする請求項1記載のアプリケーションの更新処理方法。
The plurality of servers are
Each has a temporary application storage device for temporarily saving the pre-change application,
After replicating the pre-change application in the application storage device to the application temporary storage device ,
Updating the pre-change application in the application storage device to the post-change application;
When the update cancellation request notification is received, the copied pre-change application is read from the application temporary storage device and copied to the application storage device, whereby the post-change application in the application storage device is changed to the pre-change application. updating method of application according to claim 1, wherein a back to.
前記複数のサーバが、
それぞれ前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新することに成功した場合、前記管理端末に更新成功通知を送信し、
前記管理端末が、
送信されてきた前記更新成功通知にもとづいて、当該更新の結果を前記管理端末に備えられた更新結果格納装置に記憶し、前記複数のサーバのうちの全てのサーバからの前記更新成功通知にもとづく更新結果が、前記更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信する
ことを特徴とする請求項1又は2記載のアプリケーションの更新処理方法。
The plurality of servers are
When the application before change in the application storage device is successfully updated to the application after change , an update success notification is sent to the management terminal,
The management terminal is
Based on the transmitted update success notification, the update result is stored in an update result storage device provided in the management terminal, and based on the update success notification from all of the plurality of servers. The update processing method for an application according to claim 1, wherein when an update result is stored in the update result storage device, an update completion notification is transmitted to all the servers.
前記管理端末が、
前記複数のサーバへの前記更新要求通知の送信後、所定の時間内に、前記複数のサーバのうち少なくとも一のサーバから前記更新成功通知を受信しなかった場合、前記複数のサーバのうちの全てのサーバに対して、前記更新取り消し要求通知を送信する
ことを特徴とする請求項3記載のアプリケーションの更新処理方法。
The management terminal is
After transmission of the update request notification to said plurality of servers, within a predetermined time, if not receiving the update success notification from at least one server among the plurality of servers, all of the plurality of servers The application update processing method according to claim 3, wherein the update cancellation request notification is transmitted to the server.
前記複数のサーバが、
前記更新成功通知の送信後、所定の時間内に、前記管理端末から前記更新完了通知を受信しなかった場合、前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻す
ことを特徴とする請求項3又は4記載のアプリケーションの更新処理方法。
The plurality of servers are
When the update completion notification is not received from the management terminal within a predetermined time after transmission of the update success notification, the changed application in the application storage device is returned to the pre-change application. The application update processing method according to claim 3 or 4.
前記複数のサーバが、
前記管理端末への更新失敗通知の送信後、所定の時間内に、前記管理端末から前記更新取り消し要求通知を受信しなかった場合、前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻す
ことを特徴とする請求項1〜5のいずれかに記載のアプリケーションの更新処理方法。
The plurality of servers are
If the update cancellation request notification is not received from the management terminal within a predetermined time after transmission of the update failure notification to the management terminal, the changed application in the application storage device is changed to the pre-change application. The application update processing method according to claim 1, wherein the update processing method is returned .
前記複数のアプリケーションが、依存関係を有することを特徴とする請求項1〜6のいずれかに記載のアプリケーションの更新処理方法。  The application update processing method according to claim 1, wherein the plurality of applications have a dependency relationship. 管理端末及び複数のサーバを備えた分散環境における複数のアプリケーションの更新処理システムであって、
前記複数のサーバに対して、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知を送信するとともに、前記複数のサーバのうち少なくとも一のサーバから更新失敗通知を受信した場合、更新取り消し要求手段に前記複数のサーバのうちの全てのサーバに対して、更新取り消し要求通知を送信させる更新要求手段と、前記複数のサーバのうちの全てのサーバに対して、更新取り消し要求通知を送信する前記更新取り消し要求手段を備えた管理端末と、
変更前アプリケーション名及び変更後アプリケーション名が前記複数のサーバの各サーバ名ごとに含まれた定義情報を格納する定義情報格納装置と、マスタアプリケーションを格納するマスタアプリケーション格納装置と、前記更新要求通知を受信すると、前記定義情報格納装置から自己のサーバ名に対応する定義情報を取得するとともに、この定義情報における変更後アプリケーション名にもとづき前記マスタアプリケーション格納装置から対応する変更後アプリケーションを取得して、前記変更後アプリケーション名に対応する前記変更前アプリケーション名にもとづいて、自己に備えられた前記アプリケーション格納装置における変更前アプリケーションを特定し、前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新して、この更新に失敗した場合、前記管理端末における前記更新要求手段に前記更新失敗通知を送信するとともに更新取り消し実行手段からの割り込みを受けると、前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻す更新実行手段と、前記更新取り消し要求通知を受信すると、前記更新実行手段に割り込む前記更新取り消し実行手段をそれぞれ備えた前記複数のサーバと、
前記管理端末及び前記複数のサーバを接続する通信回線とを有する
ことを特徴とするアプリケーションの更新処理システム。
An update processing system for a plurality of applications in a distributed environment including a management terminal and a plurality of servers,
For the plurality of servers, and transmits the a trigger update request notification for updating the application stored in application storage device provided to each server, at least one of the plurality of servers Update request means for sending an update cancellation request notification to all of the plurality of servers when the update failure notification is received from the server, and all of the plurality of servers A management terminal comprising the update cancellation request means for transmitting an update cancellation request notification to the server of
A definition information storage device that stores definition information including a pre-change application name and a post-change application name for each server name of the plurality of servers, a master application storage device that stores a master application, and the update request notification. When receiving, the acquires the definition information corresponding definition information storage apparatus in its server name, acquires the post-change application corresponding from the master application storage device based on the post-change application name in this definition information, the Based on the pre-change application name corresponding to the post-change application name, the pre-change application in the application storage device provided therein is specified, and the pre-change application in the application storage device Update on the post-change application failure in this update, transmits the update failure notice to the update request means in the management terminal receives the interrupt from the updating cancellation execution unit, in the application storage device the post-change application, the update execution means for returning to the pre-change application, upon receiving the update cancellation request notification, said plurality of servers with each said updating revocation execution means interrupting the update execution means,
An application update processing system comprising: the management terminal and a communication line connecting the plurality of servers.
前記複数のサーバが、それぞれ前記変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置を備え、
前記複数のサーバにおける前記更新実行手段が、
それぞれ前記アプリケーション格納装置における前記変更前アプリケーションを前記アプリケーション一時格納装置に複製した後に、前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新し、
前記更新取り消し実行手段から割り込みを受けた場合、前記アプリケーション一時格納装置から前記複製した変更前アプリケーションを読み出して、前記アプリケーション格納装置に複製することにより、前記アプリケーション格納装置における前記変更後アプリケ ーションを、前記変更前アプリケーションに戻す
ことを特徴とする請求項8記載のアプリケーションの更新処理システム。
Each of the plurality of servers includes an application temporary storage device for temporarily saving the pre-change application,
The update execution unit in the plurality of servers includes:
After replicating the application before change in the application storage device to the application temporary storage device, respectively , updating the application before change in the application storage device to the application after change,
Wherein when receiving an interrupt from the update cancellation execution unit, reads the changes before application with the copy from the application temporary storage device by duplicating the application storage device, the changes after the application in the application storage device, 9. The application update processing system according to claim 8, wherein the application update process is returned to the pre-change application .
前記管理端末が更新結果格納装置を備え、
前記複数のサーバにおける前記アプリケーション更新実行手段が、それぞれ前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新することに成功した場合、前記管理端末における前記アプリケーション更新要求手段に更新成功通知を送信し、
前記管理端末における前記アプリケーション更新要求手段が、受信した前記更新成功通知にもとづいて、当該更新の結果を前記更新結果格納装置に記憶し、前記複数のサーバのうちの全てのサーバからの前記更新成功通知にもとづく更新結果が、前記更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信する
ことを特徴とする請求項8又は9記載のアプリケーションの更新処理システム。
Said management terminal includes an update result storage unit,
When the application update execution unit in the plurality of servers succeeds in updating the pre-change application in the application storage device to the post-change application, an update success notification is sent to the application update request unit in the management terminal. Send
Based on the received update success notification, the application update request means in the management terminal stores the update result in the update result storage device, and the update success from all of the plurality of servers. 10. The application update processing system according to claim 8, wherein when an update result based on the notification is stored in the update result storage device, an update completion notification is transmitted to all the servers.
前記複数のアプリケーションが、依存関係を有することを特徴とする請求項8〜10のいずれかに記載のアプリケーションの更新処理システム。  The application update processing system according to claim 8, wherein the plurality of applications have a dependency relationship. 管理端末及び複数のサーバからなる分散環境において依存関係を有した複数のアプリケーションの更新処理プログラムであって、
前記複数のサーバに、それぞれのサーバに備えられたアプリケーション格納装置に格納されているアプリケーションの更新を行わせるためのトリガである更新要求通知が前記管理端末から送信されてくると、それぞれ自己に備えられた定義情報格納装置から、自己のサーバ名,変更前アプリケーション名,及び変更後アプリケーション名が含まれた定義情報を取得させるとともに、この定義情報における変更後アプリケーション名にもとづき自己に備えられたマスタアプリケーション格納装置から対応する変更後アプリケーションを取得させて、前記変更後アプリケーション名に対応する前記変更前アプリケーション名にもとづいて、自己に備えられた前記アプリケーション格納装置における変更前アプリケーションを特定させ、前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新させて、この更新に失敗した場合、前記管理端末へ更新失敗通知を送信させ、
前記管理端末に、前記複数のサーバのうち少なくとも一のサーバから前記更新失敗通知が送信されてきた場合、前記複数のサーバのうちの全てのサーバへ更新取り消し要求通知を送信させ、
前記複数のサーバに、それぞれ前記更新取り消し要求通知が送信されてきた場合、それぞれ自己に備えられた前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻させる
ことを実行させるためのアプリケーションの更新処理プログラム。
An update processing program for a plurality of applications having a dependency relationship in a distributed environment including a management terminal and a plurality of servers,
When an update request notification, which is a trigger for causing the plurality of servers to update an application stored in an application storage device provided in each server , is transmitted from the management terminal , each server prepares itself . The definition information storage device acquires the definition information including its own server name, pre-change application name, and post-change application name, and the master provided to itself based on the post- change application name in this definition information application storage by obtaining the corresponding changes after application from the device, based on the pre-change application name corresponding to the post-change application name, to identify the application before the change in the application storage device provided in the self, the app The pre-change application in Shon storage device by updating the change after application, if it fails in this update, to send an update failure notice to the management terminal,
When the update failure notification has been transmitted from at least one of the plurality of servers to the management terminal , the update cancellation request notification is transmitted to all of the plurality of servers ,
An application for causing the plurality of servers to return the post-change application in the application storage device provided therein to the pre-change application when the update cancellation request notification is transmitted to each of the plurality of servers. Update processing program.
前記変更前アプリケーションを一時的に退避するためのアプリケーション一時格納装置をそれぞれ備えた前記複数のサーバに、
前記アプリケーション格納装置における前記変更前アプリケーションを前記アプリケーション一時格納装置に複製させた後に、
前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新させ、
前記更新取り消し要求通知が送信されてきた場合、前記アプリケーション一時格納装置から前記複製した変更前アプリケーションを読み出させ、前記アプリケーション格納装置に複製させることにより、前記アプリケーション格納装置における前記変更後アプリケーションを、前記変更前アプリケーションに戻させる
ことを実行させるための請求項12記載のアプリケーションの更新処理プログラム。
In the plurality of servers each including an application temporary storage device for temporarily saving the pre-change application ,
After replicating the pre-change application in the application storage device to the application temporary storage device ,
Updating the pre-change application in the application storage device to the post-change application;
When the update cancellation request notification is sent, the copied application before change is read from the application temporary storage device, and the application storage device copies the changed application in the application storage device, 13. The application update processing program according to claim 12, for causing the application to be returned to the pre-change application .
前記複数のサーバに、
それぞれ前記アプリケーション格納装置における前記変更前アプリケーションを前記変更後アプリケーションに更新させることに成功した場合、前記管理端末へ更新成功通知を送信させ、
前記管理端末に、
送信されてきた前記更新成功通知にもとづいて、当該更新の結果を前記管理端末に備えられた更新結果格納装置に記憶させ、前記複数のサーバのうちの全てのサーバからの前記更新成功通知にもとづく更新結果が、前記更新結果格納装置に記憶された場合、更新完了通知を当該全てのサーバに送信させる
ことを実行させるための請求項12又は13記載のアプリケーションの更新処理プログラム。
The plurality of servers,
When the application before change in the application storage device is successfully updated to the application after change , the update notification is sent to the management terminal,
In the management terminal,
Based on the transmitted update success notification, the update result is stored in the update result storage device provided in the management terminal, and based on the update success notification from all of the plurality of servers. The application update processing program according to claim 12 or 13, for causing an update completion notification to be transmitted to all the servers when an update result is stored in the update result storage device.
JP2002249605A 2002-08-28 2002-08-28 Application update processing method, update processing system, and update processing program Expired - Fee Related JP3901060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002249605A JP3901060B2 (en) 2002-08-28 2002-08-28 Application update processing method, update processing system, and update processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002249605A JP3901060B2 (en) 2002-08-28 2002-08-28 Application update processing method, update processing system, and update processing program

Publications (2)

Publication Number Publication Date
JP2004086769A JP2004086769A (en) 2004-03-18
JP3901060B2 true JP3901060B2 (en) 2007-04-04

Family

ID=32056673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002249605A Expired - Fee Related JP3901060B2 (en) 2002-08-28 2002-08-28 Application update processing method, update processing system, and update processing program

Country Status (1)

Country Link
JP (1) JP3901060B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268172A (en) * 2005-03-22 2006-10-05 Nec Corp Server system and method for updating online software
JP2007264697A (en) * 2006-03-27 2007-10-11 Seiko Epson Corp Processing system, projector, program and information storage medium
CN102014530A (en) * 2009-09-04 2011-04-13 中兴通讯股份有限公司 Processing method after failure of configuration updating and network element equipment
US9178766B2 (en) * 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
CN102457824B (en) * 2010-10-26 2015-05-27 ***通信集团公司 Event processing method and device
US8825817B1 (en) 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US8949930B1 (en) 2012-03-19 2015-02-03 Amazon Technologies, Inc. Template representation of security resources
US10089152B1 (en) 2012-03-19 2018-10-02 Amazon Technologies, Inc. Using scripts to bootstrap applications with metadata from a template
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
JP2015095015A (en) 2013-11-11 2015-05-18 富士通株式会社 Data arrangement method, data arrangement program, and information processing system
JP6915500B2 (en) 2017-11-06 2021-08-04 トヨタ自動車株式会社 Update system, electronic control device, update management device, and update management method
KR102116814B1 (en) 2018-06-22 2020-05-29 주식회사 티맥스 소프트 Application hot deploy method to guarentee application version consistency and computer program stored in computer readable medium therfor
JP7395962B2 (en) * 2019-10-31 2023-12-12 株式会社リコー Information processing device, update control method, update control program, and information processing system

Also Published As

Publication number Publication date
JP2004086769A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
US11880679B2 (en) System and method for supporting patching in a multitenant application server environment
US10853056B2 (en) System and method for supporting patching in a multitenant application server environment
US8214686B2 (en) Distributed processing method
US6971095B2 (en) Automatic firmware version upgrade system
KR101970839B1 (en) Replaying jobs at a secondary location of a service
US6332200B1 (en) Capturing and identifying a complete and consistent set of checkpoint files
JP3592721B2 (en) Refresh Agent for Backup Software
JP3901060B2 (en) Application update processing method, update processing system, and update processing program
US9069597B2 (en) Operation management device and method for job continuation using a virtual machine
US20070288532A1 (en) Method of updating an executable file for a redundant system with old and new files assured
US6226694B1 (en) Achieving consistency and synchronization among multiple data stores that cooperate within a single system in the absence of transaction monitoring
JPWO2019208098A1 (en) Linked process restart device and linked process restart method
JP2010108510A (en) Method and apparatus for two-phase commit in data distribution to web farm
CN113934575A (en) Big data backup system and method based on distributed copy
JPH09138769A (en) System and method for software delivery
JPH1124934A (en) Distribution management method for client program in client server system
JP2000003271A (en) Software managing device and computer readable recording medium for recording program
JPH11353187A (en) Error processing system for remote installation
JP2001034595A (en) Method and device for integrating work among a plurality of systems
KR101907418B1 (en) Dynamic module, Method and apparatus for dynamic upgrade having the same
CN116804941A (en) Batch serverless job scheduling system and method
JP2001142856A (en) Network system and method for releasing program to client machine of the system
JPH1069462A (en) Same operation command execution device and using method therefor
JPH08263350A (en) Information management system and method
JPH09231117A (en) Version management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061225

R150 Certificate of patent or registration of utility model

Ref document number: 3901060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees