JP6889617B2 - 情報処理装置、プログラム管理方法、及びプログラム - Google Patents

情報処理装置、プログラム管理方法、及びプログラム Download PDF

Info

Publication number
JP6889617B2
JP6889617B2 JP2017109317A JP2017109317A JP6889617B2 JP 6889617 B2 JP6889617 B2 JP 6889617B2 JP 2017109317 A JP2017109317 A JP 2017109317A JP 2017109317 A JP2017109317 A JP 2017109317A JP 6889617 B2 JP6889617 B2 JP 6889617B2
Authority
JP
Japan
Prior art keywords
program
version
update
information
application
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.)
Active
Application number
JP2017109317A
Other languages
English (en)
Other versions
JP2018205967A (ja
Inventor
万里雄 伊藤
万里雄 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017109317A priority Critical patent/JP6889617B2/ja
Priority to US15/988,409 priority patent/US20180349125A1/en
Priority to CN201810558998.5A priority patent/CN108984192B/zh
Publication of JP2018205967A publication Critical patent/JP2018205967A/ja
Application granted granted Critical
Publication of JP6889617B2 publication Critical patent/JP6889617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00214Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
    • H04N1/0022Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission involving facsimile protocols or a combination of facsimile protocols and computer data transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • H04N1/00222Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
    • H04N1/00233Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing details of image data reproduction, e.g. network printing or remote image display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00925Inhibiting an operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、アプリケーションの更新/追加が可能な情報処理装置およびプログラム管理方法、プログラムに関する。
PCなどの情報処理装置がネットワーク上のWebサーバーに接続され、Webサーバー上のWebアプリケーションにより提供される操作画面を、情報処理装置が備えるWebブラウザー上に表示することが知られている。
この場合、まず情報処理装置のWebブラウザーが、Webサーバー上のWebアプリケーションに対して操作画面を要求(リクエスト)する。そして、Webアプリケーションが情報処理装置からの要求に応えて、Webブラウザーに操作画面を表示させるためのHTMLデータを情報処理装置に応答(レスポンス)する。情報処理装置のWebブラウザーは、受信したHTMLデータを解析し、HTMLデータの記述に基づいた操作画面を表示する。
更に、Webブラウザーに表示された操作画面を介してユーザーが指示を入力すると、入力された指示をWebブラウザーがWebサーバーに対して通知する。そして、この通知を受けたWebサーバー上のWebアプリケーションは、入力された指示に従って処理を実行する。
近年、スキャナやプリンタを備えたMFP(Multi Function Peripheral)と呼ばれる画像処理装置の中にも、上述したようなWebブラウザーを備えているものがある。
ところで、HTML5やECMASCRIPT6、CSS3に代表されるWeb技術は、新しい仕様や新しい技術が常に検討されており、日々進化している。Webブラウザーはそれらの新しい仕様に追随し、数多くの更新が行われており、それらの仕様変更や仕様追加に合わせて、Webアプリケーションの更新も活発である。一方で、業務用アプリなど、様々な要因で頻繁に更新することができないWebアプリケーションが存在する。それらのWebアプリケーションを利用する場合、Webブラウザーは更新せずに古いままにしておくことがある。
特開2016−103159号公報
しかしながら、日々進化するWebサイトを閲覧するには、Webサイトに対応した新しいWebブラウザーが必要になる。そこで、Webアプリケーションのために古いWebブラウザーを残しつつ、最新のWebサイトを閲覧する際は最新のWebブラウザーを利用したい、という要望がある。しかし、最新のWebブラウザーの更新プログラムをインストールしてしまうと、古いWebブラウザーのプログラムは消えてしまう。特許文献1では、更新プログラムをインストールする際に、更新の信頼性を高めるために以前のプログラムをバックアップする例が記載されているが、更新が完了するとバックアップは削除される。再度古いWebブラウザーを利用するには、古いWebブラウザーをインストールし直す必要がある。このように、古いWebブラウザーと新しいWebブラウザーを共存させることができず、容易にそれら二つを切り替えることができないという課題がある。
本発明は上記従来例に鑑みて成されたもので、異なるバージョンのプログラムを簡単な操作で使い分けることができ、ユーザビリティを向上させる情報処理装置、プログラム管理方法及びプログラムを提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、情報処理装置であって、
既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段とを有することを特徴とする。
本発明によれば、異なるバージョンのプログラムを簡単な操作で使い分けることができ、ユーザビリティを向上させることが可能になる。
本発明の実施形態におけるMFPの接続されるシステムの全体図である。 本発明の実施形態におけるMFPのハードウェア構成を示すブロック図である。 本発明の実施形態における更新情報および追加アプリ保存部のソフトウェア構成を示す図である。 本発明の実施形態における初期状態および更新済みの更新情報テーブルそれぞれを示す図である。 本発明の実施形態における更新プログラムインストール時のシーケンスを示す図である。 本発明の実施形態におけるプログラム起動部のプログラム起動のフローを示す図である。 本発明の実施形態における追加アプリ管理画面を示す図である。 本発明の実施形態におけるJavaScriptとWebブラウザーの対応表を示す図である。 本発明の実施形態におけるWebブラウザーの自動切換えのシーケンスを示す図である。 本発明の実施形態におけるWebブラウザーの自動切換えの判断に利用するJavaScriptファイルの例である。 実施形態1における停止指示および開始指示に応じた処理フローを示す図である。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
[実施形態1]
<システム構成>
図1は、本実施形態の画像処理装置を用いたシステムの構成例である。本システムはネットワーク100を介して接続される画像処理装置であるMFP101と、MFP101の外部装置であるWebサーバー102とを含むよう構成される。MFP101は、その情報処理機能に着目すれば情報処理装置と呼ぶこともできる。ネットワーク100は各装置間で通信を行うための基盤であって、インターネットに接続されていても良い。MFP101はWebブラウザー機能を有する装置であれば、MFP(Multiple Function Peripheral)に限定されるものではない。Webサーバー102は、ネットワーク経由でMFP101と接続されており、Webコンテンツを、ネットワークを介して配信する機能を持っており、MFP101からのリクエストに応じてWebコンテンツを提供する。各装置はローカルネットワーク上に存在しても良いし、インターネットを越えて接続されていても良い。また、Webサーバー102はMFP101の機能としてMFP101の中に存在してもよい。
図2は本実施例のMFP101、Webサーバー102のハードウェア構成の一例である。この構成例には、装置全体を制御するCPU201、CPU201のワークエリアを提供するRAM202、本実施形態に係る発明を実現するためのプログラムや様々な設定を記憶する記憶装置203(HDDやNVRAM等でもよい)が含まれる。さらに、ユーザーがコマンドの入力を行うユーザー入力装置204、画面表示を行うUI表示装置205、他機器とネットワークによる通信を行うネットワーク装置206、メインバス200が含まれるよう構成されている。尚、本実施形態では特に断らない限り、MFP101、Webサーバー102では、CPU201がメインバス200を介してRAM202、記憶装置203、ユーザー入力装置204、UI表示装置205、ネットワーク装置206を制御する。また、タッチパネルディスプレイのようにUI表示装置205がユーザー入力装置204を兼ねても良い。ただし、Webサーバー102は、ユーザー入力装置204とUI表示装置205を有していなくても良い。また、MFP101はその他にも画像読取装置や画像印刷装置がメインバス200に接続されていても良い。
●ソフトウェア構成
図3(a)は本実施例におけるMFP101のソフトウェア構成を説明するための図である。図3(a)に示す各機能部は、MFP101が有しているCPU201が制御プログラムを実行することにより実現される。MFP101は、Webブラウザー301、プログラム起動部302、追加アプリ管理部303、追加アプリ保存部304、更新情報記憶部305を有する。これら各機能部によりMFP101によるプログラム管理方法が実現される。
Webブラウザー301は、任意のサーバーと通信を行うことによってWebコンテンツを取得し、取得したWebコンテンツを画面に表示するといった機能を有するものであればよい。
プログラム起動部302は、MFP101を起動した際に一緒に起動されるプログラムで、起動後、Webブラウザー301を起動する役割を担う。本実施例では、Webブラウザーを起動する例を示すが、汎用的に他のプログラムを起動する役割を持っていても良い。プログラム起動部302は、MFP101の起動時、または他のプログラムからWebブラウザー301を起動するように依頼された場合に、更新情報記憶部305に記憶されている更新情報テーブル(図4(a))を参照する。更新情報テーブル(図4(a))は、アプリケーションごとに、アプリ名401、既存アプリパス402、更新アプリパス403、既存アプリバージョン404、更新アプリバージョン405の情報を有するテーブルである。アプリ名はアプリケーションの識別情報であり、アプリパスはアプリケーションの所在、アプリバージョンはアプリケーションの版(バージョン)を識別(あるいは特定)するための情報である。プログラム起動部302は、アプリ名401がWebブラウザーを示す「browser」となっている行の更新アプリパス403を参照し、値が格納されているかどうか判断する。値が格納されている場合は(図4(b)参照)、その更新アプリパス403の値が指し示す場所に更新版アプリケーションが存在することを意味する。このとき、プログラム起動部302は既存アプリバージョン404と更新アプリバージョン405とを比較し、更新アプリバージョン405のほうが新しい場合は、プログラム起動部302は更新アプリパス403が指し示す場所に存在するWebブラウザーを起動する。一方更新アプリバージョン405のほうが古い場合は、更新アプリパス403ではなく、既存アプリパス402のWebブラウザーを起動する。これは、更新版アプリケーションが既存アプリケーションより古い可能性があるためである。一方で、更新アプリパス403に値が格納されていない場合は(図4(a))、更新プログラムがインストールされていないことを意味し、プログラム起動部302は、既存アプリパス402の場所に存在するWebブラウザーを起動する。
追加アプリ管理部303は、MFP101に対して追加アプリをインストール/アンインストールしたり、開始/停止を制御したりするプログラムである。追加アプリとは、MFP101のファームウェアに最初から含まれないアプリケーションで、あとから追加可能なプログラムのことを指す。たとえば、MFP101がJava(登録商標)で記述したアプリケーションを実行するためのプラットフォームを有する場合、追加アプリはJava(登録商標)アプリとして作られ、追加アプリ管理部303はJavaVM及びJavaアプリの管理モジュールであることが考えられる。追加アプリ管理部303は、アプリ管理画面(図7)をUI表示装置205に表示でき、利用者はアプリ管理画面(図7)を通じて、追加アプリのインストール/アンインストールや、開始/停止の制御が可能である。本実施例では、MFP101はWebサーバーも有しており、アプリ管理画面(図7)は、MFP101にWebアプリケーションとして実装されていることを想定している。管理者あるいはユーザーは、ネットワーク100に接続されているPC(不図示)上のWebブラウザーか、もしくはデバイス内部のWebブラウザー301からMFP101のWebサーバーにアクセスして追加アプリ管理部303を利用する。
アプリ管理画面(図7)には、インストールされている追加アプリごとにアプリ状態701とアプリ制御ボタン702とが含まれており、さらに、追加アプリをインストールするために追加アプリを参照する参照ボタン703が含まれる。アプリ状態701は、インストールされている追加アプリが動作中か停止中かを表示する。アプリ制御ボタン702は追加アプリの開始/停止を切り替えるボタンである。参照ボタン703は、追加アプリをインストールする際に利用するボタンで、押下することでPC(不図示)に保存されている追加アプリを選択し、インストールすることができる。追加アプリ管理部303は、アプリ管理画面(図7)の参照ボタン703を通じて追加アプリのインストールを受け付けると、受け付けた追加アプリを追加アプリ保存部304に保存する。また、追加アプリ管理部303は、追加アプリのインストールと同時に追加アプリを開始する。
追加アプリ保存部304は、追加アプリ管理部302を通して追加アプリがインストールされる際に、追加アプリを保存する領域であり、Webブラウザー301が保存されている領域とは異なる領域である。従って、追加アプリとしてWebブラウザーを更新するための更新プログラムがインストールされた場合、更新プログラム310は追加アプリ保存部304に保存されて既存のWebブラウザー301を上書きはしない。一方で、Webブラウザー機能を含む或いは利用する追加アプリが複数インストールされた場合、新しいバージョンの追加アプリによって古いバージョンの追加アプリを上書きしても良いし、並列に保存した後、排他動作させても良い。
追加アプリとしてWebブラウザーの更新プログラムがインストールされた場合の、追加アプリ保存部304の構成を図3(b)に示す。追加アプリ保存部304には、更新プログラム310が保存されている。更新プログラム310は、更新対象のプログラムを更新するための更新制御モジュール311と、更新対象のプログラムの新たなバージョンである更新版プログラム(本例では更新版Webブラウザー312)で構成されている。追加アプリ管理部303を通じて、更新プログラム310が開始されると更新制御モジュール311が実行される。更新制御モジュール311は、更新版Webブラウザー312の配置されているパスとバージョンの情報とを更新情報記憶部305の更新情報テーブルに記憶する。更新版Webブラウザー312の配置されているパスは更新アプリパス403に、更新版Webブラウザー312のバージョン情報は更新アプリバージョン405に格納される。これは、アプリ管理画面(図7)のアプリ制御ボタン702(「開始する」ボタン)によって追加アプリが開始された場合も同様である。すなわち、停止状態にある更新プログラム310を対象プログラムとして「開始する」ボタンが押下されると、更新プログラム310の更新制御モジュール311が実行されて上述したように更新版Webブラウザー312の配置されているパスは更新アプリパス403に、更新版Webブラウザー312のバージョン情報は更新アプリバージョン405に格納される。
一方で、アプリ管理画面(図7)のアプリ制御ボタン702(「停止する」ボタン)によって追加アプリが停止された場合は、更新制御モジュール311は、更新情報記憶部305の更新情報テーブルから、停止されたアプリの更新アプリパス403、更新アプリバージョン405の情報を削除する。図4(a)は、更新版Webブラウザー312をはじめ追加アプリがインストールされていないか、あるいは停止されている状態の更新情報テーブルを示す。一方図4(b)は、バージョン2.5.5の更新版Webブラウザー312がインストールされ、かつ動作している状態の更新情報テーブルを示す。
なお、同じプログラム例えばWebブラウザーについて、複数のバージョンの更新プログラム310がインストールされている場合にも、上記手順で実行するバージョンを選択できる。すなわち、バージョンごとの更新プログラムがそれぞれ別々にインストールされるので、利用したいバージョンの更新プログラムをアプリ管理画面から選択して「開始する」を選択すればよい。ただしこの場合には、いずれかのバージョンを排他的に実行させるために、「開始する」が選択されたならそのバージョンを除く更新プログラムについて停止させ、その後で選択されたバージョンの更新プログラムを実行する。こうすることで、実行開始するものとして選択されていないバージョンの更新アプリパスおよび更新アプリバージョンを更新情報テーブルからまず削除し、その後で、実行するバージョンの更新アプリパスおよび更新アプリバージョンを登録できる。そして登録したバージョンの更新版プログラムたとえばWebブラウザーが実行開始される。
なお更新版でないアプリケーション(すなわち初めてインストールするアプリケーション)については、更新情報テーブルのアプリ名401および既存アプリパス402および既存アプリバージョン404がそのインストール時に登録される。
更新情報記憶部305は、更新情報テーブル(図4(a)、図4(b))を保存する記憶領域である。前述の通り、追加アプリ保存部304に保存されている更新プログラム310の更新制御モジュール311によって書き換えられる。
●更新プログラムのインストールのシーケンス
図5は本実施例における更新プログラムインストール時のシーケンスであり、アプリ管理画面(図7)を通して追加アプリ管理部303に対して更新プログラム310のインストールが指示された場合の処理を示す。
ステップS501では、追加アプリ管理部303は、更新プログラム310を追加アプリ保存部304に保存し、更新プログラム310を開始する。
ステップS502では、追加アプリ保存部304に保存されている更新プログラム310の更新制御モジュール311が、更新情報記憶部305に、更新プログラム310のパスとバージョンとを更新情報テーブルに保存する。このとき更新プログラム310は、更新対象のアプリ名(本例では「browser」という名前)を用いて、そのアプリ名と一致するアプリ名の行を、更新情報テーブル(図4)から対象となるアプリを示すレコードとして決定している。該当するレコードがあれば、更新プログラム310は、そのレコードの更新アプリパス403と更新アプリバージョン405とに、更新版プログラムのパスとバージョンとを記録する。該当するレコードがなければ、更新プログラム310は、たとえばそのレコードの既存アプリパス402と既存アプリバージョン404とに、更新版プログラムのパスとバージョンとを記録してよい。これにより既存のプログラムがない状態でインストールされた更新版プログラムは、既存の(すなわちインストール済みの)プログラムとして更新情報テーブルに記録される。あるいは該当するレコードが無ければその旨をUI表示装置205に表示してユーザーに通知してもよい。
ステップS503では、追加アプリ保存部304に保存されている更新プログラム310の更新制御モジュール311が、プログラム起動部302に対して、Webブラウザーの再起動を依頼する。
ステップS504では、プログラム起動部302は、Webブラウザー301を停止する。
ステップS505では、プログラム起動部302は、更新情報記憶部305に記憶されているWebブラウザーの更新情報テーブル(図4)を参照する。
ステップS506では、プログラム起動部303は、ステップS505で参照した更新情報テーブルを元に、既存プログラムと更新プログラムのどちらを起動するかを判断する。ここでは更新情報テーブルに登録されたアプリの最新バージョンを実行するアプリとして決定する。本例では、Webブラウザーの更新アプリパス403が存在し、更新アプリバージョン405が既存アプリバージョンより新しいため、更新アプリパス403に記載されているプログラムを起動することを決める。
ステップS507では、プログラム起動部302は、ステップS506の判断により決定したアプリ、本例では追加アプリ保存部304に保存されている更新プログラム310の更新版Webブラウザー312を起動する。
以上のように、更新プログラムのインストール時に更新プログラムが起動する。また、MFP101の起動時には、更新プログラムの起動の流れはS505〜S508と同じである。
アプリ管理画面(図7)の「開始する」ボタンあるいは「停止する」ボタンに応じた手順については図11を参照して改めて説明する。
●起動対象アプリケーションの決定
図6は、プログラム起動部302における、既存アプリケーションと更新版アプリケーションのどちらを起動するかの判断処理、すなわち起動対象のバージョンの決定処理(あるいは実行制御)を示すフローである。この手順は、ソフトウェア上はプログラム起動部302により、ハードウェア上はCPU201により実行される。この手順は図5のステップS505〜S507に相当し、プログラム起動部302により実行される。
ステップS601では、プログラム起動部302は、更新情報記憶部305に記憶されている対象プログラムの更新情報を参照する。
ステップS602では、ステップS601で参照した更新情報に、更新アプリパス403が記載されているかどうかを確認する。更新アプリパスが記載されている場合は、ステップS603に進む。記載されていない場合はステップS605に進む。
ステップS603では、ステップS601で参照した更新情報において、更新アプリバージョンが、既存アプリバージョンより新しいかどうかを確認する。新しい場合はステップS604に移動する。そうでない場合は、ステップS605に移動する。
ステップS604では、プログラム起動部302は、ステップS601で参照した更新情報に含まれる更新アプリパス403に記載されているプログラムを起動する。
ステップS605では、プログラム起動部302は、ステップS601で参照した更新情報に含まれる既存アプリパス402に記載されているプログラムを起動する。
●アプリケーションの開始および停止手順
図11に、図7のアプリ管理画面において「停止する」ボタン(以下、停止指示とも呼ぶ)が押下された場合の処理手順および、「開始する」ボタン(以下、開始指示とも呼ぶ)が押下された場合のMFP101により処理手順それぞれを示す。Webブラウザーにより表示されたアプリ管理画面の停止指示に応じてMFP101のWebサーバーがその停止指示を受け付ける。停止指示はたとえば追加アプリ管理部303に引き渡されて、停止指示の対象プログラムを停止させる(S1101)。このとき対象プログラムが更新プログラム310である場合、そこに含まれる更新版プログラム(たとえば更新版Webブラウザー312)も停止する。続いて、対象プログラムの名称をアプリ名として持つ更新情報テーブルの更新アプリパス402および更新アプリバージョン405を削除する(S1102)。この後、図6のステップS601へ分岐し、更新前の既存プログラムを実行する。これにより、更新版プログラムは停止し、更新されていない、既存プログラムが実行される。
一方、アプリ管理画面で開始指示が入力された場合、MFP101では、Webサーバーがその開始指示を受け付ける。開始指示に応じてたとえば追加アプリ管理部303は、開始指示の対象プログラムを実行させる。そのために、図5のステップS502から実行させる。ステップS502からの処理では、開始指示の対象プログラムが通常の追加アプリケーションであればそれを実行する。一方、対象プログラムが更新プログラム310であれば、更新プログラム310が実行されて、所在およびバージョンを、更新情報テーブルの更新アプリパス403及び更新アプリバージョン405へと登録し(S502)、プログラム起動部302により既存アプリを停止させる。その後プログラム起動部302すなわち図6の手順がステップS601から実行される。
これにより、更新情報テーブルの更新アプリパス403および更新アプリバージョン405には更新プログラム310のパスおよびバージョンが登録されて、図6の手順が実行され、更新版プログラム(更新版Webブラウザー)が実行される。
以上の構成及び手順により、Webブラウザーに表示された画面上で更新アプリケーションの停止および開始を指示でき、既存バージョンと更新バージョンとを容易に切り替えることができる。
[実施形態2]
ここまでに記載した方法では、ユーザーが、アプリ管理画面(図7)を用いて、更新プログラムを利用するか、既存プログラムを利用するかを設定する。そのため、ユーザーが必要に応じて、例えば図7のアプリ管理画面から随時切り替え操作をすることになる。本実施形態では、Webコンテンツに含まれるスクリプト例えばJavaScript(登録商標)ライブラリの違いによって、自動でアプリが対応するWebブラウザーを判断して切り替える。なお本実施形態でも、実施形態1のように新たにインストールした更新プログラムについては、更新情報テーブル(図4)に登録され、また、停止または開始に応じて、更新プログラムの更新アプリパスおよび更新アプリバージョンが削除され、または登録されて、実行されているWebブラウザーのバージョンを特定できる。
●スクリプトを用いた実行対象バージョンの決定
図8は、コンテンツに合わせて既存アプリケーションと更新版アプリケーション
のうちのどれを起動するか判断する場合に利用する、JavaScript(登録商標)とWebブラウザーのバージョンを対応付けたバージョン対応表あるいは対応情報である。バージョン対応表は、更新情報記憶部305に保存されており、更新プログラム310のインストール時に、更新制御モジュール311によって更新される。バージョン対応表には、スクリプト名801、スクリプトバージョン802、対応ブラウザーバージョン803が含まれる。対応ブラウザーバージョン803は、スクリプト名801およびスクリプトバージョン802で特定されるスクリプトに対応するブラウザーである。Webブラウザー301、または更新版Webブラウザー312がサーバー102のWebコンテンツに含まれるJavaScript(登録商標)をダウンロードした際に、ダウンロードしたスクリプトのスクリプト名およびスクリプトバージョンを取得する。プログラム起動部302はスクリプト名801、スクリプトバージョン802から、対応ブラウザーバージョン803を参照する。そして、プログラム起動部302は、参照したブラウザーバージョン803と現在動作しているWebブラウザーのバージョンとを比較し、異なると判断した場合は、現在動作しているWebブラウザーを停止し、ブラウザーバージョン803のWebブラウザーを起動する。現在動作しているWebブラウザーは、たとえば実施形態1の更新情報テーブル(図4)などを参照することで特定できる。またWebブラウザーの起動の際には、更新情報テーブル(図4)を参照して、既存アプリバージョン404または更新アプリバージョン405にブラウザーバージョン803と一致するものがあるか判定する。一致するものがあれば該当するバージョンの所在を一致したアプリバージョン対応するアプリパスで特定し、そのアプリ(Webブラウザー)を起動する。一致するものが無ければたとえば最新のバージョンを起動してよい。
Webコンテンツに含まれるJavaScript(登録商標)の例を図10に示す。Webコンテンツに含まれるJavaScript(登録商標)ライブラリには、JavaScript(登録商標)ライブラリ名1001と、JavaScript(登録商標)ライブラリバージョン1002が含まれる。Webブラウザー301、または更新版Webブラウザー312がこれらを参照することによって、プログラム起動部302は、前記バージョン対応表から、対応するWebブラウザーのバージョンを決定することができる。
●Webブラウザーの切り替え
プログラム起動部302が、JavaScriptライブラリのバージョンによって、利用するWebブラウザーを切り替える際のシーケンスを図9に示す。
ステップS901では、Webブラウザー301は、Webアプリケーションの画面情報を取得するためにWebサーバー102に対してHTTPリクエストを送信する
ステップS902では、Webサーバー102は、ステップS901で受信したリクエストに対するレスポンスとしてHTMLデータを送信する。
ステップS903では、Webブラウザー301は、ステップS902で受信したHTMLデータを解釈/実行することでJavaScript(登録商標)ライブラリを取得するためのHTTPリクエストを送信する。
ステップS904では、Webサーバー102は、ステップS903で受信したリクエストに対するレスポンスとしてJavaScript(登録商標)ライブラリを送信する。
ステップS905では、Webブラウザー301は、前記ステップS904で受信したJavaScirpt(登録商標)ライブラリから、ライブラリ名とライブラリのバージョンを取得する。
ステップS906では、Webブラウザー301は、プログラム起動部302に対してステップS905で取得したライブラリ名とライブラリのバージョン、およびステップS901でリクエストを送信したURLを通知する。
ステップS907では、プログラム起動部302は、更新情報記憶部305に保存されているバージョン対応表から、ステップS906で通知されたライブラリ名とライブラリのバージョンを基に、対応ブラウザーバージョンを取得する。本例では、更新版Webブラウザー312に対応するバージョンが得られたとして説明する。なおここでいう対応とはたとえば、プログラム間(たとえばスクリプトとWebブラウザーとの間)のインターフェースが整合しており、正しく動作することなどをいう。
ステップS908では、プログラム起動部302は、ステップS907で取得した対応ブラウザーバージョンを基に、どのWebブラウザーを起動するかを決める。具体的には、現在起動しているWebブラウザーは、未更新版のWebブラウザー301であるため、Webブラウザー301を停止し、更新版Webブラウザー312を起動することを決める。このとき、スクリプトに対応するバージョンのWebブラウザーが存在しない場合は、その旨を通知するダイアログを表示しても良い。
ステップS909では、プログラム起動部302は、Webブラウザー301を停止する。
ステップS910では、プログラム起動部302は、スクリプトに対応するバージョンのWebブラウザー、本例では追加アプリ保存部304に保存されている更新版Webブラウザー312を起動する。このとき、プログラム起動部302は、ステップS906で受信したURLを更新版Webブラウザー312に通知する。
ステップS911では、更新版Webブラウザー312は、ステップS910で受信したURLに従って、Webサーバー102にリクエストを送信する。
ステップS912では、Webサーバー102は、更新版Webブラウザー312にHTMLデータを送信する。
ステップS913では、更新版Webブラウザー312は、ステップS912で受信したHTMLデータを解釈/実行することでJavaScript(登録商標)ライブラリを取得するためのHTTPリクエストを送信する。
ステップS914では、Webサーバー102は、ステップS913で受信したリクエストに対するレスポンスとしてJavaScript(登録商標)ライブラリを送信する。
ステップS915では、更新版Webブラウザー312は、ステップS914で受信したJavaScript(登録商標)ライブラリを実行する。
本実施例ではJavaScript(登録商標)の名前とバージョンから対応するWebブラウザーのバージョンを特定しているが、方法はこれに限らない。たとえば、JavaScript(登録商標)ファイルのハッシュ値で特定しても良いし、JavaScript(登録商標)ファイルに含まれるJavaScript(登録商標)APIの種類やバージョンによって判断しても良い。この様にして本実施形態では、ダウンロードしたスクリプトに対応するWebブラウザーを、ユーザーが切り替えの操作を行わなくとも実行できる。これにより一層操作性が向上する。
以上に示す構成により、あるプログラムに対して複数の異なるバージョン、すなわち既存プログラムと更新プログラムとを共存させることができる。また、更新プログラムの開始、停止を容易に変更できるようになる。すなわち、あるプログラムの複数のバージョンのうちから選択したバージョンを実行できるようになる。あるいは、ダウンロードしたスクリプトに対応したバージョンを自動的に実行できる。これにより、一度インストールすれば、インストール/アンインストールを実施することなく、異なるバージョンのWebブラウザーを使い分けることが可能になり、ユーザビリティが向上する。
なお実施形態1および実施形態2では、既存プログラム及び更新版プログラムとしてWebブラウザーを例としたが、Webブラウザー以外のプログラムについても適用できる。たとえばアプリケーションプログラムによりWebブラウザー機能を提供するために、Webviewというクラスが例えばJava(登録商標)などでは提供されている。このWebviewについても、たとえばWebviewのバージョンや、Webviewを含むライブラリのバージョンなどを用いて、上記実施形態を適用することもできる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
301 Webブラウザー、302 プログラム起動部、303 追加アプリ管理部、304 追加アプリ保存部、305 更新情報記憶部

Claims (10)

  1. 既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
    プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
    前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段と、
    を有することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記削除手段により前記バージョン情報を削除した後、前記既存プログラムを実行することを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    前記更新版プログラムの実行を開始する操作に応じて、前記更新手段により前記更新版プログラムのバージョンを示す前記バージョン情報を保存し、前記実行制御手段により前記更新版プログラムを実行することを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    外部装置に対して画面情報を提供するためのWebサーバーをさらに有し、
    前記更新版プログラムの実行を停止する操作及び開始する操作は、前記Webサーバーにより提供される前記画面情報に基づいて前記外部装置で表示される画面上で行われることを特徴とする情報処理装置。
  5. 請求項1乃至4のいずれか一項に記載の情報処理装置であって、
    前記既存プログラムおよび前記更新版プログラムはWebブラウザーであることを特徴とする情報処理装置。
  6. 請求項1乃至5のいずれか一項に記載の情報処理装置であって、
    外部装置からダウンロードしたプログラムのバージョンを示すバージョン情報と、前記プログラムに対応する前記既存プログラムまたは前記更新版プログラムのバージョン情報とを対応付けた対応情報を有し、
    前記外部装置から前記プログラムをダウンロードした際には、前記対応情報を参照して、ダウンロードした前記プログラムに対応する前記既存プログラムまたは前記更新版プログラムを実行することを特徴とする情報処理装置。
  7. 請求項6に記載の情報処理装置であって、
    前記対応情報は、前記更新版プログラムのインストールの際に更新されることを特徴とする情報処理装置。
  8. 請求項6または7に記載の情報処理装置であって、
    前記既存プログラムまたは前記更新版プログラムはWebブラウザーであり、前記外部装置からダウンロードされるプログラムは前記Webブラウザーによりダウンロードされるスクリプトであり、
    前記スクリプトをダウンロードした際には、前記Webブラウザーのバージョンが前記スクリプトに対応していない場合には、対応するバージョンのWebブラウザーを起動することを特徴とする情報処理装置。
  9. 既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存する更新手段と、
    プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行する実行制御手段と、
    前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する削除手段と
    してコンピュータを機能させるためのプログラム。
  10. 更新手段と実行制御手段と削除手段とを有する情報処理装置によるプログラム管理方法であって、
    前記更新手段が、既存プログラムに対する更新版プログラムを前記既存プログラムとは異なるプログラムとしてインストールし、前記更新版プログラムのバージョンを示すバージョン情報を保存し、
    前記実行制御手段が、プログラムを実行する際に、前記バージョン情報を参照し、最新のバージョンのプログラムを実行し、
    前記削除手段が、前記更新版プログラムの実行を停止する操作に応じて、前記更新版プログラムを停止させ、前記更新版プログラムの前記バージョン情報を削除する
    ことを特徴とするプログラム管理方法。
JP2017109317A 2017-06-01 2017-06-01 情報処理装置、プログラム管理方法、及びプログラム Active JP6889617B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017109317A JP6889617B2 (ja) 2017-06-01 2017-06-01 情報処理装置、プログラム管理方法、及びプログラム
US15/988,409 US20180349125A1 (en) 2017-06-01 2018-05-24 Information processing apparatus and program management method
CN201810558998.5A CN108984192B (zh) 2017-06-01 2018-06-01 信息处理设备、计算机可读介质和程序管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017109317A JP6889617B2 (ja) 2017-06-01 2017-06-01 情報処理装置、プログラム管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018205967A JP2018205967A (ja) 2018-12-27
JP6889617B2 true JP6889617B2 (ja) 2021-06-18

Family

ID=64458307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017109317A Active JP6889617B2 (ja) 2017-06-01 2017-06-01 情報処理装置、プログラム管理方法、及びプログラム

Country Status (3)

Country Link
US (1) US20180349125A1 (ja)
JP (1) JP6889617B2 (ja)
CN (1) CN108984192B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6733479B2 (ja) 2016-03-17 2020-07-29 株式会社リコー 情報処理システム、情報処理装置、画像形成装置、情報処理方法およびプログラム
US10033898B2 (en) 2016-03-17 2018-07-24 Ricoh Company, Ltd. Information processing system, image forming apparatus, and method of processing information
US11907699B2 (en) * 2020-03-04 2024-02-20 Jpmorgan Chase Bank, N.A. System and method for implementing self-driven change detection release automation
US11474845B2 (en) * 2020-09-09 2022-10-18 Servicenow, Inc. System and method for versioned script management

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488631A (en) * 1987-09-29 1989-04-03 Nec Corp Remote ipl selecting system
US20030195974A1 (en) * 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
JP2001211488A (ja) * 1999-11-17 2001-08-03 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US8495621B2 (en) * 2009-06-15 2013-07-23 Microsoft Corporation Catalog-based software component management
JP5488287B2 (ja) * 2010-07-16 2014-05-14 株式会社リコー 画像形成装置、機器システム、プログラム管理方法、プログラム
JP5418442B2 (ja) * 2010-08-18 2014-02-19 株式会社リコー 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム
US9256696B2 (en) * 2011-10-20 2016-02-09 International Business Machines Corporation Dynamic selection of one of many available web browsers
JP6108219B2 (ja) * 2013-02-28 2017-04-05 ブラザー工業株式会社 更新管理プログラム、更新管理装置、及び、画像処理システム
JP2015170117A (ja) * 2014-03-06 2015-09-28 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Also Published As

Publication number Publication date
US20180349125A1 (en) 2018-12-06
CN108984192B (zh) 2022-06-14
JP2018205967A (ja) 2018-12-27
CN108984192A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
JP6889617B2 (ja) 情報処理装置、プログラム管理方法、及びプログラム
US8863112B2 (en) Information processing apparatus and controlling method thereof
JP4671198B2 (ja) 情報処理装置
JP2005338940A (ja) インストール方法、情報処理装置、及びデバイスドライバ
JP2009230398A (ja) ソフトウェア更新支援装置およびソフトウェア更新支援プログラム
JP2019149048A (ja) 情報処理装置、ファームウェア更新方法、プログラム
US9250933B2 (en) Information processor with configuration modification function
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
JP2024040145A (ja) 電子機器、情報処理システムおよび情報処理方法
JP2017107341A (ja) 情報処理装置、ファームウェア更新方法、およびプログラム
JP4983815B2 (ja) 情報処理装置及び制御プログラム
JP2009265877A (ja) 電子機器
JP2013003625A (ja) 画像処理装置、画面更新方法及び画面更新プログラム
JP2007066132A (ja) プログラムシステム
JP2009163760A (ja) 情報処理装置とその方法及びプログラム
JP2011086141A (ja) 画像形成装置及びプログラム操作方法
JP2006228127A (ja) アプリケーション配布システムにおける更新情報の通知方法
JP6851836B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2016173771A (ja) プログラム、情報処理装置、情報処理方法、記憶媒体
JP5970753B2 (ja) 画像形成装置
JP6099365B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
JP2010176567A (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
JP7019968B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP7289940B2 (ja) プログラムのセット、記憶媒体、及び情報処理方法
JP2022124969A (ja) 情報処理装置、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200527

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210521

R151 Written notification of patent or utility model registration

Ref document number: 6889617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151