(57)【要約】      （修正有）【課題】、異なるバージョンのプログラムを簡単な操作で使い分けることができ、ユーザビリティを向上させる情報処理装置、プログラム管理方法及びプログラムを提供する。【解決手段】アプリケーションの更新プログラムをインストールする際に既存のアプリケーションと異なる領域に更新プログラムと更新プログラムに関する情報を保存する。アプリケーションを起動する際に更新プログラムに関する情報を参照して、起動するアプリケーションを制御する。また更新プログラムに関する情報は、更新プログラムの開始および停止に合わせて書き込み、または削除する。プログラム実行の際には、最も新しい情報に対応するプログラムが実行される。【選択図】図６
2018205967.tif 000002
【特許請求の範囲】
【請求項１】
既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段と、
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記削除手段により前記バージョン情報を削除した後、前記既存プログラムを実行することを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記更新版プログラムの実行を開始する操作に応じて、前記更新手段により前記更新版プログラムのバージョンを示す前記バージョン情報を保存し、前記実行制御手段により前記更新版プログラムを実行することを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
外部装置に対して画面情報を提供するためのＷｅｂサーバーをさらに有し、
前記更新版プログラムの実行を停止する操作及び開始する操作は、前記Ｗｅｂサーバーにより提供される前記画面情報に基づいて前記外部装置で表示される画面上で行われることを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理装置であって、
前記既存プログラムおよび前記更新版プログラムはＷｅｂブラウザーであることを特徴とする情報処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理装置であって、
外部装置からダウンロードしたプログラムのバージョンを示すバージョン情報と、前記プログラムに対応する前記既存プログラムまたは前記更新版プログラムのバージョン情報とを対応付けた対応情報を有し、
前記外部装置から前記プログラムをダウンロードした際には、前記対応情報を参照して、ダウンロードした前記プログラムに対応する前記既存プログラムまたは前記更新版プログラムを実行することを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記対応情報は、前記更新版プログラムのインストールの際に更新されることを特徴とする情報処理装置。
【請求項８】
請求項６または７に記載の情報処理装置であって、
前記既存プログラムまたは前記更新版プログラムはＷｅｂブラウザーであり、前記外部装置からダウンロードされるプログラムは前記Ｗｅｂブラウザーによりダウンロードされるスクリプトであり、
前記スクリプトをダウンロードした際には、前記Ｗｅｂブラウザーのバージョンが前記スクリプトに対応していない場合には、対応するバージョンのＷｅｂブラウザーを起動することを特徴とする情報処理装置。
【請求項９】
既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段と
してコンピュータを機能させるためのプログラム。
【請求項１０】
更新手段と実行制御手段と削除手段とを有する情報処理装置によるプログラム管理方法であって、
前記更新手段が、既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存し、
前記実行制御手段が、プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行し、
前記削除手段が、前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する
ことを特徴とするプログラム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの更新／追加が可能な情報処理装置およびプログラム管理方法、プログラムに関する。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバーに接続され、Ｗｅｂサーバー上のＷｅｂアプリケーションにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザー上に表示することが知られている。
【０００３】
この場合、まず情報処理装置のＷｅｂブラウザーが、Ｗｅｂサーバー上のＷｅｂアプリケーションに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂアプリケーションが情報処理装置からの要求に応えて、Ｗｅｂブラウザーに操作画面を表示させるためのＨＴＭＬデータを情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザーは、受信したＨＴＭＬデータを解析し、ＨＴＭＬデータの記述に基づいた操作画面を表示する。
【０００４】
更に、Ｗｅｂブラウザーに表示された操作画面を介してユーザーが指示を入力すると、入力された指示をＷｅｂブラウザーがＷｅｂサーバーに対して通知する。そして、この通知を受けたＷｅｂサーバー上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００５】
近年、スキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる画像処理装置の中にも、上述したようなＷｅｂブラウザーを備えているものがある。
【０００６】
ところで、ＨＴＭＬ５やＥＣＭＡＳＣＲＩＰＴ６、ＣＳＳ３に代表されるＷｅｂ技術は、新しい仕様や新しい技術が常に検討されており、日々進化している。Ｗｅｂブラウザーはそれらの新しい仕様に追随し、数多くの更新が行われており、それらの仕様変更や仕様追加に合わせて、Ｗｅｂアプリケーションの更新も活発である。一方で、業務用アプリなど、様々な要因で頻繁に更新することができないＷｅｂアプリケーションが存在する。それらのＷｅｂアプリケーションを利用する場合、Ｗｅｂブラウザーは更新せずに古いままにしておくことがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−１０３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、日々進化するＷｅｂサイトを閲覧するには、Ｗｅｂサイトに対応した新しいＷｅｂブラウザーが必要になる。そこで、Ｗｅｂアプリケーションのために古いＷｅｂブラウザーを残しつつ、最新のＷｅｂサイトを閲覧する際は最新のＷｅｂブラウザーを利用したい、という要望がある。しかし、最新のＷｅｂブラウザーの更新プログラムをインストールしてしまうと、古いＷｅｂブラウザーのプログラムは消えてしまう。特許文献１では、更新プログラムをインストールする際に、更新の信頼性を高めるために以前のプログラムをバックアップする例が記載されているが、更新が完了するとバックアップは削除される。再度古いＷｅｂブラウザーを利用するには、古いＷｅｂブラウザーをインストールし直す必要がある。このように、古いＷｅｂブラウザーと新しいＷｅｂブラウザーを共存させることができず、容易にそれら二つを切り替えることができないという課題がある。
【０００９】
本発明は上記従来例に鑑みて成されたもので、異なるバージョンのプログラムを簡単な操作で使い分けることができ、ユーザビリティを向上させる情報処理装置、プログラム管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明は以下の構成を有する。すなわち、情報処理装置であって、
既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、異なるバージョンのプログラムを簡単な操作で使い分けることができ、ユーザビリティを向上させることが可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるＭＦＰの接続されるシステムの全体図である。
【図２】本発明の実施形態におけるＭＦＰのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態における更新情報および追加アプリ保存部のソフトウェア構成を示す図である。
【図４】本発明の実施形態における初期状態および更新済みの更新情報テーブルそれぞれを示す図である。
【図５】本発明の実施形態における更新プログラムインストール時のシーケンスを示す図である。
【図６】本発明の実施形態におけるプログラム起動部のプログラム起動のフローを示す図である。
【図７】本発明の実施形態における追加アプリ管理画面を示す図である。
【図８】本発明の実施形態におけるＪａｖａＳｃｒｉｐｔとＷｅｂブラウザーの対応表を示す図である。
【図９】本発明の実施形態におけるＷｅｂブラウザーの自動切換えのシーケンスを示す図である。
【図１０】本発明の実施形態におけるＷｅｂブラウザーの自動切換えの判断に利用するＪａｖａＳｃｒｉｐｔファイルの例である。
【図１１】実施形態１における停止指示および開始指示に応じた処理フローを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
［実施形態１］
＜システム構成＞
図１は、本実施形態の画像処理装置を用いたシステムの構成例である。本システムはネットワーク１００を介して接続される画像処理装置であるＭＦＰ１０１と、ＭＦＰ１０１の外部装置であるＷｅｂサーバー１０２とを含むよう構成される。ＭＦＰ１０１は、その情報処理機能に着目すれば情報処理装置と呼ぶこともできる。ネットワーク１００は各装置間で通信を行うための基盤であって、インターネットに接続されていても良い。ＭＦＰ１０１はＷｅｂブラウザー機能を有する装置であれば、ＭＦＰ（Ｍｕｌｔｉｐｌｅ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）に限定されるものではない。Ｗｅｂサーバー１０２は、ネットワーク経由でＭＦＰ１０１と接続されており、Ｗｅｂコンテンツを、ネットワークを介して配信する機能を持っており、ＭＦＰ１０１からのリクエストに応じてＷｅｂコンテンツを提供する。各装置はローカルネットワーク上に存在しても良いし、インターネットを越えて接続されていても良い。また、Ｗｅｂサーバー１０２はＭＦＰ１０１の機能としてＭＦＰ１０１の中に存在してもよい。
【００１４】
図２は本実施例のＭＦＰ１０１、Ｗｅｂサーバー１０２のハードウェア構成の一例である。この構成例には、装置全体を制御するＣＰＵ２０１、ＣＰＵ２０１のワークエリアを提供するＲＡＭ２０２、本実施形態に係る発明を実現するためのプログラムや様々な設定を記憶する記憶装置２０３（ＨＤＤやＮＶＲＡＭ等でもよい）が含まれる。さらに、ユーザーがコマンドの入力を行うユーザー入力装置２０４、画面表示を行うＵＩ表示装置２０５、他機器とネットワークによる通信を行うネットワーク装置２０６、メインバス２００が含まれるよう構成されている。尚、本実施形態では特に断らない限り、ＭＦＰ１０１、Ｗｅｂサーバー１０２では、ＣＰＵ２０１がメインバス２００を介してＲＡＭ２０２、記憶装置２０３、ユーザー入力装置２０４、ＵＩ表示装置２０５、ネットワーク装置２０６を制御する。また、タッチパネルディスプレイのようにＵＩ表示装置２０５がユーザー入力装置２０４を兼ねても良い。ただし、Ｗｅｂサーバー１０２は、ユーザー入力装置２０４とＵＩ表示装置２０５を有していなくても良い。また、ＭＦＰ１０１はその他にも画像読取装置や画像印刷装置がメインバス２００に接続されていても良い。
【００１５】
●ソフトウェア構成
図３（ａ）は本実施例におけるＭＦＰ１０１のソフトウェア構成を説明するための図である。図３（ａ）に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２０１が制御プログラムを実行することにより実現される。ＭＦＰ１０１は、Ｗｅｂブラウザー３０１、プログラム起動部３０２、追加アプリ管理部３０３、追加アプリ保存部３０４、更新情報記憶部３０５を有する。これら各機能部によりＭＦＰ１０１によるプログラム管理方法が実現される。
【００１６】
Ｗｅｂブラウザー３０１は、任意のサーバーと通信を行うことによってＷｅｂコンテンツを取得し、取得したＷｅｂコンテンツを画面に表示するといった機能を有するものであればよい。
【００１７】
プログラム起動部３０２は、ＭＦＰ１０１を起動した際に一緒に起動されるプログラムで、起動後、Ｗｅｂブラウザー３０１を起動する役割を担う。本実施例では、Ｗｅｂブラウザーを起動する例を示すが、汎用的に他のプログラムを起動する役割を持っていても良い。プログラム起動部３０２は、ＭＦＰ１０１の起動時、または他のプログラムからＷｅｂブラウザー３０１を起動するように依頼された場合に、更新情報記憶部３０５に記憶されている更新情報テーブル（図４（ａ））を参照する。更新情報テーブル（図４（ａ））は、アプリケーションごとに、アプリ名４０１、既存アプリパス４０２、更新アプリパス４０３、既存アプリバージョン４０４、更新アプリバージョン４０５の情報を有するテーブルである。アプリ名はアプリケーションの識別情報であり、アプリパスはアプリケーションの所在、アプリバージョンはアプリケーションの版（バージョン）を識別(あるいは特定)するための情報である。プログラム起動部３０２は、アプリ名４０１がＷｅｂブラウザーを示す「browser」となっている行の更新アプリパス４０３を参照し、値が格納されているかどうか判断する。値が格納されている場合は（図４（ｂ）参照）、その更新アプリパス４０３の値が指し示す場所に更新版アプリケーションが存在することを意味する。このとき、プログラム起動部３０２は既存アプリバージョン４０４と更新アプリバージョン４０５とを比較し、更新アプリバージョン４０５のほうが新しい場合は、プログラム起動部３０２は更新アプリパス４０３が指し示す場所に存在するＷｅｂブラウザーを起動する。一方更新アプリバージョン４０５のほうが古い場合は、更新アプリパス４０３ではなく、既存アプリパス４０２のＷｅｂブラウザーを起動する。これは、更新版アプリケーションが既存アプリケーションより古い可能性があるためである。一方で、更新アプリパス４０３に値が格納されていない場合は（図４（ａ））、更新プログラムがインストールされていないことを意味し、プログラム起動部３０２は、既存アプリパス４０２の場所に存在するＷｅｂブラウザーを起動する。
【００１８】
追加アプリ管理部３０３は、ＭＦＰ１０１に対して追加アプリをインストール／アンインストールしたり、開始／停止を制御したりするプログラムである。追加アプリとは、ＭＦＰ１０１のファームウェアに最初から含まれないアプリケーションで、あとから追加可能なプログラムのことを指す。たとえば、ＭＦＰ１０１がＪａｖａ（登録商標）で記述したアプリケーションを実行するためのプラットフォームを有する場合、追加アプリはＪａｖａ（登録商標）アプリとして作られ、追加アプリ管理部３０３はＪａｖａＶＭ及びＪａｖａアプリの管理モジュールであることが考えられる。追加アプリ管理部３０３は、アプリ管理画面（図７）をＵＩ表示装置２０５に表示でき、利用者はアプリ管理画面（図７）を通じて、追加アプリのインストール／アンインストールや、開始／停止の制御が可能である。本実施例では、ＭＦＰ１０１はＷｅｂサーバーも有しており、アプリ管理画面（図７）は、ＭＦＰ１０１にＷｅｂアプリケーションとして実装されていることを想定している。管理者あるいはユーザーは、ネットワーク１００に接続されているＰＣ（不図示）上のＷｅｂブラウザーか、もしくはデバイス内部のＷｅｂブラウザー３０１からＭＦＰ１０１のＷｅｂサーバーにアクセスして追加アプリ管理部３０３を利用する。
【００１９】
アプリ管理画面（図７）には、インストールされている追加アプリごとにアプリ状態７０１とアプリ制御ボタン７０２とが含まれており、さらに、追加アプリをインストールするために追加アプリを参照する参照ボタン７０３が含まれる。アプリ状態７０１は、インストールされている追加アプリが動作中か停止中かを表示する。アプリ制御ボタン７０２は追加アプリの開始／停止を切り替えるボタンである。参照ボタン７０３は、追加アプリをインストールする際に利用するボタンで、押下することでＰＣ（不図示）に保存されている追加アプリを選択し、インストールすることができる。追加アプリ管理部３０３は、アプリ管理画面（図７）の参照ボタン７０３を通じて追加アプリのインストールを受け付けると、受け付けた追加アプリを追加アプリ保存部３０４に保存する。また、追加アプリ管理部３０３は、追加アプリのインストールと同時に追加アプリを開始する。
【００２０】
追加アプリ保存部３０４は、追加アプリ管理部３０２を通して追加アプリがインストールされる際に、追加アプリを保存する領域であり、Ｗｅｂブラウザー３０１が保存されている領域とは異なる領域である。従って、追加アプリとしてＷｅｂブラウザーを更新するための更新プログラムがインストールされた場合、更新プログラム３１０は追加アプリ保存部３０４に保存されて既存のＷｅｂブラウザー３０１を上書きはしない。一方で、Ｗｅｂブラウザー機能を含む或いは利用する追加アプリが複数インストールされた場合、新しいバージョンの追加アプリによって古いバージョンの追加アプリを上書きしても良いし、並列に保存した後、排他動作させても良い。
【００２１】
追加アプリとしてＷｅｂブラウザーの更新プログラムがインストールされた場合の、追加アプリ保存部３０４の構成を図３（ｂ）に示す。追加アプリ保存部３０４には、更新プログラム３１０が保存されている。更新プログラム３１０は、更新対象のプログラムを更新するための更新制御モジュール３１１と、更新対象のプログラムの新たなバージョンである更新版プログラム（本例では更新版Ｗｅｂブラウザー３１２）で構成されている。追加アプリ管理部３０３を通じて、更新プログラム３１０が開始されると更新制御モジュール３１１が実行される。更新制御モジュール３１１は、更新版Ｗｅｂブラウザー３１２の配置されているパスとバージョンの情報とを更新情報記憶部３０５の更新情報テーブルに記憶する。更新版Ｗｅｂブラウザー３１２の配置されているパスは更新アプリパス４０３に、更新版Ｗｅｂブラウザー３１２のバージョン情報は更新アプリバージョン４０５に格納される。これは、アプリ管理画面（図７）のアプリ制御ボタン７０２（「開始する」ボタン）によって追加アプリが開始された場合も同様である。すなわち、停止状態にある更新プログラム３１０を対象プログラムとして「開始する」ボタンが押下されると、更新プログラム３１０の更新制御モジュール３１１が実行されて上述したように更新版Ｗｅｂブラウザー３１２の配置されているパスは更新アプリパス４０３に、更新版Ｗｅｂブラウザー３１２のバージョン情報は更新アプリバージョン４０５に格納される。
【００２２】
一方で、アプリ管理画面（図７）のアプリ制御ボタン７０２（「停止する」ボタン）によって追加アプリが停止された場合は、更新制御モジュール３１１は、更新情報記憶部３０５の更新情報テーブルから、停止されたアプリの更新アプリパス４０３、更新アプリバージョン４０５の情報を削除する。図４（ａ）は、更新版Ｗｅｂブラウザー３１２をはじめ追加アプリがインストールされていないか、あるいは停止されている状態の更新情報テーブルを示す。一方図４（ｂ）は、バージョン２．５．５の更新版Ｗｅｂブラウザー３１２がインストールされ、かつ動作している状態の更新情報テーブルを示す。
【００２３】
なお、同じプログラム例えばＷｅｂブラウザーについて、複数のバージョンの更新プログラム３１０がインストールされている場合にも、上記手順で実行するバージョンを選択できる。すなわち、バージョンごとの更新プログラムがそれぞれ別々にインストールされるので、利用したいバージョンの更新プログラムをアプリ管理画面から選択して「開始する」を選択すればよい。ただしこの場合には、いずれかのバージョンを排他的に実行させるために、「開始する」が選択されたならそのバージョンを除く更新プログラムについて停止させ、その後で選択されたバージョンの更新プログラムを実行する。こうすることで、実行開始するものとして選択されていないバージョンの更新アプリパスおよび更新アプリバージョンを更新情報テーブルからまず削除し、その後で、実行するバージョンの更新アプリパスおよび更新アプリバージョンを登録できる。そして登録したバージョンの更新版プログラムたとえばＷｅｂブラウザーが実行開始される。
【００２４】
なお更新版でないアプリケーション（すなわち初めてインストールするアプリケーション）については、更新情報テーブルのアプリ名４０１および既存アプリパス４０２および既存アプリバージョン４０４がそのインストール時に登録される。
【００２５】
更新情報記憶部３０５は、更新情報テーブル（図４（ａ）、図４（ｂ））を保存する記憶領域である。前述の通り、追加アプリ保存部３０４に保存されている更新プログラム３１０の更新制御モジュール３１１によって書き換えられる。
【００２６】
●更新プログラムのインストールのシーケンス
図５は本実施例における更新プログラムインストール時のシーケンスであり、アプリ管理画面（図７）を通して追加アプリ管理部３０３に対して更新プログラム３１０のインストールが指示された場合の処理を示す。
ステップＳ５０１では、追加アプリ管理部３０３は、更新プログラム３１０を追加アプリ保存部３０４に保存し、更新プログラム３１０を開始する。
ステップＳ５０２では、追加アプリ保存部３０４に保存されている更新プログラム３１０の更新制御モジュール３１１が、更新情報記憶部３０５に、更新プログラム３１０のパスとバージョンとを更新情報テーブルに保存する。このとき更新プログラム３１０は、更新対象のアプリ名（本例では「ｂｒｏｗｓｅｒ」という名前）を用いて、そのアプリ名と一致するアプリ名の行を、更新情報テーブル（図４）から対象となるアプリを示すレコードとして決定している。該当するレコードがあれば、更新プログラム３１０は、そのレコードの更新アプリパス４０３と更新アプリバージョン４０５とに、更新版プログラムのパスとバージョンとを記録する。該当するレコードがなければ、更新プログラム３１０は、たとえばそのレコードの既存アプリパス４０２と既存アプリバージョン４０４とに、更新版プログラムのパスとバージョンとを記録してよい。これにより既存のプログラムがない状態でインストールされた更新版プログラムは、既存の（すなわちインストール済みの）プログラムとして更新情報テーブルに記録される。あるいは該当するレコードが無ければその旨をＵＩ表示装置２０５に表示してユーザーに通知してもよい。
ステップＳ５０３では、追加アプリ保存部３０４に保存されている更新プログラム３１０の更新制御モジュール３１１が、プログラム起動部３０２に対して、Ｗｅｂブラウザーの再起動を依頼する。
ステップＳ５０４では、プログラム起動部３０２は、Ｗｅｂブラウザー３０１を停止する。
ステップＳ５０５では、プログラム起動部３０２は、更新情報記憶部３０５に記憶されているＷｅｂブラウザーの更新情報テーブル（図４）を参照する。
ステップＳ５０６では、プログラム起動部３０３は、ステップＳ５０５で参照した更新情報テーブルを元に、既存プログラムと更新プログラムのどちらを起動するかを判断する。ここでは更新情報テーブルに登録されたアプリの最新バージョンを実行するアプリとして決定する。本例では、Ｗｅｂブラウザーの更新アプリパス４０３が存在し、更新アプリバージョン４０５が既存アプリバージョンより新しいため、更新アプリパス４０３に記載されているプログラムを起動することを決める。
ステップＳ５０７では、プログラム起動部３０２は、ステップＳ５０６の判断により決定したアプリ、本例では追加アプリ保存部３０４に保存されている更新プログラム３１０の更新版Ｗｅｂブラウザー３１２を起動する。
【００２７】
以上のように、更新プログラムのインストール時に更新プログラムが起動する。また、ＭＦＰ１０１の起動時には、更新プログラムの起動の流れはＳ５０５〜Ｓ５０８と同じである。
【００２８】
アプリ管理画面（図７）の「開始する」ボタンあるいは「停止する」ボタンに応じた手順については図１１を参照して改めて説明する。
【００２９】
●起動対象アプリケーションの決定
図６は、プログラム起動部３０２における、既存アプリケーションと更新版アプリケーションのどちらを起動するかの判断処理、すなわち起動対象のバージョンの決定処理（あるいは実行制御）を示すフローである。この手順は、ソフトウェア上はプログラム起動部３０２により、ハードウェア上はＣＰＵ２０１により実行される。この手順は図５のステップＳ５０５〜Ｓ５０７に相当し、プログラム起動部３０２により実行される。
ステップＳ６０１では、プログラム起動部３０２は、更新情報記憶部３０５に記憶されている対象プログラムの更新情報を参照する。
ステップＳ６０２では、ステップＳ６０１で参照した更新情報に、更新アプリパス４０３が記載されているかどうかを確認する。更新アプリパスが記載されている場合は、ステップＳ６０３に進む。記載されていない場合はステップＳ６０５に進む。
ステップＳ６０３では、ステップＳ６０１で参照した更新情報において、更新アプリバージョンが、既存アプリバージョンより新しいかどうかを確認する。新しい場合はステップＳ６０４に移動する。そうでない場合は、ステップＳ６０５に移動する。
ステップＳ６０４では、プログラム起動部３０２は、ステップＳ６０１で参照した更新情報に含まれる更新アプリパス４０３に記載されているプログラムを起動する。
ステップＳ６０５では、プログラム起動部３０２は、ステップＳ６０１で参照した更新情報に含まれる既存アプリパス４０２に記載されているプログラムを起動する。
【００３０】
●アプリケーションの開始および停止手順
図１１に、図７のアプリ管理画面において「停止する」ボタン（以下、停止指示とも呼ぶ）が押下された場合の処理手順および、「開始する」ボタン（以下、開始指示とも呼ぶ）が押下された場合のＭＦＰ１０１により処理手順それぞれを示す。Ｗｅｂブラウザーにより表示されたアプリ管理画面の停止指示に応じてＭＦＰ１０１のＷｅｂサーバーがその停止指示を受け付ける。停止指示はたとえば追加アプリ管理部３０３に引き渡されて、停止指示の対象プログラムを停止させる（Ｓ１１０１）。このとき対象プログラムが更新プログラム３１０である場合、そこに含まれる更新版プログラム（たとえば更新版Ｗｅｂブラウザー３１２）も停止する。続いて、対象プログラムの名称をアプリ名として持つ更新情報テーブルの更新アプリパス４０２および更新アプリバージョン４０５を削除する（Ｓ１１０２）。この後、図６のステップＳ６０１へ分岐し、更新前の既存プログラムを実行する。これにより、更新版プログラムは停止し、更新されていない、既存プログラムが実行される。
【００３１】
一方、アプリ管理画面で開始指示が入力された場合、ＭＦＰ１０１では、Ｗｅｂサーバーがその開始指示を受け付ける。開始指示に応じてたとえば追加アプリ管理部３０３は、開始指示の対象プログラムを実行させる。そのために、図５のステップＳ５０２から実行させる。ステップＳ５０２からの処理では、開始指示の対象プログラムが通常の追加アプリケーションであればそれを実行する。一方、対象プログラムが更新プログラム３１０であれば、更新プログラム３１０が実行されて、所在およびバージョンを、更新情報テーブルの更新アプリパス４０３及び更新アプリバージョン４０５へと登録し（Ｓ５０２）、プログラム起動部３０２により既存アプリを停止させる。その後プログラム起動部３０２すなわち図６の手順がステップＳ６０１から実行される。
【００３２】
これにより、更新情報テーブルの更新アプリパス４０３および更新アプリバージョン４０５には更新プログラム３１０のパスおよびバージョンが登録されて、図６の手順が実行され、更新版プログラム（更新版Ｗｅｂブラウザー）が実行される。
【００３３】
以上の構成及び手順により、Ｗｅｂブラウザーに表示された画面上で更新アプリケーションの停止および開始を指示でき、既存バージョンと更新バージョンとを容易に切り替えることができる。
【００３４】
［実施形態２］
ここまでに記載した方法では、ユーザーが、アプリ管理画面（図７）を用いて、更新プログラムを利用するか、既存プログラムを利用するかを設定する。そのため、ユーザーが必要に応じて、例えば図７のアプリ管理画面から随時切り替え操作をすることになる。本実施形態では、Ｗｅｂコンテンツに含まれるスクリプト例えばＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリの違いによって、自動でアプリが対応するＷｅｂブラウザーを判断して切り替える。なお本実施形態でも、実施形態１のように新たにインストールした更新プログラムについては、更新情報テーブル（図４）に登録され、また、停止または開始に応じて、更新プログラムの更新アプリパスおよび更新アプリバージョンが削除され、または登録されて、実行されているＷｅｂブラウザーのバージョンを特定できる。
【００３５】
●スクリプトを用いた実行対象バージョンの決定
図８は、コンテンツに合わせて既存アプリケーションと更新版アプリケーション
のうちのどれを起動するか判断する場合に利用する、ＪａｖａＳｃｒｉｐｔ（登録商標）とＷｅｂブラウザーのバージョンを対応付けたバージョン対応表あるいは対応情報である。バージョン対応表は、更新情報記憶部３０５に保存されており、更新プログラム３１０のインストール時に、更新制御モジュール３１１によって更新される。バージョン対応表には、スクリプト名８０１、スクリプトバージョン８０２、対応ブラウザーバージョン８０３が含まれる。対応ブラウザーバージョン８０３は、スクリプト名８０１およびスクリプトバージョン８０２で特定されるスクリプトに対応するブラウザーである。Ｗｅｂブラウザー３０１、または更新版Ｗｅｂブラウザー３１２がサーバー１０２のＷｅｂコンテンツに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）をダウンロードした際に、ダウンロードしたスクリプトのスクリプト名およびスクリプトバージョンを取得する。プログラム起動部３０２はスクリプト名８０１、スクリプトバージョン８０２から、対応ブラウザーバージョン８０３を参照する。そして、プログラム起動部３０２は、参照したブラウザーバージョン８０３と現在動作しているＷｅｂブラウザーのバージョンとを比較し、異なると判断した場合は、現在動作しているＷｅｂブラウザーを停止し、ブラウザーバージョン８０３のＷｅｂブラウザーを起動する。現在動作しているＷｅｂブラウザーは、たとえば実施形態１の更新情報テーブル（図４）などを参照することで特定できる。またＷｅｂブラウザーの起動の際には、更新情報テーブル（図４）を参照して、既存アプリバージョン４０４または更新アプリバージョン４０５にブラウザーバージョン８０３と一致するものがあるか判定する。一致するものがあれば該当するバージョンの所在を一致したアプリバージョン対応するアプリパスで特定し、そのアプリ（Ｗｅｂブラウザー）を起動する。一致するものが無ければたとえば最新のバージョンを起動してよい。
【００３６】
Ｗｅｂコンテンツに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）の例を図１０に示す。Ｗｅｂコンテンツに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリには、ＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリ名１００１と、ＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリバージョン１００２が含まれる。Ｗｅｂブラウザー３０１、または更新版Ｗｅｂブラウザー３１２がこれらを参照することによって、プログラム起動部３０２は、前記バージョン対応表から、対応するＷｅｂブラウザーのバージョンを決定することができる。
【００３７】
●Ｗｅｂブラウザーの切り替え
プログラム起動部３０２が、ＪａｖａＳｃｒｉｐｔライブラリのバージョンによって、利用するＷｅｂブラウザーを切り替える際のシーケンスを図９に示す。
ステップＳ９０１では、Ｗｅｂブラウザー３０１は、Ｗｅｂアプリケーションの画面情報を取得するためにＷｅｂサーバー１０２に対してＨＴＴＰリクエストを送信する
ステップＳ９０２では、Ｗｅｂサーバー１０２は、ステップＳ９０１で受信したリクエストに対するレスポンスとしてＨＴＭＬデータを送信する。
ステップＳ９０３では、Ｗｅｂブラウザー３０１は、ステップＳ９０２で受信したＨＴＭＬデータを解釈／実行することでＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリを取得するためのＨＴＴＰリクエストを送信する。
ステップＳ９０４では、Ｗｅｂサーバー１０２は、ステップＳ９０３で受信したリクエストに対するレスポンスとしてＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリを送信する。
ステップＳ９０５では、Ｗｅｂブラウザー３０１は、前記ステップＳ９０４で受信したＪａｖａＳｃｉｒｐｔ（登録商標）ライブラリから、ライブラリ名とライブラリのバージョンを取得する。
ステップＳ９０６では、Ｗｅｂブラウザー３０１は、プログラム起動部３０２に対してステップＳ９０５で取得したライブラリ名とライブラリのバージョン、およびステップＳ９０１でリクエストを送信したＵＲＬを通知する。
【００３８】
ステップＳ９０７では、プログラム起動部３０２は、更新情報記憶部３０５に保存されているバージョン対応表から、ステップＳ９０６で通知されたライブラリ名とライブラリのバージョンを基に、対応ブラウザーバージョンを取得する。本例では、更新版Ｗｅｂブラウザー３１２に対応するバージョンが得られたとして説明する。なおここでいう対応とはたとえば、プログラム間（たとえばスクリプトとＷｅｂブラウザーとの間）のインターフェースが整合しており、正しく動作することなどをいう。
ステップＳ９０８では、プログラム起動部３０２は、ステップＳ９０７で取得した対応ブラウザーバージョンを基に、どのＷｅｂブラウザーを起動するかを決める。具体的には、現在起動しているＷｅｂブラウザーは、未更新版のＷｅｂブラウザー３０１であるため、Ｗｅｂブラウザー３０１を停止し、更新版Ｗｅｂブラウザー３１２を起動することを決める。このとき、スクリプトに対応するバージョンのＷｅｂブラウザーが存在しない場合は、その旨を通知するダイアログを表示しても良い。
ステップＳ９０９では、プログラム起動部３０２は、Ｗｅｂブラウザー３０１を停止する。
ステップＳ９１０では、プログラム起動部３０２は、スクリプトに対応するバージョンのＷｅｂブラウザー、本例では追加アプリ保存部３０４に保存されている更新版Ｗｅｂブラウザー３１２を起動する。このとき、プログラム起動部３０２は、ステップＳ９０６で受信したＵＲＬを更新版Ｗｅｂブラウザー３１２に通知する。
ステップＳ９１１では、更新版Ｗｅｂブラウザー３１２は、ステップＳ９１０で受信したＵＲＬに従って、Ｗｅｂサーバー１０２にリクエストを送信する。
【００３９】
ステップＳ９１２では、Ｗｅｂサーバー１０２は、更新版Ｗｅｂブラウザー３１２にＨＴＭＬデータを送信する。
ステップＳ９１３では、更新版Ｗｅｂブラウザー３１２は、ステップＳ９１２で受信したＨＴＭＬデータを解釈／実行することでＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリを取得するためのＨＴＴＰリクエストを送信する。
ステップＳ９１４では、Ｗｅｂサーバー１０２は、ステップＳ９１３で受信したリクエストに対するレスポンスとしてＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリを送信する。
ステップＳ９１５では、更新版Ｗｅｂブラウザー３１２は、ステップＳ９１４で受信したＪａｖａＳｃｒｉｐｔ（登録商標）ライブラリを実行する。
【００４０】
本実施例ではＪａｖａＳｃｒｉｐｔ（登録商標）の名前とバージョンから対応するＷｅｂブラウザーのバージョンを特定しているが、方法はこれに限らない。たとえば、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイルのハッシュ値で特定しても良いし、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイルに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）ＡＰＩの種類やバージョンによって判断しても良い。この様にして本実施形態では、ダウンロードしたスクリプトに対応するＷｅｂブラウザーを、ユーザーが切り替えの操作を行わなくとも実行できる。これにより一層操作性が向上する。
【００４１】
以上に示す構成により、あるプログラムに対して複数の異なるバージョン、すなわち既存プログラムと更新プログラムとを共存させることができる。また、更新プログラムの開始、停止を容易に変更できるようになる。すなわち、あるプログラムの複数のバージョンのうちから選択したバージョンを実行できるようになる。あるいは、ダウンロードしたスクリプトに対応したバージョンを自動的に実行できる。これにより、一度インストールすれば、インストール/アンインストールを実施することなく、異なるバージョンのＷｅｂブラウザーを使い分けることが可能になり、ユーザビリティが向上する。
【００４２】
なお実施形態１および実施形態２では、既存プログラム及び更新版プログラムとしてＷｅｂブラウザーを例としたが、Ｗｅｂブラウザー以外のプログラムについても適用できる。たとえばアプリケーションプログラムによりＷｅｂブラウザー機能を提供するために、Ｗｅｂｖｉｅｗというクラスが例えばＪａｖａ（登録商標）などでは提供されている。このＷｅｂｖｉｅｗについても、たとえばＷｅｂｖｉｅｗのバージョンや、Ｗｅｂｖｉｅｗを含むライブラリのバージョンなどを用いて、上記実施形態を適用することもできる。
【００４３】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４４】
３０１  Ｗｅｂブラウザー、３０２  プログラム起動部、３０３  追加アプリ管理部、３０４  追加アプリ保存部、３０５  更新情報記憶部
【図１】
2018205967.tif 000003
【図２】
2018205967.tif 000004
【図３】
2018205967.tif 000005
【図４】
2018205967.tif 000006
【図５】
2018205967.tif 000007
【図６】
2018205967.tif 000008
【図７】
2018205967.tif 000009
【図８】
2018205967.tif 000010
【図９】
2018205967.tif 000011
【図１０】
2018205967.tif 000012
【図１１】
2018205967.tif 000013