(57)【特許請求の範囲】
【請求項１】
サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理プログラムにおいて、
コンピュータを、
前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段、
前記設定ファイル格納手段に格納された前記クライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段、
前記クライアントアプリケーションの前記バージョン情報を含む通信要求が前記クライアントアプリケーションを実行している前記端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得し、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出する通信要求監視手段、
前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定する更新判定手段、
前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記設定ファイル格納手段に格納された最新バージョンの前記クライアントアプリケーション設定ファイルを、前記通信要求の要求元の前記端末装置に対して送信する設定ファイル送信手段、
として機能させることを特徴とするアプリケーション管理プログラム。
【請求項２】
前記通信要求監視手段は、前記端末装置を使用しているユーザをそれぞれ識別するユーザ識別情報と前記バージョン情報とを含む前記通信要求を取得すると、前記通信要求から前記ユーザ識別情報と前記バージョン情報とを抽出し、
前記コンピュータを、さらに、
前記ユーザ識別情報と、前記ユーザ識別情報で示される前記ユーザが属する更新グループの情報とをそれぞれ関連付けて記憶するユーザ情報記憶手段、
前記更新グループそれぞれについて、前記クライアントアプリケーションの最新バージョンの適用の可否を示す情報を記憶する運用情報記憶手段、
前記ユーザ情報記憶手段を参照して、前記通信要求監視手段で抽出した前記ユーザ識別情報で示される前記ユーザが属する前記更新グループを判定するグループ判定手段、
として機能させ、
前記更新判定手段は、前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定すると共に、前記運用情報記憶手段を参照して、前記グループ判定手段で判定した前記更新グループへの最新バージョンの適用の可否を判定し、前記通信要求の要求元が最新バージョンでなく、かつ、最新バージョンを適用可能である場合、更新が必要と判定する、
ことを特徴とする請求項１記載のアプリケーション管理プログラム。
【請求項３】
前記バージョン情報記憶手段は、さらに、前記クライアントアプリケーションの過去のバージョンの前記バージョン情報をそれぞれ記憶し、
前記通信要求監視手段は、前記端末装置を使用しているユーザをそれぞれ識別するユーザ識別情報と前記バージョン情報とを含む前記通信要求を取得すると、前記通信要求から前記ユーザ識別情報と前記バージョン情報とを抽出し、
前記コンピュータを、さらに、
前記ユーザ識別情報と、前記ユーザ識別情報で示される前記ユーザが使用している前記端末装置で実行される前記クライアントアプリケーションの前記バージョン情報とを関連付けて記憶するユーザ情報記憶手段、
前記通信要求監視手段で抽出した前記ユーザ識別情報に対応する前記ユーザ情報記憶手段内の前記バージョン情報を、前記通信要求監視手段で抽出した前記バージョン情報に更新するバージョン情報更新手段、
前記バージョン情報記憶手段を参照して、前記ユーザ情報記憶手段に記憶された前記ユーザ識別情報で示されるいずれの前記ユーザも使用していない過去のバージョンを廃止可能バージョンとして検出し、前記コンピュータの管理端末装置に前記廃止可能バージョンを通知する更新状況監視手段、
として機能させる、
ことを特徴とする請求項１記載のアプリケーション管理プログラム。
【請求項４】
設定ファイル格納手段、バージョン情報記憶手段、通信要求監視手段、更新判定手段および設定ファイル送信手段を有するアプリケーション管理装置によって、サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理方法において、
前記通信要求監視手段が、前記クライアントアプリケーションのバージョン情報を含む通信要求が前記クライアントアプリケーションを実行している端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得して、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出し、
前記更新判定手段が、前記クライアントアプリケーションの最新バージョンのバージョン情報を記憶する前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定し、
前記設定ファイル送信手段が、前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する前記設定ファイル格納手段から、最新バージョンの前記クライアントアプリケーション設定ファイルを取得して、前記通信要求の要求元の前記端末装置に対して送信する、
ことを特徴とするアプリケーション管理方法。
【請求項５】
サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理装置において、
前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段と、
前記設定ファイル格納手段に格納された前記クライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段と、
前記クライアントアプリケーションの前記バージョン情報を含む通信要求が前記クライアントアプリケーションを実行している前記端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得し、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出する通信要求監視手段と、
前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定する更新判定手段と、
前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記設定ファイル格納手段に格納された最新バージョンの前記クライアントアプリケーション設定ファイルを、前記通信要求の要求元の前記端末装置に対して送信する設定ファイル送信手段と、
を有することを特徴とするアプリケーション管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションの更新状況を管理するアプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置に関し、特にサーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置に関する。
【背景技術】
【０００２】
現在、ネットワークを利用したコンピュータによる分散処理の形態として、クライアント／サーバ型のネットワークアプリケーションが普及している。その中でも特に、ネットワーク経由でクライアントアプリケーションの実行に必要なファイルを配布する形態が増加している。最初に端末装置は、予め指定されたコンピュータからクライアントアプリケーションの実行に必要なファイルを取得する。端末装置は、取得したファイルに基づいてクライアントアプリケーションを実行する。実行されるクライアントアプリケーションは、必要に応じてサーバアプリケーションと通信を行いながら処理を進める。このような形態のアプリケーションでは、サーバ側でデータを一括管理できるという利点がある。また、所望のクライアントアプリケーションを端末装置で実行させることで、端末装置の機能や処理能力を活用した分散処理を実現できる。例えば、カメラ機能などを有する携帯端末装置で上記クライアントアプリケーションを実行させることで、携帯端末装置がもつそれらの機能を活用した処理を実現できる。
【０００３】
ここで、サーバアプリケーションを新しいバージョンに更新する場合、一般的に、それに合わせてクライアントアプリケーションも新しいバージョンに更新する必要がある。しかし、クライアントアプリケーションを更新するためには、端末装置が能動的に新しいバージョン用のファイルを予め指定されたコンピュータから取得する必要がある。クライアント／サーバ型のアプリケーションでは、クライアントアプリケーションから通信要求がない限り、通信が開始されることはないからである。そのため従来は、管理者が端末装置のユーザへ、電子メールなどの別手段を用いて、新しいバージョン用のファイルの配布が開始されたことを通知していた。この方法では、それぞれの端末装置で実行されるクライアントアプリケーションのバージョン管理の作業が煩雑であり、管理者の負担が大きかった。
【０００４】
そこで、クライアントアプリケーションのバージョン管理を自動化するシステムが知られている（例えば、特許文献１参照）。このシステムでは、サーバコンピュータが、クライアントアプリケーションの最新バージョンの情報と、それぞれの端末装置が取得しているバージョンの情報とを保持している。ここで、端末装置からサーバコンピュータへバージョンの確認要求があると、サーバコンピュータは保持している情報を用いて、確認要求のあった端末装置が取得しているバージョンが最新バージョンであるか否かを判定する。最新バージョンでない場合には、サーバコンピュータは端末装置へ最新バージョンのファイルを自動的に送信する。また、その端末装置が取得したバージョンに関する情報を更新して、サーバコンピュータが保持する情報を最新の状態に維持する。このようなシステムによって、管理者によるバージョン管理の負担が大幅に軽減される。
【特許文献１】特開平９−２５８９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１記載の技術では、端末装置へ最新バージョンのファイルが送信された時点で、その端末装置で実行されるクライアントアプリケーションのバージョンが更新されたものと判断している。このため、端末装置で現に実行されているバージョンを管理できないという問題がある。
【０００６】
すなわち、端末装置のユーザは、サーバコンピュータから取得したファイルを端末装置へ登録しない可能性や、登録後に最新バージョンのファイルを削除する可能性もある。この場合、サーバコンピュータは、端末装置で実行されているクライアントアプリケーションのバージョンを正しく認識することができない。その結果、クライアントアプリケーションからバージョンが一致しないサーバアプリケーションへの通信が許可され、サーバアプリケーションの実行中に不具合が発生するおそれがある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を正確に管理するアプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、図１に示すようなアプリケーション管理プログラムが提供される。本発明に係るアプリケーション管理プログラムは、クライアントアプリケーションからサーバアプリケーションへの通信要求を監視し、クライアントアプリケーションのバージョンを管理するものである。このアプリケーション管理プログラムを実行するコンピュータ１は、設定ファイル格納手段１ａ、バージョン情報記憶手段１ｂ、通信要求監視手段１ｃ、更新判定手段１ｄおよび設定ファイル送信手段１ｅを有する。設定ファイル格納手段１ａは、クライアントアプリケーション２ａを端末装置２で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する。バージョン情報記憶手段１ｂは、設定ファイル格納手段１ａに格納されたクライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶する。通信要求監視手段１ｃは、クライアントアプリケーション２ａのバージョン情報４を含む通信要求がクライアントアプリケーション２ａを実行している端末装置２からサーバアプリケーション３ａを実行しているサーバ３宛にネットワーク経由で送信されると、ネットワーク上で通信要求を取得し、通信要求からクライアントアプリケーション２ａのバージョン情報４を抽出する。更新判定手段１ｄは、バージョン情報記憶手段１ｂを参照して、通信要求監視手段１ｃで抽出したバージョン情報４で示されるバージョンが最新バージョンであるか否かを判定し、通信要求の要求元が最新バージョンでない場合、更新が必要と判定する。設定ファイル送信手段１ｅは、更新判定手段１ｄで更新が必要と判定されなかった場合、通信要求をサーバ３に対して送信し、更新判定手段１ｄで更新が必要と判定された場合、通信要求を破棄し、設定ファイル格納手段１ａに格納された最新バージョンのクライアントアプリケーション設定ファイルを、通信要求の要求元の端末装置２に対して送信する。
【０００９】
このようなアプリケーション管理プログラムを実行するコンピュータによれば、通信要求監視手段１ｃにより、クライアントアプリケーション２ａのバージョン情報４が抽出される。次に、更新判定手段１ｄにより、通信要求の要求元のクライアントアプリケーション２ａが最新バージョンであるか否かが判定され、最新バージョンでない場合、更新が必要と判定される。そして、設定ファイル送信手段１ｅにより、更新が必要と判定されなかった場合は通信要求がサーバ３へ送信され、更新が必要と判定された場合は通信要求が破棄され、通信要求の要求元の端末装置２へ最新バージョンのクライアントアプリケーション設定ファイルが送信される。
【００１０】
また、上記課題を解決するために、設定ファイル格納手段、バージョン情報記憶手段、通信要求監視手段、更新判定手段および設定ファイル送信手段を有するアプリケーション管理装置によって、サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理方法において、前記通信要求監視手段が、前記クライアントアプリケーションのバージョン情報を含む通信要求が前記クライアントアプリケーションを実行している端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得して、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出し、前記更新判定手段が、前記クライアントアプリケーションの最新バージョンのバージョン情報を記憶する前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定し、前記設定ファイル送信手段が、前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する前記設定ファイル格納手段から、最新バージョンの前記クライアントアプリケーション設定ファイルを取得して、前記通信要求の要求元の前記端末装置に対して送信する、ことを特徴とするアプリケーション管理方法が提供される。
【００１１】
このようなアプリケーション管理方法によれば、クライアントアプリケーション２ａのバージョン情報４が通信要求から抽出される。次に、通信要求の要求元のクライアントアプリケーション２ａが最新バージョンであるか否かが判定され、最新バージョンでない場合、更新が必要と判定される。そして、更新が必要と判定されなかった場合は通信要求がサーバ３へ送信され、更新が必要と判定された場合は通信要求が破棄され、通信要求の要求元の端末装置２へ最新バージョンのクライアントアプリケーション設定ファイルが送信される。
【００１２】
また、上記課題を解決するために、サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理装置において、前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段と、前記設定ファイル格納手段に格納された前記クライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段と、前記クライアントアプリケーションの前記バージョン情報を含む通信要求が前記クライアントアプリケーションを実行している前記端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得し、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出する通信要求監視手段と、前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定する更新判定手段と、前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記設定ファイル格納手段に格納された最新バージョンの前記クライアントアプリケーション設定ファイルを、前記通信要求の要求元の前記端末装置に対して送信する設定ファイル送信手段と、を有することを特徴とするアプリケーション管理装置が提供される。
【００１３】
このようなアプリケーション管理装置によれば、上記アプリケーション管理プログラムを実行するコンピュータと同様の処理が行われる。
【発明の効果】
【００１４】
本発明では、クライアントアプリケーションからサーバアプリケーションへの通信要求を監視し、クライアントアプリケーションのバージョンを把握することとした。これにより、現在実行されているクライアントアプリケーションのバージョンを確実かつ容易に管理することができる。したがって、端末装置のユーザが、取得した最新バージョンのクライアントアプリケーション設定ファイルを端末装置に登録しなかった場合や、設定ファイルを登録した後にこれを削除した場合でも、クライアントアプリケーションとサーバアプリケーションとの間のバージョンの不一致による不具合の発生を確実に防止できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。コンピュータ１は、クライアントアプリケーション２ａを実行する端末装置２とサーバアプリケーション３ａを実行するサーバ３との間の通信経路上に位置し、端末装置２からサーバ３への通信要求を監視する。
【００１６】
コンピュータ１は、設定ファイル格納手段１ａ、バージョン情報記憶手段１ｂ、通信要求監視手段１ｃ、更新判定手段１ｄおよび設定ファイル送信手段１ｅを有する。設定ファイル格納手段１ａは、クライアントアプリケーション２ａを端末装置２で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する。クライアントアプリケーション設定ファイルとしては、例えば、プログラムの断片を記述したソースファイルや、ＸＭＬ（eXtensive Markup Language）などのマークアップ言語で記述されたテキストファイルなどが考えられる。バージョン情報記憶手段１ｂは、設定ファイル格納手段１ａに格納されたクライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶する。バージョン情報としては、例えば、“１．５”などのバージョン番号が考えられる。一般に、バージョン番号は、数字が大きいほど新しいバージョンであることを意味する。
【００１７】
ここで、クライアントアプリケーション２ａがサーバアプリケーション３ａと通信を行う場合、最初にクライアントアプリケーション２ａを実行する端末装置２が、サーバアプリケーション３ａを実行するサーバ３宛にネットワーク経由で通信要求を送信する。この通信要求には、端末装置２で実行しているクライアントアプリケーション２ａのバージョン情報４が含まれる。バージョン情報４は、例えば、通信要求のヘッダ部分に埋め込まれる。
【００１８】
通信要求監視手段１ｃは、ネットワーク上で端末装置２からサーバ３への通信要求を取得し、通信要求からバージョン情報４を抽出する。更新判定手段１ｄは、バージョン情報記憶手段１ｂを参照して、通信要求監視手段１ｃで抽出したバージョン情報で示されるバージョンが最新バージョンであるか否かを判定する。そして、更新判定手段１ｄは、クライアントアプリケーション２ａが最新バージョンでない場合、クライアントアプリケーションの更新が必要と判定する。
【００１９】
更新判定手段１ｄで更新が必要と判定されなかった場合、設定ファイル送信手段１ｅは、通信要求をサーバ３に対して送信する。すなわち、端末装置２からサーバ３への通信要求がコンピュータ１によって中継される。一方、更新判定手段１ｄで更新が必要と判定された場合、設定ファイル送信手段１ｅは、通信要求を破棄し、設定ファイル格納手段１ａに格納された最新バージョンのクライアントアプリケーション設定ファイルを、端末装置２に送信する。端末装置２は、受信したクライアントアプリケーション設定ファイルに基づいてクライアントアプリケーション２ａを最新バージョンに更新する。
【００２０】
このようなコンピュータ１によれば、通信要求監視手段１ｃにより、端末装置２からサーバ３への通信要求に含まれるクライアントアプリケーション２ａのバージョン情報４が抽出される。次に、更新判定手段１ｄにより、端末装置２で実行されるクライアントアプリケーション２ａが最新バージョンであるか否かが判定され、最新バージョンでない場合、更新が必要と判定される。そして、設定ファイル送信手段１ｅにより、更新が必要と判定されなかった場合は通信要求がサーバ３へ送信され、更新が必要と判定された場合は通信要求が破棄された上で、端末装置２に最新バージョンのクライアントアプリケーション設定ファイルが送信される。
【００２１】
これにより、端末装置で現在実行されているクライアントアプリケーションのバージョンを確実かつ容易に管理することができる。したがって、端末装置のユーザが、取得した最新バージョンのクライアントアプリケーション設定ファイルを端末装置に登録しなかった場合や、クライアントアプリケーション設定ファイルを登録した後にこれを削除した場合でも、クライアントアプリケーションの現在のバージョンを正しく認識することができる。
【００２２】
そして、端末装置で実行されているクライアントアプリケーションが最新バージョンでない場合、サーバプリケーションとの通信を許可せず、自動的にクライアントアプリケーションを最新バージョンへ更新させる。このようにして、管理者のバージョン管理の負担が大幅に軽減されると共に、クライアントアプリケーションとサーバアプリケーションとの間のバージョンの不一致による不具合の発生を確実に防止できる。
【００２３】
以下、本発明の実施の形態を、図面を参照して具体的に説明する。
図２は、本実施の形態のシステム構成を示す図である。本実施の形態のアプリケーション管理システムは、携帯端末装置で実行されるクライアントアプリケーションの更新状況を管理し、バージョンの更新が必要である場合は自動的に更新させるものである。
【００２４】
本実施の形態のアプリケーション管理システムは、管理サーバ１００、ネットワーク２１，２２、携帯端末装置３０，３０ａ，３０ｂ，３０ｃ、送受信装置４０，４０ａ，４０ｂ，４０ｃ、業務サーバ５０および管理端末装置６０で構成される。携帯端末装置３０，３０ａ，３０ｂ，３０ｃは、それぞれ無線通信機能を有しており、送受信装置４０，４０ａ，４０ｂ，４０ｃのいずれかの送受信装置の通信可能範囲に入ると、その送受信装置と無線通信を行うことができる。送受信装置４０，４０ａ，４０ｂ，４０ｃは、ネットワーク２１を介して管理サーバ１００と接続されている。すなわち、携帯端末装置３０，３０ａ，３０ｂ，３０ｃは、送受信装置４０，４０ａ，４０ｂ，４０ｃおよびネットワーク２１を通じて管理サーバ１００と通信が可能である。また、管理サーバ１００は、ネットワーク２２を介して業務サーバ５０と接続されている。管理端末装置６０は、ネットワーク２２を介して管理サーバ１００および業務サーバ５０と接続されている。
【００２５】
業務サーバ５０は、サーバアプリケーションを実行する。管理者は、管理端末装置６０を使用して、サーバアプリケーションの実行に必要なプログラムを業務サーバ５０に配置し実行させる。一方、管理サーバ１００は、クライアントアプリケーションの実行に必要な設定ファイルを保持する。この設定ファイルは、携帯端末装置３０，３０ａ，３０ｂ，３０ｃに配布するためのものである。管理者は、管理端末装置６０を使用して、設定ファイルを管理サーバ１００に配置する。
【００２６】
ここで、新しいバージョンのクライアントアプリケーションおよびサーバアプリケーションの運用を開始する場合、管理者は管理端末装置６０を使用して、新しいバージョンのサーバアプリケーションのプログラムを業務サーバ５０に配置して実行させると共に、新しいバージョンのクライアントアプリケーションの設定ファイルを管理サーバ１００に配置する。なお、管理者は、過去のバージョンから最新バージョンへの移行を円滑に行うために、業務サーバ５０で実行される過去のバージョンのサーバアプリケーションをすぐには削除せず残しておく。
【００２７】
携帯端末装置３０，３０ａ，３０ｂ，３０ｃは、それぞれクライアントアプリケーションを実行することができる。携帯端末装置３０，３０ａ，３０ｂ，３０ｃとしては、例えば、プログラムを実行可能でかつ無線通信機能を有する携帯電話や、ＰＤＡ（Personal Digital Assistants）、小型のノート型コンピュータなどを用いる。携帯端末装置３０，３０ａ，３０ｂ，３０ｃのユーザは、設定ファイルの記述に基づいてクライアントアプリケーションを実行するためのクライアントプログラムを、管理者が指定したコンピュータから予め取得しておく。クライアントプログラムは、例えば、管理サーバ１００に配置される。この場合、ユーザはクライアントプログラムを管理サーバ１００から予め取得しておく。
【００２８】
クライアントアプリケーションは、必要に応じて業務サーバ５０で実行されるサーバアプリケーションと通信を行う。例えば、クライアントアプリケーションは、業務サーバ５０にあるデータを検索し、必要なデータを取得して携帯端末装置３０，３０ａ，３０ｂ，３０ｃに表示させる場合に、サーバアプリケーションと通信を行う。
【００２９】
クライアントアプリケーションがサーバアプリケーションと通信を行う場合、携帯端末装置３０，３０ａ，３０ｂ，３０ｃは、まず業務サーバ５０宛に無線で通信要求を送信する。送信された通信要求は、送受信装置４０，４０ａ，４０ｂ，４０ｃのいずれかの送受信装置によって受信される。そして、送受信装置４０，４０ａ，４０ｂ，４０ｃは、受信した通信要求をネットワーク２１を通じて管理サーバ１００へ送信する。
【００３０】
管理サーバ１００は、受信した通信要求に含まれる情報に基づいて、要求元の端末装置で実行しているクライアントアプリケーションのバージョンを検出し、更新する必要があるか否か判定する。更新が必要な場合、管理サーバ１００は、通信要求を業務サーバ５０へ転送せず、最新バージョンのクライアントアプリケーションを実行するために必要な設定ファイルを要求元の携帯端末装置へ送信する。携帯端末装置３０，３０ａ，３０ｂ，３０ｃは、受信した設定ファイルに基づいてクライアントアプリケーションを更新し、その後、再度業務サーバ５０宛に通信要求を送信する。
【００３１】
一方、更新が不要な場合、管理サーバ１００は、ネットワーク２２を通じて業務サーバ５０へ通信要求を転送する。通信要求が業務サーバ５０へ到達することで、その後、クライアントアプリケーションとサーバアプリケーションとの間で通信が行われる。
【００３２】
また、管理サーバ１００は、携帯端末装置３０，３０ａ，３０ｂ，３０ｃそれぞれで実行されるクライアントアプリケーションのバージョンを管理し、いずれの携帯端末装置でも使用されなくなった過去のバージョンを廃棄可能バージョンとして検出し、管理端末装置６０へ通知する。管理者は、管理端末装置６０に表示される廃棄可能バージョンの情報に基づいて、業務サーバ５０で実行されるサーバアプリケーションを管理する。
【００３３】
次に、管理サーバ１００、業務サーバ５０および管理端末装置６０のハードウェア構成について説明する。ただし、これらサーバおよび端末装置は同様のハードウェア構成によって実現できるため、代表して管理サーバ１００について説明する。
【００３４】
図３は、管理サーバのハードウェア構成を示す図である。管理サーバ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６，１０７が接続されている。
【００３５】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。
【００３６】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク２１に接続されている。通信インタフェース１０７は、ネットワーク２２に接続されている。
【００３７】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、携帯端末装置３０，３０ａ，３０ｂ，３０ｃのモジュール構成について説明する。ただし、携帯端末装置３０，３０ａ，３０ｂ，３０ｃのそれぞれのモジュール構成は同様であるため、代表して携帯端末装置３０について説明する。
【００３８】
図４は、携帯端末装置の機能を示すブロック図である。携帯端末装置３０は、プログラム格納部３１、設定ファイル格納部３２およびプログラム実行部３３を有する。プログラム実行部３３は、送受信装置４０，４０ａ，４０ｂ，４０ｃおよびネットワーク２１を介して、管理サーバ１００と通信が可能である。
【００３９】
プログラム格納部３１には、携帯端末装置３０で動作するクライアントプログラムが格納される。クライアントプログラムは、携帯端末装置３０で実行されるクライアントアプリケーションの基本的機能を実現するためのプログラムであり、いわゆるミドルウェアの機能を果たすものである。クライアントプログラムは、例えば、管理サーバ１００との通信機能や画面表示の制御機能などを実現する。
【００４０】
設定ファイル格納部３２には、クライアントアプリケーションの機能を実現するために必要な設定情報が記述された設定ファイルが格納される。設定ファイルの記述を変えることで、クライアントアプリケーションの具体的な機能を変えることができる。設定ファイルには、クライアントアプリケーションのバージョン情報も記述されている。
【００４１】
プログラム実行部３３は、携帯端末装置３０のユーザの操作に基づいて、クライアントアプリケーションの実行を開始する。プログラム実行部３３は、まずプログラム格納部３１に格納されたクライアントプログラムを読み出す。そして、プログラム実行部３３は、設定ファイル格納部３２に格納された設定ファイルを読み出し、設定ファイルに記述された設定情報をクライアントプログラムに適用することで、クライアントアプリケーションを実現する。なお、設定ファイル格納部３２に設定ファイルが格納されていない場合、プログラム実行部３３は、管理サーバ１００から設定ファイルを取得して設定ファイル格納部３２に格納する。
【００４２】
プログラム実行部３３は、クライアントアプリケーションがサーバアプリケーションと通信を行う必要があるときは、業務サーバ５０宛に通信要求を送信する。通信要求のヘッダには、携帯端末装置３０のユーザのユーザＩＤと、クライアントアプリケーションのバージョン情報とが挿入される。ユーザＩＤは、クライアントアプリケーションの実行開始時にユーザに入力させる。バージョン情報は、設定ファイル格納部３２に格納された設定ファイルで記述されたバージョン情報を使用する。
【００４３】
また、プログラム実行部３３は、新しいバージョンの設定ファイルを取得したときは、取得した設定ファイルを設定ファイル格納部３２に格納する。これにより、クライアントアプリケーションのバージョンが更新される。
【００４４】
なお、携帯端末装置３０は、予めクライアントプログラムをネットワーク経由で取得し、プログラム格納部３１に格納しておく。例えば、ユーザが携帯端末装置３０の使用を開始する際、管理者がユーザにクライアントプログラムの配置されたコンピュータの情報を示し、ユーザが携帯端末装置３０を操作してクライアントプログラムを取得する。クライアントプログラムの取得は、原則として一度だけ行えばよい。コンピュータからプログラムを取得する機能は、携帯電話の機能として一般的に知られている。本実施の形態では、クライアントプログラムの取得方法の詳細については説明を省略する。
【００４５】
次に、管理サーバ１００のモジュール構成について説明する。
図５は、管理サーバの機能を示すブロック図である。管理サーバ１００は、設定ファイル格納部１１０、バージョン情報記憶部１２０、ユーザ情報記憶部１３０、運用情報記憶部１４０、通信要求監視部１５０、バージョン情報更新部１５５、更新判定部１６０、グループ判定部１６５、設定ファイル送信部１７０および更新状況監視部１８０を有する。通信要求監視部１５０および設定ファイル送信部１７０は、ネットワーク２１および送受信装置４０，４０ａ，４０ｂ，４０ｃを通じて携帯端末装置３０，３０ａ，３０ｂ，３０ｃと通信が可能である。設定ファイル送信部１７０は、ネットワーク２２を通じて業務サーバ５０と通信が可能である。更新状況監視部１８０は、ネットワーク２２を通じて管理端末装置６０と通信が可能である。
【００４６】
設定ファイル格納部１１０には、クライアントアプリケーションの実行に必要な設定情報が記述された設定ファイルが格納される。設定情報には、例えば、データの表示方法やサーバアプリケーションとのデータの送受信方法に関する情報が含まれる。なお、設定ファイル格納部１１０には、最新バージョンの設定ファイルのみを格納する。本実施の形態では、過去のバージョンの設定ファイルを配布する必要性に乏しいからである。設定ファイルは、最新のバージョンが変わる度に、管理者によって格納される。
【００４７】
バージョン情報記憶部１２０には、クライアントアプリケーションのバージョン情報が格納される。バージョン情報は、“１．５”といったバージョン番号として表現される。バージョン情報記憶部１２０には、最新バージョンのバージョン情報に加え、過去のバージョンのバージョン情報も格納される。バージョン情報は、最新のバージョンが変わる度に、管理者によって追加される。
【００４８】
ユーザ情報記憶部１３０には、携帯端末装置３０，３０ａ，３０ｂ，３０ｃのユーザのユーザ情報が格納される。ユーザ情報には、ユーザが属する更新グループの情報と、ユーザが使用しているクライアントアプリケーションのバージョン情報とが含まれる。更新グループの情報は、予め管理者によって登録される。
【００４９】
ここで、更新グループとは、新しいバージョンの適用を開始する順序を規定するためにユーザを分類したものである。すべてのユーザに対して一斉に新しいバージョンの適用を開始すると、クライアントアプリケーションに不具合がある場合や、操作画面が直感的でなくわかりにくい場合に、ユーザからの問い合わせが集中し、管理者が対応できなくなるおそれがある。そこで、それぞれのユーザをいずれか１つの更新グループに割り当て、バージョンの更新を更新グループごとに段階的に行えるようにしている。
【００５０】
運用情報記憶部１４０には、更新グループごとに運用情報が格納される。運用情報には、その更新グループへの最新バージョンの適用の可否を示す情報と、適用を開始する予定日の情報とが含まれる。運用情報は、最新のバージョンが変わる度に、管理者によって更新される。
【００５１】
通信要求監視部１５０は、携帯端末装置３０，３０ａ，３０ｂ，３０ｃのプログラム実行部が業務サーバ５０宛に送信した通信要求を取得する。そして、通信要求監視部１５０は、取得した通信要求のヘッダ部分に埋め込まれたユーザＩＤとバージョン情報とを抽出する。
【００５２】
バージョン情報更新部１５５は、通信要求監視部１５０で抽出したユーザＩＤとバージョン情報に基づいて、ユーザ情報記憶部１３０に格納されたユーザ情報を更新する。すなわち、ユーザが現在使用しているクライアントアプリケーションのバージョン情報を、ユーザ情報記憶部１３０に格納されたユーザ情報に反映させる。
【００５３】
更新判定部１６０は、バージョン情報記憶部１２０および運用情報記憶部１４０を参照し、通信要求監視部１５０で抽出したユーザＩＤとバージョン情報とに基づいて、通信要求の要求元のクライアントアプリケーションを更新する必要があるか否か判定する。判定の具体的な方法は、後で詳細に説明する。
【００５４】
グループ判定部１６５は、ユーザ情報記憶部１３０を参照して、通信要求監視部１５０で抽出したユーザＩＤで示されるユーザの属する更新グループを判定する。
設定ファイル送信部１７０は、更新判定部１６０でクライアントアプリケーションを更新する必要がないと判定された場合、通信要求監視部１５０が取得した通信要求を、ネットワーク２２を通じて業務サーバ５０へ転送する。一方、クライアントアプリケーションを更新する必要があると判定された場合、設定ファイル送信部１７０は、通信要求監視部１５０が取得した通信要求を破棄する。その上で、設定ファイル送信部１７０は、通信要求の要求元である携帯端末装置のプログラム実行部に、クライアントアプリケーションを更新すべき旨の確認要求を通知する。プログラム実行部から確認要求に対する確認応答があると、設定ファイル送信部１７０は、設定ファイル格納部１１０から最新バージョンの設定ファイルを取得しプログラム実行部へ送信する。
【００５５】
更新状況監視部１８０は、ユーザ情報記憶部１３０に格納されたユーザ情報の更新状況を継続的に監視する。ここで、ユーザ情報が更新されると、更新状況監視部１８０は、バージョン情報記憶部１２０を参照し、過去のバージョンのうちいずれのユーザも使用してないバージョンを廃棄可能バージョンとして検出する。そして、更新状況監視部１８０は、廃棄可能バージョンを、ネットワーク２２を通じて管理端末装置６０に表示させる。
【００５６】
バージョン情報記憶部１２０は、バージョン情報の一覧を表すバージョン情報テーブル１２０ａを有している。
図６は、バージョン情報テーブルのデータ構造例を示す図である。バージョン情報テーブル１２０ａには、バージョン情報であるバージョン番号と、そのバージョンの新しさを示す情報とがそれぞれ関連付けられてテーブル化されて格納されている。バージョン情報テーブル１２０ａには、バージョンの順序を示すフィールド１２１およびバージョン番号を示すフィールド１２２が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００５７】
フィールド１２１には、バージョンの順序を示す数値が設定される。“２”は最新バージョンであることを意味し、“１”は１つ前のバージョンであることを意味する。“０”は２つ以上前のバージョンであることを意味する。ここで、新しいバージョン情報がバージョン情報テーブル１２０ａに追加される場合、その新しいバージョンの順序が“２”に設定される。そして、順序が“２”であったものは“１”に、“１”であったものは“０”にそれぞれ変更される。
【００５８】
フィールド１２２には、バージョン番号が設定される。一般に、バージョン番号が大きいほどより新しいバージョンであることを意味する。バージョン番号は、例えば、“２．０”という形式で表現される。小数点の左側は、いわゆるメジャーバージョンと呼ばれる。 メジャーバージョンは、“１”から始まり、アプリケーションに大きな変更点がある度に数値が１ずつ大きくなる。小数点の右側は、いわゆるマイナーバージョンと呼ばれる。マイナーバージョンは、“０”から始まり、アプリケーションに小さな変更点がある度に数値が１ずつ大きくなる。
【００５９】
例えば、最新バージョンのバージョン番号が“２．０”である場合、順序が“２”、バージョン番号が“２．０”という情報が登録される。
ユーザ情報記憶部１３０は、ユーザ情報の一覧を表すユーザ情報テーブル１３０ａを有している。
【００６０】
図７は、ユーザ情報テーブルのデータ構造例を示す図である。ユーザ情報テーブル１３０ａには、ユーザ情報がユーザごとに関連付けられてテーブル化されて格納されている。ユーザ情報テーブル１３０ａには、ユーザＩＤを示すフィールド１３１、ユーザ名を示すフィールド１３２、グループ番号を示すフィールド１３３およびバージョン番号を示すフィールド１３４が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、ユーザ情報を構成する。
【００６１】
フィールド１３１には、ユーザＩＤが設定される。ユーザＩＤは、携帯端末装置３０，３０ａ，３０ｂ，３０ｃのユーザを一意に識別するための識別情報である。ユーザＩＤは、予め管理者によってそれぞれのユーザに割り当てられる。フィールド１３２には、フィールド１３１に設定されるユーザＩＤで示されるユーザのユーザ名が設定される。
【００６２】
フィールド１３３には、フィールド１３１に設定されるユーザＩＤで示されるユーザが属する更新グループのグループ番号が設定される。グループ番号は、更新グループを一意に識別するための識別情報であり、予め管理者によって割り当てられる。フィールド１３４には、フィールド１３１に設定されるユーザＩＤで示されるユーザが使用しているクライアントアプリケーションのバージョン番号が設定される。
【００６３】
ユーザ情報テーブル１３０ａに格納されるユーザ情報のうちフィールド１３４に設定されるバージョン番号以外の情報は、予め管理者によって登録される。例えば、ユーザＩＤが“ｔａｎａｋａ”、ユーザ名が“田中○○”、グループ番号が“１０１”という情報が登録される。バージョン番号は、バージョン情報更新部１５５によって適宜更新される。
【００６４】
運用情報記憶部１４０は、運用情報の一覧を表す運用情報テーブル１４０ａを有している。
図８は、運用情報テーブルのデータ構造例を示す図である。運用情報テーブル１４０ａには、運用情報が更新グループごとに関連付けられてテーブル化されて格納されている。運用情報テーブル１４０ａには、グループ番号を示すフィールド１４１、グループ名を示すフィールド１４２、バージョン番号を示すフィールド１４３、更新予定日を示すフィールド１４４が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、運用情報を構成する。
【００６５】
フィールド１４１には、更新グループを一意に識別するグループ番号が設定される。フィールド１４２には、フィールド１４１に設定されるグループ番号で示される更新グループのグループ名が設定される。グループ名としては、例えば、組織内の部署名を使用する。
【００６６】
フィールド１４３には、クライアントアプリケーションのバージョン番号が設定される。このバージョン番号が最新バージョンの番号であるとき、フィールド１４１に設定されるグループ番号で示される更新グループに対して、最新バージョンの適用が現在可能であるか、または、可能となる予定日が明示されていることを意味する。フィールド１４４には、フィールド１４１に設定されるグループ番号で示される更新グループに対して、最新バージョンの適用を開始する予定日が設定される。
【００６７】
運用情報テーブル１４０ａに格納される運用情報のうち、フィールド１４１に設定されるグループ番号およびフィールド１４２に設定されるグループ名は、予め管理者によって登録される。例えば、グループ番号が“１０１”、グループ名が“営業第１部”という情報が登録される。また、フィールド１４３に設定されるバージョン番号およびフィールド１４４に登録される更新予定日は、最新バージョンの適用状況を考慮して、管理者によって適宜更新される。
【００６８】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。最初に、携帯端末装置３０，３０ａ，３０ｂ，３０ｃから業務サーバ５０宛へ通信要求が送信された際に行われる、更新判定処理について説明する。
【００６９】
図９は、更新判定処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。なお、ここでは携帯端末装置３０，３０ａ，３０ｂ，３０ｃのうち携帯端末装置３０が使用される場合について説明する。他の携帯端末装置が使用される場合も同様の処理の流れとなる。
【００７０】
［ステップＳ１１］携帯端末装置３０のプログラム実行部３３は、サーバアプリケーションと通信を行う必要が生じると、ユーザＩＤとバージョン情報とをヘッダ部分に挿入した通信要求を、業務サーバ５０宛に送信する。
【００７１】
［ステップＳ１２］管理サーバ１００の通信要求監視部１５０は、携帯端末装置３０から業務サーバ５０宛の通信要求を取得する。そして、通信要求監視部１５０は、取得した通信要求のヘッダ部分から、ユーザＩＤとバージョン情報とを抽出する。
【００７２】
［ステップＳ１３］通信要求監視部１５０は、ステップＳ１２で抽出したユーザＩＤとバージョン情報とを、バージョン情報更新部１５５に通知する。バージョン情報更新部１５５は、ユーザ情報記憶部１３０に格納されたユーザ情報テーブル１３０ａから、通信要求監視部１５０から受け取ったユーザＩＤをもつユーザ情報を検索する。そして、バージョン情報更新部１５５は、該当するユーザ情報のバージョン情報を、通信要求監視部１５０から受け取ったバージョン情報に更新する。
【００７３】
［ステップＳ１４］通信要求監視部１５０は、ステップＳ１２で抽出したユーザＩＤとバージョン情報とを、更新判定部１６０に通知する。更新判定部１６０は、バージョン情報記憶部１２０に格納されたバージョン情報テーブル１２０ａから、順序が“２”（すなわち、最新バージョン）のバージョン番号を取得し、取得したバージョン番号と通信要求監視部１５０から受け取ったバージョン情報とが同一か否かを判断する。両者が同一の場合、処理がステップＳ１８に進められる。両者が同一でない場合、処理がステップＳ１５に進められる。
【００７４】
［ステップＳ１５］更新判定部１６０は、バージョン情報テーブル１２０ａを検索し、ステップＳ１４で通信要求監視部１５０から受け取ったバージョン情報の順序が“１”（すなわち、１つ前のバージョン）であるか否かを判断する。順序が“１”の場合、処理がステップＳ１６に進められる。順序が“１”でない場合、処理がステップＳ１９に進められる。
【００７５】
［ステップＳ１６］更新判定部１６０は、ステップＳ１４で通信要求監視部１５０から受け取ったユーザＩＤを、グループ判定部１６５に通知する。グループ判定部１６５は、ユーザ情報テーブル１３０ａを検索し、更新判定部１６０から受け取ったユーザＩＤと対応するグループ番号を取得する。そして、グループ判定部１６５は、取得したグループ番号を更新判定部１６０に通知する。
【００７６】
［ステップＳ１７］更新判定部１６０は、運用情報記憶部１４０に格納された運用情報テーブル１４０ａを検索し、グループ判定部１６５から受け取ったグループ番号に対応するバージョン番号と更新予定日とを取得する。そして、更新判定部１６０は、取得したバージョン情報が最新バージョンのバージョン番号であり、かつ、取得した更新予定日が更新判定処理を行っている日以前であるか否かを判断する。すなわち、グループ判定部１６５から受け取ったグループ番号で示される更新グループに、最新バージョンを適用可能か否か判断する。適用可能である場合、処理がステップＳ１９に進められる。適用可能でない場合、処理がステップＳ１８に進められる。
【００７７】
［ステップＳ１８］更新判定部１６０は、クライアントアプリケーションの更新が不要である旨を、設定ファイル送信部１７０に通知する。通知を受け取った設定ファイル送信部１７０は、ステップＳ１２で通信要求監視部１５０が取得した通信要求を、業務サーバ５０へ転送する。
【００７８】
［ステップＳ１９］更新判定部１６０は、クライアントアプリケーションの更新が必要である旨を、設定ファイル送信部１７０に通知する。通知を受け取った設定ファイル送信部１７０は、ステップＳ１２で通信要求監視部１５０が取得した通信要求を破棄する。そして、設定ファイル送信部１７０は、通信要求の要求元である携帯端末装置３０に対して、更新が必要である旨の確認要求を送信する。
【００７９】
［ステップＳ２０］プログラム実行部３３は、管理サーバ１００から確認要求を受信すると、クライアントアプリケーションの更新が必要であることの確認を携帯端末装置３０のユーザに促す。例えば、プログラム実行部３３は、確認のウィンドウを表示画面に表示する。そして、プログラム実行部３０は、ユーザが確認の操作を行うと、管理サーバ１００に対して確認応答を送信する。
【００８０】
［ステップＳ２１］設定ファイル送信部１７０は、携帯端末装置３０から確認応答を受信すると、設定ファイル格納部１１０から最新バージョンの設定ファイルを取得し、携帯端末装置３０へ送信する。
【００８１】
［ステップＳ２２］プログラム実行部３３は、管理サーバ１００から設定ファイルを受信すると、受信した設定ファイルを設定ファイル格納部３２に格納する。このとき、プログラム実行部３３は、古いバージョンの設定ファイルを削除してよい。そして、プログラム実行部３３は、新しいバージョンの設定ファイルに基づいて、クライアントアプリケーションを再起動する。
【００８２】
このようにして、携帯端末装置３０のプログラム実行部３３は、業務サーバ５０宛に通信要求を送信する。管理サーバ１００の通信要求監視部１５０は、業務サーバ５０宛の通信要求を取得し、ユーザＩＤとバージョン情報とを抽出する。バージョン情報更新部１５５は、抽出したユーザＩＤとバージョン情報とを、ユーザ情報テーブル１３０ａに反映させる。更新判定部１６０は、抽出したユーザＩＤとバージョン情報とに基づいて、クライアントアプリケーションの更新が必要か否かを判定する。設定ファイル送信部１７０は、更新が不要な場合は、通信要求を業務サーバ５０へ転送する。更新が必要な場合は、通信要求を破棄し、携帯端末装置３０へ確認を行った上で、最新バージョンの設定ファイルを送信する。プログラム実行部３３は、受信した設定ファイルを設定ファイル格納部３２に格納する。
【００８３】
ここで、更新判定部１６０は、通信要求の要求元が最新バージョンである場合には、更新が不要と判定する。また、ユーザの属する更新グループに最新バージョンを適用できない場合には、更新が不要と判定する。一方、更新判定部１６０は、通信要求の要求元が２つ以上前のバージョンである場合には、更新が必要と判定する。また、通信要求の要求元が１つ前のバージョンであり、かつ、ユーザの属する更新グループに最新バージョンを適用可能である場合には、更新が必要と判定する。
【００８４】
例えば、ユーザ情報テーブル１３０ａに、図７で示した４つのユーザ情報が登録されているとする。ここで、ユーザＩＤが“ｔａｎａｋａ”のユーザは携帯端末装置３０、ユーザＩＤが“ｓｕｚｕｋｉ”のユーザは携帯端末装置３０ａ、ユーザＩＤが“ｓａｔｏ”のユーザは携帯端末装置３０ｂ、ユーザＩＤが“ｔａｋａｈａｓｈｉ”のユーザは携帯端末装置３０ｃをそれぞれ使用しているものとする。
【００８５】
クライアントアプリケーションのバージョンは、図６で示した通り、最新バージョンのバージョン番号が“２．０”、１つ前のバージョン番号が“１．５”であるとする。それぞれの更新グループの更新予定日は、図８で示した通り、グループ番号が“１０１”の更新グループの更新予定日が２００６年４月１日、グループ番号が“１０２”のグループの更新予定日が２００６年５月１日であるとする。更新判定処理を行っている日は、２００６年４月１０日であるとする。
【００８６】
このとき、携帯端末装置３０から通信要求があると、更新判定部１６０は、要求元のバージョンが最新バージョンの“２．０”であるため、更新が不要と判定する。携帯端末装置３０ａから通信要求があると、更新判定部１６０は、要求元のバージョンが１つ前のバージョン“１．５”であり、かつ、ユーザの属する更新グループ（グループ番号が“１０１”）へ最新バージョンを適用可能であるため、更新が必要と判定する。携帯端末装置３０ｂから通信要求があると、更新判定部１６０は、要求元のバージョンが１つ前のバージョン“１．５”であるが、ユーザの属する更新グループ（グループ番号が“１０２”）へ最新バージョンを適用可能でないため、更新が不要と判定する。携帯端末装置３０ｃから通信要求があると、更新判定部１６０は、要求元のバージョンが２つ以上前のバージョン“１．４”であるため、更新が必要と判定する。
【００８７】
なお、本実施の形態では、設定ファイル送信部１７０は、設定ファイルを携帯端末装置３０，３０ａ，３０ｂ，３０ｃに送信する前に確認要求を行っているが、確認要求を行わずに設定ファイルを送信するようにしてもよい。この場合、ユーザの確認の操作なしに、自動的にクライアントアプリケーションが最新バージョンに更新される。
【００８８】
また、本実施の形態では、クライアントアプリケーションが最新バージョンから２つ以上古いバージョンである場合に、他の条件を検討することなく更新が必要と判定しているが、判定基準とするバージョン数を任意の数に設定してもよい。例えば、“２つ以上”に代えて、“３つ以上”とすることができる。この場合、バージョン情報テーブル１２０ａで、１つ前と２つ前のバージョンの順序を“１”と設定し、３つ以上前のバージョンの順序を“０”と設定すればよい。
【００８９】
次に、更新状況監視部１８０がユーザ情報の更新を監視し、廃棄可能バージョンを検出する処理について説明する。
図１０は、更新状況監視処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００９０】
［ステップＳ３１］更新状況監視部１８０は、ユーザ情報記憶部１３０に格納されたユーザ情報テーブル１３０ａを継続的に監視し、ユーザ情報が更新されたか否か判断する。更新された場合は、処理がステップＳ３２に進められる。更新されていない場合は、更新状況監視部１８０によってステップＳ３１の処理が繰り返され、ユーザ情報が更新されるのを待つ。
【００９１】
［ステップＳ３２］更新状況監視部１８０は、バージョン情報記憶部１２０に格納されたバージョン情報テーブル１２０ａを検索し、順序が“２”（すなわち、最新バージョン）のバージョンを除くすべてのバージョンのバージョン番号を取得する。そして、更新状況監視部１８０は、取得したそれぞれのバージョン番号ごとに、ステップＳ３３からＳ３４までの処理を繰り返す。
【００９２】
［ステップＳ３３］更新状況監視部１８０は、ユーザ情報テーブル１３０ａを検索し、ステップＳ３２で選択されたバージョン番号をもつユーザ情報が存在するか否か判断する。すなわち、ステップＳ３２で選択されたバージョン番号のクライアントアプリケーションを使用しているユーザが存在するか否か判断する。存在する場合は、そのバージョン番号についての繰り返し処理を終了する。存在しない場合は、処理がステップＳ３４に進められる。
【００９３】
［ステップＳ３４］更新状況監視部１８０は、ステップＳ３２で選択されたバージョン番号のバージョンを、廃棄可能バージョンに指定する。
［ステップＳ３５］更新状況監視部１８０は、ステップＳ３２で取得したバージョン番号のうち、廃棄可能バージョンに指定されたバージョンのバージョン番号を、管理端末装置６０へ送信し表示させる。
【００９４】
このようにして、更新状況監視部１８０は、ユーザ情報テーブル１３０ａのユーザ情報が更新されると、いずれのユーザも使用してないバージョンを管理端末装置６０に表示させる。これにより、管理者は廃棄可能バージョンを知ることできる。そして、管理者は、廃棄可能バージョンのクライアントアプリケーションに対応するサーバアプリケーションを、業務サーバ５０から安全に削除することができる。そのサーバアプリケーションと通信を行うクライアントアプリケーションが存在しないことが確認されているからである。
【００９５】
次に、本実施の形態の応用例について説明する。本応用例は、携帯端末装置で実行されるクライアントプログラムを、通信事業者が提供する配布サーバから取得するようにしたものである。
【００９６】
図１１は、本実施の形態の応用例のシステム構成を示す図である。本応用例のシステム構成は、図２に示したシステム構成に、配布サーバ７０が加わったものである。配布サーバ７０は、ネットワーク２１を提供する通信事業者が保有するコンピュータであり、ネットワーク２１と接続されている。管理者は、予め通信事業者に依頼して、携帯端末装置３０，３０ａ，３０ｂ，３０ｃで実行されるクライアントプログラムを配布サーバ７０に配置してもらう。
【００９７】
図１２は、本実施の形態の応用例の処理の流れを示す図である。以下、図１２に示す処理の流れをステップ番号に沿って説明する。なお、ユーザは携帯端末装置３０を使用しているものとする。
【００９８】
［ステップＳ１］ユーザは、携帯端末装置３０で最初にクライアントアプリケーションを実行する際に、携帯端末装置３０を操作して配布サーバ７０からクライアントプログラムを取得する。例えば、クライアントプログラムの配置場所を示す情報としてＵＲＬ（Uniform Resource Locator）が公開されている場合、ユーザはそのＵＲＬで指定される場所からクライアントプログラムを取得する。
【００９９】
［ステップＳ２］クライアントプログラムは、最初の起動時に、管理サーバ１００から最新バージョンの設定ファイルを取得する。そして、クライアントプログラムは、取得した設定ファイルに基づいてクライアントアプリケーションを実行する。
【０１００】
［ステップＳ３］クライアントプログラムは、実行しているクライアントアプリケーションでサーバアプリケーションとの通信が必要になると、業務サーバ５０宛に通信要求を送信する。その後、管理サーバ１００で本実施の形態で述べた処理が実行される。
【０１０１】
このように、クライアントアプリケーションを実現するために必要なファイルを、クライアントプログラムと設定ファイルとに分けたことで、この２つのファイルを異なるサーバに配置することができる。ここで、クライアントプログラムを通信事業者が提供する配布サーバに配置することで、既存の無線通信網を利用して容易にクライアントプログラムを配布することができる。一方、設定ファイルを組織が保有する管理サーバに配置することで、通信事業者に依頼することなく自由に設定ファイルを更新できる。
【０１０２】
このようなアプリケーション管理プログラムを実行する管理サーバ１００を用いることで、携帯端末装置で実行されているクライアントアプリケーションのバージョンを正しく認識することができる。そのため、クライアントアプリケーションとサーバアプリケーションとの間のバージョンの不一致による不具合の発生を、確実に防止できる。そして、クライアントアプリケーションの更新が必要な場合、自動的に更新の処理が実行されるため、クライアントアプリケーションのバージョン管理の負担が大幅に軽減される。
【０１０３】
また、ユーザを複数の更新グループに分類し、更新グループごとに最新バージョンを適用できるため、古いバージョンから新しいバージョンへの段階的な移行が容易となる。これにより、新しいバージョンで不具合が発生したときの業務への影響を最小限に抑えることができる。さらに、いずれのユーザも使用していないバージョンを検出できるため、サーバアプリケーションのバージョン管理の負担も大幅に軽減される。
【０１０４】
なお、本実施の形態では、クライアントアプリケーションを実行する端末装置として携帯端末装置を用いたが、固定型の端末装置を用いてもよい。この場合も、クライアントアプリケーションのバージョン管理を確実かつ容易に行えるという効果を発揮できる。
【０１０５】
以上、本発明のアプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。
【０１０６】
また、本発明は、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバ１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどが挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などが挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）などが挙げられる。
【０１０７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０８】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１０９】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理プログラムにおいて、
コンピュータを、
前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段、
前記設定ファイル格納手段に格納された前記クライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段、
前記クライアントアプリケーションの前記バージョン情報を含む通信要求が前記クライアントアプリケーションを実行している前記端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得し、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出する通信要求監視手段、
前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定する更新判定手段、
前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記設定ファイル格納手段に格納された最新バージョンの前記クライアントアプリケーション設定ファイルを、前記通信要求の要求元の前記端末装置に対して送信する設定ファイル送信手段、
として機能させることを特徴とするアプリケーション管理プログラム。
【０１１０】
（付記２）  前記設定ファイル送信手段は、前記更新判定手段で更新が必要と判定された場合、更新確認メッセージを前記端末装置に送信し、前記端末装置から前記更新確認メッセージに対する確認応答が返されたときに、前記クライアントアプリケーション設定ファイルを前記端末装置に対して送信することを特徴とする付記１記載のアプリケーション管理プログラム。
【０１１１】
（付記３）  前記通信要求監視手段は、前記端末装置を使用しているユーザをそれぞれ識別するユーザ識別情報と前記バージョン情報とを含む前記通信要求を取得すると、前記通信要求から前記ユーザ識別情報と前記バージョン情報とを抽出し、
前記コンピュータを、さらに、
前記ユーザ識別情報と、前記ユーザ識別情報で示される前記ユーザが属する更新グループの情報とをそれぞれ関連付けて記憶するユーザ情報記憶手段、
前記更新グループそれぞれについて、前記クライアントアプリケーションの最新バージョンの適用の可否を示す情報を記憶する運用情報記憶手段、
前記ユーザ情報記憶手段を参照して、前記通信要求監視手段で抽出した前記ユーザ識別情報で示される前記ユーザが属する前記更新グループを判定するグループ判定手段、
として機能させ、
前記更新判定手段は、前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定すると共に、前記運用情報記憶手段を参照して、前記グループ判定手段で判定した前記更新グループへの最新バージョンの適用の可否を判定し、前記通信要求の要求元が最新バージョンでなく、かつ、最新バージョンを適用可能である場合、更新が必要と判定する、
ことを特徴とする付記１記載のアプリケーション管理プログラム。
【０１１２】
（付記４）  前記運用情報記憶手段は、前記更新グループそれぞれについて、前記クライアントアプリケーションの最新バージョンの適用を開始する開始予定日の情報を記憶し、
前記更新判定手段は、前記グループ判定手段で判定した前記更新グループの前記開始予定日が到来している場合に、前記通信要求の要求元へ最新バージョンを適用可能と判定する、
ことを特徴とする付記３記載のアプリケーション管理プログラム。
【０１１３】
（付記５）  前記バージョン情報記憶手段は、さらに、前記クライアントアプリケーションの過去のバージョンの前記バージョン情報をそれぞれ記憶し、
前記更新判定手段は、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが、最新バージョンから予め設定された数以上古いバージョンである場合、前記グループ判定手段で判定した前記更新グループへの最新バージョンの適用の可否に関わらず、更新が必要と判定する、
ことを特徴とする付記３記載のアプリケーション管理プログラム。
【０１１４】
（付記６）  前記バージョン情報記憶手段は、さらに、前記クライアントアプリケーションの過去のバージョンの前記バージョン情報をそれぞれ記憶し、
前記通信要求監視手段は、前記端末装置を使用しているユーザをそれぞれ識別するユーザ識別情報と前記バージョン情報とを含む前記通信要求を取得すると、前記通信要求から前記ユーザ識別情報と前記バージョン情報とを抽出し、
前記コンピュータを、さらに、
前記ユーザ識別情報と、前記ユーザ識別情報で示される前記ユーザが使用している前記端末装置で実行される前記クライアントアプリケーションの前記バージョン情報とを関連付けて記憶するユーザ情報記憶手段、
前記通信要求監視手段で抽出した前記ユーザ識別情報に対応する前記ユーザ情報記憶手段内の前記バージョン情報を、前記通信要求監視手段で抽出した前記バージョン情報に更新するバージョン情報更新手段、
前記バージョン情報記憶手段を参照して、前記ユーザ情報記憶手段に記憶された前記ユーザ識別情報で示されるいずれの前記ユーザも使用していない過去のバージョンを廃止可能バージョンとして検出し、前記コンピュータの管理端末装置に前記廃止可能バージョンを通知する更新状況監視手段、
として機能させる、
ことを特徴とする付記１記載のアプリケーション管理プログラム。
【０１１５】
（付記７）  サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理方法において、
通信要求監視手段が、前記クライアントアプリケーションのバージョン情報を含む通信要求が前記クライアントアプリケーションを実行している端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得して、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出し、
更新判定手段が、前記クライアントアプリケーションの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定し、
設定ファイル送信手段が、前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段から、最新バージョンの前記クライアントアプリケーション設定ファイルを取得して、前記通信要求の要求元の前記端末装置に対して送信する、
ことを特徴とするアプリケーション管理方法。
【０１１６】
（付記８）  サーバアプリケーションと通信を行うクライアントアプリケーションの更新状況を管理するアプリケーション管理装置において、
前記クライアントアプリケーションを端末装置で実行させるために必要な情報が設定されたクライアントアプリケーション設定ファイルを格納する設定ファイル格納手段と、
前記設定ファイル格納手段に格納された前記クライアントアプリケーション設定ファイルの最新バージョンのバージョン情報を記憶するバージョン情報記憶手段と、
前記クライアントアプリケーションの前記バージョン情報を含む通信要求が前記クライアントアプリケーションを実行している前記端末装置から前記サーバアプリケーションを実行しているサーバ宛にネットワーク経由で送信されると、前記ネットワーク上で前記通信要求を取得し、前記通信要求から前記クライアントアプリケーションの前記バージョン情報を抽出する通信要求監視手段と、
前記バージョン情報記憶手段を参照して、前記通信要求監視手段で抽出した前記バージョン情報で示されるバージョンが最新バージョンであるか否かを判定し、前記通信要求の要求元が最新バージョンでない場合、更新が必要と判定する更新判定手段と、
前記更新判定手段で更新が必要と判定されなかった場合、前記通信要求を前記サーバに対して送信し、前記更新判定手段で更新が必要と判定された場合、前記通信要求を破棄し、前記設定ファイル格納手段に格納された最新バージョンの前記クライアントアプリケーション設定ファイルを、前記通信要求の要求元の前記端末装置に対して送信する設定ファイル送信手段と、
を有することを特徴とするアプリケーション管理装置。
【図面の簡単な説明】
【０１１７】
【図１】実施の形態に適用される発明の概念図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】管理サーバのハードウェア構成を示す図である。
【図４】携帯端末装置の機能を示すブロック図である。
【図５】管理サーバの機能を示すブロック図である。
【図６】バージョン情報テーブルのデータ構造例を示す図である。
【図７】ユーザ情報テーブルのデータ構造例を示す図である。
【図８】運用情報テーブルのデータ構造例を示す図である。
【図９】更新判定処理の手順を示すフローチャートである。
【図１０】更新状況監視処理の手順を示すフローチャートである。
【図１１】本実施の形態の応用例のシステム構成を示す図である。
【図１２】本実施の形態の応用例の処理の流れを示す図である。
【符号の説明】
【０１１８】
１  コンピュータ
１ａ  設定ファイル格納手段
１ｂ  バージョン情報記憶手段
１ｃ  通信要求監視手段
１ｄ  更新判定手段
１ｅ  設定ファイル送信手段
２  端末装置
２ａ  クライアントアプリケーション
３  サーバ
３ａ  サーバアプリケーション
４  バージョン情報
【図１】
0004842690.tif 000002
【図２】
0004842690.tif 000003
【図３】
0004842690.tif 000004
【図４】
0004842690.tif 000005
【図５】
0004842690.tif 000006
【図６】
0004842690.tif 000007
【図７】
0004842690.tif 000008
【図８】
0004842690.tif 000009
【図９】
0004842690.tif 000010
【図１０】
0004842690.tif 000011
【図１１】
0004842690.tif 000012
【図１２】
0004842690.tif 000013